@gravity-platform/miro-bridge 0.1.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.
Files changed (45) hide show
  1. package/dist/MiroBridge/node/executor.d.ts +19 -0
  2. package/dist/MiroBridge/node/executor.d.ts.map +1 -0
  3. package/dist/MiroBridge/node/executor.js +143 -0
  4. package/dist/MiroBridge/node/executor.js.map +1 -0
  5. package/dist/MiroBridge/node/index.d.ts +10 -0
  6. package/dist/MiroBridge/node/index.d.ts.map +1 -0
  7. package/dist/MiroBridge/node/index.js +87 -0
  8. package/dist/MiroBridge/node/index.js.map +1 -0
  9. package/dist/MiroBridge/service/boardStore.d.ts +15 -0
  10. package/dist/MiroBridge/service/boardStore.d.ts.map +1 -0
  11. package/dist/MiroBridge/service/boardStore.js +151 -0
  12. package/dist/MiroBridge/service/boardStore.js.map +1 -0
  13. package/dist/MiroBridge/service/diagramLayout.d.ts +13 -0
  14. package/dist/MiroBridge/service/diagramLayout.d.ts.map +1 -0
  15. package/dist/MiroBridge/service/diagramLayout.js +241 -0
  16. package/dist/MiroBridge/service/diagramLayout.js.map +1 -0
  17. package/dist/MiroBridge/service/mcpHandlers.d.ts +18 -0
  18. package/dist/MiroBridge/service/mcpHandlers.d.ts.map +1 -0
  19. package/dist/MiroBridge/service/mcpHandlers.js +307 -0
  20. package/dist/MiroBridge/service/mcpHandlers.js.map +1 -0
  21. package/dist/MiroBridge/service/mcpSchema.d.ts +490 -0
  22. package/dist/MiroBridge/service/mcpSchema.d.ts.map +1 -0
  23. package/dist/MiroBridge/service/mcpSchema.js +262 -0
  24. package/dist/MiroBridge/service/mcpSchema.js.map +1 -0
  25. package/dist/MiroBridge/service/miroApi.d.ts +32 -0
  26. package/dist/MiroBridge/service/miroApi.d.ts.map +1 -0
  27. package/dist/MiroBridge/service/miroApi.js +262 -0
  28. package/dist/MiroBridge/service/miroApi.js.map +1 -0
  29. package/dist/MiroBridge/service/normalise.d.ts +2 -0
  30. package/dist/MiroBridge/service/normalise.d.ts.map +1 -0
  31. package/dist/MiroBridge/service/normalise.js +52 -0
  32. package/dist/MiroBridge/service/normalise.js.map +1 -0
  33. package/dist/MiroBridge/util/types.d.ts +78 -0
  34. package/dist/MiroBridge/util/types.d.ts.map +1 -0
  35. package/dist/MiroBridge/util/types.js +3 -0
  36. package/dist/MiroBridge/util/types.js.map +1 -0
  37. package/dist/credentials/index.d.ts +23 -0
  38. package/dist/credentials/index.d.ts.map +1 -0
  39. package/dist/credentials/index.js +28 -0
  40. package/dist/credentials/index.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +55 -0
  44. package/dist/index.js.map +1 -0
  45. package/package.json +25 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // Normalises common LLM parameter mistakes before they reach handlers.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.normaliseParams = normaliseParams;
