@ng-forge/dynamic-form-mcp 1.1.0 → 1.2.0-next.10

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/index.d.ts CHANGED
@@ -71,6 +71,16 @@ export declare interface FieldTypeInfo {
71
71
  source: 'core' | 'adapter';
72
72
  /** Minimal valid example (just required properties) */
73
73
  minimalExample?: string;
74
+ /**
75
+ * Examples that cannot be evaluated as a single expression, and why.
76
+ *
77
+ * Some ship several snippets separated by prose, and one names a class only a
78
+ * real app defines. Those are worth keeping as they are, but the reason has to
79
+ * be written down: deriving the skip from whether evaluation throws is the same
80
+ * signal a genuinely broken example gives, so a newly-broken one would join the
81
+ * skip list instead of failing the suite that exists to catch it.
82
+ */
83
+ illustrative?: Partial<Record<'minimalExample' | 'example', string>>;
74
84
  }
75
85
 
76
86
  /**
@@ -81,6 +91,21 @@ export declare interface FormattedValidationError {
81
91
  * Path to the invalid field (e.g., 'fields[0].props.type').
82
92
  */
83
93
  path: string;
94
+ /**
95
+ * The named rule this violates, when it is a semantic one.
96
+ *
97
+ * Absent for anything the type system enforces on its own. Those carry no
98
+ * identifier by design: they cannot be switched off, because a config that
99
+ * breaks them does not compile whatever the validator says.
100
+ */
101
+ ruleId?: string;
102
+ /**
103
+ * `warning` when the project has disabled this rule.
104
+ *
105
+ * Disabling downgrades rather than silences, so an agent still sees the
106
+ * finding and can tell it was a deliberate choice.
107
+ */
108
+ severity?: 'error' | 'warning';
84
109
  /**
85
110
  * Error message.
86
111
  */
@@ -217,7 +242,18 @@ export declare interface UIAdapterInfo {
217
242
  */
218
243
  export declare type UiIntegration = 'material' | 'bootstrap' | 'primeng' | 'ionic';
219
244
 
220
- export declare function validateFormConfig(uiIntegration: UiIntegration, config: unknown): ValidationResult;
245
+ /** Options for one validation run. */
246
+ declare interface ValidateConfigOptions {
247
+ /**
248
+ * Rule ids the project has switched off, already resolved.
249
+ *
250
+ * Resolved by the caller so an unknown id fails once, where the config is
251
+ * read, rather than silently doing nothing on every run.
252
+ */
253
+ disabledRules?: ReadonlySet<string>;
254
+ }
255
+
256
+ export declare function validateFormConfig(uiIntegration: UiIntegration, config: unknown, options?: ValidateConfigOptions): ValidationResult;
221
257
 
222
258
  /**
223
259
  * Validation result for form configuration.
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@ng-forge/dynamic-form-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.2.0-next.10",
4
4
  "description": "MCP server for ng-forge dynamic forms - AI-assisted form schema generation",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "author": "ng-forge",
8
- "homepage": "https://ng-forge.com/dynamic-forms/ai-integration",
8
+ "homepage": "https://ng-forge.com/dynamic-forms/material/ai-integration",
9
9
  "repository": {
10
10
  "type": "git",
11
11
  "url": "git+https://github.com/ng-forge/ng-forge.git",
@@ -50,15 +50,14 @@
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.0.0",
52
52
  "ts-morph": "^28.0.0",
53
- "zod": "^3.25.76",
54
- "zod-to-json-schema": "^3.23.0"
53
+ "zod": "^4.5.4"
55
54
  },
56
55
  "devDependencies": {
57
- "@ng-forge/dynamic-forms": "^1.1.0",
58
- "@ng-forge/dynamic-forms-bootstrap": "^1.1.0",
59
- "@ng-forge/dynamic-forms-ionic": "^1.1.0",
60
- "@ng-forge/dynamic-forms-material": "^1.1.0",
61
- "@ng-forge/dynamic-forms-primeng": "^1.1.0",
56
+ "@ng-forge/dynamic-forms": "^1.2.0-next.10",
57
+ "@ng-forge/dynamic-forms-bootstrap": "^1.2.0-next.10",
58
+ "@ng-forge/dynamic-forms-ionic": "^1.2.0-next.10",
59
+ "@ng-forge/dynamic-forms-material": "^1.2.0-next.10",
60
+ "@ng-forge/dynamic-forms-primeng": "^1.2.0-next.10",
62
61
  "tsx": "^4.19.0"
63
62
  }
64
63
  }
package/src/index.d.ts CHANGED
@@ -7,7 +7,7 @@
7
7
  export { createServer, runStdioServer, SERVER_NAME, SERVER_VERSION } from './server.js';
8
8
  export type { FieldTypeInfo, ValidatorInfo, UIAdapterInfo, UIAdapterFieldType, PropertyInfo, AddonTypeInfo, FieldAddonSupportInfo, } from './registry/index.js';
9
9
  export { getFieldTypes, getFieldType, getFieldTypesByCategory, getValidators, getValidator, getValidatorsByCategory, getUIAdapters, getUIAdapter, getUIAdapterFieldType, getAddonTypes, getAddonType, getAddonTypesByCategory, getFieldAddonSupport, } from './registry/index.js';
10
- export type { ValidationResult, FormattedValidationError, UiIntegration } from '@ng-forge/dynamic-forms-zod/mcp';
11
- export { validateFormConfig, isValidFormConfig } from '@ng-forge/dynamic-forms-zod/mcp';
12
- export { getFormConfigJsonSchema, getLeafFieldJsonSchema } from '@ng-forge/dynamic-forms-zod/mcp';
10
+ export type { ValidationResult, FormattedValidationError, UiIntegration } from '@ng-forge/dynamic-forms-validation';
11
+ export { validateFormConfig, isValidFormConfig } from '@ng-forge/dynamic-forms-validation';
12
+ export { getFormConfigJsonSchema, getLeafFieldJsonSchema } from '@ng-forge/dynamic-forms-validation';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/dynamic-form-mcp/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGxF,YAAY,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEjH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGxF,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/dynamic-form-mcp/src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGxF,YAAY,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEpH,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC"}