@d19n/youfibre-odin-sdk 2.0.375 → 2.0.376

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.
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.QaBatchSummaryDb = void 0;
13
+ const db_provider_1 = require("@d19n/odin-sdk-generator/dist/db.provider");
14
+ const db_record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/db.record.link.manager");
15
+ /**
16
+ * @deprecated Use OdinDbClient.
17
+ *
18
+ * Migration:
19
+ * - Old: new QaBatchSummaryApi(authParams).get(id)
20
+ * - New: new odin.qabatchsummary.get(id)
21
+ *
22
+ * The new OdinDbClient returns typed record wrappers with action methods.
23
+ *
24
+ * Supports separate query options and provider options:
25
+ * - Constructor level: new QaBatchSummaryDb(principal, dbService, { omitPermissionsCheck: true })
26
+ * - Method level: await db.getByPrimaryKey(id, { entities: [] }, { omitPermissionsCheck: true })
27
+ */
28
+ class QaBatchSummaryDb extends db_provider_1.DbProvider {
29
+ constructor(principal, dbService, defaultOptions) {
30
+ super(principal, dbService, defaultOptions);
31
+ this.moduleName = 'SupportModule';
32
+ this.entityName = 'QaBatchSummary';
33
+ this.principal = principal;
34
+ this.dbService = dbService;
35
+ // Link managers are lazy-loaded on first access
36
+ }
37
+ // ============================================
38
+ // LAZY-LOADED LINK MANAGERS (Public Getters)
39
+ // ============================================
40
+ // Usage remains identical: db.address.list(recordId)
41
+ get qabatch() {
42
+ if (!this._qabatch) {
43
+ this._qabatch = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SupportModule:QaBatchSummary', 'SupportModule:QaBatch', 'QaBatch__Summary');
44
+ }
45
+ return this._qabatch;
46
+ }
47
+ // ============================================
48
+ // STANDARD METHODS
49
+ // ============================================
50
+ // Methods support separate query options and provider options for clean API
51
+ setRecord(sourceRecord) {
52
+ this.sourceRecord = sourceRecord;
53
+ }
54
+ /**
55
+ * Search records with manual pagination control
56
+ * @param params - Search parameters
57
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
58
+ */
59
+ searchRecords(params, providerOptions) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ return yield this._searchRecords(this.moduleName, this.entityName, params, providerOptions);
62
+ });
63
+ }
64
+ /**
65
+ * Search all records with automatic pagination
66
+ * @param params - Search parameters
67
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
68
+ */
69
+ searchAllRecordsAndPaginate(params, providerOptions) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ return yield this._searchAllRecordsAndPaginate(this.moduleName, this.entityName, params, 0, providerOptions);
72
+ });
73
+ }
74
+ /**
75
+ * Get a single record by primary key
76
+ * @param qaBatchSummaryId - Record ID
77
+ * @param queryOptions - Query options (WHAT: entities to include)
78
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
79
+ *
80
+ * @example
81
+ * // Simple get
82
+ * const record = await db.getByPrimaryKey(id);
83
+ *
84
+ * // With related entities
85
+ * const record = await db.getByPrimaryKey(id, { entities: ['InvoiceItem', 'Transaction'] });
86
+ *
87
+ * // With permissions bypass
88
+ * const record = await db.getByPrimaryKey(id, {}, { omitPermissionsCheck: true });
89
+ *
90
+ * // Both options
91
+ * const record = await db.getByPrimaryKey(id, { entities: ['Invoice'] }, { omitPermissionsCheck: true });
92
+ */
93
+ getByPrimaryKey(qaBatchSummaryId, queryOptions, providerOptions) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const res = yield this._getByPrimaryKey(this.moduleName, this.entityName, qaBatchSummaryId, queryOptions, providerOptions);
96
+ if (res)
97
+ this.setRecord(res);
98
+ return res;
99
+ });
100
+ }
101
+ /**
102
+ * Get multiple records by primary keys
103
+ * @param qaBatchSummaryIds - Array of record IDs
104
+ * @param queryOptions - Query options (WHAT: entities to include)
105
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
106
+ */
107
+ getManyByPrimaryKey(qaBatchSummaryIds, queryOptions, providerOptions) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ return yield this._getManyByPrimaryKey(this.moduleName, this.entityName, qaBatchSummaryIds, queryOptions, providerOptions);
110
+ });
111
+ }
112
+ /**
113
+ * Upsert a single record
114
+ * @param upsertDto - Record to upsert
115
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
116
+ */
117
+ upsert(upsertDto, providerOptions) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const res = yield this._upsert(this.moduleName, this.entityName, [upsertDto], providerOptions);
120
+ return res[0];
121
+ });
122
+ }
123
+ /**
124
+ * Upsert multiple records
125
+ * @param upsertDtos - Records to upsert
126
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
127
+ */
128
+ upsertMany(upsertDtos, providerOptions) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ return yield this._upsert(this.moduleName, this.entityName, upsertDtos, providerOptions);
131
+ });
132
+ }
133
+ /**
134
+ * Update a single record
135
+ * @param updateDto - Record to update
136
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
137
+ */
138
+ update(updateDto, providerOptions) {
139
+ return __awaiter(this, void 0, void 0, function* () {
140
+ const res = yield this._update(this.moduleName, this.entityName, [updateDto], providerOptions);
141
+ return res[0];
142
+ });
143
+ }
144
+ /**
145
+ * Update multiple records
146
+ * @param updateDtos - Records to update
147
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
148
+ */
149
+ updateMany(updateDtos, providerOptions) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ return yield this._update(this.moduleName, this.entityName, updateDtos, providerOptions);
152
+ });
153
+ }
154
+ /**
155
+ * Delete one or many records
156
+ * @param qaBatchSummaryIds - Record IDs to delete
157
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
158
+ */
159
+ delete(qaBatchSummaryIds, providerOptions) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ return yield this._delete(this.moduleName, this.entityName, qaBatchSummaryIds, providerOptions);
162
+ });
163
+ }
164
+ /**
165
+ * Restore one or many deleted records
166
+ * @param qaBatchSummaryIds - Record IDs to restore
167
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
168
+ */
169
+ restore(qaBatchSummaryIds, providerOptions) {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ return yield this._restore(this.moduleName, this.entityName, qaBatchSummaryIds, providerOptions);
172
+ });
173
+ }
174
+ /**
175
+ * Apply an action to a record
176
+ * @param actionName - The action key
177
+ * @param dto - The action DTO
178
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
179
+ */
180
+ applyAction(actionName, dto, providerOptions) {
181
+ return __awaiter(this, void 0, void 0, function* () {
182
+ return yield this._applyAction(this.moduleName, this.entityName, dto, providerOptions);
183
+ });
184
+ }
185
+ /**
186
+ * Get version history for the current source record
187
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
188
+ */
189
+ getVersions(providerOptions) {
190
+ return __awaiter(this, void 0, void 0, function* () {
191
+ return yield this._getVersions(this.moduleName, this.entityName, this.sourceRecord.id, providerOptions);
192
+ });
193
+ }
194
+ /**
195
+ * Get revision timeline for the current source record
196
+ * @param providerOptions - Provider options (HOW: omitPermissionsCheck)
197
+ */
198
+ getRevisionTimeline(providerOptions) {
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ return yield this._getRevisionTimeline(this.moduleName, this.entityName, this.sourceRecord.id, providerOptions);
201
+ });
202
+ }
203
+ }
204
+ exports.QaBatchSummaryDb = QaBatchSummaryDb;
@@ -425,7 +425,9 @@ export declare enum ContactPropertyKeys {
425
425
  /** When AppBiometricLoginStatus last changed (PORTAPP-3345). */
426
426
  AppBiometricLoginStatusDate = "AppBiometricLoginStatusDate",
427
427
  /** Every platform the customer has used the app on. A platform is added when the app first reports it and is never removed. Empty until the app reports one (PORTAPP-3483). */
428
- AppDevicePlatforms = "AppDevicePlatforms"
428
+ AppDevicePlatforms = "AppDevicePlatforms",
429
+ /** Timestamp of when this contact expressed interest in the TV product. Set by SetContactYouFibreTvInterest (CORE-1523), called from the customer-portal endpoint (PORTAPP-3551). */
430
+ YouFibreTvInterest = "YouFibreTvInterest"
429
431
  }
