@d19n/youfibre-odin-sdk 2.0.370 → 2.0.371

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 (40) hide show
  1. package/README.md +5 -2
  2. package/dist/actions-v2/CreateNoteForCaseSalesAppDto.d.ts +73 -0
  3. package/dist/actions-v2/CreateNoteForCaseSalesAppDto.js +59 -0
  4. package/dist/actions-v2/MoveCaseToSolvedWithNoteSalesAppDto.d.ts +171 -0
  5. package/dist/actions-v2/MoveCaseToSolvedWithNoteSalesAppDto.js +124 -0
  6. package/dist/actions-v2/UpdateOutboundDialCampaignCaseDto.d.ts +15 -1
  7. package/dist/actions-v2/UpdateOutboundDialCampaignCaseOnDialEndDto.d.ts +15 -1
  8. package/dist/api-sdk-v2/QaBatchApi.d.ts +48 -0
  9. package/dist/api-sdk-v2/QaBatchApi.js +155 -0
  10. package/dist/api-sdk-v2/QaReportApi.d.ts +2 -0
  11. package/dist/api-sdk-v2/QaReportApi.js +6 -0
  12. package/dist/db-sdk-v2/QaBatchDb.d.ts +120 -0
  13. package/dist/db-sdk-v2/QaBatchDb.js +204 -0
  14. package/dist/db-sdk-v2/QaReportDb.d.ts +2 -0
  15. package/dist/db-sdk-v2/QaReportDb.js +6 -0
  16. package/dist/entities-v2/AiRouteRequest.d.ts +2 -0
  17. package/dist/entities-v2/AiRouteRequest.js +2 -0
  18. package/dist/entities-v2/EquipmentReturnItem.d.ts +6 -6
  19. package/dist/entities-v2/EquipmentReturnItem.js +6 -6
  20. package/dist/entities-v2/HomeMove.d.ts +23 -1
  21. package/dist/entities-v2/HomeMove.js +17 -1
  22. package/dist/entities-v2/Note.d.ts +9 -9
  23. package/dist/entities-v2/Note.js +2 -2
  24. package/dist/entities-v2/Order.d.ts +9 -1
  25. package/dist/entities-v2/Order.js +2 -0
  26. package/dist/entities-v2/OutboundDialCampaignCase.d.ts +17 -1
  27. package/dist/entities-v2/OutboundDialCampaignCase.js +4 -0
  28. package/dist/entities-v2/QaBatch.d.ts +235 -0
  29. package/dist/entities-v2/QaBatch.js +122 -0
  30. package/dist/entities-v2/QaReport.d.ts +12 -1
  31. package/dist/entities-v2/QaReport.js +2 -0
  32. package/dist/entities-v2/Recontract.d.ts +17 -1
  33. package/dist/entities-v2/Recontract.js +4 -0
  34. package/dist/entities-v2/Returns.d.ts +30 -30
  35. package/dist/entities-v2/Returns.js +30 -30
  36. package/dist/records-v2/CaseRecord.d.ts +87 -0
  37. package/dist/records-v2/CaseRecord.js +133 -1
  38. package/dist/records-v2/NoteRecord.d.ts +29 -0
  39. package/dist/records-v2/NoteRecord.js +36 -0
  40. package/package.json +1 -1
@@ -12,7 +12,7 @@
12
12
  * Generated from Odin schema definition
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ROUTING_KEY_LINK_HOME_MOVE_NOTE_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_NOTE_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_WORK_ORDER_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_WORK_ORDER_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_CASE_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_CASE_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_NEW_ADDRESS_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_NEW_ADDRESS_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_OLD_ORDER_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_OLD_ORDER_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_FILE_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_FILE_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_CONTACT_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_CONTACT_CREATED = exports.ROUTING_KEY_HOME_MOVE_DEFAULT_DELETED = exports.ROUTING_KEY_HOME_MOVE_DEFAULT_UPDATED = exports.ROUTING_KEY_HOME_MOVE_DEFAULT_CREATED = exports.ROUTING_KEY_HOME_MOVE_DELETED = exports.ROUTING_KEY_HOME_MOVE_UPDATED = exports.ROUTING_KEY_HOME_MOVE_CREATED = exports.HomeMove = exports.HomeMovePropertyKeys = exports.HomeMoveNewOrderInstallTimeBlock = exports.HomeMoveServiceableVia = exports.HomeMoveCollectionKitAddress = exports.HomeMoveRouterDeliveryAddress = exports.DefaultHomeMoveStageKeys = exports.DefaultHomeMoveStageNames = exports.HomeMoveEntityTypes = void 0;
15
+ exports.ROUTING_KEY_LINK_HOME_MOVE_NOTE_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_NOTE_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_WORK_ORDER_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_WORK_ORDER_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_CASE_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_CASE_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_NEW_ADDRESS_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_NEW_ADDRESS_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_OLD_ORDER_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_OLD_ORDER_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_FILE_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_FILE_CREATED = exports.ROUTING_KEY_LINK_HOME_MOVE_CONTACT_DELETED = exports.ROUTING_KEY_LINK_HOME_MOVE_CONTACT_CREATED = exports.ROUTING_KEY_HOME_MOVE_DEFAULT_DELETED = exports.ROUTING_KEY_HOME_MOVE_DEFAULT_UPDATED = exports.ROUTING_KEY_HOME_MOVE_DEFAULT_CREATED = exports.ROUTING_KEY_HOME_MOVE_DELETED = exports.ROUTING_KEY_HOME_MOVE_UPDATED = exports.ROUTING_KEY_HOME_MOVE_CREATED = exports.HomeMove = exports.HomeMovePropertyKeys = exports.HomeMoveNewOrderPrice = exports.HomeMoveNewOrderInstallTimeBlock = exports.HomeMoveServiceableVia = exports.HomeMoveCollectionKitAddress = exports.HomeMoveRouterDeliveryAddress = exports.DefaultHomeMoveStageKeys = exports.DefaultHomeMoveStageNames = exports.HomeMoveEntityTypes = void 0;
16
16
  const core_1 = require("@d19n/odin-types/dist/core");
