@dvina/artifact-renderer-core 0.0.26 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +60 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type ViewerFormat = "pdf" | "pptx" | "docx" | "xls" | "xlsx" | "csv" | "audio" | "image" | "video" | "zip" | "epub" | "text" | "code" | "html" | "markdown" | "mermaid" | "json" | "jsonl" | "ndjson" | "tsv" | "xml" | "toml" | "ini" | "dotenv" | "yaml" | "unknown";
|
|
1
|
+
export type ViewerFormat = "pdf" | "pptx" | "docx" | "xls" | "xlsx" | "csv" | "audio" | "image" | "video" | "zip" | "epub" | "text" | "code" | "html" | "markdown" | "mermaid" | "json" | "jsonl" | "ndjson" | "tsv" | "xml" | "toml" | "ini" | "dotenv" | "yaml" | "widget" | "unknown";
|
|
2
2
|
export type ViewerJsonPrimitive = string | number | boolean | null;
|
|
3
3
|
export type ViewerJsonValue = ViewerJsonPrimitive | {
|
|
4
4
|
[key: string]: ViewerJsonValue;
|
|
@@ -14,6 +14,11 @@ export interface ViewerThemeTokens {
|
|
|
14
14
|
export interface ViewerTheme {
|
|
15
15
|
mode: ViewerThemeMode;
|
|
16
16
|
tokens?: ViewerThemeTokens;
|
|
17
|
+
/**
|
|
18
|
+
* CSS custom properties set on an HTML document's root, after the ones derived from `tokens`: the host's own
|
|
19
|
+
* design tokens (`{"--surface-1": "#fff"}`; a name without `--` gets it). A change updates them in place.
|
|
20
|
+
*/
|
|
21
|
+
variables?: Record<string, string>;
|
|
17
22
|
}
|
|
18
23
|
/** Host overlay/device insets in CSS pixels. Omitted edges default to zero. */
|
|
19
24
|
export interface ViewerSafeArea {
|
|
@@ -52,11 +57,65 @@ export interface HtmlRenderOptions {
|
|
|
52
57
|
bootstrap?: "auto" | "off";
|
|
53
58
|
execution?: "document" | "stream";
|
|
54
59
|
}
|
|
60
|
+
/** The design kit a widget frame loads before the widget: Dvina's widget-kit unless the host gives its own. */
|
|
61
|
+
export interface WidgetKit {
|
|
62
|
+
/** The stylesheet, first in the frame. */
|
|
63
|
+
css?: string;
|
|
64
|
+
/** A classic script that runs before the widget's markup (globals, icons, chart defaults). */
|
|
65
|
+
script?: string;
|
|
66
|
+
/** In React mode, after React and ReactDOM: the kit's components as `window.DvinaKit`. */
|
|
67
|
+
reactScript?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* A widget: generated UI drawn into a sandboxed frame with the kit already loaded. Its source is a fragment (HTML
|
|
71
|
+
* without doctype, head or body) or a React module; streamed (`source.kind: "stream"`) or saved (a URL).
|
|
72
|
+
*/
|
|
73
|
+
export interface WidgetRenderOptions {
|
|
74
|
+
/** `html` (default): a markup fragment. `react`: a module whose default export is the component. */
|
|
75
|
+
kind?: "html" | "react";
|
|
76
|
+
/**
|
|
77
|
+
* `inline` (default): transparent, as tall as its content (also shrinking once complete), never scrolling inside.
|
|
78
|
+
* `panel`: fills the viewer and scrolls, on the kit's own ground.
|
|
79
|
+
*/
|
|
80
|
+
layout?: "inline" | "panel";
|
|
81
|
+
/** The host's kit instead of the bundled one; `false` for none. */
|
|
82
|
+
kit?: WidgetKit | false;
|
|
83
|
+
/** `false` turns the bridge off (a public share): sendPrompt, openLink and the rest do nothing. */
|
|
84
|
+
bridge?: boolean;
|
|
85
|
+
revisionId?: string;
|
|
86
|
+
artifactData?: ViewerJsonValue;
|
|
87
|
+
}
|
|
55
88
|
export interface ViewerRenderOptions {
|
|
56
89
|
spreadsheetMode?: SpreadsheetRenderMode;
|
|
57
90
|
codeLanguage?: string;
|
|
58
91
|
html?: HtmlRenderOptions;
|
|
92
|
+
widget?: WidgetRenderOptions;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* What a widget may ask its host, in the MCP Apps message shape. The first three need a user gesture in the widget
|
|
96
|
+
* (the viewer checks its own transient activation, which a click in the frame below it grants) and are
|
|
97
|
+
* rate-limited.
|
|
98
|
+
* - `ui/message`: send a prompt to the chat, `{ role: "user", content: [{ type: "text", text }], context? }`.
|
|
99
|
+
* - `ui/open-link`: open a URL outside the app, `{ url }`.
|
|
100
|
+
* - `dvina/open-target`: open something in the app, `{ kind, id }` (a chat, a task, an insight, an artifact).
|
|
101
|
+
* - `ui/update-model-context`: hand state to the next turn, `{ structuredContent }` (`null` clears it).
|
|
102
|
+
* - `dvina/call`: a host-defined data call, `{ name, args? }`; a widget cannot fetch the API itself.
|
|
103
|
+
*/
|
|
104
|
+
export type WidgetRequestMethod = "ui/message" | "ui/open-link" | "dvina/open-target" | "ui/update-model-context" | "dvina/call";
|
|
105
|
+
export declare const WIDGET_GESTURE_METHODS: readonly WidgetRequestMethod[];
|
|
106
|
+
export interface WidgetRequest {
|
|
107
|
+
documentId: string;
|
|
108
|
+
requestId: string;
|
|
109
|
+
method: WidgetRequestMethod;
|
|
110
|
+
params: ViewerJsonValue;
|
|
111
|
+
}
|
|
112
|
+
export interface WidgetRequestError {
|
|
113
|
+
/** `rejected` (the host said no), `no-handler`, `user-activation-required`, `rate-limited`, `invalid-params`, `timeout`. */
|
|
114
|
+
code: string;
|
|
115
|
+
message: string;
|
|
59
116
|
}
|
|
117
|
+
/** Formats drawn by the HTML renderer into a sandboxed frame, which take streamed HTML and artifact data. */
|
|
118
|
+
export declare function isFrameFormat(format: ViewerFormat): format is "html" | "widget";
|
|
60
119
|
export type ViewerCapability = "load-document" | "pagination" | "resize-notifications" | "artifact-runtime";
|
|
61
120
|
export type ViewerState = "booting" | "waiting-for-init" | "initializing" | "loading-document" | "ready" | "unsupported" | "error";
|
|
62
121
|
export type ViewerUnsupportedReason = "format-not-supported" | "encrypted-document" | "missing-renderer" | "feature-not-available";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEnE,MAAM,MAAM,eAAe,GACvB,mBAAmB,GACnB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GAClC,eAAe,EAAE,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,cAAc,GACd,gCAAgC,GAChC,mBAAmB,GACnB,eAAe,GACf,yCAAyC,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,OAAO,GACP,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,MAAM,GACN,UAAU,GACV,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAEnE,MAAM,MAAM,eAAe,GACvB,mBAAmB,GACnB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,GAClC,eAAe,EAAE,CAAC;AAEtB,MAAM,MAAM,qBAAqB,GAC7B,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,oBAAoB,GACpB,cAAc,GACd,gCAAgC,GAChC,mBAAmB,GACnB,eAAe,GACf,yCAAyC,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GACpB,eAAe,GACf,mBAAmB,GACnB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,SAAS,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC;CACnC;AAED,+GAA+G;AAC/G,MAAM,WAAW,SAAS;IACxB,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,oGAAoG;IACpG,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,mEAAmE;IACnE,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IACxB,mGAAmG;IACnG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAC3B,YAAY,GACZ,cAAc,GACd,mBAAmB,GACnB,yBAAyB,GACzB,YAAY,CAAC;AAEjB,eAAO,MAAM,sBAAsB,EAAE,SAAS,mBAAmB,EAIhE,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,4HAA4H;IAC5H,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,6GAA6G;AAC7G,wBAAgB,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,MAAM,GAAG,QAAQ,CAE/E;AAED,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,YAAY,GACZ,sBAAsB,GACtB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,kBAAkB,GAClB,cAAc,GACd,kBAAkB,GAClB,OAAO,GACP,aAAa,GACb,OAAO,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAC/B,sBAAsB,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7D,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,uBAAuB,GACvB,iBAAiB,GACjB,SAAS,CAAC;AAEd,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,uBAAuB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,qBAAqB,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,gBAAgB,EAAE,SAAS,YAAY,EAAE,CAAC;IACnD,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnD,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClE,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,wBAAwB,CAAC;CACvC;AAED,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,wBAAwB,CAAC;AAE7B,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,GACnB,MAAM,IAAI,eAAe,CAE3B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,GACnB,MAAM,IAAI,mBAAmB,CAE/B;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GACnB,MAAM,IAAI,kBAAkB,CAE9B;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,SAAS,cAAc,EAAE,GACnC,mBAAmB,CAiBrB"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
export const WIDGET_GESTURE_METHODS = [
|
|
2
|
+
"ui/message",
|
|
3
|
+
"ui/open-link",
|
|
4
|
+
"dvina/open-target",
|
|
5
|
+
];
|
|
6
|
+
/** Formats drawn by the HTML renderer into a sandboxed frame, which take streamed HTML and artifact data. */
|
|
7
|
+
export function isFrameFormat(format) {
|
|
8
|
+
return format === "html" || format === "widget";
|
|
9
|
+
}
|
|
1
10
|
export function isViewerUrlSource(source) {
|
|
2
11
|
return source.kind === "url";
|
|
3
12
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwKA,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,YAAY;IACZ,cAAc;IACd,mBAAmB;CACpB,CAAC;AAeF,6GAA6G;AAC7G,MAAM,UAAU,aAAa,CAAC,MAAoB;IAChD,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,QAAQ,CAAC;AAClD,CAAC;AA2FD,MAAM,UAAU,iBAAiB,CAC/B,MAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAoB;IAEpB,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAwB,EACxB,SAAoC;IAEpC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,MAAM,EAAE,kBAAkB;YAC1B,OAAO,EAAE,0CAA0C,QAAQ,CAAC,MAAM,KAAK;SACxE;KACF,CAAC;AACJ,CAAC"}
|