@devlab.group/agent-commerce 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -15
- package/dist/ap2.d.ts +24 -12
- package/dist/ap2.js +31 -13
- package/dist/ap2.js.map +1 -1
- package/dist/{chunk-AITMDXKW.js → chunk-3OTCFFFT.js} +37 -4
- package/dist/chunk-3OTCFFFT.js.map +1 -0
- package/dist/{chunk-4OEXK3YG.js → chunk-4K7FIBJM.js} +25 -4
- package/dist/chunk-4K7FIBJM.js.map +1 -0
- package/dist/{chunk-WUIAUAA7.js → chunk-FKQK5XZA.js} +652 -68
- package/dist/chunk-FKQK5XZA.js.map +1 -0
- package/dist/chunk-GA3O2A7R.js +92 -0
- package/dist/chunk-GA3O2A7R.js.map +1 -0
- package/dist/{chunk-6WACRJVT.js → chunk-VUCMBGUR.js} +3 -3
- package/dist/{chunk-6WACRJVT.js.map → chunk-VUCMBGUR.js.map} +1 -1
- package/dist/cli/{ap2-QDHPRSTF.js → ap2-YAPLERSC.js} +34 -15
- package/dist/cli/ap2-YAPLERSC.js.map +1 -0
- package/dist/cli/{chunk-G2JEY7MB.js → chunk-2J2IQQ4X.js} +8 -7
- package/dist/cli/chunk-2J2IQQ4X.js.map +1 -0
- package/dist/cli/chunk-2UPPX3FJ.js +311 -0
- package/dist/cli/chunk-2UPPX3FJ.js.map +1 -0
- package/dist/cli/{chunk-WYOGIANL.js → chunk-4H2QLHQI.js} +4 -4
- package/dist/cli/{chunk-WYOGIANL.js.map → chunk-4H2QLHQI.js.map} +1 -1
- package/dist/cli/{chunk-OZ4LAWBK.js → chunk-5R7DM5LM.js} +25 -4
- package/dist/cli/chunk-5R7DM5LM.js.map +1 -0
- package/dist/cli/chunk-663ALDZA.js +92 -0
- package/dist/cli/chunk-663ALDZA.js.map +1 -0
- package/dist/cli/{chunk-QQ3WY5L3.js → chunk-IDY2735M.js} +36 -104
- package/dist/cli/chunk-IDY2735M.js.map +1 -0
- package/dist/cli/chunk-JFVRG2HH.js +107 -0
- package/dist/cli/chunk-JFVRG2HH.js.map +1 -0
- package/dist/cli/chunk-M7NXVRU5.js +8 -0
- package/dist/cli/{chunk-UXB65XCS.js.map → chunk-M7NXVRU5.js.map} +1 -1
- package/dist/cli/chunk-NIU5EMSB.js +119 -0
- package/dist/cli/chunk-NIU5EMSB.js.map +1 -0
- package/dist/cli/{chunk-AZDWFVDW.js → chunk-QA2OPHBF.js} +655 -70
- package/dist/cli/chunk-QA2OPHBF.js.map +1 -0
- package/dist/cli/{chunk-DCMW67JM.js → chunk-QLUCNPRT.js} +404 -161
- package/dist/cli/chunk-QLUCNPRT.js.map +1 -0
- package/dist/cli/chunk-SYQLJXIU.js +105 -0
- package/dist/cli/chunk-SYQLJXIU.js.map +1 -0
- package/dist/cli/{chunk-3MGAJ5FX.js → chunk-VJ4EO4LE.js} +3 -3
- package/dist/cli/{chunk-3MGAJ5FX.js.map → chunk-VJ4EO4LE.js.map} +1 -1
- package/dist/cli/{chunk-PIMFPCNZ.js → chunk-Z34UMZBB.js} +234 -85
- package/dist/cli/chunk-Z34UMZBB.js.map +1 -0
- package/dist/cli/config-BWFMN2ZB.js +12 -0
- package/dist/cli/{config-UI4EDG4L.js.map → config-BWFMN2ZB.js.map} +1 -1
- package/dist/cli/index.js +258 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/{mcp-26LJMN4N.js → mcp-KZEMXLHR.js} +5 -4
- package/dist/cli/mcp-KZEMXLHR.js.map +1 -0
- package/dist/cli/{near-5AY3HWYF.js → near-U6365VFX.js} +15 -4
- package/dist/cli/near-U6365VFX.js.map +1 -0
- package/dist/cli/payment-providers-SZL36H3Y.js +6 -0
- package/dist/cli/payment-providers-SZL36H3Y.js.map +1 -0
- package/dist/cli/{provider-Z4OJNAYI.js → provider-6TKB5ADJ.js} +30 -16
- package/dist/cli/provider-6TKB5ADJ.js.map +1 -0
- package/dist/cli/receipts-ZGLJWMQG.js +8 -0
- package/dist/cli/receipts-ZGLJWMQG.js.map +1 -0
- package/dist/cli/reconcile-IC22MJD5.js +4 -0
- package/dist/cli/reconcile-IC22MJD5.js.map +1 -0
- package/dist/cli/{run-TEPYJUHG.js → run-ZTYPQI4D.js} +151 -115
- package/dist/cli/run-ZTYPQI4D.js.map +1 -0
- package/dist/cli/svm-KDSPDFJG.js +48 -0
- package/dist/cli/svm-KDSPDFJG.js.map +1 -0
- package/dist/cli/{x402-BMVONZKA.js → x402-WLYBLODI.js} +10 -9
- package/dist/cli/x402-WLYBLODI.js.map +1 -0
- package/dist/index.d.ts +112 -12
- package/dist/index.js +948 -157
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +1 -2
- package/dist/mcp.js +1 -1
- package/dist/mpp.js +24 -11
- package/dist/mpp.js.map +1 -1
- package/dist/{near-D6C42VPE.js → near-FH7HPZV3.js} +15 -4
- package/dist/near-FH7HPZV3.js.map +1 -0
- package/dist/{protocol-adapter-C9odYl6l.d.ts → protocol-adapter-DEXpdp8m.d.ts} +102 -48
- package/dist/{runtime-Cl_BLVZV.d.ts → runtime-Dz2fSO-P.d.ts} +220 -2
- package/dist/svm-KNC3PHMS.js +48 -0
- package/dist/svm-KNC3PHMS.js.map +1 -0
- package/dist/x402.js +5 -5
- package/package.json +1 -1
- package/dist/authorization-DjAecwuW.d.ts +0 -115
- package/dist/chunk-4OEXK3YG.js.map +0 -1
- package/dist/chunk-AITMDXKW.js.map +0 -1
- package/dist/chunk-KA2AX5FH.js +0 -44
- package/dist/chunk-KA2AX5FH.js.map +0 -1
- package/dist/chunk-WUIAUAA7.js.map +0 -1
- package/dist/cli/ap2-QDHPRSTF.js.map +0 -1
- package/dist/cli/chunk-AZDWFVDW.js.map +0 -1
- package/dist/cli/chunk-DCMW67JM.js.map +0 -1
- package/dist/cli/chunk-G2JEY7MB.js.map +0 -1
- package/dist/cli/chunk-OSTCU6ZK.js +0 -44
- package/dist/cli/chunk-OSTCU6ZK.js.map +0 -1
- package/dist/cli/chunk-OZ4LAWBK.js.map +0 -1
- package/dist/cli/chunk-PIMFPCNZ.js.map +0 -1
- package/dist/cli/chunk-QQ3WY5L3.js.map +0 -1
- package/dist/cli/chunk-UXB65XCS.js +0 -8
- package/dist/cli/config-UI4EDG4L.js +0 -11
- package/dist/cli/mcp-26LJMN4N.js.map +0 -1
- package/dist/cli/near-5AY3HWYF.js.map +0 -1
- package/dist/cli/provider-Z4OJNAYI.js.map +0 -1
- package/dist/cli/run-TEPYJUHG.js.map +0 -1
- package/dist/cli/svm-3MMYFPC7.js +0 -33
- package/dist/cli/svm-3MMYFPC7.js.map +0 -1
- package/dist/cli/x402-BMVONZKA.js.map +0 -1
- package/dist/near-D6C42VPE.js.map +0 -1
- package/dist/svm-QEUAUNPQ.js +0 -33
- package/dist/svm-QEUAUNPQ.js.map +0 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ACP_CHECKOUT_OPERATIONS, ACP_SPEC_VERSION } from './chunk-Z34UMZBB.js';
|
|
2
|
+
|
|
3
|
+
// src/protocols/a2a/constants.ts
|
|
4
|
+
var A2A_SPEC_VERSION = "1.0.1";
|
|
5
|
+
var A2A_PROTOCOL_VERSION = "1.0";
|
|
6
|
+
var A2A_PROTOCOL_BINDING = "JSONRPC";
|
|
7
|
+
var A2A_AGENT_CARD_PATH = "/.well-known/agent-card.json";
|
|
8
|
+
var A2A_DEFAULT_MOUNT_PATH = "/a2a";
|
|
9
|
+
var A2A_JSON_MEDIA_TYPE = "application/json";
|
|
10
|
+
var A2A_DEFAULT_AGENT_NAME = "agent-commerce";
|
|
11
|
+
var A2A_VERSION_HEADER = "a2a-version";
|
|
12
|
+
var A2A_METHOD_SEND_MESSAGE = "SendMessage";
|
|
13
|
+
var A2A_PUSH_CONFIG_METHODS = [
|
|
14
|
+
"CreateTaskPushNotificationConfig",
|
|
15
|
+
"GetTaskPushNotificationConfig",
|
|
16
|
+
"ListTaskPushNotificationConfigs",
|
|
17
|
+
"DeleteTaskPushNotificationConfig"
|
|
18
|
+
];
|
|
19
|
+
var A2A_UNSUPPORTED_METHODS = [
|
|
20
|
+
"SendStreamingMessage",
|
|
21
|
+
"GetTask",
|
|
22
|
+
"ListTasks",
|
|
23
|
+
"CancelTask",
|
|
24
|
+
"SubscribeToTask",
|
|
25
|
+
...A2A_PUSH_CONFIG_METHODS,
|
|
26
|
+
"GetExtendedAgentCard"
|
|
27
|
+
];
|
|
28
|
+
var A2A_TASK_LOOKUP_METHODS = ["GetTask", "CancelTask"];
|
|
29
|
+
var A2A_TASK_STATE_COMPLETED = "TASK_STATE_COMPLETED";
|
|
30
|
+
var A2A_TASK_STATE_FAILED = "TASK_STATE_FAILED";
|
|
31
|
+
var A2A_TASK_STATE_INPUT_REQUIRED = "TASK_STATE_INPUT_REQUIRED";
|
|
32
|
+
var A2A_EXTENSIONS_HEADER = "a2a-extensions";
|
|
33
|
+
|
|
34
|
+
// src/protocols/a2a/descriptor.ts
|
|
35
|
+
var A2A_CAPABILITIES = [
|
|
36
|
+
"agent-card",
|
|
37
|
+
"jsonrpc",
|
|
38
|
+
"SendMessage",
|
|
39
|
+
// The x402 A2A transport, opt-in per request
|
|
40
|
+
"x402-extension"
|
|
41
|
+
];
|
|
42
|
+
var A2A_UNSUPPORTED = [
|
|
43
|
+
// Methods, as the protocol names them; the transport refuses the same list
|
|
44
|
+
...A2A_UNSUPPORTED_METHODS,
|
|
45
|
+
// Transports other than the one binding served
|
|
46
|
+
"HTTP+JSON/REST binding",
|
|
47
|
+
"gRPC binding",
|
|
48
|
+
// Behaviors
|
|
49
|
+
"SSE",
|
|
50
|
+
"long-running task persistence",
|
|
51
|
+
"task resumption other than an x402 extension payment",
|
|
52
|
+
"push notifications",
|
|
53
|
+
"multi-turn conversational continuation",
|
|
54
|
+
"authenticated extended agent cards",
|
|
55
|
+
"A2A authentication schemes",
|
|
56
|
+
"artifact types beyond Agent Commerce outcome data",
|
|
57
|
+
// Pending x402 payments live in process memory
|
|
58
|
+
"x402 extension payments across gateway restarts or instances"
|
|
59
|
+
];
|
|
60
|
+
function buildDescriptor(implementationVersion) {
|
|
61
|
+
return {
|
|
62
|
+
name: "a2a",
|
|
63
|
+
kind: "protocol",
|
|
64
|
+
implementationVersion,
|
|
65
|
+
supportedSpec: A2A_SPEC_VERSION,
|
|
66
|
+
capabilities: A2A_CAPABILITIES,
|
|
67
|
+
status: "experimental",
|
|
68
|
+
unsupported: A2A_UNSUPPORTED
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// src/protocols/acp/descriptor.ts
|
|
73
|
+
var ACP_CAPABILITIES = [
|
|
74
|
+
"rest transport",
|
|
75
|
+
"well-known discovery",
|
|
76
|
+
"bearer authentication",
|
|
77
|
+
"API-Version enforcement",
|
|
78
|
+
// Forwarded as received: the gateway verifies neither signature header
|
|
79
|
+
"request header forwarding to the merchant",
|
|
80
|
+
"checkout service",
|
|
81
|
+
...ACP_CHECKOUT_OPERATIONS
|
|
82
|
+
];
|
|
83
|
+
var ACP_UNSUPPORTED = [
|
|
84
|
+
// Services this seller does not implement, named as ACP names them. The
|
|
85
|
+
// discovery document advertises `checkout` alone, and these are the reason.
|
|
86
|
+
"carts service",
|
|
87
|
+
"feed service",
|
|
88
|
+
"standalone orders service",
|
|
89
|
+
"delegate_payment",
|
|
90
|
+
"delegate_authentication",
|
|
91
|
+
// Bindings and delivery directions
|
|
92
|
+
"ACP MCP transport binding",
|
|
93
|
+
"webhooks",
|
|
94
|
+
"outbound merchant-to-agent delivery",
|
|
95
|
+
"ACP client role",
|
|
96
|
+
// Request authentication beyond the bearer token
|
|
97
|
+
"Signature header verification",
|
|
98
|
+
"Timestamp replay-window verification",
|
|
99
|
+
// Extensions, versioning and payment handlers
|
|
100
|
+
"discount extension",
|
|
101
|
+
"general ACP extension framework",
|
|
102
|
+
"multiple ACP API versions",
|
|
103
|
+
"seller-backed payment handler integration"
|
|
104
|
+
];
|
|
105
|
+
function buildDescriptor2(implementationVersion) {
|
|
106
|
+
return {
|
|
107
|
+
name: "acp",
|
|
108
|
+
kind: "protocol",
|
|
109
|
+
implementationVersion,
|
|
110
|
+
supportedSpec: ACP_SPEC_VERSION,
|
|
111
|
+
capabilities: ACP_CAPABILITIES,
|
|
112
|
+
status: "experimental",
|
|
113
|
+
unsupported: ACP_UNSUPPORTED
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export { A2A_AGENT_CARD_PATH, A2A_DEFAULT_AGENT_NAME, A2A_DEFAULT_MOUNT_PATH, A2A_EXTENSIONS_HEADER, A2A_JSON_MEDIA_TYPE, A2A_METHOD_SEND_MESSAGE, A2A_PROTOCOL_BINDING, A2A_PROTOCOL_VERSION, A2A_PUSH_CONFIG_METHODS, A2A_SPEC_VERSION, A2A_TASK_LOOKUP_METHODS, A2A_TASK_STATE_COMPLETED, A2A_TASK_STATE_FAILED, A2A_TASK_STATE_INPUT_REQUIRED, A2A_UNSUPPORTED, A2A_UNSUPPORTED_METHODS, A2A_VERSION_HEADER, ACP_UNSUPPORTED, buildDescriptor, buildDescriptor2 };
|
|
118
|
+
//# sourceMappingURL=chunk-NIU5EMSB.js.map
|
|
119
|
+
//# sourceMappingURL=chunk-NIU5EMSB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/protocols/a2a/constants.ts","../../src/protocols/a2a/descriptor.ts","../../src/protocols/acp/descriptor.ts"],"names":["buildDescriptor"],"mappings":";;;AAUO,IAAM,gBAAA,GAAmB;AAGzB,IAAM,oBAAA,GAAuB;AAG7B,IAAM,oBAAA,GAAuB;AAO7B,IAAM,mBAAA,GAAsB;AAG5B,IAAM,sBAAA,GAAyB;AAG/B,IAAM,mBAAA,GAAsB;AAG5B,IAAM,sBAAA,GAAyB;AAM/B,IAAM,kBAAA,GAAqB;AAG3B,IAAM,uBAAA,GAA0B;AAMhC,IAAM,uBAAA,GAA6C;AAAA,EACxD,kCAAA;AAAA,EACA,+BAAA;AAAA,EACA,iCAAA;AAAA,EACA;AACF;AAQO,IAAM,uBAAA,GAA6C;AAAA,EACxD,sBAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,iBAAA;AAAA,EACA,GAAG,uBAAA;AAAA,EACH;AACF;AAMO,IAAM,uBAAA,GAA6C,CAAC,SAAA,EAAW,YAAY;AAO3E,IAAM,wBAAA,GAA2B;AACjC,IAAM,qBAAA,GAAwB;AAG9B,IAAM,6BAAA,GAAgC;AAGtC,IAAM,qBAAA,GAAwB;;;AC5ErC,IAAM,gBAAA,GAAsC;AAAA,EAC1C,YAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA;AAAA,EAEA;AACF,CAAA;AAOO,IAAM,eAAA,GAAqC;AAAA;AAAA,EAEhD,GAAG,uBAAA;AAAA;AAAA,EAEH,wBAAA;AAAA,EACA,cAAA;AAAA;AAAA,EAEA,KAAA;AAAA,EACA,+BAAA;AAAA,EACA,sDAAA;AAAA,EACA,oBAAA;AAAA,EACA,wCAAA;AAAA,EACA,oCAAA;AAAA,EACA,4BAAA;AAAA,EACA,mDAAA;AAAA;AAAA,EAEA;AACF;AAEO,SAAS,gBAAgB,qBAAA,EAAkD;AAChF,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,qBAAA;AAAA,IACA,aAAA,EAAe,gBAAA;AAAA,IACf,YAAA,EAAc,gBAAA;AAAA,IACd,MAAA,EAAQ,cAAA;AAAA,IACR,WAAA,EAAa;AAAA,GACf;AACF;;;AC1CA,IAAM,gBAAA,GAAsC;AAAA,EAC1C,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,uBAAA;AAAA,EACA,yBAAA;AAAA;AAAA,EAEA,2CAAA;AAAA,EACA,kBAAA;AAAA,EACA,GAAG;AACL,CAAA;AAOO,IAAM,eAAA,GAAqC;AAAA;AAAA;AAAA,EAGhD,eAAA;AAAA,EACA,cAAA;AAAA,EACA,2BAAA;AAAA,EACA,kBAAA;AAAA,EACA,yBAAA;AAAA;AAAA,EAEA,2BAAA;AAAA,EACA,UAAA;AAAA,EACA,qCAAA;AAAA,EACA,iBAAA;AAAA;AAAA,EAEA,+BAAA;AAAA,EACA,sCAAA;AAAA;AAAA,EAEA,oBAAA;AAAA,EACA,iCAAA;AAAA,EACA,2BAAA;AAAA,EACA;AACF;AAEO,SAASA,iBAAgB,qBAAA,EAAkD;AAChF,EAAA,OAAO;AAAA,IACL,IAAA,EAAM,KAAA;AAAA,IACN,IAAA,EAAM,UAAA;AAAA,IACN,qBAAA;AAAA,IACA,aAAA,EAAe,gBAAA;AAAA,IACf,YAAA,EAAc,gBAAA;AAAA,IACd,MAAA,EAAQ,cAAA;AAAA,IACR,WAAA,EAAa;AAAA,GACf;AACF","file":"chunk-NIU5EMSB.js","sourcesContent":["/**\n * A2A pins, kept in one place so nothing infers one version from another.\n *\n * The specification revision and the negotiation version look alike but\n * differ: `1.0.1` names the document this adapter was written against, `1.0`\n * is what a client negotiates on the wire. Neither is this package's version\n * (`PACKAGE_VERSION`).\n */\n\n/** A2A specification revision this adapter targets */\nexport const A2A_SPEC_VERSION = '1.0.1';\n\n/** Protocol negotiation version carried on the wire */\nexport const A2A_PROTOCOL_VERSION = '1.0';\n\n/** The only transport binding this adapter serves */\nexport const A2A_PROTOCOL_BINDING = 'JSONRPC';\n\n/**\n * Fixed by the A2A specification: a client fetches the card from this exact\n * path, so it is not configurable. `src/config` reserves it against adapter\n * mounts for the same reason.\n */\nexport const A2A_AGENT_CARD_PATH = '/.well-known/agent-card.json';\n\n/** Mount serving the JSON-RPC endpoint, unless configuration says otherwise */\nexport const A2A_DEFAULT_MOUNT_PATH = '/a2a';\n\n/** Content type on both sides of every supported A2A exchange */\nexport const A2A_JSON_MEDIA_TYPE = 'application/json';\n\n/** Card identity when the operator names none. Matches the MCP adapter's default server name */\nexport const A2A_DEFAULT_AGENT_NAME = 'agent-commerce';\n\n/**\n * Version negotiation header. An absent or empty value means `0.3`, which\n * this adapter does not serve.\n */\nexport const A2A_VERSION_HEADER = 'a2a-version';\n\n/** The one JSON-RPC method this adapter serves, not the legacy `message/send` */\nexport const A2A_METHOD_SEND_MESSAGE = 'SendMessage';\n\n/**\n * Push notification configuration methods. The card declares no push\n * support, so these return `PushNotificationNotSupportedError`.\n */\nexport const A2A_PUSH_CONFIG_METHODS: readonly string[] = [\n 'CreateTaskPushNotificationConfig',\n 'GetTaskPushNotificationConfig',\n 'ListTaskPushNotificationConfigs',\n 'DeleteTaskPushNotificationConfig',\n];\n\n/**\n * A2A methods that exist and are not served here, kept apart from unknown\n * methods so a caller learns whether it hit a refused method or a typo. The\n * descriptor and the transport both read this one list.\n * `A2A_TASK_LOOKUP_METHODS` get a different error code on the wire.\n */\nexport const A2A_UNSUPPORTED_METHODS: readonly string[] = [\n 'SendStreamingMessage',\n 'GetTask',\n 'ListTasks',\n 'CancelTask',\n 'SubscribeToTask',\n ...A2A_PUSH_CONFIG_METHODS,\n 'GetExtendedAgentCard',\n];\n\n/**\n * Methods A2A gives an agent no capability flag to decline. No task can be\n * read back or canceled, so they answer `TaskNotFoundError`.\n */\nexport const A2A_TASK_LOOKUP_METHODS: readonly string[] = ['GetTask', 'CancelTask'];\n\n/**\n * Terminal states for completed and failed calls. An unpaid x402 extension\n * task instead waits in `TASK_STATE_INPUT_REQUIRED`. `GetTask` finds no task\n * in any state.\n */\nexport const A2A_TASK_STATE_COMPLETED = 'TASK_STATE_COMPLETED';\nexport const A2A_TASK_STATE_FAILED = 'TASK_STATE_FAILED';\n\n/** An unpaid x402 extension task waiting for a payment message */\nexport const A2A_TASK_STATE_INPUT_REQUIRED = 'TASK_STATE_INPUT_REQUIRED';\n\n/** Extension activation header, a comma-separated list of extension URIs */\nexport const A2A_EXTENSIONS_HEADER = 'a2a-extensions';\n","/**\n * Adapter self-description.\n *\n * `supportedSpec` is the A2A specification revision (`1.0.1`), never the\n * negotiation version (`1.0`) and never this package's version. Status is\n * `experimental` while the adapter lacks the features in the unsupported list\n * below; an entry leaves that list only when its feature is implemented.\n */\nimport type { AdapterDescriptor } from '../../core';\nimport { A2A_SPEC_VERSION, A2A_UNSUPPORTED_METHODS } from './constants';\n\n// What this adapter implements\nconst A2A_CAPABILITIES: readonly string[] = [\n 'agent-card',\n 'jsonrpc',\n 'SendMessage',\n // The x402 A2A transport, opt-in per request\n 'x402-extension',\n];\n\n/**\n * Major A2A features this adapter does not implement, served on\n * `/.well-known/agent-commerce` and printed by `doctor`, so no client assumes\n * full protocol support\n */\nexport const A2A_UNSUPPORTED: readonly string[] = [\n // Methods, as the protocol names them; the transport refuses the same list\n ...A2A_UNSUPPORTED_METHODS,\n // Transports other than the one binding served\n 'HTTP+JSON/REST binding',\n 'gRPC binding',\n // Behaviors\n 'SSE',\n 'long-running task persistence',\n 'task resumption other than an x402 extension payment',\n 'push notifications',\n 'multi-turn conversational continuation',\n 'authenticated extended agent cards',\n 'A2A authentication schemes',\n 'artifact types beyond Agent Commerce outcome data',\n // Pending x402 payments live in process memory\n 'x402 extension payments across gateway restarts or instances',\n];\n\nexport function buildDescriptor(implementationVersion: string): AdapterDescriptor {\n return {\n name: 'a2a',\n kind: 'protocol',\n implementationVersion,\n supportedSpec: A2A_SPEC_VERSION,\n capabilities: A2A_CAPABILITIES,\n status: 'experimental',\n unsupported: A2A_UNSUPPORTED,\n };\n}\n","/**\n * Adapter self-description.\n *\n * `supportedSpec` is the pinned ACP snapshot, never this package's version.\n * Status is `experimental` while the adapter lacks the features in the\n * unsupported list below; an entry leaves that list only when its feature is\n * implemented.\n */\nimport type { AdapterDescriptor } from '../../core';\nimport { ACP_CHECKOUT_OPERATIONS, ACP_SPEC_VERSION } from './constants';\n\n// What this adapter implements\nconst ACP_CAPABILITIES: readonly string[] = [\n 'rest transport',\n 'well-known discovery',\n 'bearer authentication',\n 'API-Version enforcement',\n // Forwarded as received: the gateway verifies neither signature header\n 'request header forwarding to the merchant',\n 'checkout service',\n ...ACP_CHECKOUT_OPERATIONS,\n];\n\n/**\n * Major ACP features this adapter does not implement, served on\n * `/.well-known/agent-commerce` and printed by `doctor`, so no client assumes\n * full protocol support\n */\nexport const ACP_UNSUPPORTED: readonly string[] = [\n // Services this seller does not implement, named as ACP names them. The\n // discovery document advertises `checkout` alone, and these are the reason.\n 'carts service',\n 'feed service',\n 'standalone orders service',\n 'delegate_payment',\n 'delegate_authentication',\n // Bindings and delivery directions\n 'ACP MCP transport binding',\n 'webhooks',\n 'outbound merchant-to-agent delivery',\n 'ACP client role',\n // Request authentication beyond the bearer token\n 'Signature header verification',\n 'Timestamp replay-window verification',\n // Extensions, versioning and payment handlers\n 'discount extension',\n 'general ACP extension framework',\n 'multiple ACP API versions',\n 'seller-backed payment handler integration',\n];\n\nexport function buildDescriptor(implementationVersion: string): AdapterDescriptor {\n return {\n name: 'acp',\n kind: 'protocol',\n implementationVersion,\n supportedSpec: ACP_SPEC_VERSION,\n capabilities: ACP_CAPABILITIES,\n status: 'experimental',\n unsupported: ACP_UNSUPPORTED,\n };\n}\n"]}
|