instar 1.3.1339 → 1.3.1341

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 (131) hide show
  1. package/dist/commands/init.d.ts.map +1 -1
  2. package/dist/commands/init.js +8 -0
  3. package/dist/commands/init.js.map +1 -1
  4. package/dist/commands/server.d.ts.map +1 -1
  5. package/dist/commands/server.js +323 -15
  6. package/dist/commands/server.js.map +1 -1
  7. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  8. package/dist/config/ConfigDefaults.js +15 -0
  9. package/dist/config/ConfigDefaults.js.map +1 -1
  10. package/dist/core/BackupManager.d.ts.map +1 -1
  11. package/dist/core/BackupManager.js +8 -0
  12. package/dist/core/BackupManager.js.map +1 -1
  13. package/dist/core/FileClassifier.d.ts.map +1 -1
  14. package/dist/core/FileClassifier.js +6 -0
  15. package/dist/core/FileClassifier.js.map +1 -1
  16. package/dist/core/MachineIdentity.d.ts.map +1 -1
  17. package/dist/core/MachineIdentity.js +3 -0
  18. package/dist/core/MachineIdentity.js.map +1 -1
  19. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  20. package/dist/core/PostUpdateMigrator.js +58 -2
  21. package/dist/core/PostUpdateMigrator.js.map +1 -1
  22. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  23. package/dist/core/devGatedFeatures.js +6 -0
  24. package/dist/core/devGatedFeatures.js.map +1 -1
  25. package/dist/core/keyMaterialPaths.d.ts +73 -0
  26. package/dist/core/keyMaterialPaths.d.ts.map +1 -0
  27. package/dist/core/keyMaterialPaths.js +139 -0
  28. package/dist/core/keyMaterialPaths.js.map +1 -0
  29. package/dist/core/types.d.ts +20 -0
  30. package/dist/core/types.d.ts.map +1 -1
  31. package/dist/core/types.js.map +1 -1
  32. package/dist/data/standards-guard-index.json +1 -1
  33. package/dist/data/standards-guard-index.meta.json +2 -2
  34. package/dist/data/standards-registry.meta.json +1 -1
  35. package/dist/messaging/TelegramAdapter.d.ts +19 -0
  36. package/dist/messaging/TelegramAdapter.d.ts.map +1 -1
  37. package/dist/messaging/TelegramAdapter.js +47 -9
  38. package/dist/messaging/TelegramAdapter.js.map +1 -1
  39. package/dist/messaging/telegram-origin/OriginAwareness.d.ts +2 -0
  40. package/dist/messaging/telegram-origin/OriginAwareness.d.ts.map +1 -1
  41. package/dist/messaging/telegram-origin/OriginAwareness.js +4 -0
  42. package/dist/messaging/telegram-origin/OriginAwareness.js.map +1 -1
  43. package/dist/messaging/telegram-origin/OriginConfig.d.ts +4 -0
  44. package/dist/messaging/telegram-origin/OriginConfig.d.ts.map +1 -1
  45. package/dist/messaging/telegram-origin/OriginConfig.js +26 -0
  46. package/dist/messaging/telegram-origin/OriginConfig.js.map +1 -1
  47. package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts +236 -0
  48. package/dist/messaging/telegram-origin/OriginForwardToHolder.d.ts.map +1 -0
  49. package/dist/messaging/telegram-origin/OriginForwardToHolder.js +337 -0
  50. package/dist/messaging/telegram-origin/OriginForwardToHolder.js.map +1 -0
  51. package/dist/messaging/telegram-origin/OriginMesh.d.ts.map +1 -1
  52. package/dist/messaging/telegram-origin/OriginMesh.js +17 -2
  53. package/dist/messaging/telegram-origin/OriginMesh.js.map +1 -1
  54. package/dist/messaging/telegram-origin/OriginMeshRelay.d.ts +7 -0
  55. package/dist/messaging/telegram-origin/OriginMeshRelay.d.ts.map +1 -1
  56. package/dist/messaging/telegram-origin/OriginMeshRelay.js +15 -15
  57. package/dist/messaging/telegram-origin/OriginMeshRelay.js.map +1 -1
  58. package/dist/messaging/telegram-origin/OriginStore.d.ts +38 -1
  59. package/dist/messaging/telegram-origin/OriginStore.d.ts.map +1 -1
  60. package/dist/messaging/telegram-origin/OriginStore.js +8 -1
  61. package/dist/messaging/telegram-origin/OriginStore.js.map +1 -1
  62. package/dist/messaging/telegram-origin/OriginStore.worker.js +1 -1
  63. package/dist/messaging/telegram-origin/OriginStore.worker.js.map +1 -1
  64. package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts +58 -1
  65. package/dist/messaging/telegram-origin/OriginStoreBackend.d.ts.map +1 -1
  66. package/dist/messaging/telegram-origin/OriginStoreBackend.js +209 -23
  67. package/dist/messaging/telegram-origin/OriginStoreBackend.js.map +1 -1
  68. package/dist/messaging/telegram-origin/StoreTypes.d.ts +24 -0
  69. package/dist/messaging/telegram-origin/StoreTypes.d.ts.map +1 -1
  70. package/dist/messaging/telegram-origin/TelegramOriginBoot.d.ts.map +1 -1
  71. package/dist/messaging/telegram-origin/TelegramOriginBoot.js +7 -0
  72. package/dist/messaging/telegram-origin/TelegramOriginBoot.js.map +1 -1
  73. package/dist/messaging/telegram-origin/TelegramOriginRuntime.d.ts +49 -7
  74. package/dist/messaging/telegram-origin/TelegramOriginRuntime.d.ts.map +1 -1
  75. package/dist/messaging/telegram-origin/TelegramOriginRuntime.js +178 -2
  76. package/dist/messaging/telegram-origin/TelegramOriginRuntime.js.map +1 -1
  77. package/dist/messaging/telegram-origin/TelegramOriginService.d.ts +8 -0
  78. package/dist/messaging/telegram-origin/TelegramOriginService.d.ts.map +1 -1
  79. package/dist/messaging/telegram-origin/TelegramOriginService.js +19 -3
  80. package/dist/messaging/telegram-origin/TelegramOriginService.js.map +1 -1
  81. package/dist/messaging/telegram-origin/types.d.ts +12 -0
  82. package/dist/messaging/telegram-origin/types.d.ts.map +1 -1
  83. package/dist/messaging/telegram-origin/types.js +6 -0
  84. package/dist/messaging/telegram-origin/types.js.map +1 -1
  85. package/dist/monitoring/A2ARedeliverySentinel.d.ts +145 -6
  86. package/dist/monitoring/A2ARedeliverySentinel.d.ts.map +1 -1
  87. package/dist/monitoring/A2ARedeliverySentinel.js +451 -11
  88. package/dist/monitoring/A2ARedeliverySentinel.js.map +1 -1
  89. package/dist/scaffold/templates.d.ts.map +1 -1
  90. package/dist/scaffold/templates.js +7 -1
  91. package/dist/scaffold/templates.js.map +1 -1
  92. package/dist/server/fileRoutes.d.ts +26 -0
  93. package/dist/server/fileRoutes.d.ts.map +1 -1
  94. package/dist/server/fileRoutes.js +204 -56
  95. package/dist/server/fileRoutes.js.map +1 -1
  96. package/dist/server/routes.d.ts.map +1 -1
  97. package/dist/server/routes.js +103 -9
  98. package/dist/server/routes.js.map +1 -1
  99. package/dist/testing/selfActionRegistry.d.ts.map +1 -1
  100. package/dist/testing/selfActionRegistry.js +128 -0
  101. package/dist/testing/selfActionRegistry.js.map +1 -1
  102. package/dist/threadline/A2ADeliveryTracker.d.ts +55 -1
  103. package/dist/threadline/A2ADeliveryTracker.d.ts.map +1 -1
  104. package/dist/threadline/A2ADeliveryTracker.js +97 -5
  105. package/dist/threadline/A2ADeliveryTracker.js.map +1 -1
  106. package/dist/threadline/ThreadlineMCPServer.d.ts +15 -0
  107. package/dist/threadline/ThreadlineMCPServer.d.ts.map +1 -1
  108. package/dist/threadline/ThreadlineMCPServer.js +3 -0
  109. package/dist/threadline/ThreadlineMCPServer.js.map +1 -1
  110. package/dist/threadline/client/ThreadlineClient.d.ts +47 -0
  111. package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
  112. package/dist/threadline/client/ThreadlineClient.js +93 -0
  113. package/dist/threadline/client/ThreadlineClient.js.map +1 -1
  114. package/dist/threadline/mcp-http-client.d.ts.map +1 -1
  115. package/dist/threadline/mcp-http-client.js +2 -0
  116. package/dist/threadline/mcp-http-client.js.map +1 -1
  117. package/dist/threadline/peerDark.d.ts +165 -0
  118. package/dist/threadline/peerDark.d.ts.map +1 -0
  119. package/dist/threadline/peerDark.js +204 -0
  120. package/dist/threadline/peerDark.js.map +1 -0
  121. package/package.json +1 -1
  122. package/src/data/builtin-manifest.json +64 -64
  123. package/src/data/standards-guard-index.json +1 -1
  124. package/src/data/standards-guard-index.meta.json +2 -2
  125. package/src/data/standards-registry.meta.json +1 -1
  126. package/src/scaffold/templates.ts +7 -1
  127. package/upgrades/1.3.1340.md +32 -0
  128. package/upgrades/1.3.1341.md +94 -0
  129. package/upgrades/side-effects/a2a-peer-dark-reporting.md +149 -0
  130. package/upgrades/side-effects/files-never-serve-key-material.md +399 -0
  131. package/upgrades/side-effects/telegram-origin-forward-to-holder.md +151 -0
