@pam-ai/pam-ordo-contracts 3.42.0 → 3.44.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.
package/dist/generated.d.ts
CHANGED
|
@@ -1522,8 +1522,9 @@ export interface components {
|
|
|
1522
1522
|
resolvedAt?: string | null;
|
|
1523
1523
|
version: number;
|
|
1524
1524
|
/**
|
|
1525
|
-
* @description Inbound Customer Interactions
|
|
1526
|
-
* It answers a different question from `InteractionSummary`, which sits beside this object rather than inside it: that one is Conversation-wide and totals every Interaction ever exchanged, so it keeps climbing across cycles and never falls when someone replies. A row that says how much is waiting on the reader needs this one.
|
|
1525
|
+
* @description Inbound Customer Interactions in this WorkCycle's pending round: those after the last human advisor reply on the cycle, meaning an outbound Interaction a User sent that is not an automatic message (DASH-379, 3.43.0). Pam's automatic replies and RO status texts do not end the round. Before 3.43.0 any outbound Interaction did. Optional until every producer publishes it; absent means the count is unknown, not zero.
|
|
1526
|
+
* It answers a different question from `InteractionSummary`, which sits beside this object rather than inside it: that one is Conversation-wide and totals every Interaction ever exchanged, so it keeps climbing across cycles and never falls when someone replies. A row that says how much is waiting on the reader needs this one.
|
|
1527
|
+
* NOT the set `oldestUnrespondedAt` measures. That clock drives Overdue and still treats Pam's automatic replies as a response, so after one the clock can be null while this count is still above zero. Never derive either from the other.
|
|
1527
1528
|
*/
|
|
1528
1529
|
unrespondedInboundCount?: number;
|
|
1529
1530
|
/** @description The Interactions counted by `unrespondedInboundCount`, split by kind, for the three kinds a Customer arrives by. Other inbound kinds are counted in the total but not here, so the three may sum to less than it; a consumer that needs the split to be complete must check the sum. Optional: absent means the producer does not publish it. Null when there is no WorkCycle to scope it to. */
|
|
@@ -1537,6 +1538,60 @@ export interface components {
|
|
|
1537
1538
|
* Optional and independently nullable: absent means the producer does not publish it, null means there is nothing waiting or the body is not available. Never reconstruct it from the count, and never treat its absence as an empty message.
|
|
1538
1539
|
*/
|
|
1539
1540
|
latestUnrespondedInboundPreview?: string | null;
|
|
1541
|
+
/** @description The last human advisor reply on this cycle, when it closed the round: published only while nothing is pending, so a replied row can show what the advisor said or that they called back (DASH-398). Null while a round is pending, on a resolved cycle, or when nobody has replied. Optional: absent means the producer does not publish it. */
|
|
1542
|
+
latestAdvisorReply?: components["schemas"]["LatestAdvisorReplyV1"] | null;
|
|
1543
|
+
/** @description The pending round the counts above describe, as one window shared by row counts, labels, attachments and the AI summary (DASH-379). Optional: absent means the producer does not publish it. Null when the cycle is resolved or nothing is pending; a resolved cycle keeps its history, and its final preview is a separate concern. */
|
|
1544
|
+
pendingRound?: components["schemas"]["PendingRoundV1"] | null;
|
|
1545
|
+
};
|
|
1546
|
+
/** @description Inbound arrivals on one WorkCycle since the last human advisor reply, computed from server state rather than from whatever part of the thread a reader has loaded. Out-of-order delivery is placed by occurrence time, so it lands in the round it belongs to and cannot restore an earlier round's state. */
|
|
1547
|
+
PendingRoundV1: {
|
|
1548
|
+
/**
|
|
1549
|
+
* Format: date-time
|
|
1550
|
+
* @description Occurrence time of the last human advisor reply on the cycle; the round holds arrivals strictly after it. Null when nobody has replied, so the round runs from the start of the cycle.
|
|
1551
|
+
*/
|
|
1552
|
+
startsAfter: string | null;
|
|
1553
|
+
/** @description Caller intents of the round's calls, each key once at its first occurrence. Ordered with every `intent` before every `transfer`, oldest first within each group. A consumer that shows fewer must keep this order. Deliberately uncapped and never truncated: a round holds any number of calls, so the list is bounded only by the distinct caller-intent keys, and a cut would silently drop the transfers that sort last. */
|
|
1554
|
+
labels: components["schemas"]["PendingRoundLabelV1"][];
|
|
1555
|
+
/** @description Calls in the round whose post-call analysis has not landed yet, so the labels may still grow. Zero when every call is analyzed. */
|
|
1556
|
+
pendingAnalysis: number;
|
|
1557
|
+
/** @description The customer's own words when the round is exactly one inbound SMS and nothing else, so the row can quote the message instead of summarising it (DASH-396). Null whenever the round is anything else. When present, `availability` says whether the text could be read from the messaging source; an unavailable text is never an empty message and must not be replaced by an AI summary. Optional: absent means the producer does not publish it. */
|
|
1558
|
+
singleSmsText?: components["schemas"]["HydratedText"] | null;
|
|
1559
|
+
};
|
|
1560
|
+
/** @description A reply that ends a pending round: an outbound Interaction a User sent, with no automation marker. A text always qualifies; a call qualifies only when it was answered or reached voicemail, so dialling out and getting nobody is not a reply. Pam's automatic messages never are. */
|
|
1561
|
+
LatestAdvisorReplyV1: {
|
|
1562
|
+
/** Format: uuid */
|
|
1563
|
+
interactionId: string;
|
|
1564
|
+
/** @enum {string} */
|
|
1565
|
+
kind: "sms" | "call" | "voicemail";
|
|
1566
|
+
/** Format: date-time */
|
|
1567
|
+
occurredAt: string;
|
|
1568
|
+
/** @description The advisor who replied, so a reader can say "You" for their own reply. */
|
|
1569
|
+
senderUserId: string | null;
|
|
1570
|
+
/**
|
|
1571
|
+
* @description The call's verified outcome. Present for calls only.
|
|
1572
|
+
* @enum {string|null}
|
|
1573
|
+
*/
|
|
1574
|
+
callOutcome?: "answered" | "voicemail" | null;
|
|
1575
|
+
/** @description The text the advisor sent, for an SMS reply only; `availability` says whether it could be read. Null for calls. */
|
|
1576
|
+
body?: components["schemas"]["HydratedText"] | null;
|
|
1577
|
+
};
|
|
1578
|
+
PendingRoundLabelV1: {
|
|
1579
|
+
key: string;
|
|
1580
|
+
/** @enum {string} */
|
|
1581
|
+
kind: "intent" | "transfer";
|
|
1582
|
+
/**
|
|
1583
|
+
* Format: date-time
|
|
1584
|
+
* @description Occurrence time of the earliest call in the round carrying this key.
|
|
1585
|
+
*/
|
|
1586
|
+
firstSeenAt: string;
|
|
1587
|
+
/**
|
|
1588
|
+
* Format: uuid
|
|
1589
|
+
* @description That earliest call, so a consumer can open the call this label came from.
|
|
1590
|
+
*/
|
|
1591
|
+
sourceInteractionId: string;
|
|
1592
|
+
requestedPersonName?: string | null;
|
|
1593
|
+
requestedDepartment?: string | null;
|
|
1594
|
+
serviceRequestInvoked?: boolean | null;
|
|
1540
1595
|
};
|
|
1541
1596
|
/** @description The three queue counts the Reporting page shows, with the same meaning as the matching InboxCounts fields for TEAM_INBOX in the same scope. */
|
|
1542
1597
|
ReportingQueueCounts: {
|