@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.
Files changed (179) hide show
  1. package/README.md +1387 -214
  2. package/dist/abilities/AbilityCache.d.ts +242 -0
  3. package/dist/abilities/AbilityCache.d.ts.map +1 -0
  4. package/dist/abilities/AbilityCache.js +285 -0
  5. package/dist/abilities/AbilityCache.js.map +1 -0
  6. package/dist/abilities/AbilityContext.d.ts +215 -0
  7. package/dist/abilities/AbilityContext.d.ts.map +1 -0
  8. package/dist/abilities/AbilityContext.js +36 -0
  9. package/dist/abilities/AbilityContext.js.map +1 -0
  10. package/dist/abilities/AbilityLoader.d.ts +177 -0
  11. package/dist/abilities/AbilityLoader.d.ts.map +1 -0
  12. package/dist/abilities/AbilityLoader.js +277 -0
  13. package/dist/abilities/AbilityLoader.js.map +1 -0
  14. package/dist/abilities/AbilityProxy.d.ts +463 -0
  15. package/dist/abilities/AbilityProxy.d.ts.map +1 -0
  16. package/dist/abilities/AbilityProxy.js +511 -0
  17. package/dist/abilities/AbilityProxy.js.map +1 -0
  18. package/dist/abilities/AbilityValidator.d.ts +172 -0
  19. package/dist/abilities/AbilityValidator.d.ts.map +1 -0
  20. package/dist/abilities/AbilityValidator.js +253 -0
  21. package/dist/abilities/AbilityValidator.js.map +1 -0
  22. package/dist/abilities/index.d.ts +26 -0
  23. package/dist/abilities/index.d.ts.map +1 -0
  24. package/dist/abilities/index.js +23 -0
  25. package/dist/abilities/index.js.map +1 -0
  26. package/dist/abilities/types.d.ts +156 -0
  27. package/dist/abilities/types.d.ts.map +1 -0
  28. package/dist/abilities/types.js +10 -0
  29. package/dist/abilities/types.js.map +1 -0
  30. package/dist/api/index.d.ts +92 -0
  31. package/dist/api/index.d.ts.map +1 -0
  32. package/dist/api/index.js +124 -0
  33. package/dist/api/index.js.map +1 -0
  34. package/dist/broker/BrokerConnection.d.ts +253 -0
  35. package/dist/broker/BrokerConnection.d.ts.map +1 -0
  36. package/dist/broker/BrokerConnection.js +434 -0
  37. package/dist/broker/BrokerConnection.js.map +1 -0
  38. package/dist/broker/BrokerConnectionManager.d.ts +216 -0
  39. package/dist/broker/BrokerConnectionManager.d.ts.map +1 -0
  40. package/dist/broker/BrokerConnectionManager.js +305 -0
  41. package/dist/broker/BrokerConnectionManager.js.map +1 -0
  42. package/dist/broker/BrokerProtocol.d.ts +280 -0
  43. package/dist/broker/BrokerProtocol.d.ts.map +1 -0
  44. package/dist/broker/BrokerProtocol.js +466 -0
  45. package/dist/broker/BrokerProtocol.js.map +1 -0
  46. package/dist/broker/index.d.ts +9 -0
  47. package/dist/broker/index.d.ts.map +1 -0
  48. package/dist/broker/index.js +9 -0
  49. package/dist/broker/index.js.map +1 -0
  50. package/dist/client/KadiClient.d.ts +270 -0
  51. package/dist/client/KadiClient.d.ts.map +1 -0
  52. package/dist/client/KadiClient.js +492 -0
  53. package/dist/client/KadiClient.js.map +1 -0
  54. package/dist/client/index.d.ts +7 -0
  55. package/dist/client/index.d.ts.map +1 -0
  56. package/dist/client/index.js +7 -0
  57. package/dist/client/index.js.map +1 -0
  58. package/dist/config/ConfigLoader.d.ts +138 -0
  59. package/dist/config/ConfigLoader.d.ts.map +1 -0
  60. package/dist/config/ConfigLoader.js +226 -0
  61. package/dist/config/ConfigLoader.js.map +1 -0
  62. package/dist/config/ConfigResolver.d.ts +135 -0
  63. package/dist/config/ConfigResolver.d.ts.map +1 -0
  64. package/dist/config/ConfigResolver.js +282 -0
  65. package/dist/config/ConfigResolver.js.map +1 -0
  66. package/dist/config/index.d.ts +8 -0
  67. package/dist/config/index.d.ts.map +1 -0
  68. package/dist/config/index.js +8 -0
  69. package/dist/config/index.js.map +1 -0
  70. package/dist/errors/index.d.ts +9 -0
  71. package/dist/errors/index.d.ts.map +1 -0
  72. package/dist/errors/index.js +8 -0
  73. package/dist/errors/index.js.map +1 -0
  74. package/dist/events/EventHub.d.ts +172 -0
  75. package/dist/events/EventHub.d.ts.map +1 -0
  76. package/dist/events/EventHub.js +333 -0
  77. package/dist/events/EventHub.js.map +1 -0
  78. package/dist/events/index.d.ts +7 -0
  79. package/dist/events/index.d.ts.map +1 -0
  80. package/dist/events/index.js +7 -0
  81. package/dist/events/index.js.map +1 -0
  82. package/dist/index.d.ts +49 -0
  83. package/dist/index.d.ts.map +1 -0
  84. package/dist/index.js +63 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/messages/index.d.ts +33 -0
  87. package/dist/messages/index.d.ts.map +1 -0
  88. package/dist/messages/index.js +33 -0
  89. package/dist/messages/index.js.map +1 -0
  90. package/dist/schemas/index.d.ts +19 -0
  91. package/dist/schemas/index.d.ts.map +1 -0
  92. package/dist/schemas/index.js +25 -0
  93. package/dist/schemas/index.js.map +1 -0
  94. package/dist/schemas/kadi-extensions.d.ts +231 -0
  95. package/dist/schemas/kadi-extensions.d.ts.map +1 -0
  96. package/dist/schemas/kadi-extensions.js +14 -0
  97. package/dist/schemas/kadi-extensions.js.map +1 -0
  98. package/dist/schemas/mcp/schema.d.ts +1399 -0
  99. package/dist/schemas/mcp/schema.d.ts.map +1 -0
  100. package/dist/schemas/mcp/schema.js +53 -0
  101. package/dist/schemas/mcp/schema.js.map +1 -0
  102. package/dist/schemas/mcp/version.d.ts +37 -0
  103. package/dist/schemas/mcp/version.d.ts.map +1 -0
  104. package/dist/schemas/mcp/version.js +39 -0
  105. package/dist/schemas/mcp/version.js.map +1 -0
  106. package/dist/schemas/schema-builders.d.ts +178 -0
  107. package/dist/schemas/schema-builders.d.ts.map +1 -0
  108. package/dist/schemas/schema-builders.js +258 -0
  109. package/dist/schemas/schema-builders.js.map +1 -0
  110. package/dist/tools/ToolRegistry.d.ts +256 -0
  111. package/dist/tools/ToolRegistry.d.ts.map +1 -0
  112. package/dist/tools/ToolRegistry.js +340 -0
  113. package/dist/tools/ToolRegistry.js.map +1 -0
  114. package/dist/tools/index.d.ts +7 -0
  115. package/dist/tools/index.d.ts.map +1 -0
  116. package/dist/tools/index.js +7 -0
  117. package/dist/tools/index.js.map +1 -0
  118. package/dist/transports/BrokerTransport.d.ts +151 -0
  119. package/dist/transports/BrokerTransport.d.ts.map +1 -0
  120. package/dist/transports/BrokerTransport.js +261 -0
  121. package/dist/transports/BrokerTransport.js.map +1 -0
  122. package/dist/transports/NativeTransport.d.ts +149 -0
  123. package/dist/transports/NativeTransport.d.ts.map +1 -0
  124. package/dist/transports/NativeTransport.js +302 -0
  125. package/dist/transports/NativeTransport.js.map +1 -0
  126. package/dist/transports/StdioTransport.d.ts +172 -0
  127. package/dist/transports/StdioTransport.d.ts.map +1 -0
  128. package/dist/transports/StdioTransport.js +410 -0
  129. package/dist/transports/StdioTransport.js.map +1 -0
  130. package/dist/transports/index.d.ts +10 -0
  131. package/dist/transports/index.d.ts.map +1 -0
  132. package/dist/transports/index.js +9 -0
  133. package/dist/transports/index.js.map +1 -0
  134. package/dist/types/broker.d.ts +301 -0
  135. package/dist/types/broker.d.ts.map +1 -0
  136. package/dist/types/broker.js +46 -0
  137. package/dist/types/broker.js.map +1 -0
  138. package/dist/types/config.d.ts +325 -0
  139. package/dist/types/config.d.ts.map +1 -0
  140. package/dist/types/config.js +17 -0
  141. package/dist/types/config.js.map +1 -0
  142. package/dist/types/errors.d.ts +178 -0
  143. package/dist/types/errors.d.ts.map +1 -0
  144. package/dist/types/errors.js +165 -0
  145. package/dist/types/errors.js.map +1 -0
  146. package/dist/types/events.d.ts +210 -0
  147. package/dist/types/events.d.ts.map +1 -0
  148. package/dist/types/events.js +8 -0
  149. package/dist/types/events.js.map +1 -0
  150. package/dist/types/index.d.ts +32 -0
  151. package/dist/types/index.d.ts.map +1 -0
  152. package/dist/types/index.js +21 -0
  153. package/dist/types/index.js.map +1 -0
  154. package/dist/types/protocol.d.ts +48 -0
  155. package/dist/types/protocol.d.ts.map +1 -0
  156. package/dist/types/protocol.js +11 -0
  157. package/dist/types/protocol.js.map +1 -0
  158. package/dist/types/tools.d.ts +67 -0
  159. package/dist/types/tools.d.ts.map +1 -0
  160. package/dist/types/tools.js +16 -0
  161. package/dist/types/tools.js.map +1 -0
  162. package/dist/types/transport.d.ts +250 -0
  163. package/dist/types/transport.d.ts.map +1 -0
  164. package/dist/types/transport.js +18 -0
  165. package/dist/types/transport.js.map +1 -0
  166. package/dist/validation/SchemaValidator.d.ts +208 -0
  167. package/dist/validation/SchemaValidator.d.ts.map +1 -0
  168. package/dist/validation/SchemaValidator.js +411 -0
  169. package/dist/validation/SchemaValidator.js.map +1 -0
  170. package/dist/validation/index.d.ts +11 -0
  171. package/dist/validation/index.d.ts.map +1 -0
  172. package/dist/validation/index.js +10 -0
  173. package/dist/validation/index.js.map +1 -0
  174. package/package.json +69 -5
  175. package/agent.json +0 -18
  176. package/broker.js +0 -214
  177. package/index.js +0 -370
  178. package/ipc.js +0 -220
  179. package/ipcInterfaces/pythonAbilityIPC.py +0 -177
