mcp-node-red 1.0.1 → 1.1.0

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 (77) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/README.md +107 -232
  3. package/dist/client.d.ts +14 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +181 -4
  6. package/dist/client.js.map +1 -1
  7. package/dist/env.d.ts +2 -0
  8. package/dist/env.d.ts.map +1 -0
  9. package/dist/env.js +13 -0
  10. package/dist/env.js.map +1 -0
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/schemas.d.ts +286 -0
  14. package/dist/schemas.d.ts.map +1 -1
  15. package/dist/schemas.js +47 -0
  16. package/dist/schemas.js.map +1 -1
  17. package/dist/server.d.ts.map +1 -1
  18. package/dist/server.js +232 -0
  19. package/dist/server.js.map +1 -1
  20. package/dist/tools/delete-context.d.ts +8 -0
  21. package/dist/tools/delete-context.d.ts.map +1 -0
  22. package/dist/tools/delete-context.js +26 -0
  23. package/dist/tools/delete-context.js.map +1 -0
  24. package/dist/tools/delete-flow.d.ts +8 -0
  25. package/dist/tools/delete-flow.d.ts.map +1 -0
  26. package/dist/tools/delete-flow.js +17 -0
  27. package/dist/tools/delete-flow.js.map +1 -0
  28. package/dist/tools/get-context.d.ts +8 -0
  29. package/dist/tools/get-context.d.ts.map +1 -0
  30. package/dist/tools/get-context.js +23 -0
  31. package/dist/tools/get-context.js.map +1 -0
  32. package/dist/tools/get-diagnostics.d.ts +8 -0
  33. package/dist/tools/get-diagnostics.d.ts.map +1 -0
  34. package/dist/tools/get-diagnostics.js +12 -0
  35. package/dist/tools/get-diagnostics.js.map +1 -0
  36. package/dist/tools/get-flow-state.d.ts +8 -0
  37. package/dist/tools/get-flow-state.d.ts.map +1 -0
  38. package/dist/tools/get-flow-state.js +12 -0
  39. package/dist/tools/get-flow-state.js.map +1 -0
  40. package/dist/tools/get-nodes.d.ts +8 -0
  41. package/dist/tools/get-nodes.d.ts.map +1 -0
  42. package/dist/tools/get-nodes.js +12 -0
  43. package/dist/tools/get-nodes.js.map +1 -0
  44. package/dist/tools/get-settings.d.ts +8 -0
  45. package/dist/tools/get-settings.d.ts.map +1 -0
  46. package/dist/tools/get-settings.js +12 -0
  47. package/dist/tools/get-settings.js.map +1 -0
  48. package/dist/tools/install-node.d.ts +8 -0
  49. package/dist/tools/install-node.d.ts.map +1 -0
  50. package/dist/tools/install-node.js +17 -0
  51. package/dist/tools/install-node.js.map +1 -0
  52. package/dist/tools/remove-node-module.d.ts +8 -0
  53. package/dist/tools/remove-node-module.d.ts.map +1 -0
  54. package/dist/tools/remove-node-module.js +17 -0
  55. package/dist/tools/remove-node-module.js.map +1 -0
  56. package/dist/tools/set-debug-state.d.ts +8 -0
  57. package/dist/tools/set-debug-state.d.ts.map +1 -0
  58. package/dist/tools/set-debug-state.js +18 -0
  59. package/dist/tools/set-debug-state.js.map +1 -0
  60. package/dist/tools/set-flow-state.d.ts +8 -0
  61. package/dist/tools/set-flow-state.d.ts.map +1 -0
  62. package/dist/tools/set-flow-state.js +17 -0
  63. package/dist/tools/set-flow-state.js.map +1 -0
  64. package/dist/tools/set-node-module-state.d.ts +8 -0
  65. package/dist/tools/set-node-module-state.d.ts.map +1 -0
  66. package/dist/tools/set-node-module-state.js +18 -0
  67. package/dist/tools/set-node-module-state.js.map +1 -0
  68. package/dist/tools/trigger-inject.d.ts +8 -0
  69. package/dist/tools/trigger-inject.d.ts.map +1 -0
  70. package/dist/tools/trigger-inject.js +17 -0
  71. package/dist/tools/trigger-inject.js.map +1 -0
  72. package/package.json +22 -5
  73. package/.github/workflows/ci.yml +0 -37
  74. package/.github/workflows/release.yml +0 -30
  75. package/.mcp.json.example +0 -11
  76. package/.releaserc.json +0 -17
  77. package/CLAUDE.md +0 -147
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAUnE,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;;;;;GAyH3B;AAED,wBAAsB,SAAS,kBAI9B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAuBnE,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;;;;;GA6V3B;AAED,wBAAsB,SAAS,kBAI9B"}
package/dist/server.js CHANGED
@@ -4,7 +4,20 @@ import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprot
4
4
  import { NodeRedClient } from './client.js';
