@agentunion/fastaun 0.5.3 → 0.5.6

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 (133) hide show
  1. package/CHANGELOG.md +126 -52
  2. package/_packed_docs/AUN/347/246/273/347/272/277/346/216/250/351/200/201/346/216/245/345/205/245/344/270/216/346/274/224/347/244/272/346/214/207/345/215/227.md +290 -0
  3. package/_packed_docs/AUN/347/246/273/347/272/277/346/216/250/351/200/201/346/234/215/345/212/241/346/236/266/346/236/204/344/270/216/350/257/246/347/273/206/345/256/236/347/216/260/350/256/241/345/210/222-codex.md +994 -0
  4. package/_packed_docs/AUN/347/246/273/347/272/277/346/216/250/351/200/201/346/234/215/345/212/241/350/277/220/347/273/264/344/270/216/345/217/221/345/270/203/346/214/207/345/215/227.md +144 -0
  5. package/_packed_docs/CHANGELOG.md +126 -52
  6. package/_packed_docs/INDEX.md +127 -69
  7. package/_packed_docs/KITE_DOCS_GUIDE.md +63 -29
  8. package/_packed_docs/audit/AUN/346/234/215/345/212/241Go/345/214/226/351/207/215/346/236/204/347/262/276/347/273/206/345/214/226/346/272/220/347/240/201/345/256/241/346/237/245-20260718.md +366 -0
  9. package/_packed_docs/aun/345/205/254/347/275/221/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +227 -0
  10. package/_packed_docs/aun/345/210/206/345/270/203/345/274/217/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +1004 -0
  11. package/_packed_docs/aun/346/265/213/350/257/225/350/277/220/350/241/214/346/214/207/345/215/227.md +999 -0
  12. package/_packed_docs/cli/CLI/346/211/213/345/206/214.md +6 -4
  13. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +58 -20
  14. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +219 -247
  15. package/_packed_docs/protocol/12-Stream-/345/255/220/345/215/217/350/256/256.md +14 -14
  16. package/_packed_docs/protocol/13-Agent/350/241/214/344/270/272/350/247/204/350/214/203.md +3 -3
  17. 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 +165 -421
  18. package/_packed_docs/protocol/README.md +1 -0
  19. package/_packed_docs/protocol/aun-docs-guide.md +7 -4
  20. package/_packed_docs/protocol/index.md +25 -19
  21. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +62 -17
  22. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +22 -0
  23. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +67 -78
  24. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +6 -2
  25. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +87 -41
  26. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +18 -5
  27. package/_packed_docs/sdk/09-group-rpc-manual.md +307 -267
  28. package/_packed_docs/sdk/09-message-rpc-manual.md +142 -103
  29. package/_packed_docs/sdk/09-payload-reference.md +1 -1
  30. package/_packed_docs/sdk/09-stream-rpc-manual.md +8 -8
  31. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +26 -17
  32. package/_packed_docs/sdk/INDEX.md +42 -34
  33. package/_packed_docs/sdk/README.md +7 -6
  34. package/_packed_docs//346/266/210/346/201/257/345/220/214/346/255/245/344/270/216/345/216/206/345/217/262/346/213/211/345/217/226/344/273/243/347/240/201/345/256/241/346/237/245/351/227/256/351/242/230/346/270/205/345/215/225.md +229 -0
  35. package/_packed_docs//346/266/210/346/201/257/345/220/214/346/255/245/344/270/216/345/216/206/345/217/262/346/213/211/345/217/226/346/224/271/351/200/240/346/226/271/346/241/210.md +750 -0
  36. package/dist/agent-md.js +8 -2
  37. package/dist/agent-md.js.map +1 -1
  38. package/dist/aid-store.d.ts +2 -0
  39. package/dist/aid-store.js +43 -7
  40. package/dist/aid-store.js.map +1 -1
  41. package/dist/auth.d.ts +0 -2
  42. package/dist/auth.js +97 -50
  43. package/dist/auth.js.map +1 -1
  44. package/dist/client/delivery.d.ts +70 -7
  45. package/dist/client/delivery.js +1334 -236
  46. package/dist/client/delivery.js.map +1 -1
  47. package/dist/client/group-state.js +25 -22
  48. package/dist/client/group-state.js.map +1 -1
  49. package/dist/client/lifecycle.js +46 -3
  50. package/dist/client/lifecycle.js.map +1 -1
  51. package/dist/client/mention-mode.d.ts +6 -0
  52. package/dist/client/mention-mode.js +184 -0
  53. package/dist/client/mention-mode.js.map +1 -0
  54. package/dist/client/peers.d.ts +1 -1
  55. package/dist/client/peers.js +26 -3
  56. package/dist/client/peers.js.map +1 -1
  57. package/dist/client/rpc-pipeline.d.ts +20 -1
  58. package/dist/client/rpc-pipeline.js +332 -73
  59. package/dist/client/rpc-pipeline.js.map +1 -1
  60. package/dist/client/v2-e2ee.d.ts +20 -1
  61. package/dist/client/v2-e2ee.js +625 -105
  62. package/dist/client/v2-e2ee.js.map +1 -1
  63. package/dist/client.d.ts +17 -5
  64. package/dist/client.js +332 -167
  65. package/dist/client.js.map +1 -1
  66. package/dist/errors.js +4 -1
  67. package/dist/errors.js.map +1 -1
  68. package/dist/facades.d.ts +6 -0
  69. package/dist/facades.js +196 -80
  70. package/dist/facades.js.map +1 -1
  71. package/dist/group-index.d.ts +5 -0
  72. package/dist/group-index.js +65 -30
  73. package/dist/group-index.js.map +1 -1
  74. package/dist/keystore/aid-db.d.ts +12 -0
  75. package/dist/keystore/aid-db.js +68 -4
  76. package/dist/keystore/aid-db.js.map +1 -1
  77. package/dist/keystore/index.d.ts +12 -0
  78. package/dist/keystore/local-identity-store.d.ts +10 -0
  79. package/dist/keystore/local-identity-store.js +8 -2
  80. package/dist/keystore/local-identity-store.js.map +1 -1
  81. package/dist/keystore/local-token-store.d.ts +10 -0
  82. package/dist/keystore/local-token-store.js +8 -2
  83. package/dist/keystore/local-token-store.js.map +1 -1
  84. package/dist/register-flow.d.ts +0 -1
  85. package/dist/register-flow.js +96 -38
  86. package/dist/register-flow.js.map +1 -1
  87. package/dist/secret-store/file-store.d.ts +3 -14
  88. package/dist/secret-store/file-store.js +7 -98
  89. package/dist/secret-store/file-store.js.map +1 -1
  90. package/dist/secret-store/index.d.ts +1 -4
  91. package/dist/secret-store/index.js +2 -2
  92. package/dist/secret-store/index.js.map +1 -1
  93. package/dist/seq-tracker.d.ts +29 -9
  94. package/dist/seq-tracker.js +233 -64
  95. package/dist/seq-tracker.js.map +1 -1
  96. package/dist/storage/vfs.d.ts +1 -0
  97. package/dist/storage/vfs.js +28 -4
  98. package/dist/storage/vfs.js.map +1 -1
  99. package/dist/tools/cross-sdk-agent.js +360 -8
  100. package/dist/tools/cross-sdk-agent.js.map +1 -1
  101. package/dist/transport.d.ts +19 -0
  102. package/dist/transport.js +197 -14
  103. package/dist/transport.js.map +1 -1
  104. package/dist/v2/e2ee/decrypt.js +26 -23
  105. package/dist/v2/e2ee/decrypt.js.map +1 -1
  106. package/dist/v2/session/session.js +3 -4
  107. package/dist/v2/session/session.js.map +1 -1
  108. package/dist/v2/state/commitment.js +1 -2
  109. package/dist/v2/state/commitment.js.map +1 -1
  110. package/dist/version.d.ts +1 -1
  111. package/dist/version.js +1 -1
  112. package/package.json +5 -4
  113. package/dist/e2ee-group.d.ts +0 -249
  114. package/dist/e2ee-group.js +0 -1567
  115. package/dist/e2ee-group.js.map +0 -1
  116. package/dist/group-resources.d.ts +0 -31
  117. package/dist/group-resources.js +0 -84
  118. package/dist/group-resources.js.map +0 -1
  119. package/dist/keystore/file.d.ts +0 -109
  120. package/dist/keystore/file.js +0 -772
  121. package/dist/keystore/file.js.map +0 -1
  122. package/dist/keystore/sqlite-backup.d.ts +0 -44
  123. package/dist/keystore/sqlite-backup.js +0 -382
  124. package/dist/keystore/sqlite-backup.js.map +0 -1
  125. package/dist/namespaces/auth.d.ts +0 -118
  126. package/dist/namespaces/auth.js +0 -968
  127. package/dist/namespaces/auth.js.map +0 -1
  128. package/dist/namespaces/custody.d.ts +0 -48
  129. package/dist/namespaces/custody.js +0 -313
  130. package/dist/namespaces/custody.js.map +0 -1
  131. package/dist/namespaces/meta.d.ts +0 -76
  132. package/dist/namespaces/meta.js +0 -490
  133. package/dist/namespaces/meta.js.map +0 -1
