multi-agent-protocol 0.0.3 → 0.0.6
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/README.md +4 -0
- package/docs/00-design-specification.md +36 -0
- package/docs/01-open-questions.md +0 -5
- package/docs/02-wire-protocol.md +1 -1
- package/docs/07-federation.md +81 -5
- package/docs/09-authentication.md +748 -0
- package/docs/10-environment-awareness.md +242 -0
- package/docs/10-mail-protocol.md +553 -0
- package/docs/11-anp-inspired-improvements.md +1079 -0
- package/docs/12-anp-implementation-plan.md +641 -0
- package/docs/agent-iam-integration.md +877 -0
- package/docs/agentic-mesh-integration-draft.md +459 -0
- package/docs/git-transport-draft.md +251 -0
- package/package.json +5 -4
- package/schema/meta.json +200 -2
- package/schema/schema.json +1252 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "multi-agent-protocol",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Multi-Agent Protocol (MAP) - A protocol for observing, coordinating, and routing messages within multi-agent AI systems",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./schema/schema.json",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"test": "npm run test --workspace=ts-sdk",
|
|
23
23
|
"typecheck": "npm run typecheck --workspace=ts-sdk",
|
|
24
24
|
"publish:npm": "npm publish --access public",
|
|
25
|
+
"prepublishOnly": "npm run build",
|
|
25
26
|
"version:patch": "npm version patch && git push && git push --tags",
|
|
26
27
|
"version:minor": "npm version minor && git push && git push --tags",
|
|
27
28
|
"version:major": "npm version major && git push && git push --tags"
|
|
@@ -40,12 +41,12 @@
|
|
|
40
41
|
"license": "MIT",
|
|
41
42
|
"repository": {
|
|
42
43
|
"type": "git",
|
|
43
|
-
"url": "git+https://github.com/
|
|
44
|
+
"url": "git+https://github.com/multi-agent-protocol/multi-agent-protocol.git"
|
|
44
45
|
},
|
|
45
46
|
"bugs": {
|
|
46
|
-
"url": "https://github.com/
|
|
47
|
+
"url": "https://github.com/multi-agent-protocol/multi-agent-protocol/issues"
|
|
47
48
|
},
|
|
48
|
-
"homepage": "https://github.com/
|
|
49
|
+
"homepage": "https://github.com/multi-agent-protocol/multi-agent-protocol#readme",
|
|
49
50
|
"engines": {
|
|
50
51
|
"node": ">=18.0.0"
|
|
51
52
|
},
|
package/schema/meta.json
CHANGED
|
@@ -252,7 +252,7 @@
|
|
|
252
252
|
"implementedBy": "system",
|
|
253
253
|
"callableBy": ["system"],
|
|
254
254
|
"capabilities": [],
|
|
255
|
-
"description": "Connect to a peer MAP system",
|
|
255
|
+
"description": "Connect to a peer MAP system. Supports single-request auth with inline credentials including did:wba.",
|
|
256
256
|
"requestType": "FederationConnectRequest",
|
|
257
257
|
"responseType": "FederationConnectResponse"
|
|
258
258
|
},
|
|
@@ -264,6 +264,177 @@
|
|
|
264
264
|
"description": "Route a message to a federated system",
|
|
265
265
|
"requestType": "FederationRouteRequest",
|
|
266
266
|
"responseType": "FederationRouteResponse"
|
|
267
|
+
},
|
|
268
|
+
"mail/create": {
|
|
269
|
+
"tier": "extension",
|
|
270
|
+
"implementedBy": "system",
|
|
271
|
+
"callableBy": ["client", "agent"],
|
|
272
|
+
"capabilities": ["mail.canCreate"],
|
|
273
|
+
"description": "Create a new conversation with optional initial participants and turn",
|
|
274
|
+
"requestType": "MailCreateRequest",
|
|
275
|
+
"responseType": "MailCreateResponse"
|
|
276
|
+
},
|
|
277
|
+
"mail/get": {
|
|
278
|
+
"tier": "extension",
|
|
279
|
+
"implementedBy": "system",
|
|
280
|
+
"callableBy": ["client", "agent"],
|
|
281
|
+
"capabilities": ["mail.canViewHistory"],
|
|
282
|
+
"description": "Get conversation details with optional includes (participants, threads, recent turns, stats)",
|
|
283
|
+
"requestType": "MailGetRequest",
|
|
284
|
+
"responseType": "MailGetResponse"
|
|
285
|
+
},
|
|
286
|
+
"mail/list": {
|
|
287
|
+
"tier": "extension",
|
|
288
|
+
"implementedBy": "system",
|
|
289
|
+
"callableBy": ["client", "agent"],
|
|
290
|
+
"capabilities": ["mail.canViewHistory"],
|
|
291
|
+
"description": "List conversations with filtering by type, status, participant, and time range",
|
|
292
|
+
"requestType": "MailListRequest",
|
|
293
|
+
"responseType": "MailListResponse"
|
|
294
|
+
},
|
|
295
|
+
"mail/close": {
|
|
296
|
+
"tier": "extension",
|
|
297
|
+
"implementedBy": "system",
|
|
298
|
+
"callableBy": ["client", "agent"],
|
|
299
|
+
"capabilities": [],
|
|
300
|
+
"description": "Close a conversation (must be a participant)",
|
|
301
|
+
"requestType": "MailCloseRequest",
|
|
302
|
+
"responseType": "MailCloseResponse"
|
|
303
|
+
},
|
|
304
|
+
"mail/join": {
|
|
305
|
+
"tier": "extension",
|
|
306
|
+
"implementedBy": "system",
|
|
307
|
+
"callableBy": ["client", "agent"],
|
|
308
|
+
"capabilities": ["mail.canJoin"],
|
|
309
|
+
"description": "Join a conversation with optional catch-up history",
|
|
310
|
+
"requestType": "MailJoinRequest",
|
|
311
|
+
"responseType": "MailJoinResponse"
|
|
312
|
+
},
|
|
313
|
+
"mail/leave": {
|
|
314
|
+
"tier": "extension",
|
|
315
|
+
"implementedBy": "system",
|
|
316
|
+
"callableBy": ["client", "agent"],
|
|
317
|
+
"capabilities": [],
|
|
318
|
+
"description": "Leave a conversation (must be a participant)",
|
|
319
|
+
"requestType": "MailLeaveRequest",
|
|
320
|
+
"responseType": "MailLeaveResponse"
|
|
321
|
+
},
|
|
322
|
+
"mail/invite": {
|
|
323
|
+
"tier": "extension",
|
|
324
|
+
"implementedBy": "system",
|
|
325
|
+
"callableBy": ["client", "agent"],
|
|
326
|
+
"capabilities": ["mail.canInvite"],
|
|
327
|
+
"description": "Invite a participant to a conversation",
|
|
328
|
+
"requestType": "MailInviteRequest",
|
|
329
|
+
"responseType": "MailInviteResponse"
|
|
330
|
+
},
|
|
331
|
+
"mail/turn": {
|
|
332
|
+
"tier": "extension",
|
|
333
|
+
"implementedBy": "system",
|
|
334
|
+
"callableBy": ["client", "agent"],
|
|
335
|
+
"capabilities": [],
|
|
336
|
+
"description": "Record a turn in a conversation (must be a participant)",
|
|
337
|
+
"requestType": "MailTurnRequest",
|
|
338
|
+
"responseType": "MailTurnResponse"
|
|
339
|
+
},
|
|
340
|
+
"mail/turns/list": {
|
|
341
|
+
"tier": "extension",
|
|
342
|
+
"implementedBy": "system",
|
|
343
|
+
"callableBy": ["client", "agent"],
|
|
344
|
+
"capabilities": ["mail.canViewHistory"],
|
|
345
|
+
"description": "List turns in a conversation with filtering and pagination",
|
|
346
|
+
"requestType": "MailTurnsListRequest",
|
|
347
|
+
"responseType": "MailTurnsListResponse"
|
|
348
|
+
},
|
|
349
|
+
"mail/thread/create": {
|
|
350
|
+
"tier": "extension",
|
|
351
|
+
"implementedBy": "system",
|
|
352
|
+
"callableBy": ["client", "agent"],
|
|
353
|
+
"capabilities": ["mail.canCreateThreads"],
|
|
354
|
+
"description": "Create a thread rooted at a specific turn",
|
|
355
|
+
"requestType": "MailThreadCreateRequest",
|
|
356
|
+
"responseType": "MailThreadCreateResponse"
|
|
357
|
+
},
|
|
358
|
+
"mail/thread/list": {
|
|
359
|
+
"tier": "extension",
|
|
360
|
+
"implementedBy": "system",
|
|
361
|
+
"callableBy": ["client", "agent"],
|
|
362
|
+
"capabilities": ["mail.canViewHistory"],
|
|
363
|
+
"description": "List threads in a conversation",
|
|
364
|
+
"requestType": "MailThreadListRequest",
|
|
365
|
+
"responseType": "MailThreadListResponse"
|
|
366
|
+
},
|
|
367
|
+
"mail/summary": {
|
|
368
|
+
"tier": "extension",
|
|
369
|
+
"implementedBy": "system",
|
|
370
|
+
"callableBy": ["client", "agent"],
|
|
371
|
+
"capabilities": ["mail.canViewHistory"],
|
|
372
|
+
"description": "Get or generate a summary for a conversation",
|
|
373
|
+
"requestType": "MailSummaryRequest",
|
|
374
|
+
"responseType": "MailSummaryResponse"
|
|
375
|
+
},
|
|
376
|
+
"mail/replay": {
|
|
377
|
+
"tier": "extension",
|
|
378
|
+
"implementedBy": "system",
|
|
379
|
+
"callableBy": ["client", "agent"],
|
|
380
|
+
"capabilities": ["mail.canViewHistory"],
|
|
381
|
+
"description": "Replay conversation turns from a specific point",
|
|
382
|
+
"requestType": "MailReplayRequest",
|
|
383
|
+
"responseType": "MailReplayResponse"
|
|
384
|
+
},
|
|
385
|
+
"cred/get": {
|
|
386
|
+
"tier": "extension",
|
|
387
|
+
"implementedBy": "system",
|
|
388
|
+
"callableBy": ["agent"],
|
|
389
|
+
"capabilities": ["credentials.canGet"],
|
|
390
|
+
"description": "Request a short-lived credential for a scope and resource",
|
|
391
|
+
"requestType": "CredGetRequest",
|
|
392
|
+
"responseType": "CredGetResponse"
|
|
393
|
+
},
|
|
394
|
+
"cred/list": {
|
|
395
|
+
"tier": "extension",
|
|
396
|
+
"implementedBy": "system",
|
|
397
|
+
"callableBy": ["agent"],
|
|
398
|
+
"capabilities": ["credentials.canList"],
|
|
399
|
+
"description": "List available scopes for the authenticated token",
|
|
400
|
+
"requestType": "CredListRequest",
|
|
401
|
+
"responseType": "CredListResponse"
|
|
402
|
+
},
|
|
403
|
+
"cred/status": {
|
|
404
|
+
"tier": "extension",
|
|
405
|
+
"implementedBy": "system",
|
|
406
|
+
"callableBy": ["client", "agent"],
|
|
407
|
+
"capabilities": [],
|
|
408
|
+
"description": "Check credential broker status and available providers",
|
|
409
|
+
"requestType": "CredStatusRequest",
|
|
410
|
+
"responseType": "CredStatusResponse"
|
|
411
|
+
},
|
|
412
|
+
"workspace/search": {
|
|
413
|
+
"tier": "extension",
|
|
414
|
+
"implementedBy": "system",
|
|
415
|
+
"callableBy": ["client", "agent"],
|
|
416
|
+
"capabilities": ["workspace.canSearch"],
|
|
417
|
+
"description": "Search for files matching a query in an agent's workspace",
|
|
418
|
+
"requestType": "WorkspaceSearchRequest",
|
|
419
|
+
"responseType": "WorkspaceSearchResponse"
|
|
420
|
+
},
|
|
421
|
+
"workspace/list": {
|
|
422
|
+
"tier": "extension",
|
|
423
|
+
"implementedBy": "system",
|
|
424
|
+
"callableBy": ["client", "agent"],
|
|
425
|
+
"capabilities": ["workspace.canList"],
|
|
426
|
+
"description": "List files in a directory of an agent's workspace",
|
|
427
|
+
"requestType": "WorkspaceListRequest",
|
|
428
|
+
"responseType": "WorkspaceListResponse"
|
|
429
|
+
},
|
|
430
|
+
"workspace/read": {
|
|
431
|
+
"tier": "extension",
|
|
432
|
+
"implementedBy": "system",
|
|
433
|
+
"callableBy": ["client", "agent"],
|
|
434
|
+
"capabilities": ["workspace.canRead"],
|
|
435
|
+
"description": "Read file contents from an agent's workspace",
|
|
436
|
+
"requestType": "WorkspaceReadRequest",
|
|
437
|
+
"responseType": "WorkspaceReadResponse"
|
|
267
438
|
}
|
|
268
439
|
},
|
|
269
440
|
"notifications": {
|
|
@@ -317,7 +488,34 @@
|
|
|
317
488
|
"5000": "Federation unavailable",
|
|
318
489
|
"5001": "System not found",
|
|
319
490
|
"5002": "Federation auth failed",
|
|
320
|
-
"5003": "Route rejected"
|
|
491
|
+
"5003": "Route rejected",
|
|
492
|
+
"5004": "DID resolution failed",
|
|
493
|
+
"5005": "DID proof invalid"
|
|
494
|
+
},
|
|
495
|
+
"mail": {
|
|
496
|
+
"10000": "Conversation not found",
|
|
497
|
+
"10001": "Conversation closed",
|
|
498
|
+
"10002": "Not a participant",
|
|
499
|
+
"10003": "Mail permission denied",
|
|
500
|
+
"10004": "Participant already joined",
|
|
501
|
+
"10005": "Participant not found",
|
|
502
|
+
"10006": "Turn not found",
|
|
503
|
+
"10007": "Thread not found",
|
|
504
|
+
"10008": "Invalid content type",
|
|
505
|
+
"10009": "Thread nesting limit exceeded",
|
|
506
|
+
"10010": "Mail not enabled"
|
|
507
|
+
},
|
|
508
|
+
"credentials": {
|
|
509
|
+
"11000": "Credential broker not enabled",
|
|
510
|
+
"11001": "Credential scope denied",
|
|
511
|
+
"11002": "Credential provider unavailable",
|
|
512
|
+
"11003": "Credential request failed"
|
|
513
|
+
},
|
|
514
|
+
"workspace": {
|
|
515
|
+
"12000": "Workspace not enabled",
|
|
516
|
+
"12001": "File not found",
|
|
517
|
+
"12002": "Permission denied",
|
|
518
|
+
"12003": "Invalid path"
|
|
321
519
|
}
|
|
322
520
|
},
|
|
323
521
|
"tiers": {
|