@agentunion/fastaun 0.4.13 → 0.5.1

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 (182) hide show
  1. package/CHANGELOG.md +547 -393
  2. package/_packed_docs/CHANGELOG-validators.md +144 -0
  3. package/_packed_docs/CHANGELOG.md +547 -393
  4. package/_packed_docs/INDEX.md +159 -84
  5. package/_packed_docs/KITE_DOCS_GUIDE.md +48 -31
  6. package/_packed_docs/agent.md/SCHEMA.md +2 -0
  7. package/_packed_docs/agent.md/examples/codeagent-claudecode.md +2 -0
  8. package/_packed_docs/agent.md/examples/human-developer.md +2 -0
  9. package/_packed_docs/agent.md/examples/openclaw-lobster.md +2 -0
  10. package/_packed_docs/agent.md/examples/signed-openclaw-lobster.md +2 -0
  11. 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
  12. package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +266 -686
  13. package/_packed_docs/cli/CLI/346/211/213/345/206/214.md +331 -0
  14. package/_packed_docs/design/2026-05-22-aun-rpc-trace-enhancement.md +2 -0
  15. 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
  16. 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
  17. 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
  18. package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -0
  19. 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
  20. 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
  21. 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
  22. package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +2 -0
  23. package/_packed_docs/protocol/04-Peer-/345/255/220/345/215/217/350/256/256.md +2 -0
  24. package/_packed_docs/protocol/05-Relay-/345/255/220/345/215/217/350/256/256.md +2 -0
  25. 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
  26. package/_packed_docs/protocol/08-AUN-E2EE-Group.md +296 -900
  27. package/_packed_docs/protocol/08-AUN-E2EE.md +2 -0
  28. package/_packed_docs/protocol/09-/345/256/211/345/205/250/350/200/203/350/231/221.md +2 -0
  29. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +66 -173
  30. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +55 -0
  31. package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +2 -0
  32. package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +2 -0
  33. 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
  34. 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
  35. package/_packed_docs/protocol/16-/347/263/273/347/273/237/347/233/256/345/275/225/344/277/235/346/212/244/346/226/271/346/241/210.md +177 -0
  36. package/_packed_docs/protocol/README.md +4 -1
  37. package/_packed_docs/protocol/agent.md/SCHEMA.md +2 -0
  38. package/_packed_docs/protocol/agent.md/examples/codeagent-claudecode.md +2 -0
  39. package/_packed_docs/protocol/agent.md/examples/human-developer.md +2 -0
  40. package/_packed_docs/protocol/agent.md/examples/openclaw-lobster.md +2 -0
  41. package/_packed_docs/protocol/aun-docs-guide.md +2 -0
  42. package/_packed_docs/protocol/index.md +10 -3
  43. 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
  44. 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
  45. package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +2 -0
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +2 -0
  60. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -0
  61. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +2 -0
  62. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +2 -0
  63. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +6 -252
  64. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +219 -177
  65. package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +4 -1
  66. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +2 -0
  67. package/_packed_docs/sdk/09-collab-rpc-manual.md +581 -0
  68. package/_packed_docs/sdk/09-custody-api-manual.md +2 -0
  69. package/_packed_docs/sdk/09-group-rpc-manual.md +301 -634
  70. package/_packed_docs/sdk/09-message-rpc-manual.md +2 -0
  71. package/_packed_docs/sdk/09-meta-rpc-manual.md +2 -0
  72. package/_packed_docs/sdk/09-payload-reference.md +2 -0
  73. package/_packed_docs/sdk/09-proxy-rpc-manual.md +2 -0
  74. package/_packed_docs/sdk/09-storage-rpc-manual.md +984 -274
  75. package/_packed_docs/sdk/09-stream-rpc-manual.md +2 -0
  76. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +36 -23
  77. 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
  78. package/_packed_docs/sdk/INDEX.md +47 -30
  79. package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +2 -0
  80. package/_packed_docs/sdk/README.md +17 -15
  81. package/dist/aid-store.d.ts +25 -0
  82. package/dist/aid-store.js +80 -0
  83. package/dist/aid-store.js.map +1 -1
  84. package/dist/client/delivery.d.ts +11 -0
  85. package/dist/client/delivery.js +208 -25
  86. package/dist/client/delivery.js.map +1 -1
  87. package/dist/client/group-state.js +33 -11
  88. package/dist/client/group-state.js.map +1 -1
  89. package/dist/client/rpc-pipeline.d.ts +1 -0
  90. package/dist/client/rpc-pipeline.js +177 -65
  91. package/dist/client/rpc-pipeline.js.map +1 -1
  92. package/dist/client/v2-e2ee.d.ts +6 -1
  93. package/dist/client/v2-e2ee.js +199 -130
  94. package/dist/client/v2-e2ee.js.map +1 -1
  95. package/dist/client.d.ts +37 -1
  96. package/dist/client.js +491 -44
  97. package/dist/client.js.map +1 -1
  98. package/dist/collab/client.d.ts +46 -0
  99. package/dist/collab/client.js +136 -0
  100. package/dist/collab/client.js.map +1 -0
  101. package/dist/collab/errors.d.ts +15 -0
  102. package/dist/collab/errors.js +60 -0
  103. package/dist/collab/errors.js.map +1 -0
  104. package/dist/collab/index.d.ts +3 -0
  105. package/dist/collab/index.js +4 -0
  106. package/dist/collab/index.js.map +1 -0
  107. package/dist/collab/types.d.ts +110 -0
  108. package/dist/collab/types.js +2 -0
  109. package/dist/collab/types.js.map +1 -0
  110. package/dist/crypto.d.ts +2 -0
  111. package/dist/crypto.js +6 -0
  112. package/dist/crypto.js.map +1 -1
  113. package/dist/errors.d.ts +0 -12
  114. package/dist/errors.js +9 -25
  115. package/dist/errors.js.map +1 -1
  116. package/dist/facades.d.ts +94 -0
  117. package/dist/facades.js +255 -0
  118. package/dist/facades.js.map +1 -0
  119. package/dist/group-fs.d.ts +122 -0
  120. package/dist/group-fs.js +467 -0
  121. package/dist/group-fs.js.map +1 -0
  122. package/dist/group-id.d.ts +9 -12
  123. package/dist/group-id.js +41 -63
  124. package/dist/group-id.js.map +1 -1
  125. package/dist/group-resources.d.ts +31 -0
  126. package/dist/group-resources.js +84 -0
  127. package/dist/group-resources.js.map +1 -0
  128. package/dist/index.d.ts +9 -3
  129. package/dist/index.js +11 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/keystore/aid-db.d.ts +1 -0
  132. package/dist/keystore/aid-db.js +43 -43
  133. package/dist/keystore/aid-db.js.map +1 -1
  134. package/dist/keystore/local-identity-store.d.ts +16 -0
  135. package/dist/keystore/local-identity-store.js +190 -18
  136. package/dist/keystore/local-identity-store.js.map +1 -1
  137. package/dist/keystore/local-token-store.d.ts +0 -13
  138. package/dist/keystore/local-token-store.js +0 -105
  139. package/dist/keystore/local-token-store.js.map +1 -1
  140. package/dist/logger.d.ts +2 -0
  141. package/dist/logger.js +4 -0
  142. package/dist/logger.js.map +1 -1
  143. package/dist/register-flow.d.ts +1 -0
  144. package/dist/register-flow.js +3 -0
  145. package/dist/register-flow.js.map +1 -1
  146. package/dist/service-proxy.d.ts +1 -0
  147. package/dist/service-proxy.js +17 -4
  148. package/dist/service-proxy.js.map +1 -1
  149. package/dist/storage/errors.d.ts +27 -0
  150. package/dist/storage/errors.js +65 -0
  151. package/dist/storage/errors.js.map +1 -0
  152. package/dist/storage/index.d.ts +1 -0
  153. package/dist/storage/index.js +2 -0
  154. package/dist/storage/index.js.map +1 -0
  155. package/dist/storage/lowlevel.d.ts +321 -0
  156. package/dist/storage/lowlevel.js +475 -0
  157. package/dist/storage/lowlevel.js.map +1 -0
  158. package/dist/storage/types.d.ts +57 -0
  159. package/dist/storage/types.js +116 -0
  160. package/dist/storage/types.js.map +1 -0
  161. package/dist/storage/vfs.d.ts +166 -0
  162. package/dist/storage/vfs.js +524 -0
  163. package/dist/storage/vfs.js.map +1 -0
  164. package/dist/tools/cross-sdk-agent.js +708 -1
  165. package/dist/tools/cross-sdk-agent.js.map +1 -1
  166. package/dist/transport.d.ts +5 -0
  167. package/dist/transport.js +124 -21
  168. package/dist/transport.js.map +1 -1
  169. package/dist/types.d.ts +38 -0
  170. package/dist/v2/session/session.d.ts +2 -0
  171. package/dist/v2/session/session.js +53 -23
  172. package/dist/v2/session/session.js.map +1 -1
  173. package/dist/v2/state/commitment.d.ts +1 -1
  174. package/dist/v2/state/commitment.js +4 -2
  175. package/dist/v2/state/commitment.js.map +1 -1
  176. package/dist/validators.d.ts +32 -0
  177. package/dist/validators.js +128 -0
  178. package/dist/validators.js.map +1 -0
  179. package/dist/version.d.ts +1 -1
  180. package/dist/version.js +1 -1
  181. package/dist/version.js.map +1 -1
  182. package/package.json +1 -1