@@ -0,0 +1,184 @@
1
+ const MENTION_MODE_VALUES = {
2
+ mention: 'mention-only',
3
+ 'mention-only': 'mention-only',
4
+ broadcast: 'disabled',
5
+ disabled: 'disabled',
6
+ };
7
+ // 归一化分阶段执行时,保留显式非法新字段对后续旧字段回退的阻断语义。
8
+ const BLOCKED_GROUP_MENTION_MODE_RESULTS = new WeakSet();
9
+ function sourceRecord(source) {
10
+ if (source !== null && typeof source === 'object' && !Array.isArray(source)) {
11
+ return source;
12
+ }
13
+ if (typeof source !== 'string' || !source.trim())
14
+ return undefined;
15
+ try {
16
+ const parsed = JSON.parse(source);
17
+ return parsed !== null && typeof parsed === 'object' && !Array.isArray(parsed)
18
+ ? parsed
19
+ : undefined;
20
+ }
21
+ catch {
22
+ return undefined;
23
+ }
24
+ }
25
+ export function normalizeMentionModeValue(value) {
26
+ return MENTION_MODE_VALUES[String(value ?? '').trim().toLowerCase()];
27
+ }
28
+ function objectRecord(source) {
29
+ return source !== null && typeof source === 'object' && !Array.isArray(source)
30
+ ? source
31
+ : undefined;
32
+ }
33
+ function mentionModeScopes(source) {
34
+ const record = sourceRecord(source);
35
+ if (!record)
36
+ return [];
37
+ const scopes = [record];
38
+ const payload = objectRecord(record.payload);
39
+ if (payload)
40
+ scopes.push(payload);
41
+ const envelope = objectRecord(record.envelope);
42
+ if (envelope)
43
+ scopes.push(envelope);
44
+ return scopes;
45
+ }
46
+ export function hasGroupMentionModeField(source) {
47
+ const record = sourceRecord(source);
48
+ if (record && BLOCKED_GROUP_MENTION_MODE_RESULTS.has(record))
49
+ return true;
50
+ return mentionModeScopes(source).some((scope) => (Object.prototype.hasOwnProperty.call(scope, 'mention_mode')
51
+ || Object.prototype.hasOwnProperty.call(scope, 'dispatch_mode')));
52
+ }
53
+ function mentionModeFromSources(sources) {
54
+ const scopes = sources.flatMap(mentionModeScopes);
55
+ for (const scope of scopes) {
56
+ if (Object.prototype.hasOwnProperty.call(scope, 'mention_mode')) {
57
+ return { value: normalizeMentionModeValue(scope.mention_mode) };
58
+ }
59
+ }
60
+ for (const scope of scopes) {
61
+ if (Object.prototype.hasOwnProperty.call(scope, 'dispatch_mode')) {
62
+ return { value: normalizeMentionModeValue(scope.dispatch_mode) };
63
+ }
64
+ }
65
+ return {};
66
+ }
67
+ /** 统一群消息的提及过滤字段,并从应用可见对象中清理旧字段。 */
68
+ export function normalizeGroupMentionMode(message, ...modeSources) {
69
+ const messageRecord = sourceRecord(message);
70
+ if (!messageRecord || typeof message === 'string')
71
+ return message;
72
+ const result = { ...messageRecord };
73
+ const sources = modeSources.length > 0 ? modeSources : [messageRecord];
74
+ const mode = mentionModeFromSources(sources);
75
+ const hasModeField = sources.some(hasGroupMentionModeField);
76
+ delete result.dispatch_mode;
77
+ delete result.mention_mode;
78
+ if (mode.value !== undefined)
79
+ result.mention_mode = mode.value;
80
+ for (const key of ['payload', 'envelope']) {
81
+ const nested = objectRecord(result[key]);
82
+ if (!nested)
83
+ continue;
84
+ const normalized = { ...nested };
85
+ delete normalized.dispatch_mode;
86
+ delete normalized.mention_mode;
87
+ if (mode.value !== undefined)
88
+ normalized.mention_mode = mode.value;
89
+ result[key] = normalized;
90
+ }
91
+ if (hasModeField && mode.value === undefined) {
92
+ BLOCKED_GROUP_MENTION_MODE_RESULTS.add(result);
93
+ }
94
+ return result;
95
+ }
96
+ function normalizeSettingsMapping(settings, allowLegacy) {
97
+ const result = { ...settings };
98
+ let rawMode;
99
+ if (Object.prototype.hasOwnProperty.call(settings, 'mention_mode')) {
100
+ rawMode = settings.mention_mode;
101
+ }
102
+ else if (Object.prototype.hasOwnProperty.call(settings, 'dispatch_mode')) {
103
+ rawMode = allowLegacy ? settings.dispatch_mode : undefined;
104
+ }
105
+ else {
106
+ return result;
107
+ }
108
+ const mentionMode = normalizeMentionModeValue(rawMode);
109
+ delete result.dispatch_mode;
110
+ delete result.mention_mode;
111
+ if (mentionMode !== undefined)
112
+ result.mention_mode = mentionMode;
113
+ return result;
114
+ }
115
+ function normalizeSettingsList(settings, allowLegacy) {
116
+ const isSetting = (item) => (item !== null && typeof item === 'object' && !Array.isArray(item));
117
+ const newModeItem = settings.find((item) => isSetting(item) && item.key === 'mention_mode');
118
+ const oldModeItem = settings.find((item) => isSetting(item) && item.key === 'dispatch_mode');
119
+ const selectedItem = newModeItem ?? (allowLegacy ? oldModeItem : undefined);
120
+ const normalizedMode = selectedItem === undefined
121
+ ? undefined
122
+ : normalizeMentionModeValue(selectedItem.value);
123
+ const result = [];
124
+ let modeEmitted = false;
125
+ for (const item of settings) {
126
+ if (!isSetting(item)) {
127
+ result.push(item);
128
+ continue;
129
+ }
130
+ if (item.key !== 'mention_mode' && item.key !== 'dispatch_mode') {
131
+ result.push({ ...item });
132
+ continue;
133
+ }
134
+ if (item !== selectedItem || normalizedMode === undefined || modeEmitted)
135
+ continue;
136
+ result.push({ ...item, key: 'mention_mode', value: normalizedMode });
137
+ modeEmitted = true;
138
+ }
139
+ return result;
140
+ }
141
+ function hasExplicitMentionMode(response) {
142
+ if (Object.prototype.hasOwnProperty.call(response, 'mention_mode'))
143
+ return true;
144
+ const settings = response.settings;
145
+ if (Array.isArray(settings)) {
146
+ return settings.some((item) => (item !== null
147
+ && typeof item === 'object'
148
+ && !Array.isArray(item)
149
+ && item.key === 'mention_mode'));
150
+ }
151
+ return settings !== null
152
+ && typeof settings === 'object'
153
+ && Object.prototype.hasOwnProperty.call(settings, 'mention_mode');
154
+ }
155
+ function normalizeUpdatedKeys(value) {
156
+ if (!Array.isArray(value))
157
+ return value;
158
+ const result = [];
159
+ for (const key of value) {
160
+ const normalizedKey = key === 'dispatch_mode' ? 'mention_mode' : key;
161
+ if (!result.includes(normalizedKey))
162
+ result.push(normalizedKey);
163
+ }
164
+ return result;
165
+ }
166
+ /** 兼容旧服务端群设置响应,并只向应用暴露 mention_mode。 */
167
+ export function normalizeGroupSettingsResponse(response) {
168
+ if (response === null || typeof response !== 'object' || Array.isArray(response))
169
+ return response;
170
+ const responseRecord = response;
171
+ const allowLegacy = !hasExplicitMentionMode(responseRecord);
172
+ const result = normalizeSettingsMapping(responseRecord, allowLegacy);
173
+ if (Array.isArray(result.settings)) {
174
+ result.settings = normalizeSettingsList(result.settings, allowLegacy);
175
+ }
176
+ else if (result.settings !== null && typeof result.settings === 'object') {
177
+ result.settings = normalizeSettingsMapping(result.settings, allowLegacy);
178
+ }
179
+ if (Object.prototype.hasOwnProperty.call(result, 'updated_keys')) {
180
+ result.updated_keys = normalizeUpdatedKeys(result.updated_keys);
181
+ }
182
+ return result;
183
+ }
184
+ //# sourceMappingURL=mention-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-mode.js","sourceRoot":"","sources":["../../src/client/mention-mode.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,6 @@ export declare class PeerDirectory {
5
5
  constructor(runtime: ClientRuntime);
