@xpert-ai/plugin-live-dashboard 0.1.3 → 0.1.4
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/.xpertai-plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/dist/lib/agent.schema.d.ts +11 -11
- package/dist/lib/agent.schema.js +3 -3
- package/dist/lib/analytics-source.d.ts +3 -0
- package/dist/lib/analytics-source.js +11 -0
- package/dist/lib/dashboard-icon.d.ts +2 -1
- package/dist/lib/dashboard-icon.js +10 -2
- package/dist/lib/dashboard-sharing.js +2 -1
- package/dist/lib/dashboard-view.schema.d.ts +1249 -0
- package/dist/lib/dashboard-view.schema.js +19 -0
- package/dist/lib/dashboard.schema.d.ts +12 -12
- package/dist/lib/dashboard.schema.js +1 -1
- package/dist/lib/dashboard.service.d.ts +3 -3
- package/dist/lib/dashboard.service.js +3 -6
- package/dist/lib/definition-tools.d.ts +56 -0
- package/dist/lib/definition-tools.js +42 -0
- package/dist/lib/document-package.d.ts +1 -1
- package/dist/lib/document-package.js +2 -2
- package/dist/lib/middleware.js +12 -8
- package/dist/lib/presentation.provider.d.ts +1 -1
- package/dist/lib/resource-card.js +1 -1
- package/dist/lib/view.provider.d.ts +2 -2
- package/dist/lib/view.provider.js +3 -2
- package/dist/remote/app.js +11 -11
- package/dist/remote/build-manifest.json +17 -14
- package/docs/frontend-libraries.mdx +1 -1
- package/docs/html-mode.md +2 -2
- package/docs/index.mdx +14 -0
- package/docs/verification.mdx +1 -1
- package/examples/data-xpert-sales.json +6 -3
- package/examples/postgres-sales.json +5 -3
- package/package.json +5 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"sources": {
|
|
3
|
-
".xpertai-plugin/plugin.json": "
|
|
4
|
-
"package.json": "
|
|
3
|
+
".xpertai-plugin/plugin.json": "f793bb5b176f31fe5589443b73bfcd85a6412db28e6dede281fc625f30f3f2ba",
|
|
4
|
+
"package.json": "838bf9296686d536d50e7e8ad016d533f6b2ff3c846485d0535d9267bada292a",
|
|
5
5
|
"scripts/build-action.mjs": "283f26ef3c1c2ddf7f3f2bfc7a7780229b4d7061f1e3f1b0f222d012b78583de",
|
|
6
6
|
"scripts/build-libraries.mjs": "20bd34ca3f8bb6e87df2637a3cca85496962688c8ea4ceff5bc294ebd2de704d",
|
|
7
7
|
"scripts/build-remote.mjs": "492550ac5c95eb371253d863567723d8853522013a0bcdfa0e264720206fda16",
|
|
@@ -14,34 +14,37 @@
|
|
|
14
14
|
"skills/live-dashboard/references/html-lifecycle.md": "4bf88730709ab45166425e1917610d1e618c9a0883e615ce76c0fe55488ffd51",
|
|
15
15
|
"skills/live-dashboard/references/html-runtime.md": "d9fc781f8c2f2b4e29544a752cf2899567b5a16ea991a529ae76fc7b99075bad",
|
|
16
16
|
"src/index.ts": "6aab2d46788fe6de8ed2671b2d1de4f0b1e4d1f2287fd3ec8b14a1610ebf0426",
|
|
17
|
-
"src/lib/agent.schema.ts": "
|
|
18
|
-
"src/lib/
|
|
17
|
+
"src/lib/agent.schema.ts": "1444585eab3618b985b774937309d950df99de1a1804e4caecdff8026de70297",
|
|
18
|
+
"src/lib/analytics-source.ts": "6fb5fd394fffa5a0c12f1fe32d0c9d7dbd8597052047b6122fc5b160fa7af54f",
|
|
19
|
+
"src/lib/dashboard-icon.ts": "3f95a626e91d3ce198cdef6b05365591b6e65af4f58d6f5765ec0836a590a494",
|
|
19
20
|
"src/lib/dashboard-navigation.ts": "a5ac7f42c2987bc70b140bfbd8051dc6713333d128ac7e8d0c6300fd3e496fa9",
|
|
20
21
|
"src/lib/dashboard-queries.ts": "d3aa8ec49572cb6c365c2950adbc80686edc537a1021e35e672f73ffe4bff873",
|
|
21
22
|
"src/lib/dashboard-receipt.ts": "d02b7e4e1be0a075b7f27e887ebb555684f17036ebb9442982e6725ab37a53ab",
|
|
22
|
-
"src/lib/dashboard-sharing.ts": "
|
|
23
|
-
"src/lib/dashboard.schema.ts": "
|
|
24
|
-
"src/lib/dashboard.
|
|
23
|
+
"src/lib/dashboard-sharing.ts": "61199f135cc53b6b9f0bef0f75f14c4d40bff6a3986e62e2823ab80c564534d3",
|
|
24
|
+
"src/lib/dashboard-view.schema.ts": "11562ce17c573611eedd5ab5d0db378c6ae676955c1b3f8606d3e60b367ed05e",
|
|
25
|
+
"src/lib/dashboard.schema.ts": "d59186cd159b0ae47a69d98301af2569046e9569cd93029da7afb7e653023eb1",
|
|
26
|
+
"src/lib/dashboard.service.ts": "eaacc609376d9f7f280ae3361171ea12e02f3412f14524170f4b1379a42259f4",
|
|
27
|
+
"src/lib/definition-tools.ts": "ba48842396e57499331a52ca7cf5e4e1eb72e1e519b5dabfff2743fddf15947d",
|
|
25
28
|
"src/lib/document-libraries.ts": "9c228995c509dc7f606cdc70d972ddb22df0164df4e0070583d0ab901f6605d0",
|
|
26
|
-
"src/lib/document-package.ts": "
|
|
29
|
+
"src/lib/document-package.ts": "367f51ab8b2458b6391472fbacde117603ad1a538df26079709eb17ff42e3cf4",
|
|
27
30
|
"src/lib/editing.ts": "0046dd89941511f463a43b6f7bddb9bd36dacdc144a4139faf76d5272e6b18d0",
|
|
28
31
|
"src/lib/filter-evidence.ts": "594ea9065e5c8d32c6bd4fc055e78c2df7ad2418c2019106136917c89c8ac331",
|
|
29
32
|
"src/lib/html-guidance.ts": "791ab730beac450ab47edd32dc3608e251036fccdf07121cee6e2667ef98f76a",
|
|
30
33
|
"src/lib/html-validation.ts": "9f342f6716d457ba1a46c9d228f3f7858dcae2c0f64a3c98bc1d28d35a8f43ac",
|
|
31
|
-
"src/lib/middleware.ts": "
|
|
34
|
+
"src/lib/middleware.ts": "37c8648cc1e6dc7df87e3812d7c9174a6af3fc277e19169aff67502b9a35f56a",
|
|
32
35
|
"src/lib/plugin.ts": "8dff711d1ef4f10cc4a7e8d4a3eab1aa964888738ed35aee9d3ca015d81915da",
|
|
33
36
|
"src/lib/presentation.provider.ts": "680b77210ae6b342d2bd4856859acb9e9dae761cc398041e9035e0111143128a",
|
|
34
37
|
"src/lib/remote-entry.ts": "4c760963ff099b4d9a8961c933b1a586c0ac57d85a88c745c2578e2f66bf1539",
|
|
35
38
|
"src/lib/renderer.ts": "e38a4516734fb4483e2e12bf6beebf40f26701d7053f4b3320806a147ffd10c3",
|
|
36
|
-
"src/lib/resource-card.ts": "
|
|
39
|
+
"src/lib/resource-card.ts": "d64f91e640a3db220b941adef4a582e011a7aea253d57cc5d70a5bdcdacd8f71",
|
|
37
40
|
"src/lib/save-evidence.ts": "458f8fe2ef74fd4809fb9543d8c31bb42e0e16b10550b2a7808ca92ec3662bda",
|
|
38
41
|
"src/lib/sharing.service.ts": "3023359592c9deba3a49f3e1949c9e6898b21aaad37a17790e96d4640e887da9",
|
|
39
|
-
"src/lib/view.provider.ts": "
|
|
42
|
+
"src/lib/view.provider.ts": "90eb547e1e6d4a121cfe998ca1cd07903ac2bdb9b2d7eeb5b85288a774511ccc",
|
|
40
43
|
"src/remote/bridge.ts": "6616662f1b5950c310c89fe301b5d500c690715bae4f8ebb211ac25590f02cbd",
|
|
41
44
|
"src/remote/dashboard-picker.tsx": "c84c147aeaa0774bd3f2bcd8b9502be4a78111167b01867e167c9cd72d263800",
|
|
42
|
-
"src/remote/html-dashboard.tsx": "
|
|
45
|
+
"src/remote/html-dashboard.tsx": "93917f9ea7e99e76624d96045e530f3eb3f721affe6fffe7d902391a466214d4",
|
|
43
46
|
"src/remote/i18n.ts": "461eee092ef5673161be1cf56ba7f9df9e37b6390742393b2b1b374ab80b4ee5",
|
|
44
|
-
"src/remote/main.tsx": "
|
|
47
|
+
"src/remote/main.tsx": "813dfbc546a17fea3ba621c984474ebd8a52c0866bf3dbdea7d3e467ed89830e",
|
|
45
48
|
"src/remote/share-dialog.tsx": "f4a78a3bbf99d49c84e10631be9a9bcd3dc11b42130ce79e00010e53fbc2af84",
|
|
46
49
|
"src/remote/style.css": "9e5d76396a785a6c53a7d6787a825db359c32a43bf8e947338ee9c2471c14427",
|
|
47
50
|
"src/remote/viewer-controls.tsx": "b55e27a8a7932575a994fe30645b535c3dd5ba7e27df1f18a1f86462a6354ca3",
|
|
@@ -49,7 +52,7 @@
|
|
|
49
52
|
"tsconfig.remote.json": "e0b173f885c7439dfce09d411ff97fb7511bd77f6f1d7fdd66b5adb477a1f411"
|
|
50
53
|
},
|
|
51
54
|
"outputs": {
|
|
52
|
-
"app.js": "
|
|
55
|
+
"app.js": "8fdcecfebefbe16e326731f02fb63caaeabab279d98de810e8a1edcc9f0ed8f3",
|
|
53
56
|
"app.css": "2412d05f7f840209a55285035cec48a2924475815056f45b234635e33ba972a4",
|
|
54
57
|
"renderer.html": "30abe65cd0d32a7596e02c5e94f2e20879fa73644507fefa35c7119a018ff7d2"
|
|
55
58
|
},
|
|
@@ -40,7 +40,7 @@ WebGLRenderer 需要浏览器提供 WebGL2,必须处理 GPU 不可用并释放
|
|
|
40
40
|
平台 SDK 负责通用依赖锁、SHA-256 校验、代码大小限制和隔离注入。
|
|
41
41
|
本插件负责允许列表、打包、许可证、Agent 工具和看板版本语义,数据源插件无需感知图库。
|
|
42
42
|
|
|
43
|
-
带图库的保存文件采用 `xpert.live-dashboard.package
|
|
43
|
+
带图库的保存文件采用 `xpert.live-dashboard.package`:`manifest` 存 HTML、Binding 和依赖锁,
|
|
44
44
|
`dependencies` 存库的实际代码。它们共享一个不可变 Artifact Version 和文件摘要。
|
|
45
45
|
旧的无图库 JSON 定义继续兼容。Agent 读取工具只返回依赖元数据,避免把库源码塞进上下文。
|
|
46
46
|
历史版本从自身快照读取库,不依赖当前插件仍保留相同版本;修改默认继承该快照。
|
package/docs/html-mode.md
CHANGED
|
@@ -25,7 +25,7 @@ HTML iframe → 专属 MessagePort → Live Dashboard View → query-binding
|
|
|
25
25
|
|
|
26
26
|
## 插件协议
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
保存格式为 `xpert.live-dashboard`,包含可选的 HTML 展示字段:
|
|
29
29
|
|
|
30
30
|
```json
|
|
31
31
|
{ "presentation": { "type": "html", "html": "<html>…</html>" }, "charts": [], "tables": [] }
|
|
@@ -33,7 +33,7 @@ HTML iframe → 专属 MessagePort → Live Dashboard View → query-binding
|
|
|
33
33
|
|
|
34
34
|
HTML 字节、数据 Binding 和 Controls 处于同一内容哈希和版本中。工作区原文件后续编辑不会改变已保存页面。草稿修订号与正式版本基准的 CAS、当前用户及 host 归属检查继续适用。
|
|
35
35
|
|
|
36
|
-
使用打包图库时,`presentation.dependencies` 保存精确版本与 SHA-256,外层 `xpert.live-dashboard.package
|
|
36
|
+
使用打包图库时,`presentation.dependencies` 保存精确版本与 SHA-256,外层 `xpert.live-dashboard.package` 同时保存实际库源码。未声明图库依赖时无需库资源;详见[固定前端图库](frontend-libraries.mdx)。
|
|
37
37
|
|
|
38
38
|
`query-binding` View Action 严格接受 `{artifactId, versionId?, draftRevision?, bindingId, controls}`。宿主选择草稿修订或正式版本,服务端打开对应已保存定义并从中取 Binding。额外的 `binding`、`payload`、`providerId`、`dataSourceId` 均被拒绝。未知 Binding、未知控件、非法值、其他用户/host/组织、已撤销来源权限均不能执行查询。HTML 只能向消息桥提交 bindingId 和 controls;Artifact ID/版本由宿主持有。
|
|
39
39
|
|
package/docs/index.mdx
CHANGED
|
@@ -45,3 +45,17 @@ HTML 页面通过 `window.xpertLiveArtifact.query(bindingId, controls)` 请求
|
|
|
45
45
|
HTML 保存前需要可用 Browser Runtime 和 `sandbox-browser` 队列。
|
|
46
46
|
初始页面预检失败会阻止保存;标准模式不依赖浏览器任务。
|
|
47
47
|
预检不穷举全部交互、延迟分支或筛选组合。
|
|
48
|
+
|
|
49
|
+
## Real upstream chat acceptance
|
|
50
|
+
|
|
51
|
+
The paired platform change for xpert-ai/xpert-plugins#762 includes a read-only
|
|
52
|
+
`tools/scripts/verify-analytics-chat-dashboards.mjs` acceptance checker. Run it after
|
|
53
|
+
actual ChatKit authoring and explicit dashboard publication. It correlates successful
|
|
54
|
+
Agent definition registration and Artifact saves, checks the executed model, and
|
|
55
|
+
queries pinned published versions with multiple filters and fresh executions.
|
|
56
|
+
|
|
57
|
+
The 2026-10-21 local acceptance used GitHub REST issue states (five rows per state)
|
|
58
|
+
and Microsoft Learn MCP topics (ten search snippets per topic). The viewer now
|
|
59
|
+
accepts canonical Definition/Artifact references instead of requiring DataSource
|
|
60
|
+
fields. Filter probes also retain sanitized Analytics diagnostics so the Agent can
|
|
61
|
+
repair a mistaken unique grain without dropping repeated document snippets.
|
package/docs/verification.mdx
CHANGED
|
@@ -37,7 +37,7 @@ node tests/html-preflight-browser.mjs /absolute/path/to/platform
|
|
|
37
37
|
node tests/workbench-browser.mjs /absolute/path/to/platform /private/screenshot.png
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
开发依赖固定使用已发布的 SDK/contracts 3.
|
|
40
|
+
开发依赖固定使用已发布的 SDK/contracts 3.26.1,构建无需本地平台链接。
|
|
41
41
|
分批提交审核在临时快照构建和测试,不覆盖运行中的 dist,也不重新部署或重跑 SSO。
|
|
42
42
|
|
|
43
43
|
真实验收使用 `verify-installed-dashboard.mjs` / `verify-installed-html.mjs`,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schema": "xpert.live-dashboard
|
|
2
|
+
"schema": "xpert.live-dashboard",
|
|
3
3
|
"id": "33333333-3333-4333-8333-333333333333",
|
|
4
4
|
"title": "本体区域销售",
|
|
5
5
|
"controls": [
|
|
@@ -17,9 +17,7 @@
|
|
|
17
17
|
],
|
|
18
18
|
"bindings": [
|
|
19
19
|
{
|
|
20
|
-
"schemaVersion": 1,
|
|
21
20
|
"id": "sales",
|
|
22
|
-
"dataSourceId": "22222222-2222-4222-8222-222222222222",
|
|
23
21
|
"providerId": "data-xpert.ontology",
|
|
24
22
|
"operation": "action",
|
|
25
23
|
"contractVersion": 1,
|
|
@@ -91,6 +89,11 @@
|
|
|
91
89
|
"nullable": false
|
|
92
90
|
}
|
|
93
91
|
]
|
|
92
|
+
},
|
|
93
|
+
"source": {
|
|
94
|
+
"kind": "definition",
|
|
95
|
+
"definitionId": "22222222-2222-4222-8222-222222222222",
|
|
96
|
+
"versionId": "33333333-3333-4333-8333-333333333333"
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
99
|
],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schema": "xpert.live-dashboard
|
|
2
|
+
"schema": "xpert.live-dashboard",
|
|
3
3
|
"id": "11111111-1111-4111-8111-111111111111",
|
|
4
4
|
"title": "区域销售",
|
|
5
5
|
"controls": [
|
|
@@ -17,9 +17,7 @@
|
|
|
17
17
|
],
|
|
18
18
|
"bindings": [
|
|
19
19
|
{
|
|
20
|
-
"schemaVersion": 1,
|
|
21
20
|
"id": "sales",
|
|
22
|
-
"dataSourceId": "22222222-2222-4222-8222-222222222222",
|
|
23
21
|
"providerId": "postgres.sql",
|
|
24
22
|
"operation": "query",
|
|
25
23
|
"contractVersion": 1,
|
|
@@ -66,6 +64,10 @@
|
|
|
66
64
|
"nullable": false
|
|
67
65
|
}
|
|
68
66
|
]
|
|
67
|
+
},
|
|
68
|
+
"source": {
|
|
69
|
+
"kind": "data-source",
|
|
70
|
+
"dataSourceId": "22222222-2222-4222-8222-222222222222"
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
73
|
],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xpert-ai/plugin-live-dashboard",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Versioned live dashboards using platform analytics and Data Analytics renderer",
|
|
5
5
|
"main": "./index.cjs",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@xpert-ai/plugin-sdk": "^3.
|
|
34
|
-
"@xpert-ai/contracts": "^3.
|
|
33
|
+
"@xpert-ai/plugin-sdk": "^3.26.1",
|
|
34
|
+
"@xpert-ai/contracts": "^3.26.1",
|
|
35
35
|
"@nestjs/common": "^11.1.6",
|
|
36
36
|
"@nestjs/core": "^11.1.6",
|
|
37
37
|
"zod": "3.25.67",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"echarts": "5.6.0",
|
|
42
42
|
"three": "0.185.1",
|
|
43
|
-
"@xpert-ai/plugin-sdk": "3.
|
|
44
|
-
"@xpert-ai/contracts": "3.
|
|
43
|
+
"@xpert-ai/plugin-sdk": "3.26.1",
|
|
44
|
+
"@xpert-ai/contracts": "3.26.1",
|
|
45
45
|
"@nestjs/common": "^11.1.6",
|
|
46
46
|
"@nestjs/core": "^11.1.6",
|
|
47
47
|
"zod": "3.25.67",
|