@miragon/mcp-toolkit-core 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -0
- package/dist/engine/context-builder.d.ts +5 -0
- package/dist/engine/context-builder.d.ts.map +1 -0
- package/dist/engine/context-builder.js +22 -0
- package/dist/engine/context-builder.js.map +1 -0
- package/dist/engine/pipeline-executor.d.ts +21 -0
- package/dist/engine/pipeline-executor.d.ts.map +1 -0
- package/dist/engine/pipeline-executor.js +80 -0
- package/dist/engine/pipeline-executor.js.map +1 -0
- package/dist/framework/active-modules.d.ts +30 -0
- package/dist/framework/active-modules.d.ts.map +1 -0
- package/dist/framework/active-modules.js +44 -0
- package/dist/framework/active-modules.js.map +1 -0
- package/dist/framework/catalogue.d.ts +148 -0
- package/dist/framework/catalogue.d.ts.map +1 -0
- package/dist/framework/catalogue.js +132 -0
- package/dist/framework/catalogue.js.map +1 -0
- package/dist/framework/dashboard-store.d.ts +136 -0
- package/dist/framework/dashboard-store.d.ts.map +1 -0
- package/dist/framework/dashboard-store.js +301 -0
- package/dist/framework/dashboard-store.js.map +1 -0
- package/dist/framework/layout-schemas.d.ts +106 -0
- package/dist/framework/layout-schemas.d.ts.map +1 -0
- package/dist/framework/layout-schemas.js +67 -0
- package/dist/framework/layout-schemas.js.map +1 -0
- package/dist/framework/layout-types.d.ts +25 -0
- package/dist/framework/layout-types.d.ts.map +1 -0
- package/dist/framework/layout-types.js +7 -0
- package/dist/framework/layout-types.js.map +1 -0
- package/dist/framework/manifest.d.ts +65 -0
- package/dist/framework/manifest.d.ts.map +1 -0
- package/dist/framework/manifest.js +47 -0
- package/dist/framework/manifest.js.map +1 -0
- package/dist/framework/render-view.d.ts +53 -0
- package/dist/framework/render-view.d.ts.map +1 -0
- package/dist/framework/render-view.js +73 -0
- package/dist/framework/render-view.js.map +1 -0
- package/dist/framework/view-builders.d.ts +79 -0
- package/dist/framework/view-builders.d.ts.map +1 -0
- package/dist/framework/view-builders.js +113 -0
- package/dist/framework/view-builders.js.map +1 -0
- package/dist/i18n/index.d.ts +3 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +6 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/translator.d.ts +59 -0
- package/dist/i18n/translator.d.ts.map +1 -0
- package/dist/i18n/translator.js +48 -0
- package/dist/i18n/translator.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/org-gate.d.ts +22 -0
- package/dist/middleware/org-gate.d.ts.map +1 -0
- package/dist/middleware/org-gate.js +28 -0
- package/dist/middleware/org-gate.js.map +1 -0
- package/dist/middleware/role-filter.d.ts +79 -0
- package/dist/middleware/role-filter.d.ts.map +1 -0
- package/dist/middleware/role-filter.js +95 -0
- package/dist/middleware/role-filter.js.map +1 -0
- package/dist/registry/app-loader.d.ts +35 -0
- package/dist/registry/app-loader.d.ts.map +1 -0
- package/dist/registry/app-loader.js +55 -0
- package/dist/registry/app-loader.js.map +1 -0
- package/dist/registry/step-registry.d.ts +27 -0
- package/dist/registry/step-registry.d.ts.map +1 -0
- package/dist/registry/step-registry.js +53 -0
- package/dist/registry/step-registry.js.map +1 -0
- package/dist/registry/widget-registry.d.ts +15 -0
- package/dist/registry/widget-registry.d.ts.map +1 -0
- package/dist/registry/widget-registry.js +28 -0
- package/dist/registry/widget-registry.js.map +1 -0
- package/dist/rest/client.d.ts +3 -0
- package/dist/rest/client.d.ts.map +1 -0
- package/dist/rest/client.js +155 -0
- package/dist/rest/client.js.map +1 -0
- package/dist/rest/errors.d.ts +14 -0
- package/dist/rest/errors.d.ts.map +1 -0
- package/dist/rest/errors.js +21 -0
- package/dist/rest/errors.js.map +1 -0
- package/dist/rest/index.d.ts +6 -0
- package/dist/rest/index.d.ts.map +1 -0
- package/dist/rest/index.js +4 -0
- package/dist/rest/index.js.map +1 -0
- package/dist/rest/tool.d.ts +60 -0
- package/dist/rest/tool.d.ts.map +1 -0
- package/dist/rest/tool.js +81 -0
- package/dist/rest/tool.js.map +1 -0
- package/dist/rest/types.d.ts +66 -0
- package/dist/rest/types.d.ts.map +1 -0
- package/dist/rest/types.js +2 -0
- package/dist/rest/types.js.map +1 -0
- package/dist/tools/app-resource-uri.d.ts +28 -0
- package/dist/tools/app-resource-uri.d.ts.map +1 -0
- package/dist/tools/app-resource-uri.js +30 -0
- package/dist/tools/app-resource-uri.js.map +1 -0
- package/dist/tools/backend-registry.d.ts +111 -0
- package/dist/tools/backend-registry.d.ts.map +1 -0
- package/dist/tools/backend-registry.js +154 -0
- package/dist/tools/backend-registry.js.map +1 -0
- package/dist/tools/create-framework-app.d.ts +147 -0
- package/dist/tools/create-framework-app.d.ts.map +1 -0
- package/dist/tools/create-framework-app.js +111 -0
- package/dist/tools/create-framework-app.js.map +1 -0
- package/dist/tools/index.d.ts +22 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +15 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/register-catalogue-tool.d.ts +22 -0
- package/dist/tools/register-catalogue-tool.d.ts.map +1 -0
- package/dist/tools/register-catalogue-tool.js +45 -0
- package/dist/tools/register-catalogue-tool.js.map +1 -0
- package/dist/tools/register-dashboard-tools.d.ts +32 -0
- package/dist/tools/register-dashboard-tools.d.ts.map +1 -0
- package/dist/tools/register-dashboard-tools.js +149 -0
- package/dist/tools/register-dashboard-tools.js.map +1 -0
- package/dist/tools/register-framework-tools.d.ts +83 -0
- package/dist/tools/register-framework-tools.d.ts.map +1 -0
- package/dist/tools/register-framework-tools.js +154 -0
- package/dist/tools/register-framework-tools.js.map +1 -0
- package/dist/tools/register-tool.d.ts +45 -0
- package/dist/tools/register-tool.d.ts.map +1 -0
- package/dist/tools/register-tool.js +82 -0
- package/dist/tools/register-tool.js.map +1 -0
- package/dist/tools/register-widget-tool.d.ts +51 -0
- package/dist/tools/register-widget-tool.d.ts.map +1 -0
- package/dist/tools/register-widget-tool.js +45 -0
- package/dist/tools/register-widget-tool.js.map +1 -0
- package/dist/tools/tool-call-name.d.ts +53 -0
- package/dist/tools/tool-call-name.d.ts.map +1 -0
- package/dist/tools/tool-call-name.js +92 -0
- package/dist/tools/tool-call-name.js.map +1 -0
- package/dist/tools/with-tool-errors.d.ts +16 -0
- package/dist/tools/with-tool-errors.d.ts.map +1 -0
- package/dist/tools/with-tool-errors.js +28 -0
- package/dist/tools/with-tool-errors.js.map +1 -0
- package/dist/types/app.d.ts +44 -0
- package/dist/types/app.d.ts.map +1 -0
- package/dist/types/app.js +2 -0
- package/dist/types/app.js.map +1 -0
- package/dist/types/config.d.ts +15 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/context.d.ts +18 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +2 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/meta.d.ts +99 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/meta.js +66 -0
- package/dist/types/meta.js.map +1 -0
- package/dist/types/pipeline.d.ts +9 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +2 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/step.d.ts +51 -0
- package/dist/types/step.d.ts.map +1 -0
- package/dist/types/step.js +2 -0
- package/dist/types/step.js.map +1 -0
- package/dist/types/view-data.d.ts +67 -0
- package/dist/types/view-data.d.ts.map +1 -0
- package/dist/types/view-data.js +2 -0
- package/dist/types/view-data.js.map +1 -0
- package/dist/types/widget.d.ts +57 -0
- package/dist/types/widget.d.ts.map +1 -0
- package/dist/types/widget.js +2 -0
- package/dist/types/widget.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { PipelineContext, StepOutput } from "./context.js";
|
|
2
|
+
/**
|
|
3
|
+
* Soft input declaration — a key the step reads from `context.keys` if present
|
|
4
|
+
* but does not strictly need to run. Surfaced in `getFrameworkManifest` so an
|
|
5
|
+
* LLM constructing `render-view` knows the step accepts these scoping keys
|
|
6
|
+
* even though they don't appear in `requires`.
|
|
7
|
+
*/
|
|
8
|
+
export interface OptionalKeyDeclaration {
|
|
9
|
+
/** Namespaced key (e.g. `analytics:processDefinitionKey`). */
|
|
10
|
+
key: string;
|
|
11
|
+
/** One-line description of what the key controls. */
|
|
12
|
+
description?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Allowed values when the input is constrained to an enum. Useful for the LLM
|
|
15
|
+
* to construct valid `keys` without guessing (e.g. period: 1d|7d|30d|90d).
|
|
16
|
+
*/
|
|
17
|
+
enum?: readonly (string | number)[];
|
|
18
|
+
}
|
|
19
|
+
export interface PipelineStepDefinition<TConfig = unknown> {
|
|
20
|
+
id: string;
|
|
21
|
+
/**
|
|
22
|
+
* One-line human description of what the step does. Surfaced in
|
|
23
|
+
* `getFrameworkManifest` so an LLM picks the right step for a widget without
|
|
24
|
+
* having to guess from the id.
|
|
25
|
+
*/
|
|
26
|
+
description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The data type this step produces.
|
|
29
|
+
* e.g. "lexoffice:invoice", "camunda7:processInstance", "analytics:kpis"
|
|
30
|
+
* Widgets that accept the same dataType can render this data.
|
|
31
|
+
*/
|
|
32
|
+
dataType: string;
|
|
33
|
+
/**
|
|
34
|
+
* Keys that must already exist in the pipeline context before this step can run.
|
|
35
|
+
* e.g. ["lexoffice:invoiceNumber"] or ["camunda7:processInstanceId"]
|
|
36
|
+
*/
|
|
37
|
+
requires: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Keys the step reads from `context.keys` if present but tolerates absence
|
|
40
|
+
* of. The step still runs without them (typically with a default or aggregated
|
|
41
|
+
* scope). Distinct from `requires`, which gates execution.
|
|
42
|
+
*/
|
|
43
|
+
optionalKeys?: OptionalKeyDeclaration[];
|
|
44
|
+
/**
|
|
45
|
+
* Keys this step produces into the context.
|
|
46
|
+
* Prefix with the app name to avoid collisions, e.g. ["lexoffice:invoice", "lexoffice:lines"].
|
|
47
|
+
*/
|
|
48
|
+
produces: string[];
|
|
49
|
+
execute: (context: PipelineContext, appConfig: TConfig) => Promise<StepOutput>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.d.ts","sourceRoot":"","sources":["../../src/types/step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CACpC;AAED,MAAM,WAAW,sBAAsB,CAAC,OAAO,GAAG,OAAO;IACvD,EAAE,EAAE,MAAM,CAAA;IAEV;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAEvC;;;OAGG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAElB,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;CAC/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["../../src/types/step.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { LayoutConfig } from "../framework/layout-types.js";
|
|
2
|
+
import type { PipelineStepRef } from "./pipeline.js";
|
|
3
|
+
/**
|
|
4
|
+
* Per-step slice of a view's `structuredContent`. Each entry carries the
|
|
5
|
+
* step's `data` payload plus the routing fields the browser-side
|
|
6
|
+
* `adaptDataWidget` reads to pick the right widget component:
|
|
7
|
+
* - `_app` — the app the step (or eager builder) belongs to,
|
|
8
|
+
* - `_dataType` — the data type the widget is registered against.
|
|
9
|
+
*
|
|
10
|
+
* Both routing fields are optional because not every producer sets them
|
|
11
|
+
* (e.g. a bare key-only view), but the view builders and `render-view`
|
|
12
|
+
* always populate them for real widget data.
|
|
13
|
+
*/
|
|
14
|
+
export interface StepDataEntry {
|
|
15
|
+
data: unknown;
|
|
16
|
+
keys: Record<string, unknown>;
|
|
17
|
+
_app?: string;
|
|
18
|
+
_dataType?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The view input echoed back so the in-iframe refresh button can re-issue the
|
|
22
|
+
* exact same `render-view` call. Only `render-view` emits this; the eager view
|
|
23
|
+
* builders omit it (their callers re-run the originating `*_show_*` tool).
|
|
24
|
+
*/
|
|
25
|
+
export interface RefreshParams {
|
|
26
|
+
keys?: Record<string, unknown>;
|
|
27
|
+
steps?: PipelineStepRef[];
|
|
28
|
+
layout: LayoutConfig;
|
|
29
|
+
title?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The `structuredContent` envelope a view tool returns. This is the wire
|
|
33
|
+
* contract between the producers — `render-view` and the eager
|
|
34
|
+
* `view-builders` (`buildSingleWidgetView` / `buildComposedView`) — and the
|
|
35
|
+
* `McpAppView` shell / `adaptDataWidget` in `@miragon/mcp-toolkit-ui` that
|
|
36
|
+
* consumes it. The text channel carries only a short model-facing summary; the
|
|
37
|
+
* full payload lives here.
|
|
38
|
+
*
|
|
39
|
+
* Optional fields reflect which producer emitted the envelope: `render-view`
|
|
40
|
+
* sets `_refreshParams`, while the eager view builders leave it out.
|
|
41
|
+
*/
|
|
42
|
+
export interface ViewStructuredContent {
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
_refreshParams?: RefreshParams;
|
|
45
|
+
title?: string;
|
|
46
|
+
context: {
|
|
47
|
+
keys: Record<string, unknown>;
|
|
48
|
+
stepIds: string[];
|
|
49
|
+
stepData: Record<string, StepDataEntry>;
|
|
50
|
+
errors: {
|
|
51
|
+
stepId: string;
|
|
52
|
+
reason: string;
|
|
53
|
+
}[];
|
|
54
|
+
};
|
|
55
|
+
layout: LayoutConfig;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the in-iframe visual builder is actually usable on this server —
|
|
58
|
+
* i.e. `app.builder` is enabled and the app-only `get-builder-catalogue`
|
|
59
|
+
* tool is registered. `render-view` derives it from `createFrameworkApp`'s
|
|
60
|
+
* `app.builder` and the `McpAppView` shell gates its Build/edit affordance
|
|
61
|
+
* on it, so the button never appears against a server that can't service it.
|
|
62
|
+
* Absent on payloads from the eager view builders (which don't run the
|
|
63
|
+
* builder platform).
|
|
64
|
+
*/
|
|
65
|
+
builderAvailable?: boolean;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=view-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-data.d.ts","sourceRoot":"","sources":["../../src/types/view-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAEpD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,eAAe,EAAE,CAAA;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IAKpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACvC,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAC7C,CAAA;IACD,MAAM,EAAE,YAAY,CAAA;IACpB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-data.js","sourceRoot":"","sources":["../../src/types/view-data.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type { PipelineContext } from "./context.js";
|
|
2
|
+
export interface WidgetProps {
|
|
3
|
+
keys: Record<string, unknown>;
|
|
4
|
+
context: PipelineContext;
|
|
5
|
+
/**
|
|
6
|
+
* Per-instance props supplied by the layout cell (`row[].props`). Lets the
|
|
7
|
+
* same widget render multiple times in one view with different scoping
|
|
8
|
+
* (e.g. `{ processDefinitionKey: "miraveloLeasing" }` for a per-process tab).
|
|
9
|
+
* Adapters (see `adaptDataWidget` in `packages/ui/src/app/adapt-data-widget.tsx`)
|
|
10
|
+
* forward these as named props onto the underlying single-data widget.
|
|
11
|
+
*/
|
|
12
|
+
widgetProps?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export type WidgetSize = "quarter" | "third" | "half" | "full" | "header";
|
|
15
|
+
/**
|
|
16
|
+
* A widget the app contributes to the framework. The widget's React component
|
|
17
|
+
* is baked into the host's app-bundle at build time: the framework looks it up
|
|
18
|
+
* in the `widgets` map passed to `McpAppView` — no resource read at render
|
|
19
|
+
* time.
|
|
20
|
+
*/
|
|
21
|
+
export interface WidgetDefinition {
|
|
22
|
+
id: string;
|
|
23
|
+
/**
|
|
24
|
+
* One-line human description of what the widget shows. Surfaced verbatim in
|
|
25
|
+
* `getFrameworkManifest` so an LLM constructing a `render-view` knows what
|
|
26
|
+
* to put in which slot without inferring intent from the widget id.
|
|
27
|
+
*/
|
|
28
|
+
description?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Keys that must be present in the pipeline context for this widget to render.
|
|
31
|
+
* e.g. ["lexoffice:invoice"] or ["camunda7:instance", "camunda7:activityTree"]
|
|
32
|
+
* Widgets read their data from the keys map passed via WidgetProps.
|
|
33
|
+
*/
|
|
34
|
+
requires: string[];
|
|
35
|
+
/**
|
|
36
|
+
* Step `dataType`s the widget can consume. Surfaces the widget→step binding
|
|
37
|
+
* (which lives implicitly inside `adaptDataWidget(Widget, dataType)` in
|
|
38
|
+
* `packages/ui/src/app/adapt-data-widget.tsx`) so the manifest tells an LLM
|
|
39
|
+
* exactly which steps populate this widget. Empty or
|
|
40
|
+
* omitted for widgets that don't read pipeline data (e.g. interactive
|
|
41
|
+
* controls that drive their own fetches via `useToolQuery`).
|
|
42
|
+
*/
|
|
43
|
+
consumes?: string[];
|
|
44
|
+
size: WidgetSize;
|
|
45
|
+
/**
|
|
46
|
+
* Optional JSON Schema describing the per-instance props the widget accepts
|
|
47
|
+
* via the layout cell's `props` field. Surfaced verbatim in
|
|
48
|
+
* `getFrameworkManifest` so an LLM constructing a `render-view` call can
|
|
49
|
+
* discover valid props per widget without guessing — same JSON-Schema
|
|
50
|
+
* contract the LLM already understands from MCP tool input schemas.
|
|
51
|
+
*
|
|
52
|
+
* Generate it from a Zod object with `z.toJSONSchema(schema)` so the
|
|
53
|
+
* documentation lives next to the widget code.
|
|
54
|
+
*/
|
|
55
|
+
propsSchema?: Record<string, unknown>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=widget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/types/widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,eAAe,CAAA;IACxB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;AAEzE;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,IAAI,EAAE,UAAU,CAAA;IAChB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/types/widget.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@miragon/mcp-toolkit-core",
|
|
3
|
+
"version": "0.10.1",
|
|
4
|
+
"description": "Framework runtime for MCP servers: plugin contract, step/widget registries, pipeline executor, render-view helpers.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./tools": {
|
|
15
|
+
"types": "./dist/tools/index.d.ts",
|
|
16
|
+
"import": "./dist/tools/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./rest": {
|
|
19
|
+
"types": "./dist/rest/index.d.ts",
|
|
20
|
+
"import": "./dist/rest/index.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md"
|
|
26
|
+
],
|
|
27
|
+
"publishConfig": {
|
|
28
|
+
"access": "public"
|
|
29
|
+
},
|
|
30
|
+
"peerDependencies": {
|
|
31
|
+
"@modelcontextprotocol/sdk": "1.29.0",
|
|
32
|
+
"mcp-use": "1.34.5",
|
|
33
|
+
"zod": "4.4.3"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@modelcontextprotocol/sdk": "1.29.0",
|
|
37
|
+
"@types/node": "26.1.1",
|
|
38
|
+
"mcp-use": "1.34.5",
|
|
39
|
+
"typescript": "6.0.3",
|
|
40
|
+
"vitest": "4.1.10",
|
|
41
|
+
"zod": "4.4.3"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "tsc -p tsconfig.build.json",
|
|
45
|
+
"typecheck": "tsc --noEmit",
|
|
46
|
+
"test": "vitest run",
|
|
47
|
+
"lint": "eslint src --max-warnings 0",
|
|
48
|
+
"lint:fix": "eslint src --fix"
|
|
49
|
+
}
|
|
50
|
+
}
|