feat: integrate analytics and fragment receipt improvements

This commit is contained in:
hectorzhao
2026-08-03 15:34:41 +08:00
parent 3357ace7e1
commit 530a65de80
89 changed files with 1964 additions and 324 deletions
+28 -8
View File
@@ -1,7 +1,7 @@
{
"version": "r1",
"baselineCommit": "0af671b4ed4713912e703defd08791f164d4eb25",
"generatedAt": "2026-07-31",
"generatedAt": "2026-08-03",
"coreFunctions": {
"readErrorBody": "a12b96623f266784d928784ab83fe172fea7470f14b8e2be6684f776119b50dd",
"requestPortal": "0b19b95d4ece5b775f2b62951368b1a8b19d7e74f4c2644b40b02866783b49ea",
@@ -311,7 +311,7 @@
},
{
"name": "listTemplateAudits",
"implementationSha256": "cd52a1a4ce1d7a64468089f5cb7597904c246963665b1174e01ec6fce673760d"
"implementationSha256": "2d1a9f1441b5ab75fd464f29673e4534b8bc8737ac5b92425094af82d2489531"
},
{
"name": "approveTemplate",
@@ -339,7 +339,7 @@
},
{
"name": "listEnterpriseSignatures",
"implementationSha256": "e60e04452f022052a5aa21159b1b69828c7a0c7de731ce723c7d5742751ecb74"
"implementationSha256": "132c04125b1d2ae39fa21f8a71ecfe0d3e12e64cce3c8fab9d089e2423e329ee"
},
{
"name": "listEnterpriseSignaturesPage",
@@ -363,7 +363,7 @@
},
{
"name": "listDrainageInfos",
"implementationSha256": "e75bafd3e0bb991f853f9cb195b8043c2ab180383e14ae0bd195cba441c70dbe"
"implementationSha256": "9ff26a607e03786eaefd96f8e138509d01f14be71258c75c063b1555b1947960"
},
{
"name": "listAuditRecords",
@@ -411,7 +411,7 @@
},
{
"name": "listEnterpriseCertifications",
"implementationSha256": "dde64635239c428de705e832356bcf39195ae5ce3af93bccd08d0be0ca436d23"
"implementationSha256": "a02638b588d6c53d3b51df33336c012f1d9f3d0d4bb5ed9f7b550dd114d4e96c"
},
{
"name": "getEnterpriseCertification",
@@ -571,11 +571,11 @@
},
{
"name": "listOperationMessages",
"implementationSha256": "d89407edcb6942fe8bc5fd618c2fcc17abb151a1d395d76c512a1b8412a0cb71"
"implementationSha256": "ca21bae1df2e2df8d51ee8b3bc0e5d0cddf056cfa3e00dbb839ec0382b01b821"
},
{
"name": "exportOperationMessages",
"implementationSha256": "01c49d9ca8e071c085244a9a2dd66e5f27d271ef9a746f18769956647a62cbd2"
"implementationSha256": "e42feb6aa6eacc571a2bc52315f24f4cdd54d673ce71ac49902893fc816ab62f"
},
{
"name": "listAdminUplinkMessages",
@@ -635,7 +635,7 @@
},
{
"name": "listRiskReviewTasks",
"implementationSha256": "1040e5775f210a00a26df88b3aac01523ca61c29409edd5f30e6e1c98fb3e5cc"
"implementationSha256": "8be7604b795105e51d3301a0e9c2f3a7a4b83a65981070fd64aafed27df67125"
},
{
"name": "listRiskRules",
@@ -773,6 +773,26 @@
"name": "deleteCommonReportField",
"implementationSha256": "e305aff8b3eabaa020c2044d1993bbd8e5556d2b5b74451c2d97df44a91a96a9"
},
{
"name": "listDrainageDetectionRules",
"implementationSha256": "f64be5ee02acc626a6cae581604a9a8400cfb6f4110913ab7a5d30e0518f8001"
},
{
"name": "createDrainageDetectionRule",
"implementationSha256": "165e44de881102c91f04076d3c5a34fc81fa5ac9d1dc55d5c5167d30f43f4944"
},
{
"name": "updateDrainageDetectionRule",
"implementationSha256": "6e7c079dd3511acedac00b7aa530c9568c7c066538667e253d685ba202af28de"
},
{
"name": "changeDrainageDetectionRuleStatus",
"implementationSha256": "950d2bfcf817375996d3160e96f48f89de15cee07b6545cbb1fe4c013b9fbb92"
},
{
"name": "testDrainageDetectionRule",
"implementationSha256": "908309fed077f6fa165715a8ee90ae1bcf1132b470fc4af013784aaae61a38a7"
},
{
"name": "uploadFileObject",
"implementationSha256": "e4e12f112fdb40274b08c8109dc0bb585cd23ab62dfed0ce9e8e11ca7e508482"
+2 -2
View File
@@ -1,7 +1,7 @@
{
"version": "R5",
"source": "api/src/channels/channels.service.ts",
"generatedAt": "2026-07-31T02:40:10.189Z",
"generatedAt": "2026-08-03T15:27:00+08:00",
"publicMethods": [
{
"name": "onModuleInit",
@@ -96,7 +96,7 @@
{
"name": "testChannel",
"signature": "async testChannel(channelId: string, data: TestChannelDto = {})",
"canonicalBodySha256": "e01b10f3981c66c5fab6cfd6d1b886abbb45e1fe53852b57c0903fcd826815d3",
"canonicalBodySha256": "6336a3d1ecfb3c9fb838a9a198c35ab20009677e34b6cf23e7ac21f7d4b09f97",
"originalLines": [
536,
636
@@ -32,6 +32,9 @@
"--sidebar-width",
"--topbar-height",
"--control-height-md",
"--query-control-width",
"--query-date-range-width",
"--query-action-width",
"--z-modal"
],
"resetFile": "src/styles/reset.css",
+6 -6
View File
@@ -1,9 +1,9 @@
{
"version": "r2",
"baselineCommit": "0af671b4ed4713912e703defd08791f164d4eb25",
"generatedAt": "2026-07-31",
"generatedAt": "2026-08-03",
"contracts": {
"MessageQuery": "07530ba61641758c96b5cd91dcdaba8692d5da4d9657d66e71009e7abf338f13",
"MessageQuery": "b2713cdb6dedf7d6d9c3aa23235b595a15a8f0c82c045a0bd9b39151a40cf00c",
"TraceQuery": "636138d9593d61b2936eb32231d071b4682ca1d36cbf6a2b07d3b71b4f5d8453",
"OperationLogQuery": "084d60f6487a2b38264211bf030950baacd2bc9b218e992867fb0e429dae7ece",
"GatewaySubmitDeadLetterQuery": "d40dea1cc7d5ee369ab16a49cada5c6bcfae2b21fc66459c49d9377374aa1445",
@@ -47,7 +47,7 @@
"group": "messages",
"isPrivate": false,
"signatureSha256": "37075fd6448d81f6acc25efe9a3670c8d6ec962add6a0b1e3115a31c05f8d7a6",
"bodySha256": "649439bf58c411100dcc24d634c7f2c87c6323c74cfc76539f853485c3c59461"
"bodySha256": "44fb733c7f072fb69a85eba97a9b896e0fc93b6daf240870ce595611725e26b9"
},
{
"name": "listClientMessages",
@@ -117,14 +117,14 @@
"group": "quality",
"isPrivate": false,
"signatureSha256": "7fa4cd6bcee4092390a38d693aa30c7980781ca1baa73dd07a3a61f097774e9c",
"bodySha256": "730b291f2fa96a9bcb054589a1341bc21f8ade161d232141d74f77eb426c4522"
"bodySha256": "e1334241997093de755a8e31ca8655694635b014d9016d6180dfd42ee283c231"
},
{
"name": "signatureQuality",
"group": "quality",
"isPrivate": false,
"signatureSha256": "6b9c3761674cb0d01000caca5e12cf91a6e526757592ffb783fc673c178b204c",
"bodySha256": "c85644b03f607339c2eae5390b01fb520264e87f16d0439c81a0c101b4277fa2"
"bodySha256": "a7203deb5a8c7c3b6f6afaf83a55bb1ff45a0bf198f86a2158868c4b8c759b2d"
},
{
"name": "auditLogs",
@@ -240,7 +240,7 @@
}
],
"helpers": {
"messageWhere": "8d73104a7035970fceee92d95f2f76960c64aa5e1862be3441879d666d57a947",
"messageWhere": "072069862f457a9ed100e76fefe664c6c7b9a977ca21cd51eb6bfcf548dcb2a5",
"recognizedCarrierValues": "d60957621e921bf9f5df8fdef616f4e2a0b16be78623c85316a65bae83025bdb",
"carrierWhere": "1c7947c02a1a5cd3aaeda4a586421f6d7d63ae2f912cb11292831af2ffa4c379",
"startOfShanghaiDay": "12eb964ff5ab3680837cf50bccabe5e8e7af733c248d06cb57f20c0c65ce0b4e",
@@ -1,6 +1,6 @@
{
"version": "R10",
"generatedAt": "2026-07-31",
"generatedAt": "2026-08-03",
"source": "api/src/send-chain/send-chain.service.ts at R9 local baseline",
"facade": "api/src/send-chain/send-completion.service.ts",
"methods": [
@@ -67,7 +67,7 @@
{
"name": "handleReceipt",
"file": "send-receipt.service.ts",
"bodySha256": "e3b63dc74af50db96d899c805124c7974067ca729e44a1ec8a558569e81fbd6c"
"bodySha256": "7302c72f2f3f3e374f38c365234f1a9705e80150de750d6fee73c22856efee46"
},
{
"name": "recordReceiptSegment",
@@ -77,7 +77,7 @@
{
"name": "aggregateReceiptSegments",
"file": "send-receipt.service.ts",
"bodySha256": "7dc565bd0847462bd0e23b5f072a4f82fd6daa88f164485138ce653d8cf936b8"
"bodySha256": "865a66025c8320096fac36c827b34bd612ccb34a11d523fd8590cdd4491da523"
},
{
"name": "resolveReceiptMessage",
@@ -177,7 +177,7 @@
{
"name": "queueAndTryDownstreamDelivery",
"file": "send-downstream-delivery.service.ts",
"bodySha256": "0b5f6f5e9ffebad5ddda003962efdabb0daeb2ec5942a246bdf9d922f274d4ac"
"bodySha256": "190b4c332e5913ef5ec44a25694270ef6320b3203df347bd25ef40f22cc0d7d9"
},
{
"name": "resolveUplinkMatch",
@@ -187,7 +187,7 @@
{
"name": "recordCmppFailureReceipt",
"file": "send-downstream-delivery.service.ts",
"bodySha256": "d48ecabfcce62787668486a8f14b3ea7afc935d5d5d910651fc1ddf8d8ac3952"
"bodySha256": "030175c6265820e62350a1527270627f90404df343ace9faf42e929fc00db790"
},
{
"name": "postGatewayControl",
@@ -197,7 +197,7 @@
{
"name": "markUnknownTimeout",
"file": "send-timeout.service.ts",
"bodySha256": "6f254ffbf05067483801cdd2c131f32cb9aaaf755d19f3aff065fe99b8d7753b"
"bodySha256": "21a83514324e383e11c0c3c369f0478d3d09dba7c52e479685141a4d9a1fd9d2"
},
{
"name": "markExpiredDownstreamDeliveries",
+2 -2
View File
@@ -20,7 +20,7 @@
{
"name": "GatewayInboundSubmitDto",
"kind": "interface",
"sha256": "28f99a1e29385b64c3a6b4eab2e5befa3fc6cd8a6995090e0865f5af6871246a"
"sha256": "9662a33869bb44dacf7a56d1b907e31a7f6c1b9129e536cae2f234f1087074e3"
},
{
"name": "GatewayInboundSingleSubmitResult",
@@ -257,7 +257,7 @@
{
"name": "drainageRejectionReason",
"kind": "function",
"sha256": "4bc0aa5e5c7f96549cd8bad93d3b25fd5e65e6b017ae9bf83baa5c47cab08c02"
"sha256": "98308cc1e9cb4d8979da0484992d0ba272046e122912b68cfc13b33ac80bf7f2"
},
{
"name": "statusFromRisk",
+6 -6
View File
@@ -1,12 +1,12 @@
{
"version": "R9",
"generatedAt": "2026-07-31",
"generatedAt": "2026-08-03",
"source": "api/src/send-chain/send-chain.service.ts at R8 local baseline",
"target": "api/src/send-chain/send-*.service.ts via send-submission.service.ts compatibility facade",
"methods": [
{
"name": "createBatchTask",
"bodySha256": "c7baccb2b49a95ef4b36a97f6f56c987f0ac60c45ed634cd050201f2a9bce8b5",
"bodySha256": "7ba5573e99f0616a7e57f53c242c60f3ec96d66a5164bbb170f177805ddfe9b0",
"file": "send-batch-entry.service.ts"
},
{
@@ -66,7 +66,7 @@
},
{
"name": "submitInboundMessage",
"bodySha256": "281e33a732f80e4ede6cc9d04a5b206a9348e17e66dee33d53f2d8d1d9bb9472",
"bodySha256": "dfe4a7516f9472870957e40acbe74fb7c8f76dd2113dda9ce06ea338241d1dba",
"file": "send-inbound-entry.service.ts"
},
{
@@ -81,7 +81,7 @@
},
{
"name": "collectInboundLongMessageFragment",
"bodySha256": "5b4e7f795966462fccb8c4c7a2cfae649ef19ee1b8176e7356eb2d621526ba41",
"bodySha256": "ac157c4848e12d46b98d46a8fbb13b65c6f18ae6dd2de3340d68f8bfa6908f63",
"file": "send-inbound-entry.service.ts"
},
{
@@ -91,7 +91,7 @@
},
{
"name": "submitInboundSingleMessage",
"bodySha256": "df97548b1710b217f118cc297104d6c5cc845acc40947df4180036b8d284d847",
"bodySha256": "6fa4c577848eb06f635a8f186d1e1510b1213f0ba6d439d032ea08c593725d14",
"file": "send-inbound-entry.service.ts"
},
{
@@ -156,7 +156,7 @@
},
{
"name": "resolveTemplateMessageClassification",
"bodySha256": "f2b99e2e9d7fa00172b3cca72f080493fbf6f090f378784611388320254575f7",
"bodySha256": "33c02992cc542862382456ffc4674cf0359e3b3e9271cabb23bd4d6f041f17a9",
"file": "send-batch-entry.service.ts"
},
{
+31
View File
@@ -52,6 +52,9 @@
"ui-modal__header",
"ui-modal__body",
"ui-modal__footer"
],
"src/components/ui/DateRangeInput.tsx": [
"ui-date-range-field"
]
},
"requiredRuleFragments": [
@@ -105,6 +108,19 @@
"gap:var(--space-6)"
]
},
{
"selector": ".ui-filter-row",
"includes": [
"display:flex",
"flex-wrap:wrap"
]
},
{
"selector": ".ui-filter-actions .ui-button",
"includes": [
"width:var(--query-action-width)"
]
},
{
"selector": ".form-grid--two",
"media": "(max-width: 780px)",
@@ -112,6 +128,21 @@
"grid-template-columns:1fr"
]
},
{
"selector": ".ui-filter-actions",
"media": "(max-width: 780px)",
"includes": [
"grid-template-columns:repeat(2, minmax(0, 1fr))",
"width:100%"
]
},
{
"selector": ".ui-filter-actions",
"media": "(max-width: 360px)",
"includes": [
"grid-template-columns:minmax(0, 1fr)"
]
},
{
"selector": ".table-actions",
"media": "(max-width: 780px)",
+14 -14
View File
@@ -1,7 +1,7 @@
{
"version": "R3",
"source": "api/src/sms-config/sms-config.service.ts",
"generatedAt": "2026-07-31T01:56:36.226Z",
"generatedAt": "2026-08-03T15:32:00+08:00",
"publicMethods": [
{
"name": "onModuleInit",
@@ -204,8 +204,8 @@
{
"name": "listSignatures",
"signature": "async listSignatures(queryOrTenantId?: string | SignatureListQuery)",
"bodySha256": "9e8d363c2ee1022f429a9fa16e5e933f334a528e640f49ccd83e0cfc7686aea6",
"canonicalBodySha256": "91e26f503140018b00afe5563a4f86d22117c2805ac86532559ac44f1360d8a2",
"bodySha256": "bb4d8d983ed5cda59235b39396d09a568a554ad72c564ef4daab2d92dac6633a",
"canonicalBodySha256": "bb4d8d983ed5cda59235b39396d09a568a554ad72c564ef4daab2d92dac6633a",
"originalLines": [
915,
1025
@@ -215,8 +215,8 @@
{
"name": "listSignaturesPage",
"signature": "async listSignaturesPage(query: SignatureListQuery)",
"bodySha256": "24e161ae5049af0689d3a9d0e4ab802964b87b1f2d407d8309b8e6cbe8afdd56",
"canonicalBodySha256": "34ee94d016bdc986d98b01612f4c64fdc03b0e921abedeff8fe84bd64dec958c",
"bodySha256": "b3554a30debe1457938985f211c9107a4ca26b28581509b523810a45bb6f432a",
"canonicalBodySha256": "b3554a30debe1457938985f211c9107a4ca26b28581509b523810a45bb6f432a",
"originalLines": [
1027,
1058
@@ -325,8 +325,8 @@
{
"name": "listDrainageInfos",
"signature": "listDrainageInfos(query: DrainageInfoListQuery = {})",
"bodySha256": "2841e83c70180cdce83943d9d6ae212a9d29c6eae701ecf928bdbaedbdc93457",
"canonicalBodySha256": "0de53393ca5f91da7a521c13a96813b1f8211ded00f0fa797b752b6a87b73148",
"bodySha256": "99f53b52b01b3f75fe85886a1b62c98d1ae7fa72afb11eae98bbdc88103616c8",
"canonicalBodySha256": "99f53b52b01b3f75fe85886a1b62c98d1ae7fa72afb11eae98bbdc88103616c8",
"originalLines": [
1302,
1319
@@ -413,8 +413,8 @@
{
"name": "listTemplates",
"signature": "listTemplates(queryOrTenantId?: string | TemplateListQuery)",
"bodySha256": "c7c9b9b6f03c046c94459d021604dcce3b5d9d2ce192d547bce9d31310b27a7f",
"canonicalBodySha256": "e276e9f029b2cb5d5cf9551959f0525a9c501fefc97bf7a9300ba9d6554aa714",
"bodySha256": "0cd3e2ab2856057243722f323915cc4e905e3af888f8f70d8a9f164a07ebb234",
"canonicalBodySha256": "0cd3e2ab2856057243722f323915cc4e905e3af888f8f70d8a9f164a07ebb234",
"originalLines": [
1558,
1583
@@ -424,8 +424,8 @@
{
"name": "listTemplatesPage",
"signature": "async listTemplatesPage(query: TemplateListQuery)",
"bodySha256": "a0a7baafc68189e2daf93b970826f7d60ee60aa35662f48eeb7b4cb4e119b021",
"canonicalBodySha256": "2e836e44a397557b95cb0d978745df82c9c86cf77360157e78382ca71c0156a0",
"bodySha256": "c4b8553dd957e8471cd6ccb970162694f2db62141c66b5b3014220e0eeb866cc",
"canonicalBodySha256": "c4b8553dd957e8471cd6ccb970162694f2db62141c66b5b3014220e0eeb866cc",
"originalLines": [
1585,
1608
@@ -833,7 +833,7 @@
},
{
"name": "DrainageInfoListQuery",
"sha256": "9cd9cfe5af9422ed64d5d00071c9b4c58b0ae820c43eeb7dad604b67fd5f6fc1"
"sha256": "40708e60bfa39481897d00a8b2e99583effdffdd588efd99ee9b73687eae82ae"
},
{
"name": "CreateSignatureMaterialDto",
@@ -861,7 +861,7 @@
},
{
"name": "TemplateListQuery",
"sha256": "06c34488ffaa2d870d781fc2f666e294c408eefce1acb1ece11727f6aabc76c2"
"sha256": "9d38ad4689f0cda80c3d921a3a05e93cdf0b8a7696c782d5d9541966347bf78a"
},
{
"name": "ApplicationListQuery",
@@ -869,7 +869,7 @@
},
{
"name": "SignatureListQuery",
"sha256": "619cbff41cf63f18e5732ebfc8f899c5fd5c3394f7c54d9788e0561bc25eb027"
"sha256": "04cd16b62df3c381cd6c0ef873fb192e56fb745dd1adf1bdf550a8800aad2256"
},
{
"name": "GatewayDownstreamConnectionEventDto",