430
432
  /**
431
433
  * Properties for Contact records
@@ -828,6 +830,12 @@ export interface ContactProperties {
828
830
  * @hidden This field is hidden in the UI
829
831
  */
830
832
  AppDevicePlatforms: string;
833
+ /** Timestamp of when this contact expressed interest in the TV product. Set by SetContactYouFibreTvInterest (CORE-1523), called from the customer-portal endpoint (PORTAPP-3551).
834
+ *
835
+ * @type {DATE_TIME}
836
+ * @default
837
+ */
838
+ YouFibreTvInterest: string;
831
839
  }
832
840
  /**
833
841
  * Contact entity from CrmModule
@@ -411,6 +411,8 @@ var ContactPropertyKeys;
411
411
  ContactPropertyKeys["AppBiometricLoginStatusDate"] = "AppBiometricLoginStatusDate";
412
412
  /** Every platform the customer has used the app on. A platform is added when the app first reports it and is never removed. Empty until the app reports one (PORTAPP-3483). */
413
413
  ContactPropertyKeys["AppDevicePlatforms"] = "AppDevicePlatforms";
414
+ /** Timestamp of when this contact expressed interest in the TV product. Set by SetContactYouFibreTvInterest (CORE-1523), called from the customer-portal endpoint (PORTAPP-3551). */
415
+ ContactPropertyKeys["YouFibreTvInterest"] = "YouFibreTvInterest";
414
416
  })(ContactPropertyKeys = exports.ContactPropertyKeys || (exports.ContactPropertyKeys = {}));