@@ -120,6 +120,16 @@ export class OriginStoreBackend {
120
120
  first_sequence INTEGER NOT NULL, last_sequence INTEGER NOT NULL, committed_at INTEGER NOT NULL);
121
121
  CREATE INDEX IF NOT EXISTS telegram_origin_entries_lane ON entries(entry_kind,state,next_attempt_at);
122
122
  `);
123
+ // a2a-single-agent-identity §4.2 — additive hold columns. An older reader
124
+ // ignores them and treats a held row exactly as before (unknown reason ⇒
125
+ // the ordinary hold); a newer reader can name WHY a row is held.
126
+ const operationColumns = new Set(this.db.prepare('PRAGMA table_info(telegram_origin_operations)').all().map(column => column.name));
127
+ if (!operationColumns.has('hold_reason'))
128
+ this.db.exec('ALTER TABLE telegram_origin_operations ADD COLUMN hold_reason TEXT');
129
+ if (!operationColumns.has('hold_detail_json'))
130
+ this.db.exec('ALTER TABLE telegram_origin_operations ADD COLUMN hold_detail_json TEXT');
131
+ if (!operationColumns.has('hold_expiry_reported_at'))
132
+ this.db.exec('ALTER TABLE telegram_origin_operations ADD COLUMN hold_expiry_reported_at INTEGER');
123
133
  }
124
134
  event(eventId, metric) {
125
135
  const inserted = this.db.prepare('INSERT OR IGNORE INTO telegram_origin_metric_events(event_id,metric) VALUES (?,?)').run(eventId, metric);
@@ -373,7 +383,7 @@ export class OriginStoreBackend {
373
383
  fail('capacity-unavailable');
374
384
  }
375
385
  this.putEvidence(input.record);
376
- this.db.prepare('INSERT INTO telegram_origin_operations VALUES (?,?,?,?,?,?,?,?,?)')
386
+ this.db.prepare('INSERT INTO telegram_origin_operations(operation_id,origin_id,admission_digest,prepared_at,deadline_at,max_attempts,payload_bytes,state,kind) VALUES (?,?,?,?,?,?,?,?,?)')
377
387
  .run(input.operationId, input.record.originId, admissionDigest, input.preparedAt, input.deadlineAt, input.maxAttempts, input.payloadBytes, 'admitted', notice ? 'notice' : 'ordinary');
378
388
  for (const payload of input.payloads ?? [])
379
389
  this.db.prepare('INSERT INTO telegram_origin_payloads VALUES (?,?,?,?,?)')
@@ -492,27 +502,111 @@ export class OriginStoreBackend {
492
502
  AND NOT EXISTS (SELECT 1 FROM telegram_origin_children c WHERE c.operation_id=o.operation_id
493
503
  AND c.state NOT IN ('queued','accepted'))
494
504
  ORDER BY CASE WHEN o.rowid>? THEN 0 ELSE 1 END,o.rowid LIMIT ?`).all(now, now, new Date(now).toISOString(), after, limit);
