@rahdar/plugin-sdk 2026.10.66 → 2026.11.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.
|
@@ -7,7 +7,7 @@ import type { SlotContributions } from './slots.ts';
|
|
|
7
7
|
/** The extension contract version, shared with the backend's `Contract.VERSION` (ADR-0070). */
|
|
8
8
|
export declare const CONTRACT = 18;
|
|
9
9
|
/** The module ids the backend manifest reports. A frontend feature uses the same id as its backend module. */
|
|
10
|
-
export declare const FEATURE_IDS: readonly ["security", "audit", "auditfeed", "settings", "lifecycle", "stream", "inbox", "approvals", "broker", "clusters", "governance", "scrape", "artemis", "mcp", "resources", "messages", "routing", "metrics", "alerting", "events", "rr", "sql", "brokerconfig", "flow", "triage", "bulk", "transfer", "setupreview", "kafka", "diagnostics", "apitokens", "plugins", "identity-local", "identity-oidc"];
|
|
10
|
+
export declare const FEATURE_IDS: readonly ["security", "audit", "auditfeed", "settings", "lifecycle", "stream", "inbox", "approvals", "broker", "clusters", "governance", "scrape", "artemis", "mcp", "resources", "messages", "routing", "metrics", "alerting", "events", "rr", "sql", "brokerconfig", "flow", "triage", "bulk", "transfer", "setupreview", "kafka", "diagnostics", "apitokens", "plugins", "identity-local", "identity-oidc", "rabbitmq"];
|
|
11
11
|
export type FeatureId = (typeof FEATURE_IDS)[number];
|
|
12
12
|
/**
|
|
13
13
|
* An installed plugin's id, as its `plugin.json` declares it: lowercase kebab-case, vendor first,
|
|
@@ -42,6 +42,11 @@ export interface NavContribution {
|
|
|
42
42
|
* `/clusters/$clusterId/<system>/`, which another system's cluster answers with the not-found page.
|
|
43
43
|
*/
|
|
44
44
|
system?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The resource class (`CONNECTION`) the view lists. The navigation offers the view only on a cluster whose
|
|
47
|
+
* system has a kind of that class, so a system without connections has no empty Connections page.
|
|
48
|
+
*/
|
|
49
|
+
resourceClass?: string;
|
|
45
50
|
/**
|
|
46
51
|
* The permission the view reads with. Without it the entry stays visible and disabled,
|
|
47
52
|
* and says why; the server enforces it regardless.
|
|
@@ -7,7 +7,7 @@ import { type NavContribution } from '../feature.ts';
|
|
|
7
7
|
export declare function viewHotkeys(features: {
|
|
8
8
|
id: string;
|
|
9
9
|
nav?: NavContribution[];
|
|
10
|
-
}[], systemId?: string): Map<string, NavContribution>;
|
|
10
|
+
}[], systemId?: string, classes?: readonly string[]): Map<string, NavContribution>;
|
|
11
11
|
/**
|
|
12
12
|
* The single-key shortcuts (ADR-0109), as one document listener mounted by the shell:
|
|
13
13
|
* `g` then a view's letter goes to that view of the open cluster, `?` opens the list of shortcuts,
|
|
@@ -5,9 +5,14 @@ export interface NavGroup {
|
|
|
5
5
|
label: string;
|
|
6
6
|
items: NavContribution[];
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Whether a cluster is offered a view: a system-only view only on a cluster that runs that system
|
|
10
|
+
* (`systemId`), and a view of a resource class only where the system has a kind of that class (`classes`).
|
|
11
|
+
*/
|
|
12
|
+
export declare function offeredOn(item: NavContribution, systemId?: string, classes?: readonly string[]): boolean;
|
|
8
13
|
/**
|
|
9
14
|
* The features' views under the kernel's groups (ADR-0070): groups in their fixed order, views in
|
|
10
|
-
* their declared order, and a group none of the features contributes to left out. A
|
|
11
|
-
*
|
|
15
|
+
* their declared order, and a group none of the features contributes to left out. A view is listed only for a
|
|
16
|
+
* cluster it is offered on ({@link offeredOn}).
|
|
12
17
|
*/
|
|
13
|
-
export declare function navGroups(features: RahdarFeature[], systemId?: string): NavGroup[];
|
|
18
|
+
export declare function navGroups(features: RahdarFeature[], systemId?: string, classes?: readonly string[]): NavGroup[];
|
package/types/kernel/slots.d.ts
CHANGED
|
@@ -49,6 +49,18 @@ export interface SlotProps {
|
|
|
49
49
|
subscription: ResourceRef;
|
|
50
50
|
onClose: () => void;
|
|
51
51
|
};
|
|
52
|
+
/** The create-subscription dialog, for a system that has its own form: the Artemis one is shown otherwise. */
|
|
53
|
+
'subscriptions.create': {
|
|
54
|
+
clusterId: string;
|
|
55
|
+
opened: boolean;
|
|
56
|
+
onClose: () => void;
|
|
57
|
+
};
|
|
58
|
+
/** The create-destination dialog, for a system that has its own form: the Artemis one is shown otherwise. */
|
|
59
|
+
'destinations.create': {
|
|
60
|
+
clusterId: string;
|
|
61
|
+
opened: boolean;
|
|
62
|
+
onClose: () => void;
|
|
63
|
+
};
|
|
52
64
|
/**
|
|
53
65
|
* Beside the subscriptions screen's selection: what can be done to the selected subscriptions. `count` is how
|
|
54
66
|
* many are selected, and may be zero: an action then stays visible and disabled. `clear` empties
|
|
@@ -187,8 +199,8 @@ export interface SlotContribution<P> {
|
|
|
187
199
|
*/
|
|
188
200
|
group?: string;
|
|
189
201
|
/**
|
|
190
|
-
*
|
|
191
|
-
* cluster that runs that system.
|
|
202
|
+
* The id of the broker system the contribution is for (`artemis`). A cluster-scoped slot lists it only on a
|
|
203
|
+
* cluster that runs that system (`useClusterSlot`); without it the contribution applies to every system.
|
|
192
204
|
*/
|
|
193
205
|
system?: string;
|
|
194
206
|
/** `*.actions` only: the menu section the item is listed under. */
|