415
417
  /**
416
418
  * Contact entity from CrmModule
@@ -90,6 +90,7 @@ export declare enum DocumentSubmittedVia {
90
90
  * - `EMBED_FAILED` - Embed failed
91
91
  * - `READ` - Read
92
92
  * - `READ_FAILED` - Read failed
93
+ * - `READ_PENDING` - Read pending
93
94
  * - `READY` - Ready
94
95
  */
95
96
  export declare enum DocumentCatalogStatus {
@@ -102,6 +103,7 @@ export declare enum DocumentCatalogStatus {
102
103
  EMBED_FAILED = "EMBED_FAILED",
103
104
  READ = "READ",
104
105
  READ_FAILED = "READ_FAILED",
106
+ READ_PENDING = "READ_PENDING",
105
107
  READY = "READY"
106
108
  }
107
109
  /**
@@ -93,6 +93,7 @@ var DocumentSubmittedVia;
93
93
  * - `EMBED_FAILED` - Embed failed
94
94
  * - `READ` - Read
95
95
  * - `READ_FAILED` - Read failed
96
+ * - `READ_PENDING` - Read pending
96
97
  * - `READY` - Ready
97
98
  */
98
99
  var DocumentCatalogStatus;
@@ -106,6 +107,7 @@ var DocumentCatalogStatus;
106
107
  DocumentCatalogStatus["EMBED_FAILED"] = "EMBED_FAILED";
107
108
  DocumentCatalogStatus["READ"] = "READ";
108
109
  DocumentCatalogStatus["READ_FAILED"] = "READ_FAILED";
110
+ DocumentCatalogStatus["READ_PENDING"] = "READ_PENDING";
109
111
  DocumentCatalogStatus["READY"] = "READY";
110
112
  })(DocumentCatalogStatus = exports.DocumentCatalogStatus || (exports.DocumentCatalogStatus = {}));
111
113
  /**
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
14
  import { QaReportProperties } from './QaReport';
15
+ import { QaBatchSummaryProperties } from './QaBatchSummary';
15
16
  /**
16
17
  * Available types for QaBatch records
17
18
  */
@@ -36,6 +37,19 @@ export declare enum QaBatchStatus {
36
37
  RUNNING = "RUNNING",
37
38
  STOPPED = "STOPPED"
38
39
  }
