@maxhealth.tech/prefab 0.2.27 → 0.2.29
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 +58 -0
- package/dist/actions/client.js +12 -12
- package/dist/actions/client.js.map +1 -1
- package/dist/actions/index.d.ts +2 -0
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +1 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/mcp.js +3 -3
- package/dist/actions/mcp.js.map +1 -1
- package/dist/actions/subscribe.d.ts +57 -0
- package/dist/actions/subscribe.d.ts.map +1 -0
- package/dist/actions/subscribe.js +68 -0
- package/dist/actions/subscribe.js.map +1 -0
- package/dist/app.d.ts +1 -1
- package/dist/app.js +2 -2
- package/dist/app.js.map +1 -1
- package/dist/auto/index.d.ts.map +1 -1
- package/dist/auto/index.js +1 -2
- package/dist/auto/index.js.map +1 -1
- package/dist/components/charts/index.d.ts.map +1 -1
- package/dist/components/charts/index.js +10 -1
- package/dist/components/charts/index.js.map +1 -1
- package/dist/components/pdf/index.d.ts +47 -0
- package/dist/components/pdf/index.d.ts.map +1 -0
- package/dist/components/pdf/index.js +49 -0
- package/dist/components/pdf/index.js.map +1 -0
- package/dist/core/component.d.ts +2 -0
- package/dist/core/component.d.ts.map +1 -1
- package/dist/core/component.js +8 -4
- package/dist/core/component.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/validate.js +9 -2
- package/dist/core/validate.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/display.d.ts.map +1 -1
- package/dist/mcp/display.js +7 -4
- package/dist/mcp/display.js.map +1 -1
- package/dist/renderer/actions.d.ts +8 -0
- package/dist/renderer/actions.d.ts.map +1 -1
- package/dist/renderer/actions.js +118 -1
- package/dist/renderer/actions.js.map +1 -1
- package/dist/renderer/bridge.d.ts +12 -0
- package/dist/renderer/bridge.d.ts.map +1 -1
- package/dist/renderer/bridge.js +57 -0
- package/dist/renderer/bridge.js.map +1 -1
- package/dist/renderer/components/index.d.ts.map +1 -1
- package/dist/renderer/components/index.js +2 -0
- package/dist/renderer/components/index.js.map +1 -1
- package/dist/renderer/components/pdf.d.ts +12 -0
- package/dist/renderer/components/pdf.d.ts.map +1 -0
- package/dist/renderer/components/pdf.js +217 -0
- package/dist/renderer/components/pdf.js.map +1 -0
- package/dist/renderer/engine.d.ts +6 -0
- package/dist/renderer/engine.d.ts.map +1 -1
- package/dist/renderer/engine.js +40 -13
- package/dist/renderer/engine.js.map +1 -1
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +2 -1
- package/dist/renderer/index.js.map +1 -1
- package/dist/renderer.auto.min.js +8 -8
- package/dist/renderer.min.js +6 -6
- package/package.json +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,64 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.2.29] — 2026-05-09
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
- **Fixed**: `rendererHtml()` CDN URL now derives major.minor from `VERSION` automatically — no more hardcoded `@0.2` constant that would go stale on a minor/major bump
|
|
9
|
+
|
|
10
|
+
## [0.2.28] — 2026-05-09
|
|
11
|
+
|
|
12
|
+
### New Features
|
|
13
|
+
- **`Subscribe` action** — real-time resource updates via `subscribe(uri, stateKey, opts)` with automatic fallback polling when the host doesn't support MCP `notifications/resources/updated` (#3)
|
|
14
|
+
- Supports `fallbackInterval`, `fallbackTool`, `fallbackArgs` for polling-based hosts
|
|
15
|
+
- `onData` / `onError` callbacks for reactive state binding
|
|
16
|
+
- **`PdfViewer` component** — embed PDF documents with `pdfViewer(src, opts)` (#2)
|
|
17
|
+
|
|
18
|
+
### Wire Format (Breaking)
|
|
19
|
+
- **snake_case wire format** — all structural keys in the `$prefab` JSON output are now snake_case (`css_class`, `on_mount`, `on_click`, `interval_ms`, `result_key`, `on_success`, `on_error`, `state_key`, `data_key`, etc.), aligning with the Python `prefab_ui` SDK (#4)
|
|
20
|
+
- Renderer normalizes incoming JSON at entry points (`renderNode`, `dispatchOne`), accepting both snake_case and camelCase input for backwards compatibility
|
|
21
|
+
- User-data containers (`state`, `arguments`, `context`, `overrides`) are **not** converted — keys inside them are preserved as-is
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
- **Fixed**: `fallbackArgs` reactive expressions now resolve correctly in Subscribe action
|
|
25
|
+
- **Fixed**: resilient cleanup for Subscribe timers and listeners
|
|
26
|
+
- **Fixed**: chart series structural keys (`dataKey` → `data_key`) now correctly serialized
|
|
27
|
+
- **Fixed**: `PrefabApp.toJSON()` root view outputs `css_class` (was bypassing `Component.toJSON()`)
|
|
28
|
+
- **Fixed**: wire format validator accepts both camelCase and snake_case action prop names
|
|
29
|
+
|
|
30
|
+
### Documentation
|
|
31
|
+
- SEO & LLM visibility improvements for documentation site
|
|
32
|
+
|
|
33
|
+
### Tests
|
|
34
|
+
- 22 new TDD tests for snake_case serialization and renderer normalization
|
|
35
|
+
- All 10 golden fixtures updated to snake_case wire format
|
|
36
|
+
- **1237 tests** passing across 36 files
|
|
37
|
+
|
|
38
|
+
## [0.2.27] — 2026-05-02
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
- **Fixed**: `resourceMeta()` now serializes permissions as `{}` (empty objects) per the MCP Apps spec, not `true`. The DX-facing input type stays `boolean` for ergonomics; the wire output is now spec-compliant with `McpUiResourcePermissions`
|
|
42
|
+
|
|
43
|
+
## [0.2.26] — 2026-05-02
|
|
44
|
+
|
|
45
|
+
### New Features
|
|
46
|
+
- **`rendererHtml(opts?)`** — generates the viewer HTML page string for MCP Apps resources (loads `prefab.css` + `renderer.auto.min.js` from CDN, with optional extra scripts/stylesheets)
|
|
47
|
+
- **`registerViewerResource(server, opts?)`** — one-liner to register a `ui://` viewer resource with correct MIME type, CSP (auto-merged with jsdelivr default + script origins), Permission Policy, and `_meta` on both listing and content item
|
|
48
|
+
- **`PREFAB_RESOURCE_URI`** — default URI constant (`'ui://prefab/viewer'`)
|
|
49
|
+
- All three exported from both `@maxhealth.tech/prefab/mcp` and the main barrel
|
|
50
|
+
|
|
51
|
+
### Documentation
|
|
52
|
+
- Corrected CSP/permissions claims about Claude Desktop (it DOES enforce CSP via HTTP headers on `{hash}.claudemcpcontent.com`)
|
|
53
|
+
- Corrected cross-server tool call claim (spec says `"app": Tool callable by the app from this server only`)
|
|
54
|
+
- Updated host compatibility table (all hosts enforce CSP)
|
|
55
|
+
- Added `registerViewerResource()` shortcut section to `docs/reference/mcp-apps.md`
|
|
56
|
+
- Added `rendererHtml()`, `registerViewerResource()`, `PREFAB_RESOURCE_URI` reference docs to `docs/reference/mcp-display.md`
|
|
57
|
+
|
|
58
|
+
### Tests
|
|
59
|
+
- 15 new tests for `rendererHtml()`, `registerViewerResource()`, `PREFAB_RESOURCE_URI` (security escaping, CSP merging, handler invocation)
|
|
60
|
+
- Comprehensive layout hints test coverage (bridge, renderer combos, passthrough, HTML/MCP round-trip)
|
|
61
|
+
- **1174 tests** passing across 32 files
|
|
62
|
+
|
|
5
63
|
## [0.2.25] — 2026-04-30
|
|
6
64
|
|
|
7
65
|
### Layout Hints
|
package/dist/actions/client.js
CHANGED
|
@@ -19,9 +19,9 @@ export class SetState {
|
|
|
19
19
|
value: serializeValue(this.value),
|
|
20
20
|
};
|
|
21
21
|
if (this.opts?.onSuccess)
|
|
22
|
-
json.
|
|
22
|
+
json.on_success = serializeCallbacks(this.opts.onSuccess);
|
|
23
23
|
if (this.opts?.onError)
|
|
24
|
-
json.
|
|
24
|
+
json.on_error = serializeCallbacks(this.opts.onError);
|
|
25
25
|
return json;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -115,8 +115,8 @@ export class SetInterval {
|
|
|
115
115
|
toJSON() {
|
|
116
116
|
return {
|
|
117
117
|
action: 'setInterval',
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
interval_ms: this.intervalMs,
|
|
119
|
+
on_tick: serializeCallbacks(this.onTick),
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
122
|
}
|
|
@@ -136,11 +136,11 @@ export class Fetch {
|
|
|
136
136
|
if (this.opts?.body !== undefined)
|
|
137
137
|
json.body = serializeValue(this.opts.body);
|
|
138
138
|
if (this.opts?.resultKey)
|
|
139
|
-
json.
|
|
139
|
+
json.result_key = this.opts.resultKey;
|
|
140
140
|
if (this.opts?.onSuccess)
|
|
141
|
-
json.
|
|
141
|
+
json.on_success = serializeCallbacks(this.opts.onSuccess);
|
|
142
142
|
if (this.opts?.onError)
|
|
143
|
-
json.
|
|
143
|
+
json.on_error = serializeCallbacks(this.opts.onError);
|
|
144
144
|
return json;
|
|
145
145
|
}
|
|
146
146
|
}
|
|
@@ -156,9 +156,9 @@ export class OpenFilePicker {
|
|
|
156
156
|
if (this.opts?.multiple)
|
|
157
157
|
json.multiple = true;
|
|
158
158
|
if (this.opts?.resultKey)
|
|
159
|
-
json.
|
|
159
|
+
json.result_key = this.opts.resultKey;
|
|
160
160
|
if (this.opts?.onSuccess)
|
|
161
|
-
json.
|
|
161
|
+
json.on_success = serializeCallbacks(this.opts.onSuccess);
|
|
162
162
|
return json;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
@@ -174,11 +174,11 @@ export class CallHandler {
|
|
|
174
174
|
if (this.opts?.arguments)
|
|
175
175
|
json.arguments = serializeValue(this.opts.arguments);
|
|
176
176
|
if (this.opts?.resultKey)
|
|
177
|
-
json.
|
|
177
|
+
json.result_key = this.opts.resultKey;
|
|
178
178
|
if (this.opts?.onSuccess)
|
|
179
|
-
json.
|
|
179
|
+
json.on_success = serializeCallbacks(this.opts.onSuccess);
|
|
180
180
|
if (this.opts?.onError)
|
|
181
|
-
json.
|
|
181
|
+
json.on_error = serializeCallbacks(this.opts.onError);
|
|
182
182
|
return json;
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/actions/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AASrD,MAAM,OAAO,QAAQ;IAER;IACA;IACQ;IAHnB,YACW,GAAW,EACX,KAAc,EACN,IAAmB;QAF3B,QAAG,GAAH,GAAG,CAAQ;QACX,UAAK,GAAL,KAAK,CAAS;QACN,SAAI,GAAJ,IAAI,CAAe;IACnC,CAAC;IAEJ,MAAM;QACJ,MAAM,IAAI,GAAe;YACvB,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;SAClC,CAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/actions/client.ts"],"names":[],"mappings":"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"}
|
package/dist/actions/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { SetState, ToggleState, AppendState, PopState, ShowToast, CloseOverlay,
|
|
|
4
4
|
export type { SetStateOpts, ShowToastOpts, ToastVariant, FetchOpts, OpenFilePickerOpts, CallHandlerOpts } from './client.js';
|
|
5
5
|
export { CallTool, SendMessage, UpdateContext, RequestDisplayMode } from './mcp.js';
|
|
6
6
|
export type { CallToolOpts, DisplayMode } from './mcp.js';
|
|
7
|
+
export { Subscribe, Unsubscribe } from './subscribe.js';
|
|
8
|
+
export type { SubscribeOpts } from './subscribe.js';
|
|
7
9
|
export { set, toggle, append, pop } from './sugar.js';
|
|
8
10
|
export type { StateTarget } from './sugar.js';
|
|
9
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9J,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC5H,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACnF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9J,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC5H,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACnF,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/actions/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { serializeCallbacks } from './types.js';
|
|
2
2
|
export { SetState, ToggleState, AppendState, PopState, ShowToast, CloseOverlay, OpenLink, SetInterval, Fetch, OpenFilePicker, CallHandler } from './client.js';
|
|
3
3
|
export { CallTool, SendMessage, UpdateContext, RequestDisplayMode } from './mcp.js';
|
|
4
|
+
export { Subscribe, Unsubscribe } from './subscribe.js';
|
|
4
5
|
export { set, toggle, append, pop } from './sugar.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9J,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEnF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9J,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEnF,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEvD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/actions/mcp.js
CHANGED
|
@@ -19,11 +19,11 @@ export class CallTool {
|
|
|
19
19
|
if (this.opts?.arguments)
|
|
20
20
|
json.arguments = serializeValue(this.opts.arguments);
|
|
21
21
|
if (this.opts?.resultKey)
|
|
22
|
-
json.
|
|
22
|
+
json.result_key = this.opts.resultKey;
|
|
23
23
|
if (this.opts?.onSuccess)
|
|
24
|
-
json.
|
|
24
|
+
json.on_success = serializeCallbacks(this.opts.onSuccess);
|
|
25
25
|
if (this.opts?.onError)
|
|
26
|
-
json.
|
|
26
|
+
json.on_error = serializeCallbacks(this.opts.onError);
|
|
27
27
|
return json;
|
|
28
28
|
}
|
|
29
29
|
}
|
package/dist/actions/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/actions/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAWrD;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAER;IACQ;IAFnB,YACW,IAAY,EACJ,IAAmB;QAD3B,SAAI,GAAJ,IAAI,CAAQ;QACJ,SAAI,GAAJ,IAAI,CAAe;IACnC,CAAC;IAEJ,MAAM;QACJ,MAAM,IAAI,GAAe,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9E,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/actions/mcp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAWrD;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAER;IACQ;IAFnB,YACW,IAAY,EACJ,IAAmB;QAD3B,SAAI,GAAJ,IAAI,CAAQ;QACJ,SAAI,GAAJ,IAAI,CAAe;IACnC,CAAC;IAEJ,MAAM;QACJ,MAAM,IAAI,GAAe,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC9E,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QAC/D,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnF,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO;YAAE,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7E,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,gFAAgF;AAEhF,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAExC,MAAM;QACJ,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACzD,CAAC;CACF;AAED,iFAAiF;AAEjF,MAAM,OAAO,aAAa;IACH;IAArB,YAAqB,OAAgC;QAAhC,YAAO,GAAP,OAAO,CAAyB;IAAG,CAAC;IAEzD,MAAM;QACJ,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAA4B,EAAE,CAAA;IACtG,CAAC;CACF;AAMD,MAAM,OAAO,kBAAkB;IACR;IAArB,YAAqB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;IAAG,CAAC;IAE1C,MAAM;QACJ,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAC1D,CAAC;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subscribe action — declarative real-time resource subscriptions with polling fallback.
|
|
3
|
+
*
|
|
4
|
+
* Enables server→client push via MCP resource subscriptions when the host supports it.
|
|
5
|
+
* Automatically falls back to SetInterval + CallTool polling otherwise.
|
|
6
|
+
*/
|
|
7
|
+
import type { Action, ActionJSON } from './types.js';
|
|
8
|
+
export interface SubscribeOpts {
|
|
9
|
+
/** Reactive store key where incoming data is written. */
|
|
10
|
+
stateKey: string;
|
|
11
|
+
/** Poll interval (ms) when the host does not support push subscriptions. Defaults to 2000. */
|
|
12
|
+
fallbackInterval?: number;
|
|
13
|
+
/** Tool to call when polling in fallback mode. */
|
|
14
|
+
fallbackTool?: string;
|
|
15
|
+
/** Arguments passed to the fallback tool call. */
|
|
16
|
+
fallbackArgs?: Record<string, unknown>;
|
|
17
|
+
/** Action(s) executed whenever new data arrives (push or poll). */
|
|
18
|
+
onData?: Action | Action[];
|
|
19
|
+
/** Action(s) executed on subscription or poll error. */
|
|
20
|
+
onError?: Action | Action[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Subscribe to a resource URI for real-time updates.
|
|
24
|
+
*
|
|
25
|
+
* When the host supports MCP resource subscriptions (`capabilities.subscriptions`),
|
|
26
|
+
* the renderer uses push notifications via the bridge. Otherwise it falls back to
|
|
27
|
+
* periodic polling using `SetInterval` + `CallTool`.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* new Subscribe('chess://game/abc123', {
|
|
32
|
+
* stateKey: '$game',
|
|
33
|
+
* fallbackInterval: 2000,
|
|
34
|
+
* fallbackTool: '_action',
|
|
35
|
+
* fallbackArgs: { action: 'refresh' },
|
|
36
|
+
* onData: new ShowToast('Game updated', { variant: 'info' }),
|
|
37
|
+
* })
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare class Subscribe implements Action {
|
|
41
|
+
readonly uri: string;
|
|
42
|
+
private readonly opts;
|
|
43
|
+
constructor(uri: string, opts: SubscribeOpts);
|
|
44
|
+
toJSON(): ActionJSON;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Unsubscribe from a previously subscribed resource URI.
|
|
48
|
+
*
|
|
49
|
+
* Typically used in cleanup or when navigating away from a view.
|
|
50
|
+
* The renderer also automatically unsubscribes on destroy.
|
|
51
|
+
*/
|
|
52
|
+
export declare class Unsubscribe implements Action {
|
|
53
|
+
readonly uri: string;
|
|
54
|
+
constructor(uri: string);
|
|
55
|
+
toJSON(): ActionJSON;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=subscribe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../src/actions/subscribe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAIpD,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACtC,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,SAAU,YAAW,MAAM;IAEpC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADZ,GAAG,EAAE,MAAM,EACH,IAAI,EAAE,aAAa;IAGtC,MAAM,IAAI,UAAU;CAarB;AAED;;;;;GAKG;AACH,qBAAa,WAAY,YAAW,MAAM;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAEhC,MAAM,IAAI,UAAU;CAGrB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subscribe action — declarative real-time resource subscriptions with polling fallback.
|
|
3
|
+
*
|
|
4
|
+
* Enables server→client push via MCP resource subscriptions when the host supports it.
|
|
5
|
+
* Automatically falls back to SetInterval + CallTool polling otherwise.
|
|
6
|
+
*/
|
|
7
|
+
import { serializeCallbacks } from './types.js';
|
|
8
|
+
import { serializeValue } from '../core/component.js';
|
|
9
|
+
/**
|
|
10
|
+
* Subscribe to a resource URI for real-time updates.
|
|
11
|
+
*
|
|
12
|
+
* When the host supports MCP resource subscriptions (`capabilities.subscriptions`),
|
|
13
|
+
* the renderer uses push notifications via the bridge. Otherwise it falls back to
|
|
14
|
+
* periodic polling using `SetInterval` + `CallTool`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* new Subscribe('chess://game/abc123', {
|
|
19
|
+
* stateKey: '$game',
|
|
20
|
+
* fallbackInterval: 2000,
|
|
21
|
+
* fallbackTool: '_action',
|
|
22
|
+
* fallbackArgs: { action: 'refresh' },
|
|
23
|
+
* onData: new ShowToast('Game updated', { variant: 'info' }),
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export class Subscribe {
|
|
28
|
+
uri;
|
|
29
|
+
opts;
|
|
30
|
+
constructor(uri, opts) {
|
|
31
|
+
this.uri = uri;
|
|
32
|
+
this.opts = opts;
|
|
33
|
+
}
|
|
34
|
+
toJSON() {
|
|
35
|
+
const json = {
|
|
36
|
+
action: 'subscribe',
|
|
37
|
+
uri: this.uri,
|
|
38
|
+
state_key: this.opts.stateKey,
|
|
39
|
+
};
|
|
40
|
+
if (this.opts.fallbackInterval != null)
|
|
41
|
+
json.fallback_interval = this.opts.fallbackInterval;
|
|
42
|
+
if (this.opts.fallbackTool)
|
|
43
|
+
json.fallback_tool = this.opts.fallbackTool;
|
|
44
|
+
if (this.opts.fallbackArgs)
|
|
45
|
+
json.fallback_args = serializeValue(this.opts.fallbackArgs);
|
|
46
|
+
if (this.opts.onData)
|
|
47
|
+
json.on_data = serializeCallbacks(this.opts.onData);
|
|
48
|
+
if (this.opts.onError)
|
|
49
|
+
json.on_error = serializeCallbacks(this.opts.onError);
|
|
50
|
+
return json;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Unsubscribe from a previously subscribed resource URI.
|
|
55
|
+
*
|
|
56
|
+
* Typically used in cleanup or when navigating away from a view.
|
|
57
|
+
* The renderer also automatically unsubscribes on destroy.
|
|
58
|
+
*/
|
|
59
|
+
export class Unsubscribe {
|
|
60
|
+
uri;
|
|
61
|
+
constructor(uri) {
|
|
62
|
+
this.uri = uri;
|
|
63
|
+
}
|
|
64
|
+
toJSON() {
|
|
65
|
+
return { action: 'unsubscribe', uri: this.uri };
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=subscribe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../src/actions/subscribe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAiBrD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,SAAS;IAET;IACQ;IAFnB,YACW,GAAW,EACH,IAAmB;QAD3B,QAAG,GAAH,GAAG,CAAQ;QACH,SAAI,GAAJ,IAAI,CAAe;IACnC,CAAC;IAEJ,MAAM;QACJ,MAAM,IAAI,GAAe;YACvB,MAAM,EAAE,WAAW;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;SAC9B,CAAA;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI;YAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA;QAC3F,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAA;QACvE,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACD;IAArB,YAAqB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEpC,MAAM;QACJ,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAA;IACjD,CAAC;CACF"}
|
package/dist/app.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ import type { ComponentJSON } from './core/component.js';
|
|
|
9
9
|
import type { Action, ActionJSON } from './actions/types.js';
|
|
10
10
|
import type { PipeFn } from './rx/pipes.js';
|
|
11
11
|
/** Package version — injected by build script, updated at release time. */
|
|
12
|
-
export declare const VERSION = "0.2.
|
|
12
|
+
export declare const VERSION = "0.2.29";
|
|
13
13
|
export interface Theme {
|
|
14
14
|
light?: Record<string, string>;
|
|
15
15
|
dark?: Record<string, string>;
|
package/dist/app.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import {} from './core/component.js';
|
|
8
8
|
import { drainAutoState } from './rx/state-collector.js';
|
|
9
9
|
/** Package version — injected by build script, updated at release time. */
|
|
10
|
-
export const VERSION = '0.2.
|
|
10
|
+
export const VERSION = '0.2.29';
|
|
11
11
|
export class PrefabApp {
|
|
12
12
|
title;
|
|
13
13
|
view;
|
|
@@ -51,7 +51,7 @@ export class PrefabApp {
|
|
|
51
51
|
const rootCssClass = this.cssClass ? `pf-app-root ${this.cssClass}` : 'pf-app-root';
|
|
52
52
|
const rootView = {
|
|
53
53
|
type: 'Div',
|
|
54
|
-
|
|
54
|
+
css_class: rootCssClass,
|
|
55
55
|
children: [this.view.toJSON()],
|
|
56
56
|
};
|
|
57
57
|
const wire = {
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAkB,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAGxD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAA;AAyD/B,MAAM,OAAO,SAAS;IACX,KAAK,CAAQ;IACb,IAAI,CAAW;IACf,KAAK,CAA0B;IAC/B,KAAK,CAAQ;IACb,IAAI,CAA4B;IAChC,WAAW,CAAW;IACtB,OAAO,CAAW;IAClB,OAAO,CAAoB;IAC3B,WAAW,CAAoC;IAC/C,QAAQ,CAAS;IACjB,KAAK,CAAyB;IAC9B,MAAM,CAAc;IAE7B,YAAY,IAAsB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAA;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,qFAAqF;QACrF,wCAAwC;QACxC,MAAM,SAAS,GAAG,cAAc,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ;YAC1D,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE;YAC/B,CAAC,CAAC,SAAS,CAAA;QACb,IAAI,CAAC,KAAK,GAAG,MAAM,CAAA;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,iDAAiD;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAA;QACnF,MAAM,QAAQ,GAAkB;YAC9B,IAAI,EAAE,KAAK;YACX,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/auto/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAK9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAInF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AA8C1E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAG1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAInF;AA2BD,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAczG;AAuFD,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC9B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,kBAAkB,CAoBzG"}
|
package/dist/auto/index.js
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
* manually building component trees.
|
|
7
7
|
*/
|
|
8
8
|
import {} from '../core/component.js';
|
|
9
|
-
import { toCamelCase } from '../core/index.js';
|
|
10
9
|
import { Column, Row } from '../components/layout/index.js';
|
|
11
10
|
import { Heading, Text, Muted } from '../components/typography/index.js';
|
|
12
11
|
import { Card, CardContent } from '../components/card/index.js';
|
|
@@ -234,7 +233,7 @@ function inferColumns(rows, exclude, sortable) {
|
|
|
234
233
|
// Skip nested objects and arrays — they don't render well in tables
|
|
235
234
|
if (typeof value === 'object' && value !== null)
|
|
236
235
|
continue;
|
|
237
|
-
columns.push(col(
|
|
236
|
+
columns.push(col(key, humanizeKey(key), sortable ? { sortable: true } : undefined));
|
|
238
237
|
}
|
|
239
238
|
return columns;
|
|
240
239
|
}
|
package/dist/auto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA2C,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auto/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/charts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/charts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,19 @@
|
|
|
2
2
|
* Chart components — BarChart, LineChart, AreaChart, PieChart, Sparkline, etc.
|
|
3
3
|
*/
|
|
4
4
|
import { Component } from '../../core/component.js';
|
|
5
|
+
import { toSnakeCase } from '../../core/component.js';
|
|
6
|
+
/** Convert structural object keys (like series definitions) to snake_case */
|
|
7
|
+
function snakeCaseObj(obj) {
|
|
8
|
+
const result = {};
|
|
9
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
10
|
+
result[toSnakeCase(k)] = v;
|
|
11
|
+
}
|
|
12
|
+
return result;
|
|
13
|
+
}
|
|
5
14
|
function chartGetProps(props, extra) {
|
|
6
15
|
return {
|
|
7
16
|
data: props.data,
|
|
8
|
-
series: props.series,
|
|
17
|
+
series: props.series.map(s => snakeCaseObj(s)),
|
|
9
18
|
...(props.xAxis && { xAxis: props.xAxis }),
|
|
10
19
|
...(props.tooltipXKey && { tooltipXKey: props.tooltipXKey }),
|
|
11
20
|
...(props.xAxisFormat && { xAxisFormat: props.xAxisFormat }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/charts/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/charts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PdfViewer component — render PDF documents inside MCP Apps.
|
|
3
|
+
*
|
|
4
|
+
* Uses Mozilla PDF.js loaded on-demand from CDN. Renders pages to `<canvas>`
|
|
5
|
+
* with an optional text layer for copy/paste and search.
|
|
6
|
+
*
|
|
7
|
+
* CSP requirements:
|
|
8
|
+
* - `resourceDomains`: include the PDF.js CDN (jsdelivr by default)
|
|
9
|
+
* - `connectDomains`: include the origin serving your PDF files
|
|
10
|
+
*/
|
|
11
|
+
import { Component } from '../../core/component.js';
|
|
12
|
+
import type { ComponentProps } from '../../core/component.js';
|
|
13
|
+
export type PdfZoom = 'fit-width' | 'fit-page' | number;
|
|
14
|
+
export interface PdfViewerProps extends ComponentProps {
|
|
15
|
+
/** URL to the PDF file (requires origin in `connectDomains`). */
|
|
16
|
+
src?: string;
|
|
17
|
+
/** Base64-encoded PDF data (inline, no CORS needed). */
|
|
18
|
+
data?: string;
|
|
19
|
+
/** Initial page number (1-based). @default 1 */
|
|
20
|
+
page?: number;
|
|
21
|
+
/** Zoom mode or scale factor. @default 'fit-width' */
|
|
22
|
+
zoom?: PdfZoom;
|
|
23
|
+
/** Show navigation toolbar (page nav + zoom). @default true */
|
|
24
|
+
toolbar?: boolean;
|
|
25
|
+
/** Container height in pixels. @default 600 */
|
|
26
|
+
height?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* PDF viewer component.
|
|
30
|
+
*
|
|
31
|
+
* @example From URL:
|
|
32
|
+
* ```ts
|
|
33
|
+
* PdfViewer('https://api.example.com/reports/q1.pdf')
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example From base64:
|
|
37
|
+
* ```ts
|
|
38
|
+
* PdfViewer({ data: base64String, toolbar: true })
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example With options:
|
|
42
|
+
* ```ts
|
|
43
|
+
* PdfViewer('https://example.com/doc.pdf', { page: 3, zoom: 'fit-page', height: 800 })
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
export declare function PdfViewer(srcOrProps: string | PdfViewerProps, opts?: Omit<PdfViewerProps, 'src'>): Component;
|
|
47
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pdf/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAA;AAEvD,MAAM,WAAW,cAAe,SAAQ,cAAc;IACpD,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sDAAsD;IACtD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,+DAA+D;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GAAG,SAAS,CAmB5G"}
|