blueprint-extractor-mcp 8.2.2 → 8.2.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/README.md +0 -0
- package/dist/active-editor-session.d.ts +0 -0
- package/dist/active-editor-session.js +1 -1
- package/dist/automation-controller.d.ts +0 -0
- package/dist/automation-controller.js +0 -0
- package/dist/catalogs/example-catalog.d.ts +0 -0
- package/dist/catalogs/example-catalog.js +0 -0
- package/dist/compactor.d.ts +0 -0
- package/dist/compactor.js +0 -0
- package/dist/editor-instance-registry.d.ts +0 -0
- package/dist/editor-instance-registry.js +0 -0
- package/dist/editor-instance-types.d.ts +0 -0
- package/dist/editor-instance-types.js +0 -0
- package/dist/execution/adapters/commandlet-adapter.d.ts +0 -0
- package/dist/execution/adapters/commandlet-adapter.js +0 -0
- package/dist/execution/adapters/editor-adapter.d.ts +0 -0
- package/dist/execution/adapters/editor-adapter.js +0 -0
- package/dist/execution/adapters/lazy-commandlet-adapter.d.ts +0 -0
- package/dist/execution/adapters/lazy-commandlet-adapter.js +0 -0
- package/dist/execution/adaptive-executor.d.ts +0 -0
- package/dist/execution/adaptive-executor.js +92 -23
- package/dist/execution/execution-adapter.d.ts +0 -0
- package/dist/execution/execution-adapter.js +0 -0
- package/dist/execution/execution-mode-detector.d.ts +0 -0
- package/dist/execution/execution-mode-detector.js +0 -0
- package/dist/execution/index.d.ts +0 -0
- package/dist/execution/index.js +0 -0
- package/dist/helpers/active-editor-utils.d.ts +0 -0
- package/dist/helpers/active-editor-utils.js +0 -0
- package/dist/helpers/alias-registration.d.ts +0 -0
- package/dist/helpers/alias-registration.js +0 -0
- package/dist/helpers/blueprint-dsl-parser.d.ts +0 -0
- package/dist/helpers/blueprint-dsl-parser.js +0 -0
- package/dist/helpers/blueprint-validation.d.ts +0 -0
- package/dist/helpers/blueprint-validation.js +0 -0
- package/dist/helpers/capture.d.ts +0 -0
- package/dist/helpers/capture.js +0 -0
- package/dist/helpers/commonui-button-style.d.ts +0 -0
- package/dist/helpers/commonui-button-style.js +0 -0
- package/dist/helpers/composite-patterns.d.ts +0 -0
- package/dist/helpers/composite-patterns.js +0 -0
- package/dist/helpers/formatting.d.ts +0 -0
- package/dist/helpers/formatting.js +0 -0
- package/dist/helpers/live-coding.d.ts +0 -0
- package/dist/helpers/live-coding.js +0 -0
- package/dist/helpers/material-dsl-parser.d.ts +0 -0
- package/dist/helpers/material-dsl-parser.js +0 -0
- package/dist/helpers/mutation-filter.d.ts +0 -0
- package/dist/helpers/mutation-filter.js +0 -0
- package/dist/helpers/next-step-hints.d.ts +0 -0
- package/dist/helpers/next-step-hints.js +0 -0
- package/dist/helpers/operation-deny-list.d.ts +0 -0
- package/dist/helpers/operation-deny-list.js +0 -0
- package/dist/helpers/package-metadata.d.ts +0 -0
- package/dist/helpers/package-metadata.js +0 -0
- package/dist/helpers/phantom-filter.d.ts +0 -0
- package/dist/helpers/phantom-filter.js +0 -0
- package/dist/helpers/project-resolution.d.ts +0 -0
- package/dist/helpers/project-resolution.js +0 -0
- package/dist/helpers/project-utils.d.ts +0 -0
- package/dist/helpers/project-utils.js +0 -0
- package/dist/helpers/property-path-parser.d.ts +0 -0
- package/dist/helpers/property-path-parser.js +0 -0
- package/dist/helpers/property-shorthand.d.ts +0 -0
- package/dist/helpers/property-shorthand.js +0 -0
- package/dist/helpers/response-summarizer.d.ts +0 -0
- package/dist/helpers/response-summarizer.js +0 -0
- package/dist/helpers/slot-presets.d.ts +0 -0
- package/dist/helpers/slot-presets.js +0 -0
- package/dist/helpers/subsystem.d.ts +0 -0
- package/dist/helpers/subsystem.js +0 -0
- package/dist/helpers/token-budget.d.ts +0 -0
- package/dist/helpers/token-budget.js +0 -0
- package/dist/helpers/tool-help.d.ts +0 -0
- package/dist/helpers/tool-help.js +0 -0
- package/dist/helpers/tool-registration.d.ts +0 -0
- package/dist/helpers/tool-registration.js +0 -0
- package/dist/helpers/tool-results.d.ts +0 -0
- package/dist/helpers/tool-results.js +0 -0
- package/dist/helpers/verification.d.ts +0 -0
- package/dist/helpers/verification.js +0 -0
- package/dist/helpers/widget-class-aliases.d.ts +0 -0
- package/dist/helpers/widget-class-aliases.js +0 -0
- package/dist/helpers/widget-diff-parser.d.ts +0 -0
- package/dist/helpers/widget-diff-parser.js +0 -0
- package/dist/helpers/widget-dsl-parser.d.ts +0 -0
- package/dist/helpers/widget-dsl-parser.js +0 -0
- package/dist/helpers/widget-recipe-formatter.d.ts +0 -0
- package/dist/helpers/widget-recipe-formatter.js +0 -0
- package/dist/helpers/widget-recipe-parser.d.ts +0 -0
- package/dist/helpers/widget-recipe-parser.js +0 -0
- package/dist/helpers/widget-utils.d.ts +0 -0
- package/dist/helpers/widget-utils.js +0 -0
- package/dist/helpers/workspace-project.d.ts +0 -0
- package/dist/helpers/workspace-project.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/project-controller.d.ts +0 -0
- package/dist/project-controller.js +0 -0
- package/dist/prompts/prompt-catalog.d.ts +0 -0
- package/dist/prompts/prompt-catalog.js +0 -0
- package/dist/register-server-resources.d.ts +0 -0
- package/dist/register-server-resources.js +0 -0
- package/dist/register-server-tools.d.ts +0 -0
- package/dist/register-server-tools.js +0 -0
- package/dist/resources/example-and-capture-resources.d.ts +0 -0
- package/dist/resources/example-and-capture-resources.js +0 -0
- package/dist/resources/static-doc-resources.d.ts +0 -0
- package/dist/resources/static-doc-resources.js +0 -0
- package/dist/schemas/tool-inputs.d.ts +1 -1
- package/dist/schemas/tool-inputs.js +1 -0
- package/dist/schemas/tool-results.d.ts +0 -0
- package/dist/schemas/tool-results.js +0 -0
- package/dist/server-config.d.ts +0 -0
- package/dist/server-config.js +3 -2
- package/dist/server-factory.d.ts +0 -0
- package/dist/server-factory.js +0 -0
- package/dist/tool-context.d.ts +0 -0
- package/dist/tool-context.js +0 -0
- package/dist/tool-surface-manager.d.ts +4 -0
- package/dist/tool-surface-manager.js +4 -3
- package/dist/tools/analysis-tools.d.ts +0 -0
- package/dist/tools/analysis-tools.js +0 -0
- package/dist/tools/animation-authoring.d.ts +0 -0
- package/dist/tools/animation-authoring.js +0 -0
- package/dist/tools/automation-runs.d.ts +0 -0
- package/dist/tools/automation-runs.js +0 -0
- package/dist/tools/blueprint-authoring.d.ts +0 -0
- package/dist/tools/blueprint-authoring.js +0 -0
- package/dist/tools/commonui-button-style.d.ts +0 -0
- package/dist/tools/commonui-button-style.js +0 -0
- package/dist/tools/composite-tools.d.ts +0 -0
- package/dist/tools/composite-tools.js +0 -0
- package/dist/tools/composite-workflows.d.ts +0 -0
- package/dist/tools/composite-workflows.js +0 -0
- package/dist/tools/data-and-input.d.ts +0 -0
- package/dist/tools/data-and-input.js +0 -0
- package/dist/tools/extraction.d.ts +0 -0
- package/dist/tools/extraction.js +0 -0
- package/dist/tools/import-jobs.d.ts +0 -0
- package/dist/tools/import-jobs.js +0 -0
- package/dist/tools/material-authoring.d.ts +0 -0
- package/dist/tools/material-authoring.js +0 -0
- package/dist/tools/material-instance.d.ts +0 -0
- package/dist/tools/material-instance.js +0 -0
- package/dist/tools/project-control.d.ts +0 -0
- package/dist/tools/project-control.js +0 -0
- package/dist/tools/project-intelligence.d.ts +0 -0
- package/dist/tools/project-intelligence.js +0 -0
- package/dist/tools/recipe-tools.d.ts +0 -0
- package/dist/tools/recipe-tools.js +0 -0
- package/dist/tools/schema-and-ai-authoring.d.ts +0 -0
- package/dist/tools/schema-and-ai-authoring.js +0 -0
- package/dist/tools/tables-and-curves.d.ts +0 -0
- package/dist/tools/tables-and-curves.js +0 -0
- package/dist/tools/utility-tools.d.ts +0 -0
- package/dist/tools/utility-tools.js +0 -0
- package/dist/tools/widget-animation-authoring.d.ts +0 -0
- package/dist/tools/widget-animation-authoring.js +0 -0
- package/dist/tools/widget-extraction.d.ts +0 -0
- package/dist/tools/widget-extraction.js +0 -0
- package/dist/tools/widget-structure.d.ts +0 -0
- package/dist/tools/widget-structure.js +0 -0
- package/dist/tools/widget-verification.d.ts +0 -0
- package/dist/tools/widget-verification.js +0 -0
- package/dist/tools/window-ui.d.ts +0 -0
- package/dist/tools/window-ui.js +0 -0
- package/dist/types.d.ts +0 -0
- package/dist/types.js +0 -0
- package/dist/ue-client.d.ts +0 -0
- package/dist/ue-client.js +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -80,7 +80,7 @@ export class ActiveEditorSession {
|
|
|
80
80
|
return this.getClient(rebound).checkConnection();
|
|
81
81
|
}
|
|
82
82
|
async editorModeAvailable() {
|
|
83
|
-
return
|
|
83
|
+
return this.checkConnection();
|
|
84
84
|
}
|
|
85
85
|
async listRunningEditors() {
|
|
86
86
|
const result = await listRegisteredEditors();
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/compactor.d.ts
CHANGED
|
File without changes
|
package/dist/compactor.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -11,6 +11,17 @@ const EDITOR_FALLBACK_ERROR_FRAGMENTS = [
|
|
|
11
11
|
'previously selected active editor',
|
|
12
12
|
'The selected active editor is currently unavailable on its registered Remote Control endpoint.',
|
|
13
13
|
];
|
|
14
|
+
const COMMANDLET_LOCK_ERROR_FRAGMENTS = [
|
|
15
|
+
'locked by another process',
|
|
16
|
+
'locked file',
|
|
17
|
+
'cannot access the file',
|
|
18
|
+
'asset lock conflict',
|
|
19
|
+
'save_failed',
|
|
20
|
+
'Failed to save one or more packages',
|
|
21
|
+
];
|
|
22
|
+
const EDITOR_PREFERRED_WHILE_RUNNING_TOOLS = new Set([
|
|
23
|
+
'save_assets',
|
|
24
|
+
]);
|
|
14
25
|
export class AdaptiveExecutor {
|
|
15
26
|
editorAdapter;
|
|
16
27
|
commandletAdapter;
|
|
@@ -56,7 +67,16 @@ export class AdaptiveExecutor {
|
|
|
56
67
|
async executeRouted(editorFallback, method, params, options) {
|
|
57
68
|
const toolName = this._activeToolName;
|
|
58
69
|
const detection = await this.detector.detect();
|
|
59
|
-
|
|
70
|
+
if (!toolName) {
|
|
71
|
+
return editorFallback(method, params, options);
|
|
72
|
+
}
|
|
73
|
+
const toolMode = this.getToolMode(toolName);
|
|
74
|
+
const requiredCapability = toolMode === 'read_only'
|
|
75
|
+
? 'read'
|
|
76
|
+
: toolMode === 'both'
|
|
77
|
+
? 'write_simple'
|
|
78
|
+
: 'write_complex';
|
|
79
|
+
const tryCommandletFallback = async (error) => {
|
|
60
80
|
if (!toolName || !this.commandletAdapter || !shouldFallbackToCommandlet(error)) {
|
|
61
81
|
throw error;
|
|
62
82
|
}
|
|
@@ -71,18 +91,9 @@ export class AdaptiveExecutor {
|
|
|
71
91
|
this.detector.invalidateCache();
|
|
72
92
|
return this.commandletAdapter.execute('BlueprintExtractor', method, params);
|
|
73
93
|
};
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
if (
|
|
77
|
-
if (!toolName) {
|
|
78
|
-
return editorFallback(method, params, options);
|
|
79
|
-
}
|
|
80
|
-
const toolMode = this.getToolMode(toolName);
|
|
81
|
-
const requiredCapability = toolMode === 'read_only'
|
|
82
|
-
? 'read'
|
|
83
|
-
: toolMode === 'both'
|
|
84
|
-
? 'write_simple'
|
|
85
|
-
: 'write_complex';
|
|
94
|
+
// Editor mode keeps the existing direct path, with commandlet fallback for
|
|
95
|
+
// compatible tools when the editor call fails.
|
|
96
|
+
if (detection.mode === 'editor') {
|
|
86
97
|
try {
|
|
87
98
|
return await editorFallback(method, params, options);
|
|
88
99
|
}
|
|
@@ -90,15 +101,9 @@ export class AdaptiveExecutor {
|
|
|
90
101
|
if (toolMode === 'editor_only') {
|
|
91
102
|
throw error;
|
|
92
103
|
}
|
|
93
|
-
return tryCommandletFallback(error
|
|
104
|
+
return tryCommandletFallback(error);
|
|
94
105
|
}
|
|
95
106
|
}
|
|
96
|
-
const toolMode = this.getToolMode(toolName);
|
|
97
|
-
const requiredCapability = toolMode === 'read_only'
|
|
98
|
-
? 'read'
|
|
99
|
-
: toolMode === 'both'
|
|
100
|
-
? 'write_simple'
|
|
101
|
-
: 'write_complex';
|
|
102
107
|
// Try commandlet for compatible tools
|
|
103
108
|
if (detection.mode === 'commandlet' && this.commandletAdapter) {
|
|
104
109
|
if (toolMode === 'editor_only') {
|
|
@@ -108,7 +113,36 @@ export class AdaptiveExecutor {
|
|
|
108
113
|
if (!capabilities.has(requiredCapability) && requiredCapability !== 'write_simple') {
|
|
109
114
|
throw new ExecutorError('CAPABILITY_MISMATCH', `Tool '${toolName}' requires '${requiredCapability}' capability which commandlet mode does not support.`, toolName, detection.mode, requiredCapability);
|
|
110
115
|
}
|
|
111
|
-
|
|
116
|
+
if (shouldPreferEditorWhileRunning(toolName)) {
|
|
117
|
+
try {
|
|
118
|
+
const editorAvailable = await this.editorAdapter.isAvailable();
|
|
119
|
+
if (editorAvailable) {
|
|
120
|
+
this.detector.invalidateCache();
|
|
121
|
+
return await editorFallback(method, params, options);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// Fall back to the commandlet path below.
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
try {
|
|
129
|
+
return await this.commandletAdapter.execute('BlueprintExtractor', method, params);
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
if (toolMode !== 'read_only' && shouldFallbackToEditorOnLock(error)) {
|
|
133
|
+
try {
|
|
134
|
+
const editorAvailable = await this.editorAdapter.isAvailable();
|
|
135
|
+
if (editorAvailable) {
|
|
136
|
+
this.detector.invalidateCache();
|
|
137
|
+
return await editorFallback(method, params, options);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
// If the editor is not actually reachable, preserve the commandlet error.
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
112
146
|
}
|
|
113
147
|
// No adapter available
|
|
114
148
|
throw new ExecutorError('MODE_UNAVAILABLE', `No execution mode available for tool '${toolName}'. ${detection.reason}`, toolName, detection.mode, requiredCapability);
|
|
@@ -122,7 +156,6 @@ export class AdaptiveExecutor {
|
|
|
122
156
|
: toolMode === 'both'
|
|
123
157
|
? 'write_simple'
|
|
124
158
|
: 'write_complex';
|
|
125
|
-
// Try editor first
|
|
126
159
|
if (detection.mode === 'editor') {
|
|
127
160
|
return this.editorAdapter.execute(subsystem, method, params);
|
|
128
161
|
}
|
|
@@ -135,7 +168,36 @@ export class AdaptiveExecutor {
|
|
|
135
168
|
if (!capabilities.has(requiredCapability) && requiredCapability !== 'write_simple') {
|
|
136
169
|
throw new ExecutorError('CAPABILITY_MISMATCH', `Tool '${toolName}' requires '${requiredCapability}' capability which commandlet mode does not support.`, toolName, detection.mode, requiredCapability);
|
|
137
170
|
}
|
|
138
|
-
|
|
171
|
+
if (shouldPreferEditorWhileRunning(toolName)) {
|
|
172
|
+
try {
|
|
173
|
+
const editorAvailable = await this.editorAdapter.isAvailable();
|
|
174
|
+
if (editorAvailable) {
|
|
175
|
+
this.detector.invalidateCache();
|
|
176
|
+
return await this.editorAdapter.execute(subsystem, method, params);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
// Keep the commandlet path below.
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
return await this.commandletAdapter.execute(subsystem, method, params);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
if (toolMode !== 'read_only' && shouldFallbackToEditorOnLock(error)) {
|
|
188
|
+
try {
|
|
189
|
+
const editorAvailable = await this.editorAdapter.isAvailable();
|
|
190
|
+
if (editorAvailable) {
|
|
191
|
+
this.detector.invalidateCache();
|
|
192
|
+
return await this.editorAdapter.execute(subsystem, method, params);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
// Preserve the original commandlet failure below.
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
throw error;
|
|
200
|
+
}
|
|
139
201
|
}
|
|
140
202
|
// No adapter available
|
|
141
203
|
throw new ExecutorError('MODE_UNAVAILABLE', `No execution mode available for tool '${toolName}'. ${detection.reason}`, toolName, detection.mode, requiredCapability);
|
|
@@ -148,6 +210,13 @@ function shouldFallbackToCommandlet(error) {
|
|
|
148
210
|
}
|
|
149
211
|
return EDITOR_FALLBACK_ERROR_FRAGMENTS.some((fragment) => message.includes(fragment));
|
|
150
212
|
}
|
|
213
|
+
function shouldFallbackToEditorOnLock(error) {
|
|
214
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
215
|
+
return COMMANDLET_LOCK_ERROR_FRAGMENTS.some((fragment) => message.includes(fragment));
|
|
216
|
+
}
|
|
217
|
+
function shouldPreferEditorWhileRunning(toolName) {
|
|
218
|
+
return EDITOR_PREFERRED_WHILE_RUNNING_TOOLS.has(toolName);
|
|
219
|
+
}
|
|
151
220
|
export class ExecutorError extends Error {
|
|
152
221
|
code;
|
|
153
222
|
toolName;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/execution/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/helpers/capture.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1859,7 +1859,7 @@ export declare const AnimSequenceMutationOperationSchema: z.ZodEnum<["replace_no
|
|
|
1859
1859
|
export declare const AnimMontageMutationOperationSchema: z.ZodEnum<["replace_notifies", "patch_notify", "replace_sections", "replace_slots"]>;
|
|
1860
1860
|
export declare const BlendSpaceMutationOperationSchema: z.ZodEnum<["replace_samples", "patch_sample", "set_axes"]>;
|
|
1861
1861
|
export declare const BlueprintMemberMutationOperationSchema: z.ZodEnum<["replace_variables", "add_variables", "patch_variable", "replace_components", "patch_component", "add_component", "replace_function_stubs", "reparent", "patch_class_defaults", "compile"]>;
|
|
1862
|
-
export declare const BlueprintGraphMutationOperationSchema: z.ZodEnum<["upsert_function_graphs", "append_function_call_to_sequence", "add_animgraph_nodes", "connect_animgraph_pins", "compile"]>;
|
|
1862
|
+
export declare const BlueprintGraphMutationOperationSchema: z.ZodEnum<["upsert_function_graphs", "append_function_call_to_sequence", "insert_exec_nodes", "add_animgraph_nodes", "connect_animgraph_pins", "compile"]>;
|
|
1863
1863
|
export declare const UserDefinedStructFieldSchema: z.ZodObject<{
|
|
1864
1864
|
guid: z.ZodOptional<z.ZodString>;
|
|
1865
1865
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -383,6 +383,7 @@ export const BlueprintMemberMutationOperationSchema = z.enum([
|
|
|
383
383
|
export const BlueprintGraphMutationOperationSchema = z.enum([
|
|
384
384
|
'upsert_function_graphs',
|
|
385
385
|
'append_function_call_to_sequence',
|
|
386
|
+
'insert_exec_nodes',
|
|
386
387
|
'add_animgraph_nodes',
|
|
387
388
|
'connect_animgraph_pins',
|
|
388
389
|
'compile',
|
|
File without changes
|
|
File without changes
|
package/dist/server-config.d.ts
CHANGED
|
File without changes
|
package/dist/server-config.js
CHANGED
|
@@ -5,8 +5,9 @@ export const serverInstructions = [
|
|
|
5
5
|
'Blueprint Extractor MCP uses a v2 public contract with tool profiles, workflow-scoped tool surfaces, snake_case arguments, prompt workflows, and structured JSON results.',
|
|
6
6
|
// Tool discovery
|
|
7
7
|
'Use activate_tool_profile with profile: "default" for the compact scoped surface or profile: "expert" for the full flat tool list. Clients with tool-list change support start in default; fallback clients start in expert.',
|
|
8
|
-
'A compact core tool set is visible in the default profile
|
|
9
|
-
'Use
|
|
8
|
+
'A compact retrieval-first core tool set is visible in the default profile: search_assets, find_and_extract, extract_blueprint, extract_asset, check_asset_exists, save_assets, get_tool_help, and the profile/scope switches.',
|
|
9
|
+
'Use activate_workflow_scope to load specialized tool families: widget_authoring (or sub-scopes: widget_authoring_structure, widget_authoring_visual, widget_verification), material_authoring, blueprint_authoring, schema_ai_authoring, animation_authoring, data_tables, import, project_control, automation_testing, verification, analysis, and project_intelligence.',
|
|
10
|
+
'Prefer find_and_extract for search plus routed extraction from the default core surface. Use search_assets when you only need to locate assets.',
|
|
10
11
|
'Call get_tool_help before the first use of a complex or polymorphic tool when you need operation-specific payload guidance. Use activate_workflow_scope explicitly when the tool family is not in the current profile.',
|
|
11
12
|
// Deferred tool directory (tools available via activate_workflow_scope)
|
|
12
13
|
'Deferred tool families — widget_authoring_structure: recipe-first widget authoring, tree replacement, diff/patch DSLs, and focused structural edits. widget_authoring_visual: CommonUI styles, widget animations, compile_widget, extraction, and preview capture. widget_verification: captures and comparisons. widget_authoring: activates all three widget sub-scopes. material_authoring: create_material_setup, modify_material DSL/batch authoring, material_graph_operation, and material instances. blueprint_authoring: scaffold_blueprint, modify_blueprint_graphs DSL authoring, member edits, and Live Coding trigger. schema_ai_authoring: structs, enums, blackboards, behavior trees, state trees. animation_authoring: anim sequences, montages, blend spaces, widget animations. data_tables: data assets, input actions, tables, curves. import: import_assets, job tracking. project_control: editor-session binding, launch/wait, project automation context, Output Log and Message Log inspection, PIE lifecycle control, host build/restart/sync flows, and apply_window_ui_changes. automation_testing: run/get/list automation tests. verification: widget captures, editor screenshots, runtime screenshots, and comparisons. analysis: deterministic Blueprint review and asset audits. project_intelligence: editor context, project indexing, and metadata-first context search.',
|
package/dist/server-factory.d.ts
CHANGED
|
File without changes
|
package/dist/server-factory.js
CHANGED
|
File without changes
|
package/dist/tool-context.d.ts
CHANGED
|
File without changes
|
package/dist/tool-context.js
CHANGED
|
File without changes
|
|
@@ -8,6 +8,10 @@ export interface WorkflowScope {
|
|
|
8
8
|
description: string;
|
|
9
9
|
}
|
|
10
10
|
export declare const WORKFLOW_SCOPE_IDS: readonly WorkflowScopeId[];
|
|
11
|
+
/**
|
|
12
|
+
* Keep the always-visible default surface small so weaker models can route
|
|
13
|
+
* through search, routed extraction, and explicit help before expanding.
|
|
14
|
+
*/
|
|
11
15
|
export declare const CORE_TOOLS: ReadonlySet<string>;
|
|
12
16
|
export declare class ToolSurfaceManager {
|
|
13
17
|
private registeredToolMap;
|
|
@@ -15,14 +15,15 @@ export const WORKFLOW_SCOPE_IDS = [
|
|
|
15
15
|
'analysis',
|
|
16
16
|
'project_intelligence',
|
|
17
17
|
];
|
|
18
|
+
/**
|
|
19
|
+
* Keep the always-visible default surface small so weaker models can route
|
|
20
|
+
* through search, routed extraction, and explicit help before expanding.
|
|
21
|
+
*/
|
|
18
22
|
export const CORE_TOOLS = new Set([
|
|
19
23
|
'search_assets',
|
|
20
24
|
'find_and_extract',
|
|
21
25
|
'extract_blueprint',
|
|
22
26
|
'extract_asset',
|
|
23
|
-
'extract_material',
|
|
24
|
-
'extract_cascade',
|
|
25
|
-
'list_assets',
|
|
26
27
|
'check_asset_exists',
|
|
27
28
|
'save_assets',
|
|
28
29
|
'get_tool_help',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/tools/extraction.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/tools/window-ui.js
CHANGED
|
File without changes
|
package/dist/types.d.ts
CHANGED
|
File without changes
|
package/dist/types.js
CHANGED
|
File without changes
|
package/dist/ue-client.d.ts
CHANGED
|
File without changes
|
package/dist/ue-client.js
CHANGED
|
File without changes
|