package/dist/index.js ADDED
@@ -0,0 +1,63 @@
1
+ /**
2
+ * KADI Core V2
3
+ *
4
+ * Main entry point for the KADI framework.
5
+ * Provides a clean, typed, and intuitive API for building distributed systems.
6
+ *
7
+ * **Breaking Changes (v2.0.0)**:
8
+ * - Replaced Zod schemas with MCP (Model Context Protocol) JSON Schemas
9
+ * - Full MCP compliance with KADI extensions
10
+ * - See migration guide for upgrading from v1.x
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ // Main client
15
+ export { KadiClient } from './client/index.js';
16
+ // Simplified API (user-friendly wrapper)
17
+ export * as Kadi from './api/index.js';
18
+ // Error types and class
19
+ export { KadiError, isKadiError, isError, ErrorCode } from './errors/index.js';
20
+ // Abilities
21
+ export { AbilityLoader, AbilityProxy } from './abilities/index.js';
22
+ export { SchemaValidator } from './validation/index.js';
23
+ /**
24
+ * Broker-specific error code subset
25
+ */
26
+ export const BrokerErrorCodes = {
27
+ SCHEMA_VALIDATION_FAILED: 'SCHEMA_VALIDATION_FAILED',
28
+ TOOL_VALIDATION_FAILED: 'TOOL_VALIDATION_FAILED',
29
+ BROKER_RESPONSE_ERROR: 'BROKER_RESPONSE_ERROR',
30
+ BROKER_TIMEOUT: 'BROKER_TIMEOUT',
31
+ BROKER_SCHEMA_COMPILATION_ERROR: 'BROKER_SCHEMA_COMPILATION_ERROR',
32
+ TOOL_NOT_FOUND: 'TOOL_NOT_FOUND',
33
+ TOOL_INVOCATION_FAILED: 'TOOL_INVOCATION_FAILED',
34
+ INVALID_INPUT: 'INVALID_INPUT',
35
+ INTERNAL_ERROR: 'INTERNAL_ERROR'
36
+ };
37
+ /**
38
+ * Validate tool schemas for MCP compliance
39
+ *
40
+ * @param inputSchema - Input schema
41
+ * @param outputSchema - Output schema (optional)
42
+ * @param toolName - Tool name for error messages
43
+ * @returns Validation result
44
+ */
45
+ export function validateToolSchemas(inputSchema, outputSchema, toolName) {
46
+ const errors = [];
47
+ if (!inputSchema || typeof inputSchema !== 'object') {
48
+ errors.push(`Tool '${toolName}': inputSchema must be an object`);
49
+ }
50
+ else if (inputSchema.type !== 'object') {
51
+ errors.push(`Tool '${toolName}': inputSchema.type must be 'object' (MCP requirement)`);
52
+ }
53
+ if (outputSchema && outputSchema.type && outputSchema.type !== 'object') {
54
+ errors.push(`Tool '${toolName}': outputSchema.type should be 'object'`);
55
+ }
56
+ return { valid: errors.length === 0, errors };
57
+ }
58
+ export {
59
+ // MCP version
60
+ MCP_SCHEMA_VERSION, MCP_SPEC_URL, getMcpVersionInfo,
61
+ // Schema builders (DX helpers)
62
+ buildTool, stringProp, numberProp, integerProp, booleanProp, arrayProp, objectProp, enumProp, optional } from './schemas/index.js';
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,yCAAyC;AACzC,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AAyCvC,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE/E,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASnE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,wBAAwB,EAAE,0BAA0B;IACpD,sBAAsB,EAAE,wBAAwB;IAChD,qBAAqB,EAAE,uBAAuB;IAC9C,cAAc,EAAE,gBAAgB;IAChC,+BAA+B,EAAE,iCAAiC;IAClE,cAAc,EAAE,gBAAgB;IAChC,sBAAsB,EAAE,wBAAwB;IAChD,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAoC,EACpC,YAAiD,EACjD,QAAgB;IAEhB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,kCAAkC,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,wDAAwD,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,SAAS,QAAQ,yCAAyC,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,OAAO;AACL,cAAc;AACd,kBAAkB,EAClB,YAAY,EACZ,iBAAiB;AAEjB,+BAA+B;AAC/B,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EACT,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * KADI Protocol Messages
3
+ * =======================
4
+ *
5
+ * Protocol message constants used by kadi-broker and agents.
6
+ *
7
+ * @module messages
8
+ */
9
+ /**
10
+ * KADI Protocol Message Constants
11
+ *
12
+ * These define the method names for KADI broker protocol messages.
13
+ */
14
+ export declare const KadiMessages: {
15
+ readonly SESSION_HELLO: "kadi.session.hello";
16
+ readonly SESSION_AUTHENTICATE: "kadi.session.authenticate";
17
+ readonly SESSION_PING: "kadi.session.ping";
18
+ readonly SESSION_GOODBYE: "kadi.session.goodbye";
19
+ readonly AGENT_REGISTER: "kadi.agent.register";
20
+ readonly ABILITY_REQUEST: "kadi.ability.request";
21
+ readonly ABILITY_RESULT: "kadi.ability.result";
22
+ readonly ABILITY_LIST: "kadi.ability.list";
23
+ readonly ABILITY_PENDING: "kadi.ability.pending";
24
+ readonly EVENT_SUBSCRIBE: "kadi.event.subscribe";
25
+ readonly EVENT_UNSUBSCRIBE: "kadi.event.unsubscribe";
26
+ readonly EVENT_PUBLISH: "kadi.event.publish";
27
+ readonly EVENT_DELIVERY: "kadi.event.delivery";
28
+ };
29
+ /**
30
+ * Type representing all valid KADI message method names
31
+ */
32
+ export type KadiMessageMethod = typeof KadiMessages[keyof typeof KadiMessages];
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;CAqBf,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * KADI Protocol Messages
3
+ * =======================
4
+ *
5
+ * Protocol message constants used by kadi-broker and agents.
6
+ *
7
+ * @module messages
8
+ */
9
+ /**
10
+ * KADI Protocol Message Constants
11
+ *
12
+ * These define the method names for KADI broker protocol messages.
13
+ */
14
+ export const KadiMessages = {
15
+ // Session lifecycle
16
+ SESSION_HELLO: 'kadi.session.hello',
17
+ SESSION_AUTHENTICATE: 'kadi.session.authenticate',
18
+ SESSION_PING: 'kadi.session.ping',
19
+ SESSION_GOODBYE: 'kadi.session.goodbye',
20
+ // Agent registration
21
+ AGENT_REGISTER: 'kadi.agent.register',
22
+ // Ability/Tool operations
23
+ ABILITY_REQUEST: 'kadi.ability.request',
24
+ ABILITY_RESULT: 'kadi.ability.result',
25
+ ABILITY_LIST: 'kadi.ability.list',
26
+ ABILITY_PENDING: 'kadi.ability.pending',
27
+ // Event system
28
+ EVENT_SUBSCRIBE: 'kadi.event.subscribe',
29
+ EVENT_UNSUBSCRIBE: 'kadi.event.unsubscribe',
30
+ EVENT_PUBLISH: 'kadi.event.publish',
31
+ EVENT_DELIVERY: 'kadi.event.delivery'
32
+ };
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/messages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,oBAAoB;IACpB,aAAa,EAAE,oBAAoB;IACnC,oBAAoB,EAAE,2BAA2B;IACjD,YAAY,EAAE,mBAAmB;IACjC,eAAe,EAAE,sBAAsB;IAEvC,qBAAqB;IACrB,cAAc,EAAE,qBAAqB;IAErC,0BAA0B;IAC1B,eAAe,EAAE,sBAAsB;IACvC,cAAc,EAAE,qBAAqB;IACrC,YAAY,EAAE,mBAAmB;IACjC,eAAe,EAAE,sBAAsB;IAEvC,eAAe;IACf,eAAe,EAAE,sBAAsB;IACvC,iBAAiB,EAAE,wBAAwB;IAC3C,aAAa,EAAE,oBAAoB;IACnC,cAAc,EAAE,qBAAqB;CAC7B,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * KADI Schemas Module
3
+ * ====================
4
+ *
5
+ * This module provides MCP (Model Context Protocol) schemas and KADI extensions.
6
+ *
7
+ * **Architecture**:
8
+ * - `mcp/` - Official MCP schemas (verbatim copy from spec)
9
+ * - `kadi-extensions.ts` - KADI-specific extensions to MCP
10
+ * - `schema-builders.ts` - Developer-friendly schema builders
11
+ *
12
+ * @module schemas
13
+ */
14
+ export type { JSONRPCMessage, JSONRPCRequest, JSONRPCNotification, JSONRPCResponse, JSONRPCError, RequestId, Request, Notification, Result, EmptyResult, Tool as McpTool, ToolAnnotations, ListToolsRequest, ListToolsResult, CallToolRequest, CallToolResult as McpCallToolResult, ToolListChangedNotification, InitializeRequest, InitializeResult, InitializedNotification, ClientCapabilities, ServerCapabilities, ContentBlock, TextContent, ImageContent, AudioContent, Resource, ResourceTemplate, ResourceContents, TextResourceContents, BlobResourceContents, ListResourcesRequest, ListResourcesResult, ReadResourceRequest, ReadResourceResult, Prompt, PromptMessage, ListPromptsRequest, ListPromptsResult, GetPromptRequest, GetPromptResult, ProgressToken, ProgressNotification, Cursor, PaginatedRequest, PaginatedResult, LoggingLevel, LoggingMessageNotification, BaseMetadata, Implementation, Annotations } from './mcp/schema.js';
15
+ export { LATEST_PROTOCOL_VERSION, JSONRPC_VERSION, PARSE_ERROR, INVALID_REQUEST, METHOD_NOT_FOUND, INVALID_PARAMS, INTERNAL_ERROR } from './mcp/schema.js';
16
+ export { MCP_SCHEMA_VERSION, MCP_SPEC_URL, MCP_LICENSE, MCP_COPYRIGHT, getMcpVersionInfo } from './mcp/version.js';
17
+ export type { NetworkId, ToolTag, KadiTool, KadiToolResult, ToolDefinition, ToolHandler, RegisteredTool, NetworkMetadata, ToolDiscoveryQuery, ToolDiscoveryResult } from './kadi-extensions.js';
18
+ export { buildTool, stringProp, numberProp, integerProp, booleanProp, arrayProp, objectProp, enumProp, optional, exampleMathTool, exampleFileTool, exampleBatchTool } from './schema-builders.js';
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,YAAY,EAEV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,SAAS,EAGT,OAAO,EACP,YAAY,EACZ,MAAM,EACN,WAAW,EAGX,IAAI,IAAI,OAAO,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,cAAc,IAAI,iBAAiB,EACnC,2BAA2B,EAG3B,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EAGvB,kBAAkB,EAClB,kBAAkB,EAGlB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EAGZ,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAGlB,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAGf,aAAa,EACb,oBAAoB,EACpB,MAAM,EACN,gBAAgB,EAChB,eAAe,EAGf,YAAY,EACZ,0BAA0B,EAG1B,YAAY,EACZ,cAAc,EACd,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EAEV,SAAS,EACT,OAAO,EACP,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,cAAc,EAGd,eAAe,EAGf,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,EAGR,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * KADI Schemas Module
3
+ * ====================
4
+ *
5
+ * This module provides MCP (Model Context Protocol) schemas and KADI extensions.
6
+ *
7
+ * **Architecture**:
8
+ * - `mcp/` - Official MCP schemas (verbatim copy from spec)
9
+ * - `kadi-extensions.ts` - KADI-specific extensions to MCP
10
+ * - `schema-builders.ts` - Developer-friendly schema builders
11
+ *
12
+ * @module schemas
13
+ */
14
+ export { LATEST_PROTOCOL_VERSION, JSONRPC_VERSION, PARSE_ERROR, INVALID_REQUEST, METHOD_NOT_FOUND, INVALID_PARAMS, INTERNAL_ERROR } from './mcp/schema.js';
15
+ // ============================================================================
16
+ // MCP Version Information
17
+ // ============================================================================
18
+ export { MCP_SCHEMA_VERSION, MCP_SPEC_URL, MCP_LICENSE, MCP_COPYRIGHT, getMcpVersionInfo } from './mcp/version.js';
19
+ // ============================================================================
20
+ // Schema Builders (Developer Experience)
21
+ // ============================================================================
22
+ export { buildTool, stringProp, numberProp, integerProp, booleanProp, arrayProp, objectProp, enumProp, optional,
23
+ // Example tools for reference
24
+ exampleMathTool, exampleFileTool, exampleBatchTool } from './schema-builders.js';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiFH,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,cAAc,EACf,MAAM,iBAAiB,CAAC;AAEzB,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAwB1B,+EAA+E;AAC/E,yCAAyC;AACzC,+EAA+E;AAE/E,OAAO,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ;AAER,8BAA8B;AAC9B,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * KADI Extensions for MCP Schemas
3
+ * =================================
4
+ *
5
+ * This file defines KADI-specific extensions to the Model Context Protocol (MCP)
6
+ * schemas. These extensions add functionality needed for the KADI ecosystem while
7
+ * maintaining compatibility with the core MCP specification.
8
+ *
9
+ * **Philosophy**: Keep MCP schemas pure, add KADI extensions separately.
10
+ *
11
+ * @module schemas/kadi-extensions
12
+ */
13
+ import type { Tool as McpTool, CallToolResult as McpCallToolResult } from './mcp/schema.js';
14
+ /**
15
+ * Network identifier in KADI ecosystem
16
+ *
17
+ * Networks provide logical isolation for tools, agents, and events.
18
+ * Examples: 'global', 'local', 'trading', 'development'
19
+ */
20
+ export type NetworkId = string;
21
+ /**
22
+ * Tool tags for routing and selection hints
23
+ *
24
+ * Tags help with intelligent tool selection and routing.
25
+ * Examples: 'cpu-intensive', 'batch', 'real-time', 'gpu', 'distributed'
26
+ */
27
+ export type ToolTag = string;
28
+ /**
29
+ * KADI Tool - Extends MCP Tool with KADI-specific metadata
30
+ *
31
+ * This interface adds KADI-specific features while maintaining full
32
+ * compatibility with the MCP Tool specification.
33
+ *
34
+ * **Extensions**:
35
+ * - `version`: Semantic versioning for tools
36
+ * - `tags`: Routing and selection hints
37
+ * - `networks`: Network isolation for tools
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const tool: KadiTool = {
42
+ * name: 'calculator.add',
43
+ * description: 'Add two numbers',
44
+ * version: '1.0.0',
45
+ * tags: ['math', 'basic'],
46
+ * networks: ['global'],
47
+ * inputSchema: {
48
+ * type: 'object',
49
+ * properties: {
50
+ * a: { type: 'number' },
51
+ * b: { type: 'number' }
52
+ * },
53
+ * required: ['a', 'b']
54
+ * },
55
+ * outputSchema: {
56
+ * type: 'object',
57
+ * properties: {
58
+ * result: { type: 'number' }
59
+ * }
60
+ * }
61
+ * };
62
+ * ```
63
+ */
64
+ export interface KadiTool extends McpTool {
65
+ /**
66
+ * Semantic version of the tool
67
+ *
68
+ * Format: MAJOR.MINOR.PATCH (e.g., "1.0.0", "2.3.1")
69
+ * Follows semver specification: https://semver.org/
70
+ */
71
+ version?: string;
72
+ /**
73
+ * Tags for routing and selection
74
+ *
75
+ * Hints for intelligent tool selection and routing.
76
+ * Examples:
77
+ * - Performance hints: 'cpu-intensive', 'memory-heavy', 'gpu-required'
78
+ * - Execution hints: 'batch', 'real-time', 'async'
79
+ * - Domain hints: 'math', 'crypto', 'file-ops', 'network'
80
+ */
81
+ tags?: ToolTag[];
82
+ /**
83
+ * Networks this tool is available on
84
+ *
85
+ * Tools can be scoped to specific networks for isolation and organization.
86
+ * If not specified, defaults to ['global'].
87
+ */
88
+ networks?: NetworkId[];
89
+ }
90
+ /**
91
+ * KADI Tool Result - Extends MCP CallToolResult
92
+ *
93
+ * Maintains compatibility with MCP while allowing for KADI-specific
94
+ * metadata in the `_meta` field.
95
+ */
96
+ export interface KadiToolResult extends McpCallToolResult {
97
+ /**
98
+ * Extended metadata for KADI
99
+ *
100
+ * Can include execution metadata like:
101
+ * - `executionTime`: Time taken to execute (ms)
102
+ * - `agentId`: Agent that executed the tool
103
+ * - `networkId`: Network the tool was executed on
104
+ * - `cacheHit`: Whether result was cached
105
+ */
106
+ _meta?: {
107
+ executionTime?: number;
108
+ agentId?: string;
109
+ networkId?: string;
110
+ cacheHit?: boolean;
111
+ [key: string]: unknown;
112
+ };
113
+ }
114
+ /**
115
+ * Tool definition for registration
116
+ *
117
+ * Simplified interface for registering tools. Omits the handler function
118
+ * which is stored separately in the ToolRegistry.
119
+ */
120
+ export type ToolDefinition = Omit<KadiTool, 'annotations'> & {
121
+ /**
122
+ * Optional annotations from MCP spec
123
+ */
124
+ annotations?: McpTool['annotations'];
125
+ };
126
+ /**
127
+ * Tool handler function
128
+ *
129
+ * @template TInput - Input parameters type
130
+ * @template TOutput - Output/result type
131
+ * @param params - Input parameters (validated against inputSchema)
132
+ * @returns Tool result (validated against outputSchema if present)
133
+ */
134
+ export type ToolHandler<TInput = unknown, TOutput = unknown> = (params: TInput) => Promise<TOutput> | TOutput;
135
+ /**
136
+ * Registered tool with handler
137
+ *
138
+ * Internal representation of a registered tool, including its handler.
139
+ */
140
+ export interface RegisteredTool<TInput = unknown, TOutput = unknown> {
141
+ /**
142
+ * Tool definition (MCP-compliant)
143
+ */
144
+ definition: KadiTool;
145
+ /**
146
+ * Tool handler function
147
+ */
148
+ handler: ToolHandler<TInput, TOutput>;
149
+ /**
150
+ * Registration timestamp
151
+ */
152
+ registeredAt: number;
153
+ /**
154
+ * Agent/service that registered this tool
155
+ */
156
+ registeredBy?: string;
157
+ }
158
+ /**
159
+ * Network metadata
160
+ *
161
+ * Information about a KADI network.
162
+ */
163
+ export interface NetworkMetadata {
164
+ /**
165
+ * Network identifier
166
+ */
167
+ id: NetworkId;
168
+ /**
169
+ * Human-readable network name
170
+ */
171
+ name: string;
172
+ /**
173
+ * Network description
174
+ */
175
+ description?: string;
176
+ /**
177
+ * Whether this is a public or private network
178
+ */
179
+ public: boolean;
180
+ /**
181
+ * Network creation timestamp
182
+ */
183
+ createdAt: number;
184
+ }
185
+ /**
186
+ * Tool discovery query
187
+ *
188
+ * Used to search for tools across networks.
189
+ */
190
+ export interface ToolDiscoveryQuery {
191
+ /**
192
+ * Tool name or pattern (supports wildcards)
193
+ */
194
+ name?: string;
195
+ /**
196
+ * Filter by tags (OR logic)
197
+ */
198
+ tags?: ToolTag[];
199
+ /**
200
+ * Filter by networks
201
+ */
202
+ networks?: NetworkId[];
203
+ /**
204
+ * Filter by version (exact match or range)
205
+ */
206
+ version?: string;
207
+ /**
208
+ * Maximum results to return
209
+ */
210
+ limit?: number;
211
+ }
212
+ /**
213
+ * Tool discovery result
214
+ *
215
+ * Result of a tool discovery query.
216
+ */
217
+ export interface ToolDiscoveryResult {
218
+ /**
219
+ * Found tools
220
+ */
221
+ tools: KadiTool[];
222
+ /**
223
+ * Total number of tools matching query (may exceed returned tools)
224
+ */
225
+ total: number;
226
+ /**
227
+ * Pagination cursor (if more results available)
228
+ */
229
+ nextCursor?: string;
230
+ }
231
+ //# sourceMappingURL=kadi-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kadi-extensions.d.ts","sourceRoot":"","sources":["../../src/schemas/kadi-extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,IAAI,OAAO,EAAE,cAAc,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,WAAW,QAAS,SAAQ,OAAO;IACvC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAEjB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD;;;;;;;;OAQG;IACH,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACtC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,CAC7D,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEhC;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACjE;;OAEG;IACH,UAAU,EAAE,QAAQ,CAAC;IAErB;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,EAAE,EAAE,SAAS,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * KADI Extensions for MCP Schemas
3
+ * =================================
4
+ *
5
+ * This file defines KADI-specific extensions to the Model Context Protocol (MCP)
6
+ * schemas. These extensions add functionality needed for the KADI ecosystem while
7
+ * maintaining compatibility with the core MCP specification.
8
+ *
9
+ * **Philosophy**: Keep MCP schemas pure, add KADI extensions separately.
10
+ *
11
+ * @module schemas/kadi-extensions
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=kadi-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kadi-extensions.js","sourceRoot":"","sources":["../../src/schemas/kadi-extensions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}