@@ -0,0 +1,94 @@
1
+ import { GroupFSVFS } from './group-fs.js';
2
+ import type { RpcParams, RpcResult } from './types.js';
3
+ export interface FacadeRpcClient {
4
+ call(method: string, params?: RpcParams): Promise<RpcResult>;
5
+ createGroup?(params?: RpcParams): Promise<RpcResult>;
6
+ startGroupTransfer?(params?: RpcParams, options?: {
7
+ aidStore?: unknown;
8
+ }): Promise<RpcResult>;
9
+ completeGroupTransfer?(params?: RpcParams, options?: {
10
+ aidStore?: unknown;
11
+ }): Promise<RpcResult>;
12
+ }
13
+ export type FacadeParams = RpcParams;
14
+ export declare function stripNil(params?: FacadeParams): FacadeParams;
15
+ declare abstract class RpcFacade {
16
+ protected readonly client: FacadeRpcClient;
17
+ constructor(client: FacadeRpcClient);
18
+ protected call(method: string, params?: FacadeParams): Promise<RpcResult>;
19
+ }
20
+ export declare class MessageThoughtFacade extends RpcFacade {
21
+ put(params?: FacadeParams): Promise<RpcResult>;
22
+ get(params?: FacadeParams): Promise<RpcResult>;
23
+ }
24
+ export declare class MessageFacade extends RpcFacade {
25
+ private _thought?;
26
+ get thought(): MessageThoughtFacade;
27
+ send(params?: FacadeParams): Promise<RpcResult>;
28
+ pull(params?: FacadeParams): Promise<RpcResult>;
29
+ ack(params?: FacadeParams): Promise<RpcResult>;
30
+ recall(params?: FacadeParams): Promise<RpcResult>;
31
+ queryOnline(params?: FacadeParams): Promise<RpcResult>;
32
+ }
33
+ export declare class GroupThoughtFacade extends RpcFacade {
34
+ put(params?: FacadeParams): Promise<RpcResult>;
35
+ get(params?: FacadeParams): Promise<RpcResult>;
36
+ }
37
+ export declare class GroupFacade extends RpcFacade {
38
+ private _fs?;
39
+ private _thought?;
40
+ get fs(): GroupFSVFS;
41
+ get thought(): GroupThoughtFacade;
42
+ create(params?: FacadeParams): Promise<RpcResult>;
43
+ bindAid(params?: FacadeParams): Promise<RpcResult>;
44
+ bindGroupAid(params?: FacadeParams): Promise<RpcResult>;
45
+ renewGroupAid(params?: FacadeParams): Promise<RpcResult>;
46
+ getInfo(params?: FacadeParams): Promise<RpcResult>;
47
+ update(params?: FacadeParams): Promise<RpcResult>;
48
+ list(params?: FacadeParams): Promise<RpcResult>;
49
+ listMy(params?: FacadeParams): Promise<RpcResult>;
50
+ getMembers(params?: FacadeParams): Promise<RpcResult>;
51
+ addMember(params?: FacadeParams): Promise<RpcResult>;
52
+ leave(params?: FacadeParams): Promise<RpcResult>;
53
+ kick(params?: FacadeParams): Promise<RpcResult>;
54
+ setRole(params?: FacadeParams): Promise<RpcResult>;
55
+ transferOwner(params?: FacadeParams): Promise<RpcResult>;
56
+ completeTransfer(params?: FacadeParams): Promise<RpcResult>;
57
+ getRules(params?: FacadeParams): Promise<RpcResult>;
58
+ updateRules(params?: FacadeParams): Promise<RpcResult>;
59
+ getAnnouncement(params?: FacadeParams): Promise<RpcResult>;
60
+ updateAnnouncement(params?: FacadeParams): Promise<RpcResult>;
61
+ requestJoin(params?: FacadeParams): Promise<RpcResult>;
62
+ listJoinRequests(params?: FacadeParams): Promise<RpcResult>;
63
+ reviewJoinRequest(params?: FacadeParams): Promise<RpcResult>;
64
+ batchReviewJoinRequest(params?: FacadeParams): Promise<RpcResult>;
65
+ getJoinRequirements(params?: FacadeParams): Promise<RpcResult>;
66
+ updateJoinRequirements(params?: FacadeParams): Promise<RpcResult>;
67
+ createInviteCode(params?: FacadeParams): Promise<RpcResult>;
68
+ listInviteCodes(params?: FacadeParams): Promise<RpcResult>;
69
+ useInviteCode(params?: FacadeParams): Promise<RpcResult>;
70
+ revokeInviteCode(params?: FacadeParams): Promise<RpcResult>;
71
+ getBanlist(params?: FacadeParams): Promise<RpcResult>;
72
+ ban(params?: FacadeParams): Promise<RpcResult>;
73
+ unban(params?: FacadeParams): Promise<RpcResult>;
74
+ send(params?: FacadeParams): Promise<RpcResult>;
75
+ pull(params?: FacadeParams): Promise<RpcResult>;
76
+ recall(params?: FacadeParams): Promise<RpcResult>;
77
+ pullEvents(params?: FacadeParams): Promise<RpcResult>;
78
+ ackMessages(params?: FacadeParams): Promise<RpcResult>;
79
+ ackEvents(params?: FacadeParams): Promise<RpcResult>;
80
+ search(params?: FacadeParams): Promise<RpcResult>;
81
+ suspend(params?: FacadeParams): Promise<RpcResult>;
82
+ resume(params?: FacadeParams): Promise<RpcResult>;
83
+ dissolve(params?: FacadeParams): Promise<RpcResult>;
84
+ setSettings(params?: FacadeParams): Promise<RpcResult>;
85
+ getSettings(params?: FacadeParams): Promise<RpcResult>;
86
+ getOnlineMembers(params?: FacadeParams): Promise<RpcResult>;
87
+ }
88
+ export declare class StreamFacade extends RpcFacade {
89
+ create(params?: FacadeParams): Promise<RpcResult>;
90
+ close(params?: FacadeParams): Promise<RpcResult>;
91
+ getInfo(params?: FacadeParams): Promise<RpcResult>;
92
+ listActive(params?: FacadeParams): Promise<RpcResult>;
93
+ }
94
+ export {};
@@ -0,0 +1,255 @@
1
+ import { GroupFSVFS } from './group-fs.js';
2
+ import { validateAIDFormat, validateGroupIDFormat } from './validators.js';
3
+ export function stripNil(params = {}) {
4
+ const out = {};
5
+ for (const [key, value] of Object.entries(params)) {
6
+ if (value !== undefined && value !== null)
7
+ out[key] = value;
8
+ }
9
+ return out;
10
+ }
11
+ function splitAidStore(params) {
12
+ const out = stripNil(params ?? {});
13
+ const aidStore = out.aidStore ?? out.aid_store;
14
+ delete out.aidStore;
15
+ delete out.aid_store;
16
+ return { params: out, aidStore };
17
+ }
18
+ // 将 getSettings 返回的 settings 数组转为 {key: value} 映射
19
+ function settingsToMap(result) {
20
+ const settings = {};
21
+ for (const s of result.settings || []) {
22
+ settings[s.key] = s.value;
23
+ }
24
+ return settings;
25
+ }
26
+ class RpcFacade {
27
+ client;
28
+ constructor(client) {
29
+ this.client = client;
30
+ }
31
+ call(method, params) {
32
+ return this.client.call(method, stripNil(params));
33
+ }
34
+ }
35
+ export class MessageThoughtFacade extends RpcFacade {
36
+ put(params) {
37
+ if (params?.to) {
38
+ validateAIDFormat(params.to, 'to');
39
+ }
40
+ return this.call('message.thought.put', params);
41
+ }
42
+ get(params) {
43
+ if (params?.sender_aid) {
44
+ validateAIDFormat(params.sender_aid, 'sender_aid');
45
+ }
46
+ return this.call('message.thought.get', params);
47
+ }
48
+ }
49
+ export class MessageFacade extends RpcFacade {
50
+ _thought;
51
+ get thought() {
52
+ if (!this._thought)
53
+ this._thought = new MessageThoughtFacade(this.client);
54
+ return this._thought;
55
+ }
56
+ send(params) {
57
+ if (params?.to) {
58
+ validateAIDFormat(params.to, 'to');
59
+ }
60
+ return this.call('message.send', params);
61
+ }
62
+ pull(params) {
63
+ return this.call('message.pull', params);
64
+ }
65
+ ack(params) {
66
+ return this.call('message.ack', params);
67
+ }
68
+ recall(params) {
69
+ return this.call('message.recall', params);
70
+ }
71
+ queryOnline(params) {
72
+ return this.call('message.query_online', params);
73
+ }
74
+ }
75
+ export class GroupThoughtFacade extends RpcFacade {
76
+ put(params) {
77
+ if (params?.group_id) {
78
+ validateGroupIDFormat(params.group_id, 'group_id');
79
+ }
80
+ return this.call('group.thought.put', params);
81
+ }
82
+ get(params) {
83
+ if (params?.sender_aid) {
84
+ validateAIDFormat(params.sender_aid, 'sender_aid');
85
+ }
86
+ if (params?.group_id) {
87
+ validateGroupIDFormat(params.group_id, 'group_id');
88
+ }
89
+ return this.call('group.thought.get', params);
90
+ }
91
+ }
92
+ export class GroupFacade extends RpcFacade {
93
+ _fs;
94
+ _thought;
95
+ get fs() {
96
+ if (!this._fs)
97
+ this._fs = new GroupFSVFS(this.client);
98
+ return this._fs;
99
+ }
100
+ get thought() {
101
+ if (!this._thought)
102
+ this._thought = new GroupThoughtFacade(this.client);
103
+ return this._thought;
104
+ }
105
+ create(params) {
106
+ const clean = stripNil(params ?? {});
107
+ if (clean.group_name && typeof this.client.createGroup === 'function') {
108
+ return this.client.createGroup(clean);
109
+ }
110
+ return this.call('group.create', clean);
111
+ }
112
+ bindAid(params) { return this.call('group.bind_aid', params); }
113
+ bindGroupAid(params) { return this.call('group.bind_group_aid', params); }
114
+ renewGroupAid(params) { return this.call('group.renew_group_aid', params); }
115
+ getInfo(params) { return this.call('group.get_info', params); }
116
+ update(params) { return this.call('group.update', params); }
117
+ list(params) { return this.call('group.list', params); }
118
+ listMy(params) { return this.call('group.list_my', params); }
119
+ getMembers(params) { return this.call('group.get_members', params); }
120
+ addMember(params) { return this.call('group.add_member', params); }
121
+ leave(params) { return this.call('group.leave', params); }
122
+ kick(params) { return this.call('group.kick', params); }
123
+ setRole(params) { return this.call('group.set_role', params); }
124
+ transferOwner(params) {
125
+ const split = splitAidStore(params);
126
+ if (split.aidStore && typeof this.client.startGroupTransfer === 'function') {
127
+ return this.client.startGroupTransfer(split.params, { aidStore: split.aidStore });
128
+ }
129
+ return this.call('group.transfer_owner', split.params);
130
+ }
131
+ completeTransfer(params) {
132
+ const split = splitAidStore(params);
133
+ if (split.aidStore && typeof this.client.completeGroupTransfer === 'function') {
134
+ return this.client.completeGroupTransfer(split.params, { aidStore: split.aidStore });
135
+ }
136
+ return this.call('group.complete_transfer', split.params);
137
+ }
138
+ async getRules(params) {
139
+ const merged = params || {};
140
+ const groupId = merged.group_id;
141
+ if (!groupId)
142
+ throw new Error('group_id is required');
143
+ const result = await this.getSettings({ group_id: groupId, keys: ['rules.content', 'rules.attachments'] });
144
+ const settings = settingsToMap(result);
145
+ return { group_id: result.group_id, rules: { group_id: result.group_id, content: settings['rules.content'] || '', attachments: settings['rules.attachments'] || [], updated_by: settings['rules.content.updated_by'] || '', updated_at: settings['rules.content.updated_at'] || 0 } };
146
+ }
147
+ async updateRules(params) {
148
+ const merged = params || {};
149
+ const { group_id: groupId, content, attachments } = merged;
150
+ if (!groupId)
151
+ throw new Error('group_id is required');
152
+ if (content === undefined)
153
+ throw new Error('content is required');
154
+ const settingsUpdate = { 'rules.content': content };
155
+ if (attachments !== undefined)
156
+ settingsUpdate['rules.attachments'] = attachments;
157
+ const result = await this.setSettings({ group_id: groupId, settings: settingsUpdate });
158
+ return { group_id: result.group_id, rules: { group_id: result.group_id, content, attachments: attachments || [] } };
159
+ }
160
+ async getAnnouncement(params) {
161
+ const merged = params || {};
162
+ const groupId = merged.group_id;
163
+ if (!groupId)
164
+ throw new Error('group_id is required');
165
+ const result = await this.getSettings({ group_id: groupId, keys: ['announcement.content', 'announcement.attachments'] });
166
+ const settings = settingsToMap(result);
167
+ return { group_id: result.group_id, announcement: { group_id: result.group_id, content: settings['announcement.content'] || '', attachments: settings['announcement.attachments'] || [], updated_by: settings['announcement.content.updated_by'] || '', updated_at: settings['announcement.content.updated_at'] || 0 } };
168
+ }
169
+ async updateAnnouncement(params) {
170
+ const merged = params || {};
171
+ const { group_id: groupId, content, attachments } = merged;
172
+ if (!groupId)
173
+ throw new Error('group_id is required');
174
+ if (content === undefined)
175
+ throw new Error('content is required');
176
+ const settingsUpdate = { 'announcement.content': content };
177
+ if (attachments !== undefined)
178
+ settingsUpdate['announcement.attachments'] = attachments;
179
+ const result = await this.setSettings({ group_id: groupId, settings: settingsUpdate });
180
+ return { group_id: result.group_id, announcement: { group_id: result.group_id, content, attachments: attachments || [] } };
181
+ }
182
+ requestJoin(params) { return this.call('group.request_join', params); }
183
+ listJoinRequests(params) { return this.call('group.list_join_requests', params); }
184
+ reviewJoinRequest(params) { return this.call('group.review_join_request', params); }
185
+ batchReviewJoinRequest(params) { return this.call('group.batch_review_join_request', params); }
186
+ async getJoinRequirements(params) {
187
+ const merged = params || {};
188
+ const groupId = merged.group_id;
189
+ if (!groupId)
190
+ throw new Error('group_id is required');
191
+ const result = await this.getSettings({ group_id: groupId, keys: ['join.mode', 'join.question', 'join.auto_approve_patterns', 'join.max_pending'] });
192
+ const settings = settingsToMap(result);
193
+ return { group_id: result.group_id, join_requirements: { group_id: result.group_id, mode: settings['join.mode'] || 'open', question: settings['join.question'] || '', auto_approve_patterns: settings['join.auto_approve_patterns'] || [], max_pending: settings['join.max_pending'] || 100, updated_by: settings['join.mode.updated_by'] || '', updated_at: settings['join.mode.updated_at'] || 0 } };
194
+ }
195
+ async updateJoinRequirements(params) {
196
+ const merged = params || {};
197
+ const groupId = merged.group_id;
198
+ if (!groupId)
199
+ throw new Error('group_id is required');
200
+ const settingsUpdate = {};
201
+ if ('mode' in merged)
202
+ settingsUpdate['join.mode'] = merged.mode;
203
+ if ('question' in merged)
204
+ settingsUpdate['join.question'] = merged.question;
205
+ if ('auto_approve_patterns' in merged)
206
+ settingsUpdate['join.auto_approve_patterns'] = merged.auto_approve_patterns;
207
+ if ('max_pending' in merged)
208
+ settingsUpdate['join.max_pending'] = merged.max_pending;
209
+ if (Object.keys(settingsUpdate).length === 0)
210
+ throw new Error('at least one field to update is required');
211
+ const result = await this.setSettings({ group_id: groupId, settings: settingsUpdate });
212
+ return { group_id: result.group_id, join_requirements: { group_id: result.group_id, mode: merged.mode, question: merged.question, auto_approve_patterns: merged.auto_approve_patterns, max_pending: merged.max_pending } };
213
+ }
214
+ createInviteCode(params) { return this.call('group.create_invite_code', params); }
215
+ listInviteCodes(params) { return this.call('group.list_invite_codes', params); }
216
+ useInviteCode(params) { return this.call('group.use_invite_code', params); }
217
+ revokeInviteCode(params) { return this.call('group.revoke_invite_code', params); }
218
+ getBanlist(params) { return this.call('group.get_banlist', params); }
219
+ ban(params) { return this.call('group.ban', params); }
220
+ unban(params) { return this.call('group.unban', params); }
221
+ send(params) {
222
+ validateGroupIDFormat(params?.group_id, 'group_id');
223
+ return this.call('group.send', params);
224
+ }
225
+ pull(params) {
226
+ validateGroupIDFormat(params?.group_id, 'group_id');
227
+ return this.call('group.pull', params);
228
+ }
229
+ recall(params) { return this.call('group.recall', params); }
230
+ pullEvents(params) { return this.call('group.pull_events', params); }
231
+ ackMessages(params) { return this.call('group.ack_messages', params); }
232
+ ackEvents(params) { return this.call('group.ack_events', params); }
233
+ search(params) { return this.call('group.search', params); }
234
+ suspend(params) { return this.call('group.suspend', params); }
235
+ resume(params) { return this.call('group.resume', params); }
236
+ dissolve(params) { return this.call('group.dissolve', params); }
237
+ setSettings(params) { return this.call('group.set_settings', params); }
238
+ getSettings(params) { return this.call('group.get_settings', params); }
239
+ getOnlineMembers(params) { return this.call('group.get_online_members', params); }
240
+ }
241
+ export class StreamFacade extends RpcFacade {
242
+ create(params) {
243
+ return this.call('stream.create', params);
244
+ }
245
+ close(params) {
246
+ return this.call('stream.close', params);
247
+ }
248
+ getInfo(params) {
249
+ return this.call('stream.get_info', params);
250
+ }
251
+ listActive(params) {
252
+ return this.call('stream.list_active', params);
253
+ }
254
+ }
255
+ //# sourceMappingURL=facades.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facades.js","sourceRoot":"","sources":["../src/facades.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import type { DownloadResult, StorageRaw } from './storage/types.js';
2
+ import type { RpcParams, RpcResult } from './types.js';
3
+ export interface GroupFSRpcClient {
4
+ aid?: string | null;
5
+ call(method: string, params?: RpcParams): Promise<RpcResult>;
6
+ }
7
+ type GroupFSSigningAID = {
8
+ aid?: string;
9
+ privateKeyPem?: string;
10
+ certPem?: string;
11
+ };
12
+ type GroupFSAIDStoreResult = {
13
+ ok?: boolean;
14
+ data?: {
15
+ aid?: GroupFSSigningAID;
16
+ };
17
+ error?: {
18
+ message?: string;
19
+ };
20
+ };
21
+ type GroupFSAIDStore = {
22
+ load?: (aid: string) => GroupFSAIDStoreResult | Promise<GroupFSAIDStoreResult>;
23
+ loadAsync?: (aid: string) => Promise<GroupFSAIDStoreResult>;
24
+ };
25
+ export interface GroupFSLowLevel {
26
+ httpPut(url: string, data: Uint8Array, headers?: Record<string, string>): Promise<void>;
27
+ httpGet(url: string, headers?: Record<string, string>): Promise<Uint8Array>;
28
+ }
29
+ export type GroupFSCopySource = string;
30
+ export type GroupFSCopyDestination = string;
31
+ export type GroupFSDownloadResult = DownloadResult;
32
+ export interface GroupFSCopyOptions {
33
+ [key: string]: unknown;
34
+ force?: boolean;
35
+ overwrite?: boolean;
36
+ recursive?: boolean;
37
+ parents?: boolean;
38
+ followSymlinks?: boolean;
39
+ follow_symlinks?: boolean;
40
+ contentType?: string;
41
+ content_type?: string;
42
+ metadata?: StorageRaw;
43
+ expectedVersion?: number;
44
+ expected_version?: number;
45
+ verifyHash?: boolean;
46
+ verify_hash?: boolean;
47
+ progress?: (loaded: number, total: number) => void;
48
+ onProgress?: (loaded: number, total: number) => void;
49
+ on_progress?: (loaded: number, total: number) => void;
50
+ groupId?: string;
51
+ groupAid?: string;
52
+ group_id?: string;
53
+ group_aid?: string;
54
+ srcGroupId?: string;
55
+ srcGroupAid?: string;
56
+ src_group_id?: string;
57
+ src_group_aid?: string;
58
+ dstGroupId?: string;
59
+ dstGroupAid?: string;
60
+ dst_group_id?: string;
61
+ dst_group_aid?: string;
62
+ signAs?: string;
63
+ sign_as?: string;
64
+ aidStore?: GroupFSAIDStore;
65
+ aid_store?: GroupFSAIDStore;
66
+ }
67
+ export type GroupFSParams = Record<string, unknown>;
68
+ export declare function isGroupRemotePath(value: string): boolean;
69
+ export declare class GroupFSVFS {
70
+ lowlevel: GroupFSLowLevel;
71
+ private readonly client;
72
+ constructor(client: GroupFSRpcClient, options?: {
73
+ lowlevel?: GroupFSLowLevel;
74
+ });
75
+ private call;
76
+ private prepareParams;
77
+ ls(path: string, options?: GroupFSParams): Promise<RpcResult>;
78
+ find(path: string, options?: GroupFSParams): Promise<RpcResult>;
79
+ stat(path: string, options?: GroupFSParams): Promise<RpcResult>;
80
+ lstat(path: string, options?: GroupFSParams): Promise<RpcResult>;
81
+ mkdir(path: string, options?: GroupFSParams & {
82
+ parents?: boolean;
83
+ }): Promise<RpcResult>;
84
+ setAcl(path: string, options?: GroupFSParams & {
85
+ granteeAid?: string;
86
+ grantee_aid?: string;
87
+ perms?: string;
88
+ }): Promise<RpcResult>;
89
+ removeAcl(path: string, options?: GroupFSParams & {
90
+ granteeAid?: string;
91
+ grantee_aid?: string;
92
+ }): Promise<RpcResult>;
93
+ getAcl(path: string, options?: GroupFSParams): Promise<RpcResult>;
94
+ listAcl(path: string, options?: GroupFSParams): Promise<RpcResult>;
95
+ rm(path: string, options?: GroupFSParams & {
96
+ recursive?: boolean;
97
+ force?: boolean;
98
+ }): Promise<RpcResult>;
99
+ cp(src: GroupFSCopySource, dst: GroupFSCopyDestination, options?: GroupFSCopyOptions): Promise<RpcResult | GroupFSDownloadResult>;
100
+ mv(src: string, dst: string, options?: GroupFSParams & {
101
+ force?: boolean;
102
+ overwrite?: boolean;
103
+ groupId?: string;
104
+ groupAid?: string;
105
+ group_id?: string;
106
+ group_aid?: string;
107
+ srcGroupId?: string;
108
+ srcGroupAid?: string;
109
+ src_group_id?: string;
110
+ src_group_aid?: string;
111
+ dstGroupId?: string;
112
+ dstGroupAid?: string;
113
+ dst_group_id?: string;
114
+ dst_group_aid?: string;
115
+ }): Promise<RpcResult>;
116
+ df(pathOrGroup?: string | null, options?: GroupFSParams): Promise<RpcResult>;
117
+ mount(path: string, options?: GroupFSParams): Promise<RpcResult>;
118
+ umount(path: string, options?: GroupFSParams): Promise<RpcResult>;
119
+ private uploadSource;
120
+ private downloadRemote;
121
+ }
122
+ export {};