@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,4194 @@
1
+ import { z } from 'zod';
2
+ import { CreateMeetingRequestSchema, MeetingFiltersSchema, MeetingSchema, UpdateMeetingMinutesRequestSchema } from '../schemas/meetings';
3
+ export declare const meetingsContract: {
4
+ getMeetings: {
5
+ pathParams: z.ZodObject<{
6
+ projectId: z.ZodString;
7
+ }, "strip", z.ZodTypeAny, {
8
+ projectId: string;
9
+ }, {
10
+ projectId: string;
11
+ }>;
12
+ query: z.ZodObject<{
13
+ page: z.ZodDefault<z.ZodNumber>;
14
+ limit: z.ZodDefault<z.ZodNumber>;
15
+ status: z.ZodOptional<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
16
+ type: z.ZodOptional<z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>>;
17
+ startDate: z.ZodOptional<z.ZodString>;
18
+ endDate: z.ZodOptional<z.ZodString>;
19
+ organizerId: z.ZodOptional<z.ZodString>;
20
+ search: z.ZodOptional<z.ZodString>;
21
+ companyId: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ page: number;
24
+ limit: number;
25
+ companyId?: string | undefined;
26
+ type?: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION" | undefined;
27
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
28
+ search?: string | undefined;
29
+ startDate?: string | undefined;
30
+ endDate?: string | undefined;
31
+ organizerId?: string | undefined;
32
+ }, {
33
+ companyId?: string | undefined;
34
+ type?: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION" | undefined;
35
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
36
+ page?: number | undefined;
37
+ limit?: number | undefined;
38
+ search?: string | undefined;
39
+ startDate?: string | undefined;
40
+ endDate?: string | undefined;
41
+ organizerId?: string | undefined;
42
+ }>;
43
+ summary: "Get meetings for a project with filtering";
44
+ method: "GET";
45
+ path: "/projects/:projectId/meetings";
46
+ responses: {
47
+ 200: z.ZodObject<{
48
+ data: z.ZodArray<z.ZodObject<{
49
+ type: z.ZodLiteral<"meetings">;
50
+ id: z.ZodString;
51
+ attributes: z.ZodObject<{
52
+ id: z.ZodString;
53
+ projectId: z.ZodString;
54
+ title: z.ZodString;
55
+ description: z.ZodOptional<z.ZodString>;
56
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
57
+ status: z.ZodDefault<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
58
+ startTime: z.ZodString;
59
+ endTime: z.ZodString;
60
+ location: z.ZodObject<{
61
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
62
+ address: z.ZodOptional<z.ZodString>;
63
+ room: z.ZodOptional<z.ZodString>;
64
+ virtualLink: z.ZodOptional<z.ZodString>;
65
+ notes: z.ZodOptional<z.ZodString>;
66
+ }, "strip", z.ZodTypeAny, {
67
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
68
+ notes?: string | undefined;
69
+ room?: string | undefined;
70
+ address?: string | undefined;
71
+ virtualLink?: string | undefined;
72
+ }, {
73
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
74
+ notes?: string | undefined;
75
+ room?: string | undefined;
76
+ address?: string | undefined;
77
+ virtualLink?: string | undefined;
78
+ }>;
79
+ organizerId: z.ZodString;
80
+ attendees: z.ZodArray<z.ZodObject<{
81
+ userId: z.ZodString;
82
+ status: z.ZodDefault<z.ZodEnum<["INVITED", "ACCEPTED", "DECLINED", "TENTATIVE", "NO_RESPONSE"]>>;
83
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL", "ORGANIZER"]>>;
84
+ notes: z.ZodOptional<z.ZodString>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
87
+ userId: string;
88
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
89
+ notes?: string | undefined;
90
+ }, {
91
+ userId: string;
92
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
93
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
94
+ notes?: string | undefined;
95
+ }>, "many">;
96
+ agenda: z.ZodDefault<z.ZodArray<z.ZodObject<{
97
+ id: z.ZodString;
98
+ title: z.ZodString;
99
+ description: z.ZodOptional<z.ZodString>;
100
+ duration: z.ZodNumber;
101
+ presenter: z.ZodOptional<z.ZodString>;
102
+ order: z.ZodNumber;
103
+ }, "strip", z.ZodTypeAny, {
104
+ id: string;
105
+ title: string;
106
+ order: number;
107
+ duration: number;
108
+ description?: string | undefined;
109
+ presenter?: string | undefined;
110
+ }, {
111
+ id: string;
112
+ title: string;
113
+ order: number;
114
+ duration: number;
115
+ description?: string | undefined;
116
+ presenter?: string | undefined;
117
+ }>, "many">>;
118
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
119
+ id: z.ZodString;
120
+ filename: z.ZodString;
121
+ fileSize: z.ZodNumber;
122
+ mimeType: z.ZodString;
123
+ url: z.ZodString;
124
+ uploadedBy: z.ZodString;
125
+ uploadedAt: z.ZodString;
126
+ }, "strip", z.ZodTypeAny, {
127
+ id: string;
128
+ filename: string;
129
+ url: string;
130
+ fileSize: number;
131
+ mimeType: string;
132
+ uploadedAt: string;
133
+ uploadedBy: string;
134
+ }, {
135
+ id: string;
136
+ filename: string;
137
+ url: string;
138
+ fileSize: number;
139
+ mimeType: string;
140
+ uploadedAt: string;
141
+ uploadedBy: string;
142
+ }>, "many">>;
143
+ minutes: z.ZodOptional<z.ZodString>;
144
+ actionItems: z.ZodDefault<z.ZodArray<z.ZodObject<{
145
+ id: z.ZodString;
146
+ title: z.ZodString;
147
+ description: z.ZodOptional<z.ZodString>;
148
+ assignedTo: z.ZodString;
149
+ dueDate: z.ZodOptional<z.ZodString>;
150
+ status: z.ZodDefault<z.ZodEnum<["OPEN", "IN_PROGRESS", "COMPLETED", "CANCELLED"]>>;
151
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
152
+ }, "strip", z.ZodTypeAny, {
153
+ id: string;
154
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
155
+ title: string;
156
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
157
+ assignedTo: string;
158
+ description?: string | undefined;
159
+ dueDate?: string | undefined;
160
+ }, {
161
+ id: string;
162
+ title: string;
163
+ assignedTo: string;
164
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
165
+ description?: string | undefined;
166
+ dueDate?: string | undefined;
167
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
168
+ }>, "many">>;
169
+ companyId: z.ZodString;
170
+ createdAt: z.ZodString;
171
+ updatedAt: z.ZodString;
172
+ }, "strip", z.ZodTypeAny, {
173
+ id: string;
174
+ createdAt: string;
175
+ updatedAt: string;
176
+ companyId: string;
177
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
178
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
179
+ title: string;
180
+ projectId: string;
181
+ attachments: {
182
+ id: string;
183
+ filename: string;
184
+ url: string;
185
+ fileSize: number;
186
+ mimeType: string;
187
+ uploadedAt: string;
188
+ uploadedBy: string;
189
+ }[];
190
+ location: {
191
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
192
+ notes?: string | undefined;
193
+ room?: string | undefined;
194
+ address?: string | undefined;
195
+ virtualLink?: string | undefined;
196
+ };
197
+ startTime: string;
198
+ endTime: string;
199
+ organizerId: string;
200
+ attendees: {
201
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
202
+ userId: string;
203
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
204
+ notes?: string | undefined;
205
+ }[];
206
+ agenda: {
207
+ id: string;
208
+ title: string;
209
+ order: number;
210
+ duration: number;
211
+ description?: string | undefined;
212
+ presenter?: string | undefined;
213
+ }[];
214
+ actionItems: {
215
+ id: string;
216
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
217
+ title: string;
218
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
219
+ assignedTo: string;
220
+ description?: string | undefined;
221
+ dueDate?: string | undefined;
222
+ }[];
223
+ description?: string | undefined;
224
+ minutes?: string | undefined;
225
+ }, {
226
+ id: string;
227
+ createdAt: string;
228
+ updatedAt: string;
229
+ companyId: string;
230
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
231
+ title: string;
232
+ projectId: string;
233
+ location: {
234
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
235
+ notes?: string | undefined;
236
+ room?: string | undefined;
237
+ address?: string | undefined;
238
+ virtualLink?: string | undefined;
239
+ };
240
+ startTime: string;
241
+ endTime: string;
242
+ organizerId: string;
243
+ attendees: {
244
+ userId: string;
245
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
246
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
247
+ notes?: string | undefined;
248
+ }[];
249
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
250
+ description?: string | undefined;
251
+ attachments?: {
252
+ id: string;
253
+ filename: string;
254
+ url: string;
255
+ fileSize: number;
256
+ mimeType: string;
257
+ uploadedAt: string;
258
+ uploadedBy: string;
259
+ }[] | undefined;
260
+ agenda?: {
261
+ id: string;
262
+ title: string;
263
+ order: number;
264
+ duration: number;
265
+ description?: string | undefined;
266
+ presenter?: string | undefined;
267
+ }[] | undefined;
268
+ minutes?: string | undefined;
269
+ actionItems?: {
270
+ id: string;
271
+ title: string;
272
+ assignedTo: string;
273
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
274
+ description?: string | undefined;
275
+ dueDate?: string | undefined;
276
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
277
+ }[] | undefined;
278
+ }>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ id: string;
281
+ type: "meetings";
282
+ attributes: {
283
+ id: string;
284
+ createdAt: string;
285
+ updatedAt: string;
286
+ companyId: string;
287
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
288
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
289
+ title: string;
290
+ projectId: string;
291
+ attachments: {
292
+ id: string;
293
+ filename: string;
294
+ url: string;
295
+ fileSize: number;
296
+ mimeType: string;
297
+ uploadedAt: string;
298
+ uploadedBy: string;
299
+ }[];
300
+ location: {
301
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
302
+ notes?: string | undefined;
303
+ room?: string | undefined;
304
+ address?: string | undefined;
305
+ virtualLink?: string | undefined;
306
+ };
307
+ startTime: string;
308
+ endTime: string;
309
+ organizerId: string;
310
+ attendees: {
311
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
312
+ userId: string;
313
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
314
+ notes?: string | undefined;
315
+ }[];
316
+ agenda: {
317
+ id: string;
318
+ title: string;
319
+ order: number;
320
+ duration: number;
321
+ description?: string | undefined;
322
+ presenter?: string | undefined;
323
+ }[];
324
+ actionItems: {
325
+ id: string;
326
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
327
+ title: string;
328
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
329
+ assignedTo: string;
330
+ description?: string | undefined;
331
+ dueDate?: string | undefined;
332
+ }[];
333
+ description?: string | undefined;
334
+ minutes?: string | undefined;
335
+ };
336
+ }, {
337
+ id: string;
338
+ type: "meetings";
339
+ attributes: {
340
+ id: string;
341
+ createdAt: string;
342
+ updatedAt: string;
343
+ companyId: string;
344
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
345
+ title: string;
346
+ projectId: string;
347
+ location: {
348
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
349
+ notes?: string | undefined;
350
+ room?: string | undefined;
351
+ address?: string | undefined;
352
+ virtualLink?: string | undefined;
353
+ };
354
+ startTime: string;
355
+ endTime: string;
356
+ organizerId: string;
357
+ attendees: {
358
+ userId: string;
359
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
360
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
361
+ notes?: string | undefined;
362
+ }[];
363
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
364
+ description?: string | undefined;
365
+ attachments?: {
366
+ id: string;
367
+ filename: string;
368
+ url: string;
369
+ fileSize: number;
370
+ mimeType: string;
371
+ uploadedAt: string;
372
+ uploadedBy: string;
373
+ }[] | undefined;
374
+ agenda?: {
375
+ id: string;
376
+ title: string;
377
+ order: number;
378
+ duration: number;
379
+ description?: string | undefined;
380
+ presenter?: string | undefined;
381
+ }[] | undefined;
382
+ minutes?: string | undefined;
383
+ actionItems?: {
384
+ id: string;
385
+ title: string;
386
+ assignedTo: string;
387
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
388
+ description?: string | undefined;
389
+ dueDate?: string | undefined;
390
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
391
+ }[] | undefined;
392
+ };
393
+ }>, "many">;
394
+ meta: z.ZodOptional<z.ZodObject<{
395
+ total: z.ZodOptional<z.ZodNumber>;
396
+ page: z.ZodOptional<z.ZodNumber>;
397
+ size: z.ZodOptional<z.ZodNumber>;
398
+ pages: z.ZodOptional<z.ZodNumber>;
399
+ hasNextPage: z.ZodOptional<z.ZodBoolean>;
400
+ hasPreviousPage: z.ZodOptional<z.ZodBoolean>;
401
+ }, "strip", z.ZodTypeAny, {
402
+ page?: number | undefined;
403
+ total?: number | undefined;
404
+ size?: number | undefined;
405
+ pages?: number | undefined;
406
+ hasNextPage?: boolean | undefined;
407
+ hasPreviousPage?: boolean | undefined;
408
+ }, {
409
+ page?: number | undefined;
410
+ total?: number | undefined;
411
+ size?: number | undefined;
412
+ pages?: number | undefined;
413
+ hasNextPage?: boolean | undefined;
414
+ hasPreviousPage?: boolean | undefined;
415
+ }>>;
416
+ links: z.ZodOptional<z.ZodObject<{
417
+ self: z.ZodString;
418
+ first: z.ZodOptional<z.ZodString>;
419
+ last: z.ZodOptional<z.ZodString>;
420
+ prev: z.ZodOptional<z.ZodString>;
421
+ next: z.ZodOptional<z.ZodString>;
422
+ }, "strip", z.ZodTypeAny, {
423
+ self: string;
424
+ first?: string | undefined;
425
+ last?: string | undefined;
426
+ prev?: string | undefined;
427
+ next?: string | undefined;
428
+ }, {
429
+ self: string;
430
+ first?: string | undefined;
431
+ last?: string | undefined;
432
+ prev?: string | undefined;
433
+ next?: string | undefined;
434
+ }>>;
435
+ }, "strip", z.ZodTypeAny, {
436
+ data: {
437
+ id: string;
438
+ type: "meetings";
439
+ attributes: {
440
+ id: string;
441
+ createdAt: string;
442
+ updatedAt: string;
443
+ companyId: string;
444
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
445
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
446
+ title: string;
447
+ projectId: string;
448
+ attachments: {
449
+ id: string;
450
+ filename: string;
451
+ url: string;
452
+ fileSize: number;
453
+ mimeType: string;
454
+ uploadedAt: string;
455
+ uploadedBy: string;
456
+ }[];
457
+ location: {
458
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
459
+ notes?: string | undefined;
460
+ room?: string | undefined;
461
+ address?: string | undefined;
462
+ virtualLink?: string | undefined;
463
+ };
464
+ startTime: string;
465
+ endTime: string;
466
+ organizerId: string;
467
+ attendees: {
468
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
469
+ userId: string;
470
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
471
+ notes?: string | undefined;
472
+ }[];
473
+ agenda: {
474
+ id: string;
475
+ title: string;
476
+ order: number;
477
+ duration: number;
478
+ description?: string | undefined;
479
+ presenter?: string | undefined;
480
+ }[];
481
+ actionItems: {
482
+ id: string;
483
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
484
+ title: string;
485
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
486
+ assignedTo: string;
487
+ description?: string | undefined;
488
+ dueDate?: string | undefined;
489
+ }[];
490
+ description?: string | undefined;
491
+ minutes?: string | undefined;
492
+ };
493
+ }[];
494
+ meta?: {
495
+ page?: number | undefined;
496
+ total?: number | undefined;
497
+ size?: number | undefined;
498
+ pages?: number | undefined;
499
+ hasNextPage?: boolean | undefined;
500
+ hasPreviousPage?: boolean | undefined;
501
+ } | undefined;
502
+ links?: {
503
+ self: string;
504
+ first?: string | undefined;
505
+ last?: string | undefined;
506
+ prev?: string | undefined;
507
+ next?: string | undefined;
508
+ } | undefined;
509
+ }, {
510
+ data: {
511
+ id: string;
512
+ type: "meetings";
513
+ attributes: {
514
+ id: string;
515
+ createdAt: string;
516
+ updatedAt: string;
517
+ companyId: string;
518
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
519
+ title: string;
520
+ projectId: string;
521
+ location: {
522
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
523
+ notes?: string | undefined;
524
+ room?: string | undefined;
525
+ address?: string | undefined;
526
+ virtualLink?: string | undefined;
527
+ };
528
+ startTime: string;
529
+ endTime: string;
530
+ organizerId: string;
531
+ attendees: {
532
+ userId: string;
533
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
534
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
535
+ notes?: string | undefined;
536
+ }[];
537
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
538
+ description?: string | undefined;
539
+ attachments?: {
540
+ id: string;
541
+ filename: string;
542
+ url: string;
543
+ fileSize: number;
544
+ mimeType: string;
545
+ uploadedAt: string;
546
+ uploadedBy: string;
547
+ }[] | undefined;
548
+ agenda?: {
549
+ id: string;
550
+ title: string;
551
+ order: number;
552
+ duration: number;
553
+ description?: string | undefined;
554
+ presenter?: string | undefined;
555
+ }[] | undefined;
556
+ minutes?: string | undefined;
557
+ actionItems?: {
558
+ id: string;
559
+ title: string;
560
+ assignedTo: string;
561
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
562
+ description?: string | undefined;
563
+ dueDate?: string | undefined;
564
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
565
+ }[] | undefined;
566
+ };
567
+ }[];
568
+ meta?: {
569
+ page?: number | undefined;
570
+ total?: number | undefined;
571
+ size?: number | undefined;
572
+ pages?: number | undefined;
573
+ hasNextPage?: boolean | undefined;
574
+ hasPreviousPage?: boolean | undefined;
575
+ } | undefined;
576
+ links?: {
577
+ self: string;
578
+ first?: string | undefined;
579
+ last?: string | undefined;
580
+ prev?: string | undefined;
581
+ next?: string | undefined;
582
+ } | undefined;
583
+ }>;
584
+ 401: z.ZodObject<{
585
+ errors: z.ZodArray<z.ZodObject<{
586
+ status: z.ZodString;
587
+ title: z.ZodString;
588
+ detail: z.ZodOptional<z.ZodString>;
589
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
590
+ }, "strip", z.ZodTypeAny, {
591
+ status: string;
592
+ title: string;
593
+ detail?: string | undefined;
594
+ meta?: Record<string, unknown> | undefined;
595
+ }, {
596
+ status: string;
597
+ title: string;
598
+ detail?: string | undefined;
599
+ meta?: Record<string, unknown> | undefined;
600
+ }>, "many">;
601
+ }, "strip", z.ZodTypeAny, {
602
+ errors: {
603
+ status: string;
604
+ title: string;
605
+ detail?: string | undefined;
606
+ meta?: Record<string, unknown> | undefined;
607
+ }[];
608
+ }, {
609
+ errors: {
610
+ status: string;
611
+ title: string;
612
+ detail?: string | undefined;
613
+ meta?: Record<string, unknown> | undefined;
614
+ }[];
615
+ }>;
616
+ 403: z.ZodObject<{
617
+ errors: z.ZodArray<z.ZodObject<{
618
+ status: z.ZodString;
619
+ title: z.ZodString;
620
+ detail: z.ZodOptional<z.ZodString>;
621
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
622
+ }, "strip", z.ZodTypeAny, {
623
+ status: string;
624
+ title: string;
625
+ detail?: string | undefined;
626
+ meta?: Record<string, unknown> | undefined;
627
+ }, {
628
+ status: string;
629
+ title: string;
630
+ detail?: string | undefined;
631
+ meta?: Record<string, unknown> | undefined;
632
+ }>, "many">;
633
+ }, "strip", z.ZodTypeAny, {
634
+ errors: {
635
+ status: string;
636
+ title: string;
637
+ detail?: string | undefined;
638
+ meta?: Record<string, unknown> | undefined;
639
+ }[];
640
+ }, {
641
+ errors: {
642
+ status: string;
643
+ title: string;
644
+ detail?: string | undefined;
645
+ meta?: Record<string, unknown> | undefined;
646
+ }[];
647
+ }>;
648
+ 404: z.ZodObject<{
649
+ errors: z.ZodArray<z.ZodObject<{
650
+ status: z.ZodString;
651
+ title: z.ZodString;
652
+ detail: z.ZodOptional<z.ZodString>;
653
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
654
+ }, "strip", z.ZodTypeAny, {
655
+ status: string;
656
+ title: string;
657
+ detail?: string | undefined;
658
+ meta?: Record<string, unknown> | undefined;
659
+ }, {
660
+ status: string;
661
+ title: string;
662
+ detail?: string | undefined;
663
+ meta?: Record<string, unknown> | undefined;
664
+ }>, "many">;
665
+ }, "strip", z.ZodTypeAny, {
666
+ errors: {
667
+ status: string;
668
+ title: string;
669
+ detail?: string | undefined;
670
+ meta?: Record<string, unknown> | undefined;
671
+ }[];
672
+ }, {
673
+ errors: {
674
+ status: string;
675
+ title: string;
676
+ detail?: string | undefined;
677
+ meta?: Record<string, unknown> | undefined;
678
+ }[];
679
+ }>;
680
+ };
681
+ };
682
+ createMeeting: {
683
+ pathParams: z.ZodObject<{
684
+ projectId: z.ZodString;
685
+ }, "strip", z.ZodTypeAny, {
686
+ projectId: string;
687
+ }, {
688
+ projectId: string;
689
+ }>;
690
+ query: z.ZodObject<{
691
+ companyId: z.ZodOptional<z.ZodString>;
692
+ }, "strip", z.ZodTypeAny, {
693
+ companyId?: string | undefined;
694
+ }, {
695
+ companyId?: string | undefined;
696
+ }>;
697
+ summary: "Create a new meeting";
698
+ method: "POST";
699
+ body: z.ZodObject<{
700
+ title: z.ZodString;
701
+ description: z.ZodOptional<z.ZodString>;
702
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
703
+ startTime: z.ZodString;
704
+ endTime: z.ZodString;
705
+ location: z.ZodObject<{
706
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
707
+ address: z.ZodOptional<z.ZodString>;
708
+ room: z.ZodOptional<z.ZodString>;
709
+ virtualLink: z.ZodOptional<z.ZodString>;
710
+ notes: z.ZodOptional<z.ZodString>;
711
+ }, "strip", z.ZodTypeAny, {
712
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
713
+ notes?: string | undefined;
714
+ room?: string | undefined;
715
+ address?: string | undefined;
716
+ virtualLink?: string | undefined;
717
+ }, {
718
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
719
+ notes?: string | undefined;
720
+ room?: string | undefined;
721
+ address?: string | undefined;
722
+ virtualLink?: string | undefined;
723
+ }>;
724
+ attendees: z.ZodArray<z.ZodObject<{
725
+ userId: z.ZodString;
726
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL"]>>;
727
+ notes: z.ZodOptional<z.ZodString>;
728
+ }, "strip", z.ZodTypeAny, {
729
+ userId: string;
730
+ role: "REQUIRED" | "OPTIONAL";
731
+ notes?: string | undefined;
732
+ }, {
733
+ userId: string;
734
+ role?: "REQUIRED" | "OPTIONAL" | undefined;
735
+ notes?: string | undefined;
736
+ }>, "many">;
737
+ agenda: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
738
+ title: z.ZodString;
739
+ description: z.ZodOptional<z.ZodString>;
740
+ duration: z.ZodNumber;
741
+ presenter: z.ZodOptional<z.ZodString>;
742
+ order: z.ZodNumber;
743
+ }, "strip", z.ZodTypeAny, {
744
+ title: string;
745
+ order: number;
746
+ duration: number;
747
+ description?: string | undefined;
748
+ presenter?: string | undefined;
749
+ }, {
750
+ title: string;
751
+ order: number;
752
+ duration: number;
753
+ description?: string | undefined;
754
+ presenter?: string | undefined;
755
+ }>, "many">>>;
756
+ }, "strip", z.ZodTypeAny, {
757
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
758
+ title: string;
759
+ location: {
760
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
761
+ notes?: string | undefined;
762
+ room?: string | undefined;
763
+ address?: string | undefined;
764
+ virtualLink?: string | undefined;
765
+ };
766
+ startTime: string;
767
+ endTime: string;
768
+ attendees: {
769
+ userId: string;
770
+ role: "REQUIRED" | "OPTIONAL";
771
+ notes?: string | undefined;
772
+ }[];
773
+ agenda: {
774
+ title: string;
775
+ order: number;
776
+ duration: number;
777
+ description?: string | undefined;
778
+ presenter?: string | undefined;
779
+ }[];
780
+ description?: string | undefined;
781
+ }, {
782
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
783
+ title: string;
784
+ location: {
785
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
786
+ notes?: string | undefined;
787
+ room?: string | undefined;
788
+ address?: string | undefined;
789
+ virtualLink?: string | undefined;
790
+ };
791
+ startTime: string;
792
+ endTime: string;
793
+ attendees: {
794
+ userId: string;
795
+ role?: "REQUIRED" | "OPTIONAL" | undefined;
796
+ notes?: string | undefined;
797
+ }[];
798
+ description?: string | undefined;
799
+ agenda?: {
800
+ title: string;
801
+ order: number;
802
+ duration: number;
803
+ description?: string | undefined;
804
+ presenter?: string | undefined;
805
+ }[] | undefined;
806
+ }>;
807
+ path: "/projects/:projectId/meetings";
808
+ responses: {
809
+ 201: z.ZodObject<{
810
+ data: z.ZodObject<{
811
+ type: z.ZodLiteral<"meetings">;
812
+ id: z.ZodString;
813
+ attributes: z.ZodObject<{
814
+ id: z.ZodString;
815
+ projectId: z.ZodString;
816
+ title: z.ZodString;
817
+ description: z.ZodOptional<z.ZodString>;
818
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
819
+ status: z.ZodDefault<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
820
+ startTime: z.ZodString;
821
+ endTime: z.ZodString;
822
+ location: z.ZodObject<{
823
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
824
+ address: z.ZodOptional<z.ZodString>;
825
+ room: z.ZodOptional<z.ZodString>;
826
+ virtualLink: z.ZodOptional<z.ZodString>;
827
+ notes: z.ZodOptional<z.ZodString>;
828
+ }, "strip", z.ZodTypeAny, {
829
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
830
+ notes?: string | undefined;
831
+ room?: string | undefined;
832
+ address?: string | undefined;
833
+ virtualLink?: string | undefined;
834
+ }, {
835
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
836
+ notes?: string | undefined;
837
+ room?: string | undefined;
838
+ address?: string | undefined;
839
+ virtualLink?: string | undefined;
840
+ }>;
841
+ organizerId: z.ZodString;
842
+ attendees: z.ZodArray<z.ZodObject<{
843
+ userId: z.ZodString;
844
+ status: z.ZodDefault<z.ZodEnum<["INVITED", "ACCEPTED", "DECLINED", "TENTATIVE", "NO_RESPONSE"]>>;
845
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL", "ORGANIZER"]>>;
846
+ notes: z.ZodOptional<z.ZodString>;
847
+ }, "strip", z.ZodTypeAny, {
848
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
849
+ userId: string;
850
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
851
+ notes?: string | undefined;
852
+ }, {
853
+ userId: string;
854
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
855
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
856
+ notes?: string | undefined;
857
+ }>, "many">;
858
+ agenda: z.ZodDefault<z.ZodArray<z.ZodObject<{
859
+ id: z.ZodString;
860
+ title: z.ZodString;
861
+ description: z.ZodOptional<z.ZodString>;
862
+ duration: z.ZodNumber;
863
+ presenter: z.ZodOptional<z.ZodString>;
864
+ order: z.ZodNumber;
865
+ }, "strip", z.ZodTypeAny, {
866
+ id: string;
867
+ title: string;
868
+ order: number;
869
+ duration: number;
870
+ description?: string | undefined;
871
+ presenter?: string | undefined;
872
+ }, {
873
+ id: string;
874
+ title: string;
875
+ order: number;
876
+ duration: number;
877
+ description?: string | undefined;
878
+ presenter?: string | undefined;
879
+ }>, "many">>;
880
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
881
+ id: z.ZodString;
882
+ filename: z.ZodString;
883
+ fileSize: z.ZodNumber;
884
+ mimeType: z.ZodString;
885
+ url: z.ZodString;
886
+ uploadedBy: z.ZodString;
887
+ uploadedAt: z.ZodString;
888
+ }, "strip", z.ZodTypeAny, {
889
+ id: string;
890
+ filename: string;
891
+ url: string;
892
+ fileSize: number;
893
+ mimeType: string;
894
+ uploadedAt: string;
895
+ uploadedBy: string;
896
+ }, {
897
+ id: string;
898
+ filename: string;
899
+ url: string;
900
+ fileSize: number;
901
+ mimeType: string;
902
+ uploadedAt: string;
903
+ uploadedBy: string;
904
+ }>, "many">>;
905
+ minutes: z.ZodOptional<z.ZodString>;
906
+ actionItems: z.ZodDefault<z.ZodArray<z.ZodObject<{
907
+ id: z.ZodString;
908
+ title: z.ZodString;
909
+ description: z.ZodOptional<z.ZodString>;
910
+ assignedTo: z.ZodString;
911
+ dueDate: z.ZodOptional<z.ZodString>;
912
+ status: z.ZodDefault<z.ZodEnum<["OPEN", "IN_PROGRESS", "COMPLETED", "CANCELLED"]>>;
913
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
914
+ }, "strip", z.ZodTypeAny, {
915
+ id: string;
916
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
917
+ title: string;
918
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
919
+ assignedTo: string;
920
+ description?: string | undefined;
921
+ dueDate?: string | undefined;
922
+ }, {
923
+ id: string;
924
+ title: string;
925
+ assignedTo: string;
926
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
927
+ description?: string | undefined;
928
+ dueDate?: string | undefined;
929
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
930
+ }>, "many">>;
931
+ companyId: z.ZodString;
932
+ createdAt: z.ZodString;
933
+ updatedAt: z.ZodString;
934
+ }, "strip", z.ZodTypeAny, {
935
+ id: string;
936
+ createdAt: string;
937
+ updatedAt: string;
938
+ companyId: string;
939
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
940
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
941
+ title: string;
942
+ projectId: string;
943
+ attachments: {
944
+ id: string;
945
+ filename: string;
946
+ url: string;
947
+ fileSize: number;
948
+ mimeType: string;
949
+ uploadedAt: string;
950
+ uploadedBy: string;
951
+ }[];
952
+ location: {
953
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
954
+ notes?: string | undefined;
955
+ room?: string | undefined;
956
+ address?: string | undefined;
957
+ virtualLink?: string | undefined;
958
+ };
959
+ startTime: string;
960
+ endTime: string;
961
+ organizerId: string;
962
+ attendees: {
963
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
964
+ userId: string;
965
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
966
+ notes?: string | undefined;
967
+ }[];
968
+ agenda: {
969
+ id: string;
970
+ title: string;
971
+ order: number;
972
+ duration: number;
973
+ description?: string | undefined;
974
+ presenter?: string | undefined;
975
+ }[];
976
+ actionItems: {
977
+ id: string;
978
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
979
+ title: string;
980
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
981
+ assignedTo: string;
982
+ description?: string | undefined;
983
+ dueDate?: string | undefined;
984
+ }[];
985
+ description?: string | undefined;
986
+ minutes?: string | undefined;
987
+ }, {
988
+ id: string;
989
+ createdAt: string;
990
+ updatedAt: string;
991
+ companyId: string;
992
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
993
+ title: string;
994
+ projectId: string;
995
+ location: {
996
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
997
+ notes?: string | undefined;
998
+ room?: string | undefined;
999
+ address?: string | undefined;
1000
+ virtualLink?: string | undefined;
1001
+ };
1002
+ startTime: string;
1003
+ endTime: string;
1004
+ organizerId: string;
1005
+ attendees: {
1006
+ userId: string;
1007
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1008
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1009
+ notes?: string | undefined;
1010
+ }[];
1011
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
1012
+ description?: string | undefined;
1013
+ attachments?: {
1014
+ id: string;
1015
+ filename: string;
1016
+ url: string;
1017
+ fileSize: number;
1018
+ mimeType: string;
1019
+ uploadedAt: string;
1020
+ uploadedBy: string;
1021
+ }[] | undefined;
1022
+ agenda?: {
1023
+ id: string;
1024
+ title: string;
1025
+ order: number;
1026
+ duration: number;
1027
+ description?: string | undefined;
1028
+ presenter?: string | undefined;
1029
+ }[] | undefined;
1030
+ minutes?: string | undefined;
1031
+ actionItems?: {
1032
+ id: string;
1033
+ title: string;
1034
+ assignedTo: string;
1035
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1036
+ description?: string | undefined;
1037
+ dueDate?: string | undefined;
1038
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
1039
+ }[] | undefined;
1040
+ }>;
1041
+ }, "strip", z.ZodTypeAny, {
1042
+ id: string;
1043
+ type: "meetings";
1044
+ attributes: {
1045
+ id: string;
1046
+ createdAt: string;
1047
+ updatedAt: string;
1048
+ companyId: string;
1049
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1050
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
1051
+ title: string;
1052
+ projectId: string;
1053
+ attachments: {
1054
+ id: string;
1055
+ filename: string;
1056
+ url: string;
1057
+ fileSize: number;
1058
+ mimeType: string;
1059
+ uploadedAt: string;
1060
+ uploadedBy: string;
1061
+ }[];
1062
+ location: {
1063
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1064
+ notes?: string | undefined;
1065
+ room?: string | undefined;
1066
+ address?: string | undefined;
1067
+ virtualLink?: string | undefined;
1068
+ };
1069
+ startTime: string;
1070
+ endTime: string;
1071
+ organizerId: string;
1072
+ attendees: {
1073
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
1074
+ userId: string;
1075
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
1076
+ notes?: string | undefined;
1077
+ }[];
1078
+ agenda: {
1079
+ id: string;
1080
+ title: string;
1081
+ order: number;
1082
+ duration: number;
1083
+ description?: string | undefined;
1084
+ presenter?: string | undefined;
1085
+ }[];
1086
+ actionItems: {
1087
+ id: string;
1088
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
1089
+ title: string;
1090
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
1091
+ assignedTo: string;
1092
+ description?: string | undefined;
1093
+ dueDate?: string | undefined;
1094
+ }[];
1095
+ description?: string | undefined;
1096
+ minutes?: string | undefined;
1097
+ };
1098
+ }, {
1099
+ id: string;
1100
+ type: "meetings";
1101
+ attributes: {
1102
+ id: string;
1103
+ createdAt: string;
1104
+ updatedAt: string;
1105
+ companyId: string;
1106
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1107
+ title: string;
1108
+ projectId: string;
1109
+ location: {
1110
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1111
+ notes?: string | undefined;
1112
+ room?: string | undefined;
1113
+ address?: string | undefined;
1114
+ virtualLink?: string | undefined;
1115
+ };
1116
+ startTime: string;
1117
+ endTime: string;
1118
+ organizerId: string;
1119
+ attendees: {
1120
+ userId: string;
1121
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1122
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1123
+ notes?: string | undefined;
1124
+ }[];
1125
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
1126
+ description?: string | undefined;
1127
+ attachments?: {
1128
+ id: string;
1129
+ filename: string;
1130
+ url: string;
1131
+ fileSize: number;
1132
+ mimeType: string;
1133
+ uploadedAt: string;
1134
+ uploadedBy: string;
1135
+ }[] | undefined;
1136
+ agenda?: {
1137
+ id: string;
1138
+ title: string;
1139
+ order: number;
1140
+ duration: number;
1141
+ description?: string | undefined;
1142
+ presenter?: string | undefined;
1143
+ }[] | undefined;
1144
+ minutes?: string | undefined;
1145
+ actionItems?: {
1146
+ id: string;
1147
+ title: string;
1148
+ assignedTo: string;
1149
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1150
+ description?: string | undefined;
1151
+ dueDate?: string | undefined;
1152
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
1153
+ }[] | undefined;
1154
+ };
1155
+ }>;
1156
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1157
+ links: z.ZodOptional<z.ZodObject<{
1158
+ self: z.ZodString;
1159
+ first: z.ZodOptional<z.ZodString>;
1160
+ last: z.ZodOptional<z.ZodString>;
1161
+ prev: z.ZodOptional<z.ZodString>;
1162
+ next: z.ZodOptional<z.ZodString>;
1163
+ }, "strip", z.ZodTypeAny, {
1164
+ self: string;
1165
+ first?: string | undefined;
1166
+ last?: string | undefined;
1167
+ prev?: string | undefined;
1168
+ next?: string | undefined;
1169
+ }, {
1170
+ self: string;
1171
+ first?: string | undefined;
1172
+ last?: string | undefined;
1173
+ prev?: string | undefined;
1174
+ next?: string | undefined;
1175
+ }>>;
1176
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
1177
+ status: z.ZodString;
1178
+ title: z.ZodString;
1179
+ detail: z.ZodOptional<z.ZodString>;
1180
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1181
+ }, "strip", z.ZodTypeAny, {
1182
+ status: string;
1183
+ title: string;
1184
+ detail?: string | undefined;
1185
+ meta?: Record<string, unknown> | undefined;
1186
+ }, {
1187
+ status: string;
1188
+ title: string;
1189
+ detail?: string | undefined;
1190
+ meta?: Record<string, unknown> | undefined;
1191
+ }>, "many">>;
1192
+ }, "strip", z.ZodTypeAny, {
1193
+ data: {
1194
+ id: string;
1195
+ type: "meetings";
1196
+ attributes: {
1197
+ id: string;
1198
+ createdAt: string;
1199
+ updatedAt: string;
1200
+ companyId: string;
1201
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1202
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
1203
+ title: string;
1204
+ projectId: string;
1205
+ attachments: {
1206
+ id: string;
1207
+ filename: string;
1208
+ url: string;
1209
+ fileSize: number;
1210
+ mimeType: string;
1211
+ uploadedAt: string;
1212
+ uploadedBy: string;
1213
+ }[];
1214
+ location: {
1215
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1216
+ notes?: string | undefined;
1217
+ room?: string | undefined;
1218
+ address?: string | undefined;
1219
+ virtualLink?: string | undefined;
1220
+ };
1221
+ startTime: string;
1222
+ endTime: string;
1223
+ organizerId: string;
1224
+ attendees: {
1225
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
1226
+ userId: string;
1227
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
1228
+ notes?: string | undefined;
1229
+ }[];
1230
+ agenda: {
1231
+ id: string;
1232
+ title: string;
1233
+ order: number;
1234
+ duration: number;
1235
+ description?: string | undefined;
1236
+ presenter?: string | undefined;
1237
+ }[];
1238
+ actionItems: {
1239
+ id: string;
1240
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
1241
+ title: string;
1242
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
1243
+ assignedTo: string;
1244
+ description?: string | undefined;
1245
+ dueDate?: string | undefined;
1246
+ }[];
1247
+ description?: string | undefined;
1248
+ minutes?: string | undefined;
1249
+ };
1250
+ };
1251
+ meta?: Record<string, unknown> | undefined;
1252
+ links?: {
1253
+ self: string;
1254
+ first?: string | undefined;
1255
+ last?: string | undefined;
1256
+ prev?: string | undefined;
1257
+ next?: string | undefined;
1258
+ } | undefined;
1259
+ errors?: {
1260
+ status: string;
1261
+ title: string;
1262
+ detail?: string | undefined;
1263
+ meta?: Record<string, unknown> | undefined;
1264
+ }[] | undefined;
1265
+ }, {
1266
+ data: {
1267
+ id: string;
1268
+ type: "meetings";
1269
+ attributes: {
1270
+ id: string;
1271
+ createdAt: string;
1272
+ updatedAt: string;
1273
+ companyId: string;
1274
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1275
+ title: string;
1276
+ projectId: string;
1277
+ location: {
1278
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1279
+ notes?: string | undefined;
1280
+ room?: string | undefined;
1281
+ address?: string | undefined;
1282
+ virtualLink?: string | undefined;
1283
+ };
1284
+ startTime: string;
1285
+ endTime: string;
1286
+ organizerId: string;
1287
+ attendees: {
1288
+ userId: string;
1289
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1290
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1291
+ notes?: string | undefined;
1292
+ }[];
1293
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
1294
+ description?: string | undefined;
1295
+ attachments?: {
1296
+ id: string;
1297
+ filename: string;
1298
+ url: string;
1299
+ fileSize: number;
1300
+ mimeType: string;
1301
+ uploadedAt: string;
1302
+ uploadedBy: string;
1303
+ }[] | undefined;
1304
+ agenda?: {
1305
+ id: string;
1306
+ title: string;
1307
+ order: number;
1308
+ duration: number;
1309
+ description?: string | undefined;
1310
+ presenter?: string | undefined;
1311
+ }[] | undefined;
1312
+ minutes?: string | undefined;
1313
+ actionItems?: {
1314
+ id: string;
1315
+ title: string;
1316
+ assignedTo: string;
1317
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1318
+ description?: string | undefined;
1319
+ dueDate?: string | undefined;
1320
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
1321
+ }[] | undefined;
1322
+ };
1323
+ };
1324
+ meta?: Record<string, unknown> | undefined;
1325
+ links?: {
1326
+ self: string;
1327
+ first?: string | undefined;
1328
+ last?: string | undefined;
1329
+ prev?: string | undefined;
1330
+ next?: string | undefined;
1331
+ } | undefined;
1332
+ errors?: {
1333
+ status: string;
1334
+ title: string;
1335
+ detail?: string | undefined;
1336
+ meta?: Record<string, unknown> | undefined;
1337
+ }[] | undefined;
1338
+ }>;
1339
+ 400: z.ZodObject<{
1340
+ errors: z.ZodArray<z.ZodObject<{
1341
+ status: z.ZodString;
1342
+ title: z.ZodString;
1343
+ detail: z.ZodOptional<z.ZodString>;
1344
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1345
+ }, "strip", z.ZodTypeAny, {
1346
+ status: string;
1347
+ title: string;
1348
+ detail?: string | undefined;
1349
+ meta?: Record<string, unknown> | undefined;
1350
+ }, {
1351
+ status: string;
1352
+ title: string;
1353
+ detail?: string | undefined;
1354
+ meta?: Record<string, unknown> | undefined;
1355
+ }>, "many">;
1356
+ }, "strip", z.ZodTypeAny, {
1357
+ errors: {
1358
+ status: string;
1359
+ title: string;
1360
+ detail?: string | undefined;
1361
+ meta?: Record<string, unknown> | undefined;
1362
+ }[];
1363
+ }, {
1364
+ errors: {
1365
+ status: string;
1366
+ title: string;
1367
+ detail?: string | undefined;
1368
+ meta?: Record<string, unknown> | undefined;
1369
+ }[];
1370
+ }>;
1371
+ 401: z.ZodObject<{
1372
+ errors: z.ZodArray<z.ZodObject<{
1373
+ status: z.ZodString;
1374
+ title: z.ZodString;
1375
+ detail: z.ZodOptional<z.ZodString>;
1376
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1377
+ }, "strip", z.ZodTypeAny, {
1378
+ status: string;
1379
+ title: string;
1380
+ detail?: string | undefined;
1381
+ meta?: Record<string, unknown> | undefined;
1382
+ }, {
1383
+ status: string;
1384
+ title: string;
1385
+ detail?: string | undefined;
1386
+ meta?: Record<string, unknown> | undefined;
1387
+ }>, "many">;
1388
+ }, "strip", z.ZodTypeAny, {
1389
+ errors: {
1390
+ status: string;
1391
+ title: string;
1392
+ detail?: string | undefined;
1393
+ meta?: Record<string, unknown> | undefined;
1394
+ }[];
1395
+ }, {
1396
+ errors: {
1397
+ status: string;
1398
+ title: string;
1399
+ detail?: string | undefined;
1400
+ meta?: Record<string, unknown> | undefined;
1401
+ }[];
1402
+ }>;
1403
+ 403: z.ZodObject<{
1404
+ errors: z.ZodArray<z.ZodObject<{
1405
+ status: z.ZodString;
1406
+ title: z.ZodString;
1407
+ detail: z.ZodOptional<z.ZodString>;
1408
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1409
+ }, "strip", z.ZodTypeAny, {
1410
+ status: string;
1411
+ title: string;
1412
+ detail?: string | undefined;
1413
+ meta?: Record<string, unknown> | undefined;
1414
+ }, {
1415
+ status: string;
1416
+ title: string;
1417
+ detail?: string | undefined;
1418
+ meta?: Record<string, unknown> | undefined;
1419
+ }>, "many">;
1420
+ }, "strip", z.ZodTypeAny, {
1421
+ errors: {
1422
+ status: string;
1423
+ title: string;
1424
+ detail?: string | undefined;
1425
+ meta?: Record<string, unknown> | undefined;
1426
+ }[];
1427
+ }, {
1428
+ errors: {
1429
+ status: string;
1430
+ title: string;
1431
+ detail?: string | undefined;
1432
+ meta?: Record<string, unknown> | undefined;
1433
+ }[];
1434
+ }>;
1435
+ 404: z.ZodObject<{
1436
+ errors: z.ZodArray<z.ZodObject<{
1437
+ status: z.ZodString;
1438
+ title: z.ZodString;
1439
+ detail: z.ZodOptional<z.ZodString>;
1440
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1441
+ }, "strip", z.ZodTypeAny, {
1442
+ status: string;
1443
+ title: string;
1444
+ detail?: string | undefined;
1445
+ meta?: Record<string, unknown> | undefined;
1446
+ }, {
1447
+ status: string;
1448
+ title: string;
1449
+ detail?: string | undefined;
1450
+ meta?: Record<string, unknown> | undefined;
1451
+ }>, "many">;
1452
+ }, "strip", z.ZodTypeAny, {
1453
+ errors: {
1454
+ status: string;
1455
+ title: string;
1456
+ detail?: string | undefined;
1457
+ meta?: Record<string, unknown> | undefined;
1458
+ }[];
1459
+ }, {
1460
+ errors: {
1461
+ status: string;
1462
+ title: string;
1463
+ detail?: string | undefined;
1464
+ meta?: Record<string, unknown> | undefined;
1465
+ }[];
1466
+ }>;
1467
+ };
1468
+ };
1469
+ getMeeting: {
1470
+ pathParams: z.ZodObject<{
1471
+ meetingId: z.ZodString;
1472
+ }, "strip", z.ZodTypeAny, {
1473
+ meetingId: string;
1474
+ }, {
1475
+ meetingId: string;
1476
+ }>;
1477
+ query: z.ZodObject<{
1478
+ companyId: z.ZodOptional<z.ZodString>;
1479
+ }, "strip", z.ZodTypeAny, {
1480
+ companyId?: string | undefined;
1481
+ }, {
1482
+ companyId?: string | undefined;
1483
+ }>;
1484
+ summary: "Get a specific meeting";
1485
+ method: "GET";
1486
+ path: "/meetings/:meetingId";
1487
+ responses: {
1488
+ 200: z.ZodObject<{
1489
+ data: z.ZodObject<{
1490
+ type: z.ZodLiteral<"meetings">;
1491
+ id: z.ZodString;
1492
+ attributes: z.ZodObject<{
1493
+ id: z.ZodString;
1494
+ projectId: z.ZodString;
1495
+ title: z.ZodString;
1496
+ description: z.ZodOptional<z.ZodString>;
1497
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
1498
+ status: z.ZodDefault<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
1499
+ startTime: z.ZodString;
1500
+ endTime: z.ZodString;
1501
+ location: z.ZodObject<{
1502
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
1503
+ address: z.ZodOptional<z.ZodString>;
1504
+ room: z.ZodOptional<z.ZodString>;
1505
+ virtualLink: z.ZodOptional<z.ZodString>;
1506
+ notes: z.ZodOptional<z.ZodString>;
1507
+ }, "strip", z.ZodTypeAny, {
1508
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1509
+ notes?: string | undefined;
1510
+ room?: string | undefined;
1511
+ address?: string | undefined;
1512
+ virtualLink?: string | undefined;
1513
+ }, {
1514
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1515
+ notes?: string | undefined;
1516
+ room?: string | undefined;
1517
+ address?: string | undefined;
1518
+ virtualLink?: string | undefined;
1519
+ }>;
1520
+ organizerId: z.ZodString;
1521
+ attendees: z.ZodArray<z.ZodObject<{
1522
+ userId: z.ZodString;
1523
+ status: z.ZodDefault<z.ZodEnum<["INVITED", "ACCEPTED", "DECLINED", "TENTATIVE", "NO_RESPONSE"]>>;
1524
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL", "ORGANIZER"]>>;
1525
+ notes: z.ZodOptional<z.ZodString>;
1526
+ }, "strip", z.ZodTypeAny, {
1527
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
1528
+ userId: string;
1529
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
1530
+ notes?: string | undefined;
1531
+ }, {
1532
+ userId: string;
1533
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1534
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1535
+ notes?: string | undefined;
1536
+ }>, "many">;
1537
+ agenda: z.ZodDefault<z.ZodArray<z.ZodObject<{
1538
+ id: z.ZodString;
1539
+ title: z.ZodString;
1540
+ description: z.ZodOptional<z.ZodString>;
1541
+ duration: z.ZodNumber;
1542
+ presenter: z.ZodOptional<z.ZodString>;
1543
+ order: z.ZodNumber;
1544
+ }, "strip", z.ZodTypeAny, {
1545
+ id: string;
1546
+ title: string;
1547
+ order: number;
1548
+ duration: number;
1549
+ description?: string | undefined;
1550
+ presenter?: string | undefined;
1551
+ }, {
1552
+ id: string;
1553
+ title: string;
1554
+ order: number;
1555
+ duration: number;
1556
+ description?: string | undefined;
1557
+ presenter?: string | undefined;
1558
+ }>, "many">>;
1559
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
1560
+ id: z.ZodString;
1561
+ filename: z.ZodString;
1562
+ fileSize: z.ZodNumber;
1563
+ mimeType: z.ZodString;
1564
+ url: z.ZodString;
1565
+ uploadedBy: z.ZodString;
1566
+ uploadedAt: z.ZodString;
1567
+ }, "strip", z.ZodTypeAny, {
1568
+ id: string;
1569
+ filename: string;
1570
+ url: string;
1571
+ fileSize: number;
1572
+ mimeType: string;
1573
+ uploadedAt: string;
1574
+ uploadedBy: string;
1575
+ }, {
1576
+ id: string;
1577
+ filename: string;
1578
+ url: string;
1579
+ fileSize: number;
1580
+ mimeType: string;
1581
+ uploadedAt: string;
1582
+ uploadedBy: string;
1583
+ }>, "many">>;
1584
+ minutes: z.ZodOptional<z.ZodString>;
1585
+ actionItems: z.ZodDefault<z.ZodArray<z.ZodObject<{
1586
+ id: z.ZodString;
1587
+ title: z.ZodString;
1588
+ description: z.ZodOptional<z.ZodString>;
1589
+ assignedTo: z.ZodString;
1590
+ dueDate: z.ZodOptional<z.ZodString>;
1591
+ status: z.ZodDefault<z.ZodEnum<["OPEN", "IN_PROGRESS", "COMPLETED", "CANCELLED"]>>;
1592
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
1593
+ }, "strip", z.ZodTypeAny, {
1594
+ id: string;
1595
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
1596
+ title: string;
1597
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
1598
+ assignedTo: string;
1599
+ description?: string | undefined;
1600
+ dueDate?: string | undefined;
1601
+ }, {
1602
+ id: string;
1603
+ title: string;
1604
+ assignedTo: string;
1605
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1606
+ description?: string | undefined;
1607
+ dueDate?: string | undefined;
1608
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
1609
+ }>, "many">>;
1610
+ companyId: z.ZodString;
1611
+ createdAt: z.ZodString;
1612
+ updatedAt: z.ZodString;
1613
+ }, "strip", z.ZodTypeAny, {
1614
+ id: string;
1615
+ createdAt: string;
1616
+ updatedAt: string;
1617
+ companyId: string;
1618
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1619
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
1620
+ title: string;
1621
+ projectId: string;
1622
+ attachments: {
1623
+ id: string;
1624
+ filename: string;
1625
+ url: string;
1626
+ fileSize: number;
1627
+ mimeType: string;
1628
+ uploadedAt: string;
1629
+ uploadedBy: string;
1630
+ }[];
1631
+ location: {
1632
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1633
+ notes?: string | undefined;
1634
+ room?: string | undefined;
1635
+ address?: string | undefined;
1636
+ virtualLink?: string | undefined;
1637
+ };
1638
+ startTime: string;
1639
+ endTime: string;
1640
+ organizerId: string;
1641
+ attendees: {
1642
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
1643
+ userId: string;
1644
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
1645
+ notes?: string | undefined;
1646
+ }[];
1647
+ agenda: {
1648
+ id: string;
1649
+ title: string;
1650
+ order: number;
1651
+ duration: number;
1652
+ description?: string | undefined;
1653
+ presenter?: string | undefined;
1654
+ }[];
1655
+ actionItems: {
1656
+ id: string;
1657
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
1658
+ title: string;
1659
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
1660
+ assignedTo: string;
1661
+ description?: string | undefined;
1662
+ dueDate?: string | undefined;
1663
+ }[];
1664
+ description?: string | undefined;
1665
+ minutes?: string | undefined;
1666
+ }, {
1667
+ id: string;
1668
+ createdAt: string;
1669
+ updatedAt: string;
1670
+ companyId: string;
1671
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1672
+ title: string;
1673
+ projectId: string;
1674
+ location: {
1675
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1676
+ notes?: string | undefined;
1677
+ room?: string | undefined;
1678
+ address?: string | undefined;
1679
+ virtualLink?: string | undefined;
1680
+ };
1681
+ startTime: string;
1682
+ endTime: string;
1683
+ organizerId: string;
1684
+ attendees: {
1685
+ userId: string;
1686
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1687
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1688
+ notes?: string | undefined;
1689
+ }[];
1690
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
1691
+ description?: string | undefined;
1692
+ attachments?: {
1693
+ id: string;
1694
+ filename: string;
1695
+ url: string;
1696
+ fileSize: number;
1697
+ mimeType: string;
1698
+ uploadedAt: string;
1699
+ uploadedBy: string;
1700
+ }[] | undefined;
1701
+ agenda?: {
1702
+ id: string;
1703
+ title: string;
1704
+ order: number;
1705
+ duration: number;
1706
+ description?: string | undefined;
1707
+ presenter?: string | undefined;
1708
+ }[] | undefined;
1709
+ minutes?: string | undefined;
1710
+ actionItems?: {
1711
+ id: string;
1712
+ title: string;
1713
+ assignedTo: string;
1714
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1715
+ description?: string | undefined;
1716
+ dueDate?: string | undefined;
1717
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
1718
+ }[] | undefined;
1719
+ }>;
1720
+ }, "strip", z.ZodTypeAny, {
1721
+ id: string;
1722
+ type: "meetings";
1723
+ attributes: {
1724
+ id: string;
1725
+ createdAt: string;
1726
+ updatedAt: string;
1727
+ companyId: string;
1728
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1729
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
1730
+ title: string;
1731
+ projectId: string;
1732
+ attachments: {
1733
+ id: string;
1734
+ filename: string;
1735
+ url: string;
1736
+ fileSize: number;
1737
+ mimeType: string;
1738
+ uploadedAt: string;
1739
+ uploadedBy: string;
1740
+ }[];
1741
+ location: {
1742
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1743
+ notes?: string | undefined;
1744
+ room?: string | undefined;
1745
+ address?: string | undefined;
1746
+ virtualLink?: string | undefined;
1747
+ };
1748
+ startTime: string;
1749
+ endTime: string;
1750
+ organizerId: string;
1751
+ attendees: {
1752
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
1753
+ userId: string;
1754
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
1755
+ notes?: string | undefined;
1756
+ }[];
1757
+ agenda: {
1758
+ id: string;
1759
+ title: string;
1760
+ order: number;
1761
+ duration: number;
1762
+ description?: string | undefined;
1763
+ presenter?: string | undefined;
1764
+ }[];
1765
+ actionItems: {
1766
+ id: string;
1767
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
1768
+ title: string;
1769
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
1770
+ assignedTo: string;
1771
+ description?: string | undefined;
1772
+ dueDate?: string | undefined;
1773
+ }[];
1774
+ description?: string | undefined;
1775
+ minutes?: string | undefined;
1776
+ };
1777
+ }, {
1778
+ id: string;
1779
+ type: "meetings";
1780
+ attributes: {
1781
+ id: string;
1782
+ createdAt: string;
1783
+ updatedAt: string;
1784
+ companyId: string;
1785
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1786
+ title: string;
1787
+ projectId: string;
1788
+ location: {
1789
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1790
+ notes?: string | undefined;
1791
+ room?: string | undefined;
1792
+ address?: string | undefined;
1793
+ virtualLink?: string | undefined;
1794
+ };
1795
+ startTime: string;
1796
+ endTime: string;
1797
+ organizerId: string;
1798
+ attendees: {
1799
+ userId: string;
1800
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1801
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1802
+ notes?: string | undefined;
1803
+ }[];
1804
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
1805
+ description?: string | undefined;
1806
+ attachments?: {
1807
+ id: string;
1808
+ filename: string;
1809
+ url: string;
1810
+ fileSize: number;
1811
+ mimeType: string;
1812
+ uploadedAt: string;
1813
+ uploadedBy: string;
1814
+ }[] | undefined;
1815
+ agenda?: {
1816
+ id: string;
1817
+ title: string;
1818
+ order: number;
1819
+ duration: number;
1820
+ description?: string | undefined;
1821
+ presenter?: string | undefined;
1822
+ }[] | undefined;
1823
+ minutes?: string | undefined;
1824
+ actionItems?: {
1825
+ id: string;
1826
+ title: string;
1827
+ assignedTo: string;
1828
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1829
+ description?: string | undefined;
1830
+ dueDate?: string | undefined;
1831
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
1832
+ }[] | undefined;
1833
+ };
1834
+ }>;
1835
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1836
+ links: z.ZodOptional<z.ZodObject<{
1837
+ self: z.ZodString;
1838
+ first: z.ZodOptional<z.ZodString>;
1839
+ last: z.ZodOptional<z.ZodString>;
1840
+ prev: z.ZodOptional<z.ZodString>;
1841
+ next: z.ZodOptional<z.ZodString>;
1842
+ }, "strip", z.ZodTypeAny, {
1843
+ self: string;
1844
+ first?: string | undefined;
1845
+ last?: string | undefined;
1846
+ prev?: string | undefined;
1847
+ next?: string | undefined;
1848
+ }, {
1849
+ self: string;
1850
+ first?: string | undefined;
1851
+ last?: string | undefined;
1852
+ prev?: string | undefined;
1853
+ next?: string | undefined;
1854
+ }>>;
1855
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
1856
+ status: z.ZodString;
1857
+ title: z.ZodString;
1858
+ detail: z.ZodOptional<z.ZodString>;
1859
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1860
+ }, "strip", z.ZodTypeAny, {
1861
+ status: string;
1862
+ title: string;
1863
+ detail?: string | undefined;
1864
+ meta?: Record<string, unknown> | undefined;
1865
+ }, {
1866
+ status: string;
1867
+ title: string;
1868
+ detail?: string | undefined;
1869
+ meta?: Record<string, unknown> | undefined;
1870
+ }>, "many">>;
1871
+ }, "strip", z.ZodTypeAny, {
1872
+ data: {
1873
+ id: string;
1874
+ type: "meetings";
1875
+ attributes: {
1876
+ id: string;
1877
+ createdAt: string;
1878
+ updatedAt: string;
1879
+ companyId: string;
1880
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1881
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
1882
+ title: string;
1883
+ projectId: string;
1884
+ attachments: {
1885
+ id: string;
1886
+ filename: string;
1887
+ url: string;
1888
+ fileSize: number;
1889
+ mimeType: string;
1890
+ uploadedAt: string;
1891
+ uploadedBy: string;
1892
+ }[];
1893
+ location: {
1894
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1895
+ notes?: string | undefined;
1896
+ room?: string | undefined;
1897
+ address?: string | undefined;
1898
+ virtualLink?: string | undefined;
1899
+ };
1900
+ startTime: string;
1901
+ endTime: string;
1902
+ organizerId: string;
1903
+ attendees: {
1904
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
1905
+ userId: string;
1906
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
1907
+ notes?: string | undefined;
1908
+ }[];
1909
+ agenda: {
1910
+ id: string;
1911
+ title: string;
1912
+ order: number;
1913
+ duration: number;
1914
+ description?: string | undefined;
1915
+ presenter?: string | undefined;
1916
+ }[];
1917
+ actionItems: {
1918
+ id: string;
1919
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
1920
+ title: string;
1921
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
1922
+ assignedTo: string;
1923
+ description?: string | undefined;
1924
+ dueDate?: string | undefined;
1925
+ }[];
1926
+ description?: string | undefined;
1927
+ minutes?: string | undefined;
1928
+ };
1929
+ };
1930
+ meta?: Record<string, unknown> | undefined;
1931
+ links?: {
1932
+ self: string;
1933
+ first?: string | undefined;
1934
+ last?: string | undefined;
1935
+ prev?: string | undefined;
1936
+ next?: string | undefined;
1937
+ } | undefined;
1938
+ errors?: {
1939
+ status: string;
1940
+ title: string;
1941
+ detail?: string | undefined;
1942
+ meta?: Record<string, unknown> | undefined;
1943
+ }[] | undefined;
1944
+ }, {
1945
+ data: {
1946
+ id: string;
1947
+ type: "meetings";
1948
+ attributes: {
1949
+ id: string;
1950
+ createdAt: string;
1951
+ updatedAt: string;
1952
+ companyId: string;
1953
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
1954
+ title: string;
1955
+ projectId: string;
1956
+ location: {
1957
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
1958
+ notes?: string | undefined;
1959
+ room?: string | undefined;
1960
+ address?: string | undefined;
1961
+ virtualLink?: string | undefined;
1962
+ };
1963
+ startTime: string;
1964
+ endTime: string;
1965
+ organizerId: string;
1966
+ attendees: {
1967
+ userId: string;
1968
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
1969
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
1970
+ notes?: string | undefined;
1971
+ }[];
1972
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
1973
+ description?: string | undefined;
1974
+ attachments?: {
1975
+ id: string;
1976
+ filename: string;
1977
+ url: string;
1978
+ fileSize: number;
1979
+ mimeType: string;
1980
+ uploadedAt: string;
1981
+ uploadedBy: string;
1982
+ }[] | undefined;
1983
+ agenda?: {
1984
+ id: string;
1985
+ title: string;
1986
+ order: number;
1987
+ duration: number;
1988
+ description?: string | undefined;
1989
+ presenter?: string | undefined;
1990
+ }[] | undefined;
1991
+ minutes?: string | undefined;
1992
+ actionItems?: {
1993
+ id: string;
1994
+ title: string;
1995
+ assignedTo: string;
1996
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
1997
+ description?: string | undefined;
1998
+ dueDate?: string | undefined;
1999
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
2000
+ }[] | undefined;
2001
+ };
2002
+ };
2003
+ meta?: Record<string, unknown> | undefined;
2004
+ links?: {
2005
+ self: string;
2006
+ first?: string | undefined;
2007
+ last?: string | undefined;
2008
+ prev?: string | undefined;
2009
+ next?: string | undefined;
2010
+ } | undefined;
2011
+ errors?: {
2012
+ status: string;
2013
+ title: string;
2014
+ detail?: string | undefined;
2015
+ meta?: Record<string, unknown> | undefined;
2016
+ }[] | undefined;
2017
+ }>;
2018
+ 401: z.ZodObject<{
2019
+ errors: z.ZodArray<z.ZodObject<{
2020
+ status: z.ZodString;
2021
+ title: z.ZodString;
2022
+ detail: z.ZodOptional<z.ZodString>;
2023
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2024
+ }, "strip", z.ZodTypeAny, {
2025
+ status: string;
2026
+ title: string;
2027
+ detail?: string | undefined;
2028
+ meta?: Record<string, unknown> | undefined;
2029
+ }, {
2030
+ status: string;
2031
+ title: string;
2032
+ detail?: string | undefined;
2033
+ meta?: Record<string, unknown> | undefined;
2034
+ }>, "many">;
2035
+ }, "strip", z.ZodTypeAny, {
2036
+ errors: {
2037
+ status: string;
2038
+ title: string;
2039
+ detail?: string | undefined;
2040
+ meta?: Record<string, unknown> | undefined;
2041
+ }[];
2042
+ }, {
2043
+ errors: {
2044
+ status: string;
2045
+ title: string;
2046
+ detail?: string | undefined;
2047
+ meta?: Record<string, unknown> | undefined;
2048
+ }[];
2049
+ }>;
2050
+ 403: z.ZodObject<{
2051
+ errors: z.ZodArray<z.ZodObject<{
2052
+ status: z.ZodString;
2053
+ title: z.ZodString;
2054
+ detail: z.ZodOptional<z.ZodString>;
2055
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2056
+ }, "strip", z.ZodTypeAny, {
2057
+ status: string;
2058
+ title: string;
2059
+ detail?: string | undefined;
2060
+ meta?: Record<string, unknown> | undefined;
2061
+ }, {
2062
+ status: string;
2063
+ title: string;
2064
+ detail?: string | undefined;
2065
+ meta?: Record<string, unknown> | undefined;
2066
+ }>, "many">;
2067
+ }, "strip", z.ZodTypeAny, {
2068
+ errors: {
2069
+ status: string;
2070
+ title: string;
2071
+ detail?: string | undefined;
2072
+ meta?: Record<string, unknown> | undefined;
2073
+ }[];
2074
+ }, {
2075
+ errors: {
2076
+ status: string;
2077
+ title: string;
2078
+ detail?: string | undefined;
2079
+ meta?: Record<string, unknown> | undefined;
2080
+ }[];
2081
+ }>;
2082
+ 404: z.ZodObject<{
2083
+ errors: z.ZodArray<z.ZodObject<{
2084
+ status: z.ZodString;
2085
+ title: z.ZodString;
2086
+ detail: z.ZodOptional<z.ZodString>;
2087
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2088
+ }, "strip", z.ZodTypeAny, {
2089
+ status: string;
2090
+ title: string;
2091
+ detail?: string | undefined;
2092
+ meta?: Record<string, unknown> | undefined;
2093
+ }, {
2094
+ status: string;
2095
+ title: string;
2096
+ detail?: string | undefined;
2097
+ meta?: Record<string, unknown> | undefined;
2098
+ }>, "many">;
2099
+ }, "strip", z.ZodTypeAny, {
2100
+ errors: {
2101
+ status: string;
2102
+ title: string;
2103
+ detail?: string | undefined;
2104
+ meta?: Record<string, unknown> | undefined;
2105
+ }[];
2106
+ }, {
2107
+ errors: {
2108
+ status: string;
2109
+ title: string;
2110
+ detail?: string | undefined;
2111
+ meta?: Record<string, unknown> | undefined;
2112
+ }[];
2113
+ }>;
2114
+ };
2115
+ };
2116
+ updateMeetingStatus: {
2117
+ pathParams: z.ZodObject<{
2118
+ meetingId: z.ZodString;
2119
+ }, "strip", z.ZodTypeAny, {
2120
+ meetingId: string;
2121
+ }, {
2122
+ meetingId: string;
2123
+ }>;
2124
+ query: z.ZodObject<{
2125
+ companyId: z.ZodOptional<z.ZodString>;
2126
+ }, "strip", z.ZodTypeAny, {
2127
+ companyId?: string | undefined;
2128
+ }, {
2129
+ companyId?: string | undefined;
2130
+ }>;
2131
+ summary: "Update meeting status";
2132
+ method: "PATCH";
2133
+ body: z.ZodObject<{
2134
+ status: z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>;
2135
+ notes: z.ZodOptional<z.ZodString>;
2136
+ }, "strip", z.ZodTypeAny, {
2137
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
2138
+ notes?: string | undefined;
2139
+ }, {
2140
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
2141
+ notes?: string | undefined;
2142
+ }>;
2143
+ path: "/meetings/:meetingId/status";
2144
+ responses: {
2145
+ 200: z.ZodObject<{
2146
+ data: z.ZodObject<{
2147
+ type: z.ZodLiteral<"meetings">;
2148
+ id: z.ZodString;
2149
+ attributes: z.ZodObject<{
2150
+ id: z.ZodString;
2151
+ projectId: z.ZodString;
2152
+ title: z.ZodString;
2153
+ description: z.ZodOptional<z.ZodString>;
2154
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
2155
+ status: z.ZodDefault<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
2156
+ startTime: z.ZodString;
2157
+ endTime: z.ZodString;
2158
+ location: z.ZodObject<{
2159
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
2160
+ address: z.ZodOptional<z.ZodString>;
2161
+ room: z.ZodOptional<z.ZodString>;
2162
+ virtualLink: z.ZodOptional<z.ZodString>;
2163
+ notes: z.ZodOptional<z.ZodString>;
2164
+ }, "strip", z.ZodTypeAny, {
2165
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2166
+ notes?: string | undefined;
2167
+ room?: string | undefined;
2168
+ address?: string | undefined;
2169
+ virtualLink?: string | undefined;
2170
+ }, {
2171
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2172
+ notes?: string | undefined;
2173
+ room?: string | undefined;
2174
+ address?: string | undefined;
2175
+ virtualLink?: string | undefined;
2176
+ }>;
2177
+ organizerId: z.ZodString;
2178
+ attendees: z.ZodArray<z.ZodObject<{
2179
+ userId: z.ZodString;
2180
+ status: z.ZodDefault<z.ZodEnum<["INVITED", "ACCEPTED", "DECLINED", "TENTATIVE", "NO_RESPONSE"]>>;
2181
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL", "ORGANIZER"]>>;
2182
+ notes: z.ZodOptional<z.ZodString>;
2183
+ }, "strip", z.ZodTypeAny, {
2184
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
2185
+ userId: string;
2186
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
2187
+ notes?: string | undefined;
2188
+ }, {
2189
+ userId: string;
2190
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
2191
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
2192
+ notes?: string | undefined;
2193
+ }>, "many">;
2194
+ agenda: z.ZodDefault<z.ZodArray<z.ZodObject<{
2195
+ id: z.ZodString;
2196
+ title: z.ZodString;
2197
+ description: z.ZodOptional<z.ZodString>;
2198
+ duration: z.ZodNumber;
2199
+ presenter: z.ZodOptional<z.ZodString>;
2200
+ order: z.ZodNumber;
2201
+ }, "strip", z.ZodTypeAny, {
2202
+ id: string;
2203
+ title: string;
2204
+ order: number;
2205
+ duration: number;
2206
+ description?: string | undefined;
2207
+ presenter?: string | undefined;
2208
+ }, {
2209
+ id: string;
2210
+ title: string;
2211
+ order: number;
2212
+ duration: number;
2213
+ description?: string | undefined;
2214
+ presenter?: string | undefined;
2215
+ }>, "many">>;
2216
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
2217
+ id: z.ZodString;
2218
+ filename: z.ZodString;
2219
+ fileSize: z.ZodNumber;
2220
+ mimeType: z.ZodString;
2221
+ url: z.ZodString;
2222
+ uploadedBy: z.ZodString;
2223
+ uploadedAt: z.ZodString;
2224
+ }, "strip", z.ZodTypeAny, {
2225
+ id: string;
2226
+ filename: string;
2227
+ url: string;
2228
+ fileSize: number;
2229
+ mimeType: string;
2230
+ uploadedAt: string;
2231
+ uploadedBy: string;
2232
+ }, {
2233
+ id: string;
2234
+ filename: string;
2235
+ url: string;
2236
+ fileSize: number;
2237
+ mimeType: string;
2238
+ uploadedAt: string;
2239
+ uploadedBy: string;
2240
+ }>, "many">>;
2241
+ minutes: z.ZodOptional<z.ZodString>;
2242
+ actionItems: z.ZodDefault<z.ZodArray<z.ZodObject<{
2243
+ id: z.ZodString;
2244
+ title: z.ZodString;
2245
+ description: z.ZodOptional<z.ZodString>;
2246
+ assignedTo: z.ZodString;
2247
+ dueDate: z.ZodOptional<z.ZodString>;
2248
+ status: z.ZodDefault<z.ZodEnum<["OPEN", "IN_PROGRESS", "COMPLETED", "CANCELLED"]>>;
2249
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
2250
+ }, "strip", z.ZodTypeAny, {
2251
+ id: string;
2252
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
2253
+ title: string;
2254
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
2255
+ assignedTo: string;
2256
+ description?: string | undefined;
2257
+ dueDate?: string | undefined;
2258
+ }, {
2259
+ id: string;
2260
+ title: string;
2261
+ assignedTo: string;
2262
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
2263
+ description?: string | undefined;
2264
+ dueDate?: string | undefined;
2265
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
2266
+ }>, "many">>;
2267
+ companyId: z.ZodString;
2268
+ createdAt: z.ZodString;
2269
+ updatedAt: z.ZodString;
2270
+ }, "strip", z.ZodTypeAny, {
2271
+ id: string;
2272
+ createdAt: string;
2273
+ updatedAt: string;
2274
+ companyId: string;
2275
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2276
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
2277
+ title: string;
2278
+ projectId: string;
2279
+ attachments: {
2280
+ id: string;
2281
+ filename: string;
2282
+ url: string;
2283
+ fileSize: number;
2284
+ mimeType: string;
2285
+ uploadedAt: string;
2286
+ uploadedBy: string;
2287
+ }[];
2288
+ location: {
2289
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2290
+ notes?: string | undefined;
2291
+ room?: string | undefined;
2292
+ address?: string | undefined;
2293
+ virtualLink?: string | undefined;
2294
+ };
2295
+ startTime: string;
2296
+ endTime: string;
2297
+ organizerId: string;
2298
+ attendees: {
2299
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
2300
+ userId: string;
2301
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
2302
+ notes?: string | undefined;
2303
+ }[];
2304
+ agenda: {
2305
+ id: string;
2306
+ title: string;
2307
+ order: number;
2308
+ duration: number;
2309
+ description?: string | undefined;
2310
+ presenter?: string | undefined;
2311
+ }[];
2312
+ actionItems: {
2313
+ id: string;
2314
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
2315
+ title: string;
2316
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
2317
+ assignedTo: string;
2318
+ description?: string | undefined;
2319
+ dueDate?: string | undefined;
2320
+ }[];
2321
+ description?: string | undefined;
2322
+ minutes?: string | undefined;
2323
+ }, {
2324
+ id: string;
2325
+ createdAt: string;
2326
+ updatedAt: string;
2327
+ companyId: string;
2328
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2329
+ title: string;
2330
+ projectId: string;
2331
+ location: {
2332
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2333
+ notes?: string | undefined;
2334
+ room?: string | undefined;
2335
+ address?: string | undefined;
2336
+ virtualLink?: string | undefined;
2337
+ };
2338
+ startTime: string;
2339
+ endTime: string;
2340
+ organizerId: string;
2341
+ attendees: {
2342
+ userId: string;
2343
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
2344
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
2345
+ notes?: string | undefined;
2346
+ }[];
2347
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
2348
+ description?: string | undefined;
2349
+ attachments?: {
2350
+ id: string;
2351
+ filename: string;
2352
+ url: string;
2353
+ fileSize: number;
2354
+ mimeType: string;
2355
+ uploadedAt: string;
2356
+ uploadedBy: string;
2357
+ }[] | undefined;
2358
+ agenda?: {
2359
+ id: string;
2360
+ title: string;
2361
+ order: number;
2362
+ duration: number;
2363
+ description?: string | undefined;
2364
+ presenter?: string | undefined;
2365
+ }[] | undefined;
2366
+ minutes?: string | undefined;
2367
+ actionItems?: {
2368
+ id: string;
2369
+ title: string;
2370
+ assignedTo: string;
2371
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
2372
+ description?: string | undefined;
2373
+ dueDate?: string | undefined;
2374
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
2375
+ }[] | undefined;
2376
+ }>;
2377
+ }, "strip", z.ZodTypeAny, {
2378
+ id: string;
2379
+ type: "meetings";
2380
+ attributes: {
2381
+ id: string;
2382
+ createdAt: string;
2383
+ updatedAt: string;
2384
+ companyId: string;
2385
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2386
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
2387
+ title: string;
2388
+ projectId: string;
2389
+ attachments: {
2390
+ id: string;
2391
+ filename: string;
2392
+ url: string;
2393
+ fileSize: number;
2394
+ mimeType: string;
2395
+ uploadedAt: string;
2396
+ uploadedBy: string;
2397
+ }[];
2398
+ location: {
2399
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2400
+ notes?: string | undefined;
2401
+ room?: string | undefined;
2402
+ address?: string | undefined;
2403
+ virtualLink?: string | undefined;
2404
+ };
2405
+ startTime: string;
2406
+ endTime: string;
2407
+ organizerId: string;
2408
+ attendees: {
2409
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
2410
+ userId: string;
2411
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
2412
+ notes?: string | undefined;
2413
+ }[];
2414
+ agenda: {
2415
+ id: string;
2416
+ title: string;
2417
+ order: number;
2418
+ duration: number;
2419
+ description?: string | undefined;
2420
+ presenter?: string | undefined;
2421
+ }[];
2422
+ actionItems: {
2423
+ id: string;
2424
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
2425
+ title: string;
2426
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
2427
+ assignedTo: string;
2428
+ description?: string | undefined;
2429
+ dueDate?: string | undefined;
2430
+ }[];
2431
+ description?: string | undefined;
2432
+ minutes?: string | undefined;
2433
+ };
2434
+ }, {
2435
+ id: string;
2436
+ type: "meetings";
2437
+ attributes: {
2438
+ id: string;
2439
+ createdAt: string;
2440
+ updatedAt: string;
2441
+ companyId: string;
2442
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2443
+ title: string;
2444
+ projectId: string;
2445
+ location: {
2446
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2447
+ notes?: string | undefined;
2448
+ room?: string | undefined;
2449
+ address?: string | undefined;
2450
+ virtualLink?: string | undefined;
2451
+ };
2452
+ startTime: string;
2453
+ endTime: string;
2454
+ organizerId: string;
2455
+ attendees: {
2456
+ userId: string;
2457
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
2458
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
2459
+ notes?: string | undefined;
2460
+ }[];
2461
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
2462
+ description?: string | undefined;
2463
+ attachments?: {
2464
+ id: string;
2465
+ filename: string;
2466
+ url: string;
2467
+ fileSize: number;
2468
+ mimeType: string;
2469
+ uploadedAt: string;
2470
+ uploadedBy: string;
2471
+ }[] | undefined;
2472
+ agenda?: {
2473
+ id: string;
2474
+ title: string;
2475
+ order: number;
2476
+ duration: number;
2477
+ description?: string | undefined;
2478
+ presenter?: string | undefined;
2479
+ }[] | undefined;
2480
+ minutes?: string | undefined;
2481
+ actionItems?: {
2482
+ id: string;
2483
+ title: string;
2484
+ assignedTo: string;
2485
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
2486
+ description?: string | undefined;
2487
+ dueDate?: string | undefined;
2488
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
2489
+ }[] | undefined;
2490
+ };
2491
+ }>;
2492
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2493
+ links: z.ZodOptional<z.ZodObject<{
2494
+ self: z.ZodString;
2495
+ first: z.ZodOptional<z.ZodString>;
2496
+ last: z.ZodOptional<z.ZodString>;
2497
+ prev: z.ZodOptional<z.ZodString>;
2498
+ next: z.ZodOptional<z.ZodString>;
2499
+ }, "strip", z.ZodTypeAny, {
2500
+ self: string;
2501
+ first?: string | undefined;
2502
+ last?: string | undefined;
2503
+ prev?: string | undefined;
2504
+ next?: string | undefined;
2505
+ }, {
2506
+ self: string;
2507
+ first?: string | undefined;
2508
+ last?: string | undefined;
2509
+ prev?: string | undefined;
2510
+ next?: string | undefined;
2511
+ }>>;
2512
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
2513
+ status: z.ZodString;
2514
+ title: z.ZodString;
2515
+ detail: z.ZodOptional<z.ZodString>;
2516
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2517
+ }, "strip", z.ZodTypeAny, {
2518
+ status: string;
2519
+ title: string;
2520
+ detail?: string | undefined;
2521
+ meta?: Record<string, unknown> | undefined;
2522
+ }, {
2523
+ status: string;
2524
+ title: string;
2525
+ detail?: string | undefined;
2526
+ meta?: Record<string, unknown> | undefined;
2527
+ }>, "many">>;
2528
+ }, "strip", z.ZodTypeAny, {
2529
+ data: {
2530
+ id: string;
2531
+ type: "meetings";
2532
+ attributes: {
2533
+ id: string;
2534
+ createdAt: string;
2535
+ updatedAt: string;
2536
+ companyId: string;
2537
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2538
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
2539
+ title: string;
2540
+ projectId: string;
2541
+ attachments: {
2542
+ id: string;
2543
+ filename: string;
2544
+ url: string;
2545
+ fileSize: number;
2546
+ mimeType: string;
2547
+ uploadedAt: string;
2548
+ uploadedBy: string;
2549
+ }[];
2550
+ location: {
2551
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2552
+ notes?: string | undefined;
2553
+ room?: string | undefined;
2554
+ address?: string | undefined;
2555
+ virtualLink?: string | undefined;
2556
+ };
2557
+ startTime: string;
2558
+ endTime: string;
2559
+ organizerId: string;
2560
+ attendees: {
2561
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
2562
+ userId: string;
2563
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
2564
+ notes?: string | undefined;
2565
+ }[];
2566
+ agenda: {
2567
+ id: string;
2568
+ title: string;
2569
+ order: number;
2570
+ duration: number;
2571
+ description?: string | undefined;
2572
+ presenter?: string | undefined;
2573
+ }[];
2574
+ actionItems: {
2575
+ id: string;
2576
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
2577
+ title: string;
2578
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
2579
+ assignedTo: string;
2580
+ description?: string | undefined;
2581
+ dueDate?: string | undefined;
2582
+ }[];
2583
+ description?: string | undefined;
2584
+ minutes?: string | undefined;
2585
+ };
2586
+ };
2587
+ meta?: Record<string, unknown> | undefined;
2588
+ links?: {
2589
+ self: string;
2590
+ first?: string | undefined;
2591
+ last?: string | undefined;
2592
+ prev?: string | undefined;
2593
+ next?: string | undefined;
2594
+ } | undefined;
2595
+ errors?: {
2596
+ status: string;
2597
+ title: string;
2598
+ detail?: string | undefined;
2599
+ meta?: Record<string, unknown> | undefined;
2600
+ }[] | undefined;
2601
+ }, {
2602
+ data: {
2603
+ id: string;
2604
+ type: "meetings";
2605
+ attributes: {
2606
+ id: string;
2607
+ createdAt: string;
2608
+ updatedAt: string;
2609
+ companyId: string;
2610
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2611
+ title: string;
2612
+ projectId: string;
2613
+ location: {
2614
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2615
+ notes?: string | undefined;
2616
+ room?: string | undefined;
2617
+ address?: string | undefined;
2618
+ virtualLink?: string | undefined;
2619
+ };
2620
+ startTime: string;
2621
+ endTime: string;
2622
+ organizerId: string;
2623
+ attendees: {
2624
+ userId: string;
2625
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
2626
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
2627
+ notes?: string | undefined;
2628
+ }[];
2629
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
2630
+ description?: string | undefined;
2631
+ attachments?: {
2632
+ id: string;
2633
+ filename: string;
2634
+ url: string;
2635
+ fileSize: number;
2636
+ mimeType: string;
2637
+ uploadedAt: string;
2638
+ uploadedBy: string;
2639
+ }[] | undefined;
2640
+ agenda?: {
2641
+ id: string;
2642
+ title: string;
2643
+ order: number;
2644
+ duration: number;
2645
+ description?: string | undefined;
2646
+ presenter?: string | undefined;
2647
+ }[] | undefined;
2648
+ minutes?: string | undefined;
2649
+ actionItems?: {
2650
+ id: string;
2651
+ title: string;
2652
+ assignedTo: string;
2653
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
2654
+ description?: string | undefined;
2655
+ dueDate?: string | undefined;
2656
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
2657
+ }[] | undefined;
2658
+ };
2659
+ };
2660
+ meta?: Record<string, unknown> | undefined;
2661
+ links?: {
2662
+ self: string;
2663
+ first?: string | undefined;
2664
+ last?: string | undefined;
2665
+ prev?: string | undefined;
2666
+ next?: string | undefined;
2667
+ } | undefined;
2668
+ errors?: {
2669
+ status: string;
2670
+ title: string;
2671
+ detail?: string | undefined;
2672
+ meta?: Record<string, unknown> | undefined;
2673
+ }[] | undefined;
2674
+ }>;
2675
+ 400: z.ZodObject<{
2676
+ errors: z.ZodArray<z.ZodObject<{
2677
+ status: z.ZodString;
2678
+ title: z.ZodString;
2679
+ detail: z.ZodOptional<z.ZodString>;
2680
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2681
+ }, "strip", z.ZodTypeAny, {
2682
+ status: string;
2683
+ title: string;
2684
+ detail?: string | undefined;
2685
+ meta?: Record<string, unknown> | undefined;
2686
+ }, {
2687
+ status: string;
2688
+ title: string;
2689
+ detail?: string | undefined;
2690
+ meta?: Record<string, unknown> | undefined;
2691
+ }>, "many">;
2692
+ }, "strip", z.ZodTypeAny, {
2693
+ errors: {
2694
+ status: string;
2695
+ title: string;
2696
+ detail?: string | undefined;
2697
+ meta?: Record<string, unknown> | undefined;
2698
+ }[];
2699
+ }, {
2700
+ errors: {
2701
+ status: string;
2702
+ title: string;
2703
+ detail?: string | undefined;
2704
+ meta?: Record<string, unknown> | undefined;
2705
+ }[];
2706
+ }>;
2707
+ 401: z.ZodObject<{
2708
+ errors: z.ZodArray<z.ZodObject<{
2709
+ status: z.ZodString;
2710
+ title: z.ZodString;
2711
+ detail: z.ZodOptional<z.ZodString>;
2712
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2713
+ }, "strip", z.ZodTypeAny, {
2714
+ status: string;
2715
+ title: string;
2716
+ detail?: string | undefined;
2717
+ meta?: Record<string, unknown> | undefined;
2718
+ }, {
2719
+ status: string;
2720
+ title: string;
2721
+ detail?: string | undefined;
2722
+ meta?: Record<string, unknown> | undefined;
2723
+ }>, "many">;
2724
+ }, "strip", z.ZodTypeAny, {
2725
+ errors: {
2726
+ status: string;
2727
+ title: string;
2728
+ detail?: string | undefined;
2729
+ meta?: Record<string, unknown> | undefined;
2730
+ }[];
2731
+ }, {
2732
+ errors: {
2733
+ status: string;
2734
+ title: string;
2735
+ detail?: string | undefined;
2736
+ meta?: Record<string, unknown> | undefined;
2737
+ }[];
2738
+ }>;
2739
+ 403: z.ZodObject<{
2740
+ errors: z.ZodArray<z.ZodObject<{
2741
+ status: z.ZodString;
2742
+ title: z.ZodString;
2743
+ detail: z.ZodOptional<z.ZodString>;
2744
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2745
+ }, "strip", z.ZodTypeAny, {
2746
+ status: string;
2747
+ title: string;
2748
+ detail?: string | undefined;
2749
+ meta?: Record<string, unknown> | undefined;
2750
+ }, {
2751
+ status: string;
2752
+ title: string;
2753
+ detail?: string | undefined;
2754
+ meta?: Record<string, unknown> | undefined;
2755
+ }>, "many">;
2756
+ }, "strip", z.ZodTypeAny, {
2757
+ errors: {
2758
+ status: string;
2759
+ title: string;
2760
+ detail?: string | undefined;
2761
+ meta?: Record<string, unknown> | undefined;
2762
+ }[];
2763
+ }, {
2764
+ errors: {
2765
+ status: string;
2766
+ title: string;
2767
+ detail?: string | undefined;
2768
+ meta?: Record<string, unknown> | undefined;
2769
+ }[];
2770
+ }>;
2771
+ 404: z.ZodObject<{
2772
+ errors: z.ZodArray<z.ZodObject<{
2773
+ status: z.ZodString;
2774
+ title: z.ZodString;
2775
+ detail: z.ZodOptional<z.ZodString>;
2776
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2777
+ }, "strip", z.ZodTypeAny, {
2778
+ status: string;
2779
+ title: string;
2780
+ detail?: string | undefined;
2781
+ meta?: Record<string, unknown> | undefined;
2782
+ }, {
2783
+ status: string;
2784
+ title: string;
2785
+ detail?: string | undefined;
2786
+ meta?: Record<string, unknown> | undefined;
2787
+ }>, "many">;
2788
+ }, "strip", z.ZodTypeAny, {
2789
+ errors: {
2790
+ status: string;
2791
+ title: string;
2792
+ detail?: string | undefined;
2793
+ meta?: Record<string, unknown> | undefined;
2794
+ }[];
2795
+ }, {
2796
+ errors: {
2797
+ status: string;
2798
+ title: string;
2799
+ detail?: string | undefined;
2800
+ meta?: Record<string, unknown> | undefined;
2801
+ }[];
2802
+ }>;
2803
+ };
2804
+ };
2805
+ updateMeetingMinutes: {
2806
+ pathParams: z.ZodObject<{
2807
+ meetingId: z.ZodString;
2808
+ }, "strip", z.ZodTypeAny, {
2809
+ meetingId: string;
2810
+ }, {
2811
+ meetingId: string;
2812
+ }>;
2813
+ query: z.ZodObject<{
2814
+ companyId: z.ZodOptional<z.ZodString>;
2815
+ }, "strip", z.ZodTypeAny, {
2816
+ companyId?: string | undefined;
2817
+ }, {
2818
+ companyId?: string | undefined;
2819
+ }>;
2820
+ summary: "Update meeting minutes";
2821
+ method: "PATCH";
2822
+ body: z.ZodObject<{
2823
+ minutes: z.ZodString;
2824
+ }, "strip", z.ZodTypeAny, {
2825
+ minutes: string;
2826
+ }, {
2827
+ minutes: string;
2828
+ }>;
2829
+ path: "/meetings/:meetingId/minutes";
2830
+ responses: {
2831
+ 200: z.ZodObject<{
2832
+ data: z.ZodObject<{
2833
+ type: z.ZodLiteral<"meetings">;
2834
+ id: z.ZodString;
2835
+ attributes: z.ZodObject<{
2836
+ id: z.ZodString;
2837
+ projectId: z.ZodString;
2838
+ title: z.ZodString;
2839
+ description: z.ZodOptional<z.ZodString>;
2840
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
2841
+ status: z.ZodDefault<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
2842
+ startTime: z.ZodString;
2843
+ endTime: z.ZodString;
2844
+ location: z.ZodObject<{
2845
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
2846
+ address: z.ZodOptional<z.ZodString>;
2847
+ room: z.ZodOptional<z.ZodString>;
2848
+ virtualLink: z.ZodOptional<z.ZodString>;
2849
+ notes: z.ZodOptional<z.ZodString>;
2850
+ }, "strip", z.ZodTypeAny, {
2851
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2852
+ notes?: string | undefined;
2853
+ room?: string | undefined;
2854
+ address?: string | undefined;
2855
+ virtualLink?: string | undefined;
2856
+ }, {
2857
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2858
+ notes?: string | undefined;
2859
+ room?: string | undefined;
2860
+ address?: string | undefined;
2861
+ virtualLink?: string | undefined;
2862
+ }>;
2863
+ organizerId: z.ZodString;
2864
+ attendees: z.ZodArray<z.ZodObject<{
2865
+ userId: z.ZodString;
2866
+ status: z.ZodDefault<z.ZodEnum<["INVITED", "ACCEPTED", "DECLINED", "TENTATIVE", "NO_RESPONSE"]>>;
2867
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL", "ORGANIZER"]>>;
2868
+ notes: z.ZodOptional<z.ZodString>;
2869
+ }, "strip", z.ZodTypeAny, {
2870
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
2871
+ userId: string;
2872
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
2873
+ notes?: string | undefined;
2874
+ }, {
2875
+ userId: string;
2876
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
2877
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
2878
+ notes?: string | undefined;
2879
+ }>, "many">;
2880
+ agenda: z.ZodDefault<z.ZodArray<z.ZodObject<{
2881
+ id: z.ZodString;
2882
+ title: z.ZodString;
2883
+ description: z.ZodOptional<z.ZodString>;
2884
+ duration: z.ZodNumber;
2885
+ presenter: z.ZodOptional<z.ZodString>;
2886
+ order: z.ZodNumber;
2887
+ }, "strip", z.ZodTypeAny, {
2888
+ id: string;
2889
+ title: string;
2890
+ order: number;
2891
+ duration: number;
2892
+ description?: string | undefined;
2893
+ presenter?: string | undefined;
2894
+ }, {
2895
+ id: string;
2896
+ title: string;
2897
+ order: number;
2898
+ duration: number;
2899
+ description?: string | undefined;
2900
+ presenter?: string | undefined;
2901
+ }>, "many">>;
2902
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
2903
+ id: z.ZodString;
2904
+ filename: z.ZodString;
2905
+ fileSize: z.ZodNumber;
2906
+ mimeType: z.ZodString;
2907
+ url: z.ZodString;
2908
+ uploadedBy: z.ZodString;
2909
+ uploadedAt: z.ZodString;
2910
+ }, "strip", z.ZodTypeAny, {
2911
+ id: string;
2912
+ filename: string;
2913
+ url: string;
2914
+ fileSize: number;
2915
+ mimeType: string;
2916
+ uploadedAt: string;
2917
+ uploadedBy: string;
2918
+ }, {
2919
+ id: string;
2920
+ filename: string;
2921
+ url: string;
2922
+ fileSize: number;
2923
+ mimeType: string;
2924
+ uploadedAt: string;
2925
+ uploadedBy: string;
2926
+ }>, "many">>;
2927
+ minutes: z.ZodOptional<z.ZodString>;
2928
+ actionItems: z.ZodDefault<z.ZodArray<z.ZodObject<{
2929
+ id: z.ZodString;
2930
+ title: z.ZodString;
2931
+ description: z.ZodOptional<z.ZodString>;
2932
+ assignedTo: z.ZodString;
2933
+ dueDate: z.ZodOptional<z.ZodString>;
2934
+ status: z.ZodDefault<z.ZodEnum<["OPEN", "IN_PROGRESS", "COMPLETED", "CANCELLED"]>>;
2935
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
2936
+ }, "strip", z.ZodTypeAny, {
2937
+ id: string;
2938
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
2939
+ title: string;
2940
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
2941
+ assignedTo: string;
2942
+ description?: string | undefined;
2943
+ dueDate?: string | undefined;
2944
+ }, {
2945
+ id: string;
2946
+ title: string;
2947
+ assignedTo: string;
2948
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
2949
+ description?: string | undefined;
2950
+ dueDate?: string | undefined;
2951
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
2952
+ }>, "many">>;
2953
+ companyId: z.ZodString;
2954
+ createdAt: z.ZodString;
2955
+ updatedAt: z.ZodString;
2956
+ }, "strip", z.ZodTypeAny, {
2957
+ id: string;
2958
+ createdAt: string;
2959
+ updatedAt: string;
2960
+ companyId: string;
2961
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
2962
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
2963
+ title: string;
2964
+ projectId: string;
2965
+ attachments: {
2966
+ id: string;
2967
+ filename: string;
2968
+ url: string;
2969
+ fileSize: number;
2970
+ mimeType: string;
2971
+ uploadedAt: string;
2972
+ uploadedBy: string;
2973
+ }[];
2974
+ location: {
2975
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
2976
+ notes?: string | undefined;
2977
+ room?: string | undefined;
2978
+ address?: string | undefined;
2979
+ virtualLink?: string | undefined;
2980
+ };
2981
+ startTime: string;
2982
+ endTime: string;
2983
+ organizerId: string;
2984
+ attendees: {
2985
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
2986
+ userId: string;
2987
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
2988
+ notes?: string | undefined;
2989
+ }[];
2990
+ agenda: {
2991
+ id: string;
2992
+ title: string;
2993
+ order: number;
2994
+ duration: number;
2995
+ description?: string | undefined;
2996
+ presenter?: string | undefined;
2997
+ }[];
2998
+ actionItems: {
2999
+ id: string;
3000
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3001
+ title: string;
3002
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3003
+ assignedTo: string;
3004
+ description?: string | undefined;
3005
+ dueDate?: string | undefined;
3006
+ }[];
3007
+ description?: string | undefined;
3008
+ minutes?: string | undefined;
3009
+ }, {
3010
+ id: string;
3011
+ createdAt: string;
3012
+ updatedAt: string;
3013
+ companyId: string;
3014
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3015
+ title: string;
3016
+ projectId: string;
3017
+ location: {
3018
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3019
+ notes?: string | undefined;
3020
+ room?: string | undefined;
3021
+ address?: string | undefined;
3022
+ virtualLink?: string | undefined;
3023
+ };
3024
+ startTime: string;
3025
+ endTime: string;
3026
+ organizerId: string;
3027
+ attendees: {
3028
+ userId: string;
3029
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
3030
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
3031
+ notes?: string | undefined;
3032
+ }[];
3033
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
3034
+ description?: string | undefined;
3035
+ attachments?: {
3036
+ id: string;
3037
+ filename: string;
3038
+ url: string;
3039
+ fileSize: number;
3040
+ mimeType: string;
3041
+ uploadedAt: string;
3042
+ uploadedBy: string;
3043
+ }[] | undefined;
3044
+ agenda?: {
3045
+ id: string;
3046
+ title: string;
3047
+ order: number;
3048
+ duration: number;
3049
+ description?: string | undefined;
3050
+ presenter?: string | undefined;
3051
+ }[] | undefined;
3052
+ minutes?: string | undefined;
3053
+ actionItems?: {
3054
+ id: string;
3055
+ title: string;
3056
+ assignedTo: string;
3057
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
3058
+ description?: string | undefined;
3059
+ dueDate?: string | undefined;
3060
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3061
+ }[] | undefined;
3062
+ }>;
3063
+ }, "strip", z.ZodTypeAny, {
3064
+ id: string;
3065
+ type: "meetings";
3066
+ attributes: {
3067
+ id: string;
3068
+ createdAt: string;
3069
+ updatedAt: string;
3070
+ companyId: string;
3071
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3072
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
3073
+ title: string;
3074
+ projectId: string;
3075
+ attachments: {
3076
+ id: string;
3077
+ filename: string;
3078
+ url: string;
3079
+ fileSize: number;
3080
+ mimeType: string;
3081
+ uploadedAt: string;
3082
+ uploadedBy: string;
3083
+ }[];
3084
+ location: {
3085
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3086
+ notes?: string | undefined;
3087
+ room?: string | undefined;
3088
+ address?: string | undefined;
3089
+ virtualLink?: string | undefined;
3090
+ };
3091
+ startTime: string;
3092
+ endTime: string;
3093
+ organizerId: string;
3094
+ attendees: {
3095
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
3096
+ userId: string;
3097
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
3098
+ notes?: string | undefined;
3099
+ }[];
3100
+ agenda: {
3101
+ id: string;
3102
+ title: string;
3103
+ order: number;
3104
+ duration: number;
3105
+ description?: string | undefined;
3106
+ presenter?: string | undefined;
3107
+ }[];
3108
+ actionItems: {
3109
+ id: string;
3110
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3111
+ title: string;
3112
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3113
+ assignedTo: string;
3114
+ description?: string | undefined;
3115
+ dueDate?: string | undefined;
3116
+ }[];
3117
+ description?: string | undefined;
3118
+ minutes?: string | undefined;
3119
+ };
3120
+ }, {
3121
+ id: string;
3122
+ type: "meetings";
3123
+ attributes: {
3124
+ id: string;
3125
+ createdAt: string;
3126
+ updatedAt: string;
3127
+ companyId: string;
3128
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3129
+ title: string;
3130
+ projectId: string;
3131
+ location: {
3132
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3133
+ notes?: string | undefined;
3134
+ room?: string | undefined;
3135
+ address?: string | undefined;
3136
+ virtualLink?: string | undefined;
3137
+ };
3138
+ startTime: string;
3139
+ endTime: string;
3140
+ organizerId: string;
3141
+ attendees: {
3142
+ userId: string;
3143
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
3144
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
3145
+ notes?: string | undefined;
3146
+ }[];
3147
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
3148
+ description?: string | undefined;
3149
+ attachments?: {
3150
+ id: string;
3151
+ filename: string;
3152
+ url: string;
3153
+ fileSize: number;
3154
+ mimeType: string;
3155
+ uploadedAt: string;
3156
+ uploadedBy: string;
3157
+ }[] | undefined;
3158
+ agenda?: {
3159
+ id: string;
3160
+ title: string;
3161
+ order: number;
3162
+ duration: number;
3163
+ description?: string | undefined;
3164
+ presenter?: string | undefined;
3165
+ }[] | undefined;
3166
+ minutes?: string | undefined;
3167
+ actionItems?: {
3168
+ id: string;
3169
+ title: string;
3170
+ assignedTo: string;
3171
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
3172
+ description?: string | undefined;
3173
+ dueDate?: string | undefined;
3174
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3175
+ }[] | undefined;
3176
+ };
3177
+ }>;
3178
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3179
+ links: z.ZodOptional<z.ZodObject<{
3180
+ self: z.ZodString;
3181
+ first: z.ZodOptional<z.ZodString>;
3182
+ last: z.ZodOptional<z.ZodString>;
3183
+ prev: z.ZodOptional<z.ZodString>;
3184
+ next: z.ZodOptional<z.ZodString>;
3185
+ }, "strip", z.ZodTypeAny, {
3186
+ self: string;
3187
+ first?: string | undefined;
3188
+ last?: string | undefined;
3189
+ prev?: string | undefined;
3190
+ next?: string | undefined;
3191
+ }, {
3192
+ self: string;
3193
+ first?: string | undefined;
3194
+ last?: string | undefined;
3195
+ prev?: string | undefined;
3196
+ next?: string | undefined;
3197
+ }>>;
3198
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
3199
+ status: z.ZodString;
3200
+ title: z.ZodString;
3201
+ detail: z.ZodOptional<z.ZodString>;
3202
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3203
+ }, "strip", z.ZodTypeAny, {
3204
+ status: string;
3205
+ title: string;
3206
+ detail?: string | undefined;
3207
+ meta?: Record<string, unknown> | undefined;
3208
+ }, {
3209
+ status: string;
3210
+ title: string;
3211
+ detail?: string | undefined;
3212
+ meta?: Record<string, unknown> | undefined;
3213
+ }>, "many">>;
3214
+ }, "strip", z.ZodTypeAny, {
3215
+ data: {
3216
+ id: string;
3217
+ type: "meetings";
3218
+ attributes: {
3219
+ id: string;
3220
+ createdAt: string;
3221
+ updatedAt: string;
3222
+ companyId: string;
3223
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3224
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
3225
+ title: string;
3226
+ projectId: string;
3227
+ attachments: {
3228
+ id: string;
3229
+ filename: string;
3230
+ url: string;
3231
+ fileSize: number;
3232
+ mimeType: string;
3233
+ uploadedAt: string;
3234
+ uploadedBy: string;
3235
+ }[];
3236
+ location: {
3237
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3238
+ notes?: string | undefined;
3239
+ room?: string | undefined;
3240
+ address?: string | undefined;
3241
+ virtualLink?: string | undefined;
3242
+ };
3243
+ startTime: string;
3244
+ endTime: string;
3245
+ organizerId: string;
3246
+ attendees: {
3247
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
3248
+ userId: string;
3249
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
3250
+ notes?: string | undefined;
3251
+ }[];
3252
+ agenda: {
3253
+ id: string;
3254
+ title: string;
3255
+ order: number;
3256
+ duration: number;
3257
+ description?: string | undefined;
3258
+ presenter?: string | undefined;
3259
+ }[];
3260
+ actionItems: {
3261
+ id: string;
3262
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3263
+ title: string;
3264
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3265
+ assignedTo: string;
3266
+ description?: string | undefined;
3267
+ dueDate?: string | undefined;
3268
+ }[];
3269
+ description?: string | undefined;
3270
+ minutes?: string | undefined;
3271
+ };
3272
+ };
3273
+ meta?: Record<string, unknown> | undefined;
3274
+ links?: {
3275
+ self: string;
3276
+ first?: string | undefined;
3277
+ last?: string | undefined;
3278
+ prev?: string | undefined;
3279
+ next?: string | undefined;
3280
+ } | undefined;
3281
+ errors?: {
3282
+ status: string;
3283
+ title: string;
3284
+ detail?: string | undefined;
3285
+ meta?: Record<string, unknown> | undefined;
3286
+ }[] | undefined;
3287
+ }, {
3288
+ data: {
3289
+ id: string;
3290
+ type: "meetings";
3291
+ attributes: {
3292
+ id: string;
3293
+ createdAt: string;
3294
+ updatedAt: string;
3295
+ companyId: string;
3296
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3297
+ title: string;
3298
+ projectId: string;
3299
+ location: {
3300
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3301
+ notes?: string | undefined;
3302
+ room?: string | undefined;
3303
+ address?: string | undefined;
3304
+ virtualLink?: string | undefined;
3305
+ };
3306
+ startTime: string;
3307
+ endTime: string;
3308
+ organizerId: string;
3309
+ attendees: {
3310
+ userId: string;
3311
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
3312
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
3313
+ notes?: string | undefined;
3314
+ }[];
3315
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
3316
+ description?: string | undefined;
3317
+ attachments?: {
3318
+ id: string;
3319
+ filename: string;
3320
+ url: string;
3321
+ fileSize: number;
3322
+ mimeType: string;
3323
+ uploadedAt: string;
3324
+ uploadedBy: string;
3325
+ }[] | undefined;
3326
+ agenda?: {
3327
+ id: string;
3328
+ title: string;
3329
+ order: number;
3330
+ duration: number;
3331
+ description?: string | undefined;
3332
+ presenter?: string | undefined;
3333
+ }[] | undefined;
3334
+ minutes?: string | undefined;
3335
+ actionItems?: {
3336
+ id: string;
3337
+ title: string;
3338
+ assignedTo: string;
3339
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
3340
+ description?: string | undefined;
3341
+ dueDate?: string | undefined;
3342
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3343
+ }[] | undefined;
3344
+ };
3345
+ };
3346
+ meta?: Record<string, unknown> | undefined;
3347
+ links?: {
3348
+ self: string;
3349
+ first?: string | undefined;
3350
+ last?: string | undefined;
3351
+ prev?: string | undefined;
3352
+ next?: string | undefined;
3353
+ } | undefined;
3354
+ errors?: {
3355
+ status: string;
3356
+ title: string;
3357
+ detail?: string | undefined;
3358
+ meta?: Record<string, unknown> | undefined;
3359
+ }[] | undefined;
3360
+ }>;
3361
+ 400: z.ZodObject<{
3362
+ errors: z.ZodArray<z.ZodObject<{
3363
+ status: z.ZodString;
3364
+ title: z.ZodString;
3365
+ detail: z.ZodOptional<z.ZodString>;
3366
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3367
+ }, "strip", z.ZodTypeAny, {
3368
+ status: string;
3369
+ title: string;
3370
+ detail?: string | undefined;
3371
+ meta?: Record<string, unknown> | undefined;
3372
+ }, {
3373
+ status: string;
3374
+ title: string;
3375
+ detail?: string | undefined;
3376
+ meta?: Record<string, unknown> | undefined;
3377
+ }>, "many">;
3378
+ }, "strip", z.ZodTypeAny, {
3379
+ errors: {
3380
+ status: string;
3381
+ title: string;
3382
+ detail?: string | undefined;
3383
+ meta?: Record<string, unknown> | undefined;
3384
+ }[];
3385
+ }, {
3386
+ errors: {
3387
+ status: string;
3388
+ title: string;
3389
+ detail?: string | undefined;
3390
+ meta?: Record<string, unknown> | undefined;
3391
+ }[];
3392
+ }>;
3393
+ 401: z.ZodObject<{
3394
+ errors: z.ZodArray<z.ZodObject<{
3395
+ status: z.ZodString;
3396
+ title: z.ZodString;
3397
+ detail: z.ZodOptional<z.ZodString>;
3398
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3399
+ }, "strip", z.ZodTypeAny, {
3400
+ status: string;
3401
+ title: string;
3402
+ detail?: string | undefined;
3403
+ meta?: Record<string, unknown> | undefined;
3404
+ }, {
3405
+ status: string;
3406
+ title: string;
3407
+ detail?: string | undefined;
3408
+ meta?: Record<string, unknown> | undefined;
3409
+ }>, "many">;
3410
+ }, "strip", z.ZodTypeAny, {
3411
+ errors: {
3412
+ status: string;
3413
+ title: string;
3414
+ detail?: string | undefined;
3415
+ meta?: Record<string, unknown> | undefined;
3416
+ }[];
3417
+ }, {
3418
+ errors: {
3419
+ status: string;
3420
+ title: string;
3421
+ detail?: string | undefined;
3422
+ meta?: Record<string, unknown> | undefined;
3423
+ }[];
3424
+ }>;
3425
+ 403: z.ZodObject<{
3426
+ errors: z.ZodArray<z.ZodObject<{
3427
+ status: z.ZodString;
3428
+ title: z.ZodString;
3429
+ detail: z.ZodOptional<z.ZodString>;
3430
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3431
+ }, "strip", z.ZodTypeAny, {
3432
+ status: string;
3433
+ title: string;
3434
+ detail?: string | undefined;
3435
+ meta?: Record<string, unknown> | undefined;
3436
+ }, {
3437
+ status: string;
3438
+ title: string;
3439
+ detail?: string | undefined;
3440
+ meta?: Record<string, unknown> | undefined;
3441
+ }>, "many">;
3442
+ }, "strip", z.ZodTypeAny, {
3443
+ errors: {
3444
+ status: string;
3445
+ title: string;
3446
+ detail?: string | undefined;
3447
+ meta?: Record<string, unknown> | undefined;
3448
+ }[];
3449
+ }, {
3450
+ errors: {
3451
+ status: string;
3452
+ title: string;
3453
+ detail?: string | undefined;
3454
+ meta?: Record<string, unknown> | undefined;
3455
+ }[];
3456
+ }>;
3457
+ 404: z.ZodObject<{
3458
+ errors: z.ZodArray<z.ZodObject<{
3459
+ status: z.ZodString;
3460
+ title: z.ZodString;
3461
+ detail: z.ZodOptional<z.ZodString>;
3462
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3463
+ }, "strip", z.ZodTypeAny, {
3464
+ status: string;
3465
+ title: string;
3466
+ detail?: string | undefined;
3467
+ meta?: Record<string, unknown> | undefined;
3468
+ }, {
3469
+ status: string;
3470
+ title: string;
3471
+ detail?: string | undefined;
3472
+ meta?: Record<string, unknown> | undefined;
3473
+ }>, "many">;
3474
+ }, "strip", z.ZodTypeAny, {
3475
+ errors: {
3476
+ status: string;
3477
+ title: string;
3478
+ detail?: string | undefined;
3479
+ meta?: Record<string, unknown> | undefined;
3480
+ }[];
3481
+ }, {
3482
+ errors: {
3483
+ status: string;
3484
+ title: string;
3485
+ detail?: string | undefined;
3486
+ meta?: Record<string, unknown> | undefined;
3487
+ }[];
3488
+ }>;
3489
+ };
3490
+ };
3491
+ addActionItem: {
3492
+ pathParams: z.ZodObject<{
3493
+ meetingId: z.ZodString;
3494
+ }, "strip", z.ZodTypeAny, {
3495
+ meetingId: string;
3496
+ }, {
3497
+ meetingId: string;
3498
+ }>;
3499
+ query: z.ZodObject<{
3500
+ companyId: z.ZodOptional<z.ZodString>;
3501
+ }, "strip", z.ZodTypeAny, {
3502
+ companyId?: string | undefined;
3503
+ }, {
3504
+ companyId?: string | undefined;
3505
+ }>;
3506
+ summary: "Add an action item to a meeting";
3507
+ method: "POST";
3508
+ body: z.ZodObject<{
3509
+ title: z.ZodString;
3510
+ description: z.ZodOptional<z.ZodString>;
3511
+ assignedTo: z.ZodString;
3512
+ dueDate: z.ZodOptional<z.ZodString>;
3513
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
3514
+ }, "strip", z.ZodTypeAny, {
3515
+ title: string;
3516
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3517
+ assignedTo: string;
3518
+ description?: string | undefined;
3519
+ dueDate?: string | undefined;
3520
+ }, {
3521
+ title: string;
3522
+ assignedTo: string;
3523
+ description?: string | undefined;
3524
+ dueDate?: string | undefined;
3525
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3526
+ }>;
3527
+ path: "/meetings/:meetingId/action-items";
3528
+ responses: {
3529
+ 201: z.ZodObject<{
3530
+ data: z.ZodObject<{
3531
+ type: z.ZodLiteral<"meetings">;
3532
+ id: z.ZodString;
3533
+ attributes: z.ZodObject<{
3534
+ id: z.ZodString;
3535
+ projectId: z.ZodString;
3536
+ title: z.ZodString;
3537
+ description: z.ZodOptional<z.ZodString>;
3538
+ type: z.ZodEnum<["KICKOFF", "PROGRESS", "SAFETY", "DESIGN", "COORDINATION", "CLIENT", "OTHER"]>;
3539
+ status: z.ZodDefault<z.ZodEnum<["SCHEDULED", "IN_PROGRESS", "COMPLETED", "CANCELLED", "RESCHEDULED"]>>;
3540
+ startTime: z.ZodString;
3541
+ endTime: z.ZodString;
3542
+ location: z.ZodObject<{
3543
+ type: z.ZodEnum<["ONSITE", "OFFSITE", "VIRTUAL", "HYBRID"]>;
3544
+ address: z.ZodOptional<z.ZodString>;
3545
+ room: z.ZodOptional<z.ZodString>;
3546
+ virtualLink: z.ZodOptional<z.ZodString>;
3547
+ notes: z.ZodOptional<z.ZodString>;
3548
+ }, "strip", z.ZodTypeAny, {
3549
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3550
+ notes?: string | undefined;
3551
+ room?: string | undefined;
3552
+ address?: string | undefined;
3553
+ virtualLink?: string | undefined;
3554
+ }, {
3555
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3556
+ notes?: string | undefined;
3557
+ room?: string | undefined;
3558
+ address?: string | undefined;
3559
+ virtualLink?: string | undefined;
3560
+ }>;
3561
+ organizerId: z.ZodString;
3562
+ attendees: z.ZodArray<z.ZodObject<{
3563
+ userId: z.ZodString;
3564
+ status: z.ZodDefault<z.ZodEnum<["INVITED", "ACCEPTED", "DECLINED", "TENTATIVE", "NO_RESPONSE"]>>;
3565
+ role: z.ZodDefault<z.ZodEnum<["REQUIRED", "OPTIONAL", "ORGANIZER"]>>;
3566
+ notes: z.ZodOptional<z.ZodString>;
3567
+ }, "strip", z.ZodTypeAny, {
3568
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
3569
+ userId: string;
3570
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
3571
+ notes?: string | undefined;
3572
+ }, {
3573
+ userId: string;
3574
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
3575
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
3576
+ notes?: string | undefined;
3577
+ }>, "many">;
3578
+ agenda: z.ZodDefault<z.ZodArray<z.ZodObject<{
3579
+ id: z.ZodString;
3580
+ title: z.ZodString;
3581
+ description: z.ZodOptional<z.ZodString>;
3582
+ duration: z.ZodNumber;
3583
+ presenter: z.ZodOptional<z.ZodString>;
3584
+ order: z.ZodNumber;
3585
+ }, "strip", z.ZodTypeAny, {
3586
+ id: string;
3587
+ title: string;
3588
+ order: number;
3589
+ duration: number;
3590
+ description?: string | undefined;
3591
+ presenter?: string | undefined;
3592
+ }, {
3593
+ id: string;
3594
+ title: string;
3595
+ order: number;
3596
+ duration: number;
3597
+ description?: string | undefined;
3598
+ presenter?: string | undefined;
3599
+ }>, "many">>;
3600
+ attachments: z.ZodDefault<z.ZodArray<z.ZodObject<{
3601
+ id: z.ZodString;
3602
+ filename: z.ZodString;
3603
+ fileSize: z.ZodNumber;
3604
+ mimeType: z.ZodString;
3605
+ url: z.ZodString;
3606
+ uploadedBy: z.ZodString;
3607
+ uploadedAt: z.ZodString;
3608
+ }, "strip", z.ZodTypeAny, {
3609
+ id: string;
3610
+ filename: string;
3611
+ url: string;
3612
+ fileSize: number;
3613
+ mimeType: string;
3614
+ uploadedAt: string;
3615
+ uploadedBy: string;
3616
+ }, {
3617
+ id: string;
3618
+ filename: string;
3619
+ url: string;
3620
+ fileSize: number;
3621
+ mimeType: string;
3622
+ uploadedAt: string;
3623
+ uploadedBy: string;
3624
+ }>, "many">>;
3625
+ minutes: z.ZodOptional<z.ZodString>;
3626
+ actionItems: z.ZodDefault<z.ZodArray<z.ZodObject<{
3627
+ id: z.ZodString;
3628
+ title: z.ZodString;
3629
+ description: z.ZodOptional<z.ZodString>;
3630
+ assignedTo: z.ZodString;
3631
+ dueDate: z.ZodOptional<z.ZodString>;
3632
+ status: z.ZodDefault<z.ZodEnum<["OPEN", "IN_PROGRESS", "COMPLETED", "CANCELLED"]>>;
3633
+ priority: z.ZodDefault<z.ZodEnum<["LOW", "MEDIUM", "HIGH", "CRITICAL"]>>;
3634
+ }, "strip", z.ZodTypeAny, {
3635
+ id: string;
3636
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3637
+ title: string;
3638
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3639
+ assignedTo: string;
3640
+ description?: string | undefined;
3641
+ dueDate?: string | undefined;
3642
+ }, {
3643
+ id: string;
3644
+ title: string;
3645
+ assignedTo: string;
3646
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
3647
+ description?: string | undefined;
3648
+ dueDate?: string | undefined;
3649
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3650
+ }>, "many">>;
3651
+ companyId: z.ZodString;
3652
+ createdAt: z.ZodString;
3653
+ updatedAt: z.ZodString;
3654
+ }, "strip", z.ZodTypeAny, {
3655
+ id: string;
3656
+ createdAt: string;
3657
+ updatedAt: string;
3658
+ companyId: string;
3659
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3660
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
3661
+ title: string;
3662
+ projectId: string;
3663
+ attachments: {
3664
+ id: string;
3665
+ filename: string;
3666
+ url: string;
3667
+ fileSize: number;
3668
+ mimeType: string;
3669
+ uploadedAt: string;
3670
+ uploadedBy: string;
3671
+ }[];
3672
+ location: {
3673
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3674
+ notes?: string | undefined;
3675
+ room?: string | undefined;
3676
+ address?: string | undefined;
3677
+ virtualLink?: string | undefined;
3678
+ };
3679
+ startTime: string;
3680
+ endTime: string;
3681
+ organizerId: string;
3682
+ attendees: {
3683
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
3684
+ userId: string;
3685
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
3686
+ notes?: string | undefined;
3687
+ }[];
3688
+ agenda: {
3689
+ id: string;
3690
+ title: string;
3691
+ order: number;
3692
+ duration: number;
3693
+ description?: string | undefined;
3694
+ presenter?: string | undefined;
3695
+ }[];
3696
+ actionItems: {
3697
+ id: string;
3698
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3699
+ title: string;
3700
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3701
+ assignedTo: string;
3702
+ description?: string | undefined;
3703
+ dueDate?: string | undefined;
3704
+ }[];
3705
+ description?: string | undefined;
3706
+ minutes?: string | undefined;
3707
+ }, {
3708
+ id: string;
3709
+ createdAt: string;
3710
+ updatedAt: string;
3711
+ companyId: string;
3712
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3713
+ title: string;
3714
+ projectId: string;
3715
+ location: {
3716
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3717
+ notes?: string | undefined;
3718
+ room?: string | undefined;
3719
+ address?: string | undefined;
3720
+ virtualLink?: string | undefined;
3721
+ };
3722
+ startTime: string;
3723
+ endTime: string;
3724
+ organizerId: string;
3725
+ attendees: {
3726
+ userId: string;
3727
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
3728
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
3729
+ notes?: string | undefined;
3730
+ }[];
3731
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
3732
+ description?: string | undefined;
3733
+ attachments?: {
3734
+ id: string;
3735
+ filename: string;
3736
+ url: string;
3737
+ fileSize: number;
3738
+ mimeType: string;
3739
+ uploadedAt: string;
3740
+ uploadedBy: string;
3741
+ }[] | undefined;
3742
+ agenda?: {
3743
+ id: string;
3744
+ title: string;
3745
+ order: number;
3746
+ duration: number;
3747
+ description?: string | undefined;
3748
+ presenter?: string | undefined;
3749
+ }[] | undefined;
3750
+ minutes?: string | undefined;
3751
+ actionItems?: {
3752
+ id: string;
3753
+ title: string;
3754
+ assignedTo: string;
3755
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
3756
+ description?: string | undefined;
3757
+ dueDate?: string | undefined;
3758
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3759
+ }[] | undefined;
3760
+ }>;
3761
+ }, "strip", z.ZodTypeAny, {
3762
+ id: string;
3763
+ type: "meetings";
3764
+ attributes: {
3765
+ id: string;
3766
+ createdAt: string;
3767
+ updatedAt: string;
3768
+ companyId: string;
3769
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3770
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
3771
+ title: string;
3772
+ projectId: string;
3773
+ attachments: {
3774
+ id: string;
3775
+ filename: string;
3776
+ url: string;
3777
+ fileSize: number;
3778
+ mimeType: string;
3779
+ uploadedAt: string;
3780
+ uploadedBy: string;
3781
+ }[];
3782
+ location: {
3783
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3784
+ notes?: string | undefined;
3785
+ room?: string | undefined;
3786
+ address?: string | undefined;
3787
+ virtualLink?: string | undefined;
3788
+ };
3789
+ startTime: string;
3790
+ endTime: string;
3791
+ organizerId: string;
3792
+ attendees: {
3793
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
3794
+ userId: string;
3795
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
3796
+ notes?: string | undefined;
3797
+ }[];
3798
+ agenda: {
3799
+ id: string;
3800
+ title: string;
3801
+ order: number;
3802
+ duration: number;
3803
+ description?: string | undefined;
3804
+ presenter?: string | undefined;
3805
+ }[];
3806
+ actionItems: {
3807
+ id: string;
3808
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3809
+ title: string;
3810
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3811
+ assignedTo: string;
3812
+ description?: string | undefined;
3813
+ dueDate?: string | undefined;
3814
+ }[];
3815
+ description?: string | undefined;
3816
+ minutes?: string | undefined;
3817
+ };
3818
+ }, {
3819
+ id: string;
3820
+ type: "meetings";
3821
+ attributes: {
3822
+ id: string;
3823
+ createdAt: string;
3824
+ updatedAt: string;
3825
+ companyId: string;
3826
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3827
+ title: string;
3828
+ projectId: string;
3829
+ location: {
3830
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3831
+ notes?: string | undefined;
3832
+ room?: string | undefined;
3833
+ address?: string | undefined;
3834
+ virtualLink?: string | undefined;
3835
+ };
3836
+ startTime: string;
3837
+ endTime: string;
3838
+ organizerId: string;
3839
+ attendees: {
3840
+ userId: string;
3841
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
3842
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
3843
+ notes?: string | undefined;
3844
+ }[];
3845
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
3846
+ description?: string | undefined;
3847
+ attachments?: {
3848
+ id: string;
3849
+ filename: string;
3850
+ url: string;
3851
+ fileSize: number;
3852
+ mimeType: string;
3853
+ uploadedAt: string;
3854
+ uploadedBy: string;
3855
+ }[] | undefined;
3856
+ agenda?: {
3857
+ id: string;
3858
+ title: string;
3859
+ order: number;
3860
+ duration: number;
3861
+ description?: string | undefined;
3862
+ presenter?: string | undefined;
3863
+ }[] | undefined;
3864
+ minutes?: string | undefined;
3865
+ actionItems?: {
3866
+ id: string;
3867
+ title: string;
3868
+ assignedTo: string;
3869
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
3870
+ description?: string | undefined;
3871
+ dueDate?: string | undefined;
3872
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
3873
+ }[] | undefined;
3874
+ };
3875
+ }>;
3876
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3877
+ links: z.ZodOptional<z.ZodObject<{
3878
+ self: z.ZodString;
3879
+ first: z.ZodOptional<z.ZodString>;
3880
+ last: z.ZodOptional<z.ZodString>;
3881
+ prev: z.ZodOptional<z.ZodString>;
3882
+ next: z.ZodOptional<z.ZodString>;
3883
+ }, "strip", z.ZodTypeAny, {
3884
+ self: string;
3885
+ first?: string | undefined;
3886
+ last?: string | undefined;
3887
+ prev?: string | undefined;
3888
+ next?: string | undefined;
3889
+ }, {
3890
+ self: string;
3891
+ first?: string | undefined;
3892
+ last?: string | undefined;
3893
+ prev?: string | undefined;
3894
+ next?: string | undefined;
3895
+ }>>;
3896
+ errors: z.ZodOptional<z.ZodArray<z.ZodObject<{
3897
+ status: z.ZodString;
3898
+ title: z.ZodString;
3899
+ detail: z.ZodOptional<z.ZodString>;
3900
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
3901
+ }, "strip", z.ZodTypeAny, {
3902
+ status: string;
3903
+ title: string;
3904
+ detail?: string | undefined;
3905
+ meta?: Record<string, unknown> | undefined;
3906
+ }, {
3907
+ status: string;
3908
+ title: string;
3909
+ detail?: string | undefined;
3910
+ meta?: Record<string, unknown> | undefined;
3911
+ }>, "many">>;
3912
+ }, "strip", z.ZodTypeAny, {
3913
+ data: {
3914
+ id: string;
3915
+ type: "meetings";
3916
+ attributes: {
3917
+ id: string;
3918
+ createdAt: string;
3919
+ updatedAt: string;
3920
+ companyId: string;
3921
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3922
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED";
3923
+ title: string;
3924
+ projectId: string;
3925
+ attachments: {
3926
+ id: string;
3927
+ filename: string;
3928
+ url: string;
3929
+ fileSize: number;
3930
+ mimeType: string;
3931
+ uploadedAt: string;
3932
+ uploadedBy: string;
3933
+ }[];
3934
+ location: {
3935
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3936
+ notes?: string | undefined;
3937
+ room?: string | undefined;
3938
+ address?: string | undefined;
3939
+ virtualLink?: string | undefined;
3940
+ };
3941
+ startTime: string;
3942
+ endTime: string;
3943
+ organizerId: string;
3944
+ attendees: {
3945
+ status: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE";
3946
+ userId: string;
3947
+ role: "REQUIRED" | "OPTIONAL" | "ORGANIZER";
3948
+ notes?: string | undefined;
3949
+ }[];
3950
+ agenda: {
3951
+ id: string;
3952
+ title: string;
3953
+ order: number;
3954
+ duration: number;
3955
+ description?: string | undefined;
3956
+ presenter?: string | undefined;
3957
+ }[];
3958
+ actionItems: {
3959
+ id: string;
3960
+ status: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN";
3961
+ title: string;
3962
+ priority: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
3963
+ assignedTo: string;
3964
+ description?: string | undefined;
3965
+ dueDate?: string | undefined;
3966
+ }[];
3967
+ description?: string | undefined;
3968
+ minutes?: string | undefined;
3969
+ };
3970
+ };
3971
+ meta?: Record<string, unknown> | undefined;
3972
+ links?: {
3973
+ self: string;
3974
+ first?: string | undefined;
3975
+ last?: string | undefined;
3976
+ prev?: string | undefined;
3977
+ next?: string | undefined;
3978
+ } | undefined;
3979
+ errors?: {
3980
+ status: string;
3981
+ title: string;
3982
+ detail?: string | undefined;
3983
+ meta?: Record<string, unknown> | undefined;
3984
+ }[] | undefined;
3985
+ }, {
3986
+ data: {
3987
+ id: string;
3988
+ type: "meetings";
3989
+ attributes: {
3990
+ id: string;
3991
+ createdAt: string;
3992
+ updatedAt: string;
3993
+ companyId: string;
3994
+ type: "SAFETY" | "OTHER" | "CLIENT" | "DESIGN" | "KICKOFF" | "PROGRESS" | "COORDINATION";
3995
+ title: string;
3996
+ projectId: string;
3997
+ location: {
3998
+ type: "ONSITE" | "OFFSITE" | "VIRTUAL" | "HYBRID";
3999
+ notes?: string | undefined;
4000
+ room?: string | undefined;
4001
+ address?: string | undefined;
4002
+ virtualLink?: string | undefined;
4003
+ };
4004
+ startTime: string;
4005
+ endTime: string;
4006
+ organizerId: string;
4007
+ attendees: {
4008
+ userId: string;
4009
+ status?: "ACCEPTED" | "DECLINED" | "INVITED" | "TENTATIVE" | "NO_RESPONSE" | undefined;
4010
+ role?: "REQUIRED" | "OPTIONAL" | "ORGANIZER" | undefined;
4011
+ notes?: string | undefined;
4012
+ }[];
4013
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "SCHEDULED" | "RESCHEDULED" | undefined;
4014
+ description?: string | undefined;
4015
+ attachments?: {
4016
+ id: string;
4017
+ filename: string;
4018
+ url: string;
4019
+ fileSize: number;
4020
+ mimeType: string;
4021
+ uploadedAt: string;
4022
+ uploadedBy: string;
4023
+ }[] | undefined;
4024
+ agenda?: {
4025
+ id: string;
4026
+ title: string;
4027
+ order: number;
4028
+ duration: number;
4029
+ description?: string | undefined;
4030
+ presenter?: string | undefined;
4031
+ }[] | undefined;
4032
+ minutes?: string | undefined;
4033
+ actionItems?: {
4034
+ id: string;
4035
+ title: string;
4036
+ assignedTo: string;
4037
+ status?: "COMPLETED" | "CANCELLED" | "IN_PROGRESS" | "OPEN" | undefined;
4038
+ description?: string | undefined;
4039
+ dueDate?: string | undefined;
4040
+ priority?: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL" | undefined;
4041
+ }[] | undefined;
4042
+ };
4043
+ };
4044
+ meta?: Record<string, unknown> | undefined;
4045
+ links?: {
4046
+ self: string;
4047
+ first?: string | undefined;
4048
+ last?: string | undefined;
4049
+ prev?: string | undefined;
4050
+ next?: string | undefined;
4051
+ } | undefined;
4052
+ errors?: {
4053
+ status: string;
4054
+ title: string;
4055
+ detail?: string | undefined;
4056
+ meta?: Record<string, unknown> | undefined;
4057
+ }[] | undefined;
4058
+ }>;
4059
+ 400: z.ZodObject<{
4060
+ errors: z.ZodArray<z.ZodObject<{
4061
+ status: z.ZodString;
4062
+ title: z.ZodString;
4063
+ detail: z.ZodOptional<z.ZodString>;
4064
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4065
+ }, "strip", z.ZodTypeAny, {
4066
+ status: string;
4067
+ title: string;
4068
+ detail?: string | undefined;
4069
+ meta?: Record<string, unknown> | undefined;
4070
+ }, {
4071
+ status: string;
4072
+ title: string;
4073
+ detail?: string | undefined;
4074
+ meta?: Record<string, unknown> | undefined;
4075
+ }>, "many">;
4076
+ }, "strip", z.ZodTypeAny, {
4077
+ errors: {
4078
+ status: string;
4079
+ title: string;
4080
+ detail?: string | undefined;
4081
+ meta?: Record<string, unknown> | undefined;
4082
+ }[];
4083
+ }, {
4084
+ errors: {
4085
+ status: string;
4086
+ title: string;
4087
+ detail?: string | undefined;
4088
+ meta?: Record<string, unknown> | undefined;
4089
+ }[];
4090
+ }>;
4091
+ 401: z.ZodObject<{
4092
+ errors: z.ZodArray<z.ZodObject<{
4093
+ status: z.ZodString;
4094
+ title: z.ZodString;
4095
+ detail: z.ZodOptional<z.ZodString>;
4096
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4097
+ }, "strip", z.ZodTypeAny, {
4098
+ status: string;
4099
+ title: string;
4100
+ detail?: string | undefined;
4101
+ meta?: Record<string, unknown> | undefined;
4102
+ }, {
4103
+ status: string;
4104
+ title: string;
4105
+ detail?: string | undefined;
4106
+ meta?: Record<string, unknown> | undefined;
4107
+ }>, "many">;
4108
+ }, "strip", z.ZodTypeAny, {
4109
+ errors: {
4110
+ status: string;
4111
+ title: string;
4112
+ detail?: string | undefined;
4113
+ meta?: Record<string, unknown> | undefined;
4114
+ }[];
4115
+ }, {
4116
+ errors: {
4117
+ status: string;
4118
+ title: string;
4119
+ detail?: string | undefined;
4120
+ meta?: Record<string, unknown> | undefined;
4121
+ }[];
4122
+ }>;
4123
+ 403: z.ZodObject<{
4124
+ errors: z.ZodArray<z.ZodObject<{
4125
+ status: z.ZodString;
4126
+ title: z.ZodString;
4127
+ detail: z.ZodOptional<z.ZodString>;
4128
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4129
+ }, "strip", z.ZodTypeAny, {
4130
+ status: string;
4131
+ title: string;
4132
+ detail?: string | undefined;
4133
+ meta?: Record<string, unknown> | undefined;
4134
+ }, {
4135
+ status: string;
4136
+ title: string;
4137
+ detail?: string | undefined;
4138
+ meta?: Record<string, unknown> | undefined;
4139
+ }>, "many">;
4140
+ }, "strip", z.ZodTypeAny, {
4141
+ errors: {
4142
+ status: string;
4143
+ title: string;
4144
+ detail?: string | undefined;
4145
+ meta?: Record<string, unknown> | undefined;
4146
+ }[];
4147
+ }, {
4148
+ errors: {
4149
+ status: string;
4150
+ title: string;
4151
+ detail?: string | undefined;
4152
+ meta?: Record<string, unknown> | undefined;
4153
+ }[];
4154
+ }>;
4155
+ 404: z.ZodObject<{
4156
+ errors: z.ZodArray<z.ZodObject<{
4157
+ status: z.ZodString;
4158
+ title: z.ZodString;
4159
+ detail: z.ZodOptional<z.ZodString>;
4160
+ meta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4161
+ }, "strip", z.ZodTypeAny, {
4162
+ status: string;
4163
+ title: string;
4164
+ detail?: string | undefined;
4165
+ meta?: Record<string, unknown> | undefined;
4166
+ }, {
4167
+ status: string;
4168
+ title: string;
4169
+ detail?: string | undefined;
4170
+ meta?: Record<string, unknown> | undefined;
4171
+ }>, "many">;
4172
+ }, "strip", z.ZodTypeAny, {
4173
+ errors: {
4174
+ status: string;
4175
+ title: string;
4176
+ detail?: string | undefined;
4177
+ meta?: Record<string, unknown> | undefined;
4178
+ }[];
4179
+ }, {
4180
+ errors: {
4181
+ status: string;
4182
+ title: string;
4183
+ detail?: string | undefined;
4184
+ meta?: Record<string, unknown> | undefined;
4185
+ }[];
4186
+ }>;
4187
+ };
4188
+ };
4189
+ };
4190
+ export type Meeting = z.infer<typeof MeetingSchema>;
4191
+ export type CreateMeetingRequest = z.infer<typeof CreateMeetingRequestSchema>;
4192
+ export type UpdateMeetingMinutesRequest = z.infer<typeof UpdateMeetingMinutesRequestSchema>;
4193
+ export type MeetingFilters = z.infer<typeof MeetingFiltersSchema>;
4194
+ //# sourceMappingURL=meetings.d.ts.map