@cotal-ai/pi 0.29.1 → 0.30.0

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.
@@ -2,7 +2,7 @@ import type { ExactDrainResult, InboxItem, InboxScope } from "./inbox-types.js";
2
2
  export interface InboxSource {
3
3
  peekInbox(scope?: InboxScope): InboxItem[];
4
4
  drainInbox(limit?: number): InboxItem[];
5
- drainInboxIds(ids: readonly string[]): ExactDrainResult;
5
+ drainInboxDeliveries(keys: readonly string[]): ExactDrainResult;
6
6
  }
7
7
  export interface CommitResult {
8
8
  drained: number;
@@ -19,11 +19,14 @@ export declare class InboxTurn {
19
19
  private previousTombstones;
20
20
  constructor(source: InboxSource);
21
21
  peek(scope?: InboxScope): InboxItem[];
22
- /** Remove already-confirmed late duplicates by exact id, even behind pull-only traffic. */
22
+ /** Remove already-confirmed late duplicates by exact receive key, even behind pull-only traffic.
23
+ * #624: tombstones and selection address the DELIVERY (InboxItem.recvKey). An empty wire id is
24
+ * never a key, so two distinct id-less deliveries never cross-reserve or cross-tombstone each
25
+ * other inside a turn. */
23
26
  discardTombstoned(): number;
24
27
  /** Exact discard for adapter-local traffic such as own echoes, even behind pull-only items. */
25
28
  discardMatching(match: (item: InboxItem) => boolean): number;
26
- /** Select the next automatic FIFO batch after already-reserved ids. */
29
+ /** Select the next automatic FIFO batch after already-reserved receive keys. */
27
30
  select(reserved: ReadonlySet<string>, limit: number): InboxItem[];
28
31
  /** Commit provider-confirmed ids exactly; tombstone any already absent after overflow. */
29
32
  commitConfirmed(ids: readonly string[]): CommitResult;
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-turn.d.ts","sourceRoot":"","sources":["../src/inbox-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IACxC,aAAa,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAAC;CACzD;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;;;;GAIG;AACH,qBAAa,SAAS;IAIR,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,WAAW;IAEhD,IAAI,CAAC,KAAK,GAAE,UAAkB,GAAG,SAAS,EAAE;IAI5C,2FAA2F;IAC3F,iBAAiB,IAAI,MAAM;IAM3B,+FAA+F;IAC/F,eAAe,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,GAAG,MAAM;IAM5D,uEAAuE;IACvE,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE;IAUjE,0FAA0F;IAC1F,eAAe,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY;IASrD,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;CAOrB"}
1
+ {"version":3,"file":"inbox-turn.d.ts","sourceRoot":"","sources":["../src/inbox-turn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,EAAE,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;IACxC,oBAAoB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,CAAC;CACjE;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID;;;;GAIG;AACH,qBAAa,SAAS;IAIR,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;gBAElB,MAAM,EAAE,WAAW;IAEhD,IAAI,CAAC,KAAK,GAAE,UAAkB,GAAG,SAAS,EAAE;IAI5C;;;+BAG2B;IAC3B,iBAAiB,IAAI,MAAM;IAM3B,+FAA+F;IAC/F,eAAe,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,GAAG,MAAM;IAM5D,gFAAgF;IAChF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE;IAUjE,0FAA0F;IAC1F,eAAe,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY;IASrD,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;CAOrB"}
@@ -12,6 +12,10 @@
12
12
  export type InboxScope = "all" | "automatic" | "pull-only";
13
13
  export interface InboxItem {
14
14
  id: string;
15
+ /** Opaque per-delivery receive key (#624): the address for exact drains and in-flight holds. The
16
+ * wire id when the message carries one; a minted key when the id is empty (an empty id is never
17
+ * a dedup key and never an address). Never dedup authority. */
18
+ recvKey: string;
15
19
  ts: number;
16
20
  fromId: string;
17
21
  fromName: string;
@@ -31,9 +35,9 @@ export interface InboxItem {
31
35
  replyTo?: string;
32
36
  contextId?: string;
33
37
  }
34
- /** An exact-id drain: the items found plus the ids that were not present. */
38
+ /** An exact-key drain: the items found plus the receive keys that were not present. */
35
39
  export interface ExactDrainResult {
36
40
  items: InboxItem[];
37
- missingIds: string[];
41
+ missingKeys: string[];
38
42
  }
39
43
  //# sourceMappingURL=inbox-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbox-types.d.ts","sourceRoot":"","sources":["../src/inbox-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iDAAiD;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB,+FAA+F;IAC/F,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB"}
1
+ {"version":3,"file":"inbox-types.d.ts","sourceRoot":"","sources":["../src/inbox-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;AAE3D,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX;;oEAEgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,iDAAiD;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB,+FAA+F;IAC/F,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}