@d19n/youfibre-odin-sdk 2.0.13-beta.1 → 2.0.13

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 (239) hide show
  1. package/README.md +11 -10
  2. package/dist/actions-v2/CreateOrderFromBrskDto.d.ts +75 -0
  3. package/dist/actions-v2/CreateOrderItemFromBrskDto.d.ts +191 -0
  4. package/dist/actions-v2/CreateOrderItemFromBrskDto.js +52 -0
  5. package/dist/entities-v2/Order.d.ts +7 -0
  6. package/dist/entities-v2/Order.js +2 -0
  7. package/dist/entities-v2/OrderItem.d.ts +7 -0
  8. package/dist/entities-v2/OrderItem.js +2 -0
  9. package/dist/entities-v2/Product.d.ts +0 -42
  10. package/dist/entities-v2/Product.js +0 -2
  11. package/dist/records-v2/AccountCreditRecord.d.ts +62 -1
  12. package/dist/records-v2/AccountCreditRecord.js +91 -0
  13. package/dist/records-v2/AccountRecord.d.ts +306 -2
  14. package/dist/records-v2/AccountRecord.js +451 -0
  15. package/dist/records-v2/ActivityLogRecord.d.ts +122 -1
  16. package/dist/records-v2/ActivityLogRecord.js +190 -0
  17. package/dist/records-v2/ActivityRecord.d.ts +255 -2
  18. package/dist/records-v2/ActivityRecord.js +387 -0
  19. package/dist/records-v2/AddressRecord.d.ts +321 -0
  20. package/dist/records-v2/AddressRecord.js +532 -0
  21. package/dist/records-v2/AffiliateCodeRecord.d.ts +102 -1
  22. package/dist/records-v2/AffiliateCodeRecord.js +157 -0
  23. package/dist/records-v2/AppointmentRecord.d.ts +141 -0
  24. package/dist/records-v2/AppointmentRecord.js +235 -0
  25. package/dist/records-v2/BillingAdjustmentRecord.d.ts +81 -0
  26. package/dist/records-v2/BillingAdjustmentRecord.js +136 -0
  27. package/dist/records-v2/BillingRequestRecord.d.ts +178 -2
  28. package/dist/records-v2/BillingRequestRecord.js +271 -0
  29. package/dist/records-v2/BlockageA55Record.d.ts +103 -2
  30. package/dist/records-v2/BlockageA55Record.js +157 -0
  31. package/dist/records-v2/BrskEntityMigrationErrorRecord.d.ts +21 -1
  32. package/dist/records-v2/BrskEntityMigrationErrorRecord.js +21 -0
  33. package/dist/records-v2/CallEventRecord.d.ts +82 -1
  34. package/dist/records-v2/CallEventRecord.js +124 -0
  35. package/dist/records-v2/CallLegRecord.d.ts +82 -1
  36. package/dist/records-v2/CallLegRecord.js +124 -0
  37. package/dist/records-v2/CallRecord.d.ts +202 -1
  38. package/dist/records-v2/CallRecord.js +322 -0
  39. package/dist/records-v2/CallTransferRecord.d.ts +102 -1
  40. package/dist/records-v2/CallTransferRecord.js +157 -0
  41. package/dist/records-v2/CampaignRecord.d.ts +83 -2
  42. package/dist/records-v2/CampaignRecord.js +124 -0
  43. package/dist/records-v2/CaseRecord.d.ts +418 -2
  44. package/dist/records-v2/CaseRecord.js +667 -0
  45. package/dist/records-v2/ChangeReasonRecord.d.ts +171 -2
  46. package/dist/records-v2/ChangeReasonRecord.js +238 -0
  47. package/dist/records-v2/ChurnRequestRecord.d.ts +62 -1
  48. package/dist/records-v2/ChurnRequestRecord.js +91 -0
  49. package/dist/records-v2/ContactRecord.d.ts +560 -0
  50. package/dist/records-v2/ContactRecord.js +927 -0
  51. package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
  52. package/dist/records-v2/ContractBuyOutRecord.js +256 -0
  53. package/dist/records-v2/ConversationFeedbackRecord.d.ts +102 -1
  54. package/dist/records-v2/ConversationFeedbackRecord.js +157 -0
  55. package/dist/records-v2/ConversationRecord.d.ts +102 -1
  56. package/dist/records-v2/ConversationRecord.js +157 -0
  57. package/dist/records-v2/CreditNoteRecord.d.ts +81 -0
  58. package/dist/records-v2/CreditNoteRecord.js +136 -0
  59. package/dist/records-v2/CrmDatasetRecord.d.ts +191 -2
  60. package/dist/records-v2/CrmDatasetRecord.js +271 -0
  61. package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +21 -0
  62. package/dist/records-v2/CustomerDeviceAtaRecord.js +37 -0
  63. package/dist/records-v2/CustomerDeviceConfigurationRecord.d.ts +62 -1
  64. package/dist/records-v2/CustomerDeviceConfigurationRecord.js +91 -0
  65. package/dist/records-v2/CustomerDeviceOntRecord.d.ts +181 -0
  66. package/dist/records-v2/CustomerDeviceOntRecord.js +301 -0
  67. package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +141 -0
  68. package/dist/records-v2/CustomerDeviceRouterRecord.js +235 -0
  69. package/dist/records-v2/CustomerPhonePortingRecord.d.ts +21 -0
  70. package/dist/records-v2/CustomerPhonePortingRecord.js +37 -0
  71. package/dist/records-v2/DiscountRecord.d.ts +121 -0
  72. package/dist/records-v2/DiscountRecord.js +202 -0
  73. package/dist/records-v2/EmailRecord.d.ts +230 -2
  74. package/dist/records-v2/EmailRecord.js +336 -0
  75. package/dist/records-v2/EmailSenderRecord.d.ts +42 -1
  76. package/dist/records-v2/EmailSenderRecord.js +58 -0
  77. package/dist/records-v2/EmailTemplateRecord.d.ts +21 -1
  78. package/dist/records-v2/EmailTemplateRecord.js +21 -0
  79. package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +135 -2
  80. package/dist/records-v2/FieldServiceDispatchedProductRecord.js +189 -0
  81. package/dist/records-v2/FieldServiceProductRecord.d.ts +115 -2
  82. package/dist/records-v2/FieldServiceProductRecord.js +156 -0
  83. package/dist/records-v2/FileRecord.d.ts +1211 -2
  84. package/dist/records-v2/FileRecord.js +1902 -0
  85. package/dist/records-v2/ImpersonationTrackerRecord.d.ts +62 -1
  86. package/dist/records-v2/ImpersonationTrackerRecord.js +91 -0
  87. package/dist/records-v2/InternalInstallAuditRecord.d.ts +83 -2
  88. package/dist/records-v2/InternalInstallAuditRecord.js +124 -0
  89. package/dist/records-v2/InvoiceItemRecord.d.ts +40 -0
  90. package/dist/records-v2/InvoiceItemRecord.js +69 -0
  91. package/dist/records-v2/InvoiceRecord.d.ts +399 -2
  92. package/dist/records-v2/InvoiceRecord.js +635 -0
  93. package/dist/records-v2/KnowledgeArticleRecord.d.ts +98 -2
  94. package/dist/records-v2/KnowledgeArticleRecord.js +139 -0
  95. package/dist/records-v2/LeadRecord.d.ts +261 -0
  96. package/dist/records-v2/LeadRecord.js +433 -0
  97. package/dist/records-v2/MessageRecord.d.ts +99 -2
  98. package/dist/records-v2/MessageRecord.js +140 -0
  99. package/dist/records-v2/NetworkDeviceRecord.d.ts +43 -2
  100. package/dist/records-v2/NetworkDeviceRecord.js +58 -0
  101. package/dist/records-v2/NoteRecord.d.ts +1121 -1
  102. package/dist/records-v2/NoteRecord.js +1839 -0
  103. package/dist/records-v2/OfferRecord.d.ts +154 -2
  104. package/dist/records-v2/OfferRecord.js +221 -0
  105. package/dist/records-v2/OhAuditOfInstallationRecord.d.ts +83 -2
  106. package/dist/records-v2/OhAuditOfInstallationRecord.js +124 -0
  107. package/dist/records-v2/OhExternalAuditRecord.d.ts +83 -2
  108. package/dist/records-v2/OhExternalAuditRecord.js +124 -0
  109. package/dist/records-v2/OhInProgressAuditRecord.d.ts +83 -2
  110. package/dist/records-v2/OhInProgressAuditRecord.js +124 -0
  111. package/dist/records-v2/OhInstallationAuditRecord.d.ts +83 -2
  112. package/dist/records-v2/OhInstallationAuditRecord.js +124 -0
  113. package/dist/records-v2/OhRetroAuditRecord.d.ts +83 -2
  114. package/dist/records-v2/OhRetroAuditRecord.js +124 -0
  115. package/dist/records-v2/OneTouchSwitchRecord.d.ts +255 -2
  116. package/dist/records-v2/OneTouchSwitchRecord.js +387 -0
  117. package/dist/records-v2/OntReplacementApprovalRecord.d.ts +62 -1
  118. package/dist/records-v2/OntReplacementApprovalRecord.js +91 -0
  119. package/dist/records-v2/OrderCheckRecord.d.ts +21 -0
  120. package/dist/records-v2/OrderCheckRecord.js +37 -0
  121. package/dist/records-v2/OrderItemRecord.d.ts +309 -0
  122. package/dist/records-v2/OrderItemRecord.js +501 -0
  123. package/dist/records-v2/OrderKciRecord.d.ts +42 -1
  124. package/dist/records-v2/OrderKciRecord.js +58 -0
  125. package/dist/records-v2/OrderRecord.d.ts +620 -0
  126. package/dist/records-v2/OrderRecord.js +1026 -0
  127. package/dist/records-v2/OutageRecord.d.ts +42 -1
  128. package/dist/records-v2/OutageRecord.js +58 -0
  129. package/dist/records-v2/OverlayRealA55Record.d.ts +83 -2
  130. package/dist/records-v2/OverlayRealA55Record.js +124 -0
  131. package/dist/records-v2/PICRequestRecord.d.ts +62 -1
  132. package/dist/records-v2/PICRequestRecord.js +91 -0
  133. package/dist/records-v2/PaymentMethodRecord.d.ts +121 -0
  134. package/dist/records-v2/PaymentMethodRecord.js +202 -0
  135. package/dist/records-v2/PaymentMethodRefundRecord.d.ts +181 -0
  136. package/dist/records-v2/PaymentMethodRefundRecord.js +301 -0
  137. package/dist/records-v2/PaymentRecord.d.ts +82 -1
  138. package/dist/records-v2/PaymentRecord.js +124 -0
  139. package/dist/records-v2/PermissionToFailRecord.d.ts +61 -0
  140. package/dist/records-v2/PermissionToFailRecord.js +103 -0
  141. package/dist/records-v2/PgAccountValidationRecord.d.ts +21 -1
  142. package/dist/records-v2/PgAccountValidationRecord.js +21 -0
  143. package/dist/records-v2/PgContactRecord.d.ts +62 -1
  144. package/dist/records-v2/PgContactRecord.js +91 -0
  145. package/dist/records-v2/PgDirectDebitFileRecord.d.ts +95 -2
  146. package/dist/records-v2/PgDirectDebitFileRecord.js +123 -0
  147. package/dist/records-v2/PgDisputeRecord.d.ts +62 -1
  148. package/dist/records-v2/PgDisputeRecord.js +91 -0
  149. package/dist/records-v2/PgFileAllocationRecord.d.ts +115 -2
  150. package/dist/records-v2/PgFileAllocationRecord.js +156 -0
  151. package/dist/records-v2/PgLogRecord.d.ts +21 -1
  152. package/dist/records-v2/PgLogRecord.js +21 -0
  153. package/dist/records-v2/PgPaymentMethodRecord.d.ts +102 -1
  154. package/dist/records-v2/PgPaymentMethodRecord.js +157 -0
  155. package/dist/records-v2/PgSortCodeSubstitutionRecord.d.ts +21 -1
  156. package/dist/records-v2/PgSortCodeSubstitutionRecord.js +21 -0
  157. package/dist/records-v2/PgTransactionRecord.d.ts +135 -2
  158. package/dist/records-v2/PgTransactionRecord.js +189 -0
  159. package/dist/records-v2/PgVocalinkRecord.d.ts +21 -1
  160. package/dist/records-v2/PgVocalinkRecord.js +21 -0
  161. package/dist/records-v2/PgWebhookAttemptRecord.d.ts +42 -1
  162. package/dist/records-v2/PgWebhookAttemptRecord.js +58 -0
  163. package/dist/records-v2/PgWebhookRecord.d.ts +122 -1
  164. package/dist/records-v2/PgWebhookRecord.js +190 -0
  165. package/dist/records-v2/PhoneNumberRecord.d.ts +41 -0
  166. package/dist/records-v2/PhoneNumberRecord.js +70 -0
  167. package/dist/records-v2/PriceBookRecord.d.ts +21 -0
  168. package/dist/records-v2/PriceBookRecord.js +37 -0
  169. package/dist/records-v2/ProductRecord.d.ts +258 -2
  170. package/dist/records-v2/ProductRecord.js +351 -0
  171. package/dist/records-v2/PushNotificationRecord.d.ts +162 -1
  172. package/dist/records-v2/PushNotificationRecord.js +256 -0
  173. package/dist/records-v2/ReferralRecord.d.ts +143 -2
  174. package/dist/records-v2/ReferralRecord.js +223 -0
  175. package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +83 -2
  176. package/dist/records-v2/RemediationOutcomeFormRecord.js +124 -0
  177. package/dist/records-v2/RemediationRequiredReasonRecord.d.ts +103 -2
  178. package/dist/records-v2/RemediationRequiredReasonRecord.js +157 -0
  179. package/dist/records-v2/ReturnsRecord.d.ts +62 -1
  180. package/dist/records-v2/ReturnsRecord.js +91 -0
  181. package/dist/records-v2/RewardRecord.d.ts +123 -2
  182. package/dist/records-v2/RewardRecord.js +190 -0
  183. package/dist/records-v2/SalesTerritoryRecord.d.ts +79 -2
  184. package/dist/records-v2/SalesTerritoryRecord.js +107 -0
  185. package/dist/records-v2/ScheduleSlotRecord.d.ts +42 -1
  186. package/dist/records-v2/ScheduleSlotRecord.js +58 -0
  187. package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +287 -2
  188. package/dist/records-v2/ServiceAppointmentConfigRecord.js +367 -0
  189. package/dist/records-v2/ServiceAppointmentRecord.d.ts +81 -0
  190. package/dist/records-v2/ServiceAppointmentRecord.js +136 -0
  191. package/dist/records-v2/ServiceRecord.d.ts +40 -0
  192. package/dist/records-v2/ServiceRecord.js +69 -0
  193. package/dist/records-v2/ServiceVisitAuditRecord.d.ts +83 -2
  194. package/dist/records-v2/ServiceVisitAuditRecord.js +124 -0
  195. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +83 -2
  196. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +124 -0
  197. package/dist/records-v2/SmsMessageRecord.d.ts +175 -2
  198. package/dist/records-v2/SmsMessageRecord.js +255 -0
  199. package/dist/records-v2/SweeperMaintenanceAuditRecord.d.ts +83 -2
  200. package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
  201. package/dist/records-v2/TeamRecord.d.ts +101 -0
  202. package/dist/records-v2/TeamRecord.js +169 -0
  203. package/dist/records-v2/TestEntityForVisualBuilderRecord.d.ts +115 -2
  204. package/dist/records-v2/TestEntityForVisualBuilderRecord.js +156 -0
  205. package/dist/records-v2/TimeSlotRecord.d.ts +21 -0
  206. package/dist/records-v2/TimeSlotRecord.js +37 -0
  207. package/dist/records-v2/TransactionRecord.d.ts +181 -1
  208. package/dist/records-v2/TransactionRecord.js +288 -0
  209. package/dist/records-v2/TwilioUserUpdateRecord.d.ts +42 -1
  210. package/dist/records-v2/TwilioUserUpdateRecord.js +58 -0
  211. package/dist/records-v2/UgAuditOfInstallationRecord.d.ts +83 -2
  212. package/dist/records-v2/UgAuditOfInstallationRecord.js +124 -0
  213. package/dist/records-v2/UgExternalAuditRecord.d.ts +83 -2
  214. package/dist/records-v2/UgExternalAuditRecord.js +124 -0
  215. package/dist/records-v2/UgInProgressAuditRecord.d.ts +83 -2
  216. package/dist/records-v2/UgInProgressAuditRecord.js +124 -0
  217. package/dist/records-v2/UgInstallationAuditRecord.d.ts +83 -2
  218. package/dist/records-v2/UgInstallationAuditRecord.js +124 -0
  219. package/dist/records-v2/UgRetroAuditRecord.d.ts +83 -2
  220. package/dist/records-v2/UgRetroAuditRecord.js +124 -0
  221. package/dist/records-v2/UserRecord.d.ts +400 -0
  222. package/dist/records-v2/UserRecord.js +663 -0
  223. package/dist/records-v2/VisitRecord.d.ts +121 -0
  224. package/dist/records-v2/VisitRecord.js +202 -0
  225. package/dist/records-v2/VoiceConfigurationRecord.d.ts +21 -0
  226. package/dist/records-v2/VoiceConfigurationRecord.js +37 -0
  227. package/dist/records-v2/WayleaveAuditRecord.d.ts +83 -2
  228. package/dist/records-v2/WayleaveAuditRecord.js +124 -0
  229. package/dist/records-v2/WorkOrderRecord.d.ts +1226 -2
  230. package/dist/records-v2/WorkOrderRecord.js +1865 -0
  231. package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +75 -2
  232. package/dist/records-v2/WorkOrderStatusUpdateRecord.js +90 -0
  233. package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +83 -2
  234. package/dist/records-v2/YfFieldServiceVisitRecord.js +124 -0
  235. package/dist/records-v2/YfStockAuditRecord.d.ts +103 -2
  236. package/dist/records-v2/YfStockAuditRecord.js +157 -0
  237. package/dist/records-v2/index.d.ts +1 -1
  238. package/dist/records-v2/index.js +5 -5
  239. package/package.json +1 -1