5
5
  import { ConfigSchema } from './schemas.js';
6
6
  import { createFlow } from './tools/create-flow.js';
7
+ import { deleteContext } from './tools/delete-context.js';
8
+ import { deleteFlow } from './tools/delete-flow.js';
9
+ import { getContext } from './tools/get-context.js';
10
+ import { getDiagnostics } from './tools/get-diagnostics.js';
11
+ import { getFlowState } from './tools/get-flow-state.js';
7
12
  import { getFlows } from './tools/get-flows.js';
13
+ import { getNodes } from './tools/get-nodes.js';
14
+ import { getSettings } from './tools/get-settings.js';
15
+ import { installNode } from './tools/install-node.js';
16
+ import { removeNodeModule } from './tools/remove-node-module.js';
17
+ import { setDebugState } from './tools/set-debug-state.js';
18
+ import { setFlowState } from './tools/set-flow-state.js';
19
+ import { setNodeModuleState } from './tools/set-node-module-state.js';
20
+ import { triggerInject } from './tools/trigger-inject.js';
8
21
  import { updateFlow } from './tools/update-flow.js';
9
22
  import { validateFlow } from './tools/validate-flow.js';
10
23
  export function createServer() {
@@ -82,6 +95,199 @@ export function createServer() {
82
95
  required: ['flow'],
83
96
  },
84
97
  },
