@enfyra/mcp-server 0.1.46 → 0.1.48

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.
@@ -2183,8 +2183,8 @@ onMounted(() => fetchOrders())
2183
2183
  </CommonModal>
2184
2184
  </template>`,
2185
2185
  notes: [
2186
- 'Use build_extension_modal or build_extension_drawer to generate this shape instead of hand-writing the component contract.',
2187
- 'Use review_extension_ui_contract before saving snippets with modals, drawers, fields, or native buttons.',
2186
+ 'Use build_extension_ui with kind=modal or kind=drawer to generate this shape after extension acknowledgement instead of hand-writing the component contract.',
2187
+ 'Use build_extension_ui kind=review before saving snippets with modals, drawers, fields, or native buttons.',
2188
2188
  'Extension validation rejects common field controls without class="w-full" unless marked data-compact or data-inline.',
2189
2189
  ],
2190
2190
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-examples.js","sourceRoot":"","sources":["../../src/lib/mcp-examples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-examples.js","sourceRoot":"","sources":["../../src/lib/mcp-examples.ts"],"names":[],"mappings":"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"}
@@ -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 `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.',
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_ui` after the extension acknowledgement for high-contract components and theme decisions such as drawers, modals, page shell headers/actions, permission gates, empty states, resource lists, FormEditor, Widget, menu/account panel registries, tabs, upload modals, theme classes/review, and full review, 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,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"}
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,imBAAimB;QACjmB,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"}
@@ -1,3 +1,4 @@
1
+ type AnyRecord = Record<string, any>;
1
2
  export declare function buildExtensionDrawerSnippet(input: any): {
2
3
  action: string;
3
4
  component: string;
@@ -87,15 +88,30 @@ export declare function reviewExtensionUiContract(code: any): {
87
88
  }[];
88
89
  nextSteps: string[];
89
90
  };
91
+ export declare function reviewExtensionThemeContract(code: any): {
92
+ action: string;
93
+ valid: boolean;
94
+ issueCount: number;
95
+ issues: {
96
+ severity: "error" | "warning";
97
+ rule: string;
98
+ message: string;
99
+ suggestion: string;
100
+ }[];
101
+ nextSteps: string[];
102
+ };
103
+ export declare function buildExtensionUiSnippet(kind: string, input?: AnyRecord): any;
90
104
  export declare function validateExtensionCodeLocally(code: any): {
91
105
  componentCasing: string;
92
106
  fieldWidth: string;
107
+ themeContract: string;
93
108
  };
94
109
  export declare function validateExtensionCode(apiUrl: any, code: any, name: any): Promise<{
95
110
  valid: boolean;
96
111
  localChecks: {
97
112
  componentCasing: string;
98
113
  fieldWidth: string;
114
+ themeContract: string;
99
115
  };
100
116
  extensionId: any;
101
117
  compiledLength: any;
@@ -111,3 +127,4 @@ export declare function applyExtensionCodePatches(code: any, patches: any): {
111
127
  results: any[];
112
128
  };
113
129
  export declare function registerPlatformOperationTools(server: any, ENFYRA_API_URL: any): void;
130
+ export {};
@@ -877,10 +877,249 @@ export function reviewExtensionUiContract(code) {
877
877
  issueCount: issues.length,
878
878
  issues,
879
879
  nextSteps: issues.length
880
- ? ['Use build_extension_drawer or build_extension_modal for replacement snippets, then apply with patch_extension_code/update_extension_code.']
880
+ ? ['Use build_extension_ui with kind=drawer or kind=modal for replacement snippets, then apply with patch_extension_code/update_extension_code.']
881
881
  : ['Snippet matches the checked modal/drawer contract rules. Still validate the final SFC before saving.'],
882
882
  };
883
883
  }
884
+ const THEME_CLASS_INTENTS = {
885
+ neutral_surface: {
886
+ classes: 'eapp-surface-card eapp-radius-panel border eapp-divider',
887
+ use: 'Ordinary cards, panels, KPI containers, list containers, detail blocks, and status blocks that should stay neutral.',
888
+ },
889
+ muted_surface: {
890
+ classes: 'eapp-surface-muted eapp-radius-panel',
891
+ use: 'Recessed areas, tracks, secondary panels, or subdued containers.',
892
+ },
893
+ flat_surface: {
894
+ classes: 'eapp-surface-flat',
895
+ use: 'Flush content areas that should follow the app surface without card chrome.',
896
+ },
897
+ hover_row: {
898
+ classes: 'eapp-surface-hover eapp-divider',
899
+ use: 'Clickable rows inside lists or tables.',
900
+ },
901
+ primary_identity: {
902
+ classes: 'eapp-primary-surface eapp-radius-panel border',
903
+ use: 'A selected/current entity, active plan, active package, or the single larger block representing current identity.',
904
+ },
905
+ primary_soft_icon_tile: {
906
+ classes: 'eapp-primary-soft eapp-icon-tile',
907
+ childClasses: 'eapp-primary-text',
908
+ use: 'Compact runtime-primary icon tiles, selected chips, and small identity accents.',
909
+ },
910
+ primary_progress: {
911
+ trackClasses: 'eapp-surface-muted eapp-radius-pill',
912
+ fillClasses: 'eapp-primary-solid',
913
+ use: 'Progress or meter fill controlled by the runtime primary color.',
914
+ },
915
+ status_success: {
916
+ classes: 'eapp-status-success-soft eapp-status-success-text eapp-status-success-border',
917
+ nuxtUi: { color: 'success', variant: 'soft' },
918
+ use: 'Small success/healthy badges, chips, or icons only.',
919
+ },
920
+ status_warning: {
921
+ classes: 'eapp-status-warning-soft eapp-status-warning-text eapp-status-warning-border',
922
+ nuxtUi: { color: 'warning', variant: 'soft' },
923
+ use: 'Small warning/attention badges, chips, or icons only.',
924
+ },
925
+ status_danger: {
926
+ classes: 'eapp-status-danger-soft eapp-status-danger-text eapp-status-danger-border',
927
+ nuxtUi: { color: 'error', variant: 'soft' },
928
+ use: 'Small danger/error/destructive badges, chips, or icons only.',
929
+ },
930
+ status_info: {
931
+ classes: 'eapp-status-info-soft eapp-status-info-text eapp-status-info-border',
932
+ nuxtUi: { color: 'info', variant: 'soft' },
933
+ use: 'Small informational badges, chips, or icons only.',
934
+ },
935
+ primary_action: {
936
+ nuxtUi: { color: 'primary', variant: 'solid' },
937
+ use: 'The single main action for the current scope.',
938
+ },
939
+ secondary_action: {
940
+ nuxtUi: { color: 'neutral', variant: 'outline' },
941
+ use: 'Visible secondary actions, refresh, filters, cancel, and navigation alternatives.',
942
+ },
943
+ ghost_navigation_action: {
944
+ nuxtUi: { color: 'neutral', variant: 'ghost' },
945
+ use: 'Back/navigation/icon actions that should not compete with the primary action.',
946
+ },
947
+ danger_action: {
948
+ nuxtUi: { color: 'error', variant: 'solid' },
949
+ use: 'Final destructive actions such as Delete or Remove.',
950
+ },
951
+ divider: {
952
+ classes: 'eapp-divider',
953
+ listClasses: 'eapp-divide-y',
954
+ use: 'Borders and row separators in extension UI.',
955
+ },
956
+ text: {
957
+ primary: 'eapp-text-primary',
958
+ secondary: 'eapp-text-secondary',
959
+ tertiary: 'eapp-text-tertiary',
960
+ quaternary: 'eapp-text-quaternary',
961
+ use: 'Copy hierarchy in extension UI.',
962
+ },
963
+ };
964
+ function buildExtensionThemeClasses(input = {}) {
965
+ const intent = String(input.intent || '').trim();
966
+ if (!intent || !(intent in THEME_CLASS_INTENTS)) {
967
+ return {
968
+ action: 'extension_theme_classes_listed',
969
+ validIntents: Object.keys(THEME_CLASS_INTENTS),
970
+ note: 'Call again with one intent to get the exact classes/props for that theme contract.',
971
+ };
972
+ }
973
+ const contract = THEME_CLASS_INTENTS[intent];
974
+ return {
975
+ action: 'extension_theme_classes_built',
976
+ intent,
977
+ contract,
978
+ hardRules: [
979
+ 'Do not use raw CSS variable utilities such as text-[var(...)], bg-[var(...)], or border-[var(...)] in extension templates.',
980
+ 'Do not use hardcoded Tailwind palettes such as bg-violet-*, text-cyan-*, bg-green-*, dark:bg-zinc-*, or hex/rgb/hsl colors.',
981
+ 'Use status classes only for compact badges/icons/short text; keep large panels neutral.',
982
+ ],
983
+ };
984
+ }
985
+ function collectExtensionThemeIssues(code) {
986
+ const source = String(code || '');
987
+ const issues = [];
988
+ const push = (severity, rule, message, suggestion) => issues.push({ severity, rule, message, suggestion });
989
+ const concretePalettes = [
990
+ 'slate', 'gray', 'zinc', 'neutral', 'stone',
991
+ 'red', 'orange', 'amber', 'yellow', 'lime', 'green', 'emerald', 'teal', 'cyan', 'sky', 'blue', 'indigo',
992
+ 'violet', 'purple', 'fuchsia', 'pink', 'rose',
993
+ ].join('|');
994
+ const paletteClassPattern = new RegExp(`(?:^|[\\s"'])(?:dark:)?(?:bg|text|border|ring|divide|from|via|to)-(${concretePalettes})-(?:\\d{2,3}|950)(?:\\/\\d+)?`, 'i');
995
+ const rawCssVarPattern = /\b(?:bg|text|border|ring|divide|from|via|to)-\[\s*var\(--/i;
996
+ const neutralSemanticClassPattern = /\b(?:bg-default|bg-muted|border-default|divide-default|text-muted|text-dimmed)\b/;
997
+ const concreteNuxtUiColors = [
998
+ 'slate', 'gray', 'zinc', 'stone',
999
+ 'red', 'orange', 'amber', 'yellow', 'lime', 'green', 'emerald', 'teal', 'cyan', 'sky', 'blue', 'indigo',
1000
+ 'violet', 'purple', 'fuchsia', 'pink', 'rose',
1001
+ ].join('|');
1002
+ const concreteNuxtColorPattern = new RegExp(`\\bcolor\\s*=\\s*["'](${concreteNuxtUiColors})["']`, 'i');
1003
+ if (rawCssVarPattern.test(source)) {
1004
+ push('error', 'raw-css-var-utility', 'Raw CSS variable utility classes are not allowed in generated extension templates.', 'Use eapp-* class tokens or Nuxt UI semantic color props by intent.');
1005
+ }
1006
+ if (paletteClassPattern.test(source)) {
1007
+ push('error', 'hardcoded-tailwind-palette', 'Hardcoded Tailwind palette classes are not allowed in themeable extension UI.', 'Use eapp-surface-*, eapp-primary-*, eapp-status-*, or Nuxt UI semantic colors.');
1008
+ }
1009
+ if (neutralSemanticClassPattern.test(source)) {
1010
+ push('error', 'nuxt-neutral-class', 'Nuxt UI neutral shortcut classes are not part of the extension theme contract.', 'Use eapp-surface-* and eapp-text-* classes instead.');
1011
+ }
1012
+ if (concreteNuxtColorPattern.test(source)) {
1013
+ push('error', 'concrete-nuxt-color', 'Concrete Nuxt UI palette colors are not allowed in generated extension UI.', 'Use color="primary|neutral|success|warning|error|info" by semantic intent.');
1014
+ }
1015
+ if (/#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})\b/i.test(source) || /\b(?:rgba?|hsla?|oklch|lab|lch)\s*\(/i.test(source)) {
1016
+ push('error', 'hardcoded-color-value', 'Hardcoded color values are not allowed in extension UI.', 'Use the Enfyra theme class contract instead of hex/rgb/hsl/oklch/lab/lch values.');
1017
+ }
1018
+ if (/\bstyle\s*=\s*["'][^"']*(?:color|background(?:-color)?|border-color)\s*:/i.test(source)) {
1019
+ push('error', 'inline-color-style', 'Inline color styles bypass the app theme contract.', 'Use eapp-* classes or Nuxt UI semantic props instead of inline color/background/border-color.');
1020
+ }
1021
+ if (/\bgradient\s*:\s*['"](?!none['"])[^'"]+['"]/.test(source) || /\bgradient\s*=\s*['"](?!none['"])[^'"]+['"]/.test(source)) {
1022
+ push('error', 'page-header-gradient', 'Generated operational extension pages must use PageHeader gradient "none" unless the user explicitly requests decoration.', 'Set gradient: "none" in usePageHeaderRegistry or omit decorative gradients.');
1023
+ }
1024
+ if (/<(?:article|section|div)\b[^>]*class=["'][^"']*(?:eapp-status-(?:success|warning|danger|info)-soft|bg-(?:success|warning|error|info)(?:\b|\/))/i.test(source)) {
1025
+ push('warning', 'large-status-surface', 'Status color appears on a large container.', 'Keep large panels neutral and put status color on a compact UBadge/icon/short text inside.');
1026
+ }
1027
+ const primaryActionCount = (source.match(/\bcolor\s*=\s*["']primary["']/g) || []).length;
1028
+ if (primaryActionCount > 2) {
1029
+ push('warning', 'primary-overuse', 'Many primary-colored controls were found.', 'Use primary only for the main action or identity accent; use neutral variants for secondary actions.');
1030
+ }
1031
+ const primarySurfaceCount = (source.match(/\beapp-primary-surface\b/g) || []).length;
1032
+ if (primarySurfaceCount > 3) {
1033
+ push('warning', 'primary-surface-overuse', 'eapp-primary-surface appears many times.', 'Use eapp-primary-surface only for selected/current identity blocks, not every card in a list/grid.');
1034
+ }
1035
+ if (/<(?:article|section|div)\b[^>]*class=["'][^"']*\bborder\b(?![^"']*\beapp-divider\b)/i.test(source)) {
1036
+ push('warning', 'bare-border-token', 'A bordered panel is missing eapp-divider.', 'Pair intentional borders with eapp-divider so borders follow the app theme contract.');
1037
+ }
1038
+ return issues;
1039
+ }
1040
+ export function reviewExtensionThemeContract(code) {
1041
+ const issues = collectExtensionThemeIssues(code);
1042
+ return {
1043
+ action: 'extension_theme_contract_reviewed',
1044
+ valid: issues.every((issue) => issue.severity !== 'error'),
1045
+ issueCount: issues.length,
1046
+ issues,
1047
+ nextSteps: issues.length
1048
+ ? ['Use build_extension_ui kind=theme_classes to choose classes/props by intent, then patch/update the extension.']
1049
+ : ['Snippet matches the checked theme contract rules. Still validate the final SFC before saving.'],
1050
+ };
1051
+ }
1052
+ export function buildExtensionUiSnippet(kind, input = {}) {
1053
+ let result;
1054
+ switch (kind) {
1055
+ case 'drawer':
1056
+ result = buildExtensionDrawerSnippet(input);
1057
+ break;
1058
+ case 'modal':
1059
+ result = buildExtensionModalSnippet(input);
1060
+ break;
1061
+ case 'page_shell':
1062
+ result = buildExtensionPageShellSnippet(input);
1063
+ break;
1064
+ case 'permission_gate':
1065
+ result = buildExtensionPermissionGateSnippet(input);
1066
+ break;
1067
+ case 'empty_state':
1068
+ result = buildExtensionEmptyStateSnippet(input);
1069
+ break;
1070
+ case 'resource_list':
1071
+ result = buildExtensionResourceListSnippet(input);
1072
+ break;
1073
+ case 'form_editor':
1074
+ result = buildExtensionFormEditorSnippet(input);
1075
+ break;
1076
+ case 'widget':
1077
+ result = buildExtensionWidgetSnippet(input);
1078
+ break;
1079
+ case 'menu_notification':
1080
+ result = buildExtensionMenuNotificationSnippet(input);
1081
+ break;
1082
+ case 'account_panel_item':
1083
+ result = buildExtensionAccountPanelSnippet(input);
1084
+ break;
1085
+ case 'tabs':
1086
+ result = buildExtensionTabsSnippet(input);
1087
+ break;
1088
+ case 'upload_modal':
1089
+ result = buildExtensionUploadModalSnippet(input);
1090
+ break;
1091
+ case 'theme_classes':
1092
+ result = buildExtensionThemeClasses(input);
1093
+ break;
1094
+ case 'theme_review':
1095
+ if (!input?.code) {
1096
+ throw new Error('build_extension_ui kind=theme_review requires input.code.');
1097
+ }
1098
+ result = reviewExtensionThemeContract(input.code);
1099
+ break;
1100
+ case 'review':
1101
+ if (!input?.code) {
1102
+ throw new Error('build_extension_ui kind=review requires input.code.');
1103
+ }
1104
+ const uiReview = reviewExtensionUiContract(input.code);
1105
+ const themeReview = reviewExtensionThemeContract(input.code);
1106
+ result = {
1107
+ action: 'extension_ui_and_theme_contract_reviewed',
1108
+ valid: uiReview.valid && themeReview.valid,
1109
+ issueCount: uiReview.issueCount + themeReview.issueCount,
1110
+ ui: uiReview,
1111
+ theme: themeReview,
1112
+ };
1113
+ break;
1114
+ default:
1115
+ throw new Error(`Unsupported extension UI builder kind: ${kind}`);
1116
+ }
1117
+ return {
1118
+ gateway: 'build_extension_ui',
1119
+ kind,
1120
+ ...result,
1121
+ };
1122
+ }
884
1123
  function getExtensionThemeContract() {
885
1124
  return {
886
1125
  action: 'extension_theme_contract',
@@ -945,8 +1184,8 @@ function getExtensionThemeContract() {
945
1184
  'Use auto-injected components directly in the template with PascalCase names. Do not call resolveComponent() to manually resolve Nuxt UI/eApp components inside extension SFCs; it can compile but render unresolved lowercase DOM tags such as <ubutton>.',
946
1185
  'Buttons should have stable geometry: hover may change color, border, or shadow but must not move the button or resize its content. Disabled buttons keep disabled cursor/visual state.',
947
1186
  'Inputs and textareas should not add hover movement or decorative hover states; focus, invalid, disabled, and loading states must be explicit.',
948
- 'For drawers, modals, page shell headers/actions, permission gates, empty states, resource lists, form editors, widgets, menu/account panel registries, tabs, and upload modals, call the matching build_extension_* tool before patching raw Vue.',
949
- 'Use review_extension_ui_contract before saving generated snippets that include high-contract UI or native buttons.',
1187
+ 'For drawers, modals, page shell headers/actions, permission gates, empty states, resource lists, form editors, widgets, menu/account panel registries, tabs, and upload modals, call build_extension_ui with the matching kind after extension acknowledgement before patching raw Vue.',
1188
+ 'Use build_extension_ui kind=theme_classes for theme classes by intent, and kind=theme_review or kind=review before saving generated snippets that include high-contract UI, theme classes, or native buttons.',
950
1189
  'Extension validation rejects UInput, UTextarea, USelect, USelectMenu, UInputMenu, UInputNumber, UInputTags, UInputTime, and UInputDate without class="w-full" unless marked data-compact or data-inline.',
951
1190
  'Use UBadge or token-backed badge spans for status. Keep badges legible in both themes with tokenized background, text, and border.',
952
1191
  ],
@@ -961,23 +1200,23 @@ function getExtensionThemeContract() {
961
1200
  ],
962
1201
  shellComponentContracts: {
963
1202
  CommonDrawer: [
964
- 'Use build_extension_drawer for generated drawer/editing snippets.',
1203
+ 'Use build_extension_ui kind=drawer for generated drawer/editing snippets.',
965
1204
  'The builder owns slots, managed footer actions, full-width fields, native button types, and loading/error/body structure.',
966
1205
  ],
967
1206
  CommonModal: [
968
- 'Use build_extension_modal for generated modal/confirmation snippets.',
1207
+ 'Use build_extension_ui kind=modal for generated modal/confirmation snippets.',
969
1208
  'The builder owns UModal/CommonModal aliasing, slots, managed footer actions, full-width fields, native button types, and modal surface constraints.',
970
1209
  ],
971
1210
  PermissionGate: [
972
- 'Use build_extension_permission_gate for generated permission wrapper snippets.',
1211
+ 'Use build_extension_ui kind=permission_gate for generated permission wrapper snippets.',
973
1212
  'UI gates are operator UX only; backend route permissions and handler/hook owner checks remain authoritative.',
974
1213
  ],
975
1214
  Widget: [
976
- 'Use build_extension_widget for generated widget include snippets.',
1215
+ 'Use build_extension_ui kind=widget for generated widget include snippets.',
977
1216
  'The builder owns numeric id usage, reactive prop/event wiring, and page/widget ownership warnings.',
978
1217
  ],
979
1218
  actionButtons: [
980
- 'Use review_extension_ui_contract for generated snippets with native buttons.',
1219
+ 'Use build_extension_ui kind=review for generated snippets with native buttons.',
981
1220
  'Validation/review catches missing type="button" and high-contract component mistakes before saving.',
982
1221
  ],
983
1222
  },
@@ -1221,7 +1460,12 @@ export function validateExtensionCodeLocally(code) {
1221
1460
  const first = missingFullWidthFields[0];
1222
1461
  throw new Error(`Invalid extension field width: <${first.tag}> must include class="w-full" in Enfyra extensions unless it is intentionally compact with data-compact or data-inline. First offending snippet: ${first.snippet}`);
1223
1462
  }
1224
- return { componentCasing: 'passed', fieldWidth: 'passed' };
1463
+ const themeReview = reviewExtensionThemeContract(code);
1464
+ const firstThemeError = themeReview.issues.find((issue) => issue.severity === 'error');
1465
+ if (firstThemeError) {
1466
+ throw new Error(`Invalid extension theme contract: ${firstThemeError.message} Rule: ${firstThemeError.rule}. ${firstThemeError.suggestion}`);
1467
+ }
1468
+ return { componentCasing: 'passed', fieldWidth: 'passed', themeContract: 'passed' };
1225
1469
  }
1226
1470
  export async function validateExtensionCode(apiUrl, code, name) {
1227
1471
  const localChecks = validateExtensionCodeLocally(code);
@@ -2410,8 +2654,8 @@ async function runExtensionWorkflow(apiUrl, opts) {
2410
2654
  'Call get_extension_theme_contract before generating or reviewing extension UI.',
2411
2655
  'useApi returns refs { data, error, pending, status } plus execute/refresh; it does not auto-run. Pass query/body/filter/deep/aggregate as objects or computed objects, not JSON strings.',
2412
2656
  'useNotify exposes success/error/warning/info(title, description?) async helpers; do not pass Nuxt toast object payloads to it.',
2413
- 'For high-contract UI, call build_extension_* builders before patching raw Vue: drawer, modal, page shell, permission gate, empty state, resource list, form editor, widget, menu notification, account panel item, tabs, or upload modal.',
2414
- 'Use review_extension_ui_contract before saving generated snippets that include drawers, modals, fields, lists, tabs, upload modals, shell registry code, or native buttons.',
2657
+ 'For high-contract UI, call build_extension_ui after extension acknowledgement before patching raw Vue: drawer, modal, page shell, permission gate, empty state, resource list, form editor, widget, menu notification, account panel item, tabs, upload modal, theme classes, theme review, or full review.',
2658
+ 'Use build_extension_ui kind=theme_classes for theme classes by intent, and kind=theme_review or kind=review before saving generated snippets that include drawers, modals, fields, lists, tabs, upload modals, shell registry code, theme classes, or native buttons.',
2415
2659
  'Extension validation rejects common field controls without class="w-full" unless intentionally marked data-compact or data-inline.',
2416
2660
  'PermissionGate renders the permitted slot directly and is UX-only; backend permissions and owner checks remain authoritative.',
2417
2661
  'For menu/account-panel notifications, use counts only when the signal source already owns an exact count; otherwise use a dot/chip for new attention.',
@@ -2518,6 +2762,34 @@ export function registerPlatformOperationTools(server, ENFYRA_API_URL) {
2518
2762
  'Call this whenever you need the exact eapp-* class name or the Nuxt UI color mapping for shell, system page, or dynamic extension UI.',
2519
2763
  'Source of truth: documents/app/theme-color-contract.md.',
2520
2764
  ].join(' '), {}, async () => jsonText(getThemeClassReference()));
2765
+ server.tool('build_extension_ui', [
2766
+ 'Lazy gateway for Enfyra admin extension UI builders.',
2767
+ 'Use this after get_enfyra_required_knowledge(scope="extension") when a high-contract extension UI snippet is needed.',
2768
+ 'It keeps guided startup small by dispatching drawer, modal, page_shell, permission_gate, empty_state, resource_list, form_editor, widget, menu_notification, account_panel_item, tabs, upload_modal, theme_classes, theme_review, or review internally instead of exposing every builder tool up front.',
2769
+ ].join(' '), {
2770
+ kind: z.enum([
2771
+ 'drawer',
2772
+ 'modal',
2773
+ 'page_shell',
2774
+ 'permission_gate',
2775
+ 'empty_state',
2776
+ 'resource_list',
2777
+ 'form_editor',
2778
+ 'widget',
2779
+ 'menu_notification',
2780
+ 'account_panel_item',
2781
+ 'tabs',
2782
+ 'upload_modal',
2783
+ 'theme_classes',
2784
+ 'theme_review',
2785
+ 'review',
2786
+ ]).describe('Which extension UI contract builder/reviewer to run.'),
2787
+ input: z.record(z.any()).optional().default({}).describe('Builder input object. For kind=theme_classes, pass { intent }. For kind=theme_review/review, pass { code }.'),
2788
+ extensionKnowledgeAckKey: extensionKnowledgeAckParam(z),
2789
+ }, async ({ kind, input, extensionKnowledgeAckKey }) => {
2790
+ assertExtensionKnowledgeAck(extensionKnowledgeAckKey);
2791
+ return jsonText(buildExtensionUiSnippet(kind, input));
2792
+ });
2521
2793
  server.tool('build_extension_drawer', [
2522
2794
  'Generate a contract-safe CommonDrawer Vue snippet for Enfyra admin extensions.',
2523
2795
  'Use this before writing or patching drawer/editing workflows so the model does not have to remember CommonDrawer slots, footer action props, full-width fields, or button type rules.',