@agentunion/fastaun-browser 0.5.19 → 0.5.21

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 (154) hide show
  1. package/CHANGELOG.md +176 -78
  2. package/_packed_docs/CHANGELOG.md +176 -78
  3. package/_packed_docs/INDEX.md +288 -269
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +101 -95
  5. package/_packed_docs/agent.md/SCHEMA.md +7 -7
  6. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/344/270/216/346/215/242owner/347/274/226/346/216/222/346/226/271/346/241/210.md +530 -0
  7. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/345/256/214/346/225/264/350/256/276/350/256/241/344/270/216/345/256/236/346/226/275/350/256/241/345/210/222.md +685 -0
  8. package/_packed_docs/agent.md/working/agent.md-schema/344/270/216/347/255/276/345/217/221/351/252/214/347/255/276/346/265/201/347/250/213/346/276/204/346/270/205.md +349 -0
  9. package/_packed_docs/agent.md/working//346/234/254/345/234/260Docker/346/265/213/350/257/225Bug/346/270/205/345/215/225.md +40 -0
  10. package/_packed_docs/agent.md//350/277/234/347/250/213agent.md/347/274/223/345/255/230/344/270/216etag/351/200/217/344/274/240/346/226/271/346/241/210.md +11 -11
  11. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +372 -331
  12. package/_packed_docs/protocol/08-AUN-E2EE.md +17 -12
  13. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +676 -676
  14. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +8 -12
  15. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +445 -0
  16. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.0.md +161 -0
  17. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +666 -0
  18. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2113.0.md +233 -0
  19. package/_packed_docs/protocol/agent.md/SCHEMA.md +1 -1
  20. package/_packed_docs/sdk/0.5.21-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +368 -0
  21. package/_packed_docs/sdk/0.5.21-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +350 -0
  22. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +1 -1
  23. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +5 -1
  24. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +64 -64
  25. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +70 -63
  26. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +43 -40
  27. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +179 -19
  28. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +50 -49
  29. package/_packed_docs/sdk/09-group-rpc-manual.md +261 -254
  30. package/_packed_docs/sdk/09-message-rpc-manual.md +253 -160
  31. package/_packed_docs/sdk/09-storage-rpc-manual.md +18 -26
  32. package/_packed_docs/sdk/09-/345/207/255/350/257/201/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +71 -0
  33. package/_packed_docs/sdk/09-/347/273/204/347/273/207/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +88 -0
  34. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +105 -92
  35. package/_packed_docs/sdk/INDEX.md +197 -167
  36. package/_packed_docs/sdk/Ownership-SDK/345/256/236/347/216/260/346/214/207/345/215/227.md +169 -0
  37. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/227.md +349 -0
  38. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +930 -0
  39. package/_packed_docs/sdk/Ownership-SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +270 -0
  40. package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +363 -0
  41. package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +553 -0
  42. package/_packed_docs/sdk/Ownership2.1-TDD/345/210/206/351/230/266/346/256/265/345/256/236/346/226/275/350/256/241/345/210/222.md +708 -0
  43. package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +480 -0
  44. package/_packed_docs/sdk/Ownership/347/256/241/347/220/206/344/270/223/351/242/230.md +559 -0
  45. package/_packed_docs/sdk/ProtectedHeaders/347/224/250/346/263/225/344/270/223/351/242/230.md +299 -0
  46. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +173 -0
  47. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +211 -0
  48. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/345/256/236/347/216/260/347/247/273/346/244/215/346/214/207/345/215/227.md +331 -0
  49. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +207 -0
  50. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +252 -0
  51. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/345/256/236/346/226/275/350/256/241/345/210/222.md +156 -0
  52. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/346/226/271/346/241/210.md +273 -0
  53. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/350/257/246/347/273/206/350/256/276/350/256/241.md +211 -0
  54. package/dist/agent-md-schema.d.ts +16 -4
  55. package/dist/agent-md-schema.d.ts.map +1 -1
  56. package/dist/agent-md-schema.js +65 -30
  57. package/dist/agent-md-schema.js.map +1 -1
  58. package/dist/agent-md.d.ts +35 -3
  59. package/dist/agent-md.d.ts.map +1 -1
  60. package/dist/agent-md.js +384 -150
  61. package/dist/agent-md.js.map +1 -1
  62. package/dist/aid-store.d.ts +59 -0
  63. package/dist/aid-store.d.ts.map +1 -1
  64. package/dist/aid-store.js +202 -16
  65. package/dist/aid-store.js.map +1 -1
  66. package/dist/aid.d.ts +4 -1
  67. package/dist/aid.d.ts.map +1 -1
  68. package/dist/aid.js +24 -42
  69. package/dist/aid.js.map +1 -1
  70. package/dist/auth.d.ts +1 -1
  71. package/dist/auth.d.ts.map +1 -1
  72. package/dist/auth.js +89 -18
  73. package/dist/auth.js.map +1 -1
  74. package/dist/bundle.js +6410 -1848
  75. package/dist/cert-utils.d.ts +50 -1
  76. package/dist/cert-utils.d.ts.map +1 -1
  77. package/dist/cert-utils.js +123 -56
  78. package/dist/cert-utils.js.map +1 -1
  79. package/dist/client/delivery.d.ts +108 -16
  80. package/dist/client/delivery.d.ts.map +1 -1
  81. package/dist/client/delivery.js +1411 -184
  82. package/dist/client/delivery.js.map +1 -1
  83. package/dist/client/rpc-pipeline.d.ts +4 -1
  84. package/dist/client/rpc-pipeline.d.ts.map +1 -1
  85. package/dist/client/rpc-pipeline.js +203 -117
  86. package/dist/client/rpc-pipeline.js.map +1 -1
  87. package/dist/client/v2-e2ee.d.ts +22 -3
  88. package/dist/client/v2-e2ee.d.ts.map +1 -1
  89. package/dist/client/v2-e2ee.js +1312 -684
  90. package/dist/client/v2-e2ee.js.map +1 -1
  91. package/dist/client.d.ts +23 -2
  92. package/dist/client.d.ts.map +1 -1
  93. package/dist/client.js +419 -101
  94. package/dist/client.js.map +1 -1
  95. package/dist/config.d.ts +4 -0
  96. package/dist/config.d.ts.map +1 -1
  97. package/dist/config.js +1 -0
  98. package/dist/config.js.map +1 -1
  99. package/dist/crypto.d.ts.map +1 -1
  100. package/dist/crypto.js +8 -6
  101. package/dist/crypto.js.map +1 -1
  102. package/dist/events.d.ts +24 -3
  103. package/dist/events.d.ts.map +1 -1
  104. package/dist/events.js +171 -29
  105. package/dist/events.js.map +1 -1
  106. package/dist/facades.d.ts +42 -1
  107. package/dist/facades.d.ts.map +1 -1
  108. package/dist/facades.js +368 -12
  109. package/dist/facades.js.map +1 -1
  110. package/dist/index.d.ts +6 -4
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +1 -1
  113. package/dist/index.js.map +1 -1
  114. package/dist/keystore/index.d.ts +14 -1
  115. package/dist/keystore/index.d.ts.map +1 -1
  116. package/dist/keystore/indexeddb-identity-store.d.ts +4 -0
  117. package/dist/keystore/indexeddb-identity-store.d.ts.map +1 -1
  118. package/dist/keystore/indexeddb-identity-store.js +30 -13
  119. package/dist/keystore/indexeddb-identity-store.js.map +1 -1
  120. package/dist/keystore/indexeddb-shared.d.ts +19 -2
  121. package/dist/keystore/indexeddb-shared.d.ts.map +1 -1
  122. package/dist/keystore/indexeddb-shared.js +193 -6
  123. package/dist/keystore/indexeddb-shared.js.map +1 -1
  124. package/dist/keystore/indexeddb-token-store.d.ts +15 -2
  125. package/dist/keystore/indexeddb-token-store.d.ts.map +1 -1
  126. package/dist/keystore/indexeddb-token-store.js +308 -27
  127. package/dist/keystore/indexeddb-token-store.js.map +1 -1
  128. package/dist/org-protocol.d.ts +45 -0
  129. package/dist/org-protocol.d.ts.map +1 -1
  130. package/dist/org-protocol.js +827 -21
  131. package/dist/org-protocol.js.map +1 -1
  132. package/dist/ownership-v21.d.ts +43 -9
  133. package/dist/ownership-v21.d.ts.map +1 -1
  134. package/dist/ownership-v21.js +183 -81
  135. package/dist/ownership-v21.js.map +1 -1
  136. package/dist/ownership-workflow.d.ts +36 -1
  137. package/dist/ownership-workflow.d.ts.map +1 -1
  138. package/dist/ownership-workflow.js +610 -89
  139. package/dist/ownership-workflow.js.map +1 -1
  140. package/dist/seq-tracker.d.ts +2 -0
  141. package/dist/seq-tracker.d.ts.map +1 -1
  142. package/dist/seq-tracker.js +3 -2
  143. package/dist/seq-tracker.js.map +1 -1
  144. package/dist/tools/cross-sdk-agent.d.ts +61 -3
  145. package/dist/tools/cross-sdk-agent.d.ts.map +1 -1
  146. package/dist/tools/cross-sdk-agent.js +524 -45
  147. package/dist/tools/cross-sdk-agent.js.map +1 -1
  148. package/dist/transport.d.ts +4 -0
  149. package/dist/transport.d.ts.map +1 -1
  150. package/dist/transport.js +64 -30
  151. package/dist/transport.js.map +1 -1
  152. package/dist/version.d.ts +1 -1
  153. package/dist/version.js +1 -1
  154. package/package.json +1 -1
