@toon-protocol/connector 2.3.0 → 2.6.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 (107) hide show
  1. package/README.md +21 -20
  2. package/dist/core/connector-node.d.ts +1 -0
  3. package/dist/core/connector-node.d.ts.map +1 -1
  4. package/dist/core/connector-node.js +14 -1
  5. package/dist/core/connector-node.js.map +1 -1
  6. package/dist/core/packet-handler.d.ts +3 -0
  7. package/dist/core/packet-handler.d.ts.map +1 -1
  8. package/dist/core/packet-handler.js +33 -10
  9. package/dist/core/packet-handler.js.map +1 -1
  10. package/dist/http/admin-api-inventory.d.ts +29 -0
  11. package/dist/http/admin-api-inventory.d.ts.map +1 -0
  12. package/dist/http/admin-api-inventory.js +462 -0
  13. package/dist/http/admin-api-inventory.js.map +1 -0
  14. package/dist/http/admin-api.d.ts +20 -0
  15. package/dist/http/admin-api.d.ts.map +1 -1
  16. package/dist/http/admin-api.js +61 -1
  17. package/dist/http/admin-api.js.map +1 -1
  18. package/dist/http/admin-server.d.ts +2 -0
  19. package/dist/http/admin-server.d.ts.map +1 -1
  20. package/dist/http/admin-server.js +2 -1
  21. package/dist/http/admin-server.js.map +1 -1
  22. package/dist/observability/metrics-registry.d.ts +39 -0
  23. package/dist/observability/metrics-registry.d.ts.map +1 -0
  24. package/dist/observability/metrics-registry.js +151 -0
  25. package/dist/observability/metrics-registry.js.map +1 -0
  26. package/dist/settlement/account-manager.d.ts.map +1 -1
  27. package/dist/settlement/account-manager.js +1 -1
  28. package/dist/settlement/account-manager.js.map +1 -1
  29. package/dist/settlement/claim-receiver.d.ts +1 -0
  30. package/dist/settlement/claim-receiver.d.ts.map +1 -1
  31. package/dist/settlement/claim-receiver.js +23 -0
  32. package/dist/settlement/claim-receiver.js.map +1 -1
  33. package/dist/settlement/settlement-executor.d.ts +3 -0
  34. package/dist/settlement/settlement-executor.d.ts.map +1 -1
  35. package/dist/settlement/settlement-executor.js +10 -1
  36. package/dist/settlement/settlement-executor.js.map +1 -1
  37. package/dist/transport/managed-anon-client.d.ts.map +1 -1
  38. package/dist/transport/managed-anon-client.js +3 -2
  39. package/dist/transport/managed-anon-client.js.map +1 -1
  40. package/package.json +13 -3
  41. package/dist/config/aptos-env-validator.d.ts +0 -8
  42. package/dist/config/aptos-env-validator.d.ts.map +0 -1
  43. package/dist/config/aptos-env-validator.js +0 -25
  44. package/dist/config/aptos-env-validator.js.map +0 -1
  45. package/dist/explorer-ui/assets/EventDetailPanel-CnSaMk3V.js +0 -6
  46. package/dist/explorer-ui/assets/FilterBar-BEmAzBku.js +0 -26
  47. package/dist/explorer-ui/assets/chevron-right-BUT9VhYe.js +0 -11
  48. package/dist/explorer-ui/assets/index-BZ2INVgy.js +0 -360
  49. package/dist/explorer-ui/assets/index-Cemh6svI.css +0 -1
  50. package/dist/explorer-ui/index.html +0 -14
  51. package/dist/explorer-ui/vite.svg +0 -1
  52. package/dist/security/backends/aws-kms-backend.d.ts +0 -18
  53. package/dist/security/backends/aws-kms-backend.d.ts.map +0 -1
  54. package/dist/security/backends/aws-kms-backend.js +0 -130
  55. package/dist/security/backends/aws-kms-backend.js.map +0 -1
  56. package/dist/security/backends/azure-kv-backend.d.ts +0 -17
  57. package/dist/security/backends/azure-kv-backend.d.ts.map +0 -1
  58. package/dist/security/backends/azure-kv-backend.js +0 -121
  59. package/dist/security/backends/azure-kv-backend.js.map +0 -1
  60. package/dist/security/backends/gcp-kms-backend.d.ts +0 -17
  61. package/dist/security/backends/gcp-kms-backend.d.ts.map +0 -1
  62. package/dist/security/backends/gcp-kms-backend.js +0 -110
  63. package/dist/security/backends/gcp-kms-backend.js.map +0 -1
  64. package/dist/security/backends/hsm-backend.d.ts +0 -18
  65. package/dist/security/backends/hsm-backend.d.ts.map +0 -1
  66. package/dist/security/backends/hsm-backend.js +0 -187
  67. package/dist/security/backends/hsm-backend.js.map +0 -1
  68. package/dist/settlement/aptos-channel-sdk.d.ts +0 -66
  69. package/dist/settlement/aptos-channel-sdk.d.ts.map +0 -1
  70. package/dist/settlement/aptos-channel-sdk.js +0 -274
  71. package/dist/settlement/aptos-channel-sdk.js.map +0 -1
  72. package/dist/settlement/aptos-claim-signer.d.ts +0 -57
  73. package/dist/settlement/aptos-claim-signer.d.ts.map +0 -1
  74. package/dist/settlement/aptos-claim-signer.js +0 -200
  75. package/dist/settlement/aptos-claim-signer.js.map +0 -1
  76. package/dist/settlement/aptos-client.d.ts +0 -99
  77. package/dist/settlement/aptos-client.d.ts.map +0 -1
  78. package/dist/settlement/aptos-client.js +0 -474
  79. package/dist/settlement/aptos-client.js.map +0 -1
  80. package/dist/settlement/xrp-channel-lifecycle.d.ts +0 -41
  81. package/dist/settlement/xrp-channel-lifecycle.d.ts.map +0 -1
  82. package/dist/settlement/xrp-channel-lifecycle.js +0 -142
  83. package/dist/settlement/xrp-channel-lifecycle.js.map +0 -1
  84. package/dist/settlement/xrp-channel-manager.d.ts +0 -59
  85. package/dist/settlement/xrp-channel-manager.d.ts.map +0 -1
  86. package/dist/settlement/xrp-channel-manager.js +0 -160
  87. package/dist/settlement/xrp-channel-manager.js.map +0 -1
  88. package/dist/settlement/xrp-channel-sdk.d.ts +0 -30
  89. package/dist/settlement/xrp-channel-sdk.d.ts.map +0 -1
  90. package/dist/settlement/xrp-channel-sdk.js +0 -164
  91. package/dist/settlement/xrp-channel-sdk.js.map +0 -1
  92. package/dist/settlement/xrp-claim-signer.d.ts +0 -22
  93. package/dist/settlement/xrp-claim-signer.d.ts.map +0 -1
  94. package/dist/settlement/xrp-claim-signer.js +0 -122
  95. package/dist/settlement/xrp-claim-signer.js.map +0 -1
  96. package/dist/settlement/xrpl-client.d.ts +0 -104
  97. package/dist/settlement/xrpl-client.d.ts.map +0 -1
  98. package/dist/settlement/xrpl-client.js +0 -304
  99. package/dist/settlement/xrpl-client.js.map +0 -1
  100. package/dist/test/testnet-config.d.ts +0 -58
  101. package/dist/test/testnet-config.d.ts.map +0 -1
  102. package/dist/test/testnet-config.js +0 -89
  103. package/dist/test/testnet-config.js.map +0 -1
  104. package/dist/utils/xrp-wss-connection-pool.d.ts +0 -8
  105. package/dist/utils/xrp-wss-connection-pool.d.ts.map +0 -1
  106. package/dist/utils/xrp-wss-connection-pool.js +0 -42
  107. package/dist/utils/xrp-wss-connection-pool.js.map +0 -1
