@stellisoft/stellify-mcp 0.1.31 → 0.1.33
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 +33 -7
- package/dist/stellify-client.d.ts +2 -0
- package/package.json +1 -1
- package/server.json +2 -2
package/dist/index.js
CHANGED
|
@@ -55,10 +55,14 @@ const STELLIFY_FRAMEWORK_API = {
|
|
|
55
55
|
Diff: ['chars', 'words', 'lines', 'apply', 'createPatch', 'distance', 'similarity', 'commonPrefix', 'commonSuffix'],
|
|
56
56
|
// Utilities
|
|
57
57
|
Time: ['now', 'create', 'parse', 'format', 'toISO', 'toDate', 'toTimestamp', 'toUnix', 'add', 'subtract', 'diff', 'isBefore', 'isAfter', 'isSame', 'isBetween', 'startOf', 'endOf', 'year', 'month', 'day', 'weekday', 'hour', 'minute', 'second', 'relative', 'clone'],
|
|
58
|
-
//
|
|
58
|
+
// Vue Composables
|
|
59
59
|
useStellify: ['(generic adapter for any module)'],
|
|
60
|
-
useForm: ['bind'],
|
|
61
|
-
useTable: ['
|
|
60
|
+
useForm: ['bind', 'state', 'set', 'get', 'getData', 'validate', 'isValid', 'getErrors', 'getError', 'reset', 'store', 'update', 'delete'],
|
|
61
|
+
useTable: ['state', 'setData', 'addColumn', 'removeColumn', 'sort', 'filter', 'clearFilter', 'paginate', 'page'],
|
|
62
|
+
useInfiniteScroll: ['items (Collection)', 'loading', 'hasMore', 'error', 'page', 'total', 'loadMore', 'reset', 'refresh', 'sentinelRef'],
|
|
63
|
+
useLiveData: ['data (Collection)', 'loading', 'error', 'connected', 'refresh', 'disconnect', 'reconnect', 'push', 'remove', 'update'],
|
|
64
|
+
useQueryState: ['(reactive refs per param)', 'getAll', 'setAll', 'reset', 'getUrl'],
|
|
65
|
+
useLazyLoad: ['data', 'visible', 'loading', 'loaded', 'error', 'targetRef', 'load', 'reset'],
|
|
62
66
|
};
|
|
63
67
|
const tools = [
|
|
64
68
|
{
|
|
@@ -168,12 +172,12 @@ Pass 'includes' array for framework class dependencies (auto-resolved to UUIDs).
|
|
|
168
172
|
},
|
|
169
173
|
parameters: {
|
|
170
174
|
type: 'array',
|
|
171
|
-
description: 'Method parameters (created as clauses)',
|
|
175
|
+
description: 'Method parameters (created as clauses). Include datatype for TypeScript annotations.',
|
|
172
176
|
items: {
|
|
173
177
|
type: 'object',
|
|
174
178
|
properties: {
|
|
175
179
|
name: { type: 'string', description: 'Parameter name' },
|
|
176
|
-
datatype: { type: 'string', description: '
|
|
180
|
+
datatype: { type: 'string', description: 'TypeScript type (e.g., "number", "string", "MouseEvent", "User"). Outputs as: (param: Type)' },
|
|
177
181
|
type: { type: 'string', description: 'Clause type (default: variable)' },
|
|
178
182
|
value: { type: 'string', description: 'Default value' },
|
|
179
183
|
},
|
|
@@ -214,6 +218,8 @@ Pass 'includes' array for framework class dependencies (auto-resolved to UUIDs).
|
|
|
214
218
|
|
|
215
219
|
**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
220
|
|
|
221
|
+
Pass 'types' to specify TypeScript types for variables declared in the code.
|
|
222
|
+
|
|
217
223
|
IMPORTANT: This APPENDS to existing method statements. To REPLACE a method's code entirely:
|
|
218
224
|
1. Create a NEW method with create_method (with body parameter)
|
|
219
225
|
2. Update the file's 'data' array to include new method UUID (remove old one)
|
|
@@ -234,6 +240,11 @@ IMPORTANT: This APPENDS to existing method statements. To REPLACE a method's cod
|
|
|
234
240
|
type: 'string',
|
|
235
241
|
description: 'PHP code for the method body (just the statements, no function declaration). Example: "return $a + $b;"',
|
|
236
242
|
},
|
|
243
|
+
types: {
|
|
244
|
+
type: 'object',
|
|
245
|
+
description: 'Map of variable names to their base TypeScript types (e.g., { "result": "Todo" }). The assembler infers full types from code structure.',
|
|
246
|
+
additionalProperties: { type: 'string' },
|
|
247
|
+
},
|
|
237
248
|
},
|
|
238
249
|
required: ['file', 'method', 'code'],
|
|
239
250
|
},
|
|
@@ -744,7 +755,12 @@ Prefer SVG icons over emoji (encoding issues).`,
|
|
|
744
755
|
},
|
|
745
756
|
{
|
|
746
757
|
name: 'create_statement_with_code',
|
|
747
|
-
description: `Create a statement with code in one call. Preferred over two-step create_statement + add_statement_code
|
|
758
|
+
description: `Create a statement with code in one call. Preferred over two-step create_statement + add_statement_code.
|
|
759
|
+
|
|
760
|
+
Pass 'types' to specify TypeScript types for variables. The assembler infers the full type from code structure:
|
|
761
|
+
- \`ref([])\` + type "Todo" → outputs \`const todos: Ref<Todo[]>\`
|
|
762
|
+
- \`ref(0)\` + type "number" → outputs \`const count: Ref<number>\`
|
|
763
|
+
- \`reactive({})\` + type "State" → outputs \`const state: State\``,
|
|
748
764
|
inputSchema: {
|
|
749
765
|
type: 'object',
|
|
750
766
|
properties: {
|
|
@@ -760,6 +776,11 @@ Prefer SVG icons over emoji (encoding issues).`,
|
|
|
760
776
|
type: 'string',
|
|
761
777
|
description: 'UUID of the method to add the statement to (optional, for method body statements)',
|
|
762
778
|
},
|
|
779
|
+
types: {
|
|
780
|
+
type: 'object',
|
|
781
|
+
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.',
|
|
782
|
+
additionalProperties: { type: 'string' },
|
|
783
|
+
},
|
|
763
784
|
},
|
|
764
785
|
required: ['file', 'code'],
|
|
765
786
|
},
|
|
@@ -884,6 +905,11 @@ Required: uuid, name, type. For significant changes, include context fields: sum
|
|
|
884
905
|
items: { type: 'string' },
|
|
885
906
|
description: 'Project model UUIDs (auto-namespaced). Do NOT duplicate in includes.',
|
|
886
907
|
},
|
|
908
|
+
frameworkImports: {
|
|
909
|
+
type: 'array',
|
|
910
|
+
items: { type: 'string' },
|
|
911
|
+
description: 'Stellify framework modules to import (e.g., ["Http", "Form", "Collection"]). Auto-generates: import { Http, Form, Collection } from \'stellify-framework\';',
|
|
912
|
+
},
|
|
887
913
|
summary: {
|
|
888
914
|
type: 'string',
|
|
889
915
|
description: 'Context: What this file does and why it exists',
|
|
@@ -1403,7 +1429,7 @@ When creating Vue/ React etc. components, ALWAYS check the \`appJs\` field in th
|
|
|
1403
1429
|
// Create MCP server
|
|
1404
1430
|
const server = new Server({
|
|
1405
1431
|
name: 'stellify-mcp',
|
|
1406
|
-
version: '0.1.
|
|
1432
|
+
version: '0.1.33',
|
|
1407
1433
|
}, {
|
|
1408
1434
|
capabilities: {
|
|
1409
1435
|
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
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.
|
|
9
|
+
"version": "0.1.33",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@stellisoft/stellify-mcp",
|
|
14
|
-
"version": "0.1.
|
|
14
|
+
"version": "0.1.33",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|