@kadi.build/core 0.0.1-alpha.9 → 0.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 (126) hide show
  1. package/README.md +362 -1305
  2. package/dist/client.d.ts +573 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +1673 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/errors.d.ts +107 -0
  7. package/dist/errors.d.ts.map +1 -0
  8. package/dist/errors.js +147 -0
  9. package/dist/errors.js.map +1 -0
  10. package/dist/index.d.ts +37 -14
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +40 -23
  13. package/dist/index.js.map +1 -1
  14. package/dist/lockfile.d.ts +190 -0
  15. package/dist/lockfile.d.ts.map +1 -0
  16. package/dist/lockfile.js +373 -0
  17. package/dist/lockfile.js.map +1 -0
  18. package/dist/transports/broker.d.ts +75 -0
  19. package/dist/transports/broker.d.ts.map +1 -0
  20. package/dist/transports/broker.js +383 -0
  21. package/dist/transports/broker.js.map +1 -0
  22. package/dist/transports/native.d.ts +39 -0
  23. package/dist/transports/native.d.ts.map +1 -0
  24. package/dist/transports/native.js +189 -0
  25. package/dist/transports/native.js.map +1 -0
  26. package/dist/transports/stdio.d.ts +46 -0
  27. package/dist/transports/stdio.d.ts.map +1 -0
  28. package/dist/transports/stdio.js +460 -0
  29. package/dist/transports/stdio.js.map +1 -0
  30. package/dist/types.d.ts +664 -0
  31. package/dist/types.d.ts.map +1 -0
  32. package/dist/types.js +16 -0
  33. package/dist/types.js.map +1 -0
  34. package/dist/zod.d.ts +34 -0
  35. package/dist/zod.d.ts.map +1 -0
  36. package/dist/zod.js +60 -0
  37. package/dist/zod.js.map +1 -0
  38. package/package.json +13 -28
  39. package/dist/KadiClient.d.ts +0 -470
  40. package/dist/KadiClient.d.ts.map +0 -1
  41. package/dist/KadiClient.js +0 -1572
  42. package/dist/KadiClient.js.map +0 -1
  43. package/dist/errors/error-codes.d.ts +0 -985
  44. package/dist/errors/error-codes.d.ts.map +0 -1
  45. package/dist/errors/error-codes.js +0 -638
  46. package/dist/errors/error-codes.js.map +0 -1
  47. package/dist/loadAbility.d.ts +0 -105
  48. package/dist/loadAbility.d.ts.map +0 -1
  49. package/dist/loadAbility.js +0 -370
  50. package/dist/loadAbility.js.map +0 -1
  51. package/dist/messages/BrokerMessages.d.ts +0 -84
  52. package/dist/messages/BrokerMessages.d.ts.map +0 -1
  53. package/dist/messages/BrokerMessages.js +0 -125
  54. package/dist/messages/BrokerMessages.js.map +0 -1
  55. package/dist/messages/MessageBuilder.d.ts +0 -83
  56. package/dist/messages/MessageBuilder.d.ts.map +0 -1
  57. package/dist/messages/MessageBuilder.js +0 -144
  58. package/dist/messages/MessageBuilder.js.map +0 -1
  59. package/dist/schemas/events.schemas.d.ts +0 -177
  60. package/dist/schemas/events.schemas.d.ts.map +0 -1
  61. package/dist/schemas/events.schemas.js +0 -265
  62. package/dist/schemas/events.schemas.js.map +0 -1
  63. package/dist/schemas/index.d.ts +0 -3
  64. package/dist/schemas/index.d.ts.map +0 -1
  65. package/dist/schemas/index.js +0 -4
  66. package/dist/schemas/index.js.map +0 -1
  67. package/dist/schemas/kadi.schemas.d.ts +0 -70
  68. package/dist/schemas/kadi.schemas.d.ts.map +0 -1
  69. package/dist/schemas/kadi.schemas.js +0 -120
  70. package/dist/schemas/kadi.schemas.js.map +0 -1
  71. package/dist/transports/BrokerTransport.d.ts +0 -102
  72. package/dist/transports/BrokerTransport.d.ts.map +0 -1
  73. package/dist/transports/BrokerTransport.js +0 -177
  74. package/dist/transports/BrokerTransport.js.map +0 -1
  75. package/dist/transports/NativeTransport.d.ts +0 -82
  76. package/dist/transports/NativeTransport.d.ts.map +0 -1
  77. package/dist/transports/NativeTransport.js +0 -263
  78. package/dist/transports/NativeTransport.js.map +0 -1
  79. package/dist/transports/StdioTransport.d.ts +0 -112
  80. package/dist/transports/StdioTransport.d.ts.map +0 -1
  81. package/dist/transports/StdioTransport.js +0 -450
  82. package/dist/transports/StdioTransport.js.map +0 -1
  83. package/dist/transports/Transport.d.ts +0 -93
  84. package/dist/transports/Transport.d.ts.map +0 -1
  85. package/dist/transports/Transport.js +0 -13
  86. package/dist/transports/Transport.js.map +0 -1
  87. package/dist/types/broker.d.ts +0 -31
  88. package/dist/types/broker.d.ts.map +0 -1
  89. package/dist/types/broker.js +0 -6
  90. package/dist/types/broker.js.map +0 -1
  91. package/dist/types/core.d.ts +0 -139
  92. package/dist/types/core.d.ts.map +0 -1
  93. package/dist/types/core.js +0 -26
  94. package/dist/types/core.js.map +0 -1
  95. package/dist/types/events.d.ts +0 -186
  96. package/dist/types/events.d.ts.map +0 -1
  97. package/dist/types/events.js +0 -16
  98. package/dist/types/events.js.map +0 -1
  99. package/dist/types/index.d.ts +0 -9
  100. package/dist/types/index.d.ts.map +0 -1
  101. package/dist/types/index.js +0 -13
  102. package/dist/types/index.js.map +0 -1
  103. package/dist/types/protocol.d.ts +0 -160
  104. package/dist/types/protocol.d.ts.map +0 -1
  105. package/dist/types/protocol.js +0 -5
  106. package/dist/types/protocol.js.map +0 -1
  107. package/dist/utils/agentUtils.d.ts +0 -187
  108. package/dist/utils/agentUtils.d.ts.map +0 -1
  109. package/dist/utils/agentUtils.js +0 -185
  110. package/dist/utils/agentUtils.js.map +0 -1
  111. package/dist/utils/commandUtils.d.ts +0 -45
  112. package/dist/utils/commandUtils.d.ts.map +0 -1
  113. package/dist/utils/commandUtils.js +0 -145
  114. package/dist/utils/commandUtils.js.map +0 -1
  115. package/dist/utils/configUtils.d.ts +0 -55
  116. package/dist/utils/configUtils.d.ts.map +0 -1
  117. package/dist/utils/configUtils.js +0 -100
  118. package/dist/utils/configUtils.js.map +0 -1
  119. package/dist/utils/logger.d.ts +0 -59
  120. package/dist/utils/logger.d.ts.map +0 -1
  121. package/dist/utils/logger.js +0 -122
  122. package/dist/utils/logger.js.map +0 -1
  123. package/dist/utils/pathUtils.d.ts +0 -48
  124. package/dist/utils/pathUtils.d.ts.map +0 -1
  125. package/dist/utils/pathUtils.js +0 -128
  126. package/dist/utils/pathUtils.js.map +0 -1