17
17
  /**
18
18
  * Available types for HomeMove records
@@ -133,6 +133,20 @@ var HomeMoveNewOrderInstallTimeBlock;
133
133
  HomeMoveNewOrderInstallTimeBlock["AM"] = "AM";
134
134
  HomeMoveNewOrderInstallTimeBlock["PM"] = "PM";
135
135
  })(HomeMoveNewOrderInstallTimeBlock = exports.HomeMoveNewOrderInstallTimeBlock || (exports.HomeMoveNewOrderInstallTimeBlock = {}));
136
+ /**
137
+ * Valid values for HomeMove.NewOrderPrice
138
+ *
139
+ * The price the new order is placed at. Set when the contract summary is sent; locked once the move is confirmed. Empty = Current.
140
+ *
141
+ * @remarks Available options:
142
+ * - `CURRENT` - Current price
143
+ * - `WEBSITE` - Website price (re-quoted)
144
+ */
145
+ var HomeMoveNewOrderPrice;
146
+ (function (HomeMoveNewOrderPrice) {
147
+ HomeMoveNewOrderPrice["CURRENT_PRICE"] = "CURRENT";
148
+ HomeMoveNewOrderPrice["WEBSITE_PRICE_RE_QUOTED"] = "WEBSITE";
149
+ })(HomeMoveNewOrderPrice = exports.HomeMoveNewOrderPrice || (exports.HomeMoveNewOrderPrice = {}));
136
150
  /**
137
151
  * Property keys for HomeMove
138
152
  * Use these constants instead of string literals for type safety
@@ -173,6 +187,8 @@ var HomeMovePropertyKeys;
173
187
  HomeMovePropertyKeys["ServiceableVia"] = "ServiceableVia";
174
188
  /** AM or PM engineer slot for a New Provide move, chosen with NewOrderInstallOrActivationDate from the install calendar. Empty on a Start Order. */
175
189
  HomeMovePropertyKeys["NewOrderInstallTimeBlock"] = "NewOrderInstallTimeBlock";
190
+ /** The price the new order is placed at. Set when the contract summary is sent; locked once the move is confirmed. Empty = Current. */
191
+ HomeMovePropertyKeys["NewOrderPrice"] = "NewOrderPrice";
176
192
  })(HomeMovePropertyKeys = exports.HomeMovePropertyKeys || (exports.HomeMovePropertyKeys = {}));
177
193
  /**
178
194
  * HomeMove entity from OrderModule
@@ -97,8 +97,6 @@ export declare enum NoteEntityTypes {
97
97
  * Use these constants instead of string literals for type safety
98
98
  */
99
99
  export declare enum NotePropertyKeys {
100
- /** body of the note (Customer Service - Note) */
101
- Body = "Body",
102
100
  /** Data field for Note records. Used by Customer Service team. */
103
101
  MetaData = "MetaData",
104
102
  /** JSONContent (Customer Service - Note) */
@@ -116,7 +114,9 @@ export declare enum NotePropertyKeys {
116
114
  /** Data field for Note records. Used by Customer Service team. */
117
115
  Case = "Case",
118
116
  /** True makes the desktop case conversation feed show only the first line of this note, with Show more to open it. Empty or false shows the whole note. Set by Edgar AI on the notes it writes. */
119
- Collapsed = "Collapsed"
117
+ Collapsed = "Collapsed",
118
+ /** body of the note (Customer Service - Note) */
119
+ Body = "Body"
120
120
  }
121
121
  /**
122
122
  * Properties for Note records
@@ -124,12 +124,6 @@ export declare enum NotePropertyKeys {
124
124
  * @see SupportModule:Note
125
125
  */
126
126
  export interface NoteProperties {
127
- /** body of the note (Customer Service - Note)
128
- *
129
- * @type {TEXT_LONG}
130
- * @placeholder body
131
- */
132
- Body: string;
133
127
  /** Data field for Note records. Used by Customer Service team.
134
128
  *
135
129
  * @type {JSON}
@@ -180,6 +174,12 @@ export interface NoteProperties {
180
174
  * @hidden This field is hidden in the UI
181
175
  */
182
176
  Collapsed: boolean;
177
+ /** body of the note (Customer Service - Note)
178
+ *
179
+ * @type {TEXT_LONG}
180
+ * @placeholder Type here
181
+ */
182
+ Body: string;
183
183
  }
184
184
  /**
185
185
  * Note entity from SupportModule
@@ -28,8 +28,6 @@ var NoteEntityTypes;
28
28
  */
29
29
  var NotePropertyKeys;
30
30
  (function (NotePropertyKeys) {
31
- /** body of the note (Customer Service - Note) */
32
- NotePropertyKeys["Body"] = "Body";
33
31
  /** Data field for Note records. Used by Customer Service team. */
34
32
  NotePropertyKeys["MetaData"] = "MetaData";
35
33
  /** JSONContent (Customer Service - Note) */
@@ -48,6 +46,8 @@ var NotePropertyKeys;
48
46
  NotePropertyKeys["Case"] = "Case";
49
47
  /** True makes the desktop case conversation feed show only the first line of this note, with Show more to open it. Empty or false shows the whole note. Set by Edgar AI on the notes it writes. */
50
48
  NotePropertyKeys["Collapsed"] = "Collapsed";
49
+ /** body of the note (Customer Service - Note) */
50
+ NotePropertyKeys["Body"] = "Body";
51
51
  })(NotePropertyKeys = exports.NotePropertyKeys || (exports.NotePropertyKeys = {}));
52
52
  /**
53
53
  * Note entity from SupportModule
@@ -614,7 +614,9 @@ export declare enum OrderPropertyKeys {
614
614
  /** How many commitments are Pending or Breached. Written only by the lifecycle. */
615
615
  OpenCommitmentCount = "OpenCommitmentCount",
616
616
  /** The next commitment to fall due. What a "what is about to breach" query sorts on, without walking every commitment. Written only by the lifecycle. */
617
- EarliestDueAt = "EarliestDueAt"
617
+ EarliestDueAt = "EarliestDueAt",
618
+ /** True while the customer has declined the router/mesh dispatch this recontract would otherwise raise. Written by dispatchRouterForSpeedChange on every call — true when a decline is honoured, false otherwise — so reversal is simply calling the endpoint again with no decline flag (ORD-493). */
619
+ RouterUpgradeDeclined = "RouterUpgradeDeclined"
618
620
  }
