@cleocode/lafs 2026.5.45 → 2026.5.50
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/src/discovery.d.ts +9 -170
- package/dist/src/discovery.d.ts.map +1 -1
- package/dist/src/discovery.js +20 -181
- package/dist/src/discovery.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/schemas/v1/discovery.schema.json +0 -132
- package/schemas/v1/discovery.schema.json +0 -132
package/dist/src/discovery.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* LAFS Agent Discovery - Express/Fastify Middleware
|
|
3
3
|
* Serves A2A-compliant Agent Card at /.well-known/agent-card.json
|
|
4
|
-
* Maintains backward compatibility with legacy /.well-known/lafs.json
|
|
5
4
|
*
|
|
6
5
|
* A2A v1.0+ Compliant Implementation
|
|
7
|
-
* Reference: specs/external/agent-discovery.md
|
|
6
|
+
* Reference: specs/external/agent-discovery.md (RFC 8615 well-known URI)
|
|
8
7
|
*/
|
|
9
8
|
import type { RequestHandler } from 'express';
|
|
10
9
|
/**
|
|
@@ -246,100 +245,9 @@ export interface AgentCard {
|
|
|
246
245
|
*/
|
|
247
246
|
iconUrl?: string;
|
|
248
247
|
}
|
|
249
|
-
/**
|
|
250
|
-
* Legacy capability descriptor.
|
|
251
|
-
*
|
|
252
|
-
* @deprecated Use {@link AgentSkill} instead.
|
|
253
|
-
*
|
|
254
|
-
* @remarks
|
|
255
|
-
* Retained for backward compatibility with pre-A2A discovery documents.
|
|
256
|
-
* Will be removed in v2.0.0.
|
|
257
|
-
*/
|
|
258
|
-
export interface Capability {
|
|
259
|
-
/** Capability name */
|
|
260
|
-
name: string;
|
|
261
|
-
/** Capability version */
|
|
262
|
-
version: string;
|
|
263
|
-
/**
|
|
264
|
-
* Human-readable description.
|
|
265
|
-
* @defaultValue `undefined`
|
|
266
|
-
*/
|
|
267
|
-
description?: string;
|
|
268
|
-
/** Supported operations */
|
|
269
|
-
operations: string[];
|
|
270
|
-
/**
|
|
271
|
-
* Whether this capability is optional.
|
|
272
|
-
* @defaultValue `undefined`
|
|
273
|
-
*/
|
|
274
|
-
optional?: boolean;
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Legacy service configuration.
|
|
278
|
-
*
|
|
279
|
-
* @deprecated Use {@link AgentCard} instead.
|
|
280
|
-
*
|
|
281
|
-
* @remarks
|
|
282
|
-
* Retained for backward compatibility with pre-A2A discovery documents.
|
|
283
|
-
* Will be removed in v2.0.0.
|
|
284
|
-
*/
|
|
285
|
-
export interface ServiceConfig {
|
|
286
|
-
/** Service name */
|
|
287
|
-
name: string;
|
|
288
|
-
/** Service version */
|
|
289
|
-
version: string;
|
|
290
|
-
/**
|
|
291
|
-
* Human-readable description.
|
|
292
|
-
* @defaultValue `undefined`
|
|
293
|
-
*/
|
|
294
|
-
description?: string;
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Legacy endpoint configuration.
|
|
298
|
-
*
|
|
299
|
-
* @deprecated Will be removed in v2.0.0.
|
|
300
|
-
*
|
|
301
|
-
* @remarks
|
|
302
|
-
* Retained for backward compatibility with pre-A2A discovery documents.
|
|
303
|
-
*/
|
|
304
|
-
export interface EndpointConfig {
|
|
305
|
-
/** Envelope endpoint URL */
|
|
306
|
-
envelope: string;
|
|
307
|
-
/**
|
|
308
|
-
* Context endpoint URL.
|
|
309
|
-
* @defaultValue `undefined`
|
|
310
|
-
*/
|
|
311
|
-
context?: string;
|
|
312
|
-
/** Discovery endpoint URL */
|
|
313
|
-
discovery: string;
|
|
314
|
-
}
|
|
315
|
-
/**
|
|
316
|
-
* Legacy discovery document format.
|
|
317
|
-
*
|
|
318
|
-
* @deprecated Use {@link AgentCard} instead.
|
|
319
|
-
*
|
|
320
|
-
* @remarks
|
|
321
|
-
* The pre-A2A discovery document format. Automatically generated from
|
|
322
|
-
* legacy config for backward compatibility. Will be removed in v2.0.0.
|
|
323
|
-
*/
|
|
324
|
-
export interface DiscoveryDocument {
|
|
325
|
-
/** JSON Schema URL */
|
|
326
|
-
$schema: string;
|
|
327
|
-
/** LAFS specification version */
|
|
328
|
-
lafs_version: string;
|
|
329
|
-
/** Service configuration */
|
|
330
|
-
service: ServiceConfig;
|
|
331
|
-
/** Declared capabilities */
|
|
332
|
-
capabilities: Capability[];
|
|
333
|
-
/** Endpoint configuration */
|
|
334
|
-
endpoints: EndpointConfig;
|
|
335
|
-
}
|
|
336
248
|
/**
|
|
337
249
|
* Configuration for the discovery middleware (A2A v1.0 format).
|
|
338
250
|
*
|
|
339
|
-
* @remarks
|
|
340
|
-
* Provide either `agent` (A2A v1.0) or the legacy `service`/`capabilities`/`endpoints`
|
|
341
|
-
* combination. The legacy fields are deprecated and will be removed in v2.0.0.
|
|
342
|
-
*
|
|
343
251
|
* @example
|
|
344
252
|
* ```typescript
|
|
345
253
|
* const config: DiscoveryConfig = {
|
|
@@ -358,11 +266,8 @@ export interface DiscoveryDocument {
|
|
|
358
266
|
* ```
|
|
359
267
|
*/
|
|
360
268
|
export interface DiscoveryConfig {
|
|
361
|
-
/**
|
|
362
|
-
|
|
363
|
-
* @defaultValue `undefined`
|
|
364
|
-
*/
|
|
365
|
-
agent?: Omit<AgentCard, '$schema'>;
|
|
269
|
+
/** Agent information (A2A v1.0 Agent Card, required). */
|
|
270
|
+
agent: Omit<AgentCard, '$schema'>;
|
|
366
271
|
/**
|
|
367
272
|
* Base URL for constructing absolute URLs.
|
|
368
273
|
* @defaultValue `undefined`
|
|
@@ -393,41 +298,12 @@ export interface DiscoveryConfig {
|
|
|
393
298
|
supportsContextLedger?: boolean;
|
|
394
299
|
supportsTokenBudgets?: boolean;
|
|
395
300
|
};
|
|
396
|
-
/**
|
|
397
|
-
* Legacy service configuration.
|
|
398
|
-
* @deprecated Use `agent` instead.
|
|
399
|
-
* @defaultValue `undefined`
|
|
400
|
-
*/
|
|
401
|
-
service?: ServiceConfig;
|
|
402
|
-
/**
|
|
403
|
-
* Legacy capabilities list.
|
|
404
|
-
* @deprecated Use `agent.skills` instead.
|
|
405
|
-
* @defaultValue `undefined`
|
|
406
|
-
*/
|
|
407
|
-
capabilities?: Capability[];
|
|
408
|
-
/**
|
|
409
|
-
* Legacy endpoint URLs.
|
|
410
|
-
* @deprecated Use `agent.url` and individual endpoints.
|
|
411
|
-
* @defaultValue `undefined`
|
|
412
|
-
*/
|
|
413
|
-
endpoints?: {
|
|
414
|
-
envelope: string;
|
|
415
|
-
context?: string;
|
|
416
|
-
discovery?: string;
|
|
417
|
-
};
|
|
418
|
-
/**
|
|
419
|
-
* Legacy LAFS version override.
|
|
420
|
-
* @deprecated Use `agent.version` instead.
|
|
421
|
-
* @defaultValue `undefined`
|
|
422
|
-
*/
|
|
423
|
-
lafsVersion?: string;
|
|
424
301
|
}
|
|
425
302
|
/**
|
|
426
303
|
* Discovery middleware options.
|
|
427
304
|
*
|
|
428
305
|
* @remarks
|
|
429
|
-
* Controls path routing
|
|
430
|
-
* for the discovery middleware.
|
|
306
|
+
* Controls path routing and caching behavior for the discovery middleware.
|
|
431
307
|
*
|
|
432
308
|
* @example
|
|
433
309
|
* ```typescript
|
|
@@ -439,21 +315,10 @@ export interface DiscoveryConfig {
|
|
|
439
315
|
*/
|
|
440
316
|
export interface DiscoveryMiddlewareOptions {
|
|
441
317
|
/**
|
|
442
|
-
*
|
|
318
|
+
* Path to serve the Agent Card.
|
|
443
319
|
* @defaultValue `"/.well-known/agent-card.json"`
|
|
444
320
|
*/
|
|
445
321
|
path?: string;
|
|
446
|
-
/**
|
|
447
|
-
* Legacy path for backward compatibility.
|
|
448
|
-
* @deprecated Will be removed in v2.0.0.
|
|
449
|
-
* @defaultValue `"/.well-known/lafs.json"`
|
|
450
|
-
*/
|
|
451
|
-
legacyPath?: string;
|
|
452
|
-
/**
|
|
453
|
-
* Enable legacy path support.
|
|
454
|
-
* @defaultValue `true` (disabled when a custom `path` is set)
|
|
455
|
-
*/
|
|
456
|
-
enableLegacyPath?: boolean;
|
|
457
322
|
/**
|
|
458
323
|
* Enable HEAD requests.
|
|
459
324
|
* @defaultValue `true`
|
|
@@ -466,17 +331,16 @@ export interface DiscoveryMiddlewareOptions {
|
|
|
466
331
|
enableEtag?: boolean;
|
|
467
332
|
}
|
|
468
333
|
/**
|
|
469
|
-
* Create Express middleware for serving A2A Agent Card.
|
|
334
|
+
* Create Express middleware for serving the A2A Agent Card.
|
|
470
335
|
*
|
|
471
336
|
* @param config - Discovery configuration (A2A v1.0 format)
|
|
472
337
|
* @param options - Middleware options for path routing and caching
|
|
473
338
|
* @returns Express RequestHandler that serves the Agent Card
|
|
474
339
|
*
|
|
475
340
|
* @remarks
|
|
476
|
-
* Serves an A2A-compliant Agent Card at
|
|
477
|
-
*
|
|
478
|
-
*
|
|
479
|
-
* HEAD requests, and configurable cache headers.
|
|
341
|
+
* Serves an A2A-compliant Agent Card at the well-known URI defined by
|
|
342
|
+
* RFC 8615 (default `/.well-known/agent-card.json`). Supports ETag-based
|
|
343
|
+
* conditional requests, HEAD requests, and configurable cache headers.
|
|
480
344
|
*
|
|
481
345
|
* @example
|
|
482
346
|
* ```typescript
|
|
@@ -539,31 +403,6 @@ export declare function discoveryFastifyPlugin(fastify: unknown, options: {
|
|
|
539
403
|
config: DiscoveryConfig;
|
|
540
404
|
path?: string;
|
|
541
405
|
}): Promise<void>;
|
|
542
|
-
/**
|
|
543
|
-
* BREAKING CHANGES v1.2.3 → v2.0.0:
|
|
544
|
-
*
|
|
545
|
-
* 1. Discovery Endpoint Path
|
|
546
|
-
* - OLD: /.well-known/lafs.json
|
|
547
|
-
* - NEW: /.well-known/agent-card.json
|
|
548
|
-
* - MIGRATION: Update client code to use new path
|
|
549
|
-
* - BACKWARD COMPAT: Legacy path still works but logs deprecation warning
|
|
550
|
-
*
|
|
551
|
-
* 2. Discovery Document Format
|
|
552
|
-
* - OLD: DiscoveryDocument interface (lafs_version, service, capabilities, endpoints)
|
|
553
|
-
* - NEW: AgentCard interface (A2A v1.0 compliant)
|
|
554
|
-
* - MIGRATION: Update config from 'service' to 'agent' format
|
|
555
|
-
* - BACKWARD COMPAT: Legacy config format automatically converted with warning
|
|
556
|
-
*
|
|
557
|
-
* 3. Type Names
|
|
558
|
-
* - Capability → AgentSkill (renamed to align with A2A spec)
|
|
559
|
-
* - ServiceConfig → AgentCard (renamed)
|
|
560
|
-
* - All old types marked as @deprecated
|
|
561
|
-
*
|
|
562
|
-
* 4. Removed in v2.0.0
|
|
563
|
-
* - Legacy path support will be removed
|
|
564
|
-
* - Old type definitions will be removed
|
|
565
|
-
* - Automatic config migration will be removed
|
|
566
|
-
*/
|
|
567
406
|
export default discoveryMiddleware;
|
|
568
407
|
/**
|
|
569
408
|
* CLI shape descriptor for a single parameter.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/discovery.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/src/discovery.js
CHANGED
|
@@ -1,24 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* LAFS Agent Discovery - Express/Fastify Middleware
|
|
3
3
|
* Serves A2A-compliant Agent Card at /.well-known/agent-card.json
|
|
4
|
-
* Maintains backward compatibility with legacy /.well-known/lafs.json
|
|
5
4
|
*
|
|
6
5
|
* A2A v1.0+ Compliant Implementation
|
|
7
|
-
* Reference: specs/external/agent-discovery.md
|
|
6
|
+
* Reference: specs/external/agent-discovery.md (RFC 8615 well-known URI)
|
|
8
7
|
*/
|
|
9
|
-
import { createRequire } from 'node:module';
|
|
10
8
|
import { createHash } from 'crypto';
|
|
11
9
|
import { buildLafsExtension } from './a2a/extensions.js';
|
|
12
10
|
import { STATIC_GATE_TABLE, STATIC_PARAMS_TABLE } from './operation-gates.js';
|
|
13
|
-
const require = createRequire(import.meta.url);
|
|
14
|
-
// Resolve package.json from project root (works from both src/ and dist/src/)
|
|
15
|
-
let pkg;
|
|
16
|
-
try {
|
|
17
|
-
pkg = require('../package.json');
|
|
18
|
-
}
|
|
19
|
-
catch {
|
|
20
|
-
pkg = require('../../package.json');
|
|
21
|
-
}
|
|
22
11
|
// ============================================================================
|
|
23
12
|
// Utility Functions
|
|
24
13
|
// ============================================================================
|
|
@@ -71,48 +60,16 @@ function generateETag(content) {
|
|
|
71
60
|
* @returns Fully-populated {@link AgentCard}
|
|
72
61
|
*
|
|
73
62
|
* @remarks
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* LAFS extension is appended to the card's capabilities.
|
|
63
|
+
* When `autoIncludeLafsExtension` is set, the LAFS extension is appended to
|
|
64
|
+
* the card's capabilities.
|
|
77
65
|
*/
|
|
78
66
|
function buildAgentCard(config, req) {
|
|
79
67
|
const schemaUrl = config.schemaUrl || 'https://lafs.dev/schemas/v1/agent-card.schema.json';
|
|
80
|
-
// Handle legacy config migration
|
|
81
|
-
if (config.service && !config.agent) {
|
|
82
|
-
console.warn("[DEPRECATION] Using legacy 'service' config. Migrate to 'agent' format for A2A v1.0+ compliance.");
|
|
83
|
-
return {
|
|
84
|
-
$schema: schemaUrl,
|
|
85
|
-
name: config.service.name,
|
|
86
|
-
description: config.service.description || 'LAFS-compliant agent',
|
|
87
|
-
version: config.lafsVersion || config.service.version || '1.0.0',
|
|
88
|
-
url: config.endpoints?.envelope
|
|
89
|
-
? buildUrl(config.baseUrl, config.endpoints.envelope, req)
|
|
90
|
-
: buildUrl(config.baseUrl, '/', req),
|
|
91
|
-
capabilities: {
|
|
92
|
-
streaming: false,
|
|
93
|
-
pushNotifications: false,
|
|
94
|
-
extendedAgentCard: false,
|
|
95
|
-
extensions: [],
|
|
96
|
-
},
|
|
97
|
-
defaultInputModes: ['application/json'],
|
|
98
|
-
defaultOutputModes: ['application/json'],
|
|
99
|
-
skills: (config.capabilities || []).map((cap) => ({
|
|
100
|
-
id: cap.name.toLowerCase().replace(/\s+/g, '-'),
|
|
101
|
-
name: cap.name,
|
|
102
|
-
description: cap.description || `${cap.name} capability`,
|
|
103
|
-
tags: cap.operations || [],
|
|
104
|
-
examples: [],
|
|
105
|
-
})),
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
// Standard A2A v1.0 Agent Card (agent is guaranteed present; legacy path returned above)
|
|
109
|
-
const agent = config.agent;
|
|
110
68
|
const card = {
|
|
111
69
|
$schema: schemaUrl,
|
|
112
|
-
...agent,
|
|
113
|
-
url: agent.url || buildUrl(config.baseUrl, '/', req),
|
|
70
|
+
...config.agent,
|
|
71
|
+
url: config.agent.url || buildUrl(config.baseUrl, '/', req),
|
|
114
72
|
};
|
|
115
|
-
// Auto-include LAFS extension if configured
|
|
116
73
|
if (config.autoIncludeLafsExtension) {
|
|
117
74
|
const lafsOptions = typeof config.autoIncludeLafsExtension === 'object'
|
|
118
75
|
? config.autoIncludeLafsExtension
|
|
@@ -130,62 +87,20 @@ function buildAgentCard(config, req) {
|
|
|
130
87
|
}
|
|
131
88
|
return card;
|
|
132
89
|
}
|
|
133
|
-
/**
|
|
134
|
-
* Build a legacy discovery document for backward compatibility.
|
|
135
|
-
*
|
|
136
|
-
* @param config - Discovery configuration
|
|
137
|
-
* @param req - Optional Express request for URL construction
|
|
138
|
-
* @returns Legacy {@link DiscoveryDocument}
|
|
139
|
-
*
|
|
140
|
-
* @remarks
|
|
141
|
-
* Generates the pre-A2A discovery document format from either the legacy
|
|
142
|
-
* `service` config or the modern `agent` config.
|
|
143
|
-
*
|
|
144
|
-
* @deprecated Will be removed in v2.0.0.
|
|
145
|
-
*/
|
|
146
|
-
function buildLegacyDiscoveryDocument(config, req) {
|
|
147
|
-
const schemaUrl = config.schemaUrl || 'https://lafs.dev/schemas/v1/discovery.schema.json';
|
|
148
|
-
const lafsVersion = config.lafsVersion || pkg.version;
|
|
149
|
-
return {
|
|
150
|
-
$schema: schemaUrl,
|
|
151
|
-
lafs_version: lafsVersion,
|
|
152
|
-
service: config.service || {
|
|
153
|
-
name: config.agent.name,
|
|
154
|
-
version: config.agent.version,
|
|
155
|
-
description: config.agent.description,
|
|
156
|
-
},
|
|
157
|
-
capabilities: config.capabilities ||
|
|
158
|
-
config.agent.skills.map((skill) => ({
|
|
159
|
-
name: skill.name,
|
|
160
|
-
version: config.agent.version,
|
|
161
|
-
description: skill.description,
|
|
162
|
-
operations: skill.tags,
|
|
163
|
-
optional: false,
|
|
164
|
-
})),
|
|
165
|
-
endpoints: {
|
|
166
|
-
envelope: buildUrl(config.baseUrl, config.endpoints?.envelope || config.agent.url, req),
|
|
167
|
-
context: config.endpoints?.context
|
|
168
|
-
? buildUrl(config.baseUrl, config.endpoints.context, req)
|
|
169
|
-
: undefined,
|
|
170
|
-
discovery: config.endpoints?.discovery || buildUrl(config.baseUrl, '/.well-known/lafs.json', req),
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
90
|
// ============================================================================
|
|
175
91
|
// Middleware
|
|
176
92
|
// ============================================================================
|
|
177
93
|
/**
|
|
178
|
-
* Create Express middleware for serving A2A Agent Card.
|
|
94
|
+
* Create Express middleware for serving the A2A Agent Card.
|
|
179
95
|
*
|
|
180
96
|
* @param config - Discovery configuration (A2A v1.0 format)
|
|
181
97
|
* @param options - Middleware options for path routing and caching
|
|
182
98
|
* @returns Express RequestHandler that serves the Agent Card
|
|
183
99
|
*
|
|
184
100
|
* @remarks
|
|
185
|
-
* Serves an A2A-compliant Agent Card at
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
* HEAD requests, and configurable cache headers.
|
|
101
|
+
* Serves an A2A-compliant Agent Card at the well-known URI defined by
|
|
102
|
+
* RFC 8615 (default `/.well-known/agent-card.json`). Supports ETag-based
|
|
103
|
+
* conditional requests, HEAD requests, and configurable cache headers.
|
|
189
104
|
*
|
|
190
105
|
* @example
|
|
191
106
|
* ```typescript
|
|
@@ -222,63 +137,25 @@ function buildLegacyDiscoveryDocument(config, req) {
|
|
|
222
137
|
*/
|
|
223
138
|
export function discoveryMiddleware(config, options = {}) {
|
|
224
139
|
const path = options.path || '/.well-known/agent-card.json';
|
|
225
|
-
const legacyPath = options.legacyPath || '/.well-known/lafs.json';
|
|
226
|
-
// Disable legacy path by default when a custom path is set, unless explicitly enabled
|
|
227
|
-
const enableLegacyPath = options.enableLegacyPath ?? !options.path;
|
|
228
140
|
const enableHead = options.enableHead !== false;
|
|
229
141
|
const enableEtag = options.enableEtag !== false;
|
|
230
142
|
const cacheMaxAge = config.cacheMaxAge || 3600;
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
throw new Error("Discovery config requires 'agent' (A2A v1.0) or 'service' (legacy) configuration");
|
|
234
|
-
}
|
|
235
|
-
// Validate legacy service config fields
|
|
236
|
-
if (config.service) {
|
|
237
|
-
if (!config.service.name) {
|
|
238
|
-
throw new Error("Discovery config requires 'service.name'");
|
|
239
|
-
}
|
|
240
|
-
if (!config.service.version) {
|
|
241
|
-
throw new Error("Discovery config requires 'service.version'");
|
|
242
|
-
}
|
|
143
|
+
if (!config.agent) {
|
|
144
|
+
throw new Error("Discovery config requires 'agent' (A2A v1.0 Agent Card)");
|
|
243
145
|
}
|
|
244
|
-
//
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
if (!config.endpoints?.envelope) {
|
|
250
|
-
throw new Error("Discovery config requires 'endpoints.envelope' when using legacy 'service' config");
|
|
146
|
+
// Cache serialized document so GET and HEAD return identical ETags
|
|
147
|
+
let cachedJson = null;
|
|
148
|
+
function getSerializedDoc(req) {
|
|
149
|
+
if (!cachedJson) {
|
|
150
|
+
cachedJson = JSON.stringify(buildAgentCard(config, req), null, 2);
|
|
251
151
|
}
|
|
252
|
-
|
|
253
|
-
// Cache serialized documents to ensure consistent ETags across GET/HEAD
|
|
254
|
-
let cachedPrimaryJson = null;
|
|
255
|
-
let cachedLegacyJson = null;
|
|
256
|
-
function getSerializedDoc(isLegacy, req) {
|
|
257
|
-
if (isLegacy) {
|
|
258
|
-
if (!cachedLegacyJson) {
|
|
259
|
-
cachedLegacyJson = JSON.stringify(buildLegacyDiscoveryDocument(config, req), null, 2);
|
|
260
|
-
}
|
|
261
|
-
return cachedLegacyJson;
|
|
262
|
-
}
|
|
263
|
-
if (!cachedPrimaryJson) {
|
|
264
|
-
cachedPrimaryJson = JSON.stringify(buildAgentCard(config, req), null, 2);
|
|
265
|
-
}
|
|
266
|
-
return cachedPrimaryJson;
|
|
152
|
+
return cachedJson;
|
|
267
153
|
}
|
|
268
154
|
return function discoveryHandler(req, res, next) {
|
|
269
|
-
|
|
270
|
-
const isLegacyPath = enableLegacyPath && req.path === legacyPath;
|
|
271
|
-
// Only handle requests to discovery paths
|
|
272
|
-
if (!isPrimaryPath && !isLegacyPath) {
|
|
155
|
+
if (req.path !== path) {
|
|
273
156
|
next();
|
|
274
157
|
return;
|
|
275
158
|
}
|
|
276
|
-
// Log deprecation warning for legacy path
|
|
277
|
-
if (isLegacyPath) {
|
|
278
|
-
console.warn(`[DEPRECATION] Accessing legacy discovery endpoint ${legacyPath}. ` +
|
|
279
|
-
`Migrate to ${path} for A2A v1.0+ compliance. Legacy support will be removed in v2.0.0.`);
|
|
280
|
-
}
|
|
281
|
-
// Handle HEAD requests
|
|
282
159
|
if (req.method === 'HEAD') {
|
|
283
160
|
if (!enableHead) {
|
|
284
161
|
res.status(405).json({
|
|
@@ -287,19 +164,17 @@ export function discoveryMiddleware(config, options = {}) {
|
|
|
287
164
|
});
|
|
288
165
|
return;
|
|
289
166
|
}
|
|
290
|
-
const json = getSerializedDoc(
|
|
167
|
+
const json = getSerializedDoc(req);
|
|
291
168
|
const etag = enableEtag ? generateETag(json) : undefined;
|
|
292
169
|
res.set({
|
|
293
170
|
'Content-Type': 'application/json',
|
|
294
171
|
'Cache-Control': `public, max-age=${cacheMaxAge}`,
|
|
295
172
|
...(etag && { ETag: etag }),
|
|
296
|
-
...(isLegacyPath && { Deprecation: 'true', Sunset: 'Sat, 31 Dec 2025 23:59:59 GMT' }),
|
|
297
173
|
'Content-Length': Buffer.byteLength(json),
|
|
298
174
|
});
|
|
299
175
|
res.status(200).end();
|
|
300
176
|
return;
|
|
301
177
|
}
|
|
302
|
-
// Only handle GET requests
|
|
303
178
|
if (req.method !== 'GET') {
|
|
304
179
|
res.status(405).json({
|
|
305
180
|
error: 'Method Not Allowed',
|
|
@@ -308,14 +183,12 @@ export function discoveryMiddleware(config, options = {}) {
|
|
|
308
183
|
return;
|
|
309
184
|
}
|
|
310
185
|
try {
|
|
311
|
-
const json = getSerializedDoc(
|
|
186
|
+
const json = getSerializedDoc(req);
|
|
312
187
|
const etag = enableEtag ? generateETag(json) : undefined;
|
|
313
|
-
// Check If-None-Match for conditional request
|
|
314
188
|
if (enableEtag && req.headers['if-none-match'] === etag) {
|
|
315
189
|
res.status(304).end();
|
|
316
190
|
return;
|
|
317
191
|
}
|
|
318
|
-
// Set response headers
|
|
319
192
|
const headers = {
|
|
320
193
|
'Content-Type': 'application/json',
|
|
321
194
|
'Cache-Control': `public, max-age=${cacheMaxAge}`,
|
|
@@ -324,12 +197,6 @@ export function discoveryMiddleware(config, options = {}) {
|
|
|
324
197
|
if (etag) {
|
|
325
198
|
headers['ETag'] = etag;
|
|
326
199
|
}
|
|
327
|
-
// Add deprecation headers for legacy path
|
|
328
|
-
if (isLegacyPath) {
|
|
329
|
-
headers['Deprecation'] = 'true';
|
|
330
|
-
headers['Sunset'] = 'Sat, 31 Dec 2025 23:59:59 GMT';
|
|
331
|
-
headers['Link'] = `<${buildUrl(config.baseUrl, path, req)}>; rel="successor-version"`;
|
|
332
|
-
}
|
|
333
200
|
res.set(headers);
|
|
334
201
|
res.status(200).send(json);
|
|
335
202
|
}
|
|
@@ -377,34 +244,6 @@ export async function discoveryFastifyPlugin(fastify, options) {
|
|
|
377
244
|
// Note: Actual route registration depends on Fastify's API
|
|
378
245
|
// This is a type-safe signature for the plugin
|
|
379
246
|
}
|
|
380
|
-
// ============================================================================
|
|
381
|
-
// Breaking Changes Documentation
|
|
382
|
-
// ============================================================================
|
|
383
|
-
/**
|
|
384
|
-
* BREAKING CHANGES v1.2.3 → v2.0.0:
|
|
385
|
-
*
|
|
386
|
-
* 1. Discovery Endpoint Path
|
|
387
|
-
* - OLD: /.well-known/lafs.json
|
|
388
|
-
* - NEW: /.well-known/agent-card.json
|
|
389
|
-
* - MIGRATION: Update client code to use new path
|
|
390
|
-
* - BACKWARD COMPAT: Legacy path still works but logs deprecation warning
|
|
391
|
-
*
|
|
392
|
-
* 2. Discovery Document Format
|
|
393
|
-
* - OLD: DiscoveryDocument interface (lafs_version, service, capabilities, endpoints)
|
|
394
|
-
* - NEW: AgentCard interface (A2A v1.0 compliant)
|
|
395
|
-
* - MIGRATION: Update config from 'service' to 'agent' format
|
|
396
|
-
* - BACKWARD COMPAT: Legacy config format automatically converted with warning
|
|
397
|
-
*
|
|
398
|
-
* 3. Type Names
|
|
399
|
-
* - Capability → AgentSkill (renamed to align with A2A spec)
|
|
400
|
-
* - ServiceConfig → AgentCard (renamed)
|
|
401
|
-
* - All old types marked as @deprecated
|
|
402
|
-
*
|
|
403
|
-
* 4. Removed in v2.0.0
|
|
404
|
-
* - Legacy path support will be removed
|
|
405
|
-
* - Old type definitions will be removed
|
|
406
|
-
* - Automatic config migration will be removed
|
|
407
|
-
*/
|
|
408
247
|
export default discoveryMiddleware;
|
|
409
248
|
// ---------------------------------------------------------------------------
|
|
410
249
|
// Internal helpers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/discovery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/discovery.ts"],"names":[],"mappings":"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"}
|