495
- const admissions = operations.map(op => {
496
- const audit = this.getOrigin(op.origin_id);
497
- if (!audit)
498
- return fail('recovery-origin-missing');
499
- const children = this.db.prepare('SELECT * FROM telegram_origin_children WHERE operation_id=? ORDER BY rowid').all(op.operation_id);
500
- return { record: audit.record, operationId: op.operation_id, preparedAt: op.prepared_at,
501
- deadlineAt: op.deadline_at, maxAttempts: op.max_attempts, payloadBytes: op.payload_bytes,
502
- children: children.map(child => {
503
- const rows = this.db.prepare('SELECT * FROM telegram_origin_materializations WHERE child_id=? AND generation=0 ORDER BY rowid').all(child.child_id);
504
- if (!rows.length || rows.some(row => row.request_json === null))
505
- return fail('recovery-payload-missing');
506
- return { childId: child.child_id, deliveryId: child.delivery_id, destinationJson: child.destination_json,
507
- canonicalContentDigest: child.content_digest, materializations: rows.map(row => this.materialization(row)),
508
- allowedDerivations: JSON.parse(child.allowed_derivations) };
509
- }) };
510
- });
505
+ const admissions = operations.map(op => this.admissionOf(op));
511
506
  if (advance && operations.length)
512
507
  this.db.prepare('INSERT INTO telegram_origin_recovery_cursor VALUES (1,?) ON CONFLICT(id) DO UPDATE SET after_rowid=excluded.after_rowid').run(operations.at(-1).recovery_rowid);
