@agentunion/fastaun 0.5.20 → 0.5.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/_packed_docs/CHANGELOG.md +47 -0
  3. package/_packed_docs/INDEX.md +453 -440
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +164 -161
  5. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/344/270/216/346/215/242owner/347/274/226/346/216/222/346/226/271/346/241/210.md +530 -0
  6. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/345/256/214/346/225/264/350/256/276/350/256/241/344/270/216/345/256/236/346/226/275/350/256/241/345/210/222.md +685 -0
  7. package/_packed_docs/agent.md/working/agent.md-schema/344/270/216/347/255/276/345/217/221/351/252/214/347/255/276/346/265/201/347/250/213/346/276/204/346/270/205.md +349 -0
  8. package/_packed_docs/agent.md/working//346/234/254/345/234/260Docker/346/265/213/350/257/225Bug/346/270/205/345/215/225.md +40 -0
  9. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +1433 -1392
  10. package/_packed_docs/protocol/08-AUN-E2EE.md +17 -12
  11. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +2 -0
  12. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +666 -658
  13. package/_packed_docs/sdk/0.5.21-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +368 -0
  14. package/_packed_docs/sdk/0.5.21-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +350 -0
  15. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +1 -1
  16. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +5 -1
  17. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +64 -64
  18. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +4 -1
  19. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +42 -39
  20. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +147 -14
  21. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +48 -47
  22. package/_packed_docs/sdk/09-group-rpc-manual.md +5 -2
  23. package/_packed_docs/sdk/09-message-rpc-manual.md +250 -160
  24. package/_packed_docs/sdk/09-/345/207/255/350/257/201/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +71 -0
  25. package/_packed_docs/sdk/09-/347/273/204/347/273/207/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +88 -0
  26. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +134 -130
  27. package/_packed_docs/sdk/INDEX.md +239 -221
  28. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +930 -922
  29. package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +106 -43
  30. package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +180 -9
  31. package/_packed_docs/sdk/Ownership2.1-TDD/345/210/206/351/230/266/346/256/265/345/256/236/346/226/275/350/256/241/345/210/222.md +708 -708
  32. package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +480 -476
  33. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +1 -1
  34. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +2 -2
  35. package/dist/agent-md-schema.js +6 -4
  36. package/dist/agent-md-schema.js.map +1 -1
  37. package/dist/agent-md.d.ts +22 -2
  38. package/dist/agent-md.js +84 -67
  39. package/dist/agent-md.js.map +1 -1
  40. package/dist/aid-store.d.ts +13 -0
  41. package/dist/aid-store.js +50 -15
  42. package/dist/aid-store.js.map +1 -1
  43. package/dist/auth.js +4 -0
  44. package/dist/auth.js.map +1 -1
  45. package/dist/cert-utils.d.ts +1 -0
  46. package/dist/cert-utils.js +13 -0
  47. package/dist/cert-utils.js.map +1 -1
  48. package/dist/client/delivery.d.ts +59 -1
  49. package/dist/client/delivery.js +1018 -125
  50. package/dist/client/delivery.js.map +1 -1
  51. package/dist/client/rpc-pipeline.d.ts +4 -1
  52. package/dist/client/rpc-pipeline.js +123 -37
  53. package/dist/client/rpc-pipeline.js.map +1 -1
  54. package/dist/client/v2-e2ee.d.ts +12 -2
  55. package/dist/client/v2-e2ee.js +751 -294
  56. package/dist/client/v2-e2ee.js.map +1 -1
  57. package/dist/client.d.ts +26 -2
  58. package/dist/client.js +379 -63
  59. package/dist/client.js.map +1 -1
  60. package/dist/config.d.ts +4 -0
  61. package/dist/config.js +1 -0
  62. package/dist/config.js.map +1 -1
  63. package/dist/events.d.ts +18 -1
  64. package/dist/events.js +148 -9
  65. package/dist/events.js.map +1 -1
  66. package/dist/facades.d.ts +43 -1
  67. package/dist/facades.js +363 -7
  68. package/dist/facades.js.map +1 -1
  69. package/dist/index.d.ts +5 -3
  70. package/dist/index.js +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/keystore/aid-db.d.ts +6 -1
  73. package/dist/keystore/aid-db.js +184 -42
  74. package/dist/keystore/aid-db.js.map +1 -1
  75. package/dist/keystore/index.d.ts +14 -0
  76. package/dist/keystore/local-token-store.d.ts +9 -1
  77. package/dist/keystore/local-token-store.js +79 -14
  78. package/dist/keystore/local-token-store.js.map +1 -1
  79. package/dist/org-protocol.d.ts +45 -0
  80. package/dist/org-protocol.js +754 -11
  81. package/dist/org-protocol.js.map +1 -1
  82. package/dist/ownership-v21.d.ts +16 -3
  83. package/dist/ownership-v21.js +35 -17
  84. package/dist/ownership-v21.js.map +1 -1
  85. package/dist/ownership-workflow.d.ts +17 -0
  86. package/dist/ownership-workflow.js +511 -26
  87. package/dist/ownership-workflow.js.map +1 -1
  88. package/dist/secret-store/file-store.js +84 -0
  89. package/dist/secret-store/file-store.js.map +1 -1
  90. package/dist/seq-tracker.d.ts +1 -0
  91. package/dist/seq-tracker.js +2 -2
  92. package/dist/seq-tracker.js.map +1 -1
  93. package/dist/tools/cross-sdk-agent.d.ts +66 -3
  94. package/dist/tools/cross-sdk-agent.js +466 -36
  95. package/dist/tools/cross-sdk-agent.js.map +1 -1
  96. package/dist/transport.d.ts +3 -0
  97. package/dist/transport.js +98 -44
  98. package/dist/transport.js.map +1 -1
  99. package/dist/types.d.ts +1 -0
  100. package/dist/v2/e2ee/encrypt-group.js +1 -0
  101. package/dist/v2/e2ee/encrypt-group.js.map +1 -1
  102. package/dist/v2/e2ee/encrypt-p2p.js +1 -0
  103. package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
  104. package/dist/v2/e2ee/types.d.ts +1 -0
  105. package/dist/version.d.ts +1 -1
  106. package/dist/version.js +1 -1
  107. package/package.json +1 -1
