@d19n/youfibre-odin-sdk 2.0.339 → 2.0.341

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/README.md CHANGED
@@ -380,7 +380,7 @@ This SDK includes **192** entities across **12** modules.
380
380
 
381
381
  ## Actions
382
382
 
383
- This SDK includes **897** actions.
383
+ This SDK includes **898** actions.
384
384
 
385
385
  ### Action Types
386
386
 
@@ -1391,6 +1391,12 @@ This SDK includes **897** actions.
1391
1391
  | `UpdateCustomerCallLegOnOutboundCallNoAnswer` | UPDATE | k1.t-hEOJjsDb.NotificationModule.CallLeg.Update.UpdateCustomerCallLegOnOutboundCallNoAnswer |
1392
1392
  | `UpdateCustomerCallLegOnOutboundCallRinging` | UPDATE | k1.t-hEOJjsDb.NotificationModule.CallLeg.Update.UpdateCustomerCallLegOnOutboundCallRinging |
1393
1393
 
1394
+ #### AiRouteRequest
1395
+
1396
+ | Action | Type | Event |
1397
+ |--------|------|-------|
1398
+ | `CreateAiRouteRequest` | CREATE | k1.t-hEOJjsDb.SupportModule.AiRouteRequest.Create.CreateAiRouteRequest |
1399
+
1394
1400
  #### Email
1395
1401
 
1396
1402
  | Action | Type | Event |
@@ -19,6 +19,7 @@ import { AddressAccessor } from './accessors-v2/AddressAccessor';
19
19
  import { AddressInteractionAccessor } from './accessors-v2/AddressInteractionAccessor';
20
20
  import { AffiliateCodeAccessor } from './accessors-v2/AffiliateCodeAccessor';
21
21
  import { AgentStatusAccessor } from './accessors-v2/AgentStatusAccessor';
22
+ import { AiRouteRequestAccessor } from './accessors-v2/AiRouteRequestAccessor';
22
23
  import { AppointmentAccessor } from './accessors-v2/AppointmentAccessor';
23
24
  import { BillingAdjustmentAccessor } from './accessors-v2/BillingAdjustmentAccessor';
24
25
  import { BillingRequestAccessor } from './accessors-v2/BillingRequestAccessor';
