@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.
- package/LICENSE +21 -0
- package/README.md +311 -0
- package/dist/cloud/KeyManager.d.ts +29 -0
- package/dist/cloud/KeyManager.d.ts.map +1 -0
- package/dist/cloud/KeyManager.js +142 -0
- package/dist/cloud/KeyManager.js.map +1 -0
- package/dist/cloud/TenantCache.d.ts +29 -0
- package/dist/cloud/TenantCache.d.ts.map +1 -0
- package/dist/cloud/TenantCache.js +162 -0
- package/dist/cloud/TenantCache.js.map +1 -0
- package/dist/cloud/index.d.ts +4 -0
- package/dist/cloud/index.d.ts.map +1 -0
- package/dist/cloud/index.js +23 -0
- package/dist/cloud/index.js.map +1 -0
- package/dist/cloud/server.d.ts +17 -0
- package/dist/cloud/server.d.ts.map +1 -0
- package/dist/cloud/server.js +189 -0
- package/dist/cloud/server.js.map +1 -0
- package/dist/cloud/types.d.ts +35 -0
- package/dist/cloud/types.d.ts.map +1 -0
- package/dist/cloud/types.js +14 -0
- package/dist/cloud/types.js.map +1 -0
- package/dist/config/index.d.ts +44 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +161 -0
- package/dist/config/index.js.map +1 -0
- package/dist/consensus/ConsensusEngine.d.ts +119 -0
- package/dist/consensus/ConsensusEngine.d.ts.map +1 -0
- package/dist/consensus/ConsensusEngine.js +314 -0
- package/dist/consensus/ConsensusEngine.js.map +1 -0
- package/dist/consensus/ModelPool.d.ts +103 -0
- package/dist/consensus/ModelPool.d.ts.map +1 -0
- package/dist/consensus/ModelPool.js +276 -0
- package/dist/consensus/ModelPool.js.map +1 -0
- package/dist/consensus/index.d.ts +8 -0
- package/dist/consensus/index.d.ts.map +1 -0
- package/dist/consensus/index.js +13 -0
- package/dist/consensus/index.js.map +1 -0
- package/dist/core/AgentRegistry.d.ts +89 -0
- package/dist/core/AgentRegistry.d.ts.map +1 -0
- package/dist/core/AgentRegistry.js +264 -0
- package/dist/core/AgentRegistry.js.map +1 -0
- package/dist/core/DashboardBroadcaster.d.ts +67 -0
- package/dist/core/DashboardBroadcaster.d.ts.map +1 -0
- package/dist/core/DashboardBroadcaster.js +264 -0
- package/dist/core/DashboardBroadcaster.js.map +1 -0
- package/dist/core/OrchestrationEngine.d.ts +84 -0
- package/dist/core/OrchestrationEngine.d.ts.map +1 -0
- package/dist/core/OrchestrationEngine.js +455 -0
- package/dist/core/OrchestrationEngine.js.map +1 -0
- package/dist/core/SubconsciousEngine.d.ts +53 -0
- package/dist/core/SubconsciousEngine.d.ts.map +1 -0
- package/dist/core/SubconsciousEngine.js +273 -0
- package/dist/core/SubconsciousEngine.js.map +1 -0
- package/dist/core/WebSocketServer.d.ts +89 -0
- package/dist/core/WebSocketServer.d.ts.map +1 -0
- package/dist/core/WebSocketServer.js +416 -0
- package/dist/core/WebSocketServer.js.map +1 -0
- package/dist/core/index.d.ts +15 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +24 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/router.d.ts +105 -0
- package/dist/core/router.d.ts.map +1 -0
- package/dist/core/router.js +420 -0
- package/dist/core/router.js.map +1 -0
- package/dist/embed/index.d.ts +153 -0
- package/dist/embed/index.d.ts.map +1 -0
- package/dist/embed/index.js +408 -0
- package/dist/embed/index.js.map +1 -0
- package/dist/embed.d.ts +11 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +19 -0
- package/dist/embed.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +176 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol/flows.d.ts +126 -0
- package/dist/protocol/flows.d.ts.map +1 -0
- package/dist/protocol/flows.js +347 -0
- package/dist/protocol/flows.js.map +1 -0
- package/dist/protocol/iap.d.ts +54 -0
- package/dist/protocol/iap.d.ts.map +1 -0
- package/dist/protocol/iap.js +108 -0
- package/dist/protocol/iap.js.map +1 -0
- package/dist/protocol/index.d.ts +23 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +45 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/types.d.ts +332 -0
- package/dist/protocol/types.d.ts.map +1 -0
- package/dist/protocol/types.js +57 -0
- package/dist/protocol/types.js.map +1 -0
- package/dist/protocol/utils.d.ts +130 -0
- package/dist/protocol/utils.d.ts.map +1 -0
- package/dist/protocol/utils.js +292 -0
- package/dist/protocol/utils.js.map +1 -0
- package/dist/protocol/validators.d.ts +54 -0
- package/dist/protocol/validators.d.ts.map +1 -0
- package/dist/protocol/validators.js +344 -0
- package/dist/protocol/validators.js.map +1 -0
- package/dist/security/AuthManager.d.ts +73 -0
- package/dist/security/AuthManager.d.ts.map +1 -0
- package/dist/security/AuthManager.js +102 -0
- package/dist/security/AuthManager.js.map +1 -0
- package/dist/security/MessageSanitizer.d.ts +51 -0
- package/dist/security/MessageSanitizer.d.ts.map +1 -0
- package/dist/security/MessageSanitizer.js +166 -0
- package/dist/security/MessageSanitizer.js.map +1 -0
- package/dist/security/RateLimiter.d.ts +46 -0
- package/dist/security/RateLimiter.d.ts.map +1 -0
- package/dist/security/RateLimiter.js +133 -0
- package/dist/security/RateLimiter.js.map +1 -0
- package/dist/security/SecurityMiddleware.d.ts +88 -0
- package/dist/security/SecurityMiddleware.d.ts.map +1 -0
- package/dist/security/SecurityMiddleware.js +146 -0
- package/dist/security/SecurityMiddleware.js.map +1 -0
- package/dist/security/index.d.ts +35 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +42 -0
- package/dist/security/index.js.map +1 -0
- package/dist/speculative/PredictionEngine.d.ts +99 -0
- package/dist/speculative/PredictionEngine.d.ts.map +1 -0
- package/dist/speculative/PredictionEngine.js +291 -0
- package/dist/speculative/PredictionEngine.js.map +1 -0
- package/dist/speculative/SpeculativeCache.d.ts +117 -0
- package/dist/speculative/SpeculativeCache.d.ts.map +1 -0
- package/dist/speculative/SpeculativeCache.js +292 -0
- package/dist/speculative/SpeculativeCache.js.map +1 -0
- package/dist/speculative/SpeculativeEngine.d.ts +114 -0
- package/dist/speculative/SpeculativeEngine.d.ts.map +1 -0
- package/dist/speculative/SpeculativeEngine.js +244 -0
- package/dist/speculative/SpeculativeEngine.js.map +1 -0
- package/dist/speculative/WorkerPool.d.ts +109 -0
- package/dist/speculative/WorkerPool.d.ts.map +1 -0
- package/dist/speculative/WorkerPool.js +327 -0
- package/dist/speculative/WorkerPool.js.map +1 -0
- package/dist/speculative/index.d.ts +10 -0
- package/dist/speculative/index.d.ts.map +1 -0
- package/dist/speculative/index.js +17 -0
- package/dist/speculative/index.js.map +1 -0
- package/dist/subconscious/EmbeddingService.d.ts +73 -0
- package/dist/subconscious/EmbeddingService.d.ts.map +1 -0
- package/dist/subconscious/EmbeddingService.js +196 -0
- package/dist/subconscious/EmbeddingService.js.map +1 -0
- package/dist/subconscious/SemanticCache.d.ts +82 -0
- package/dist/subconscious/SemanticCache.d.ts.map +1 -0
- package/dist/subconscious/SemanticCache.js +164 -0
- package/dist/subconscious/SemanticCache.js.map +1 -0
- package/dist/subconscious/SubconsciousEngine.d.ts +121 -0
- package/dist/subconscious/SubconsciousEngine.d.ts.map +1 -0
- package/dist/subconscious/SubconsciousEngine.js +241 -0
- package/dist/subconscious/SubconsciousEngine.js.map +1 -0
- package/dist/subconscious/VectorStore.d.ts +54 -0
- package/dist/subconscious/VectorStore.d.ts.map +1 -0
- package/dist/subconscious/VectorStore.js +168 -0
- package/dist/subconscious/VectorStore.js.map +1 -0
- package/dist/subconscious/cache.d.ts +34 -0
- package/dist/subconscious/cache.d.ts.map +1 -0
- package/dist/subconscious/cache.js +156 -0
- package/dist/subconscious/cache.js.map +1 -0
- package/dist/subconscious/embeddings.d.ts +25 -0
- package/dist/subconscious/embeddings.d.ts.map +1 -0
- package/dist/subconscious/embeddings.js +65 -0
- package/dist/subconscious/embeddings.js.map +1 -0
- package/dist/subconscious/index.d.ts +12 -0
- package/dist/subconscious/index.d.ts.map +1 -0
- package/dist/subconscious/index.js +19 -0
- package/dist/subconscious/index.js.map +1 -0
- package/dist/types/index.d.ts +286 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +43 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/logger.d.ts +63 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +126 -0
- package/dist/utils/logger.js.map +1 -0
- 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"}
|