@enfyra/mcp-server 0.1.43 → 0.1.45
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/lib/mcp-instructions.js +1 -1
- package/dist/lib/mcp-instructions.js.map +1 -1
- package/dist/lib/platform-operation-tools.d.ts +63 -0
- package/dist/lib/platform-operation-tools.js +530 -2
- package/dist/lib/platform-operation-tools.js.map +1 -1
- package/dist/lib/required-knowledge.js +2 -1
- package/dist/lib/required-knowledge.js.map +1 -1
- package/dist/lib/tool-routing.js +2 -2
- package/dist/lib/tool-routing.js.map +1 -1
- package/dist/lib/toolset-filter.js +10 -0
- package/dist/lib/toolset-filter.js.map +1 -1
- package/package.json +1 -1
|
@@ -22,7 +22,7 @@ export function buildMcpServerInstructions(apiBaseUrl, options = {}) {
|
|
|
22
22
|
'- For target sanity checks, call `get_enfyra_api_context`; do not load broad metadata only to confirm the API base.',
|
|
23
23
|
'- When the goal is clear but the tool path is not, call `discover_enfyra_workflows` with intent/risk/surface. Use `detail: "plan"` before writes, follow `primaryPath`, and treat `avoidTools` as hard negative-routing boundaries.',
|
|
24
24
|
'- Discover before deciding, then inspect narrowly. Use `inspect_table`, `inspect_route`, `inspect_feature`, `search_admin_extensions`, or `search_runtime_zone` for the exact table/route/feature/runtime artifact. Run broad discovery tools sequentially, not in parallel.',
|
|
25
|
-
'- Load examples only when needed with `get_enfyra_examples`. For OAuth use `get_enfyra_examples({ category: "oauth-setup" })`. For extension UI, call `get_extension_theme_contract` before writing or reviewing UI, use `
|
|
25
|
+
'- Load examples only when needed with `get_enfyra_examples`. For OAuth use `get_enfyra_examples({ category: "oauth-setup" })`. For extension UI, call `get_extension_theme_contract` before writing or reviewing UI, use `build_extension_*` tools for high-contract components such as drawers, modals, page shell headers/actions, permission gates, empty states, resource lists, FormEditor, Widget, menu/account panel registries, tabs, and upload modals, and call `get_theme_class_reference` only when exact classes are needed.',
|
|
26
26
|
'- Prefer the most specific business operation tool over raw metadata CRUD.',
|
|
27
27
|
'- Before any write, call `get_enfyra_required_knowledge({ scope })` with the right scope and pass returned ack keys into write tools. Choose scope by task domain:',
|
|
28
28
|
' • `schema` — table, column, relation, record CRUD, route permission, guard, field permission, column rule, cache reload, GraphQL enablement, log debug.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-instructions.js","sourceRoot":"","sources":["../../src/lib/mcp-instructions.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,UAAU;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO;QACL,cAAc,EAAE,GAAG,IAAI,UAAU;QACjC,gBAAgB,EAAE,GAAG,IAAI,iBAAiB;KAC3C,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,0BAA0B,CAAC,UAAU,EAAE,UAAiC,EAAE;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IAEvD,OAAO;QACL,eAAe;QACf,EAAE;QACF,gCAAgC,IAAI,KAAK;QACzC,wBAAwB,cAAc,YAAY,gBAAgB,KAAK;QACvE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,EAAE;QACF,qBAAqB;QACrB,qJAAqJ;QACrJ,qHAAqH;QACrH,qOAAqO;QACrO,8QAA8Q;QAC9Q
|
|
1
|
+
{"version":3,"file":"mcp-instructions.js","sourceRoot":"","sources":["../../src/lib/mcp-instructions.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,UAAU;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,OAAO;QACL,cAAc,EAAE,GAAG,IAAI,UAAU;QACjC,gBAAgB,EAAE,GAAG,IAAI,iBAAiB;KAC3C,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,0BAA0B,CAAC,UAAU,EAAE,UAAiC,EAAE;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;IAEvD,OAAO;QACL,eAAe;QACf,EAAE;QACF,gCAAgC,IAAI,KAAK;QACzC,wBAAwB,cAAc,YAAY,gBAAgB,KAAK;QACvE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,EAAE;QACF,qBAAqB;QACrB,qJAAqJ;QACrJ,qHAAqH;QACrH,qOAAqO;QACrO,8QAA8Q;QAC9Q,2gBAA2gB;QAC3gB,4EAA4E;QAC5E,oKAAoK;QACpK,2JAA2J;QAC3J,uJAAuJ;QACvJ,8IAA8I;QAC9I,yDAAyD;QACzD,4EAA4E;QAC5E,sMAAsM;QACtM,mLAAmL;QACnL,8LAA8L;QAC9L,EAAE;QACF,0BAA0B;QAC1B,uHAAuH;QACvH,sLAAsL;QACtL,gLAAgL;QAChL,iLAAiL;QACjL,yLAAyL;QACzL,kKAAkK;QAClK,0HAA0H;QAC1H,4LAA4L;QAC5L,EAAE;QACF,+BAA+B;QAC/B,4HAA4H;QAC5H,4GAA4G;QAC5G,mIAAmI;QACnI,kJAAkJ;QAClJ,oNAAoN;QACpN,iKAAiK;QACjK,gIAAgI;QAChI,EAAE;QACF,+BAA+B;QAC/B,iIAAiI;QACjI,uJAAuJ;QACvJ,yOAAyO;QACzO,+JAA+J;QAC/J,iMAAiM;QACjM,wSAAwS;QACxS,qLAAqL;QACrL,kPAAkP;QAClP,+PAA+P;QAC/P,EAAE;QACF,4BAA4B;QAC5B,0MAA0M;QAC1M,oHAAoH;QACpH,kIAAkI;QAClI,8MAA8M;QAC9M,kNAAkN;QAClN,wLAAwL;QACxL,EAAE;QACF,uIAAuI;KACxI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -14,6 +14,67 @@ export declare function buildExtensionModalSnippet(input: any): {
|
|
|
14
14
|
warnings: string[];
|
|
15
15
|
contract: string[];
|
|
16
16
|
};
|
|
17
|
+
export declare function buildExtensionPageShellSnippet(input: any): {
|
|
18
|
+
action: string;
|
|
19
|
+
snippet: string;
|
|
20
|
+
contract: string[];
|
|
21
|
+
};
|
|
22
|
+
export declare function buildExtensionPermissionGateSnippet(input: any): {
|
|
23
|
+
action: string;
|
|
24
|
+
component: string;
|
|
25
|
+
snippet: string;
|
|
26
|
+
normalizedBodyChanges: string[];
|
|
27
|
+
warnings: string[];
|
|
28
|
+
contract: string[];
|
|
29
|
+
};
|
|
30
|
+
export declare function buildExtensionEmptyStateSnippet(input: any): {
|
|
31
|
+
action: string;
|
|
32
|
+
component: string;
|
|
33
|
+
snippet: string;
|
|
34
|
+
contract: string[];
|
|
35
|
+
};
|
|
36
|
+
export declare function buildExtensionResourceListSnippet(input: any): {
|
|
37
|
+
action: string;
|
|
38
|
+
components: string[];
|
|
39
|
+
snippet: string;
|
|
40
|
+
contract: string[];
|
|
41
|
+
};
|
|
42
|
+
export declare function buildExtensionFormEditorSnippet(input: any): {
|
|
43
|
+
action: string;
|
|
44
|
+
component: string;
|
|
45
|
+
snippet: string;
|
|
46
|
+
contract: string[];
|
|
47
|
+
};
|
|
48
|
+
export declare function buildExtensionWidgetSnippet(input: any): {
|
|
49
|
+
action: string;
|
|
50
|
+
component: string;
|
|
51
|
+
snippet: string;
|
|
52
|
+
warnings: string[];
|
|
53
|
+
contract: string[];
|
|
54
|
+
};
|
|
55
|
+
export declare function buildExtensionMenuNotificationSnippet(input: any): {
|
|
56
|
+
action: string;
|
|
57
|
+
snippet: string;
|
|
58
|
+
contract: string[];
|
|
59
|
+
};
|
|
60
|
+
export declare function buildExtensionAccountPanelSnippet(input: any): {
|
|
61
|
+
action: string;
|
|
62
|
+
snippet: string;
|
|
63
|
+
contract: string[];
|
|
64
|
+
};
|
|
65
|
+
export declare function buildExtensionTabsSnippet(input: any): {
|
|
66
|
+
action: string;
|
|
67
|
+
component: string;
|
|
68
|
+
snippet: string;
|
|
69
|
+
contract: string[];
|
|
70
|
+
};
|
|
71
|
+
export declare function buildExtensionUploadModalSnippet(input: any): {
|
|
72
|
+
action: string;
|
|
73
|
+
component: string;
|
|
74
|
+
snippet: string;
|
|
75
|
+
companionSnippet: string;
|
|
76
|
+
contract: string[];
|
|
77
|
+
};
|
|
17
78
|
export declare function reviewExtensionUiContract(code: any): {
|
|
18
79
|
action: string;
|
|
19
80
|
valid: boolean;
|
|
@@ -28,11 +89,13 @@ export declare function reviewExtensionUiContract(code: any): {
|
|
|
28
89
|
};
|
|
29
90
|
export declare function validateExtensionCodeLocally(code: any): {
|
|
30
91
|
componentCasing: string;
|
|
92
|
+
fieldWidth: string;
|
|
31
93
|
};
|
|
32
94
|
export declare function validateExtensionCode(apiUrl: any, code: any, name: any): Promise<{
|
|
33
95
|
valid: boolean;
|
|
34
96
|
localChecks: {
|
|
35
97
|
componentCasing: string;
|
|
98
|
+
fieldWidth: string;
|
|
36
99
|
};
|
|
37
100
|
extensionId: any;
|
|
38
101
|
compiledLength: any;
|