blueprint-extractor-mcp 8.1.0 → 8.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -0
- package/dist/active-editor-session.d.ts +0 -0
- package/dist/active-editor-session.js +0 -0
- 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 +0 -0
- 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 +1 -1
- 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 +16 -1
- 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 +0 -0
- package/dist/schemas/tool-inputs.js +0 -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 +0 -0
- 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 +0 -0
- package/dist/tool-surface-manager.js +0 -0
- 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 +41 -5
- 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
|
|
File without changes
|
|
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
|
|
File without changes
|
|
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
|
|
@@ -104,7 +104,7 @@ export function extractExtraContent(result) {
|
|
|
104
104
|
if (!isPlainObject(result) || !Array.isArray(result.content)) {
|
|
105
105
|
return [];
|
|
106
106
|
}
|
|
107
|
-
return result.content.filter((candidate) => (isContentBlock(candidate)
|
|
107
|
+
return result.content.filter((candidate) => (isContentBlock(candidate)));
|
|
108
108
|
}
|
|
109
109
|
export function maybeBoolean(...values) {
|
|
110
110
|
for (const value of values) {
|
|
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
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { isPlainObject } from './formatting.js';
|
|
2
2
|
export function createToolResultNormalizers({ taskAwareTools, classifyRecoverableToolFailure, }) {
|
|
3
|
+
function serializeSuccessEnvelope(envelope) {
|
|
4
|
+
try {
|
|
5
|
+
return JSON.stringify(envelope);
|
|
6
|
+
}
|
|
7
|
+
catch {
|
|
8
|
+
return JSON.stringify({
|
|
9
|
+
success: true,
|
|
10
|
+
operation: typeof envelope.operation === 'string' ? envelope.operation : 'unknown_operation',
|
|
11
|
+
message: 'Unable to serialize tool result payload.',
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
3
15
|
function extractNonTextContent(existingResult) {
|
|
4
16
|
if (!existingResult || !Array.isArray(existingResult.content)) {
|
|
5
17
|
return [];
|
|
@@ -132,7 +144,10 @@ export function createToolResultNormalizers({ taskAwareTools, classifyRecoverabl
|
|
|
132
144
|
...(taskAwareTools.has(toolName) ? { execution: inferExecutionMetadata(toolName, basePayload) } : {}),
|
|
133
145
|
};
|
|
134
146
|
return {
|
|
135
|
-
content:
|
|
147
|
+
content: [
|
|
148
|
+
{ type: 'text', text: serializeSuccessEnvelope(envelope) },
|
|
149
|
+
...extraContent,
|
|
150
|
+
],
|
|
136
151
|
structuredContent: envelope,
|
|
137
152
|
};
|
|
138
153
|
}
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/server-config.d.ts
CHANGED
|
File without changes
|
package/dist/server-config.js
CHANGED
|
File without changes
|
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
|
|
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/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
|
|
@@ -47,6 +47,9 @@ export function registerProjectControlTools({ server, client, projectController,
|
|
|
47
47
|
engineRoot: previousEditor?.engineRoot ?? fallback.engineRoot,
|
|
48
48
|
target: previousEditor?.editorTarget ?? fallback.target,
|
|
49
49
|
});
|
|
50
|
+
const matchesResolvedEditor = (entry, resolved) => (filesystemPathsEqual(entry.projectFilePath, resolved.projectPath)
|
|
51
|
+
&& (!resolved.engineRoot || !entry.engineRoot || filesystemPathsEqual(entry.engineRoot, resolved.engineRoot))
|
|
52
|
+
&& (!resolved.target || !entry.editorTarget || entry.editorTarget === resolved.target));
|
|
50
53
|
const recoverEditorViaHostRelaunch = async (request) => {
|
|
51
54
|
const recovery = {
|
|
52
55
|
strategy: 'host_relaunch_after_failed_graceful_restart',
|
|
@@ -452,18 +455,51 @@ export function registerProjectControlTools({ server, client, projectController,
|
|
|
452
455
|
if (!resolved.engineRoot || !resolved.projectPath) {
|
|
453
456
|
throw explainProjectResolutionFailure('launch_editor requires engine_root and project_path', resolved);
|
|
454
457
|
}
|
|
458
|
+
const resolvedProjectPath = resolved.projectPath;
|
|
459
|
+
const resolvedEngineRoot = resolved.engineRoot;
|
|
460
|
+
const resolvedTarget = resolved.target;
|
|
461
|
+
if (activeEditorSession) {
|
|
462
|
+
const matchingEditors = (await activeEditorSession.listRunningEditors()).filter((entry) => matchesResolvedEditor(entry, {
|
|
463
|
+
projectPath: resolvedProjectPath,
|
|
464
|
+
engineRoot: resolvedEngineRoot,
|
|
465
|
+
target: resolvedTarget,
|
|
466
|
+
}));
|
|
467
|
+
if (matchingEditors.length > 1) {
|
|
468
|
+
throw new Error(`Multiple running editors already match "${resolvedProjectPath}". `
|
|
469
|
+
+ 'Call list_running_editors and select_editor instead of launch_editor.');
|
|
470
|
+
}
|
|
471
|
+
if (matchingEditors.length === 1) {
|
|
472
|
+
try {
|
|
473
|
+
const bound = await activeEditorSession.selectEditor({ instanceId: matchingEditors[0].instanceId });
|
|
474
|
+
clearProjectAutomationContext();
|
|
475
|
+
const activeEditor = toLabeledActiveEditor(bound);
|
|
476
|
+
return jsonToolSuccess({
|
|
477
|
+
success: true,
|
|
478
|
+
operation: 'launch_editor',
|
|
479
|
+
launched: false,
|
|
480
|
+
reusedExistingEditor: true,
|
|
481
|
+
message: 'Bound the existing matching editor instead of launching a new process.',
|
|
482
|
+
inputResolution: buildInputResolution(resolved),
|
|
483
|
+
activeEditor,
|
|
484
|
+
});
|
|
485
|
+
}
|
|
486
|
+
catch {
|
|
487
|
+
// Fall through to a real launch when the registry entry is stale or not yet responsive.
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
455
491
|
const launched = await projectController.launchEditor({
|
|
456
|
-
engineRoot:
|
|
457
|
-
projectPath:
|
|
492
|
+
engineRoot: resolvedEngineRoot,
|
|
493
|
+
projectPath: resolvedProjectPath,
|
|
458
494
|
});
|
|
459
495
|
clearProjectAutomationContext();
|
|
460
496
|
let activeEditor;
|
|
461
497
|
if (activeEditorSession) {
|
|
462
498
|
const bound = await activeEditorSession.bindLaunchedEditor({
|
|
463
499
|
processId: launched.processId,
|
|
464
|
-
projectPath:
|
|
465
|
-
engineRoot:
|
|
466
|
-
target:
|
|
500
|
+
projectPath: resolvedProjectPath,
|
|
501
|
+
engineRoot: resolvedEngineRoot,
|
|
502
|
+
target: resolvedTarget,
|
|
467
503
|
timeoutMs: reconnect_timeout_seconds * 1000,
|
|
468
504
|
});
|
|
469
505
|
activeEditor = toLabeledActiveEditor(bound);
|
|
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
|