@naylence/agent-sdk 0.3.13 → 0.3.15

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 (93) hide show
  1. package/dist/browser/index.js +3344 -60377
  2. package/dist/browser/index.js.map +1 -1
  3. package/dist/cjs/agent-isomorphic.d.ts +11 -0
  4. package/dist/cjs/agent-isomorphic.js +30 -0
  5. package/dist/cjs/agent-isomorphic.js.map +1 -0
  6. package/dist/cjs/browser.d.ts +3 -1
  7. package/dist/cjs/browser.js +17 -1
  8. package/dist/cjs/browser.js.map +1 -1
  9. package/dist/cjs/index.d.ts +1 -3
  10. package/dist/cjs/index.js +1 -32
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/naylence/agent/factory-manifest.browser.d.ts +5 -0
  13. package/dist/cjs/naylence/agent/factory-manifest.browser.js +7 -0
  14. package/dist/cjs/naylence/agent/factory-manifest.browser.js.map +1 -0
  15. package/dist/cjs/naylence/agent/factory-manifest.d.ts +5 -0
  16. package/dist/cjs/naylence/agent/factory-manifest.js +46 -0
  17. package/dist/cjs/naylence/agent/factory-manifest.js.map +1 -0
  18. package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts +23 -0
  19. package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener-factory.js +144 -0
  20. package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener-factory.js.map +1 -0
  21. package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener.d.ts +40 -0
  22. package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener.js +347 -0
  23. package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener.js.map +1 -0
  24. package/dist/cjs/naylence/agent/index.d.ts +1 -0
  25. package/dist/cjs/naylence/agent/index.js +1 -0
  26. package/dist/cjs/naylence/agent/index.js.map +1 -1
  27. package/dist/cjs/naylence/agent/util/register-agent-factories.d.ts +4 -0
  28. package/dist/cjs/naylence/agent/util/register-agent-factories.js +132 -0
  29. package/dist/cjs/naylence/agent/util/register-agent-factories.js.map +1 -0
  30. package/dist/cjs/node.d.ts +5 -0
  31. package/dist/cjs/node.js +46 -0
  32. package/dist/cjs/node.js.map +1 -0
  33. package/dist/cjs/plugin.js +2 -0
  34. package/dist/cjs/plugin.js.map +1 -1
  35. package/dist/cjs/version.d.ts +1 -1
  36. package/dist/cjs/version.js +1 -1
  37. package/dist/esm/agent-isomorphic.d.ts +18 -0
  38. package/dist/esm/agent-isomorphic.js +21 -0
  39. package/dist/esm/agent-isomorphic.js.map +1 -0
  40. package/dist/esm/browser.d.ts +9 -1
  41. package/dist/esm/browser.js +21 -3
  42. package/dist/esm/browser.js.map +1 -1
  43. package/dist/esm/index.d.ts +7 -3
  44. package/dist/esm/index.js +7 -34
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/naylence/agent/factory-manifest.browser.d.ts +11 -0
  47. package/dist/esm/naylence/agent/factory-manifest.browser.js +11 -0
  48. package/dist/esm/naylence/agent/factory-manifest.browser.js.map +1 -0
  49. package/dist/esm/naylence/agent/factory-manifest.d.ts +11 -0
  50. package/dist/esm/naylence/agent/factory-manifest.js +17 -0
  51. package/dist/esm/naylence/agent/factory-manifest.js.map +1 -0
  52. package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts +37 -0
  53. package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener-factory.js +128 -0
  54. package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener-factory.js.map +1 -0
  55. package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener.d.ts +50 -0
  56. package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener.js +350 -0
  57. package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener.js.map +1 -0
  58. package/dist/esm/naylence/agent/index.d.ts +5 -0
  59. package/dist/esm/naylence/agent/index.js +5 -0
  60. package/dist/esm/naylence/agent/index.js.map +1 -1
  61. package/dist/esm/naylence/agent/util/register-agent-factories.d.ts +4 -0
  62. package/dist/esm/naylence/agent/util/register-agent-factories.js +103 -0
  63. package/dist/esm/naylence/agent/util/register-agent-factories.js.map +1 -0
  64. package/dist/esm/node.d.ts +11 -0
  65. package/dist/esm/node.js +37 -0
  66. package/dist/esm/node.js.map +1 -0
  67. package/dist/esm/plugin.js +2 -4
  68. package/dist/esm/plugin.js.map +1 -1
  69. package/dist/esm/version.d.ts +1 -1
  70. package/dist/esm/version.js +2 -2
  71. package/dist/types/agent-isomorphic.d.ts +19 -0
  72. package/dist/types/agent-isomorphic.d.ts.map +1 -0
  73. package/dist/types/browser.d.ts +9 -1
  74. package/dist/types/browser.d.ts.map +1 -1
  75. package/dist/types/index.d.ts +7 -3
  76. package/dist/types/index.d.ts.map +1 -1
  77. package/dist/types/naylence/agent/factory-manifest.browser.d.ts +12 -0
  78. package/dist/types/naylence/agent/factory-manifest.browser.d.ts.map +1 -0
  79. package/dist/types/naylence/agent/factory-manifest.d.ts +12 -0
  80. package/dist/types/naylence/agent/factory-manifest.d.ts.map +1 -0
  81. package/dist/types/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts +38 -0
  82. package/dist/types/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts.map +1 -0
  83. package/dist/types/naylence/agent/gateway/agent-http-gateway-listener.d.ts +51 -0
  84. package/dist/types/naylence/agent/gateway/agent-http-gateway-listener.d.ts.map +1 -0
  85. package/dist/types/naylence/agent/index.d.ts +5 -0
  86. package/dist/types/naylence/agent/index.d.ts.map +1 -1
  87. package/dist/types/naylence/agent/util/register-agent-factories.d.ts +5 -0
  88. package/dist/types/naylence/agent/util/register-agent-factories.d.ts.map +1 -0
  89. package/dist/types/node.d.ts +12 -0
  90. package/dist/types/node.d.ts.map +1 -0
  91. package/dist/types/plugin.d.ts.map +1 -1
  92. package/dist/types/version.d.ts +1 -1
  93. package/package.json +26 -15
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgentHttpGatewayListener = void 0;
4
+ const core_1 = require("@naylence/core");
5
+ const node_1 = require("@naylence/runtime/node");
6
+ const runtime_1 = require("@naylence/runtime");
7
+ const DEFAULT_BASE_PATH = '/fame/v1/gateway';
8
+ const DEFAULT_TIMEOUT_MS = 30000;
9
+ const MAX_TIMEOUT_MS = 120000;
10
+ const DEFAULT_MAX_METHOD_LENGTH = 256;
11
+ const DEFAULT_MAX_TARGET_ADDR_LENGTH = 512;
12
+ const DEFAULT_MAX_TYPE_LENGTH = 256;
13
+ const DEFAULT_MAX_CAPABILITIES = 16;
14
+ const DEFAULT_MAX_CAPABILITY_LENGTH = 256;
15
+ const DEFAULT_BODY_LIMIT_BYTES = 1048576;
16
+ const logger = (0, runtime_1.getLogger)('naylence.agent.gateway.http_listener');
17
+ class AgentHttpGatewayListener extends node_1.TransportListener {
18
+ constructor(params) {
19
+ super();
20
+ this._node = null;
21
+ this._routerRegistered = false;
22
+ this._httpServer = params.httpServer;
23
+ this._authorizer = params.authorizer ?? null;
24
+ this._basePath = sanitizeBasePath(params.basePath);
25
+ this._limits = normalizeLimits(params.limits);
26
+ }
27
+ get httpServer() {
28
+ return this._httpServer;
29
+ }
30
+ async onNodeInitialized(node) {
31
+ if (this._routerRegistered) {
32
+ return;
33
+ }
34
+ this._node = node;
35
+ const router = await this.createRouter();
36
+ await this._httpServer.includeRouter(router, { prefix: this._basePath });
37
+ this._routerRegistered = true;
38
+ }
39
+ async onNodeStarted() {
40
+ if (this._httpServer.isRunning) {
41
+ return;
42
+ }
43
+ await this._httpServer.start();
44
+ }
45
+ async onNodeStopped() {
46
+ this._routerRegistered = false;
47
+ this._node = null;
48
+ const candidate = this._httpServer;
49
+ if (candidate?.constructor?.release) {
50
+ try {
51
+ await candidate.constructor.release({
52
+ host: candidate.host,
53
+ port: candidate.port,
54
+ });
55
+ }
56
+ catch {
57
+ }
58
+ }
59
+ }
60
+ async createRouter() {
61
+ const bodyLimit = this._limits.bodyLimitBytes;
62
+ const plugin = async (instance) => {
63
+ instance.post('/rpc', { bodyLimit }, async (request, reply) => this._handleRpc(request.body, request.headers['authorization'], reply));
64
+ instance.post('/messages', { bodyLimit }, async (request, reply) => this._handleMessage(request.body, request.headers['authorization'], reply));
65
+ instance.get('/health', async () => ({
66
+ status: 'healthy',
67
+ listenerType: 'AgentHttpGatewayListener',
68
+ }));
69
+ };
70
+ return plugin;
71
+ }
72
+ async _handleRpc(body, authHeader, reply) {
73
+ const node = this._node;
74
+ if (!node) {
75
+ return reply.code(503).send({ ok: false, error: 'Node not initialized' });
76
+ }
77
+ try {
78
+ const request = this._parseRpcRequest(body);
79
+ if (!request) {
80
+ return reply.code(400).send({ ok: false, error: 'Invalid RPC request body' });
81
+ }
82
+ const authorization = await this._authenticateRequest(authHeader);
83
+ logger.debug('rpc_request_authenticated', {
84
+ hasAuthorization: Boolean(authorization),
85
+ principal: authorization?.principal ?? null,
86
+ scopes: authorization?.grantedScopes ?? [],
87
+ });
88
+ const timeoutMs = this._normalizeTimeout(request.timeoutMs);
89
+ const result = await this._invokeRpc(node, request, timeoutMs);
90
+ return reply.code(200).send({ ok: true, result });
91
+ }
92
+ catch (error) {
93
+ const mapped = this._mapError(error);
94
+ return reply.code(mapped.status).send({
95
+ ok: false,
96
+ error: mapped.message,
97
+ ...(mapped.code ? { code: mapped.code } : {}),
98
+ });
99
+ }
100
+ }
101
+ async _handleMessage(body, authHeader, reply) {
102
+ const node = this._node;
103
+ if (!node) {
104
+ return reply.code(503).send({ ok: false, error: 'Node not initialized' });
105
+ }
106
+ try {
107
+ const request = this._parseMessageRequest(body);
108
+ if (!request) {
109
+ return reply.code(400).send({ ok: false, error: 'Invalid message request body' });
110
+ }
111
+ const authorization = await this._authenticateRequest(authHeader);
112
+ logger.debug('message_request_authenticated', {
113
+ hasAuthorization: Boolean(authorization),
114
+ principal: authorization?.principal ?? null,
115
+ scopes: authorization?.grantedScopes ?? [],
116
+ });
117
+ await this._sendMessage(node, request, authorization);
118
+ return reply.code(202).send({ status: 'message_accepted' });
119
+ }
120
+ catch (error) {
121
+ const mapped = this._mapError(error);
122
+ return reply.code(mapped.status).send({
123
+ ok: false,
124
+ error: mapped.message,
125
+ ...(mapped.code ? { code: mapped.code } : {}),
126
+ });
127
+ }
128
+ }
129
+ _parseRpcRequest(body) {
130
+ if (!body || typeof body !== 'object' || Array.isArray(body)) {
131
+ return null;
132
+ }
133
+ const record = body;
134
+ const method = typeof record.method === 'string' ? record.method.trim() : '';
135
+ if (!method) {
136
+ return null;
137
+ }
138
+ if (method.length > this._limits.maxMethodLength) {
139
+ return null;
140
+ }
141
+ const timeoutMs = this._parseTimeoutValue(record.timeoutMs);
142
+ const params = record.params && typeof record.params === 'object' && !Array.isArray(record.params)
143
+ ? record.params
144
+ : undefined;
145
+ const targetAddr = typeof record.targetAddr === 'string' ? record.targetAddr.trim() : '';
146
+ if (targetAddr.length > this._limits.maxTargetAddrLength) {
147
+ return null;
148
+ }
149
+ const capsRaw = Array.isArray(record.capabilities)
150
+ ? record.capabilities.map((value) => (typeof value === 'string' ? value.trim() : '')).filter(Boolean)
151
+ : [];
152
+ if (capsRaw.length > this._limits.maxCapabilities) {
153
+ return null;
154
+ }
155
+ for (const cap of capsRaw) {
156
+ if (cap.length > this._limits.maxCapabilityLength) {
157
+ return null;
158
+ }
159
+ }
160
+ if (targetAddr) {
161
+ return {
162
+ targetAddr,
163
+ method,
164
+ ...(params ? { params } : {}),
165
+ ...(timeoutMs !== undefined ? { timeoutMs } : {}),
166
+ };
167
+ }
168
+ if (capsRaw.length > 0) {
169
+ return {
170
+ capabilities: capsRaw,
171
+ method,
172
+ ...(params ? { params } : {}),
173
+ ...(timeoutMs !== undefined ? { timeoutMs } : {}),
174
+ };
175
+ }
176
+ return null;
177
+ }
178
+ _parseMessageRequest(body) {
179
+ if (!body || typeof body !== 'object' || Array.isArray(body)) {
180
+ return null;
181
+ }
182
+ const record = body;
183
+ const targetAddr = typeof record.targetAddr === 'string' ? record.targetAddr.trim() : '';
184
+ if (targetAddr.length > this._limits.maxTargetAddrLength) {
185
+ return null;
186
+ }
187
+ const capsRaw = Array.isArray(record.capabilities)
188
+ ? record.capabilities.map((value) => (typeof value === 'string' ? value.trim() : '')).filter(Boolean)
189
+ : [];
190
+ if (capsRaw.length > this._limits.maxCapabilities) {
191
+ return null;
192
+ }
193
+ for (const cap of capsRaw) {
194
+ if (cap.length > this._limits.maxCapabilityLength) {
195
+ return null;
196
+ }
197
+ }
198
+ const type = typeof record.type === 'string' ? record.type.trim() : '';
199
+ if (type.length > this._limits.maxTypeLength) {
200
+ return null;
201
+ }
202
+ const payload = 'payload' in record ? record.payload : undefined;
203
+ if (!type && payload === undefined) {
204
+ return null;
205
+ }
206
+ if (targetAddr) {
207
+ return { targetAddr, ...(type ? { type } : {}), ...(payload !== undefined ? { payload } : {}) };
208
+ }
209
+ if (capsRaw.length > 0) {
210
+ return { capabilities: capsRaw, ...(type ? { type } : {}), ...(payload !== undefined ? { payload } : {}) };
211
+ }
212
+ return null;
213
+ }
214
+ _parseTimeoutValue(value) {
215
+ if (typeof value === 'number' && Number.isFinite(value)) {
216
+ return value;
217
+ }
218
+ if (typeof value === 'string' && value.trim().length > 0) {
219
+ const parsed = Number.parseInt(value.trim(), 10);
220
+ if (Number.isFinite(parsed)) {
221
+ return parsed;
222
+ }
223
+ }
224
+ return undefined;
225
+ }
226
+ _normalizeTimeout(value) {
227
+ if (value === undefined || Number.isNaN(value)) {
228
+ return DEFAULT_TIMEOUT_MS;
229
+ }
230
+ if (value <= 0) {
231
+ return DEFAULT_TIMEOUT_MS;
232
+ }
233
+ return Math.min(value, MAX_TIMEOUT_MS);
234
+ }
235
+ async _invokeRpc(node, request, timeoutMs) {
236
+ const timeout = this._normalizeTimeout(timeoutMs);
237
+ if ('targetAddr' in request) {
238
+ return node.invoke(request.targetAddr, request.method, request.params ?? {}, timeout);
239
+ }
240
+ return node.invokeByCapability(request.capabilities, request.method, request.params ?? {}, timeout);
241
+ }
242
+ async _sendMessage(node, request, authorization) {
243
+ const envelopeOptions = {
244
+ frame: {
245
+ type: 'Data',
246
+ payload: {
247
+ ...(request.type ? { type: request.type } : {}),
248
+ ...(request.payload !== undefined ? { payload: request.payload } : {}),
249
+ },
250
+ },
251
+ responseType: core_1.FameResponseType.NONE,
252
+ };
253
+ if ('targetAddr' in request) {
254
+ envelopeOptions.to = request.targetAddr;
255
+ }
256
+ else {
257
+ envelopeOptions.capabilities = request.capabilities;
258
+ }
259
+ const envelope = node.envelopeFactory.createEnvelope(envelopeOptions);
260
+ const context = (0, node_1.createNodeDeliveryContext)({
261
+ authorization: authorization ?? undefined,
262
+ });
263
+ await node.send(envelope, context);
264
+ }
265
+ async _authenticateRequest(header) {
266
+ const authorizer = await this._resolveAuthorizer();
267
+ if (!authorizer) {
268
+ return undefined;
269
+ }
270
+ const token = typeof header === 'string' ? header : Array.isArray(header) ? header[0] : '';
271
+ try {
272
+ const result = await authorizer.authenticate(token ?? '');
273
+ if (!result) {
274
+ throw new Error('Authentication failed');
275
+ }
276
+ return result;
277
+ }
278
+ catch (error) {
279
+ if (error instanceof Error) {
280
+ throw error;
281
+ }
282
+ throw new Error(String(error));
283
+ }
284
+ }
285
+ async _resolveAuthorizer() {
286
+ if (this._authorizer) {
287
+ return this._authorizer;
288
+ }
289
+ const node = this._node;
290
+ const securityManager = node?.securityManager ?? null;
291
+ return securityManager?.authorizer ?? undefined;
292
+ }
293
+ _mapError(error) {
294
+ if (error instanceof node_1.QueueFullError) {
295
+ return { status: 429, message: 'receiver busy', code: 'queue_full' };
296
+ }
297
+ if (error instanceof Error) {
298
+ const message = error.message || 'Internal server error';
299
+ const normalized = message.toLowerCase();
300
+ if (normalized.includes('authentication failed')) {
301
+ return { status: 401, message, code: 'unauthorized' };
302
+ }
303
+ if (normalized.includes('forbidden') || normalized.includes('not authorized')) {
304
+ return { status: 403, message, code: 'forbidden' };
305
+ }
306
+ if (normalized.includes('timeout')) {
307
+ return { status: 504, message, code: 'timeout' };
308
+ }
309
+ if (normalized.includes('no route') || normalized.includes('no local handler')) {
310
+ return { status: 404, message, code: 'not_found' };
311
+ }
312
+ if (normalized.includes('invalid')) {
313
+ return { status: 400, message, code: 'invalid_request' };
314
+ }
315
+ return { status: 500, message };
316
+ }
317
+ return { status: 500, message: 'Internal server error' };
318
+ }
319
+ }
320
+ exports.AgentHttpGatewayListener = AgentHttpGatewayListener;
321
+ function sanitizeBasePath(basePath) {
322
+ if (!basePath || typeof basePath !== 'string') {
323
+ return DEFAULT_BASE_PATH;
324
+ }
325
+ const trimmed = basePath.trim();
326
+ if (!trimmed.startsWith('/')) {
327
+ return `/${trimmed}`;
328
+ }
329
+ return trimmed || DEFAULT_BASE_PATH;
330
+ }
331
+ function normalizeLimits(limits) {
332
+ return {
333
+ maxMethodLength: positiveIntOrDefault(limits?.maxMethodLength, DEFAULT_MAX_METHOD_LENGTH),
334
+ maxTargetAddrLength: positiveIntOrDefault(limits?.maxTargetAddrLength, DEFAULT_MAX_TARGET_ADDR_LENGTH),
335
+ maxTypeLength: positiveIntOrDefault(limits?.maxTypeLength, DEFAULT_MAX_TYPE_LENGTH),
336
+ maxCapabilities: positiveIntOrDefault(limits?.maxCapabilities, DEFAULT_MAX_CAPABILITIES),
337
+ maxCapabilityLength: positiveIntOrDefault(limits?.maxCapabilityLength, DEFAULT_MAX_CAPABILITY_LENGTH),
338
+ bodyLimitBytes: positiveIntOrDefault(limits?.bodyLimitBytes, DEFAULT_BODY_LIMIT_BYTES),
339
+ };
340
+ }
341
+ function positiveIntOrDefault(value, defaultValue) {
342
+ if (typeof value === 'number' && Number.isFinite(value) && value > 0) {
343
+ return Math.floor(value);
344
+ }
345
+ return defaultValue;
346
+ }
347
+ //# sourceMappingURL=agent-http-gateway-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-http-gateway-listener.js","sourceRoot":"","sources":["../../../../../src/naylence/agent/gateway/agent-http-gateway-listener.ts"],"names":[],"mappings":"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"}
@@ -7,4 +7,5 @@ export * from './errors.js';
7
7
  export * from './rpc-adapter.js';
