queue-pilot 0.2.0 → 0.5.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 (130) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +209 -31
  3. package/dist/broker/factory.d.ts +25 -0
  4. package/dist/broker/factory.js +35 -0
  5. package/dist/broker/factory.js.map +1 -0
  6. package/dist/broker/registry.d.ts +8 -0
  7. package/dist/broker/registry.js +95 -0
  8. package/dist/broker/registry.js.map +1 -0
  9. package/dist/broker/tool-definition.d.ts +7 -0
  10. package/dist/broker/tool-definition.js +2 -0
  11. package/dist/broker/tool-definition.js.map +1 -0
  12. package/dist/broker/types.d.ts +71 -0
  13. package/dist/broker/types.js +10 -0
  14. package/dist/broker/types.js.map +1 -0
  15. package/dist/brokers/kafka/adapter.d.ts +18 -0
  16. package/dist/brokers/kafka/adapter.js +83 -0
  17. package/dist/brokers/kafka/adapter.js.map +1 -0
  18. package/dist/brokers/kafka/tools.d.ts +3 -0
  19. package/dist/brokers/kafka/tools.js +51 -0
  20. package/dist/brokers/kafka/tools.js.map +1 -0
  21. package/dist/brokers/rabbitmq/adapter.d.ts +19 -0
  22. package/dist/brokers/rabbitmq/adapter.js +114 -0
  23. package/dist/brokers/rabbitmq/adapter.js.map +1 -0
  24. package/dist/brokers/rabbitmq/tools.d.ts +3 -0
  25. package/dist/brokers/rabbitmq/tools.js +124 -0
  26. package/dist/brokers/rabbitmq/tools.js.map +1 -0
  27. package/dist/index.d.ts +8 -1
  28. package/dist/index.js +208 -30
  29. package/dist/index.js.map +1 -1
  30. package/dist/init.d.ts +24 -0
  31. package/dist/init.js +269 -0
  32. package/dist/init.js.map +1 -0
  33. package/dist/kafka/client.d.ts +63 -0
  34. package/dist/kafka/client.js +256 -0
  35. package/dist/kafka/client.js.map +1 -0
  36. package/dist/kafka/types.d.ts +48 -0
  37. package/dist/kafka/types.js +2 -0
  38. package/dist/kafka/types.js.map +1 -0
  39. package/dist/rabbitmq/client.d.ts +14 -2
  40. package/dist/rabbitmq/client.js +44 -7
  41. package/dist/rabbitmq/client.js.map +1 -1
  42. package/dist/rabbitmq/types.d.ts +64 -4
  43. package/dist/schemas/loader.d.ts +0 -1
  44. package/dist/schemas/loader.js +23 -7
  45. package/dist/schemas/loader.js.map +1 -1
  46. package/dist/schemas/types.d.ts +5 -6
  47. package/dist/schemas/validator.d.ts +0 -1
  48. package/dist/schemas/validator.js +11 -64
  49. package/dist/schemas/validator.js.map +1 -1
  50. package/dist/server.d.ts +5 -4
  51. package/dist/server.js +92 -194
  52. package/dist/server.js.map +1 -1
  53. package/dist/startup.d.ts +18 -0
  54. package/dist/startup.js +36 -0
  55. package/dist/startup.js.map +1 -0
  56. package/dist/tools/check-health.d.ts +6 -0
  57. package/dist/tools/check-health.js +9 -0
  58. package/dist/tools/check-health.js.map +1 -0
  59. package/dist/tools/create-queue.d.ts +2 -3
  60. package/dist/tools/create-queue.js +4 -2
  61. package/dist/tools/create-queue.js.map +1 -1
  62. package/dist/tools/delete-queue.d.ts +11 -0
  63. package/dist/tools/delete-queue.js +9 -0
  64. package/dist/tools/delete-queue.js.map +1 -0
  65. package/dist/tools/get-overview.d.ts +23 -0
  66. package/dist/tools/get-overview.js +13 -0
  67. package/dist/tools/get-overview.js.map +1 -0
  68. package/dist/tools/get-queue.d.ts +19 -0
  69. package/dist/tools/get-queue.js +18 -0
  70. package/dist/tools/get-queue.js.map +1 -0
  71. package/dist/tools/get-schema.d.ts +8 -6
  72. package/dist/tools/get-schema.js.map +1 -1
  73. package/dist/tools/inspect-queue.d.ts +5 -3
  74. package/dist/tools/inspect-queue.js +45 -27
  75. package/dist/tools/inspect-queue.js.map +1 -1
  76. package/dist/tools/list-connections.d.ts +14 -0
  77. package/dist/tools/list-connections.js +16 -0
  78. package/dist/tools/list-connections.js.map +1 -0
  79. package/dist/tools/list-consumers.d.ts +11 -0
  80. package/dist/tools/list-consumers.js +13 -0
  81. package/dist/tools/list-consumers.js.map +1 -0
  82. package/dist/tools/list-queues.d.ts +2 -3
  83. package/dist/tools/list-queues.js +4 -4
  84. package/dist/tools/list-queues.js.map +1 -1
  85. package/dist/tools/list-schemas.d.ts +0 -1
  86. package/dist/tools/list-schemas.js +6 -2
  87. package/dist/tools/list-schemas.js.map +1 -1
  88. package/dist/tools/peek-messages.d.ts +3 -3
  89. package/dist/tools/peek-messages.js +5 -4
  90. package/dist/tools/peek-messages.js.map +1 -1
  91. package/dist/tools/publish-message.d.ts +3 -4
  92. package/dist/tools/publish-message.js +12 -6
  93. package/dist/tools/publish-message.js.map +1 -1
  94. package/dist/tools/purge-queue.d.ts +2 -3
  95. package/dist/tools/purge-queue.js +3 -3
  96. package/dist/tools/purge-queue.js.map +1 -1
  97. package/dist/tools/validate-message.d.ts +0 -1
  98. package/dist/tools/validate-message.js.map +1 -1
  99. package/dist/version.d.ts +1 -0
  100. package/dist/version.js +5 -0
  101. package/dist/version.js.map +1 -0
  102. package/package.json +21 -6
  103. package/dist/index.d.ts.map +0 -1
  104. package/dist/rabbitmq/client.d.ts.map +0 -1
  105. package/dist/rabbitmq/types.d.ts.map +0 -1
  106. package/dist/schemas/loader.d.ts.map +0 -1
  107. package/dist/schemas/types.d.ts.map +0 -1
  108. package/dist/schemas/validator.d.ts.map +0 -1
  109. package/dist/server.d.ts.map +0 -1
  110. package/dist/tools/create-binding.d.ts +0 -15
  111. package/dist/tools/create-binding.d.ts.map +0 -1
  112. package/dist/tools/create-binding.js +0 -10
  113. package/dist/tools/create-binding.js.map +0 -1
  114. package/dist/tools/create-queue.d.ts.map +0 -1
  115. package/dist/tools/get-schema.d.ts.map +0 -1
  116. package/dist/tools/inspect-queue.d.ts.map +0 -1
  117. package/dist/tools/list-bindings.d.ts +0 -11
  118. package/dist/tools/list-bindings.d.ts.map +0 -1
  119. package/dist/tools/list-bindings.js +0 -12
  120. package/dist/tools/list-bindings.js.map +0 -1
  121. package/dist/tools/list-exchanges.d.ts +0 -10
  122. package/dist/tools/list-exchanges.d.ts.map +0 -1
  123. package/dist/tools/list-exchanges.js +0 -11
  124. package/dist/tools/list-exchanges.js.map +0 -1
  125. package/dist/tools/list-queues.d.ts.map +0 -1
  126. package/dist/tools/list-schemas.d.ts.map +0 -1
  127. package/dist/tools/peek-messages.d.ts.map +0 -1
  128. package/dist/tools/publish-message.d.ts.map +0 -1
  129. package/dist/tools/purge-queue.d.ts.map +0 -1
  130. package/dist/tools/validate-message.d.ts.map +0 -1