98
+ {
99
+ name: 'delete_flow',
100
+ description: 'Delete a flow from Node-RED by ID. Removes the flow and all its nodes.',
101
+ inputSchema: {
102
+ type: 'object',
103
+ properties: {
104
+ flowId: {
105
+ type: 'string',
106
+ description: 'ID of the flow to delete',
107
+ },
108
+ },
109
+ required: ['flowId'],
110
+ },
111
+ },
112
+ {
113
+ name: 'get_flow_state',
114
+ description: 'Get the runtime state of Node-RED flows. Returns whether flows are currently started or stopped. Requires runtimeState to be enabled in Node-RED settings.',
115
+ inputSchema: {
116
+ type: 'object',
117
+ properties: {},
118
+ },
119
+ },
120
+ {
121
+ name: 'set_flow_state',
122
+ description: 'Set the runtime state of Node-RED flows to start or stop them. Requires runtimeState to be enabled in Node-RED settings.',
123
+ inputSchema: {
124
+ type: 'object',
125
+ properties: {
126
+ state: {
127
+ type: 'string',
128
+ enum: ['start', 'stop'],
129
+ description: 'The desired flow state: "start" to run flows, "stop" to halt them',
130
+ },
131
+ },
132
+ required: ['state'],
133
+ },
134
+ },
135
+ {
136
+ name: 'get_context',
137
+ description: 'Read context store data at global, flow, or node scope. Omit key to list all keys.',
138
+ inputSchema: {
139
+ type: 'object',
140
+ properties: {
141
+ scope: {
142
+ type: 'string',
143
+ enum: ['global', 'flow', 'node'],
144
+ description: 'Context scope to read from',
145
+ },
146
+ id: {
147
+ type: 'string',
148
+ description: 'Flow or node ID (required for flow and node scope)',
149
+ },
150
+ key: {
151
+ type: 'string',
152
+ description: 'Context key to read. Omit to list all keys.',
153
+ },
154
+ store: {
155
+ type: 'string',
156
+ description: 'Optional context store name',
157
+ },
158
+ },
159
+ required: ['scope'],
160
+ },
161
+ },
162
+ {
163
+ name: 'delete_context',
164
+ description: 'Delete a context store value at global, flow, or node scope.',
165
+ inputSchema: {
166
+ type: 'object',
167
+ properties: {
168
+ scope: {
169
+ type: 'string',
170
+ enum: ['global', 'flow', 'node'],
171
+ description: 'Context scope to delete from',
172
+ },
173
+ id: {
174
+ type: 'string',
175
+ description: 'Flow or node ID (required for flow and node scope)',
176
+ },
177
+ key: {
178
+ type: 'string',
179
+ description: 'Context key to delete',
180
+ },
181
+ store: {
182
+ type: 'string',
183
+ description: 'Optional context store name',
184
+ },
185
+ },
186
+ required: ['scope', 'key'],
187
+ },
188
+ },
189
+ {
190
+ name: 'get_nodes',
191
+ description: 'Get all installed node modules from Node-RED. Returns array of node module objects with their node sets.',
192
+ inputSchema: {
193
+ type: 'object',
194
+ properties: {},
195
+ },
196
+ },
197
+ {
198
+ name: 'install_node',
199
+ description: 'Install a new node module into Node-RED. Installs from the npm registry.',
200
+ inputSchema: {
201
+ type: 'object',
202
+ properties: {
203
+ module: {
204
+ type: 'string',
205
+ description: 'Name of the npm module to install (e.g. "node-red-contrib-example")',
206
+ },
207
+ },
208
+ required: ['module'],
209
+ },
210
+ },
211
+ {
212
+ name: 'set_node_module_state',
213
+ description: 'Enable or disable a node module in Node-RED. When disabled, the module nodes are unavailable.',
214
+ inputSchema: {
215
+ type: 'object',
216
+ properties: {
217
+ module: {
218
+ type: 'string',
219
+ description: 'Name of the node module to enable/disable',
220
+ },
221
+ enabled: {
222
+ type: 'boolean',
223
+ description: 'Whether to enable (true) or disable (false) the module',
224
+ },
225
+ },
226
+ required: ['module', 'enabled'],
227
+ },
228
+ },
229
+ {
230
+ name: 'remove_node_module',
231
+ description: 'Remove an installed node module from Node-RED. Cannot remove core modules.',
232
+ inputSchema: {
233
+ type: 'object',
234
+ properties: {
235
+ module: {
236
+ type: 'string',
237
+ description: 'Name of the node module to remove',
238
+ },
239
+ },
240
+ required: ['module'],
241
+ },
242
+ },
243
+ {
244
+ name: 'get_settings',
245
+ description: 'Get the runtime settings of the Node-RED instance. Returns server configuration including version, httpNodeRoot, and user info.',
246
+ inputSchema: {
247
+ type: 'object',
248
+ properties: {},
249
+ },
250
+ },
251
+ {
252
+ name: 'get_diagnostics',
253
+ description: 'Get diagnostic information about the Node-RED runtime. Returns system info including Node.js version, OS details, and memory usage.',
254
+ inputSchema: {
255
+ type: 'object',
256
+ properties: {},
257
+ },
258
+ },
259
+ {
260
+ name: 'trigger_inject',
261
+ description: 'Trigger an inject node to fire with its configured values. The node must be a deployed inject node.',
262
+ inputSchema: {
263
+ type: 'object',
264
+ properties: {
265
+ nodeId: {
266
+ type: 'string',
267
+ description: 'ID of the inject node to trigger',
268
+ },
269
+ },
270
+ required: ['nodeId'],
271
+ },
272
+ },
273
+ {
274
+ name: 'set_debug_state',
275
+ description: 'Enable or disable a debug node. When disabled, the debug node will not produce output.',
276
+ inputSchema: {
277
+ type: 'object',
278
+ properties: {
279
+ nodeId: {
280
+ type: 'string',
281
+ description: 'ID of the debug node',
282
+ },
283
+ enabled: {
284
+ type: 'boolean',
285
+ description: 'Whether to enable (true) or disable (false) the debug node',
286
+ },
287
+ },
288
+ required: ['nodeId', 'enabled'],
289
+ },
290
+ },
85
291
  ],
86
292
  }));