@@ -145,6 +146,7 @@ export declare const EntityRegistry: {
145
146
  readonly AddressInteraction: typeof AddressInteractionAccessor;
146
147
  readonly AffiliateCode: typeof AffiliateCodeAccessor;
147
148
  readonly AgentStatus: typeof AgentStatusAccessor;
149
+ readonly AiRouteRequest: typeof AiRouteRequestAccessor;
148
150
  readonly Appointment: typeof AppointmentAccessor;
149
151
  readonly BillingAdjustment: typeof BillingAdjustmentAccessor;
150
152
  readonly BillingRequest: typeof BillingRequestAccessor;
@@ -22,6 +22,7 @@ const AddressAccessor_1 = require("./accessors-v2/AddressAccessor");
22
22
  const AddressInteractionAccessor_1 = require("./accessors-v2/AddressInteractionAccessor");
23
23
  const AffiliateCodeAccessor_1 = require("./accessors-v2/AffiliateCodeAccessor");
24
24
  const AgentStatusAccessor_1 = require("./accessors-v2/AgentStatusAccessor");
25
+ const AiRouteRequestAccessor_1 = require("./accessors-v2/AiRouteRequestAccessor");
25
26
  const AppointmentAccessor_1 = require("./accessors-v2/AppointmentAccessor");
26
27
  const BillingAdjustmentAccessor_1 = require("./accessors-v2/BillingAdjustmentAccessor");
27
28
  const BillingRequestAccessor_1 = require("./accessors-v2/BillingRequestAccessor");
@@ -148,6 +149,7 @@ exports.EntityRegistry = {
148
149
  'AddressInteraction': AddressInteractionAccessor_1.AddressInteractionAccessor,
149
150
  'AffiliateCode': AffiliateCodeAccessor_1.AffiliateCodeAccessor,
150
151
  'AgentStatus': AgentStatusAccessor_1.AgentStatusAccessor,
152
+ 'AiRouteRequest': AiRouteRequestAccessor_1.AiRouteRequestAccessor,
151
153
  'Appointment': AppointmentAccessor_1.AppointmentAccessor,
152
154
  'BillingAdjustment': BillingAdjustmentAccessor_1.BillingAdjustmentAccessor,
153
155
  'BillingRequest': BillingRequestAccessor_1.BillingRequestAccessor,
@@ -29,6 +29,7 @@ import { AddressAccessor } from './accessors-v2/AddressAccessor';
29
29
  import { AddressInteractionAccessor } from './accessors-v2/AddressInteractionAccessor';
30
30
  import { AffiliateCodeAccessor } from './accessors-v2/AffiliateCodeAccessor';
31
31
  import { AgentStatusAccessor } from './accessors-v2/AgentStatusAccessor';
32
+ import { AiRouteRequestAccessor } from './accessors-v2/AiRouteRequestAccessor';
32
33
  import { AppointmentAccessor } from './accessors-v2/AppointmentAccessor';
33
34
  import { BillingAdjustmentAccessor } from './accessors-v2/BillingAdjustmentAccessor';
34
35
  import { BillingRequestAccessor } from './accessors-v2/BillingRequestAccessor';
@@ -164,6 +165,7 @@ export declare class OdinApiClient {
164
165
  private _addressInteractions?;
165
166
  private _affiliateCodes?;
166
167
  private _agentStatuses?;
168
+ private _aiRouteRequests?;
167
169
  private _appointments?;
168
170
  private _billingAdjustments?;
169
171
  private _billingRequests?;
@@ -308,6 +310,8 @@ export declare class OdinApiClient {
308
310
  get affiliateCodes(): AffiliateCodeAccessor;
309
311
  /** Access AgentStatus records */
310
312
  get agentStatuses(): AgentStatusAccessor;
313
+ /** Access AiRouteRequest records */
314
+ get aiRouteRequests(): AiRouteRequestAccessor;
311
315
  /** Access Appointment records */
312
316
  get appointments(): AppointmentAccessor;
313
317
  /** Access BillingAdjustment records */
@@ -40,6 +40,7 @@ const AddressAccessor_1 = require("./accessors-v2/AddressAccessor");
40
40
  const AddressInteractionAccessor_1 = require("./accessors-v2/AddressInteractionAccessor");
41
41
  const AffiliateCodeAccessor_1 = require("./accessors-v2/AffiliateCodeAccessor");
42
42
  const AgentStatusAccessor_1 = require("./accessors-v2/AgentStatusAccessor");
43
+ const AiRouteRequestAccessor_1 = require("./accessors-v2/AiRouteRequestAccessor");
43
44
  const AppointmentAccessor_1 = require("./accessors-v2/AppointmentAccessor");
44
45
  const BillingAdjustmentAccessor_1 = require("./accessors-v2/BillingAdjustmentAccessor");
45
46
  const BillingRequestAccessor_1 = require("./accessors-v2/BillingRequestAccessor");
@@ -241,6 +242,13 @@ class OdinApiClient {
241
242
  }
242
243
  return this._agentStatuses;
243
244
  }
245
+ /** Access AiRouteRequest records */
246
+ get aiRouteRequests() {
247
+ if (!this._aiRouteRequests) {
248
+ this._aiRouteRequests = new AiRouteRequestAccessor_1.AiRouteRequestAccessor(this._provider);
249
+ }
250
+ return this._aiRouteRequests;
251
+ }
244
252
  /** Access Appointment records */
245
253
  get appointments() {
246
254
  if (!this._appointments) {
@@ -37,6 +37,7 @@ import { AddressDbAccessor } from './db-accessors-v2/AddressDbAccessor';
37
37
  import { AddressInteractionDbAccessor } from './db-accessors-v2/AddressInteractionDbAccessor';
38
38
  import { AffiliateCodeDbAccessor } from './db-accessors-v2/AffiliateCodeDbAccessor';
39
39
  import { AgentStatusDbAccessor } from './db-accessors-v2/AgentStatusDbAccessor';
40
+ import { AiRouteRequestDbAccessor } from './db-accessors-v2/AiRouteRequestDbAccessor';
40
41
  import { AppointmentDbAccessor } from './db-accessors-v2/AppointmentDbAccessor';
41
42
  import { BillingAdjustmentDbAccessor } from './db-accessors-v2/BillingAdjustmentDbAccessor';
42
43
  import { BillingRequestDbAccessor } from './db-accessors-v2/BillingRequestDbAccessor';
@@ -166,6 +167,7 @@ export declare class OdinDbClient {
166
167
  private _addressInteractions?;
167
168
  private _affiliateCodes?;
168
169
  private _agentStatuses?;
170
+ private _aiRouteRequests?;
169
171
  private _appointments?;
170
172
  private _billingAdjustments?;
171
173
  private _billingRequests?;
@@ -319,6 +321,8 @@ export declare class OdinDbClient {
319
321
  get affiliateCodes(): AffiliateCodeDbAccessor;
320
322
  /** Access AgentStatus records */
321
323
  get agentStatuses(): AgentStatusDbAccessor;
324
+ /** Access AiRouteRequest records */
325
+ get aiRouteRequests(): AiRouteRequestDbAccessor;
322
326
  /** Access Appointment records */
323
327
  get appointments(): AppointmentDbAccessor;
324
328
  /** Access BillingAdjustment records */
@@ -39,6 +39,7 @@ const AddressDbAccessor_1 = require("./db-accessors-v2/AddressDbAccessor");
39
39
  const AddressInteractionDbAccessor_1 = require("./db-accessors-v2/AddressInteractionDbAccessor");
40
40
  const AffiliateCodeDbAccessor_1 = require("./db-accessors-v2/AffiliateCodeDbAccessor");
41
41
  const AgentStatusDbAccessor_1 = require("./db-accessors-v2/AgentStatusDbAccessor");
42
+ const AiRouteRequestDbAccessor_1 = require("./db-accessors-v2/AiRouteRequestDbAccessor");
42
43
  const AppointmentDbAccessor_1 = require("./db-accessors-v2/AppointmentDbAccessor");
43
44
  const BillingAdjustmentDbAccessor_1 = require("./db-accessors-v2/BillingAdjustmentDbAccessor");
44
45
  const BillingRequestDbAccessor_1 = require("./db-accessors-v2/BillingRequestDbAccessor");
@@ -243,6 +244,13 @@ class OdinDbClient {
243
244
  }
244
245
  return this._agentStatuses;
245
246
  }
247
+ /** Access AiRouteRequest records */
248
+ get aiRouteRequests() {
249
+ if (!this._aiRouteRequests) {
250
+ this._aiRouteRequests = new AiRouteRequestDbAccessor_1.AiRouteRequestDbAccessor(this._principal, this._dbService, this._defaultOptions);
251
+ }
252
+ return this._aiRouteRequests;
253
+ }
246
254
  /** Access Appointment records */
247
255
  get appointments() {
248
256
  if (!this._appointments) {
@@ -0,0 +1,112 @@
1
+ /**
2
+ * AiRouteRequest Accessor
3
+ *
4
+ * Provides typed access to AiRouteRequest records via API.
5
+ * Returns wrapped records with typed action methods.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Get existing record
10
+ * const record = await accessor.get(id);
11
+ * await record.updateAiRouteRequest({ ... });
12
+ *
13
+ * // Create new record
14
+ * const newRecord = accessor.new();
15
+ * await newRecord.createAiRouteRequest({ ... });
16
+ * ```
17
+ *
18
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
19
+ */
20
+ import { OdinSearchV2 } from '@d19n/odin-types/dist/core';
21
+ import { ApiProvider } from '@d19n/odin-sdk-generator/dist/api.provider';
22
+ import { OauthParams } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
23
+ import { QueryBuilder } from '@d19n/odin-sdk-generator/dist/query-builder';
24
+ import { AiRouteRequestProperties } from '../entities-v2/AiRouteRequest';
25
+ import { AiRouteRequestRecord } from '../records-v2/AiRouteRequestRecord';
26
+ /** List response with wrapped records */
27
+ export interface AiRouteRequestListResponse {
28
+ data: AiRouteRequestRecord[];
29
+ hasMore: boolean;
30
+ totalRecords: number;
31
+ }
32
+ /** Search response with wrapped records */
33
+ export interface AiRouteRequestSearchResponse {
34
+ records: AiRouteRequestRecord[];
35
+ totalRecords: number;
36
+ hasMore: boolean;
37
+ aggregations?: Record<string, any>;
38
+ }
39
+ export declare class AiRouteRequestAccessor {
40
+ private readonly _provider;
41
+ private readonly _moduleName;
42
+ private readonly _entityName;
43
+ constructor(provider: ApiProvider);
44
+ constructor(authParams: OauthParams);
45
+ constructor(authToken: string, host?: string);
46
+ get moduleName(): string;
47
+ get entityName(): string;
48
+ /**
49
+ * Create a new empty AiRouteRequest record instance for create operations.
50
+ * Pre-generates an ID that can be referenced before the record is saved.
51
+ *
52
+ * @param id - Optional ID to use (auto-generated UUID if not provided)
53
+ * @returns A new record wrapper with pre-generated ID
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // Auto-generated ID
58
+ * const note = odinClient.notes.new();
59
+ * console.log(note.id); // UUID available immediately
60
+ *
61
+ * // Custom ID
62
+ * const order = odinClient.orders.new("custom-id-123");
63
+ *
64
+ * // Reference ID before save
65
+ * const account = odinClient.accounts.new();
66
+ * const contact = odinClient.contacts.new();
67
+ * await contact
68
+ * .link({ id: account.id, entity: "CrmModule:Account" })
69
+ * .createContact({ FirstName: "John" });
70
+ * ```
71
+ */
72
+ new(id?: string): AiRouteRequestRecord;
73
+ /**
74
+ * Get a single AiRouteRequest record by ID
75
+ */
76
+ get(id: string): Promise<AiRouteRequestRecord>;
77
+ /**
78
+ * Get multiple AiRouteRequest records by IDs
79
+ */
80
+ getMany(ids: string[]): Promise<AiRouteRequestRecord[]>;
81
+ /**
82
+ * Search AiRouteRequest records
83
+ */
84
+ search(params: Partial<OdinSearchV2>): Promise<AiRouteRequestSearchResponse>;
85
+ /**
86
+ * Search all AiRouteRequest records with automatic pagination
87
+ */
88
+ searchAll(params: Partial<OdinSearchV2>): Promise<AiRouteRequestRecord[]>;
89
+ /**
90
+ * Async generator for paginating through all matching records.
91
+ * Yields batches of wrapped records.
92
+ */
93
+ paginate(params: Partial<OdinSearchV2>): AsyncGenerator<AiRouteRequestRecord[]>;
94
+ /**
95
+ * Create a fluent query builder for AiRouteRequest records
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * const results = await accessor
100
+ * .query()
101
+ * .where('Status', 'in', ['Active', 'Pending'])
102
+ * .where('CreatedAt', 'gte', '2025-01-01')
103
+ * .select('id', 'title', 'properties.*')
104
+ * .sortBy('createdAt', 'desc')
105
+ * .limit(100)
106
+ * .execute();
107
+ * ```
108
+ */
109
+ query(): QueryBuilder<AiRouteRequestProperties, AiRouteRequestRecord>;
110
+ /** Access the underlying ApiProvider */
111
+ get provider(): ApiProvider;
112
+ }
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /**
3
+ * AiRouteRequest Accessor
4
+ *
5
+ * Provides typed access to AiRouteRequest records via API.
6
+ * Returns wrapped records with typed action methods.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // Get existing record
11
+ * const record = await accessor.get(id);
12
+ * await record.updateAiRouteRequest({ ... });
13
+ *
14
+ * // Create new record
15
+ * const newRecord = accessor.new();
16
+ * await newRecord.createAiRouteRequest({ ... });
17
+ * ```
18
+ *
19
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
20
+ */
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
31
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
32
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
33
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
34
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
35
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
36
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
37
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
38
+ function fulfill(value) { resume("next", value); }
39
+ function reject(value) { resume("throw", value); }
40
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.AiRouteRequestAccessor = void 0;
44
+ const api_provider_1 = require("@d19n/odin-sdk-generator/dist/api.provider");
45
+ const query_builder_1 = require("@d19n/odin-sdk-generator/dist/query-builder");
46
+ const AiRouteRequestRecord_1 = require("../records-v2/AiRouteRequestRecord");
47
+ class AiRouteRequestAccessor {
48
+ constructor(providerOrAuth, host) {
49
+ this._moduleName = 'SupportModule';
50
+ this._entityName = 'AiRouteRequest';
51
+ if (providerOrAuth instanceof api_provider_1.ApiProvider) {
52
+ this._provider = providerOrAuth;
53
+ }
54
+ else if (typeof providerOrAuth === 'string') {
55
+ // Auth token provided
56
+ this._provider = new api_provider_1.ApiProvider(host ? { host } : undefined, providerOrAuth);
57
+ }
58
+ else {
59
+ // OauthParams provided
60
+ this._provider = new api_provider_1.ApiProvider(providerOrAuth);
61
+ }
62
+ }
63
+ get moduleName() { return this._moduleName; }
64
+ get entityName() { return this._entityName; }
65
+ // ============================================
66
+ // RECORD CREATION
67
+ // ============================================
68
+ /**
69
+ * Create a new empty AiRouteRequest record instance for create operations.
70
+ * Pre-generates an ID that can be referenced before the record is saved.
71
+ *
72
+ * @param id - Optional ID to use (auto-generated UUID if not provided)
73
+ * @returns A new record wrapper with pre-generated ID
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Auto-generated ID
78
+ * const note = odinClient.notes.new();
79
+ * console.log(note.id); // UUID available immediately
80
+ *
81
+ * // Custom ID
82
+ * const order = odinClient.orders.new("custom-id-123");
83
+ *
84
+ * // Reference ID before save
85
+ * const account = odinClient.accounts.new();
86
+ * const contact = odinClient.contacts.new();
87
+ * await contact
88
+ * .link({ id: account.id, entity: "CrmModule:Account" })
89
+ * .createContact({ FirstName: "John" });
90
+ * ```
91
+ */
92
+ new(id) {
93
+ return new AiRouteRequestRecord_1.AiRouteRequestRecord(null, this._provider, id);
94
+ }
95
+ // ============================================
96
+ // RECORD RETRIEVAL
97
+ // ============================================
98
+ /**
99
+ * Get a single AiRouteRequest record by ID
100
+ */
101
+ get(id) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const record = yield this._provider._getByPrimaryKey(this._moduleName, this._entityName, id);
104
+ return new AiRouteRequestRecord_1.AiRouteRequestRecord(record, this._provider);
105
+ });
106
+ }
107
+ /**
108
+ * Get multiple AiRouteRequest records by IDs
109
+ */
110
+ getMany(ids) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ if (ids.length === 0)
113
+ return [];
114
+ const records = yield this._provider._getManyByPrimaryKey(this._moduleName, this._entityName, ids);
115
+ return records.map((r) => new AiRouteRequestRecord_1.AiRouteRequestRecord(r, this._provider));
116
+ });
117
+ }
118
+ // ============================================
119
+ // SEARCH OPERATIONS
120
+ // ============================================
121
+ /**
122
+ * Search AiRouteRequest records
123
+ */
124
+ search(params) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const result = yield this._provider._searchRecords(this._moduleName, this._entityName, params);
127
+ return {
128
+ records: result.records.map((r) => new AiRouteRequestRecord_1.AiRouteRequestRecord(r, this._provider)),
129
+ totalRecords: result.totalRecords,
130
+ hasMore: result.hasMore,
131
+ aggregations: result.aggregations,
132
+ };
133
+ });
134
+ }
135
+ /**
136
+ * Search all AiRouteRequest records with automatic pagination
137
+ */
138
+ searchAll(params) {
139
+ return __awaiter(this, void 0, void 0, function* () {
140
+ const result = yield this._provider._searchAllRecordsAndPaginate(this._moduleName, this._entityName, params);
141
+ return result.records.map((r) => new AiRouteRequestRecord_1.AiRouteRequestRecord(r, this._provider));
142
+ });
143
+ }
144
+ /**
145
+ * Async generator for paginating through all matching records.
146
+ * Yields batches of wrapped records.
147
+ */
148
+ paginate(params) {
149
+ var _a;
150
+ return __asyncGenerator(this, arguments, function* paginate_1() {
151
+ let hasMore = true;
152
+ let searchAfter;
153
+ const query = Object.assign(Object.assign({}, params.query), { pageSize: ((_a = params.query) === null || _a === void 0 ? void 0 : _a.pageSize) || 500 });
154
+ while (hasMore) {
155
+ const result = yield __await(this._provider._searchRecords(this._moduleName, this._entityName, Object.assign(Object.assign({}, params), { query: Object.assign(Object.assign({}, query), { searchAfter }) })));
156
+ if (result.records.length > 0) {
157
+ yield yield __await(result.records.map((r) => new AiRouteRequestRecord_1.AiRouteRequestRecord(r, this._provider)));
158
+ const lastRecord = result.records[result.records.length - 1];
159
+ searchAfter = lastRecord === null || lastRecord === void 0 ? void 0 : lastRecord.sort;
160
+ }
161
+ hasMore = result.hasMore && result.records.length >= query.pageSize;
162
+ }
163
+ });
164
+ }
165
+ // ============================================
166
+ // QUERY BUILDER
167
+ // ============================================
168
+ /**
169
+ * Create a fluent query builder for AiRouteRequest records
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * const results = await accessor
174
+ * .query()
175
+ * .where('Status', 'in', ['Active', 'Pending'])
176
+ * .where('CreatedAt', 'gte', '2025-01-01')
177
+ * .select('id', 'title', 'properties.*')
178
+ * .sortBy('createdAt', 'desc')
179
+ * .limit(100)
180
+ * .execute();
181
+ * ```
182
+ */
183
+ query() {
184
+ return (0, query_builder_1.createQueryBuilder)(this);
185
+ }
186
+ /** Access the underlying ApiProvider */
187
+ get provider() {
188
+ return this._provider;
189
+ }
190
+ }
191
+ exports.AiRouteRequestAccessor = AiRouteRequestAccessor;
@@ -14,6 +14,7 @@ export { AddressInteractionAccessor, AddressInteractionSearchResponse, AddressIn
14
14
  export { AddressAccessor, AddressSearchResponse, AddressListResponse } from './AddressAccessor';
15
15
  export { AffiliateCodeAccessor, AffiliateCodeSearchResponse, AffiliateCodeListResponse } from './AffiliateCodeAccessor';
16
16
  export { AgentStatusAccessor, AgentStatusSearchResponse, AgentStatusListResponse } from './AgentStatusAccessor';
17
+ export { AiRouteRequestAccessor, AiRouteRequestSearchResponse, AiRouteRequestListResponse } from './AiRouteRequestAccessor';
17
18
  export { AppointmentAccessor, AppointmentSearchResponse, AppointmentListResponse } from './AppointmentAccessor';
18
19
  export { BillingAdjustmentAccessor, BillingAdjustmentSearchResponse, BillingAdjustmentListResponse } from './BillingAdjustmentAccessor';
19
20
  export { BillingRequestAccessor, BillingRequestSearchResponse, BillingRequestListResponse } from './BillingRequestAccessor';
@@ -8,9 +8,9 @@
8
8
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.NetworkDeviceAccessor = exports.ModifyServiceRequestAccessor = exports.MessageAccessor = exports.LeadAccessor = exports.KnowledgeArticleAccessor = exports.InvoiceAccessor = exports.InvoiceItemAccessor = exports.ImpersonationTrackerAccessor = exports.FileAccessor = exports.FieldServiceProductAccessor = exports.FieldServiceDispatchedProductAccessor = exports.ExchangeAccessor = exports.EmailTemplateAccessor = exports.EmailSenderAccessor = exports.EmailAccessor = exports.DiscountAccessor = exports.DataIssueAccessor = exports.CustomerPhonePortingAccessor = exports.CustomerDeviceRouterAccessor = exports.CustomerDeviceAccessor = exports.CustomerDeviceOntAccessor = exports.CustomerDeviceConfigurationAccessor = exports.CustomerDeviceAtaAccessor = exports.CrmDatasetAccessor = exports.CreditNoteAccessor = exports.ConversationSummaryFeedbackAccessor = exports.ConversationAccessor = exports.ContractBuyOutAccessor = exports.ContactAccessor = exports.ContactIdentityAccessor = exports.ConfigAccessor = exports.ChurnRequestAccessor = exports.ChangeReasonAccessor = exports.CaseAccessor = exports.CampaignAccessor = exports.CallAccessor = exports.CallLegAccessor = exports.BrskEntityMigrationErrorAccessor = exports.BngProvisionAccessor = exports.BillingRequestAccessor = exports.BillingAdjustmentAccessor = exports.AppointmentAccessor = exports.AgentStatusAccessor = exports.AffiliateCodeAccessor = exports.AddressAccessor = exports.AddressInteractionAccessor = exports.ActivityAccessor = exports.ActivityLogAccessor = exports.AccountAccessor = exports.AccountCreditAccessor = void 0;
12
- exports.SalesTerritoryAccessor = exports.RewardAccessor = exports.ReturnsAccessor = exports.RemediationRequiredReasonAccessor = exports.RemediationOutcomeFormAccessor = exports.RegionAccessor = exports.ReferralAccessor = exports.RecontractAccessor = exports.QaRubricSectionAccessor = exports.QaRubricAccessor = exports.QaRubricItemAccessor = exports.QaReportAccessor = exports.QaAutoFailAccessor = exports.PushNotificationAccessor = exports.ProductAccessor = exports.PriceBookAccessor = exports.PgWebhookAccessor = exports.PgWebhookAttemptAccessor = exports.PgVocalinkAccessor = exports.PgTransactionAccessor = exports.PgSortCodeSubstitutionAccessor = exports.PgReportEventAccessor = exports.PgPaymentMethodAccessor = exports.PgLogAccessor = exports.PgFileAllocationAccessor = exports.PgDisputeAccessor = exports.PgDirectDebitFileAccessor = exports.PgContactAccessor = exports.PgAccountValidationAccessor = exports.PermissionToFailAccessor = exports.PaymentAccessor = exports.PaymentMethodRefundAccessor = exports.PaymentMethodAccessor = exports.PICRequestAccessor = exports.OverlayRealA55Accessor = exports.OutboundDialSessionAccessor = exports.OutboundDialCampaignAccessor = exports.OutboundDialCampaignCaseAccessor = exports.OutageAccessor = exports.OrderAccessor = exports.OrderKciAccessor = exports.OrderItemAccessor = exports.OrderCheckAccessor = exports.OntReplacementApprovalAccessor = exports.OneTouchSwitchAccessor = exports.OhExternalAuditAccessor = exports.OfferTemplateAccessor = exports.OfferAccessor = exports.NotificationTemplateAccessor = exports.NoteAccessor = void 0;
13
- exports.YfWifiSurveyAccessor = exports.YfFieldVisitOutcomeFormAccessor = exports.YfAgentLocationAccessor = exports.WorkOrderStatusUpdateAccessor = exports.WorkOrderAccessor = exports.WayleaveAuditAccessor = exports.VoiceConfigurationAccessor = exports.VisitAccessor = exports.UserAccessor = exports.UgExternalAuditAccessor = exports.TwilioWorkerAccessor = exports.TwilioUserUpdateAccessor = exports.TwilioTaskQueueAccessor = exports.TwilioCallEventAccessor = exports.TwilioActivityAccessor = exports.TransactionAccessor = exports.TimeSlotAccessor = exports.TeamAccessor = exports.SmsTemplateAccessor = exports.SmsMessageAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormAccessor = exports.ServiceAccessor = exports.ServiceAppointmentAccessor = exports.ServiceAppointmentConfigAccessor = exports.ScheduleSlotAccessor = void 0;
11
+ exports.ModifyServiceRequestAccessor = exports.MessageAccessor = exports.LeadAccessor = exports.KnowledgeArticleAccessor = exports.InvoiceAccessor = exports.InvoiceItemAccessor = exports.ImpersonationTrackerAccessor = exports.FileAccessor = exports.FieldServiceProductAccessor = exports.FieldServiceDispatchedProductAccessor = exports.ExchangeAccessor = exports.EmailTemplateAccessor = exports.EmailSenderAccessor = exports.EmailAccessor = exports.DiscountAccessor = exports.DataIssueAccessor = exports.CustomerPhonePortingAccessor = exports.CustomerDeviceRouterAccessor = exports.CustomerDeviceAccessor = exports.CustomerDeviceOntAccessor = exports.CustomerDeviceConfigurationAccessor = exports.CustomerDeviceAtaAccessor = exports.CrmDatasetAccessor = exports.CreditNoteAccessor = exports.ConversationSummaryFeedbackAccessor = exports.ConversationAccessor = exports.ContractBuyOutAccessor = exports.ContactAccessor = exports.ContactIdentityAccessor = exports.ConfigAccessor = exports.ChurnRequestAccessor = exports.ChangeReasonAccessor = exports.CaseAccessor = exports.CampaignAccessor = exports.CallAccessor = exports.CallLegAccessor = exports.BrskEntityMigrationErrorAccessor = exports.BngProvisionAccessor = exports.BillingRequestAccessor = exports.BillingAdjustmentAccessor = exports.AppointmentAccessor = exports.AiRouteRequestAccessor = exports.AgentStatusAccessor = exports.AffiliateCodeAccessor = exports.AddressAccessor = exports.AddressInteractionAccessor = exports.ActivityAccessor = exports.ActivityLogAccessor = exports.AccountAccessor = exports.AccountCreditAccessor = void 0;
12
+ exports.RewardAccessor = exports.ReturnsAccessor = exports.RemediationRequiredReasonAccessor = exports.RemediationOutcomeFormAccessor = exports.RegionAccessor = exports.ReferralAccessor = exports.RecontractAccessor = exports.QaRubricSectionAccessor = exports.QaRubricAccessor = exports.QaRubricItemAccessor = exports.QaReportAccessor = exports.QaAutoFailAccessor = exports.PushNotificationAccessor = exports.ProductAccessor = exports.PriceBookAccessor = exports.PgWebhookAccessor = exports.PgWebhookAttemptAccessor = exports.PgVocalinkAccessor = exports.PgTransactionAccessor = exports.PgSortCodeSubstitutionAccessor = exports.PgReportEventAccessor = exports.PgPaymentMethodAccessor = exports.PgLogAccessor = exports.PgFileAllocationAccessor = exports.PgDisputeAccessor = exports.PgDirectDebitFileAccessor = exports.PgContactAccessor = exports.PgAccountValidationAccessor = exports.PermissionToFailAccessor = exports.PaymentAccessor = exports.PaymentMethodRefundAccessor = exports.PaymentMethodAccessor = exports.PICRequestAccessor = exports.OverlayRealA55Accessor = exports.OutboundDialSessionAccessor = exports.OutboundDialCampaignAccessor = exports.OutboundDialCampaignCaseAccessor = exports.OutageAccessor = exports.OrderAccessor = exports.OrderKciAccessor = exports.OrderItemAccessor = exports.OrderCheckAccessor = exports.OntReplacementApprovalAccessor = exports.OneTouchSwitchAccessor = exports.OhExternalAuditAccessor = exports.OfferTemplateAccessor = exports.OfferAccessor = exports.NotificationTemplateAccessor = exports.NoteAccessor = exports.NetworkDeviceAccessor = void 0;
13
+ exports.YfWifiSurveyAccessor = exports.YfFieldVisitOutcomeFormAccessor = exports.YfAgentLocationAccessor = exports.WorkOrderStatusUpdateAccessor = exports.WorkOrderAccessor = exports.WayleaveAuditAccessor = exports.VoiceConfigurationAccessor = exports.VisitAccessor = exports.UserAccessor = exports.UgExternalAuditAccessor = exports.TwilioWorkerAccessor = exports.TwilioUserUpdateAccessor = exports.TwilioTaskQueueAccessor = exports.TwilioCallEventAccessor = exports.TwilioActivityAccessor = exports.TransactionAccessor = exports.TimeSlotAccessor = exports.TeamAccessor = exports.SmsTemplateAccessor = exports.SmsMessageAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormAccessor = exports.ServiceAccessor = exports.ServiceAppointmentAccessor = exports.ServiceAppointmentConfigAccessor = exports.ScheduleSlotAccessor = exports.SalesTerritoryAccessor = void 0;
14
14
  var AccountCreditAccessor_1 = require("./AccountCreditAccessor");
15
15
  Object.defineProperty(exports, "AccountCreditAccessor", { enumerable: true, get: function () { return AccountCreditAccessor_1.AccountCreditAccessor; } });
16
16
  var AccountAccessor_1 = require("./AccountAccessor");
@@ -27,6 +27,8 @@ var AffiliateCodeAccessor_1 = require("./AffiliateCodeAccessor");
27
27
  Object.defineProperty(exports, "AffiliateCodeAccessor", { enumerable: true, get: function () { return AffiliateCodeAccessor_1.AffiliateCodeAccessor; } });
28
28
  var AgentStatusAccessor_1 = require("./AgentStatusAccessor");
29
29
  Object.defineProperty(exports, "AgentStatusAccessor", { enumerable: true, get: function () { return AgentStatusAccessor_1.AgentStatusAccessor; } });
30
+ var AiRouteRequestAccessor_1 = require("./AiRouteRequestAccessor");
31
+ Object.defineProperty(exports, "AiRouteRequestAccessor", { enumerable: true, get: function () { return AiRouteRequestAccessor_1.AiRouteRequestAccessor; } });
30
32
  var AppointmentAccessor_1 = require("./AppointmentAccessor");
31
33
  Object.defineProperty(exports, "AppointmentAccessor", { enumerable: true, get: function () { return AppointmentAccessor_1.AppointmentAccessor; } });
32
34
  var BillingAdjustmentAccessor_1 = require("./BillingAdjustmentAccessor");
@@ -0,0 +1,165 @@
1
+ /**
2
+ * CreateAiRouteRequest Action DTO
3
+ *
4
+ * CreateAiRouteRequest
5
+ *
6
+ * @module SupportModule
7
+ * @entity AiRouteRequest
8
+ * @entityType DEFAULT
9
+ * @actionKey CreateAiRouteRequest
10
+ * @event k1.t-hEOJjsDb.SupportModule.AiRouteRequest.Create.CreateAiRouteRequest
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ import { OdinRecordCreateDto, OdinRecordCreatedEvent } from '@d19n/odin-types/dist/core';
15
+ /**
16
+ * RabbitMQ message payload for CreateAiRouteRequest created events
17
+ *
18
+ * @event k1.t-hEOJjsDb.SupportModule.AiRouteRequest.Create.CreateAiRouteRequest
19
+ */
20
+ export interface CreateAiRouteRequestMessage extends OdinRecordCreatedEvent<CreateAiRouteRequestDto, CreateAiRouteRequestProperties> {
21
+ }
22
+ /**
23
+ * Properties for CreateAiRouteRequest action
24
+ *
25
+ * @property Required fields: 4
26
+ * @property Optional fields: 10
27
+ */
28
+ export interface CreateAiRouteRequestProperties {
29
+ /**
30
+ * Feature
31
+ *
32
+ * Which AI feature made the request.
33
+ * @type {ENUM}
34
+ * @required
35
+ */
36
+ Feature: string;
37
+ /**
38
+ * Provider
39
+ *
40
+ * The model that answered: qwen (Kattuz) or databricks.
41
+ * @type {ENUM}
42
+ * @required
43
+ */
44
+ Provider: string;
45
+ /**
46
+ * Outcome
47
+ *
48
+ * ok when the provider answered and the reply passed its check; failed after the last try.
49
+ * @type {ENUM}
50
+ * @required
51
+ */
52
+ Outcome: string;
53
+ /**
54
+ * Started at
55
+ *
56
+ * When the router started the request. The record is written a few hundred milliseconds later.
57
+ * @type {DATE_TIME}
58
+ * @required
59
+ */
60
+ StartedAt: string;
61
+ /**
62
+ * Routing reason
63
+ *
64
+ * split: the 50/50 counter chose. Otherwise why the split was skipped and Databricks answered: config-off, config-unreadable, redis-unavailable, too-large (prompt over the Qwen size guard).
65
+ * @type {ENUM}
66
+ */
67
+ Reason?: string | null;
68
+ /**
69
+ * Counter
70
+ *
71
+ * The per-feature counter value this request drew (odd = qwen, even = databricks). Empty when the split was skipped.
72
+ * @type {NUMBER}
73
+ */
74
+ Count?: number | null;
75
+ /**
76
+ * Attempts
77
+ *
78
+ * 1 for Databricks; 1 to 6 for Qwen (one try plus up to five retries).
79
+ * @type {NUMBER}
80
+ */
81
+ Attempts?: number | null;
82
+ /**
83
+ * Latency (ms)
84
+ *
85
+ * Wall time of the whole request including retries, in milliseconds.
86
+ * @type {NUMBER}
87
+ */
88
+ LatencyMs?: number | null;
89
+ /**
90
+ * On screen
91
+ *
92
+ * true for a request a person is waiting for (one Qwen try); false for background work (retried).
93
+ * @type {BOOLEAN}
94
+ */
95
+ OnScreen?: boolean | null;
96
+ /**
97
+ * Prompt size (chars)
98
+ *
99
+ * Characters sent to the model. Filled for Qwen turns; empty for Databricks turns until the proxy reports it.
100
+ * @type {NUMBER}
101
+ */
102
+ PromptChars?: number | null;
103
+ /**
104
+ * Model used
105
+ *
106
+ * llm_endpoint_used from the result, e.g. Qwen3.8-27B-FP8 or system.ai.gpt-5-4-nano. Empty on failure.
107
+ * @type {TEXT}
108
+ */
109
+ ModelUsed?: string | null;
110
+ /**
111
+ * Error
112
+ *
113
+ * First 500 characters of the failure message. Empty on success.
114
+ * @type {TEXT}
115
+ */
116
+ ErrorMessage?: string | null;
117
+ /**
118
+ * Journey entity
119
+ *
120
+ * Case or Conversation.
121
+ * @type {TEXT}
122
+ */
123
+ JourneyEntity?: string | null;
124
+ /**
125
+ * Journey id
126
+ *
127
+ * Id of the case or conversation the request was for. Links the row back to the record.
128
+ * @type {TEXT}
129
+ */
130
+ JourneyId?: string | null;
131
+ }
132
+ /**
133
+ * CreateAiRouteRequest
134
+ *
135
+ * @actionType CREATE - Creates a new AiRouteRequest record
136
+ * @module SupportModule
137
+ * @entity AiRouteRequest
138
+ * @entityType DEFAULT (Default)
139
+ * @event k1.t-hEOJjsDb.SupportModule.AiRouteRequest.Create.CreateAiRouteRequest
140
+ * @permission schema.action.createairouterequest.trigger
141
+ * @benchmark This action is tracked for performance benchmarks
142
+ */
143
+ export declare class CreateAiRouteRequestDto extends OdinRecordCreateDto<CreateAiRouteRequestProperties> {
144
+ /** Used by SDK generators to identify action type */
145
+ static readonly ACTION_TYPE = "CREATE";
146
+ static readonly ACTION_KEY = "CreateAiRouteRequest";
147
+ static readonly MODULE_NAME = "SupportModule";
148
+ static readonly ENTITIES: string[];
149
+ static readonly ENTITY_TYPE = "DEFAULT";
150
+ static readonly EVENT_NAME = "k1.t-hEOJjsDb.SupportModule.AiRouteRequest.Create.CreateAiRouteRequest";
151
+ static readonly PERMISSION = "schema.action.createairouterequest.trigger";
152
+ /** Step metadata - entity this action targets */
153
+ static readonly STEP_ENTITY = "SupportModule:AiRouteRequest";
154
+ static readonly STEP_SCHEMA_ID = "6e672d1d-d7c4-401d-8bcc-042b208664d6";
155
+ static readonly STEP_SCHEMA_ACTION_ID = "c1d7f43c-d918-4f4f-9465-123a54988fc4";
156
+ static readonly STEP_SCHEMA_TYPE_ID = "9248c8dc-39e4-48d9-81ea-3816da8b7cf1";
157
+ static readonly STEP_TYPE = "DEFAULT";
158
+ static readonly AUTO_LINK_PARENT = true;
159
+ readonly actionName: string;
160
+ readonly schemaActionId: string;
161
+ readonly entity: string;
162
+ constructor(properties: CreateAiRouteRequestProperties, options?: {
163
+ journeyId?: string;
164
+ });
165
+ }