@agentunion/fastaun 0.5.0 → 0.5.2

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 (114) hide show
  1. package/CHANGELOG.md +561 -472
  2. package/_packed_docs/CHANGELOG-validators.md +147 -0
  3. package/_packed_docs/CHANGELOG.md +561 -472
  4. package/_packed_docs/INDEX.md +201 -177
  5. package/_packed_docs/KITE_DOCS_GUIDE.md +38 -32
  6. 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 +169 -116
  7. package/_packed_docs/aun-perf-audit-critical-bugs.md +315 -0
  8. package/_packed_docs/cli/AUN-CLI/350/256/276/350/256/241/346/226/207/346/241/243.md +263 -260
  9. package/_packed_docs/cli/CLI/346/211/213/345/206/214.md +331 -0
  10. package/_packed_docs/protocol/00-/346/200/273/350/247/210/344/270/216/345/210/206/345/261/202.md +2 -2
  11. 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 +1 -1
  12. 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 +39 -16
  13. package/_packed_docs/protocol/03-Gateway-/350/277/236/346/216/245/346/250/241/345/274/217.md +8 -5
  14. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +18 -19
  15. 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 +1 -1
  16. package/_packed_docs/protocol/08-AUN-E2EE-Group.md +139 -746
  17. package/_packed_docs/protocol/08-AUN-E2EE.md +12 -10
  18. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +117 -171
  19. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +6 -0
  20. 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 +1 -1
  21. 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
  22. package/_packed_docs/protocol/README.md +5 -4
  23. package/_packed_docs/protocol/aun-docs-guide.md +2 -2
  24. package/_packed_docs/protocol/index.md +12 -7
  25. 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 +1 -1
  26. package/_packed_docs/protocol//351/231/204/345/275/225A-/346/234/257/350/257/255/350/241/250.md +13 -13
  27. package/_packed_docs/protocol//351/231/204/345/275/225L-E2EE/345/256/236/347/216/260/346/214/207/345/215/227.md +9 -9
  28. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +15 -13
  29. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +26 -18
  30. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +35 -284
  31. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +473 -442
  32. package/_packed_docs/sdk/07-/351/224/231/350/257/257/345/244/204/347/220/206.md +11 -7
  33. package/_packed_docs/sdk/09-collab-rpc-manual.md +581 -550
  34. package/_packed_docs/sdk/09-group-rpc-manual.md +367 -433
  35. package/_packed_docs/sdk/09-message-rpc-manual.md +50 -28
  36. package/_packed_docs/sdk/09-payload-reference.md +3 -3
  37. package/_packed_docs/sdk/09-storage-rpc-manual.md +57 -20
  38. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +18 -17
  39. 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 +3 -2
  40. package/_packed_docs/sdk/INDEX.md +25 -24
  41. package/_packed_docs/sdk/Notify/351/200/232/347/237/245/346/226/271/346/241/210.md +6 -2
  42. package/dist/agent-md.js +18 -9
  43. package/dist/agent-md.js.map +1 -1
  44. package/dist/client/delivery.d.ts +9 -0
  45. package/dist/client/delivery.js +157 -24
  46. package/dist/client/delivery.js.map +1 -1
  47. package/dist/client/group-state.js +33 -11
  48. package/dist/client/group-state.js.map +1 -1
  49. package/dist/client/rpc-pipeline.d.ts +1 -0
  50. package/dist/client/rpc-pipeline.js +127 -40
  51. package/dist/client/rpc-pipeline.js.map +1 -1
  52. package/dist/client/v2-e2ee.d.ts +6 -1
  53. package/dist/client/v2-e2ee.js +284 -140
  54. package/dist/client/v2-e2ee.js.map +1 -1
  55. package/dist/client.d.ts +8 -1
  56. package/dist/client.js +227 -31
  57. package/dist/client.js.map +1 -1
  58. package/dist/collab/client.d.ts +8 -0
  59. package/dist/collab/client.js +12 -0
  60. package/dist/collab/client.js.map +1 -1
  61. package/dist/errors.d.ts +0 -20
  62. package/dist/errors.js +8 -53
  63. package/dist/errors.js.map +1 -1
  64. package/dist/facades.d.ts +9 -4
  65. package/dist/facades.js +137 -15
  66. package/dist/facades.js.map +1 -1
  67. package/dist/group-fs.d.ts +26 -9
  68. package/dist/group-fs.js +84 -84
  69. package/dist/group-fs.js.map +1 -1
  70. package/dist/group-id.d.ts +9 -12
  71. package/dist/group-id.js +41 -63
  72. package/dist/group-id.js.map +1 -1
  73. package/dist/index.d.ts +4 -2
  74. package/dist/index.js +4 -1
  75. package/dist/index.js.map +1 -1
  76. package/dist/keystore/aid-db.d.ts +1 -0
  77. package/dist/keystore/aid-db.js +37 -37
  78. package/dist/keystore/aid-db.js.map +1 -1
  79. package/dist/keystore/local-identity-store.d.ts +16 -0
  80. package/dist/keystore/local-identity-store.js +190 -18
  81. package/dist/keystore/local-identity-store.js.map +1 -1
  82. package/dist/keystore/local-token-store.d.ts +0 -13
  83. package/dist/keystore/local-token-store.js +0 -105
  84. package/dist/keystore/local-token-store.js.map +1 -1
  85. package/dist/logger.d.ts +2 -0
  86. package/dist/logger.js +4 -0
  87. package/dist/logger.js.map +1 -1
  88. package/dist/storage/lowlevel.d.ts +9 -1
  89. package/dist/storage/lowlevel.js +12 -1
  90. package/dist/storage/lowlevel.js.map +1 -1
  91. package/dist/storage/types.d.ts +0 -1
  92. package/dist/storage/types.js.map +1 -1
  93. package/dist/storage/vfs.d.ts +22 -3
  94. package/dist/storage/vfs.js +89 -54
  95. package/dist/storage/vfs.js.map +1 -1
  96. package/dist/tools/cross-sdk-agent.js +336 -49
  97. package/dist/tools/cross-sdk-agent.js.map +1 -1
  98. package/dist/transport.d.ts +2 -0
  99. package/dist/transport.js +52 -3
  100. package/dist/transport.js.map +1 -1
  101. package/dist/types.d.ts +38 -0
  102. package/dist/v2/session/session.d.ts +2 -0
  103. package/dist/v2/session/session.js +53 -23
  104. package/dist/v2/session/session.js.map +1 -1
  105. package/dist/v2/state/commitment.d.ts +1 -1
  106. package/dist/v2/state/commitment.js +4 -2
  107. package/dist/v2/state/commitment.js.map +1 -1
  108. package/dist/validators.d.ts +32 -0
  109. package/dist/validators.js +128 -0
  110. package/dist/validators.js.map +1 -0
  111. package/dist/version.d.ts +1 -1
  112. package/dist/version.js +1 -1
  113. package/package.json +46 -46
  114. package/_packed_docs/collab-gateway-boundary-test-report.md +0 -164