87
293
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
@@ -95,6 +301,32 @@ export function createServer() {
95
301
  return await updateFlow(client, request.params.arguments);
96
302
  case 'validate_flow':
97
303
  return await validateFlow(client, request.params.arguments);
304
+ case 'delete_flow':
305
+ return await deleteFlow(client, request.params.arguments);
306
+ case 'get_flow_state':
307
+ return await getFlowState(client);
308
+ case 'set_flow_state':
309
+ return await setFlowState(client, request.params.arguments);
310
+ case 'get_context':
311
+ return await getContext(client, request.params.arguments);
312
+ case 'delete_context':
313
+ return await deleteContext(client, request.params.arguments);
314
+ case 'get_nodes':
315
+ return await getNodes(client);
316
+ case 'install_node':
317
+ return await installNode(client, request.params.arguments);
318
+ case 'set_node_module_state':
319
+ return await setNodeModuleState(client, request.params.arguments);
320
+ case 'remove_node_module':
321
+ return await removeNodeModule(client, request.params.arguments);
322
+ case 'get_settings':
323
+ return await getSettings(client);
324
+ case 'get_diagnostics':
325
+ return await getDiagnostics(client);
326
+ case 'trigger_inject':
327
+ return await triggerInject(client, request.params.arguments);
328
+ case 'set_debug_state':
329
+ return await setDebugState(client, request.params.arguments);
98
330
  default:
99
331
  throw new Error(`Unknown tool: ${request.params.name}`);
100
332
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function deleteContext(client: NodeRedClient, args: unknown): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=delete-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-context.d.ts","sourceRoot":"","sources":["../../src/tools/delete-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AASlD,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;;;;;GAwBvE"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ const DeleteContextArgsSchema = z.object({
3
+ scope: z.enum(['global', 'flow', 'node']),
4
+ id: z.string().optional(),
5
+ key: z.string(),
6
+ store: z.string().optional(),
7
+ });
8
+ export async function deleteContext(client, args) {
9
+ const parsed = DeleteContextArgsSchema.parse(args);
10
+ if ((parsed.scope === 'flow' || parsed.scope === 'node') && !parsed.id) {
11
+ throw new Error(`id is required when scope is "${parsed.scope}"`);
12
+ }
13
+ await client.deleteContext(parsed.scope, parsed.id, parsed.key, parsed.store);
14
+ return {
15
+ content: [
16
+ {
17
+ type: 'text',
18
+ text: JSON.stringify({
19
+ success: true,
20
+ message: `Deleted context key "${parsed.key}" from ${parsed.scope} scope`,
21
+ }, null, 2),
22
+ },
23
+ ],
24
+ };
25
+ }
26
+ //# sourceMappingURL=delete-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-context.js","sourceRoot":"","sources":["../../src/tools/delete-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB,EAAE,IAAa;IACtE,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9E,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;oBACE,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,wBAAwB,MAAM,CAAC,GAAG,UAAU,MAAM,CAAC,KAAK,QAAQ;iBAC1E,EACD,IAAI,EACJ,CAAC,CACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function deleteFlow(client: NodeRedClient, args: unknown): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=delete-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-flow.d.ts","sourceRoot":"","sources":["../../src/tools/delete-flow.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;;;;;GAapE"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ const DeleteFlowArgsSchema = z.object({
3
+ flowId: z.string(),
4
+ });
5
+ export async function deleteFlow(client, args) {
6
+ const parsed = DeleteFlowArgsSchema.parse(args);
7
+ await client.deleteFlow(parsed.flowId);
8
+ return {
9
+ content: [
10
+ {
11
+ type: 'text',
12
+ text: JSON.stringify({ deleted: parsed.flowId }, null, 2),
13
+ },
14
+ ],
15
+ };
16
+ }
17
+ //# sourceMappingURL=delete-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-flow.js","sourceRoot":"","sources":["../../src/tools/delete-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAqB,EAAE,IAAa;IACnE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhD,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEvC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aAC1D;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function getContext(client: NodeRedClient, args: unknown): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=get-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AASlD,wBAAsB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;;;;;GAiBpE"}
@@ -0,0 +1,23 @@
1
+ import { z } from 'zod';
2
+ const GetContextArgsSchema = z.object({
3
+ scope: z.enum(['global', 'flow', 'node']),
4
+ id: z.string().optional(),
5
+ key: z.string().optional(),
6
+ store: z.string().optional(),
7
+ });
8
+ export async function getContext(client, args) {
9
+ const parsed = GetContextArgsSchema.parse(args);
10
+ if ((parsed.scope === 'flow' || parsed.scope === 'node') && !parsed.id) {
11
+ throw new Error(`id is required when scope is "${parsed.scope}"`);
12
+ }
13
+ const result = await client.getContext(parsed.scope, parsed.id, parsed.key, parsed.store);
14
+ return {
15
+ content: [
16
+ {
17
+ type: 'text',
18
+ text: JSON.stringify(result, null, 2),
19
+ },
20
+ ],
21
+ };
22
+ }
23
+ //# sourceMappingURL=get-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-context.js","sourceRoot":"","sources":["../../src/tools/get-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAqB,EAAE,IAAa;IACnE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE1F,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function getDiagnostics(client: NodeRedClient): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=get-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-diagnostics.d.ts","sourceRoot":"","sources":["../../src/tools/get-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAsB,cAAc,CAAC,MAAM,EAAE,aAAa;;;;;GAUzD"}
@@ -0,0 +1,12 @@
1
+ export async function getDiagnostics(client) {
2
+ const result = await client.getDiagnostics();
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: JSON.stringify(result, null, 2),
8
+ },
9
+ ],
10
+ };
11
+ }
12
+ //# sourceMappingURL=get-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-diagnostics.js","sourceRoot":"","sources":["../../src/tools/get-diagnostics.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAqB;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAC7C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function getFlowState(client: NodeRedClient): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=get-flow-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-flow-state.d.ts","sourceRoot":"","sources":["../../src/tools/get-flow-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAsB,YAAY,CAAC,MAAM,EAAE,aAAa;;;;;GAUvD"}
@@ -0,0 +1,12 @@
1
+ export async function getFlowState(client) {
2
+ const result = await client.getFlowState();
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: JSON.stringify(result, null, 2),
8
+ },
9
+ ],
10
+ };
11
+ }
12
+ //# sourceMappingURL=get-flow-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-flow-state.js","sourceRoot":"","sources":["../../src/tools/get-flow-state.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAqB;IACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function getNodes(client: NodeRedClient): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=get-nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-nodes.d.ts","sourceRoot":"","sources":["../../src/tools/get-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa;;;;;GAUnD"}
@@ -0,0 +1,12 @@
1
+ export async function getNodes(client) {
2
+ const result = await client.getNodes();
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: JSON.stringify(result, null, 2),
8
+ },
9
+ ],
10
+ };
11
+ }
12
+ //# sourceMappingURL=get-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-nodes.js","sourceRoot":"","sources":["../../src/tools/get-nodes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAqB;IAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;IACvC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function getSettings(client: NodeRedClient): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=get-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-settings.d.ts","sourceRoot":"","sources":["../../src/tools/get-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa;;;;;GAUtD"}
@@ -0,0 +1,12 @@
1
+ export async function getSettings(client) {
2
+ const result = await client.getSettings();
3
+ return {
4
+ content: [
5
+ {
6
+ type: 'text',
7
+ text: JSON.stringify(result, null, 2),
8
+ },
9
+ ],
10
+ };
11
+ }
12
+ //# sourceMappingURL=get-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-settings.js","sourceRoot":"","sources":["../../src/tools/get-settings.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAqB;IACrD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function installNode(client: NodeRedClient, args: unknown): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=install-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-node.d.ts","sourceRoot":"","sources":["../../src/tools/install-node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,wBAAsB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;;;;;GAWrE"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ const InstallNodeArgsSchema = z.object({
3
+ module: z.string(),
4
+ });
5
+ export async function installNode(client, args) {
6
+ const parsed = InstallNodeArgsSchema.parse(args);
7
+ const result = await client.installNode(parsed.module);
8
+ return {
9
+ content: [
10
+ {
11
+ type: 'text',
12
+ text: JSON.stringify(result, null, 2),
13
+ },
14
+ ],
15
+ };
16
+ }
17
+ //# sourceMappingURL=install-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install-node.js","sourceRoot":"","sources":["../../src/tools/install-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAqB,EAAE,IAAa;IACpE,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function removeNodeModule(client: NodeRedClient, args: unknown): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=remove-node-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-node-module.d.ts","sourceRoot":"","sources":["../../src/tools/remove-node-module.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;;;;;GAW1E"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ const RemoveNodeModuleArgsSchema = z.object({
3
+ module: z.string(),
4
+ });
5
+ export async function removeNodeModule(client, args) {
6
+ const parsed = RemoveNodeModuleArgsSchema.parse(args);
7
+ await client.removeNodeModule(parsed.module);
8
+ return {
9
+ content: [
10
+ {
11
+ type: 'text',
12
+ text: JSON.stringify({ success: true, module: parsed.module }, null, 2),
13
+ },
14
+ ],
15
+ };
16
+ }
17
+ //# sourceMappingURL=remove-node-module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove-node-module.js","sourceRoot":"","sources":["../../src/tools/remove-node-module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAqB,EAAE,IAAa;IACzE,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACxE;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NodeRedClient } from '../client.js';
2
+ export declare function setDebugState(client: NodeRedClient, args: unknown): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ }>;
8
+ //# sourceMappingURL=set-debug-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-debug-state.d.ts","sourceRoot":"","sources":["../../src/tools/set-debug-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAOlD,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO;;;;;GAavE"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ const SetDebugStateArgsSchema = z.object({
3
+ nodeId: z.string(),
4
+ enabled: z.boolean(),
5
+ });
6
+ export async function setDebugState(client, args) {
7
+ const parsed = SetDebugStateArgsSchema.parse(args);
8
+ await client.setDebugNodeState(parsed.nodeId, parsed.enabled);
9
+ return {
10
+ content: [
11
+ {
12
+ type: 'text',
13
+ text: JSON.stringify({ nodeId: parsed.nodeId, enabled: parsed.enabled }, null, 2),
14
+ },
15
+ ],
16
+ };
17
+ }
18
+ //# sourceMappingURL=set-debug-state.js.map