@@ -13,14 +13,20 @@
13
13
  * await record.createWorkOrderStatusUpdate({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: AMCO_UPDATE, DEFAULT, ROYAL_MAIL_UPDATE
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { WorkOrderStatusUpdateProperties } from '../entities-v2/WorkOrderStatusUpdate';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { WorkOrderStatusUpdateProperties, AmcoUpdateWorkOrderStatusUpdateProperties, RoyalMailUpdateWorkOrderStatusUpdateProperties } from '../entities-v2/WorkOrderStatusUpdate';
23
26
  import { CreateWorkOrderStatusUpdateProperties } from '../actions-v2/CreateWorkOrderStatusUpdateDto';
27
+ import { WorkOrderRecord } from './WorkOrderRecord';
28
+ /** Valid entity types for WorkOrderStatusUpdate */
29
+ export declare type WorkOrderStatusUpdateType = 'AMCO_UPDATE' | 'DEFAULT' | 'ROYAL_MAIL_UPDATE';
24
30
  /**
25
31
  * Builder for action execution with dryRun support
26
32
  *
@@ -84,6 +90,7 @@ export declare class WorkOrderStatusUpdateRecord<TProps = WorkOrderStatusUpdateP
84
90
  private _provider;
85
91
  private _pendingLinks;
86
92
  private _preGeneratedId;
93
+ private _workOrders?;
87
94
  /**
88
95
  * Create a record wrapper.
89
96
  * @param record - The underlying record, or null for create operations
@@ -96,7 +103,7 @@ export declare class WorkOrderStatusUpdateRecord<TProps = WorkOrderStatusUpdateP
96
103
  /** Record ID - always available (pre-generated for new records) */
97
104
  get id(): string;
98
105
  get entity(): string;
99
- get type(): string | undefined;
106
+ get type(): WorkOrderStatusUpdateType | undefined;
100
107
  /** Record properties - empty object for new (unsaved) records */
101
108
  get properties(): TProps;
102
109
  get title(): string | undefined;
@@ -109,6 +116,72 @@ export declare class WorkOrderStatusUpdateRecord<TProps = WorkOrderStatusUpdateP
109
116
  get groups(): string[];
110
117
  /** Access the underlying OdinRecord (null for new records) */
111
118
  get record(): OdinRecord<TProps> | null;
119
+ /**
120
+ * Type guard: check if this record is of type AMCO_UPDATE
121
+ *
122
+ * When this returns true, TypeScript automatically narrows the type,
123
+ * giving you access to AMCO_UPDATE-specific properties.
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * if (record.isAmcoUpdate()) {
128
+ * // TypeScript knows record.properties is AmcoUpdateWorkOrderStatusUpdateProperties
129
+ * console.log(record.properties.SomeTypeSpecificField);
130
+ * }
131
+ * ```
132
+ * @remarks Amco Update
133
+ */
134
+ isAmcoUpdate(): this is WorkOrderStatusUpdateRecord<AmcoUpdateWorkOrderStatusUpdateProperties>;
135
+ /**
136
+ * Type guard: check if this record is of type DEFAULT
137
+ *
138
+ * When this returns true, TypeScript automatically narrows the type,
139
+ * giving you access to DEFAULT-specific properties.
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * if (record.isDefault()) {
144
+ * // TypeScript knows record.properties is WorkOrderStatusUpdateProperties
145
+ * console.log(record.properties.SomeTypeSpecificField);
146
+ * }
147
+ * ```
148
+ * @remarks This is the default record type
149
+ */
150
+ isDefault(): this is WorkOrderStatusUpdateRecord<WorkOrderStatusUpdateProperties>;
151
+ /**
152
+ * Type guard: check if this record is of type ROYAL_MAIL_UPDATE
153
+ *
154
+ * When this returns true, TypeScript automatically narrows the type,
155
+ * giving you access to ROYAL_MAIL_UPDATE-specific properties.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * if (record.isRoyalMailUpdate()) {
160
+ * // TypeScript knows record.properties is RoyalMailUpdateWorkOrderStatusUpdateProperties
161
+ * console.log(record.properties.SomeTypeSpecificField);
162
+ * }
163
+ * ```
164
+ * @remarks Royal Mail Update
165
+ */
166
+ isRoyalMailUpdate(): this is WorkOrderStatusUpdateRecord<RoyalMailUpdateWorkOrderStatusUpdateProperties>;
167
+ /** Valid labels for WorkOrder associations */
168
+ static readonly workOrdersLabels: readonly ["WorkOrderStatusUpdate__WorkOrder"];
169
+ /**
170
+ * Access linked WorkOrder records
171
+ * @remarks Available labels: WorkOrderStatusUpdate__WorkOrder
172
+ * @throws Error if called on a new (unsaved) record
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * // Get all linked WorkOrder records
177
+ * const items = await record.workOrders.list();
178
+ * const first = await record.workOrders.first();
179
+ *
180
+ * // Filter by label
181
+ * const specific = await record.workOrders.first({ label: 'WorkOrderStatusUpdate__WorkOrder' });
182
+ * ```
183
+ */
184
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof WorkOrderStatusUpdateRecord['workOrdersLabels'][number]>;
112
185
  /**
113
186
  * Queue a link to be created with the next action.
114
187
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createWorkOrderStatusUpdate({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: AMCO_UPDATE, DEFAULT, ROYAL_MAIL_UPDATE
18
+ *
17
19
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
18
20
  */
19
21
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -29,6 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isWorkOrderStatusUpdateRecord = exports.WorkOrderStatusUpdateRecord = void 0;
30
32
  const uuid_1 = require("uuid");
31
33
  const core_1 = require("@d19n/odin-types/dist/core");
34
+ const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
35
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
32
36
  /**
33
37
  * Builder for action execution with dryRun support
34
38
  *
@@ -140,6 +144,87 @@ class WorkOrderStatusUpdateRecord {
140
144
  /** Access the underlying OdinRecord (null for new records) */
141
145
  get record() { return this._record; }
142
146
  // ============================================
147
+ // TYPE GUARDS (with TypeScript type predicates)
148
+ // ============================================
149
+ /**
150
+ * Type guard: check if this record is of type AMCO_UPDATE
151
+ *
152
+ * When this returns true, TypeScript automatically narrows the type,
153
+ * giving you access to AMCO_UPDATE-specific properties.
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * if (record.isAmcoUpdate()) {
158
+ * // TypeScript knows record.properties is AmcoUpdateWorkOrderStatusUpdateProperties
159
+ * console.log(record.properties.SomeTypeSpecificField);
160
+ * }
161
+ * ```
162
+ * @remarks Amco Update
163
+ */
164
+ isAmcoUpdate() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'AMCO_UPDATE'; }
165
+ /**
166
+ * Type guard: check if this record is of type DEFAULT
167
+ *
168
+ * When this returns true, TypeScript automatically narrows the type,
169
+ * giving you access to DEFAULT-specific properties.
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * if (record.isDefault()) {
174
+ * // TypeScript knows record.properties is WorkOrderStatusUpdateProperties
175
+ * console.log(record.properties.SomeTypeSpecificField);
176
+ * }
177
+ * ```
178
+ * @remarks This is the default record type
179
+ */
180
+ isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
181
+ /**
182
+ * Type guard: check if this record is of type ROYAL_MAIL_UPDATE
183
+ *
184
+ * When this returns true, TypeScript automatically narrows the type,
185
+ * giving you access to ROYAL_MAIL_UPDATE-specific properties.
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * if (record.isRoyalMailUpdate()) {
190
+ * // TypeScript knows record.properties is RoyalMailUpdateWorkOrderStatusUpdateProperties
191
+ * console.log(record.properties.SomeTypeSpecificField);
192
+ * }
193
+ * ```
194
+ * @remarks Royal Mail Update
195
+ */
196
+ isRoyalMailUpdate() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'ROYAL_MAIL_UPDATE'; }
197
+ /**
198
+ * Access linked WorkOrder records
199
+ * @remarks Available labels: WorkOrderStatusUpdate__WorkOrder
200
+ * @throws Error if called on a new (unsaved) record
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * // Get all linked WorkOrder records
205
+ * const items = await record.workOrders.list();
206
+ * const first = await record.workOrders.first();
207
+ *
208
+ * // Filter by label
209
+ * const specific = await record.workOrders.first({ label: 'WorkOrderStatusUpdate__WorkOrder' });
210
+ * ```
211
+ */
212
+ get workOrders() {
213
+ var _a;
214
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
215
+ throw new Error('Cannot access links on a new (unsaved) record');
216
+ if (!this._workOrders) {
217
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
218
+ sourceEntity: 'FieldServiceModule:WorkOrderStatusUpdate',
219
+ targetEntity: 'FieldServiceModule:WorkOrder',
220
+ targetModuleName: 'FieldServiceModule',
221
+ targetEntityName: 'WorkOrder',
222
+ labels: ['WorkOrderStatusUpdate__WorkOrder'],
223
+ }, WorkOrderRecord_1.WorkOrderRecord);
224
+ }
225
+ return this._workOrders;
226
+ }
227
+ // ============================================
143
228
  // LINK MANAGEMENT