@@ -1,125 +0,0 @@
1
- /**
2
- * TypeScript implementation of Broker message builders
3
- * Replaces the JavaScript BrokerMessageBuilder functionality
4
- */
5
- import { JsonRpcBuilder } from './MessageBuilder.js';
6
- /**
7
- * KADI Protocol message types (from kadi-broker)
8
- */
9
- export const KadiMessages = {
10
- // Session Management
11
- SESSION_HELLO: 'kadi.session.hello',
12
- SESSION_AUTHENTICATE: 'kadi.session.authenticate',
13
- SESSION_PING: 'kadi.session.ping',
14
- SESSION_GOODBYE: 'kadi.session.goodbye',
15
- // Agent Management
16
- AGENT_REGISTER: 'kadi.agent.register',
17
- AGENT_UPDATE: 'kadi.agent.update',
18
- AGENT_UNREGISTER: 'kadi.agent.unregister',
19
- // Ability Operations
20
- ABILITY_INVOKE: 'kadi.ability.invoke',
21
- ABILITY_RESULT: 'kadi.ability.result',
22
- ABILITY_QUEUED: 'kadi.ability.queued', // Notification that request is queued
23
- ABILITY_CANCEL: 'kadi.ability.cancel',
24
- ABILITY_LIST: 'kadi.ability.list',
25
- // Event System - Real-time publish-subscribe messaging
26
- EVENT_SUBSCRIBE: 'kadi.event.subscribe', // Subscribe to event channels
27
- EVENT_UNSUBSCRIBE: 'kadi.event.unsubscribe', // Unsubscribe from event channels
28
- EVENT_PUBLISH: 'kadi.event.publish', // Publish an event to channels
29
- EVENT_DELIVERY: 'kadi.event.delivery', // Notification of event delivery
30
- EVENT_LIST: 'kadi.event.list', // List current subscriptions
31
- // Observer Protocol
32
- OBSERVE_SUBSCRIBE: 'kadi.observe.subscribe',
33
- OBSERVE_SNAPSHOT: 'kadi.observe.snapshot',
34
- OBSERVE_EVENT: 'kadi.observe.event',
35
- // Errors
36
- ERROR: 'kadi.error'
37
- };
38
- /**
39
- * Legacy compatibility mapping for older method names
40
- */
41
- const _LegacyMethodMap = {
42
- hello: KadiMessages.SESSION_HELLO,
43
- authenticate: KadiMessages.SESSION_AUTHENTICATE,
44
- registerCapabilities: KadiMessages.AGENT_REGISTER,
45
- ping: KadiMessages.SESSION_PING,
46
- listTools: KadiMessages.ABILITY_LIST,
47
- callAbility: KadiMessages.ABILITY_INVOKE,
48
- abilityResult: KadiMessages.ABILITY_RESULT
49
- };
50
- /**
51
- * Broker message builder for KADI protocol messages
52
- */
53
- export class BrokerMessageBuilder {
54
- /**
55
- * Create hello message
56
- */
57
- static hello(params) {
58
- return new JsonRpcBuilder(KadiMessages.SESSION_HELLO, params);
59
- }
60
- /**
61
- * Create authenticate message
62
- */
63
- static authenticate(params) {
64
- return new JsonRpcBuilder(KadiMessages.SESSION_AUTHENTICATE, params);
65
- }
66
- /**
67
- * Create registerCapabilities message (maps to AGENT_REGISTER)
68
- */
69
- static registerCapabilities(params) {
70
- return new JsonRpcBuilder(KadiMessages.AGENT_REGISTER, params);
71
- }
72
- /**
73
- * Create ping notification
74
- */
75
- static ping() {
76
- return new JsonRpcBuilder(KadiMessages.SESSION_PING, undefined, true);
77
- }
78
- /**
79
- * Create listTools message (maps to ABILITY_LIST)
80
- */
81
- static listTools() {
82
- return new JsonRpcBuilder(KadiMessages.ABILITY_LIST);
83
- }
84
- /**
85
- * Create callAbility message (maps to ABILITY_INVOKE)
86
- */
87
- static callAbility(params) {
88
- return new JsonRpcBuilder(KadiMessages.ABILITY_INVOKE, params);
89
- }
90
- /**
91
- * Create abilityResult message
92
- */
93
- static abilityResult(params) {
94
- return new JsonRpcBuilder(KadiMessages.ABILITY_RESULT, params);
95
- }
96
- /**
97
- * Create agent register message (modern API)
98
- */
99
- static agentRegister(params) {
100
- return new JsonRpcBuilder(KadiMessages.AGENT_REGISTER, params);
101
- }
102
- /**
103
- * Create ability invoke message (modern API)
104
- */
105
- static abilityInvoke(params) {
106
- return new JsonRpcBuilder(KadiMessages.ABILITY_INVOKE, params);
107
- }
108
- /**
109
- * Create ability list message (modern API)
110
- */
111
- static abilityList() {
112
- return new JsonRpcBuilder(KadiMessages.ABILITY_LIST);
113
- }
114
- /**
115
- * Create session goodbye message
116
- */
117
- static goodbye() {
118
- return new JsonRpcBuilder(KadiMessages.SESSION_GOODBYE, undefined, true);
119
- }
120
- }
121
- // Export as default for compatibility with existing code
122
- export const Broker = BrokerMessageBuilder;
123
- // Export IdFactory for compatibility
124
- export { IdFactory, JsonRpcBuilder } from './MessageBuilder.js';
125
- //# sourceMappingURL=BrokerMessages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrokerMessages.js","sourceRoot":"","sources":["../../src/messages/BrokerMessages.ts"],"names":[],"mappings":"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"}
@@ -1,83 +0,0 @@
1
- /**
2
- * TypeScript implementation of JSON-RPC message builders
3
- * Replaces the JavaScript message builder functionality
4
- */
5
- /**
6
- * Simple ID factory for generating unique message IDs
7
- */
8
- export declare class IdFactory {
9
- private counter;
10
- next(): string;
11
- uuid(): string;
12
- }
13
- /**
14
- * JSON-RPC message builder
15
- */
16
- export declare class JsonRpcBuilder {
17
- private message;
18
- constructor(method: string, params?: any, isNotification?: boolean);
19
- /**
20
- * Set the request ID
21
- */
22
- id(id: string | number): this;
23
- /**
24
- * Add additional parameters
25
- */
26
- params(additionalParams: any): this;
27
- /**
28
- * Build the final message
29
- */
30
- build(): any;
31
- /**
32
- * Build and stringify
33
- */
34
- toString(): string;
35
- }
36
- /**
37
- * JSON-RPC response builder
38
- */
39
- export declare class JsonRpcResponse {
40
- private response;
41
- constructor(id: string | number | null);
42
- /**
43
- * Set successful result
44
- */
45
- result(data: any): this;
46
- /**
47
- * Set error
48
- */
49
- error(code: number, message: string, data?: any): this;
50
- /**
51
- * Build the final response
52
- */
53
- build(): any;
54
- /**
55
- * Build and stringify
56
- */
57
- toString(): string;
58
- }
59
- /**
60
- * Common JSON-RPC error codes
61
- */
62
- export declare const RpcErrorCodes: {
63
- readonly PARSE_ERROR: -32700;
64
- readonly INVALID_REQUEST: -32600;
65
- readonly METHOD_NOT_FOUND: -32601;
66
- readonly INVALID_PARAMS: -32602;
67
- readonly INTERNAL_ERROR: -32603;
68
- readonly SERVER_ERROR_START: -32099;
69
- readonly SERVER_ERROR_END: -32000;
70
- };
71
- /**
72
- * Helper function to create success response
73
- */
74
- export declare function createSuccessResponse(id: string | number | null, result: any): any;
75
- /**
76
- * Helper function to create error response
77
- */
78
- export declare function createErrorResponse(id: string | number | null, code: number, message: string, data?: any): any;
79
- /**
80
- * Helper function to create notification
81
- */
82
- export declare function createNotification(method: string, params?: any): any;
83
- //# sourceMappingURL=MessageBuilder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageBuilder.d.ts","sourceRoot":"","sources":["../../src/messages/MessageBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAK;IAEpB,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,MAAM;CAGf;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAM;gBAET,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,UAAQ;IAgBhE;;OAEG;IACH,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK7B;;OAEG;IACH,MAAM,CAAC,gBAAgB,EAAE,GAAG,GAAG,IAAI;IASnC;;OAEG;IACH,KAAK,IAAI,GAAG;IAIZ;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAM;gBAEV,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOtC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAMvB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IActD;;OAEG;IACH,KAAK,IAAI,GAAG;IAIZ;;OAEG;IACH,QAAQ,IAAI,MAAM;CAGnB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;CAQhB,CAAC;AAEX;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,MAAM,EAAE,GAAG,GACV,GAAG,CAEL;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,GAAG,GACT,GAAG,CAEL;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,CAEpE"}
@@ -1,144 +0,0 @@
1
- /**
2
- * TypeScript implementation of JSON-RPC message builders
3
- * Replaces the JavaScript message builder functionality
4
- */
5
- import { randomUUID } from 'node:crypto';
6
- /**
7
- * Simple ID factory for generating unique message IDs
8
- */
9
- export class IdFactory {
10
- counter = 0;
11
- next() {
12
- return `${Date.now()}-${++this.counter}`;
13
- }
14
- uuid() {
15
- return randomUUID();
16
- }
17
- }
18
- /**
19
- * JSON-RPC message builder
20
- */
21
- export class JsonRpcBuilder {
22
- message;
23
- constructor(method, params, isNotification = false) {
24
- this.message = {
25
- jsonrpc: '2.0',
26
- method
27
- };
28
- if (params !== undefined) {
29
- this.message.params = params;
30
- }
31
- if (!isNotification) {
32
- // Will be set later with id() method
33
- this.message.id = null;
34
- }
35
- }
36
- /**
37
- * Set the request ID
38
- */
39
- id(id) {
40
- this.message.id = id;
41
- return this;
42
- }
43
- /**
44
- * Add additional parameters
45
- */
46
- params(additionalParams) {
47
- if (this.message.params) {
48
- this.message.params = { ...this.message.params, ...additionalParams };
49
- }
50
- else {
51
- this.message.params = additionalParams;
52
- }
53
- return this;
54
- }
55
- /**
56
- * Build the final message
57
- */
58
- build() {
59
- return { ...this.message };
60
- }
61
- /**
62
- * Build and stringify
63
- */
64
- toString() {
65
- return JSON.stringify(this.build());
66
- }
67
- }
68
- /**
69
- * JSON-RPC response builder
70
- */
71
- export class JsonRpcResponse {
72
- response;
73
- constructor(id) {
74
- this.response = {
75
- jsonrpc: '2.0',
76
- id
77
- };
78
- }
79
- /**
80
- * Set successful result
81
- */
82
- result(data) {
83
- this.response.result = data;
84
- delete this.response.error;
85
- return this;
86
- }
87
- /**
88
- * Set error
89
- */
90
- error(code, message, data) {
91
- this.response.error = {
92
- code,
93
- message
94
- };
95
- if (data !== undefined) {
96
- this.response.error.data = data;
97
- }
98
- delete this.response.result;
99
- return this;
100
- }
101
- /**
102
- * Build the final response
103
- */
104
- build() {
105
- return { ...this.response };
106
- }
107
- /**
108
- * Build and stringify
109
- */
110
- toString() {
111
- return JSON.stringify(this.build());
112
- }
113
- }
114
- /**
115
- * Common JSON-RPC error codes
116
- */
117
- export const RpcErrorCodes = {
118
- PARSE_ERROR: -32700,
119
- INVALID_REQUEST: -32600,
120
- METHOD_NOT_FOUND: -32601,
121
- INVALID_PARAMS: -32602,
122
- INTERNAL_ERROR: -32603,
123
- SERVER_ERROR_START: -32099,
124
- SERVER_ERROR_END: -32000
125
- };
126
- /**
127
- * Helper function to create success response
128
- */
129
- export function createSuccessResponse(id, result) {
130
- return new JsonRpcResponse(id).result(result).build();
131
- }
132
- /**
133
- * Helper function to create error response
134
- */
135
- export function createErrorResponse(id, code, message, data) {
136
- return new JsonRpcResponse(id).error(code, message, data).build();
137
- }
138
- /**
139
- * Helper function to create notification
140
- */
141
- export function createNotification(method, params) {
142
- return new JsonRpcBuilder(method, params, true).build();
143
- }
144
- //# sourceMappingURL=MessageBuilder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MessageBuilder.js","sourceRoot":"","sources":["../../src/messages/MessageBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,177 +0,0 @@
1
- /**
2
- * Event System Schema Validation
3
- * ------------------------------
4
- * Zod schemas for validating event system parameters and messages.
5
- * This ensures type safety and proper input validation for all event operations.
6
- *
7
- * The schemas follow the established patterns in the KADI broker for consistency
8
- * and integrate with the existing validation middleware.
9
- */
10
- import { z } from 'zod';
11
- /**
12
- * Event channel pattern validation schema.
13
- *
14
- * Enforces the hierarchical naming convention:
15
- * - Format: namespace.event-name or namespace.category.event-name
16
- * - Examples: 'system.startup', 'tool.completed', 'agent.status.changed'
17
- * - Wildcards: '*' matches one segment, '#' matches multiple segments
18
- *
19
- * Rules:
20
- * - Must start with lowercase letter
21
- * - Segments separated by dots
22
- * - Only lowercase letters, numbers, underscores, hyphens allowed
23
- * - Wildcards * and # only allowed at end of segments
24
- */
25
- export declare const EventChannelSchema: z.ZodString;
26
- /**
27
- * Schema for event subscription requests (kadi.event.subscribe)
28
- */
29
- export declare const EventSubscribeSchema: z.ZodObject<{
30
- channels: z.ZodArray<z.ZodString>;
31
- networkId: z.ZodOptional<z.ZodString>;
32
- filter: z.ZodOptional<z.ZodObject<{
33
- publisherId: z.ZodOptional<z.ZodString>;
34
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
35
- }, z.core.$strip>>;
36
- }, z.core.$strict>;
37
- export type EventSubscribeParams = z.infer<typeof EventSubscribeSchema>;
38
- /**
39
- * Schema for event subscription response
40
- */
41
- export declare const EventSubscribeResultSchema: z.ZodObject<{
42
- subscribed: z.ZodArray<z.ZodString>;
43
- queueName: z.ZodString;
44
- }, z.core.$strict>;
45
- export type EventSubscribeResult = z.infer<typeof EventSubscribeResultSchema>;
46
- /**
47
- * Schema for event unsubscription requests (kadi.event.unsubscribe)
48
- */
49
- export declare const EventUnsubscribeSchema: z.ZodObject<{
50
- channels: z.ZodArray<z.ZodString>;
51
- networkId: z.ZodOptional<z.ZodString>;
52
- }, z.core.$strict>;
53
- export type EventUnsubscribeParams = z.infer<typeof EventUnsubscribeSchema>;
54
- /**
55
- * Schema for event unsubscription response
56
- */
57
- export declare const EventUnsubscribeResultSchema: z.ZodObject<{
58
- unsubscribed: z.ZodArray<z.ZodString>;
59
- }, z.core.$strict>;
60
- export type EventUnsubscribeResult = z.infer<typeof EventUnsubscribeResultSchema>;
61
- /**
62
- * Schema for event publishing requests (kadi.event.publish)
63
- */
64
- export declare const EventPublishSchema: z.ZodObject<{
65
- channel: z.ZodString;
66
- data: z.ZodUnknown;
67
- networks: z.ZodOptional<z.ZodArray<z.ZodString>>;
68
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
69
- }, z.core.$strict>;
70
- export type EventPublishParams = z.infer<typeof EventPublishSchema>;
71
- /**
72
- * Schema for event publishing response
73
- */
74
- export declare const EventPublishResultSchema: z.ZodObject<{
75
- published: z.ZodBoolean;
76
- eventId: z.ZodString;
77
- }, z.core.$strict>;
78
- export type EventPublishResult = z.infer<typeof EventPublishResultSchema>;
79
- /**
80
- * Schema for event subscription listing requests (kadi.event.list)
81
- */
82
- export declare const EventListSchema: z.ZodObject<{
83
- agentId: z.ZodOptional<z.ZodString>;
84
- networkId: z.ZodOptional<z.ZodString>;
85
- }, z.core.$strict>;
86
- export type EventListParams = z.infer<typeof EventListSchema>;
87
- /**
88
- * Schema for event subscription listing response
89
- */
90
- export declare const EventListResultSchema: z.ZodObject<{
91
- subscriptions: z.ZodArray<z.ZodObject<{
92
- agentId: z.ZodString;
93
- channels: z.ZodArray<z.ZodString>;
94
- networks: z.ZodArray<z.ZodString>;
95
- queueName: z.ZodString;
96
- subscribedAt: z.ZodString;
97
- }, z.core.$strip>>;
98
- }, z.core.$strict>;
99
- export type EventListResult = z.infer<typeof EventListResultSchema>;
100
- /**
101
- * Schema for validating event messages before delivery.
102
- * This ensures all events have consistent structure when delivered to subscribers.
103
- */
104
- export declare const EventMessageSchema: z.ZodObject<{
105
- channel: z.ZodString;
106
- data: z.ZodUnknown;
107
- timestamp: z.ZodString;
108
- publisherId: z.ZodString;
109
- networkId: z.ZodString;
110
- metadata: z.ZodOptional<z.ZodObject<{
111
- correlationId: z.ZodOptional<z.ZodString>;
112
- version: z.ZodOptional<z.ZodString>;
113
- eventId: z.ZodOptional<z.ZodString>;
114
- publisherRole: z.ZodOptional<z.ZodString>;
115
- }, z.core.$catchall<z.ZodUnknown>>>;
116
- }, z.core.$strict>;
117
- export type EventMessage = z.infer<typeof EventMessageSchema>;
118
- /**
119
- * Validation middleware for event system methods.
120
- * Extends the existing ValidationMiddleware pattern to support event operations.
121
- */
122
- export declare class EventValidationMiddleware {
123
- /**
124
- * Validates parameters for event system methods using appropriate schemas
125
- */
126
- static validateEventParams<T>(method: string, params: unknown): T;
127
- /**
128
- * Validates event message structure before delivery
129
- */
130
- static validateEventMessage(message: unknown): EventMessage;
131
- /**
132
- * Provides user-friendly error messages for common validation failures
133
- */
134
- static getValidationHint(method: string, error: z.ZodError): string;
135
- }
136
- /**
137
- * Export all schemas for use in tests and external validation
138
- */
139
- export declare const EventSchemas: {
140
- readonly EventChannel: z.ZodString;
141
- readonly EventSubscribe: z.ZodObject<{
142
- channels: z.ZodArray<z.ZodString>;
143
- networkId: z.ZodOptional<z.ZodString>;
144
- filter: z.ZodOptional<z.ZodObject<{
145
- publisherId: z.ZodOptional<z.ZodString>;
146
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
147
- }, z.core.$strip>>;
148
- }, z.core.$strict>;
149
- readonly EventUnsubscribe: z.ZodObject<{
150
- channels: z.ZodArray<z.ZodString>;
151
- networkId: z.ZodOptional<z.ZodString>;
152
- }, z.core.$strict>;
153
- readonly EventPublish: z.ZodObject<{
154
- channel: z.ZodString;
155
- data: z.ZodUnknown;
156
- networks: z.ZodOptional<z.ZodArray<z.ZodString>>;
157
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
158
- }, z.core.$strict>;
159
- readonly EventList: z.ZodObject<{
160
- agentId: z.ZodOptional<z.ZodString>;
161
- networkId: z.ZodOptional<z.ZodString>;
162
- }, z.core.$strict>;
163
- readonly EventMessage: z.ZodObject<{
164
- channel: z.ZodString;
165
- data: z.ZodUnknown;
166
- timestamp: z.ZodString;
167
- publisherId: z.ZodString;
168
- networkId: z.ZodString;
169
- metadata: z.ZodOptional<z.ZodObject<{
170
- correlationId: z.ZodOptional<z.ZodString>;
171
- version: z.ZodOptional<z.ZodString>;
172
- eventId: z.ZodOptional<z.ZodString>;
173
- publisherRole: z.ZodOptional<z.ZodString>;
174
- }, z.core.$catchall<z.ZodUnknown>>>;
175
- }, z.core.$strict>;
176
- };
177
- //# sourceMappingURL=events.schemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.schemas.d.ts","sourceRoot":"","sources":["../../src/schemas/events.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,aAQuB,CAAC;AAMvD;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;kBAqBtB,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;kBAO5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAM9E;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;kBAUxB,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;kBAK9B,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAoBpB,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;kBAO1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAM1E;;GAEG;AACH,eAAO,MAAM,eAAe;;;kBAOjB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;kBAavB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;kBAiCpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D;;;GAGG;AACH,qBAAa,yBAAyB;IACpC;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC;IAoBjE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY;IAI3D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM;CAyBpE;AAMD;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOf,CAAC"}