@@ -10,6 +10,7 @@ import type { AccountManager } from '../settlement/account-manager';
10
10
  import type { SettlementMonitor } from '../settlement/settlement-monitor';
11
11
  import type { ClaimReceiver } from '../settlement/claim-receiver';
12
12
  import type { PacketSenderFn, IsReadyFn } from './ilp-send-handler';
13
+ import type { IlpMetricsRegistry } from '../observability/metrics-registry';
13
14
  export interface AdminAPIConfig {
14
15
  routingTable: RoutingTable;
15
16
  btpClientManager: BTPClientManager;
@@ -27,6 +28,7 @@ export interface AdminAPIConfig {
27
28
  packetSender?: PacketSenderFn;
28
29
  isReady?: IsReadyFn;
29
30
  defaultSettlementTokenId?: string;
31
+ metricsRegistry?: IlpMetricsRegistry;
30
32
  }
31
33
  export interface AddPeerRequest {
32
34
  id: string;
@@ -52,6 +54,24 @@ export interface BalanceResponse {
52
54
  netBalance: string;
53
55
  }>;
54
56
  }
57
+ export interface AdminMetricsJsonPeer {
58
+ peerId: string;
59
+ connected: boolean;
60
+ packetsForwarded: number;
61
+ packetsRejected: number;
62
+ bytesSent: number;
63
+ lastPacketAt: string | null;
64
+ }
65
+ export interface AdminMetricsJsonResponse {
66
+ uptimeSeconds: number;
67
+ aggregate: {
68
+ packetsForwarded: number;
69
+ packetsRejected: number;
70
+ bytesSent: number;
71
+ };
72
+ peers: AdminMetricsJsonPeer[];
73
+ timestamp: string;
74
+ }
55
75
  export interface SettlementStateResponse {
56
76
  peerId: string;
57
77
  tokenId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../src/http/admin-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-api.d.ts","sourceRoot":"","sources":["../../src/http/admin-api.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ function createIPAllowlistMiddleware(allowedIPs, trustProxy, logger) {
79
79
  async function createAdminRouter(config) {
80
80
  const { default: express } = await (0, optional_require_1.requireOptional)('express', 'HTTP admin/health APIs');
81
81
  const router = express.Router();
82
- const { routingTable, btpClientManager, logger, apiKey, allowedIPs, trustProxy = false, nodeId, settlementPeers, channelManager, paymentChannelSDK, accountManager, settlementMonitor, claimReceiver, packetSender, isReady, defaultSettlementTokenId, } = config;
82
+ const { routingTable, btpClientManager, logger, apiKey, allowedIPs, trustProxy = false, nodeId, settlementPeers, channelManager, paymentChannelSDK, accountManager, settlementMonitor, claimReceiver, packetSender, isReady, defaultSettlementTokenId, metricsRegistry, } = config;
83
83
  const log = logger.child({ component: 'AdminAPI' });
84
84
  router.use(express.json());
85
85
  if (allowedIPs && allowedIPs.length > 0) {
@@ -883,6 +883,15 @@ async function createAdminRouter(config) {
883
883
  }
884
884
  const peerId = req.params.peerId;
885
885
  const tokenId = req.query.tokenId || (defaultSettlementTokenId ?? 'M2M');
886
+ const registeredPeers = btpClientManager.getPeerIds();
887
+ if (!registeredPeers.includes(peerId)) {
888
+ res.status(404).json({
889
+ error: 'Not found',
890
+ peerId,
891
+ message: `Peer '${peerId}' not found`,
892
+ });
893
+ return;
894
+ }
886
895
  const balance = await accountManager.getAccountBalance(peerId, tokenId);
887
896
  const response = {
888
897
  peerId,
@@ -967,6 +976,57 @@ async function createAdminRouter(config) {
967
976
  });
968
977
  const ilpSendHandler = new ilp_send_handler_1.IlpSendHandler(packetSender ?? null, isReady ?? null, log);
969
978
  router.post('/ilp/send', ilpSendHandler.handle.bind(ilpSendHandler));
979
+ router.get('/metrics.json', async (_req, res) => {
980
+ try {
981
+ if (!metricsRegistry) {
982
+ res.status(503).json({
983
+ error: 'Service Unavailable',
984
+ message: 'Metrics not enabled',
985
+ });
986
+ return;
987
+ }
988
+ const livePeerIds = btpClientManager.getPeerIds();
989
+ const peerSnapshots = await metricsRegistry.snapshotPeers();
990
+ const snapshotByPeer = new Map(peerSnapshots.map((s) => [s.peerId, s]));
991
+ const peerStatus = btpClientManager.getPeerStatus();
992
+ const peers = [...livePeerIds].sort().map((peerId) => {
993
+ const snap = snapshotByPeer.get(peerId);
994
+ const lastPacketAt = snap && snap.lastPacketAtUnixSeconds > 0
995
+ ? new Date(snap.lastPacketAtUnixSeconds * 1000).toISOString()
996
+ : null;
997
+ return {
998
+ peerId,
999
+ connected: peerStatus.get(peerId) ?? false,
1000
+ packetsForwarded: snap?.packetsForwarded ?? 0,
1001
+ packetsRejected: snap?.packetsRejected ?? 0,
1002
+ bytesSent: snap?.bytesSent ?? 0,
1003
+ lastPacketAt,
1004
+ };
1005
+ });
1006
+ const aggregate = peers.reduce((acc, p) => ({
1007
+ packetsForwarded: acc.packetsForwarded + p.packetsForwarded,
1008
+ packetsRejected: acc.packetsRejected + p.packetsRejected,
1009
+ bytesSent: acc.bytesSent + p.bytesSent,
1010
+ }), { packetsForwarded: 0, packetsRejected: 0, bytesSent: 0 });
1011
+ res.set('Cache-Control', 'no-store');
1012
+ res.json({
1013
+ uptimeSeconds: Math.floor(process.uptime()),
1014
+ aggregate,
1015
+ peers,
1016
+ timestamp: new Date().toISOString(),
1017
+ });
1018
+ }
1019
+ catch (error) {
1020
+ log.error({
1021
+ event: 'admin_api_metrics_error',
1022
+ error: error instanceof Error ? error.message : String(error),
1023
+ }, 'Failed to generate metrics.json');
1024
+ res.status(500).json({
1025
+ error: 'Internal server error',
1026
+ message: error instanceof Error ? error.message : String(error),
1027
+ });
1028
+ }
1029
+ });
970
1030
  return router;
971
1031
  }
972
1032
  exports.CHAIN_FORMAT_REGEX = /^evm:[a-zA-Z0-9]+:\d+$/;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-api.js","sourceRoot":"","sources":["../../src/http/admin-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-api.js","sourceRoot":"","sources":["../../src/http/admin-api.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import type { AccountManager } from '../settlement/account-manager';
9
9
  import type { SettlementMonitor } from '../settlement/settlement-monitor';
10
10
  import type { ClaimReceiver } from '../settlement/claim-receiver';
11
11
  import type { PacketSenderFn, IsReadyFn } from './ilp-send-handler';
12
+ import type { IlpMetricsRegistry } from '../observability/metrics-registry';
12
13
  export declare class AdminServer {
13
14
  private _app;
14
15
  private _server;
@@ -31,6 +32,7 @@ export declare class AdminServer {
31
32
  defaultSettlementTokenId?: string;
32
33
  packetSender?: PacketSenderFn;
33
34
  isReady?: IsReadyFn;
35
+ metricsRegistry?: IlpMetricsRegistry;
34
36
  });
35
37
  private _initApp;
36
38
  start(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"admin-server.d.ts","sourceRoot":"","sources":["../../src/http/admin-server.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAwBpE,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAevB;gBAYU,OAAO,EAAE;QACnB,YAAY,EAAE,YAAY,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpD,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,OAAO,CAAC,EAAE,SAAS,CAAC;KACrB;YAUa,QAAQ;IAgFhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B,OAAO,IAAI,MAAM;IAQjB,SAAS,IAAI,OAAO;CAGrB"}
1
+ {"version":3,"file":"admin-server.d.ts","sourceRoot":"","sources":["../../src/http/admin-server.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAwB5E,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAgBvB;gBAYU,OAAO,EAAE;QACnB,YAAY,EAAE,YAAY,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpD,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;QACtC,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,OAAO,CAAC,EAAE,SAAS,CAAC;QACpB,eAAe,CAAC,EAAE,kBAAkB,CAAC;KACtC;YAUa,QAAQ;IAkFhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B,OAAO,IAAI,MAAM;IAQjB,SAAS,IAAI,OAAO;CAGrB"}
@@ -18,7 +18,7 @@ class AdminServer {
18
18
  }
19
19
  async _initApp() {
20
20
  const { default: express } = await (0, optional_require_1.requireOptional)('express', 'HTTP admin/health APIs');
21
- const { routingTable, btpClientManager, nodeId, config, settlementPeers, channelManager, paymentChannelSDK, accountManager, settlementMonitor, claimReceiver, defaultSettlementTokenId, packetSender, isReady, } = this._options;
21
+ const { routingTable, btpClientManager, nodeId, config, settlementPeers, channelManager, paymentChannelSDK, accountManager, settlementMonitor, claimReceiver, defaultSettlementTokenId, packetSender, isReady, metricsRegistry, } = this._options;
22
22
  this._app = express();
23
23
  const adminRouter = await (0, admin_api_1.createAdminRouter)({
24
24
  routingTable,
@@ -37,6 +37,7 @@ class AdminServer {
37
37
  defaultSettlementTokenId,
38
38
  packetSender,
39
39
  isReady,
40
+ metricsRegistry,
40
41
  });
41
42
  this._app.use('/admin', adminRouter);
42
43
  this._app.get('/health', (_req, res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"admin-server.js","sourceRoot":"","sources":["../../src/http/admin-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-server.js","sourceRoot":"","sources":["../../src/http/admin-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { Counter, Gauge, Registry } from 'prom-client';
2
+ import type { RequestHandler } from 'express';
3
+ export type PreRoutingRejectReason = 'validation_failed' | 'no_route' | 'expiry_too_short' | 'credit_limit_exceeded' | 'claim_generation_failed' | 'settlement_recording_failed';
4
+ export interface IlpMetricsRegistryOptions {
5
+ collectDefaults?: boolean;
6
+ }
7
+ export declare class IlpMetricsRegistry {
8
+ readonly register: Registry;
9
+ readonly packetsForwardedTotal: Counter<'peer'>;
10
+ readonly packetsRejectedTotal: Counter<'peer'>;
11
+ readonly bytesSentTotal: Counter<'peer'>;
12
+ readonly bytesReceivedTotal: Counter<'peer'>;
13
+ readonly lastPacketTimestampSeconds: Gauge<'peer'>;
14
+ readonly packetsRejectedPreRoutingTotal: Counter<'reason'>;
15
+ private readonly knownPeers;
16
+ constructor(options?: IlpMetricsRegistryOptions);
17
+ registerPeer(peerId: string): void;
18
+ unregisterPeer(peerId: string): void;
19
+ getKnownPeers(): string[];
20
+ recordInbound(peerId: string, bytes: number): void;
21
+ recordForwardFulfill(peerId: string, bytes: number): void;
22
+ recordForwardReject(peerId: string, bytes: number): void;
23
+ recordPreRoutingReject(reason: PreRoutingRejectReason): void;
24
+ createMetricsMiddleware(): RequestHandler;
25
+ snapshotPeers(): Promise<Array<{
26
+ peerId: string;
27
+ packetsForwarded: number;
28
+ packetsRejected: number;
29
+ bytesSent: number;
30
+ bytesReceived: number;
31
+ lastPacketAtUnixSeconds: number;
32
+ }>>;
33
+ snapshotAggregate(): Promise<{
34
+ packetsForwarded: number;
35
+ packetsRejected: number;
36
+ bytesSent: number;
37
+ }>;
38
+ }
39
+ //# sourceMappingURL=metrics-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-registry.d.ts","sourceRoot":"","sources":["../../src/observability/metrics-registry.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAyB,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAe,MAAM,aAAa,CAAC;AAC3F,OAAO,KAAK,EAAW,cAAc,EAAY,MAAM,SAAS,CAAC;AAUjE,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,UAAU,GACV,kBAAkB,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,6BAA6B,CAAC;AAElC,MAAM,WAAW,yBAAyB;IAMxC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAmBD,qBAAa,kBAAkB;IAC7B,SAAgB,QAAQ,EAAE,QAAQ,CAAC;IAEnC,SAAgB,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,SAAgB,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtD,SAAgB,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,SAAgB,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,SAAgB,0BAA0B,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,SAAgB,8BAA8B,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAQlE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,GAAE,yBAA8B;IAyDnD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkBlC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIpC,aAAa,IAAI,MAAM,EAAE;IAQzB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IASlD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAWzD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAYxD,sBAAsB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAU5D,uBAAuB,IAAI,cAAc;IAsBnC,aAAa,IAAI,OAAO,CAC5B,KAAK,CAAC;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,EAAE,MAAM,CAAC;KACjC,CAAC,CACH;IA2CK,iBAAiB,IAAI,OAAO,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CAWH"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IlpMetricsRegistry = void 0;
4
+ const prom_client_1 = require("prom-client");
5
+ class IlpMetricsRegistry {
6
+ register;
7
+ packetsForwardedTotal;
8
+ packetsRejectedTotal;
9
+ bytesSentTotal;
10
+ bytesReceivedTotal;
11
+ lastPacketTimestampSeconds;
12
+ packetsRejectedPreRoutingTotal;
13
+ knownPeers = new Set();
14
+ constructor(options = {}) {
15
+ this.register = new prom_client_1.Registry();
16
+ this.packetsForwardedTotal = new prom_client_1.Counter({
17
+ name: 'toon_packets_forwarded_total',
18
+ help: 'Count of ILP PREPARE packets successfully forwarded to a next-hop peer (peer returned FULFILL).',
19
+ labelNames: ['peer'],
20
+ registers: [this.register],
21
+ });
22
+ this.packetsRejectedTotal = new prom_client_1.Counter({
23
+ name: 'toon_packets_rejected_total',
24
+ help: 'Count of ILP PREPARE packets that resulted in a REJECT after a next-hop peer was attempted (from peer or connector-generated post-routing).',
25
+ labelNames: ['peer'],
26
+ registers: [this.register],
27
+ });
28
+ this.bytesSentTotal = new prom_client_1.Counter({
29
+ name: 'toon_bytes_sent_total',
30
+ help: 'Total bytes sent toward a peer (measured by ILP packet payload length of outbound PREPAREs).',
31
+ labelNames: ['peer'],
32
+ registers: [this.register],
33
+ });
34
+ this.bytesReceivedTotal = new prom_client_1.Counter({
35
+ name: 'toon_bytes_received_total',
36
+ help: 'Total bytes received from a peer (measured by ILP packet payload length of inbound PREPAREs).',
37
+ labelNames: ['peer'],
38
+ registers: [this.register],
39
+ });
40
+ this.lastPacketTimestampSeconds = new prom_client_1.Gauge({
41
+ name: 'toon_last_packet_timestamp_seconds',
42
+ help: 'Unix timestamp (seconds) of the most recent packet seen for this peer in either direction. 0 if never seen.',
43
+ labelNames: ['peer'],
44
+ registers: [this.register],
45
+ });
46
+ this.packetsRejectedPreRoutingTotal = new prom_client_1.Counter({
47
+ name: 'toon_packets_rejected_pre_routing_total',
48
+ help: 'Count of ILP PREPARE packets rejected by the connector before a next-hop peer was resolved. Aggregate only — not attributable to a specific outgoing peer.',
49
+ labelNames: ['reason'],
50
+ registers: [this.register],
51
+ });
52
+ if (options.collectDefaults !== false) {
53
+ (0, prom_client_1.collectDefaultMetrics)({ register: this.register });
54
+ }
55
+ }
56
+ registerPeer(peerId) {
57
+ if (this.knownPeers.has(peerId))
58
+ return;
59
+ this.knownPeers.add(peerId);
60
+ this.packetsForwardedTotal.inc({ peer: peerId }, 0);
61
+ this.packetsRejectedTotal.inc({ peer: peerId }, 0);
62
+ this.bytesSentTotal.inc({ peer: peerId }, 0);
63
+ this.bytesReceivedTotal.inc({ peer: peerId }, 0);
64
+ this.lastPacketTimestampSeconds.set({ peer: peerId }, 0);
65
+ }
66
+ unregisterPeer(peerId) {
67
+ this.knownPeers.delete(peerId);
68
+ }
69
+ getKnownPeers() {
70
+ return Array.from(this.knownPeers);
71
+ }
72
+ recordInbound(peerId, bytes) {
73
+ if (!peerId || peerId === 'unknown')
74
+ return;
75
+ this.bytesReceivedTotal.inc({ peer: peerId }, bytes);
76
+ this.lastPacketTimestampSeconds.set({ peer: peerId }, Date.now() / 1000);
77
+ }
78
+ recordForwardFulfill(peerId, bytes) {
79
+ this.packetsForwardedTotal.inc({ peer: peerId }, 1);
80
+ this.bytesSentTotal.inc({ peer: peerId }, bytes);
81
+ this.lastPacketTimestampSeconds.set({ peer: peerId }, Date.now() / 1000);
82
+ }
83
+ recordForwardReject(peerId, bytes) {
84
+ this.packetsRejectedTotal.inc({ peer: peerId }, 1);
85
+ this.bytesSentTotal.inc({ peer: peerId }, bytes);
86
+ this.lastPacketTimestampSeconds.set({ peer: peerId }, Date.now() / 1000);
87
+ }
88
+ recordPreRoutingReject(reason) {
89
+ this.packetsRejectedPreRoutingTotal.inc({ reason }, 1);
90
+ }
91
+ createMetricsMiddleware() {
92
+ return async (_req, res) => {
93
+ try {
94
+ const body = await this.register.metrics();
95
+ res.set('Content-Type', this.register.contentType);
96
+ res.status(200).send(body);
97
+ }
98
+ catch (error) {
99
+ res.status(500).json({
100
+ error: 'Internal error',
101
+ message: error instanceof Error ? error.message : String(error),
102
+ });
103
+ }
104
+ };
105
+ }
106
+ async snapshotPeers() {
107
+ const peerIds = new Set(this.knownPeers);
108
+ for (const metric of [
109
+ this.packetsForwardedTotal,
110
+ this.packetsRejectedTotal,
111
+ this.bytesSentTotal,
112
+ this.bytesReceivedTotal,
113
+ ]) {
114
+ const snapshot = await metric.get();
115
+ for (const value of snapshot.values) {
116
+ const peer = value.labels?.peer;
117
+ if (typeof peer === 'string' && peer.length > 0)
118
+ peerIds.add(peer);
119
+ }
120
+ }
121
+ const forwarded = await this.packetsForwardedTotal.get();
122
+ const rejected = await this.packetsRejectedTotal.get();
123
+ const sent = await this.bytesSentTotal.get();
124
+ const received = await this.bytesReceivedTotal.get();
125
+ const last = await this.lastPacketTimestampSeconds.get();
126
+ const readPeer = (snapshot, peerId) => {
127
+ const entry = snapshot.values.find((v) => v.labels?.peer === peerId);
128
+ return entry?.value ?? 0;
129
+ };
130
+ return Array.from(peerIds)
131
+ .sort()
132
+ .map((peerId) => ({
133
+ peerId,
134
+ packetsForwarded: readPeer(forwarded, peerId),
135
+ packetsRejected: readPeer(rejected, peerId),
136
+ bytesSent: readPeer(sent, peerId),
137
+ bytesReceived: readPeer(received, peerId),
138
+ lastPacketAtUnixSeconds: readPeer(last, peerId),
139
+ }));
140
+ }
141
+ async snapshotAggregate() {
142
+ const peers = await this.snapshotPeers();
143
+ return peers.reduce((acc, p) => ({
144
+ packetsForwarded: acc.packetsForwarded + p.packetsForwarded,
145
+ packetsRejected: acc.packetsRejected + p.packetsRejected,
146
+ bytesSent: acc.bytesSent + p.bytesSent,
147
+ }), { packetsForwarded: 0, packetsRejected: 0, bytesSent: 0 });
148
+ }
149
+ }
150
+ exports.IlpMetricsRegistry = IlpMetricsRegistry;
151
+ //# sourceMappingURL=metrics-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics-registry.js","sourceRoot":"","sources":["../../src/observability/metrics-registry.ts"],"names":[],"mappings":"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"}