@agentunion/fastaun 0.4.12 → 0.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.
Files changed (154) hide show
  1. package/CHANGELOG.md +488 -366
  2. package/_packed_docs/CHANGELOG.md +488 -366
  3. package/_packed_docs/INDEX.md +111 -53
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +43 -29
  5. package/_packed_docs/agent.md/SCHEMA.md +2 -0
  6. package/_packed_docs/agent.md/examples/codeagent-claudecode.md +2 -0
  7. package/_packed_docs/agent.md/examples/human-developer.md +2 -0
  8. package/_packed_docs/agent.md/examples/openclaw-lobster.md +2 -0
  9. package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +2 -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 +2 -0
  11. package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +265 -686
  12. package/_packed_docs/collab-gateway-boundary-test-report.md +164 -0
  13. package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +2 -0
  14. package/_packed_docs/design/AUNClient/346/213/206/345/210/206/351/207/215/346/236/204/346/211/247/350/241/214/346/226/271/346/241/210.md +2 -0
  15. package/_packed_docs/design/E2EE_V2/347/256/200/345/214/226/344/270/2721DH/345/212/240Per-AID_Wrap/346/226/271/346/241/210.md +2 -0
  16. package/_packed_docs/design//350/267/250/350/257/255/350/250/200/345/256/271/345/231/250E2E/346/265/213/350/257/225/346/226/271/346/241/210.md +2 -0
  17. package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -0
  18. package/_packed_docs/protocol/00A-/350/256/276/350/256/241/345/216/237/345/210/231-/344/270/272Agent/350/200/214/347/224/237.md +2 -0
  19. package/_packed_docs/protocol/01-/350/272/253/344/273/275/344/270/216/345/207/255/350/257/201/345/215/217/350/256/256-auth.md +2 -0
  20. package/_packed_docs/protocol/02-/350/257/201/344/271/246/344/270/216/344/277/241/344/273/273/344/275/223/347/263/273.md +2 -0
  21. package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +2 -0
  22. package/_packed_docs/protocol/04-Peer-/345/255/220/345/215/217/350/256/256.md +2 -0
  23. package/_packed_docs/protocol/05-Relay-/345/255/220/345/215/217/350/256/256.md +2 -0
  24. package/_packed_docs/protocol/07-/351/224/231/350/257/257/347/240/201/344/270/216/347/212/266/346/200/201/346/234/272.md +2 -0
  25. package/_packed_docs/protocol/08-AUN-E2EE-Group.md +2 -0
  26. package/_packed_docs/protocol/08-AUN-E2EE.md +2 -0
  27. package/_packed_docs/protocol/09-/345/256/211/345/205/250/350/200/203/350/231/221.md +2 -0
  28. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +28 -85
  29. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +49 -0
  30. package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +2 -0
  31. package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +2 -0
  32. package/_packed_docs/protocol/14-/344/272/244/344/272/222/346/234/272/345/210/266-/345/223/215/345/272/224/346/250/241/345/274/217/344/270/216/350/207/252/344/270/273/346/250/241/345/274/217.md +2 -0
  33. package/_packed_docs/protocol/15-/347/246/273/347/272/277/346/216/250/351/200/201/351/200/232/347/237/245/345/215/217/350/256/256.md +2 -0
  34. package/_packed_docs/protocol/README.md +2 -0
  35. package/_packed_docs/protocol/agent.md/SCHEMA.md +2 -0
  36. package/_packed_docs/protocol/agent.md/examples/codeagent-claudecode.md +2 -0
  37. package/_packed_docs/protocol/agent.md/examples/human-developer.md +2 -0
  38. package/_packed_docs/protocol/agent.md/examples/openclaw-lobster.md +2 -0
  39. package/_packed_docs/protocol/aun-docs-guide.md +2 -0
  40. package/_packed_docs/protocol/index.md +3 -1
  41. package/_packed_docs/protocol//350/215/211/346/241/210-agent.md/347/255/276/345/220/215/345/215/217/350/256/256.md +2 -0
  42. package/_packed_docs/protocol//350/215/211/346/241/210-/346/213/222/347/273/235/344/277/241/345/217/267/345/215/217/350/256/256.md +2 -0
  43. package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +2 -0
  44. package/_packed_docs/protocol//351/231/204/345/275/225B-/346/211/251/345/261/225/346/200/247/346/214/207/345/215/227.md +2 -0
  45. package/_packed_docs/protocol//351/231/204/345/275/225C-/347/247/201/351/222/245/347/256/241/347/220/206/344/270/216/350/272/253/344/273/275/346/201/242/345/244/215.md +2 -0
  46. package/_packed_docs/protocol//351/231/204/345/275/225D-Root_CA_/346/262/273/347/220/206/346/234/272/345/210/266.md +2 -0
  47. package/_packed_docs/protocol//351/231/204/345/275/225E-Root_CA_/345/207/206/345/205/245/346/265/201/347/250/213.md +2 -0
  48. package/_packed_docs/protocol//351/231/204/345/275/225F-Issuer_CA_/347/224/263/350/257/267/346/265/201/347/250/213.md +2 -0
  49. package/_packed_docs/protocol//351/231/204/345/275/225G-AID_/345/255/244/345/204/277/351/242/204/351/230/262/344/270/216/346/225/221/346/217/264/346/234/272/345/210/266.md +2 -0
  50. package/_packed_docs/protocol//351/231/204/345/275/225H-Identity/346/234/215/345/212/241/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  51. package/_packed_docs/protocol//351/231/204/345/275/225I-/350/267/250/345/237/237/346/266/210/346/201/257/350/267/257/347/224/261/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  52. package/_packed_docs/protocol//351/231/204/345/275/225J-/345/256/242/346/210/267/347/253/257/346/216/245/345/205/245/347/244/272/344/276/213.md +2 -0
  53. package/_packed_docs/protocol//351/231/204/345/275/225K-Agent_Web/345/217/221/347/216/260/345/215/217/350/256/256.md +2 -0
  54. package/_packed_docs/protocol//351/231/204/345/275/225L-E2EE/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  55. package/_packed_docs/protocol//351/231/204/345/275/225M-JWT/350/256/244/350/257/201/345/256/236/347/216/260/346/214/207/345/215/227.md +2 -0
  56. package/_packed_docs/protocol//351/231/204/345/275/225N-/345/210/206/345/270/203/345/274/217Trace/345/215/217/350/256/256.md +2 -0
  57. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +2 -0
  58. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -0
  59. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -0
  60. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -0
  61. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +2 -0
  62. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +283 -267
  63. package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +4 -1
  64. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
  65. package/_packed_docs/sdk/09-collab-rpc-manual.md +550 -0
  66. package/_packed_docs/sdk/09-custody-api-manual.md +2 -0
  67. package/_packed_docs/sdk/09-group-rpc-manual.md +197 -445
  68. package/_packed_docs/sdk/09-message-rpc-manual.md +8 -7
  69. package/_packed_docs/sdk/09-meta-rpc-manual.md +2 -0
  70. package/_packed_docs/sdk/09-payload-reference.md +2 -0
  71. package/_packed_docs/sdk/09-proxy-rpc-manual.md +2 -0
  72. package/_packed_docs/sdk/09-storage-rpc-manual.md +952 -279
  73. package/_packed_docs/sdk/09-stream-rpc-manual.md +2 -0
  74. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +33 -20
  75. package/_packed_docs/sdk/E2EE_V2/346/266/210/346/201/257/351/200/232/344/277/241/346/227/266/345/272/217/345/233/276.md +2 -0
  76. package/_packed_docs/sdk/INDEX.md +46 -29
  77. package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +2 -0
  78. package/_packed_docs/sdk/README.md +17 -15
  79. package/dist/aid-store.d.ts +25 -0
  80. package/dist/aid-store.js +80 -0
  81. package/dist/aid-store.js.map +1 -1
  82. package/dist/auth.d.ts +2 -0
  83. package/dist/auth.js +99 -8
  84. package/dist/auth.js.map +1 -1
  85. package/dist/client/delivery.d.ts +5 -0
  86. package/dist/client/delivery.js +169 -8
  87. package/dist/client/delivery.js.map +1 -1
  88. package/dist/client/rpc-pipeline.js +58 -26
  89. package/dist/client/rpc-pipeline.js.map +1 -1
  90. package/dist/client/v2-e2ee.js +67 -8
  91. package/dist/client/v2-e2ee.js.map +1 -1
  92. package/dist/client.d.ts +29 -0
  93. package/dist/client.js +301 -20
  94. package/dist/client.js.map +1 -1
  95. package/dist/collab/client.d.ts +38 -0
  96. package/dist/collab/client.js +124 -0
  97. package/dist/collab/client.js.map +1 -0
  98. package/dist/collab/errors.d.ts +15 -0
  99. package/dist/collab/errors.js +60 -0
  100. package/dist/collab/errors.js.map +1 -0
  101. package/dist/collab/index.d.ts +3 -0
  102. package/dist/collab/index.js +4 -0
  103. package/dist/collab/index.js.map +1 -0
  104. package/dist/collab/types.d.ts +110 -0
  105. package/dist/collab/types.js +2 -0
  106. package/dist/collab/types.js.map +1 -0
  107. package/dist/crypto.d.ts +2 -0
  108. package/dist/crypto.js +6 -0
  109. package/dist/crypto.js.map +1 -1
  110. package/dist/errors.d.ts +8 -0
  111. package/dist/errors.js +30 -1
  112. package/dist/errors.js.map +1 -1
  113. package/dist/facades.d.ts +89 -0
  114. package/dist/facades.js +133 -0
  115. package/dist/facades.js.map +1 -0
  116. package/dist/group-fs.d.ts +105 -0
  117. package/dist/group-fs.js +467 -0
  118. package/dist/group-fs.js.map +1 -0
  119. package/dist/group-resources.d.ts +31 -0
  120. package/dist/group-resources.js +84 -0
  121. package/dist/group-resources.js.map +1 -0
  122. package/dist/index.d.ts +6 -2
  123. package/dist/index.js +8 -1
  124. package/dist/index.js.map +1 -1
  125. package/dist/register-flow.d.ts +1 -0
  126. package/dist/register-flow.js +3 -0
  127. package/dist/register-flow.js.map +1 -1
  128. package/dist/service-proxy.d.ts +1 -0
  129. package/dist/service-proxy.js +17 -4
  130. package/dist/service-proxy.js.map +1 -1
  131. package/dist/storage/errors.d.ts +27 -0
  132. package/dist/storage/errors.js +65 -0
  133. package/dist/storage/errors.js.map +1 -0
  134. package/dist/storage/index.d.ts +1 -0
  135. package/dist/storage/index.js +2 -0
  136. package/dist/storage/index.js.map +1 -0
  137. package/dist/storage/lowlevel.d.ts +313 -0
  138. package/dist/storage/lowlevel.js +464 -0
  139. package/dist/storage/lowlevel.js.map +1 -0
  140. package/dist/storage/types.d.ts +58 -0
  141. package/dist/storage/types.js +116 -0
  142. package/dist/storage/types.js.map +1 -0
  143. package/dist/storage/vfs.d.ts +147 -0
  144. package/dist/storage/vfs.js +489 -0
  145. package/dist/storage/vfs.js.map +1 -0
  146. package/dist/tools/cross-sdk-agent.js +421 -1
  147. package/dist/tools/cross-sdk-agent.js.map +1 -1
  148. package/dist/transport.d.ts +3 -0
  149. package/dist/transport.js +76 -22
  150. package/dist/transport.js.map +1 -1
  151. package/dist/version.d.ts +1 -1
  152. package/dist/version.js +1 -1
  153. package/dist/version.js.map +1 -1
  154. package/package.json +1 -1