package/dist/config.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import type { JsonObject } from './types.js';
2
+ export declare const _INTERNAL_MESSAGE_FLOW_LIMITS: {
3
+ pullPageSize: number;
4
+ pullMaxInflight: number;
5
+ };
2
6
  export declare function normalizeInstanceId(value: unknown, field: string, opts?: {
3
7
  allowEmpty?: boolean;
4
8
  }): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAyB7C,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAUR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,SAAY,GAAG,MAAM,CAOhF;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAiBpC;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAcD,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAEtD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAuBnE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,eAAO,MAAM,6BAA6B;;;CAA4C,CAAC;AAwBvF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,CAUR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,SAAY,GAAG,MAAM,CAOhF;AAED,2CAA2C;AAC3C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAiBpC;AAED,mBAAmB;AACnB,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAcD,KAAK,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;AAEtD,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,CAuBnE"}
package/dist/config.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // ── AUN 配置 ──────────────────────────────────────────────
2
2
  import { ValidationError } from './errors.js';
3
+ export const _INTERNAL_MESSAGE_FLOW_LIMITS = { pullPageSize: 200, pullMaxInflight: 4 };
3
4
  const _noopLog = { error: () => { }, warn: () => { }, info: () => { }, debug: () => { } };
4
5
  const INSTANCE_ID_PATTERN = /^[A-Za-z0-9._-]{1,128}$/;