@@ -0,0 +1,23 @@
1
+ import type { OverviewCapability } from "../broker/types.js";
2
+ export interface GetOverviewResult {
3
+ cluster_name: string;
4
+ rabbitmq_version: string;
5
+ erlang_version: string;
6
+ message_stats: {
7
+ publish: number;
8
+ deliver: number;
9
+ };
10
+ queue_totals: {
11
+ messages: number;
12
+ messages_ready: number;
13
+ messages_unacknowledged: number;
14
+ };
15
+ object_totals: {
16
+ queues: number;
17
+ exchanges: number;
18
+ connections: number;
19
+ consumers: number;
20
+ };
21
+ node: string;
22
+ }
23
+ export declare function getOverview(adapter: OverviewCapability): Promise<GetOverviewResult>;
@@ -0,0 +1,13 @@
1
+ export async function getOverview(adapter) {
2
+ const overview = await adapter.getOverview();
3
+ return {
4
+ cluster_name: overview.cluster_name,
5
+ rabbitmq_version: overview.rabbitmq_version,
6
+ erlang_version: overview.erlang_version,
7
+ message_stats: overview.message_stats,
8
+ queue_totals: overview.queue_totals,
9
+ object_totals: overview.object_totals,
10
+ node: overview.node,
11
+ };
12
+ }
13
+ //# sourceMappingURL=get-overview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-overview.js","sourceRoot":"","sources":["../../src/tools/get-overview.ts"],"names":[],"mappings":"AAwBA,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA2B;IAE3B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAE7C,OAAO;QACL,YAAY,EAAE,QAAQ,CAAC,YAAsB;QAC7C,gBAAgB,EAAE,QAAQ,CAAC,gBAA0B;QACrD,cAAc,EAAE,QAAQ,CAAC,cAAwB;QACjD,aAAa,EAAE,QAAQ,CAAC,aAAqD;QAC7E,YAAY,EAAE,QAAQ,CAAC,YAA6F;QACpH,aAAa,EAAE,QAAQ,CAAC,aAA8F;QACtH,IAAI,EAAE,QAAQ,CAAC,IAAc;KAC9B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { BrokerAdapter } from "../broker/types.js";
2
+ export interface GetQueueResult {
3
+ name: string;
4
+ vhost: string;
5
+ state: string;
6
+ messages_ready: number;
7
+ messages_unacknowledged: number;
8
+ consumers: number;
9
+ consumer_utilisation: number | null;
10
+ memory: number;
11
+ message_stats: {
12
+ publish: number;
13
+ deliver: number;
14
+ } | null;
15
+ policy: string | null;
16
+ arguments: Record<string, unknown>;
17
+ node: string;
18
+ }
19
+ export declare function getQueue(adapter: BrokerAdapter, scope: string, queue: string): Promise<GetQueueResult>;
@@ -0,0 +1,18 @@
1
+ export async function getQueue(adapter, scope, queue) {
2
+ const detail = await adapter.getQueue(queue, scope);
3
+ return {
4
+ name: detail.name,
5
+ vhost: detail.metadata.vhost,
6
+ state: detail.state,
7
+ messages_ready: detail.messages_ready ?? 0,
8
+ messages_unacknowledged: detail.messages_unacknowledged ?? 0,
9
+ consumers: detail.metadata.consumers,
10
+ consumer_utilisation: detail.metadata.consumer_utilisation,
11
+ memory: detail.metadata.memory,
12
+ message_stats: detail.metadata.message_stats,
13
+ policy: detail.metadata.policy,
14
+ arguments: detail.metadata.arguments,
15
+ node: detail.metadata.node,
16
+ };
17
+ }
18
+ //# sourceMappingURL=get-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-queue.js","sourceRoot":"","sources":["../../src/tools/get-queue.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAsB,EACtB,KAAa,EACb,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAe;QACtC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;QAC1C,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,IAAI,CAAC;QAC5D,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAmB;QAC9C,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,oBAAqC;QAC3E,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAgB;QACxC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,aAA4D;QAC3F,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAuB;QAC/C,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAoC;QAC/D,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAc;KACrC,CAAC;AACJ,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import type { SchemaValidator } from "../schemas/validator.js";
2
- export interface GetSchemaResult {
3
- found: boolean;
2
+ export type GetSchemaResult = {
3
+ found: true;
4
4
  name: string;
5
- schema?: Record<string, unknown>;
6
- error?: string;
7
- }
5
+ schema: Record<string, unknown>;
6
+ } | {
7
+ found: false;
8
+ name: string;
9
+ error: string;
10
+ };
8
11
  export declare function getSchema(validator: SchemaValidator, name: string): GetSchemaResult;