@@ -38,26 +38,36 @@ const SIGNED_METHODS = new Set([
38
38
  'group.leave', 'group.remove_member', 'group.update_rules',
39
39
  'group.update', 'group.update_announcement',
40
40
  'group.update_join_requirements', 'group.set_role',
41
- 'group.transfer_owner', 'group.review_join_request',
41
+ 'group.transfer_owner', 'group.bind_group_aid', 'group.complete_transfer',
42
+ 'group.review_join_request',
42
43
  'group.batch_review_join_request',
43
44
  'group.request_join', 'group.use_invite_code',
44
45
  'group.thought.put',
45
46
  'message.thought.put',
46
47
  'group.set_settings',
47
- 'group.resources.put', 'group.resources.create_folder',
48
- 'group.resources.rename', 'group.resources.move',
49
- 'group.resources.mount_object', 'group.resources.update',
50
- 'group.resources.delete', 'group.resources.cleanup_by_storage_ref',
51
- 'group.resources.request_add', 'group.resources.request_mount_object',
52
- 'group.resources.direct_add', 'group.resources.approve_request',
53
- 'group.resources.reject_request', 'group.resources.unmount',
54
- 'group.resources.get_access', 'group.resources.resolve_access_ticket',
55
48
  'storage.put_object', 'storage.delete_object', 'storage.get_by_share',
56
49
  'storage.create_share_link', 'storage.revoke_share_link',
57
50
  'storage.create_upload_session', 'storage.complete_upload',
58
51
  'storage.create_folder', 'storage.rename_folder', 'storage.move_folder',
59
52
  'storage.delete_folder', 'storage.move_object', 'storage.copy_object',
60
53
  'storage.batch_delete', 'storage.set_object_meta', 'storage.append_object',
54
+ 'storage.set_acl', 'storage.remove_acl', 'storage.set_visibility',
55
+ 'storage.check_access',
56
+ 'storage.issue_token', 'storage.revoke_token',
57
+ 'storage.create_symlink', 'storage.atomic_repoint',
58
+ 'storage.rename_symlink', 'storage.delete_symlink',
59
+ 'storage.fs.mkdir', 'storage.fs.remove', 'storage.fs.rename', 'storage.fs.copy',
60
+ 'storage.fs.mount', 'storage.fs.approve', 'storage.fs.reject', 'storage.fs.unmount',
61
+ 'storage.fs.invalidate_membership',
62
+ 'storage.volume.create', 'storage.volume.renew', 'storage.volume.expire_due',
63
+ 'group.fs.mkdir', 'group.fs.rm', 'group.fs.cp', 'group.fs.mv',
64
+ 'group.fs.mount', 'group.fs.umount',
65
+ 'group.fs.check_upload', 'group.fs.create_upload_session',
66
+ 'group.fs.complete_upload', 'group.fs.create_download_ticket',
67
+ 'collab.create', 'collab.commit', 'collab.clone',
68
+ 'collab.prune', 'collab.unregister',
69
+ 'collab.tag.create', 'collab.tag.restore',
70
+ 'collab.tag.rm', 'collab.tag.prune',
61
71
  'group.commit_state',
62
72
  'group.ban', 'group.unban',
63
73
  'group.dissolve', 'group.suspend', 'group.resume',
@@ -76,18 +86,25 @@ const NON_IDEMPOTENT_METHODS = new Set([
76
86
  'storage.create_folder', 'storage.rename_folder', 'storage.move_folder',
77
87
  'storage.delete_folder', 'storage.move_object', 'storage.copy_object',
78
88
  'storage.batch_delete', 'storage.set_object_meta', 'storage.append_object',
89
+ 'storage.set_acl', 'storage.remove_acl', 'storage.set_visibility',
90
+ 'storage.issue_token', 'storage.revoke_token',
91
+ 'storage.create_symlink', 'storage.atomic_repoint',
92
+ 'storage.rename_symlink', 'storage.delete_symlink',
93
+ 'storage.fs.mkdir', 'storage.fs.remove', 'storage.fs.rename', 'storage.fs.copy',
94
+ 'storage.fs.mount', 'storage.fs.approve', 'storage.fs.reject', 'storage.fs.unmount',
95
+ 'storage.fs.invalidate_membership',
96
+ 'storage.volume.create', 'storage.volume.renew', 'storage.volume.expire_due',
97
+ 'group.fs.mkdir', 'group.fs.rm', 'group.fs.cp', 'group.fs.mv',
98
+ 'group.fs.mount', 'group.fs.umount',
99
+ 'group.fs.check_upload', 'group.fs.create_upload_session',
100
+ 'group.fs.complete_upload', 'group.fs.create_download_ticket',
79
101
  'auth.create_aid', 'auth.renew_cert', 'auth.rekey',
80
102
  'message.thought.put', 'group.thought.put',
81
- 'group.add_member',
82
- 'group.resources.put', 'group.resources.create_folder',
83
- 'group.resources.rename', 'group.resources.move',
84
- 'group.resources.mount_object', 'group.resources.update',
85
- 'group.resources.delete', 'group.resources.cleanup_by_storage_ref',
86
- 'group.resources.request_add', 'group.resources.request_mount_object',
87
- 'group.resources.direct_add', 'group.resources.approve_request',
88
- 'group.resources.reject_request', 'group.resources.unmount',
89
- 'group.resources.get_access',
90
- 'group.resources.resolve_access_ticket',
103
+ 'group.add_member', 'group.bind_group_aid', 'group.complete_transfer',
104
+ 'collab.create', 'collab.commit', 'collab.clone',
105
+ 'collab.prune', 'collab.unregister',
106
+ 'collab.tag.create', 'collab.tag.restore',
107
+ 'collab.tag.rm', 'collab.tag.prune',
91
108
  ]);
92
109
  export class RpcPipeline {
93
110
  runtime;
@@ -109,6 +126,8 @@ export class RpcPipeline {
109
126
  };
110
127
  const pullGateLocked = Boolean(p._pull_gate_locked);
111
128
  delete p._pull_gate_locked;
129
+ const skipSendResultEnvelope = Boolean(p._skip_send_result_envelope);
130
+ delete p._skip_send_result_envelope;
112
131
  const pullGateKey = this.pullGateKeyForCall(method, p);
113
132
  if (pullGateKey && this.isPullResponseProcessing(pullGateKey)) {
114
133
  client._clientLog.debug(`pull skipped while processing pull response: method=${method} key=${pullGateKey}`);
@@ -118,6 +137,8 @@ export class RpcPipeline {
118
137
  const lockedParams = { ...p, _pull_gate_locked: true };
119
138
  if (rpcBackground)
120
139
  lockedParams._rpc_background = true;
140
+ if (skipSendResultEnvelope)
141
+ lockedParams._skip_send_result_envelope = true;
121
142
  return await this.runPullSerialized(pullGateKey, async () => this.call(method, lockedParams));
122
143
  }
123
144
  if (method === 'message.send') {
@@ -228,6 +249,9 @@ export class RpcPipeline {
228
249
  ? await client._transport.call(method, p, undefined, undefined, true)
229
250
  : await client._transport.call(method, p));
230
251
  result = await this.postprocessResult(method, p, result);
252
+ if (!skipSendResultEnvelope) {
253
+ result = client._delivery.attachSendResultEnvelope(method, p, result, Boolean(p.encrypted));
254
+ }
231
255
  client._clientLog.debug(`call exit: method=${method} elapsed=${Date.now() - tStart}ms`);
232
256
  return result;
233
257
  }
@@ -340,14 +364,19 @@ export class RpcPipeline {
340
364
  params.slot_id = client._slotId;
341
365
  }
342
366
  applyClientSignature(method, params) {
343
- if (!SIGNED_METHODS.has(method)) {
344
- return;
367
+ try {
368
+ if (!SIGNED_METHODS.has(method)) {
369
+ return;
370
+ }
371
+ if (this.shouldSkipClientSignature(method, params)) {
372
+ delete params.client_signature;
373
+ return;
374
+ }
375
+ this.runtime.client._signClientOperation(method, params);
345
376
  }
346
- if (this.shouldSkipClientSignature(method, params)) {
347
- delete params.client_signature;
348
- return;
377
+ finally {
378
+ delete params._client_signature_identity;
349
379
  }
350
- this.runtime.client._signClientOperation(method, params);
351
380
  }
352
381
  shouldSkipClientSignature(method, params) {
353
382
  if (method !== 'message.send' && method !== 'group.send')
@@ -357,7 +386,10 @@ export class RpcPipeline {
357
386
  return this.runtime.client._isEchoPayload(params.payload);
358
387
  }
359
388
  signClientOperation(method, params) {
360
- const currentAid = this.runtime.client._currentAid;
389
+ const internal = params._client_signature_identity;
390
+ const currentAid = (internal && typeof internal === 'object')
391
+ ? internal
392
+ : this.runtime.client._currentAid;
361
393
  if (!currentAid?.privateKeyPem)
362
394
  return;
363
395
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"rpc-pipeline.js","sourceRoot":"","sources":["../../src/client/rpc-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc-pipeline.js","sourceRoot":"","sources":["../../src/client/rpc-pipeline.ts"],"names":[],"mappings":"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"}
@@ -604,19 +604,36 @@ export class V2E2EECoordinator {
604
604
  to: toAid,
605
605
  payload: envelope,
606
606
  encrypt: false,
607
+ _skip_send_result_envelope: true,
607
608
  });
608
609
  client._clientLog.debug(`message.v2.send ok: to=${toAid}, use_cache=${useCache}, seq=${String((isJsonObject(result) ? result.seq : '') ?? '')}`);
609
610
  return result;
610
611
  };
611
612
  try {
612
- return await attempt(true);
613
+ const result = await attempt(true);
614
+ return client._delivery.attachSendResultEnvelope('message.send', {
615
+ to: toAid,
616
+ payload,
617
+ message_id: opts?.messageId,
618
+ timestamp: opts?.timestamp,
619
+ protected_headers: opts?.protectedHeaders,
620
+ context: opts?.context,
621
+ }, result, true);
613
622
  }
614
623
  catch (exc) {
615
624
  const excCode = exc?.code;
616
625
  if (V2_RETRYABLE_CODES.has(Number(excCode))) {
617
626
  client._clientLog.debug(`V2 P2P speculative send rejected (code=${String(excCode)}), refreshing bootstrap`);
618
627
  this.deleteBootstrapCacheEntry(toAid);
619
- return await attempt(false);
628
+ const result = await attempt(false);
629
+ return client._delivery.attachSendResultEnvelope('message.send', {
630
+ to: toAid,
631
+ payload,
632
+ message_id: opts?.messageId,
633
+ timestamp: opts?.timestamp,
634
+ protected_headers: opts?.protectedHeaders,
635
+ context: opts?.context,
636
+ }, result, true);
620
637
  }
621
638
  throw exc;
622
639
  }
@@ -845,7 +862,14 @@ export class V2E2EECoordinator {
845
862
  try {
846
863
  const result = await attempt(true);
847
864
  markSentSeq(result);
848
- return result;
865
+ return client._delivery.attachSendResultEnvelope('group.send', {
866
+ group_id: gid,
867
+ payload,
868
+ message_id: opts?.messageId,
869
+ timestamp: opts?.timestamp,
870
+ protected_headers: opts?.protectedHeaders,
871
+ context: opts?.context,
872
+ }, result, true);
849
873
  }
850
874
  catch (exc) {
851
875
  const excCode = Number(exc?.code);
@@ -854,7 +878,14 @@ export class V2E2EECoordinator {
854
878
  this.deleteBootstrapCacheEntry(`group:${gid}`);
855
879
  const result = await attempt(false);
856
880
  markSentSeq(result);
857
- return result;
881
+ return client._delivery.attachSendResultEnvelope('group.send', {
882
+ group_id: gid,
883
+ payload,
884
+ message_id: opts?.messageId,
885
+ timestamp: opts?.timestamp,
886
+ protected_headers: opts?.protectedHeaders,
887
+ context: opts?.context,
888
+ }, result, true);
858
889
  }
859
890
  throw exc;
860
891
  }
@@ -1197,14 +1228,28 @@ export class V2E2EECoordinator {
1197
1228
  return result;
1198
1229
  };
1199
1230
  try {
1200
- return await attempt(true);
1231
+ const result = await attempt(true);
1232
+ return client._delivery.attachSendResultEnvelope('message.thought.put', {
1233
+ ...params,
1234
+ to: toAid,
1235
+ payload,
1236
+ thought_id: thoughtId,
1237
+ timestamp,
1238
+ }, result, true);
1201
1239
  }
1202
1240
  catch (exc) {
1203
1241
  const excCode = Number(exc?.code);
1204
1242
  if (V2_RETRYABLE_CODES.has(excCode)) {
1205
1243
  client._clientLog.debug(`V2 P2P thought put speculative rejected (code=${String(excCode)}), refreshing bootstrap`);
1206
1244
  this.deleteBootstrapCacheEntry(toAid);
1207
- return await attempt(false);
1245
+ const result = await attempt(false);
1246
+ return client._delivery.attachSendResultEnvelope('message.thought.put', {
1247
+ ...params,
1248
+ to: toAid,
1249
+ payload,
1250
+ thought_id: thoughtId,
1251
+ timestamp,
1252
+ }, result, true);
1208
1253
  }
1209
1254
  throw exc;
1210
1255
  }
@@ -1257,14 +1302,28 @@ export class V2E2EECoordinator {
1257
1302
  return result;
1258
1303
  };
1259
1304
  try {
1260
- return await attempt(true);
1305
+ const result = await attempt(true);
1306
+ return client._delivery.attachSendResultEnvelope('group.thought.put', {
1307
+ ...params,
1308
+ group_id: groupId,
1309
+ payload,
1310
+ thought_id: thoughtId,
1311
+ timestamp,
1312
+ }, result, true);
1261
1313
  }
1262
1314
  catch (exc) {
1263
1315
  const excCode = Number(exc?.code);
1264
1316
  if (V2_RETRYABLE_CODES.has(excCode)) {
1265
1317
  client._clientLog.debug(`V2 group thought put speculative rejected (code=${String(excCode)}), refreshing bootstrap`);
1266
1318
  this.deleteBootstrapCacheEntry(`group:${groupId}`);
1267
- return await attempt(false);
1319
+ const result = await attempt(false);
1320
+ return client._delivery.attachSendResultEnvelope('group.thought.put', {
1321
+ ...params,
1322
+ group_id: groupId,
1323
+ payload,
1324
+ thought_id: thoughtId,
1325
+ timestamp,
1326
+ }, result, true);
1268
1327
  }
1269
1328
  throw exc;
1270
1329
  }