@naylence/agent-sdk 0.3.14 → 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.
- package/dist/browser/index.js +3344 -60491
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/agent-isomorphic.d.ts +11 -0
- package/dist/cjs/agent-isomorphic.js +30 -0
- package/dist/cjs/agent-isomorphic.js.map +1 -0
- package/dist/cjs/browser.d.ts +3 -1
- package/dist/cjs/browser.js +17 -1
- package/dist/cjs/browser.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -3
- package/dist/cjs/index.js +1 -32
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/naylence/agent/factory-manifest.browser.d.ts +5 -0
- package/dist/cjs/naylence/agent/factory-manifest.browser.js +7 -0
- package/dist/cjs/naylence/agent/factory-manifest.browser.js.map +1 -0
- package/dist/cjs/naylence/agent/factory-manifest.d.ts +5 -0
- package/dist/cjs/naylence/agent/factory-manifest.js +46 -0
- package/dist/cjs/naylence/agent/factory-manifest.js.map +1 -0
- package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts +23 -0
- package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener-factory.js +144 -0
- package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener-factory.js.map +1 -0
- package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener.d.ts +40 -0
- package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener.js +347 -0
- package/dist/cjs/naylence/agent/gateway/agent-http-gateway-listener.js.map +1 -0
- package/dist/cjs/naylence/agent/index.d.ts +1 -0
- package/dist/cjs/naylence/agent/index.js +1 -0
- package/dist/cjs/naylence/agent/index.js.map +1 -1
- package/dist/cjs/naylence/agent/util/register-agent-factories.d.ts +4 -0
- package/dist/cjs/naylence/agent/util/register-agent-factories.js +132 -0
- package/dist/cjs/naylence/agent/util/register-agent-factories.js.map +1 -0
- package/dist/cjs/node.d.ts +5 -0
- package/dist/cjs/node.js +46 -0
- package/dist/cjs/node.js.map +1 -0
- package/dist/cjs/plugin.js +2 -0
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/agent-isomorphic.d.ts +18 -0
- package/dist/esm/agent-isomorphic.js +21 -0
- package/dist/esm/agent-isomorphic.js.map +1 -0
- package/dist/esm/browser.d.ts +9 -1
- package/dist/esm/browser.js +21 -3
- package/dist/esm/browser.js.map +1 -1
- package/dist/esm/index.d.ts +7 -3
- package/dist/esm/index.js +7 -34
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/naylence/agent/factory-manifest.browser.d.ts +11 -0
- package/dist/esm/naylence/agent/factory-manifest.browser.js +11 -0
- package/dist/esm/naylence/agent/factory-manifest.browser.js.map +1 -0
- package/dist/esm/naylence/agent/factory-manifest.d.ts +11 -0
- package/dist/esm/naylence/agent/factory-manifest.js +17 -0
- package/dist/esm/naylence/agent/factory-manifest.js.map +1 -0
- package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts +37 -0
- package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener-factory.js +128 -0
- package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener-factory.js.map +1 -0
- package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener.d.ts +50 -0
- package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener.js +350 -0
- package/dist/esm/naylence/agent/gateway/agent-http-gateway-listener.js.map +1 -0
- package/dist/esm/naylence/agent/index.d.ts +5 -0
- package/dist/esm/naylence/agent/index.js +5 -0
- package/dist/esm/naylence/agent/index.js.map +1 -1
- package/dist/esm/naylence/agent/util/register-agent-factories.d.ts +4 -0
- package/dist/esm/naylence/agent/util/register-agent-factories.js +103 -0
- package/dist/esm/naylence/agent/util/register-agent-factories.js.map +1 -0
- package/dist/esm/node.d.ts +11 -0
- package/dist/esm/node.js +37 -0
- package/dist/esm/node.js.map +1 -0
- package/dist/esm/plugin.js +2 -4
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +2 -2
- package/dist/types/agent-isomorphic.d.ts +19 -0
- package/dist/types/agent-isomorphic.d.ts.map +1 -0
- package/dist/types/browser.d.ts +9 -1
- package/dist/types/browser.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/naylence/agent/factory-manifest.browser.d.ts +12 -0
- package/dist/types/naylence/agent/factory-manifest.browser.d.ts.map +1 -0
- package/dist/types/naylence/agent/factory-manifest.d.ts +12 -0
- package/dist/types/naylence/agent/factory-manifest.d.ts.map +1 -0
- package/dist/types/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts +38 -0
- package/dist/types/naylence/agent/gateway/agent-http-gateway-listener-factory.d.ts.map +1 -0
- package/dist/types/naylence/agent/gateway/agent-http-gateway-listener.d.ts +51 -0
- package/dist/types/naylence/agent/gateway/agent-http-gateway-listener.d.ts.map +1 -0
- package/dist/types/naylence/agent/index.d.ts +5 -0
- package/dist/types/naylence/agent/index.d.ts.map +1 -1
- package/dist/types/naylence/agent/util/register-agent-factories.d.ts +5 -0
- package/dist/types/naylence/agent/util/register-agent-factories.d.ts.map +1 -0
- package/dist/types/node.d.ts +12 -0
- package/dist/types/node.d.ts.map +1 -0
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +25 -14
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
import { FameResponseType } from '@naylence/core';
|
|
2
|
+
import { QueueFullError, TransportListener, createNodeDeliveryContext, } from '@naylence/runtime/node';
|
|
3
|
+
import { getLogger } from '@naylence/runtime';
|
|
4
|
+
const DEFAULT_BASE_PATH = '/fame/v1/gateway';
|
|
5
|
+
const DEFAULT_TIMEOUT_MS = 30000;
|
|
6
|
+
const MAX_TIMEOUT_MS = 120000;
|
|
7
|
+
// Structural limits for routing/envelope fields (not payload content)
|
|
8
|
+
const DEFAULT_MAX_METHOD_LENGTH = 256;
|
|
9
|
+
const DEFAULT_MAX_TARGET_ADDR_LENGTH = 512;
|
|
10
|
+
const DEFAULT_MAX_TYPE_LENGTH = 256;
|
|
11
|
+
const DEFAULT_MAX_CAPABILITIES = 16;
|
|
12
|
+
const DEFAULT_MAX_CAPABILITY_LENGTH = 256;
|
|
13
|
+
const DEFAULT_BODY_LIMIT_BYTES = 1048576; // 1MB
|
|
14
|
+
const logger = getLogger('naylence.agent.gateway.http_listener');
|
|
15
|
+
export class AgentHttpGatewayListener extends TransportListener {
|
|
16
|
+
constructor(params) {
|
|
17
|
+
super();
|
|
18
|
+
this._node = null;
|
|
19
|
+
this._routerRegistered = false;
|
|
20
|
+
this._httpServer = params.httpServer;
|
|
21
|
+
this._authorizer = params.authorizer ?? null;
|
|
22
|
+
this._basePath = sanitizeBasePath(params.basePath);
|
|
23
|
+
this._limits = normalizeLimits(params.limits);
|
|
24
|
+
}
|
|
25
|
+
get httpServer() {
|
|
26
|
+
return this._httpServer;
|
|
27
|
+
}
|
|
28
|
+
async onNodeInitialized(node) {
|
|
29
|
+
if (this._routerRegistered) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this._node = node;
|
|
33
|
+
const router = await this.createRouter();
|
|
34
|
+
await this._httpServer.includeRouter(router, { prefix: this._basePath });
|
|
35
|
+
this._routerRegistered = true;
|
|
36
|
+
}
|
|
37
|
+
async onNodeStarted() {
|
|
38
|
+
if (this._httpServer.isRunning) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
await this._httpServer.start();
|
|
42
|
+
}
|
|
43
|
+
async onNodeStopped() {
|
|
44
|
+
this._routerRegistered = false;
|
|
45
|
+
this._node = null;
|
|
46
|
+
const candidate = this._httpServer;
|
|
47
|
+
if (candidate?.constructor?.release) {
|
|
48
|
+
try {
|
|
49
|
+
await candidate.constructor.release({
|
|
50
|
+
host: candidate.host,
|
|
51
|
+
port: candidate.port,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
// Best-effort cleanup; ignore failures to avoid masking stop errors.
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async createRouter() {
|
|
60
|
+
const bodyLimit = this._limits.bodyLimitBytes;
|
|
61
|
+
const plugin = async (instance) => {
|
|
62
|
+
instance.post('/rpc', { bodyLimit }, async (request, reply) => this._handleRpc(request.body, request.headers['authorization'], reply));
|
|
63
|
+
instance.post('/messages', { bodyLimit }, async (request, reply) => this._handleMessage(request.body, request.headers['authorization'], reply));
|
|
64
|
+
instance.get('/health', async () => ({
|
|
65
|
+
status: 'healthy',
|
|
66
|
+
listenerType: 'AgentHttpGatewayListener',
|
|
67
|
+
}));
|
|
68
|
+
};
|
|
69
|
+
return plugin;
|
|
70
|
+
}
|
|
71
|
+
async _handleRpc(body, authHeader, reply) {
|
|
72
|
+
const node = this._node;
|
|
73
|
+
if (!node) {
|
|
74
|
+
return reply.code(503).send({ ok: false, error: 'Node not initialized' });
|
|
75
|
+
}
|
|
76
|
+
try {
|
|
77
|
+
const request = this._parseRpcRequest(body);
|
|
78
|
+
if (!request) {
|
|
79
|
+
return reply.code(400).send({ ok: false, error: 'Invalid RPC request body' });
|
|
80
|
+
}
|
|
81
|
+
const authorization = await this._authenticateRequest(authHeader);
|
|
82
|
+
logger.debug('rpc_request_authenticated', {
|
|
83
|
+
hasAuthorization: Boolean(authorization),
|
|
84
|
+
principal: authorization?.principal ?? null,
|
|
85
|
+
scopes: authorization?.grantedScopes ?? [],
|
|
86
|
+
});
|
|
87
|
+
const timeoutMs = this._normalizeTimeout(request.timeoutMs);
|
|
88
|
+
const result = await this._invokeRpc(node, request, timeoutMs);
|
|
89
|
+
return reply.code(200).send({ ok: true, result });
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
const mapped = this._mapError(error);
|
|
93
|
+
return reply.code(mapped.status).send({
|
|
94
|
+
ok: false,
|
|
95
|
+
error: mapped.message,
|
|
96
|
+
...(mapped.code ? { code: mapped.code } : {}),
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
async _handleMessage(body, authHeader, reply) {
|
|
101
|
+
const node = this._node;
|
|
102
|
+
if (!node) {
|
|
103
|
+
return reply.code(503).send({ ok: false, error: 'Node not initialized' });
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
const request = this._parseMessageRequest(body);
|
|
107
|
+
if (!request) {
|
|
108
|
+
return reply.code(400).send({ ok: false, error: 'Invalid message request body' });
|
|
109
|
+
}
|
|
110
|
+
const authorization = await this._authenticateRequest(authHeader);
|
|
111
|
+
logger.debug('message_request_authenticated', {
|
|
112
|
+
hasAuthorization: Boolean(authorization),
|
|
113
|
+
principal: authorization?.principal ?? null,
|
|
114
|
+
scopes: authorization?.grantedScopes ?? [],
|
|
115
|
+
});
|
|
116
|
+
await this._sendMessage(node, request, authorization);
|
|
117
|
+
return reply.code(202).send({ status: 'message_accepted' });
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
const mapped = this._mapError(error);
|
|
121
|
+
return reply.code(mapped.status).send({
|
|
122
|
+
ok: false,
|
|
123
|
+
error: mapped.message,
|
|
124
|
+
...(mapped.code ? { code: mapped.code } : {}),
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
_parseRpcRequest(body) {
|
|
129
|
+
if (!body || typeof body !== 'object' || Array.isArray(body)) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const record = body;
|
|
133
|
+
const method = typeof record.method === 'string' ? record.method.trim() : '';
|
|
134
|
+
if (!method) {
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
// Validate structural limits
|
|
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
|
+
// Validate capabilities limits
|
|
153
|
+
if (capsRaw.length > this._limits.maxCapabilities) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
for (const cap of capsRaw) {
|
|
157
|
+
if (cap.length > this._limits.maxCapabilityLength) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
if (targetAddr) {
|
|
162
|
+
return {
|
|
163
|
+
targetAddr,
|
|
164
|
+
method,
|
|
165
|
+
...(params ? { params } : {}),
|
|
166
|
+
...(timeoutMs !== undefined ? { timeoutMs } : {}),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (capsRaw.length > 0) {
|
|
170
|
+
return {
|
|
171
|
+
capabilities: capsRaw,
|
|
172
|
+
method,
|
|
173
|
+
...(params ? { params } : {}),
|
|
174
|
+
...(timeoutMs !== undefined ? { timeoutMs } : {}),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
_parseMessageRequest(body) {
|
|
180
|
+
if (!body || typeof body !== 'object' || Array.isArray(body)) {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
const record = body;
|
|
184
|
+
const targetAddr = typeof record.targetAddr === 'string' ? record.targetAddr.trim() : '';
|
|
185
|
+
// Validate targetAddr limit
|
|
186
|
+
if (targetAddr.length > this._limits.maxTargetAddrLength) {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
const capsRaw = Array.isArray(record.capabilities)
|
|
190
|
+
? record.capabilities.map((value) => (typeof value === 'string' ? value.trim() : '')).filter(Boolean)
|
|
191
|
+
: [];
|
|
192
|
+
// Validate capabilities limits
|
|
193
|
+
if (capsRaw.length > this._limits.maxCapabilities) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
for (const cap of capsRaw) {
|
|
197
|
+
if (cap.length > this._limits.maxCapabilityLength) {
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
const type = typeof record.type === 'string' ? record.type.trim() : '';
|
|
202
|
+
// Validate type limit
|
|
203
|
+
if (type.length > this._limits.maxTypeLength) {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
const payload = 'payload' in record ? record.payload : undefined;
|
|
207
|
+
if (!type && payload === undefined) {
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
if (targetAddr) {
|
|
211
|
+
return { targetAddr, ...(type ? { type } : {}), ...(payload !== undefined ? { payload } : {}) };
|
|
212
|
+
}
|
|
213
|
+
if (capsRaw.length > 0) {
|
|
214
|
+
return { capabilities: capsRaw, ...(type ? { type } : {}), ...(payload !== undefined ? { payload } : {}) };
|
|
215
|
+
}
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
_parseTimeoutValue(value) {
|
|
219
|
+
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
220
|
+
return value;
|
|
221
|
+
}
|
|
222
|
+
if (typeof value === 'string' && value.trim().length > 0) {
|
|
223
|
+
const parsed = Number.parseInt(value.trim(), 10);
|
|
224
|
+
if (Number.isFinite(parsed)) {
|
|
225
|
+
return parsed;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return undefined;
|
|
229
|
+
}
|
|
230
|
+
_normalizeTimeout(value) {
|
|
231
|
+
if (value === undefined || Number.isNaN(value)) {
|
|
232
|
+
return DEFAULT_TIMEOUT_MS;
|
|
233
|
+
}
|
|
234
|
+
if (value <= 0) {
|
|
235
|
+
return DEFAULT_TIMEOUT_MS;
|
|
236
|
+
}
|
|
237
|
+
return Math.min(value, MAX_TIMEOUT_MS);
|
|
238
|
+
}
|
|
239
|
+
async _invokeRpc(node, request, timeoutMs) {
|
|
240
|
+
const timeout = this._normalizeTimeout(timeoutMs);
|
|
241
|
+
if ('targetAddr' in request) {
|
|
242
|
+
return node.invoke(request.targetAddr, request.method, request.params ?? {}, timeout);
|
|
243
|
+
}
|
|
244
|
+
return node.invokeByCapability(request.capabilities, request.method, request.params ?? {}, timeout);
|
|
245
|
+
}
|
|
246
|
+
async _sendMessage(node, request, authorization) {
|
|
247
|
+
const envelopeOptions = {
|
|
248
|
+
frame: {
|
|
249
|
+
type: 'Data',
|
|
250
|
+
payload: {
|
|
251
|
+
...(request.type ? { type: request.type } : {}),
|
|
252
|
+
...(request.payload !== undefined ? { payload: request.payload } : {}),
|
|
253
|
+
},
|
|
254
|
+
},
|
|
255
|
+
responseType: FameResponseType.NONE,
|
|
256
|
+
};
|
|
257
|
+
if ('targetAddr' in request) {
|
|
258
|
+
envelopeOptions.to = request.targetAddr;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
envelopeOptions.capabilities = request.capabilities;
|
|
262
|
+
}
|
|
263
|
+
const envelope = node.envelopeFactory.createEnvelope(envelopeOptions);
|
|
264
|
+
const context = createNodeDeliveryContext({
|
|
265
|
+
authorization: authorization ?? undefined,
|
|
266
|
+
});
|
|
267
|
+
await node.send(envelope, context);
|
|
268
|
+
}
|
|
269
|
+
async _authenticateRequest(header) {
|
|
270
|
+
const authorizer = await this._resolveAuthorizer();
|
|
271
|
+
if (!authorizer) {
|
|
272
|
+
return undefined;
|
|
273
|
+
}
|
|
274
|
+
const token = typeof header === 'string' ? header : Array.isArray(header) ? header[0] : '';
|
|
275
|
+
try {
|
|
276
|
+
const result = await authorizer.authenticate(token ?? '');
|
|
277
|
+
if (!result) {
|
|
278
|
+
throw new Error('Authentication failed');
|
|
279
|
+
}
|
|
280
|
+
return result;
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
if (error instanceof Error) {
|
|
284
|
+
throw error;
|
|
285
|
+
}
|
|
286
|
+
throw new Error(String(error));
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
async _resolveAuthorizer() {
|
|
290
|
+
if (this._authorizer) {
|
|
291
|
+
return this._authorizer;
|
|
292
|
+
}
|
|
293
|
+
const node = this._node;
|
|
294
|
+
const securityManager = node?.securityManager ?? null;
|
|
295
|
+
return securityManager?.authorizer ?? undefined;
|
|
296
|
+
}
|
|
297
|
+
_mapError(error) {
|
|
298
|
+
if (error instanceof QueueFullError) {
|
|
299
|
+
return { status: 429, message: 'receiver busy', code: 'queue_full' };
|
|
300
|
+
}
|
|
301
|
+
if (error instanceof Error) {
|
|
302
|
+
const message = error.message || 'Internal server error';
|
|
303
|
+
const normalized = message.toLowerCase();
|
|
304
|
+
if (normalized.includes('authentication failed')) {
|
|
305
|
+
return { status: 401, message, code: 'unauthorized' };
|
|
306
|
+
}
|
|
307
|
+
if (normalized.includes('forbidden') || normalized.includes('not authorized')) {
|
|
308
|
+
return { status: 403, message, code: 'forbidden' };
|
|
309
|
+
}
|
|
310
|
+
if (normalized.includes('timeout')) {
|
|
311
|
+
return { status: 504, message, code: 'timeout' };
|
|
312
|
+
}
|
|
313
|
+
if (normalized.includes('no route') || normalized.includes('no local handler')) {
|
|
314
|
+
return { status: 404, message, code: 'not_found' };
|
|
315
|
+
}
|
|
316
|
+
if (normalized.includes('invalid')) {
|
|
317
|
+
return { status: 400, message, code: 'invalid_request' };
|
|
318
|
+
}
|
|
319
|
+
return { status: 500, message };
|
|
320
|
+
}
|
|
321
|
+
return { status: 500, message: 'Internal server error' };
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
function sanitizeBasePath(basePath) {
|
|
325
|
+
if (!basePath || typeof basePath !== 'string') {
|
|
326
|
+
return DEFAULT_BASE_PATH;
|
|
327
|
+
}
|
|
328
|
+
const trimmed = basePath.trim();
|
|
329
|
+
if (!trimmed.startsWith('/')) {
|
|
330
|
+
return `/${trimmed}`;
|
|
331
|
+
}
|
|
332
|
+
return trimmed || DEFAULT_BASE_PATH;
|
|
333
|
+
}
|
|
334
|
+
function normalizeLimits(limits) {
|
|
335
|
+
return {
|
|
336
|
+
maxMethodLength: positiveIntOrDefault(limits?.maxMethodLength, DEFAULT_MAX_METHOD_LENGTH),
|
|
337
|
+
maxTargetAddrLength: positiveIntOrDefault(limits?.maxTargetAddrLength, DEFAULT_MAX_TARGET_ADDR_LENGTH),
|
|
338
|
+
maxTypeLength: positiveIntOrDefault(limits?.maxTypeLength, DEFAULT_MAX_TYPE_LENGTH),
|
|
339
|
+
maxCapabilities: positiveIntOrDefault(limits?.maxCapabilities, DEFAULT_MAX_CAPABILITIES),
|
|
340
|
+
maxCapabilityLength: positiveIntOrDefault(limits?.maxCapabilityLength, DEFAULT_MAX_CAPABILITY_LENGTH),
|
|
341
|
+
bodyLimitBytes: positiveIntOrDefault(limits?.bodyLimitBytes, DEFAULT_BODY_LIMIT_BYTES),
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
function positiveIntOrDefault(value, defaultValue) {
|
|
345
|
+
if (typeof value === 'number' && Number.isFinite(value) && value > 0) {
|
|
346
|
+
return Math.floor(value);
|
|
347
|
+
}
|
|
348
|
+
return defaultValue;
|
|
349
|
+
}
|
|
350
|
+
//# 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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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isomorphic agent module exports.
|
|
3
|
+
* Does NOT include Node.js-only components (gateway listeners).
|
|
4
|
+
*/
|
|
1
5
|
export * from './a2a-types.js';
|
|
2
6
|
export * from './agent.js';
|
|
3
7
|
export * from './base-agent.js';
|
|
@@ -7,4 +11,5 @@ export * from './errors.js';
|
|
|
7
11
|
export * from './rpc-adapter.js';
|
|
8
12
|
export * from './util.js';
|
|
9
13
|
export * from './configs.js';
|
|
14
|
+
export * from './util/register-agent-factories.js';
|
|
10
15
|
import './agent-proxy-default.js';
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Isomorphic agent module exports.
|
|
3
|
+
* Does NOT include Node.js-only components (gateway listeners).
|
|
4
|
+
*/
|
|
1
5
|
export * from './a2a-types.js';
|
|
2
6
|
export * from './agent.js';
|
|
3
7
|
export * from './base-agent.js';
|
|
@@ -7,6 +11,7 @@ export * from './errors.js';
|
|
|
7
11
|
export * from './rpc-adapter.js';
|
|
8
12
|
export * from './util.js';
|
|
9
13
|
export * from './configs.js';
|
|
14
|
+
export * from './util/register-agent-factories.js';
|
|
10
15
|
// Register default agent proxy factory
|
|
11
16
|
import './agent-proxy-default.js';
|
|
12
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/naylence/agent/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/naylence/agent/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,oCAAoC,CAAC;AAEnD,uCAAuC;AACvC,OAAO,0BAA0B,CAAC"}
|
|
@@ -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,103 @@
|
|
|
1
|
+
import { Registry as DefaultRegistry } from '@naylence/factory';
|
|
2
|
+
import { MODULE_LOADERS, MODULES, NODE_ONLY_FACTORY_MODULES, } from '../factory-manifest.js';
|
|
3
|
+
const FACTORY_MODULE_PREFIX = '@naylence/agent-sdk/naylence/agent/';
|
|
4
|
+
const isNodeEnvironment = typeof process !== 'undefined' && Boolean(process?.versions?.node);
|
|
5
|
+
let registered = false;
|
|
6
|
+
function resolveCandidates(spec) {
|
|
7
|
+
const candidates = [];
|
|
8
|
+
const trimmed = spec.startsWith('./') ? spec.slice(2) : spec;
|
|
9
|
+
// Try relative path first (for development/tsx)
|
|
10
|
+
if (spec.startsWith('./')) {
|
|
11
|
+
const relative = `../${spec.slice(2)}`;
|
|
12
|
+
candidates.push(relative);
|
|
13
|
+
if (relative.endsWith('.js')) {
|
|
14
|
+
candidates.push(relative.replace(/\.js$/u, '.ts'));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Then try package path
|
|
18
|
+
candidates.push(`${FACTORY_MODULE_PREFIX}${trimmed}`);
|
|
19
|
+
if (trimmed.endsWith('.js')) {
|
|
20
|
+
candidates.push(`${FACTORY_MODULE_PREFIX}${trimmed.replace(/\.js$/u, '.ts')}`);
|
|
21
|
+
}
|
|
22
|
+
return candidates;
|
|
23
|
+
}
|
|
24
|
+
async function importFactoryModule(spec) {
|
|
25
|
+
let lastError;
|
|
26
|
+
// Try static loader first (from factory-manifest)
|
|
27
|
+
const staticLoader = MODULE_LOADERS?.[spec];
|
|
28
|
+
if (staticLoader) {
|
|
29
|
+
try {
|
|
30
|
+
const loaded = await staticLoader();
|
|
31
|
+
if (loaded && typeof loaded === 'object') {
|
|
32
|
+
return loaded;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
lastError = error;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// console.log(`[DEBUG] No static loader for ${spec}`);
|
|
41
|
+
}
|
|
42
|
+
// Fallback to dynamic import with candidate resolution
|
|
43
|
+
const candidates = resolveCandidates(spec);
|
|
44
|
+
for (const [index, candidate] of candidates.entries()) {
|
|
45
|
+
try {
|
|
46
|
+
const loaded = await import(/* @vite-ignore */ candidate);
|
|
47
|
+
if (loaded && typeof loaded === 'object') {
|
|
48
|
+
return loaded;
|
|
49
|
+
}
|
|
50
|
+
lastError = new Error(`Factory module ${candidate} did not export an object`);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
lastError = error;
|
|
54
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
55
|
+
const moduleNotFound = message.includes('Cannot find module') ||
|
|
56
|
+
message.includes('ERR_MODULE_NOT_FOUND') ||
|
|
57
|
+
message.includes('Unknown file extension') ||
|
|
58
|
+
message.includes('Failed to fetch dynamically imported module') ||
|
|
59
|
+
message.includes('Importing a module script failed');
|
|
60
|
+
const isLast = index === candidates.length - 1;
|
|
61
|
+
if (!moduleNotFound || isLast) {
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
throw lastError ?? new Error(`Unable to import factory module: ${spec}`);
|
|
67
|
+
}
|
|
68
|
+
async function performRegistration(registry = DefaultRegistry) {
|
|
69
|
+
await Promise.all(MODULES.map(async (spec) => {
|
|
70
|
+
// Skip node-only modules in browser environment
|
|
71
|
+
if (!isNodeEnvironment && NODE_ONLY_FACTORY_MODULES.has(spec)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const mod = await importFactoryModule(spec);
|
|
76
|
+
const meta = mod.FACTORY_META;
|
|
77
|
+
const factoryCtor = mod.default ?? (meta?.key ? mod[meta.key] : null);
|
|
78
|
+
if (!meta?.base || !meta?.key || typeof factoryCtor !== 'function') {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
registry.registerFactory(meta.base, meta.key, factoryCtor, meta);
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
// In browser, node-only module failures are expected - silently skip
|
|
85
|
+
if (!isNodeEnvironment && NODE_ONLY_FACTORY_MODULES.has(spec)) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Re-throw unexpected errors
|
|
89
|
+
throw error;
|
|
90
|
+
}
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
export async function registerAgentFactories(registry = DefaultRegistry) {
|
|
94
|
+
await performRegistration(registry);
|
|
95
|
+
registered = true;
|
|
96
|
+
}
|
|
97
|
+
export async function ensureAgentFactoriesRegistered(registry = DefaultRegistry) {
|
|
98
|
+
if (registered) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
await registerAgentFactories(registry);
|
|
102
|
+
}
|
|
103
|
+
//# 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,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js entry point for Naylence Agent SDK.
|
|
3
|
+
*
|
|
4
|
+
* Includes all isomorphic exports plus Node.js-specific components
|
|
5
|
+
* like the HTTP gateway listener which depends on Fastify.
|
|
6
|
+
*/
|
|
7
|
+
import '@naylence/runtime';
|
|
8
|
+
export * from './agent-isomorphic.js';
|
|
9
|
+
export * from './naylence/agent/gateway/agent-http-gateway-listener.js';
|
|
10
|
+
export * from './naylence/agent/gateway/agent-http-gateway-listener-factory.js';
|
|
11
|
+
export { default } from './plugin.js';
|
package/dist/esm/node.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js entry point for Naylence Agent SDK.
|
|
3
|
+
*
|
|
4
|
+
* Includes all isomorphic exports plus Node.js-specific components
|
|
5
|
+
* like the HTTP gateway listener which depends on Fastify.
|
|
6
|
+
*/
|
|
7
|
+
import '@naylence/runtime';
|
|
8
|
+
import plugin from './plugin.js';
|
|
9
|
+
// Always register the plugin directly. This ensures it is initialized even if
|
|
10
|
+
// the dynamic import mechanism (used by FAME_PLUGINS) fails.
|
|
11
|
+
(async () => {
|
|
12
|
+
try {
|
|
13
|
+
await plugin.register();
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
console.error('[naylence-agent-sdk] Failed to auto-register plugin:', err);
|
|
17
|
+
}
|
|
18
|
+
})();
|
|
19
|
+
// Auto-register the agent-sdk plugin in FAME_PLUGINS for child processes
|
|
20
|
+
if (typeof process !== 'undefined' && process.env) {
|
|
21
|
+
const pluginName = '@naylence/agent-sdk';
|
|
22
|
+
const current = process.env.FAME_PLUGINS || '';
|
|
23
|
+
const plugins = current.split(',').map((p) => p.trim());
|
|
24
|
+
if (!plugins.includes(pluginName)) {
|
|
25
|
+
process.env.FAME_PLUGINS = current
|
|
26
|
+
? `${current},${pluginName}`
|
|
27
|
+
: pluginName;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Re-export all isomorphic components
|
|
31
|
+
export * from './agent-isomorphic.js';
|
|
32
|
+
// Node-only exports: HTTP Gateway Listener
|
|
33
|
+
export * from './naylence/agent/gateway/agent-http-gateway-listener.js';
|
|
34
|
+
export * from './naylence/agent/gateway/agent-http-gateway-listener-factory.js';
|
|
35
|
+
// Export plugin as default for naylence-factory plugin system
|
|
36
|
+
export { default } from './plugin.js';
|
|
37
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/node.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,8EAA8E;AAC9E,6DAA6D;AAC7D,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,MAAM,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;AAEL,yEAAyE;AACzE,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;AAED,sCAAsC;AACtC,cAAc,uBAAuB,CAAC;AAEtC,2CAA2C;AAC3C,cAAc,yDAAyD,CAAC;AACxE,cAAc,iEAAiE,CAAC;AAEhF,8DAA8D;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { VERSION } from './version.js';
|
|
2
|
+
import { ensureAgentFactoriesRegistered } from './naylence/agent/util/register-agent-factories.js';
|
|
2
3
|
let initialized = false;
|
|
3
4
|
const agentSdkPlugin = {
|
|
4
5
|
name: 'naylence:agent-sdk',
|
|
@@ -8,10 +9,7 @@ const agentSdkPlugin = {
|
|
|
8
9
|
return;
|
|
9
10
|
}
|
|
10
11
|
initialized = true;
|
|
11
|
-
|
|
12
|
-
// It doesn't register factories like the runtime package does.
|
|
13
|
-
// The side-effect import of agent-proxy-default.js in index.ts
|
|
14
|
-
// handles the default agent proxy registration.
|
|
12
|
+
await ensureAgentFactoriesRegistered();
|
|
15
13
|
},
|
|
16
14
|
};
|
|
17
15
|
export default agentSdkPlugin;
|
package/dist/esm/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AAEnG,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,cAAc,GAAe;IACjC,IAAI,EAAE,oBAAoB;IAC1B,OAAO,EAAE,OAAO;IAChB,KAAK,CAAC,QAAQ;QACZ,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,MAAM,8BAA8B,EAAE,CAAC;IACzC,CAAC;CACF,CAAC;AAEF,eAAe,cAAc,CAAC;AAE9B,MAAM,CAAC,MAAM,0BAA0B,GAAG,cAAc,CAAC,IAAI,CAAC"}
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// This file is auto-generated during build - do not edit manually
|
|
2
|
-
// Generated from package.json version: 0.3.
|
|
2
|
+
// Generated from package.json version: 0.3.15
|
|
3
3
|
/**
|
|
4
4
|
* The package version, injected at build time.
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export const VERSION = '0.3.
|
|
7
|
+
export const VERSION = '0.3.15';
|
|
8
8
|
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
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';
|
|
19
|
+
//# sourceMappingURL=agent-isomorphic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-isomorphic.d.ts","sourceRoot":"","sources":["../../src/agent-isomorphic.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2CAA2C,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mDAAmD,CAAC;AAGlE,OAAO,yCAAyC,CAAC"}
|