513
508
  return admissions;
514
509
  }).immediate();
515
510
  }
511
+ admissionOf(op) {
512
+ const audit = this.getOrigin(op.origin_id);
513
+ if (!audit)
514
+ return fail('recovery-origin-missing');
515
+ const children = this.db.prepare('SELECT * FROM telegram_origin_children WHERE operation_id=? ORDER BY rowid').all(op.operation_id);
516
+ return { record: audit.record, operationId: op.operation_id, preparedAt: op.prepared_at,
517
+ deadlineAt: op.deadline_at, maxAttempts: op.max_attempts, payloadBytes: op.payload_bytes,
518
+ children: children.map(child => {
519
+ const rows = this.db.prepare('SELECT * FROM telegram_origin_materializations WHERE child_id=? AND generation=0 ORDER BY rowid').all(child.child_id);
520
+ if (!rows.length || rows.some(row => row.request_json === null))
521
+ return fail('recovery-payload-missing');
522
+ // Reproduce the SEALED shape exactly: `prepareBot` omits `allowedDerivations`
523
+ // for an ordinary child, and the admission digest covers that absence —
524
+ // an added empty array makes the holder refuse the replay (`origin-plan-invalid`).
525
+ const allowedDerivations = JSON.parse(child.allowed_derivations);
526
+ return { childId: child.child_id, deliveryId: child.delivery_id, destinationJson: child.destination_json,
527
+ canonicalContentDigest: child.content_digest, materializations: rows.map(row => this.materialization(row)),
528
+ ...(allowedDerivations.length ? { allowedDerivations } : {}) };
529
+ }) };
530
+ }
531
+ /** a2a-single-agent-identity §4.2 — the quick retry ladder's candidates: held
532
+ * forwards whose recorded next ladder step is due. Scheduling state only;
533
+ * the 15-minute `reserveRecoveryAttempt` schedule is untouched by it. */
534
+ heldForwardAdmissions(input = {}) {
535
+ const now = input.now ?? Date.now(), limit = input.limit ?? 10;
536
+ integer(limit, 1, 100);
537
+ const operations = this.db.prepare(`SELECT o.* FROM telegram_origin_operations o
538
+ WHERE o.kind='ordinary' AND o.state='held' AND o.hold_reason='lease-not-held' AND o.deadline_at>?
539
+ AND json_extract(o.hold_detail_json,'$.ladder.nextAt') IS NOT NULL AND json_extract(o.hold_detail_json,'$.ladder.nextAt')<=?
540
+ AND NOT EXISTS (SELECT 1 FROM telegram_origin_children c WHERE c.operation_id=o.operation_id AND c.state NOT IN ('queued','accepted'))
541
+ ORDER BY o.prepared_at,o.operation_id LIMIT ?`).all(now, now, limit);
542
+ const rows = new Map(this.listHeldOperations({ holdReason: 'lease-not-held', limit: 500 }).map(row => [row.operationId, row]));
543
+ return operations.flatMap(op => { const row = rows.get(op.operation_id); return row ? [{ admission: this.admissionOf(op), row }] : []; });
544
+ }
545
+ /** §4.2 — a held forward whose lease holder changed is SUPERSEDED by a new
546
+ * operation bound to the new owner: a terminal state linked by operation id
547
+ * (which lifts the unresolved-operation guard). Refused unless the row is
548
+ * still held/admitted with every child queued and nothing claimed — a row a
549
+ * holder may have accepted is never superseded blind. */
550
+ supersedeOperation(input) {
551
+ id(input.operationId);
552
+ id(input.supersededBy);
553
+ if (input.operationId === input.supersededBy)
554
+ fail('invalid-supersede');
555
+ return this.db.transaction(() => {
556
+ const op = this.operation(input.operationId);
557
+ if (!op || op.kind !== 'ordinary' || !['admitted', 'held'].includes(op.state))
558
+ return false;
559
+ const children = this.db.prepare('SELECT * FROM telegram_origin_children WHERE operation_id=? ORDER BY rowid').all(op.operation_id);
560
+ if (children.some(child => child.state !== 'queued'))
561
+ return false;
562
+ const active = this.db.prepare("SELECT 1 FROM entries e JOIN telegram_origin_children c ON c.delivery_id=e.delivery_id WHERE c.operation_id=? AND e.state='claimed'").get(op.operation_id);
563
+ if (active)
564
+ return false;
565
+ const detail = { ...(op.hold_detail_json ? JSON.parse(op.hold_detail_json) : {}), supersededBy: input.supersededBy, supersededAt: input.now ?? Date.now() };
566
+ this.db.prepare("UPDATE telegram_origin_operations SET state='superseded',hold_detail_json=? WHERE operation_id=?").run(JSON.stringify(detail), op.operation_id);
567
+ this.db.prepare("UPDATE telegram_origin_children SET state='superseded' WHERE operation_id=? AND state='queued'").run(op.operation_id);
568
+ this.db.prepare("UPDATE entries SET state='superseded',claimed_by=NULL,lease_until=NULL,next_attempt_at=NULL WHERE origin_child_id IN (SELECT child_id FROM telegram_origin_children WHERE operation_id=?) AND state='queued'").run(op.operation_id);
569
+ this.event(`${op.operation_id}:superseded`, 'operation:superseded');
570
+ return true;
571
+ }).immediate();
572
+ }
573
+ /** §4.2 — the crash-safe holder change: in ONE transaction, refuse unless the
574
+ * old row is still plainly held (every child queued, nothing claimed), admit
575
+ * the NEW sealed admission, record it `held` with its reason + detail, and
576
+ * mark the old row `superseded` linked to the new id. Either both rows move
577
+ * or neither does; the reply is never carried by zero or two live rows. */
578
+ supersedeWithAdmission(input) {
579
+ id(input.operationId);
580
+ id(input.admission.operationId);
581
+ if (input.operationId === input.admission.operationId)
582
+ fail('invalid-supersede');
583
+ if (typeof input.holdReason !== 'string' || !/^[a-z0-9-]{1,64}$/.test(input.holdReason))
584
+ fail('invalid-hold-reason');
585
+ const holdDetailJson = input.holdDetail === null ? null : JSON.stringify(input.holdDetail);
586
+ if (holdDetailJson !== null)
587
+ json(holdDetailJson, 64 * 1024);
588
+ const now = input.now ?? Date.now();
589
+ return this.db.transaction(() => {
590
+ const op = this.operation(input.operationId);
591
+ if (!op || op.kind !== 'ordinary' || !['admitted', 'held'].includes(op.state))
592
+ return false;
593
+ const children = this.db.prepare('SELECT * FROM telegram_origin_children WHERE operation_id=? ORDER BY rowid').all(op.operation_id);
594
+ if (children.some(child => child.state !== 'queued'))
595
+ return false;
596
+ const active = this.db.prepare("SELECT 1 FROM entries e JOIN telegram_origin_children c ON c.delivery_id=e.delivery_id WHERE c.operation_id=? AND e.state='claimed'").get(op.operation_id);
597
+ if (active)
598
+ return false;
599
+ this.admitInternal(input.admission, false);
600
+ this.db.prepare("UPDATE telegram_origin_operations SET state='held',hold_reason=?,hold_detail_json=? WHERE operation_id=?").run(input.holdReason, holdDetailJson, input.admission.operationId);
601
+ this.event(`${input.admission.operationId}:held`, 'operation:held');
602
+ const detail = { ...(op.hold_detail_json ? JSON.parse(op.hold_detail_json) : {}), supersededBy: input.admission.operationId, supersededAt: now };
603
+ this.db.prepare("UPDATE telegram_origin_operations SET state='superseded',hold_detail_json=? WHERE operation_id=?").run(JSON.stringify(detail), op.operation_id);
604
+ this.db.prepare("UPDATE telegram_origin_children SET state='superseded' WHERE operation_id=? AND state='queued'").run(op.operation_id);
605
+ this.db.prepare("UPDATE entries SET state='superseded',claimed_by=NULL,lease_until=NULL,next_attempt_at=NULL WHERE origin_child_id IN (SELECT child_id FROM telegram_origin_children WHERE operation_id=?) AND state='queued'").run(op.operation_id);
606
+ this.event(`${op.operation_id}:superseded`, 'operation:superseded');
607
+ return true;
608
+ }).immediate();
609
+ }
516
610
  claim(input) {
517
611
  integer(input.leaseMs, 1, MAX_LEASE_MS);
518
612
  id(input.ownerBootId);
@@ -713,6 +807,16 @@ export class OriginStoreBackend {
713
807
  }).immediate();
