@rahdar/plugin-sdk 2026.11.1 → 2026.11.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rahdar/plugin-sdk",
3
- "version": "2026.11.1",
3
+ "version": "2026.11.5",
4
4
  "description": "Build the UI of a Rahdar plugin: typings for the Rahdar APIs a plugin may use, and a Vite preset.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,7 +8,7 @@
8
8
  export declare const branding: {
9
9
  readonly productName: "Rahdar";
10
10
  readonly productShortName: "Rahdar";
11
- readonly tagline: "Cluster-wide management and observability for Apache ActiveMQ Artemis";
11
+ readonly tagline: "Cluster-wide management and observability for Apache Kafka, RabbitMQ and Apache ActiveMQ Artemis";
12
12
  readonly trademarkNotice: string;
13
13
  readonly projectUrl: "https://github.com/sudoitir/rahdar";
14
14
  };
@@ -1316,6 +1316,38 @@ export interface paths {
1316
1316
  patch?: never;
1317
1317
  trace?: never;
1318
1318
  };
1319
+ "/api/v1/clusters/{clusterId}/kafka/brokers/{broker}/config:preview": {
1320
+ parameters: {
1321
+ query?: never;
1322
+ header?: never;
1323
+ path?: never;
1324
+ cookie?: never;
1325
+ };
1326
+ get?: never;
1327
+ put?: never;
1328
+ post: operations["previewConfig_1"];
1329
+ delete?: never;
1330
+ options?: never;
1331
+ head?: never;
1332
+ patch?: never;
1333
+ trace?: never;
1334
+ };
1335
+ "/api/v1/clusters/{clusterId}/kafka/brokers/{broker}/config:apply": {
1336
+ parameters: {
1337
+ query?: never;
1338
+ header?: never;
1339
+ path?: never;
1340
+ cookie?: never;
1341
+ };
1342
+ get?: never;
1343
+ put?: never;
1344
+ post: operations["applyConfig_1"];
1345
+ delete?: never;
1346
+ options?: never;
1347
+ head?: never;
1348
+ patch?: never;
1349
+ trace?: never;
1350
+ };
1319
1351
  "/api/v1/clusters/{clusterId}/kafka/acls:preview": {
1320
1352
  parameters: {
1321
1353
  query?: never;
@@ -3108,6 +3140,22 @@ export interface paths {
3108
3140
  patch?: never;
3109
3141
  trace?: never;
3110
3142
  };
3143
+ "/api/v1/clusters/{clusterId}/kafka/brokers/{broker}/config": {
3144
+ parameters: {
3145
+ query?: never;
3146
+ header?: never;
3147
+ path?: never;
3148
+ cookie?: never;
3149
+ };
3150
+ get: operations["brokerConfig"];
3151
+ put?: never;
3152
+ post?: never;
3153
+ delete?: never;
3154
+ options?: never;
3155
+ head?: never;
3156
+ patch?: never;
3157
+ trace?: never;
3158
+ };
3111
3159
  "/api/v1/clusters/{clusterId}/kafka/acls": {
3112
3160
  parameters: {
3113
3161
  query?: never;
@@ -4863,7 +4911,7 @@ export interface components {
4863
4911
  scopeId?: string | null;
4864
4912
  /** @description SUBSCRIPTION or DESTINATION: limits the grant to names matching resourcePattern */
4865
4913
  resourceType?: string | null;
4866
- /** @description An Artemis wildcard pattern, with resourceType; absent for the whole scope */
4914
+ /** @description A wildcard pattern over resource names (. separates words, * matches one word, # any number of words), with resourceType; absent for the whole scope */
4867
4915
  resourcePattern?: string | null;
4868
4916
  };
4869
4917
  CreatedTokenView: {
@@ -5313,7 +5361,7 @@ export interface components {
5313
5361
  notifications: components["schemas"]["CapabilityView"];
5314
5362
  messageIo: components["schemas"]["CapabilityView"];
5315
5363
  slowConsumerDetection: components["schemas"]["CapabilityView"];
5316
- /** @description Operations that need a newer Artemis release than some node runs */
5364
+ /** @description Operations that need a newer broker release than some node runs */
5317
5365
  versionGates: components["schemas"]["VersionGateView"][];
5318
5366
  /** @description Every capability the system's driver assessed for the account, with its own reason. Empty for a system whose capabilities are the fixed ones above. */
5319
5367
  findings: components["schemas"]["AccessFinding"][];
@@ -5415,13 +5463,16 @@ export interface components {
5415
5463
  replicaSync?: boolean | null;
5416
5464
  version?: string | null;
5417
5465
  /**
5418
- * @description Where version sits against the supported Artemis range
5466
+ * @description Where version sits against the range Rahdar supports for the node's system
5419
5467
  * @enum {string}
5420
5468
  */
5421
5469
  versionSupport: "SUPPORTED" | "BELOW_MINIMUM" | "NEWER_THAN_TESTED" | "UNKNOWN";
5422
5470
  lastError?: string | null;
5423
- /** @enum {string|null} */
5424
- lastErrorKind?: "UNREACHABLE" | "THROTTLED" | "CREDENTIALS_REJECTED" | "NOT_ARTEMIS" | "WRONG_PATH" | "TLS_FAILED" | "BAD_RESPONSE" | "UNSUPPORTED_VERSION" | null;
5471
+ /**
5472
+ * @description Why the last call to the node failed. NOT_AUTHORIZED means the broker knows the account but an ACL or permission refused the call.
5473
+ * @enum {string|null}
5474
+ */
5475
+ lastErrorKind?: "UNREACHABLE" | "THROTTLED" | "CREDENTIALS_REJECTED" | "NOT_AUTHORIZED" | "NOT_ARTEMIS" | "WRONG_PATH" | "TLS_FAILED" | "BAD_RESPONSE" | "UNSUPPORTED_VERSION" | null;
5425
5476
  /** Format: date-time */
5426
5477
  lastSeenAt?: string | null;
5427
5478
  /**
@@ -7962,6 +8013,8 @@ export interface components {
7962
8013
  message?: string;
7963
8014
  }[];
7964
8015
  brokerErrorKind?: string;
8016
+ /** @description Kafka, RabbitMQ or Artemis: the system a broker failure is of. */
8017
+ system?: string;
7965
8018
  /** @description MANAGEMENT or CORE: the account a broker rejected. */
7966
8019
  account?: string;
7967
8020
  refusalKind?: string;
@@ -8896,6 +8949,28 @@ export interface components {
8896
8949
  lag?: number | null;
8897
8950
  caughtUp: boolean;
8898
8951
  };
8952
+ BrokerConfig: {
8953
+ /** @description The broker id, or default for the cluster-wide default. */
8954
+ broker: string;
8955
+ clusterDefault: boolean;
8956
+ /** @description Settings with a value; secrets are never listed. */
8957
+ entries: components["schemas"]["BrokerConfigEntry"][];
8958
+ /** @description Why the restart-only settings are not marked, when the cluster does not say. */
8959
+ note?: string | null;
8960
+ };
8961
+ BrokerConfigEntry: {
8962
+ name: string;
8963
+ value: string;
8964
+ /**
8965
+ * @description Where the value is set: this broker, the cluster default, its file or built in.
8966
+ * @enum {string}
8967
+ */
8968
+ source: "NODE" | "CLUSTER" | "STATIC" | "DEFAULT";
8969
+ /** @description Whether only a restart of the broker changes it. */
8970
+ readOnly: boolean;
8971
+ /** @description ms, bytes or the like, when the value is a quantity. */
8972
+ unit?: string | null;
8973
+ };
8899
8974
  AclPage: {
8900
8975
  /** @description False where the cluster has no authorizer. */
8901
8976
  available: boolean;
@@ -17573,6 +17648,147 @@ export interface operations {
17573
17648
  };
17574
17649
  };
17575
17650
  };
17651
+ previewConfig_1: {
17652
+ parameters: {
17653
+ query?: never;
17654
+ header?: {
17655
+ /** @description Makes the request safe to retry. Within 24 hours a repeat by the same user with the same method, path, query and body returns the first result with `Idempotent-Replayed: true` and applies nothing again. The same key with another request is 422 `idempotency-key-reused`; while the first is still running it is 409 `idempotency-in-progress`. 1 to 255 printable ASCII characters; not accepted on multipart uploads. Server errors and 401, 403 and 429 are not recorded, so the retry runs. */
17656
+ "Idempotency-Key"?: string;
17657
+ };
17658
+ path: {
17659
+ clusterId: string;
17660
+ broker: string;
17661
+ };
17662
+ cookie?: never;
17663
+ };
17664
+ requestBody: {
17665
+ content: {
17666
+ "application/json": components["schemas"]["ConfigChangeRequest"];
17667
+ };
17668
+ };
17669
+ responses: {
17670
+ /** @description OK */
17671
+ 200: {
17672
+ headers: {
17673
+ [name: string]: unknown;
17674
+ };
17675
+ content: {
17676
+ "*/*": components["schemas"]["ConfigPreview"];
17677
+ };
17678
+ };
17679
+ /** @description Too many requests. Wait for Retry-After seconds. */
17680
+ 429: {
17681
+ headers: {
17682
+ /** @description Seconds to wait before retrying. */
17683
+ "Retry-After"?: number;
17684
+ /** @description Requests allowed in the window (API tokens). */
17685
+ "RateLimit-Limit"?: number;
17686
+ /** @description Requests left in the window (API tokens). */
17687
+ "RateLimit-Remaining"?: number;
17688
+ /** @description Seconds until the window resets (API tokens). */
17689
+ "RateLimit-Reset"?: number;
17690
+ [name: string]: unknown;
17691
+ };
17692
+ content: {
17693
+ "application/problem+json": components["schemas"]["ProblemDetail"];
17694
+ };
17695
+ };
17696
+ /** @description Client error */
17697
+ "4XX": {
17698
+ headers: {
17699
+ [name: string]: unknown;
17700
+ };
17701
+ content: {
17702
+ "application/problem+json": components["schemas"]["ProblemDetail"];
17703
+ };
17704
+ };
17705
+ /** @description Server error */
17706
+ "5XX": {
17707
+ headers: {
17708
+ [name: string]: unknown;
17709
+ };
17710
+ content: {
17711
+ "application/problem+json": components["schemas"]["ProblemDetail"];
17712
+ };
17713
+ };
17714
+ };
17715
+ };
17716
+ applyConfig_1: {
17717
+ parameters: {
17718
+ query?: never;
17719
+ header?: {
17720
+ /** @description Makes the request safe to retry. Within 24 hours a repeat by the same user with the same method, path, query and body returns the first result with `Idempotent-Replayed: true` and applies nothing again. The same key with another request is 422 `idempotency-key-reused`; while the first is still running it is 409 `idempotency-in-progress`. 1 to 255 printable ASCII characters; not accepted on multipart uploads. Server errors and 401, 403 and 429 are not recorded, so the retry runs. */
17721
+ "Idempotency-Key"?: string;
17722
+ };
17723
+ path: {
17724
+ clusterId: string;
17725
+ broker: string;
17726
+ };
17727
+ cookie?: never;
17728
+ };
17729
+ requestBody: {
17730
+ content: {
17731
+ "application/json": components["schemas"]["ConfigChangeRequest"];
17732
+ };
17733
+ };
17734
+ responses: {
17735
+ /** @description OK */
17736
+ 200: {
17737
+ headers: {
17738
+ [name: string]: unknown;
17739
+ };
17740
+ content: {
17741
+ "*/*": components["schemas"]["ConfigPreview"];
17742
+ };
17743
+ };
17744
+ /** @description Held for approval: the operation has not run. X-Rahdar-Held-Operation names the request. */
17745
+ 202: {
17746
+ headers: {
17747
+ /** @description The held operation's id, when the operation was held. */
17748
+ "X-Rahdar-Held-Operation"?: string;
17749
+ [name: string]: unknown;
17750
+ };
17751
+ content: {
17752
+ "application/json": components["schemas"]["HeldOutcome"];
17753
+ };
17754
+ };
17755
+ /** @description Too many requests. Wait for Retry-After seconds. */
17756
+ 429: {
17757
+ headers: {
17758
+ /** @description Seconds to wait before retrying. */
17759
+ "Retry-After"?: number;
17760
+ /** @description Requests allowed in the window (API tokens). */
17761
+ "RateLimit-Limit"?: number;
17762
+ /** @description Requests left in the window (API tokens). */
17763
+ "RateLimit-Remaining"?: number;
17764
+ /** @description Seconds until the window resets (API tokens). */
17765
+ "RateLimit-Reset"?: number;
17766
+ [name: string]: unknown;
17767
+ };
17768
+ content: {
17769
+ "application/problem+json": components["schemas"]["ProblemDetail"];
17770
+ };
17771
+ };
17772
+ /** @description Client error */
17773
+ "4XX": {
17774
+ headers: {
17775
+ [name: string]: unknown;
17776
+ };
17777
+ content: {
17778
+ "application/problem+json": components["schemas"]["ProblemDetail"];
17779
+ };
17780
+ };
17781
+ /** @description Server error */
17782
+ "5XX": {
17783
+ headers: {
17784
+ [name: string]: unknown;
17785
+ };
17786
+ content: {
17787
+ "application/problem+json": components["schemas"]["ProblemDetail"];
17788
+ };
17789
+ };
17790
+ };
17791
+ };
17576
17792
  previewAcls: {
17577
17793
  parameters: {
17578
17794
  query?: never;
@@ -25361,6 +25577,64 @@ export interface operations {
25361
25577
  };
25362
25578
  };
25363
25579
  };
25580
+ brokerConfig: {
25581
+ parameters: {
25582
+ query?: never;
25583
+ header?: never;
25584
+ path: {
25585
+ clusterId: string;
25586
+ broker: string;
25587
+ };
25588
+ cookie?: never;
25589
+ };
25590
+ requestBody?: never;
25591
+ responses: {
25592
+ /** @description OK */
25593
+ 200: {
25594
+ headers: {
25595
+ [name: string]: unknown;
25596
+ };
25597
+ content: {
25598
+ "*/*": components["schemas"]["BrokerConfig"];
25599
+ };
25600
+ };
25601
+ /** @description Too many requests. Wait for Retry-After seconds. */
25602
+ 429: {
25603
+ headers: {
25604
+ /** @description Seconds to wait before retrying. */
25605
+ "Retry-After"?: number;
25606
+ /** @description Requests allowed in the window (API tokens). */
25607
+ "RateLimit-Limit"?: number;
25608
+ /** @description Requests left in the window (API tokens). */
25609
+ "RateLimit-Remaining"?: number;
25610
+ /** @description Seconds until the window resets (API tokens). */
25611
+ "RateLimit-Reset"?: number;
25612
+ [name: string]: unknown;
25613
+ };
25614
+ content: {
25615
+ "application/problem+json": components["schemas"]["ProblemDetail"];
25616
+ };
25617
+ };
25618
+ /** @description Client error */
25619
+ "4XX": {
25620
+ headers: {
25621
+ [name: string]: unknown;
25622
+ };
25623
+ content: {
25624
+ "application/problem+json": components["schemas"]["ProblemDetail"];
25625
+ };
25626
+ };
25627
+ /** @description Server error */
25628
+ "5XX": {
25629
+ headers: {
25630
+ [name: string]: unknown;
25631
+ };
25632
+ content: {
25633
+ "application/problem+json": components["schemas"]["ProblemDetail"];
25634
+ };
25635
+ };
25636
+ };
25637
+ };
25364
25638
  acls: {
25365
25639
  parameters: {
25366
25640
  query?: {
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Why a control is unavailable, in full: the reason, and the `broker.xml` that enables it where one
3
- * exists (non-negotiable #5). The one rendering of it, shared by the {@link CapabilityGate} popover
4
- * and the explanation a blocked menu item opens, so both say the same thing the same way.
2
+ * Why a control is unavailable, in full: the reason, and the change that enables it where one exists
3
+ * (non-negotiable #5): the `broker.xml` snippet on Artemis, the command or setting on Kafka and RabbitMQ.
4
+ * The one rendering of it, shared by the {@link CapabilityGate} popover and the explanation a blocked
5
+ * menu item opens, so both say the same thing the same way.
5
6
  */
6
7
  export declare function CapabilityReason({ reason, snippet, size, }: Readonly<{
7
8
  reason: string;