@@ -44,6 +44,15 @@ export interface OwnershipFile {
44
44
  action?: 'declare' | 'release' | 'transfer_owner';
45
45
  transfer?: OwnershipTransferV21;
46
46
  }
47
+ export interface OwnershipOwnerMd {
48
+ owner_aid: string;
49
+ bucket: string;
50
+ path: string;
51
+ exists: boolean;
52
+ content: string;
53
+ sha256: string;
54
+ observed_at: number;
55
+ }
47
56
  export interface OwnershipConsensusResult {
48
57
  status: OwnershipConsensusStatus;
49
58
  sub_aid: string;
@@ -53,6 +62,7 @@ export interface OwnershipConsensusResult {
53
62
  agent_md_etag: string;
54
63
  agent_md_sha256: string;
55
64
  owner_md_sha256: string;
65
+ owner_md?: OwnershipOwnerMd;
56
66
  code?: string;
57
67
  reason?: string;
58
68
  retryable?: boolean;
@@ -79,6 +89,7 @@ export interface OwnershipAgentObservation {
79
89
  recovery_ready?: boolean;
80
90
  }
81
91
  export interface OwnershipOwnerObservation {
92
+ revision?: string;
82
93
  owner_aid: string;
83
94
  sub_aid?: string;
84
95
  bucket: string;
@@ -105,6 +116,7 @@ export interface OwnershipSavedFile {
105
116
  exists: boolean;
106
117
  raw: string;
107
118
  sha256: string;
119
+ revision?: string;
108
120
  };
109
121
  expires_at?: number;
110
122
  deleted?: boolean;
@@ -133,6 +145,7 @@ export interface OwnershipFileTask {
133
145
  };
134
146
  authorization_sha256?: string;
135
147
  expires_at?: number;
148
+ assertActive?(): void;
136
149
  persist(): Promise<void>;
137
150
  }
138
151
  export interface OwnershipFileDependencies {
@@ -140,9 +153,9 @@ export interface OwnershipFileDependencies {
140
153
  currentType?(): string;
141
154
  now(): number;
142
155
  readAgentMdFresh(subAid: string): Promise<OwnershipAgentObservation>;
143
- submitAgentMdRaw(subAid: string, raw: string, condition: OwnershipSavedFile['condition']): Promise<OwnershipAgentObservation>;
156
+ submitAgentMdRaw(subAid: string, raw: string, condition: OwnershipSavedFile['condition'], assertActive?: () => void): Promise<OwnershipAgentObservation>;
144
157
  readOwnerMd(ownerAid: string, subAid: string): Promise<OwnershipOwnerObservation>;
145
- writeOwnerMd(ownerAid: string, subAid: string, raw: string): Promise<OwnershipOwnerObservation>;
158
+ writeOwnerMd(ownerAid: string, subAid: string, raw: string, original?: Pick<OwnershipOwnerObservation, 'exists' | 'content' | 'sha256' | 'version'>, assertActive?: () => void): Promise<OwnershipOwnerObservation>;
146
159
  deleteOwnerMd(ownerAid: string, subAid: string): Promise<unknown>;
147
160
  resolveCertificate(aid: string, fingerprint: string, purpose?: 'signing' | 'group_identity'): Promise<OwnershipCertificate>;
148
161
  }
@@ -189,7 +202,7 @@ export declare class OwnershipStorageAdapter {
189
202
  private metadata;
190
203
  readObject(ownerAid: string, path: string): Promise<OwnershipOwnerObservation>;
191
204
  readOwnerMd(ownerAid: string, subAid: string): Promise<OwnershipOwnerObservation>;
192
- writeOwnerMd(ownerAid: string, subAid: string, raw: string): Promise<OwnershipOwnerObservation>;
205
+ writeOwnerMd(ownerAid: string, subAid: string, raw: string, original?: Pick<OwnershipOwnerObservation, 'exists' | 'content' | 'sha256' | 'version'>, assertActive?: () => void): Promise<OwnershipOwnerObservation>;
193
206
  deleteOwnerMd(ownerAid: string, subAid: string): Promise<void>;
194
207
  private requireLocal;
195
208
  }
@@ -1,5 +1,5 @@
1
1
  import { createHash, randomUUID } from 'node:crypto';
2
- import { updateOwnershipAgentMd } from './agent-md.js';
2
+ import { buildDefaultAgentMd, updateOwnershipAgentMd } from './agent-md.js';
3
3
  import { parseFileFrontmatter, validateAgentMdCertificate, validateAgentMdDocument } from './agent-md-schema.js';
4
4
  import { certFingerprint, isStrictBase64, parseAgentMdTailSignature, publicKeyMatchesFingerprint, signDocument, verifyDocument } from './cert-utils.js';
5
5
  import { StateError, ValidationError } from './errors.js';
@@ -124,7 +124,7 @@ export function parseOwnershipFile(content, role, context = {}) {
124
124
  let action;
125
125
  let transfer;
126
126
  if (role === 'agent') {
127
- frontmatter = validateAgentMdDocument(parsed.payload, { expectedAid: context.expectedSubAid, validateOwnership: false, now: context.now }).frontmatter;
127
+ frontmatter = validateAgentMdDocument(parsed.payload, { expectedAid: context.expectedSubAid, validateOwnership: true, now: context.now }).frontmatter;
128
128
  requireOwnershipApplicable(frontmatter.type);
129
129
  statement = validateOwnershipAgentFrontmatter(frontmatter, context.expectedSubAid);
130
130
  if (context.expectedOwnerAid && statement && statement.owner_aid !== context.expectedOwnerAid)
@@ -258,6 +258,7 @@ export class OwnershipFiles {
258
258
  const owner = await this.readOwner(ownerAid, subAid);
259
259
  ownerBefore = owner;
260
260
  result.owner_md_sha256 = owner.exists ? owner.sha256 ?? '' : '';
261
+ result.owner_md = { owner_aid: ownerAid, bucket: 'default', path: `sub_aids/${subAid}/owner.md`, exists: owner.exists, content: owner.content, sha256: owner.sha256 ?? '', observed_at: owner.observed_at };
261
262
  if (owner.exists) {
262
263
  const declaration = await this.verifyFile(owner.content, 'owner', subAid, ownerAid);
263
264
  if (statement) {
@@ -337,7 +338,7 @@ export class OwnershipFiles {
337
338
  const parsed = parseOwnershipFile(agent.content, 'agent', { expectedSubAid: task.sub_aid });
338
339
  if (!parsed.statement && agent.relation_version === 0)
339
340
  return {};
340
- if (agent.relation_version !== task.target_relation_version)
341
+ if (agent.relation_version !== task.base_relation_version)
341
342
  throw ownershipFailure('conflict', 'release relation_version changed');
342
343
  if (parsed.statement && (parsed.statement.owner_aid !== task.owner_aid || parsed.statement.relation_version !== task.base_relation_version))
343
344
  throw ownershipFailure('conflict', 'agent.md no longer contains the released relation');
@@ -385,8 +386,10 @@ export class OwnershipFiles {
385
386
  const beforeDelete = await this.readOwner(task.owner_aid, task.sub_aid);
386
387
  if (beforeDelete.exists && (beforeDelete.content !== source.raw || beforeDelete.sha256 !== source.hash))
387
388
  throw ownershipFailure('conflict', 'owner file changed before cleanup');
388
- if (beforeDelete.exists)
389
+ if (beforeDelete.exists) {
390
+ task.assertActive?.();
389
391
  await this.deps.deleteOwnerMd(task.owner_aid, task.sub_aid);
392
+ }
390
393
  task.files.cleanup.deleted = true;
391
394
  await task.persist();
392
395
  }
@@ -462,10 +465,14 @@ export class OwnershipFiles {
462
465
  }
463
466
  async assertBase(task, agent) {
464
467
  ownershipInteger(task.base_relation_version, 'base_relation_version', 0);
465
- if (ownershipInteger(task.target_relation_version, 'target_relation_version') !== task.base_relation_version + (task.operation === 'release' ? 0 : 1) || agent.relation_version !== task.base_relation_version)
468
+ const target = ownershipInteger(task.target_relation_version, 'target_relation_version');
469
+ if (target !== task.base_relation_version + 1 && !(task.operation === 'release' && target === task.base_relation_version) || agent.relation_version !== task.base_relation_version)
466
470
  throw ownershipFailure('conflict', 'NS relation_version changed');
467
- if (!agent.exists)
468
- throw ownershipFailure('unavailable', 'initial agent.md is not published', true);
471
+ if (!agent.exists) {
472
+ if (task.operation !== 'bind' || task.base_relation_version !== 0 || agent.lock !== 'unlocked' || task.base_agent_md?.exists)
473
+ throw ownershipFailure('conflict', 'original agent.md is missing');
474
+ return;
475
+ }
469
476
  const parsed = await this.verifyFile(agent.content, 'agent', task.sub_aid);
470
477
  const base = task.base_agent_md;
471
478
  if (base && (agent.exists !== base.exists || (base.statement ? !parsed.statement || Object.keys(base.statement).some((field) => base.statement[field] !== parsed.statement[field]) : parsed.statement || agent.content !== base.raw || ownershipSha256(agent.content) !== base.sha256)))
@@ -524,6 +531,8 @@ export class OwnershipFiles {
524
531
  await task.persist();
525
532
  }
526
533
  await this.verifyFile(saved.raw, 'owner', task.sub_aid, ownerAid);
534
+ if (saved.original_owner?.revision && current.revision !== saved.original_owner.revision)
535
+ throw ownershipFailure('conflict', 'legacy owner original revision changed');
527
536
  if (current.exists && current.sha256 === saved.hash && current.content === saved.raw) {
528
537
  await task.persist();
529
538
  return current;
@@ -539,9 +548,12 @@ export class OwnershipFiles {
539
548
  if (key === 'transfer' && saved.expires_at <= this.deps.now())
540
549
  throw ownershipFailure('conflict', 'transfer authorization expired');
541
550
  const beforeWrite = await this.readOwner(ownerAid, task.sub_aid);
551
+ if (original.revision && beforeWrite.revision !== original.revision)
552
+ throw ownershipFailure('conflict', 'legacy owner original revision changed before publication');
542
553
  if (beforeWrite.exists !== original.exists || beforeWrite.content !== original.raw || (beforeWrite.exists ? beforeWrite.sha256 : '') !== original.sha256)
543
554
  throw ownershipFailure('conflict', 'owner file original material changed before publication');
544
- const published = await this.deps.writeOwnerMd(ownerAid, task.sub_aid, saved.raw);
555
+ task.assertActive?.();
556
+ const published = await this.deps.writeOwnerMd(ownerAid, task.sub_aid, saved.raw, beforeWrite, task.assertActive);
545
557
  if (!published.exists || published.sha256 !== saved.hash || published.content !== saved.raw)
546
558
  throw ownershipFailure('unavailable', 'owner publication could not be verified', true);
547
559
  await task.persist();
@@ -554,7 +566,7 @@ export class OwnershipFiles {
554
566
  const fields = await prepare(current);
555
567
  if (cleanup && !parseOwnershipFile(current.content, 'agent', { now: this.deps.now() }).statement)
556
568
  return current;
557
- const payload = updateOwnershipAgentMd(current.content, fields);
569
+ const payload = updateOwnershipAgentMd(current.exists ? current.content : buildDefaultAgentMd(task.sub_aid, { type: this.deps.currentType?.() ?? 'agent' }), fields);
558
570
  const raw = signOwnershipFile(this.deps.currentAid(), payload.endsWith('\n') || payload.endsWith('\r') ? payload : `${payload}\n`, 'agent', { now: this.deps.now(), expectedSubAid: task.sub_aid });
559
571
  saved = { raw, hash: ownershipSha256(raw), condition: current.exists ? { if_match: current.etag } : { if_none_match: '*' } };
560
572
  task.files.agent = saved;
@@ -568,10 +580,10 @@ export class OwnershipFiles {
568
580
  await task.persist();
569
581
  return current;
570
582
  }
571
- if (current.etag !== saved.condition.if_match)
583
+ if (saved.condition.if_none_match === '*' ? current.exists : !current.exists || current.etag !== saved.condition.if_match)
572
584
  throw ownershipFailure('conflict', 'agent.md original ETag condition changed');
573
585
  if (cleanup) {
574
- if (current.lock !== 'unlocked' || current.relation_version !== task.target_relation_version)
586
+ if (current.lock !== 'unlocked' || current.relation_version !== task.base_relation_version)
575
587
  throw ownershipFailure('conflict', 'release target is no longer current');
576
588
  }
577
589
  else {
@@ -588,7 +600,8 @@ export class OwnershipFiles {
588
600
  if (declaration.action !== 'declare' || declaration.statement.relation_version !== task.target_relation_version)
589
601
  throw ownershipFailure('conflict', 'target owner declaration changed');
590
602
  }
591
- const published = await this.deps.submitAgentMdRaw(task.sub_aid, saved.raw, saved.condition);
603
+ task.assertActive?.();
604
+ const published = await this.deps.submitAgentMdRaw(task.sub_aid, saved.raw, saved.condition, task.assertActive);
592
605
  if (published.content !== saved.raw || published.relation_version !== (cleanup ? 0 : task.target_relation_version) || published.lock !== (cleanup ? 'unlocked' : 'locked'))
593
606
  throw ownershipFailure('unavailable', 'agent.md publication could not be verified', true);
594
607
  saved.published_etag = published.etag;
@@ -640,7 +653,7 @@ export class OwnershipStorageAdapter {
640
653
  if (before.exists) {
641
654
  const object = await this.call('storage.get_object', params);
642
655
  this.metadata(object, ownerAid, path);
643
- if (object.exists !== true || object.sha256 !== before.sha256 || typeof object.content !== 'string')
656
+ if (object.exists !== true || object.sha256 !== before.sha256 || before.revision !== undefined && object.revision !== before.revision || typeof object.content !== 'string')
644
657
  throw ownershipFailure('unavailable', 'Storage object changed or full Base64 content is unavailable', true);
645
658
  if (object.content !== '' && !isStrictBase64(object.content))
646
659
  throw ownershipFailure('unavailable', 'Storage Base64 content is unavailable', true);
@@ -655,26 +668,29 @@ export class OwnershipStorageAdapter {
655
668
  }
656
669
  final = await this.call('storage.head_object', params);
657
670
  this.metadata(final, ownerAid, path);
658
- if (final.exists !== true || final.sha256 !== before.sha256 || this.now() - began > 30)
671
+ if (final.exists !== true || final.sha256 !== before.sha256 || before.revision !== undefined && final.revision !== before.revision || this.now() - began > 30)
659
672
  throw ownershipFailure('unavailable', 'Storage material changed during authoritative read', true);
660
673
  }
661
674
  const service = `st.${ownerAid.slice(ownerAid.indexOf('.') + 1)}`;
662
675
  return { owner_aid: ownerAid, bucket: 'default', path, exists: Boolean(final.exists), observed_at: Number(final.observed_at),
663
- content, sha256: final.exists ? String(final.sha256) : undefined, authoritative: true, recovery_ready: final.recovery_ready, service_aid: service, authenticated_service_aid: service, version: final.exists && Number.isSafeInteger(final.version) && Number(final.version) > 0 ? final.version : undefined };
676
+ content, sha256: final.exists ? String(final.sha256) : undefined, authoritative: true, recovery_ready: final.recovery_ready, service_aid: service, authenticated_service_aid: service, version: final.exists && Number.isSafeInteger(final.version) && Number(final.version) > 0 ? final.version : undefined, ...(typeof final.revision === 'string' && final.revision ? { revision: final.revision } : {}) };
664
677
  }
665
678
  async readOwnerMd(ownerAid, subAid) {
666
679
  ownershipAid(subAid, 'sub_aid');
667
680
  return this.readObject(ownerAid, `sub_aids/${subAid}/owner.md`);
668
681
  }
669
- async writeOwnerMd(ownerAid, subAid, raw) {
682
+ async writeOwnerMd(ownerAid, subAid, raw, original, assertActive) {
670
683
  this.requireLocal(ownerAid);
671
684
  ownershipAid(subAid, 'sub_aid');
672
685
  const path = `sub_aids/${subAid}/owner.md`;
673
686
  const before = await this.readOwnerMd(ownerAid, subAid);
687
+ if (original && (before.exists !== original.exists || before.content !== original.content || (before.exists ? before.sha256 : '') !== (original.exists ? original.sha256 : '') || original.revision !== undefined && before.revision !== original.revision))
688
+ throw ownershipFailure('conflict', 'owner file original material changed');
674
689
  const bytes = new TextEncoder().encode(raw);
675
- const expectedVersion = before.exists ? before.version : 0;
690
+ const expectedVersion = (original ?? before).exists ? (original ?? before).version : 0;
676
691
  if (typeof expectedVersion !== 'number' || !Number.isSafeInteger(expectedVersion) || expectedVersion < (before.exists ? 1 : 0))
677
692
  throw ownershipFailure('unavailable', 'Storage owner.md version is unavailable', true);
693
+ assertActive?.();
678
694
  const session = await this.call('storage.create_upload_session', { owner_aid: ownerAid, bucket: 'default', object_key: path, size_bytes: bytes.length, content_type: 'text/markdown; charset=utf-8', expected_version: expectedVersion, overwrite: true });
679
695
  const uploadURL = String(session.upload_url ?? ''), sessionID = String(session.session_id ?? '');
680
696
  if (!uploadURL || !sessionID)
@@ -685,6 +701,7 @@ export class OwnershipStorageAdapter {
685
701
  if (value !== undefined && value !== null && key.toLowerCase() !== 'content-type')
686
702
  headers[key] = String(value);
687
703
  headers['Content-Type'] = 'text/markdown; charset=utf-8';
704
+ assertActive?.();
688
705
  if (this.deps.httpPut)
689
706
  await this.deps.httpPut(uploadURL, bytes, headers);
690
707
  else {
@@ -694,6 +711,7 @@ export class OwnershipStorageAdapter {
694
711
  }
695
712
  const complete = { owner_aid: ownerAid, bucket: 'default', object_key: path, session_id: sessionID, size_bytes: bytes.length, sha256: ownershipSha256(bytes), content_type: 'text/markdown; charset=utf-8', is_private: false, overwrite: true };
696
713
  complete.expected_version = expectedVersion;
714
+ assertActive?.();
697
715
  await this.call('storage.complete_upload', complete);
698
716
  return this.readOwnerMd(ownerAid, subAid);
699
717
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ownership-v21.js","sourceRoot":"","sources":["../src/ownership-v21.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ownership-v21.js","sourceRoot":"","sources":["../src/ownership-v21.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,10 @@ export declare const OWNERSHIP_SDK_MESSAGE_TYPE = "aun.ownership.sdk.v1";
4
4
  export type OwnershipOperation = 'bind' | 'release' | 'transfer';
5
5
  export type OwnershipAction = 'bind.request' | 'bind.accept' | 'bind.reject' | 'transfer.request' | 'transfer.accept' | 'transfer.reject' | 'transfer.ready' | 'owner.ready' | 'relation.confirmed' | 'sub.cleaned' | 'operation.stopped';
6
6
  export type OwnershipDecision = 'pending' | 'accept' | 'reject';
7
+ export interface OwnershipTaskResetResult {
8
+ reset_operation_ids: string[];
9
+ skipped_operation_ids: string[];
10
+ }
7
11
  export interface OwnershipTaskResult {
8
12
  operation_id: string;
9
13
  operation: OwnershipOperation;
@@ -53,6 +57,8 @@ export declare class OwnershipWorkflow {
53
57
  resumeRegistration(ownerAid: string, operationId: string): Promise<OwnershipTaskResult>;
54
58
  acceptOwnershipRequest(operationId: string): Promise<OwnershipTaskResult>;
55
59
  rejectOwnershipRequest(operationId: string, reason?: string): Promise<OwnershipTaskResult>;
60
+ resetOwnershipTask(): Promise<OwnershipTaskResetResult>;
61
+ private resetTask;
56
62
  checkOwnershipConsensus(subAid?: string): Promise<OwnershipConsensusResult>;
57
63
  receive(from: string, content: unknown): Promise<boolean>;
58
64
  resume(): Promise<void>;
@@ -61,7 +67,17 @@ export declare class OwnershipWorkflow {
61
67
  private store;
62
68
  private list;
63
69
  private load;
70
+ private taskSource;
71
+ private resetSource;
72
+ private isReset;
73
+ private resetUnusableTasks;
64
74
  private decode;
75
+ private legacyTaskView;
76
+ private legacyView;
77
+ private legacyMessage;
78
+ private upgradeLegacy;
79
+ private priorView;
80
+ private upgradePrior;
65
81
  private save;
66
82
  private recordError;
67
83
  private runSerialized;
@@ -77,6 +93,7 @@ export declare class OwnershipWorkflow {
77
93
  private assertAgentBaseMaterial;
78
94
  private processInbox;
79
95
  private fileTask;
96
+ private assertActive;
80
97
  private drive;
81
98
  private confirm;
82
99
  private cleanupEvidence;