@pascal-app/mcp 1.0.0 → 1.0.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/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/dist/bin/pascal-mcp.d.ts +1 -1
- package/dist/bin/pascal-mcp.js +7 -7
- package/dist/bridge/index.d.ts +2 -2
- package/dist/bridge/index.js +1 -1
- package/dist/bridge/scene-bridge.d.ts +2 -2
- package/dist/bridge/scene-bridge.js +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +4 -4
- package/dist/operations/index.d.ts +1 -1
- package/dist/operations/index.js +1 -1
- package/dist/operations/scene-operations.d.ts +2 -2
- package/dist/prompts/from-brief.d.ts +1 -1
- package/dist/prompts/from-brief.d.ts.map +1 -1
- package/dist/prompts/from-brief.js +2 -1
- package/dist/prompts/index.d.ts +1 -1
- package/dist/prompts/index.js +3 -3
- package/dist/prompts/iterate-on-feedback.d.ts +1 -1
- package/dist/prompts/iterate-on-feedback.js +1 -1
- package/dist/prompts/renovation-from-photos.d.ts +1 -1
- package/dist/resources/agent-guide.d.ts +1 -1
- package/dist/resources/agent-guide.d.ts.map +1 -1
- package/dist/resources/agent-guide.js +1 -0
- package/dist/resources/catalog-items.d.ts +1 -1
- package/dist/resources/catalog-items.js +1 -1
- package/dist/resources/constraints.d.ts +1 -1
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.js +5 -5
- package/dist/resources/scene-current.d.ts +1 -1
- package/dist/resources/scene-summary.d.ts +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -6
- package/dist/storage/index.d.ts +4 -4
- package/dist/storage/index.js +4 -4
- package/dist/storage/sqlite-scene-store.d.ts +1 -1
- package/dist/storage/sqlite-scene-store.js +3 -3
- package/dist/templates/index.js +3 -3
- package/dist/tools/apply-patch.d.ts +1 -1
- package/dist/tools/apply-patch.js +5 -5
- package/dist/tools/check-collisions.d.ts +1 -1
- package/dist/tools/check-collisions.js +7 -7
- package/dist/tools/construction-tools.d.ts +1 -1
- package/dist/tools/construction-tools.js +4 -4
- package/dist/tools/create-level.d.ts +1 -1
- package/dist/tools/create-level.js +5 -5
- package/dist/tools/create-unit.d.ts +27 -0
- package/dist/tools/create-unit.d.ts.map +1 -0
- package/dist/tools/create-unit.js +36 -0
- package/dist/tools/create-wall.d.ts +1 -1
- package/dist/tools/create-wall.js +5 -5
- package/dist/tools/cut-opening.d.ts +1 -1
- package/dist/tools/cut-opening.js +6 -6
- package/dist/tools/delete-node.d.ts +1 -1
- package/dist/tools/delete-node.js +4 -4
- package/dist/tools/describe-node.d.ts +1 -1
- package/dist/tools/describe-node.js +4 -4
- package/dist/tools/door-clearance.d.ts +1 -1
- package/dist/tools/door-clearance.js +1 -1
- package/dist/tools/duplicate-level.d.ts +1 -1
- package/dist/tools/duplicate-level.js +4 -4
- package/dist/tools/export-glb.d.ts +1 -1
- package/dist/tools/export-glb.js +1 -1
- package/dist/tools/export-json.d.ts +1 -1
- package/dist/tools/export-json.js +1 -1
- package/dist/tools/find-nodes.d.ts +1 -1
- package/dist/tools/find-nodes.js +2 -2
- package/dist/tools/get-node.d.ts +1 -1
- package/dist/tools/get-node.js +3 -3
- package/dist/tools/get-scene.d.ts +1 -1
- package/dist/tools/get-scene.js +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +32 -26
- package/dist/tools/layout-clearance.d.ts +2 -2
- package/dist/tools/layout-clearance.js +2 -2
- package/dist/tools/list-units.d.ts +38 -0
- package/dist/tools/list-units.d.ts.map +1 -0
- package/dist/tools/list-units.js +61 -0
- package/dist/tools/live-sync.d.ts +1 -1
- package/dist/tools/live-sync.js +2 -2
- package/dist/tools/measure.d.ts +1 -1
- package/dist/tools/measure.js +3 -3
- package/dist/tools/normalize-schema-dialect.d.ts +3 -0
- package/dist/tools/normalize-schema-dialect.d.ts.map +1 -0
- package/dist/tools/normalize-schema-dialect.js +28 -0
- package/dist/tools/photo-to-scene/index.d.ts +2 -2
- package/dist/tools/photo-to-scene/index.js +2 -2
- package/dist/tools/photo-to-scene/photo-to-scene.d.ts +1 -1
- package/dist/tools/photo-to-scene/photo-to-scene.js +4 -4
- package/dist/tools/place-item.d.ts +1 -1
- package/dist/tools/place-item.js +7 -7
- package/dist/tools/redo.d.ts +1 -1
- package/dist/tools/redo.js +2 -2
- package/dist/tools/room-tools.d.ts +1 -1
- package/dist/tools/room-tools.js +9 -9
- package/dist/tools/scene-lifecycle/create-project.d.ts +1 -1
- package/dist/tools/scene-lifecycle/create-project.js +3 -3
- package/dist/tools/scene-lifecycle/delete-scene.d.ts +1 -1
- package/dist/tools/scene-lifecycle/delete-scene.js +3 -3
- package/dist/tools/scene-lifecycle/get-project-status.d.ts +1 -1
- package/dist/tools/scene-lifecycle/get-project-status.js +3 -3
- package/dist/tools/scene-lifecycle/index.d.ts +8 -8
- package/dist/tools/scene-lifecycle/index.js +14 -14
- package/dist/tools/scene-lifecycle/list-scenes.d.ts +1 -1
- package/dist/tools/scene-lifecycle/list-scenes.js +2 -2
- package/dist/tools/scene-lifecycle/load-scene.d.ts +1 -1
- package/dist/tools/scene-lifecycle/load-scene.js +3 -3
- package/dist/tools/scene-lifecycle/metadata.d.ts +3 -3
- package/dist/tools/scene-lifecycle/rename-scene.d.ts +1 -1
- package/dist/tools/scene-lifecycle/rename-scene.js +3 -3
- package/dist/tools/scene-lifecycle/save-scene.d.ts +1 -1
- package/dist/tools/scene-lifecycle/save-scene.js +5 -5
- package/dist/tools/scene-lifecycle/test-utils.d.ts +3 -3
- package/dist/tools/scene-lifecycle/test-utils.js +4 -4
- package/dist/tools/scene-query.d.ts +1 -1
- package/dist/tools/scene-query.js +4 -4
- package/dist/tools/set-unit-members.d.ts +20 -0
- package/dist/tools/set-unit-members.d.ts.map +1 -0
- package/dist/tools/set-unit-members.js +43 -0
- package/dist/tools/set-zone.d.ts +1 -1
- package/dist/tools/set-zone.js +4 -4
- package/dist/tools/templates/create-from-template.d.ts +1 -1
- package/dist/tools/templates/create-from-template.js +6 -6
- package/dist/tools/templates/create-house-from-brief.d.ts +1 -1
- package/dist/tools/templates/create-house-from-brief.js +6 -6
- package/dist/tools/templates/index.d.ts +4 -4
- package/dist/tools/templates/index.js +6 -6
- package/dist/tools/templates/list-templates.js +2 -2
- package/dist/tools/undo.d.ts +1 -1
- package/dist/tools/undo.js +2 -2
- package/dist/tools/unit-members.d.ts +4 -0
- package/dist/tools/unit-members.d.ts.map +1 -0
- package/dist/tools/unit-members.js +24 -0
- package/dist/tools/validate-scene.d.ts +1 -1
- package/dist/tools/validate-scene.js +1 -1
- package/dist/tools/variants/generate-variants.d.ts +1 -1
- package/dist/tools/variants/generate-variants.js +3 -3
- package/dist/tools/variants/index.d.ts +3 -3
- package/dist/tools/variants/index.js +3 -3
- package/dist/tools/vision/analyze-floorplan-image.d.ts +1 -1
- package/dist/tools/vision/analyze-floorplan-image.js +2 -2
- package/dist/tools/vision/analyze-room-photo.d.ts +1 -1
- package/dist/tools/vision/analyze-room-photo.js +2 -2
- package/dist/tools/vision/index.d.ts +3 -3
- package/dist/tools/vision/index.js +4 -4
- package/package.json +6 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import type { SceneOperations } from '../../operations';
|
|
3
|
+
import type { SceneOperations } from '../../operations/index.js';
|
|
4
4
|
export declare const generateVariantsInput: {
|
|
5
5
|
baseSceneId: z.ZodOptional<z.ZodString>;
|
|
6
6
|
count: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { forkSceneGraph } from '@pascal-app/core/clone-scene-graph';
|
|
2
2
|
import { AnyNode as AnyNodeSchema } from '@pascal-app/core/schema';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { ADDITIVE_TOOL_ANNOTATIONS } from '../annotations';
|
|
5
|
-
import { ErrorCode, throwMcpError } from '../errors';
|
|
6
|
-
import { applyMutation, describeVariant, mulberry32 } from './mutations';
|
|
4
|
+
import { ADDITIVE_TOOL_ANNOTATIONS } from '../annotations.js';
|
|
5
|
+
import { ErrorCode, throwMcpError } from '../errors.js';
|
|
6
|
+
import { applyMutation, describeVariant, mulberry32 } from './mutations.js';
|
|
7
7
|
const MUTATION_KINDS = [
|
|
8
8
|
'wall-thickness',
|
|
9
9
|
'wall-height',
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
import type { SceneOperations } from '../../operations';
|
|
2
|
+
import type { SceneOperations } from '../../operations/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Register the variant-generation MCP tools against shared scene operations.
|
|
5
5
|
*/
|
|
6
6
|
export declare function registerVariantTools(server: McpServer, bridge: SceneOperations): void;
|
|
7
|
-
export { generateVariantsInput, generateVariantsOutput, registerGenerateVariants, } from './generate-variants';
|
|
8
|
-
export { applyMutation, describeVariant, type MutationKind, mulberry32, type Rng, } from './mutations';
|
|
7
|
+
export { generateVariantsInput, generateVariantsOutput, registerGenerateVariants, } from './generate-variants.js';
|
|
8
|
+
export { applyMutation, describeVariant, type MutationKind, mulberry32, type Rng, } from './mutations.js';
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { registerGenerateVariants } from './generate-variants';
|
|
1
|
+
import { registerGenerateVariants } from './generate-variants.js';
|
|
2
2
|
/**
|
|
3
3
|
* Register the variant-generation MCP tools against shared scene operations.
|
|
4
4
|
*/
|
|
5
5
|
export function registerVariantTools(server, bridge) {
|
|
6
6
|
registerGenerateVariants(server, bridge);
|
|
7
7
|
}
|
|
8
|
-
export { generateVariantsInput, generateVariantsOutput, registerGenerateVariants, } from './generate-variants';
|
|
9
|
-
export { applyMutation, describeVariant, mulberry32, } from './mutations';
|
|
8
|
+
export { generateVariantsInput, generateVariantsOutput, registerGenerateVariants, } from './generate-variants.js';
|
|
9
|
+
export { applyMutation, describeVariant, mulberry32, } from './mutations.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import type { SceneOperations } from '../../operations';
|
|
3
|
+
import type { SceneOperations } from '../../operations/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Input shape for `analyze_floorplan_image`.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from '../annotations';
|
|
3
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from '../annotations.js';
|
|
4
4
|
/**
|
|
5
5
|
* Input shape for `analyze_floorplan_image`.
|
|
6
6
|
*
|
|
@@ -60,7 +60,7 @@ async function resolveImageBlock(image) {
|
|
|
60
60
|
if (/^https?:\/\//i.test(image)) {
|
|
61
61
|
// SSRF-safe fetch: blocks loopback / private / link-local / metadata IPs,
|
|
62
62
|
// caps size at 20 MB, times out at 10s, validates each redirect hop.
|
|
63
|
-
const { safeFetch } = await import('../../lib/safe-fetch');
|
|
63
|
+
const { safeFetch } = await import('../../lib/safe-fetch.js');
|
|
64
64
|
const res = await safeFetch(image, { accept: 'image/*' });
|
|
65
65
|
const data = res.buffer.toString('base64');
|
|
66
66
|
const mimeType = res.contentType ?? 'image/jpeg';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import type { SceneOperations } from '../../operations';
|
|
3
|
+
import type { SceneOperations } from '../../operations/index.js';
|
|
4
4
|
/**
|
|
5
5
|
* Input shape for `analyze_room_photo`.
|
|
6
6
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from '../annotations';
|
|
3
|
+
import { READ_ONLY_OPEN_WORLD_TOOL_ANNOTATIONS } from '../annotations.js';
|
|
4
4
|
/**
|
|
5
5
|
* Input shape for `analyze_room_photo`.
|
|
6
6
|
*
|
|
@@ -42,7 +42,7 @@ const DATA_URI_RE = /^data:(image\/[a-z0-9.+-]+);base64,(.+)$/i;
|
|
|
42
42
|
async function resolveImageBlock(image) {
|
|
43
43
|
if (/^https?:\/\//i.test(image)) {
|
|
44
44
|
// SSRF-safe fetch (see packages/mcp/src/lib/safe-fetch.ts).
|
|
45
|
-
const { safeFetch } = await import('../../lib/safe-fetch');
|
|
45
|
+
const { safeFetch } = await import('../../lib/safe-fetch.js');
|
|
46
46
|
const res = await safeFetch(image, { accept: 'image/*' });
|
|
47
47
|
const data = res.buffer.toString('base64');
|
|
48
48
|
const mimeType = res.contentType ?? 'image/jpeg';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
-
import type { SceneOperations } from '../../operations';
|
|
2
|
+
import type { SceneOperations } from '../../operations/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Register the vision-input tools that defer to the MCP host's sampling
|
|
5
5
|
* capability. No vision model is bundled in this package — if the host does
|
|
@@ -7,6 +7,6 @@ import type { SceneOperations } from '../../operations';
|
|
|
7
7
|
* `sampling_unavailable`.
|
|
8
8
|
*/
|
|
9
9
|
export declare function registerVisionTools(server: McpServer, operations: SceneOperations): void;
|
|
10
|
-
export { analyzeFloorplanImageInput, analyzeFloorplanImageOutput, registerAnalyzeFloorplanImage, } from './analyze-floorplan-image';
|
|
11
|
-
export { analyzeRoomPhotoInput, analyzeRoomPhotoOutput, registerAnalyzeRoomPhoto, } from './analyze-room-photo';
|
|
10
|
+
export { analyzeFloorplanImageInput, analyzeFloorplanImageOutput, registerAnalyzeFloorplanImage, } from './analyze-floorplan-image.js';
|
|
11
|
+
export { analyzeRoomPhotoInput, analyzeRoomPhotoOutput, registerAnalyzeRoomPhoto, } from './analyze-room-photo.js';
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { registerAnalyzeFloorplanImage } from './analyze-floorplan-image';
|
|
2
|
-
import { registerAnalyzeRoomPhoto } from './analyze-room-photo';
|
|
1
|
+
import { registerAnalyzeFloorplanImage } from './analyze-floorplan-image.js';
|
|
2
|
+
import { registerAnalyzeRoomPhoto } from './analyze-room-photo.js';
|
|
3
3
|
/**
|
|
4
4
|
* Register the vision-input tools that defer to the MCP host's sampling
|
|
5
5
|
* capability. No vision model is bundled in this package — if the host does
|
|
@@ -10,5 +10,5 @@ export function registerVisionTools(server, operations) {
|
|
|
10
10
|
registerAnalyzeFloorplanImage(server, operations);
|
|
11
11
|
registerAnalyzeRoomPhoto(server, operations);
|
|
12
12
|
}
|
|
13
|
-
export { analyzeFloorplanImageInput, analyzeFloorplanImageOutput, registerAnalyzeFloorplanImage, } from './analyze-floorplan-image';
|
|
14
|
-
export { analyzeRoomPhotoInput, analyzeRoomPhotoOutput, registerAnalyzeRoomPhoto, } from './analyze-room-photo';
|
|
13
|
+
export { analyzeFloorplanImageInput, analyzeFloorplanImageOutput, registerAnalyzeFloorplanImage, } from './analyze-floorplan-image.js';
|
|
14
|
+
export { analyzeRoomPhotoInput, analyzeRoomPhotoOutput, registerAnalyzeRoomPhoto, } from './analyze-room-photo.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pascal-app/mcp",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Model Context Protocol server for Pascal 3D editor",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -47,15 +47,16 @@
|
|
|
47
47
|
"CHANGELOG.md"
|
|
48
48
|
],
|
|
49
49
|
"scripts": {
|
|
50
|
-
"build": "tsc --build",
|
|
50
|
+
"build": "tsc --build && bun ../../scripts/fix-node-esm-imports.ts ../core/dist && bun ../../scripts/fix-node-esm-imports.ts dist",
|
|
51
51
|
"dev": "tsgo --build --watch",
|
|
52
52
|
"start": "bun dist/bin/pascal-mcp.js",
|
|
53
53
|
"test": "bun test",
|
|
54
54
|
"smoke": "bun run scripts/smoke.ts",
|
|
55
|
-
"
|
|
55
|
+
"smoke:node": "node dist/bin/pascal-mcp.js --help",
|
|
56
|
+
"prepublishOnly": "bun run build && bun test && bun run smoke:node"
|
|
56
57
|
},
|
|
57
58
|
"peerDependencies": {
|
|
58
|
-
"@pascal-app/core": "^1.0.
|
|
59
|
+
"@pascal-app/core": "^1.0.1"
|
|
59
60
|
},
|
|
60
61
|
"dependencies": {
|
|
61
62
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
"zod": ">=4.5.4 <4.6"
|
|
64
65
|
},
|
|
65
66
|
"devDependencies": {
|
|
66
|
-
"@pascal-app/core": "^1.0.
|
|
67
|
+
"@pascal-app/core": "^1.0.1",
|
|
67
68
|
"@pascal/typescript-config": "*",
|
|
68
69
|
"@types/node": "^22.19.20",
|
|
69
70
|
"typescript": "6.0.3"
|