5
+ // Extract item/widget ID from a full Miro URL, or return the value as-is.
6
+ function extractMiroId(value) {
7
+ if (!value.includes("miro.com"))
8
+ return value;
9
+ const widgetMatch = value.match(/[?&](?:moveToWidget|focusWidget)=([^&]+)/);
10
+ if (widgetMatch)
11
+ return widgetMatch[1];
12
+ const boardMatch = value.match(/\/board\/([^/?]+)/);
13
+ if (boardMatch)
14
+ return boardMatch[1];
15
+ return value;
16
+ }
17
+ // Canonical param names — maps known wrong casings to correct ones.
18
+ const ALIASES = {
19
+ parentID: "parentId",
20
+ ParentId: "parentId",
21
+ parent_id: "parentId",
22
+ startItemID: "startItemId",
23
+ endItemID: "endItemId",
24
+ itemID: "itemId",
25
+ fillcolor: "fillColor",
26
+ FillColor: "fillColor",
27
+ fontSize: "fontSize",
28
+ fontsize: "fontSize",
29
+ duedate: "dueDate",
30
+ DueDate: "dueDate",
31
+ };
32
+ // Fields whose values should be extracted as Miro IDs.
33
+ const ID_FIELDS = new Set(["id", "parentId", "itemId", "startItemId", "endItemId"]);
34
+ function normaliseParams(params) {
35
+ const result = {};
36
+ for (const [key, value] of Object.entries(params)) {
37
+ const normKey = ALIASES[key] ?? key;
38
+ let normValue = value;
39
+ // Extract IDs from URLs
40
+ if (ID_FIELDS.has(normKey) && typeof value === "string") {
41
+ normValue = extractMiroId(value);
42
+ }
43
+ // Coerce string booleans
44
+ if (value === "true")
45
+ normValue = true;
46
+ else if (value === "false")
47
+ normValue = false;
48
+ result[normKey] = normValue;
49
+ }
50
+ return result;
51
+ }
52
+ //# sourceMappingURL=normalise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalise.js","sourceRoot":"","sources":["../../../src/MiroBridge/service/normalise.ts"],"names":[],"mappings":";AAAA,uEAAuE;;AA+BvE,0CAqBC;AAlDD,0EAA0E;AAC1E,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC5E,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oEAAoE;AACpE,MAAM,OAAO,GAA2B;IACtC,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,uDAAuD;AACvD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAEpF,SAAgB,eAAe,CAAC,MAA2B;IACzD,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;QAEpC,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,wBAAwB;QACxB,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxD,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,yBAAyB;QACzB,IAAI,KAAK,KAAK,MAAM;YAAE,SAAS,GAAG,IAAI,CAAC;aAClC,IAAI,KAAK,KAAK,OAAO;YAAE,SAAS,GAAG,KAAK,CAAC;QAE9C,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,78 @@
1
+ export interface MiroBridgeConfig {
2
+ defaultX?: number;
3
+ defaultY?: number;
4
+ }
5
+ export type MiroColor = "yellow" | "orange" | "red" | "pink" | "violet" | "blue" | "cyan" | "green" | "light_green" | "gray" | "black" | "white";
6
+ export type MiroShapeType = "rectangle" | "circle" | "triangle" | "rhombus" | "parallelogram" | "star" | "arrow" | "cross" | "flow_chart_process" | "flow_chart_decision" | "flow_chart_terminator" | "flow_chart_database" | "flow_chart_document" | "flow_chart_predefined_process";
7
+ export type DiagramNodeShape = "process" | "decision" | "terminator" | "database" | "parallelogram" | "default";
8
+ export interface DiagramNode {
9
+ id: string;
10
+ label: string;
11
+ shape: DiagramNodeShape;
12
+ }
13
+ export interface DiagramEdge {
14
+ from: string;
15
+ to: string;
16
+ label?: string;
17
+ }
18
+ export interface PositionedNode extends DiagramNode {
19
+ x: number;
20
+ y: number;
21
+ }
22
+ export interface DiagramLayout {
23
+ nodes: PositionedNode[];
24
+ bounds: {
25
+ width: number;
26
+ height: number;
27
+ };
28
+ edges: DiagramEdge[];
29
+ }
30
+ export interface AppCardField {
31
+ value?: string;
32
+ fillColor?: string;
33
+ textColor?: string;
34
+ iconUrl?: string;
35
+ iconShape?: "round" | "square";
36
+ tooltip?: string;
37
+ }
38
+ export interface BoardItem {
39
+ id: string;
40
+ type: string;
41
+ content?: string;
42
+ x?: number;
43
+ y?: number;
44
+ width?: number;
45
+ height?: number;
46
+ parentId?: string;
47
+ style?: Record<string, any>;
48
+ }
49
+ export interface BoardConnector {
50
+ id: string;
51
+ startItemId: string;
52
+ endItemId: string;
53
+ caption?: string;
54
+ }
55
+ export interface BoardTag {
56
+ id: string;
57
+ title: string;
58
+ color?: string;
59
+ itemIds: string[];
60
+ }
61
+ export interface BoardState {
62
+ items: BoardItem[];
63
+ connectors: BoardConnector[];
64
+ tags: BoardTag[];
65
+ version: number;
66
+ updatedAt: string;
67
+ }
68
+ export interface MiroToolResult {
69
+ requestId: string;
70
+ result?: any;
71
+ error?: string;
72
+ }
73
+ export interface MiroBridgeOutput {
74
+ __outputs: {
75
+ boardState: BoardState;
76
+ };
77
+ }
78
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/MiroBridge/util/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,SAAS,GACjB,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAC/C,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3E,MAAM,MAAM,aAAa,GACrB,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAC/C,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAC5C,oBAAoB,GAAG,qBAAqB,GAAG,uBAAuB,GACtE,qBAAqB,GAAG,qBAAqB,GAAG,+BAA+B,CAAC;AAEpF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;AAEhH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAID,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,UAAU,CAAC;KACxB,CAAC;CACH"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/MiroBridge/util/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ export declare const MiroCredential: {
2
+ name: string;
3
+ displayName: string;
4
+ description: string;
5
+ properties: ({
6
+ name: string;
7
+ displayName: string;
8
+ type: "string";
9
+ required: boolean;
10
+ secret: boolean;
11
+ description: string;
12
+ placeholder: string;
13
+ } | {
14
+ name: string;
15
+ displayName: string;
16
+ type: "string";
17
+ required: boolean;
18
+ description: string;
19
+ placeholder: string;
20
+ secret?: undefined;
21
+ })[];
22
+ };
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credentials/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAuB1B,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MiroCredential = void 0;
4
+ exports.MiroCredential = {
5
+ name: "miroCredential",
6
+ displayName: "Miro",
7
+ description: "Credentials for Miro REST API",
8
+ properties: [
9
+ {
10
+ name: "accessToken",
11
+ displayName: "Access Token",
12
+ type: "string",
13
+ required: true,
14
+ secret: true,
15
+ description: "Miro OAuth access token",
16
+ placeholder: "eyJtaXJvLm9yaWdpbiI6...",
17
+ },
18
+ {
19
+ name: "boardId",
20
+ displayName: "Board ID",
21
+ type: "string",
22
+ required: true,
23
+ description: "The Miro board ID (from the board URL)",
24
+ placeholder: "uXjVIxxxxxx=",
25
+ },
26
+ ],
27
+ };
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/credentials/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,+BAA+B;IAC5C,UAAU,EAAE;QACV;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,cAAc;YAC3B,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,yBAAyB;YACtC,WAAW,EAAE,yBAAyB;SACvC;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,wCAAwC;YACrD,WAAW,EAAE,cAAc;SAC5B;KACF;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const plugin: import("@gravity-platform/plugin-base").GravityPlugin;
2
+ export default plugin;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,uDAeV,CAAC;AAEH,eAAe,MAAM,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const plugin_base_1 = require("@gravity-platform/plugin-base");
40
+ const package_json_1 = __importDefault(require("../package.json"));
41
+ const plugin = (0, plugin_base_1.createPlugin)({
42
+ name: package_json_1.default.name,
43
+ version: package_json_1.default.version,
44
+ description: package_json_1.default.description,
45
+ async setup(api) {
46
+ const { initializePlatformFromAPI } = await Promise.resolve().then(() => __importStar(require("@gravity-platform/plugin-base")));
47
+ initializePlatformFromAPI(api);
48
+ const { MiroBridgeNode } = await Promise.resolve().then(() => __importStar(require("./MiroBridge/node")));
49
+ api.registerNode(MiroBridgeNode);
50
+ const { MiroCredential } = await Promise.resolve().then(() => __importStar(require("./credentials")));
51
+ api.registerCredential(MiroCredential);
52
+ },
53
+ });
54
+ exports.default = plugin;
55
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAoF;AACpF,mEAA0C;AAE1C,MAAM,MAAM,GAAG,IAAA,0BAAY,EAAC;IAC1B,IAAI,EAAE,sBAAW,CAAC,IAAI;IACtB,OAAO,EAAE,sBAAW,CAAC,OAAO;IAC5B,WAAW,EAAE,sBAAW,CAAC,WAAW;IAEpC,KAAK,CAAC,KAAK,CAAC,GAAqB;QAC/B,MAAM,EAAE,yBAAyB,EAAE,GAAG,wDAAa,+BAA+B,GAAC,CAAC;QACpF,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QAC7D,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;QAEjC,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;QACzD,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@gravity-platform/miro-bridge",
3
+ "version": "0.1.1",
4
+ "description": "MiroBridge node: LLM-driven Miro board manipulation via MCP tools. Dispatches commands to the MiroBridge browser component running in the Miro iframe; results return via USER_ACTION sendUserAction.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "dev": "tsc --watch",
10
+ "clean": "rm -rf dist"
11
+ },
12
+ "dependencies": {
13
+ "@gravity-platform/plugin-base": "*"
14
+ },
15
+ "devDependencies": {
16
+ "typescript": "^5.0.0"
17
+ },
18
+ "files": [
19
+ "dist/**/*",
20
+ "README.md"
21
+ ],
22
+ "publishConfig": {
23
+ "access": "public"
24
+ }
25
+ }