@flowfuse/nr-assistant 0.13.2-e0205dd-202605071053.0 → 0.14.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.14.0](https://github.com/FlowFuse/nr-assistant/compare/v0.13.1...v0.14.0) (2026-05-07)
2
+
3
+ - feat(actions): add automation/open-palette-manager action (#314) @andypalmi
4
+
1
5
  ## [0.13.1](https://github.com/FlowFuse/nr-assistant/compare/v0.13.0...v0.13.1) (2026-05-07)
2
6
 
3
7
  - ci: Pin internal GitHub Actions reusable workflows to the new tagging approach (#307)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowfuse/nr-assistant",
3
- "version": "0.13.2-e0205dd-202605071053.0",
3
+ "version": "0.14.0",
4
4
  "description": "FlowFuse Node-RED Expert plugin",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -24,6 +24,7 @@ const CLOSE_EDITOR_TRAY = 'automation/close-editor-tray'
24
24
  const GET_NODE_TYPES = 'automation/get-node-types'
25
25
  const GET_PALETTE = 'automation/get-palette'
26
26
  const LIST_CONFIG_NODES = 'automation/list-config-nodes'
27
+ const OPEN_PALETTE_MANAGER = 'automation/open-palette-manager'
27
28
 
28
29
  /**
29
30
  * @typedef {SELECT_NODES
@@ -48,7 +49,8 @@ const LIST_CONFIG_NODES = 'automation/list-config-nodes'
48
49
  * |CLOSE_EDITOR_TRAY
49
50
  * |GET_NODE_TYPES
50
51
  * |GET_PALETTE
51
- * |LIST_CONFIG_NODES} ExpertAutomationsActionsEnum
52
+ * |LIST_CONFIG_NODES
53
+ * |OPEN_PALETTE_MANAGER} ExpertAutomationsActionsEnum
52
54
  */
53
55
 
54
56
  export class ExpertAutomations extends ExpertActionsInterface {
@@ -358,6 +360,23 @@ export class ExpertAutomations extends ExpertActionsInterface {
358
360
  }
359
361
  }
360
362
  }
363
+ },
364
+ [OPEN_PALETTE_MANAGER]: {
365
+ params: {
366
+ type: 'object',
367
+ properties: {
368
+ view: {
369
+ type: 'string',
370
+ enum: ['nodes', 'install'],
371
+ default: 'install',
372
+ description: 'Which tab to show in the palette manager'
373
+ },
374
+ filter: {
375
+ type: 'string',
376
+ description: 'Optional package name or search term to pre-filter the palette manager'
377
+ }
378
+ }
379
+ }
361
380
  }
362
381
  })
363
382
 
@@ -1336,6 +1355,13 @@ export class ExpertAutomations extends ExpertActionsInterface {
1336
1355
  result.success = true
1337
1356
  }
1338
1357
  break
1358
+ case OPEN_PALETTE_MANAGER:
1359
+ this.RED.actions.invoke('core:manage-palette', {
1360
+ view: params?.view || 'install',
1361
+ filter: params?.filter || ''
1362
+ })
1363
+ result.success = true
1364
+ break
1339
1365
  default:
1340
1366
  result.handled = false
1341
1367
  result.success = false
@@ -570,6 +570,18 @@ export class ExpertComms {
570
570
  this.postReply({ type, error: err?.message, correlationId }, event)
571
571
  }
572
572
  return
573
+ case 'core:manage-palette': {
574
+ // Delegate to automation for centralised handling
575
+ const result = { handled: false, success: false, noReply: false, correlationId }
576
+ try {
577
+ await this.nrAutomations.invokeAction('automation/open-palette-manager', { event, params }, result)
578
+ this.postReply({ type, action, success: true, ...result }, event)
579
+ } catch (err) {
580
+ result.error = err.message
581
+ this.postReply({ type, action, ...result, success: false }, event)
582
+ }
583
+ return
584
+ }
573
585
  default: {
574
586
  const result = { handled: false, success: false, noReply: false, correlationId }
575
587
  try {