619
621
  /**
620
622
  * Properties for Order records
@@ -1297,6 +1299,12 @@ export interface OrderProperties {
1297
1299
  * @default
1298
1300
  */
1299
1301
  EarliestDueAt: string;
1302
+ /** True while the customer has declined the router/mesh dispatch this recontract would otherwise raise. Written by dispatchRouterForSpeedChange on every call — true when a decline is honoured, false otherwise — so reversal is simply calling the endpoint again with no decline flag (ORD-493).
1303
+ *
1304
+ * @type {BOOLEAN}
1305
+ * @default
1306
+ */
1307
+ RouterUpgradeDeclined: boolean;
1300
1308
  }
1301
1309
  /**
1302
1310
  * Order entity from OrderModule
@@ -598,6 +598,8 @@ var OrderPropertyKeys;
598
598
  OrderPropertyKeys["OpenCommitmentCount"] = "OpenCommitmentCount";
599
599
  /** The next commitment to fall due. What a "what is about to breach" query sorts on, without walking every commitment. Written only by the lifecycle. */
600
600
  OrderPropertyKeys["EarliestDueAt"] = "EarliestDueAt";
601
+ /** True while the customer has declined the router/mesh dispatch this recontract would otherwise raise. Written by dispatchRouterForSpeedChange on every call — true when a decline is honoured, false otherwise — so reversal is simply calling the endpoint again with no decline flag (ORD-493). */
602
+ OrderPropertyKeys["RouterUpgradeDeclined"] = "RouterUpgradeDeclined";
601
603
  })(OrderPropertyKeys = exports.OrderPropertyKeys || (exports.OrderPropertyKeys = {}));
602
604
  /**
603
605
  * Order entity from OrderModule
@@ -62,7 +62,11 @@ export declare enum OutboundDialCampaignCasePropertyKeys {
62
62
  /** When this campaign last dialled this case. Per-campaign successor to Case.LastDialAt. */
63
63
  LastDialAt = "LastDialAt",
64
64
  /** Outcome of this campaign's most recent dial of this case: CONNECTED, NO_ANSWER, BUSY, MACHINE or FAILED (the dialer's LastDialOutcome union). TEXT, not ENUM: the dialer is the only writer and a schema enum would need option shepherding on every new outcome. Per-campaign successor to Case.LastDialOutcome. */
65
- LastDialOutcome = "LastDialOutcome"
65
+ LastDialOutcome = "LastDialOutcome",
66
+ /** The call outcome the agent saved, e.g. "RET - Re-Contracted - Free MESH" (CASES-1993). Reporting only: LastDialOutcome is what drives retries. */
67
+ AgentOutcome = "AgentOutcome",
68
+ /** Why the agent skipped this case before dialling: ALREADY_RECONTRACTED, OTS_OTHER_PROCESS, PENDING_CANCELLATION, or "OTHER: <note>" (CASES-1993). */
69
+ SkipReason = "SkipReason"
66
70
  }
67
71
  /**
68
72
  * Properties for OutboundDialCampaignCase records
@@ -122,6 +126,18 @@ export interface OutboundDialCampaignCaseProperties {
122
126
  * @default
123
127
  */
124
128
  LastDialOutcome: string;
129
+ /** The call outcome the agent saved, e.g. "RET - Re-Contracted - Free MESH" (CASES-1993). Reporting only: LastDialOutcome is what drives retries.
130
+ *
131
+ * @type {TEXT}
132
+ * @default
133
+ */
134
+ AgentOutcome: string;
135
+ /** Why the agent skipped this case before dialling: ALREADY_RECONTRACTED, OTS_OTHER_PROCESS, PENDING_CANCELLATION, or "OTHER: <note>" (CASES-1993).
136
+ *
137
+ * @type {TEXT}
138
+ * @default
139
+ */
140
+ SkipReason: string;
125
141
  }
