@kadi.build/core 0.0.1-alpha.1 → 0.0.1-alpha.11
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 +361 -230
- 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 +203 -0
- package/dist/abilities/AbilityLoader.d.ts.map +1 -0
- package/dist/abilities/AbilityLoader.js +343 -0
- package/dist/abilities/AbilityLoader.js.map +1 -0
- package/dist/abilities/AbilityProxy.d.ts +496 -0
- package/dist/abilities/AbilityProxy.d.ts.map +1 -0
- package/dist/abilities/AbilityProxy.js +551 -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 +223 -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 +459 -0
- package/dist/client/KadiClient.d.ts.map +1 -0
- package/dist/client/KadiClient.js +902 -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 +50 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -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 +22 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +27 -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/schemas/zod-helpers.d.ts +129 -0
- package/dist/schemas/zod-helpers.d.ts.map +1 -0
- package/dist/schemas/zod-helpers.js +225 -0
- package/dist/schemas/zod-helpers.js.map +1 -0
- package/dist/schemas/zod-to-json-schema.d.ts +159 -0
- package/dist/schemas/zod-to-json-schema.d.ts.map +1 -0
- package/dist/schemas/zod-to-json-schema.js +154 -0
- package/dist/schemas/zod-to-json-schema.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 +178 -0
- package/dist/transports/NativeTransport.d.ts.map +1 -0
- package/dist/transports/NativeTransport.js +397 -0
- package/dist/transports/NativeTransport.js.map +1 -0
- package/dist/transports/StdioTransport.d.ts +250 -0
- package/dist/transports/StdioTransport.d.ts.map +1 -0
- package/dist/transports/StdioTransport.js +487 -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 +279 -0
- package/dist/types/broker.d.ts.map +1 -0
- package/dist/types/broker.js +19 -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 +34 -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/types/zod-tools.d.ts +198 -0
- package/dist/types/zod-tools.d.ts.map +1 -0
- package/dist/types/zod-tools.js +14 -0
- package/dist/types/zod-tools.js.map +1 -0
- package/dist/utils/StdioMessageReader.d.ts +122 -0
- package/dist/utils/StdioMessageReader.d.ts.map +1 -0
- package/dist/utils/StdioMessageReader.js +209 -0
- package/dist/utils/StdioMessageReader.js.map +1 -0
- package/dist/utils/StdioMessageWriter.d.ts +104 -0
- package/dist/utils/StdioMessageWriter.d.ts.map +1 -0
- package/dist/utils/StdioMessageWriter.js +162 -0
- package/dist/utils/StdioMessageWriter.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 +70 -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 @@
|
|
|
1
|
+
{"version":3,"file":"KadiClient.js","sourceRoot":"","sources":["../../src/client/KadiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads configuration from various sources:
|
|
5
|
+
* - Environment variables
|
|
6
|
+
* - Configuration files (agent.json, kadi.config.json)
|
|
7
|
+
* - Package.json
|
|
8
|
+
*
|
|
9
|
+
* @module config/ConfigLoader
|
|
10
|
+
*/
|
|
11
|
+
import type { AgentJsonConfig, EnvConfig } from '../types/index.js';
|
|
12
|
+
/**
|
|
13
|
+
* Configuration Loader
|
|
14
|
+
*
|
|
15
|
+
* Handles the actual loading of configuration from files and environment.
|
|
16
|
+
* Separated from ConfigResolver for testability.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* const loader = new ConfigLoader();
|
|
21
|
+
*
|
|
22
|
+
* // Load from environment
|
|
23
|
+
* const envConfig = loader.loadFromEnvironment();
|
|
24
|
+
*
|
|
25
|
+
* // Load from file
|
|
26
|
+
* const fileConfig = await loader.loadFromFile();
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class ConfigLoader {
|
|
30
|
+
/**
|
|
31
|
+
* Configuration file names to search for (in order of preference)
|
|
32
|
+
*/
|
|
33
|
+
private readonly configFiles;
|
|
34
|
+
/**
|
|
35
|
+
* Load configuration from environment variables
|
|
36
|
+
*
|
|
37
|
+
* Reads KADI_* environment variables and returns structured config.
|
|
38
|
+
*
|
|
39
|
+
* @returns Environment configuration
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* // With environment variables:
|
|
44
|
+
* // KADI_BROKER_URL=ws://localhost:8080
|
|
45
|
+
* // KADI_NETWORKS=global,team-alpha
|
|
46
|
+
*
|
|
47
|
+
* const config = loader.loadFromEnvironment();
|
|
48
|
+
* // { KADI_BROKER_URL: 'ws://localhost:8080', KADI_NETWORKS: 'global,team-alpha' }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
loadFromEnvironment(): EnvConfig;
|
|
52
|
+
/**
|
|
53
|
+
* Load configuration from file
|
|
54
|
+
*
|
|
55
|
+
* Searches for configuration files in order of preference:
|
|
56
|
+
* 1. agent.json
|
|
57
|
+
* 2. kadi.config.json
|
|
58
|
+
* 3. .kadirc.json
|
|
59
|
+
*
|
|
60
|
+
* Searches from current directory up to root.
|
|
61
|
+
*
|
|
62
|
+
* @param startDir - Directory to start searching from (defaults to cwd)
|
|
63
|
+
* @returns Loaded configuration or null if not found
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const config = await loader.loadFromFile();
|
|
68
|
+
* if (config) {
|
|
69
|
+
* console.log('Loaded from:', config.name);
|
|
70
|
+
* }
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
loadFromFile(startDir?: string): Promise<AgentJsonConfig | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Find a configuration file by searching up the directory tree
|
|
76
|
+
*
|
|
77
|
+
* @param filename - Config filename to search for
|
|
78
|
+
* @param startDir - Directory to start searching from
|
|
79
|
+
* @returns Full path to config file or null if not found
|
|
80
|
+
*/
|
|
81
|
+
private findConfigFile;
|
|
82
|
+
/**
|
|
83
|
+
* Load and parse a configuration file
|
|
84
|
+
*
|
|
85
|
+
* @param filePath - Path to configuration file
|
|
86
|
+
* @returns Parsed configuration
|
|
87
|
+
* @throws If file cannot be read or parsed
|
|
88
|
+
*/
|
|
89
|
+
private loadConfigFile;
|
|
90
|
+
/**
|
|
91
|
+
* Load KADI configuration from package.json
|
|
92
|
+
*
|
|
93
|
+
* Looks for a "kadi" field in package.json
|
|
94
|
+
*
|
|
95
|
+
* @param startDir - Directory to start searching from
|
|
96
|
+
* @returns Configuration from package.json or null
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```json
|
|
100
|
+
* // package.json
|
|
101
|
+
* {
|
|
102
|
+
* "name": "my-package",
|
|
103
|
+
* "kadi": {
|
|
104
|
+
* "name": "my-service",
|
|
105
|
+
* "brokers": {
|
|
106
|
+
* "local": "ws://localhost:8080"
|
|
107
|
+
* }
|
|
108
|
+
* }
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
private loadFromPackageJson;
|
|
113
|
+
/**
|
|
114
|
+
* Parse transport string to TransportKind
|
|
115
|
+
*
|
|
116
|
+
* @param value - Transport string
|
|
117
|
+
* @returns TransportKind or undefined
|
|
118
|
+
*/
|
|
119
|
+
private parseTransport;
|
|
120
|
+
/**
|
|
121
|
+
* Get configuration file path if one exists
|
|
122
|
+
*
|
|
123
|
+
* Useful for debugging and logging which config file is being used.
|
|
124
|
+
*
|
|
125
|
+
* @param startDir - Directory to start searching from
|
|
126
|
+
* @returns Path to config file or null
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* const configPath = loader.getConfigPath();
|
|
131
|
+
* if (configPath) {
|
|
132
|
+
* console.log('Using config from:', configPath);
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
getConfigPath(startDir?: string): string | null;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=ConfigLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLoader.d.ts","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAiB,MAAM,mBAAmB,CAAC;AAEnF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAI1B;IAEF;;;;;;;;;;;;;;;;OAgBG;IACH,mBAAmB,IAAI,SAAS;IAUhC;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAoBtE;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAatB;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAYhD"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads configuration from various sources:
|
|
5
|
+
* - Environment variables
|
|
6
|
+
* - Configuration files (agent.json, kadi.config.json)
|
|
7
|
+
* - Package.json
|
|
8
|
+
*
|
|
9
|
+
* @module config/ConfigLoader
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync, existsSync } from 'fs';
|
|
12
|
+
import { resolve, dirname } from 'path';
|
|
13
|
+
/**
|
|
14
|
+
* Configuration Loader
|
|
15
|
+
*
|
|
16
|
+
* Handles the actual loading of configuration from files and environment.
|
|
17
|
+
* Separated from ConfigResolver for testability.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const loader = new ConfigLoader();
|
|
22
|
+
*
|
|
23
|
+
* // Load from environment
|
|
24
|
+
* const envConfig = loader.loadFromEnvironment();
|
|
25
|
+
*
|
|
26
|
+
* // Load from file
|
|
27
|
+
* const fileConfig = await loader.loadFromFile();
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export class ConfigLoader {
|
|
31
|
+
/**
|
|
32
|
+
* Configuration file names to search for (in order of preference)
|
|
33
|
+
*/
|
|
34
|
+
configFiles = [
|
|
35
|
+
'agent.json',
|
|
36
|
+
'kadi.config.json',
|
|
37
|
+
'.kadirc.json'
|
|
38
|
+
];
|
|
39
|
+
/**
|
|
40
|
+
* Load configuration from environment variables
|
|
41
|
+
*
|
|
42
|
+
* Reads KADI_* environment variables and returns structured config.
|
|
43
|
+
*
|
|
44
|
+
* @returns Environment configuration
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* // With environment variables:
|
|
49
|
+
* // KADI_BROKER_URL=ws://localhost:8080
|
|
50
|
+
* // KADI_NETWORKS=global,team-alpha
|
|
51
|
+
*
|
|
52
|
+
* const config = loader.loadFromEnvironment();
|
|
53
|
+
* // { KADI_BROKER_URL: 'ws://localhost:8080', KADI_NETWORKS: 'global,team-alpha' }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
loadFromEnvironment() {
|
|
57
|
+
return {
|
|
58
|
+
KADI_BROKER_URL: process.env.KADI_BROKER_URL,
|
|
59
|
+
KADI_NETWORKS: process.env.KADI_NETWORKS,
|
|
60
|
+
KADI_TRANSPORT: this.parseTransport(process.env.KADI_TRANSPORT),
|
|
61
|
+
KADI_AGENT_NAME: process.env.KADI_AGENT_NAME,
|
|
62
|
+
KADI_AUTO_CONNECT: process.env.KADI_AUTO_CONNECT
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Load configuration from file
|
|
67
|
+
*
|
|
68
|
+
* Searches for configuration files in order of preference:
|
|
69
|
+
* 1. agent.json
|
|
70
|
+
* 2. kadi.config.json
|
|
71
|
+
* 3. .kadirc.json
|
|
72
|
+
*
|
|
73
|
+
* Searches from current directory up to root.
|
|
74
|
+
*
|
|
75
|
+
* @param startDir - Directory to start searching from (defaults to cwd)
|
|
76
|
+
* @returns Loaded configuration or null if not found
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const config = await loader.loadFromFile();
|
|
81
|
+
* if (config) {
|
|
82
|
+
* console.log('Loaded from:', config.name);
|
|
83
|
+
* }
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
async loadFromFile(startDir) {
|
|
87
|
+
const searchDir = startDir ?? process.cwd();
|
|
88
|
+
// Search for config files
|
|
89
|
+
for (const configFile of this.configFiles) {
|
|
90
|
+
const filePath = this.findConfigFile(configFile, searchDir);
|
|
91
|
+
if (filePath) {
|
|
92
|
+
return this.loadConfigFile(filePath);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Also try loading from package.json
|
|
96
|
+
const packageConfig = this.loadFromPackageJson(searchDir);
|
|
97
|
+
if (packageConfig) {
|
|
98
|
+
return packageConfig;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Find a configuration file by searching up the directory tree
|
|
104
|
+
*
|
|
105
|
+
* @param filename - Config filename to search for
|
|
106
|
+
* @param startDir - Directory to start searching from
|
|
107
|
+
* @returns Full path to config file or null if not found
|
|
108
|
+
*/
|
|
109
|
+
findConfigFile(filename, startDir) {
|
|
110
|
+
let currentDir = resolve(startDir);
|
|
111
|
+
const root = resolve('/');
|
|
112
|
+
while (currentDir !== root) {
|
|
113
|
+
const filePath = resolve(currentDir, filename);
|
|
114
|
+
if (existsSync(filePath)) {
|
|
115
|
+
return filePath;
|
|
116
|
+
}
|
|
117
|
+
// Move up one directory
|
|
118
|
+
const parentDir = dirname(currentDir);
|
|
119
|
+
if (parentDir === currentDir) {
|
|
120
|
+
break; // Reached root
|
|
121
|
+
}
|
|
122
|
+
currentDir = parentDir;
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Load and parse a configuration file
|
|
128
|
+
*
|
|
129
|
+
* @param filePath - Path to configuration file
|
|
130
|
+
* @returns Parsed configuration
|
|
131
|
+
* @throws If file cannot be read or parsed
|
|
132
|
+
*/
|
|
133
|
+
loadConfigFile(filePath) {
|
|
134
|
+
try {
|
|
135
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
136
|
+
const config = JSON.parse(content);
|
|
137
|
+
return config;
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
console.warn(`Failed to load config file ${filePath}:`, error);
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Load KADI configuration from package.json
|
|
146
|
+
*
|
|
147
|
+
* Looks for a "kadi" field in package.json
|
|
148
|
+
*
|
|
149
|
+
* @param startDir - Directory to start searching from
|
|
150
|
+
* @returns Configuration from package.json or null
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```json
|
|
154
|
+
* // package.json
|
|
155
|
+
* {
|
|
156
|
+
* "name": "my-package",
|
|
157
|
+
* "kadi": {
|
|
158
|
+
* "name": "my-service",
|
|
159
|
+
* "brokers": {
|
|
160
|
+
* "local": "ws://localhost:8080"
|
|
161
|
+
* }
|
|
162
|
+
* }
|
|
163
|
+
* }
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
loadFromPackageJson(startDir) {
|
|
167
|
+
const packageJsonPath = this.findConfigFile('package.json', startDir);
|
|
168
|
+
if (!packageJsonPath) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
const content = readFileSync(packageJsonPath, 'utf-8');
|
|
173
|
+
const packageJson = JSON.parse(content);
|
|
174
|
+
if (packageJson.kadi) {
|
|
175
|
+
return packageJson.kadi;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
// Ignore package.json errors - it's optional
|
|
180
|
+
}
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Parse transport string to TransportKind
|
|
185
|
+
*
|
|
186
|
+
* @param value - Transport string
|
|
187
|
+
* @returns TransportKind or undefined
|
|
188
|
+
*/
|
|
189
|
+
parseTransport(value) {
|
|
190
|
+
if (!value) {
|
|
191
|
+
return undefined;
|
|
192
|
+
}
|
|
193
|
+
const lower = value.toLowerCase();
|
|
194
|
+
if (lower === 'native' || lower === 'stdio' || lower === 'broker') {
|
|
195
|
+
return lower;
|
|
196
|
+
}
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Get configuration file path if one exists
|
|
201
|
+
*
|
|
202
|
+
* Useful for debugging and logging which config file is being used.
|
|
203
|
+
*
|
|
204
|
+
* @param startDir - Directory to start searching from
|
|
205
|
+
* @returns Path to config file or null
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* const configPath = loader.getConfigPath();
|
|
210
|
+
* if (configPath) {
|
|
211
|
+
* console.log('Using config from:', configPath);
|
|
212
|
+
* }
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
getConfigPath(startDir) {
|
|
216
|
+
const searchDir = startDir ?? process.cwd();
|
|
217
|
+
for (const configFile of this.configFiles) {
|
|
218
|
+
const filePath = this.findConfigFile(configFile, searchDir);
|
|
219
|
+
if (filePath) {
|
|
220
|
+
return filePath;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return null;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=ConfigLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/config/ConfigLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Resolver
|
|
3
|
+
*
|
|
4
|
+
* Resolves configuration from multiple sources with clear precedence:
|
|
5
|
+
* 1. Code (explicit parameters) - Highest priority
|
|
6
|
+
* 2. Environment variables
|
|
7
|
+
* 3. Configuration file (agent.json)
|
|
8
|
+
* 4. Defaults - Lowest priority
|
|
9
|
+
*
|
|
10
|
+
* @module config/ConfigResolver
|
|
11
|
+
*/
|
|
12
|
+
import type { KadiConfig, ResolvedConfig } from '../types/index.js';
|
|
13
|
+
import { ConfigLoader } from './ConfigLoader.js';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration Resolver
|
|
16
|
+
*
|
|
17
|
+
* Handles merging configuration from multiple sources with well-defined precedence.
|
|
18
|
+
* Makes configuration predictable and debuggable.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const resolver = new ConfigResolver();
|
|
23
|
+
*
|
|
24
|
+
* // Simple string config
|
|
25
|
+
* const config = await resolver.resolve('ws://localhost:8080');
|
|
26
|
+
*
|
|
27
|
+
* // Full config object
|
|
28
|
+
* const config = await resolver.resolve({
|
|
29
|
+
* name: 'my-service',
|
|
30
|
+
* brokers: { local: 'ws://localhost:8080' }
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class ConfigResolver {
|
|
35
|
+
private readonly loader;
|
|
36
|
+
/**
|
|
37
|
+
* Create a new ConfigResolver
|
|
38
|
+
*
|
|
39
|
+
* @param loader - Optional custom config loader (for testing)
|
|
40
|
+
*/
|
|
41
|
+
constructor(loader?: ConfigLoader);
|
|
42
|
+
/**
|
|
43
|
+
* Resolve complete configuration from multiple sources
|
|
44
|
+
*
|
|
45
|
+
* Precedence (highest to lowest):
|
|
46
|
+
* 1. Explicit code configuration
|
|
47
|
+
* 2. Environment variables
|
|
48
|
+
* 3. Configuration file (agent.json)
|
|
49
|
+
* 4. Default values
|
|
50
|
+
*
|
|
51
|
+
* @param config - Configuration string (broker URL) or object
|
|
52
|
+
* @returns Fully resolved configuration with sources tracked
|
|
53
|
+
*
|
|
54
|
+
* @throws {KadiError} If configuration is invalid
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Simple broker URL
|
|
59
|
+
* const resolved = await resolver.resolve('ws://localhost:8080');
|
|
60
|
+
*
|
|
61
|
+
* // Full configuration
|
|
62
|
+
* const resolved = await resolver.resolve({
|
|
63
|
+
* name: 'calculator',
|
|
64
|
+
* brokers: { local: 'ws://localhost:8080' },
|
|
65
|
+
* networks: ['global', 'team']
|
|
66
|
+
* });
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
resolve(config: KadiConfig): Promise<ResolvedConfig>;
|
|
70
|
+
/**
|
|
71
|
+
* Normalize configuration input
|
|
72
|
+
*
|
|
73
|
+
* Converts string (broker URL) to object form
|
|
74
|
+
*
|
|
75
|
+
* @param config - Configuration input
|
|
76
|
+
* @returns Normalized configuration object
|
|
77
|
+
*/
|
|
78
|
+
private normalizeConfig;
|
|
79
|
+
/**
|
|
80
|
+
* Resolve a single field with precedence
|
|
81
|
+
*
|
|
82
|
+
* @template T - Field value type
|
|
83
|
+
* @param fieldName - Name of the field being resolved
|
|
84
|
+
* @param codeValue - Value from code
|
|
85
|
+
* @param envValue - Value from environment
|
|
86
|
+
* @param fileValue - Value from file
|
|
87
|
+
* @param defaultValue - Default value
|
|
88
|
+
* @param sources - Source tracking object
|
|
89
|
+
* @returns Resolved value
|
|
90
|
+
*/
|
|
91
|
+
private resolveField;
|
|
92
|
+
/**
|
|
93
|
+
* Resolve broker configuration
|
|
94
|
+
*
|
|
95
|
+
* @param codeConfig - Code configuration
|
|
96
|
+
* @param envConfig - Environment configuration
|
|
97
|
+
* @param fileConfig - File configuration
|
|
98
|
+
* @param sources - Source tracking
|
|
99
|
+
* @returns Resolved brokers
|
|
100
|
+
*/
|
|
101
|
+
private resolveBrokers;
|
|
102
|
+
/**
|
|
103
|
+
* Resolve networks configuration
|
|
104
|
+
*
|
|
105
|
+
* @param codeConfig - Code configuration
|
|
106
|
+
* @param envConfig - Environment configuration
|
|
107
|
+
* @param fileConfig - File configuration
|
|
108
|
+
* @param sources - Source tracking
|
|
109
|
+
* @returns Resolved networks
|
|
110
|
+
*/
|
|
111
|
+
private resolveNetworks;
|
|
112
|
+
/**
|
|
113
|
+
* Resolve advanced configuration
|
|
114
|
+
*
|
|
115
|
+
* @param codeConfig - Code configuration
|
|
116
|
+
* @param sources - Source tracking
|
|
117
|
+
* @returns Resolved advanced config
|
|
118
|
+
*/
|
|
119
|
+
private resolveAdvanced;
|
|
120
|
+
/**
|
|
121
|
+
* Validate resolved configuration
|
|
122
|
+
*
|
|
123
|
+
* @param config - Resolved configuration
|
|
124
|
+
* @throws {KadiError} If configuration is invalid
|
|
125
|
+
*/
|
|
126
|
+
private validateConfig;
|
|
127
|
+
/**
|
|
128
|
+
* Parse boolean from string
|
|
129
|
+
*
|
|
130
|
+
* @param value - String value
|
|
131
|
+
* @returns Boolean or undefined
|
|
132
|
+
*/
|
|
133
|
+
private parseBoolean;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=ConfigResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigResolver.d.ts","sourceRoot":"","sources":["../../src/config/ConfigResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAEV,UAAU,EACV,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAqBjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC;;;;OAIG;gBACS,MAAM,CAAC,EAAE,YAAY;IAIjC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAmC1D;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IAoCpB;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAavB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAuDtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAerB"}
|