144
229
  // ============================================
145
230
  /**
@@ -215,6 +300,11 @@ class WorkOrderStatusUpdateRecord {
215
300
  }
216
301
  }
217
302
  exports.WorkOrderStatusUpdateRecord = WorkOrderStatusUpdateRecord;
303
+ // ============================================
304
+ // TYPED LINK ACCESSORS
305
+ // ============================================
306
+ /** Valid labels for WorkOrder associations */
307
+ WorkOrderStatusUpdateRecord.workOrdersLabels = ['WorkOrderStatusUpdate__WorkOrder'];
218
308
  /** Type guard to check if an object is a WorkOrderStatusUpdateRecord */
219
309
  function isWorkOrderStatusUpdateRecord(obj) {
220
310
  return obj instanceof WorkOrderStatusUpdateRecord;
@@ -13,14 +13,22 @@
13
13
  * await record.createYfFieldServiceVisit({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: OUTCOME_FORM
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { YfFieldServiceVisitProperties } from '../entities-v2/YfFieldServiceVisit';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { YfFieldServiceVisitProperties, OutcomeFormYfFieldServiceVisitProperties } from '../entities-v2/YfFieldServiceVisit';
23
26
  import { YfFieldServiceVisitAuditProperties } from '../actions-v2/CompleteServiceWorkOrderFlowDto';
27
+ import { NoteRecord } from './NoteRecord';
28
+ import { WorkOrderRecord } from './WorkOrderRecord';
29
+ import { FileRecord } from './FileRecord';
30
+ /** Valid entity types for YfFieldServiceVisit */
31
+ export declare type YfFieldServiceVisitType = 'OUTCOME_FORM';
24
32
  /**
25
33
  * Builder for action execution with dryRun support
26
34
  *
@@ -84,6 +92,9 @@ export declare class YfFieldServiceVisitRecord<TProps = YfFieldServiceVisitPrope
84
92
  private _provider;
85
93
  private _pendingLinks;
86
94
  private _preGeneratedId;
95
+ private _notes?;
96
+ private _workOrders?;
97
+ private _files?;
87
98
  /**
88
99
  * Create a record wrapper.
89
100
  * @param record - The underlying record, or null for create operations
@@ -96,7 +107,7 @@ export declare class YfFieldServiceVisitRecord<TProps = YfFieldServiceVisitPrope
96
107
  /** Record ID - always available (pre-generated for new records) */
97
108
  get id(): string;
98
109
  get entity(): string;
99
- get type(): string | undefined;
110
+ get type(): YfFieldServiceVisitType | undefined;
100
111
  /** Record properties - empty object for new (unsaved) records */
101
112
  get properties(): TProps;
102
113
  get title(): string | undefined;
@@ -109,6 +120,76 @@ export declare class YfFieldServiceVisitRecord<TProps = YfFieldServiceVisitPrope
109
120
  get groups(): string[];
110
121
  /** Access the underlying OdinRecord (null for new records) */
111
122
  get record(): OdinRecord<TProps> | null;
123
+ /**
124
+ * Type guard: check if this record is of type OUTCOME_FORM
125
+ *
126
+ * When this returns true, TypeScript automatically narrows the type,
127
+ * giving you access to OUTCOME_FORM-specific properties.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * if (record.isOutcomeForm()) {
132
+ * // TypeScript knows record.properties is OutcomeFormYfFieldServiceVisitProperties
133
+ * console.log(record.properties.SomeTypeSpecificField);
134
+ * }
135
+ * ```
136
+ * @remarks outcome form
137
+ */
138
+ isOutcomeForm(): this is YfFieldServiceVisitRecord<OutcomeFormYfFieldServiceVisitProperties>;
139
+ /** Valid labels for Note associations */
140
+ static readonly notesLabels: readonly ["YfFieldServiceVisit__Note"];
141
+ /**
142
+ * Access linked Note records
143
+ * @remarks Available labels: YfFieldServiceVisit__Note
144
+ * @throws Error if called on a new (unsaved) record
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // Get all linked Note records
149
+ * const items = await record.notes.list();
150
+ * const first = await record.notes.first();
151
+ *
152
+ * // Filter by label
153
+ * const specific = await record.notes.first({ label: 'YfFieldServiceVisit__Note' });
154
+ * ```
155
+ */
156
+ get notes(): RecordLinkManager<NoteRecord, typeof YfFieldServiceVisitRecord['notesLabels'][number]>;
157
+ /** Valid labels for WorkOrder associations */
158
+ static readonly workOrdersLabels: readonly ["WorkOrder_YfFieldServiceVisit"];
159
+ /**
160
+ * Access linked WorkOrder records
161
+ * @remarks Available labels: WorkOrder_YfFieldServiceVisit
162
+ * @throws Error if called on a new (unsaved) record
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * // Get all linked WorkOrder records
167
+ * const items = await record.workOrders.list();
168
+ * const first = await record.workOrders.first();
169
+ *
170
+ * // Filter by label
171
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_YfFieldServiceVisit' });
172
+ * ```
173
+ */
174
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof YfFieldServiceVisitRecord['workOrdersLabels'][number]>;
175
+ /** Valid labels for File associations */
176
+ static readonly filesLabels: readonly ["YfFieldServiceVisit__File"];
177
+ /**
178
+ * Access linked File records
179
+ * @remarks Available labels: YfFieldServiceVisit__File
180
+ * @throws Error if called on a new (unsaved) record
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * // Get all linked File records
185
+ * const items = await record.files.list();
186
+ * const first = await record.files.first();
187
+ *
188
+ * // Filter by label
189
+ * const specific = await record.files.first({ label: 'YfFieldServiceVisit__File' });
190
+ * ```
191
+ */
192
+ get files(): RecordLinkManager<FileRecord, typeof YfFieldServiceVisitRecord['filesLabels'][number]>;
112
193
  /**
113
194
  * Queue a link to be created with the next action.
114
195
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createYfFieldServiceVisit({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: OUTCOME_FORM
18
+ *
17
19
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
18
20
  */
19
21
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -29,6 +31,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isYfFieldServiceVisitRecord = exports.YfFieldServiceVisitRecord = void 0;
30
32
  const uuid_1 = require("uuid");
31
33
  const core_1 = require("@d19n/odin-types/dist/core");
34
+ const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
35
+ const NoteRecord_1 = require("./NoteRecord");
36
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
37
+ const FileRecord_1 = require("./FileRecord");
32
38
  /**
33
39
  * Builder for action execution with dryRun support
34
40
  *
@@ -140,6 +146,115 @@ class YfFieldServiceVisitRecord {
140
146
  /** Access the underlying OdinRecord (null for new records) */
141
147
  get record() { return this._record; }
142
148
  // ============================================
149
+ // TYPE GUARDS (with TypeScript type predicates)
150
+ // ============================================
151
+ /**
152
+ * Type guard: check if this record is of type OUTCOME_FORM
153
+ *
154
+ * When this returns true, TypeScript automatically narrows the type,
155
+ * giving you access to OUTCOME_FORM-specific properties.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * if (record.isOutcomeForm()) {
160
+ * // TypeScript knows record.properties is OutcomeFormYfFieldServiceVisitProperties
161
+ * console.log(record.properties.SomeTypeSpecificField);
162
+ * }
163
+ * ```
164
+ * @remarks outcome form
165
+ */
166
+ isOutcomeForm() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'OUTCOME_FORM'; }
167
+ /**
168
+ * Access linked Note records
169
+ * @remarks Available labels: YfFieldServiceVisit__Note
170
+ * @throws Error if called on a new (unsaved) record
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Get all linked Note records
175
+ * const items = await record.notes.list();
176
+ * const first = await record.notes.first();
177
+ *
178
+ * // Filter by label
179
+ * const specific = await record.notes.first({ label: 'YfFieldServiceVisit__Note' });
180
+ * ```
181
+ */
182
+ get notes() {
183
+ var _a;
184
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
185
+ throw new Error('Cannot access links on a new (unsaved) record');
186
+ if (!this._notes) {
187
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
188
+ sourceEntity: 'FieldServiceModule:YfFieldServiceVisit',
189
+ targetEntity: 'SupportModule:Note',
190
+ targetModuleName: 'SupportModule',
191
+ targetEntityName: 'Note',
192
+ labels: ['YfFieldServiceVisit__Note'],
193
+ }, NoteRecord_1.NoteRecord);
194
+ }
195
+ return this._notes;
196
+ }
197
+ /**
198
+ * Access linked WorkOrder records
199
+ * @remarks Available labels: WorkOrder_YfFieldServiceVisit
200
+ * @throws Error if called on a new (unsaved) record
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * // Get all linked WorkOrder records
205
+ * const items = await record.workOrders.list();
206
+ * const first = await record.workOrders.first();
207
+ *
208
+ * // Filter by label
209
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_YfFieldServiceVisit' });
210
+ * ```
211
+ */
212
+ get workOrders() {
213
+ var _a;
214
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
215
+ throw new Error('Cannot access links on a new (unsaved) record');
216
+ if (!this._workOrders) {
217
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
218
+ sourceEntity: 'FieldServiceModule:YfFieldServiceVisit',
219
+ targetEntity: 'FieldServiceModule:WorkOrder',
220
+ targetModuleName: 'FieldServiceModule',
221
+ targetEntityName: 'WorkOrder',
222
+ labels: ['WorkOrder_YfFieldServiceVisit'],
223
+ }, WorkOrderRecord_1.WorkOrderRecord);
224
+ }
225
+ return this._workOrders;
226
+ }
227
+ /**
228
+ * Access linked File records
229
+ * @remarks Available labels: YfFieldServiceVisit__File
230
+ * @throws Error if called on a new (unsaved) record
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * // Get all linked File records
235
+ * const items = await record.files.list();
236
+ * const first = await record.files.first();
237
+ *
238
+ * // Filter by label
239
+ * const specific = await record.files.first({ label: 'YfFieldServiceVisit__File' });
240
+ * ```
241
+ */
242
+ get files() {
243
+ var _a;
244
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
245
+ throw new Error('Cannot access links on a new (unsaved) record');
246
+ if (!this._files) {
247
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
248
+ sourceEntity: 'FieldServiceModule:YfFieldServiceVisit',
249
+ targetEntity: 'SchemaModule:File',
250
+ targetModuleName: 'SchemaModule',
251
+ targetEntityName: 'File',
252
+ labels: ['YfFieldServiceVisit__File'],
253
+ }, FileRecord_1.FileRecord);
254
+ }
255
+ return this._files;
256
+ }
257
+ // ============================================
143
258
  // LINK MANAGEMENT