126
142
  /**
127
143
  * OutboundDialCampaignCase entity from SupportModule
@@ -66,6 +66,10 @@ var OutboundDialCampaignCasePropertyKeys;
66
66
  OutboundDialCampaignCasePropertyKeys["LastDialAt"] = "LastDialAt";
67
67
  /** Outcome of this campaign's most recent dial of this case: CONNECTED, NO_ANSWER, BUSY, MACHINE or FAILED (the dialer's LastDialOutcome union). TEXT, not ENUM: the dialer is the only writer and a schema enum would need option shepherding on every new outcome. Per-campaign successor to Case.LastDialOutcome. */
68
68
  OutboundDialCampaignCasePropertyKeys["LastDialOutcome"] = "LastDialOutcome";
69
+ /** The call outcome the agent saved, e.g. "RET - Re-Contracted - Free MESH" (CASES-1993). Reporting only: LastDialOutcome is what drives retries. */
70
+ OutboundDialCampaignCasePropertyKeys["AgentOutcome"] = "AgentOutcome";
71
+ /** Why the agent skipped this case before dialling: ALREADY_RECONTRACTED, OTS_OTHER_PROCESS, PENDING_CANCELLATION, or "OTHER: <note>" (CASES-1993). */
72
+ OutboundDialCampaignCasePropertyKeys["SkipReason"] = "SkipReason";
69
73
  })(OutboundDialCampaignCasePropertyKeys = exports.OutboundDialCampaignCasePropertyKeys || (exports.OutboundDialCampaignCasePropertyKeys = {}));