5
6
  // slot_id 允许额外包含 / : 空格作为分隔符,但不允许出现在首字符
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAGA,uBAAuB;AACvB,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMhD;AAED,uBAAuB;AACvB,iBAAS,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAO9C;AAED,iCAAiC;AACjC,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,0BAA0B;AAC1B,iBAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAOlD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,CAMrF;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY,CAKvF;AAED,iDAAiD;AACjD,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEpC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAsBF,qBAAqB,IAAI,OAAO,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAIF;;;;;;OAMG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA0B5B,mBAAmB,CACjB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI5B,uCAAuC;IACvC,cAAc,IAAI,MAAM;CAKzB;AAID;;;;GAIG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAmBjD;AAED,sCAAsC;AACtC,iBAAS,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,SAAK,GAAG,UAAU,CAuB9D;AAyFD,iBAAe,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK5E;AAED,iBAAe,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAS3E;AAID,iBAAe,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAapE;AAED,iBAAe,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOxF;AAED,iBAAe,cAAc,CAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC,CAQlB;AAGD,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,CAAC"}
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAGA,uBAAuB;AACvB,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMhD;AAED,uBAAuB;AACvB,iBAAS,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAO9C;AAED,iCAAiC;AACjC,iBAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOpE;AAED,0BAA0B;AAC1B,iBAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAOlD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,WAAW,CAMrF;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,eAAe,GAAG,YAAY,CAKvF;AAED,iDAAiD;AACjD,qBAAa,cAAc;IACzB,MAAM,CAAC,QAAQ,CAAC,SAAS,WAAW;IAEpC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC;QAChC,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAsBF,qBAAqB,IAAI,OAAO,CAAC;QAC/B,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAIF;;;;;;OAMG;IACG,cAAc,CAClB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA0B5B,mBAAmB,CACjB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAI5B,uCAAuC;IACvC,cAAc,IAAI,MAAM;CAKzB;AAID;;;;GAIG;AACH,iBAAS,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAmBjD;AAED,sCAAsC;AACtC,iBAAS,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,SAAK,GAAG,UAAU,CAsB9D;AAyFD,iBAAe,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAK5E;AAED,iBAAe,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAS3E;AAID,iBAAe,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAapE;AAED,iBAAe,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAOxF;AAED,iBAAe,cAAc,CAC3B,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,OAAO,CAAC,CAQlB;AAGD,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,cAAc,EACd,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,cAAc,GACf,CAAC"}
package/dist/crypto.js CHANGED
@@ -127,22 +127,24 @@ function p1363ToDer(p1363) {
127
127
  }