40
+ /**
41
+ * Valid values for QaBatch.Scope
42
+ *
43
+ * AGENT: one agent's cases. TEAM: the cases of every agent in a team, the target split equally across them.
44
+ *
45
+ * @remarks Available options:
46
+ * - `AGENT` - Agent
47
+ * - `TEAM` - Team
48
+ */
49
+ export declare enum QaBatchScope {
50
+ AGENT = "AGENT",
51
+ TEAM = "TEAM"
52
+ }
39
53
  /**
40
54
  * Property keys for QaBatch
41
55
  * Use these constants instead of string literals for type safety
@@ -76,7 +90,13 @@ export declare enum QaBatchPropertyKeys {
76
90
  /** When the runner wrote its last count. */
77
91
  FinishedAt = "FinishedAt",
78
92
  /** Why the run FAILED, when it did. */
79
- Error = "Error"
93
+ Error = "Error",
94
+ /** AGENT: one agent's cases. TEAM: the cases of every agent in a team, the target split equally across them. */
95
+ Scope = "Scope",
96
+ /** The IdentityModule:Team the run is for, when Scope is TEAM. */
97
+ TeamId = "TeamId",
98
+ /** The team's name at the time of the run. */
99
+ TeamName = "TeamName"
80
100
  }
81
101
  /**
82
102
  * Properties for QaBatch records
@@ -193,6 +213,25 @@ export interface QaBatchProperties {
193
213
  * @default
194
214
  */
195
215
  Error: string;
216
+ /** AGENT: one agent's cases. TEAM: the cases of every agent in a team, the target split equally across them.
217
+ *
218
+ * @type {ENUM}
219
+ * @default AGENT
220
+ * @enum {QaBatchScope}
221
+ */
222
+ Scope: QaBatchScope;
223
+ /** The IdentityModule:Team the run is for, when Scope is TEAM.
224
+ *
225
+ * @type {TEXT}
226
+ * @default
227
+ */
228
+ TeamId: string;
229
+ /** The team's name at the time of the run.
230
+ *
231
+ * @type {TEXT}
232
+ * @default
233
+ */
234
+ TeamName: string;
196
235
  }
197
236
  /**
198
237
  * QaBatch entity from SupportModule
@@ -212,6 +251,8 @@ export declare class QaBatch extends OdinRecord<QaBatchProperties> {
212
251
  properties: QaBatchProperties;
213
252
  /** Linked QaReport records (QaBatch__Report) */
214
253
  QaReport: OdinLink<LinkedOdinRecord<QaReportProperties>>;
254
+ /** Linked QaBatchSummary records (QaBatch__Summary) */
255
+ QaBatchSummary: OdinLink<LinkedOdinRecord<QaBatchSummaryProperties>>;
215
256
  }
216
257
  /**
217
258
  * RabbitMQ routing keys for QaBatch events
@@ -233,3 +274,7 @@ export declare const ROUTING_KEY_QA_BATCH_DEFAULT_DELETED = "SupportModule.QaBat
233
274
  export declare const ROUTING_KEY_LINK_QA_BATCH_REPORT_CREATED = "SupportModule.QaBatch.QaReport.SubDbRecordAssociationCreated";
234
275
  /** Event: QaBatch__Report link deleted */
235
276
  export declare const ROUTING_KEY_LINK_QA_BATCH_REPORT_DELETED = "SupportModule.QaBatch.QaReport.SubDbRecordAssociationDeleted";
277
+ /** Event: QaBatch__Summary link created */
278
+ export declare const ROUTING_KEY_LINK_QA_BATCH_SUMMARY_CREATED = "SupportModule.QaBatch.QaBatchSummary.SubDbRecordAssociationCreated";
279
+ /** Event: QaBatch__Summary link deleted */
280
+ export declare const ROUTING_KEY_LINK_QA_BATCH_SUMMARY_DELETED = "SupportModule.QaBatch.QaBatchSummary.SubDbRecordAssociationDeleted";
@@ -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_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;
15
+ exports.ROUTING_KEY_LINK_QA_BATCH_SUMMARY_DELETED = exports.ROUTING_KEY_LINK_QA_BATCH_SUMMARY_CREATED = 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.QaBatchScope = exports.QaBatchStatus = exports.QaBatchEntityTypes = void 0;
16
16
  const core_1 = require("@d19n/odin-types/dist/core");
