@pascal-app/mcp 1.0.6 → 1.1.0

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.
Files changed (88) hide show
  1. package/README.md +32 -11
  2. package/dist/bin/pascal-mcp.js +2 -0
  3. package/dist/bridge/agent-session.d.ts +2 -1
  4. package/dist/bridge/agent-session.d.ts.map +1 -1
  5. package/dist/bridge/agent-session.js +0 -1
  6. package/dist/bridge/scene-bridge.d.ts +22 -14
  7. package/dist/bridge/scene-bridge.d.ts.map +1 -1
  8. package/dist/bridge/scene-bridge.js +180 -198
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/lib/safe-fetch.d.ts +6 -0
  12. package/dist/lib/safe-fetch.d.ts.map +1 -1
  13. package/dist/lib/safe-fetch.js +135 -41
  14. package/dist/operations/scene-operations.d.ts +7 -0
  15. package/dist/operations/scene-operations.d.ts.map +1 -1
  16. package/dist/operations/scene-operations.js +4 -0
  17. package/dist/prompts/from-brief.js +1 -1
  18. package/dist/prompts/iterate-on-feedback.js +1 -1
  19. package/dist/prompts/renovation-from-photos.js +1 -1
  20. package/dist/prompts/scene-guidance.js +2 -2
  21. package/dist/resources/agent-guide.d.ts.map +1 -1
  22. package/dist/resources/agent-guide.js +8 -3
  23. package/dist/resources/catalog-items.d.ts +4 -1
  24. package/dist/resources/catalog-items.d.ts.map +1 -1
  25. package/dist/resources/catalog-items.js +14 -6
  26. package/dist/server.d.ts +9 -5
  27. package/dist/server.d.ts.map +1 -1
  28. package/dist/server.js +21 -5
  29. package/dist/templates/empty-studio.d.ts.map +1 -1
  30. package/dist/templates/empty-studio.js +2 -3
  31. package/dist/templates/garden-house.d.ts.map +1 -1
  32. package/dist/templates/garden-house.js +2 -3
  33. package/dist/templates/two-bedroom.d.ts.map +1 -1
  34. package/dist/templates/two-bedroom.js +2 -3
  35. package/dist/tools/add-column.d.ts.map +1 -1
  36. package/dist/tools/add-column.js +9 -6
  37. package/dist/tools/add-object.d.ts +44 -5
  38. package/dist/tools/add-object.d.ts.map +1 -1
  39. package/dist/tools/add-object.js +75 -21
  40. package/dist/tools/apply-patch.js +1 -1
  41. package/dist/tools/asset-catalog.d.ts +5 -6
  42. package/dist/tools/asset-catalog.d.ts.map +1 -1
  43. package/dist/tools/asset-catalog.js +1 -9
  44. package/dist/tools/author-scene.d.ts +8 -5
  45. package/dist/tools/author-scene.d.ts.map +1 -1
  46. package/dist/tools/author-scene.js +302 -51
  47. package/dist/tools/clear-scene.js +2 -2
  48. package/dist/tools/collections.d.ts.map +1 -1
  49. package/dist/tools/collections.js +8 -5
  50. package/dist/tools/honest-patch-guard.js +6 -5
  51. package/dist/tools/hosted-services.d.ts.map +1 -1
  52. package/dist/tools/hosted-services.js +2 -2
  53. package/dist/tools/index.d.ts +7 -2
  54. package/dist/tools/index.d.ts.map +1 -1
  55. package/dist/tools/index.js +3 -9
  56. package/dist/tools/local-geometry-scripts.d.ts.map +1 -1
  57. package/dist/tools/local-geometry-scripts.js +7 -2
  58. package/dist/tools/patch-guards.d.ts.map +1 -1
  59. package/dist/tools/patch-guards.js +32 -15
  60. package/dist/tools/project-files.d.ts.map +1 -1
  61. package/dist/tools/project-files.js +2 -2
  62. package/dist/tools/room-tools.d.ts +1 -0
  63. package/dist/tools/room-tools.d.ts.map +1 -1
  64. package/dist/tools/room-tools.js +11 -8
  65. package/dist/tools/scene-scope.d.ts +4 -0
  66. package/dist/tools/scene-scope.d.ts.map +1 -0
  67. package/dist/tools/scene-scope.js +4 -0
  68. package/dist/tools/shared-tools.d.ts +0 -2
  69. package/dist/tools/shared-tools.d.ts.map +1 -1
  70. package/dist/tools/shared-tools.js +146 -31
  71. package/dist/tools/templates/create-house-from-brief.js +1 -1
  72. package/dist/tools/view-scene.js +2 -2
  73. package/examples/coordinate-conventions-demo.md +1 -0
  74. package/examples/photo-to-scene.md +1 -0
  75. package/examples/renovate-from-photos.md +2 -0
  76. package/package.json +10 -10
  77. package/dist/tools/create-unit.d.ts +0 -29
  78. package/dist/tools/create-unit.d.ts.map +0 -1
  79. package/dist/tools/create-unit.js +0 -36
  80. package/dist/tools/list-units.d.ts +0 -38
  81. package/dist/tools/list-units.d.ts.map +0 -1
  82. package/dist/tools/list-units.js +0 -61
  83. package/dist/tools/set-unit-members.d.ts +0 -22
  84. package/dist/tools/set-unit-members.d.ts.map +0 -1
  85. package/dist/tools/set-unit-members.js +0 -43
  86. package/dist/tools/unit-members.d.ts +0 -4
  87. package/dist/tools/unit-members.d.ts.map +0 -1
  88. package/dist/tools/unit-members.js +0 -24