9
- //# sourceMappingURL=get-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-schema.js","sourceRoot":"","sources":["../../src/tools/get-schema.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,SAAS,CACvB,SAA0B,EAC1B,IAAY;IAEZ,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI;YACJ,KAAK,EAAE,WAAW,IAAI,yDAAyD;SAChF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAA4C;KAC3D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-schema.js","sourceRoot":"","sources":["../../src/tools/get-schema.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,SAAS,CACvB,SAA0B,EAC1B,IAAY;IAEZ,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,IAAI;YACJ,KAAK,EAAE,WAAW,IAAI,yDAAyD;SAChF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { RabbitMQClient } from "../rabbitmq/client.js";
1
+ import type { BrokerAdapter } from "../broker/types.js";
2
2
  import type { SchemaValidator } from "../schemas/validator.js";
3
3
  export interface InspectedMessage {
4
4
  payload: string;
5
+ payload_encoding: string;
5
6
  parsedPayload: unknown;
6
7
  properties: {
7
8
  correlation_id?: string;
@@ -9,6 +10,7 @@ export interface InspectedMessage {
9
10
  type?: string;
10
11
  timestamp?: number;
11
12
  headers?: Record<string, unknown>;
13
+ content_type?: string;
12
14
  };
13
15
  exchange: string;
14
16
  routing_key: string;
@@ -30,7 +32,7 @@ export interface InspectQueueResult {
30
32
  valid: number;
31
33
  invalid: number;
32
34
  noSchema: number;
35
+ skipped: number;
33
36
  };
34
37
  }
35
- export declare function inspectQueue(client: RabbitMQClient, validator: SchemaValidator, vhost: string, queue: string, count: number): Promise<InspectQueueResult>;
36
- //# sourceMappingURL=inspect-queue.d.ts.map
38
+ export declare function inspectQueue(adapter: BrokerAdapter, validator: SchemaValidator, scope: string, queue: string, count: number): Promise<InspectQueueResult>;
@@ -1,47 +1,63 @@
1
- export async function inspectQueue(client, validator, vhost, queue, count) {
2
- const messages = await client.peekMessages(vhost, queue, count);
1
+ export async function inspectQueue(adapter, validator, scope, queue, count) {
2
+ const messages = await adapter.peekMessages(queue, count, scope);
3
3
  let validCount = 0;
4
4
  let invalidCount = 0;
5
5
  let noSchemaCount = 0;
6
+ let skippedCount = 0;
6
7
  const inspected = messages.map((m) => {
7
8
  const schemaName = m.properties.type ?? null;
8
9
  let parsedPayload = null;
9
10
  let valid = null;
10
11
  let errors = [];
11
- try {
12
- parsedPayload = JSON.parse(m.payload);
12
+ if (m.payload_encoding === "base64") {
13
+ skippedCount++;
13
14
  }
14
- catch {
15
- parsedPayload = m.payload;
16
- }
17
- if (schemaName) {
18
- const schemaEntry = validator.getSchema(schemaName);
19
- if (schemaEntry) {
20
- const result = validator.validate(schemaName, parsedPayload);
21
- valid = result.valid;
22
- errors = result.errors;
23
- if (valid) {
24
- validCount++;
15
+ else {
16
+ let jsonParsed = false;
17
+ try {
18
+ parsedPayload = JSON.parse(m.payload);
19
+ jsonParsed = true;
20
+ }
21
+ catch {
22
+ parsedPayload = m.payload;
23
+ }
24
+ if (schemaName) {
25
+ const schemaEntry = validator.getSchema(schemaName);
26
+ if (schemaEntry) {
27
+ if (jsonParsed) {
28
+ const result = validator.validate(schemaName, parsedPayload);
29
+ valid = result.valid;
30
+ errors = result.errors;
31
+ if (valid) {
32
+ validCount++;
33
+ }
34
+ else {
35
+ invalidCount++;
36
+ }
37
+ }
38
+ else {
39
+ valid = false;
40
+ errors = [{ path: "", message: "Invalid JSON payload" }];
41
+ invalidCount++;
42
+ }
25
43
  }
26
44
  else {
27
- invalidCount++;
45
+ noSchemaCount++;
46
+ errors = [
47
+ {
48
+ path: "",
49
+ message: `Schema "${schemaName}" not found`,
50
+ },
51
+ ];
28
52
  }
29
53
  }
30
54
  else {
31
55
  noSchemaCount++;
32
- errors = [
33
- {
34
- path: "",
35
- message: `Schema "${schemaName}" not found`,
36
- },
37
- ];
38
56
  }
39
57
  }
40
- else {
41
- noSchemaCount++;
42
- }
43
58
  return {
44
59
  payload: m.payload,
60
+ payload_encoding: m.payload_encoding,
45
61
  parsedPayload,
46
62
  properties: {
47
63
  correlation_id: m.properties.correlation_id,
@@ -49,9 +65,10 @@ export async function inspectQueue(client, validator, vhost, queue, count) {
49
65
  type: m.properties.type,
50
66
  timestamp: m.properties.timestamp,
51
67
  headers: m.properties.headers,
68
+ content_type: m.properties.content_type,
52
69
  },
53
- exchange: m.exchange,
54
- routing_key: m.routing_key,
70
+ exchange: m.metadata.exchange,
71
+ routing_key: m.metadata.routing_key,
55
72
  validation: {
56
73
  schemaName,
57
74
  valid,
@@ -68,6 +85,7 @@ export async function inspectQueue(client, validator, vhost, queue, count) {
68
85
  valid: validCount,
69
86
  invalid: invalidCount,
70
87
  noSchema: noSchemaCount,
88
+ skipped: skippedCount,
71
89
  },
72
90
  };
73
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"inspect-queue.js","sourceRoot":"","sources":["../../src/tools/inspect-queue.ts"],"names":[],"mappings":"AAkCA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,SAA0B,EAC1B,KAAa,EACb,KAAa,EACb,KAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEhE,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,SAAS,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvD,MAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;QAC7C,IAAI,aAAa,GAAY,IAAI,CAAC;QAClC,IAAI,KAAK,GAAmB,IAAI,CAAC;QACjC,IAAI,MAAM,GAA6C,EAAE,CAAC;QAE1D,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;QAC5B,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;gBAC7D,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAEvB,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,EAAE,CAAC;gBACf,CAAC;qBAAM,CAAC;oBACN,YAAY,EAAE,CAAC;gBACjB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,EAAE,CAAC;gBAChB,MAAM,GAAG;oBACP;wBACE,IAAI,EAAE,EAAE;wBACR,OAAO,EAAE,WAAW,UAAU,aAAa;qBAC5C;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,aAAa;YACb,UAAU,EAAE;gBACV,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc;gBAC3C,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU;gBACnC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;gBACvB,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS;gBACjC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO;aAC9B;YACD,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE;gBACV,UAAU;gBACV,KAAK;gBACL,MAAM;aACP;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,OAAO,EAAE;YACP,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,aAAa;SACxB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"inspect-queue.js","sourceRoot":"","sources":["../../src/tools/inspect-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { ConnectionCapability } from "../broker/types.js";
2
+ export interface ListConnectionsResult {
3
+ connections: Array<{
4
+ name: string;
5
+ user: string;
6
+ state: string;
7
+ channels: number;
8
+ connected_at: number;
9
+ connection_name: string | undefined;
10
+ peer_host: string;
11
+ peer_port: number;
12
+ }>;
13
+ }
14
+ export declare function listConnections(adapter: ConnectionCapability): Promise<ListConnectionsResult>;
@@ -0,0 +1,16 @@
1
+ export async function listConnections(adapter) {
2
+ const connections = await adapter.listConnections();
3
+ return {
4
+ connections: connections.map((c) => ({
5
+ name: c.name,
6
+ user: c.user,
7
+ state: c.state,
8
+ channels: c.channels,
9
+ connected_at: c.connected_at,
10
+ connection_name: c.client_properties?.connection_name,
11
+ peer_host: c.peer_host,
12
+ peer_port: c.peer_port,
13
+ })),
14
+ };
15
+ }
16
+ //# sourceMappingURL=list-connections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-connections.js","sourceRoot":"","sources":["../../src/tools/list-connections.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA6B;IAE7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;IAEpD,OAAO;QACL,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,IAAc;YACtB,IAAI,EAAE,CAAC,CAAC,IAAc;YACtB,KAAK,EAAE,CAAC,CAAC,KAAe;YACxB,QAAQ,EAAE,CAAC,CAAC,QAAkB;YAC9B,YAAY,EAAE,CAAC,CAAC,YAAsB;YACtC,eAAe,EAAG,CAAC,CAAC,iBAAkD,EAAE,eAAe;YACvF,SAAS,EAAE,CAAC,CAAC,SAAmB;YAChC,SAAS,EAAE,CAAC,CAAC,SAAmB;SACjC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ConsumerCapability } from "../broker/types.js";
2
+ export interface ListConsumersResult {
3
+ consumers: Array<{
4
+ queue: string;
5
+ consumer_tag: string;
6
+ connection_name: string;
7
+ ack_required: boolean;
8
+ prefetch_count: number;
9
+ }>;
10
+ }
11
+ export declare function listConsumers(adapter: ConsumerCapability, scope: string): Promise<ListConsumersResult>;
@@ -0,0 +1,13 @@
1
+ export async function listConsumers(adapter, scope) {
2
+ const consumers = await adapter.listConsumers(scope);
3
+ return {
4
+ consumers: consumers.map((c) => ({
5
+ queue: c.queue.name,
6
+ consumer_tag: c.consumer_tag,
7
+ connection_name: c.channel_details.connection_name,
8
+ ack_required: c.ack_required,
9
+ prefetch_count: c.prefetch_count,
10
+ })),
11
+ };
12
+ }
13
+ //# sourceMappingURL=list-consumers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-consumers.js","sourceRoot":"","sources":["../../src/tools/list-consumers.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA2B,EAC3B,KAAa;IAEb,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO;QACL,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,KAAK,EAAG,CAAC,CAAC,KAA0B,CAAC,IAAI;YACzC,YAAY,EAAE,CAAC,CAAC,YAAsB;YACtC,eAAe,EAAG,CAAC,CAAC,eAA+C,CAAC,eAAe;YACnF,YAAY,EAAE,CAAC,CAAC,YAAuB;YACvC,cAAc,EAAE,CAAC,CAAC,cAAwB;SAC3C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RabbitMQClient } from "../rabbitmq/client.js";
1
+ import type { BrokerAdapter } from "../broker/types.js";
2
2
  export interface ListQueuesResult {
3
3
  queues: Array<{
4
4
  name: string;
@@ -7,5 +7,4 @@ export interface ListQueuesResult {
7
7
  state: string;
8
8
  }>;
9
9
  }
10
- export declare function listQueues(client: RabbitMQClient, vhost: string): Promise<ListQueuesResult>;
11
- //# sourceMappingURL=list-queues.d.ts.map
10
+ export declare function listQueues(adapter: BrokerAdapter, scope: string): Promise<ListQueuesResult>;
@@ -1,10 +1,10 @@
1
- export async function listQueues(client, vhost) {
2
- const queues = await client.listQueues(vhost);
1
+ export async function listQueues(adapter, scope) {
2
+ const queues = await adapter.listQueues(scope);
3
3
  return {
4
4
  queues: queues.map((q) => ({
5
5
  name: q.name,
6
- messages_ready: q.messages_ready,
7
- messages_unacknowledged: q.messages_unacknowledged,
6
+ messages_ready: q.messages_ready ?? 0,
7
+ messages_unacknowledged: q.messages_unacknowledged ?? 0,
8
8
  state: q.state,
9
9
  })),
10
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"list-queues.js","sourceRoot":"","sources":["../../src/tools/list-queues.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;YAClD,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list-queues.js","sourceRoot":"","sources":["../../src/tools/list-queues.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAsB,EACtB,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAE/C,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,CAAC;YACrC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB,IAAI,CAAC;YACvD,KAAK,EAAE,CAAC,CAAC,KAAK;SACf,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
@@ -8,4 +8,3 @@ export interface ListSchemasResult {
8
8
  }>;
9
9
  }
10
10
  export declare function listSchemas(validator: SchemaValidator): ListSchemasResult;
11
- //# sourceMappingURL=list-schemas.d.ts.map
@@ -1,14 +1,18 @@
1
1
  export function listSchemas(validator) {
2
2
  const names = validator.getSchemaNames();
3
- const schemas = names.map((name) => {
3
+ const schemas = names
4
+ .map((name) => {
4
5
  const entry = validator.getSchema(name);
6
+ if (!entry)
7
+ return null;
5
8
  return {
6
9
  name: entry.name,
7
10
  version: entry.version,
8
11
  title: entry.title,
9
12
  description: entry.description,
10
13
  };
11
- });
14
+ })
15
+ .filter((s) => s !== null);
12
16
  return { schemas };
13
17
  }
14
18
  //# sourceMappingURL=list-schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-schemas.js","sourceRoot":"","sources":["../../src/tools/list-schemas.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,WAAW,CAAC,SAA0B;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"list-schemas.js","sourceRoot":"","sources":["../../src/tools/list-schemas.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,WAAW,CAAC,SAA0B;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK;SAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;IACJ,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEzD,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { RabbitMQClient } from "../rabbitmq/client.js";
1
+ import type { BrokerAdapter } from "../broker/types.js";
2
2
  export interface PeekMessagesResult {
3
3
  messages: Array<{
4
4
  payload: string;
5
+ payload_encoding: string;
5
6
  properties: {
6
7
  correlation_id?: string;
7
8
  message_id?: string;
@@ -15,5 +16,4 @@ export interface PeekMessagesResult {
15
16
  }>;
16
17
  count: number;
17
18
  }
18
- export declare function peekMessages(client: RabbitMQClient, vhost: string, queue: string, count: number): Promise<PeekMessagesResult>;
19
- //# sourceMappingURL=peek-messages.d.ts.map
19
+ export declare function peekMessages(adapter: BrokerAdapter, scope: string, queue: string, count: number): Promise<PeekMessagesResult>;
@@ -1,8 +1,9 @@
1
- export async function peekMessages(client, vhost, queue, count) {
2
- const messages = await client.peekMessages(vhost, queue, count);
1
+ export async function peekMessages(adapter, scope, queue, count) {
2
+ const messages = await adapter.peekMessages(queue, count, scope);
3
3
  return {
4
4
  messages: messages.map((m) => ({
5
5
  payload: m.payload,
6
+ payload_encoding: m.payload_encoding,
6
7
  properties: {
7
8
  correlation_id: m.properties.correlation_id,
8
9
  message_id: m.properties.message_id,
@@ -11,8 +12,8 @@ export async function peekMessages(client, vhost, queue, count) {
11
12
  headers: m.properties.headers,
12
13
  content_type: m.properties.content_type,
13
14
  },
14
- exchange: m.exchange,
15
- routing_key: m.routing_key,
15
+ exchange: m.metadata.exchange,
16
+ routing_key: m.metadata.routing_key,
16
17
  })),
17
18
  count: messages.length,
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"peek-messages.js","sourceRoot":"","sources":["../../src/tools/peek-messages.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,KAAa,EACb,KAAa,EACb,KAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE;gBACV,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc;gBAC3C,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU;gBACnC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;gBACvB,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS;gBACjC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO;gBAC7B,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY;aACxC;YACD,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;QACH,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"peek-messages.js","sourceRoot":"","sources":["../../src/tools/peek-messages.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAsB,EACtB,KAAa,EACb,KAAa,EACb,KAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAEjE,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,UAAU,EAAE;gBACV,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,cAAc;gBAC3C,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU;gBACnC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI;gBACvB,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,SAAS;gBACjC,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO;gBAC7B,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY;aACxC;YACD,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAkB;YACvC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAqB;SAC9C,CAAC,CAAC;QACH,KAAK,EAAE,QAAQ,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
@@ -1,11 +1,11 @@
1
- import type { RabbitMQClient } from "../rabbitmq/client.js";
1
+ import type { BrokerAdapter } from "../broker/types.js";
2
2
  import type { SchemaValidator } from "../schemas/validator.js";
3
3
  export interface PublishMessageParams {
4
4
  exchange: string;
5
5
  routing_key: string;
6
6
  payload: string;
7
7
  message_type?: string;
8
- headers?: Record<string, unknown>;
8
+ headers?: Record<string, string | number | boolean | null>;
9
9
  validate: boolean;
10
10
  vhost: string;
11
11
  }
@@ -24,5 +24,4 @@ export interface PublishMessageResult {
24
24
  }>;
25
25
  };
26
26
  }
27
- export declare function publishMessage(client: RabbitMQClient, validator: SchemaValidator, params: PublishMessageParams): Promise<PublishMessageResult>;
28
- //# sourceMappingURL=publish-message.d.ts.map
27
+ export declare function publishMessage(adapter: BrokerAdapter, validator: SchemaValidator, params: PublishMessageParams): Promise<PublishMessageResult>;
@@ -1,4 +1,4 @@
1
- export async function publishMessage(client, validator, params) {
1
+ export async function publishMessage(adapter, validator, params) {
2
2
  const { exchange, routing_key, payload, message_type, headers, validate, vhost } = params;
3
3
  const baseResult = {
4
4
  published: false,
@@ -27,6 +27,7 @@ export async function publishMessage(client, validator, params) {
27
27
  };
28
28
  }
29
29
  // 2. Validate if requested and message_type is provided
30
+ let validation = baseResult.validation;
30
31
  if (validate && message_type) {
31
32
  const schemaEntry = validator.getSchema(message_type);
32
33
  if (!schemaEntry) {
@@ -52,10 +53,13 @@ export async function publishMessage(client, validator, params) {
52
53
  },
53
54
  };
54
55
  }
55
- baseResult.validation.validated = true;
56
- baseResult.validation.valid = true;
56
+ validation = {
57
+ ...baseResult.validation,
58
+ validated: true,
59
+ valid: true,
60
+ };
57
61
  }
58
- // 3. Publish via client
62
+ // 3. Publish via adapter
59
63
  const properties = {
60
64
  content_type: "application/json",
61
65
  };
@@ -65,16 +69,18 @@ export async function publishMessage(client, validator, params) {
65
69
  if (headers) {
66
70
  properties.headers = headers;
67
71
  }
68
- const response = await client.publishMessage(vhost, exchange, {
72
+ const response = await adapter.publishMessage({
73
+ destination: exchange,
69
74
  routing_key,
70
75
  payload,
71
- payload_encoding: "string",
72
76
  properties,
77
+ scope: vhost,
73
78
  });
74
79
  return {
75
80
  ...baseResult,
76
81
  published: true,
77
82
  routed: response.routed,
83
+ validation,
78
84
  };
79
85
  }
80
86
  //# sourceMappingURL=publish-message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish-message.js","sourceRoot":"","sources":["../../src/tools/publish-message.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAsB,EACtB,SAA0B,EAC1B,MAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE1F,MAAM,UAAU,GAAyB;QACvC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;QACb,QAAQ;QACR,WAAW;QACX,UAAU,EAAE;YACV,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY,IAAI,IAAI;YAChC,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE;SACX;KACF,CAAC;IAEF,6DAA6D;IAC7D,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,GAAG,UAAU;YACb,UAAU,EAAE;gBACV,GAAG,UAAU,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;aACxD;SACF,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,GAAG,UAAU;gBACb,UAAU,EAAE;oBACV,GAAG,UAAU,CAAC,UAAU;oBACxB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,YAAY,aAAa,EAAE,CAAC;iBACtE;aACF,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAEzE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,UAAU;gBACb,UAAU,EAAE;oBACV,GAAG,UAAU,CAAC,UAAU;oBACxB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,gBAAgB,CAAC,MAAM;iBAChC;aACF,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QACvC,UAAU,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,wBAAwB;IACxB,MAAM,UAAU,GAA4B;QAC1C,YAAY,EAAE,kBAAkB;KACjC,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE;QAC5D,WAAW;QACX,OAAO;QACP,gBAAgB,EAAE,QAAQ;QAC1B,UAAU;KACX,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,UAAU;QACb,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"publish-message.js","sourceRoot":"","sources":["../../src/tools/publish-message.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAsB,EACtB,SAA0B,EAC1B,MAA4B;IAE5B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAE1F,MAAM,UAAU,GAAyB;QACvC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,KAAK;QACb,QAAQ;QACR,WAAW;QACX,UAAU,EAAE;YACV,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,YAAY,IAAI,IAAI;YAChC,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE;SACX;KACF,CAAC;IAEF,6DAA6D;IAC7D,IAAI,aAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,GAAG,UAAU;YACb,UAAU,EAAE;gBACV,GAAG,UAAU,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;aACxD;SACF,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,IAAI,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAEvC,IAAI,QAAQ,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,GAAG,UAAU;gBACb,UAAU,EAAE;oBACV,GAAG,UAAU,CAAC,UAAU;oBACxB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,YAAY,aAAa,EAAE,CAAC;iBACtE;aACF,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAEzE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC5B,OAAO;gBACL,GAAG,UAAU;gBACb,UAAU,EAAE;oBACV,GAAG,UAAU,CAAC,UAAU;oBACxB,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,KAAK;oBACZ,MAAM,EAAE,gBAAgB,CAAC,MAAM;iBAChC;aACF,CAAC;QACJ,CAAC;QAED,UAAU,GAAG;YACX,GAAG,UAAU,CAAC,UAAU;YACxB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;SACZ,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,MAAM,UAAU,GAA4B;QAC1C,YAAY,EAAE,kBAAkB;KACjC,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC;QAC5C,WAAW,EAAE,QAAQ;QACrB,WAAW;QACX,OAAO;QACP,UAAU;QACV,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,UAAU;QACb,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,7 +1,6 @@
1
- import type { RabbitMQClient } from "../rabbitmq/client.js";
1
+ import type { BrokerAdapter } from "../broker/types.js";
2
2
  export interface PurgeQueueResult {
3
3
  queue: string;
4
4
  messages_purged: number;
5
5
  }
6
- export declare function purgeQueue(client: RabbitMQClient, vhost: string, queue: string): Promise<PurgeQueueResult>;
7
- //# sourceMappingURL=purge-queue.d.ts.map
6
+ export declare function purgeQueue(adapter: BrokerAdapter, scope: string, queue: string): Promise<PurgeQueueResult>;
@@ -1,8 +1,8 @@
1
- export async function purgeQueue(client, vhost, queue) {
2
- const response = await client.purgeQueue(vhost, queue);
1
+ export async function purgeQueue(adapter, scope, queue) {
2
+ const result = await adapter.purgeQueue(queue, scope);
3
3
  return {
4
4
  queue,
5
- messages_purged: response.messages_purged,
5
+ messages_purged: result.messagesRemoved,
6
6
  };
7
7
  }
8
8
  //# sourceMappingURL=purge-queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"purge-queue.js","sourceRoot":"","sources":["../../src/tools/purge-queue.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,KAAa,EACb,KAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEvD,OAAO;QACL,KAAK;QACL,eAAe,EAAE,QAAQ,CAAC,eAAe;KAC1C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"purge-queue.js","sourceRoot":"","sources":["../../src/tools/purge-queue.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAsB,EACtB,KAAa,EACb,KAAa;IAEb,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEtD,OAAO;QACL,KAAK;QACL,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC"}
@@ -8,4 +8,3 @@ export interface ValidateMessageResult {
8
8
  }>;
9
9
  }
10
10
  export declare function validateMessage(validator: SchemaValidator, schemaName: string, messageJson: string): ValidateMessageResult;
11
- //# sourceMappingURL=validate-message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-message.js","sourceRoot":"","sources":["../../src/tools/validate-message.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,eAAe,CAC7B,SAA0B,EAC1B,UAAkB,EAClB,WAAmB;IAEnB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,UAAU;YACV,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAqB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAExE,OAAO;QACL,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"validate-message.js","sourceRoot":"","sources":["../../src/tools/validate-message.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,eAAe,CAC7B,SAA0B,EAC1B,UAAkB,EAClB,WAAmB;IAEnB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,UAAU;YACV,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEtD,OAAO;QACL,UAAU;QACV,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const VERSION: string;
@@ -0,0 +1,5 @@
1
+ import { createRequire } from "module";
2
+ const require = createRequire(import.meta.url);
3
+ const pkg = require("../package.json");
4
+ export const VERSION = pkg.version;
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,OAAO,GAAW,GAAG,CAAC,OAAO,CAAC"}