@@ -198,70 +198,51 @@ export class StorageVFS {
198
198
  sha256: textValue(ticket.sha256),
199
199
  };
200
200
  }
201
- async downloadFile(path, localPathOrOptions = {}, maybeOptions = {}) {
202
- if (typeof localPathOrOptions === 'string') {
203
- const localPath = localPathOrOptions;
204
- const options = maybeOptions;
205
- const owner = this.owner(options.owner);
206
- const bucket = options.bucket ?? 'default';
207
- const objectKey = pathToKey(path);
208
- const ticket = await this.lowlevel.createDownloadTicket({ owner, bucket, objectKey, token: options.token });
209
- const downloadUrl = String(ticket.download_url ?? '');
210
- if (!downloadUrl)
211
- throw new StorageError(`create_download_ticket did not return download_url`, 'ESTORAGE', path);
212
- let targetPath = localPath;
213
- const localInfo = await statOrNull(targetPath);
214
- if (localInfo?.isDirectory()) {
215
- targetPath = join(targetPath, textValue(ticket.file_name) || basename(objectKey));
216
- }
217
- const targetInfo = await statOrNull(targetPath);
218
- const overwrite = options.overwrite ?? false;
219
- if (targetInfo) {
220
- if (targetInfo.isDirectory())
221
- throw new StorageError(`local path is a directory: ${targetPath}`, 'EISDIR', targetPath);
222
- if (!overwrite)
223
- throw new StorageExistsError(`local path already exists: ${targetPath}`, 'EEXIST', targetPath);
224
- }
225
- const data = await this.lowlevel.httpGet(downloadUrl);
226
- const actualSha = await sha256Hex(data);
227
- const expectedSha = textValue(ticket.sha256);
228
- const expected = expectedSha.toLowerCase();
229
- const verified = !expected || actualSha.toLowerCase() === expected;
230
- if (!verified && (options.verifyHash ?? true)) {
231
- throw new StorageError(`hash mismatch: expected=${expected} actual=${actualSha.toLowerCase()}`, 'EHASH', path);
232
- }
233
- await mkdir(dirname(targetPath), { recursive: true });
234
- try {
235
- await writeFile(targetPath, data, { flag: overwrite ? 'w' : 'wx' });
236
- }
237
- catch (exc) {
238
- if (!overwrite && exc?.code === 'EEXIST') {
239
- throw new StorageExistsError(`local path already exists: ${targetPath}`, 'EEXIST', targetPath);
240
- }
241
- throw exc;
242
- }
243
- return {
244
- path,
245
- localPath: targetPath,
246
- size: data.length,
247
- sha256: expectedSha || actualSha,
248
- verified,
249
- };
201
+ async downloadFile(path, localPath, options = {}) {
202
+ const owner = this.owner(options.owner);
203
+ const bucket = options.bucket ?? 'default';
204
+ const objectKey = pathToKey(path);
205
+ const ticket = await this.lowlevel.createDownloadTicket({ owner, bucket, objectKey, token: options.token });
206
+ const downloadUrl = String(ticket.download_url ?? '');
207
+ if (!downloadUrl)
208
+ throw new StorageError(`create_download_ticket did not return download_url`, 'ESTORAGE', path);
209
+ let targetPath = localPath;
210
+ const localInfo = await statOrNull(targetPath);
211
+ if (localInfo?.isDirectory()) {
212
+ targetPath = join(targetPath, textValue(ticket.file_name) || basename(objectKey));
213
+ }
214
+ const targetInfo = await statOrNull(targetPath);
215
+ const overwrite = options.overwrite ?? false;
216
+ if (targetInfo) {
217
+ if (targetInfo.isDirectory())
218
+ throw new StorageError(`local path is a directory: ${targetPath}`, 'EISDIR', targetPath);
219
+ if (!overwrite)
220
+ throw new StorageExistsError(`local path already exists: ${targetPath}`, 'EEXIST', targetPath);
250
221
  }
251
- const options = localPathOrOptions;
252
- const { data, sha256: expectedSha } = await this.readBytesWithMetadata(path, options);
222
+ const data = await this.lowlevel.httpGet(downloadUrl);
253
223
  const actualSha = await sha256Hex(data);
224
+ const expectedSha = textValue(ticket.sha256);
254
225
  const expected = expectedSha.toLowerCase();
255
- const verified = Boolean(expected) && actualSha.toLowerCase() === expected;
256
- if (!verified && expected && (options.verifyHash ?? true)) {
226
+ const verified = !expected || actualSha.toLowerCase() === expected;
227
+ if (!verified && (options.verifyHash ?? true)) {
257
228
  throw new StorageError(`hash mismatch: expected=${expected} actual=${actualSha.toLowerCase()}`, 'EHASH', path);
258
229
  }
230
+ await mkdir(dirname(targetPath), { recursive: true });
231
+ try {
232
+ await writeFile(targetPath, data, { flag: overwrite ? 'w' : 'wx' });
233
+ }
234
+ catch (exc) {
235
+ if (!overwrite && exc?.code === 'EEXIST') {
236
+ throw new StorageExistsError(`local path already exists: ${targetPath}`, 'EEXIST', targetPath);
237
+ }
238
+ throw exc;
239
+ }
259
240
  return {
260
241
  path,
242
+ localPath: targetPath,
261
243
  size: data.length,
262
244
  sha256: expectedSha || actualSha,
263
245
  verified,
264
- data,
265
246
  };
266
247
  }
267
248
  async list(path, options = {}) {
@@ -305,6 +286,18 @@ export class StorageVFS {
305
286
  const raw = await this.lowlevel.fsMkdir({ owner: this.owner(options.owner), bucket: options.bucket ?? 'default', path: pathToKey(path), parents: options.parents });
306
287
  return nodeFromAny(raw.node ?? raw);
307
288
  }
289
+ async touch(path, options = {}) {
290
+ const raw = await this.lowlevel.fsTouch({
291
+ owner: this.owner(options.owner),
292
+ bucket: options.bucket ?? 'default',
293
+ path: pathToKey(path),
294
+ parents: options.parents,
295
+ noCreate: options.noCreate,
296
+ mtime: options.mtime,
297
+ followSymlinks: options.followSymlinks,
298
+ });
299
+ return nodeFromAny(raw.node ?? raw);
300
+ }
308
301
  async remove(path, options = {}) {
309
302
  const raw = await this.lowlevel.fsRemove({ owner: this.owner(options.owner), bucket: options.bucket ?? 'default', path: pathToKey(path), recursive: options.recursive });
310
303
  return { path, removedCount: Number(raw.removed_count ?? raw.deleted_count ?? 0) };
@@ -348,6 +341,48 @@ export class StorageVFS {
348
341
  const raw = await this.lowlevel.fsDf({ owner, bucket: options.bucket ?? 'default' });
349
342
  return usageFromAny(raw, owner ?? undefined);
350
343
  }
344
+ async du(path, options = {}) {
345
+ const nodes = await this.find(path, {
346
+ owner: options.owner,
347
+ bucket: options.bucket,
348
+ page: 1,
349
+ pageSize: options.pageSize ?? 1000,
350
+ token: options.token,
351
+ });
352
+ const rootParts = pathToKey(path).split('/').filter(Boolean);
353
+ let sizeBytes = 0;
354
+ let fileCount = 0;
355
+ let dirCount = 0;
356
+ let symlinkCount = 0;
357
+ let truncated = false;
358
+ for (const node of nodes) {
359
+ const nodeParts = pathToKey(node.path).split('/').filter(Boolean);
360
+ const depth = Math.max(0, nodeParts.length - rootParts.length);
361
+ if (options.maxDepth !== undefined && depth > options.maxDepth) {
362
+ truncated = true;
363
+ continue;
364
+ }
365
+ if (node.type === 'file') {
366
+ fileCount += 1;
367
+ sizeBytes += node.size;
368
+ }
369
+ else if (node.type === 'dir') {
370
+ dirCount += 1;
371
+ }
372
+ else if (node.type === 'symlink') {
373
+ symlinkCount += 1;
374
+ }
375
+ }
376
+ return {
377
+ path,
378
+ sizeBytes,
379
+ fileCount,
380
+ dirCount,
381
+ symlinkCount,
382
+ maxDepth: options.maxDepth,
383
+ truncated,
384
+ };
385
+ }
351
386
  async mount(source, mountPath, options = {}) {
352
387
  const owner = this.owner(options.owner);
353
388
  const mountRef = parsePathLike(mountPath, owner);
@@ -1 +1 @@
1
- {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../src/storage/vfs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vfs.js","sourceRoot":"","sources":["../../src/storage/vfs.ts"],"names":[],"mappings":"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"}