@devlab.group/agent-commerce 2.2.0 → 2.3.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.
Files changed (56) hide show
  1. package/README.md +3 -3
  2. package/dist/ap2.js +3 -3
  3. package/dist/{chunk-IEW7NSP2.js → chunk-4ZSE5DCH.js} +3 -3
  4. package/dist/{chunk-IEW7NSP2.js.map → chunk-4ZSE5DCH.js.map} +1 -1
  5. package/dist/{chunk-7ZMMXZ4G.js → chunk-Q5TII32R.js} +3 -3
  6. package/dist/{chunk-7ZMMXZ4G.js.map → chunk-Q5TII32R.js.map} +1 -1
  7. package/dist/{chunk-HNRDZLSN.js → chunk-TNS7U5Q4.js} +19 -6
  8. package/dist/chunk-TNS7U5Q4.js.map +1 -0
  9. package/dist/{chunk-Y4RE3XYF.js → chunk-XVU46YAH.js} +24 -20
  10. package/dist/chunk-XVU46YAH.js.map +1 -0
  11. package/dist/cli/{ap2-MBMQHFX4.js → ap2-GINAXBFV.js} +3 -3
  12. package/dist/cli/{ap2-MBMQHFX4.js.map → ap2-GINAXBFV.js.map} +1 -1
  13. package/dist/cli/{chunk-2ZZOGI5I.js → chunk-2LN5PO5I.js} +3 -3
  14. package/dist/cli/{chunk-2ZZOGI5I.js.map → chunk-2LN5PO5I.js.map} +1 -1
  15. package/dist/cli/{chunk-RWVPYAKC.js → chunk-55N55KL4.js} +12 -9
  16. package/dist/cli/chunk-55N55KL4.js.map +1 -0
  17. package/dist/cli/{chunk-KLX2YZDG.js → chunk-BR7CMJOE.js} +20 -7
  18. package/dist/cli/chunk-BR7CMJOE.js.map +1 -0
  19. package/dist/cli/chunk-DYHVNKRB.js +8 -0
  20. package/dist/cli/{chunk-FRMLWGSS.js.map → chunk-DYHVNKRB.js.map} +1 -1
  21. package/dist/cli/{chunk-SS3QFF5N.js → chunk-KABFUZ6L.js} +32 -7
  22. package/dist/cli/chunk-KABFUZ6L.js.map +1 -0
  23. package/dist/cli/{chunk-NSPPEF5M.js → chunk-KTV52MCU.js} +24 -20
  24. package/dist/cli/chunk-KTV52MCU.js.map +1 -0
  25. package/dist/cli/{chunk-7JNYFUT3.js → chunk-OZ4LAWBK.js} +2 -2
  26. package/dist/cli/chunk-OZ4LAWBK.js.map +1 -0
  27. package/dist/cli/{config-4IBGVFSP.js → config-ZOFHJ5FB.js} +6 -6
  28. package/dist/cli/{config-4IBGVFSP.js.map → config-ZOFHJ5FB.js.map} +1 -1
  29. package/dist/cli/index.js +17 -10
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/{mcp-CNWQ2MOE.js → mcp-V3BNRUWL.js} +3 -3
  32. package/dist/cli/{mcp-CNWQ2MOE.js.map → mcp-V3BNRUWL.js.map} +1 -1
  33. package/dist/cli/{provider-4BQDH56Y.js → provider-BTIFALIT.js} +6 -6
  34. package/dist/cli/{provider-4BQDH56Y.js.map → provider-BTIFALIT.js.map} +1 -1
  35. package/dist/cli/{run-5MB2D45X.js → run-DS2KXUTW.js} +40 -15
  36. package/dist/cli/run-DS2KXUTW.js.map +1 -0
  37. package/dist/cli/{x402-NKR3WQDQ.js → x402-YTKFNWVQ.js} +7 -7
  38. package/dist/cli/{x402-NKR3WQDQ.js.map → x402-YTKFNWVQ.js.map} +1 -1
  39. package/dist/index.d.ts +26 -4
  40. package/dist/index.js +67 -14
  41. package/dist/index.js.map +1 -1
  42. package/dist/mcp.js +1 -1
  43. package/dist/mpp.js +3 -3
  44. package/dist/{networks-olfflCI_.d.ts → networks-DTWRlj-K.d.ts} +2 -2
  45. package/dist/x402.d.ts +2 -2
  46. package/dist/x402.js +4 -4
  47. package/package.json +1 -1
  48. package/dist/chunk-HNRDZLSN.js.map +0 -1
  49. package/dist/chunk-Y4RE3XYF.js.map +0 -1
  50. package/dist/cli/chunk-7JNYFUT3.js.map +0 -1
  51. package/dist/cli/chunk-FRMLWGSS.js +0 -8
  52. package/dist/cli/chunk-KLX2YZDG.js.map +0 -1
  53. package/dist/cli/chunk-NSPPEF5M.js.map +0 -1
  54. package/dist/cli/chunk-RWVPYAKC.js.map +0 -1
  55. package/dist/cli/chunk-SS3QFF5N.js.map +0 -1
  56. package/dist/cli/run-5MB2D45X.js.map +0 -1
