@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
package/vendor/plugin/com.atelierai.unity.copilot/Editor/Scripts/API/Tool/ToolGroups.SetEnabled.cs
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Design inspired by MCP for Unity (CoplayDev/unity-mcp), Copyright (c) Coplay Inc., MIT License.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
┌──────────────────────────────────────────────────────────────────┐
|
|
7
|
-
│ Author: Ivan Murzak (https://github.com/IvanMurzak) │
|
|
8
|
-
│ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
|
|
9
|
-
│ Copyright (c) 2025 Ivan Murzak │
|
|
10
|
-
│ Licensed under the Apache License, Version 2.0. │
|
|
11
|
-
│ See the LICENSE file in the project root for more information. │
|
|
12
|
-
└──────────────────────────────────────────────────────────────────┘
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
#nullable enable
|
|
16
|
-
using System;
|
|
17
|
-
using System.ComponentModel;
|
|
18
|
-
using AIGD;
|
|
19
|
-
using com.AtelierAI.Uco.Framework;
|
|
20
|
-
using com.IvanMurzak.ReflectorNet.Utils;
|
|
21
|
-
using com.AtelierAI.Unity.Copilot.Editor.Utils;
|
|
22
|
-
|
|
23
|
-
namespace com.AtelierAI.Unity.Copilot.Editor.API
|
|
24
|
-
{
|
|
25
|
-
public partial class Tool_ToolGroups
|
|
26
|
-
{
|
|
27
|
-
public const string ToolsSetGroupEnabledId = "tools-set-group-enabled";
|
|
28
|
-
|
|
29
|
-
[UcoTool
|
|
30
|
-
(
|
|
31
|
-
ToolsSetGroupEnabledId,
|
|
32
|
-
Title = "Tools / Set Group Enabled",
|
|
33
|
-
DestructiveHint = true
|
|
34
|
-
)]
|
|
35
|
-
[UcoSkillDescription("Enable or disable an uco tool group at runtime, persisting the choice to EditorPrefs. " +
|
|
36
|
-
"Use this together with 'tools-list-groups' to keep the LLM tool-list lean: turn off niche groups " +
|
|
37
|
-
"(physics, profiler, vfx) until you need them. " +
|
|
38
|
-
"NOTE: currently a soft hint — disabled tools remain callable; enforcement requires hooking the request pipeline.")]
|
|
39
|
-
[UcoSkillBody("Toggle a logical tool group. " +
|
|
40
|
-
"Groups are declared on `Tool_*` partial-class roots via `[ToolGroupAttribute(\"name\")]`. " +
|
|
41
|
-
"This tool only updates the registry + EditorPrefs; it does not modify the upstream NuGet package " +
|
|
42
|
-
"or hook `IRunTool.RunCallTool`, so toggling is informational only at the moment.\n\n" +
|
|
43
|
-
"## Inputs\n\n" +
|
|
44
|
-
"- `group` — group name (case-sensitive). Use `tools-list-groups` to discover valid names.\n" +
|
|
45
|
-
"- `enabled` — true to enable the group, false to disable.\n\n" +
|
|
46
|
-
"## Persistence\n\n" +
|
|
47
|
-
"Stored under EditorPrefs key
|
|
48
|
-
"`group=0|group=1` string. Stale entries (for groups that no longer exist) are ignored on load.")]
|
|
49
|
-
[Description("Enable or disable an uco tool group at runtime, persisting the choice to EditorPrefs. " +
|
|
50
|
-
"Soft hint only — disabled tools remain callable through the upstream request pipeline.")]
|
|
51
|
-
public ToolGroupResult SetGroupEnabled
|
|
52
|
-
(
|
|
53
|
-
[Description("Group name. Use 'tools-list-groups' to discover valid group names.")]
|
|
54
|
-
string group,
|
|
55
|
-
[Description("True to enable the group, false to disable it.")]
|
|
56
|
-
bool enabled
|
|
57
|
-
)
|
|
58
|
-
{
|
|
59
|
-
if (string.IsNullOrWhiteSpace(group))
|
|
60
|
-
throw new ArgumentException(Error.GroupNameIsEmpty(), nameof(group));
|
|
61
|
-
|
|
62
|
-
return MainThread.Instance.Run(() =>
|
|
63
|
-
{
|
|
64
|
-
var canonicalGroup = ToolGroupRegistry.ResolveCanonicalGroup(group);
|
|
65
|
-
if (canonicalGroup == null)
|
|
66
|
-
throw new ArgumentException(Error.UnknownGroup(group), nameof(group));
|
|
67
|
-
|
|
68
|
-
var previous = ToolGroupRegistry.IsGroupEnabled(canonicalGroup);
|
|
69
|
-
if (previous != enabled)
|
|
70
|
-
ToolGroupRegistry.SetGroupEnabled(canonicalGroup, enabled);
|
|
71
|
-
|
|
72
|
-
var tools = ToolGroupRegistry.ToolsInGroup(canonicalGroup);
|
|
73
|
-
var aliases = ToolGroupRegistry.AliasesForGroup(canonicalGroup);
|
|
74
|
-
var aliasesArray = new string[aliases.Count];
|
|
75
|
-
for (var i = 0; i < aliases.Count; i++) aliasesArray[i] = aliases[i];
|
|
76
|
-
|
|
77
|
-
return new ToolGroupResult
|
|
78
|
-
{
|
|
79
|
-
Group = canonicalGroup,
|
|
80
|
-
Enabled = enabled,
|
|
81
|
-
RequestedEnabled = enabled,
|
|
82
|
-
EffectiveEnabled = ToolGroupRegistry.IsGroupEffectivelyEnabled(canonicalGroup),
|
|
83
|
-
Aliases = aliasesArray,
|
|
84
|
-
PreviousEnabled = previous,
|
|
85
|
-
Changed = previous != enabled,
|
|
86
|
-
ToolCount = tools.Count,
|
|
87
|
-
Note = SoftHintNote
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Design inspired by MCP for Unity (CoplayDev/unity-mcp), Copyright (c) Coplay Inc., MIT License.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
┌──────────────────────────────────────────────────────────────────┐
|
|
7
|
+
│ Author: Ivan Murzak (https://github.com/IvanMurzak) │
|
|
8
|
+
│ Repository: GitHub (https://github.com/IvanMurzak/Unity-MCP) │
|
|
9
|
+
│ Copyright (c) 2025 Ivan Murzak │
|
|
10
|
+
│ Licensed under the Apache License, Version 2.0. │
|
|
11
|
+
│ See the LICENSE file in the project root for more information. │
|
|
12
|
+
└──────────────────────────────────────────────────────────────────┘
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
#nullable enable
|
|
16
|
+
using System;
|
|
17
|
+
using System.ComponentModel;
|
|
18
|
+
using AIGD;
|
|
19
|
+
using com.AtelierAI.Uco.Framework;
|
|
20
|
+
using com.IvanMurzak.ReflectorNet.Utils;
|
|
21
|
+
using com.AtelierAI.Unity.Copilot.Editor.Utils;
|
|
22
|
+
|
|
23
|
+
namespace com.AtelierAI.Unity.Copilot.Editor.API
|
|
24
|
+
{
|
|
25
|
+
public partial class Tool_ToolGroups
|
|
26
|
+
{
|
|
27
|
+
public const string ToolsSetGroupEnabledId = "tools-set-group-enabled";
|
|
28
|
+
|
|
29
|
+
[UcoTool
|
|
30
|
+
(
|
|
31
|
+
ToolsSetGroupEnabledId,
|
|
32
|
+
Title = "Tools / Set Group Enabled",
|
|
33
|
+
DestructiveHint = true
|
|
34
|
+
)]
|
|
35
|
+
[UcoSkillDescription("Enable or disable an uco tool group at runtime, persisting the choice to EditorPrefs. " +
|
|
36
|
+
"Use this together with 'tools-list-groups' to keep the LLM tool-list lean: turn off niche groups " +
|
|
37
|
+
"(physics, profiler, vfx) until you need them. " +
|
|
38
|
+
"NOTE: currently a soft hint — disabled tools remain callable; enforcement requires hooking the request pipeline.")]
|
|
39
|
+
[UcoSkillBody("Toggle a logical tool group. " +
|
|
40
|
+
"Groups are declared on `Tool_*` partial-class roots via `[ToolGroupAttribute(\"name\")]`. " +
|
|
41
|
+
"This tool only updates the registry + EditorPrefs; it does not modify the upstream NuGet package " +
|
|
42
|
+
"or hook `IRunTool.RunCallTool`, so toggling is informational only at the moment.\n\n" +
|
|
43
|
+
"## Inputs\n\n" +
|
|
44
|
+
"- `group` — group name (case-sensitive). Use `tools-list-groups` to discover valid names.\n" +
|
|
45
|
+
"- `enabled` — true to enable the group, false to disable.\n\n" +
|
|
46
|
+
"## Persistence\n\n" +
|
|
47
|
+
"Stored under the product EditorPrefs key `<prefix>.ToolGroups.Enabled` as a pipe-separated " +
|
|
48
|
+
"`group=0|group=1` string. Stale entries (for groups that no longer exist) are ignored on load.")]
|
|
49
|
+
[Description("Enable or disable an uco tool group at runtime, persisting the choice to EditorPrefs. " +
|
|
50
|
+
"Soft hint only — disabled tools remain callable through the upstream request pipeline.")]
|
|
51
|
+
public ToolGroupResult SetGroupEnabled
|
|
52
|
+
(
|
|
53
|
+
[Description("Group name. Use 'tools-list-groups' to discover valid group names.")]
|
|
54
|
+
string group,
|
|
55
|
+
[Description("True to enable the group, false to disable it.")]
|
|
56
|
+
bool enabled
|
|
57
|
+
)
|
|
58
|
+
{
|
|
59
|
+
if (string.IsNullOrWhiteSpace(group))
|
|
60
|
+
throw new ArgumentException(Error.GroupNameIsEmpty(), nameof(group));
|
|
61
|
+
|
|
62
|
+
return MainThread.Instance.Run(() =>
|
|
63
|
+
{
|
|
64
|
+
var canonicalGroup = ToolGroupRegistry.ResolveCanonicalGroup(group);
|
|
65
|
+
if (canonicalGroup == null)
|
|
66
|
+
throw new ArgumentException(Error.UnknownGroup(group), nameof(group));
|
|
67
|
+
|
|
68
|
+
var previous = ToolGroupRegistry.IsGroupEnabled(canonicalGroup);
|
|
69
|
+
if (previous != enabled)
|
|
70
|
+
ToolGroupRegistry.SetGroupEnabled(canonicalGroup, enabled);
|
|
71
|
+
|
|
72
|
+
var tools = ToolGroupRegistry.ToolsInGroup(canonicalGroup);
|
|
73
|
+
var aliases = ToolGroupRegistry.AliasesForGroup(canonicalGroup);
|
|
74
|
+
var aliasesArray = new string[aliases.Count];
|
|
75
|
+
for (var i = 0; i < aliases.Count; i++) aliasesArray[i] = aliases[i];
|
|
76
|
+
|
|
77
|
+
return new ToolGroupResult
|
|
78
|
+
{
|
|
79
|
+
Group = canonicalGroup,
|
|
80
|
+
Enabled = enabled,
|
|
81
|
+
RequestedEnabled = enabled,
|
|
82
|
+
EffectiveEnabled = ToolGroupRegistry.IsGroupEffectivelyEnabled(canonicalGroup),
|
|
83
|
+
Aliases = aliasesArray,
|
|
84
|
+
PreviousEnabled = previous,
|
|
85
|
+
Changed = previous != enabled,
|
|
86
|
+
ToolCount = tools.Count,
|
|
87
|
+
Note = SoftHintNote
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -1,62 +1,62 @@
|
|
|
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
|
-
|
|
13
|
-
namespace com.AtelierAI.Unity.Copilot.Editor.Branding
|
|
14
|
-
{
|
|
15
|
-
// Central place for every user-visible product string. UI code references these
|
|
16
|
-
// constants instead of inlining literals — so when the product name changes again,
|
|
17
|
-
// only this file needs editing.
|
|
18
|
-
//
|
|
19
|
-
// Phase C rename baseline: "
|
|
20
|
-
// is provisional; expect another pass.
|
|
21
|
-
public static class ProductInfo
|
|
22
|
-
{
|
|
23
|
-
public const string ProductName = "Unity Copilot";
|
|
24
|
-
public const string ProductLong = ProductName;
|
|
25
|
-
|
|
26
|
-
// Stable package id used for EditorPrefs key namespacing. Decoupled from the UPM
|
|
27
|
-
// package name on disk so a UPM rename doesn't silently wipe per-user state — the
|
|
28
|
-
// PrefsKeyMigration helper does that migration explicitly.
|
|
29
|
-
public const string PackageId = "com.atelierai.unity.copilot";
|
|
30
|
-
public const string LegacyPackageId = "com.ivanmurzak.unity.
|
|
31
|
-
|
|
32
|
-
// Menu item paths (passed to Unity's [MenuItem] attribute).
|
|
33
|
-
public const string MainWindowMenu = "Window/" + ProductLong + " %&a";
|
|
34
|
-
public const string ToolsMenuRoot = "Tools/" + ProductName;
|
|
35
|
-
public const string ServerMenuRoot = ToolsMenuRoot + "/Server";
|
|
36
|
-
|
|
37
|
-
// EditorWindow titleContent / GetWindow titles.
|
|
38
|
-
public const string ToolsWindowTitle = ProductName + " Tools";
|
|
39
|
-
public const string ResourcesWindowTitle = ProductName + " Resources";
|
|
40
|
-
public const string PromptsWindowTitle = ProductName + " Prompts";
|
|
41
|
-
|
|
42
|
-
// Debug.Log prefix for Plugin-originating messages.
|
|
43
|
-
public const string LogPrefix = "[" + ProductName + "]";
|
|
44
|
-
|
|
45
|
-
// Server status label fragments (rendered in MainWindow status row).
|
|
46
|
-
public const string ServerLabelPrefix = "Server";
|
|
47
|
-
|
|
48
|
-
// Notification titles surfaced via EditorUtility.DisplayDialog.
|
|
49
|
-
// (The old server-binary / inspector notification titles were removed together
|
|
50
|
-
// with the .NET binary-download flow; the Node.js server launch surfaces its
|
|
51
|
-
// status directly in the Editor console.)
|
|
52
|
-
|
|
53
|
-
// Project Settings provider — path users see under Edit > Project Settings.
|
|
54
|
-
public const string SettingsPath = "Project/" + ProductName;
|
|
55
|
-
public const string SettingsKeywords = "Copilot Unity uco";
|
|
56
|
-
|
|
57
|
-
// SessionState / EditorPrefs key prefixes for transient + persistent state.
|
|
58
|
-
// The hash suffix is appended by callers using Application.dataPath FNV-1a.
|
|
59
|
-
public const string SessionStatePrefix = "Copilot_";
|
|
60
|
-
public const string EditorPrefsPrefix = "UnityCopilot"; // ProductName without spaces
|
|
61
|
-
}
|
|
62
|
-
}
|
|
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
|
+
|
|
13
|
+
namespace com.AtelierAI.Unity.Copilot.Editor.Branding
|
|
14
|
+
{
|
|
15
|
+
// Central place for every user-visible product string. UI code references these
|
|
16
|
+
// constants instead of inlining literals — so when the product name changes again,
|
|
17
|
+
// only this file needs editing.
|
|
18
|
+
//
|
|
19
|
+
// Phase C rename baseline: "Uco" → "Unity Copilot". The name "Unity Copilot" itself
|
|
20
|
+
// is provisional; expect another pass.
|
|
21
|
+
public static class ProductInfo
|
|
22
|
+
{
|
|
23
|
+
public const string ProductName = "Unity Copilot";
|
|
24
|
+
public const string ProductLong = ProductName;
|
|
25
|
+
|
|
26
|
+
// Stable package id used for EditorPrefs key namespacing. Decoupled from the UPM
|
|
27
|
+
// package name on disk so a UPM rename doesn't silently wipe per-user state — the
|
|
28
|
+
// PrefsKeyMigration helper does that migration explicitly.
|
|
29
|
+
public const string PackageId = "com.atelierai.unity.copilot";
|
|
30
|
+
public const string LegacyPackageId = "com.ivanmurzak.unity.plugin";
|
|
31
|
+
|
|
32
|
+
// Menu item paths (passed to Unity's [MenuItem] attribute).
|
|
33
|
+
public const string MainWindowMenu = "Window/" + ProductLong + " %&a";
|
|
34
|
+
public const string ToolsMenuRoot = "Tools/" + ProductName;
|
|
35
|
+
public const string ServerMenuRoot = ToolsMenuRoot + "/Server";
|
|
36
|
+
|
|
37
|
+
// EditorWindow titleContent / GetWindow titles.
|
|
38
|
+
public const string ToolsWindowTitle = ProductName + " Tools";
|
|
39
|
+
public const string ResourcesWindowTitle = ProductName + " Resources";
|
|
40
|
+
public const string PromptsWindowTitle = ProductName + " Prompts";
|
|
41
|
+
|
|
42
|
+
// Debug.Log prefix for Plugin-originating messages.
|
|
43
|
+
public const string LogPrefix = "[" + ProductName + "]";
|
|
44
|
+
|
|
45
|
+
// Server status label fragments (rendered in MainWindow status row).
|
|
46
|
+
public const string ServerLabelPrefix = "Server";
|
|
47
|
+
|
|
48
|
+
// Notification titles surfaced via EditorUtility.DisplayDialog.
|
|
49
|
+
// (The old server-binary / inspector notification titles were removed together
|
|
50
|
+
// with the .NET binary-download flow; the Node.js server launch surfaces its
|
|
51
|
+
// status directly in the Editor console.)
|
|
52
|
+
|
|
53
|
+
// Project Settings provider — path users see under Edit > Project Settings.
|
|
54
|
+
public const string SettingsPath = "Project/" + ProductName;
|
|
55
|
+
public const string SettingsKeywords = "Copilot Unity uco";
|
|
56
|
+
|
|
57
|
+
// SessionState / EditorPrefs key prefixes for transient + persistent state.
|
|
58
|
+
// The hash suffix is appended by callers using Application.dataPath FNV-1a.
|
|
59
|
+
public const string SessionStatePrefix = "Copilot_";
|
|
60
|
+
public const string EditorPrefsPrefix = "UnityCopilot"; // ProductName without spaces
|
|
61
|
+
}
|
|
62
|
+
}
|