@@ -1,9 +1,9 @@
1
1
  import './node-shims.js';
2
2
  import { type NodeDeletionPlan, type NodeDeletionScene } from '@pascal-app/core';
3
3
  import type { SceneGraph } from '@pascal-app/core/clone-scene-graph';
4
+ import { type SceneRuntime } from '@pascal-app/core/runtime';
4
5
  import type { AnyNode, Collection, CollectionId, SceneMaterialId } from '@pascal-app/core/schema';
5
6
  import { type AnyNodeId, type AnyNodeType, SceneMaterial } from '@pascal-app/core/schema';
6
- import useScene from '@pascal-app/core/store';
7
7
  import type { SceneMeta } from '../storage/types.js';
8
8
  import { InMemoryAgentSession } from './agent-session.js';
9
9
  export type ValidationError = {
@@ -40,18 +40,26 @@ export type MaterialUpsertPatch = {
40
40
  export type Patch = CreatePatch | UpdatePatch | DeletePatch | MaterialUpsertPatch;
41
41
  export type ActiveSceneMeta = Pick<SceneMeta, 'id' | 'name' | 'projectId' | 'ownerId' | 'thumbnailUrl' | 'version' | 'graphHash'>;
42
42
  /** The `extra` bag `setScene` accepts — collections, materials, plugin state. */
43
- type SetSceneExtra = Parameters<ReturnType<typeof useScene.getState>['setScene']>[2];
43
+ type SetSceneExtra = Parameters<ReturnType<SceneRuntime['store']['getState']>['setScene']>[2];
44
44
  /**
45
- * Headless bridge to the `@pascal-app/core` Zustand store.
45
+ * Headless bridge to a `@pascal-app/core` scene store: the editor's own (the default), or a
46
+ * detached scene's (`@pascal-app/core/runtime`), whose host passes it as `runtime`.
46
47
  *
47
- * All mutation flows through the real core store so undo/redo works via Zundo.
48
- * No renderer is attached; `dirtyNodes` accumulates and can be drained via
49
- * `flushDirty()` for observability.
48
+ * All mutation flows through the real core store so undo/redo works via Zundo. Reads go through
49
+ * the runtime's reader (recorded on a detached scene), and writes run in its scope: its history
50
+ * environment, its id allocator, its disposal guard. No renderer is attached; `dirtyNodes`
51
+ * accumulates and can be drained via `flushDirty()` for observability.
50
52
  */
51
53
  export declare class SceneBridge {
52
54
  /** `applyPatch` takes `upsert_material` patches, in the patch's one history step. */
53
55
  readonly supportsMaterialUpserts = true;
54
56
  private activeScene;
57
+ private readonly runtime;
58
+ constructor(options?: {
59
+ runtime?: SceneRuntime;
60
+ });
61
+ private get store();
62
+ private write;
55
63
  /** What the agent's session has kept: its named moments, and what it made. */
56
64
  readonly agentSession: InMemoryAgentSession;
57
65
  /**
@@ -76,7 +84,7 @@ export declare class SceneBridge {
76
84
  loadJSON(json: string | SceneGraph): void;
77
85
  /** Read a single node, or `null` if not present. */
78
86
  getNode(id: AnyNodeId): AnyNode | null;
79
- /** All nodes (live reference into the store — do NOT mutate). */
87
+ /** All nodes (a read-only view of the store's current nodes — do NOT mutate). */
80
88
  getNodes(): Record<AnyNodeId, AnyNode>;
81
89
  getCollections(): Record<CollectionId, Collection>;
82
90
  getMaterials(): Record<SceneMaterialId, SceneMaterial>;
@@ -119,9 +127,9 @@ export declare class SceneBridge {
119
127
  * `id`, generated by the schema default if they did `XxxNode.parse({...})`).
120
128
  * Returns the generated id.
121
129
  */
122
- createNode(node: AnyNode, parentId?: AnyNodeId): AnyNodeId;
130
+ createNode(input: AnyNode, parentId?: AnyNodeId): AnyNodeId;
123
131
  /** Update node fields (shallow merge through the core store). */
124
- updateNode(id: AnyNodeId, data: Partial<AnyNode>): void;
132
+ updateNode(id: AnyNodeId, input: Partial<AnyNode>): void;
125
133
  /**
126
134
  * Delete a node. If the node has children and `cascade === false`, throws.
127
135
  * If `cascade` is true (or undefined and no children), delegates to the core
@@ -140,6 +148,7 @@ export declare class SceneBridge {
140
148
  deletedIds: AnyNodeId[];
141
149
  createdIds: AnyNodeId[];
142
150
  };
151
+ private applyPatchInScope;
143
152
  /**
144
153
  * Preview what deleting `ids` does to `scene` with this bridge's semantics
145
154
  * (core's store planner), without committing or minting default gutters.
@@ -160,14 +169,12 @@ export declare class SceneBridge {
160
169
  createdIds: AnyNodeId[];
161
170
  deletedIds: AnyNodeId[];
162
171
  };
172
+ private deriveStructureInScope;
163
173
  /** Undo. Returns the number of steps actually undone. */
164
174
  undo(steps?: number): number;
165
175
  /** Redo. Returns the number of steps actually redone. */
166
176
  redo(steps?: number): number;
167
- /**
168
- * Zod-validate every node in the scene. Reports one error per failed node,
169
- * concatenating Zod issue paths.
170
- */
177
+ /** Validate node schemas and global parent-chain acyclicity. */
171
178
  validateScene(): ValidationResult;
172
179
  /**
173
180
  * Drain the dirtyNodes set. Returns the ids that were present. No-op for
@@ -181,8 +188,9 @@ export declare class SceneBridge {
181
188
  };
182
189
  /** Clear the temporal undo/redo history. */
183
190
  clearHistory(): void;
191
+ /** Runs `run` in the scene's scope: an operation planned here mints the runtime's ids. */
192
+ runInScene<T>(run: () => T): T;
184
193
  runAsSingleHistoryStep<T>(run: () => T): T;
185
- private reconcileDependentStructure;
186
194
  /**
187
195
  * Return the node whose `children` array (string or object form) contains
188
196
  * the given id, or null if none. Used as a fallback when `parentId` is
@@ -1 +1 @@
1
- {"version":3,"file":"scene-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/scene-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene-bridge.d.ts","sourceRoot":"","sources":["../../src/bridge/scene-bridge.ts"],"names":[],"mappings":"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"}