6
6
  cachePeer(aid: AID): AID;
7
7
  getPeer(aid: string): AID | null;
8
- lookupPeer(aid: string): Promise<AID>;
8
+ lookupPeer(aid: string, certFingerprint?: string | null): Promise<AID>;
9
9
  peers(): AID[];
10
10
  }
@@ -1,3 +1,5 @@
1
+ import { AID } from '../aid.js';
2
+ import { certMatchesFingerprint } from '../cert-utils.js';
1
3
  import { NotFoundError, StateError, ValidationError } from '../errors.js';
2
4
  export class PeerDirectory {
3
5
  runtime;
@@ -19,17 +21,38 @@ export class PeerDirectory {
19
21
  throw new StateError('getPeer requires a loaded identity');
20
22
  return client._peerCache.get(String(aid ?? '').trim()) ?? null;
21
23
  }
22
- async lookupPeer(aid) {
24
+ async lookupPeer(aid, certFingerprint) {
23
25
  const client = this.runtime.client;
24
26
  if (!client.hasIdentity)
25
27
  throw new StateError('lookupPeer requires a loaded identity');
26
28
  const target = String(aid ?? '').trim();
29
+ const expectedFp = String(certFingerprint ?? '').trim().toLowerCase();
27
30
  if (!target)
28
31
  throw new ValidationError('lookupPeer requires non-empty aid');
29
32
  const cached = client._peerCache.get(target);
30
- if (cached)
33
+ if (cached && (!expectedFp || certMatchesFingerprint(cached.certPem, expectedFp)))
31
34
  return cached;
32
- throw new NotFoundError(`peer not found in cache: ${target}`);
35
+ const certPem = String(await (expectedFp
36
+ ? client._fetchPeerCert(target, expectedFp)
37
+ : client._fetchPeerCert(target)) ?? '').trim();
38
+ if (!certPem)
39
+ throw new NotFoundError(`certificate not found for aid: ${target}`);
40
+ const peer = AID._create({
41
+ aid: target,
42
+ aunPath: String(client._currentAid?.aunPath ?? client._configModel?.aunPath ?? ''),
43
+ certPem,
44
+ privateKeyPem: null,
45
+ certValid: true,
46
+ privateKeyValid: false,
47
+ deviceId: String(client._deviceId ?? ''),
48
+ slotId: String(client._slotId ?? 'default'),
49
+ verifySsl: Boolean(client._configModel?.verifySsl),
50
+ rootCaPath: client._configModel?.rootCaPath ?? null,
51
+ debug: Boolean(client._configModel?.debug),
52
+ });
53
+ if (!expectedFp)
54
+ client._peerCache.set(target, peer);
55
+ return peer;
33
56
  }
34
57
  peers() {
35
58
  const client = this.runtime.client;
@@ -1 +1 @@
1
- {"version":3,"file":"peers.js","sourceRoot":"","sources":["../../src/client/peers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG1E,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,OAAsB;QAAtB,YAAO,GAAP,OAAO,CAAe;IAAG,CAAC;IAEvD,SAAS,CAAC,GAAQ;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,UAAU,CAAC,sCAAsC,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YAAE,MAAM,IAAI,eAAe,CAAC,oDAAoD,CAAC,CAAC;QACxG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,eAAe,CAAC,mCAAmC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,IAAI,aAAa,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAE,MAAM,CAAC,UAA+B,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;CACF"}
1
+ {"version":3,"file":"peers.js","sourceRoot":"","sources":["../../src/client/peers.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export interface RpcPreflightResult {
6
6
  }
7
7
  export declare class RpcPipeline {
8
8
  private readonly runtime;
9
+ private readonly pullGateStates;
10
+ private readonly inlineRealtimeScopes;
11
+ private readonly bypassedPullScopes;
9
12
  constructor(runtime: ClientRuntime);
10
13
  call(method: string, params?: RpcParams): Promise<RpcResult>;
11
14
  preflight(method: string, params?: RpcParams): RpcPreflightResult;
@@ -17,10 +20,26 @@ export declare class RpcPipeline {
17
20
  shouldSkipClientSignature(method: string, params: RpcParams): boolean;
18
21
  signClientOperation(method: string, params: RpcParams): void;
19
22
  pullGateKeyForCall(method: string, params: RpcParams): string;
23
+ pullGateBackgroundForCall(method: string, params: RpcParams): boolean;
24
+ private pullGateName;
25
+ private pullGateState;
26
+ private pullScopeKey;
27
+ private hasInlineRealtimeGuard;
28
+ private executeBypassedPull;
20
29
  isPullResponseProcessing(key: string): boolean;
30
+ hasPullActivity(namespace: string): boolean;
31
+ tryRunInlineRealtime<T>(namespace: string, seq: number, operation: () => Promise<T> | T): Promise<{
32
+ acquired: boolean;
33
+ value?: T;
34
+ }>;
21
35
  tryAcquirePullGate(key: string): number | null;
22
36
  releasePullGate(key: string, token: number | null): void;
23
- runPullSerialized<T>(key: string, operation: () => Promise<T> | T): Promise<T>;
37
+ runPullSerialized<T>(key: string, operation: () => Promise<T> | T, background?: boolean): Promise<T>;
38
+ private executePullOperation;
39
+ private waitForCoalesced;
40
+ private bypassQueuedPull;
41
+ private drainPullGate;
42
+ private armQueuedPullTimers;
24
43
  rawCall(method: string, params?: RpcParams, opts?: {
25
44
  timeout?: number;
26
45
  trace?: string;