@stellisoft/stellify-mcp 0.1.31 → 0.1.32

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/dist/index.js CHANGED
@@ -168,12 +168,12 @@ Pass 'includes' array for framework class dependencies (auto-resolved to UUIDs).
168
168
  },
169
169
  parameters: {
170
170
  type: 'array',
171
- description: 'Method parameters (created as clauses)',
171
+ description: 'Method parameters (created as clauses). Include datatype for TypeScript annotations.',
172
172
  items: {
173
173
  type: 'object',
174
174
  properties: {
175
175
  name: { type: 'string', description: 'Parameter name' },
176
- datatype: { type: 'string', description: 'Data type' },
176
+ datatype: { type: 'string', description: 'TypeScript type (e.g., "number", "string", "MouseEvent", "User"). Outputs as: (param: Type)' },
177
177
  type: { type: 'string', description: 'Clause type (default: variable)' },
178
178
  value: { type: 'string', description: 'Default value' },
179
179
  },
@@ -214,6 +214,8 @@ Pass 'includes' array for framework class dependencies (auto-resolved to UUIDs).
214
214
 
215
215
  **Nested code is handled correctly.** The parser tracks brace/bracket/paren depth and only splits on semicolons at the top level. Arrow functions with block bodies, computed properties, and other nested constructs work as single statements.
216
216
 
217
+ Pass 'types' to specify TypeScript types for variables declared in the code.
218
+
217
219
  IMPORTANT: This APPENDS to existing method statements. To REPLACE a method's code entirely:
218
220
  1. Create a NEW method with create_method (with body parameter)
219
221
  2. Update the file's 'data' array to include new method UUID (remove old one)
@@ -234,6 +236,11 @@ IMPORTANT: This APPENDS to existing method statements. To REPLACE a method's cod
234
236
  type: 'string',
235
237
  description: 'PHP code for the method body (just the statements, no function declaration). Example: "return $a + $b;"',
236
238
  },
239
+ types: {
240
+ type: 'object',
241
+ description: 'Map of variable names to their base TypeScript types (e.g., { "result": "Todo" }). The assembler infers full types from code structure.',
242
+ additionalProperties: { type: 'string' },
243
+ },
237
244
  },
238
245
  required: ['file', 'method', 'code'],
239
246
  },
@@ -744,7 +751,12 @@ Prefer SVG icons over emoji (encoding issues).`,
744
751
  },
745
752
  {
746
753
  name: 'create_statement_with_code',
747
- description: `Create a statement with code in one call. Preferred over two-step create_statement + add_statement_code.`,
754
+ description: `Create a statement with code in one call. Preferred over two-step create_statement + add_statement_code.
755
+
756
+ Pass 'types' to specify TypeScript types for variables. The assembler infers the full type from code structure:
757
+ - \`ref([])\` + type "Todo" → outputs \`const todos: Ref<Todo[]>\`
758
+ - \`ref(0)\` + type "number" → outputs \`const count: Ref<number>\`
759
+ - \`reactive({})\` + type "State" → outputs \`const state: State\``,
748
760
  inputSchema: {
749
761
  type: 'object',
750
762
  properties: {
@@ -760,6 +772,11 @@ Prefer SVG icons over emoji (encoding issues).`,
760
772
  type: 'string',
761
773
  description: 'UUID of the method to add the statement to (optional, for method body statements)',
762
774
  },
775
+ types: {
776
+ type: 'object',
777
+ description: 'Map of variable names to their base TypeScript types (e.g., { "todos": "Todo", "count": "number" }). The assembler infers Ref<>, arrays, etc. from the code structure.',
778
+ additionalProperties: { type: 'string' },
779
+ },
763
780
  },
764
781
  required: ['file', 'code'],
765
782
  },
@@ -884,6 +901,11 @@ Required: uuid, name, type. For significant changes, include context fields: sum
884
901
  items: { type: 'string' },
885
902
  description: 'Project model UUIDs (auto-namespaced). Do NOT duplicate in includes.',
886
903
  },
904
+ frameworkImports: {
905
+ type: 'array',
906
+ items: { type: 'string' },
907
+ description: 'Stellify framework modules to import (e.g., ["Http", "Form", "Collection"]). Auto-generates: import { Http, Form, Collection } from \'stellify-framework\';',
908
+ },
887
909
  summary: {
888
910
  type: 'string',
889
911
  description: 'Context: What this file does and why it exists',
@@ -1403,7 +1425,7 @@ When creating Vue/ React etc. components, ALWAYS check the \`appJs\` field in th
1403
1425
  // Create MCP server
1404
1426
  const server = new Server({
1405
1427
  name: 'stellify-mcp',
1406
- version: '0.1.31',
1428
+ version: '0.1.32',
1407
1429
  }, {
1408
1430
  capabilities: {
1409
1431
  tools: {},
@@ -32,6 +32,7 @@ export interface AddMethodBodyParams {
32
32
  file: string;
33
33
  method: string;
34
34
  code: string;
35
+ types?: Record<string, string>;
35
36
  }
36
37
  export interface SearchMethodsParams {
37
38
  name?: string;
@@ -93,6 +94,7 @@ export declare class StellifyClient {
93
94
  file: string;
94
95
  code: string;
95
96
  method?: string;
97
+ types?: Record<string, string>;
96
98
  }): Promise<any>;
97
99
  getStatement(statement: string): Promise<any>;
98
100
  deleteStatement(file: string, method: string, statement: string): Promise<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stellisoft/stellify-mcp",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "mcpName": "io.github.MattStellisoft/stellify-mcp",
5
5
  "description": "MCP server for Stellify - AI-native code generation platform",
6
6
  "main": "dist/index.js",
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/Stellify-Software-Ltd/stellify-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.1.31",
9
+ "version": "0.1.32",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@stellisoft/stellify-mcp",
14
- "version": "0.1.31",
14
+ "version": "0.1.32",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },