@teneo-protocol/sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +14 -0
- package/.env.test.example +14 -0
- package/.eslintrc.json +26 -0
- package/.github/workflows/claude-code-review.yml +78 -0
- package/.github/workflows/claude-reviewer.yml +64 -0
- package/.github/workflows/publish-npm.yml +38 -0
- package/.github/workflows/push-to-main.yml +23 -0
- package/.node-version +1 -0
- package/.prettierrc +11 -0
- package/Dockerfile +25 -0
- package/LICENCE +661 -0
- package/README.md +709 -0
- package/dist/constants.d.ts +42 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +45 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/websocket-client.d.ts +261 -0
- package/dist/core/websocket-client.d.ts.map +1 -0
- package/dist/core/websocket-client.js +875 -0
- package/dist/core/websocket-client.js.map +1 -0
- package/dist/formatters/response-formatter.d.ts +354 -0
- package/dist/formatters/response-formatter.d.ts.map +1 -0
- package/dist/formatters/response-formatter.js +575 -0
- package/dist/formatters/response-formatter.js.map +1 -0
- package/dist/handlers/message-handler-registry.d.ts +155 -0
- package/dist/handlers/message-handler-registry.d.ts.map +1 -0
- package/dist/handlers/message-handler-registry.js +216 -0
- package/dist/handlers/message-handler-registry.js.map +1 -0
- package/dist/handlers/message-handlers/agent-selected-handler.d.ts +112 -0
- package/dist/handlers/message-handlers/agent-selected-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/agent-selected-handler.js +40 -0
- package/dist/handlers/message-handlers/agent-selected-handler.js.map +1 -0
- package/dist/handlers/message-handlers/agents-list-handler.d.ts +14 -0
- package/dist/handlers/message-handlers/agents-list-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/agents-list-handler.js +25 -0
- package/dist/handlers/message-handlers/agents-list-handler.js.map +1 -0
- package/dist/handlers/message-handlers/auth-error-handler.d.ts +71 -0
- package/dist/handlers/message-handlers/auth-error-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/auth-error-handler.js +30 -0
- package/dist/handlers/message-handlers/auth-error-handler.js.map +1 -0
- package/dist/handlers/message-handlers/auth-message-handler.d.ts +18 -0
- package/dist/handlers/message-handlers/auth-message-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/auth-message-handler.js +60 -0
- package/dist/handlers/message-handlers/auth-message-handler.js.map +1 -0
- package/dist/handlers/message-handlers/auth-required-handler.d.ts +76 -0
- package/dist/handlers/message-handlers/auth-required-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/auth-required-handler.js +23 -0
- package/dist/handlers/message-handlers/auth-required-handler.js.map +1 -0
- package/dist/handlers/message-handlers/auth-success-handler.d.ts +18 -0
- package/dist/handlers/message-handlers/auth-success-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/auth-success-handler.js +51 -0
- package/dist/handlers/message-handlers/auth-success-handler.js.map +1 -0
- package/dist/handlers/message-handlers/base-handler.d.ts +55 -0
- package/dist/handlers/message-handlers/base-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/base-handler.js +83 -0
- package/dist/handlers/message-handlers/base-handler.js.map +1 -0
- package/dist/handlers/message-handlers/challenge-handler.d.ts +73 -0
- package/dist/handlers/message-handlers/challenge-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/challenge-handler.js +47 -0
- package/dist/handlers/message-handlers/challenge-handler.js.map +1 -0
- package/dist/handlers/message-handlers/error-message-handler.d.ts +76 -0
- package/dist/handlers/message-handlers/error-message-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/error-message-handler.js +29 -0
- package/dist/handlers/message-handlers/error-message-handler.js.map +1 -0
- package/dist/handlers/message-handlers/index.d.ts +28 -0
- package/dist/handlers/message-handlers/index.d.ts.map +1 -0
- package/dist/handlers/message-handlers/index.js +100 -0
- package/dist/handlers/message-handlers/index.js.map +1 -0
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts +122 -0
- package/dist/handlers/message-handlers/list-rooms-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/list-rooms-response-handler.js +30 -0
- package/dist/handlers/message-handlers/list-rooms-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/ping-pong-handler.d.ts +104 -0
- package/dist/handlers/message-handlers/ping-pong-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/ping-pong-handler.js +36 -0
- package/dist/handlers/message-handlers/ping-pong-handler.js.map +1 -0
- package/dist/handlers/message-handlers/regular-message-handler.d.ts +56 -0
- package/dist/handlers/message-handlers/regular-message-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/regular-message-handler.js +59 -0
- package/dist/handlers/message-handlers/regular-message-handler.js.map +1 -0
- package/dist/handlers/message-handlers/subscribe-response-handler.d.ts +81 -0
- package/dist/handlers/message-handlers/subscribe-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/subscribe-response-handler.js +48 -0
- package/dist/handlers/message-handlers/subscribe-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/task-response-handler.d.ts +14 -0
- package/dist/handlers/message-handlers/task-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/task-response-handler.js +44 -0
- package/dist/handlers/message-handlers/task-response-handler.js.map +1 -0
- package/dist/handlers/message-handlers/types.d.ts +51 -0
- package/dist/handlers/message-handlers/types.d.ts.map +1 -0
- package/dist/handlers/message-handlers/types.js +7 -0
- package/dist/handlers/message-handlers/types.js.map +1 -0
- package/dist/handlers/message-handlers/unsubscribe-response-handler.d.ts +81 -0
- package/dist/handlers/message-handlers/unsubscribe-response-handler.d.ts.map +1 -0
- package/dist/handlers/message-handlers/unsubscribe-response-handler.js +48 -0
- package/dist/handlers/message-handlers/unsubscribe-response-handler.js.map +1 -0
- package/dist/handlers/webhook-handler.d.ts +202 -0
- package/dist/handlers/webhook-handler.d.ts.map +1 -0
- package/dist/handlers/webhook-handler.js +511 -0
- package/dist/handlers/webhook-handler.js.map +1 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +217 -0
- package/dist/index.js.map +1 -0
- package/dist/managers/agent-registry.d.ts +173 -0
- package/dist/managers/agent-registry.d.ts.map +1 -0
- package/dist/managers/agent-registry.js +310 -0
- package/dist/managers/agent-registry.js.map +1 -0
- package/dist/managers/connection-manager.d.ts +134 -0
- package/dist/managers/connection-manager.d.ts.map +1 -0
- package/dist/managers/connection-manager.js +176 -0
- package/dist/managers/connection-manager.js.map +1 -0
- package/dist/managers/index.d.ts +9 -0
- package/dist/managers/index.d.ts.map +1 -0
- package/dist/managers/index.js +16 -0
- package/dist/managers/index.js.map +1 -0
- package/dist/managers/message-router.d.ts +112 -0
- package/dist/managers/message-router.d.ts.map +1 -0
- package/dist/managers/message-router.js +260 -0
- package/dist/managers/message-router.js.map +1 -0
- package/dist/managers/room-manager.d.ts +165 -0
- package/dist/managers/room-manager.d.ts.map +1 -0
- package/dist/managers/room-manager.js +227 -0
- package/dist/managers/room-manager.js.map +1 -0
- package/dist/teneo-sdk.d.ts +703 -0
- package/dist/teneo-sdk.d.ts.map +1 -0
- package/dist/teneo-sdk.js +907 -0
- package/dist/teneo-sdk.js.map +1 -0
- package/dist/types/config.d.ts +1047 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +720 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/error-codes.d.ts +29 -0
- package/dist/types/error-codes.d.ts.map +1 -0
- package/dist/types/error-codes.js +41 -0
- package/dist/types/error-codes.js.map +1 -0
- package/dist/types/events.d.ts +616 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +261 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/health.d.ts +40 -0
- package/dist/types/health.d.ts.map +1 -0
- package/dist/types/health.js +6 -0
- package/dist/types/health.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +123 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/messages.d.ts +3734 -0
- package/dist/types/messages.d.ts.map +1 -0
- package/dist/types/messages.js +482 -0
- package/dist/types/messages.js.map +1 -0
- package/dist/types/validation.d.ts +81 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +115 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/utils/bounded-queue.d.ts +127 -0
- package/dist/utils/bounded-queue.d.ts.map +1 -0
- package/dist/utils/bounded-queue.js +181 -0
- package/dist/utils/bounded-queue.js.map +1 -0
- package/dist/utils/circuit-breaker.d.ts +141 -0
- package/dist/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/utils/circuit-breaker.js +215 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/deduplication-cache.d.ts +110 -0
- package/dist/utils/deduplication-cache.d.ts.map +1 -0
- package/dist/utils/deduplication-cache.js +177 -0
- package/dist/utils/deduplication-cache.js.map +1 -0
- package/dist/utils/event-waiter.d.ts +101 -0
- package/dist/utils/event-waiter.d.ts.map +1 -0
- package/dist/utils/event-waiter.js +118 -0
- package/dist/utils/event-waiter.js.map +1 -0
- package/dist/utils/index.d.ts +51 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +72 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +22 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +91 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +122 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +190 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/retry-policy.d.ts +191 -0
- package/dist/utils/retry-policy.d.ts.map +1 -0
- package/dist/utils/retry-policy.js +225 -0
- package/dist/utils/retry-policy.js.map +1 -0
- package/dist/utils/secure-private-key.d.ts +113 -0
- package/dist/utils/secure-private-key.d.ts.map +1 -0
- package/dist/utils/secure-private-key.js +188 -0
- package/dist/utils/secure-private-key.js.map +1 -0
- package/dist/utils/signature-verifier.d.ts +143 -0
- package/dist/utils/signature-verifier.d.ts.map +1 -0
- package/dist/utils/signature-verifier.js +238 -0
- package/dist/utils/signature-verifier.js.map +1 -0
- package/dist/utils/ssrf-validator.d.ts +36 -0
- package/dist/utils/ssrf-validator.d.ts.map +1 -0
- package/dist/utils/ssrf-validator.js +195 -0
- package/dist/utils/ssrf-validator.js.map +1 -0
- package/examples/.env.example +17 -0
- package/examples/basic-usage.ts +211 -0
- package/examples/production-dashboard/.env.example +153 -0
- package/examples/production-dashboard/package.json +39 -0
- package/examples/production-dashboard/public/dashboard.html +642 -0
- package/examples/production-dashboard/server.ts +753 -0
- package/examples/webhook-integration.ts +239 -0
- package/examples/x-influencer-battle-redesign.html +1065 -0
- package/examples/x-influencer-battle-server.ts +217 -0
- package/examples/x-influencer-battle.html +787 -0
- package/package.json +65 -0
- package/src/constants.ts +43 -0
- package/src/core/websocket-client.test.ts +512 -0
- package/src/core/websocket-client.ts +1056 -0
- package/src/formatters/response-formatter.test.ts +571 -0
- package/src/formatters/response-formatter.ts +677 -0
- package/src/handlers/message-handler-registry.ts +239 -0
- package/src/handlers/message-handlers/agent-selected-handler.ts +40 -0
- package/src/handlers/message-handlers/agents-list-handler.ts +26 -0
- package/src/handlers/message-handlers/auth-error-handler.ts +31 -0
- package/src/handlers/message-handlers/auth-message-handler.ts +66 -0
- package/src/handlers/message-handlers/auth-required-handler.ts +23 -0
- package/src/handlers/message-handlers/auth-success-handler.ts +57 -0
- package/src/handlers/message-handlers/base-handler.ts +101 -0
- package/src/handlers/message-handlers/challenge-handler.ts +57 -0
- package/src/handlers/message-handlers/error-message-handler.ts +27 -0
- package/src/handlers/message-handlers/index.ts +77 -0
- package/src/handlers/message-handlers/list-rooms-response-handler.ts +28 -0
- package/src/handlers/message-handlers/ping-pong-handler.ts +30 -0
- package/src/handlers/message-handlers/regular-message-handler.ts +65 -0
- package/src/handlers/message-handlers/subscribe-response-handler.ts +47 -0
- package/src/handlers/message-handlers/task-response-handler.ts +45 -0
- package/src/handlers/message-handlers/types.ts +77 -0
- package/src/handlers/message-handlers/unsubscribe-response-handler.ts +47 -0
- package/src/handlers/webhook-handler.test.ts +789 -0
- package/src/handlers/webhook-handler.ts +576 -0
- package/src/index.ts +269 -0
- package/src/managers/agent-registry.test.ts +466 -0
- package/src/managers/agent-registry.ts +347 -0
- package/src/managers/connection-manager.ts +195 -0
- package/src/managers/index.ts +9 -0
- package/src/managers/message-router.ts +349 -0
- package/src/managers/room-manager.ts +248 -0
- package/src/teneo-sdk.ts +1022 -0
- package/src/types/config.test.ts +325 -0
- package/src/types/config.ts +799 -0
- package/src/types/error-codes.ts +44 -0
- package/src/types/events.test.ts +302 -0
- package/src/types/events.ts +382 -0
- package/src/types/health.ts +46 -0
- package/src/types/index.ts +199 -0
- package/src/types/messages.test.ts +660 -0
- package/src/types/messages.ts +570 -0
- package/src/types/validation.ts +123 -0
- package/src/utils/bounded-queue.test.ts +356 -0
- package/src/utils/bounded-queue.ts +205 -0
- package/src/utils/circuit-breaker.test.ts +394 -0
- package/src/utils/circuit-breaker.ts +262 -0
- package/src/utils/deduplication-cache.test.ts +380 -0
- package/src/utils/deduplication-cache.ts +198 -0
- package/src/utils/event-waiter.test.ts +381 -0
- package/src/utils/event-waiter.ts +172 -0
- package/src/utils/index.ts +74 -0
- package/src/utils/logger.ts +87 -0
- package/src/utils/rate-limiter.test.ts +341 -0
- package/src/utils/rate-limiter.ts +211 -0
- package/src/utils/retry-policy.test.ts +558 -0
- package/src/utils/retry-policy.ts +272 -0
- package/src/utils/secure-private-key.test.ts +356 -0
- package/src/utils/secure-private-key.ts +205 -0
- package/src/utils/signature-verifier.test.ts +464 -0
- package/src/utils/signature-verifier.ts +298 -0
- package/src/utils/ssrf-validator.test.ts +372 -0
- package/src/utils/ssrf-validator.ts +224 -0
- package/tests/integration/real-server.test.ts +740 -0
- package/tests/integration/websocket.test.ts +381 -0
- package/tests/integration-setup.ts +16 -0
- package/tests/setup.ts +34 -0
- package/tsconfig.json +32 -0
- package/vitest.config.ts +42 -0
- package/vitest.integration.config.ts +23 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Teneo Protocol SDK
|
|
4
|
+
* TypeScript SDK for external platforms to interact with Teneo agents
|
|
5
|
+
* Uses Zod for runtime validation and type safety
|
|
6
|
+
*
|
|
7
|
+
* @packageDocumentation
|
|
8
|
+
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.ListRoomsResponseSchema = exports.RoomInfoSchema = exports.UnsubscribeResponseSchema = exports.SubscribeResponseSchema = exports.ListRoomsMessageSchema = exports.UnsubscribeMessageSchema = exports.SubscribeMessageSchema = exports.PongMessageSchema = exports.PingMessageSchema = exports.ErrorMessageSchema = exports.AgentsListMessageSchema = exports.AgentSelectedMessageSchema = exports.TaskResponseMessageSchema = exports.TaskMessageSchema = exports.UserMessageSchema = exports.RegistrationSuccessMessageSchema = exports.RegisterMessageSchema = exports.AuthErrorMessageSchema = exports.AuthSuccessMessageSchema = exports.AuthMessageSchema = exports.CheckCachedAuthMessageSchema = exports.ChallengeMessageSchema = exports.RequestChallengeMessageSchema = exports.BaseMessageSchema = exports.AgentSchema = exports.RoomSchema = exports.CommandSchema = exports.CapabilitySchema = exports.AgentStatusSchema = exports.AgentTypeSchema = exports.ClientTypeSchema = exports.ContentTypeSchema = exports.MessageTypeSchema = exports.safeParseConfig = exports.validateConfig = exports.DEFAULT_CONFIG = exports.SDKConfigBuilder = exports.WebhookPayloadSchema = exports.WebhookConfigSchema = exports.AuthenticationStateSchema = exports.ConnectionStateSchema = exports.PartialSDKConfigSchema = exports.SDKConfigSchema = exports.WebhookEventTypeSchema = exports.ResponseFormatSchema = exports.LogLevelSchema = exports.LoggerSchema = exports.AgentCommandSchema = exports.SendMessageOptionsSchema = exports.TeneoSDK = void 0;
|
|
44
|
+
exports.SecurePrivateKey = exports.ResponseFormatter = exports.FormattedResponseSchema = exports.ResponseMetadataSchema = exports.FormatOptionSchema = exports.isRecoverableError = exports.safeValidateEventData = exports.validateEventData = exports.ConfigurationError = exports.SignatureVerificationError = exports.RateLimitError = exports.TimeoutError = exports.ValidationError = exports.WebhookError = exports.MessageError = exports.AuthenticationError = exports.ConnectionError = exports.SDKError = exports.EventMetadataSchema = exports.ConfigurationErrorSchema = exports.SignatureVerificationErrorSchema = exports.RateLimitErrorSchema = exports.TimeoutErrorSchema = exports.ValidationErrorSchema = exports.WebhookErrorSchema = exports.MessageErrorSchema = exports.AuthenticationErrorSchema = exports.ConnectionErrorSchema = exports.SDKErrorSchema = exports.AgentResponseSchema = exports.AgentSelectedDataSchema = exports.safeParseMessage = exports.validateMessage = exports.createListRooms = exports.createUnsubscribe = exports.createSubscribe = exports.createPing = exports.createUserMessage = exports.createAuth = exports.createCheckCachedAuth = exports.createRequestChallenge = exports.isAgentsList = exports.isError = exports.isTaskResponse = exports.isAgentSelected = exports.isChallenge = exports.isAuth = exports.isAuthError = exports.isAuthSuccess = exports.AnyMessageSchema = void 0;
|
|
45
|
+
exports.VERSION = void 0;
|
|
46
|
+
exports.createTeneoSDK = createTeneoSDK;
|
|
47
|
+
/**
|
|
48
|
+
* Main SDK class for interacting with Teneo agents
|
|
49
|
+
* @see {@link TeneoSDK}
|
|
50
|
+
*/
|
|
51
|
+
var teneo_sdk_1 = require("./teneo-sdk");
|
|
52
|
+
Object.defineProperty(exports, "TeneoSDK", { enumerable: true, get: function () { return teneo_sdk_1.TeneoSDK; } });
|
|
53
|
+
Object.defineProperty(exports, "SendMessageOptionsSchema", { enumerable: true, get: function () { return teneo_sdk_1.SendMessageOptionsSchema; } });
|
|
54
|
+
Object.defineProperty(exports, "AgentCommandSchema", { enumerable: true, get: function () { return teneo_sdk_1.AgentCommandSchema; } });
|
|
55
|
+
const teneo_sdk_2 = require("./teneo-sdk");
|
|
56
|
+
/**
|
|
57
|
+
* Configuration types, schemas, and builders
|
|
58
|
+
* Use SDKConfigBuilder for fluent configuration API
|
|
59
|
+
*/
|
|
60
|
+
var config_1 = require("./types/config");
|
|
61
|
+
// Schemas
|
|
62
|
+
Object.defineProperty(exports, "LoggerSchema", { enumerable: true, get: function () { return config_1.LoggerSchema; } });
|
|
63
|
+
Object.defineProperty(exports, "LogLevelSchema", { enumerable: true, get: function () { return config_1.LogLevelSchema; } });
|
|
64
|
+
Object.defineProperty(exports, "ResponseFormatSchema", { enumerable: true, get: function () { return config_1.ResponseFormatSchema; } });
|
|
65
|
+
Object.defineProperty(exports, "WebhookEventTypeSchema", { enumerable: true, get: function () { return config_1.WebhookEventTypeSchema; } });
|
|
66
|
+
Object.defineProperty(exports, "SDKConfigSchema", { enumerable: true, get: function () { return config_1.SDKConfigSchema; } });
|
|
67
|
+
Object.defineProperty(exports, "PartialSDKConfigSchema", { enumerable: true, get: function () { return config_1.PartialSDKConfigSchema; } });
|
|
68
|
+
Object.defineProperty(exports, "ConnectionStateSchema", { enumerable: true, get: function () { return config_1.ConnectionStateSchema; } });
|
|
69
|
+
Object.defineProperty(exports, "AuthenticationStateSchema", { enumerable: true, get: function () { return config_1.AuthenticationStateSchema; } });
|
|
70
|
+
Object.defineProperty(exports, "WebhookConfigSchema", { enumerable: true, get: function () { return config_1.WebhookConfigSchema; } });
|
|
71
|
+
Object.defineProperty(exports, "WebhookPayloadSchema", { enumerable: true, get: function () { return config_1.WebhookPayloadSchema; } });
|
|
72
|
+
Object.defineProperty(exports, "SDKConfigBuilder", { enumerable: true, get: function () { return config_1.SDKConfigBuilder; } });
|
|
73
|
+
// Utilities
|
|
74
|
+
Object.defineProperty(exports, "DEFAULT_CONFIG", { enumerable: true, get: function () { return config_1.DEFAULT_CONFIG; } });
|
|
75
|
+
Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return config_1.validateConfig; } });
|
|
76
|
+
Object.defineProperty(exports, "safeParseConfig", { enumerable: true, get: function () { return config_1.safeParseConfig; } });
|
|
77
|
+
/**
|
|
78
|
+
* Message types, schemas, and utilities
|
|
79
|
+
* All WebSocket message types with Zod validation
|
|
80
|
+
*/
|
|
81
|
+
var messages_1 = require("./types/messages");
|
|
82
|
+
// Enum schemas
|
|
83
|
+
Object.defineProperty(exports, "MessageTypeSchema", { enumerable: true, get: function () { return messages_1.MessageTypeSchema; } });
|
|
84
|
+
Object.defineProperty(exports, "ContentTypeSchema", { enumerable: true, get: function () { return messages_1.ContentTypeSchema; } });
|
|
85
|
+
Object.defineProperty(exports, "ClientTypeSchema", { enumerable: true, get: function () { return messages_1.ClientTypeSchema; } });
|
|
86
|
+
Object.defineProperty(exports, "AgentTypeSchema", { enumerable: true, get: function () { return messages_1.AgentTypeSchema; } });
|
|
87
|
+
Object.defineProperty(exports, "AgentStatusSchema", { enumerable: true, get: function () { return messages_1.AgentStatusSchema; } });
|
|
88
|
+
// Supporting schemas
|
|
89
|
+
Object.defineProperty(exports, "CapabilitySchema", { enumerable: true, get: function () { return messages_1.CapabilitySchema; } });
|
|
90
|
+
Object.defineProperty(exports, "CommandSchema", { enumerable: true, get: function () { return messages_1.CommandSchema; } });
|
|
91
|
+
Object.defineProperty(exports, "RoomSchema", { enumerable: true, get: function () { return messages_1.RoomSchema; } });
|
|
92
|
+
Object.defineProperty(exports, "AgentSchema", { enumerable: true, get: function () { return messages_1.AgentSchema; } });
|
|
93
|
+
// Message schemas
|
|
94
|
+
Object.defineProperty(exports, "BaseMessageSchema", { enumerable: true, get: function () { return messages_1.BaseMessageSchema; } });
|
|
95
|
+
Object.defineProperty(exports, "RequestChallengeMessageSchema", { enumerable: true, get: function () { return messages_1.RequestChallengeMessageSchema; } });
|
|
96
|
+
Object.defineProperty(exports, "ChallengeMessageSchema", { enumerable: true, get: function () { return messages_1.ChallengeMessageSchema; } });
|
|
97
|
+
Object.defineProperty(exports, "CheckCachedAuthMessageSchema", { enumerable: true, get: function () { return messages_1.CheckCachedAuthMessageSchema; } });
|
|
98
|
+
Object.defineProperty(exports, "AuthMessageSchema", { enumerable: true, get: function () { return messages_1.AuthMessageSchema; } });
|
|
99
|
+
Object.defineProperty(exports, "AuthSuccessMessageSchema", { enumerable: true, get: function () { return messages_1.AuthSuccessMessageSchema; } });
|
|
100
|
+
Object.defineProperty(exports, "AuthErrorMessageSchema", { enumerable: true, get: function () { return messages_1.AuthErrorMessageSchema; } });
|
|
101
|
+
Object.defineProperty(exports, "RegisterMessageSchema", { enumerable: true, get: function () { return messages_1.RegisterMessageSchema; } });
|
|
102
|
+
Object.defineProperty(exports, "RegistrationSuccessMessageSchema", { enumerable: true, get: function () { return messages_1.RegistrationSuccessMessageSchema; } });
|
|
103
|
+
Object.defineProperty(exports, "UserMessageSchema", { enumerable: true, get: function () { return messages_1.UserMessageSchema; } });
|
|
104
|
+
Object.defineProperty(exports, "TaskMessageSchema", { enumerable: true, get: function () { return messages_1.TaskMessageSchema; } });
|
|
105
|
+
Object.defineProperty(exports, "TaskResponseMessageSchema", { enumerable: true, get: function () { return messages_1.TaskResponseMessageSchema; } });
|
|
106
|
+
Object.defineProperty(exports, "AgentSelectedMessageSchema", { enumerable: true, get: function () { return messages_1.AgentSelectedMessageSchema; } });
|
|
107
|
+
Object.defineProperty(exports, "AgentsListMessageSchema", { enumerable: true, get: function () { return messages_1.AgentsListMessageSchema; } });
|
|
108
|
+
Object.defineProperty(exports, "ErrorMessageSchema", { enumerable: true, get: function () { return messages_1.ErrorMessageSchema; } });
|
|
109
|
+
Object.defineProperty(exports, "PingMessageSchema", { enumerable: true, get: function () { return messages_1.PingMessageSchema; } });
|
|
110
|
+
Object.defineProperty(exports, "PongMessageSchema", { enumerable: true, get: function () { return messages_1.PongMessageSchema; } });
|
|
111
|
+
Object.defineProperty(exports, "SubscribeMessageSchema", { enumerable: true, get: function () { return messages_1.SubscribeMessageSchema; } });
|
|
112
|
+
Object.defineProperty(exports, "UnsubscribeMessageSchema", { enumerable: true, get: function () { return messages_1.UnsubscribeMessageSchema; } });
|
|
113
|
+
Object.defineProperty(exports, "ListRoomsMessageSchema", { enumerable: true, get: function () { return messages_1.ListRoomsMessageSchema; } });
|
|
114
|
+
Object.defineProperty(exports, "SubscribeResponseSchema", { enumerable: true, get: function () { return messages_1.SubscribeResponseSchema; } });
|
|
115
|
+
Object.defineProperty(exports, "UnsubscribeResponseSchema", { enumerable: true, get: function () { return messages_1.UnsubscribeResponseSchema; } });
|
|
116
|
+
Object.defineProperty(exports, "RoomInfoSchema", { enumerable: true, get: function () { return messages_1.RoomInfoSchema; } });
|
|
117
|
+
Object.defineProperty(exports, "ListRoomsResponseSchema", { enumerable: true, get: function () { return messages_1.ListRoomsResponseSchema; } });
|
|
118
|
+
Object.defineProperty(exports, "AnyMessageSchema", { enumerable: true, get: function () { return messages_1.AnyMessageSchema; } });
|
|
119
|
+
// Type guards
|
|
120
|
+
Object.defineProperty(exports, "isAuthSuccess", { enumerable: true, get: function () { return messages_1.isAuthSuccess; } });
|
|
121
|
+
Object.defineProperty(exports, "isAuthError", { enumerable: true, get: function () { return messages_1.isAuthError; } });
|
|
122
|
+
Object.defineProperty(exports, "isAuth", { enumerable: true, get: function () { return messages_1.isAuth; } });
|
|
123
|
+
Object.defineProperty(exports, "isChallenge", { enumerable: true, get: function () { return messages_1.isChallenge; } });
|
|
124
|
+
Object.defineProperty(exports, "isAgentSelected", { enumerable: true, get: function () { return messages_1.isAgentSelected; } });
|
|
125
|
+
Object.defineProperty(exports, "isTaskResponse", { enumerable: true, get: function () { return messages_1.isTaskResponse; } });
|
|
126
|
+
Object.defineProperty(exports, "isError", { enumerable: true, get: function () { return messages_1.isError; } });
|
|
127
|
+
Object.defineProperty(exports, "isAgentsList", { enumerable: true, get: function () { return messages_1.isAgentsList; } });
|
|
128
|
+
// Message factories
|
|
129
|
+
Object.defineProperty(exports, "createRequestChallenge", { enumerable: true, get: function () { return messages_1.createRequestChallenge; } });
|
|
130
|
+
Object.defineProperty(exports, "createCheckCachedAuth", { enumerable: true, get: function () { return messages_1.createCheckCachedAuth; } });
|
|
131
|
+
Object.defineProperty(exports, "createAuth", { enumerable: true, get: function () { return messages_1.createAuth; } });
|
|
132
|
+
Object.defineProperty(exports, "createUserMessage", { enumerable: true, get: function () { return messages_1.createUserMessage; } });
|
|
133
|
+
Object.defineProperty(exports, "createPing", { enumerable: true, get: function () { return messages_1.createPing; } });
|
|
134
|
+
Object.defineProperty(exports, "createSubscribe", { enumerable: true, get: function () { return messages_1.createSubscribe; } });
|
|
135
|
+
Object.defineProperty(exports, "createUnsubscribe", { enumerable: true, get: function () { return messages_1.createUnsubscribe; } });
|
|
136
|
+
Object.defineProperty(exports, "createListRooms", { enumerable: true, get: function () { return messages_1.createListRooms; } });
|
|
137
|
+
// Validation helpers
|
|
138
|
+
Object.defineProperty(exports, "validateMessage", { enumerable: true, get: function () { return messages_1.validateMessage; } });
|
|
139
|
+
Object.defineProperty(exports, "safeParseMessage", { enumerable: true, get: function () { return messages_1.safeParseMessage; } });
|
|
140
|
+
/**
|
|
141
|
+
* Event types, error classes, and event handling utilities
|
|
142
|
+
* Comprehensive typed event system for SDK lifecycle
|
|
143
|
+
*/
|
|
144
|
+
var events_1 = require("./types/events");
|
|
145
|
+
// Schemas
|
|
146
|
+
Object.defineProperty(exports, "AgentSelectedDataSchema", { enumerable: true, get: function () { return events_1.AgentSelectedDataSchema; } });
|
|
147
|
+
Object.defineProperty(exports, "AgentResponseSchema", { enumerable: true, get: function () { return events_1.AgentResponseSchema; } });
|
|
148
|
+
Object.defineProperty(exports, "SDKErrorSchema", { enumerable: true, get: function () { return events_1.SDKErrorSchema; } });
|
|
149
|
+
Object.defineProperty(exports, "ConnectionErrorSchema", { enumerable: true, get: function () { return events_1.ConnectionErrorSchema; } });
|
|
150
|
+
Object.defineProperty(exports, "AuthenticationErrorSchema", { enumerable: true, get: function () { return events_1.AuthenticationErrorSchema; } });
|
|
151
|
+
Object.defineProperty(exports, "MessageErrorSchema", { enumerable: true, get: function () { return events_1.MessageErrorSchema; } });
|
|
152
|
+
Object.defineProperty(exports, "WebhookErrorSchema", { enumerable: true, get: function () { return events_1.WebhookErrorSchema; } });
|
|
153
|
+
Object.defineProperty(exports, "ValidationErrorSchema", { enumerable: true, get: function () { return events_1.ValidationErrorSchema; } });
|
|
154
|
+
Object.defineProperty(exports, "TimeoutErrorSchema", { enumerable: true, get: function () { return events_1.TimeoutErrorSchema; } });
|
|
155
|
+
Object.defineProperty(exports, "RateLimitErrorSchema", { enumerable: true, get: function () { return events_1.RateLimitErrorSchema; } });
|
|
156
|
+
Object.defineProperty(exports, "SignatureVerificationErrorSchema", { enumerable: true, get: function () { return events_1.SignatureVerificationErrorSchema; } });
|
|
157
|
+
Object.defineProperty(exports, "ConfigurationErrorSchema", { enumerable: true, get: function () { return events_1.ConfigurationErrorSchema; } });
|
|
158
|
+
Object.defineProperty(exports, "EventMetadataSchema", { enumerable: true, get: function () { return events_1.EventMetadataSchema; } });
|
|
159
|
+
// Error classes
|
|
160
|
+
Object.defineProperty(exports, "SDKError", { enumerable: true, get: function () { return events_1.SDKError; } });
|
|
161
|
+
Object.defineProperty(exports, "ConnectionError", { enumerable: true, get: function () { return events_1.ConnectionError; } });
|
|
162
|
+
Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return events_1.AuthenticationError; } });
|
|
163
|
+
Object.defineProperty(exports, "MessageError", { enumerable: true, get: function () { return events_1.MessageError; } });
|
|
164
|
+
Object.defineProperty(exports, "WebhookError", { enumerable: true, get: function () { return events_1.WebhookError; } });
|
|
165
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return events_1.ValidationError; } });
|
|
166
|
+
Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return events_1.TimeoutError; } });
|
|
167
|
+
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return events_1.RateLimitError; } });
|
|
168
|
+
Object.defineProperty(exports, "SignatureVerificationError", { enumerable: true, get: function () { return events_1.SignatureVerificationError; } });
|
|
169
|
+
Object.defineProperty(exports, "ConfigurationError", { enumerable: true, get: function () { return events_1.ConfigurationError; } });
|
|
170
|
+
// Validation helpers
|
|
171
|
+
Object.defineProperty(exports, "validateEventData", { enumerable: true, get: function () { return events_1.validateEventData; } });
|
|
172
|
+
Object.defineProperty(exports, "safeValidateEventData", { enumerable: true, get: function () { return events_1.safeValidateEventData; } });
|
|
173
|
+
Object.defineProperty(exports, "isRecoverableError", { enumerable: true, get: function () { return events_1.isRecoverableError; } });
|
|
174
|
+
/**
|
|
175
|
+
* Response formatting utilities for agent responses
|
|
176
|
+
* Supports raw JSON, humanized text, or both formats
|
|
177
|
+
*/
|
|
178
|
+
var response_formatter_1 = require("./formatters/response-formatter");
|
|
179
|
+
// Schemas
|
|
180
|
+
Object.defineProperty(exports, "FormatOptionSchema", { enumerable: true, get: function () { return response_formatter_1.FormatOptionSchema; } });
|
|
181
|
+
Object.defineProperty(exports, "ResponseMetadataSchema", { enumerable: true, get: function () { return response_formatter_1.ResponseMetadataSchema; } });
|
|
182
|
+
Object.defineProperty(exports, "FormattedResponseSchema", { enumerable: true, get: function () { return response_formatter_1.FormattedResponseSchema; } });
|
|
183
|
+
// Types and classes
|
|
184
|
+
Object.defineProperty(exports, "ResponseFormatter", { enumerable: true, get: function () { return response_formatter_1.ResponseFormatter; } });
|
|
185
|
+
/**
|
|
186
|
+
* Security utilities for private key management
|
|
187
|
+
* SEC-3: In-memory encryption for private keys
|
|
188
|
+
*/
|
|
189
|
+
var secure_private_key_1 = require("./utils/secure-private-key");
|
|
190
|
+
Object.defineProperty(exports, "SecurePrivateKey", { enumerable: true, get: function () { return secure_private_key_1.SecurePrivateKey; } });
|
|
191
|
+
/**
|
|
192
|
+
* SDK version string
|
|
193
|
+
*/
|
|
194
|
+
exports.VERSION = "1.0.0";
|
|
195
|
+
/**
|
|
196
|
+
* Quick start function to create and connect SDK
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```typescript
|
|
200
|
+
* import { createTeneoSDK } from '@teneo-protocol/sdk';
|
|
201
|
+
*
|
|
202
|
+
* const sdk = await createTeneoSDK({
|
|
203
|
+
* wsUrl: 'ws://localhost:8080/ws',
|
|
204
|
+
* privateKey: 'your-private-key',
|
|
205
|
+
* autoJoinRooms: ['general']
|
|
206
|
+
* });
|
|
207
|
+
* ```
|
|
208
|
+
*/
|
|
209
|
+
async function createTeneoSDK(config) {
|
|
210
|
+
const { TeneoSDK } = await Promise.resolve().then(() => __importStar(require("./teneo-sdk")));
|
|
211
|
+
const sdk = new TeneoSDK(config);
|
|
212
|
+
await sdk.connect();
|
|
213
|
+
return sdk;
|
|
214
|
+
}
|
|
215
|
+
// Default export for convenience
|
|
216
|
+
exports.default = teneo_sdk_2.TeneoSDK;
|
|
217
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentRegistry - Manages agent state and lookup
|
|
3
|
+
* Handles agent caching and queries
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from "eventemitter3";
|
|
6
|
+
import { Agent, Logger } from "../types";
|
|
7
|
+
import { SDKEvents } from "../types/events";
|
|
8
|
+
export declare class AgentRegistry extends EventEmitter<SDKEvents> {
|
|
9
|
+
private readonly logger;
|
|
10
|
+
private readonly agents;
|
|
11
|
+
private cachedAgents?;
|
|
12
|
+
private isAgentsCacheDirty;
|
|
13
|
+
private capabilityIndex;
|
|
14
|
+
private nameTokenIndex;
|
|
15
|
+
private statusIndex;
|
|
16
|
+
constructor(logger: Logger);
|
|
17
|
+
/**
|
|
18
|
+
* Gets a cached list of all available agents in the network.
|
|
19
|
+
* Uses lazy caching with dirty flag for optimal performance.
|
|
20
|
+
* Returns a read-only array with defensive copies to prevent external modification.
|
|
21
|
+
*
|
|
22
|
+
* @returns Read-only array of agent copies
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const agents = agentRegistry.getAgents();
|
|
27
|
+
* console.log(`${agents.length} agents available`);
|
|
28
|
+
* agents.forEach(agent => console.log(agent.name));
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
getAgents(): ReadonlyArray<Readonly<Agent>>;
|
|
32
|
+
/**
|
|
33
|
+
* Gets a specific agent by its unique identifier.
|
|
34
|
+
* Performs O(1) lookup using internal Map structure.
|
|
35
|
+
* Returns a defensive copy to prevent external modification of agent state.
|
|
36
|
+
*
|
|
37
|
+
* @param agentId - The unique identifier of the agent
|
|
38
|
+
* @returns Copy of the agent object if found, undefined otherwise
|
|
39
|
+
* @throws {ValidationError} If agentId is invalid
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const agent = agentRegistry.getAgent('weather-agent-001');
|
|
44
|
+
* if (agent) {
|
|
45
|
+
* console.log(`Found: ${agent.name}`);
|
|
46
|
+
* console.log(`Capabilities: ${agent.capabilities?.length}`);
|
|
47
|
+
* }
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
getAgent(agentId: string): Readonly<Agent> | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Finds all agents that have a specific capability.
|
|
53
|
+
* PERF-3: Uses O(1) capability index lookup instead of O(n) filtering.
|
|
54
|
+
*
|
|
55
|
+
* @param capabilityName - The name of the capability to search for (case-insensitive)
|
|
56
|
+
* @returns Read-only array of agents with the specified capability
|
|
57
|
+
* @throws {ValidationError} If capabilityName is invalid
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const weatherAgents = agentRegistry.findByCapability('weather-forecast');
|
|
62
|
+
* console.log(`Found ${weatherAgents.length} agents with weather-forecast capability`);
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
findByCapability(capabilityName: string): ReadonlyArray<Agent>;
|
|
66
|
+
/**
|
|
67
|
+
* Finds agents by name using case-insensitive partial matching.
|
|
68
|
+
* PERF-3: Uses O(k) token index lookups instead of O(n) substring search,
|
|
69
|
+
* where k is the number of tokens in the search query.
|
|
70
|
+
*
|
|
71
|
+
* @param name - The name or partial name to search for (case-insensitive)
|
|
72
|
+
* @returns Read-only array of agents matching the name search
|
|
73
|
+
* @throws {ValidationError} If name is invalid
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* // Find all agents with "weather" in their name
|
|
78
|
+
* const weatherAgents = agentRegistry.findByName('weather');
|
|
79
|
+
* weatherAgents.forEach(agent => console.log(agent.name));
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
findByName(name: string): ReadonlyArray<Agent>;
|
|
83
|
+
/**
|
|
84
|
+
* Finds all agents with a specific status.
|
|
85
|
+
* PERF-3: Uses O(1) status index lookup instead of O(n) filtering.
|
|
86
|
+
*
|
|
87
|
+
* @param status - The status to search for: 'online' or 'offline' (case-insensitive)
|
|
88
|
+
* @returns Read-only array of agents with the specified status
|
|
89
|
+
* @throws {ValidationError} If status is invalid
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* ```typescript
|
|
93
|
+
* const onlineAgents = agentRegistry.findByStatus('online');
|
|
94
|
+
* console.log(`Found ${onlineAgents.length} online agents`);
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
findByStatus(status: string): ReadonlyArray<Agent>;
|
|
98
|
+
/**
|
|
99
|
+
* Updates the registry with a new list of agents.
|
|
100
|
+
* Merges with existing agents and marks cache as dirty.
|
|
101
|
+
* Emits 'agent:list' event with the new agents.
|
|
102
|
+
*
|
|
103
|
+
* @internal This method is for internal SDK use
|
|
104
|
+
* @param agents - Array of agents to add or update in the registry
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* // Internal SDK usage
|
|
109
|
+
* agentRegistry.updateAgents(newAgentList);
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
updateAgents(agents: Agent[]): void;
|
|
113
|
+
/**
|
|
114
|
+
* Updates a single agent in the registry.
|
|
115
|
+
* Adds new agent or updates existing one, then marks cache as dirty.
|
|
116
|
+
*
|
|
117
|
+
* @internal This method is for internal SDK use
|
|
118
|
+
* @param agent - The agent to add or update
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* // Internal SDK usage
|
|
123
|
+
* agentRegistry.updateAgent(updatedAgent);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
updateAgent(agent: Agent): void;
|
|
127
|
+
/**
|
|
128
|
+
* Clears all agents from the registry.
|
|
129
|
+
* Removes all cached agents and marks cache as dirty.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* agentRegistry.clear();
|
|
134
|
+
* console.log('All agents cleared');
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
clear(): void;
|
|
138
|
+
/**
|
|
139
|
+
* Destroys the agent registry and cleans up resources.
|
|
140
|
+
* Clears all agents and removes all event listeners.
|
|
141
|
+
* After destruction, the registry cannot be reused.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* agentRegistry.destroy();
|
|
146
|
+
* console.log('Agent registry destroyed');
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
destroy(): void;
|
|
150
|
+
/**
|
|
151
|
+
* Rebuilds the agent cache and all search indices.
|
|
152
|
+
* This is called automatically when the cache becomes dirty.
|
|
153
|
+
* PERF-3: Builds capability, name token, and status indices for O(1) lookups.
|
|
154
|
+
*
|
|
155
|
+
* @private
|
|
156
|
+
*/
|
|
157
|
+
private rebuildCache;
|
|
158
|
+
/**
|
|
159
|
+
* Tokenizes a string into searchable tokens.
|
|
160
|
+
* Splits on whitespace and special characters, converts to lowercase.
|
|
161
|
+
*
|
|
162
|
+
* @param str - String to tokenize
|
|
163
|
+
* @returns Array of lowercase tokens
|
|
164
|
+
* @private
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* tokenizeString("Weather API v2.0") => ["weather", "api", "v2", "0"]
|
|
169
|
+
* ```
|
|
170
|
+
*/
|
|
171
|
+
private tokenizeString;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=agent-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-registry.d.ts","sourceRoot":"","sources":["../../src/managers/agent-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,aAAc,SAAQ,YAAY,CAAC,SAAS,CAAC;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,kBAAkB,CAAQ;IAGlC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,WAAW,CAAkC;gBAEzC,MAAM,EAAE,MAAM;IAK1B;;;;;;;;;;;;;OAaG;IACI,SAAS,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAOlD;;;;;;;;;;;;;;;;;OAiBG;IACI,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,SAAS;IAQ7D;;;;;;;;;;;;;OAaG;IACI,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAwBrE;;;;;;;;;;;;;;;OAeG;IACI,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAqCrD;;;;;;;;;;;;;OAaG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;IAwBzD;;;;;;;;;;;;;OAaG;IACI,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAW1C;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAMtC;;;;;;;;;OASG;IACI,KAAK,IAAI,IAAI;IAKpB;;;;;;;;;;OAUG;IACI,OAAO,IAAI,IAAI;IAMtB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA0CpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;CAMvB"}
|