@stellisoft/stellify-mcp 0.1.11 → 0.1.13
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 +141 -282
- package/dist/stellify-client.d.ts +8 -28
- package/dist/stellify-client.js +10 -46
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -178,6 +178,10 @@ The system resolves these to UUIDs automatically, creating missing dependencies
|
|
|
178
178
|
items: { type: 'string' },
|
|
179
179
|
description: 'Array of namespace strings to include as dependencies (e.g., ["App\\Models\\User", "Illuminate\\Support\\Facades\\Hash"]). These are resolved to UUIDs automatically.',
|
|
180
180
|
},
|
|
181
|
+
module: {
|
|
182
|
+
type: 'string',
|
|
183
|
+
description: 'Optional module name to group this file with related code (e.g., "blog-posts", "user-auth"). Module is auto-created if it doesn\'t exist.',
|
|
184
|
+
},
|
|
181
185
|
},
|
|
182
186
|
required: ['directory', 'name', 'type'],
|
|
183
187
|
},
|
|
@@ -406,6 +410,10 @@ Example:
|
|
|
406
410
|
type: 'object',
|
|
407
411
|
description: 'Additional route data (title, description, element UUIDs)',
|
|
408
412
|
},
|
|
413
|
+
module: {
|
|
414
|
+
type: 'string',
|
|
415
|
+
description: 'Optional module name to group this route with related code (e.g., "blog-posts", "user-auth"). Module is auto-created if it doesn\'t exist.',
|
|
416
|
+
},
|
|
409
417
|
},
|
|
410
418
|
required: ['project_id', 'name', 'path', 'method'],
|
|
411
419
|
},
|
|
@@ -654,150 +662,6 @@ IMPORTANT: Use the returned root element UUID in save_file's template array.`,
|
|
|
654
662
|
required: ['elements'],
|
|
655
663
|
},
|
|
656
664
|
},
|
|
657
|
-
{
|
|
658
|
-
name: 'list_globals',
|
|
659
|
-
description: 'List all global files in the Application database. Globals are reusable, curated code (controllers, models, services) that can be installed into tenant projects.',
|
|
660
|
-
inputSchema: {
|
|
661
|
-
type: 'object',
|
|
662
|
-
properties: {},
|
|
663
|
-
},
|
|
664
|
-
},
|
|
665
|
-
{
|
|
666
|
-
name: 'get_global',
|
|
667
|
-
description: 'Get a global file with all its methods, statements, and clauses. Returns the full structure of a reusable code file.',
|
|
668
|
-
inputSchema: {
|
|
669
|
-
type: 'object',
|
|
670
|
-
properties: {
|
|
671
|
-
uuid: {
|
|
672
|
-
type: 'string',
|
|
673
|
-
description: 'UUID of the global file to retrieve',
|
|
674
|
-
},
|
|
675
|
-
},
|
|
676
|
-
required: ['uuid'],
|
|
677
|
-
},
|
|
678
|
-
},
|
|
679
|
-
{
|
|
680
|
-
name: 'install_global',
|
|
681
|
-
description: 'Install a global file from the Application database into a tenant project. Copies the file, methods, and statements to the tenant database with the same UUIDs (for deduplication). Clauses remain shared in the Application DB.',
|
|
682
|
-
inputSchema: {
|
|
683
|
-
type: 'object',
|
|
684
|
-
properties: {
|
|
685
|
-
file_uuid: {
|
|
686
|
-
type: 'string',
|
|
687
|
-
description: 'UUID of the global file to install',
|
|
688
|
-
},
|
|
689
|
-
directory_uuid: {
|
|
690
|
-
type: 'string',
|
|
691
|
-
description: 'UUID of the directory in the tenant project to install the file into',
|
|
692
|
-
},
|
|
693
|
-
},
|
|
694
|
-
required: ['file_uuid', 'directory_uuid'],
|
|
695
|
-
},
|
|
696
|
-
},
|
|
697
|
-
{
|
|
698
|
-
name: 'search_global_methods',
|
|
699
|
-
description: 'Search for methods across the Application database (global/framework methods). Use this to find reusable Laravel framework methods, facades, and shared code.',
|
|
700
|
-
inputSchema: {
|
|
701
|
-
type: 'object',
|
|
702
|
-
properties: {
|
|
703
|
-
query: {
|
|
704
|
-
type: 'string',
|
|
705
|
-
description: 'Search query to find methods by name',
|
|
706
|
-
},
|
|
707
|
-
},
|
|
708
|
-
required: ['query'],
|
|
709
|
-
},
|
|
710
|
-
},
|
|
711
|
-
// Module tools (groups of globals)
|
|
712
|
-
{
|
|
713
|
-
name: 'list_modules',
|
|
714
|
-
description: 'List all available modules. A module is a named collection of related global files that can be installed together as a package.',
|
|
715
|
-
inputSchema: {
|
|
716
|
-
type: 'object',
|
|
717
|
-
properties: {},
|
|
718
|
-
},
|
|
719
|
-
},
|
|
720
|
-
{
|
|
721
|
-
name: 'get_module',
|
|
722
|
-
description: 'Get a module with all its files. Returns the module metadata and list of global files it contains, in installation order.',
|
|
723
|
-
inputSchema: {
|
|
724
|
-
type: 'object',
|
|
725
|
-
properties: {
|
|
726
|
-
uuid: {
|
|
727
|
-
type: 'string',
|
|
728
|
-
description: 'UUID of the module to retrieve',
|
|
729
|
-
},
|
|
730
|
-
},
|
|
731
|
-
required: ['uuid'],
|
|
732
|
-
},
|
|
733
|
-
},
|
|
734
|
-
{
|
|
735
|
-
name: 'create_module',
|
|
736
|
-
description: 'Create a new module to group related global files together.',
|
|
737
|
-
inputSchema: {
|
|
738
|
-
type: 'object',
|
|
739
|
-
properties: {
|
|
740
|
-
name: {
|
|
741
|
-
type: 'string',
|
|
742
|
-
description: 'Unique name for the module (e.g., "laravel-sanctum-auth")',
|
|
743
|
-
},
|
|
744
|
-
description: {
|
|
745
|
-
type: 'string',
|
|
746
|
-
description: 'Description of what the module provides',
|
|
747
|
-
},
|
|
748
|
-
version: {
|
|
749
|
-
type: 'string',
|
|
750
|
-
description: 'Version string (default: "1.0.0")',
|
|
751
|
-
},
|
|
752
|
-
tags: {
|
|
753
|
-
type: 'array',
|
|
754
|
-
items: { type: 'string' },
|
|
755
|
-
description: 'Tags for categorization (e.g., ["auth", "api", "sanctum"])',
|
|
756
|
-
},
|
|
757
|
-
},
|
|
758
|
-
required: ['name'],
|
|
759
|
-
},
|
|
760
|
-
},
|
|
761
|
-
{
|
|
762
|
-
name: 'add_file_to_module',
|
|
763
|
-
description: 'Add a global file to a module. Files are installed in order when the module is installed.',
|
|
764
|
-
inputSchema: {
|
|
765
|
-
type: 'object',
|
|
766
|
-
properties: {
|
|
767
|
-
module_uuid: {
|
|
768
|
-
type: 'string',
|
|
769
|
-
description: 'UUID of the module',
|
|
770
|
-
},
|
|
771
|
-
file_uuid: {
|
|
772
|
-
type: 'string',
|
|
773
|
-
description: 'UUID of the global file to add',
|
|
774
|
-
},
|
|
775
|
-
order: {
|
|
776
|
-
type: 'number',
|
|
777
|
-
description: 'Installation order (optional, auto-increments if not specified)',
|
|
778
|
-
},
|
|
779
|
-
},
|
|
780
|
-
required: ['module_uuid', 'file_uuid'],
|
|
781
|
-
},
|
|
782
|
-
},
|
|
783
|
-
{
|
|
784
|
-
name: 'install_module',
|
|
785
|
-
description: 'Install all files from a module into a tenant project. Copies files, methods, and statements in the defined order. Clauses remain shared in the Application DB.',
|
|
786
|
-
inputSchema: {
|
|
787
|
-
type: 'object',
|
|
788
|
-
properties: {
|
|
789
|
-
module_uuid: {
|
|
790
|
-
type: 'string',
|
|
791
|
-
description: 'UUID of the module to install',
|
|
792
|
-
},
|
|
793
|
-
directory_uuid: {
|
|
794
|
-
type: 'string',
|
|
795
|
-
description: 'UUID of the directory in the tenant project to install files into',
|
|
796
|
-
},
|
|
797
|
-
},
|
|
798
|
-
required: ['module_uuid', 'directory_uuid'],
|
|
799
|
-
},
|
|
800
|
-
},
|
|
801
665
|
// =============================================================================
|
|
802
666
|
// STATEMENT & FILE MANAGEMENT TOOLS
|
|
803
667
|
// =============================================================================
|
|
@@ -1270,6 +1134,67 @@ SECURITY: Code runs in a sandboxed environment with limited permissions.`,
|
|
|
1270
1134
|
required: ['file', 'method'],
|
|
1271
1135
|
},
|
|
1272
1136
|
},
|
|
1137
|
+
{
|
|
1138
|
+
name: 'get_capabilities',
|
|
1139
|
+
description: `List available system-level capabilities in the Stellify framework.
|
|
1140
|
+
|
|
1141
|
+
Returns what's currently available for:
|
|
1142
|
+
- Authentication (Sanctum, session, etc.)
|
|
1143
|
+
- File storage (local, S3, etc.)
|
|
1144
|
+
- Email/notifications
|
|
1145
|
+
- Queues/jobs
|
|
1146
|
+
- Caching
|
|
1147
|
+
- Other installed packages and services
|
|
1148
|
+
|
|
1149
|
+
Use this BEFORE attempting to build features that might require system capabilities.
|
|
1150
|
+
If a capability you need is not listed, use request_capability to log it.`,
|
|
1151
|
+
inputSchema: {
|
|
1152
|
+
type: 'object',
|
|
1153
|
+
properties: {},
|
|
1154
|
+
},
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
name: 'request_capability',
|
|
1158
|
+
description: `Log a missing system-level capability request.
|
|
1159
|
+
|
|
1160
|
+
Use this when you encounter a user requirement that needs framework-level functionality
|
|
1161
|
+
that doesn't exist in Stellify. This creates a ticket in the Stellify backlog.
|
|
1162
|
+
|
|
1163
|
+
DO NOT try to build system capabilities yourself - log them here instead.
|
|
1164
|
+
|
|
1165
|
+
Examples of capability requests:
|
|
1166
|
+
- "Need WebSocket support for real-time chat"
|
|
1167
|
+
- "Need S3 file upload with signed URLs"
|
|
1168
|
+
- "Need scheduled task runner for daily reports"
|
|
1169
|
+
- "Need OAuth2 social login (Google, GitHub)"`,
|
|
1170
|
+
inputSchema: {
|
|
1171
|
+
type: 'object',
|
|
1172
|
+
properties: {
|
|
1173
|
+
capability: {
|
|
1174
|
+
type: 'string',
|
|
1175
|
+
description: 'Short name for the capability (e.g., "websocket-support", "s3-uploads", "social-oauth")',
|
|
1176
|
+
},
|
|
1177
|
+
description: {
|
|
1178
|
+
type: 'string',
|
|
1179
|
+
description: 'Detailed description of what capability is needed',
|
|
1180
|
+
},
|
|
1181
|
+
use_case: {
|
|
1182
|
+
type: 'string',
|
|
1183
|
+
description: 'The user requirement that triggered this request',
|
|
1184
|
+
},
|
|
1185
|
+
workaround: {
|
|
1186
|
+
type: 'string',
|
|
1187
|
+
description: 'Any temporary workaround, or "blocked" if none exists',
|
|
1188
|
+
},
|
|
1189
|
+
priority: {
|
|
1190
|
+
type: 'string',
|
|
1191
|
+
enum: ['low', 'medium', 'high', 'critical'],
|
|
1192
|
+
description: 'Suggested priority based on user need (default: medium)',
|
|
1193
|
+
},
|
|
1194
|
+
},
|
|
1195
|
+
required: ['capability', 'description', 'use_case'],
|
|
1196
|
+
},
|
|
1197
|
+
},
|
|
1273
1198
|
];
|
|
1274
1199
|
// Server instructions for tool discovery (used by MCP Tool Search)
|
|
1275
1200
|
const SERVER_INSTRUCTIONS = `Stellify is a coding platform where you code alongside AI on a codebase maintained and curated by AI. Build Laravel/PHP and Vue.js applications.
|
|
@@ -1284,7 +1209,47 @@ Key concepts:
|
|
|
1284
1209
|
- Code is stored as structured JSON, enabling surgical AI edits at the statement level
|
|
1285
1210
|
- Files contain methods and statements (code outside methods)
|
|
1286
1211
|
- Vue components link to UI elements via the 'template' field
|
|
1287
|
-
- Event handlers (click, submit) wire UI elements to methods by UUID
|
|
1212
|
+
- Event handlers (click, submit) wire UI elements to methods by UUID
|
|
1213
|
+
|
|
1214
|
+
## Framework Capabilities (Libraries/Packages)
|
|
1215
|
+
|
|
1216
|
+
**CRITICAL: You write BUSINESS LOGIC only. Capabilities are installed packages/libraries (Sanctum, Stripe, AWS SDK, etc.) that Stellify provides. You CANNOT create these by writing code.**
|
|
1217
|
+
|
|
1218
|
+
Examples of capabilities (packages you cannot write):
|
|
1219
|
+
- Authentication: laravel/sanctum, laravel/socialite
|
|
1220
|
+
- Payments: stripe/stripe-php
|
|
1221
|
+
- Storage: aws/aws-sdk-php, league/flysystem-aws-s3-v3
|
|
1222
|
+
- Email: mailgun/mailgun-php, aws/aws-sdk-php (SES)
|
|
1223
|
+
- Search: meilisearch/meilisearch-php, algolia/algoliasearch-client-php
|
|
1224
|
+
- WebSocket: laravel/reverb
|
|
1225
|
+
|
|
1226
|
+
**WORKFLOW:**
|
|
1227
|
+
|
|
1228
|
+
1. When a user requests functionality that might need a package/library, call get_capabilities() FIRST.
|
|
1229
|
+
|
|
1230
|
+
2. If status is "available" → package is installed, proceed with business logic.
|
|
1231
|
+
|
|
1232
|
+
3. If status is "needs_config" → package installed but needs API keys. INFORM THE USER to configure it in Project Settings.
|
|
1233
|
+
|
|
1234
|
+
4. If status is "not_available" or doesn't exist:
|
|
1235
|
+
- STOP IMMEDIATELY
|
|
1236
|
+
- Call request_capability() to log it
|
|
1237
|
+
- INFORM THE USER: "This feature requires the [X] package which isn't installed in Stellify yet. I've logged a request. This cannot be built until the package is added."
|
|
1238
|
+
|
|
1239
|
+
**NEVER write code that belongs in a package.** If you find yourself writing OAuth flows, payment processing, S3 clients, email transport, search indexing, or similar infrastructure - STOP. That's a capability request, not business logic.
|
|
1240
|
+
|
|
1241
|
+
## Project Modules (Code Organization)
|
|
1242
|
+
|
|
1243
|
+
When building features, group related files by passing a "module" parameter.
|
|
1244
|
+
|
|
1245
|
+
**WORKFLOW:** Simply include the 'module' parameter when creating files or routes:
|
|
1246
|
+
|
|
1247
|
+
- create_file(..., module: "blog-posts") - auto-groups file
|
|
1248
|
+
- create_route(..., module: "blog-posts") - auto-groups route
|
|
1249
|
+
|
|
1250
|
+
Modules are auto-created if they don't exist. This helps users see all code related to a feature grouped together.
|
|
1251
|
+
|
|
1252
|
+
Example module names: "user-auth", "blog-posts", "product-catalog", "order-management", "admin-dashboard"`;
|
|
1288
1253
|
// Create MCP server
|
|
1289
1254
|
const server = new Server({
|
|
1290
1255
|
name: 'stellify-mcp',
|
|
@@ -1575,143 +1540,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1575
1540
|
],
|
|
1576
1541
|
};
|
|
1577
1542
|
}
|
|
1578
|
-
case 'list_globals': {
|
|
1579
|
-
const result = await stellify.listGlobals();
|
|
1580
|
-
return {
|
|
1581
|
-
content: [
|
|
1582
|
-
{
|
|
1583
|
-
type: 'text',
|
|
1584
|
-
text: JSON.stringify({
|
|
1585
|
-
success: true,
|
|
1586
|
-
message: `Found ${result.data?.length || 0} globals`,
|
|
1587
|
-
globals: result.data,
|
|
1588
|
-
}, null, 2),
|
|
1589
|
-
},
|
|
1590
|
-
],
|
|
1591
|
-
};
|
|
1592
|
-
}
|
|
1593
|
-
case 'get_global': {
|
|
1594
|
-
const { uuid } = args;
|
|
1595
|
-
const result = await stellify.getGlobal(uuid);
|
|
1596
|
-
return {
|
|
1597
|
-
content: [
|
|
1598
|
-
{
|
|
1599
|
-
type: 'text',
|
|
1600
|
-
text: JSON.stringify({
|
|
1601
|
-
success: true,
|
|
1602
|
-
global: result,
|
|
1603
|
-
}, null, 2),
|
|
1604
|
-
},
|
|
1605
|
-
],
|
|
1606
|
-
};
|
|
1607
|
-
}
|
|
1608
|
-
case 'install_global': {
|
|
1609
|
-
const result = await stellify.installGlobal(args);
|
|
1610
|
-
return {
|
|
1611
|
-
content: [
|
|
1612
|
-
{
|
|
1613
|
-
type: 'text',
|
|
1614
|
-
text: JSON.stringify({
|
|
1615
|
-
success: true,
|
|
1616
|
-
message: `Installed global "${result.data?.file_name}" (${result.data?.methods_copied} methods, ${result.data?.statements_copied} statements)`,
|
|
1617
|
-
data: result.data,
|
|
1618
|
-
}, null, 2),
|
|
1619
|
-
},
|
|
1620
|
-
],
|
|
1621
|
-
};
|
|
1622
|
-
}
|
|
1623
|
-
case 'search_global_methods': {
|
|
1624
|
-
const result = await stellify.searchGlobalMethods(args);
|
|
1625
|
-
return {
|
|
1626
|
-
content: [
|
|
1627
|
-
{
|
|
1628
|
-
type: 'text',
|
|
1629
|
-
text: JSON.stringify({
|
|
1630
|
-
success: true,
|
|
1631
|
-
message: `Found ${result.data?.length || 0} global methods`,
|
|
1632
|
-
methods: result.data,
|
|
1633
|
-
}, null, 2),
|
|
1634
|
-
},
|
|
1635
|
-
],
|
|
1636
|
-
};
|
|
1637
|
-
}
|
|
1638
|
-
// Module handlers
|
|
1639
|
-
case 'list_modules': {
|
|
1640
|
-
const result = await stellify.listModules();
|
|
1641
|
-
return {
|
|
1642
|
-
content: [
|
|
1643
|
-
{
|
|
1644
|
-
type: 'text',
|
|
1645
|
-
text: JSON.stringify({
|
|
1646
|
-
success: true,
|
|
1647
|
-
message: `Found ${result.data?.length || 0} modules`,
|
|
1648
|
-
modules: result.data,
|
|
1649
|
-
}, null, 2),
|
|
1650
|
-
},
|
|
1651
|
-
],
|
|
1652
|
-
};
|
|
1653
|
-
}
|
|
1654
|
-
case 'get_module': {
|
|
1655
|
-
const { uuid } = args;
|
|
1656
|
-
const result = await stellify.getModule(uuid);
|
|
1657
|
-
return {
|
|
1658
|
-
content: [
|
|
1659
|
-
{
|
|
1660
|
-
type: 'text',
|
|
1661
|
-
text: JSON.stringify({
|
|
1662
|
-
success: true,
|
|
1663
|
-
module: result.module,
|
|
1664
|
-
files: result.files,
|
|
1665
|
-
}, null, 2),
|
|
1666
|
-
},
|
|
1667
|
-
],
|
|
1668
|
-
};
|
|
1669
|
-
}
|
|
1670
|
-
case 'create_module': {
|
|
1671
|
-
const result = await stellify.createModule(args);
|
|
1672
|
-
return {
|
|
1673
|
-
content: [
|
|
1674
|
-
{
|
|
1675
|
-
type: 'text',
|
|
1676
|
-
text: JSON.stringify({
|
|
1677
|
-
success: true,
|
|
1678
|
-
message: `Created module "${result.data?.name}"`,
|
|
1679
|
-
data: result.data,
|
|
1680
|
-
}, null, 2),
|
|
1681
|
-
},
|
|
1682
|
-
],
|
|
1683
|
-
};
|
|
1684
|
-
}
|
|
1685
|
-
case 'add_file_to_module': {
|
|
1686
|
-
const result = await stellify.addFileToModule(args);
|
|
1687
|
-
return {
|
|
1688
|
-
content: [
|
|
1689
|
-
{
|
|
1690
|
-
type: 'text',
|
|
1691
|
-
text: JSON.stringify({
|
|
1692
|
-
success: true,
|
|
1693
|
-
message: `Added "${result.data?.file_name}" to module (order: ${result.data?.order})`,
|
|
1694
|
-
data: result.data,
|
|
1695
|
-
}, null, 2),
|
|
1696
|
-
},
|
|
1697
|
-
],
|
|
1698
|
-
};
|
|
1699
|
-
}
|
|
1700
|
-
case 'install_module': {
|
|
1701
|
-
const result = await stellify.installModule(args);
|
|
1702
|
-
return {
|
|
1703
|
-
content: [
|
|
1704
|
-
{
|
|
1705
|
-
type: 'text',
|
|
1706
|
-
text: JSON.stringify({
|
|
1707
|
-
success: true,
|
|
1708
|
-
message: `Installed module "${result.data?.module_name}" (${result.data?.files_installed} files, ${result.data?.methods_copied} methods, ${result.data?.statements_copied} statements)`,
|
|
1709
|
-
data: result.data,
|
|
1710
|
-
}, null, 2),
|
|
1711
|
-
},
|
|
1712
|
-
],
|
|
1713
|
-
};
|
|
1714
|
-
}
|
|
1715
1543
|
// Statement & File Management handlers
|
|
1716
1544
|
case 'get_statement': {
|
|
1717
1545
|
const result = await stellify.getStatement(args.uuid);
|
|
@@ -1915,6 +1743,37 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1915
1743
|
],
|
|
1916
1744
|
};
|
|
1917
1745
|
}
|
|
1746
|
+
case 'get_capabilities': {
|
|
1747
|
+
const result = await stellify.getCapabilities();
|
|
1748
|
+
return {
|
|
1749
|
+
content: [
|
|
1750
|
+
{
|
|
1751
|
+
type: 'text',
|
|
1752
|
+
text: JSON.stringify({
|
|
1753
|
+
success: true,
|
|
1754
|
+
message: 'Available framework capabilities',
|
|
1755
|
+
capabilities: result.data || result,
|
|
1756
|
+
}, null, 2),
|
|
1757
|
+
},
|
|
1758
|
+
],
|
|
1759
|
+
};
|
|
1760
|
+
}
|
|
1761
|
+
case 'request_capability': {
|
|
1762
|
+
const result = await stellify.requestCapability(args);
|
|
1763
|
+
return {
|
|
1764
|
+
content: [
|
|
1765
|
+
{
|
|
1766
|
+
type: 'text',
|
|
1767
|
+
text: JSON.stringify({
|
|
1768
|
+
success: true,
|
|
1769
|
+
message: `Capability request logged: "${args.capability}"`,
|
|
1770
|
+
request_id: result.data?.uuid || result.uuid,
|
|
1771
|
+
data: result.data || result,
|
|
1772
|
+
}, null, 2),
|
|
1773
|
+
},
|
|
1774
|
+
],
|
|
1775
|
+
};
|
|
1776
|
+
}
|
|
1918
1777
|
default:
|
|
1919
1778
|
throw new Error(`Unknown tool: ${name}`);
|
|
1920
1779
|
}
|
|
@@ -105,34 +105,6 @@ export declare class StellifyClient {
|
|
|
105
105
|
selection?: string;
|
|
106
106
|
test?: boolean;
|
|
107
107
|
}): Promise<any>;
|
|
108
|
-
listGlobals(): Promise<any>;
|
|
109
|
-
getGlobal(uuid: string): Promise<any>;
|
|
110
|
-
installGlobal(params: {
|
|
111
|
-
file_uuid: string;
|
|
112
|
-
directory_uuid: string;
|
|
113
|
-
}): Promise<any>;
|
|
114
|
-
searchGlobalMethods(params: {
|
|
115
|
-
query: string;
|
|
116
|
-
}): Promise<any>;
|
|
117
|
-
listModules(): Promise<any>;
|
|
118
|
-
getModule(module: string): Promise<any>;
|
|
119
|
-
createModule(params: {
|
|
120
|
-
name: string;
|
|
121
|
-
description?: string;
|
|
122
|
-
version?: string;
|
|
123
|
-
tags?: string[];
|
|
124
|
-
}): Promise<any>;
|
|
125
|
-
addFileToModule(params: {
|
|
126
|
-
module: string;
|
|
127
|
-
file: string;
|
|
128
|
-
order?: number;
|
|
129
|
-
}): Promise<any>;
|
|
130
|
-
removeFileFromModule(module: string, file: string): Promise<any>;
|
|
131
|
-
installModule(params: {
|
|
132
|
-
module: string;
|
|
133
|
-
directory: string;
|
|
134
|
-
}): Promise<any>;
|
|
135
|
-
deleteModule(uuid: string): Promise<any>;
|
|
136
108
|
getDirectory(uuid: string): Promise<any>;
|
|
137
109
|
createDirectory(params: {
|
|
138
110
|
name: string;
|
|
@@ -178,4 +150,12 @@ export declare class StellifyClient {
|
|
|
178
150
|
timeout?: number;
|
|
179
151
|
benchmark?: boolean;
|
|
180
152
|
}): Promise<any>;
|
|
153
|
+
getCapabilities(): Promise<any>;
|
|
154
|
+
requestCapability(params: {
|
|
155
|
+
capability: string;
|
|
156
|
+
description: string;
|
|
157
|
+
use_case: string;
|
|
158
|
+
workaround?: string;
|
|
159
|
+
priority?: 'low' | 'medium' | 'high' | 'critical';
|
|
160
|
+
}): Promise<any>;
|
|
181
161
|
}
|
package/dist/stellify-client.js
CHANGED
|
@@ -103,52 +103,6 @@ export class StellifyClient {
|
|
|
103
103
|
const response = await this.client.post('/html/elements', params);
|
|
104
104
|
return response.data;
|
|
105
105
|
}
|
|
106
|
-
// Global methods (Application DB)
|
|
107
|
-
async listGlobals() {
|
|
108
|
-
const response = await this.client.get('/globals/');
|
|
109
|
-
return response.data;
|
|
110
|
-
}
|
|
111
|
-
async getGlobal(uuid) {
|
|
112
|
-
const response = await this.client.get(`/globals/file/${uuid}`);
|
|
113
|
-
return response.data;
|
|
114
|
-
}
|
|
115
|
-
async installGlobal(params) {
|
|
116
|
-
const response = await this.client.post('/globals/install', params);
|
|
117
|
-
return response.data;
|
|
118
|
-
}
|
|
119
|
-
async searchGlobalMethods(params) {
|
|
120
|
-
const response = await this.client.post('/method/search-global', params);
|
|
121
|
-
return response.data;
|
|
122
|
-
}
|
|
123
|
-
// Module methods (groups of globals)
|
|
124
|
-
async listModules() {
|
|
125
|
-
const response = await this.client.get('/modules/');
|
|
126
|
-
return response.data;
|
|
127
|
-
}
|
|
128
|
-
async getModule(module) {
|
|
129
|
-
const response = await this.client.get(`/modules/${module}`);
|
|
130
|
-
return response.data;
|
|
131
|
-
}
|
|
132
|
-
async createModule(params) {
|
|
133
|
-
const response = await this.client.post('/modules/', params);
|
|
134
|
-
return response.data;
|
|
135
|
-
}
|
|
136
|
-
async addFileToModule(params) {
|
|
137
|
-
const response = await this.client.post('/modules/add-file', params);
|
|
138
|
-
return response.data;
|
|
139
|
-
}
|
|
140
|
-
async removeFileFromModule(module, file) {
|
|
141
|
-
const response = await this.client.delete(`/modules/${module}/file/${file}`);
|
|
142
|
-
return response.data;
|
|
143
|
-
}
|
|
144
|
-
async installModule(params) {
|
|
145
|
-
const response = await this.client.post('/modules/install', params);
|
|
146
|
-
return response.data;
|
|
147
|
-
}
|
|
148
|
-
async deleteModule(uuid) {
|
|
149
|
-
const response = await this.client.delete(`/modules/${module}`);
|
|
150
|
-
return response.data;
|
|
151
|
-
}
|
|
152
106
|
// Directory methods
|
|
153
107
|
async getDirectory(uuid) {
|
|
154
108
|
const response = await this.client.get(`/directory/${uuid}`);
|
|
@@ -186,4 +140,14 @@ export class StellifyClient {
|
|
|
186
140
|
const response = await this.client.put(`/code/${file}/${method}`, body);
|
|
187
141
|
return response.data;
|
|
188
142
|
}
|
|
143
|
+
// Framework capabilities - list what's available
|
|
144
|
+
async getCapabilities() {
|
|
145
|
+
const response = await this.client.get('/capabilities');
|
|
146
|
+
return response.data;
|
|
147
|
+
}
|
|
148
|
+
// Request a missing capability - logs to backlog
|
|
149
|
+
async requestCapability(params) {
|
|
150
|
+
const response = await this.client.post('/capabilities/request', params);
|
|
151
|
+
return response.data;
|
|
152
|
+
}
|
|
189
153
|
}
|
package/package.json
CHANGED