@kadi.build/core 0.0.1-alpha.1 → 0.0.1-alpha.10
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/README.md +1387 -214
- package/dist/abilities/AbilityCache.d.ts +242 -0
- package/dist/abilities/AbilityCache.d.ts.map +1 -0
- package/dist/abilities/AbilityCache.js +285 -0
- package/dist/abilities/AbilityCache.js.map +1 -0
- package/dist/abilities/AbilityContext.d.ts +215 -0
- package/dist/abilities/AbilityContext.d.ts.map +1 -0
- package/dist/abilities/AbilityContext.js +36 -0
- package/dist/abilities/AbilityContext.js.map +1 -0
- package/dist/abilities/AbilityLoader.d.ts +177 -0
- package/dist/abilities/AbilityLoader.d.ts.map +1 -0
- package/dist/abilities/AbilityLoader.js +277 -0
- package/dist/abilities/AbilityLoader.js.map +1 -0
- package/dist/abilities/AbilityProxy.d.ts +463 -0
- package/dist/abilities/AbilityProxy.d.ts.map +1 -0
- package/dist/abilities/AbilityProxy.js +511 -0
- package/dist/abilities/AbilityProxy.js.map +1 -0
- package/dist/abilities/AbilityValidator.d.ts +172 -0
- package/dist/abilities/AbilityValidator.d.ts.map +1 -0
- package/dist/abilities/AbilityValidator.js +253 -0
- package/dist/abilities/AbilityValidator.js.map +1 -0
- package/dist/abilities/index.d.ts +26 -0
- package/dist/abilities/index.d.ts.map +1 -0
- package/dist/abilities/index.js +23 -0
- package/dist/abilities/index.js.map +1 -0
- package/dist/abilities/types.d.ts +156 -0
- package/dist/abilities/types.d.ts.map +1 -0
- package/dist/abilities/types.js +10 -0
- package/dist/abilities/types.js.map +1 -0
- package/dist/api/index.d.ts +92 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +124 -0
- package/dist/api/index.js.map +1 -0
- package/dist/broker/BrokerConnection.d.ts +253 -0
- package/dist/broker/BrokerConnection.d.ts.map +1 -0
- package/dist/broker/BrokerConnection.js +434 -0
- package/dist/broker/BrokerConnection.js.map +1 -0
- package/dist/broker/BrokerConnectionManager.d.ts +216 -0
- package/dist/broker/BrokerConnectionManager.d.ts.map +1 -0
- package/dist/broker/BrokerConnectionManager.js +305 -0
- package/dist/broker/BrokerConnectionManager.js.map +1 -0
- package/dist/broker/BrokerProtocol.d.ts +280 -0
- package/dist/broker/BrokerProtocol.d.ts.map +1 -0
- package/dist/broker/BrokerProtocol.js +466 -0
- package/dist/broker/BrokerProtocol.js.map +1 -0
- package/dist/broker/index.d.ts +9 -0
- package/dist/broker/index.d.ts.map +1 -0
- package/dist/broker/index.js +9 -0
- package/dist/broker/index.js.map +1 -0
- package/dist/client/KadiClient.d.ts +270 -0
- package/dist/client/KadiClient.d.ts.map +1 -0
- package/dist/client/KadiClient.js +492 -0
- package/dist/client/KadiClient.js.map +1 -0
- package/dist/client/index.d.ts +7 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +7 -0
- package/dist/client/index.js.map +1 -0
- package/dist/config/ConfigLoader.d.ts +138 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +226 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ConfigResolver.d.ts +135 -0
- package/dist/config/ConfigResolver.d.ts.map +1 -0
- package/dist/config/ConfigResolver.js +282 -0
- package/dist/config/ConfigResolver.js.map +1 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +8 -0
- package/dist/config/index.js.map +1 -0
- package/dist/errors/index.d.ts +9 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +8 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/events/EventHub.d.ts +172 -0
- package/dist/events/EventHub.d.ts.map +1 -0
- package/dist/events/EventHub.js +333 -0
- package/dist/events/EventHub.js.map +1 -0
- package/dist/events/index.d.ts +7 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +7 -0
- package/dist/events/index.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/messages/index.d.ts +33 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +33 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/schemas/index.d.ts +19 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +25 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/kadi-extensions.d.ts +231 -0
- package/dist/schemas/kadi-extensions.d.ts.map +1 -0
- package/dist/schemas/kadi-extensions.js +14 -0
- package/dist/schemas/kadi-extensions.js.map +1 -0
- package/dist/schemas/mcp/schema.d.ts +1399 -0
- package/dist/schemas/mcp/schema.d.ts.map +1 -0
- package/dist/schemas/mcp/schema.js +53 -0
- package/dist/schemas/mcp/schema.js.map +1 -0
- package/dist/schemas/mcp/version.d.ts +37 -0
- package/dist/schemas/mcp/version.d.ts.map +1 -0
- package/dist/schemas/mcp/version.js +39 -0
- package/dist/schemas/mcp/version.js.map +1 -0
- package/dist/schemas/schema-builders.d.ts +178 -0
- package/dist/schemas/schema-builders.d.ts.map +1 -0
- package/dist/schemas/schema-builders.js +258 -0
- package/dist/schemas/schema-builders.js.map +1 -0
- package/dist/tools/ToolRegistry.d.ts +256 -0
- package/dist/tools/ToolRegistry.d.ts.map +1 -0
- package/dist/tools/ToolRegistry.js +340 -0
- package/dist/tools/ToolRegistry.js.map +1 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +7 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/transports/BrokerTransport.d.ts +151 -0
- package/dist/transports/BrokerTransport.d.ts.map +1 -0
- package/dist/transports/BrokerTransport.js +261 -0
- package/dist/transports/BrokerTransport.js.map +1 -0
- package/dist/transports/NativeTransport.d.ts +149 -0
- package/dist/transports/NativeTransport.d.ts.map +1 -0
- package/dist/transports/NativeTransport.js +302 -0
- package/dist/transports/NativeTransport.js.map +1 -0
- package/dist/transports/StdioTransport.d.ts +172 -0
- package/dist/transports/StdioTransport.d.ts.map +1 -0
- package/dist/transports/StdioTransport.js +410 -0
- package/dist/transports/StdioTransport.js.map +1 -0
- package/dist/transports/index.d.ts +10 -0
- package/dist/transports/index.d.ts.map +1 -0
- package/dist/transports/index.js +9 -0
- package/dist/transports/index.js.map +1 -0
- package/dist/types/broker.d.ts +301 -0
- package/dist/types/broker.d.ts.map +1 -0
- package/dist/types/broker.js +46 -0
- package/dist/types/broker.js.map +1 -0
- package/dist/types/config.d.ts +325 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +17 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/errors.d.ts +178 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +165 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/events.d.ts +210 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +8 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/index.d.ts +32 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +21 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/protocol.d.ts +48 -0
- package/dist/types/protocol.d.ts.map +1 -0
- package/dist/types/protocol.js +11 -0
- package/dist/types/protocol.js.map +1 -0
- package/dist/types/tools.d.ts +67 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +16 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/transport.d.ts +250 -0
- package/dist/types/transport.d.ts.map +1 -0
- package/dist/types/transport.js +18 -0
- package/dist/types/transport.js.map +1 -0
- package/dist/validation/SchemaValidator.d.ts +208 -0
- package/dist/validation/SchemaValidator.d.ts.map +1 -0
- package/dist/validation/SchemaValidator.js +411 -0
- package/dist/validation/SchemaValidator.js.map +1 -0
- package/dist/validation/index.d.ts +11 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +10 -0
- package/dist/validation/index.js.map +1 -0
- package/package.json +69 -5
- package/agent.json +0 -18
- package/broker.js +0 -214
- package/index.js +0 -370
- package/ipc.js +0 -220
- package/ipcInterfaces/pythonAbilityIPC.py +0 -177
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for KADI error handling.
|
|
5
|
+
* Errors preserve context without wrapping, enabling proper debugging.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* KADI Error class
|
|
9
|
+
*
|
|
10
|
+
* Custom error class with structured error codes and context.
|
|
11
|
+
* Preserves stack traces and adds contextual information.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* throw new KadiError(
|
|
16
|
+
* 'Tool not found',
|
|
17
|
+
* ErrorCode.TOOL_NOT_FOUND,
|
|
18
|
+
* 404,
|
|
19
|
+
* { toolName: 'calculate', agent: 'calculator' }
|
|
20
|
+
* );
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare class KadiError extends Error {
|
|
24
|
+
/**
|
|
25
|
+
* Structured error code
|
|
26
|
+
*/
|
|
27
|
+
readonly code: ErrorCode;
|
|
28
|
+
/**
|
|
29
|
+
* HTTP-style status code
|
|
30
|
+
*/
|
|
31
|
+
readonly statusCode: number;
|
|
32
|
+
/**
|
|
33
|
+
* Additional contextual information
|
|
34
|
+
*/
|
|
35
|
+
readonly context?: ErrorContext;
|
|
36
|
+
/**
|
|
37
|
+
* Timestamp when error was created
|
|
38
|
+
*/
|
|
39
|
+
readonly timestamp: number;
|
|
40
|
+
/**
|
|
41
|
+
* Unique error ID for tracking
|
|
42
|
+
*/
|
|
43
|
+
readonly errorId: string;
|
|
44
|
+
constructor(message: string, code: ErrorCode, statusCode?: number, context?: ErrorContext);
|
|
45
|
+
/**
|
|
46
|
+
* Convert error to JSON for serialization
|
|
47
|
+
*/
|
|
48
|
+
toJSON(): ErrorJSON;
|
|
49
|
+
/**
|
|
50
|
+
* Create KadiError from unknown error
|
|
51
|
+
*/
|
|
52
|
+
static from(error: unknown, code?: ErrorCode): KadiError;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Structured error codes
|
|
56
|
+
*/
|
|
57
|
+
export declare enum ErrorCode {
|
|
58
|
+
UNKNOWN_ERROR = "UNKNOWN_ERROR",
|
|
59
|
+
INTERNAL_ERROR = "INTERNAL_ERROR",
|
|
60
|
+
INVALID_INPUT = "INVALID_INPUT",
|
|
61
|
+
INVALID_CONFIG = "INVALID_CONFIG",
|
|
62
|
+
NOT_IMPLEMENTED = "NOT_IMPLEMENTED",
|
|
63
|
+
CONNECTION_FAILED = "CONNECTION_FAILED",
|
|
64
|
+
CONNECTION_TIMEOUT = "CONNECTION_TIMEOUT",
|
|
65
|
+
CONNECTION_CLOSED = "CONNECTION_CLOSED",
|
|
66
|
+
AUTHENTICATION_FAILED = "AUTHENTICATION_FAILED",
|
|
67
|
+
BROKER_NOT_CONNECTED = "BROKER_NOT_CONNECTED",
|
|
68
|
+
BROKER_CONNECTION_FAILED = "BROKER_CONNECTION_FAILED",
|
|
69
|
+
BROKER_RESPONSE_ERROR = "BROKER_RESPONSE_ERROR",
|
|
70
|
+
BROKER_TIMEOUT = "BROKER_TIMEOUT",
|
|
71
|
+
TOOL_NOT_FOUND = "TOOL_NOT_FOUND",
|
|
72
|
+
TOOL_ALREADY_REGISTERED = "TOOL_ALREADY_REGISTERED",
|
|
73
|
+
TOOL_INVOCATION_FAILED = "TOOL_INVOCATION_FAILED",
|
|
74
|
+
TOOL_VALIDATION_FAILED = "TOOL_VALIDATION_FAILED",
|
|
75
|
+
TOOL_TIMEOUT = "TOOL_TIMEOUT",
|
|
76
|
+
ABILITY_NOT_FOUND = "ABILITY_NOT_FOUND",
|
|
77
|
+
ABILITY_LOAD_FAILED = "ABILITY_LOAD_FAILED",
|
|
78
|
+
ABILITY_NOT_LOADED = "ABILITY_NOT_LOADED",
|
|
79
|
+
ABILITY_ALREADY_LOADED = "ABILITY_ALREADY_LOADED",
|
|
80
|
+
ABILITY_METHOD_NOT_FOUND = "ABILITY_METHOD_NOT_FOUND",
|
|
81
|
+
ABILITY_INVALID = "ABILITY_INVALID",
|
|
82
|
+
ABILITY_NOT_CONNECTED = "ABILITY_NOT_CONNECTED",
|
|
83
|
+
EVENT_SUBSCRIPTION_FAILED = "EVENT_SUBSCRIPTION_FAILED",
|
|
84
|
+
EVENT_PUBLISH_FAILED = "EVENT_PUBLISH_FAILED",
|
|
85
|
+
EVENT_PATTERN_INVALID = "EVENT_PATTERN_INVALID",
|
|
86
|
+
TRANSPORT_NOT_CONNECTED = "TRANSPORT_NOT_CONNECTED",
|
|
87
|
+
TRANSPORT_CONNECTION_FAILED = "TRANSPORT_CONNECTION_FAILED",
|
|
88
|
+
TRANSPORT_SEND_FAILED = "TRANSPORT_SEND_FAILED",
|
|
89
|
+
STDIO_PROCESS_FAILED = "STDIO_PROCESS_FAILED",
|
|
90
|
+
STDIO_PROCESS_EXITED = "STDIO_PROCESS_EXITED",
|
|
91
|
+
STDIO_FRAMING_ERROR = "STDIO_FRAMING_ERROR",
|
|
92
|
+
SCHEMA_VALIDATION_FAILED = "SCHEMA_VALIDATION_FAILED",
|
|
93
|
+
BROKER_SCHEMA_COMPILATION_ERROR = "BROKER_SCHEMA_COMPILATION_ERROR",
|
|
94
|
+
INVALID_MESSAGE_FORMAT = "INVALID_MESSAGE_FORMAT",
|
|
95
|
+
INVALID_PROTOCOL_VERSION = "INVALID_PROTOCOL_VERSION"
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Error context information
|
|
99
|
+
*/
|
|
100
|
+
export interface ErrorContext {
|
|
101
|
+
/**
|
|
102
|
+
* Component/module where error occurred
|
|
103
|
+
*/
|
|
104
|
+
component?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Operation being performed
|
|
107
|
+
*/
|
|
108
|
+
operation?: string;
|
|
109
|
+
/**
|
|
110
|
+
* Agent name
|
|
111
|
+
*/
|
|
112
|
+
agent?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Tool/method name
|
|
115
|
+
*/
|
|
116
|
+
tool?: string;
|
|
117
|
+
/**
|
|
118
|
+
* Ability name
|
|
119
|
+
*/
|
|
120
|
+
ability?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Broker URL
|
|
123
|
+
*/
|
|
124
|
+
broker?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Network
|
|
127
|
+
*/
|
|
128
|
+
network?: string;
|
|
129
|
+
/**
|
|
130
|
+
* Additional details
|
|
131
|
+
*/
|
|
132
|
+
details?: Record<string, unknown>;
|
|
133
|
+
/**
|
|
134
|
+
* Original error name (for wrapped errors)
|
|
135
|
+
*/
|
|
136
|
+
originalError?: string;
|
|
137
|
+
[key: string]: unknown;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* JSON representation of error
|
|
141
|
+
*/
|
|
142
|
+
export interface ErrorJSON {
|
|
143
|
+
name: string;
|
|
144
|
+
message: string;
|
|
145
|
+
code: ErrorCode;
|
|
146
|
+
statusCode: number;
|
|
147
|
+
context?: ErrorContext;
|
|
148
|
+
errorId: string;
|
|
149
|
+
timestamp: number;
|
|
150
|
+
stack?: string;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Type guard for KadiError
|
|
154
|
+
*/
|
|
155
|
+
export declare function isKadiError(error: unknown): error is KadiError;
|
|
156
|
+
/**
|
|
157
|
+
* Type guard for Error
|
|
158
|
+
*/
|
|
159
|
+
export declare function isError(error: unknown): error is Error;
|
|
160
|
+
/**
|
|
161
|
+
* Error result wrapper for operations that may fail
|
|
162
|
+
*/
|
|
163
|
+
export type Result<T, E = KadiError> = {
|
|
164
|
+
success: true;
|
|
165
|
+
data: T;
|
|
166
|
+
} | {
|
|
167
|
+
success: false;
|
|
168
|
+
error: E;
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Create success result
|
|
172
|
+
*/
|
|
173
|
+
export declare function success<T>(data: T): Result<T, never>;
|
|
174
|
+
/**
|
|
175
|
+
* Create error result
|
|
176
|
+
*/
|
|
177
|
+
export declare function failure<E = KadiError>(error: E): Result<never, E>;
|
|
178
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for KADI error handling.
|
|
5
|
+
* Errors preserve context without wrapping, enabling proper debugging.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* KADI Error class
|
|
9
|
+
*
|
|
10
|
+
* Custom error class with structured error codes and context.
|
|
11
|
+
* Preserves stack traces and adds contextual information.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* throw new KadiError(
|
|
16
|
+
* 'Tool not found',
|
|
17
|
+
* ErrorCode.TOOL_NOT_FOUND,
|
|
18
|
+
* 404,
|
|
19
|
+
* { toolName: 'calculate', agent: 'calculator' }
|
|
20
|
+
* );
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export class KadiError extends Error {
|
|
24
|
+
/**
|
|
25
|
+
* Structured error code
|
|
26
|
+
*/
|
|
27
|
+
code;
|
|
28
|
+
/**
|
|
29
|
+
* HTTP-style status code
|
|
30
|
+
*/
|
|
31
|
+
statusCode;
|
|
32
|
+
/**
|
|
33
|
+
* Additional contextual information
|
|
34
|
+
*/
|
|
35
|
+
context;
|
|
36
|
+
/**
|
|
37
|
+
* Timestamp when error was created
|
|
38
|
+
*/
|
|
39
|
+
timestamp;
|
|
40
|
+
/**
|
|
41
|
+
* Unique error ID for tracking
|
|
42
|
+
*/
|
|
43
|
+
errorId;
|
|
44
|
+
constructor(message, code, statusCode = 500, context) {
|
|
45
|
+
super(message);
|
|
46
|
+
this.name = 'KadiError';
|
|
47
|
+
this.code = code;
|
|
48
|
+
this.statusCode = statusCode;
|
|
49
|
+
this.context = context;
|
|
50
|
+
this.timestamp = Date.now();
|
|
51
|
+
this.errorId = `${code}_${this.timestamp}_${Math.random().toString(36).substring(2, 9)}`;
|
|
52
|
+
// Capture stack trace
|
|
53
|
+
if (Error.captureStackTrace) {
|
|
54
|
+
Error.captureStackTrace(this, KadiError);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Convert error to JSON for serialization
|
|
59
|
+
*/
|
|
60
|
+
toJSON() {
|
|
61
|
+
return {
|
|
62
|
+
name: this.name,
|
|
63
|
+
message: this.message,
|
|
64
|
+
code: this.code,
|
|
65
|
+
statusCode: this.statusCode,
|
|
66
|
+
context: this.context,
|
|
67
|
+
errorId: this.errorId,
|
|
68
|
+
timestamp: this.timestamp,
|
|
69
|
+
stack: this.stack
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Create KadiError from unknown error
|
|
74
|
+
*/
|
|
75
|
+
static from(error, code = ErrorCode.UNKNOWN_ERROR) {
|
|
76
|
+
if (error instanceof KadiError) {
|
|
77
|
+
return error;
|
|
78
|
+
}
|
|
79
|
+
if (error instanceof Error) {
|
|
80
|
+
const kadiError = new KadiError(error.message, code, 500, { originalError: error.name });
|
|
81
|
+
// Preserve original stack
|
|
82
|
+
kadiError.stack = error.stack;
|
|
83
|
+
return kadiError;
|
|
84
|
+
}
|
|
85
|
+
return new KadiError(String(error), code, 500);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Structured error codes
|
|
90
|
+
*/
|
|
91
|
+
export var ErrorCode;
|
|
92
|
+
(function (ErrorCode) {
|
|
93
|
+
// Generic errors
|
|
94
|
+
ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
95
|
+
ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
96
|
+
ErrorCode["INVALID_INPUT"] = "INVALID_INPUT";
|
|
97
|
+
ErrorCode["INVALID_CONFIG"] = "INVALID_CONFIG";
|
|
98
|
+
ErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
|
|
99
|
+
// Connection errors
|
|
100
|
+
ErrorCode["CONNECTION_FAILED"] = "CONNECTION_FAILED";
|
|
101
|
+
ErrorCode["CONNECTION_TIMEOUT"] = "CONNECTION_TIMEOUT";
|
|
102
|
+
ErrorCode["CONNECTION_CLOSED"] = "CONNECTION_CLOSED";
|
|
103
|
+
ErrorCode["AUTHENTICATION_FAILED"] = "AUTHENTICATION_FAILED";
|
|
104
|
+
// Broker errors
|
|
105
|
+
ErrorCode["BROKER_NOT_CONNECTED"] = "BROKER_NOT_CONNECTED";
|
|
106
|
+
ErrorCode["BROKER_CONNECTION_FAILED"] = "BROKER_CONNECTION_FAILED";
|
|
107
|
+
ErrorCode["BROKER_RESPONSE_ERROR"] = "BROKER_RESPONSE_ERROR";
|
|
108
|
+
ErrorCode["BROKER_TIMEOUT"] = "BROKER_TIMEOUT";
|
|
109
|
+
// Tool errors
|
|
110
|
+
ErrorCode["TOOL_NOT_FOUND"] = "TOOL_NOT_FOUND";
|
|
111
|
+
ErrorCode["TOOL_ALREADY_REGISTERED"] = "TOOL_ALREADY_REGISTERED";
|
|
112
|
+
ErrorCode["TOOL_INVOCATION_FAILED"] = "TOOL_INVOCATION_FAILED";
|
|
113
|
+
ErrorCode["TOOL_VALIDATION_FAILED"] = "TOOL_VALIDATION_FAILED";
|
|
114
|
+
ErrorCode["TOOL_TIMEOUT"] = "TOOL_TIMEOUT";
|
|
115
|
+
// Ability errors
|
|
116
|
+
ErrorCode["ABILITY_NOT_FOUND"] = "ABILITY_NOT_FOUND";
|
|
117
|
+
ErrorCode["ABILITY_LOAD_FAILED"] = "ABILITY_LOAD_FAILED";
|
|
118
|
+
ErrorCode["ABILITY_NOT_LOADED"] = "ABILITY_NOT_LOADED";
|
|
119
|
+
ErrorCode["ABILITY_ALREADY_LOADED"] = "ABILITY_ALREADY_LOADED";
|
|
120
|
+
ErrorCode["ABILITY_METHOD_NOT_FOUND"] = "ABILITY_METHOD_NOT_FOUND";
|
|
121
|
+
ErrorCode["ABILITY_INVALID"] = "ABILITY_INVALID";
|
|
122
|
+
ErrorCode["ABILITY_NOT_CONNECTED"] = "ABILITY_NOT_CONNECTED";
|
|
123
|
+
// Event errors
|
|
124
|
+
ErrorCode["EVENT_SUBSCRIPTION_FAILED"] = "EVENT_SUBSCRIPTION_FAILED";
|
|
125
|
+
ErrorCode["EVENT_PUBLISH_FAILED"] = "EVENT_PUBLISH_FAILED";
|
|
126
|
+
ErrorCode["EVENT_PATTERN_INVALID"] = "EVENT_PATTERN_INVALID";
|
|
127
|
+
// Transport errors
|
|
128
|
+
ErrorCode["TRANSPORT_NOT_CONNECTED"] = "TRANSPORT_NOT_CONNECTED";
|
|
129
|
+
ErrorCode["TRANSPORT_CONNECTION_FAILED"] = "TRANSPORT_CONNECTION_FAILED";
|
|
130
|
+
ErrorCode["TRANSPORT_SEND_FAILED"] = "TRANSPORT_SEND_FAILED";
|
|
131
|
+
// Stdio errors
|
|
132
|
+
ErrorCode["STDIO_PROCESS_FAILED"] = "STDIO_PROCESS_FAILED";
|
|
133
|
+
ErrorCode["STDIO_PROCESS_EXITED"] = "STDIO_PROCESS_EXITED";
|
|
134
|
+
ErrorCode["STDIO_FRAMING_ERROR"] = "STDIO_FRAMING_ERROR";
|
|
135
|
+
// Validation errors
|
|
136
|
+
ErrorCode["SCHEMA_VALIDATION_FAILED"] = "SCHEMA_VALIDATION_FAILED";
|
|
137
|
+
ErrorCode["BROKER_SCHEMA_COMPILATION_ERROR"] = "BROKER_SCHEMA_COMPILATION_ERROR";
|
|
138
|
+
ErrorCode["INVALID_MESSAGE_FORMAT"] = "INVALID_MESSAGE_FORMAT";
|
|
139
|
+
ErrorCode["INVALID_PROTOCOL_VERSION"] = "INVALID_PROTOCOL_VERSION";
|
|
140
|
+
})(ErrorCode || (ErrorCode = {}));
|
|
141
|
+
/**
|
|
142
|
+
* Type guard for KadiError
|
|
143
|
+
*/
|
|
144
|
+
export function isKadiError(error) {
|
|
145
|
+
return error instanceof KadiError;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Type guard for Error
|
|
149
|
+
*/
|
|
150
|
+
export function isError(error) {
|
|
151
|
+
return error instanceof Error;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Create success result
|
|
155
|
+
*/
|
|
156
|
+
export function success(data) {
|
|
157
|
+
return { success: true, data };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Create error result
|
|
161
|
+
*/
|
|
162
|
+
export function failure(error) {
|
|
163
|
+
return { success: false, error };
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the KADI event system.
|
|
5
|
+
* Events enable pub/sub communication between agents and abilities.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Event pattern string for subscription matching.
|
|
9
|
+
*
|
|
10
|
+
* Supports wildcards:
|
|
11
|
+
* - `user.login` - exact match
|
|
12
|
+
* - `user.*` - all events starting with "user."
|
|
13
|
+
* - `*.error` - all error events
|
|
14
|
+
* - `*` - all events
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* const pattern: EventPattern = 'user.*';
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export type EventPattern = string;
|
|
22
|
+
/**
|
|
23
|
+
* Event name/channel identifier
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const eventName: EventName = 'user.login';
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export type EventName = string;
|
|
31
|
+
/**
|
|
32
|
+
* Event callback function type.
|
|
33
|
+
*
|
|
34
|
+
* @template TData - The type of data the event carries
|
|
35
|
+
*
|
|
36
|
+
* @param data - The event data payload
|
|
37
|
+
* @returns void or Promise<void>
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* const handler: EventCallback<{ userId: string }> =
|
|
42
|
+
* async (data) => {
|
|
43
|
+
* console.log('User logged in:', data.userId);
|
|
44
|
+
* };
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export type EventCallback<TData = unknown> = (data: TData) => void | Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Event payload structure.
|
|
50
|
+
*
|
|
51
|
+
* This is the complete event object that flows through the system.
|
|
52
|
+
*/
|
|
53
|
+
export interface EventPayload<TData = unknown> {
|
|
54
|
+
/**
|
|
55
|
+
* Event name/channel
|
|
56
|
+
*/
|
|
57
|
+
eventName: EventName;
|
|
58
|
+
/**
|
|
59
|
+
* Event data
|
|
60
|
+
*/
|
|
61
|
+
data: TData;
|
|
62
|
+
/**
|
|
63
|
+
* When the event was emitted (Unix timestamp in ms)
|
|
64
|
+
*/
|
|
65
|
+
timestamp: number;
|
|
66
|
+
/**
|
|
67
|
+
* Source agent/ability that emitted the event
|
|
68
|
+
*/
|
|
69
|
+
source: string;
|
|
70
|
+
/**
|
|
71
|
+
* Optional metadata
|
|
72
|
+
*/
|
|
73
|
+
metadata?: EventMetadata;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Additional event metadata
|
|
77
|
+
*/
|
|
78
|
+
export interface EventMetadata {
|
|
79
|
+
/**
|
|
80
|
+
* Event correlation ID for tracking related events
|
|
81
|
+
*/
|
|
82
|
+
correlationId?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Event sequence number (for ordered processing)
|
|
85
|
+
*/
|
|
86
|
+
sequenceNumber?: number;
|
|
87
|
+
/**
|
|
88
|
+
* Time-to-live in milliseconds (for ephemeral events)
|
|
89
|
+
*/
|
|
90
|
+
ttl?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Priority level (higher = more important)
|
|
93
|
+
*/
|
|
94
|
+
priority?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Custom metadata
|
|
97
|
+
*/
|
|
98
|
+
[key: string]: unknown;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Event subscription record.
|
|
102
|
+
*
|
|
103
|
+
* Internal representation of an active subscription.
|
|
104
|
+
*/
|
|
105
|
+
export interface EventSubscription<TData = unknown> {
|
|
106
|
+
/**
|
|
107
|
+
* Unique subscription ID
|
|
108
|
+
*/
|
|
109
|
+
id: string;
|
|
110
|
+
/**
|
|
111
|
+
* Pattern this subscription matches
|
|
112
|
+
*/
|
|
113
|
+
pattern: EventPattern;
|
|
114
|
+
/**
|
|
115
|
+
* Callback function
|
|
116
|
+
*/
|
|
117
|
+
callback: EventCallback<TData>;
|
|
118
|
+
/**
|
|
119
|
+
* When the subscription was created
|
|
120
|
+
*/
|
|
121
|
+
createdAt: number;
|
|
122
|
+
/**
|
|
123
|
+
* Subscription options
|
|
124
|
+
*/
|
|
125
|
+
options?: SubscriptionOptions;
|
|
126
|
+
/**
|
|
127
|
+
* Internal counter for maxEvents tracking
|
|
128
|
+
* Incremented each time the callback is invoked
|
|
129
|
+
*/
|
|
130
|
+
_eventCount?: number;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Options for event subscriptions
|
|
134
|
+
*/
|
|
135
|
+
export interface SubscriptionOptions {
|
|
136
|
+
/**
|
|
137
|
+
* Only receive the latest event if multiple match (coalescence)
|
|
138
|
+
*/
|
|
139
|
+
latestOnly?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* Filter function to selectively receive events
|
|
142
|
+
*/
|
|
143
|
+
filter?: (payload: EventPayload) => boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Maximum number of events to receive before auto-unsubscribing
|
|
146
|
+
*/
|
|
147
|
+
maxEvents?: number;
|
|
148
|
+
/**
|
|
149
|
+
* Auto-unsubscribe after this many milliseconds
|
|
150
|
+
*/
|
|
151
|
+
timeout?: number;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Unsubscribe function returned from subscriptions
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* const unsubscribe = eventHub.subscribe('user.*', handler);
|
|
159
|
+
* // Later...
|
|
160
|
+
* unsubscribe();
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
export type UnsubscribeFunction = () => void;
|
|
164
|
+
/**
|
|
165
|
+
* Event publishing options/hints
|
|
166
|
+
*/
|
|
167
|
+
export interface PublishOptions {
|
|
168
|
+
/**
|
|
169
|
+
* Only keep the latest event in queue (for high-frequency events)
|
|
170
|
+
*/
|
|
171
|
+
latestOnly?: boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Coalescing key - events with same key replace each other
|
|
174
|
+
*/
|
|
175
|
+
coalescingKey?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Time-to-live in milliseconds
|
|
178
|
+
*/
|
|
179
|
+
ttl?: number;
|
|
180
|
+
/**
|
|
181
|
+
* Priority (higher = delivered first)
|
|
182
|
+
*/
|
|
183
|
+
priority?: number;
|
|
184
|
+
/**
|
|
185
|
+
* Correlation ID for tracking related events
|
|
186
|
+
*/
|
|
187
|
+
correlationId?: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Event delivery status
|
|
191
|
+
*/
|
|
192
|
+
export interface EventDeliveryStatus {
|
|
193
|
+
/**
|
|
194
|
+
* Event that was delivered
|
|
195
|
+
*/
|
|
196
|
+
event: EventPayload;
|
|
197
|
+
/**
|
|
198
|
+
* Number of subscribers that received it
|
|
199
|
+
*/
|
|
200
|
+
delivered: number;
|
|
201
|
+
/**
|
|
202
|
+
* Number of delivery failures
|
|
203
|
+
*/
|
|
204
|
+
failed: number;
|
|
205
|
+
/**
|
|
206
|
+
* Delivery timestamp
|
|
207
|
+
*/
|
|
208
|
+
timestamp: number;
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,GAAG,OAAO,IAAI,CAC3C,IAAI,EAAE,KAAK,KACR,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1B;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,KAAK,GAAG,OAAO;IAC3C;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB,CAAC,KAAK,GAAG,OAAO;IAChD;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAE/B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAE9B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KADI Core Types
|
|
3
|
+
*
|
|
4
|
+
* Central export point for all type definitions.
|
|
5
|
+
* This file provides a single import location for all KADI types.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import type {
|
|
10
|
+
* KadiClientConfig,
|
|
11
|
+
* ToolHandler,
|
|
12
|
+
* EventCallback
|
|
13
|
+
* } from '@kadi.build/core/types';
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* JSON Schema type (generic object representation)
|
|
18
|
+
*
|
|
19
|
+
* Represents a JSON Schema object. Use this for generic schema handling.
|
|
20
|
+
*/
|
|
21
|
+
export type JSONSchema = Record<string, unknown>;
|
|
22
|
+
export type { KadiTool, KadiToolResult, ToolDefinition, ToolHandler, RegisteredTool, ToolTag, NetworkId, ToolDiscoveryQuery, ToolDiscoveryResult, ToolInvocationResult, McpTool, McpCallToolResult, ToolAnnotations, ListToolsRequest, ListToolsResult, CallToolRequest, ToolListChangedNotification } from './tools.js';
|
|
23
|
+
export type { EventPattern, EventName, EventCallback, EventPayload, EventMetadata, EventSubscription, UnsubscribeFunction, PublishOptions, EventDeliveryStatus, SubscriptionOptions } from './events.js';
|
|
24
|
+
export type { BrokerConnection, BrokerConfig, JsonRpcRequest, JsonRpcResponse, JsonRpcError, JsonRpcNotification, HandshakeParams, HandshakeResult, RegisterCapabilitiesParams, ToolInvokeParams, EventSubscribeParams, EventPublishParams, PendingRequest } from './broker.js';
|
|
25
|
+
export { ConnectionState, KadiProtocolMethod } from './broker.js';
|
|
26
|
+
export type { TransportKind, AgentRole, KadiClientConfig, AdvancedConfig, KadiConfig, ServiceConfig, LoadAbilityOptions, AgentJsonConfig, EnvConfig, ResolvedConfig } from './config.js';
|
|
27
|
+
export { ConfigSource } from './config.js';
|
|
28
|
+
export type { AbilityTransport, MethodSchema, TransportOptions, NativeTransportOptions, StdioTransportOptions, BrokerTransportOptions, MessageTransport, TransportDiscoveryResult, StdioFrame } from './transport.js';
|
|
29
|
+
export { StdioMessageType } from './transport.js';
|
|
30
|
+
export { KadiError, ErrorCode, isKadiError, isError, success, failure } from './errors.js';
|
|
31
|
+
export type { ErrorContext, ErrorJSON, Result } from './errors.js';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAGjD,YAAY,EAEV,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,cAAc,EACd,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EAGpB,OAAO,EACP,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGlE,YAAY,EACV,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,EACR,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,YAAY,EACZ,SAAS,EACT,MAAM,EACP,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KADI Core Types
|
|
3
|
+
*
|
|
4
|
+
* Central export point for all type definitions.
|
|
5
|
+
* This file provides a single import location for all KADI types.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import type {
|
|
10
|
+
* KadiClientConfig,
|
|
11
|
+
* ToolHandler,
|
|
12
|
+
* EventCallback
|
|
13
|
+
* } from '@kadi.build/core/types';
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export { ConnectionState, KadiProtocolMethod } from './broker.js';
|
|
17
|
+
export { ConfigSource } from './config.js';
|
|
18
|
+
export { StdioMessageType } from './transport.js';
|
|
19
|
+
// Error types
|
|
20
|
+
export { KadiError, ErrorCode, isKadiError, isError, success, failure } from './errors.js';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAgEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAgBlE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,cAAc;AACd,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,EACR,MAAM,aAAa,CAAC"}
|