70
74
  /**
71
75
  * OutboundDialCampaignCase entity from SupportModule
@@ -0,0 +1,235 @@
1
+ /**
2
+ * QaBatch Entity Definition
3
+ *
4
+ * One bulk QA run: a share of the cases one agent closed in a period, scored in rounds. Carries who asked, the window, the counts and the state. Written only by youfibre-api-support; never edited by hand.
5
+ *
6
+ * @module SupportModule
7
+ * @entity QaBatch
8
+ * @schemaId 47cd7cfb-d4a1-4028-971b-680b3f40431f
9
+ *
10
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
11
+ * Generated from Odin schema definition
12
+ */
13
+ import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
+ import { QaReportProperties } from './QaReport';
15
+ /**
16
+ * Available types for QaBatch records
17
+ */
18
+ export declare enum QaBatchEntityTypes {
19
+ /** This is the default record type */
20
+ DEFAULT = "DEFAULT"
21
+ }
22
+ /**
23
+ * Valid values for QaBatch.Status
24
+ *
25
+ * RUNNING while the runner works it; DONE when every picked case is done, failed or skipped; STOPPED when a person stopped it; FAILED when the runner gave up or went stale.
26
+ *
27
+ * @remarks Available options:
28
+ * - `DONE` - Done
29
+ * - `FAILED` - Failed
30
+ * - `RUNNING` - Running
31
+ * - `STOPPED` - Stopped
32
+ */
33
+ export declare enum QaBatchStatus {
34
+ DONE = "DONE",
35
+ FAILED = "FAILED",
36
+ RUNNING = "RUNNING",
37
+ STOPPED = "STOPPED"
38
+ }
39
+ /**
40
+ * Property keys for QaBatch
41
+ * Use these constants instead of string literals for type safety
42
+ */
43
+ export declare enum QaBatchPropertyKeys {
44
+ /** The agent whose closed cases the run scores: their assigned-user id, else their owner id, as the QA report attributes a case. */
45
+ AgentId = "AgentId",
46
+ /** The display name of the agent at the time of the run. */
47
+ AgentName = "AgentName",
48
+ /** Start of the period the cases were closed in (inclusive). */
49
+ PeriodFrom = "PeriodFrom",
50
+ /** End of the period the cases were closed in (exclusive). */
51
+ PeriodTo = "PeriodTo",
52
+ /** The share of the closed cases asked for: 10 or 25. */
53
+ Percent = "Percent",
54
+ /** How many cases the agent closed in the period. */
55
+ ClosedCount = "ClosedCount",
56
+ /** How many of those had something to score and no report yet when the run started. */
57
+ ScorableCount = "ScorableCount",
58
+ /** ceil(Percent x Closed), capped at 100: how many the run set out to score. */
59
+ TargetCount = "TargetCount",
60
+ /** How many cases the run picked: the lower of Target and Scorable. */
61
+ PickedCount = "PickedCount",
62
+ /** Reports written so far. */
63
+ DoneCount = "DoneCount",
64
+ /** Cases the model could not score after the retries. */
65
+ FailedCount = "FailedCount",
66
+ /** Cases refused before the model (nothing to score after all). */
67
+ SkippedCount = "SkippedCount",
68
+ /** RUNNING while the runner works it; DONE when every picked case is done, failed or skipped; STOPPED when a person stopped it; FAILED when the runner gave up or went stale. */
69
+ Status = "Status",
70
+ /** How many reports the runner kept in flight at once. */
71
+ Concurrency = "Concurrency",
72
+ /** Display name of the manager who pressed Go. */
73
+ RequestedBy = "RequestedBy",
74
+ /** When the runner took the batch. */
75
+ StartedAt = "StartedAt",
76
+ /** When the runner wrote its last count. */
77
+ FinishedAt = "FinishedAt",
78
+ /** Why the run FAILED, when it did. */
79
+ Error = "Error"
80
+ }
81
+ /**
82
+ * Properties for QaBatch records
83
+ *
84
+ * @see SupportModule:QaBatch
85
+ */
86
+ export interface QaBatchProperties {
87
+ /** The agent whose closed cases the run scores: their assigned-user id, else their owner id, as the QA report attributes a case.
88
+ *
89
+ * @type {TEXT}
90
+ * @default
91
+ */
92
+ AgentId: string;
93
+ /** The display name of the agent at the time of the run.
94
+ *
95
+ * @type {TEXT}
96
+ * @default
97
+ */
98
+ AgentName: string;
99
+ /** Start of the period the cases were closed in (inclusive).
100
+ *
101
+ * @type {DATE_TIME}
102
+ * @default
103
+ */
104
+ PeriodFrom: string;
105
+ /** End of the period the cases were closed in (exclusive).
106
+ *
107
+ * @type {DATE_TIME}
108
+ * @default
109
+ */
110
+ PeriodTo: string;
111
+ /** The share of the closed cases asked for: 10 or 25.
112
+ *
113
+ * @type {NUMBER}
114
+ * @default
115
+ */
116
+ Percent: number;
117
+ /** How many cases the agent closed in the period.
118
+ *
119
+ * @type {NUMBER}
120
+ * @default
121
+ */
122
+ ClosedCount: number;
123
+ /** How many of those had something to score and no report yet when the run started.
124
+ *
125
+ * @type {NUMBER}
126
+ * @default
127
+ */
128
+ ScorableCount: number;
129
+ /** ceil(Percent x Closed), capped at 100: how many the run set out to score.
130
+ *
131
+ * @type {NUMBER}
132
+ * @default
133
+ */
134
+ TargetCount: number;
135
+ /** How many cases the run picked: the lower of Target and Scorable.
136
+ *
137
+ * @type {NUMBER}
138
+ * @default 0
139
+ */
140
+ PickedCount: number;
141
+ /** Reports written so far.
142
+ *
143
+ * @type {NUMBER}
144
+ * @default 0
145
+ */
146
+ DoneCount: number;
147
+ /** Cases the model could not score after the retries.
148
+ *
149
+ * @type {NUMBER}
150
+ * @default 0
151
+ */
152
+ FailedCount: number;
153
+ /** Cases refused before the model (nothing to score after all).
154
+ *
155
+ * @type {NUMBER}
156
+ * @default 0
157
+ */
158
+ SkippedCount: number;
159
+ /** RUNNING while the runner works it; DONE when every picked case is done, failed or skipped; STOPPED when a person stopped it; FAILED when the runner gave up or went stale.
160
+ *
161
+ * @type {ENUM}
162
+ * @default RUNNING
163
+ * @enum {QaBatchStatus}
164
+ */
165
+ Status: QaBatchStatus;
166
+ /** How many reports the runner kept in flight at once.
167
+ *
168
+ * @type {NUMBER}
169
+ * @default
170
+ */
171
+ Concurrency: number;
172
+ /** Display name of the manager who pressed Go.
173
+ *
174
+ * @type {TEXT}
175
+ * @default
176
+ */
177
+ RequestedBy: string;
178
+ /** When the runner took the batch.
179
+ *
180
+ * @type {DATE_TIME}
181
+ * @default
182
+ */
183
+ StartedAt: string;
184
+ /** When the runner wrote its last count.
185
+ *
186
+ * @type {DATE_TIME}
187
+ * @default
188
+ */
189
+ FinishedAt: string;
190
+ /** Why the run FAILED, when it did.
191
+ *
192
+ * @type {TEXT_LONG}
193
+ * @default
194
+ */
195
+ Error: string;
196
+ }
197
+ /**
198
+ * QaBatch entity from SupportModule
199
+ *
200
+ * One bulk QA run: a share of the cases one agent closed in a period, scored in rounds. Carries who asked, the window, the counts and the state. Written only by youfibre-api-support; never edited by hand.
201
+ *
202
+ * @module SupportModule
203
+ * @entity QaBatch
204
+ * @schemaId 47cd7cfb-d4a1-4028-971b-680b3f40431f
205
+ * @recordPrefix QAB
206
+ * @capabilities searchable, updateable, undeletable, triggerable
207
+ */
208
+ export declare class QaBatch extends OdinRecord<QaBatchProperties> {
209
+ entity: 'SupportModule:QaBatch';
210
+ type: QaBatchEntityTypes;
211
+ schemaId: '47cd7cfb-d4a1-4028-971b-680b3f40431f';
212
+ properties: QaBatchProperties;
213
+ /** Linked QaReport records (QaBatch__Report) */
214
+ QaReport: OdinLink<LinkedOdinRecord<QaReportProperties>>;
215
+ }
216
+ /**
217
+ * RabbitMQ routing keys for QaBatch events
218
+ */
219
+ export declare const ROUTING_KEY_QA_BATCH_CREATED = "SupportModule.QaBatch.SubDbRecordCreated";
220
+ export declare const ROUTING_KEY_QA_BATCH_UPDATED = "SupportModule.QaBatch.SubDbRecordUpdated";
221
+ export declare const ROUTING_KEY_QA_BATCH_DELETED = "SupportModule.QaBatch.SubDbRecordDeleted";
222
+ /**
223
+ * Type-specific routing keys for QaBatch events
224
+ * Subscribe to these for events on specific entity types only
225
+ */
226
+ /** This is the default record type created */
227
+ export declare const ROUTING_KEY_QA_BATCH_DEFAULT_CREATED = "SupportModule.QaBatch.DEFAULT.SubDbRecordCreated";
228
+ /** This is the default record type updated */
229
+ export declare const ROUTING_KEY_QA_BATCH_DEFAULT_UPDATED = "SupportModule.QaBatch.DEFAULT.SubDbRecordUpdated";
230
+ /** This is the default record type deleted */
231
+ export declare const ROUTING_KEY_QA_BATCH_DEFAULT_DELETED = "SupportModule.QaBatch.DEFAULT.SubDbRecordDeleted";
232
+ /** Event: QaBatch__Report link created */
233
+ export declare const ROUTING_KEY_LINK_QA_BATCH_REPORT_CREATED = "SupportModule.QaBatch.QaReport.SubDbRecordAssociationCreated";
234
+ /** Event: QaBatch__Report link deleted */
235
+ export declare const ROUTING_KEY_LINK_QA_BATCH_REPORT_DELETED = "SupportModule.QaBatch.QaReport.SubDbRecordAssociationDeleted";
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /**
3
+ * QaBatch Entity Definition
4
+ *
5
+ * One bulk QA run: a share of the cases one agent closed in a period, scored in rounds. Carries who asked, the window, the counts and the state. Written only by youfibre-api-support; never edited by hand.
6
+ *
7
+ * @module SupportModule
8
+ * @entity QaBatch
9
+ * @schemaId 47cd7cfb-d4a1-4028-971b-680b3f40431f
10
+ *
11
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
12
+ * Generated from Odin schema definition
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ROUTING_KEY_LINK_QA_BATCH_REPORT_DELETED = exports.ROUTING_KEY_LINK_QA_BATCH_REPORT_CREATED = exports.ROUTING_KEY_QA_BATCH_DEFAULT_DELETED = exports.ROUTING_KEY_QA_BATCH_DEFAULT_UPDATED = exports.ROUTING_KEY_QA_BATCH_DEFAULT_CREATED = exports.ROUTING_KEY_QA_BATCH_DELETED = exports.ROUTING_KEY_QA_BATCH_UPDATED = exports.ROUTING_KEY_QA_BATCH_CREATED = exports.QaBatch = exports.QaBatchPropertyKeys = exports.QaBatchStatus = exports.QaBatchEntityTypes = void 0;
16
+ const core_1 = require("@d19n/odin-types/dist/core");
17
+ /**
18
+ * Available types for QaBatch records
19
+ */
20
+ var QaBatchEntityTypes;
21
+ (function (QaBatchEntityTypes) {
22
+ /** This is the default record type */
23
+ QaBatchEntityTypes["DEFAULT"] = "DEFAULT";
24
+ })(QaBatchEntityTypes = exports.QaBatchEntityTypes || (exports.QaBatchEntityTypes = {}));
25
+ /**
26
+ * Valid values for QaBatch.Status
27
+ *
28
+ * RUNNING while the runner works it; DONE when every picked case is done, failed or skipped; STOPPED when a person stopped it; FAILED when the runner gave up or went stale.
29
+ *
30
+ * @remarks Available options:
31
+ * - `DONE` - Done
32
+ * - `FAILED` - Failed
33
+ * - `RUNNING` - Running
34
+ * - `STOPPED` - Stopped
35
+ */
36
+ var QaBatchStatus;
37
+ (function (QaBatchStatus) {
38
+ QaBatchStatus["DONE"] = "DONE";
39
+ QaBatchStatus["FAILED"] = "FAILED";
40
+ QaBatchStatus["RUNNING"] = "RUNNING";
41
+ QaBatchStatus["STOPPED"] = "STOPPED";
42
+ })(QaBatchStatus = exports.QaBatchStatus || (exports.QaBatchStatus = {}));
43
+ /**
44
+ * Property keys for QaBatch
45
+ * Use these constants instead of string literals for type safety
46
+ */
47
+ var QaBatchPropertyKeys;
48
+ (function (QaBatchPropertyKeys) {
49
+ /** The agent whose closed cases the run scores: their assigned-user id, else their owner id, as the QA report attributes a case. */
50
+ QaBatchPropertyKeys["AgentId"] = "AgentId";
51
+ /** The display name of the agent at the time of the run. */
52
+ QaBatchPropertyKeys["AgentName"] = "AgentName";
53
+ /** Start of the period the cases were closed in (inclusive). */
54
+ QaBatchPropertyKeys["PeriodFrom"] = "PeriodFrom";
55
+ /** End of the period the cases were closed in (exclusive). */
56
+ QaBatchPropertyKeys["PeriodTo"] = "PeriodTo";
57
+ /** The share of the closed cases asked for: 10 or 25. */
58
+ QaBatchPropertyKeys["Percent"] = "Percent";
59
+ /** How many cases the agent closed in the period. */
60
+ QaBatchPropertyKeys["ClosedCount"] = "ClosedCount";
61
+ /** How many of those had something to score and no report yet when the run started. */
62
+ QaBatchPropertyKeys["ScorableCount"] = "ScorableCount";
63
+ /** ceil(Percent x Closed), capped at 100: how many the run set out to score. */
64
+ QaBatchPropertyKeys["TargetCount"] = "TargetCount";
65
+ /** How many cases the run picked: the lower of Target and Scorable. */
66
+ QaBatchPropertyKeys["PickedCount"] = "PickedCount";
67
+ /** Reports written so far. */
68
+ QaBatchPropertyKeys["DoneCount"] = "DoneCount";
69
+ /** Cases the model could not score after the retries. */
70
+ QaBatchPropertyKeys["FailedCount"] = "FailedCount";
71
+ /** Cases refused before the model (nothing to score after all). */
72
+ QaBatchPropertyKeys["SkippedCount"] = "SkippedCount";
73
+ /** RUNNING while the runner works it; DONE when every picked case is done, failed or skipped; STOPPED when a person stopped it; FAILED when the runner gave up or went stale. */
74
+ QaBatchPropertyKeys["Status"] = "Status";
75
+ /** How many reports the runner kept in flight at once. */
76
+ QaBatchPropertyKeys["Concurrency"] = "Concurrency";
77
+ /** Display name of the manager who pressed Go. */
78
+ QaBatchPropertyKeys["RequestedBy"] = "RequestedBy";
79
+ /** When the runner took the batch. */
80
+ QaBatchPropertyKeys["StartedAt"] = "StartedAt";
81
+ /** When the runner wrote its last count. */
82
+ QaBatchPropertyKeys["FinishedAt"] = "FinishedAt";
83
+ /** Why the run FAILED, when it did. */
84
+ QaBatchPropertyKeys["Error"] = "Error";
85
+ })(QaBatchPropertyKeys = exports.QaBatchPropertyKeys || (exports.QaBatchPropertyKeys = {}));
86
+ /**
87
+ * QaBatch entity from SupportModule
88
+ *
89
+ * One bulk QA run: a share of the cases one agent closed in a period, scored in rounds. Carries who asked, the window, the counts and the state. Written only by youfibre-api-support; never edited by hand.
90
+ *
91
+ * @module SupportModule
92
+ * @entity QaBatch
93
+ * @schemaId 47cd7cfb-d4a1-4028-971b-680b3f40431f
94
+ * @recordPrefix QAB
95
+ * @capabilities searchable, updateable, undeletable, triggerable
96
+ */
97
+ class QaBatch extends core_1.OdinRecord {
98
+ }
99
+ exports.QaBatch = QaBatch;
100
+ // ============================================
101
+ // RABBITMQ EVENT ROUTING KEYS
102
+ // ============================================
103
+ /**
104
+ * RabbitMQ routing keys for QaBatch events
105
+ */
106
+ exports.ROUTING_KEY_QA_BATCH_CREATED = 'SupportModule.QaBatch.SubDbRecordCreated';
107
+ exports.ROUTING_KEY_QA_BATCH_UPDATED = 'SupportModule.QaBatch.SubDbRecordUpdated';
108
+ exports.ROUTING_KEY_QA_BATCH_DELETED = 'SupportModule.QaBatch.SubDbRecordDeleted';
109
+ /**
110
+ * Type-specific routing keys for QaBatch events
111
+ * Subscribe to these for events on specific entity types only
112
+ */
113
+ /** This is the default record type created */
114
+ exports.ROUTING_KEY_QA_BATCH_DEFAULT_CREATED = 'SupportModule.QaBatch.DEFAULT.SubDbRecordCreated';
115
+ /** This is the default record type updated */
116
+ exports.ROUTING_KEY_QA_BATCH_DEFAULT_UPDATED = 'SupportModule.QaBatch.DEFAULT.SubDbRecordUpdated';
117
+ /** This is the default record type deleted */
118
+ exports.ROUTING_KEY_QA_BATCH_DEFAULT_DELETED = 'SupportModule.QaBatch.DEFAULT.SubDbRecordDeleted';
119
+ /** Event: QaBatch__Report link created */
120
+ exports.ROUTING_KEY_LINK_QA_BATCH_REPORT_CREATED = 'SupportModule.QaBatch.QaReport.SubDbRecordAssociationCreated';
121
+ /** Event: QaBatch__Report link deleted */
122
+ exports.ROUTING_KEY_LINK_QA_BATCH_REPORT_DELETED = 'SupportModule.QaBatch.QaReport.SubDbRecordAssociationDeleted';
@@ -13,6 +13,7 @@
13
13
  import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
