@deepintel-ltd/buildlink-api-contracts 0.2.23

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 (278) hide show
  1. package/README.md +27 -0
  2. package/contracts/auth.d.ts +3641 -0
  3. package/contracts/auth.d.ts.map +1 -0
  4. package/contracts/auth.js +266 -0
  5. package/contracts/auth.js.map +1 -0
  6. package/contracts/billing.d.ts +2167 -0
  7. package/contracts/billing.d.ts.map +1 -0
  8. package/contracts/billing.js +55 -0
  9. package/contracts/billing.js.map +1 -0
  10. package/contracts/boq.d.ts +1214 -0
  11. package/contracts/boq.d.ts.map +1 -0
  12. package/contracts/boq.js +31 -0
  13. package/contracts/boq.js.map +1 -0
  14. package/contracts/budget.d.ts +10677 -0
  15. package/contracts/budget.d.ts.map +1 -0
  16. package/contracts/budget.js +599 -0
  17. package/contracts/budget.js.map +1 -0
  18. package/contracts/commercial.d.ts +1475 -0
  19. package/contracts/commercial.d.ts.map +1 -0
  20. package/contracts/commercial.js +40 -0
  21. package/contracts/commercial.js.map +1 -0
  22. package/contracts/communication.d.ts +5389 -0
  23. package/contracts/communication.d.ts.map +1 -0
  24. package/contracts/communication.js +255 -0
  25. package/contracts/communication.js.map +1 -0
  26. package/contracts/contractor-ledger.d.ts +1293 -0
  27. package/contracts/contractor-ledger.d.ts.map +1 -0
  28. package/contracts/contractor-ledger.js +41 -0
  29. package/contracts/contractor-ledger.js.map +1 -0
  30. package/contracts/daily-logs.d.ts +9132 -0
  31. package/contracts/daily-logs.d.ts.map +1 -0
  32. package/contracts/daily-logs.js +188 -0
  33. package/contracts/daily-logs.js.map +1 -0
  34. package/contracts/deficiencies.d.ts +11786 -0
  35. package/contracts/deficiencies.d.ts.map +1 -0
  36. package/contracts/deficiencies.js +312 -0
  37. package/contracts/deficiencies.js.map +1 -0
  38. package/contracts/directory.d.ts +3116 -0
  39. package/contracts/directory.d.ts.map +1 -0
  40. package/contracts/directory.js +117 -0
  41. package/contracts/directory.js.map +1 -0
  42. package/contracts/documents.d.ts +4944 -0
  43. package/contracts/documents.d.ts.map +1 -0
  44. package/contracts/documents.js +251 -0
  45. package/contracts/documents.js.map +1 -0
  46. package/contracts/drawings.d.ts +10552 -0
  47. package/contracts/drawings.d.ts.map +1 -0
  48. package/contracts/drawings.js +321 -0
  49. package/contracts/drawings.js.map +1 -0
  50. package/contracts/hub.d.ts +1174 -0
  51. package/contracts/hub.d.ts.map +1 -0
  52. package/contracts/hub.js +42 -0
  53. package/contracts/hub.js.map +1 -0
  54. package/contracts/index.d.ts +128 -0
  55. package/contracts/index.d.ts.map +1 -0
  56. package/contracts/index.js +119 -0
  57. package/contracts/index.js.map +1 -0
  58. package/contracts/integrations.d.ts +4163 -0
  59. package/contracts/integrations.d.ts.map +1 -0
  60. package/contracts/integrations.js +326 -0
  61. package/contracts/integrations.js.map +1 -0
  62. package/contracts/maps.d.ts +4911 -0
  63. package/contracts/maps.d.ts.map +1 -0
  64. package/contracts/maps.js +276 -0
  65. package/contracts/maps.js.map +1 -0
  66. package/contracts/meetings.d.ts +4194 -0
  67. package/contracts/meetings.d.ts.map +1 -0
  68. package/contracts/meetings.js +115 -0
  69. package/contracts/meetings.js.map +1 -0
  70. package/contracts/monitoring.d.ts +2749 -0
  71. package/contracts/monitoring.d.ts.map +1 -0
  72. package/contracts/monitoring.js +289 -0
  73. package/contracts/monitoring.js.map +1 -0
  74. package/contracts/packages.d.ts +1470 -0
  75. package/contracts/packages.d.ts.map +1 -0
  76. package/contracts/packages.js +74 -0
  77. package/contracts/packages.js.map +1 -0
  78. package/contracts/projects.d.ts +6281 -0
  79. package/contracts/projects.d.ts.map +1 -0
  80. package/contracts/projects.js +448 -0
  81. package/contracts/projects.js.map +1 -0
  82. package/contracts/proof.d.ts +962 -0
  83. package/contracts/proof.d.ts.map +1 -0
  84. package/contracts/proof.js +34 -0
  85. package/contracts/proof.js.map +1 -0
  86. package/contracts/qaqc.d.ts +1184 -0
  87. package/contracts/qaqc.d.ts.map +1 -0
  88. package/contracts/qaqc.js +35 -0
  89. package/contracts/qaqc.js.map +1 -0
  90. package/contracts/rbac.d.ts +5227 -0
  91. package/contracts/rbac.d.ts.map +1 -0
  92. package/contracts/rbac.js +357 -0
  93. package/contracts/rbac.js.map +1 -0
  94. package/contracts/reports.d.ts +8468 -0
  95. package/contracts/reports.d.ts.map +1 -0
  96. package/contracts/reports.js +377 -0
  97. package/contracts/reports.js.map +1 -0
  98. package/contracts/resources.d.ts +15870 -0
  99. package/contracts/resources.d.ts.map +1 -0
  100. package/contracts/resources.js +869 -0
  101. package/contracts/resources.js.map +1 -0
  102. package/contracts/rfi-submittal.d.ts +2545 -0
  103. package/contracts/rfi-submittal.d.ts.map +1 -0
  104. package/contracts/rfi-submittal.js +159 -0
  105. package/contracts/rfi-submittal.js.map +1 -0
  106. package/contracts/safety.d.ts +7162 -0
  107. package/contracts/safety.d.ts.map +1 -0
  108. package/contracts/safety.js +519 -0
  109. package/contracts/safety.js.map +1 -0
  110. package/contracts/schedule.d.ts +9456 -0
  111. package/contracts/schedule.d.ts.map +1 -0
  112. package/contracts/schedule.js +460 -0
  113. package/contracts/schedule.js.map +1 -0
  114. package/contracts/spec-equal.d.ts +841 -0
  115. package/contracts/spec-equal.d.ts.map +1 -0
  116. package/contracts/spec-equal.js +28 -0
  117. package/contracts/spec-equal.js.map +1 -0
  118. package/contracts/specifications.d.ts +15478 -0
  119. package/contracts/specifications.d.ts.map +1 -0
  120. package/contracts/specifications.js +521 -0
  121. package/contracts/specifications.js.map +1 -0
  122. package/contracts/tasks.d.ts +11037 -0
  123. package/contracts/tasks.d.ts.map +1 -0
  124. package/contracts/tasks.js +693 -0
  125. package/contracts/tasks.js.map +1 -0
  126. package/contracts/timecards.d.ts +3130 -0
  127. package/contracts/timecards.d.ts.map +1 -0
  128. package/contracts/timecards.js +133 -0
  129. package/contracts/timecards.js.map +1 -0
  130. package/contracts/transmittals.d.ts +3921 -0
  131. package/contracts/transmittals.d.ts.map +1 -0
  132. package/contracts/transmittals.js +156 -0
  133. package/contracts/transmittals.js.map +1 -0
  134. package/contracts/valuations.d.ts +3266 -0
  135. package/contracts/valuations.d.ts.map +1 -0
  136. package/contracts/valuations.js +116 -0
  137. package/contracts/valuations.js.map +1 -0
  138. package/package.json +216 -0
  139. package/schemas/auth.d.ts +449 -0
  140. package/schemas/auth.d.ts.map +1 -0
  141. package/schemas/auth.js +103 -0
  142. package/schemas/auth.js.map +1 -0
  143. package/schemas/billing.d.ts +710 -0
  144. package/schemas/billing.d.ts.map +1 -0
  145. package/schemas/billing.js +82 -0
  146. package/schemas/billing.js.map +1 -0
  147. package/schemas/boq.d.ts +385 -0
  148. package/schemas/boq.d.ts.map +1 -0
  149. package/schemas/boq.js +49 -0
  150. package/schemas/boq.js.map +1 -0
  151. package/schemas/budget.d.ts +737 -0
  152. package/schemas/budget.d.ts.map +1 -0
  153. package/schemas/budget.js +272 -0
  154. package/schemas/budget.js.map +1 -0
  155. package/schemas/commercial.d.ts +358 -0
  156. package/schemas/commercial.d.ts.map +1 -0
  157. package/schemas/commercial.js +36 -0
  158. package/schemas/commercial.js.map +1 -0
  159. package/schemas/common.d.ts +865 -0
  160. package/schemas/common.d.ts.map +1 -0
  161. package/schemas/common.js +193 -0
  162. package/schemas/common.js.map +1 -0
  163. package/schemas/communication.d.ts +884 -0
  164. package/schemas/communication.d.ts.map +1 -0
  165. package/schemas/communication.js +245 -0
  166. package/schemas/communication.js.map +1 -0
  167. package/schemas/contractor-ledger.d.ts +364 -0
  168. package/schemas/contractor-ledger.d.ts.map +1 -0
  169. package/schemas/contractor-ledger.js +36 -0
  170. package/schemas/contractor-ledger.js.map +1 -0
  171. package/schemas/cursor-pagination.d.ts +258 -0
  172. package/schemas/cursor-pagination.d.ts.map +1 -0
  173. package/schemas/cursor-pagination.js +84 -0
  174. package/schemas/cursor-pagination.js.map +1 -0
  175. package/schemas/daily-logs.d.ts +2339 -0
  176. package/schemas/daily-logs.d.ts.map +1 -0
  177. package/schemas/daily-logs.js +235 -0
  178. package/schemas/daily-logs.js.map +1 -0
  179. package/schemas/deficiencies.d.ts +2496 -0
  180. package/schemas/deficiencies.d.ts.map +1 -0
  181. package/schemas/deficiencies.js +338 -0
  182. package/schemas/deficiencies.js.map +1 -0
  183. package/schemas/directory.d.ts +783 -0
  184. package/schemas/directory.d.ts.map +1 -0
  185. package/schemas/directory.js +122 -0
  186. package/schemas/directory.js.map +1 -0
  187. package/schemas/documents.d.ts +202 -0
  188. package/schemas/documents.d.ts.map +1 -0
  189. package/schemas/documents.js +76 -0
  190. package/schemas/documents.js.map +1 -0
  191. package/schemas/drawings.d.ts +2042 -0
  192. package/schemas/drawings.d.ts.map +1 -0
  193. package/schemas/drawings.js +350 -0
  194. package/schemas/drawings.js.map +1 -0
  195. package/schemas/hub.d.ts +288 -0
  196. package/schemas/hub.d.ts.map +1 -0
  197. package/schemas/hub.js +32 -0
  198. package/schemas/hub.js.map +1 -0
  199. package/schemas/integrations.d.ts +508 -0
  200. package/schemas/integrations.d.ts.map +1 -0
  201. package/schemas/integrations.js +119 -0
  202. package/schemas/integrations.js.map +1 -0
  203. package/schemas/maps.d.ts +793 -0
  204. package/schemas/maps.d.ts.map +1 -0
  205. package/schemas/maps.js +118 -0
  206. package/schemas/maps.js.map +1 -0
  207. package/schemas/meetings.d.ts +888 -0
  208. package/schemas/meetings.d.ts.map +1 -0
  209. package/schemas/meetings.js +138 -0
  210. package/schemas/meetings.js.map +1 -0
  211. package/schemas/packages.d.ts +236 -0
  212. package/schemas/packages.d.ts.map +1 -0
  213. package/schemas/packages.js +53 -0
  214. package/schemas/packages.js.map +1 -0
  215. package/schemas/projects.d.ts +306 -0
  216. package/schemas/projects.d.ts.map +1 -0
  217. package/schemas/projects.js +92 -0
  218. package/schemas/projects.js.map +1 -0
  219. package/schemas/proof.d.ts +210 -0
  220. package/schemas/proof.d.ts.map +1 -0
  221. package/schemas/proof.js +26 -0
  222. package/schemas/proof.js.map +1 -0
  223. package/schemas/qaqc.d.ts +235 -0
  224. package/schemas/qaqc.d.ts.map +1 -0
  225. package/schemas/qaqc.js +47 -0
  226. package/schemas/qaqc.js.map +1 -0
  227. package/schemas/rbac.d.ts +730 -0
  228. package/schemas/rbac.d.ts.map +1 -0
  229. package/schemas/rbac.js +230 -0
  230. package/schemas/rbac.js.map +1 -0
  231. package/schemas/reports.d.ts +5729 -0
  232. package/schemas/reports.d.ts.map +1 -0
  233. package/schemas/reports.js +589 -0
  234. package/schemas/reports.js.map +1 -0
  235. package/schemas/resources.d.ts +5190 -0
  236. package/schemas/resources.d.ts.map +1 -0
  237. package/schemas/resources.js +678 -0
  238. package/schemas/resources.js.map +1 -0
  239. package/schemas/rfi.d.ts +877 -0
  240. package/schemas/rfi.d.ts.map +1 -0
  241. package/schemas/rfi.js +84 -0
  242. package/schemas/rfi.js.map +1 -0
  243. package/schemas/safety.d.ts +1080 -0
  244. package/schemas/safety.d.ts.map +1 -0
  245. package/schemas/safety.js +237 -0
  246. package/schemas/safety.js.map +1 -0
  247. package/schemas/schedule.d.ts +4657 -0
  248. package/schemas/schedule.d.ts.map +1 -0
  249. package/schemas/schedule.js +441 -0
  250. package/schemas/schedule.js.map +1 -0
  251. package/schemas/spec-equal.d.ts +162 -0
  252. package/schemas/spec-equal.d.ts.map +1 -0
  253. package/schemas/spec-equal.js +29 -0
  254. package/schemas/spec-equal.js.map +1 -0
  255. package/schemas/specifications.d.ts +5241 -0
  256. package/schemas/specifications.d.ts.map +1 -0
  257. package/schemas/specifications.js +426 -0
  258. package/schemas/specifications.js.map +1 -0
  259. package/schemas/submittal.d.ts +867 -0
  260. package/schemas/submittal.d.ts.map +1 -0
  261. package/schemas/submittal.js +87 -0
  262. package/schemas/submittal.js.map +1 -0
  263. package/schemas/tasks.d.ts +610 -0
  264. package/schemas/tasks.d.ts.map +1 -0
  265. package/schemas/tasks.js +133 -0
  266. package/schemas/tasks.js.map +1 -0
  267. package/schemas/timecards.d.ts +618 -0
  268. package/schemas/timecards.d.ts.map +1 -0
  269. package/schemas/timecards.js +80 -0
  270. package/schemas/timecards.js.map +1 -0
  271. package/schemas/transmittals.d.ts +662 -0
  272. package/schemas/transmittals.d.ts.map +1 -0
  273. package/schemas/transmittals.js +132 -0
  274. package/schemas/transmittals.js.map +1 -0
  275. package/schemas/valuations.d.ts +713 -0
  276. package/schemas/valuations.d.ts.map +1 -0
  277. package/schemas/valuations.js +116 -0
  278. package/schemas/valuations.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../../src/schemas/budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,272 @@
