@matech/thebigpos-sdk 3.9.0-stag-3774 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/index.ts CHANGED
@@ -62,6 +62,11 @@ export type SigningMethod = "ConsumerConnect" | "POSF";
62
62
 
63
63
  export type SSOIntegrationType = "ConsumerConnect" | "TheBigPOS" | "POSF";
64
64
 
65
+ export type PendingInviteStatus =
66
+ | "InvitePending"
67
+ | "InviteExpired"
68
+ | "NotInvited";
69
+
65
70
  export type OutboundFailureSeverity = "All" | "Failed" | "CompletedWithErrors";
66
71
 
67
72
  export type LosWebhookSigningKeySyncStatus = "Unknown" | "Synced";
@@ -1076,6 +1081,7 @@ export interface AiCanonicalField {
1076
1081
  createdAt: string;
1077
1082
  /** @format date-time */
1078
1083
  updatedAt?: string | null;
1084
+ updatedBy?: AiUpdatedBy | null;
1079
1085
  }
1080
1086
 
1081
1087
  export interface AiChat {
@@ -1269,6 +1275,7 @@ export interface AiGuardrail {
1269
1275
  createdAt: string;
1270
1276
  /** @format date-time */
1271
1277
  updatedAt?: string | null;
1278
+ updatedBy?: AiUpdatedBy | null;
1272
1279
  }
1273
1280
 
1274
1281
  export interface AiPrompt {
@@ -1302,6 +1309,7 @@ export interface AiPrompt {
1302
1309
  createdAt: string;
1303
1310
  /** @format date-time */
1304
1311
  updatedAt?: string | null;
1312
+ updatedBy?: AiUpdatedBy | null;
1305
1313
  }
1306
1314
 
1307
1315
  export interface AiPromptRun {
@@ -1339,6 +1347,13 @@ export interface AiPromptRunResult {
1339
1347
  confidence?: number | null;
1340
1348
  }
1341
1349
 
1350
+ export interface AiPromptRunVerdictBackfill {
1351
+ /** @format int32 */
1352
+ updated: number;
1353
+ /** @format int32 */
1354
+ remaining: number;
1355
+ }
1356
+
1342
1357
  export interface AiPromptSummary {
1343
1358
  /** @format uuid */
1344
1359
  id: string;
@@ -1417,6 +1432,14 @@ export interface AiToolCatalogItem {
1417
1432
  isWriteTool: boolean;
1418
1433
  }
1419
1434
 
1435
+ export interface AiUpdatedBy {
1436
+ /** @format uuid */
1437
+ id: string;
1438
+ firstName: string;
1439
+ lastName: string;
1440
+ email: string;
1441
+ }
1442
+
1420
1443
  export interface AiUrlDomain {
1421
1444
  host: string;
1422
1445
  status?: AiUrlDomainStatus | null;
@@ -1452,6 +1475,7 @@ export interface AiUrlSource {
1452
1475
  createdAt: string;
1453
1476
  /** @format date-time */
1454
1477
  updatedAt?: string | null;
1478
+ updatedBy?: AiUpdatedBy | null;
1455
1479
  indexStatus?: CompanyDocumentIndexStatus | null;
1456
1480
  indexError?: string | null;
1457
1481
  /** @format date-time */
@@ -2150,6 +2174,8 @@ export interface CreateLoanRoleTaskRequest {
2150
2174
  borrowerPair: number;
2151
2175
  /** @format int32 */
2152
2176
  borrowerPosition: number;
2177
+ /** @format date */
2178
+ dueDate?: string | null;
2153
2179
  }
2154
2180
 
2155
2181
  export interface CreateSession {
@@ -5842,15 +5868,18 @@ export interface PartnerSearchCriteria {
5842
5868
  }
5843
5869
 
5844
5870
  export interface PendingInvite {
5871
+ status: PendingInviteStatusEnum;
5845
5872
  /** @format uuid */
5846
- inviteId: string;
5873
+ inviteId?: string | null;
5874
+ /** @format uuid */
5875
+ contactId?: string | null;
5847
5876
  firstName: string;
5848
5877
  lastName: string;
5849
5878
  email: string;
5850
5879
  phoneNumber?: string | null;
5851
- role?: LoanRole | null;
5880
+ role: PendingInviteRoleEnum;
5852
5881
  /** @format date-time */
5853
- createdAt: string;
5882
+ createdAt?: string | null;
5854
5883
  url: string;
5855
5884
  }
5856
5885
 
@@ -6045,6 +6074,14 @@ export interface RenameAiConversationRequest {
6045
6074
  name: string;
6046
6075
  }
6047
6076
 
6077
+ export interface ReorderLoanRoleTasksRequest {
6078
+ loanRoleTaskIds: string[];
6079
+ }
6080
+
6081
+ export interface ReorderLoanTasksRequest {
6082
+ userLoanTaskIDs: string[];
6083
+ }
6084
+
6048
6085
  export interface RequestImpersonationRequest {
6049
6086
  email: string;
6050
6087
  }
@@ -7345,7 +7382,6 @@ export interface UpdateMeRequest {
7345
7382
  lastName: string;
7346
7383
  email: string;
7347
7384
  title?: string | null;
7348
- forcePasswordReset: boolean;
7349
7385
  mfaEnabled?: boolean | null;
7350
7386
  notificationSettings: UserNotificationSettingsUpdateRequest;
7351
7387
  /** @format uuid */
@@ -8599,6 +8635,26 @@ export type ManualDocumentClassificationRequestDocumentTypeEnum =
8599
8635
  | "AiGeneratedDocument"
8600
8636
  | "Unidentified";
8601
8637
 
8638
+ export type PendingInviteStatusEnum =
8639
+ | "InvitePending"
8640
+ | "InviteExpired"
8641
+ | "NotInvited";
8642
+
8643
+ export type PendingInviteRoleEnum =
8644
+ | "Borrower"
8645
+ | "CoBorrower"
8646
+ | "NonBorrower"
8647
+ | "LoanOfficer"
8648
+ | "LoanProcessor"
8649
+ | "LoanOfficerAssistant"
8650
+ | "SupportingLoanOfficer"
8651
+ | "BuyerAgent"
8652
+ | "SellerAgent"
8653
+ | "TitleInsuranceAgent"
8654
+ | "EscrowAgent"
8655
+ | "SettlementAgent"
8656
+ | "Admin";
8657
+
8602
8658
  export type SiteConfigurationTypeEnum =
8603
8659
  | "None"
8604
8660
  | "Account"
@@ -8895,7 +8951,15 @@ export class HttpClient<SecurityDataType = unknown> {
8895
8951
  property instanceof Array ? property : [property];
8896
8952
 
8897
8953
  for (const formItem of propertyContent) {
8898
- const isFileType = formItem instanceof Blob || formItem instanceof File;
8954
+ // React Native files are plain { uri, name, type } objects, not Blob/File.
8955
+ const isReactNativeFile =
8956
+ !!formItem &&
8957
+ typeof formItem === "object" &&
8958
+ "uri" in formItem &&
8959
+ "name" in formItem &&
8960
+ "type" in formItem;
8961
+ const isFileType =
8962
+ isReactNativeFile || formItem instanceof Blob || formItem instanceof File;
8899
8963
  formData.append(
8900
8964
  key,
8901
8965
  isFileType ? formItem : this.stringifyFormItem(formItem),
@@ -9575,7 +9639,7 @@ export class Api<
9575
9639
  }),
9576
9640
 
9577
9641
  /**
9578
- * @description startDate and endDate accept any ISO-8601 value. A value with no timezone designator (2026-09-01 or 2026-09-01T00:00:00) is read as UTC; a value with Z or an offset is used as the instant it names. A date-only value names the start of that day, so endDate=2026-09-01 returns nothing recorded on the 1st; to include that day send endDate=2026-09-02, or an explicit time such as 2026-09-01T23:59:59.
9642
+ * @description startDate and endDate accept any ISO-8601 value. A value with no timezone designator (2026-09-01 or 2026-09-01T00:00:00) is read as UTC; a value with Z or an offset is used as the instant it names. A date-only value names the start of that day, so endDate=2026-09-01 returns nothing recorded on the 1st; to include that day send endDate=2026-09-02, or an explicit time such as 2026-09-01T23:59:59. searchText (case-insensitive substring of the loan number, or of the loan task name for runs against a loan task), taskId (task-upload runs only: a task definition, including the loan tasks cloned from it) and severity (exactly info, warning or critical, the run's most severe finding; any other value is a 400) match through the automated prompt run behind each row. When any of them is set, only rows that belong to such a run are returned, so trigger publications, coalesced triggers and skips that happened before a run was recorded never match.
9579
9643
  *
9580
9644
  * @tags AiAudit
9581
9645
  * @name GetAiAuditLogs
@@ -9583,6 +9647,7 @@ export class Api<
9583
9647
  * @request GET:/api/ai/audit-logs
9584
9648
  * @secure
9585
9649
  * @response `200` `AiAuditLogPaginated` OK
9650
+ * @response `400` `ProblemDetails` Bad Request
9586
9651
  */
9587
9652
  getAiAuditLogs: (
9588
9653
  query?: {
@@ -9608,10 +9673,14 @@ export class Api<
9608
9673
  sortDirection?: string;
9609
9674
  eventTypes?: AiAuditEventType[];
9610
9675
  trigger?: string;
9676
+ searchText?: string;
9677
+ /** @format uuid */
9678
+ taskId?: string;
9679
+ severity?: string;
9611
9680
  },
9612
9681
  params: RequestParams = {},
9613
9682
  ) =>
9614
- this.request<AiAuditLogPaginated, any>({
9683
+ this.request<AiAuditLogPaginated, ProblemDetails>({
9615
9684
  path: `/api/ai/audit-logs`,
9616
9685
  method: "GET",
9617
9686
  query: query,
@@ -10405,6 +10474,33 @@ export class Api<
10405
10474
  ...params,
10406
10475
  }),
10407
10476
 
10477
+ /**
10478
+ * No description
10479
+ *
10480
+ * @tags AiPromptRunAdmin
10481
+ * @name BackfillAiPromptRunVerdicts
10482
+ * @summary Stamp Verdict and HighestSeverity on existing Succeeded prompt runs (SuperAdmin)
10483
+ * @request POST:/api/ai/prompt-runs/backfill-verdicts
10484
+ * @secure
10485
+ * @response `200` `AiPromptRunVerdictBackfill` OK
10486
+ * @response `401` `ProblemDetails` Unauthorized
10487
+ * @response `403` `ProblemDetails` Forbidden
10488
+ */
10489
+ backfillAiPromptRunVerdicts: (
10490
+ query?: {
10491
+ dryRun?: boolean;
10492
+ },
10493
+ params: RequestParams = {},
10494
+ ) =>
10495
+ this.request<AiPromptRunVerdictBackfill, ProblemDetails>({
10496
+ path: `/api/ai/prompt-runs/backfill-verdicts`,
10497
+ method: "POST",
10498
+ query: query,
10499
+ secure: true,
10500
+ format: "json",
10501
+ ...params,
10502
+ }),
10503
+
10408
10504
  /**
10409
10505
  * No description
10410
10506
  *
@@ -16553,7 +16649,7 @@ export class Api<
16553
16649
  }),
16554
16650
 
16555
16651
  /**
16556
- * @description Queues an account template against a borrower slot that has no registered user yet. The row owns a per-loan copy of the template, so editing it never changes the account's catalogue.
16652
+ * @description Queues an account template against a borrower slot that has no registered user yet. The row owns a per-loan copy of the template, so editing it never changes the account's catalogue. An optional due date is stored on the row; without one the row has none.
16557
16653
  *
16558
16654
  * @tags LoanRoleTasks
16559
16655
  * @name CreateLoanRoleTask
@@ -16655,6 +16751,33 @@ export class Api<
16655
16751
  ...params,
16656
16752
  }),
16657
16753
 
16754
+ /**
16755
+ * @description Sets the order the loan's queued tasks show in within each borrower slot. The list names every queued row that has not been attached yet, first to last, and may span several slots; a list that no longer matches the loan, or that names an attached row, is refused with 409. Two reorders sent at once do not mix: the last to save wins as a whole.
16756
+ *
16757
+ * @tags LoanRoleTasks
16758
+ * @name ReorderLoanRoleTasks
16759
+ * @summary Reorder the queued tasks
16760
+ * @request PUT:/api/loans/{loanId}/role-tasks/order
16761
+ * @secure
16762
+ * @response `204` `void` No Content
16763
+ * @response `404` `ProblemDetails` Not Found
16764
+ * @response `409` `ProblemDetails` Conflict
16765
+ * @response `422` `ProblemDetails` Unprocessable Content
16766
+ */
16767
+ reorderLoanRoleTasks: (
16768
+ loanId: string,
16769
+ data: ReorderLoanRoleTasksRequest,
16770
+ params: RequestParams = {},
16771
+ ) =>
16772
+ this.request<void, ProblemDetails>({
16773
+ path: `/api/loans/${loanId}/role-tasks/order`,
16774
+ method: "PUT",
16775
+ body: data,
16776
+ secure: true,
16777
+ type: "application/json",
16778
+ ...params,
16779
+ }),
16780
+
16658
16781
  /**
16659
16782
  * @description Runs the account's business rules against the loan and queues what is missing. Templates already queued, and ones removed by staff, are left alone.
16660
16783
  *
@@ -17408,6 +17531,34 @@ export class Api<
17408
17531
  ...params,
17409
17532
  }),
17410
17533
 
17534
+ /**
17535
+ * @description Sets the order the loan's tasks show in. The list names every task on the loan once, first to last; a list that no longer matches the loan is refused with 409 so a stale screen cannot move a task unseen. The order is written to the loan's own copies of the tasks, so the account's catalogue is untouched. Two reorders sent at once do not mix: the last to save wins as a whole.
17536
+ *
17537
+ * @tags LoanTasksForSingleLoan
17538
+ * @name ReorderLoanTasks
17539
+ * @summary Reorder
17540
+ * @request PUT:/api/loans/{loanID}/tasks/order
17541
+ * @secure
17542
+ * @response `204` `void` No Content
17543
+ * @response `400` `ProblemDetails` Bad Request
17544
+ * @response `404` `ProblemDetails` Not Found
17545
+ * @response `409` `ProblemDetails` Conflict
17546
+ * @response `422` `ProblemDetails` Unprocessable Content
17547
+ */
17548
+ reorderLoanTasks: (
17549
+ loanId: string,
17550
+ data: ReorderLoanTasksRequest,
17551
+ params: RequestParams = {},
17552
+ ) =>
17553
+ this.request<void, ProblemDetails>({
17554
+ path: `/api/loans/${loanId}/tasks/order`,
17555
+ method: "PUT",
17556
+ body: data,
17557
+ secure: true,
17558
+ type: "application/json",
17559
+ ...params,
17560
+ }),
17561
+
17411
17562
  /**
17412
17563
  * No description
17413
17564
  *
@@ -19218,9 +19369,10 @@ export class Api<
19218
19369
  * @request GET:/api/template-tokens
19219
19370
  * @secure
19220
19371
  * @response `200` `(TemplateTokenRoot)[]` OK
19372
+ * @response `403` `ProblemDetails` Forbidden
19221
19373
  */
19222
19374
  getTemplateTokens: (params: RequestParams = {}) =>
19223
- this.request<TemplateTokenRoot[], any>({
19375
+ this.request<TemplateTokenRoot[], ProblemDetails>({
19224
19376
  path: `/api/template-tokens`,
19225
19377
  method: "GET",
19226
19378
  secure: true,