@nxuss/lemma 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 (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +311 -0
  3. package/dist/cloud/KeyManager.d.ts +29 -0
  4. package/dist/cloud/KeyManager.d.ts.map +1 -0
  5. package/dist/cloud/KeyManager.js +142 -0
  6. package/dist/cloud/KeyManager.js.map +1 -0
  7. package/dist/cloud/TenantCache.d.ts +29 -0
  8. package/dist/cloud/TenantCache.d.ts.map +1 -0
  9. package/dist/cloud/TenantCache.js +162 -0
  10. package/dist/cloud/TenantCache.js.map +1 -0
  11. package/dist/cloud/index.d.ts +4 -0
  12. package/dist/cloud/index.d.ts.map +1 -0
  13. package/dist/cloud/index.js +23 -0
  14. package/dist/cloud/index.js.map +1 -0
  15. package/dist/cloud/server.d.ts +17 -0
  16. package/dist/cloud/server.d.ts.map +1 -0
  17. package/dist/cloud/server.js +189 -0
  18. package/dist/cloud/server.js.map +1 -0
  19. package/dist/cloud/types.d.ts +35 -0
  20. package/dist/cloud/types.d.ts.map +1 -0
  21. package/dist/cloud/types.js +14 -0
  22. package/dist/cloud/types.js.map +1 -0
  23. package/dist/config/index.d.ts +44 -0
  24. package/dist/config/index.d.ts.map +1 -0
  25. package/dist/config/index.js +161 -0
  26. package/dist/config/index.js.map +1 -0
  27. package/dist/consensus/ConsensusEngine.d.ts +119 -0
  28. package/dist/consensus/ConsensusEngine.d.ts.map +1 -0
  29. package/dist/consensus/ConsensusEngine.js +314 -0
  30. package/dist/consensus/ConsensusEngine.js.map +1 -0
  31. package/dist/consensus/ModelPool.d.ts +103 -0
  32. package/dist/consensus/ModelPool.d.ts.map +1 -0
  33. package/dist/consensus/ModelPool.js +276 -0
  34. package/dist/consensus/ModelPool.js.map +1 -0
  35. package/dist/consensus/index.d.ts +8 -0
  36. package/dist/consensus/index.d.ts.map +1 -0
  37. package/dist/consensus/index.js +13 -0
  38. package/dist/consensus/index.js.map +1 -0
  39. package/dist/core/AgentRegistry.d.ts +89 -0
  40. package/dist/core/AgentRegistry.d.ts.map +1 -0
  41. package/dist/core/AgentRegistry.js +264 -0
  42. package/dist/core/AgentRegistry.js.map +1 -0
  43. package/dist/core/DashboardBroadcaster.d.ts +67 -0
  44. package/dist/core/DashboardBroadcaster.d.ts.map +1 -0
  45. package/dist/core/DashboardBroadcaster.js +264 -0
  46. package/dist/core/DashboardBroadcaster.js.map +1 -0
  47. package/dist/core/OrchestrationEngine.d.ts +84 -0
  48. package/dist/core/OrchestrationEngine.d.ts.map +1 -0
  49. package/dist/core/OrchestrationEngine.js +455 -0
  50. package/dist/core/OrchestrationEngine.js.map +1 -0
  51. package/dist/core/SubconsciousEngine.d.ts +53 -0
  52. package/dist/core/SubconsciousEngine.d.ts.map +1 -0
  53. package/dist/core/SubconsciousEngine.js +273 -0
  54. package/dist/core/SubconsciousEngine.js.map +1 -0
  55. package/dist/core/WebSocketServer.d.ts +89 -0
  56. package/dist/core/WebSocketServer.d.ts.map +1 -0
  57. package/dist/core/WebSocketServer.js +416 -0
  58. package/dist/core/WebSocketServer.js.map +1 -0
  59. package/dist/core/index.d.ts +15 -0
  60. package/dist/core/index.d.ts.map +1 -0
  61. package/dist/core/index.js +24 -0
  62. package/dist/core/index.js.map +1 -0
  63. package/dist/core/router.d.ts +105 -0
  64. package/dist/core/router.d.ts.map +1 -0
  65. package/dist/core/router.js +420 -0
  66. package/dist/core/router.js.map +1 -0
  67. package/dist/embed/index.d.ts +153 -0
  68. package/dist/embed/index.d.ts.map +1 -0
  69. package/dist/embed/index.js +408 -0
  70. package/dist/embed/index.js.map +1 -0
  71. package/dist/embed.d.ts +11 -0
  72. package/dist/embed.d.ts.map +1 -0
  73. package/dist/embed.js +19 -0
  74. package/dist/embed.js.map +1 -0
  75. package/dist/index.d.ts +83 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +176 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/protocol/flows.d.ts +126 -0
  80. package/dist/protocol/flows.d.ts.map +1 -0
  81. package/dist/protocol/flows.js +347 -0
  82. package/dist/protocol/flows.js.map +1 -0
  83. package/dist/protocol/iap.d.ts +54 -0
  84. package/dist/protocol/iap.d.ts.map +1 -0
  85. package/dist/protocol/iap.js +108 -0
  86. package/dist/protocol/iap.js.map +1 -0
  87. package/dist/protocol/index.d.ts +23 -0
  88. package/dist/protocol/index.d.ts.map +1 -0
  89. package/dist/protocol/index.js +45 -0
  90. package/dist/protocol/index.js.map +1 -0
  91. package/dist/protocol/types.d.ts +332 -0
  92. package/dist/protocol/types.d.ts.map +1 -0
  93. package/dist/protocol/types.js +57 -0
  94. package/dist/protocol/types.js.map +1 -0
  95. package/dist/protocol/utils.d.ts +130 -0
  96. package/dist/protocol/utils.d.ts.map +1 -0
  97. package/dist/protocol/utils.js +292 -0
  98. package/dist/protocol/utils.js.map +1 -0
  99. package/dist/protocol/validators.d.ts +54 -0
  100. package/dist/protocol/validators.d.ts.map +1 -0
  101. package/dist/protocol/validators.js +344 -0
  102. package/dist/protocol/validators.js.map +1 -0
  103. package/dist/security/AuthManager.d.ts +73 -0
  104. package/dist/security/AuthManager.d.ts.map +1 -0
  105. package/dist/security/AuthManager.js +102 -0
  106. package/dist/security/AuthManager.js.map +1 -0
  107. package/dist/security/MessageSanitizer.d.ts +51 -0
  108. package/dist/security/MessageSanitizer.d.ts.map +1 -0
  109. package/dist/security/MessageSanitizer.js +166 -0
  110. package/dist/security/MessageSanitizer.js.map +1 -0
  111. package/dist/security/RateLimiter.d.ts +46 -0
  112. package/dist/security/RateLimiter.d.ts.map +1 -0
  113. package/dist/security/RateLimiter.js +133 -0
  114. package/dist/security/RateLimiter.js.map +1 -0
  115. package/dist/security/SecurityMiddleware.d.ts +88 -0
  116. package/dist/security/SecurityMiddleware.d.ts.map +1 -0
  117. package/dist/security/SecurityMiddleware.js +146 -0
  118. package/dist/security/SecurityMiddleware.js.map +1 -0
  119. package/dist/security/index.d.ts +35 -0
  120. package/dist/security/index.d.ts.map +1 -0
  121. package/dist/security/index.js +42 -0
  122. package/dist/security/index.js.map +1 -0
  123. package/dist/speculative/PredictionEngine.d.ts +99 -0
  124. package/dist/speculative/PredictionEngine.d.ts.map +1 -0
  125. package/dist/speculative/PredictionEngine.js +291 -0
  126. package/dist/speculative/PredictionEngine.js.map +1 -0
  127. package/dist/speculative/SpeculativeCache.d.ts +117 -0
  128. package/dist/speculative/SpeculativeCache.d.ts.map +1 -0
  129. package/dist/speculative/SpeculativeCache.js +292 -0
  130. package/dist/speculative/SpeculativeCache.js.map +1 -0
  131. package/dist/speculative/SpeculativeEngine.d.ts +114 -0
  132. package/dist/speculative/SpeculativeEngine.d.ts.map +1 -0
  133. package/dist/speculative/SpeculativeEngine.js +244 -0
  134. package/dist/speculative/SpeculativeEngine.js.map +1 -0
  135. package/dist/speculative/WorkerPool.d.ts +109 -0
  136. package/dist/speculative/WorkerPool.d.ts.map +1 -0
  137. package/dist/speculative/WorkerPool.js +327 -0
  138. package/dist/speculative/WorkerPool.js.map +1 -0
  139. package/dist/speculative/index.d.ts +10 -0
  140. package/dist/speculative/index.d.ts.map +1 -0
  141. package/dist/speculative/index.js +17 -0
  142. package/dist/speculative/index.js.map +1 -0
  143. package/dist/subconscious/EmbeddingService.d.ts +73 -0
  144. package/dist/subconscious/EmbeddingService.d.ts.map +1 -0
  145. package/dist/subconscious/EmbeddingService.js +196 -0
  146. package/dist/subconscious/EmbeddingService.js.map +1 -0
  147. package/dist/subconscious/SemanticCache.d.ts +82 -0
  148. package/dist/subconscious/SemanticCache.d.ts.map +1 -0
  149. package/dist/subconscious/SemanticCache.js +164 -0
  150. package/dist/subconscious/SemanticCache.js.map +1 -0
  151. package/dist/subconscious/SubconsciousEngine.d.ts +121 -0
  152. package/dist/subconscious/SubconsciousEngine.d.ts.map +1 -0
  153. package/dist/subconscious/SubconsciousEngine.js +241 -0
  154. package/dist/subconscious/SubconsciousEngine.js.map +1 -0
  155. package/dist/subconscious/VectorStore.d.ts +54 -0
  156. package/dist/subconscious/VectorStore.d.ts.map +1 -0
  157. package/dist/subconscious/VectorStore.js +168 -0
  158. package/dist/subconscious/VectorStore.js.map +1 -0
  159. package/dist/subconscious/cache.d.ts +34 -0
  160. package/dist/subconscious/cache.d.ts.map +1 -0
  161. package/dist/subconscious/cache.js +156 -0
  162. package/dist/subconscious/cache.js.map +1 -0
  163. package/dist/subconscious/embeddings.d.ts +25 -0
  164. package/dist/subconscious/embeddings.d.ts.map +1 -0
  165. package/dist/subconscious/embeddings.js +65 -0
  166. package/dist/subconscious/embeddings.js.map +1 -0
  167. package/dist/subconscious/index.d.ts +12 -0
  168. package/dist/subconscious/index.d.ts.map +1 -0
  169. package/dist/subconscious/index.js +19 -0
  170. package/dist/subconscious/index.js.map +1 -0
  171. package/dist/types/index.d.ts +286 -0
  172. package/dist/types/index.d.ts.map +1 -0
  173. package/dist/types/index.js +43 -0
  174. package/dist/types/index.js.map +1 -0
  175. package/dist/utils/logger.d.ts +63 -0
  176. package/dist/utils/logger.d.ts.map +1 -0
  177. package/dist/utils/logger.js +126 -0
  178. package/dist/utils/logger.js.map +1 -0
  179. package/package.json +99 -0
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Inter-Agent Protocol (I.A.P.) v1.0.0
3
+ *
4
+ * Utility functions for message creation and handling
5
+ */
6
+ import { IAPMessage, MessageType, AgentId, TaskId, MessageId, AgentHandshake, TaskProposal, TaskBid, ContextTransfer, ErrorMessage, CapabilityDiscovery, TaskAssignment, TaskResult, Heartbeat, DisconnectMessage } from './types';
7
+ /**
8
+ * Generates a unique message ID
9
+ */
10
+ export declare function generateMessageId(): MessageId;
11
+ /**
12
+ * Generates a unique task ID
13
+ */
14
+ export declare function generateTaskId(): TaskId;
15
+ /**
16
+ * Generates a unique agent ID
17
+ */
18
+ export declare function generateAgentId(prefix?: string): AgentId;
19
+ /**
20
+ * Gets current timestamp in ISO 8601 format
21
+ */
22
+ export declare function getCurrentTimestamp(): string;
23
+ /**
24
+ * Creates a base I.A.P. message structure
25
+ */
26
+ export declare function createBaseMessage(type: MessageType, from: AgentId, to: AgentId | 'router', payload: any, correlationId?: string): IAPMessage;
27
+ /**
28
+ * Creates a handshake message
29
+ */
30
+ export declare function createHandshakeMessage(handshake: AgentHandshake): IAPMessage;
31
+ /**
32
+ * Creates a capability discovery message
33
+ */
34
+ export declare function createCapabilityDiscoveryMessage(discovery: CapabilityDiscovery): IAPMessage;
35
+ /**
36
+ * Creates a task proposal message
37
+ */
38
+ export declare function createTaskProposalMessage(proposal: TaskProposal): IAPMessage;
39
+ /**
40
+ * Creates a task bid message
41
+ */
42
+ export declare function createTaskBidMessage(bid: TaskBid, agentId: AgentId): IAPMessage;
43
+ /**
44
+ * Creates a task assignment message
45
+ */
46
+ export declare function createTaskAssignmentMessage(assignment: TaskAssignment): IAPMessage;
47
+ /**
48
+ * Creates a task result message
49
+ */
50
+ export declare function createTaskResultMessage(result: TaskResult): IAPMessage;
51
+ /**
52
+ * Creates a context transfer message
53
+ */
54
+ export declare function createContextTransferMessage(transfer: ContextTransfer): IAPMessage;
55
+ /**
56
+ * Creates an error message
57
+ */
58
+ export declare function createErrorMessage(from: AgentId, to: AgentId | 'router', error: ErrorMessage, correlationId?: string): IAPMessage;
59
+ /**
60
+ * Creates a heartbeat message
61
+ */
62
+ export declare function createHeartbeatMessage(heartbeat: Heartbeat): IAPMessage;
63
+ /**
64
+ * Creates a disconnect message
65
+ */
66
+ export declare function createDisconnectMessage(disconnect: DisconnectMessage): IAPMessage;
67
+ /**
68
+ * Serializes a message to JSON string
69
+ */
70
+ export declare function serializeMessage(message: IAPMessage): string;
71
+ /**
72
+ * Deserializes a JSON string to a message
73
+ */
74
+ export declare function deserializeMessage(json: string): IAPMessage;
75
+ /**
76
+ * Extracts correlation ID from a message
77
+ */
78
+ export declare function getCorrelationId(message: IAPMessage): string | undefined;
79
+ /**
80
+ * Checks if a message is a request type
81
+ */
82
+ export declare function isRequestMessage(type: MessageType): boolean;
83
+ /**
84
+ * Checks if a message is a response type
85
+ */
86
+ export declare function isResponseMessage(type: MessageType): boolean;
87
+ /**
88
+ * Calculates message size in bytes
89
+ */
90
+ export declare function getMessageSize(message: IAPMessage): number;
91
+ /**
92
+ * Compresses large payloads (placeholder for actual compression)
93
+ */
94
+ export declare function compressPayload(payload: any): {
95
+ data: string;
96
+ compressed: boolean;
97
+ };
98
+ /**
99
+ * Decompresses payloads (placeholder for actual decompression)
100
+ */
101
+ export declare function decompressPayload(data: string, compressed: boolean): any;
102
+ /**
103
+ * Creates a response message from a request
104
+ */
105
+ export declare function createResponseMessage(request: IAPMessage, responseType: MessageType, payload: any): IAPMessage;
106
+ /**
107
+ * Checks if a message has expired based on deadline
108
+ */
109
+ export declare function isMessageExpired(message: IAPMessage, deadlineMs?: number): boolean;
110
+ /**
111
+ * Calculates message age in milliseconds
112
+ */
113
+ export declare function getMessageAge(message: IAPMessage): number;
114
+ /**
115
+ * Redacts sensitive information from a message for logging
116
+ */
117
+ export declare function redactMessage(message: IAPMessage): IAPMessage;
118
+ /**
119
+ * Formats a message for human-readable logging
120
+ */
121
+ export declare function formatMessageForLog(message: IAPMessage): string;
122
+ /**
123
+ * Batch messages for efficient transmission
124
+ */
125
+ export declare function batchMessages(messages: IAPMessage[]): string;
126
+ /**
127
+ * Unbatch messages from a batch transmission
128
+ */
129
+ export declare function unbatchMessages(batch: string): IAPMessage[];
130
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/protocol/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ /**
3
+ * Inter-Agent Protocol (I.A.P.) v1.0.0
4
+ *
5
+ * Utility functions for message creation and handling
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.generateMessageId = generateMessageId;
9
+ exports.generateTaskId = generateTaskId;
10
+ exports.generateAgentId = generateAgentId;
11
+ exports.getCurrentTimestamp = getCurrentTimestamp;
12
+ exports.createBaseMessage = createBaseMessage;
13
+ exports.createHandshakeMessage = createHandshakeMessage;
14
+ exports.createCapabilityDiscoveryMessage = createCapabilityDiscoveryMessage;
15
+ exports.createTaskProposalMessage = createTaskProposalMessage;
16
+ exports.createTaskBidMessage = createTaskBidMessage;
17
+ exports.createTaskAssignmentMessage = createTaskAssignmentMessage;
18
+ exports.createTaskResultMessage = createTaskResultMessage;
19
+ exports.createContextTransferMessage = createContextTransferMessage;
20
+ exports.createErrorMessage = createErrorMessage;
21
+ exports.createHeartbeatMessage = createHeartbeatMessage;
22
+ exports.createDisconnectMessage = createDisconnectMessage;
23
+ exports.serializeMessage = serializeMessage;
24
+ exports.deserializeMessage = deserializeMessage;
25
+ exports.getCorrelationId = getCorrelationId;
26
+ exports.isRequestMessage = isRequestMessage;
27
+ exports.isResponseMessage = isResponseMessage;
28
+ exports.getMessageSize = getMessageSize;
29
+ exports.compressPayload = compressPayload;
30
+ exports.decompressPayload = decompressPayload;
31
+ exports.createResponseMessage = createResponseMessage;
32
+ exports.isMessageExpired = isMessageExpired;
33
+ exports.getMessageAge = getMessageAge;
34
+ exports.redactMessage = redactMessage;
35
+ exports.formatMessageForLog = formatMessageForLog;
36
+ exports.batchMessages = batchMessages;
37
+ exports.unbatchMessages = unbatchMessages;
38
+ const uuid_1 = require("uuid");
39
+ const types_1 = require("./types");
40
+ const validators_1 = require("./validators");
41
+ /**
42
+ * Generates a unique message ID
43
+ */
44
+ function generateMessageId() {
45
+ return `msg_${(0, uuid_1.v4)()}`;
46
+ }
47
+ /**
48
+ * Generates a unique task ID
49
+ */
50
+ function generateTaskId() {
51
+ return `task_${(0, uuid_1.v4)()}`;
52
+ }
53
+ /**
54
+ * Generates a unique agent ID
55
+ */
56
+ function generateAgentId(prefix) {
57
+ const id = (0, uuid_1.v4)().split('-')[0];
58
+ return prefix ? `${prefix}_${id}` : `agent_${id}`;
59
+ }
60
+ /**
61
+ * Gets current timestamp in ISO 8601 format
62
+ */
63
+ function getCurrentTimestamp() {
64
+ return new Date().toISOString();
65
+ }
66
+ /**
67
+ * Creates a base I.A.P. message structure
68
+ */
69
+ function createBaseMessage(type, from, to, payload, correlationId) {
70
+ return {
71
+ messageId: generateMessageId(),
72
+ type,
73
+ from,
74
+ to,
75
+ timestamp: getCurrentTimestamp(),
76
+ protocolVersion: validators_1.PROTOCOL_VERSION,
77
+ payload,
78
+ ...(correlationId && { correlationId })
79
+ };
80
+ }
81
+ /**
82
+ * Creates a handshake message
83
+ */
84
+ function createHandshakeMessage(handshake) {
85
+ return createBaseMessage(types_1.MessageType.HANDSHAKE, handshake.agentId, 'router', handshake);
86
+ }
87
+ /**
88
+ * Creates a capability discovery message
89
+ */
90
+ function createCapabilityDiscoveryMessage(discovery) {
91
+ return createBaseMessage(types_1.MessageType.CAPABILITY_DISCOVERY, discovery.requesterId, 'router', discovery);
92
+ }
93
+ /**
94
+ * Creates a task proposal message
95
+ */
96
+ function createTaskProposalMessage(proposal) {
97
+ return createBaseMessage(types_1.MessageType.TASK_PROPOSAL, proposal.proposerId, 'router', proposal);
98
+ }
99
+ /**
100
+ * Creates a task bid message
101
+ */
102
+ function createTaskBidMessage(bid, agentId) {
103
+ return createBaseMessage(types_1.MessageType.TASK_BID, agentId, 'router', bid, bid.taskId);
104
+ }
105
+ /**
106
+ * Creates a task assignment message
107
+ */
108
+ function createTaskAssignmentMessage(assignment) {
109
+ return createBaseMessage(types_1.MessageType.TASK_ASSIGNMENT, 'router', assignment.assignedTo, assignment, assignment.taskId);
110
+ }
111
+ /**
112
+ * Creates a task result message
113
+ */
114
+ function createTaskResultMessage(result) {
115
+ return createBaseMessage(types_1.MessageType.TASK_RESULT, result.executorId, 'router', result, result.taskId);
116
+ }
117
+ /**
118
+ * Creates a context transfer message
119
+ */
120
+ function createContextTransferMessage(transfer) {
121
+ return createBaseMessage(types_1.MessageType.CONTEXT_TRANSFER, transfer.fromAgent, transfer.toAgent, transfer, transfer.taskId);
122
+ }
123
+ /**
124
+ * Creates an error message
125
+ */
126
+ function createErrorMessage(from, to, error, correlationId) {
127
+ return createBaseMessage(types_1.MessageType.ERROR, from, to, error, correlationId);
128
+ }
129
+ /**
130
+ * Creates a heartbeat message
131
+ */
132
+ function createHeartbeatMessage(heartbeat) {
133
+ return createBaseMessage(types_1.MessageType.HEARTBEAT, heartbeat.agentId, 'router', heartbeat);
134
+ }
135
+ /**
136
+ * Creates a disconnect message
137
+ */
138
+ function createDisconnectMessage(disconnect) {
139
+ return createBaseMessage(types_1.MessageType.DISCONNECT, disconnect.agentId, 'router', disconnect);
140
+ }
141
+ /**
142
+ * Serializes a message to JSON string
143
+ */
144
+ function serializeMessage(message) {
145
+ return JSON.stringify(message);
146
+ }
147
+ /**
148
+ * Deserializes a JSON string to a message
149
+ */
150
+ function deserializeMessage(json) {
151
+ try {
152
+ return JSON.parse(json);
153
+ }
154
+ catch (error) {
155
+ throw new Error(`Failed to deserialize message: ${error}`);
156
+ }
157
+ }
158
+ /**
159
+ * Extracts correlation ID from a message
160
+ */
161
+ function getCorrelationId(message) {
162
+ return message.correlationId || message.messageId;
163
+ }
164
+ /**
165
+ * Checks if a message is a request type
166
+ */
167
+ function isRequestMessage(type) {
168
+ const requestTypes = [
169
+ types_1.MessageType.HANDSHAKE,
170
+ types_1.MessageType.CAPABILITY_DISCOVERY,
171
+ types_1.MessageType.TASK_PROPOSAL,
172
+ types_1.MessageType.TASK_BID,
173
+ types_1.MessageType.CONTEXT_TRANSFER
174
+ ];
175
+ return requestTypes.includes(type);
176
+ }
177
+ /**
178
+ * Checks if a message is a response type
179
+ */
180
+ function isResponseMessage(type) {
181
+ const responseTypes = [
182
+ types_1.MessageType.HANDSHAKE_ACK,
183
+ types_1.MessageType.CAPABILITY_RESPONSE,
184
+ types_1.MessageType.TASK_ASSIGNMENT,
185
+ types_1.MessageType.TASK_RESULT,
186
+ types_1.MessageType.ERROR
187
+ ];
188
+ return responseTypes.includes(type);
189
+ }
190
+ /**
191
+ * Calculates message size in bytes
192
+ */
193
+ function getMessageSize(message) {
194
+ return new Blob([serializeMessage(message)]).size;
195
+ }
196
+ /**
197
+ * Compresses large payloads (placeholder for actual compression)
198
+ */
199
+ function compressPayload(payload) {
200
+ const serialized = JSON.stringify(payload);
201
+ const size = new Blob([serialized]).size;
202
+ // Compress if larger than 10KB (in production, use actual compression)
203
+ if (size > 10240) {
204
+ // TODO: Implement actual compression (gzip/brotli)
205
+ return {
206
+ data: serialized,
207
+ compressed: true
208
+ };
209
+ }
210
+ return {
211
+ data: serialized,
212
+ compressed: false
213
+ };
214
+ }
215
+ /**
216
+ * Decompresses payloads (placeholder for actual decompression)
217
+ */
218
+ function decompressPayload(data, compressed) {
219
+ if (!compressed) {
220
+ return JSON.parse(data);
221
+ }
222
+ // TODO: Implement actual decompression
223
+ return JSON.parse(data);
224
+ }
225
+ /**
226
+ * Creates a response message from a request
227
+ */
228
+ function createResponseMessage(request, responseType, payload) {
229
+ return createBaseMessage(responseType, request.to === 'router' ? 'router' : request.to, request.from, payload, request.messageId);
230
+ }
231
+ /**
232
+ * Checks if a message has expired based on deadline
233
+ */
234
+ function isMessageExpired(message, deadlineMs) {
235
+ if (!deadlineMs)
236
+ return false;
237
+ const messageTime = new Date(message.timestamp).getTime();
238
+ const now = Date.now();
239
+ return (now - messageTime) > deadlineMs;
240
+ }
241
+ /**
242
+ * Calculates message age in milliseconds
243
+ */
244
+ function getMessageAge(message) {
245
+ const messageTime = new Date(message.timestamp).getTime();
246
+ return Date.now() - messageTime;
247
+ }
248
+ /**
249
+ * Redacts sensitive information from a message for logging
250
+ */
251
+ function redactMessage(message) {
252
+ const redacted = { ...message };
253
+ // Redact potentially sensitive payload data
254
+ if (redacted.payload && typeof redacted.payload === 'object') {
255
+ const payload = { ...redacted.payload };
256
+ // List of fields to redact
257
+ const sensitiveFields = ['apiKey', 'token', 'password', 'secret', 'credentials'];
258
+ for (const field of sensitiveFields) {
259
+ if (field in payload) {
260
+ payload[field] = '[REDACTED]';
261
+ }
262
+ }
263
+ redacted.payload = payload;
264
+ }
265
+ return redacted;
266
+ }
267
+ /**
268
+ * Formats a message for human-readable logging
269
+ */
270
+ function formatMessageForLog(message) {
271
+ const redacted = redactMessage(message);
272
+ return `[${redacted.type}] ${redacted.from} -> ${redacted.to} (${redacted.messageId})`;
273
+ }
274
+ /**
275
+ * Batch messages for efficient transmission
276
+ */
277
+ function batchMessages(messages) {
278
+ return JSON.stringify(messages);
279
+ }
280
+ /**
281
+ * Unbatch messages from a batch transmission
282
+ */
283
+ function unbatchMessages(batch) {
284
+ try {
285
+ const messages = JSON.parse(batch);
286
+ return Array.isArray(messages) ? messages : [messages];
287
+ }
288
+ catch (error) {
289
+ throw new Error(`Failed to unbatch messages: ${error}`);
290
+ }
291
+ }
292
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/protocol/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Inter-Agent Protocol (I.A.P.) v1.0.0
3
+ *
4
+ * Message validators for ensuring protocol compliance
5
+ */
6
+ import { IAPMessage, ErrorMessage } from './types';
7
+ /**
8
+ * Validation result
9
+ */
10
+ export interface ValidationResult {
11
+ valid: boolean;
12
+ errors: string[];
13
+ }
14
+ /**
15
+ * Protocol version supported by this implementation
16
+ */
17
+ export declare const PROTOCOL_VERSION = "1.0.0";
18
+ /**
19
+ * Validates a complete I.A.P. message
20
+ */
21
+ export declare function validateIAPMessage(message: any): ValidationResult;
22
+ /**
23
+ * Validates an AgentHandshake payload
24
+ */
25
+ export declare function validateHandshake(handshake: any): ValidationResult;
26
+ /**
27
+ * Validates an AgentCapability
28
+ */
29
+ export declare function validateCapability(capability: any): ValidationResult;
30
+ /**
31
+ * Validates a TaskProposal payload
32
+ */
33
+ export declare function validateTaskProposal(proposal: any): ValidationResult;
34
+ /**
35
+ * Validates a TaskBid payload
36
+ */
37
+ export declare function validateTaskBid(bid: any): ValidationResult;
38
+ /**
39
+ * Validates a ContextTransfer payload
40
+ */
41
+ export declare function validateContextTransfer(transfer: any): ValidationResult;
42
+ /**
43
+ * Validates an ErrorMessage payload
44
+ */
45
+ export declare function validateErrorMessage(error: any): ValidationResult;
46
+ /**
47
+ * Creates a validation error message
48
+ */
49
+ export declare function createValidationError(errors: string[]): ErrorMessage;
50
+ /**
51
+ * Sanitizes a message by removing invalid fields
52
+ */
53
+ export declare function sanitizeMessage(message: any): Partial<IAPMessage>;
54
+ //# sourceMappingURL=validators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/protocol/validators.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,UAAU,EASV,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,gBAAgB,CA+CjE;AAsBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG,gBAAgB,CAgDlE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,gBAAgB,CA+BpE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CAkDpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAmC1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB,CA0CvE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,gBAAgB,CAmBjE;AAqBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAOpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAejE"}