8
8
  export * from './util.js';
9
9
  export * from './configs.js';
10
+ export * from './util/register-agent-factories.js';
10
11
  import './agent-proxy-default.js';
@@ -25,5 +25,6 @@ __exportStar(require("./errors.js"), exports);
25
25
  __exportStar(require("./rpc-adapter.js"), exports);
26
26
  __exportStar(require("./util.js"), exports);
27
27
  __exportStar(require("./configs.js"), exports);
28
+ __exportStar(require("./util/register-agent-factories.js"), exports);
28
29
  require("./agent-proxy-default.js");
29
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/naylence/agent/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,6CAA2B;AAC3B,kDAAgC;AAChC,6DAA2C;AAC3C,mDAA8C;AAArC,4GAAA,UAAU,OAAA;AACnB,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,+CAA6B;AAG7B,oCAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/naylence/agent/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,iDAA+B;AAC/B,6CAA2B;AAC3B,kDAAgC;AAChC,6DAA2C;AAC3C,mDAA8C;AAArC,4GAAA,UAAU,OAAA;AACnB,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,+CAA6B;AAC7B,qEAAmD;AAGnD,oCAAkC"}
@@ -0,0 +1,4 @@
1
+ import { Registry as DefaultRegistry } from '@naylence/factory';
2
+ export declare function registerAgentFactories(registry?: typeof DefaultRegistry): Promise<void>;
3
+ export declare function ensureAgentFactoriesRegistered(registry?: typeof DefaultRegistry): Promise<void>;
4
+ export type AgentFactoryRegistry = typeof DefaultRegistry;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.registerAgentFactories = registerAgentFactories;
37
+ exports.ensureAgentFactoriesRegistered = ensureAgentFactoriesRegistered;
38
+ const factory_1 = require("@naylence/factory");
39
+ const factory_manifest_js_1 = require("../factory-manifest.js");
40
+ const FACTORY_MODULE_PREFIX = '@naylence/agent-sdk/naylence/agent/';
41
+ const isNodeEnvironment = typeof process !== 'undefined' && Boolean(process?.versions?.node);
42
+ let registered = false;
43
+ function resolveCandidates(spec) {
44
+ const candidates = [];
45
+ const trimmed = spec.startsWith('./') ? spec.slice(2) : spec;
46
+ if (spec.startsWith('./')) {
47
+ const relative = `../${spec.slice(2)}`;
48
+ candidates.push(relative);
49
+ if (relative.endsWith('.js')) {
50
+ candidates.push(relative.replace(/\.js$/u, '.ts'));
51
+ }
52
+ }
53
+ candidates.push(`${FACTORY_MODULE_PREFIX}${trimmed}`);
54
+ if (trimmed.endsWith('.js')) {
55
+ candidates.push(`${FACTORY_MODULE_PREFIX}${trimmed.replace(/\.js$/u, '.ts')}`);
56
+ }
57
+ return candidates;
58
+ }
59
+ async function importFactoryModule(spec) {
60
+ let lastError;
61
+ const staticLoader = factory_manifest_js_1.MODULE_LOADERS?.[spec];
62
+ if (staticLoader) {
63
+ try {
64
+ const loaded = await staticLoader();
65
+ if (loaded && typeof loaded === 'object') {
66
+ return loaded;
67
+ }
68
+ }
69
+ catch (error) {
70
+ lastError = error;
71
+ }
72
+ }
73
+ else {
74
+ }
75
+ const candidates = resolveCandidates(spec);
76
+ for (const [index, candidate] of candidates.entries()) {
77
+ try {
78
+ const loaded = await Promise.resolve(`${candidate}`).then(s => __importStar(require(s)));
79
+ if (loaded && typeof loaded === 'object') {
80
+ return loaded;
81
+ }
82
+ lastError = new Error(`Factory module ${candidate} did not export an object`);
83
+ }
84
+ catch (error) {
85
+ lastError = error;
86
+ const message = error instanceof Error ? error.message : String(error);
87
+ const moduleNotFound = message.includes('Cannot find module') ||
88
+ message.includes('ERR_MODULE_NOT_FOUND') ||
89
+ message.includes('Unknown file extension') ||
90
+ message.includes('Failed to fetch dynamically imported module') ||
91
+ message.includes('Importing a module script failed');
92
+ const isLast = index === candidates.length - 1;
93
+ if (!moduleNotFound || isLast) {
94
+ throw error;
95
+ }
96
+ }
97
+ }
98
+ throw lastError ?? new Error(`Unable to import factory module: ${spec}`);
99
+ }
100
+ async function performRegistration(registry = factory_1.Registry) {
101
+ await Promise.all(factory_manifest_js_1.MODULES.map(async (spec) => {
102
+ if (!isNodeEnvironment && factory_manifest_js_1.NODE_ONLY_FACTORY_MODULES.has(spec)) {
103
+ return;
104
+ }
105
+ try {
106
+ const mod = await importFactoryModule(spec);
107
+ const meta = mod.FACTORY_META;
108
+ const factoryCtor = mod.default ?? (meta?.key ? mod[meta.key] : null);
109
+ if (!meta?.base || !meta?.key || typeof factoryCtor !== 'function') {
110
+ return;
111
+ }
112
+ registry.registerFactory(meta.base, meta.key, factoryCtor, meta);
113
+ }
114
+ catch (error) {
115
+ if (!isNodeEnvironment && factory_manifest_js_1.NODE_ONLY_FACTORY_MODULES.has(spec)) {
116
+ return;
117
+ }
118
+ throw error;
119
+ }
120
+ }));
121
+ }
122
+ async function registerAgentFactories(registry = factory_1.Registry) {
123
+ await performRegistration(registry);
124
+ registered = true;
125
+ }
126
+ async function ensureAgentFactoriesRegistered(registry = factory_1.Registry) {
127
+ if (registered) {
128
+ return;
129
+ }
130
+ await registerAgentFactories(registry);
131
+ }
132
+ //# sourceMappingURL=register-agent-factories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-agent-factories.js","sourceRoot":"","sources":["../../../../../src/naylence/agent/util/register-agent-factories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import '@naylence/runtime';
2
+ export * from './agent-isomorphic.js';
3
+ export * from './naylence/agent/gateway/agent-http-gateway-listener.js';
4
+ export * from './naylence/agent/gateway/agent-http-gateway-listener-factory.js';
5
+ export { default } from './plugin.js';
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.default = void 0;
21
+ require("@naylence/runtime");
22
+ const plugin_js_1 = __importDefault(require("./plugin.js"));
23
+ (async () => {
24
+ try {
25
+ await plugin_js_1.default.register();
26
+ }
27
+ catch (err) {
28
+ console.error('[naylence-agent-sdk] Failed to auto-register plugin:', err);
29
+ }
30
+ })();
31
+ if (typeof process !== 'undefined' && process.env) {
32
+ const pluginName = '@naylence/agent-sdk';
33
+ const current = process.env.FAME_PLUGINS || '';
34
+ const plugins = current.split(',').map((p) => p.trim());
35
+ if (!plugins.includes(pluginName)) {
36
+ process.env.FAME_PLUGINS = current
37
+ ? `${current},${pluginName}`
38
+ : pluginName;
39
+ }
40
+ }
41
+ __exportStar(require("./agent-isomorphic.js"), exports);
42
+ __exportStar(require("./naylence/agent/gateway/agent-http-gateway-listener.js"), exports);
43
+ __exportStar(require("./naylence/agent/gateway/agent-http-gateway-listener-factory.js"), exports);
44
+ var plugin_js_2 = require("./plugin.js");
45
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(plugin_js_2).default; } });
46
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAMA,6BAA2B;AAC3B,4DAAiC;AAIjC,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,mBAAM,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAGL,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,UAAU,GAAG,qBAAqB,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO;YAChC,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE;YAC5B,CAAC,CAAC,UAAU,CAAC;IACjB,CAAC;AACH,CAAC;AAGD,wDAAsC;AAGtC,0FAAwE;AACxE,kGAAgF;AAGhF,yCAAsC;AAA7B,qHAAA,OAAO,OAAA"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AGENT_SDK_PLUGIN_SPECIFIER = void 0;
4
4
  const version_js_1 = require("./version.js");