@@ -1,15 +1,15 @@
1
- import { createSqliteReceiptStore, A2A_DEFAULT_MOUNT_PATH, A2A_DEFAULT_AGENT_NAME, buildDescriptor, A2A_AGENT_CARD_PATH, A2A_JSON_MEDIA_TYPE, A2A_VERSION_HEADER, A2A_PROTOCOL_VERSION, A2A_EXTENSIONS_HEADER, A2A_PUSH_CONFIG_METHODS, A2A_TASK_LOOKUP_METHODS, A2A_UNSUPPORTED_METHODS, A2A_METHOD_SEND_MESSAGE, buildDescriptor2, A2A_PROTOCOL_BINDING, A2A_TASK_STATE_FAILED, A2A_TASK_STATE_COMPLETED, A2A_TASK_STATE_INPUT_REQUIRED } from './chunk-SS3QFF5N.js';
2
- import { loadConfig } from './chunk-RWVPYAKC.js';
3
- import { HttpBackendExecutor, createResourceRegistry, createStoreEventSink, createExecutionPipeline, ACP_WELL_KNOWN_PATH, ACP_CHECKOUT_OPERATIONS, ACP_IN_FLIGHT_RETRY_AFTER_SECONDS, ACP_IDEMPOTENT_REPLAYED_HEADER, ACP_IDEMPOTENCY_KEY_HEADER, ACP_REQUEST_ID_HEADER, ACP_SPEC_VERSION, ACP_JSON_MEDIA_TYPE, ACP_API_VERSION, ACP_API_VERSION_HEADER, ACP_MAX_REQUEST_ID_LENGTH, ACP_OPERATION_INPUT_KEYS, ACP_OPERATION_OPTIONAL_INPUT_KEYS, ACP_SESSION_ID_INPUT_KEY, ACP_FORWARDED_HEADERS, ACP_MAX_FORWARDED_HEADER_LENGTH, BackendErrorResponse, ACP_MERCHANT_RETRY_AFTER_DEFAULT_SECONDS, ACP_MERCHANT_RETRY_AFTER_MAX_SECONDS } from './chunk-2ZZOGI5I.js';
1
+ import { createSqliteReceiptStore, A2A_DEFAULT_MOUNT_PATH, A2A_DEFAULT_AGENT_NAME, buildDescriptor, A2A_AGENT_CARD_PATH, A2A_JSON_MEDIA_TYPE, A2A_VERSION_HEADER, A2A_PROTOCOL_VERSION, A2A_EXTENSIONS_HEADER, A2A_PUSH_CONFIG_METHODS, A2A_TASK_LOOKUP_METHODS, A2A_UNSUPPORTED_METHODS, A2A_METHOD_SEND_MESSAGE, buildDescriptor2, A2A_PROTOCOL_BINDING, A2A_TASK_STATE_FAILED, A2A_TASK_STATE_COMPLETED, A2A_TASK_STATE_INPUT_REQUIRED } from './chunk-KABFUZ6L.js';
2
+ import { loadConfig } from './chunk-55N55KL4.js';
3
+ import { HttpBackendExecutor, createResourceRegistry, createStoreEventSink, createExecutionPipeline, ACP_WELL_KNOWN_PATH, ACP_CHECKOUT_OPERATIONS, ACP_IN_FLIGHT_RETRY_AFTER_SECONDS, ACP_IDEMPOTENT_REPLAYED_HEADER, ACP_IDEMPOTENCY_KEY_HEADER, ACP_REQUEST_ID_HEADER, ACP_SPEC_VERSION, ACP_JSON_MEDIA_TYPE, ACP_API_VERSION, ACP_API_VERSION_HEADER, ACP_MAX_REQUEST_ID_LENGTH, ACP_OPERATION_INPUT_KEYS, ACP_OPERATION_OPTIONAL_INPUT_KEYS, ACP_SESSION_ID_INPUT_KEY, ACP_FORWARDED_HEADERS, ACP_MAX_FORWARDED_HEADER_LENGTH, BackendErrorResponse, ACP_MERCHANT_RETRY_AFTER_DEFAULT_SECONDS, ACP_MERCHANT_RETRY_AFTER_MAX_SECONDS } from './chunk-2LN5PO5I.js';
4
4
  import { MPP_DEFAULT_PAYMENT_FLOW, MPP_PROFILE } from './chunk-AA3FIEAR.js';