714
808
  }
715
809
  recordOperationState(input) {
810
+ if (input.holdReason !== undefined) {
811
+ if (input.state !== 'held' || typeof input.holdReason !== 'string' || !/^[a-z0-9-]{1,64}$/.test(input.holdReason))
812
+ fail('invalid-hold-reason');
813
+ }
814
+ const holdDetailJson = input.holdDetail === undefined || input.holdDetail === null ? null : JSON.stringify(input.holdDetail);
815
+ if (holdDetailJson !== null) {
816
+ if (input.state !== 'held')
817
+ fail('invalid-hold-detail');
818
+ json(holdDetailJson, 64 * 1024);
819
+ }
716
820
  return this.db.transaction(() => {
717
821
  const op = this.operation(input.operationId);
718
822
  if (!op)
@@ -726,7 +830,16 @@ export class OriginStoreBackend {
726
830
  const active = this.db.prepare("SELECT 1 FROM entries e JOIN telegram_origin_children c ON c.delivery_id=e.delivery_id WHERE c.operation_id=? AND e.state='claimed'").get(input.operationId);
727
831
  if (active)
728
832
  return false;
729
- this.db.prepare('UPDATE telegram_origin_operations SET state=? WHERE operation_id=?').run(input.state, input.operationId);
833
+ if (input.state === 'held') {
834
+ // A re-hold without a named reason keeps the reason already recorded.
835
+ this.db.prepare('UPDATE telegram_origin_operations SET state=?,hold_reason=coalesce(?,hold_reason),hold_detail_json=CASE WHEN ? IS NULL THEN hold_detail_json ELSE ? END WHERE operation_id=?')
836
+ .run(input.state, input.holdReason ?? null, holdDetailJson, holdDetailJson, input.operationId);
837
+ }
838
+ else if (input.state === 'admitted') {
839
+ this.db.prepare('UPDATE telegram_origin_operations SET state=?,hold_reason=NULL,hold_detail_json=NULL WHERE operation_id=?').run(input.state, input.operationId);
840
+ }
841
+ else
842
+ this.db.prepare('UPDATE telegram_origin_operations SET state=? WHERE operation_id=?').run(input.state, input.operationId);
730
843
  if (input.state === 'suppressed') {
731
844
  this.db.prepare("UPDATE telegram_origin_children SET state='suppressed' WHERE operation_id=? AND state='queued'").run(input.operationId);
732
845
  this.db.prepare("UPDATE entries SET state='delivered-tone-gated' WHERE origin_child_id IN (SELECT child_id FROM telegram_origin_children WHERE operation_id=?) AND state='queued'").run(input.operationId);
@@ -745,6 +858,78 @@ export class OriginStoreBackend {
745
858
  this.event(`${operationId}:expired`, 'operation:expired');
746
859
  return true;
747
860
  }
861
+ /** a2a-single-agent-identity §4.2 — the durable held listing. Rows still
862
+ * `held` carry their reason; rows that EXPIRED while held with a reason are
863
+ * listed until their expiry has been reported once. Read-only. */
864
+ listHeldOperations(input = {}) {
865
+ const limit = input.limit ?? 100;
866
+ integer(limit, 1, 500);
867
+ if (input.holdReason !== undefined)
868
+ id(input.holdReason);
869
+ const rows = this.db.prepare(`SELECT o.*,d.chat_id,d.topic_id,d.account_id,
870
+ json_extract(json_extract(t.record_json,'$.envelopeJson'),'$.executionOwnerMachineId') execution_owner,
871
+ r.attempts recovery_attempts,r.next_attempt_at recovery_next
872
+ FROM telegram_origin_operations o
873
+ LEFT JOIN telegram_origin_destinations d ON d.origin_id=o.origin_id
874
+ LEFT JOIN telegram_origins t ON t.origin_id=o.origin_id
875
+ LEFT JOIN telegram_origin_recovery_schedule r ON r.operation_id=o.operation_id
876
+ WHERE o.kind='ordinary' AND (@reason IS NULL OR o.hold_reason=@reason)
877
+ AND ((o.state='held' AND o.hold_reason IS NOT NULL) OR (o.state='expired' AND o.hold_reason IS NOT NULL AND o.hold_expiry_reported_at IS NULL))
878
+ ORDER BY o.prepared_at,o.operation_id LIMIT @limit`).all({ reason: input.holdReason ?? null, limit });
879
+ return rows.map(row => ({ operationId: row.operation_id, originId: row.origin_id, state: row.state,
880
+ holdReason: row.hold_reason ?? null, holdDetail: row.hold_detail_json ? JSON.parse(row.hold_detail_json) : null,
881
+ preparedAt: row.prepared_at, deadlineAt: row.deadline_at, executionOwnerMachineId: row.execution_owner ?? null,
882
+ destination: { accountId: row.account_id ?? null, chatId: row.chat_id ?? null, topicId: row.topic_id ?? null },
883
+ recovery: row.recovery_attempts === null ? null : { attempts: row.recovery_attempts, nextAttemptAt: row.recovery_next },
884
+ expiryReportedAt: row.hold_expiry_reported_at ?? null }));
885
+ }
886
+ markHoldExpiryReported(input) {
887
+ id(input.operationId);
888
+ return this.db.prepare("UPDATE telegram_origin_operations SET hold_expiry_reported_at=? WHERE operation_id=? AND state='expired' AND hold_expiry_reported_at IS NULL")
889
+ .run(input.now ?? Date.now(), input.operationId).changes > 0;
890
+ }
891
+ /** §4.2 — the lease holder accepted a forwarded operation (or confirmed a
892
+ * receipt for it). Resolves the standby's own held row so recovery stops and
893
+ * the audit names the machine that delivered. Refused for a row already
894
+ * claimed or resolved; never invents a receipt. */
895
+ recordForwardedAcceptance(input) {
896
+ id(input.operationId);
897
+ id(input.deliveryMachineId);
898
+ json(input.receiptJson, 64 * 1024);
899
+ const now = input.now ?? Date.now();
900
+ return this.db.transaction(() => {
901
+ const op = this.operation(input.operationId);
902
+ if (!op || op.kind !== 'ordinary')
903
+ return false;
904
+ if (!['admitted', 'held'].includes(op.state))
905
+ return false;
906
+ const children = this.db.prepare('SELECT * FROM telegram_origin_children WHERE operation_id=? ORDER BY rowid').all(op.operation_id);
907
+ if (!children.length || children.some(child => child.state !== 'queued'))
908
+ return false;
909
+ const active = this.db.prepare("SELECT 1 FROM entries e JOIN telegram_origin_children c ON c.delivery_id=e.delivery_id WHERE c.operation_id=? AND e.state='claimed'").get(op.operation_id);
910
+ if (active)
911
+ return false;
912
+ const ownerBootId = `forwarded:${input.deliveryMachineId}`;
913
+ this.db.prepare('INSERT OR IGNORE INTO telegram_origin_owners VALUES (?,?)').run(ownerBootId, input.deliveryMachineId);
914
+ for (const child of children) {
915
+ const materialization = this.db.prepare('SELECT * FROM telegram_origin_materializations WHERE child_id=? AND generation=? ORDER BY rowid LIMIT 1').get(child.child_id, child.generation);
916
+ if (!materialization)
917
+ return false;
918
+ const attemptId = randomUUID(), claimToken = randomUUID();
919
+ this.db.prepare('INSERT INTO telegram_origin_attempts VALUES (?,?,?,?,?,?,?,?,?,?)')
920
+ .run(attemptId, child.child_id, materialization.materialization_id, claimToken, ownerBootId, 'dispatched', 'accepted', input.receiptJson, now, now);
921
+ this.db.prepare('INSERT INTO telegram_origin_outcome_details VALUES (?,?,?)').run(attemptId, 'forwarded-to-holder', null);
922
+ this.indexReceipt(child, input.receiptJson);
923
+ this.db.prepare("UPDATE telegram_origin_children SET state='accepted' WHERE child_id=?").run(child.child_id);
924
+ this.db.prepare("UPDATE entries SET state='delivered-recovered',claimed_by=NULL,owner_boot_id=NULL,lease_until=NULL,next_attempt_at=NULL WHERE delivery_id=?").run(child.delivery_id);
925
+ this.event(attemptId, 'attempt:accepted');
926
+ this.event(`${child.child_id}:accepted`, 'child:accepted');
927
+ }
928
+ this.db.prepare('UPDATE telegram_origin_operations SET hold_reason=NULL,hold_detail_json=NULL WHERE operation_id=?').run(op.operation_id);
929
+ this.refreshOperation(op.operation_id);
930
+ return true;
931
+ }).immediate();
932
+ }
748
933
  reserveNotice(input) {
749
934
  id(input.ownerBootId);
750
935
  id(input.generation);
@@ -853,7 +1038,8 @@ export class OriginStoreBackend {
853
1038
  const recovery = op ? this.db.prepare('SELECT attempts,next_attempt_at nextAttemptAt FROM telegram_origin_recovery_schedule WHERE operation_id=?').get(op.operation_id) : undefined;
854
1039
  return { sequence: row.sequence, record: storedRecord, ...(recovery ? { recovery } : {}), ...(verification ? { acceptanceVerification: JSON.parse(verification.evidence_json) } : {}), ...(diagnostic ? { diagnostic: {
855
1040
  ...diagnostic, state: diagnostic.state === 'pending' && diagnostic.createdAt + 30_000 < Date.now() ? 'unavailable' : diagnostic.state,
856
- } } : {}), operation: op ? { operationId: op.operation_id, preparedAt: op.prepared_at, deadlineAt: op.deadline_at, maxAttempts: op.max_attempts, state: op.state } : null,
1041
+ } } : {}), operation: op ? { operationId: op.operation_id, preparedAt: op.prepared_at, deadlineAt: op.deadline_at, maxAttempts: op.max_attempts, state: op.state,
1042
+ ...(op.hold_reason ? { holdReason: op.hold_reason, holdDetail: op.hold_detail_json ? JSON.parse(op.hold_detail_json) : null } : {}) } : null,
857
1043
  children: children.map(child => ({ childId: child.child_id, deliveryId: child.delivery_id, destinationJson: child.destination_json, generation: child.generation, state: child.state, attempts: this.entry(child.delivery_id)?.attempts ?? 0 })),
858
1044
  attempts: attempts.map(a => ({ attemptId: a.attempt_id, childId: a.child_id, materializationId: a.materialization_id, ownerBootId: a.owner_boot_id,
859
1045
  ...(this.db.prepare('SELECT reason,next_attempt_at nextAttemptAt FROM telegram_origin_outcome_details WHERE attempt_id=?').get(a.attempt_id) ?? {}),
@@ -951,7 +1137,7 @@ export class OriginStoreBackend {
951
1137
  const limit = input.limit ?? 100;
952
1138
  integer(limit, 1, 200);
953
1139
  const rows = this.db.prepare(`SELECT o.origin_id,o.sequence FROM telegram_origins o JOIN telegram_origin_operations p ON p.origin_id=o.origin_id
954
- WHERE o.archive_id IS NULL AND o.created_at<? AND p.state IN ('accepted','suppressed','expired','known-failed') ORDER BY o.sequence LIMIT ?`).all(input.before, limit);
1140
+ WHERE o.archive_id IS NULL AND o.created_at<? AND p.state IN ('accepted','suppressed','expired','known-failed','superseded') ORDER BY o.sequence LIMIT ?`).all(input.before, limit);
955
1141
  if (!rows.length)
956
1142
  return { archived: 0, archiveId: null, digest: null };
957
1143
  const records = [];
@@ -1084,14 +1270,14 @@ export class OriginStoreBackend {
1084
1270
  this.db.prepare(`UPDATE entries SET text=X'' WHERE delivery_id IN
1085
1271
  (SELECT e.delivery_id FROM entries e JOIN telegram_origin_children c ON c.delivery_id=e.delivery_id
1086
1272
  JOIN telegram_origin_operations p ON p.operation_id=c.operation_id WHERE length(e.text)>0
1087
- AND e.entry_kind='telegram-origin' AND p.state IN ('accepted','suppressed','expired','known-failed') LIMIT 1000)`).run();
1273
+ AND e.entry_kind='telegram-origin' AND p.state IN ('accepted','suppressed','expired','known-failed','superseded') LIMIT 1000)`).run();
1088
1274
  this.db.prepare(`UPDATE telegram_origin_payloads SET data=NULL WHERE rowid IN
1089
1275
  (SELECT b.rowid FROM telegram_origin_payloads b JOIN telegram_origin_operations p ON p.operation_id=b.operation_id
1090
- WHERE b.data IS NOT NULL AND p.state IN ('accepted','suppressed','expired','known-failed') AND p.kind='ordinary' LIMIT 1000)`).run();
1276
+ WHERE b.data IS NOT NULL AND p.state IN ('accepted','suppressed','expired','known-failed','superseded') AND p.kind='ordinary' LIMIT 1000)`).run();
1091
1277
  return this.db.prepare(`UPDATE telegram_origin_materializations SET request_json=NULL WHERE rowid IN
1092
1278
  (SELECT m.rowid FROM telegram_origin_materializations m JOIN telegram_origin_children c ON c.child_id=m.child_id
1093
1279
  JOIN telegram_origin_operations p ON p.operation_id=c.operation_id WHERE m.request_json IS NOT NULL
1094
- AND p.state IN ('accepted','suppressed','expired','known-failed') AND p.kind='ordinary' LIMIT 1000)`).run().changes;
1280
+ AND p.state IN ('accepted','suppressed','expired','known-failed','superseded') AND p.kind='ordinary' LIMIT 1000)`).run().changes;
1095
1281
  }).immediate();
1096
1282
  }
1097
1283
  diagnostics() {
@@ -1 +1 @@
1
- {"version":3,"file":"OriginStoreBackend.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginStoreBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OriginStoreBackend.js","sourceRoot":"","sources":["../../../src/messaging/telegram-origin/OriginStoreBackend.ts"],"names":[],"mappings":"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"}