@maxhealth.tech/prefab 0.2.17 → 0.2.19
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/CHANGELOG.md +159 -20
- package/dist/app.d.ts +19 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +19 -1
- package/dist/app.js.map +1 -1
- package/dist/auto/form.d.ts +48 -0
- package/dist/auto/form.d.ts.map +1 -1
- package/dist/auto/form.js +77 -0
- package/dist/auto/form.js.map +1 -1
- package/dist/auto/index.d.ts +1 -1
- package/dist/auto/index.d.ts.map +1 -1
- package/dist/auto/index.js +1 -1
- package/dist/auto/index.js.map +1 -1
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/alert/index.d.ts.map +1 -1
- package/dist/components/card/index.d.ts +5 -1
- package/dist/components/card/index.d.ts.map +1 -1
- package/dist/components/card/index.js +5 -1
- package/dist/components/card/index.js.map +1 -1
- package/dist/components/control/index.d.ts +23 -2
- package/dist/components/control/index.d.ts.map +1 -1
- package/dist/components/control/index.js +37 -2
- package/dist/components/control/index.js.map +1 -1
- package/dist/components/layout/index.d.ts +7 -3
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +22 -5
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/media/index.d.ts +14 -1
- package/dist/components/media/index.d.ts.map +1 -1
- package/dist/components/media/index.js +20 -4
- package/dist/components/media/index.js.map +1 -1
- package/dist/mcp/display.d.ts +78 -0
- package/dist/mcp/display.d.ts.map +1 -1
- package/dist/mcp/display.js +90 -3
- package/dist/mcp/display.js.map +1 -1
- package/dist/mcp/index.d.ts +3 -3
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/types.d.ts +39 -11
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +4 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/prefab.css +129 -100
- package/dist/renderer/bridge.d.ts +2 -0
- package/dist/renderer/bridge.d.ts.map +1 -1
- package/dist/renderer/bridge.js +17 -0
- package/dist/renderer/bridge.js.map +1 -1
- package/dist/renderer/index.js +3 -7
- package/dist/renderer/index.js.map +1 -1
- package/dist/renderer.auto.min.js +3 -3
- package/dist/renderer.min.js +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/control/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAIpF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,UAAU,EAAE,KAAK,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAO/D;AAID,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,SAAS,EAAE,KAAK,CAAA;CACjB;AAED,wBAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/control/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAIpF,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,UAAU,EAAE,KAAK,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,kBAAkB,CAO/D;AAID,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,SAAS,EAAE,KAAK,CAAA;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,EAAE,CAAC,gBAAgB,EAAE,cAAc,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAWvG;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,gBAAgB,EAAE,cAAc,GAAG,KAAK,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAWzG;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAE/D;AAID;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAI7D;AAID;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC9C,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,CAO9C;AAID;;;GAGG;AACH,MAAM,WAAW,SAAU,SAAQ,cAAc;IAC/C,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,wBAAgB,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAOjD"}
|
|
@@ -10,12 +10,47 @@ export function ForEach(props) {
|
|
|
10
10
|
});
|
|
11
11
|
return c;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Conditional rendering.
|
|
15
|
+
*
|
|
16
|
+
* @example Full props form:
|
|
17
|
+
* ```ts
|
|
18
|
+
* If({ condition: '$count > 0', children: [Text({ text: 'Has items' })] })
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example Shorthand (condition + children):
|
|
22
|
+
* ```ts
|
|
23
|
+
* If('$count > 0', [Text({ text: 'Has items' })])
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export function If(propsOrCondition, children) {
|
|
27
|
+
if (typeof propsOrCondition === 'string' || typeof propsOrCondition === 'object' && 'subscribe' in propsOrCondition) {
|
|
28
|
+
const c = new ContainerComponent('If', { children });
|
|
29
|
+
const condition = propsOrCondition;
|
|
30
|
+
c.getProps = () => ({ condition: String(condition) });
|
|
31
|
+
return c;
|
|
32
|
+
}
|
|
33
|
+
const props = propsOrCondition;
|
|
14
34
|
const c = new ContainerComponent('If', props);
|
|
15
35
|
c.getProps = () => ({ condition: String(props.condition) });
|
|
16
36
|
return c;
|
|
17
37
|
}
|
|
18
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Else-if conditional rendering.
|
|
40
|
+
*
|
|
41
|
+
* @example Shorthand:
|
|
42
|
+
* ```ts
|
|
43
|
+
* Elif('$count === 0', [Text({ text: 'Empty' })])
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export function Elif(propsOrCondition, children) {
|
|
47
|
+
if (typeof propsOrCondition === 'string' || typeof propsOrCondition === 'object' && 'subscribe' in propsOrCondition) {
|
|
48
|
+
const c = new ContainerComponent('Elif', { children });
|
|
49
|
+
const condition = propsOrCondition;
|
|
50
|
+
c.getProps = () => ({ condition: String(condition) });
|
|
51
|
+
return c;
|
|
52
|
+
}
|
|
53
|
+
const props = propsOrCondition;
|
|
19
54
|
const c = new ContainerComponent('Elif', props);
|
|
20
55
|
c.getProps = () => ({ condition: String(props.condition) });
|
|
21
56
|
return c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/control/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAUvE,MAAM,UAAU,OAAO,CAAC,KAAmB;IACzC,MAAM,CAAC,GAAG,IAAI,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QACpC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACrC,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAQD,MAAM,UAAU,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/control/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,15 +4,19 @@
|
|
|
4
4
|
import { ContainerComponent, type Component } from '../../core/component.js';
|
|
5
5
|
import type { ContainerProps, RxStr } from '../../core/component.js';
|
|
6
6
|
import type { Ref } from '../../rx/collection.js';
|
|
7
|
+
/** Semantic gap tokens → numeric values (matching Tailwind spacing scale). */
|
|
8
|
+
export type GapToken = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
9
|
+
/** Accepts a numeric gap OR a semantic token. Resolves to a number. */
|
|
10
|
+
export type Gap = number | GapToken;
|
|
7
11
|
export interface ColumnProps extends ContainerProps {
|
|
8
|
-
gap?:
|
|
12
|
+
gap?: Gap;
|
|
9
13
|
align?: string;
|
|
10
14
|
}
|
|
11
15
|
export declare function Column(props: ColumnProps & {
|
|
12
16
|
children?: Component[];
|
|
13
17
|
}): ContainerComponent;
|
|
14
18
|
export interface RowProps extends ContainerProps {
|
|
15
|
-
gap?:
|
|
19
|
+
gap?: Gap;
|
|
16
20
|
align?: string;
|
|
17
21
|
}
|
|
18
22
|
export declare function Row(props: RowProps & {
|
|
@@ -20,7 +24,7 @@ export declare function Row(props: RowProps & {
|
|
|
20
24
|
}): ContainerComponent;
|
|
21
25
|
export interface GridProps extends ContainerProps {
|
|
22
26
|
columns?: number | Record<string, number>;
|
|
23
|
-
gap?:
|
|
27
|
+
gap?: Gap;
|
|
24
28
|
minColumnWidth?: string;
|
|
25
29
|
align?: string;
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAIjD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,25 @@
|
|
|
2
2
|
* Layout components — Column, Row, Grid, Container, Div, Span, etc.
|
|
3
3
|
*/
|
|
4
4
|
import { ContainerComponent } from '../../core/component.js';
|
|
5
|
+
const GAP_MAP = {
|
|
6
|
+
none: 0,
|
|
7
|
+
xs: 1,
|
|
8
|
+
sm: 2,
|
|
9
|
+
md: 3,
|
|
10
|
+
lg: 4,
|
|
11
|
+
xl: 6,
|
|
12
|
+
'2xl': 8,
|
|
13
|
+
};
|
|
14
|
+
function resolveGap(gap) {
|
|
15
|
+
if (gap === undefined)
|
|
16
|
+
return undefined;
|
|
17
|
+
if (typeof gap === 'number')
|
|
18
|
+
return gap;
|
|
19
|
+
return GAP_MAP[gap];
|
|
20
|
+
}
|
|
5
21
|
export function Column(props) {
|
|
6
|
-
|
|
7
|
-
const gapClass =
|
|
22
|
+
const numGap = resolveGap(props.gap);
|
|
23
|
+
const gapClass = numGap !== undefined ? `gap-${numGap}` : undefined;
|
|
8
24
|
const mergedCss = [props.cssClass, gapClass].filter(Boolean).join(' ') || undefined;
|
|
9
25
|
const c = new ContainerComponent('Column', { ...props, cssClass: mergedCss });
|
|
10
26
|
Object.assign(c, { _gap: props.gap, _align: props.align });
|
|
@@ -16,8 +32,8 @@ export function Column(props) {
|
|
|
16
32
|
return c;
|
|
17
33
|
}
|
|
18
34
|
export function Row(props) {
|
|
19
|
-
|
|
20
|
-
const gapClass =
|
|
35
|
+
const numGap = resolveGap(props.gap);
|
|
36
|
+
const gapClass = numGap !== undefined ? `gap-${numGap}` : undefined;
|
|
21
37
|
const mergedCss = [props.cssClass, gapClass].filter(Boolean).join(' ') || undefined;
|
|
22
38
|
const c = new ContainerComponent('Row', { ...props, cssClass: mergedCss });
|
|
23
39
|
c.getProps = () => ({
|
|
@@ -26,10 +42,11 @@ export function Row(props) {
|
|
|
26
42
|
return c;
|
|
27
43
|
}
|
|
28
44
|
export function Grid(props) {
|
|
45
|
+
const numGap = resolveGap(props.gap);
|
|
29
46
|
const c = new ContainerComponent('Grid', props);
|
|
30
47
|
c.getProps = () => ({
|
|
31
48
|
...(props.columns !== undefined && { columns: props.columns }),
|
|
32
|
-
...(
|
|
49
|
+
...(numGap !== undefined && { gap: numGap }),
|
|
33
50
|
...(props.minColumnWidth && { minColumnWidth: props.minColumnWidth }),
|
|
34
51
|
...(props.align && { align: props.align }),
|
|
35
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAkB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/layout/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,20 @@ export interface ImageProps extends ComponentProps {
|
|
|
7
7
|
src: string;
|
|
8
8
|
alt?: string;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Image component.
|
|
12
|
+
*
|
|
13
|
+
* @example Positional (consistent with Audio, Video, Embed):
|
|
14
|
+
* ```ts
|
|
15
|
+
* Image('https://example.com/photo.jpg', { alt: 'Photo' })
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @example Props form:
|
|
19
|
+
* ```ts
|
|
20
|
+
* Image({ src: 'https://example.com/photo.jpg', alt: 'Photo' })
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function Image(srcOrProps: string | ImageProps, opts?: Omit<ImageProps, 'src'>): Component;
|
|
11
24
|
export declare function Audio(src: string, props?: ComponentProps): Component;
|
|
12
25
|
export declare function Video(src: string, props?: ComponentProps): Component;
|
|
13
26
|
export declare function Embed(src: string, props?: ComponentProps): Component;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/media/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,wBAAgB,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/media/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,SAAS,CAUhG;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAIpE;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAIpE;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAIpE;AAED,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAItE;AAED,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAE1D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,SAAS,CAI1E"}
|
|
@@ -2,11 +2,27 @@
|
|
|
2
2
|
* Media components — Image, Audio, Video, Embed, Svg, DropZone, Mermaid
|
|
3
3
|
*/
|
|
4
4
|
import { Component } from '../../core/component.js';
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Image component.
|
|
7
|
+
*
|
|
8
|
+
* @example Positional (consistent with Audio, Video, Embed):
|
|
9
|
+
* ```ts
|
|
10
|
+
* Image('https://example.com/photo.jpg', { alt: 'Photo' })
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @example Props form:
|
|
14
|
+
* ```ts
|
|
15
|
+
* Image({ src: 'https://example.com/photo.jpg', alt: 'Photo' })
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export function Image(srcOrProps, opts) {
|
|
19
|
+
const src = typeof srcOrProps === 'string' ? srcOrProps : srcOrProps.src;
|
|
20
|
+
const alt = typeof srcOrProps === 'string' ? opts?.alt : srcOrProps.alt;
|
|
21
|
+
const baseProps = typeof srcOrProps === 'string' ? opts : srcOrProps;
|
|
22
|
+
const c = new Component('Image', baseProps);
|
|
7
23
|
c.getProps = () => ({
|
|
8
|
-
src
|
|
9
|
-
...(
|
|
24
|
+
src,
|
|
25
|
+
...(alt && { alt }),
|
|
10
26
|
});
|
|
11
27
|
return c;
|
|
12
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/media/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAQnD,MAAM,UAAU,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/media/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAQnD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAC,UAA+B,EAAE,IAA8B;IACnF,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAA;IACxE,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAA;IACvE,MAAM,SAAS,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAA;IACpE,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC;QAClB,GAAG;QACH,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,CAAC;KACpB,CAAC,CAAA;IACF,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,KAAsB;IACvD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5B,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,KAAsB;IACvD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5B,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW,EAAE,KAAsB;IACvD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5B,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,KAAsB;IACzD,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,CAAA;AACV,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAsB;IAC7C,OAAO,IAAI,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,KAAsB;IAC7D,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAChC,OAAO,CAAC,CAAA;AACV,CAAC"}
|
package/dist/mcp/display.d.ts
CHANGED
|
@@ -99,7 +99,85 @@ export interface DisplayErrorOptions {
|
|
|
99
99
|
* @returns MCP tool result with error UI and isError flag.
|
|
100
100
|
*/
|
|
101
101
|
export declare function display_error(title: string, message: string, options?: DisplayErrorOptions): McpToolResult;
|
|
102
|
+
export interface DisplaySuccessOptions {
|
|
103
|
+
/** Additional detail text below the message. */
|
|
104
|
+
detail?: string;
|
|
105
|
+
/** Theme overrides. */
|
|
106
|
+
theme?: Theme;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Return a standardized success view as an MCP tool result.
|
|
110
|
+
*
|
|
111
|
+
* Renders a success Alert with title + message, optional detail text.
|
|
112
|
+
*
|
|
113
|
+
* @returns MCP tool result with success UI.
|
|
114
|
+
*/
|
|
115
|
+
export declare function display_success(title: string, message: string, options?: DisplaySuccessOptions): McpToolResult;
|
|
102
116
|
export declare const displayForm: typeof display_form;
|
|
103
117
|
export declare const displayUpdate: typeof display_update;
|
|
104
118
|
export declare const displayError: typeof display_error;
|
|
119
|
+
export declare const displaySuccess: typeof display_success;
|
|
120
|
+
/** CSP configuration for MCP Apps resources. */
|
|
121
|
+
export interface McpAppCsp {
|
|
122
|
+
/** Origins allowed for scripts, styles, images, fonts, media. */
|
|
123
|
+
resourceDomains?: string[];
|
|
124
|
+
/** Origins allowed for fetch/XHR/WebSocket. */
|
|
125
|
+
connectDomains?: string[];
|
|
126
|
+
/** Origins allowed for nested iframes. */
|
|
127
|
+
frameDomains?: string[];
|
|
128
|
+
/** Additional allowed base URIs. */
|
|
129
|
+
baseUriDomains?: string[];
|
|
130
|
+
}
|
|
131
|
+
/** Permission Policy requests for MCP Apps resources. */
|
|
132
|
+
export interface McpAppPermissions {
|
|
133
|
+
/** Request camera access (video capture, QR scanning). */
|
|
134
|
+
camera?: boolean;
|
|
135
|
+
/** Request microphone access (audio recording, voice input). */
|
|
136
|
+
microphone?: boolean;
|
|
137
|
+
/** Request geolocation access (location-aware apps, maps). */
|
|
138
|
+
geolocation?: boolean;
|
|
139
|
+
/** Request clipboard write access (copy-to-clipboard). */
|
|
140
|
+
clipboardWrite?: boolean;
|
|
141
|
+
}
|
|
142
|
+
export interface ResourceMetaOptions {
|
|
143
|
+
/** CSP domains configuration. */
|
|
144
|
+
csp?: McpAppCsp;
|
|
145
|
+
/** Permission Policy requests (camera, mic, etc.). */
|
|
146
|
+
permissions?: McpAppPermissions;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Generate the `_meta` object for MCP Apps `ui://` resource registration.
|
|
150
|
+
*
|
|
151
|
+
* Includes CSP and Permission Policy configuration per the MCP Apps spec.
|
|
152
|
+
* Use on both the resource listing AND the content item (VS Code reads
|
|
153
|
+
* only the content item; other hosts may read either).
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```ts
|
|
157
|
+
* const meta = resourceMeta({
|
|
158
|
+
* csp: { resourceDomains: ['https://cdn.jsdelivr.net'] },
|
|
159
|
+
* permissions: { camera: true },
|
|
160
|
+
* })
|
|
161
|
+
*
|
|
162
|
+
* mcp.resource('viewer', 'ui://my/viewer', {
|
|
163
|
+
* mimeType: 'text/html;profile=mcp-app',
|
|
164
|
+
* _meta: meta,
|
|
165
|
+
* }, async (uri) => ({
|
|
166
|
+
* contents: [{ uri: uri.toString(), mimeType: 'text/html;profile=mcp-app', text: html, _meta: meta }],
|
|
167
|
+
* }))
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
export declare function resourceMeta(options?: ResourceMetaOptions): {
|
|
171
|
+
ui: {
|
|
172
|
+
csp?: McpAppCsp;
|
|
173
|
+
permissions?: McpAppPermissions;
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
/** Default CSP meta for prefab apps using jsDelivr CDN. */
|
|
177
|
+
export declare const PREFAB_CDN_META: {
|
|
178
|
+
ui: {
|
|
179
|
+
csp?: McpAppCsp;
|
|
180
|
+
permissions?: McpAppPermissions;
|
|
181
|
+
};
|
|
182
|
+
};
|
|
105
183
|
//# sourceMappingURL=display.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/mcp/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,kCAAkC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAChC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC3B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAA;IAC/C,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,SAAS,EAAE,SAAS,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,aAAa,
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/mcp/display.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/display.js
CHANGED
|
@@ -39,8 +39,10 @@ export function display(viewOrApp, options) {
|
|
|
39
39
|
keyBindings: options?.keyBindings,
|
|
40
40
|
cssClass: options?.cssClass,
|
|
41
41
|
});
|
|
42
|
+
const wire = app.toJSON();
|
|
42
43
|
return {
|
|
43
|
-
content: [{ type: 'text', text: JSON.stringify(
|
|
44
|
+
content: [{ type: 'text', text: JSON.stringify(wire) }],
|
|
45
|
+
structuredContent: wire,
|
|
44
46
|
};
|
|
45
47
|
}
|
|
46
48
|
// ── display_form() ───────────────────────────────────────────────────────────
|
|
@@ -62,8 +64,10 @@ export function display_form(fields, submitTool, options) {
|
|
|
62
64
|
state: options?.state,
|
|
63
65
|
theme: options?.theme,
|
|
64
66
|
});
|
|
67
|
+
const wire = app.toJSON();
|
|
65
68
|
return {
|
|
66
|
-
content: [{ type: 'text', text: JSON.stringify(
|
|
69
|
+
content: [{ type: 'text', text: JSON.stringify(wire) }],
|
|
70
|
+
structuredContent: wire,
|
|
67
71
|
};
|
|
68
72
|
}
|
|
69
73
|
/**
|
|
@@ -81,6 +85,7 @@ export function display_update(state) {
|
|
|
81
85
|
};
|
|
82
86
|
return {
|
|
83
87
|
content: [{ type: 'text', text: JSON.stringify(payload) }],
|
|
88
|
+
structuredContent: payload,
|
|
84
89
|
};
|
|
85
90
|
}
|
|
86
91
|
// ── display_error() ──────────────────────────────────────────────────────────
|
|
@@ -116,13 +121,95 @@ export function display_error(title, message, options) {
|
|
|
116
121
|
view,
|
|
117
122
|
theme: options?.theme,
|
|
118
123
|
});
|
|
124
|
+
const wire = app.toJSON();
|
|
119
125
|
return {
|
|
120
|
-
content: [{ type: 'text', text: JSON.stringify(
|
|
126
|
+
content: [{ type: 'text', text: JSON.stringify(wire) }],
|
|
127
|
+
structuredContent: wire,
|
|
121
128
|
isError: true,
|
|
122
129
|
};
|
|
123
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Return a standardized success view as an MCP tool result.
|
|
133
|
+
*
|
|
134
|
+
* Renders a success Alert with title + message, optional detail text.
|
|
135
|
+
*
|
|
136
|
+
* @returns MCP tool result with success UI.
|
|
137
|
+
*/
|
|
138
|
+
export function display_success(title, message, options) {
|
|
139
|
+
const alertChildren = [
|
|
140
|
+
AlertTitle(title),
|
|
141
|
+
AlertDescription(message),
|
|
142
|
+
];
|
|
143
|
+
const bodyChildren = [
|
|
144
|
+
Alert({ variant: 'success', icon: 'CheckCircle', children: alertChildren }),
|
|
145
|
+
];
|
|
146
|
+
if (options?.detail) {
|
|
147
|
+
bodyChildren.push(Muted(options.detail));
|
|
148
|
+
}
|
|
149
|
+
const view = Column({ gap: 4, cssClass: 'p-6 max-w-2xl', children: bodyChildren });
|
|
150
|
+
const app = new PrefabApp({
|
|
151
|
+
title: 'Success',
|
|
152
|
+
view,
|
|
153
|
+
theme: options?.theme,
|
|
154
|
+
});
|
|
155
|
+
const wire = app.toJSON();
|
|
156
|
+
return {
|
|
157
|
+
content: [{ type: 'text', text: JSON.stringify(wire) }],
|
|
158
|
+
structuredContent: wire,
|
|
159
|
+
};
|
|
160
|
+
}
|
|
124
161
|
// ── camelCase aliases (TS convention) ────────────────────────────────────────
|
|
125
162
|
export const displayForm = display_form;
|
|
126
163
|
export const displayUpdate = display_update;
|
|
127
164
|
export const displayError = display_error;
|
|
165
|
+
export const displaySuccess = display_success;
|
|
166
|
+
/**
|
|
167
|
+
* Generate the `_meta` object for MCP Apps `ui://` resource registration.
|
|
168
|
+
*
|
|
169
|
+
* Includes CSP and Permission Policy configuration per the MCP Apps spec.
|
|
170
|
+
* Use on both the resource listing AND the content item (VS Code reads
|
|
171
|
+
* only the content item; other hosts may read either).
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```ts
|
|
175
|
+
* const meta = resourceMeta({
|
|
176
|
+
* csp: { resourceDomains: ['https://cdn.jsdelivr.net'] },
|
|
177
|
+
* permissions: { camera: true },
|
|
178
|
+
* })
|
|
179
|
+
*
|
|
180
|
+
* mcp.resource('viewer', 'ui://my/viewer', {
|
|
181
|
+
* mimeType: 'text/html;profile=mcp-app',
|
|
182
|
+
* _meta: meta,
|
|
183
|
+
* }, async (uri) => ({
|
|
184
|
+
* contents: [{ uri: uri.toString(), mimeType: 'text/html;profile=mcp-app', text: html, _meta: meta }],
|
|
185
|
+
* }))
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
export function resourceMeta(options) {
|
|
189
|
+
const ui = {};
|
|
190
|
+
if (options?.csp) {
|
|
191
|
+
ui.csp = {
|
|
192
|
+
resourceDomains: options.csp.resourceDomains ?? [],
|
|
193
|
+
connectDomains: options.csp.connectDomains ?? [],
|
|
194
|
+
frameDomains: options.csp.frameDomains ?? [],
|
|
195
|
+
baseUriDomains: options.csp.baseUriDomains ?? [],
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
if (options?.permissions) {
|
|
199
|
+
ui.permissions = {};
|
|
200
|
+
if (options.permissions.camera)
|
|
201
|
+
ui.permissions.camera = true;
|
|
202
|
+
if (options.permissions.microphone)
|
|
203
|
+
ui.permissions.microphone = true;
|
|
204
|
+
if (options.permissions.geolocation)
|
|
205
|
+
ui.permissions.geolocation = true;
|
|
206
|
+
if (options.permissions.clipboardWrite)
|
|
207
|
+
ui.permissions.clipboardWrite = true;
|
|
208
|
+
}
|
|
209
|
+
return { ui };
|
|
210
|
+
}
|
|
211
|
+
/** Default CSP meta for prefab apps using jsDelivr CDN. */
|
|
212
|
+
export const PREFAB_CDN_META = resourceMeta({
|
|
213
|
+
csp: { resourceDomains: ['https://cdn.jsdelivr.net'] },
|
|
214
|
+
});
|
|
128
215
|
//# sourceMappingURL=display.js.map
|
package/dist/mcp/display.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/mcp/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAkB,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAwBrC;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CACrB,SAAgC,EAChC,OAAwB;IAExB,MAAM,GAAG,GAAG,SAAS,YAAY,SAAS;QACxC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,SAAS,CAAC;YACZ,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;YACjC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,KAAK,EAAE,OAAO,EAAE,KAAK;YACrB,IAAI,EAAE,OAAO,EAAE,IAAI;YACnB,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,WAAW,EAAE,OAAO,EAAE,WAAW;YACjC,QAAQ,EAAE,OAAO,EAAE,QAAQ;SAC5B,CAAC,CAAA;IAEN,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/mcp/display.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP display helpers — return prefab UIs as MCP tool results.
|
|
3
3
|
*/
|
|
4
|
-
export { display, display_form, display_update, display_error, displayForm, displayUpdate, displayError } from './display.js';
|
|
5
|
-
export type { DisplayOptions, DisplayFormOptions, DisplayErrorOptions, StateUpdate, PrefabUpdateWire, } from './display.js';
|
|
6
|
-
export type { McpToolResult, McpContent, McpTextContent, McpImageContent, McpResourceContent } from './types.js';
|
|
4
|
+
export { display, display_form, display_update, display_error, display_success, displayForm, displayUpdate, displayError, displaySuccess, resourceMeta, PREFAB_CDN_META } from './display.js';
|
|
5
|
+
export type { DisplayOptions, DisplayFormOptions, DisplayErrorOptions, DisplaySuccessOptions, StateUpdate, PrefabUpdateWire, McpAppCsp, McpAppPermissions, ResourceMetaOptions, } from './display.js';
|
|
6
|
+
export type { McpToolResult, McpContent, McpTextContent, McpImageContent, McpResourceContent, McpTextResourceContents, McpBlobResourceContents } from './types.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC7L,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP display helpers — return prefab UIs as MCP tool results.
|
|
3
3
|
*/
|
|
4
|
-
export { display, display_form, display_update, display_error, displayForm, displayUpdate, displayError } from './display.js';
|
|
4
|
+
export { display, display_form, display_update, display_error, display_success, displayForm, displayUpdate, displayError, displaySuccess, resourceMeta, PREFAB_CDN_META } from './display.js';
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/mcp/types.d.ts
CHANGED
|
@@ -1,35 +1,63 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP protocol types used by display helpers.
|
|
3
3
|
*
|
|
4
|
-
* These
|
|
4
|
+
* These are structurally compatible with `@modelcontextprotocol/sdk`'s
|
|
5
|
+
* `CallToolResult` — prefab display helpers can be returned directly from
|
|
6
|
+
* SDK tool handlers without casting.
|
|
7
|
+
*
|
|
5
8
|
* @see https://spec.modelcontextprotocol.io/specification/server/tools/
|
|
6
9
|
*/
|
|
7
|
-
/** MCP text content block */
|
|
10
|
+
/** MCP text content block (compatible with SDK's TextContent) */
|
|
8
11
|
export interface McpTextContent {
|
|
9
12
|
type: 'text';
|
|
10
13
|
text: string;
|
|
14
|
+
annotations?: Record<string, unknown>;
|
|
15
|
+
_meta?: Record<string, unknown>;
|
|
11
16
|
}
|
|
12
|
-
/** MCP image content block */
|
|
17
|
+
/** MCP image content block (compatible with SDK's ImageContent) */
|
|
13
18
|
export interface McpImageContent {
|
|
14
19
|
type: 'image';
|
|
15
20
|
data: string;
|
|
16
21
|
mimeType: string;
|
|
22
|
+
annotations?: Record<string, unknown>;
|
|
23
|
+
_meta?: Record<string, unknown>;
|
|
24
|
+
}
|
|
25
|
+
/** Text resource contents (has `text`, never `blob`). */
|
|
26
|
+
export interface McpTextResourceContents {
|
|
27
|
+
uri: string;
|
|
28
|
+
mimeType?: string;
|
|
29
|
+
text: string;
|
|
30
|
+
_meta?: Record<string, unknown>;
|
|
31
|
+
}
|
|
32
|
+
/** Blob resource contents (has `blob`, never `text`). */
|
|
33
|
+
export interface McpBlobResourceContents {
|
|
34
|
+
uri: string;
|
|
35
|
+
mimeType?: string;
|
|
36
|
+
blob: string;
|
|
37
|
+
_meta?: Record<string, unknown>;
|
|
17
38
|
}
|
|
18
|
-
/** MCP embedded resource content block */
|
|
39
|
+
/** MCP embedded resource content block (compatible with SDK's EmbeddedResource) */
|
|
19
40
|
export interface McpResourceContent {
|
|
20
41
|
type: 'resource';
|
|
21
|
-
resource:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
text?: string;
|
|
25
|
-
blob?: string;
|
|
26
|
-
};
|
|
42
|
+
resource: McpTextResourceContents | McpBlobResourceContents;
|
|
43
|
+
annotations?: Record<string, unknown>;
|
|
44
|
+
_meta?: Record<string, unknown>;
|
|
27
45
|
}
|
|
28
46
|
/** Any MCP content block */
|
|
29
47
|
export type McpContent = McpTextContent | McpImageContent | McpResourceContent;
|
|
30
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* MCP tool result — returned from tool handlers.
|
|
50
|
+
*
|
|
51
|
+
* Structurally assignable to `@modelcontextprotocol/sdk`'s `CallToolResult`.
|
|
52
|
+
* The index signature allows the SDK's `Result` base interface to be satisfied
|
|
53
|
+
* without requiring an explicit cast.
|
|
54
|
+
*/
|
|
31
55
|
export interface McpToolResult {
|
|
32
56
|
content: McpContent[];
|
|
57
|
+
/** Structured payload forwarded to MCP Apps iframes via ui/notifications/tool-result. */
|
|
58
|
+
structuredContent?: Record<string, unknown>;
|
|
33
59
|
isError?: boolean;
|
|
60
|
+
_meta?: Record<string, unknown>;
|
|
61
|
+
[key: string]: unknown;
|
|
34
62
|
}
|
|
35
63
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/mcp/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,iEAAiE;AACjE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,mEAAmE;AACnE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,yDAAyD;AACzD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,uBAAuB,GAAG,uBAAuB,CAAA;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,4BAA4B;AAC5B,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,GAAG,kBAAkB,CAAA;AAE9E;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB"}
|