5
- import { x402OfferName } from './chunk-NSPPEF5M.js';
6
- import { X402_DEFAULT_PAYMENT_FLOW, resolveDeploymentMode, requireX402Network } from './chunk-7JNYFUT3.js';
5
+ import { x402OfferName } from './chunk-KTV52MCU.js';
6
+ import { X402_DEFAULT_PAYMENT_FLOW, resolveDeploymentMode, requireX402Network } from './chunk-OZ4LAWBK.js';
7
7
  import { openSqliteDatabase } from './chunk-3MGAJ5FX.js';
8
8
  import './chunk-FHCFR2GS.js';
9
9
  import { readCappedBody, createBearerCheck, joinUrl, settlementResponse, settlementResponseFromDetails, settlementFailure, x402ErrorCode, x402RefusalStatus } from './chunk-SPAYKVUP.js';
10
10
  import './chunk-TPC4EJLT.js';
11
11
  import { contentDigest, CONTENT_DIGEST_METADATA_KEY, mppProblem, mppProblemDetail } from './chunk-5K4XEAZV.js';
12
- import { PACKAGE_VERSION } from './chunk-FRMLWGSS.js';
12
+ import { PACKAGE_VERSION } from './chunk-DYHVNKRB.js';
13
13
  import { PAYMENT_HEADER, AUTHORIZATION_HEADER, CommerceError, isCommerceError, systemClock, toLogInfo, toCommerceError, extractReservedInputFields, isHttpProtocolAdapter, toErrorEnvelope, DELIVERY_SUMMARY_META_KEY, toDeliverySummary, toPaymentRequiredEnvelope, NOOP_LOGGER, parseAuthorizationHeader, PAYMENT_REQUIRED_HEADER, PAYMENT_RESPONSE_HEADER, PAYMENT_INPUT_FIELD, AUTHORIZATION_INPUT_FIELD, parseAuthorizationSubmission } from './chunk-QQ3WY5L3.js';
14
14
  import { isRecord } from './chunk-3M6U7ILB.js';
15
15
  import { createHash, randomUUID } from 'crypto';
