auto-webmcp 0.3.16 → 0.3.18

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/config.d.ts CHANGED
@@ -15,10 +15,49 @@ export interface AutoWebMCPConfig {
15
15
  * Default: false
16
16
  */
17
17
  autoSubmit?: boolean;
18
+ /**
19
+ * How to handle forms that already use native declarative WebMCP attributes.
20
+ * - skip: do not imperatively register forms with toolname
21
+ * - augment: reserved for future metadata-only enhancement (currently behaves like skip)
22
+ * - force: always register imperatively even when toolname exists
23
+ * Default: skip
24
+ */
25
+ declarativeMode?: 'skip' | 'augment' | 'force';
26
+ /**
27
+ * Parameter binding behavior for execute() input keys.
28
+ */
29
+ paramBinding?: {
30
+ /**
31
+ * If true, resolve semantically similar parameter keys to schema keys.
32
+ * Default: true
33
+ */
34
+ enableAliasResolution?: boolean;
35
+ /**
36
+ * If true, only exact schema keys are accepted (disables alias resolution).
37
+ * Default: false
38
+ */
39
+ strict?: boolean;
40
+ };
41
+ /**
42
+ * Execution behavior controls.
43
+ */
44
+ execution?: {
45
+ /**
46
+ * Max time to wait for submit/result before returning a deterministic timeout state.
47
+ * Default: 15000
48
+ */
49
+ timeoutMs?: number;
50
+ };
18
51
  /**
19
52
  * Per-form name/description overrides keyed by CSS selector.
20
53
  */
21
54
  overrides?: Record<string, FormOverride>;
55
+ /**
56
+ * When true, skip filling any form field that already has a non-empty value.
57
+ * Useful for forms with pre-populated defaults (e.g. Salesforce Lightning) where
58
+ * the agent should only fill blank fields. Default: false
59
+ */
60
+ preserveExisting?: boolean;
22
61
  /**
23
62
  * Log registered tools to console on init. Default: false
24
63
  */
@@ -27,7 +66,16 @@ export interface AutoWebMCPConfig {
27
66
  export interface ResolvedConfig {
28
67
  exclude: string[];
29
68
  autoSubmit: boolean;
69
+ declarativeMode: 'skip' | 'augment' | 'force';
70
+ paramBinding: {
71
+ enableAliasResolution: boolean;
72
+ strict: boolean;
73
+ };
74
+ execution: {
75
+ timeoutMs: number;
76
+ };
30
77
  overrides: Record<string, FormOverride>;
78
+ preserveExisting: boolean;
31
79
  debug: boolean;
32
80
  }
33
81
  export declare function resolveConfig(userConfig?: AutoWebMCPConfig): ResolvedConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEzC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAO3E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAE/C;;OAEG;IACH,YAAY,CAAC,EAAE;QACb;;;WAGG;QACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE;QACV;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAEzC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,YAAY,EAAE;QACZ,qBAAqB,EAAE,OAAO,CAAC;QAC/B,MAAM,EAAE,OAAO,CAAC;KACjB,CAAC;IACF,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACxC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,cAAc,CAmB3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgB7C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC3C,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AA6qBH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1E;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAgB7C,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC3C,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AA4rBH,wBAAsB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB1E;AAED,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
@@ -24,17 +24,27 @@ export interface ExecuteResult {
24
24
  }
25
25
  export interface FillWarning {
26
26
  field: string;
27
- type: 'clamped' | 'not_filled' | 'missing_required' | 'type_mismatch';
27
+ type: 'clamped' | 'not_filled' | 'missing_required' | 'type_mismatch' | 'alias_resolved' | 'blocked_submit' | 'timeout';
28
28
  message: string;
29
29
  original?: unknown;
30
30
  actual?: unknown;
31
31
  }
32
+ export interface ValidationError {
33
+ field: string;
34
+ /** HTML ValidityState key: valueMissing, typeMismatch, patternMismatch, tooLong, tooShort, rangeUnderflow, rangeOverflow, stepMismatch, customError, badInput */
35
+ constraint: string;
36
+ message: string;
37
+ }
32
38
  export interface StructuredExecuteData {
33
- status: 'success' | 'partial' | 'error';
39
+ status: 'success' | 'partial' | 'error' | 'awaiting_user_action' | 'timed_out' | 'blocked_invalid';
34
40
  filled_fields: Record<string, unknown>;
35
41
  skipped_fields: string[];
36
42
  missing_required: string[];
37
43
  warnings: FillWarning[];
44
+ /** Structured per-field validation errors (populated on blocked_invalid status). */
45
+ validation_errors?: ValidationError[];
46
+ /** Field values captured from the form before the agent filled it. */
47
+ existing_values?: Record<string, unknown>;
38
48
  }
39
49
  /**
40
50
  * Build an `execute` function for a form tool.
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iEAAiE;QACjE,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,sDAAsD;QACtD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;KACnD;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,kBAAkB,GAAG,eAAe,CAAC;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AA4CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,YAAY,GACtB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAgG/E;AAsjBD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,OAAO,EACxE,KAAK,EAAE,OAAO,GACb,IAAI,CAqBN;AA+ED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF"}
1
+ {"version":3,"file":"interceptor.d.ts","sourceRoot":"","sources":["../src/interceptor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,WAAW;QACnB,iEAAiE;QACjE,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,sDAAsD;QACtD,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;KACnD;CACF;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EACA,SAAS,GACT,YAAY,GACZ,kBAAkB,GAClB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,iKAAiK;IACjK,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EACF,SAAS,GACT,SAAS,GACT,OAAO,GACP,sBAAsB,GACtB,WAAW,GACX,iBAAiB,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AA2MD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,eAAe,EACrB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,YAAY,GACtB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,aAAa,CAAC,CAoN/E;AA2jBD;;;GAGG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,OAAO,EACxE,KAAK,EAAE,OAAO,GACb,IAAI,CAqBN;AA+ED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CnF"}
@@ -6,6 +6,7 @@ export interface WebMCPTool {
6
6
  name: string;
7
7
  description: string;
8
8
  inputSchema: object;
9
+ outputSchema?: object;
9
10
  annotations?: {
10
11
  readOnlyHint?: boolean;
11
12
  destructiveHint?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAM7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClF;AAED,UAAU,2BAA2B;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,SAAS;QACjB,YAAY,CAAC,EAAE;YACb,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC5F,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACrD,CAAC;KACH;CACF;AAWD,0DAA0D;AAC1D,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAC/E,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB7E;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAEtF;AAED,8CAA8C;AAC9C,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAM7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClF;AAsDD,UAAU,2BAA2B;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,SAAS;QACjB,YAAY,CAAC,EAAE;YACb,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAC5F,cAAc,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACrD,CAAC;KACH;CACF;AAWD,0DAA0D;AAC1D,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAC/E,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB7E;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAEtF;AAED,8CAA8C;AAC9C,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAGnD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "auto-webmcp",
3
- "version": "0.3.16",
3
+ "version": "0.3.18",
4
4
  "description": "Automatically make any HTML form WebMCP-ready — zero coding required",
5
5
  "author": "Prasanna Vaidya <prasanna@gyde.ai>",
6
6
  "license": "MIT",