@json-layout/core 2.5.2 → 2.7.0

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.
Files changed (36) hide show
  1. package/package.json +3 -2
  2. package/src/compile/skeleton-node.js +8 -0
  3. package/src/state/index.js +25 -1
  4. package/src/state/state-node.js +122 -73
  5. package/src/state/types.ts +5 -1
  6. package/src/state/utils/modified.js +32 -0
  7. package/src/utils/build.js +4 -2
  8. package/src/webmcp/index.js +141 -22
  9. package/src/webmcp/project.js +210 -35
  10. package/src/webmcp/tools/describe-state.js +28 -3
  11. package/src/webmcp/tools/edit-array.js +97 -0
  12. package/src/webmcp/tools/fill-form-skill.js +2 -2
  13. package/src/webmcp/tools/set-data.js +8 -6
  14. package/src/webmcp/tools/set-field-value.js +19 -7
  15. package/types/compile/serialize.d.ts.map +1 -1
  16. package/types/compile/skeleton-node.d.ts.map +1 -1
  17. package/types/state/index.d.ts +14 -1
  18. package/types/state/index.d.ts.map +1 -1
  19. package/types/state/state-node.d.ts.map +1 -1
  20. package/types/state/types.d.ts +5 -1
  21. package/types/state/types.d.ts.map +1 -1
  22. package/types/state/utils/modified.d.ts +17 -0
  23. package/types/state/utils/modified.d.ts.map +1 -0
  24. package/types/utils/build.d.ts.map +1 -1
  25. package/types/webmcp/index.d.ts +21 -9
  26. package/types/webmcp/index.d.ts.map +1 -1
  27. package/types/webmcp/project.d.ts +80 -28
  28. package/types/webmcp/project.d.ts.map +1 -1
  29. package/types/webmcp/tools/describe-state.d.ts +10 -1
  30. package/types/webmcp/tools/describe-state.d.ts.map +1 -1
  31. package/types/webmcp/tools/edit-array.d.ts +88 -0
  32. package/types/webmcp/tools/edit-array.d.ts.map +1 -0
  33. package/types/webmcp/tools/set-data.d.ts +11 -16
  34. package/types/webmcp/tools/set-data.d.ts.map +1 -1
  35. package/types/webmcp/tools/set-field-value.d.ts +35 -17
  36. package/types/webmcp/tools/set-field-value.d.ts.map +1 -1
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @file editArray tool
3
+ */
4
+
5
+ import { collectErrors } from '../project.js'
6
+ import { resolveNode } from '../resolve.js'
7
+
8
+ export const inputSchema = {
9
+ type: 'object',
10
+ properties: {
11
+ path: {
12
+ type: 'string',
13
+ description: 'Path to the array field (e.g. "/items", "/tags")'
14
+ },
15
+ action: {
16
+ type: 'string',
17
+ enum: ['add', 'remove'],
18
+ description: '"add" to insert an item, "remove" to delete one'
19
+ },
20
+ index: {
21
+ type: 'number',
22
+ description: 'Index to insert at (for add, defaults to end) or remove from (for remove, defaults to last)'
23
+ },
24
+ value: {
25
+ description: 'Value for the new item (for add action)'
26
+ }
27
+ },
28
+ required: ['path', 'action']
29
+ }
30
+
31
+ export const outputSchema = {
32
+ type: 'object',
33
+ properties: {
34
+ valid: { type: 'boolean' },
35
+ itemCount: { type: 'number' },
36
+ errors: {
37
+ type: 'array',
38
+ items: {
39
+ type: 'object',
40
+ properties: {
41
+ path: { type: 'string' },
42
+ message: { type: 'string' }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ }
48
+
49
+ /**
50
+ * @param {string} dataTitle
51
+ * @returns {string}
52
+ */
53
+ export function getDescription (dataTitle) {
54
+ return `Add or remove items in an array field of "${dataTitle}". Use describeState to see current array contents.`
55
+ }
56
+
57
+ /**
58
+ * @param {import('../../state/index.js').StatefulLayout} statefulLayout
59
+ * @param {{ path: string, action: 'add'|'remove', index?: number, value?: unknown }} args
60
+ * @returns {{ valid: boolean, itemCount: number, errors: Array<{path: string, message: string}> }}
61
+ */
62
+ export function execute (statefulLayout, args) {
63
+ const node = resolveNode(statefulLayout.stateTree.root, args.path)
64
+ if (!node) {
65
+ throw new Error(`node not found at path: ${args.path}`)
66
+ }
67
+
68
+ if (node.layout.comp !== 'list') {
69
+ throw new Error(`node at path "${args.path}" is not an array (type: ${node.layout.comp})`)
70
+ }
71
+
72
+ const currentData = Array.isArray(node.data) ? [...node.data] : []
73
+
74
+ if (args.action === 'add') {
75
+ const index = args.index !== undefined ? args.index : currentData.length
76
+ currentData.splice(index, 0, args.value !== undefined ? args.value : undefined)
77
+ } else if (args.action === 'remove') {
78
+ if (currentData.length === 0) {
79
+ throw new Error('cannot remove from an empty array')
80
+ }
81
+ const index = args.index !== undefined ? args.index : currentData.length - 1
82
+ if (index < 0 || index >= currentData.length) {
83
+ throw new Error(`index ${index} out of bounds (array length: ${currentData.length})`)
84
+ }
85
+ currentData.splice(index, 1)
86
+ } else {
87
+ throw new Error(`unknown action: ${args.action}. Use "add" or "remove".`)
88
+ }
89
+
90
+ statefulLayout.input(node, currentData)
91
+
92
+ return {
93
+ valid: statefulLayout.valid,
94
+ itemCount: currentData.length,
95
+ errors: collectErrors(statefulLayout.stateTree.root)
96
+ }
97
+ }
@@ -45,7 +45,7 @@ Only use ${prefixName}describeState and iterate with ${prefixName}setFieldValue
45
45
  `
46
46
  }
47
47
 
48
- if (complexity === 'small') {
48
+ if (complexity === 'medium') {
49
49
  skill += `
50
50
  Given the medium complexity of this form you should start by reading the full schema definition using ${prefixName}${hasSchema ? 'getSchema' : 'describeState'}, if you have a satisfying understanding of the schema you can attempt updating the whole data using ${prefixName}setData at least once.
51
51
  Then use ${prefixName}describeState and iterate with ${prefixName}setFieldValue.
@@ -60,7 +60,7 @@ Prefer using ${prefixName}describeState and iterating with ${prefixName}setField
60
60
  }
61
61
 
62
62
  skill += `
63
- If you encounter getItems definitions in the schema or getSuggestions flags in the state. You must use ${prefixName}getFieldSuggestions to fetch the accepted values.
63
+ If you encounter getItems definitions in the schema or "suggestions" flags in the state, you must use ${prefixName}getFieldSuggestions to fetch the accepted values, then pass the chosen value directly to ${prefixName}setFieldValue or include it in ${prefixName}setData.
64
64
  `
65
65
 
66
66
  return skill
@@ -2,7 +2,7 @@
2
2
  * @file setData tool
3
3
  */
4
4
 
5
- import { projectStateTree, collectErrors } from '../project.js'
5
+ import { collectErrors } from '../project.js'
6
6
 
7
7
  export const inputSchema = {
8
8
  type: 'object',
@@ -17,7 +17,6 @@ export const inputSchema = {
17
17
  export const outputSchema = {
18
18
  type: 'object',
19
19
  properties: {
20
- state: { type: 'object' },
21
20
  valid: { type: 'boolean' },
22
21
  errors: {
23
22
  type: 'array',
@@ -34,22 +33,25 @@ export const outputSchema = {
34
33
 
35
34
  /**
36
35
  * @param {string} dataTitle
36
+ * @param {"small"|"medium"|"large"} [complexity]
37
37
  * @returns {string}
38
38
  */
39
- export function getDescription (dataTitle) {
40
- return `Bulk-set the "${dataTitle}" data. Use for initial fill or replacing all data at once.`
39
+ export function getDescription (dataTitle, complexity) {
40
+ if (complexity === 'large') {
41
+ return `Set all "${dataTitle}" data at once. For complex forms, prefer setFieldValue for incremental changes.`
42
+ }
43
+ return `Set all "${dataTitle}" data at once. Best for simple forms. Check errors in the response, use describeState if you need the full form structure.`
41
44
  }
42
45
 
43
46
  /**
44
47
  * @param {import('../../state/index.js').StatefulLayout} statefulLayout
45
48
  * @param {{ data: unknown }} args
46
- * @returns {{ state: ReturnType<typeof projectStateTree>, valid: boolean, errors: Array<{path: string, message: string}> }}
49
+ * @returns {{ valid: boolean, errors: Array<{path: string, message: string}> }}
47
50
  */
48
51
  export function execute (statefulLayout, args) {
49
52
  statefulLayout.data = args.data
50
53
 
51
54
  return {
52
- state: projectStateTree(statefulLayout.stateTree, statefulLayout),
53
55
  valid: statefulLayout.valid,
54
56
  errors: collectErrors(statefulLayout.stateTree.root)
55
57
  }
@@ -2,7 +2,7 @@
2
2
  * @file setFieldValue tool
3
3
  */
4
4
 
5
- import { projectStateTree, collectErrors } from '../project.js'
5
+ import { projectFieldResult, collectErrors } from '../project.js'
6
6
  import { resolveNode } from '../resolve.js'
7
7
 
8
8
  export const inputSchema = {
@@ -13,7 +13,7 @@ export const inputSchema = {
13
13
  description: 'Path to the field (e.g. "/name", "/items/0/quantity")'
14
14
  },
15
15
  value: {
16
- description: 'The value to set'
16
+ description: 'The value to set. For variant-selector fields, pass the variant index to switch variants.'
17
17
  }
18
18
  },
19
19
  required: ['path', 'value']
@@ -22,8 +22,16 @@ export const inputSchema = {
22
22
  export const outputSchema = {
23
23
  type: 'object',
24
24
  properties: {
25
- state: { type: 'object' },
26
25
  valid: { type: 'boolean' },
26
+ field: {
27
+ type: 'object',
28
+ properties: {
29
+ path: { type: 'string' },
30
+ type: { type: 'string' },
31
+ data: {},
32
+ error: { type: 'string' }
33
+ }
34
+ },
27
35
  errors: {
28
36
  type: 'array',
29
37
  items: {
@@ -42,13 +50,13 @@ export const outputSchema = {
42
50
  * @returns {string}
43
51
  */
44
52
  export function getDescription (dataTitle) {
45
- return `Set the value of a specific field of "${dataTitle}" by path. For oneOf nodes, pass the variant index as value to switch variants.`
53
+ return `Set the value of a specific field of "${dataTitle}" by path. For fields with suggestions, use the value returned by getFieldSuggestions. To switch a variant selector, set value to the desired variant index (shown in describeState).`
46
54
  }
47
55
 
48
56
  /**
49
57
  * @param {import('../../state/index.js').StatefulLayout} statefulLayout
50
58
  * @param {{ path: string, value: unknown }} args
51
- * @returns {{ state: ReturnType<typeof projectStateTree>, valid: boolean, errors: Array<{path: string, message: string}> }}
59
+ * @returns {{ valid: boolean, field: ReturnType<typeof projectFieldResult>, errors: Array<{path: string, message: string}> }}
52
60
  */
53
61
  export function execute (statefulLayout, args) {
54
62
  const node = resolveNode(statefulLayout.stateTree.root, args.path)
@@ -63,9 +71,13 @@ export function execute (statefulLayout, args) {
63
71
  statefulLayout.blur(node)
64
72
  }
65
73
 
74
+ // Re-resolve node from updated state tree
75
+ const updatedNode = resolveNode(statefulLayout.stateTree.root, args.path)
76
+ const errors = collectErrors(statefulLayout.stateTree.root)
77
+
66
78
  return {
67
- state: projectStateTree(statefulLayout.stateTree, statefulLayout),
68
79
  valid: statefulLayout.valid,
69
- errors: collectErrors(statefulLayout.stateTree.root)
80
+ field: projectFieldResult(updatedNode || node, statefulLayout),
81
+ errors
70
82
  }
71
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/compile/serialize.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH,0CAHW,OAAO,YAAY,EAAE,cAAc,GACjC,OAAO,CAAC,MAAM,CAAC,CAqG3B"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/compile/serialize.js"],"names":[],"mappings":"AAYA;;;GAGG;AACH,0CAHW,OAAO,YAAY,EAAE,cAAc,GACjC,OAAO,CAAC,MAAM,CAAC,CAyG3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;GAkBG;AACH,4CAlBW,GAAG,kBACH,MAAM,WACN,OAAO,YAAY,EAAE,cAAc,cACnC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,iBACxD,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,iBACjD,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,oBACjD,MAAM,EAAE,oBACR,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,MAAM,CAAC,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,OAC9C,MAAM,GAAG,MAAM,WACf,MAAM,YACN,OAAO,cACP,MAAM,cACN,OAAO,cACP,MAAM,GACJ,OAAO,YAAY,EAAE,YAAY,CAojB7C"}
1
+ {"version":3,"file":"skeleton-node.d.ts","sourceRoot":"","sources":["../../src/compile/skeleton-node.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;GAkBG;AACH,4CAlBW,GAAG,kBACH,MAAM,WACN,OAAO,YAAY,EAAE,cAAc,cACnC,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,iBACxD,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,iBACjD,MAAM,CAAC,MAAM,EAAE,OAAO,YAAY,EAAE,YAAY,CAAC,oBACjD,MAAM,EAAE,oBACR,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,qBACxB,MAAM,CAAC,MAAM,EAAE,OAAO,yBAAyB,EAAE,gBAAgB,CAAC,eAClE,OAAO,yBAAyB,EAAE,UAAU,EAAE,OAC9C,MAAM,GAAG,MAAM,WACf,MAAM,YACN,OAAO,cACP,MAAM,cACN,OAAO,cACP,MAAM,GACJ,OAAO,YAAY,EAAE,YAAY,CA4jB7C"}
@@ -42,8 +42,9 @@ export class StatefulLayout {
42
42
  * @param {import("../index.js").SkeletonTree} skeletonTree
43
43
  * @param {Partial<StatefulLayoutOptions>} options
44
44
  * @param {unknown} [data]
45
+ * @param {unknown} [savedData]
45
46
  */
46
- constructor(compiledLayout: import("../index.js").CompiledLayout, skeletonTree: import("../index.js").SkeletonTree, options: Partial<StatefulLayoutOptions>, data?: unknown);
47
+ constructor(compiledLayout: import("../index.js").CompiledLayout, skeletonTree: import("../index.js").SkeletonTree, options: Partial<StatefulLayoutOptions>, data?: unknown, savedData?: unknown);
47
48
  /**
48
49
  * @private
49
50
  * @readonly
@@ -136,6 +137,11 @@ export class StatefulLayout {
136
137
  * @type {FileRef[]}
137
138
  */
138
139
  files: FileRef[];
140
+ /**
141
+ * @private
142
+ * @type {unknown}
143
+ */
144
+ private _savedData;
139
145
  /**
140
146
  * @type {Record<string, number | string>}
141
147
  */
@@ -176,6 +182,13 @@ export class StatefulLayout {
176
182
  * @returns {boolean}
177
183
  */
178
184
  get hasHiddenError(): boolean;
185
+ /**
186
+ * @returns {boolean}
187
+ */
188
+ get modified(): boolean;
189
+ /** @param {unknown} savedData */
190
+ set savedData(savedData: unknown);
191
+ get savedData(): unknown;
179
192
  /**
180
193
  * @private
181
194
  * @param {StateNode} node
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AA+QA;;;;;;;;;;;GAWG;AACH,4CAXW,OAAO,aAAa,EAAE,kBAAkB,EAAE,cAC1C,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,WACH,OAAO,YAAY,EAAE,gBAAgB,WACrC,OAAO,oBAAoB,EAAE,OAAO,UACpC,OAAO,yBAAyB,EAAE,cAAc,aAChD,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,gBAAgB,CAAC,YAC9C,OAAO,iBACP,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,GAC1D,GAAG,CAsBf;AAiCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yCAlBW,OAAO,YAAY,EAAE,sBAAsB,iBAC3C,OAAO,YAAY,EAAE,gBAAgB,kBACrC,OAAO,aAAa,EAAE,cAAc,OACpC,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,MAAM,kBACN,MAAM,GAAG,IAAI,YACb,OAAO,aAAa,EAAE,YAAY,mBAClC,OAAO,yBAAyB,EAAE,KAAK,GAAG,IAAI,iBAC9C,OAAO,oBAAoB,EAAE,OAAO,QACpC,GAAG,iBACH,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,mBAC5D,OAAO,YAAY,EAAE,eAAe,cACpC,MAAM,eACN,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,CA6jB1C;AAl4BM,qCALI,OAAO,UACP,OAAO,yBAAyB,EAAE,cAAc,WAChD,OAAO,YAAY,EAAE,gBAAgB,GACnC,OAAO,CAMnB;AAg4BD,uFAAuF;AACvF,iCADW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,KAAK,GAAG,CAgBjF;AAEF,kKAAkK;AAClK,8BADW,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,yBAAyB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,yBAAyB,EAAE,WAAW,KAAK,GAAG,CAY7J"}
1
+ {"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"AAkRA;;;;;;;;;;;GAWG;AACH,4CAXW,OAAO,aAAa,EAAE,kBAAkB,EAAE,cAC1C,OAAO,yBAAyB,EAAE,UAAU,QAC5C,GAAG,WACH,OAAO,YAAY,EAAE,gBAAgB,WACrC,OAAO,oBAAoB,EAAE,OAAO,UACpC,OAAO,yBAAyB,EAAE,cAAc,aAChD,MAAM,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,gBAAgB,CAAC,YAC9C,OAAO,iBACP,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,GAC1D,GAAG,CAsBf;AAiCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yCAlBW,OAAO,YAAY,EAAE,sBAAsB,iBAC3C,OAAO,YAAY,EAAE,gBAAgB,kBACrC,OAAO,aAAa,EAAE,cAAc,OACpC,MAAM,GAAG,MAAM,WACf,MAAM,iBACN,MAAM,GAAG,IAAI,YACb,MAAM,kBACN,MAAM,GAAG,IAAI,YACb,OAAO,aAAa,EAAE,YAAY,mBAClC,OAAO,yBAAyB,EAAE,KAAK,GAAG,IAAI,iBAC9C,OAAO,oBAAoB,EAAE,OAAO,QACpC,GAAG,iBACH,OAAO,qBAAqB,EAAE,uBAAuB,GAAG,IAAI,mBAC5D,OAAO,YAAY,EAAE,eAAe,cACpC,MAAM,eACN,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,CA2mB1C;AAl7BM,qCALI,OAAO,UACP,OAAO,yBAAyB,EAAE,cAAc,WAChD,OAAO,YAAY,EAAE,gBAAgB,GACnC,OAAO,CAMnB;AAg7BD,uFAAuF;AACvF,iCADW,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,KAAK,GAAG,CAgBjF;AAEF,kKAAkK;AAClK,8BADW,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,OAAO,yBAAyB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,yBAAyB,EAAE,WAAW,KAAK,GAAG,CAY7J"}
@@ -14,6 +14,8 @@ export interface StateNode {
14
14
  data: unknown;
15
15
  error: string | undefined;
16
16
  childError: boolean | undefined;
17
+ modified: boolean | undefined;
18
+ childModified: boolean | undefined;
17
19
  validated: boolean;
18
20
  width: number;
19
21
  options: StateNodeOptions;
@@ -45,6 +47,7 @@ export interface CreateStateTreeContext {
45
47
  rehydrate: boolean;
46
48
  cacheKeys: Record<string, StateNodeCacheKey>;
47
49
  rootData: unknown;
50
+ savedData: unknown;
48
51
  nodes: StateNode[];
49
52
  nodesMap: Map<string, StateNode>;
50
53
  getItemsDataRequests: StateNode[];
@@ -67,7 +70,8 @@ export type StateNodeCacheKey = [
67
70
  boolean,
68
71
  number,
69
72
  unknown,
70
- number
73
+ number,
74
+ unknown
71
75
  ];
72
76
  export interface ValidationState {
73
77
  initialized: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Resolve a JSON pointer data path against a data object.
3
+ * @param {unknown} data
4
+ * @param {string} dataPath - JSON pointer (e.g. '', '/a/b', '/arr/0')
5
+ * @returns {unknown}
6
+ */
7
+ export function resolveDataPath(data: unknown, dataPath: string): unknown;
8
+ /**
9
+ * Compare a saved value against a current value.
10
+ * The caller is responsible for checking if the feature is active (context.savedData !== undefined)
11
+ * before calling this function.
12
+ * @param {unknown} savedValue
13
+ * @param {unknown} currentValue
14
+ * @returns {boolean}
15
+ */
16
+ export function isNodeModified(savedValue: unknown, currentValue: unknown): boolean;
17
+ //# sourceMappingURL=modified.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modified.d.ts","sourceRoot":"","sources":["../../../src/state/utils/modified.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,sCAJW,OAAO,YACP,MAAM,GACJ,OAAO,CAYnB;AAED;;;;;;;GAOG;AACH,2CAJW,OAAO,gBACP,OAAO,GACL,OAAO,CAKnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/utils/build.js"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,2BADW,MAAM,EAAE,CASlB;AAED,yBAAyB;AACzB,gCADW,MAAM,EAAE,EAAE,CASpB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/utils/build.js"],"names":[],"mappings":"AAEA,uBAAuB;AACvB,2BADW,MAAM,EAAE,CAUlB;AAED,yBAAyB;AACzB,gCADW,MAAM,EAAE,EAAE,CAUpB"}
@@ -1,9 +1,3 @@
1
- /**
2
- * @typedef {object} WebMCPOptions
3
- * @property {string} [prefixName] - Prefix for all tool names
4
- * @property {string} [dataTitle] - Title used in descriptions (default: 'form')
5
- * @property {object} [schema] - The original JSON schema
6
- */
7
1
  /**
8
2
  * WebMCP class that provides MCP tool descriptors for a StatefulLayout instance
9
3
  */
@@ -30,14 +24,24 @@ export class WebMCP {
30
24
  readonly _dataTitle: string;
31
25
  /**
32
26
  * @readonly
33
- * @type {string}
27
+ * @type {"small"|"medium"|"large"}
34
28
  */
35
- readonly _skill: string;
29
+ readonly _complexity: "small" | "medium" | "large";
36
30
  /**
37
31
  * @readonly
38
32
  * @type {object | null}
39
33
  */
40
34
  readonly _schema: object | null;
35
+ /**
36
+ * @readonly
37
+ * @type {boolean}
38
+ */
39
+ readonly _includeFillFormSkill: boolean;
40
+ /**
41
+ * @readonly
42
+ * @type {boolean}
43
+ */
44
+ readonly _includeSubAgent: boolean;
41
45
  /**
42
46
  * @type {string[]}
43
47
  */
@@ -60,7 +64,6 @@ export class WebMCP {
60
64
  */
61
65
  unregisterTools(): Promise<void>;
62
66
  }
63
- export type ToolDescriptor = import("@mcp-b/webmcp-types").ToolDescriptor;
64
67
  export type WebMCPOptions = {
65
68
  /**
66
69
  * - Prefix for all tool names
@@ -74,5 +77,14 @@ export type WebMCPOptions = {
74
77
  * - The original JSON schema
75
78
  */
76
79
  schema?: object | undefined;
80
+ /**
81
+ * - Include the fillFormSkill tool (default: false)
82
+ */
83
+ includeFillFormSkill?: boolean | undefined;
84
+ /**
85
+ * - Include a subagent_ tool wrapping all form tools (default: false)
86
+ */
87
+ includeSubAgent?: boolean | undefined;
77
88
  };
89
+ export type ToolDescriptor = import("@mcp-b/webmcp-types").ToolDescriptor;
78
90
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webmcp/index.js"],"names":[],"mappings":"AAkBA;;;;;GAKG;AAEH;;GAEG;AACH;IAoCE;;;OAGG;IACH,4BAHW,OAAO,mBAAmB,EAAE,cAAc,YAC1C,aAAa,EAQvB;IA7CD;;;OAGG;IACH,0BAFU,OAAO,mBAAmB,EAAE,cAAc,CAErC;IAEf;;;OAGG;IACH,sBAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,qBAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,iBAFU,MAAM,CAEV;IAEN;;;OAGG;IACH,kBAFU,MAAM,GAAG,IAAI,CAET;IAEd;;OAEG;IACH,kBAFU,MAAM,EAAE,CAEG;IAcrB;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;OAEG;IACH,YAFa,cAAc,EAAE,CAoK5B;IAED;;OAEG;IACH,iBAFa,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;OAEG;IACH,mBAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;CACF;6BA5Qa,OAAO,qBAAqB,EAAE,cAAc"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/webmcp/index.js"],"names":[],"mappings":"AA4DA;;GAEG;AACH;IAgDE;;;OAGG;IACH,4BAHW,OAAO,mBAAmB,EAAE,cAAc,YAC1C,aAAa,EAUvB;IA3DD;;;OAGG;IACH,0BAFU,OAAO,mBAAmB,EAAE,cAAc,CAErC;IAEf;;;OAGG;IACH,sBAFU,MAAM,CAEL;IAEX;;;OAGG;IACH,qBAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,sBAFU,OAAO,GAAC,QAAQ,GAAC,OAAO,CAEvB;IAEX;;;OAGG;IACH,kBAFU,MAAM,GAAG,IAAI,CAET;IAEd;;;OAGG;IACH,gCAFU,OAAO,CAEY;IAE7B;;;OAGG;IACH,2BAFU,OAAO,CAEO;IAExB;;OAEG;IACH,kBAFU,MAAM,EAAE,CAEG;IAgBrB;;;OAGG;IACH,gBAHW,MAAM,GACJ,MAAM,CAIlB;IAED;;OAEG;IACH,YAFa,cAAc,EAAE,CA0O5B;IAED;;OAEG;IACH,iBAFa,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;OAEG;IACH,mBAFa,OAAO,CAAC,IAAI,CAAC,CAYzB;CACF;;;;;;;;;;;;;;;;;;;;;;;6BAjYa,OAAO,qBAAqB,EAAE,cAAc"}
@@ -1,53 +1,85 @@
1
1
  /**
2
- * @param {import('../state/types.js').StateNode} node
3
- * @param {import('../state/index.js').StatefulLayout} statefulLayout
4
- * @returns {{
5
- * key: string|number,
2
+ * @typedef {{
6
3
  * path: string,
7
- * comp: string,
4
+ * type: string,
8
5
  * data: unknown,
9
6
  * title?: string,
10
7
  * label?: string,
11
8
  * help?: string,
12
9
  * error?: string,
13
- * childError?: boolean,
14
10
  * required?: boolean,
15
11
  * readOnly?: boolean,
12
+ * modified?: boolean,
16
13
  * constraints?: Record<string, unknown>,
17
- * oneOfItems?: Array<{key: number, title: string}>,
18
- * children?: Array<any>
19
- * getSuffections?: boolean
20
- * }}
14
+ * variants?: Array<{index: number, title: string}>,
15
+ * selectedVariant?: number,
16
+ * children?: Array<ProjectedNode>,
17
+ * getSuggestions?: boolean
18
+ * }} ProjectedNode
19
+ */
20
+ /**
21
+ * @param {import('../state/types.js').StateNode} node
22
+ * @param {import('../state/index.js').StatefulLayout} statefulLayout
23
+ * @returns {ProjectedNode}
21
24
  */
22
- export function projectNode(node: import("../state/types.js").StateNode, statefulLayout: import("../state/index.js").StatefulLayout): {
23
- key: string | number;
25
+ export function projectNode(node: import("../state/types.js").StateNode, statefulLayout: import("../state/index.js").StatefulLayout): ProjectedNode;
26
+ /**
27
+ * Project a single field result for slim mutation responses
28
+ * @param {import('../state/types.js').StateNode} node
29
+ * @param {import('../state/index.js').StatefulLayout} statefulLayout
30
+ * @returns {{ path: string, type: string, data: unknown, error?: string }}
31
+ */
32
+ export function projectFieldResult(node: import("../state/types.js").StateNode, statefulLayout: import("../state/index.js").StatefulLayout): {
24
33
  path: string;
25
- comp: string;
34
+ type: string;
26
35
  data: unknown;
27
- title?: string;
28
- label?: string;
29
- help?: string;
30
36
  error?: string;
31
- childError?: boolean;
32
- required?: boolean;
33
- readOnly?: boolean;
34
- constraints?: Record<string, unknown>;
35
- oneOfItems?: Array<{
36
- key: number;
37
- title: string;
38
- }>;
39
- children?: Array<any>;
40
- getSuffections?: boolean;
41
37
  };
42
38
  /**
43
39
  * @param {import('../state/types.js').StateTree} stateTree
44
40
  * @param {import('../state/index.js').StatefulLayout} statefulLayout
45
- * @returns {{ root: ReturnType<typeof projectNode>, valid: boolean }}
41
+ * @returns {{ root: ProjectedNode, valid: boolean }}
46
42
  */
47
43
  export function projectStateTree(stateTree: import("../state/types.js").StateTree, statefulLayout: import("../state/index.js").StatefulLayout): {
48
- root: ReturnType<typeof projectNode>;
44
+ root: ProjectedNode;
49
45
  valid: boolean;
50
46
  };
47
+ /**
48
+ * Format a projected node as a markdown line for LLM-readable output.
49
+ * @param {import('../state/types.js').StateNode} node
50
+ * @param {import('../state/index.js').StatefulLayout} statefulLayout
51
+ * @param {number} [depth]
52
+ * @returns {string}
53
+ */
54
+ export function projectNodeToMarkdown(node: import("../state/types.js").StateNode, statefulLayout: import("../state/index.js").StatefulLayout, depth?: number): string;
55
+ /**
56
+ * Format a state tree as markdown for LLM-readable output.
57
+ * @param {import('../state/types.js').StateTree} stateTree
58
+ * @param {import('../state/index.js').StatefulLayout} statefulLayout
59
+ * @returns {string}
60
+ */
61
+ export function projectStateTreeToMarkdown(stateTree: import("../state/types.js").StateTree, statefulLayout: import("../state/index.js").StatefulLayout): string;
62
+ /**
63
+ * Format a mutation result as concise text for LLM-readable output.
64
+ * @param {boolean} valid
65
+ * @param {Array<{path: string, message: string}>} errors
66
+ * @param {string} [prefix] - optional prefix line (e.g. field info)
67
+ * @returns {string}
68
+ */
69
+ export function formatMutationResult(valid: boolean, errors: Array<{
70
+ path: string;
71
+ message: string;
72
+ }>, prefix?: string): string;
73
+ /**
74
+ * Format field suggestions as markdown for LLM-readable output.
75
+ * @param {Array<{value: unknown, title: string, key?: string}>} items
76
+ * @returns {string}
77
+ */
78
+ export function formatSuggestions(items: Array<{
79
+ value: unknown;
80
+ title: string;
81
+ key?: string;
82
+ }>): string;
51
83
  /**
52
84
  * @param {import('../state/types.js').StateNode} node
53
85
  * @returns {Array<{path: string, message: string}>}
@@ -56,4 +88,24 @@ export function collectErrors(node: import("../state/types.js").StateNode): Arra
56
88
  path: string;
57
89
  message: string;
58
90
  }>;
91
+ export type ProjectedNode = {
92
+ path: string;
93
+ type: string;
94
+ data: unknown;
95
+ title?: string;
96
+ label?: string;
97
+ help?: string;
98
+ error?: string;
99
+ required?: boolean;
100
+ readOnly?: boolean;
101
+ modified?: boolean;
102
+ constraints?: Record<string, unknown>;
103
+ variants?: Array<{
104
+ index: number;
105
+ title: string;
106
+ }>;
107
+ selectedVariant?: number;
108
+ children?: Array<ProjectedNode>;
109
+ getSuggestions?: boolean;
110
+ };
59
111
  //# sourceMappingURL=project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/webmcp/project.js"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,kCApBW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,GACxC;IACR,GAAG,EAAE,MAAM,GAAC,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAiEH;AAED;;;;GAIG;AACH,4CAJW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,GACxC;IAAE,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAOpE;AAED;;;GAGG;AACH,oCAHW,OAAO,mBAAmB,EAAE,SAAS,GACnC,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CAOlD"}
1
+ {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/webmcp/project.js"],"names":[],"mappings":"AA+CA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;GAIG;AACH,kCAJW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,GACxC,aAAa,CAiDzB;AAED;;;;;GAKG;AACH,yCAJW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,GACxC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAWzE;AAED;;;;GAIG;AACH,4CAJW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,GACxC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAOnD;AAED;;;;;;GAMG;AACH,4CALW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,UAC1C,MAAM,GACJ,MAAM,CAoElB;AAED;;;;;GAKG;AACH,sDAJW,OAAO,mBAAmB,EAAE,SAAS,kBACrC,OAAO,mBAAmB,EAAE,cAAc,GACxC,MAAM,CAsBlB;AAED;;;;;;GAMG;AACH,4CALW,OAAO,UACP,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,WACtC,MAAM,GACJ,MAAM,CAmBlB;AAED;;;;GAIG;AACH,yCAHW,KAAK,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC,GAClD,MAAM,CAclB;AAED;;;GAGG;AACH,oCAHW,OAAO,mBAAmB,EAAE,SAAS,GACnC,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC,CAOlD;4BAnQY;IACR,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * @param {string} dataTitle
3
+ * @param {"small"|"medium"|"large"} [complexity]
3
4
  * @returns {string}
4
5
  */
5
- export function getDescription(dataTitle: string): string;
6
+ export function getDescription(dataTitle: string, complexity?: "small" | "medium" | "large"): string;
6
7
  /**
7
8
  * @param {import('../../state/index.js').StatefulLayout} statefulLayout
8
9
  * @param {{ path?: string }} args
@@ -18,6 +19,14 @@ export function execute(statefulLayout: import("../../state/index.js").StatefulL
18
19
  message: string;
19
20
  }>;
20
21
  };
22
+ /**
23
+ * @param {import('../../state/index.js').StatefulLayout} statefulLayout
24
+ * @param {{ path?: string }} args
25
+ * @returns {string}
26
+ */
27
+ export function toMarkdown(statefulLayout: import("../../state/index.js").StatefulLayout, args: {
28
+ path?: string;
29
+ }): string;
21
30
  export namespace inputSchema {
22
31
  let type: string;
23
32
  namespace properties {
@@ -1 +1 @@
1
- {"version":3,"file":"describe-state.d.ts","sourceRoot":"","sources":["../../../src/webmcp/tools/describe-state.js"],"names":[],"mappings":"AAwCA;;;GAGG;AACH,0CAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;GAIG;AACH,wCAJW,OAAO,sBAAsB,EAAE,cAAc,QAC7C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACf;IAAC,KAAK,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAsBvJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCArE4D,eAAe;4BAAf,eAAe"}
1
+ {"version":3,"file":"describe-state.d.ts","sourceRoot":"","sources":["../../../src/webmcp/tools/describe-state.js"],"names":[],"mappings":"AAwCA;;;;GAIG;AACH,0CAJW,MAAM,eACN,OAAO,GAAC,QAAQ,GAAC,OAAO,GACtB,MAAM,CAQlB;AAED;;;;GAIG;AACH,wCAJW,OAAO,sBAAsB,EAAE,cAAc,QAC7C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACf;IAAC,KAAK,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAsBvJ;AAED;;;;GAIG;AACH,2CAJW,OAAO,sBAAsB,EAAE,cAAc,QAC7C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACf,MAAM,CAelB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA9FqI,eAAe;4BAAf,eAAe"}