14
  import { CaseProperties } from './Case';
15
15
  import { QaReportAmendmentProperties } from './QaReportAmendment';
16
+ import { QaBatchProperties } from './QaBatch';
16
17
  /**
17
18
  * Available types for QaReport records
18
19
  */
@@ -161,7 +162,9 @@ export declare enum QaReportPropertyKeys {
161
162
  /** S3 URL of the amended result JSON: the same shape as QaResultUrl, with the amendment applied and recorded inside it. */
162
163
  AmendedResultUrl = "AmendedResultUrl",
163
164
  /** Optional note from the manager about the amendment as a whole. */
164
- AmendmentNote = "AmendmentNote"
165
+ AmendmentNote = "AmendmentNote",
166
+ /** The bulk QA run this report was generated by. Empty for a report generated from the case tab. */
167
+ BatchId = "BatchId"
165
168
  }
166
169
  /**
167
170
  * Properties for QaReport records
@@ -349,6 +352,12 @@ export interface QaReportProperties {
349
352
  * @default
350
353
  */
351
354
  AmendmentNote: string;
355
+ /** The bulk QA run this report was generated by. Empty for a report generated from the case tab.
356
+ *
357
+ * @type {LOOKUP}
358
+ * @default
359
+ */
360
+ BatchId: string;
352
361
  }
