@engramx/idl 0.16.0-rc.14 → 0.16.0-rc.16
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.
- package/dist/engram.did +495 -147
- package/dist/engram.idl.d.ts +464 -141
- package/dist/engram.idl.js +272 -149
- package/package.json +1 -1
package/dist/engram.idl.d.ts
CHANGED
|
@@ -54,6 +54,12 @@ export interface AgentEnding {
|
|
|
54
54
|
day: bigint;
|
|
55
55
|
reason: AgentEndReason;
|
|
56
56
|
}
|
|
57
|
+
export interface AgentGrant {
|
|
58
|
+
key: Principal;
|
|
59
|
+
permissions: AgentPermissions;
|
|
60
|
+
name: string;
|
|
61
|
+
paymentLimits: PaymentLimits;
|
|
62
|
+
}
|
|
57
63
|
export interface AgentPaymentSignatures {
|
|
58
64
|
agent: Principal;
|
|
59
65
|
signedToday: bigint;
|
|
@@ -84,6 +90,16 @@ export interface AgentRecord {
|
|
|
84
90
|
keyRotatedAtNs: bigint;
|
|
85
91
|
keyHeldFrom: LogPosition;
|
|
86
92
|
}
|
|
93
|
+
export interface AgentSpendRow {
|
|
94
|
+
agent: Principal;
|
|
95
|
+
spentToday: [] | [bigint];
|
|
96
|
+
root: Principal;
|
|
97
|
+
maxPerDay: [] | [bigint];
|
|
98
|
+
}
|
|
99
|
+
export interface AgentSpendToday {
|
|
100
|
+
dayStartNs: bigint;
|
|
101
|
+
agents: Page_23;
|
|
102
|
+
}
|
|
87
103
|
export type AgentStatus = { Active: null } | { Resigned: null } | { Revoked: null };
|
|
88
104
|
export interface AgentWriteReview {
|
|
89
105
|
cursor: bigint;
|
|
@@ -175,6 +191,11 @@ export interface BackupMetadata {
|
|
|
175
191
|
chunkCount: bigint;
|
|
176
192
|
parentBackupId: [] | [string];
|
|
177
193
|
}
|
|
194
|
+
export interface BackupRetention {
|
|
195
|
+
maxBackups: bigint;
|
|
196
|
+
isDefault: boolean;
|
|
197
|
+
dbType: string;
|
|
198
|
+
}
|
|
178
199
|
export interface BackupRetentionReport {
|
|
179
200
|
maxBackups: bigint;
|
|
180
201
|
dbType: string;
|
|
@@ -199,6 +220,21 @@ export interface BearerToken {
|
|
|
199
220
|
issuedBy: Principal;
|
|
200
221
|
}
|
|
201
222
|
export type BearerTokenStatus = { Active: null } | { Revoked: null } | { Expired: null };
|
|
223
|
+
export interface BrakePull {
|
|
224
|
+
by: Principal;
|
|
225
|
+
atNs: bigint;
|
|
226
|
+
role: BrakeRole;
|
|
227
|
+
reason: [] | [string];
|
|
228
|
+
}
|
|
229
|
+
export type BrakeRole = { Guardian: null } | { Owner: null };
|
|
230
|
+
export interface BrakeState {
|
|
231
|
+
on: boolean;
|
|
232
|
+
pull: [] | [BrakePull];
|
|
233
|
+
}
|
|
234
|
+
export interface Brakes {
|
|
235
|
+
payments: BrakeState;
|
|
236
|
+
writes: BrakeState;
|
|
237
|
+
}
|
|
202
238
|
export interface CallerSignatureCount {
|
|
203
239
|
count: bigint;
|
|
204
240
|
role: Role;
|
|
@@ -214,7 +250,7 @@ export interface CertifiedAuditHead {
|
|
|
214
250
|
}
|
|
215
251
|
export interface CheckpointPage {
|
|
216
252
|
firstAvailableSeq: bigint;
|
|
217
|
-
page:
|
|
253
|
+
page: Page_18;
|
|
218
254
|
scannedThroughSeq: bigint;
|
|
219
255
|
}
|
|
220
256
|
export interface ChildAllowanceRow {
|
|
@@ -357,11 +393,18 @@ export interface Engram {
|
|
|
357
393
|
* / test/key-replacement.test.mo runs it; this body names no roster gate, because the caller holds
|
|
358
394
|
* / no role here until the move.
|
|
359
395
|
*/
|
|
360
|
-
acceptAgentKeyNomination: ActorMethod<[Principal],
|
|
396
|
+
acceptAgentKeyNomination: ActorMethod<[Principal], Result_80>;
|
|
361
397
|
/**
|
|
362
398
|
* / Consensus transform for the alert webhook outcall: collapse the response to status-only so
|
|
363
399
|
* / replicas agree regardless of response headers/body (we only care that the POST landed 2xx).
|
|
364
400
|
* /
|
|
401
|
+
* / ⟨CORRECTED 2026-10-21⟩ No longer a consensus transform: the alert outcall is non-replicated
|
|
402
|
+
* / (`is_replicated = ?false` in `scanAndPost`), so ONE node sends the POST and runs this on its
|
|
403
|
+
* / own response — there are no replicas to agree, and "on every replica" below now means "on that
|
|
404
|
+
* / node". It stays so the response is collapsed to status-only before the engram reads it. The
|
|
405
|
+
* / PUBLIC reasoning below is unchanged: the outcall protocol still calls it with no caller identity.
|
|
406
|
+
* / `worldIdTransform` is still a true consensus transform (World ID stays replicated).
|
|
407
|
+
* /
|
|
365
408
|
* / PUBLIC: not a choice. The management canister invokes a transform on every replica as part of
|
|
366
409
|
* / the HTTP-outcall protocol, and that invocation carries no caller identity to gate on — a gate
|
|
367
410
|
* / here would refuse the only caller there is and break every alert this canister sends. Safe
|
|
@@ -383,7 +426,7 @@ export interface Engram {
|
|
|
383
426
|
* / account name). The action must be registered: a destination list belongs to an action, and a
|
|
384
427
|
* / list for no action would be a value nothing checks. The caller is the owner's app.
|
|
385
428
|
*/
|
|
386
|
-
addEip712Destination: ActorMethod<[Uint8Array | number[], string],
|
|
429
|
+
addEip712Destination: ActorMethod<[Uint8Array | number[], string], Result_79>;
|
|
387
430
|
/**
|
|
388
431
|
* / Register a typed-data shape as signable. Owner-only, freeze-gated (a registration is a grant
|
|
389
432
|
* / of FUTURE authority — a frozen engram must not be able to widen what it can sign), and the
|
|
@@ -418,7 +461,7 @@ export interface Engram {
|
|
|
418
461
|
ackIrrevocable: boolean;
|
|
419
462
|
},
|
|
420
463
|
],
|
|
421
|
-
|
|
464
|
+
Result_78
|
|
422
465
|
>;
|
|
423
466
|
/**
|
|
424
467
|
* / ⟨0.16.0, L1⟩ THE ROLE-CONFLICT ARM, and why three refusals here are not the same refusal.
|
|
@@ -431,6 +474,17 @@ export interface Engram {
|
|
|
431
474
|
* / or the roster is full. Only the last is worth an agent's time to resolve.
|
|
432
475
|
*/
|
|
433
476
|
addGuardian: ActorMethod<[Principal, string, GuardianPermissions], Result_1>;
|
|
477
|
+
/**
|
|
478
|
+
* / ⟨2026-10-21, the owner's round-11 answer b⟩ OWNER-ONLY: put a note on any entry of this
|
|
479
|
+
* / engram's record — words, nothing else. Appends a chained `record.note` entry
|
|
480
|
+
* / (`about=<id> note=<words>`) and keeps the note for `listRecordNotes`; answers the new entry's
|
|
481
|
+
* / id. The entry noted may be any entry ever appended (`about` below the head), including one the
|
|
482
|
+
* / ring no longer holds in full. An agent, a guardian, a stranger and the anonymous caller are
|
|
483
|
+
* / refused by `requireOwner`'s own words. Empty words, words over `RecordWords.WORDS_MAX` or
|
|
484
|
+
* / holding a line break are `#Invalid`; an id past the head is `#NotFound`; nothing is recorded
|
|
485
|
+
* / on any refusal.
|
|
486
|
+
*/
|
|
487
|
+
addRecordNote: ActorMethod<[bigint, string], Result_12>;
|
|
434
488
|
/**
|
|
435
489
|
* / Returns the write RECEIPT, not just the version.
|
|
436
490
|
* /
|
|
@@ -465,7 +519,7 @@ export interface Engram {
|
|
|
465
519
|
* / is exactly what a guardian pause exists to hold. No action alert is raised: the operation is
|
|
466
520
|
* / owner-initiated, owner-only, and already chained into the audit log.
|
|
467
521
|
*/
|
|
468
|
-
applyCondense: ActorMethod<[bigint],
|
|
522
|
+
applyCondense: ActorMethod<[bigint], Result_77>;
|
|
469
523
|
/**
|
|
470
524
|
* / Owner-only: activate a guardian who has registered against an invite.
|
|
471
525
|
* /
|
|
@@ -545,7 +599,7 @@ export interface Engram {
|
|
|
545
599
|
* /
|
|
546
600
|
* / The write half also refuses while writes are PAUSED.
|
|
547
601
|
*/
|
|
548
|
-
backupInit: ActorMethod<[string, BackupType, [] | [string], string, [] | [string]],
|
|
602
|
+
backupInit: ActorMethod<[string, BackupType, [] | [string], string, [] | [string]], Result_51>;
|
|
549
603
|
/**
|
|
550
604
|
* / Read one chunk of a finalized backup, by index.
|
|
551
605
|
* /
|
|
@@ -553,7 +607,7 @@ export interface Engram {
|
|
|
553
607
|
* / `canAppendMemory`. Holding one says nothing about the other, deliberately: taking a backup and
|
|
554
608
|
* / carrying it away are different authorities.
|
|
555
609
|
*/
|
|
556
|
-
backupPullChunk: ActorMethod<[string, bigint],
|
|
610
|
+
backupPullChunk: ActorMethod<[string, bigint], Result_67>;
|
|
557
611
|
backupPushChunk: ActorMethod<[string, bigint, Uint8Array | number[]], Result_1>;
|
|
558
612
|
/**
|
|
559
613
|
* / The OWNER cancels an agent's pending key nomination; the agent keeps its current key. Refused
|
|
@@ -611,7 +665,7 @@ export interface Engram {
|
|
|
611
665
|
* / A principal that is already a GUARDIAN cannot become an agent — a guardian is an
|
|
612
666
|
* / independent check on agents, so one wallet must not hold both.
|
|
613
667
|
*/
|
|
614
|
-
createAgentInvite: ActorMethod<[string, AgentPermissions],
|
|
668
|
+
createAgentInvite: ActorMethod<[string, AgentPermissions], Result_51>;
|
|
615
669
|
/**
|
|
616
670
|
* / Owner-only: mint an invite for a GUARDIAN — an independent check on agents, not a
|
|
617
671
|
* / co-owner and not a recovery agent.
|
|
@@ -635,7 +689,7 @@ export interface Engram {
|
|
|
635
689
|
* / So an invite that fails to redeem for that reason is not a bad code. The rule exists because
|
|
636
690
|
* / a check must be independent of the thing it checks.
|
|
637
691
|
*/
|
|
638
|
-
createGuardianInvite: ActorMethod<[string, GuardianPermissions],
|
|
692
|
+
createGuardianInvite: ActorMethod<[string, GuardianPermissions], Result_51>;
|
|
639
693
|
/**
|
|
640
694
|
* / OWNER-ONLY deletion of a stored backup.
|
|
641
695
|
* /
|
|
@@ -669,6 +723,24 @@ export interface Engram {
|
|
|
669
723
|
* / does not change the policy — the next request over the same limit will be raised again.
|
|
670
724
|
*/
|
|
671
725
|
denyRequest: ActorMethod<[string, string], Result_1>;
|
|
726
|
+
/**
|
|
727
|
+
* / ⟨2026-10-21, the owner's round-11 answer c⟩ A NEW GUARDIAN POWER, words only: an ACTIVE
|
|
728
|
+
* / guardian disputes an agent's write. It never moves money, stops anything or changes a grant.
|
|
729
|
+
* / Appends a chained `record.dispute` entry (`about=<id> reason=<words>`) and keeps the dispute
|
|
730
|
+
* / for `listGuardianDisputes`; answers the new entry's id. NOT ALERTED, deliberately: a
|
|
731
|
+
* / `guardian.*` operation would fall in the alerts' #guardian class, and which entries reach a
|
|
732
|
+
* / phone is the held alerts round's to decide (`ActionAlerts.classify` answers null for
|
|
733
|
+
* / `record.*`). The owner sees it on the record's Disputes tab.
|
|
734
|
+
* /
|
|
735
|
+
* / WHO: every active guardian — no grant bit (`RecordWords` header says why). The OWNER is refused
|
|
736
|
+
* / by name (`RecordWords.OWNER_DISPUTES_ELSEWHERE` — the owner's dispute is
|
|
737
|
+
* / `repudiateMemoryWrite`); an agent and a stranger get "Not a guardian", a pending guardian "Guardian
|
|
738
|
+
* / is pending approval", the anonymous caller the anonymous refusal.
|
|
739
|
+
* / WHAT: an entry the owner's review would show (`qualifiesForReview` — an agent's append or
|
|
740
|
+
* / revision, or a paid session's append) that succeeded, still held in full by the ring.
|
|
741
|
+
* / One dispute per guardian per write (`#Conflict`, the first stands).
|
|
742
|
+
*/
|
|
743
|
+
disputeAgentWrite: ActorMethod<[bigint, string], Result_12>;
|
|
672
744
|
/**
|
|
673
745
|
* / Record that log entries [fromSeq, toSeq] were served, and return the root that proves it.
|
|
674
746
|
* /
|
|
@@ -683,7 +755,7 @@ export interface Engram {
|
|
|
683
755
|
* / situation rather than a safety measure. It IS gated on requireMemoryAttached: a store that
|
|
684
756
|
* / failed its integrity check must not attest anything it cannot vouch for.
|
|
685
757
|
*/
|
|
686
|
-
exportMemoryRange: ActorMethod<[bigint, bigint, [] | [Principal]],
|
|
758
|
+
exportMemoryRange: ActorMethod<[bigint, bigint, [] | [Principal]], Result_76>;
|
|
687
759
|
/**
|
|
688
760
|
* / ⟨0.16.0, L2.2 — renamed from `guardianFreezePayments`⟩ The prefix LIED about who may call it.
|
|
689
761
|
* / The gate is `requireOwnerOrGuardian`, and an owner freezing their own payments is the ordinary
|
|
@@ -718,10 +790,20 @@ export interface Engram {
|
|
|
718
790
|
* / before this one. If any of them is wrong, this comment is where the argument should happen.
|
|
719
791
|
*/
|
|
720
792
|
freezePayments: ActorMethod<[], Result_1>;
|
|
793
|
+
/**
|
|
794
|
+
* / ⟨2026-10-21, the owner's round-11 answer d⟩ `freezePayments` with a reason the strip and the
|
|
795
|
+
* / guardian page show ("Sam froze payments: 'a payment I didn't expect'"). A NEW method, not an
|
|
796
|
+
* / argument on `freezePayments`: a shipped argument tuple is frozen. Same callers, same grant, same
|
|
797
|
+
* / brake: the owner, or an active guardian holding `canFreezePayments`; an agent, a stranger, a
|
|
798
|
+
* / pending guardian and the anonymous caller are refused by `requireOwnerOrGuardian`'s own words.
|
|
799
|
+
* / An empty reason is no reason; a reason too long or holding a line break is `#Invalid` and the
|
|
800
|
+
* / brake is NOT pulled — the caller pulls it with `freezePayments`, or shortens the words.
|
|
801
|
+
*/
|
|
802
|
+
freezePaymentsWithReason: ActorMethod<[string], Result_1>;
|
|
721
803
|
/**
|
|
722
804
|
* / Delivery status + config readback. Owner-only (the URL is a secret).
|
|
723
805
|
*/
|
|
724
|
-
getActionAlertStatus: ActorMethod<[],
|
|
806
|
+
getActionAlertStatus: ActorMethod<[], Result_65>;
|
|
725
807
|
/**
|
|
726
808
|
* / Agents need to know what they may revise, so they can read it too. Whole-value config, same
|
|
727
809
|
* / carve-out as getProtectedPaths — and kept a SEPARATE method from it deliberately (L2.2): a
|
|
@@ -731,7 +813,7 @@ export interface Engram {
|
|
|
731
813
|
* / Refusal reason preserved from the trap: a grant is a power, and its absence and its
|
|
732
814
|
* / concealment are different facts.
|
|
733
815
|
*/
|
|
734
|
-
getAgentRevisablePaths: ActorMethod<[],
|
|
816
|
+
getAgentRevisablePaths: ActorMethod<[], Result_61>;
|
|
735
817
|
/**
|
|
736
818
|
* / OWNER-ONLY: every engagement's seat weeks on this engram, with the agent's root — the day it
|
|
737
819
|
* / paired, the days of its first and last payment signature, a 64-week map whose bit 0 is the week
|
|
@@ -744,7 +826,7 @@ export interface Engram {
|
|
|
744
826
|
* / empty page. Paged; `total` is every engagement ever paired here (a reset keeps the rows).
|
|
745
827
|
* / Two rows can name one root: an agent paired again after it left is a second engagement.
|
|
746
828
|
*/
|
|
747
|
-
getAgentSeatWeeks: ActorMethod<[bigint, bigint],
|
|
829
|
+
getAgentSeatWeeks: ActorMethod<[bigint, bigint], Result_74>;
|
|
748
830
|
/**
|
|
749
831
|
* / Owner: everything written into this engram by someone other than the owner since the last
|
|
750
832
|
* / markAgentWritesReviewed() — agent appends/revisions AND paid-session appends (see
|
|
@@ -754,7 +836,7 @@ export interface Engram {
|
|
|
754
836
|
* / as a total. `earliest` discloses ring eviction — if cursor < earliest, entries between them
|
|
755
837
|
* / aged out of the ring (the CHAIN still proves total count; this view can't show their bodies).
|
|
756
838
|
*/
|
|
757
|
-
getAgentWriteReview: ActorMethod<[],
|
|
839
|
+
getAgentWriteReview: ActorMethod<[], Result_73>;
|
|
758
840
|
/**
|
|
759
841
|
* / Why anchoring is or is not advancing. PUBLIC: ungated on purpose — detecting a stalled
|
|
760
842
|
* / engram is the point, a gated read would fail-to-empty and hand a third party fabricated zeros,
|
|
@@ -777,7 +859,20 @@ export interface Engram {
|
|
|
777
859
|
* / was signed rather than asserted.
|
|
778
860
|
*/
|
|
779
861
|
getAuditHead: ActorMethod<[], AuditHead>;
|
|
780
|
-
getBackupMetadata: ActorMethod<[string],
|
|
862
|
+
getBackupMetadata: ActorMethod<[string], Result_72>;
|
|
863
|
+
/**
|
|
864
|
+
* / ⟨2026-10-21, the owner's round-11 answer m: a backup-retention getter⟩ How many backups of
|
|
865
|
+
* / `dbType` each creator keeps, and whether that is the default — the read `setBackupRetention`
|
|
866
|
+
* / lacked, so "Keeps your newest 3" showed only on the phone that last set it.
|
|
867
|
+
* /
|
|
868
|
+
* / WHO: the OWNER, and an active AGENT holding `canAppendMemory` — the permission that lets it
|
|
869
|
+
* / upload backups, which are exactly the backups this number bounds (`#perm(#append_memory)`).
|
|
870
|
+
* / Refused, each by the gate's own words: an agent without that permission ("Permission
|
|
871
|
+
* / denied"), a revoked or resigned agent, a guardian (guardians take no backups), a stranger and
|
|
872
|
+
* / the anonymous caller. A kind the setter would refuse is `#Invalid` here too
|
|
873
|
+
* / (`Backup.getRetention`). Records nothing (a query).
|
|
874
|
+
*/
|
|
875
|
+
getBackupRetention: ActorMethod<[string], Result_71>;
|
|
781
876
|
/**
|
|
782
877
|
* / The cashier this engram recognises as its rent biller — `null` until the registry pushes one.
|
|
783
878
|
* /
|
|
@@ -787,6 +882,17 @@ export interface Engram {
|
|
|
787
882
|
* / too is what lets the two be COMPARED, which is the only way to catch a mismatch.
|
|
788
883
|
*/
|
|
789
884
|
getBillerId: ActorMethod<[], [] | [Principal]>;
|
|
885
|
+
/**
|
|
886
|
+
* / ⟨2026-10-21, the owner's round-11 answer d⟩ Each brake: on or off, and while on, who pulled it
|
|
887
|
+
* / LAST (their key and whether as owner or guardian), since when, and the reason they gave — the
|
|
888
|
+
* / same person and time as the newest brake entry on the record (`RecordWords.BrakePull`). For the
|
|
889
|
+
* / owner's status strip and the guardian page. The OWNER and ACTIVE GUARDIANS may read it; an
|
|
890
|
+
* / agent, a stranger, a pending guardian and the anonymous caller are refused (`#ownerOrGuardian`
|
|
891
|
+
* / — an agent learns a brake is on from the refusal of what it tried, and needs no more). `pull`
|
|
892
|
+
* / is null for a brake that is off, and for one carried on across the upgrade that added this
|
|
893
|
+
* / read (who pulled it was not recorded then) — never a guessed pull.
|
|
894
|
+
*/
|
|
895
|
+
getBrakes: ActorMethod<[], Result_70>;
|
|
790
896
|
/**
|
|
791
897
|
* / ⟨0.16.0, L9/L10 — census row⟩ `Wire.CertifiedAuditHead`, not an anonymous record. The
|
|
792
898
|
* / registry, market and cashier already served the shared type; the engram — the canister that
|
|
@@ -813,13 +919,13 @@ export interface Engram {
|
|
|
813
919
|
* / recorded nothing while reading as if it did. The refusal is loud in the reply instead. WHAT
|
|
814
920
|
* / WOULD MAKE THIS WRONG: a reason to record who asked — then this becomes an update that says so.
|
|
815
921
|
*/
|
|
816
|
-
getChildAllowance: ActorMethod<[Principal],
|
|
922
|
+
getChildAllowance: ActorMethod<[Principal], Result_69>;
|
|
817
923
|
/**
|
|
818
924
|
* / Owner-only, Billing-class: what opening an engram costs this engram, the balance below which an
|
|
819
925
|
* / agent's request is refused, the balance now, and every agent's allowance. The console's cost
|
|
820
926
|
* / sentence reads it. Cycles are owner-class information, as on the owner's console read.
|
|
821
927
|
*/
|
|
822
|
-
getChildOpening: ActorMethod<[],
|
|
928
|
+
getChildOpening: ActorMethod<[], Result_68>;
|
|
823
929
|
/**
|
|
824
930
|
* / Derive the shared memory-encryption key, encrypted under the caller's transport
|
|
825
931
|
* / public key. Gated to owner + read-agents (the same principals allowed to read
|
|
@@ -845,7 +951,7 @@ export interface Engram {
|
|
|
845
951
|
* / cost. Stated here because L7 requires the reason be readable from the interface rather than
|
|
846
952
|
* / inferred by opening the body — which is exactly what had to happen to write this line.
|
|
847
953
|
*/
|
|
848
|
-
getEncryptedMemoryKey: ActorMethod<[[] | [bigint], Uint8Array | number[]],
|
|
954
|
+
getEncryptedMemoryKey: ActorMethod<[[] | [bigint], Uint8Array | number[]], Result_67>;
|
|
849
955
|
/**
|
|
850
956
|
* / ⟨0.16.0, owner ruling 2026-08-20 — option (a)⟩ `x402Support` REPORTS THE RAIL, not a constant.
|
|
851
957
|
* /
|
|
@@ -944,7 +1050,7 @@ export interface Engram {
|
|
|
944
1050
|
* / `#Err`, never a record carrying an empty string (ic402's `getEvmAddress` answers `""` on a
|
|
945
1051
|
* / failed derivation — that is fail-to-empty on a money surface, and it stops here).
|
|
946
1052
|
*/
|
|
947
|
-
getEvmAddress: ActorMethod<[],
|
|
1053
|
+
getEvmAddress: ActorMethod<[], Result_66>;
|
|
948
1054
|
/**
|
|
949
1055
|
* / The owner's OWN EVM address, if they registered one — distinct from `getEvmAddress`, which is
|
|
950
1056
|
* / the address this canister derives for itself.
|
|
@@ -963,7 +1069,7 @@ export interface Engram {
|
|
|
963
1069
|
* / cost — stated here because L7 requires the reason be readable from the interface rather than
|
|
964
1070
|
* / inferred by opening the body.
|
|
965
1071
|
*/
|
|
966
|
-
getEvmSignerAddress: ActorMethod<[],
|
|
1072
|
+
getEvmSignerAddress: ActorMethod<[], Result_51>;
|
|
967
1073
|
/**
|
|
968
1074
|
* / PUBLIC: where this chain begins, for the stranger deciding whether to trust it.
|
|
969
1075
|
* /
|
|
@@ -976,7 +1082,7 @@ export interface Engram {
|
|
|
976
1082
|
/**
|
|
977
1083
|
* / A guardian's own channel status (their URL is their secret — each guardian sees only theirs).
|
|
978
1084
|
*/
|
|
979
|
-
getGuardianAlertStatus: ActorMethod<[],
|
|
1085
|
+
getGuardianAlertStatus: ActorMethod<[], Result_65>;
|
|
980
1086
|
/**
|
|
981
1087
|
* / The market this engram will accept signing requests from — `null` until the registry pushes
|
|
982
1088
|
* / one at spawn, which is why `requireMarket` refuses fleet-wide today.
|
|
@@ -1009,7 +1115,7 @@ export interface Engram {
|
|
|
1009
1115
|
* / never renumbered: the next page starts at the last version returned plus one. Defaults
|
|
1010
1116
|
* / return the whole history of any file a pre-FD engram could have held.
|
|
1011
1117
|
*/
|
|
1012
|
-
getMemoryHistory: ActorMethod<[string, [] | [bigint], [] | [bigint]],
|
|
1118
|
+
getMemoryHistory: ActorMethod<[string, [] | [bigint], [] | [bigint]], Result_64>;
|
|
1013
1119
|
/**
|
|
1014
1120
|
* / PUBLIC: the epoch alone, and deliberately nothing else (rotation study D4). A `rotatedAt[]`
|
|
1015
1121
|
* / history would be a public, fleet-enumerable feed of when each owner terminated a trust
|
|
@@ -1058,7 +1164,7 @@ export interface Engram {
|
|
|
1058
1164
|
* / forever" — a claim about what this engram will DESTROY — and an empty guard list reads as
|
|
1059
1165
|
* / "nothing is held back".
|
|
1060
1166
|
*/
|
|
1061
|
-
getMemoryRetentionPolicy: ActorMethod<[],
|
|
1167
|
+
getMemoryRetentionPolicy: ActorMethod<[], Result_63>;
|
|
1062
1168
|
/**
|
|
1063
1169
|
* / The metrics reader this engram answers — `null` until the spawning registry names one.
|
|
1064
1170
|
* /
|
|
@@ -1087,7 +1193,7 @@ export interface Engram {
|
|
|
1087
1193
|
* / client (rule 4) and bought a masked answer nobody had asked for — the census could not even
|
|
1088
1194
|
* / find a consumer that read the masked `0`. Behind a gate there is nobody to mask it from.
|
|
1089
1195
|
*/
|
|
1090
|
-
getOwnerConsole: ActorMethod<[],
|
|
1196
|
+
getOwnerConsole: ActorMethod<[], Result_62>;
|
|
1091
1197
|
/**
|
|
1092
1198
|
* / Owner + agents only (agents need it to avoid writing protected paths).
|
|
1093
1199
|
* /
|
|
@@ -1101,7 +1207,7 @@ export interface Engram {
|
|
|
1101
1207
|
* / writing one — so a fabricated empty here does not merely misinform, it invites the write the
|
|
1102
1208
|
* / list exists to prevent.
|
|
1103
1209
|
*/
|
|
1104
|
-
getProtectedPaths: ActorMethod<[],
|
|
1210
|
+
getProtectedPaths: ActorMethod<[], Result_61>;
|
|
1105
1211
|
/**
|
|
1106
1212
|
* / Whether the metrics reader's read is answered — `true` from birth.
|
|
1107
1213
|
* /
|
|
@@ -1114,7 +1220,7 @@ export interface Engram {
|
|
|
1114
1220
|
* / payment signatures the balance carries above the floor before `signX402Payment` is refused by
|
|
1115
1221
|
* / name. The same numbers the check uses, so Billing can say only what the engram enforces.
|
|
1116
1222
|
*/
|
|
1117
|
-
getSigningFloor: ActorMethod<[],
|
|
1223
|
+
getSigningFloor: ActorMethod<[], Result_60>;
|
|
1118
1224
|
/**
|
|
1119
1225
|
* / The registry that spawned this engram, if it recorded one.
|
|
1120
1226
|
* /
|
|
@@ -1135,7 +1241,7 @@ export interface Engram {
|
|
|
1135
1241
|
* / A refusal names this method (`Gated.gatedResult`) rather than answering null/0 — a ceiling of
|
|
1136
1242
|
* / "none" and a spend of 0 are both real answers, so a fabricated one would be read as fact.
|
|
1137
1243
|
*/
|
|
1138
|
-
getSpendCeiling: ActorMethod<[],
|
|
1244
|
+
getSpendCeiling: ActorMethod<[], Result_59>;
|
|
1139
1245
|
/**
|
|
1140
1246
|
* / Read the caps in force for a caller.
|
|
1141
1247
|
* /
|
|
@@ -1145,8 +1251,8 @@ export interface Engram {
|
|
|
1145
1251
|
* / configuration, and publishing them would tell any caller exactly how large a signing request
|
|
1146
1252
|
* / can be before it needs an approval nobody is watching for.
|
|
1147
1253
|
*/
|
|
1148
|
-
getSpendPolicy: ActorMethod<[[] | [Principal]],
|
|
1149
|
-
getStorageStats: ActorMethod<[],
|
|
1254
|
+
getSpendPolicy: ActorMethod<[[] | [Principal]], Result_58>;
|
|
1255
|
+
getStorageStats: ActorMethod<[], Result_57>;
|
|
1150
1256
|
/**
|
|
1151
1257
|
* / Timer arm-state. PUBLIC and deliberately so: these timers are self-arming to save cycles,
|
|
1152
1258
|
* / and an optimisation nobody can verify is an optimisation nobody should trust. Cheap to read,
|
|
@@ -1219,14 +1325,14 @@ export interface Engram {
|
|
|
1219
1325
|
* / UPDATE, marked per L7: it awaits three ICRC-1 ledgers". It was marked in prose and invisible
|
|
1220
1326
|
* / to any gate; the glyph is what `scripts/check-update-for-read.mjs` matches.
|
|
1221
1327
|
*/
|
|
1222
|
-
getWalletBalances: ActorMethod<[],
|
|
1328
|
+
getWalletBalances: ActorMethod<[], Result_56>;
|
|
1223
1329
|
/**
|
|
1224
1330
|
* / Refusal reason preserved, and it is the clearest case of why a masked read is worse than no
|
|
1225
1331
|
* / read: three empty strings with `configured = false` is a VALID-LOOKING answer meaning "this
|
|
1226
1332
|
* / engram has no World ID configuration" — handed to a caller who merely lacks a grant. The
|
|
1227
1333
|
* / fabrication is indistinguishable from the truth by construction.
|
|
1228
1334
|
*/
|
|
1229
|
-
getWorldIdConfig: ActorMethod<[],
|
|
1335
|
+
getWorldIdConfig: ActorMethod<[], Result_55>;
|
|
1230
1336
|
/**
|
|
1231
1337
|
* / ⟨L7⟩ UPDATE, NOT QUERY: this awaits THREE system calls — `raw_rand()` for the nonce,
|
|
1232
1338
|
* / `Call.signWithEcdsa` for the signature, and `worldIdRpPublicKey()` for the derived key. A
|
|
@@ -1237,7 +1343,7 @@ export interface Engram {
|
|
|
1237
1343
|
* / the World Developer Portal. Short-lived (300s TTL, idkit-server's default) and single-purpose —
|
|
1238
1344
|
* / it authorizes opening one verification request, nothing else.
|
|
1239
1345
|
*/
|
|
1240
|
-
getWorldIdRpContext: ActorMethod<[],
|
|
1346
|
+
getWorldIdRpContext: ActorMethod<[], Result_54>;
|
|
1241
1347
|
/**
|
|
1242
1348
|
* / Owner-only: the EVM address derived from the engram's dedicated World ID RP signing key (the
|
|
1243
1349
|
* / "worldid-rp" tECDSA path). Register THIS address as the rp_id's signer in the World Developer
|
|
@@ -1249,7 +1355,7 @@ export interface Engram {
|
|
|
1249
1355
|
* / refusal — a state write, which a query cannot perform. So even if the key were cached this
|
|
1250
1356
|
* / could not become a query without silently retiring its denial record (ADR-0002's class).
|
|
1251
1357
|
*/
|
|
1252
|
-
getWorldIdRpSignerAddress: ActorMethod<[],
|
|
1358
|
+
getWorldIdRpSignerAddress: ActorMethod<[], Result_51>;
|
|
1253
1359
|
/**
|
|
1254
1360
|
* / The verified IDKitResult, verbatim, as World's /api/v4/verify accepted it — the re-checkable
|
|
1255
1361
|
* / artifact behind verifiedHuman. Role-gated because it carries the NULLIFIER.
|
|
@@ -1270,7 +1376,7 @@ export interface Engram {
|
|
|
1270
1376
|
* / canister does not serve. The tombstones below and at `about()` are historical and correct as
|
|
1271
1377
|
* / written; this one was present tense, which is the difference that matters.⟩
|
|
1272
1378
|
*/
|
|
1273
|
-
getWorldIdVerification: ActorMethod<[],
|
|
1379
|
+
getWorldIdVerification: ActorMethod<[], Result_53>;
|
|
1274
1380
|
/**
|
|
1275
1381
|
* / ⟨0.16.0, L1⟩ THE EMERGENCY FAMILY. Every refusal below is `#Refused` or `#NotFound`, and the
|
|
1276
1382
|
* / absence of a `#Conflict` here is the point: these are the calls someone makes while something
|
|
@@ -1354,7 +1460,7 @@ export interface Engram {
|
|
|
1354
1460
|
* / Owner-gated because it reports on custody posture, and answered as a Result so that a
|
|
1355
1461
|
* / wrong-identity caller gets a refusal rather than a bare `false` that reads as "no address yet".
|
|
1356
1462
|
*/
|
|
1357
|
-
isEvmAddressCached: ActorMethod<[],
|
|
1463
|
+
isEvmAddressCached: ActorMethod<[], Result_52>;
|
|
1358
1464
|
/**
|
|
1359
1465
|
* / Issue an OAuth authorization code. Called by an OAuth client's sign-in bridge
|
|
1360
1466
|
* / (an `/auth/connector`-style route) after II authentication. The client then
|
|
@@ -1363,7 +1469,7 @@ export interface Engram {
|
|
|
1363
1469
|
* /
|
|
1364
1470
|
* / Owner-only: only the engram owner can authorize a Connector install.
|
|
1365
1471
|
*/
|
|
1366
|
-
issueAuthCode: ActorMethod<[string, string, string, [] | [string]],
|
|
1472
|
+
issueAuthCode: ActorMethod<[string, string, string, [] | [string]], Result_51>;
|
|
1367
1473
|
/**
|
|
1368
1474
|
* / ⟨0.16.0⟩ `getCycleSnapshotSource` DELETED — folded into `CycleSnapshot.source`, one label per
|
|
1369
1475
|
* / ROW. A single label for a whole ring misattributes every row recorded under the other source,
|
|
@@ -1379,7 +1485,26 @@ export interface Engram {
|
|
|
1379
1485
|
* / DORMANT engram and corrupts retention math — a fabricated empty here does not just misinform a
|
|
1380
1486
|
* / reader, it feeds a wrong number into a decision about destroying data.
|
|
1381
1487
|
*/
|
|
1382
|
-
listActivitySnapshots: ActorMethod<[bigint, bigint],
|
|
1488
|
+
listActivitySnapshots: ActorMethod<[bigint, bigint], Result_50>;
|
|
1489
|
+
/**
|
|
1490
|
+
* / ⟨2026-10-21, round 11 item l — the owner's answer "round 11: a, b, c, d, e, f, g, h, i, j, k, l,
|
|
1491
|
+
* / m."⟩ OWNER-ONLY: what each agent has spent today, beside the daily limit in force for it, so the
|
|
1492
|
+
* / agent rows can say "$0.50 of $5.00 today" where they said a count of payments. Read from the
|
|
1493
|
+
* / state the payment path already keeps — `outboundSpendToday`, through `SpendCeiling.callerSpentOn`
|
|
1494
|
+
* / (the reader `x402SignFor` uses) — and the limits from `gate.getPolicy(<the agent's key>)`, the
|
|
1495
|
+
* / policy `x402SignFor` checks, on the UTC day it checks (`SpendCeiling.dayIndex`). Amounts are the
|
|
1496
|
+
* / token's minor units, as the record's `amount=` writes them. No new state.
|
|
1497
|
+
* /
|
|
1498
|
+
* / OWNER-ONLY for `getSpendCeiling`'s reason: one agent's spending is the owner's custody
|
|
1499
|
+
* / information, and would tell another agent how much it spent. Everyone else — an agent, a
|
|
1500
|
+
* / guardian, a stranger, the anonymous caller — is refused by name (`#Refused
|
|
1501
|
+
* / listAgentSpendToday: …`), never answered with zeros. Paged like `listAgents`, in its order, one
|
|
1502
|
+
* / row per agent record; a row's `spentToday` is null, not 0, where no daily limit is in force,
|
|
1503
|
+
* / because the payment path keeps no figure then (`SpendCeiling.AgentSpendRow` says why).
|
|
1504
|
+
* / WHAT WOULD MAKE THIS WRONG: `x402SignFor` keeping the per-caller total by something other than
|
|
1505
|
+
* / the calling key, or under another day boundary.
|
|
1506
|
+
*/
|
|
1507
|
+
listAgentSpendToday: ActorMethod<[bigint, bigint], Result_49>;
|
|
1383
1508
|
/**
|
|
1384
1509
|
* / ⟨0.16.0⟩ THE PAGE EXEMPLAR. Trap → `#Refused`, bare array → `Result<Page<T>>` (L1 + L3).
|
|
1385
1510
|
* /
|
|
@@ -1396,7 +1521,7 @@ export interface Engram {
|
|
|
1396
1521
|
* / `withheld` is 0: this roster is owner-only in whole, so there is no partial-visibility case.
|
|
1397
1522
|
* / A method that filters rows by caller sets it — see L1's row-level honesty rule.
|
|
1398
1523
|
*/
|
|
1399
|
-
listAgents: ActorMethod<[bigint, bigint],
|
|
1524
|
+
listAgents: ActorMethod<[bigint, bigint], Result_48>;
|
|
1400
1525
|
/**
|
|
1401
1526
|
* / The GUARDIAN-audience projection of the agent roster — three fields, not the full record.
|
|
1402
1527
|
* /
|
|
@@ -1410,7 +1535,7 @@ export interface Engram {
|
|
|
1410
1535
|
* / guardian consults BEFORE REVOKING ONE. A fabricated empty here does not merely misinform —
|
|
1411
1536
|
* / it tells someone acting under emergency powers that there is nothing to act on.
|
|
1412
1537
|
*/
|
|
1413
|
-
listAgentsForGuardian: ActorMethod<[bigint, bigint],
|
|
1538
|
+
listAgentsForGuardian: ActorMethod<[bigint, bigint], Result_47>;
|
|
1414
1539
|
/**
|
|
1415
1540
|
* / Owner-only: rows carry caller, amount, operation and free-text rationale. The SDK omits it.
|
|
1416
1541
|
* /
|
|
@@ -1424,7 +1549,7 @@ export interface Engram {
|
|
|
1424
1549
|
* /
|
|
1425
1550
|
* / Refusal reason preserved: `[]` reads as "nothing is awaiting the owner's decision".
|
|
1426
1551
|
*/
|
|
1427
|
-
listApprovalRequests: ActorMethod<[[] | [ApprovalStatus], bigint, bigint],
|
|
1552
|
+
listApprovalRequests: ActorMethod<[[] | [ApprovalStatus], bigint, bigint], Result_33>;
|
|
1428
1553
|
/**
|
|
1429
1554
|
* / ⟨0.16.0⟩ `total` IS THE HEAD COUNTER, and on this method that is the entire point.
|
|
1430
1555
|
* /
|
|
@@ -1460,7 +1585,7 @@ export interface Engram {
|
|
|
1460
1585
|
* / at read time; nothing new is stored. WHAT WOULD MAKE THIS WRONG: a sealed row carrying any part
|
|
1461
1586
|
* / of a body, or a stranger reaching `items` (test/record-view.test.mo pins both).
|
|
1462
1587
|
*/
|
|
1463
|
-
listAuditEntries: ActorMethod<[bigint, bigint],
|
|
1588
|
+
listAuditEntries: ActorMethod<[bigint, bigint], Result_46>;
|
|
1464
1589
|
/**
|
|
1465
1590
|
* / ⟨0.16.0, L1 + L3 — census-ruled⟩ THE TWO-MECHANISM EXCEPTION DISSOLVES.
|
|
1466
1591
|
* /
|
|
@@ -1486,7 +1611,7 @@ export interface Engram {
|
|
|
1486
1611
|
* / keeps its optional filter and applies it to the page, so no caller loses the ability to ask
|
|
1487
1612
|
* / "backups of this database" — it stops being a thing the canister has to page around.
|
|
1488
1613
|
*/
|
|
1489
|
-
listBackups: ActorMethod<[bigint, bigint],
|
|
1614
|
+
listBackups: ActorMethod<[bigint, bigint], Result_45>;
|
|
1490
1615
|
/**
|
|
1491
1616
|
* / List all bearer tokens — Active, Revoked, and Expired. Owner uses this in
|
|
1492
1617
|
* / the dashboard to show installed Connectors (claude.ai, Claude Desktop, etc.).
|
|
@@ -1498,7 +1623,7 @@ export interface Engram {
|
|
|
1498
1623
|
* / merely stopped being used is reported `#Expired`, not a stale `#Active`), so the page carries
|
|
1499
1624
|
* / the same honesty the store gained on 2026-08-17.
|
|
1500
1625
|
*/
|
|
1501
|
-
listBearerTokens: ActorMethod<[bigint, bigint],
|
|
1626
|
+
listBearerTokens: ActorMethod<[bigint, bigint], Result_44>;
|
|
1502
1627
|
/**
|
|
1503
1628
|
* / The condense checkpoints in the retained log at or above `startSeq`, oldest first.
|
|
1504
1629
|
* /
|
|
@@ -1510,7 +1635,7 @@ export interface Engram {
|
|
|
1510
1635
|
* / Owner-only like every other archive surface, and for the same structural reason: these rows
|
|
1511
1636
|
* / carry the chain positions and roots of entries whose paths were inside the hash preimage.
|
|
1512
1637
|
*/
|
|
1513
|
-
listCondenseCheckpoints: ActorMethod<[bigint, bigint],
|
|
1638
|
+
listCondenseCheckpoints: ActorMethod<[bigint, bigint], Result_43>;
|
|
1514
1639
|
/**
|
|
1515
1640
|
* / ⟨0.16.0⟩ `metrics()` DELETED — absorbed by `about()`.
|
|
1516
1641
|
* /
|
|
@@ -1519,13 +1644,13 @@ export interface Engram {
|
|
|
1519
1644
|
* / both and know which one owned each field. Every field here survives on `about()`, day-flooring
|
|
1520
1645
|
* / included.
|
|
1521
1646
|
*/
|
|
1522
|
-
listCycleSnapshots: ActorMethod<[bigint, bigint],
|
|
1647
|
+
listCycleSnapshots: ActorMethod<[bigint, bigint], Result_42>;
|
|
1523
1648
|
/**
|
|
1524
1649
|
* / Same `withheld` treatment as listMemoryFiles — the tombstone listing filtered reserved paths
|
|
1525
1650
|
* / for non-owners just as silently, and a caller could not tell a filtered tombstone list from a
|
|
1526
1651
|
* / complete one. Counted before slicing, so policy-hidden rows never blur into paging.
|
|
1527
1652
|
*/
|
|
1528
|
-
listDeletedMemoryFiles: ActorMethod<[bigint, bigint],
|
|
1653
|
+
listDeletedMemoryFiles: ActorMethod<[bigint, bigint], Result_41>;
|
|
1529
1654
|
/**
|
|
1530
1655
|
* / Stays on the engram under B1 (hybrid): withdrawal custody does not leave.
|
|
1531
1656
|
* /
|
|
@@ -1541,7 +1666,7 @@ export interface Engram {
|
|
|
1541
1666
|
* / The item's field is `value`, not `address`: a list may hold a venue value that is no address.
|
|
1542
1667
|
* / Readable by the owner, an active agent or an active guardian, as the old list was.
|
|
1543
1668
|
*/
|
|
1544
|
-
listEip712Destinations: ActorMethod<[Uint8Array | number[], bigint, bigint],
|
|
1669
|
+
listEip712Destinations: ActorMethod<[Uint8Array | number[], bigint, bigint], Result_40>;
|
|
1545
1670
|
/**
|
|
1546
1671
|
* / The registered shapes — E3: encodeTypeString is the display artifact, verbatim.
|
|
1547
1672
|
* / Stays on the engram under B1 (hybrid): EIP-712 signing is custody, and custody does not leave.
|
|
@@ -1554,7 +1679,15 @@ export interface Engram {
|
|
|
1554
1679
|
* / from `eip712FieldRules` — they are part of what the type authorises, so a reader of the list must
|
|
1555
1680
|
* / not have to make a second call to learn them. The row type is `Eip712TypeView`.
|
|
1556
1681
|
*/
|
|
1557
|
-
listEip712Types: ActorMethod<[bigint, bigint],
|
|
1682
|
+
listEip712Types: ActorMethod<[bigint, bigint], Result_39>;
|
|
1683
|
+
/**
|
|
1684
|
+
* / ⟨2026-10-21, round 11 c⟩ Guardians' disputes, oldest first. Same visibility as
|
|
1685
|
+
* / `listRepudiations` and `listRecordNotes`: the owner and ACTIVE guardians read the rows; an
|
|
1686
|
+
* / agent gets an empty page whose `withheld` counts them (ruling 16 B holds — a dispute is the
|
|
1687
|
+
* / guardian's entry, not the agent's); a stranger, a pending guardian and the anonymous caller are
|
|
1688
|
+
* / refused.
|
|
1689
|
+
*/
|
|
1690
|
+
listGuardianDisputes: ActorMethod<[bigint, bigint], Result_38>;
|
|
1558
1691
|
/**
|
|
1559
1692
|
* / Accessible by owner and guardians.
|
|
1560
1693
|
* /
|
|
@@ -1563,7 +1696,7 @@ export interface Engram {
|
|
|
1563
1696
|
* / pause writes" — a claim about who can STOP it. A caller who cannot tell that from "you may not
|
|
1564
1697
|
* / see the roster" has been told the engram is unguarded when it may be fully guarded.
|
|
1565
1698
|
*/
|
|
1566
|
-
listGuardians: ActorMethod<[bigint, bigint],
|
|
1699
|
+
listGuardians: ActorMethod<[bigint, bigint], Result_37>;
|
|
1567
1700
|
/**
|
|
1568
1701
|
* / The export receipts in the retained log at or above `startSeq`, oldest first.
|
|
1569
1702
|
* /
|
|
@@ -1581,7 +1714,7 @@ export interface Engram {
|
|
|
1581
1714
|
* / Read `MemoryRouter.ReceiptPage` before reading `page.total` as a receipt count. It is not one;
|
|
1582
1715
|
* / it is the chain's length, and the declaration says why.
|
|
1583
1716
|
*/
|
|
1584
|
-
listMemoryExportReceipts: ActorMethod<[bigint, bigint],
|
|
1717
|
+
listMemoryExportReceipts: ActorMethod<[bigint, bigint], Result_36>;
|
|
1585
1718
|
/**
|
|
1586
1719
|
* / ⟨0.16.0⟩ THE `withheld` EXEMPLAR — L1 names this exact method as the defect it fixes.
|
|
1587
1720
|
* /
|
|
@@ -1598,8 +1731,17 @@ export interface Engram {
|
|
|
1598
1731
|
* / Note the count is computed from the unfiltered list before slicing, so it reports rows hidden
|
|
1599
1732
|
* / by POLICY, never rows merely off the end of this page — those are `total`'s job. Conflating
|
|
1600
1733
|
* / the two would rebuild the ambiguity in a new place.
|
|
1734
|
+
* /
|
|
1735
|
+
* / ⟨2026-10-21, the owner's round-11 answer k: an author on every file row⟩ Each row also
|
|
1736
|
+
* / carries `lastModifiedBy` (`Types.MemoryFileRow`): the key that wrote the file's current
|
|
1737
|
+
* / version, so a phone's file list can say "changed 2 h ago by Recorder" without a read per
|
|
1738
|
+
* / file. It is what `readMemory` already serves to the same callers under the same gate, so it
|
|
1739
|
+
* / tells no caller anything it could not read. Born `opt` (ADR-0018 rule 1). Looked up only for
|
|
1740
|
+
* / the rows of THIS page (`MemoryRouter.info`), after the slice, so the cost is one lookup per
|
|
1741
|
+
* / row served, never one per file stored. A WIDENED REPLY: a reader that decodes the row by
|
|
1742
|
+
* / position rather than by field name breaks — none in this repository does.
|
|
1601
1743
|
*/
|
|
1602
|
-
listMemoryFiles: ActorMethod<[bigint, bigint],
|
|
1744
|
+
listMemoryFiles: ActorMethod<[bigint, bigint], Result_35>;
|
|
1603
1745
|
/**
|
|
1604
1746
|
* / One page of the memory log, seq-ordered, optionally narrowed to one author.
|
|
1605
1747
|
* /
|
|
@@ -1626,7 +1768,7 @@ export interface Engram {
|
|
|
1626
1768
|
* / with the disclosures that make the page verifiable — the hidden-bound defect the census itself
|
|
1627
1769
|
* / names on previewCondense's row.
|
|
1628
1770
|
*/
|
|
1629
|
-
listMemoryLog: ActorMethod<[bigint, bigint, [] | [Principal]],
|
|
1771
|
+
listMemoryLog: ActorMethod<[bigint, bigint, [] | [Principal]], Result_34>;
|
|
1630
1772
|
/**
|
|
1631
1773
|
* / The caller's OWN spend-approval requests. ⟨0.16.0, L1 + L3 — fixed 2026-08-18⟩
|
|
1632
1774
|
* /
|
|
@@ -1645,7 +1787,7 @@ export interface Engram {
|
|
|
1645
1787
|
* / (The unbounded MAP is filed separately — pruning an approval record destroys evidence of what
|
|
1646
1788
|
* / was asked, which is a retention ruling rather than a shape fix.)
|
|
1647
1789
|
*/
|
|
1648
|
-
listMyApprovalRequests: ActorMethod<[bigint, bigint],
|
|
1790
|
+
listMyApprovalRequests: ActorMethod<[bigint, bigint], Result_33>;
|
|
1649
1791
|
/**
|
|
1650
1792
|
* / The payer's own sessions, live ones first. PAYER-SCOPED: a caller sees only their own, which
|
|
1651
1793
|
* / is why this needs no role — a session id is not a secret from the person who paid for it.
|
|
@@ -1656,7 +1798,7 @@ export interface Engram {
|
|
|
1656
1798
|
* / client would break on — the market paged its own pending withdrawals before its cut for the
|
|
1657
1799
|
* / same reason. The order is the order sessions were opened.
|
|
1658
1800
|
*/
|
|
1659
|
-
listMySessions: ActorMethod<[bigint, bigint],
|
|
1801
|
+
listMySessions: ActorMethod<[bigint, bigint], Result_32>;
|
|
1660
1802
|
/**
|
|
1661
1803
|
* /
|
|
1662
1804
|
* / ⟨0.16.0, L3⟩ Paged and enveloped like every other `list*`, and the envelope here is uniformity
|
|
@@ -1671,7 +1813,7 @@ export interface Engram {
|
|
|
1671
1813
|
* / IT recorded, so this chain is what a caller composes with when currency matters — which it
|
|
1672
1814
|
* / cannot do if it needs a role here.
|
|
1673
1815
|
*/
|
|
1674
|
-
listOwnershipTransfers: ActorMethod<[bigint, bigint],
|
|
1816
|
+
listOwnershipTransfers: ActorMethod<[bigint, bigint], Result_31>;
|
|
1675
1817
|
/**
|
|
1676
1818
|
* / ⟨2026-09-29, the platform's question from the build review⟩ OWNER-ONLY: how many payment
|
|
1677
1819
|
* / signatures each agent has obtained today, and the daily limit (200, `PaymentSignCap`). The
|
|
@@ -1689,7 +1831,7 @@ export interface Engram {
|
|
|
1689
1831
|
* / engram enforces for it — beside the agents, never a row among them
|
|
1690
1832
|
* / (`PaymentSignCap.marketplaceRow`). Null when no marketplace is set.
|
|
1691
1833
|
*/
|
|
1692
|
-
listPaymentSignatureCounts: ActorMethod<[bigint, bigint],
|
|
1834
|
+
listPaymentSignatureCounts: ActorMethod<[bigint, bigint], Result_30>;
|
|
1693
1835
|
/**
|
|
1694
1836
|
* / Agent records removed by a reset. Each row is a NAMED record with the fields `principal`,
|
|
1695
1837
|
* / `name`, `registeredAt` and `purgedAt` — read them BY NAME, never by position.
|
|
@@ -1731,7 +1873,7 @@ export interface Engram {
|
|
|
1731
1873
|
* / earlier ending, or the reset) — the facts `resyncAgentEdges` re-sends. The stored rows are
|
|
1732
1874
|
* / served as they are.
|
|
1733
1875
|
*/
|
|
1734
|
-
listPurgedAgents: ActorMethod<[bigint, bigint],
|
|
1876
|
+
listPurgedAgents: ActorMethod<[bigint, bigint], Result_29>;
|
|
1735
1877
|
/**
|
|
1736
1878
|
* / ⟨0.16.0⟩ ONE ACCESSOR, folding `readReadLog` and `getDenialLog` — and the fold only became
|
|
1737
1879
|
* / safe because of a change made earlier in this same leg.
|
|
@@ -1794,7 +1936,15 @@ export interface Engram {
|
|
|
1794
1936
|
* / on the chained record — the same `RecordView` filter, and `withheld` counts what it removed
|
|
1795
1937
|
* / together with what `successFilter` removed. WHAT WOULD MAKE THIS WRONG: see `listAuditEntries`.
|
|
1796
1938
|
*/
|
|
1797
|
-
listReadLog: ActorMethod<[[] | [boolean], bigint, bigint],
|
|
1939
|
+
listReadLog: ActorMethod<[[] | [boolean], bigint, bigint], Result_28>;
|
|
1940
|
+
/**
|
|
1941
|
+
* / ⟨2026-10-21, round 11 b⟩ The owner's notes, oldest first. Same visibility as
|
|
1942
|
+
* / `listRepudiations`, for the same reason: the owner and ACTIVE guardians read the rows; an agent
|
|
1943
|
+
* / reads only the entries it caused (follow-up 16 B), and every note is the owner's, so an agent
|
|
1944
|
+
* / gets an empty page whose `withheld` counts the notes in its window — never "there are none". A
|
|
1945
|
+
* / stranger, a pending guardian and the anonymous caller are refused.
|
|
1946
|
+
*/
|
|
1947
|
+
listRecordNotes: ActorMethod<[bigint, bigint], Result_27>;
|
|
1798
1948
|
/**
|
|
1799
1949
|
* / Same visibility as listAuditEntries: the owner, this engram's agents, and ACTIVE guardians
|
|
1800
1950
|
* / see disputes. An unauthorized read REFUSES — it does not return an empty list, because an
|
|
@@ -1811,7 +1961,18 @@ export interface Engram {
|
|
|
1811
1961
|
* / WOULD MAKE THIS WRONG: a ruling that an agent may see the disputes of its own writes; this would
|
|
1812
1962
|
* / then have to look up each disputed version's writer, which it does not do today.
|
|
1813
1963
|
*/
|
|
1814
|
-
listRepudiations: ActorMethod<[bigint, bigint],
|
|
1964
|
+
listRepudiations: ActorMethod<[bigint, bigint], Result_26>;
|
|
1965
|
+
/**
|
|
1966
|
+
* / ⟨2026-10-21, the owner's round-11 answer f⟩ OWNER-ONLY: the sign-ins, each with the name its app
|
|
1967
|
+
* / registered. The same tokens, in the same order and paged the same way, as `listBearerTokens`,
|
|
1968
|
+
* / each beside `clientName` — the RFC 7591 `client_name` the app registered when the token was
|
|
1969
|
+
* / issued (`People.SignIn` says when it is null, and that it is the app's own claim). A phone
|
|
1970
|
+
* / owner read "localhost" for every app signed in through a local bridge and could not tell two
|
|
1971
|
+
* / apps apart. A NEW method rather than a field on `BearerToken`: that record is stored (M0170)
|
|
1972
|
+
* / and `listBearerTokens`' reply is shipped (never widened). An agent, a guardian, a stranger and
|
|
1973
|
+
* / the anonymous caller are refused, by `listBearerTokens`' own gate and for its reason.
|
|
1974
|
+
*/
|
|
1975
|
+
listSignIns: ActorMethod<[bigint, bigint], Result_25>;
|
|
1815
1976
|
/**
|
|
1816
1977
|
* / Owner: advance the review cursor — "I have seen everything up to and including uptoAuditId"
|
|
1817
1978
|
* / (null = everything at the current head). Bounded so the attestation can never cover entries
|
|
@@ -1824,6 +1985,19 @@ export interface Engram {
|
|
|
1824
1985
|
* / changes only which ids the console can pass here — it cannot desynchronise the cursor.
|
|
1825
1986
|
*/
|
|
1826
1987
|
markAgentWritesReviewed: ActorMethod<[[] | [bigint]], Result_12>;
|
|
1988
|
+
/**
|
|
1989
|
+
* / ⟨2026-10-21, the owner's round-11 answer g⟩ AN AGENT READS ITS OWN GRANT — to the calling key
|
|
1990
|
+
* / only (`People.AgentGrant`): what it may read, where it may write, its rate, and the payment
|
|
1991
|
+
* / limits enforced against that key. It reveals nothing a refusal does not already say, and lets
|
|
1992
|
+
* / an agent correct itself before it writes rather than after the owner explains a refusal by
|
|
1993
|
+
* / hand. `getSpendPolicy` and `listAgents` stay owner-only; this answers one row, the caller's.
|
|
1994
|
+
* /
|
|
1995
|
+
* / WHO: an ACTIVE agent (`Gated.authorize(#agentOrOwner)`). Refused, each by its own text: the
|
|
1996
|
+
* / owner by name (`People.OWNER_HAS_NO_GRANT`), a revoked or resigned agent ("Agent is revoked" /
|
|
1997
|
+
* / "Agent has resigned" — an ended agent may do nothing, and its old grant would read as powers),
|
|
1998
|
+
* / a guardian and a stranger ("Not authorized"), the anonymous caller. A query: it writes nothing.
|
|
1999
|
+
*/
|
|
2000
|
+
myGrant: ActorMethod<[], Result_24>;
|
|
1827
2001
|
/**
|
|
1828
2002
|
* / The AGENT's current key nominates the key that will replace it. Nothing moves yet: the new
|
|
1829
2003
|
* / key must accept, by its own call, within 24 hours (`acceptAgentKeyNomination`). One pending
|
|
@@ -1862,8 +2036,8 @@ export interface Engram {
|
|
|
1862
2036
|
* / WHAT WOULD MAKE THIS WRONG: an await added between `ChildAllowance.take` and the registry call; the
|
|
1863
2037
|
* / registry's `CHILD_MIN_ATTACHED_CYCLES` moving without `CHILD_ATTACH_CYCLES`.
|
|
1864
2038
|
*/
|
|
1865
|
-
openChildEngram: ActorMethod<[],
|
|
1866
|
-
openSession: ActorMethod<[SessionConfig, PaymentSignature],
|
|
2039
|
+
openChildEngram: ActorMethod<[], Result_23>;
|
|
2040
|
+
openSession: ActorMethod<[SessionConfig, PaymentSignature], Result_22>;
|
|
1867
2041
|
/**
|
|
1868
2042
|
* / Withdraw tokens to the owner's principal. This is the ONLY way to
|
|
1869
2043
|
* / move tokens out of the engram to an external address, and the
|
|
@@ -1928,12 +2102,17 @@ export interface Engram {
|
|
|
1928
2102
|
* / engagement on the agent's track record, and what to do. Before, the reply was `#Ok` with the
|
|
1929
2103
|
* / record alone even when the registry had refused the start, so the agent was never told.
|
|
1930
2104
|
*/
|
|
1931
|
-
pairAgent: ActorMethod<[{ enrolment: Enrolment; code: string }],
|
|
2105
|
+
pairAgent: ActorMethod<[{ enrolment: Enrolment; code: string }], Result_21>;
|
|
1932
2106
|
/**
|
|
1933
2107
|
* / ⟨0.16.0, L2.2 — renamed from `guardianPauseWrites`⟩ Same correction as freezePayments above:
|
|
1934
2108
|
* / owner-or-guardian, and `resumeWrites` never carried the prefix either.
|
|
1935
2109
|
*/
|
|
1936
2110
|
pauseWrites: ActorMethod<[], Result_1>;
|
|
2111
|
+
/**
|
|
2112
|
+
* / ⟨2026-10-21, the owner's round-11 answer d⟩ `pauseWrites` with a reason; everything said of
|
|
2113
|
+
* / `freezePaymentsWithReason` holds, with `canPauseWrites` as the guardian's grant.
|
|
2114
|
+
*/
|
|
2115
|
+
pauseWritesWithReason: ActorMethod<[string], Result_1>;
|
|
1937
2116
|
/**
|
|
1938
2117
|
* / What condensing through `toSeq` would do, and whether it is unlocked. COMMITS NOTHING — it is
|
|
1939
2118
|
* / a query, so it structurally cannot; a preview that wrote would be its own trap.
|
|
@@ -1954,7 +2133,7 @@ export interface Engram {
|
|
|
1954
2133
|
* / `unlocked` is the export-receipt gate ONLY. It is not a promise the condense will land: the
|
|
1955
2134
|
* / history-budget delta is checked at commit time and can still refuse a short prefix.
|
|
1956
2135
|
*/
|
|
1957
|
-
previewCondense: ActorMethod<[bigint],
|
|
2136
|
+
previewCondense: ActorMethod<[bigint], Result_20>;
|
|
1958
2137
|
/**
|
|
1959
2138
|
* / A quote for a session this caller has not opened and is not committed to — the intent a
|
|
1960
2139
|
* / buyer signs against. Pure dry run, no state, no funds.
|
|
@@ -1984,6 +2163,26 @@ export interface Engram {
|
|
|
1984
2163
|
* / `expiryNs`. Same value, same meaning; only the name carries the unit now.
|
|
1985
2164
|
*/
|
|
1986
2165
|
previewOpenSession: ActorMethod<[], SessionIntent>;
|
|
2166
|
+
/**
|
|
2167
|
+
* / ⟨2026-10-21, the owner's round-11 answer k: a trim preview⟩ What a PROPOSED history policy
|
|
2168
|
+
* / would remove from the store as it stands — "about N old copies in F files would be removed" —
|
|
2169
|
+
* / asked BEFORE the owner saves it. A query: nothing is saved, armed or evicted.
|
|
2170
|
+
* /
|
|
2171
|
+
* / WHO: the OWNER only (`#ownerOnly`). An agent, a guardian, a stranger and the anonymous caller
|
|
2172
|
+
* / are each refused with `requireOwner`'s words; the setter it previews is owner-only too.
|
|
2173
|
+
* /
|
|
2174
|
+
* / HOW: the proposal must pass the setter's own checks (`retentionEntriesRefusal`), so the preview
|
|
2175
|
+
* / never answers for a policy the setter would refuse. The guards a save would arm are computed
|
|
2176
|
+
* / exactly as the setter computes them (`RetentionPolicy.armGuards`), and each file is planned by
|
|
2177
|
+
* / the planner the sweep executes (`MemoryRouter.previewEviction` → `Retention.plan`), as the
|
|
2178
|
+
* / owner (the sweep's `maintainPrincipal`), AT THE INSTANT its guard lets go — so a rule that
|
|
2179
|
+
* / waits 14 days is counted as it will stand then, when the agent floor has released more. Per
|
|
2180
|
+
* / rule: copies, files, bytes and `notBeforeNs`. The count is "about": writes before the rule
|
|
2181
|
+
* / takes effect change it.
|
|
2182
|
+
* / HONEST WHEN CUT SHORT: `complete = false` when the planning budget
|
|
2183
|
+
* / (`MemoryRouter.PREVIEW_MAX_DROPS`) ran out — the totals are then a floor, and say so.
|
|
2184
|
+
*/
|
|
2185
|
+
previewRetention: ActorMethod<[Array<[string, RetentionClassSpec]>], Result_19>;
|
|
1987
2186
|
/**
|
|
1988
2187
|
* / Read one memory file at its current version.
|
|
1989
2188
|
* /
|
|
@@ -2150,6 +2349,19 @@ export interface Engram {
|
|
|
2150
2349
|
* / line, so the roster is theirs and its contents are not a secret being withheld from them.
|
|
2151
2350
|
*/
|
|
2152
2351
|
removeGuardian: ActorMethod<[Principal], Result_1>;
|
|
2352
|
+
/**
|
|
2353
|
+
* / ⟨2026-10-21, the owner's round-11 answer a⟩ OWNER-ONLY: give an agent a new name. A name was
|
|
2354
|
+
* / fixed at the invite, and two agents both called "agent" is how the 2026-10-20 session started.
|
|
2355
|
+
* / Only the VALUE of the stored `AgentRecord.name` changes — no new state, no reshaped record —
|
|
2356
|
+
* / and the change is on the record as `agent.rename` (`principal=<key> name=<new name>`, the name
|
|
2357
|
+
* / last). An ended agent may be renamed too (`People.renameTarget` says why).
|
|
2358
|
+
* / Refused: an agent (itself included), a guardian and a stranger by `requireOwner`'s "Not owner",
|
|
2359
|
+
* / the anonymous caller by its own text; a name that is empty, over `MAX_NAME_LENGTH` or holds a
|
|
2360
|
+
* / line break is `#Invalid` (`People.nameRefusal`); an unknown key is `#NotFound`; the agent's
|
|
2361
|
+
* / current name is `#Conflict`. Nothing changes on any refusal. Not alerted: the owner is the one
|
|
2362
|
+
* / renaming (`ActionAlerts.classify` answers null for `agent.rename`).
|
|
2363
|
+
*/
|
|
2364
|
+
renameAgent: ActorMethod<[Principal, string], Result_1>;
|
|
2153
2365
|
/**
|
|
2154
2366
|
* / Owner disavows a specific memory write, in the open. Marks — never deletes: the content and
|
|
2155
2367
|
* / the original audit entry stay exactly where they were; this appends a chained
|
|
@@ -2481,6 +2693,12 @@ export interface Engram {
|
|
|
2481
2693
|
* / called it an "ops floor: retention enforcement deletes owner backup data silently", mitigated
|
|
2482
2694
|
* / by a `Debug.print` nobody reads. An owner lowering the cap is destroying their own backups;
|
|
2483
2695
|
* / they are told how many, in the reply and in the audit line.
|
|
2696
|
+
* /
|
|
2697
|
+
* / ⟨2026-10-21, the owner's round-11 answers h and m⟩ The number now bounds EACH creator's
|
|
2698
|
+
* / backups of the kind (`Backup.enforceRetention`): an agent's finalize prunes only that agent's
|
|
2699
|
+
* / own, and this setter applies the number to every creator's set, so `prunedBackups` counts
|
|
2700
|
+
* / across all of them. "The write is the read" above went stale for a second phone, which never
|
|
2701
|
+
* / made the write: `getBackupRetention` is the read.
|
|
2484
2702
|
*/
|
|
2485
2703
|
setBackupRetention: ActorMethod<[string, bigint], Result_9>;
|
|
2486
2704
|
/**
|
|
@@ -2546,7 +2764,12 @@ export interface Engram {
|
|
|
2546
2764
|
*/
|
|
2547
2765
|
setGuardianAlertConfig: ActorMethod<[AlertConfig], Result_1>;
|
|
2548
2766
|
/**
|
|
2549
|
-
* / Per-prefix retention policy.
|
|
2767
|
+
* / Per-prefix retention policy. The longest rule that covers a path wins; anything uncovered
|
|
2768
|
+
* / keeps everything.
|
|
2769
|
+
* /
|
|
2770
|
+
* / ⟨2026-10-21, the owner's round-11 answer i⟩ "Covers" is the folder matcher
|
|
2771
|
+
* / (`AgentPaths.covers`, through `RetentionPolicy.resolve`): a rule ending in "/" governs
|
|
2772
|
+
* / everything beneath it, any other rule exactly one path. It was bare text prefix until that day.
|
|
2550
2773
|
* /
|
|
2551
2774
|
* / A CHANGE does not take effect immediately, in EITHER direction: every prefix whose EFFECTIVE
|
|
2552
2775
|
* / class moves is guarded for the same window as the agent floor, so history cannot be
|
|
@@ -2777,6 +3000,28 @@ export interface Engram {
|
|
|
2777
3000
|
],
|
|
2778
3001
|
Result_3
|
|
2779
3002
|
>;
|
|
3003
|
+
/**
|
|
3004
|
+
* / ⟨2026-10-21, the owner's round-11 answer e⟩ A GUARDIAN STEPS DOWN: the caller ends their own
|
|
3005
|
+
* / guardianship of this engram. It removes a power from the one who holds it and grants none.
|
|
3006
|
+
* / Before, only the owner could remove a guardian, so one who wanted out could only stop watching
|
|
3007
|
+
* / without anyone knowing — worse than an honest exit on the record.
|
|
3008
|
+
* /
|
|
3009
|
+
* / WHO: anyone holding a guardian record here, `#Pending` or `#Active`; never refused for the
|
|
3010
|
+
* / record's state. The owner is refused by name (`People.OWNER_IS_NO_GUARDIAN`: their way is
|
|
3011
|
+
* / `removeGuardian`); an agent or a stranger is `#NotFound` (`People.NOT_A_GUARDIAN`, a fact about
|
|
3012
|
+
* / the caller told to the caller, as `resignAgent` does); the anonymous caller is refused.
|
|
3013
|
+
* /
|
|
3014
|
+
* / WHAT IT RECORDS: one `guardian.stepDown` entry under `#Guardian`
|
|
3015
|
+
* / (`principal=<key> was=active|pending name=<name>`). Being a `guardian.*` operation it reaches
|
|
3016
|
+
* / the owner's and the other guardians' alerts in the #guardian class, on by default, and the
|
|
3017
|
+
* / guardian who left gets one farewell delivery before their channel goes (the drain's lazy
|
|
3018
|
+
* / cleanup in `drainActionAlerts`, as for a removed guardian).
|
|
3019
|
+
* /
|
|
3020
|
+
* / WHAT IT LEAVES: a brake this guardian pulled stays on — lifting one is the owner's; their
|
|
3021
|
+
* / disputes stay on the record. Like `removeGuardian`, it is not terminal: the owner may invite
|
|
3022
|
+
* / the same person again.
|
|
3023
|
+
*/
|
|
3024
|
+
stepDownAsGuardian: ActorMethod<[], Result_1>;
|
|
2780
3025
|
/**
|
|
2781
3026
|
* / OWNER force-close, for a session the payer abandoned.
|
|
2782
3027
|
* /
|
|
@@ -3201,6 +3446,15 @@ export interface GenesisNote {
|
|
|
3201
3446
|
version: string;
|
|
3202
3447
|
genesisAtNs: bigint;
|
|
3203
3448
|
}
|
|
3449
|
+
export interface GuardianDispute {
|
|
3450
|
+
about: bigint;
|
|
3451
|
+
atNs: bigint;
|
|
3452
|
+
path: [] | [string];
|
|
3453
|
+
auditId: bigint;
|
|
3454
|
+
version: [] | [bigint];
|
|
3455
|
+
guardian: Principal;
|
|
3456
|
+
reason: string;
|
|
3457
|
+
}
|
|
3204
3458
|
export interface GuardianPermissions {
|
|
3205
3459
|
canFreezePayments: boolean;
|
|
3206
3460
|
canRevokeAgents: boolean;
|
|
@@ -3248,7 +3502,7 @@ export interface KeyNomination {
|
|
|
3248
3502
|
export interface LogPage {
|
|
3249
3503
|
firstAvailableSeq: bigint;
|
|
3250
3504
|
head: Uint8Array | number[];
|
|
3251
|
-
page:
|
|
3505
|
+
page: Page_9;
|
|
3252
3506
|
}
|
|
3253
3507
|
export interface LogPosition {
|
|
3254
3508
|
reads: bigint;
|
|
@@ -3284,6 +3538,12 @@ export interface MemoryFile {
|
|
|
3284
3538
|
lastModifiedBy: Principal;
|
|
3285
3539
|
lastModifiedAtNs: bigint;
|
|
3286
3540
|
}
|
|
3541
|
+
export interface MemoryFileRow {
|
|
3542
|
+
path: string;
|
|
3543
|
+
version: bigint;
|
|
3544
|
+
lastModifiedBy: [] | [Principal];
|
|
3545
|
+
lastModifiedAtNs: bigint;
|
|
3546
|
+
}
|
|
3287
3547
|
export interface MemoryHistory {
|
|
3288
3548
|
evictions: Array<MemoryEviction>;
|
|
3289
3549
|
oldestRetainedVersion: bigint;
|
|
@@ -3433,74 +3693,94 @@ export interface OwnershipTransfer {
|
|
|
3433
3693
|
export interface Page {
|
|
3434
3694
|
total: bigint;
|
|
3435
3695
|
withheld: bigint;
|
|
3436
|
-
items: Array<
|
|
3696
|
+
items: Array<SignIn>;
|
|
3437
3697
|
}
|
|
3438
3698
|
export interface Page_1 {
|
|
3439
3699
|
total: bigint;
|
|
3440
3700
|
withheld: bigint;
|
|
3441
|
-
items: Array<
|
|
3701
|
+
items: Array<Repudiation>;
|
|
3442
3702
|
}
|
|
3443
3703
|
export interface Page_10 {
|
|
3444
3704
|
total: bigint;
|
|
3445
3705
|
withheld: bigint;
|
|
3446
|
-
items: Array<
|
|
3706
|
+
items: Array<MemoryFileRow>;
|
|
3447
3707
|
}
|
|
3448
3708
|
export interface Page_11 {
|
|
3449
3709
|
total: bigint;
|
|
3450
3710
|
withheld: bigint;
|
|
3451
|
-
items: Array<
|
|
3711
|
+
items: Array<ExportReceiptRow>;
|
|
3452
3712
|
}
|
|
3453
3713
|
export interface Page_12 {
|
|
3454
3714
|
total: bigint;
|
|
3455
3715
|
withheld: bigint;
|
|
3456
|
-
items: Array<
|
|
3716
|
+
items: Array<GuardianRecord>;
|
|
3457
3717
|
}
|
|
3458
3718
|
export interface Page_13 {
|
|
3459
3719
|
total: bigint;
|
|
3460
3720
|
withheld: bigint;
|
|
3461
|
-
items: Array<
|
|
3721
|
+
items: Array<GuardianDispute>;
|
|
3462
3722
|
}
|
|
3463
3723
|
export interface Page_14 {
|
|
3464
3724
|
total: bigint;
|
|
3465
3725
|
withheld: bigint;
|
|
3466
|
-
items: Array<
|
|
3726
|
+
items: Array<Eip712TypeView>;
|
|
3467
3727
|
}
|
|
3468
3728
|
export interface Page_15 {
|
|
3469
3729
|
total: bigint;
|
|
3470
3730
|
withheld: bigint;
|
|
3471
|
-
items: Array<
|
|
3731
|
+
items: Array<Eip712Destination>;
|
|
3472
3732
|
}
|
|
3473
3733
|
export interface Page_16 {
|
|
3474
3734
|
total: bigint;
|
|
3475
3735
|
withheld: bigint;
|
|
3476
|
-
items: Array<
|
|
3736
|
+
items: Array<string>;
|
|
3477
3737
|
}
|
|
3478
3738
|
export interface Page_17 {
|
|
3479
3739
|
total: bigint;
|
|
3480
3740
|
withheld: bigint;
|
|
3481
|
-
items: Array<
|
|
3741
|
+
items: Array<CycleSnapshot>;
|
|
3482
3742
|
}
|
|
3483
3743
|
export interface Page_18 {
|
|
3484
3744
|
total: bigint;
|
|
3485
3745
|
withheld: bigint;
|
|
3486
|
-
items: Array<
|
|
3746
|
+
items: Array<CondenseCheckpointRow>;
|
|
3487
3747
|
}
|
|
3488
3748
|
export interface Page_19 {
|
|
3489
3749
|
total: bigint;
|
|
3490
3750
|
withheld: bigint;
|
|
3491
|
-
items: Array<
|
|
3751
|
+
items: Array<BearerToken>;
|
|
3492
3752
|
}
|
|
3493
3753
|
export interface Page_2 {
|
|
3494
3754
|
total: bigint;
|
|
3495
3755
|
withheld: bigint;
|
|
3496
|
-
items: Array<
|
|
3756
|
+
items: Array<RecordNote>;
|
|
3497
3757
|
}
|
|
3498
3758
|
export interface Page_20 {
|
|
3499
3759
|
total: bigint;
|
|
3500
3760
|
withheld: bigint;
|
|
3501
|
-
items: Array<
|
|
3761
|
+
items: Array<BackupMetadata>;
|
|
3502
3762
|
}
|
|
3503
3763
|
export interface Page_21 {
|
|
3764
|
+
total: bigint;
|
|
3765
|
+
withheld: bigint;
|
|
3766
|
+
items: Array<{ status: AgentStatus; principal: Principal; name: string }>;
|
|
3767
|
+
}
|
|
3768
|
+
export interface Page_22 {
|
|
3769
|
+
total: bigint;
|
|
3770
|
+
withheld: bigint;
|
|
3771
|
+
items: Array<AgentRecord>;
|
|
3772
|
+
}
|
|
3773
|
+
export interface Page_23 {
|
|
3774
|
+
total: bigint;
|
|
3775
|
+
withheld: bigint;
|
|
3776
|
+
items: Array<AgentSpendRow>;
|
|
3777
|
+
}
|
|
3778
|
+
export interface Page_24 {
|
|
3779
|
+
total: bigint;
|
|
3780
|
+
withheld: bigint;
|
|
3781
|
+
items: Array<ActivitySnapshot>;
|
|
3782
|
+
}
|
|
3783
|
+
export interface Page_25 {
|
|
3504
3784
|
total: bigint;
|
|
3505
3785
|
withheld: bigint;
|
|
3506
3786
|
items: Array<OwnerRow>;
|
|
@@ -3508,42 +3788,51 @@ export interface Page_21 {
|
|
|
3508
3788
|
export interface Page_3 {
|
|
3509
3789
|
total: bigint;
|
|
3510
3790
|
withheld: bigint;
|
|
3511
|
-
items: Array<
|
|
3791
|
+
items: Array<AuditEntry>;
|
|
3512
3792
|
}
|
|
3513
3793
|
export interface Page_4 {
|
|
3514
3794
|
total: bigint;
|
|
3515
3795
|
withheld: bigint;
|
|
3516
|
-
items: Array<
|
|
3796
|
+
items: Array<PurgedAgent>;
|
|
3517
3797
|
}
|
|
3518
3798
|
export interface Page_5 {
|
|
3519
3799
|
total: bigint;
|
|
3520
3800
|
withheld: bigint;
|
|
3521
|
-
items: Array<
|
|
3801
|
+
items: Array<AgentPaymentSignatures>;
|
|
3522
3802
|
}
|
|
3523
3803
|
export interface Page_6 {
|
|
3524
3804
|
total: bigint;
|
|
3525
3805
|
withheld: bigint;
|
|
3526
|
-
items: Array<
|
|
3806
|
+
items: Array<OwnershipTransfer>;
|
|
3527
3807
|
}
|
|
3528
3808
|
export interface Page_7 {
|
|
3529
3809
|
total: bigint;
|
|
3530
3810
|
withheld: bigint;
|
|
3531
|
-
items: Array<
|
|
3811
|
+
items: Array<EngramSessionState>;
|
|
3532
3812
|
}
|
|
3533
3813
|
export interface Page_8 {
|
|
3534
3814
|
total: bigint;
|
|
3535
3815
|
withheld: bigint;
|
|
3536
|
-
items: Array<
|
|
3816
|
+
items: Array<ApprovalRequest>;
|
|
3537
3817
|
}
|
|
3538
3818
|
export interface Page_9 {
|
|
3539
3819
|
total: bigint;
|
|
3540
3820
|
withheld: bigint;
|
|
3541
|
-
items: Array<
|
|
3821
|
+
items: Array<MemoryLogEvent>;
|
|
3542
3822
|
}
|
|
3543
3823
|
export interface Pairing {
|
|
3544
3824
|
agent: AgentRecord;
|
|
3545
3825
|
trackRecord: TrackRecordNotice;
|
|
3546
3826
|
}
|
|
3827
|
+
export interface PaymentLimits {
|
|
3828
|
+
maxSessionDeposit: [] | [bigint];
|
|
3829
|
+
maxPerDay: [] | [bigint];
|
|
3830
|
+
maxSessionDuration: [] | [bigint];
|
|
3831
|
+
sessionIdleTimeout: [] | [bigint];
|
|
3832
|
+
rateLimitPerMinute: [] | [bigint];
|
|
3833
|
+
maxPerTransaction: [] | [bigint];
|
|
3834
|
+
maxConcurrentSessions: [] | [bigint];
|
|
3835
|
+
}
|
|
3547
3836
|
export interface PaymentSignature {
|
|
3548
3837
|
signature: Uint8Array | number[];
|
|
3549
3838
|
asset: [] | [string];
|
|
@@ -3557,7 +3846,7 @@ export interface PaymentSignature {
|
|
|
3557
3846
|
export interface PaymentSignatureCounts {
|
|
3558
3847
|
day: bigint;
|
|
3559
3848
|
marketplace: [] | [MarketplacePaymentSignatures];
|
|
3560
|
-
agents:
|
|
3849
|
+
agents: Page_5;
|
|
3561
3850
|
limit: bigint;
|
|
3562
3851
|
}
|
|
3563
3852
|
export interface PurgedAgent {
|
|
@@ -3586,9 +3875,15 @@ export interface RailHealth {
|
|
|
3586
3875
|
}
|
|
3587
3876
|
export interface ReceiptPage {
|
|
3588
3877
|
firstAvailableSeq: bigint;
|
|
3589
|
-
page:
|
|
3878
|
+
page: Page_11;
|
|
3590
3879
|
scannedThroughSeq: bigint;
|
|
3591
3880
|
}
|
|
3881
|
+
export interface RecordNote {
|
|
3882
|
+
about: bigint;
|
|
3883
|
+
atNs: bigint;
|
|
3884
|
+
note: string;
|
|
3885
|
+
auditId: bigint;
|
|
3886
|
+
}
|
|
3592
3887
|
export interface RecordPage {
|
|
3593
3888
|
ringFloor: bigint;
|
|
3594
3889
|
total: bigint;
|
|
@@ -3620,66 +3915,74 @@ export type Result_15 = { Ok: GuardianRecord } | { Err: Error };
|
|
|
3620
3915
|
export type Result_16 = { Ok: EngramEscrowRecovery } | { Err: Error };
|
|
3621
3916
|
export type Result_17 = { Ok: MemoryByteChunk } | { Err: Error };
|
|
3622
3917
|
export type Result_18 = { Ok: Array<BatchReadItem> } | { Err: Error };
|
|
3623
|
-
export type Result_19 = { Ok:
|
|
3918
|
+
export type Result_19 = { Ok: RetentionPreview } | { Err: Error };
|
|
3624
3919
|
export type Result_2 = { Ok: ControlHandover } | { Err: Error };
|
|
3625
|
-
export type Result_20 = { Ok:
|
|
3626
|
-
export type Result_21 = { Ok:
|
|
3627
|
-
export type Result_22 = { Ok:
|
|
3628
|
-
export type Result_23 = { Ok:
|
|
3629
|
-
export type Result_24 = { Ok:
|
|
3630
|
-
export type Result_25 = { Ok:
|
|
3631
|
-
export type Result_26 = { Ok:
|
|
3632
|
-
export type Result_27 = { Ok:
|
|
3633
|
-
export type Result_28 = { Ok:
|
|
3634
|
-
export type Result_29 = { Ok:
|
|
3920
|
+
export type Result_20 = { Ok: CondensePreview } | { Err: Error };
|
|
3921
|
+
export type Result_21 = { Ok: Pairing } | { Err: Error };
|
|
3922
|
+
export type Result_22 = { Ok: EngramSessionState } | { Err: Error };
|
|
3923
|
+
export type Result_23 = { Ok: Principal } | { Err: Error };
|
|
3924
|
+
export type Result_24 = { Ok: AgentGrant } | { Err: Error };
|
|
3925
|
+
export type Result_25 = { Ok: Page } | { Err: Error };
|
|
3926
|
+
export type Result_26 = { Ok: Page_1 } | { Err: Error };
|
|
3927
|
+
export type Result_27 = { Ok: Page_2 } | { Err: Error };
|
|
3928
|
+
export type Result_28 = { Ok: Page_3 } | { Err: Error };
|
|
3929
|
+
export type Result_29 = { Ok: Page_4 } | { Err: Error };
|
|
3635
3930
|
export type Result_3 = { Ok: X402SignOutcome } | { Err: Error };
|
|
3636
|
-
export type Result_30 = { Ok:
|
|
3637
|
-
export type Result_31 = { Ok:
|
|
3638
|
-
export type Result_32 = { Ok:
|
|
3639
|
-
export type Result_33 = { Ok:
|
|
3640
|
-
export type Result_34 = { Ok:
|
|
3641
|
-
export type Result_35 = { Ok:
|
|
3642
|
-
export type Result_36 = { Ok:
|
|
3643
|
-
export type Result_37 = { Ok:
|
|
3644
|
-
export type Result_38 = { Ok:
|
|
3645
|
-
export type Result_39 = { Ok:
|
|
3931
|
+
export type Result_30 = { Ok: PaymentSignatureCounts } | { Err: Error };
|
|
3932
|
+
export type Result_31 = { Ok: Page_6 } | { Err: Error };
|
|
3933
|
+
export type Result_32 = { Ok: Page_7 } | { Err: Error };
|
|
3934
|
+
export type Result_33 = { Ok: Page_8 } | { Err: Error };
|
|
3935
|
+
export type Result_34 = { Ok: LogPage } | { Err: Error };
|
|
3936
|
+
export type Result_35 = { Ok: Page_10 } | { Err: Error };
|
|
3937
|
+
export type Result_36 = { Ok: ReceiptPage } | { Err: Error };
|
|
3938
|
+
export type Result_37 = { Ok: Page_12 } | { Err: Error };
|
|
3939
|
+
export type Result_38 = { Ok: Page_13 } | { Err: Error };
|
|
3940
|
+
export type Result_39 = { Ok: Page_14 } | { Err: Error };
|
|
3646
3941
|
export type Result_4 = { Ok: Eip712SignatureOut } | { Err: Error };
|
|
3647
|
-
export type Result_40 = { Ok:
|
|
3648
|
-
export type Result_41 = { Ok:
|
|
3649
|
-
export type Result_42 = { Ok:
|
|
3650
|
-
export type Result_43 = { Ok:
|
|
3651
|
-
export type Result_44 = { Ok:
|
|
3652
|
-
export type Result_45 = { Ok:
|
|
3653
|
-
export type Result_46 = { Ok:
|
|
3654
|
-
export type Result_47 = { Ok:
|
|
3655
|
-
export type Result_48 = { Ok:
|
|
3656
|
-
export type Result_49 = { Ok:
|
|
3942
|
+
export type Result_40 = { Ok: Page_15 } | { Err: Error };
|
|
3943
|
+
export type Result_41 = { Ok: Page_16 } | { Err: Error };
|
|
3944
|
+
export type Result_42 = { Ok: Page_17 } | { Err: Error };
|
|
3945
|
+
export type Result_43 = { Ok: CheckpointPage } | { Err: Error };
|
|
3946
|
+
export type Result_44 = { Ok: Page_19 } | { Err: Error };
|
|
3947
|
+
export type Result_45 = { Ok: Page_20 } | { Err: Error };
|
|
3948
|
+
export type Result_46 = { Ok: RecordPage } | { Err: Error };
|
|
3949
|
+
export type Result_47 = { Ok: Page_21 } | { Err: Error };
|
|
3950
|
+
export type Result_48 = { Ok: Page_22 } | { Err: Error };
|
|
3951
|
+
export type Result_49 = { Ok: AgentSpendToday } | { Err: Error };
|
|
3657
3952
|
export type Result_5 = { Ok: SignatureCounts } | { Err: Error };
|
|
3658
|
-
export type Result_50 = { Ok:
|
|
3659
|
-
export type Result_51 = { Ok:
|
|
3660
|
-
export type Result_52 = { Ok:
|
|
3661
|
-
export type Result_53 = { Ok:
|
|
3662
|
-
export type Result_54 = { Ok:
|
|
3663
|
-
export type Result_55 = { Ok:
|
|
3664
|
-
export type Result_56 = { Ok:
|
|
3665
|
-
export type Result_57 = { Ok:
|
|
3666
|
-
export type Result_58 = { Ok:
|
|
3667
|
-
export type Result_59 = { Ok:
|
|
3953
|
+
export type Result_50 = { Ok: Page_24 } | { Err: Error };
|
|
3954
|
+
export type Result_51 = { Ok: string } | { Err: Error };
|
|
3955
|
+
export type Result_52 = { Ok: boolean } | { Err: Error };
|
|
3956
|
+
export type Result_53 = { Ok: [] | [string] } | { Err: Error };
|
|
3957
|
+
export type Result_54 = { Ok: WorldIdRpContext } | { Err: Error };
|
|
3958
|
+
export type Result_55 = { Ok: WorldIdConfig } | { Err: Error };
|
|
3959
|
+
export type Result_56 = { Ok: WalletBalances } | { Err: Error };
|
|
3960
|
+
export type Result_57 = { Ok: StorageReport } | { Err: Error };
|
|
3961
|
+
export type Result_58 = { Ok: SpendingPolicy } | { Err: Error };
|
|
3962
|
+
export type Result_59 = { Ok: SpendCeiling } | { Err: Error };
|
|
3668
3963
|
export type Result_6 = { Ok: RailHealth } | { Err: Error };
|
|
3669
|
-
export type Result_60 = { Ok:
|
|
3670
|
-
export type Result_61 = { Ok:
|
|
3671
|
-
export type Result_62 = { Ok:
|
|
3672
|
-
export type Result_63 = { Ok:
|
|
3673
|
-
export type Result_64 = { Ok:
|
|
3674
|
-
export type Result_65 = { Ok:
|
|
3675
|
-
export type Result_66 = { Ok:
|
|
3676
|
-
export type
|
|
3677
|
-
export type
|
|
3964
|
+
export type Result_60 = { Ok: SigningFloorStatus } | { Err: Error };
|
|
3965
|
+
export type Result_61 = { Ok: { paths: Array<string> } } | { Err: Error };
|
|
3966
|
+
export type Result_62 = { Ok: OwnerConsole } | { Err: Error };
|
|
3967
|
+
export type Result_63 = { Ok: MemoryRetentionPolicy } | { Err: Error };
|
|
3968
|
+
export type Result_64 = { Ok: MemoryHistory } | { Err: Error };
|
|
3969
|
+
export type Result_65 = { Ok: AlertStatus } | { Err: Error };
|
|
3970
|
+
export type Result_66 = { Ok: EvmAddresses } | { Err: Error };
|
|
3971
|
+
export type Result_67 = { Ok: Uint8Array | number[] } | { Err: Error };
|
|
3972
|
+
export type Result_68 = { Ok: ChildOpening } | { Err: Error };
|
|
3973
|
+
export type Result_69 = { Ok: ChildAllowanceRow } | { Err: Error };
|
|
3678
3974
|
export type Result_7 = { Ok: Array<Seat> } | { Err: Error };
|
|
3679
|
-
export type Result_70 = { Ok:
|
|
3680
|
-
export type Result_71 = { Ok:
|
|
3681
|
-
export type Result_72 = { Ok:
|
|
3975
|
+
export type Result_70 = { Ok: Brakes } | { Err: Error };
|
|
3976
|
+
export type Result_71 = { Ok: BackupRetention } | { Err: Error };
|
|
3977
|
+
export type Result_72 = { Ok: BackupMetadata } | { Err: Error };
|
|
3978
|
+
export type Result_73 = { Ok: AgentWriteReview } | { Err: Error };
|
|
3979
|
+
export type Result_74 = { Ok: Page_25 } | { Err: Error };
|
|
3980
|
+
export type Result_76 = { Ok: MemoryRangeExport } | { Err: Error };
|
|
3981
|
+
export type Result_77 = { Ok: CondenseResult } | { Err: Error };
|
|
3982
|
+
export type Result_78 = { Ok: Eip712Registration } | { Err: Error };
|
|
3983
|
+
export type Result_79 = { Ok: { activatesAtNs: bigint } } | { Err: Error };
|
|
3682
3984
|
export type Result_8 = { Ok: SignedTransaction } | { Err: Error };
|
|
3985
|
+
export type Result_80 = { Ok: AgentRecord } | { Err: Error };
|
|
3683
3986
|
export type Result_9 = { Ok: BackupRetentionReport } | { Err: Error };
|
|
3684
3987
|
export interface ResyncReport {
|
|
3685
3988
|
startsAcknowledged: bigint;
|
|
@@ -3701,6 +4004,22 @@ export type RetentionClassSpec =
|
|
|
3701
4004
|
thinning: { tail: null } | { logSpaced: { denseTail: bigint } };
|
|
3702
4005
|
};
|
|
3703
4006
|
};
|
|
4007
|
+
export interface RetentionPreview {
|
|
4008
|
+
files: bigint;
|
|
4009
|
+
complete: boolean;
|
|
4010
|
+
planned: bigint;
|
|
4011
|
+
bytes: bigint;
|
|
4012
|
+
copies: bigint;
|
|
4013
|
+
storedFiles: bigint;
|
|
4014
|
+
rules: Array<RetentionPreviewRule>;
|
|
4015
|
+
}
|
|
4016
|
+
export interface RetentionPreviewRule {
|
|
4017
|
+
files: bigint;
|
|
4018
|
+
notBeforeNs: [] | [bigint];
|
|
4019
|
+
prefix: string;
|
|
4020
|
+
bytes: bigint;
|
|
4021
|
+
copies: bigint;
|
|
4022
|
+
}
|
|
3704
4023
|
export type Role =
|
|
3705
4024
|
| { Anonymous: null }
|
|
3706
4025
|
| { Viewer: null }
|
|
@@ -3755,6 +4074,10 @@ export interface SessionIntent {
|
|
|
3755
4074
|
expiryNs: bigint;
|
|
3756
4075
|
suggestedDeposit: bigint;
|
|
3757
4076
|
}
|
|
4077
|
+
export interface SignIn {
|
|
4078
|
+
token: BearerToken;
|
|
4079
|
+
clientName: [] | [string];
|
|
4080
|
+
}
|
|
3758
4081
|
export interface SignatureCounts {
|
|
3759
4082
|
total: bigint;
|
|
3760
4083
|
byCaller: Array<CallerSignatureCount>;
|