17
17
  /**
18
18
  * Available types for QaBatch records
@@ -40,6 +40,20 @@ var QaBatchStatus;
40
40
  QaBatchStatus["RUNNING"] = "RUNNING";
41
41
  QaBatchStatus["STOPPED"] = "STOPPED";
42
42
  })(QaBatchStatus = exports.QaBatchStatus || (exports.QaBatchStatus = {}));
43
+ /**
44
+ * Valid values for QaBatch.Scope
45
+ *
46
+ * AGENT: one agent's cases. TEAM: the cases of every agent in a team, the target split equally across them.
47
+ *
48
+ * @remarks Available options:
49
+ * - `AGENT` - Agent
50
+ * - `TEAM` - Team
51
+ */
52
+ var QaBatchScope;
53
+ (function (QaBatchScope) {
54
+ QaBatchScope["AGENT"] = "AGENT";
55
+ QaBatchScope["TEAM"] = "TEAM";
56
+ })(QaBatchScope = exports.QaBatchScope || (exports.QaBatchScope = {}));
43
57
  /**
44
58
  * Property keys for QaBatch
45
59
  * Use these constants instead of string literals for type safety
@@ -82,6 +96,12 @@ var QaBatchPropertyKeys;
82
96
  QaBatchPropertyKeys["FinishedAt"] = "FinishedAt";
83
97
  /** Why the run FAILED, when it did. */
84
98
  QaBatchPropertyKeys["Error"] = "Error";
99
+ /** AGENT: one agent's cases. TEAM: the cases of every agent in a team, the target split equally across them. */
100
+ QaBatchPropertyKeys["Scope"] = "Scope";
101
+ /** The IdentityModule:Team the run is for, when Scope is TEAM. */
102
+ QaBatchPropertyKeys["TeamId"] = "TeamId";
103
+ /** The team's name at the time of the run. */
104
+ QaBatchPropertyKeys["TeamName"] = "TeamName";
85
105
  })(QaBatchPropertyKeys = exports.QaBatchPropertyKeys || (exports.QaBatchPropertyKeys = {}));
86
106
  /**
87
107
  * QaBatch entity from SupportModule
@@ -120,3 +140,7 @@ exports.ROUTING_KEY_QA_BATCH_DEFAULT_DELETED = 'SupportModule.QaBatch.DEFAULT.Su
120
140
  exports.ROUTING_KEY_LINK_QA_BATCH_REPORT_CREATED = 'SupportModule.QaBatch.QaReport.SubDbRecordAssociationCreated';
121
141
  /** Event: QaBatch__Report link deleted */
122
142
  exports.ROUTING_KEY_LINK_QA_BATCH_REPORT_DELETED = 'SupportModule.QaBatch.QaReport.SubDbRecordAssociationDeleted';