353
362
  /**
354
363
  * QaReport entity from SupportModule
@@ -370,6 +379,8 @@ export declare class QaReport extends OdinRecord<QaReportProperties> {
370
379
  Case: OdinLink<LinkedOdinRecord<CaseProperties>>;
371
380
  /** Linked QaReportAmendment records (QaReport__Amendment) */
372
381
  QaReportAmendment: OdinLink<LinkedOdinRecord<QaReportAmendmentProperties>>;
382
+ /** Linked QaBatch records (QaBatch__Report) */
383
+ QaBatch: OdinLink<LinkedOdinRecord<QaBatchProperties>>;
373
384
  }
374
385
  /**
375
386
  * RabbitMQ routing keys for QaReport events
@@ -170,6 +170,8 @@ var QaReportPropertyKeys;
170
170
  QaReportPropertyKeys["AmendedResultUrl"] = "AmendedResultUrl";
171
171
  /** Optional note from the manager about the amendment as a whole. */
172
172
  QaReportPropertyKeys["AmendmentNote"] = "AmendmentNote";
173
+ /** The bulk QA run this report was generated by. Empty for a report generated from the case tab. */
174
+ QaReportPropertyKeys["BatchId"] = "BatchId";
173
175
  })(QaReportPropertyKeys = exports.QaReportPropertyKeys || (exports.QaReportPropertyKeys = {}));
