@json-layout/core 2.4.0 → 2.5.1
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/package.json +8 -1
- package/src/i18n/de.js +0 -19
- package/src/i18n/en.js +0 -19
- package/src/i18n/fr.js +0 -19
- package/src/i18n/nl.js +0 -19
- package/src/i18n/types.ts +0 -19
- package/src/state/index.js +12 -11
- package/src/state/state-node.js +19 -13
- package/src/state/state-tree.js +13 -1
- package/src/state/types.ts +5 -2
- package/src/webmcp/index.js +283 -0
- package/src/webmcp/project.js +148 -0
- package/src/webmcp/resolve.js +25 -0
- package/src/webmcp/tools/describe-state.js +74 -0
- package/src/webmcp/tools/fill-form-skill.js +67 -0
- package/src/webmcp/tools/get-data.js +36 -0
- package/src/webmcp/tools/get-field-suggestions.js +84 -0
- package/src/webmcp/tools/set-data.js +56 -0
- package/src/webmcp/tools/set-field-value.js +71 -0
- package/types/i18n/de.d.ts +0 -19
- package/types/i18n/en.d.ts +0 -19
- package/types/i18n/fr.d.ts +0 -19
- package/types/i18n/nl.d.ts +0 -19
- package/types/i18n/types.d.ts +0 -19
- package/types/i18n/types.d.ts.map +1 -1
- package/types/state/index.d.ts.map +1 -1
- package/types/state/state-node.d.ts +2 -1
- package/types/state/state-node.d.ts.map +1 -1
- package/types/state/state-tree.d.ts.map +1 -1
- package/types/state/types.d.ts +5 -2
- package/types/state/types.d.ts.map +1 -1
- package/types/webmcp/index.d.ts +78 -0
- package/types/webmcp/index.d.ts.map +1 -0
- package/types/webmcp/project.d.ts +59 -0
- package/types/webmcp/project.d.ts.map +1 -0
- package/types/webmcp/resolve.d.ts +11 -0
- package/types/webmcp/resolve.d.ts.map +1 -0
- package/types/webmcp/tools/describe-state.d.ts +70 -0
- package/types/webmcp/tools/describe-state.d.ts.map +1 -0
- package/types/webmcp/tools/fill-form-skill.d.ts +24 -0
- package/types/webmcp/tools/fill-form-skill.d.ts.map +1 -0
- package/types/webmcp/tools/get-data.d.ts +31 -0
- package/types/webmcp/tools/get-data.d.ts.map +1 -0
- package/types/webmcp/tools/get-field-suggestions.d.ts +66 -0
- package/types/webmcp/tools/get-field-suggestions.d.ts.map +1 -0
- package/types/webmcp/tools/set-data.d.ts +65 -0
- package/types/webmcp/tools/set-data.d.ts.map +1 -0
- package/types/webmcp/tools/set-field-value.d.ts +73 -0
- package/types/webmcp/tools/set-field-value.d.ts.map +1 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file getFieldSuggestions tool
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { resolveNode } from '../resolve.js'
|
|
6
|
+
|
|
7
|
+
export const inputSchema = {
|
|
8
|
+
type: 'object',
|
|
9
|
+
properties: {
|
|
10
|
+
path: {
|
|
11
|
+
type: 'string',
|
|
12
|
+
description: 'Path to the field'
|
|
13
|
+
},
|
|
14
|
+
query: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
description: 'Search query to filter suggestions'
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
required: ['path']
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const outputSchema = {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
items: {
|
|
26
|
+
type: 'array',
|
|
27
|
+
items: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
value: {},
|
|
31
|
+
title: { type: 'string' },
|
|
32
|
+
key: { type: 'string' }
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @param {string} dataTitle
|
|
41
|
+
* @returns {string}
|
|
42
|
+
*/
|
|
43
|
+
export function getDescription (dataTitle) {
|
|
44
|
+
return `Get available options for a select/autocomplete/combobox field of form "${dataTitle}". Supports query-based filtering.`
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @param {import('../../state/index.js').StatefulLayout} statefulLayout
|
|
49
|
+
* @param {{ path: string, query?: string }} args
|
|
50
|
+
* @returns {Promise<{items: Array<{value: unknown, title: string, key?: string}>}>}
|
|
51
|
+
*/
|
|
52
|
+
export async function execute (statefulLayout, args) {
|
|
53
|
+
const node = resolveNode(statefulLayout.stateTree.root, args.path)
|
|
54
|
+
if (!node) {
|
|
55
|
+
throw new Error(`node not found at path: ${args.path}`)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (node.layout.comp === 'one-of-select') {
|
|
59
|
+
const layout = /** @type {Record<string, unknown>} */(node.layout)
|
|
60
|
+
const oneOfItems = /** @type {Array<{header?: boolean, key: number, title: string}>|undefined} */(layout.oneOfItems)
|
|
61
|
+
const items = (oneOfItems || [])
|
|
62
|
+
.filter((item) => !item.header)
|
|
63
|
+
.map((item) => ({ value: item.key, title: item.title }))
|
|
64
|
+
return { items }
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const rawItems = await statefulLayout.getItems(node, args.query)
|
|
68
|
+
|
|
69
|
+
const items = rawItems
|
|
70
|
+
.filter((item) => !item.header)
|
|
71
|
+
.map((item) => {
|
|
72
|
+
/** @type {{value: unknown, title: string, key?: string}} */
|
|
73
|
+
const result = {
|
|
74
|
+
value: item.value,
|
|
75
|
+
title: item.title
|
|
76
|
+
}
|
|
77
|
+
if (/** @type {unknown} */(item.key) !== item.title) {
|
|
78
|
+
result.key = /** @type {string} */(item.key)
|
|
79
|
+
}
|
|
80
|
+
return result
|
|
81
|
+
})
|
|
82
|
+
|
|
83
|
+
return { items }
|
|
84
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file setData tool
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { projectStateTree, collectErrors } from '../project.js'
|
|
6
|
+
|
|
7
|
+
export const inputSchema = {
|
|
8
|
+
type: 'object',
|
|
9
|
+
properties: {
|
|
10
|
+
data: {
|
|
11
|
+
description: 'The form data object to set'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
required: ['data']
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export const outputSchema = {
|
|
18
|
+
type: 'object',
|
|
19
|
+
properties: {
|
|
20
|
+
state: { type: 'object' },
|
|
21
|
+
valid: { type: 'boolean' },
|
|
22
|
+
errors: {
|
|
23
|
+
type: 'array',
|
|
24
|
+
items: {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties: {
|
|
27
|
+
path: { type: 'string' },
|
|
28
|
+
message: { type: 'string' }
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param {string} dataTitle
|
|
37
|
+
* @returns {string}
|
|
38
|
+
*/
|
|
39
|
+
export function getDescription (dataTitle) {
|
|
40
|
+
return `Bulk-set the "${dataTitle}" data. Use for initial fill or replacing all data at once.`
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @param {import('../../state/index.js').StatefulLayout} statefulLayout
|
|
45
|
+
* @param {{ data: unknown }} args
|
|
46
|
+
* @returns {{ state: ReturnType<typeof projectStateTree>, valid: boolean, errors: Array<{path: string, message: string}> }}
|
|
47
|
+
*/
|
|
48
|
+
export function execute (statefulLayout, args) {
|
|
49
|
+
statefulLayout.data = args.data
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
state: projectStateTree(statefulLayout.stateTree, statefulLayout),
|
|
53
|
+
valid: statefulLayout.valid,
|
|
54
|
+
errors: collectErrors(statefulLayout.stateTree.root)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file setFieldValue tool
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { projectStateTree, 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 field (e.g. "/name", "/items/0/quantity")'
|
|
14
|
+
},
|
|
15
|
+
value: {
|
|
16
|
+
description: 'The value to set'
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
required: ['path', 'value']
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export const outputSchema = {
|
|
23
|
+
type: 'object',
|
|
24
|
+
properties: {
|
|
25
|
+
state: { type: 'object' },
|
|
26
|
+
valid: { type: 'boolean' },
|
|
27
|
+
errors: {
|
|
28
|
+
type: 'array',
|
|
29
|
+
items: {
|
|
30
|
+
type: 'object',
|
|
31
|
+
properties: {
|
|
32
|
+
path: { type: 'string' },
|
|
33
|
+
message: { type: 'string' }
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @param {string} dataTitle
|
|
42
|
+
* @returns {string}
|
|
43
|
+
*/
|
|
44
|
+
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.`
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @param {import('../../state/index.js').StatefulLayout} statefulLayout
|
|
50
|
+
* @param {{ path: string, value: unknown }} args
|
|
51
|
+
* @returns {{ state: ReturnType<typeof projectStateTree>, valid: boolean, errors: Array<{path: string, message: string}> }}
|
|
52
|
+
*/
|
|
53
|
+
export function execute (statefulLayout, args) {
|
|
54
|
+
const node = resolveNode(statefulLayout.stateTree.root, args.path)
|
|
55
|
+
if (!node) {
|
|
56
|
+
throw new Error(`node not found at path: ${args.path}`)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
if (node.key === '$oneOf' && typeof args.value === 'number') {
|
|
60
|
+
statefulLayout.activateItem(node, args.value)
|
|
61
|
+
} else {
|
|
62
|
+
statefulLayout.input(node, args.value)
|
|
63
|
+
statefulLayout.blur(node)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
state: projectStateTree(statefulLayout.stateTree, statefulLayout),
|
|
68
|
+
valid: statefulLayout.valid,
|
|
69
|
+
errors: collectErrors(statefulLayout.stateTree.root)
|
|
70
|
+
}
|
|
71
|
+
}
|
package/types/i18n/de.d.ts
CHANGED
|
@@ -13,25 +13,6 @@ declare const _default: {
|
|
|
13
13
|
up: string;
|
|
14
14
|
down: string;
|
|
15
15
|
showHelp: string;
|
|
16
|
-
mdeLink1: string;
|
|
17
|
-
mdeLink2: string;
|
|
18
|
-
mdeImg1: string;
|
|
19
|
-
mdeImg2: string;
|
|
20
|
-
mdeTable1: string;
|
|
21
|
-
mdeTable2: string;
|
|
22
|
-
bold: string;
|
|
23
|
-
italic: string;
|
|
24
|
-
heading: string;
|
|
25
|
-
quote: string;
|
|
26
|
-
unorderedList: string;
|
|
27
|
-
orderedList: string;
|
|
28
|
-
createLink: string;
|
|
29
|
-
insertImage: string;
|
|
30
|
-
createTable: string;
|
|
31
|
-
preview: string;
|
|
32
|
-
mdeGuide: string;
|
|
33
|
-
undo: string;
|
|
34
|
-
redo: string;
|
|
35
16
|
default: string;
|
|
36
17
|
name: string;
|
|
37
18
|
examples: string;
|
package/types/i18n/en.d.ts
CHANGED
|
@@ -13,25 +13,6 @@ declare const _default: {
|
|
|
13
13
|
up: string;
|
|
14
14
|
down: string;
|
|
15
15
|
showHelp: string;
|
|
16
|
-
mdeLink1: string;
|
|
17
|
-
mdeLink2: string;
|
|
18
|
-
mdeImg1: string;
|
|
19
|
-
mdeImg2: string;
|
|
20
|
-
mdeTable1: string;
|
|
21
|
-
mdeTable2: string;
|
|
22
|
-
bold: string;
|
|
23
|
-
italic: string;
|
|
24
|
-
heading: string;
|
|
25
|
-
quote: string;
|
|
26
|
-
unorderedList: string;
|
|
27
|
-
orderedList: string;
|
|
28
|
-
createLink: string;
|
|
29
|
-
insertImage: string;
|
|
30
|
-
createTable: string;
|
|
31
|
-
preview: string;
|
|
32
|
-
mdeGuide: string;
|
|
33
|
-
undo: string;
|
|
34
|
-
redo: string;
|
|
35
16
|
default: string;
|
|
36
17
|
name: string;
|
|
37
18
|
examples: string;
|
package/types/i18n/fr.d.ts
CHANGED
|
@@ -13,25 +13,6 @@ declare const _default: {
|
|
|
13
13
|
up: string;
|
|
14
14
|
down: string;
|
|
15
15
|
showHelp: string;
|
|
16
|
-
mdeLink1: string;
|
|
17
|
-
mdeLink2: string;
|
|
18
|
-
mdeImg1: string;
|
|
19
|
-
mdeImg2: string;
|
|
20
|
-
mdeTable1: string;
|
|
21
|
-
mdeTable2: string;
|
|
22
|
-
bold: string;
|
|
23
|
-
italic: string;
|
|
24
|
-
heading: string;
|
|
25
|
-
quote: string;
|
|
26
|
-
unorderedList: string;
|
|
27
|
-
orderedList: string;
|
|
28
|
-
createLink: string;
|
|
29
|
-
insertImage: string;
|
|
30
|
-
createTable: string;
|
|
31
|
-
preview: string;
|
|
32
|
-
mdeGuide: string;
|
|
33
|
-
undo: string;
|
|
34
|
-
redo: string;
|
|
35
16
|
default: string;
|
|
36
17
|
name: string;
|
|
37
18
|
examples: string;
|
package/types/i18n/nl.d.ts
CHANGED
|
@@ -13,25 +13,6 @@ declare const _default: {
|
|
|
13
13
|
up: string;
|
|
14
14
|
down: string;
|
|
15
15
|
showHelp: string;
|
|
16
|
-
mdeLink1: string;
|
|
17
|
-
mdeLink2: string;
|
|
18
|
-
mdeImg1: string;
|
|
19
|
-
mdeImg2: string;
|
|
20
|
-
mdeTable1: string;
|
|
21
|
-
mdeTable2: string;
|
|
22
|
-
bold: string;
|
|
23
|
-
italic: string;
|
|
24
|
-
heading: string;
|
|
25
|
-
quote: string;
|
|
26
|
-
unorderedList: string;
|
|
27
|
-
orderedList: string;
|
|
28
|
-
createLink: string;
|
|
29
|
-
insertImage: string;
|
|
30
|
-
createTable: string;
|
|
31
|
-
preview: string;
|
|
32
|
-
mdeGuide: string;
|
|
33
|
-
undo: string;
|
|
34
|
-
redo: string;
|
|
35
16
|
default: string;
|
|
36
17
|
name: string;
|
|
37
18
|
examples: string;
|
package/types/i18n/types.d.ts
CHANGED
|
@@ -16,25 +16,6 @@ export interface StateOptionsMessages {
|
|
|
16
16
|
up: string;
|
|
17
17
|
down: string;
|
|
18
18
|
showHelp: string;
|
|
19
|
-
mdeLink1: string;
|
|
20
|
-
mdeLink2: string;
|
|
21
|
-
mdeImg1: string;
|
|
22
|
-
mdeImg2: string;
|
|
23
|
-
mdeTable1: string;
|
|
24
|
-
mdeTable2: string;
|
|
25
|
-
bold: string;
|
|
26
|
-
italic: string;
|
|
27
|
-
heading: string;
|
|
28
|
-
quote: string;
|
|
29
|
-
unorderedList: string;
|
|
30
|
-
orderedList: string;
|
|
31
|
-
createLink: string;
|
|
32
|
-
insertImage: string;
|
|
33
|
-
createTable: string;
|
|
34
|
-
preview: string;
|
|
35
|
-
mdeGuide: string;
|
|
36
|
-
undo: string;
|
|
37
|
-
redo: string;
|
|
38
19
|
keyboardDate: string;
|
|
39
20
|
keyboardDateTime: string;
|
|
40
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/i18n/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAEhE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,oBAAoB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":";;AAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,mEAAmE;AACnE,wBADW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,IAAI,WAAW,CACY;AAE3E,iLAAiL;AACjL,0BADW,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,yBAAyB,EAAE,aAAa,CAAC,KAAK,IAAI,IAAI,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAC5E;AAOjG;IAiIE;;;;;OAKG;IACH,4BALW,OAAO,aAAa,EAAE,cAAc,gBACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,CAAC,qBAAqB,CAAC,SAC9B,OAAO,EAejB;IAnJD;;;;OAIG;IACH,iCAAe;IACf,mEAAqD;IAErD;;;OAGG;IAEH,mBAAU;IACV,gDAA2C;IAE3C;;;OAGG;IACH,uBAFU,OAAO,aAAa,EAAE,YAAY,CAEhC;IAEZ;;;OAGG;IAEH,iBAAQ;IACR,uBAAuC;IAEvC;;;OAGG;IAEH,yBAAgB;IAQhB;;;OAGG;IACH,qCAFW,OAAO,CAAC,OAAO,YAAY,EAAE,eAAe,CAAC,EASvD;IAlBD;;OAEG;IACH,uBAFa,OAAO,YAAY,EAAE,eAAe,CAIhD;IAeD;;;OAGG;IAEH,iBAAQ;IAKR;;OAEG;IACH,qBAFW,OAAO,CAAC,qBAAqB,CAAC,EAMxC;IAXD;;OAEG;IACH,eAFa,qBAAqB,CAEK;IAUvC;;;OAGG;IACH,cAAK;IAEL,wBAIC;IALD,oBAAiC;IAOjC;;;OAGG;IACH,sBAAa;IAEb;;;OAGG;IACH,4BAA2B;IAE3B;;;OAGG;IACH,sBAAoB;IAEpB;;;OAGG;IAEH,oCAA2B;IAE3B;;;OAGG;IACH,yBAAgB;IAChB;;;OAGG;IACH,iCAAwB;IAExB;;OAEG;IACH,OAFU,OAAO,EAAE,CAET;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/state/index.js"],"names":[],"mappings":"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"}
|
|
@@ -27,10 +27,11 @@ export function evalExpression(expressions: import("../index.js").CompiledExpres
|
|
|
27
27
|
* @param {any} data
|
|
28
28
|
* @param {import('../compile/types.js').ParentContextExpression | null} parentContext
|
|
29
29
|
* @param {import('./types.js').ValidationState} validationState
|
|
30
|
+
* @param {number} titleDepth
|
|
30
31
|
* @param {import('./types.js').StateNode} [reusedNode]
|
|
31
32
|
* @returns {import('./types.js').StateNode}
|
|
32
33
|
*/
|
|
33
|
-
export function createStateNode(context: import("./types.js").CreateStateTreeContext, parentOptions: import("./types.js").StateNodeOptions, compiledLayout: import("../index.js").CompiledLayout, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import("../index.js").SkeletonNode, childDefinition: import("@json-layout/vocabulary").Child | null, parentDisplay: import("./utils/display.js").Display, data: any, parentContext: import("../compile/types.js").ParentContextExpression | null, validationState: import("./types.js").ValidationState, reusedNode?: import("./types.js").StateNode): import("./types.js").StateNode;
|
|
34
|
+
export function createStateNode(context: import("./types.js").CreateStateTreeContext, parentOptions: import("./types.js").StateNodeOptions, compiledLayout: import("../index.js").CompiledLayout, key: string | number, fullKey: string, parentFullKey: string | null, dataPath: string, parentDataPath: string | null, skeleton: import("../index.js").SkeletonNode, childDefinition: import("@json-layout/vocabulary").Child | null, parentDisplay: import("./utils/display.js").Display, data: any, parentContext: import("../compile/types.js").ParentContextExpression | null, validationState: import("./types.js").ValidationState, titleDepth: number, reusedNode?: import("./types.js").StateNode): import("./types.js").StateNode;
|
|
34
35
|
export function useDefaultData(data: unknown, layout: import("@json-layout/vocabulary").BaseCompObject, options: import("./types.js").StateNodeOptions): boolean;
|
|
35
36
|
/** @type {(draft: any, node: import('./types.js').StateNode, data: unknown) => any} */
|
|
36
37
|
export const producePatchedData: (draft: any, node: import("./types.js").StateNode, data: unknown) => any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-node.d.ts","sourceRoot":"","sources":["../../src/state/state-node.js"],"names":[],"mappings":"
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"AA8BA;;;;;;;;;;GAUG;AACH,yCAVW,OAAO,YAAY,EAAE,sBAAsB,WAC3C,OAAO,YAAY,EAAE,qBAAqB,kBAC1C,OAAO,aAAa,EAAE,cAAc,YACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,oBACpC,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"state-tree.d.ts","sourceRoot":"","sources":["../../src/state/state-tree.js"],"names":[],"mappings":"AA8BA;;;;;;;;;;GAUG;AACH,yCAVW,OAAO,YAAY,EAAE,sBAAsB,WAC3C,OAAO,YAAY,EAAE,qBAAqB,kBAC1C,OAAO,aAAa,EAAE,cAAc,YACpC,OAAO,aAAa,EAAE,YAAY,WAClC,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,mBACP,OAAO,YAAY,EAAE,eAAe,oBACpC,OAAO,YAAY,EAAE,SAAS,GAC5B,OAAO,YAAY,EAAE,SAAS,CAoF1C"}
|
package/types/state/types.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface StateNode {
|
|
|
17
17
|
validated: boolean;
|
|
18
18
|
width: number;
|
|
19
19
|
options: StateNodeOptions;
|
|
20
|
+
titleDepth: number;
|
|
20
21
|
messages: LocaleMessages;
|
|
21
22
|
autofocus?: boolean;
|
|
22
23
|
loading?: boolean;
|
|
@@ -45,6 +46,7 @@ export interface CreateStateTreeContext {
|
|
|
45
46
|
cacheKeys: Record<string, StateNodeCacheKey>;
|
|
46
47
|
rootData: unknown;
|
|
47
48
|
nodes: StateNode[];
|
|
49
|
+
nodesMap: Map<string, StateNode>;
|
|
48
50
|
getItemsDataRequests: StateNode[];
|
|
49
51
|
}
|
|
50
52
|
export interface FileRef {
|
|
@@ -64,12 +66,13 @@ export type StateNodeCacheKey = [
|
|
|
64
66
|
Record<string, number | string>,
|
|
65
67
|
boolean,
|
|
66
68
|
number,
|
|
67
|
-
unknown
|
|
69
|
+
unknown,
|
|
70
|
+
number
|
|
68
71
|
];
|
|
69
72
|
export interface ValidationState {
|
|
70
73
|
initialized: boolean;
|
|
71
74
|
validatedForm: boolean;
|
|
72
|
-
validatedChildren: string
|
|
75
|
+
validatedChildren: Set<string>;
|
|
73
76
|
}
|
|
74
77
|
export type StateNodeOptions = Required<StateNodeOptionsBase & {
|
|
75
78
|
context: Record<string, any>;
|
|
@@ -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":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,OAAO,EACZ,KAAK,IAAI,EACT,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,IAAI,EACT,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5G,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAGtD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,QAAQ,EAAE,YAAY,CAAA;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,gBAAgB,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,cAAc,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,KAAK,CAAC,EAAE,iBAAiB,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,aAAa,EAAE,GAAG,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAA;IACtB,eAAe,CAAC,EAAE,WAAW,EAAE,CAAA;IAC/B,0BAA0B,CAAC,EAAE,WAAW,EAAE,CAAA;IAC1C,KAAK,EAAE,OAAO,EAAE,CAAA;IAChB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IAC/C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACnD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC5C,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,oBAAoB,EAAE,SAAS,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,GAAG,SAAS;IACrB,gBAAgB;IAChB,cAAc;IACd,MAAM;IACN,OAAO;IACP,YAAY;IACZ,KAAK,GAAG,IAAI;IACZ,MAAM;IACN,OAAO;IACP,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAA;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAA;IACpB,aAAa,EAAE,OAAO,CAAA;IACtB,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC/B;AAGD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,oBAAoB,GAAG;IAC7D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,QAAQ,EAAE,cAAc,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;IACnF,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,KAAK,GAAG,CAAC,CAAA;IACxD,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAA;IAC3B,QAAQ,EAAE,CAAC,cAAc,EAAE,cAAc,KAAK,IAAI,CAAA;IAClD,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,YAAY,EAAE,OAAO,CAAA;CACtB,CAAC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,GAAG;IACrD,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAID,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEhH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE9G,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEpH,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE1G,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE/G,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE3G,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAElH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAE1H,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAElH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEpH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAE/H,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAEpF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAEhG,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAExF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAE3F,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,CAAA;AAEzF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAE1E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAE1F,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEhG,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA;AAEhF,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAAC,aAAa,EAAE,YAAY,EAAE,CAAA;CAAE,CAAA;AAEtH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAA;CAAE,CAAA;AAE1F,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;CAAE,CAAA;AAEhH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,EAAE,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
/**
|
|
8
|
+
* WebMCP class that provides MCP tool descriptors for a StatefulLayout instance
|
|
9
|
+
*/
|
|
10
|
+
export class WebMCP {
|
|
11
|
+
/**
|
|
12
|
+
* @param {import('../state/index.js').StatefulLayout} statefulLayout
|
|
13
|
+
* @param {WebMCPOptions} [options]
|
|
14
|
+
*/
|
|
15
|
+
constructor(statefulLayout: import("../state/index.js").StatefulLayout, options?: WebMCPOptions);
|
|
16
|
+
/**
|
|
17
|
+
* @readonly
|
|
18
|
+
* @type {import('../state/index.js').StatefulLayout}
|
|
19
|
+
*/
|
|
20
|
+
readonly _statefulLayout: import("../state/index.js").StatefulLayout;
|
|
21
|
+
/**
|
|
22
|
+
* @readonly
|
|
23
|
+
* @type {string}
|
|
24
|
+
*/
|
|
25
|
+
readonly _prefixName: string;
|
|
26
|
+
/**
|
|
27
|
+
* @readonly
|
|
28
|
+
* @type {string}
|
|
29
|
+
*/
|
|
30
|
+
readonly _dataTitle: string;
|
|
31
|
+
/**
|
|
32
|
+
* @readonly
|
|
33
|
+
* @type {string}
|
|
34
|
+
*/
|
|
35
|
+
readonly _skill: string;
|
|
36
|
+
/**
|
|
37
|
+
* @readonly
|
|
38
|
+
* @type {object | null}
|
|
39
|
+
*/
|
|
40
|
+
readonly _schema: object | null;
|
|
41
|
+
/**
|
|
42
|
+
* @type {string[]}
|
|
43
|
+
*/
|
|
44
|
+
_registeredTools: string[];
|
|
45
|
+
/**
|
|
46
|
+
* @param {string} name
|
|
47
|
+
* @returns {string}
|
|
48
|
+
*/
|
|
49
|
+
_toolName(name: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* @returns {ToolDescriptor[]}
|
|
52
|
+
*/
|
|
53
|
+
getTools(): ToolDescriptor[];
|
|
54
|
+
/**
|
|
55
|
+
* @returns {Promise<void>}
|
|
56
|
+
*/
|
|
57
|
+
registerTools(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* @returns {Promise<void>}
|
|
60
|
+
*/
|
|
61
|
+
unregisterTools(): Promise<void>;
|
|
62
|
+
}
|
|
63
|
+
export type ToolDescriptor = import("@mcp-b/webmcp-types").ToolDescriptor;
|
|
64
|
+
export type WebMCPOptions = {
|
|
65
|
+
/**
|
|
66
|
+
* - Prefix for all tool names
|
|
67
|
+
*/
|
|
68
|
+
prefixName?: string | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* - Title used in descriptions (default: 'form')
|
|
71
|
+
*/
|
|
72
|
+
dataTitle?: string | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* - The original JSON schema
|
|
75
|
+
*/
|
|
76
|
+
schema?: object | undefined;
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {import('../state/types.js').StateNode} node
|
|
3
|
+
* @param {import('../state/index.js').StatefulLayout} statefulLayout
|
|
4
|
+
* @returns {{
|
|
5
|
+
* key: string|number,
|
|
6
|
+
* path: string,
|
|
7
|
+
* comp: string,
|
|
8
|
+
* data: unknown,
|
|
9
|
+
* title?: string,
|
|
10
|
+
* label?: string,
|
|
11
|
+
* help?: string,
|
|
12
|
+
* error?: string,
|
|
13
|
+
* childError?: boolean,
|
|
14
|
+
* required?: boolean,
|
|
15
|
+
* readOnly?: boolean,
|
|
16
|
+
* constraints?: Record<string, unknown>,
|
|
17
|
+
* oneOfItems?: Array<{key: number, title: string}>,
|
|
18
|
+
* children?: Array<any>
|
|
19
|
+
* getSuffections?: boolean
|
|
20
|
+
* }}
|
|
21
|
+
*/
|
|
22
|
+
export function projectNode(node: import("../state/types.js").StateNode, statefulLayout: import("../state/index.js").StatefulLayout): {
|
|
23
|
+
key: string | number;
|
|
24
|
+
path: string;
|
|
25
|
+
comp: string;
|
|
26
|
+
data: unknown;
|
|
27
|
+
title?: string;
|
|
28
|
+
label?: string;
|
|
29
|
+
help?: string;
|
|
30
|
+
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
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* @param {import('../state/types.js').StateTree} stateTree
|
|
44
|
+
* @param {import('../state/index.js').StatefulLayout} statefulLayout
|
|
45
|
+
* @returns {{ root: ReturnType<typeof projectNode>, valid: boolean }}
|
|
46
|
+
*/
|
|
47
|
+
export function projectStateTree(stateTree: import("../state/types.js").StateTree, statefulLayout: import("../state/index.js").StatefulLayout): {
|
|
48
|
+
root: ReturnType<typeof projectNode>;
|
|
49
|
+
valid: boolean;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* @param {import('../state/types.js').StateNode} node
|
|
53
|
+
* @returns {Array<{path: string, message: string}>}
|
|
54
|
+
*/
|
|
55
|
+
export function collectErrors(node: import("../state/types.js").StateNode): Array<{
|
|
56
|
+
path: string;
|
|
57
|
+
message: string;
|
|
58
|
+
}>;
|
|
59
|
+
//# sourceMappingURL=project.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Node resolution for webmcp tools
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Navigate from a root StateNode to a descendant node by path.
|
|
6
|
+
* @param {import('../state/types.js').StateNode} root
|
|
7
|
+
* @param {string} path
|
|
8
|
+
* @returns {import('../state/types.js').StateNode|undefined}
|
|
9
|
+
*/
|
|
10
|
+
export function resolveNode(root: import("../state/types.js").StateNode, path: string): import("../state/types.js").StateNode | undefined;
|
|
11
|
+
//# sourceMappingURL=resolve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/webmcp/resolve.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,kCAJW,OAAO,mBAAmB,EAAE,SAAS,QACrC,MAAM,GACJ,OAAO,mBAAmB,EAAE,SAAS,GAAC,SAAS,CAgB3D"}
|