1
+ import { z } from 'zod';
2
+ import { BaseEntitySchema } from './common';
3
+ // Budget Entity
4
+ export const BudgetSchema = BaseEntitySchema.extend({
5
+ projectId: z.string().uuid(),
6
+ totalBudget: z.number().positive(),
7
+ approvedBudget: z.number().positive(),
8
+ committedAmount: z.number().nonnegative().default(0),
9
+ spentAmount: z.number().nonnegative().default(0),
10
+ remainingAmount: z.number(),
11
+ contingency: z.number().nonnegative().default(0),
12
+ lastUpdated: z.string().datetime(),
13
+ updatedBy: z.string().uuid(),
14
+ });
15
+ // Budget Line Item
16
+ export const BudgetItemSchema = BaseEntitySchema.extend({
17
+ budgetId: z.string().uuid(),
18
+ projectId: z.string().uuid(),
19
+ category: z.enum([
20
+ 'LABOR',
21
+ 'MATERIALS',
22
+ 'EQUIPMENT',
23
+ 'SUBCONTRACTOR',
24
+ 'PERMITS',
25
+ 'OVERHEAD',
26
+ 'CONTINGENCY',
27
+ 'DESIGN',
28
+ 'MANAGEMENT',
29
+ 'OTHER',
30
+ ]),
31
+ description: z.string().min(1).max(500),
32
+ allocatedAmount: z.number().positive(),
33
+ spentAmount: z.number().nonnegative().default(0),
34
+ committedAmount: z.number().nonnegative().default(0),
35
+ remainingAmount: z.number(),
36
+ accountCode: z.string().optional(),
37
+ });
38
+ // Expense Entity
39
+ export const ExpenseSchema = BaseEntitySchema.extend({
40
+ projectId: z.string().uuid(),
41
+ budgetItemId: z.string().uuid().optional(),
42
+ type: z.enum([
43
+ 'INVOICE',
44
+ 'PURCHASE_ORDER',
45
+ 'MATERIAL_COST',
46
+ 'LABOR_COST',
47
+ 'EQUIPMENT_RENTAL',
48
+ 'SUBCONTRACTOR_PAYMENT',
49
+ 'OTHER',
50
+ ]),
51
+ description: z.string().min(1).max(500),
52
+ amount: z.number().positive(),
53
+ vendor: z.string().max(200).optional(),
54
+ invoiceNumber: z.string().max(100).optional(),
55
+ purchaseOrderNumber: z.string().max(100).optional(),
56
+ date: z.string().datetime(),
57
+ dueDate: z.string().datetime().optional(),
58
+ status: z.enum(['PENDING', 'APPROVED', 'PAID', 'REJECTED']).default('PENDING'),
59
+ approvedBy: z.string().uuid().optional(),
60
+ approvedAt: z.string().datetime().optional(),
61
+ recordedBy: z.string().uuid(),
62
+ attachments: z.array(z.string().uuid()).default([]),
63
+ });
64
+ // Change Order Entity
65
+ export const ChangeOrderSchema = BaseEntitySchema.extend({
66
+ projectId: z.string().uuid(),
67
+ changeOrderNumber: z.string().min(1).max(50),
68
+ title: z.string().min(1).max(300),
69
+ description: z.string().max(2000),
70
+ reason: z.enum([
71
+ 'SCOPE_CHANGE',
72
+ 'DESIGN_CHANGE',
73
+ 'UNFORESEEN_CONDITIONS',
74
+ 'CLIENT_REQUEST',
75
+ 'REGULATORY_REQUIREMENT',
76
+ 'OTHER',
77
+ ]),
78
+ type: z.enum(['ADDITION', 'DEDUCTION', 'MODIFICATION']),
79
+ budgetImpact: z.number(),
80
+ scheduleImpact: z.number().optional(),
81
+ status: z.enum(['DRAFT', 'SUBMITTED', 'UNDER_REVIEW', 'APPROVED', 'REJECTED']).default('DRAFT'),
82
+ requestedBy: z.string().uuid(),
83
+ reviewedBy: z.string().uuid().optional(),
84
+ approvedBy: z.string().uuid().optional(),
85
+ submittedAt: z.string().datetime().optional(),
86
+ reviewedAt: z.string().datetime().optional(),
87
+ approvedAt: z.string().datetime().optional(),
88
+ documents: z.array(z.string().uuid()).default([]),
89
+ });
90
+ // Purchase Order Entity
91
+ export const PurchaseOrderSchema = BaseEntitySchema.extend({
92
+ projectId: z.string().uuid(),
93
+ poNumber: z.string().min(1).max(50),
94
+ vendor: z.string().min(1).max(200),
95
+ vendorContact: z.string().max(200).optional(),
96
+ description: z.string().max(1000),
97
+ totalAmount: z.number().positive(),
98
+ status: z.enum(['DRAFT', 'SUBMITTED', 'APPROVED', 'RECEIVED', 'CLOSED']).default('DRAFT'),
99
+ requestedBy: z.string().uuid(),
100
+ approvedBy: z.string().uuid().optional(),
101
+ receivedBy: z.string().uuid().optional(),
102
+ orderDate: z.string().datetime(),
103
+ expectedDelivery: z.string().datetime().optional(),
104
+ actualDelivery: z.string().datetime().optional(),
105
+ items: z.array(z.object({
106
+ description: z.string(),
107
+ quantity: z.number().positive(),
108
+ unitPrice: z.number().positive(),
109
+ totalPrice: z.number().positive(),
110
+ })),
111
+ });
112
+ // Payment Entity
113
+ export const PaymentSchema = BaseEntitySchema.extend({
114
+ projectId: z.string().uuid(),
115
+ expenseId: z.string().uuid().optional(),
116
+ changeOrderId: z.string().uuid().optional(),
117
+ amount: z.number().positive(),
118
+ method: z.enum(['CHECK', 'WIRE_TRANSFER', 'ACH', 'CREDIT_CARD', 'CASH']),
119
+ reference: z.string().max(100).optional(),
120
+ paymentDate: z.string().datetime(),
121
+ processedBy: z.string().uuid(),
122
+ notes: z.string().max(500).optional(),
123
+ });
124
+ // Request Schemas
125
+ export const CreateBudgetRequestSchema = z.object({
126
+ totalBudget: z.number().positive(),
127
+ contingency: z.number().nonnegative().default(0),
128
+ items: z
129
+ .array(z.object({
130
+ category: z.enum([
131
+ 'LABOR',
132
+ 'MATERIALS',
133
+ 'EQUIPMENT',
134
+ 'SUBCONTRACTOR',
135
+ 'PERMITS',
136
+ 'OVERHEAD',
137
+ 'CONTINGENCY',
138
+ 'DESIGN',
139
+ 'MANAGEMENT',
140
+ 'OTHER',
141
+ ]),
142
+ description: z.string().min(1).max(500),
143
+ allocatedAmount: z.number().positive(),
144
+ accountCode: z.string().optional(),
145
+ }))
146
+ .optional(),
147
+ });
148
+ export const UpdateBudgetRequestSchema = z.object({
149
+ totalBudget: z.number().positive().optional(),
150
+ contingency: z.number().nonnegative().optional(),
151
+ });
152
+ export const CreateExpenseRequestSchema = z.object({
153
+ budgetItemId: z.string().uuid().optional(),
154
+ type: z.enum([
155
+ 'INVOICE',
156
+ 'PURCHASE_ORDER',
157
+ 'MATERIAL_COST',
158
+ 'LABOR_COST',
159
+ 'EQUIPMENT_RENTAL',
160
+ 'SUBCONTRACTOR_PAYMENT',
161
+ 'OTHER',
162
+ ]),
163
+ description: z.string().min(1).max(500),
164
+ amount: z.number().positive(),
165
+ vendor: z.string().max(200).optional(),
166
+ invoiceNumber: z.string().max(100).optional(),
167
+ purchaseOrderNumber: z.string().max(100).optional(),
168
+ date: z.string().datetime(),
169
+ dueDate: z.string().datetime().optional(),
170
+ attachments: z.array(z.string().uuid()).default([]),
171
+ });
172
+ export const UpdateExpenseRequestSchema = z.object({
173
+ description: z.string().min(1).max(500).optional(),
174
+ amount: z.number().positive().optional(),
175
+ vendor: z.string().max(200).optional(),
176
+ invoiceNumber: z.string().max(100).optional(),
177
+ dueDate: z.string().datetime().optional(),
178
+ status: z.enum(['PENDING', 'APPROVED', 'PAID', 'REJECTED']).optional(),
179
+ attachments: z.array(z.string().uuid()).optional(),
180
+ });
181
+ export const CreateChangeOrderRequestSchema = z.object({
182
+ changeOrderNumber: z.string().min(1).max(50),
183
+ title: z.string().min(1).max(300),
184
+ description: z.string().max(2000),
185
+ reason: z.enum([
186
+ 'SCOPE_CHANGE',
187
+ 'DESIGN_CHANGE',
188
+ 'UNFORESEEN_CONDITIONS',
189
+ 'CLIENT_REQUEST',
190
+ 'REGULATORY_REQUIREMENT',
191
+ 'OTHER',
192
+ ]),
193
+ type: z.enum(['ADDITION', 'DEDUCTION', 'MODIFICATION']),
194
+ budgetImpact: z.number(),
195
+ scheduleImpact: z.number().optional(),
196
+ documents: z.array(z.string().uuid()).default([]),
197
+ });
198
+ export const UpdateChangeOrderRequestSchema = z.object({
199
+ title: z.string().min(1).max(300).optional(),
200
+ description: z.string().max(2000).optional(),
201
+ reason: z
202
+ .enum([
203
+ 'SCOPE_CHANGE',
204
+ 'DESIGN_CHANGE',
205
+ 'UNFORESEEN_CONDITIONS',
206
+ 'CLIENT_REQUEST',
207
+ 'REGULATORY_REQUIREMENT',
208
+ 'OTHER',
209
+ ])
210
+ .optional(),
211
+ type: z.enum(['ADDITION', 'DEDUCTION', 'MODIFICATION']).optional(),
212
+ budgetImpact: z.number().optional(),
213
+ scheduleImpact: z.number().optional(),
214
+ status: z.enum(['DRAFT', 'SUBMITTED', 'UNDER_REVIEW', 'APPROVED', 'REJECTED']).optional(),
215
+ documents: z.array(z.string().uuid()).optional(),
216
+ });
217
+ export const CreatePurchaseOrderRequestSchema = z.object({
218
+ poNumber: z.string().min(1).max(50),
219
+ vendor: z.string().min(1).max(200),
220
+ vendorContact: z.string().max(200).optional(),
221
+ description: z.string().max(1000),
222
+ orderDate: z.string().datetime(),
223
+ expectedDelivery: z.string().datetime().optional(),
224
+ items: z.array(z.object({
225
+ description: z.string(),
226
+ quantity: z.number().positive(),
227
+ unitPrice: z.number().positive(),
228
+ totalPrice: z.number().positive(),
229
+ })),
230
+ });
231
+ // Budget Summary Schema
232
+ export const BudgetSummarySchema = z.object({
233
+ projectId: z.string().uuid(),
234
+ totalBudget: z.number(),
235
+ approvedBudget: z.number(),
236
+ committedAmount: z.number(),
237
+ spentAmount: z.number(),
238
+ remainingAmount: z.number(),
239
+ contingency: z.number(),
240
+ utilizationPercentage: z.number(),
241
+ categoryBreakdown: z.array(z.object({
242
+ category: z.string(),
243
+ allocated: z.number(),
244
+ spent: z.number(),
245
+ committed: z.number(),
246
+ remaining: z.number(),
247
+ })),
248
+ });
249
+ // Filter Schemas
250
+ export const ExpenseFiltersSchema = z.object({
251
+ page: z.string().optional(),
252
+ limit: z.string().optional(),
253
+ type: z
254
+ .enum([
255
+ 'INVOICE',
256
+ 'PURCHASE_ORDER',
257
+ 'MATERIAL_COST',
258
+ 'LABOR_COST',
259
+ 'EQUIPMENT_RENTAL',
260
+ 'SUBCONTRACTOR_PAYMENT',
261
+ 'OTHER',
262
+ ])
263
+ .optional(),
264
+ status: z.enum(['PENDING', 'APPROVED', 'PAID', 'REJECTED']).optional(),
265
+ vendor: z.string().optional(),
266
+ dateFrom: z.string().datetime().optional(),
267
+ dateTo: z.string().datetime().optional(),
268
+ amountMin: z.number().optional(),
269
+ amountMax: z.number().optional(),
270
+ search: z.string().optional(),
271
+ });
272
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../../src/schemas/budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,358 @@
1
+ import { z } from 'zod';
2
+ export declare const CommercialBandSchema: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
3
+ export declare const QuoteStatusSchema: z.ZodEnum<["DRAFT", "SENT", "ACCEPTED", "DECLINED", "EXPIRED"]>;
4
+ export declare const SubscriptionStatusSchema: z.ZodEnum<["TRIALING", "ACTIVE", "PAST_DUE", "CANCELLED"]>;
5
+ export declare const CommercialPlanSchema: z.ZodObject<{
6
+ id: z.ZodString;
7
+ companyId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ band: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
9
+ currency: z.ZodString;
10
+ monthlyPrice: z.ZodNumber;
11
+ freeClientSeats: z.ZodNumber;
12
+ freeConsultantSeats: z.ZodNumber;
13
+ isActive: z.ZodBoolean;
14
+ createdAt: z.ZodString;
15
+ updatedAt: z.ZodString;
16
+ }, "strip", z.ZodTypeAny, {
17
+ id: string;
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ isActive: boolean;
21
+ monthlyPrice: number;
22
+ currency: string;
23
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
24
+ freeClientSeats: number;
25
+ freeConsultantSeats: number;
26
+ companyId?: string | null | undefined;
27
+ }, {
28
+ id: string;
29
+ createdAt: string;
30
+ updatedAt: string;
31
+ isActive: boolean;
32
+ monthlyPrice: number;
33
+ currency: string;
34
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
35
+ freeClientSeats: number;
36
+ freeConsultantSeats: number;
37
+ companyId?: string | null | undefined;
38
+ }>;
39
+ export declare const CommercialQuoteSchema: z.ZodObject<{
40
+ id: z.ZodString;
41
+ companyId: z.ZodString;
42
+ band: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
43
+ amount: z.ZodNumber;
44
+ currency: z.ZodString;
45
+ status: z.ZodEnum<["DRAFT", "SENT", "ACCEPTED", "DECLINED", "EXPIRED"]>;
46
+ validUntil: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
+ createdById: z.ZodString;
49
+ createdAt: z.ZodString;
50
+ updatedAt: z.ZodString;
51
+ }, "strip", z.ZodTypeAny, {
52
+ id: string;
53
+ createdAt: string;
54
+ updatedAt: string;
55
+ companyId: string;
56
+ status: "DRAFT" | "SENT" | "ACCEPTED" | "DECLINED" | "EXPIRED";
57
+ currency: string;
58
+ amount: number;
59
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
60
+ createdById: string;
61
+ notes?: string | null | undefined;
62
+ validUntil?: string | null | undefined;
63
+ }, {
64
+ id: string;
65
+ createdAt: string;
66
+ updatedAt: string;
67
+ companyId: string;
68
+ status: "DRAFT" | "SENT" | "ACCEPTED" | "DECLINED" | "EXPIRED";
69
+ currency: string;
70
+ amount: number;
71
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
72
+ createdById: string;
73
+ notes?: string | null | undefined;
74
+ validUntil?: string | null | undefined;
75
+ }>;
76
+ export declare const CommercialSubscriptionSchema: z.ZodObject<{
77
+ id: z.ZodString;
78
+ companyId: z.ZodString;
79
+ planId: z.ZodString;
80
+ status: z.ZodEnum<["TRIALING", "ACTIVE", "PAST_DUE", "CANCELLED"]>;
81
+ startedAt: z.ZodString;
82
+ endsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ clientSeatsUsed: z.ZodNumber;
84
+ consultantSeatsUsed: z.ZodNumber;
85
+ createdAt: z.ZodString;
86
+ updatedAt: z.ZodString;
87
+ }, "strip", z.ZodTypeAny, {
88
+ id: string;
89
+ createdAt: string;
90
+ updatedAt: string;
91
+ companyId: string;
92
+ status: "ACTIVE" | "CANCELLED" | "TRIALING" | "PAST_DUE";
93
+ planId: string;
94
+ startedAt: string;
95
+ clientSeatsUsed: number;
96
+ consultantSeatsUsed: number;
97
+ endsAt?: string | null | undefined;
98
+ }, {
99
+ id: string;
100
+ createdAt: string;
101
+ updatedAt: string;
102
+ companyId: string;
103
+ status: "ACTIVE" | "CANCELLED" | "TRIALING" | "PAST_DUE";
104
+ planId: string;
105
+ startedAt: string;
106
+ clientSeatsUsed: number;
107
+ consultantSeatsUsed: number;
108
+ endsAt?: string | null | undefined;
109
+ }>;
110
+ export declare const CreateQuoteRequestSchema: z.ZodObject<{
111
+ band: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
112
+ amount: z.ZodNumber;
113
+ currency: z.ZodDefault<z.ZodString>;
114
+ validUntil: z.ZodOptional<z.ZodString>;
115
+ notes: z.ZodOptional<z.ZodString>;
116
+ }, "strip", z.ZodTypeAny, {
117
+ currency: string;
118
+ amount: number;
119
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
120
+ notes?: string | undefined;
121
+ validUntil?: string | undefined;
122
+ }, {
123
+ amount: number;
124
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
125
+ currency?: string | undefined;
126
+ notes?: string | undefined;
127
+ validUntil?: string | undefined;
128
+ }>;
129
+ export declare const CreateSubscriptionRequestSchema: z.ZodObject<{
130
+ planId: z.ZodString;
131
+ }, "strip", z.ZodTypeAny, {
132
+ planId: string;
133
+ }, {
134
+ planId: string;
135
+ }>;
136
+ export declare const UpsertPlanRequestSchema: z.ZodObject<{
137
+ band: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
138
+ monthlyPrice: z.ZodNumber;
139
+ currency: z.ZodDefault<z.ZodString>;
140
+ freeClientSeats: z.ZodDefault<z.ZodNumber>;
141
+ freeConsultantSeats: z.ZodDefault<z.ZodNumber>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ monthlyPrice: number;
144
+ currency: string;
145
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
146
+ freeClientSeats: number;
147
+ freeConsultantSeats: number;
148
+ }, {
149
+ monthlyPrice: number;
150
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
151
+ currency?: string | undefined;
152
+ freeClientSeats?: number | undefined;
153
+ freeConsultantSeats?: number | undefined;
154
+ }>;
155
+ export declare const CommercialPlanResourceSchema: z.ZodObject<{
156
+ type: z.ZodLiteral<"commercial-plans">;
157
+ id: z.ZodString;
158
+ attributes: z.ZodObject<Omit<{
159
+ id: z.ZodString;
160
+ companyId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
161
+ band: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
162
+ currency: z.ZodString;
163
+ monthlyPrice: z.ZodNumber;
164
+ freeClientSeats: z.ZodNumber;
165
+ freeConsultantSeats: z.ZodNumber;
166
+ isActive: z.ZodBoolean;
167
+ createdAt: z.ZodString;
168
+ updatedAt: z.ZodString;
169
+ }, "id">, "strip", z.ZodTypeAny, {
170
+ createdAt: string;
171
+ updatedAt: string;
172
+ isActive: boolean;
173
+ monthlyPrice: number;
174
+ currency: string;
175
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
176
+ freeClientSeats: number;
177
+ freeConsultantSeats: number;
178
+ companyId?: string | null | undefined;
179
+ }, {
180
+ createdAt: string;
181
+ updatedAt: string;
182
+ isActive: boolean;
183
+ monthlyPrice: number;
184
+ currency: string;
185
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
186
+ freeClientSeats: number;
187
+ freeConsultantSeats: number;
188
+ companyId?: string | null | undefined;
189
+ }>;
190
+ }, "strip", z.ZodTypeAny, {
191
+ id: string;
192
+ type: "commercial-plans";
193
+ attributes: {
194
+ createdAt: string;
195
+ updatedAt: string;
196
+ isActive: boolean;
197
+ monthlyPrice: number;
198
+ currency: string;
199
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
200
+ freeClientSeats: number;
201
+ freeConsultantSeats: number;
202
+ companyId?: string | null | undefined;
203
+ };
204
+ }, {
205
+ id: string;
206
+ type: "commercial-plans";
207
+ attributes: {
208
+ createdAt: string;
209
+ updatedAt: string;
210
+ isActive: boolean;
211
+ monthlyPrice: number;
212
+ currency: string;
213
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
214
+ freeClientSeats: number;
215
+ freeConsultantSeats: number;
216
+ companyId?: string | null | undefined;
217
+ };
218
+ }>;
219
+ export declare const CommercialQuoteResourceSchema: z.ZodObject<{
220
+ type: z.ZodLiteral<"commercial-quotes">;
221
+ id: z.ZodString;
222
+ attributes: z.ZodObject<Omit<{
223
+ id: z.ZodString;
224
+ companyId: z.ZodString;
225
+ band: z.ZodEnum<["STARTER", "GROWTH", "SCALE", "ENTERPRISE"]>;
226
+ amount: z.ZodNumber;
227
+ currency: z.ZodString;
228
+ status: z.ZodEnum<["DRAFT", "SENT", "ACCEPTED", "DECLINED", "EXPIRED"]>;
229
+ validUntil: z.ZodOptional<z.ZodNullable<z.ZodString>>;
230
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
231
+ createdById: z.ZodString;
232
+ createdAt: z.ZodString;
233
+ updatedAt: z.ZodString;
234
+ }, "id">, "strip", z.ZodTypeAny, {
235
+ createdAt: string;
236
+ updatedAt: string;
237
+ companyId: string;
238
+ status: "DRAFT" | "SENT" | "ACCEPTED" | "DECLINED" | "EXPIRED";
239
+ currency: string;
240
+ amount: number;
241
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
242
+ createdById: string;
243
+ notes?: string | null | undefined;
244
+ validUntil?: string | null | undefined;
245
+ }, {
246
+ createdAt: string;
247
+ updatedAt: string;
248
+ companyId: string;
249
+ status: "DRAFT" | "SENT" | "ACCEPTED" | "DECLINED" | "EXPIRED";
250
+ currency: string;
251
+ amount: number;
252
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
253
+ createdById: string;
254
+ notes?: string | null | undefined;
255
+ validUntil?: string | null | undefined;
256
+ }>;
257
+ }, "strip", z.ZodTypeAny, {
258
+ id: string;
259
+ type: "commercial-quotes";
260
+ attributes: {
261
+ createdAt: string;
262
+ updatedAt: string;
263
+ companyId: string;
264
+ status: "DRAFT" | "SENT" | "ACCEPTED" | "DECLINED" | "EXPIRED";
265
+ currency: string;
266
+ amount: number;
267
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
268
+ createdById: string;
269
+ notes?: string | null | undefined;
270
+ validUntil?: string | null | undefined;
271
+ };
272
+ }, {
273
+ id: string;
274
+ type: "commercial-quotes";
275
+ attributes: {
276
+ createdAt: string;
277
+ updatedAt: string;
278
+ companyId: string;
279
+ status: "DRAFT" | "SENT" | "ACCEPTED" | "DECLINED" | "EXPIRED";
280
+ currency: string;
281
+ amount: number;
282
+ band: "ENTERPRISE" | "STARTER" | "GROWTH" | "SCALE";
283
+ createdById: string;
284
+ notes?: string | null | undefined;
285
+ validUntil?: string | null | undefined;
286
+ };
287
+ }>;
288
+ export declare const CommercialSubscriptionResourceSchema: z.ZodObject<{
289
+ type: z.ZodLiteral<"commercial-subscriptions">;
290
+ id: z.ZodString;
291
+ attributes: z.ZodObject<Omit<{
292
+ id: z.ZodString;
293
+ companyId: z.ZodString;
294
+ planId: z.ZodString;
295
+ status: z.ZodEnum<["TRIALING", "ACTIVE", "PAST_DUE", "CANCELLED"]>;
296
+ startedAt: z.ZodString;
297
+ endsAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
298
+ clientSeatsUsed: z.ZodNumber;
299
+ consultantSeatsUsed: z.ZodNumber;
300
+ createdAt: z.ZodString;
301
+ updatedAt: z.ZodString;
302
+ }, "id">, "strip", z.ZodTypeAny, {
303
+ createdAt: string;
304
+ updatedAt: string;
305
+ companyId: string;
306
+ status: "ACTIVE" | "CANCELLED" | "TRIALING" | "PAST_DUE";
307
+ planId: string;
308
+ startedAt: string;
309
+ clientSeatsUsed: number;
310
+ consultantSeatsUsed: number;
311
+ endsAt?: string | null | undefined;
312
+ }, {
313
+ createdAt: string;
314
+ updatedAt: string;
315
+ companyId: string;
316
+ status: "ACTIVE" | "CANCELLED" | "TRIALING" | "PAST_DUE";
317
+ planId: string;
318
+ startedAt: string;
319
+ clientSeatsUsed: number;
320
+ consultantSeatsUsed: number;
321
+ endsAt?: string | null | undefined;
322
+ }>;
323
+ }, "strip", z.ZodTypeAny, {
324
+ id: string;
325
+ type: "commercial-subscriptions";
326
+ attributes: {
327
+ createdAt: string;
328
+ updatedAt: string;
329
+ companyId: string;
330
+ status: "ACTIVE" | "CANCELLED" | "TRIALING" | "PAST_DUE";
331
+ planId: string;
332
+ startedAt: string;
333
+ clientSeatsUsed: number;
334
+ consultantSeatsUsed: number;
335
+ endsAt?: string | null | undefined;
336
+ };
337
+ }, {
338
+ id: string;
339
+ type: "commercial-subscriptions";
340
+ attributes: {
341
+ createdAt: string;
342
+ updatedAt: string;
343
+ companyId: string;
344
+ status: "ACTIVE" | "CANCELLED" | "TRIALING" | "PAST_DUE";
345
+ planId: string;
346
+ startedAt: string;
347
+ clientSeatsUsed: number;
348
+ consultantSeatsUsed: number;
349
+ endsAt?: string | null | undefined;
350
+ };
351
+ }>;
352
+ export type CommercialPlan = z.infer<typeof CommercialPlanSchema>;
353
+ export type CommercialQuote = z.infer<typeof CommercialQuoteSchema>;
354
+ export type CommercialSubscription = z.infer<typeof CommercialSubscriptionSchema>;
355
+ export type CreateQuoteRequest = z.infer<typeof CreateQuoteRequestSchema>;
356
+ export type CreateSubscriptionRequest = z.infer<typeof CreateSubscriptionRequestSchema>;
357
+ export type UpsertPlanRequest = z.infer<typeof UpsertPlanRequestSchema>;
358
+ //# sourceMappingURL=commercial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commercial.d.ts","sourceRoot":"","sources":["../../../src/schemas/commercial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,oBAAoB,yDAAoD,CAAC;AACtF,eAAO,MAAM,iBAAiB,iEAA2D,CAAC;AAC1F,eAAO,MAAM,wBAAwB,4DAAuD,CAAC;AAE7F,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;EAGnC,CAAC;AACH,eAAO,MAAM,+BAA+B;;;;;;EAAmC,CAAC;AAChF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;EAGlC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyH,CAAC;AACnK,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2H,CAAC;AACtK,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyI,CAAC;AAE3L,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}