174
176
  /**
175
177
  * QaReport entity from SupportModule
@@ -125,7 +125,11 @@ export declare enum RecontractPropertyKeys {
125
125
  /** Whether the recontract required a mesh upgrade or not */
126
126
  RequiredMeshUpgrade = "RequiredMeshUpgrade",
127
127
  /** Why this recontract did not apply. Set on entry to Failed, and on an apply that threw and was left at Applying. Detail: ResolveDeferredRecontract process log. */
128
- FailureReason = "FailureReason"
128
+ FailureReason = "FailureReason",
129
+ /** Whether the server determined, at this recontract, that the customer could be offered the choice to skip the router/mesh upgrade (no ONT swap, not a mesh quantity increase). Caller-supplied, forwarded verbatim onto the Recontract record — recontracting itself derives no hardware requirement from this (ORD-493). */
130
+ RouterUpgradeDeclineEligible = "RouterUpgradeDeclineEligible",
131
+ /** What the customer chose at this recontract, when offered the choice above. Caller-supplied, forwarded verbatim — a permanent snapshot, unlike the live Order.RouterUpgradeDeclined, which an agent can flip back on reversal (ORD-493). */
132
+ RouterUpgradeDeclined = "RouterUpgradeDeclined"
129
133
  }
130
134
  /**
131
135
  * Properties for Recontract records
@@ -243,6 +247,18 @@ export interface RecontractProperties {
243
247
  * @enum {RecontractFailureReason}
244
248
  */
245
249
  FailureReason: RecontractFailureReason;
250
+ /** Whether the server determined, at this recontract, that the customer could be offered the choice to skip the router/mesh upgrade (no ONT swap, not a mesh quantity increase). Caller-supplied, forwarded verbatim onto the Recontract record — recontracting itself derives no hardware requirement from this (ORD-493).
251
+ *
252
+ * @type {BOOLEAN}
253
+ * @default
254
+ */
255
+ RouterUpgradeDeclineEligible: boolean;
256
+ /** What the customer chose at this recontract, when offered the choice above. Caller-supplied, forwarded verbatim — a permanent snapshot, unlike the live Order.RouterUpgradeDeclined, which an agent can flip back on reversal (ORD-493).
257
+ *
258
+ * @type {BOOLEAN}
259
+ * @default
260
+ */
261
+ RouterUpgradeDeclined: boolean;
246
262
  }
247
263
  /**
248
264
  * Recontract entity from OrderModule
@@ -133,6 +133,10 @@ var RecontractPropertyKeys;
133
133
  RecontractPropertyKeys["RequiredMeshUpgrade"] = "RequiredMeshUpgrade";
134
134
  /** Why this recontract did not apply. Set on entry to Failed, and on an apply that threw and was left at Applying. Detail: ResolveDeferredRecontract process log. */
135
135
  RecontractPropertyKeys["FailureReason"] = "FailureReason";
136
+ /** Whether the server determined, at this recontract, that the customer could be offered the choice to skip the router/mesh upgrade (no ONT swap, not a mesh quantity increase). Caller-supplied, forwarded verbatim onto the Recontract record — recontracting itself derives no hardware requirement from this (ORD-493). */
137
+ RecontractPropertyKeys["RouterUpgradeDeclineEligible"] = "RouterUpgradeDeclineEligible";
138
+ /** What the customer chose at this recontract, when offered the choice above. Caller-supplied, forwarded verbatim — a permanent snapshot, unlike the live Order.RouterUpgradeDeclined, which an agent can flip back on reversal (ORD-493). */
139
+ RecontractPropertyKeys["RouterUpgradeDeclined"] = "RouterUpgradeDeclined";
136
140
  })(RecontractPropertyKeys = exports.RecontractPropertyKeys || (exports.RecontractPropertyKeys = {}));
137
141
  /**
138
142
  * Recontract entity from OrderModule