128
128
  /** 将 DER 格式 ECDSA 签名转为 IEEE P1363。 */
129
129
  function derToP1363(der, coordLen = 32) {
130
- if (der[0] !== 0x30)
131
- throw new Error('invalid DER signature: missing SEQUENCE');
130
+ if (der.length < 8 || der[0] !== 0x30 || der[1] > 0x7f || der[1] !== der.length - 2)
131
+ throw new Error('invalid DER signature: invalid SEQUENCE');
132
132
  let offset = 2;
133
- if (der[1] & 0x80) {
134
- const lenBytes = der[1] & 0x7f;
135
- offset = 2 + lenBytes;
136
- }
137
133
  if (der[offset] !== 0x02)
138
134
  throw new Error('invalid DER signature: missing r');
139
135
  const rLen = der[offset + 1];
140
136
  let r = der.slice(offset + 2, offset + 2 + rLen);
137
+ if (!rLen || rLen > 33 || offset + 2 + rLen > der.length)
138
+ throw new Error('invalid DER signature: invalid r');
141
139
  offset += 2 + rLen;
142
140
  if (der[offset] !== 0x02)
143
141
  throw new Error('invalid DER signature: missing s');
144
142
  const sLen = der[offset + 1];
145
143
  let s = der.slice(offset + 2, offset + 2 + sLen);
144
+ if (!sLen || sLen > 33 || offset + 2 + sLen !== der.length)
145
+ throw new Error('invalid DER signature: invalid s');
146
+ if (r.every((byte) => byte === 0) || s.every((byte) => byte === 0) || r[0] === 0 && r.length > 1 && !(r[1] & 0x80) || s[0] === 0 && s.length > 1 && !(s[1] & 0x80) || r[0] & 0x80 || s[0] & 0x80)
147
+ throw new Error('invalid DER signature: non-canonical integer');
146
148
  while (r.length > 1 && r[0] === 0)
147
149
  r = r.slice(1);
148
150
  while (s.length > 1 && s[0] === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -5,6 +5,10 @@ export type EventPayload = JsonValue | Error | {
5
5
  [key: string]: JsonValue | Error;
6
6
  };
7
7
  export type EventHandler = (payload: EventPayload) => void | Promise<void>;
8
+ export type ApplicationMessageReservation = {
9
+ readonly weight: number;
10
+ release: () => void;
11
+ };
8
12
  type QueuedTask = () => void | Promise<void>;
9
13
  /** 订阅句柄,调用 unsubscribe() 取消监听 */
10
14
  export declare class Subscription {
@@ -19,13 +23,29 @@ export declare class Subscription {
19
23
  }
20
24
  /** 事件调度器:支持订阅、取消订阅、异步 FIFO 发布(同步/异步处理函数) */
21
25
  export declare class EventDispatcher {
26
+ private _readStateIdentity;
22
27
  private _organizationEventIds;
23
28
  private _eventIdentity;
24
29
  private _log;
25
30
  setLogger(log: ModuleLogger): void;
26
31
  setEventIdentity(aid: string): void;
32
+ constructor(_readStateIdentity?: () => string);
33
+ private _identityScoped;
27
34
  private _app;
28
35
  private _protocol;
36
+ private _queuedMessageCount;
37
+ private _messageAdmissionWaiters;
38
+ private _messageAdmissionTail;
39
+ private _messageCapacityChanged;
40
+ private _messageCapacityResolve;
41
+ private _messageReservations;
42
+ private _messageQueueCapacity;
43
+ private _messageWeight;
44
+ private _messageQueueFull;
45
+ private _notifyMessageCapacity;
46
+ _reserveMessageCapacity(weight: number, signal?: AbortSignal): Promise<ApplicationMessageReservation>;
47
+ private _enqueueAfterAdmission;
48
+ private _queueEvent;
29
49
  /**
30
50
  * 订阅事件,返回订阅句柄。
31
51
  *
@@ -48,12 +68,13 @@ export declare class EventDispatcher {
48
68
  publish(event: string, payload: EventPayload): Promise<void>;
49
69
  /** 发布协议事件。调用方 await 时等待协议处理完成。 */
50
70
  publishProtocol(event: string, payload: EventPayload): Promise<void>;
51
- _publishAndWait(event: string, payload: EventPayload): Promise<void>;
71
+ _snapshotApplicationHandlers(events: string[]): Map<string, EventHandler[]>;
72
+ _publishAndWait(event: string, payload: EventPayload, handlers?: EventHandler[], reservation?: ApplicationMessageReservation, guard?: () => boolean): Promise<void>;
52
73
  private _publish;
53
74
  /** 将事件放入异步 FIFO 队列,不等待处理器执行完成。 */
54
- enqueue(event: string, payload: EventPayload): void;
75
+ enqueue(event: string, payload: EventPayload, guard?: () => boolean): void;
55
76
  /** 将协议事件放入独立异步 FIFO 队列,不等待处理器执行完成。 */
56
- enqueueProtocol(event: string, payload: EventPayload): void;
77
+ enqueueProtocol(event: string, payload: EventPayload, guard?: () => boolean): void;
57
78
  private _enqueue;
58
79
  /** 将非事件 observer 放入同一 FIFO 队列。 */
59
80
  enqueueTask(task: QueuedTask): void;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,eAAe;AACf,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,KAAK,GACL;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;CAAE,CAAC;AAEzC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAQ3E,KAAK,UAAU,GAAG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAoD7C,iCAAiC;AACjC,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,OAAO,CAAQ;gBAEX,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,UAAQ;IAO/F,WAAW;IACX,WAAW,IAAI,IAAI;CAKpB;AAED,4CAA4C;AAC5C,qBAAa,eAAe;IAC1B,OAAO,CAAC,qBAAqB,CAAqB;IAClD,OAAO,CAAC,cAAc,CAAM;IAC5B,OAAO,CAAC,IAAI,CAA0B;IACtC,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAClC,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAEnC,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,SAAS,CAAkC;IAEnD;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;IAI7D,qBAAqB;IACrB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY;IAIrE,OAAO,CAAC,UAAU;IAOlB,WAAW;IACX,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,UAAQ,GAAG,IAAI;IAYzE,gBAAgB;IAChB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI/D;;;OAGG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,kCAAkC;IAC5B,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAe5D,QAAQ;IA2BtB,kCAAkC;IAClC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAInD,sCAAsC;IACtC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAI3D,OAAO,CAAC,QAAQ;IAShB,kCAAkC;IAClC,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAInC,kCAAkC;IAClC,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI3C,OAAO,CAAC,YAAY;IAYpB,gCAAgC;IAC1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,kCAAkC;IAC5B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YAItB,MAAM;IAUpB,yCAAyC;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,mBAAmB;IACb,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YAItB,MAAM;IAMpB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;YASP,MAAM;IA+BpB,iDAAiD;IACjD,oBAAoB,IAAI,OAAO;YAIjB,YAAY;YAsBZ,WAAW;CAsC1B"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/events.js CHANGED
@@ -1,5 +1,8 @@
1
1
  // ── 事件调度器 ──────────────────────────────────────────
2
+ import { _INTERNAL_MESSAGE_FLOW_LIMITS } from './config.js';
2
3
  const _noopLog = { error: () => { }, warn: () => { }, info: () => { }, debug: () => { } };
4
+ const APPLICATION_MESSAGE_EVENTS = new Set(['message.received', 'group.message_created', 'message.recalled', 'group.message_recalled', 'group.changed']);
5
+ const APPLICATION_BATCH_EVENTS = new Set(['message.batch', 'group.message_batch', 'group.event_batch']);
3
6
  function createQueueState() {
4
7
  return {
5
8
  handlers: new Map(),
@@ -56,13 +59,128 @@ export class Subscription {
56
59
  }
57
60
  /** 事件调度器:支持订阅、取消订阅、异步 FIFO 发布(同步/异步处理函数) */
58
61
  export class EventDispatcher {
62
+ _readStateIdentity;
59
63
  _organizationEventIds = new Set();
60
64
  _eventIdentity = '';
61
65
  _log = _noopLog;
62
66
  setLogger(log) { this._log = log; }
63
67
  setEventIdentity(aid) { this._eventIdentity = aid; }
68
+ constructor(_readStateIdentity = () => '') {
69
+ this._readStateIdentity = _readStateIdentity;
70
+ }
71
+ _identityScoped(event) {
72
+ return event === 'read_state_sync'
73
+ || event === 'message.read_changed'
74
+ || event === 'group.read_changed'
75
+ || event === '_raw.message.read_changed'
76
+ || event === '_raw.group.read_changed';
77
+ }
64
78
  _app = createQueueState();
65
79
  _protocol = createQueueState();
80
+ _queuedMessageCount = 0;
81
+ _messageAdmissionWaiters = 0;
82
+ _messageAdmissionTail = Promise.resolve();
83
+ _messageCapacityChanged = null;
84
+ _messageCapacityResolve = null;
85
+ _messageReservations = new WeakSet();
86
+ _messageQueueCapacity() {
87
+ return _INTERNAL_MESSAGE_FLOW_LIMITS.pullPageSize * _INTERNAL_MESSAGE_FLOW_LIMITS.pullMaxInflight;
88
+ }
89
+ _messageWeight(event, payload) {
90
+ if (APPLICATION_MESSAGE_EVENTS.has(event))
91
+ return 1;
92
+ if (!APPLICATION_BATCH_EVENTS.has(event) || !payload || typeof payload !== 'object' || Array.isArray(payload))
93
+ return 0;
94
+ const items = payload.items;
95
+ return Array.isArray(items) ? items.length : 0;
96
+ }
97
+ _messageQueueFull(event, payload) {
98
+ const weight = this._messageWeight(event, payload);
99
+ return weight > 0 && (this._messageAdmissionWaiters > 0 || this._queuedMessageCount + weight > this._messageQueueCapacity());
100
+ }
101
+ _notifyMessageCapacity() {
102
+ const resolve = this._messageCapacityResolve;
103
+ this._messageCapacityChanged = null;
104
+ this._messageCapacityResolve = null;
105
+ resolve?.();
106
+ }
107
+ async _reserveMessageCapacity(weight, signal) {
108
+ if (weight > this._messageQueueCapacity())
109
+ throw new Error('application message queue full');
110
+ const previous = this._messageAdmissionTail;
111
+ let releaseAdmission;
112
+ this._messageAdmissionTail = new Promise((resolve) => { releaseAdmission = resolve; });
113
+ this._messageAdmissionWaiters += 1;
114
+ let abort;
115
+ const aborted = new Promise((resolve) => { abort = resolve; });
116
+ signal?.addEventListener('abort', abort, { once: true });
117
+ try {
118
+ await previous;
119
+ while (!signal?.aborted && !this._app.closing && !this._app.closed && this._queuedMessageCount + weight > this._messageQueueCapacity()) {
120
+ this._messageCapacityChanged ??= new Promise((resolve) => { this._messageCapacityResolve = resolve; });
121
+ await Promise.race([this._messageCapacityChanged, aborted]);
122
+ }
123
+ if (signal?.aborted || this._app.closing || this._app.closed)
124
+ throw new Error('delivery invalidated');
125
+ this._queuedMessageCount += weight;
126
+ const reservation = { weight, release: () => {
127
+ if (!this._messageReservations.delete(reservation))
128
+ return;
129
+ this._queuedMessageCount -= weight;
130
+ this._notifyMessageCapacity();
131
+ } };
132
+ this._messageReservations.add(reservation);
133
+ return reservation;
134
+ }
135
+ finally {
136
+ signal?.removeEventListener('abort', abort);
137
+ this._messageAdmissionWaiters -= 1;
138
+ releaseAdmission();
139
+ }
140
+ }
141
+ async _enqueueAfterAdmission(event, payload, strict, handlers, guard) {
142
+ const weight = this._messageWeight(event, payload);
143
+ if (weight > this._messageQueueCapacity())
144
+ throw new Error('application message queue full');
145
+ const previous = this._messageAdmissionTail;
146
+ let release;
147
+ this._messageAdmissionTail = new Promise((resolve) => { release = resolve; });
148
+ this._messageAdmissionWaiters += 1;
149
+ try {
150
+ await previous;
151
+ while (this._queuedMessageCount + weight > this._messageQueueCapacity()) {
152
+ if (this._app.closing || this._app.closed)
153
+ throw new Error('event dispatcher closed');
154
+ this._messageCapacityChanged ??= new Promise((resolve) => { this._messageCapacityResolve = resolve; });
155
+ await this._messageCapacityChanged;
156
+ }
157
+ if (this._app.closing || this._app.closed)
158
+ throw new Error('event dispatcher closed');
159
+ return this._queueEvent(this._app, event, cloneEventPayload(payload), strict, guard, true, handlers);
160
+ }
161
+ finally {
162
+ this._messageAdmissionWaiters -= 1;
163
+ release();
164
+ }
165
+ }
166
+ _queueEvent(state, event, payload, strict = false, guard, admitted = false, handlers, reserved = false) {
167
+ const message = state === this._app && !reserved ? this._messageWeight(event, payload) : 0;
168
+ if (message) {
169
+ if (this._queuedMessageCount + message > this._messageQueueCapacity() || (!admitted && this._messageAdmissionWaiters > 0))
170
+ throw new Error('application message queue full');
171
+ this._queuedMessageCount += message;
172
+ }
173
+ let resolve;
174
+ let reject;
175
+ const completed = new Promise((done, fail) => { resolve = done; reject = fail; });
176
+ const identity = this._identityScoped(event) ? this._readStateIdentity() : null;
177
+ const effectiveGuard = guard ?? (identity === null ? undefined : () => this._readStateIdentity() === identity);
178
+ state.queue.push({ run: () => this.dispatchNow(state, event, payload, strict, effectiveGuard, handlers), resolve, reject: strict ? reject : undefined, guard: effectiveGuard, message });
179
+ if (state.drainPromise === null)
180
+ state.drainPromise = new Promise((done) => { state.drainResolve = done; });
181
+ this.scheduleDrain(state);
182
+ return completed;
183
+ }
66
184
  /**
67
185
  * 订阅事件,返回订阅句柄。
68
186
  *
@@ -112,22 +230,30 @@ export class EventDispatcher {
112
230
  async publishProtocol(event, payload) {
113
231
  await this._publish(this._protocol, event, payload);
114
232
  }
115
- async _publishAndWait(event, payload) {
233
+ _snapshotApplicationHandlers(events) {
234
+ return new Map(events.map((event) => [event, [...(this._app.handlers.get(event) ?? [])]]));
235
+ }
236
+ async _publishAndWait(event, payload, handlers, reservation, guard) {
116
237
  const state = this._app;
117
238
  if (state.closed || state.closing)
118
239
  throw new Error('event dispatcher closed');
119
- let resolve;
120
- let reject;
121
- const completed = new Promise((done, fail) => { resolve = done; reject = fail; });
122
- const queuedPayload = cloneEventPayload(payload);
123
- state.queue.push({ run: () => this.dispatchNow(state, event, queuedPayload, true), resolve, reject });
124
- if (state.drainPromise === null) {
125
- state.drainPromise = new Promise((done) => { state.drainResolve = done; });
240
+ if (state.synchronousHandlerDepth > 0)
241
+ throw new Error('delivery cannot wait inside an application handler');
242
+ if (reservation) {
243
+ if (!this._messageReservations.has(reservation) || this._messageWeight(event, payload) > reservation.weight)
244
+ throw new Error('delivery reservation invalid');
245
+ await this._queueEvent(state, event, cloneEventPayload(payload), true, guard, true, handlers, true);
246
+ return;
126
247
  }
127
- this.scheduleDrain(state);
128
- await completed;
248
+ if (this._messageQueueFull(event, payload)) {
249
+ if (this._protocol.synchronousHandlerDepth > 0)
250
+ throw new Error('application message queue full');
251
+ await this._enqueueAfterAdmission(event, payload, true, handlers, guard);
252
+ return;
253
+ }
254
+ await this._queueEvent(state, event, cloneEventPayload(payload), true, guard, false, handlers);
129
255
  }
130
- async _publish(state, event, payload) {
256
+ async _publish(state, event, payload, guard) {
131
257
  if (state.closed || state.closing)
132
258
  return;
133
259
  if (state === this._app && (event.startsWith('org.member.') || event.startsWith('org.lifecycle.') || event.startsWith('credential.')) && payload && typeof payload === 'object' && !Array.isArray(payload)) {
@@ -141,12 +267,10 @@ export class EventDispatcher {
141
267
  this._organizationEventIds.delete(this._organizationEventIds.values().next().value);
142
268
  }
143
269
  }
144
- let resolveItem;
145
- const itemDone = new Promise((resolve) => { resolveItem = resolve; });
146
- state.queue.push({
147
- run: () => this.dispatchNow(state, event, payload),
148
- resolve: resolveItem,
149
- });
270
+ if (state === this._app && this._messageQueueFull(event, payload)) {
271
+ throw new Error('application message queue full');
272
+ }
273
+ const itemDone = this._queueEvent(state, event, payload, false, guard);
150
274
  // Handler 内部重新发布只入队即可;等待自身完成会与当前 handler 自锁。
151
275
  if (state.handlerDepth > 0)
152
276
  return;
@@ -159,17 +283,21 @@ export class EventDispatcher {
159
283
  await itemDone;
160
284
  }
161
285
  /** 将事件放入异步 FIFO 队列,不等待处理器执行完成。 */
162
- enqueue(event, payload) {
163
- this._enqueue(this._app, event, payload);
286
+ enqueue(event, payload, guard) {
287
+ this._enqueue(this._app, event, payload, guard);
164
288
  }
165
289
  /** 将协议事件放入独立异步 FIFO 队列,不等待处理器执行完成。 */
166
- enqueueProtocol(event, payload) {
167
- this._enqueue(this._protocol, event, payload);
290
+ enqueueProtocol(event, payload, guard) {
291
+ this._enqueue(this._protocol, event, payload, guard);
168
292
  }
169
- _enqueue(state, event, payload) {
170
- const publish = state === this._protocol
171
- ? this.publishProtocol(event, payload)
172
- : this.publish(event, payload);
293
+ _enqueue(state, event, payload, guard) {
294
+ if (state.closed || state.closing)
295
+ return;
296
+ if (state === this._app && this._messageQueueFull(event, payload))
297
+ throw new Error('application message queue full');
298
+ const publish = guard !== undefined
299
+ ? this._publish(state, event, payload, guard)
300
+ : state === this._protocol ? this.publishProtocol(event, payload) : this.publish(event, payload);
173
301
  void publish.catch((exc) => {
174
302
  this._log.warn(`event ${event} enqueue failed:`, exc);
175
303
  });
@@ -206,6 +334,8 @@ export class EventDispatcher {
206
334
  if (state.closed)
207
335
  return;
208
336
  state.closing = true;
337
+ if (state === this._app)
338
+ this._notifyMessageCapacity();
209
339
  // 事件 handler 在同步调用段内触发 close 时,等待当前 drain 会自锁。
210
340
  // 由 drain 的 finally 在处理完当前队列后完成关闭。
211
341
  if (state.synchronousHandlerDepth > 0)
@@ -227,6 +357,11 @@ export class EventDispatcher {
227
357
  return;
228
358
  if (state.drainPromise !== null)
229
359
  await state.drainPromise;
360
+ if (state === this._app && this._messageAdmissionWaiters > 0) {
361
+ await this._messageAdmissionTail;
362
+ if (state.drainPromise !== null)
363
+ await state.drainPromise;
364
+ }
230
365
  await Promise.resolve();
231
366
  }
232
367
  finishClose(state) {
@@ -251,8 +386,13 @@ export class EventDispatcher {
251
386
  try {
252
387
  while (state.queue.length > 0) {
253
388
  const item = state.queue.shift();
389
+ if (item.message) {
390
+ this._queuedMessageCount -= item.message;
391
+ this._notifyMessageCapacity();
392
+ }
254
393
  try {
255
- await item.run();
394
+ if (!item.guard || item.guard())
395
+ await item.run();
256
396
  }
257
397
  catch (exc) {
258
398
  this._log.warn('event dispatch failed:', exc);
@@ -307,15 +447,17 @@ export class EventDispatcher {
307
447
  state.handlerDepth -= 1;
308
448
  }
309
449
  }
310
- async dispatchNow(state, event, payload, strict = false) {
450
+ async dispatchNow(state, event, payload, strict = false, guard, snapshot) {
311
451
  // 浅拷贝 handler 列表:防止迭代过程中 subscribe/unsubscribe 修改原数组导致跳过或重复执行。
312
- const handlers = [...(state.handlers.get(event) ?? [])];
452
+ const handlers = snapshot ?? [...(state.handlers.get(event) ?? [])];
313
453
  const applicationPayload = state === this._protocol && this._app.handlers.has(event)
314
454
  ? cloneEventPayload(payload)
315
455
  : undefined;
316
456
  let failed = false;
317
457
  let failure;
318
458
  for (const handler of handlers) {
459
+ if (guard && !guard())
460
+ break;
319
461
  let result;
320
462
  state.handlerDepth += 1;
321
463
  try {
@@ -347,7 +489,7 @@ export class EventDispatcher {
347
489
  }
348
490
  }
349
491
  if (applicationPayload !== undefined) {
350
- this.enqueue(event, applicationPayload);
492
+ this._enqueue(this._app, event, applicationPayload, guard);
351
493
  }
352
494
  if (strict && failed)
353
495
  throw failure;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}