@@ -6185,7 +6185,7 @@ async function createConfiguredPaymentProviders(payments, logger) {
6185
6185
  if (x402?.enabled) {
6186
6186
  const { createX402PaymentProvider } = await importOptionalPeer(
6187
6187
  "payments.x402",
6188
- () => import('./x402-NKR3WQDQ.js')
6188
+ () => import('./x402-YTKFNWVQ.js')
6189
6189
  );
6190
6190
  providers.push(
6191
6191
  createX402PaymentProvider({
@@ -6214,7 +6214,7 @@ async function createConfiguredPaymentProviders(payments, logger) {
6214
6214
  if (mpp?.enabled) {
6215
6215
  const { createMppPaymentProvider } = await importOptionalPeer(
6216
6216
  "payments.mpp",
6217
- () => import('./provider-4BQDH56Y.js')
6217
+ () => import('./provider-BTIFALIT.js')
6218
6218
  );
6219
6219
  providers.push(
6220
6220
  createMppPaymentProvider({
@@ -6810,13 +6810,28 @@ function registerRoutes(options) {
6810
6810
  server.get(
6811
6811
  "/api/receipts",
6812
6812
  { onRequest: tokenHook },
6813
- ledgerHandler("receipts", (list) => options.store.listReceipts(list))
6813
+ ledgerHandler(
6814
+ "receipts",
6815
+ (list, query) => options.store.listReceipts(
6816
+ parseFlag(query["undelivered"], "undelivered") ? { ...list, undelivered: true } : list
6817
+ )
6818
+ )
6814
6819
  );
6815
6820
  server.get(
6816
6821
  "/api/events",
6817
6822
  { onRequest: tokenHook },
6818
6823
  ledgerHandler("events", (list) => options.store.listEvents(list))
6819
6824
  );
6825
+ server.get(
6826
+ "/api/payment-attempts",
6827
+ { onRequest: tokenHook },
6828
+ ledgerHandler(
6829
+ "paymentAttempts",
6830
+ (list, query) => options.store.listPaymentAttempts(
6831
+ parseFlag(query["uncertain"], "uncertain") ? { ...list, uncertain: true } : list
6832
+ )
6833
+ )
6834
+ );
6820
6835
  }
6821
6836
  var bodyDigests = /* @__PURE__ */ new WeakMap();
6822
6837
  function digestingStream(request) {
@@ -6835,8 +6850,10 @@ function digestingStream(request) {
6835
6850
  function ledgerHandler(key, list) {
6836
6851
  return async (request, reply) => {
6837
6852
  try {
6838
- const limit = parseLimit(request.query["limit"]);
6839
- return { [key]: await list(limit !== void 0 ? { limit } : {}) };
6853
+ const query = request.query;
6854
+ const limit = parseLimit(query["limit"]);
6855
+ const page = await list(limit !== void 0 ? { limit } : {}, query);
6856
+ return { [key]: page };
6840
6857
  } catch (error) {
6841
6858
  const commerceError = toCommerceError(error);
6842
6859
  reply.status(commerceError.httpStatus).send(toErrorEnvelope(commerceError));
@@ -7024,6 +7041,14 @@ function parseLimit(value) {
7024
7041
  }
7025
7042
  return n;
7026
7043
  }
7044
+ function parseFlag(value, field) {
7045
+ if (Array.isArray(value)) return parseFlag(value[0], field);
7046
+ if (value === void 0 || value === "false") return false;
7047
+ if (value === "true") return true;
7048
+ throw new CommerceError("INPUT_INVALID", `Query parameter "${field}" must be true or false`, {
7049
+ details: { field }
7050
+ });
7051
+ }
7027
7052
 
7028
7053
  // src/gateway/server.ts
7029
7054
  var REQUEST_ID_HEADER = "x-request-id";
@@ -7149,9 +7174,9 @@ async function runGateway(options = {}) {
7149
7174
  const { core: logger } = createGatewayLogger({ name: config.merchant.id });
7150
7175
  const paymentProviders = await createConfiguredPaymentProviders(config.payments, logger);
7151
7176
  const ap2 = config.authorization?.ap2;
7152
- const ap2Module = ap2?.enabled ? await importOptionalPeer("authorization.ap2", () => import('./ap2-MBMQHFX4.js')) : void 0;
7177
+ const ap2Module = ap2?.enabled ? await importOptionalPeer("authorization.ap2", () => import('./ap2-GINAXBFV.js')) : void 0;
7153
7178
  const mcp = config.protocols.mcp;
7154
- const mcpModule = mcp.enabled ? await importOptionalPeer("protocols.mcp", () => import('./mcp-CNWQ2MOE.js')) : void 0;
7179
+ const mcpModule = mcp.enabled ? await importOptionalPeer("protocols.mcp", () => import('./mcp-V3BNRUWL.js')) : void 0;
7155
7180
  const store = createSqliteReceiptStore({
7156
7181
  path: config.storage.receipts.path,
7157
7182
  logger
@@ -7282,5 +7307,5 @@ function printStartupError(error) {
7282
7307
  }
7283
7308
 
7284
7309
  export { printStartupError, runGateway };
7285
- //# sourceMappingURL=run-5MB2D45X.js.map
7286
- //# sourceMappingURL=run-5MB2D45X.js.map
7310
+ //# sourceMappingURL=run-DS2KXUTW.js.map
7311
+ //# sourceMappingURL=run-DS2KXUTW.js.map