5
+ const register_agent_factories_js_1 = require("./naylence/agent/util/register-agent-factories.js");
5
6
  let initialized = false;
6
7
  const agentSdkPlugin = {
7
8
  name: 'naylence:agent-sdk',
@@ -11,6 +12,7 @@ const agentSdkPlugin = {
11
12
  return;
12
13
  }
13
14
  initialized = true;
15
+ await (0, register_agent_factories_js_1.ensureAgentFactoriesRegistered)();
14
16
  },
15
17
  };
16
18
  exports.default = agentSdkPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;AAIA,6CAAuC;AAEvC,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,cAAc,GAAe;IACjC,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,oBAAO;IAChB,KAAK,CAAC,QAAQ;QACZ,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;IAMrB,CAAC;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC;AAEjB,QAAA,0BAA0B,GAAG,cAAc,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":";;;AAIA,6CAAuC;AACvC,mGAAmG;AAEnG,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,cAAc,GAAe;IACjC,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,oBAAO;IAChB,KAAK,CAAC,QAAQ;QACZ,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,MAAM,IAAA,4DAA8B,GAAE,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC;AAEjB,QAAA,0BAA0B,GAAG,cAAc,CAAC,IAAI,CAAC"}
@@ -1 +1 @@
1
- export declare const VERSION = "0.3.13";
1
+ export declare const VERSION = "0.3.15";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.3.13';
4
+ exports.VERSION = '0.3.15';
5
5
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Isomorphic entry point for Naylence Agent SDK.
3
+ *
4
+ * Exports utilities, agent base classes, and cross-platform helpers that
5
+ * do not rely on Node.js-only dependencies. This file purposefully excludes
6
+ * node-only modules such as the HTTP gateway listener.
7
+ */
8
+ export * from './naylence/agent/a2a-types.js';
9
+ export * from './naylence/agent/agent.js';
10
+ export * from './naylence/agent/base-agent.js';
11
+ export * from './naylence/agent/background-task-agent.js';
12
+ export { AgentProxy } from './naylence/agent/agent-proxy.js';
13
+ export * from './naylence/agent/errors.js';
14
+ export * from './naylence/agent/rpc-adapter.js';
15
+ export * from './naylence/agent/util.js';
16
+ export * from './naylence/agent/configs.js';
17
+ export * from './naylence/agent/util/register-agent-factories.js';
18
+ import './naylence/agent/agent-proxy-default.js';