143
+ /** Event: QaBatch__Summary link created */
144
+ exports.ROUTING_KEY_LINK_QA_BATCH_SUMMARY_CREATED = 'SupportModule.QaBatch.QaBatchSummary.SubDbRecordAssociationCreated';
145
+ /** Event: QaBatch__Summary link deleted */
146
+ exports.ROUTING_KEY_LINK_QA_BATCH_SUMMARY_DELETED = 'SupportModule.QaBatch.QaBatchSummary.SubDbRecordAssociationDeleted';
@@ -0,0 +1,219 @@
1
+ /**
2
+ * QaBatchSummary Entity Definition
3
+ *
4
+ * The AI-written overall report on one bulk QA run: the agent or team, what they do well, what recurs, what to coach, with the case numbers behind each point. Written only by youfibre-api-support.
5
+ *
6
+ * @module SupportModule
7
+ * @entity QaBatchSummary
8
+ * @schemaId c932a484-143a-4b2d-bf01-88b9fb9fc9df
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 { QaBatchProperties } from './QaBatch';
15
+ /**
16
+ * Available types for QaBatchSummary records
17
+ */
18
+ export declare enum QaBatchSummaryEntityTypes {
19
+ /** This is the default record type */
20
+ DEFAULT = "DEFAULT"
21
+ }
22
+ /**
23
+ * Valid values for QaBatchSummary.Scope
24
+ *
25
+ * AGENT: one agent. TEAM: a team, with a per-agent section and a team synthesis.
26
+ *
27
+ * @remarks Available options:
28
+ * - `AGENT` - Agent
29
+ * - `TEAM` - Team
30
+ */
31
+ export declare enum QaBatchSummaryScope {
32
+ AGENT = "AGENT",
33
+ TEAM = "TEAM"
34
+ }
35
+ /**
36
+ * Valid values for QaBatchSummary.Status
37
+ *
38
+ * PENDING while the model writes it; COMPLETE when the files are stored; FAILED with Error when it could not be written.
39
+ *
40
+ * @remarks Available options:
41
+ * - `COMPLETE` - Complete
42
+ * - `FAILED` - Failed
43
+ * - `PENDING` - Pending
44
+ */
45
+ export declare enum QaBatchSummaryStatus {
46
+ COMPLETE = "COMPLETE",
47
+ FAILED = "FAILED",
48
+ PENDING = "PENDING"
49
+ }
50
+ /**
51
+ * Property keys for QaBatchSummary
52
+ * Use these constants instead of string literals for type safety
53
+ */
54
+ export declare enum QaBatchSummaryPropertyKeys {
55
+ /** AGENT: one agent. TEAM: a team, with a per-agent section and a team synthesis. */
56
+ Scope = "Scope",
57
+ /** The agent summarised, for an AGENT summary. */
58
+ AgentId = "AgentId",
59
+ /** The agent's display name at the time. */
60
+ AgentName = "AgentName",
61
+ /** The team summarised, for a TEAM summary. */
62
+ TeamId = "TeamId",
63
+ /** The team's name at the time. */
64
+ TeamName = "TeamName",
65
+ /** PENDING while the model writes it; COMPLETE when the files are stored; FAILED with Error when it could not be written. */
66
+ Status = "Status",
67
+ /** How many COMPLETE QA reports of the run the summary was built from. */
68
+ ReportCount = "ReportCount",
69
+ /** The mean score of the reports read, computed in code. */
70
+ AverageScore = "AverageScore",
71
+ /** S3 URL of the rendered summary. */
72
+ ReportUrl = "ReportUrl",
73
+ /** S3 URL of the structured summary: the model's sections plus the figures computed in code. */
74
+ SummaryUrl = "SummaryUrl",
75
+ /** The model that wrote it, and the prompt version. */
76
+ Model = "Model",
77
+ /** How many model calls the reports were split across before the final synthesis. */
78
+ Chunks = "Chunks",
79
+ /** When the summary was stored. */
80
+ GeneratedAt = "GeneratedAt",
81
+ /** Why the summary could not be written, when Status is FAILED. */
82
+ Error = "Error",
83
+ /** The bulk QA run this summary is about. */
84
+ BatchId = "BatchId"
85
+ }
86
+ /**
87
+ * Properties for QaBatchSummary records
88
+ *
89
+ * @see SupportModule:QaBatchSummary
90
+ */
91
+ export interface QaBatchSummaryProperties {
92
+ /** AGENT: one agent. TEAM: a team, with a per-agent section and a team synthesis.
93
+ *
94
+ * @type {ENUM}
95
+ * @default AGENT
96
+ * @enum {QaBatchSummaryScope}
97
+ */
98
+ Scope: QaBatchSummaryScope;
99
+ /** The agent summarised, for an AGENT summary.
100
+ *
101
+ * @type {TEXT}
102
+ * @default
103
+ */
104
+ AgentId: string;
105
+ /** The agent's display name at the time.
106
+ *
107
+ * @type {TEXT}
108
+ * @default
109
+ */
110
+ AgentName: string;
111
+ /** The team summarised, for a TEAM summary.
112
+ *
113
+ * @type {TEXT}
114
+ * @default
115
+ */
116
+ TeamId: string;
117
+ /** The team's name at the time.
118
+ *
119
+ * @type {TEXT}
120
+ * @default
121
+ */
122
+ TeamName: string;
123
+ /** PENDING while the model writes it; COMPLETE when the files are stored; FAILED with Error when it could not be written.
124
+ *
125
+ * @type {ENUM}
126
+ * @default PENDING
127
+ * @enum {QaBatchSummaryStatus}
128
+ */
129
+ Status: QaBatchSummaryStatus;
130
+ /** How many COMPLETE QA reports of the run the summary was built from.
131
+ *
132
+ * @type {NUMBER}
133
+ * @default
134
+ */
135
+ ReportCount: number;
136
+ /** The mean score of the reports read, computed in code.
137
+ *
138
+ * @type {NUMBER}
139
+ * @default
140
+ */
141
+ AverageScore: number;
142
+ /** S3 URL of the rendered summary.
143
+ *
144
+ * @type {TEXT}
145
+ * @default
146
+ */
147
+ ReportUrl: string;
148
+ /** S3 URL of the structured summary: the model's sections plus the figures computed in code.
149
+ *
150
+ * @type {TEXT}
151
+ * @default
152
+ */
153
+ SummaryUrl: string;
154
+ /** The model that wrote it, and the prompt version.
155
+ *
156
+ * @type {TEXT}
157
+ * @default
158
+ */
159
+ Model: string;
160
+ /** How many model calls the reports were split across before the final synthesis.
161
+ *
162
+ * @type {NUMBER}
163
+ * @default
164
+ */
165
+ Chunks: number;
166
+ /** When the summary was stored.
167
+ *
168
+ * @type {DATE_TIME}
169
+ * @default
170
+ */
171
+ GeneratedAt: string;
172
+ /** Why the summary could not be written, when Status is FAILED.
173
+ *
174
+ * @type {TEXT_LONG}
175
+ * @default
176
+ */
177
+ Error: string;
178
+ /** The bulk QA run this summary is about.
179
+ *
180
+ * @type {LOOKUP}
181
+ * @default
182
+ */
183
+ BatchId: string;
184
+ }
185
+ /**
186
+ * QaBatchSummary entity from SupportModule
187
+ *
188
+ * The AI-written overall report on one bulk QA run: the agent or team, what they do well, what recurs, what to coach, with the case numbers behind each point. Written only by youfibre-api-support.
189
+ *
190
+ * @module SupportModule
191
+ * @entity QaBatchSummary
192
+ * @schemaId c932a484-143a-4b2d-bf01-88b9fb9fc9df
193
+ * @recordPrefix QAS
194
+ * @capabilities searchable, updateable, undeletable, triggerable
195
+ */
196
+ export declare class QaBatchSummary extends OdinRecord<QaBatchSummaryProperties> {
197
+ entity: 'SupportModule:QaBatchSummary';
198
+ type: QaBatchSummaryEntityTypes;
199
+ schemaId: 'c932a484-143a-4b2d-bf01-88b9fb9fc9df';
200
+ properties: QaBatchSummaryProperties;
201
+ /** Linked QaBatch records (QaBatch__Summary) */
202
+ QaBatch: OdinLink<LinkedOdinRecord<QaBatchProperties>>;
203
+ }
204
+ /**
205
+ * RabbitMQ routing keys for QaBatchSummary events
206
+ */
207
+ export declare const ROUTING_KEY_QA_BATCH_SUMMARY_CREATED = "SupportModule.QaBatchSummary.SubDbRecordCreated";
208
+ export declare const ROUTING_KEY_QA_BATCH_SUMMARY_UPDATED = "SupportModule.QaBatchSummary.SubDbRecordUpdated";
209
+ export declare const ROUTING_KEY_QA_BATCH_SUMMARY_DELETED = "SupportModule.QaBatchSummary.SubDbRecordDeleted";
210
+ /**
211
+ * Type-specific routing keys for QaBatchSummary events
212
+ * Subscribe to these for events on specific entity types only
213
+ */
214
+ /** This is the default record type created */
215
+ export declare const ROUTING_KEY_QA_BATCH_SUMMARY_DEFAULT_CREATED = "SupportModule.QaBatchSummary.DEFAULT.SubDbRecordCreated";
216
+ /** This is the default record type updated */
217
+ export declare const ROUTING_KEY_QA_BATCH_SUMMARY_DEFAULT_UPDATED = "SupportModule.QaBatchSummary.DEFAULT.SubDbRecordUpdated";
218
+ /** This is the default record type deleted */
219
+ export declare const ROUTING_KEY_QA_BATCH_SUMMARY_DEFAULT_DELETED = "SupportModule.QaBatchSummary.DEFAULT.SubDbRecordDeleted";