144
259
  // ============================================
145
260
  /**
@@ -215,6 +330,15 @@ class YfFieldServiceVisitRecord {
215
330
  }
216
331
  }
217
332
  exports.YfFieldServiceVisitRecord = YfFieldServiceVisitRecord;
333
+ // ============================================
334
+ // TYPED LINK ACCESSORS
335
+ // ============================================
336
+ /** Valid labels for Note associations */
337
+ YfFieldServiceVisitRecord.notesLabels = ['YfFieldServiceVisit__Note'];
338
+ /** Valid labels for WorkOrder associations */
339
+ YfFieldServiceVisitRecord.workOrdersLabels = ['WorkOrder_YfFieldServiceVisit'];
340
+ /** Valid labels for File associations */
341
+ YfFieldServiceVisitRecord.filesLabels = ['YfFieldServiceVisit__File'];
218
342
  /** Type guard to check if an object is a YfFieldServiceVisitRecord */
219
343
  function isYfFieldServiceVisitRecord(obj) {
220
344
  return obj instanceof YfFieldServiceVisitRecord;
@@ -13,15 +13,24 @@
13
13
  * await record.createYfStockAudit({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: OUTCOME_FORM
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { YfStockAuditProperties } from '../entities-v2/YfStockAudit';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { YfStockAuditProperties, OutcomeFormYfStockAuditProperties } from '../entities-v2/YfStockAudit';
23
26
  import { CreateYfStockAuditProperties } from '../actions-v2/CreateYfStockAuditDto';
24
27
  import { UpdateYfStockAuditProperties } from '../actions-v2/StageChangeTestEntityForVisualBuilderDto';
28
+ import { FileRecord } from './FileRecord';
29
+ import { NoteRecord } from './NoteRecord';
30
+ import { WorkOrderRecord } from './WorkOrderRecord';
31
+ import { TestEntityForVisualBuilderRecord } from './TestEntityForVisualBuilderRecord';
32
+ /** Valid entity types for YfStockAudit */
33
+ export declare type YfStockAuditType = 'OUTCOME_FORM';
25
34
  /**
26
35
  * Builder for action execution with dryRun support
27
36
  *
@@ -85,6 +94,10 @@ export declare class YfStockAuditRecord<TProps = YfStockAuditProperties> {
85
94
  private _provider;
86
95
  private _pendingLinks;
87
96
  private _preGeneratedId;
97
+ private _files?;
98
+ private _notes?;
99
+ private _workOrders?;
100
+ private _testEntityForVisualBuilders?;
88
101
  /**
89
102
  * Create a record wrapper.
90
103
  * @param record - The underlying record, or null for create operations
@@ -97,7 +110,7 @@ export declare class YfStockAuditRecord<TProps = YfStockAuditProperties> {
97
110
  /** Record ID - always available (pre-generated for new records) */
98
111
  get id(): string;
99
112
  get entity(): string;
100
- get type(): string | undefined;
113
+ get type(): YfStockAuditType | undefined;
101
114
  /** Record properties - empty object for new (unsaved) records */
102
115
  get properties(): TProps;
103
116
  get title(): string | undefined;
@@ -110,6 +123,94 @@ export declare class YfStockAuditRecord<TProps = YfStockAuditProperties> {
110
123
  get groups(): string[];
111
124
  /** Access the underlying OdinRecord (null for new records) */
112
125
  get record(): OdinRecord<TProps> | null;
126
+ /**
127
+ * Type guard: check if this record is of type OUTCOME_FORM
128
+ *
129
+ * When this returns true, TypeScript automatically narrows the type,
130
+ * giving you access to OUTCOME_FORM-specific properties.
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * if (record.isOutcomeForm()) {
135
+ * // TypeScript knows record.properties is OutcomeFormYfStockAuditProperties
136
+ * console.log(record.properties.SomeTypeSpecificField);
137
+ * }
138
+ * ```
139
+ * @remarks outcome form
140
+ */
141
+ isOutcomeForm(): this is YfStockAuditRecord<OutcomeFormYfStockAuditProperties>;
142
+ /** Valid labels for File associations */
143
+ static readonly filesLabels: readonly ["YfStockAudit__File"];
144
+ /**
145
+ * Access linked File records
146
+ * @remarks Available labels: YfStockAudit__File
147
+ * @throws Error if called on a new (unsaved) record
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * // Get all linked File records
152
+ * const items = await record.files.list();
153
+ * const first = await record.files.first();
154
+ *
155
+ * // Filter by label
156
+ * const specific = await record.files.first({ label: 'YfStockAudit__File' });
157
+ * ```
158
+ */
159
+ get files(): RecordLinkManager<FileRecord, typeof YfStockAuditRecord['filesLabels'][number]>;
160
+ /** Valid labels for Note associations */
161
+ static readonly notesLabels: readonly ["YfStockAudit__Note"];
162
+ /**
163
+ * Access linked Note records
164
+ * @remarks Available labels: YfStockAudit__Note
165
+ * @throws Error if called on a new (unsaved) record
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * // Get all linked Note records
170
+ * const items = await record.notes.list();
171
+ * const first = await record.notes.first();
172
+ *
173
+ * // Filter by label
174
+ * const specific = await record.notes.first({ label: 'YfStockAudit__Note' });
175
+ * ```
176
+ */
177
+ get notes(): RecordLinkManager<NoteRecord, typeof YfStockAuditRecord['notesLabels'][number]>;
178
+ /** Valid labels for WorkOrder associations */
179
+ static readonly workOrdersLabels: readonly ["WorkOrder__YfStockAudit"];
180
+ /**
181
+ * Access linked WorkOrder records
182
+ * @remarks Available labels: WorkOrder__YfStockAudit
183
+ * @throws Error if called on a new (unsaved) record
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * // Get all linked WorkOrder records
188
+ * const items = await record.workOrders.list();
189
+ * const first = await record.workOrders.first();
190
+ *
191
+ * // Filter by label
192
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__YfStockAudit' });
193
+ * ```
194
+ */
195
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof YfStockAuditRecord['workOrdersLabels'][number]>;
196
+ /** Valid labels for TestEntityForVisualBuilder associations */
197
+ static readonly testEntityForVisualBuildersLabels: readonly ["TestEntityForVisualBuilder__YfStockAudit"];
198
+ /**
199
+ * Access linked TestEntityForVisualBuilder records
200
+ * @remarks Available labels: TestEntityForVisualBuilder__YfStockAudit
201
+ * @throws Error if called on a new (unsaved) record
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * // Get all linked TestEntityForVisualBuilder records
206
+ * const items = await record.testEntityForVisualBuilders.list();
207
+ * const first = await record.testEntityForVisualBuilders.first();
208
+ *
209
+ * // Filter by label
210
+ * const specific = await record.testEntityForVisualBuilders.first({ label: 'TestEntityForVisualBuilder__YfStockAudit' });
211
+ * ```
212
+ */
213
+ get testEntityForVisualBuilders(): RecordLinkManager<TestEntityForVisualBuilderRecord, typeof YfStockAuditRecord['testEntityForVisualBuildersLabels'][number]>;
113
214
  /**
114
215
  * Queue a link to be created with the next action.
115
216
  * Works for both create and update actions.