@m6d/cortex-server 1.8.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/README.md +8 -3
  2. package/contracts/README.md +23 -0
  3. package/contracts/graph/embed.ts +50 -0
  4. package/{src/lib → contracts}/graph/helpers.ts +4 -10
  5. package/{src/lib → contracts}/graph/neo4j.ts +14 -27
  6. package/contracts/graph/schema.ts +65 -0
  7. package/{src/lib → contracts}/graph/types.ts +2 -29
  8. package/contracts/graph.ts +36 -0
  9. package/contracts/runtime.ts +208 -0
  10. package/contracts/wire.ts +143 -0
  11. package/dist/contracts/graph/embed.d.ts +22 -0
  12. package/dist/{src/lib → contracts}/graph/helpers.d.ts +16 -14
  13. package/dist/{src/lib → contracts}/graph/neo4j.d.ts +5 -5
  14. package/dist/contracts/graph/schema.d.ts +62 -0
  15. package/dist/{src/lib → contracts}/graph/types.d.ts +1 -1
  16. package/dist/contracts/graph.d.ts +14 -0
  17. package/dist/contracts/runtime.d.ts +278 -0
  18. package/dist/contracts/wire.d.ts +120 -0
  19. package/dist/src/lib/adapters/database/index.d.ts +61 -0
  20. package/dist/src/lib/adapters/database/message-content.d.ts +30 -0
  21. package/dist/src/lib/adapters/database/mssql/attachments.d.ts +100 -0
  22. package/dist/src/lib/adapters/database/mssql/client.d.ts +8 -0
  23. package/dist/src/lib/adapters/database/mssql/index.d.ts +194 -0
  24. package/dist/src/lib/adapters/database/mssql/llm-requests.d.ts +17 -0
  25. package/dist/src/lib/adapters/database/mssql/messages.d.ts +37 -0
  26. package/dist/src/lib/adapters/database/mssql/threads.d.ts +50 -0
  27. package/dist/src/lib/adapters/database/postgres/attachments.d.ts +113 -0
  28. package/dist/src/lib/adapters/database/postgres/client.d.ts +8 -0
  29. package/dist/src/lib/adapters/database/postgres/index.d.ts +207 -0
  30. package/dist/src/lib/adapters/database/postgres/llm-requests.d.ts +17 -0
  31. package/dist/src/lib/adapters/database/postgres/messages.d.ts +37 -0
  32. package/dist/src/lib/adapters/database/postgres/threads.d.ts +50 -0
  33. package/{src/lib/adapters/storage.ts → dist/src/lib/adapters/storage/index.d.ts} +1 -1
  34. package/dist/src/lib/adapters/{minio.d.ts → storage/minio.d.ts} +1 -1
  35. package/dist/src/lib/ai/active-runs.d.ts +63 -0
  36. package/dist/src/lib/ai/attachments.d.ts +30 -0
  37. package/dist/src/lib/ai/backend-url.d.ts +16 -0
  38. package/dist/src/lib/ai/cc-runtime.d.ts +61 -0
  39. package/dist/src/lib/ai/commit-gate.d.ts +21 -0
  40. package/dist/src/lib/ai/context/builder.d.ts +6 -7
  41. package/dist/src/lib/ai/context/compression-middleware.d.ts +15 -0
  42. package/dist/src/lib/ai/context/compressor.d.ts +2 -13
  43. package/dist/src/lib/ai/context/intra-turn-compressor.d.ts +9 -9
  44. package/dist/src/lib/ai/context/optimize-thread-context.d.ts +9 -0
  45. package/dist/src/lib/ai/context/summarizer.d.ts +3 -3
  46. package/dist/src/lib/ai/context/token-estimator.d.ts +5 -8
  47. package/dist/src/lib/ai/fetch.d.ts +1 -1
  48. package/dist/src/lib/ai/finish-turn.d.ts +23 -0
  49. package/dist/src/lib/ai/helpers.d.ts +37 -4
  50. package/dist/src/lib/ai/index.d.ts +6 -3
  51. package/dist/src/lib/ai/inspector.d.ts +41 -0
  52. package/dist/src/lib/ai/interceptors/request-interceptor.d.ts +6 -5
  53. package/dist/src/lib/ai/prompt.d.ts +5 -4
  54. package/dist/src/lib/ai/redis-runs.d.ts +41 -0
  55. package/dist/src/lib/ai/redis-stream-log.d.ts +39 -0
  56. package/dist/src/lib/ai/tools/execute-code.tool.d.ts +18 -4
  57. package/dist/src/lib/ai/tools/query-graph.tool.d.ts +13 -5
  58. package/dist/src/lib/ai/tools/read-attachment.tool.d.ts +21 -0
  59. package/dist/src/lib/ai/tools/search-common.d.ts +17 -0
  60. package/dist/src/lib/ai/tools/search-knowledge.tool.d.ts +15 -0
  61. package/dist/src/lib/ai/tools/search-services.tool.d.ts +12 -0
  62. package/dist/src/lib/ai/tools/search-tools.tool.d.ts +12 -0
  63. package/dist/src/lib/ai/turn-tools.d.ts +39 -0
  64. package/dist/src/lib/ai/vision/rasterize-pdf.d.ts +26 -0
  65. package/dist/src/lib/ai/vision/rasterize-pdf.worker.d.ts +1 -0
  66. package/dist/src/lib/ai/vision/vision-reader.d.ts +45 -0
  67. package/dist/src/lib/cc/client.d.ts +183 -0
  68. package/dist/src/lib/cc/config-cache.d.ts +20 -0
  69. package/dist/src/lib/cc/format.d.ts +23 -0
  70. package/dist/src/lib/cc/registry.d.ts +34 -0
  71. package/dist/src/lib/cc/types.d.ts +27 -0
  72. package/dist/src/lib/config.d.ts +81 -64
  73. package/dist/src/lib/db/drizzle.config.mssql.d.ts +2 -0
  74. package/dist/src/lib/db/drizzle.config.pg.d.ts +2 -0
  75. package/dist/src/lib/db/migrate.d.ts +7 -1
  76. package/dist/src/lib/db/{schema.d.ts → schema.mssql.d.ts} +138 -29
  77. package/dist/src/lib/db/schema.pg.d.ts +546 -0
  78. package/dist/src/lib/factory.d.ts +2 -12
  79. package/dist/src/lib/graph/index.d.ts +10 -11
  80. package/dist/src/lib/graph/resolver.d.ts +2 -3
  81. package/dist/src/lib/index.d.ts +3 -3
  82. package/dist/src/lib/redis.d.ts +19 -0
  83. package/dist/src/lib/routes/chat.d.ts +1 -1
  84. package/dist/src/lib/routes/files.d.ts +1 -1
  85. package/dist/src/lib/routes/owned-thread.d.ts +17 -0
  86. package/dist/src/lib/routes/threads.d.ts +1 -1
  87. package/dist/src/lib/routes/ws.d.ts +1 -1
  88. package/dist/src/lib/types.d.ts +20 -37
  89. package/dist/src/lib/ws/connections.d.ts +2 -1
  90. package/package.json +33 -18
  91. package/src/lib/adapters/database/index.ts +78 -0
  92. package/src/lib/adapters/database/message-content.ts +39 -0
  93. package/src/lib/adapters/database/mssql/attachments.ts +90 -0
  94. package/src/lib/adapters/database/mssql/client.ts +11 -0
  95. package/src/lib/adapters/database/mssql/index.ts +23 -0
  96. package/src/lib/adapters/database/mssql/llm-requests.ts +43 -0
  97. package/src/lib/adapters/database/mssql/messages.ts +92 -0
  98. package/src/lib/adapters/database/mssql/threads.ts +83 -0
  99. package/src/lib/adapters/database/postgres/attachments.ts +88 -0
  100. package/src/lib/adapters/database/postgres/client.ts +11 -0
  101. package/src/lib/adapters/database/postgres/index.ts +23 -0
  102. package/src/lib/adapters/database/postgres/llm-requests.ts +45 -0
  103. package/src/lib/adapters/database/postgres/messages.ts +92 -0
  104. package/src/lib/adapters/database/postgres/threads.ts +84 -0
  105. package/{dist/src/lib/adapters/storage.d.ts → src/lib/adapters/storage/index.ts} +1 -1
  106. package/src/lib/adapters/{minio.ts → storage/minio.ts} +5 -5
  107. package/src/lib/ai/active-runs.ts +157 -0
  108. package/src/lib/ai/attachments.ts +144 -0
  109. package/src/lib/ai/backend-url.ts +27 -0
  110. package/src/lib/ai/cc-runtime.ts +63 -0
  111. package/src/lib/ai/commit-gate.ts +116 -0
  112. package/src/lib/ai/context/builder.ts +12 -14
  113. package/src/lib/ai/context/compression-middleware.ts +44 -0
  114. package/src/lib/ai/context/compressor.ts +67 -59
  115. package/src/lib/ai/context/intra-turn-compressor.ts +121 -204
  116. package/src/lib/ai/context/optimize-thread-context.ts +50 -0
  117. package/src/lib/ai/context/summarizer.ts +28 -30
  118. package/src/lib/ai/context/token-estimator.ts +35 -30
  119. package/src/lib/ai/fetch.ts +10 -5
  120. package/src/lib/ai/finish-turn.ts +75 -0
  121. package/src/lib/ai/helpers.ts +83 -15
  122. package/src/lib/ai/index.ts +359 -329
  123. package/src/lib/ai/inspector.ts +112 -0
  124. package/src/lib/ai/interceptors/request-interceptor.ts +70 -42
  125. package/src/lib/ai/prompt.ts +126 -125
  126. package/src/lib/ai/redis-runs.ts +167 -0
  127. package/src/lib/ai/redis-stream-log.ts +219 -0
  128. package/src/lib/ai/tools/execute-code.tool.ts +178 -67
  129. package/src/lib/ai/tools/query-graph.tool.ts +7 -8
  130. package/src/lib/ai/tools/read-attachment.tool.ts +59 -0
  131. package/src/lib/ai/tools/search-common.ts +15 -0
  132. package/src/lib/ai/tools/search-knowledge.tool.ts +33 -0
  133. package/src/lib/ai/tools/search-services.tool.ts +31 -0
  134. package/src/lib/ai/tools/search-tools.tool.ts +29 -0
  135. package/src/lib/ai/turn-tools.ts +154 -0
  136. package/src/lib/ai/vision/rasterize-pdf.ts +69 -0
  137. package/src/lib/ai/vision/rasterize-pdf.worker.ts +81 -0
  138. package/src/lib/ai/vision/vision-reader.ts +130 -0
  139. package/src/lib/auth/middleware.ts +5 -3
  140. package/src/lib/cc/client.ts +273 -0
  141. package/src/lib/cc/config-cache.ts +32 -0
  142. package/src/lib/cc/format.ts +96 -0
  143. package/src/lib/cc/registry.ts +62 -0
  144. package/src/lib/cc/types.ts +44 -0
  145. package/src/lib/config.ts +102 -71
  146. package/src/lib/db/drizzle.config.mssql.ts +9 -0
  147. package/src/lib/db/drizzle.config.pg.ts +9 -0
  148. package/src/lib/db/migrate.ts +45 -10
  149. package/src/lib/db/migrations/mssql/20260729092726_talented_wilson_fisk/migration.sql +20 -0
  150. package/src/lib/db/migrations/mssql/20260729092726_talented_wilson_fisk/snapshot.json +497 -0
  151. package/src/lib/db/migrations/mssql/20260801003652_perpetual_blue_shield/migration.sql +1 -0
  152. package/src/lib/db/migrations/mssql/20260801003652_perpetual_blue_shield/snapshot.json +516 -0
  153. package/src/lib/db/migrations/mssql/20260812174642_user_id_text/migration.sql +2 -0
  154. package/src/lib/db/migrations/mssql/20260812174642_user_id_text/snapshot.json +516 -0
  155. package/src/lib/db/migrations/pg/20260801084117_thick_ben_grimm/migration.sql +53 -0
  156. package/src/lib/db/migrations/pg/20260801084117_thick_ben_grimm/snapshot.json +584 -0
  157. package/src/lib/db/migrations/pg/20260812174622_user_id_text/migration.sql +2 -0
  158. package/src/lib/db/migrations/pg/20260812174622_user_id_text/snapshot.json +584 -0
  159. package/src/lib/db/{schema.ts → schema.mssql.ts} +29 -18
  160. package/src/lib/db/schema.pg.ts +95 -0
  161. package/src/lib/factory.ts +44 -89
  162. package/src/lib/graph/index.ts +12 -40
  163. package/src/lib/graph/resolver.ts +146 -116
  164. package/src/lib/index.ts +11 -4
  165. package/src/lib/redis.ts +44 -0
  166. package/src/lib/routes/chat.ts +91 -62
  167. package/src/lib/routes/files.ts +105 -83
  168. package/src/lib/routes/owned-thread.ts +17 -0
  169. package/src/lib/routes/threads.ts +14 -30
  170. package/src/lib/routes/ws.ts +9 -3
  171. package/src/lib/types.ts +37 -36
  172. package/src/lib/ws/connections.ts +9 -1
  173. package/tsconfig.json +48 -0
  174. package/dist/src/lib/adapters/database.d.ts +0 -45
  175. package/dist/src/lib/adapters/mssql.d.ts +0 -3
  176. package/dist/src/lib/ai/active-streams.d.ts +0 -14
  177. package/dist/src/lib/ai/context/index.d.ts +0 -16
  178. package/dist/src/lib/ai/tools/capture-files.tool.d.ts +0 -6
  179. package/dist/src/lib/cli/extract-endpoints.d.ts +0 -6
  180. package/dist/src/lib/graph/expand-domains.d.ts +0 -2
  181. package/dist/src/lib/graph/generate-cypher.d.ts +0 -22
  182. package/dist/src/lib/graph/seed.d.ts +0 -19
  183. package/dist/src/lib/graph/validate.d.ts +0 -2
  184. package/dist/src/lib/routes/index.d.ts +0 -4
  185. package/dist/src/lib/ws/events.d.ts +0 -39
  186. package/dist/src/lib/ws/index.d.ts +0 -3
  187. package/dist/src/lib/ws/notify.d.ts +0 -2
  188. package/src/lib/adapters/database.ts +0 -48
  189. package/src/lib/adapters/mssql.ts +0 -231
  190. package/src/lib/ai/active-streams.ts +0 -123
  191. package/src/lib/ai/context/index.ts +0 -80
  192. package/src/lib/ai/tools/capture-files.tool.ts +0 -20
  193. package/src/lib/cli/extract-endpoints.ts +0 -550
  194. package/src/lib/graph/expand-domains.ts +0 -276
  195. package/src/lib/graph/generate-cypher.ts +0 -192
  196. package/src/lib/graph/seed.ts +0 -162
  197. package/src/lib/graph/validate.ts +0 -78
  198. package/src/lib/routes/index.ts +0 -4
  199. package/src/lib/ws/events.ts +0 -39
  200. package/src/lib/ws/index.ts +0 -11
  201. package/src/lib/ws/notify.ts +0 -9
  202. package/src/sample/db/client.ts +0 -9
  203. package/src/sample/db/migrations/20260411023125_rich_purple_man/migration.sql +0 -5
  204. package/src/sample/db/migrations/20260411023125_rich_purple_man/snapshot.json +0 -50
  205. package/src/sample/db/schema.ts +0 -10
  206. package/src/sample/domains/account/concepts/session.concept.ts +0 -17
  207. package/src/sample/domains/account/endpoints/listCurrentSessions.endpoint.ts +0 -31
  208. package/src/sample/domains/account/endpoints/revokeAllOtherSessions.endpoint.ts +0 -22
  209. package/src/sample/domains/account/endpoints/revokeCurrentSession.endpoint.ts +0 -33
  210. package/src/sample/domains/account/index.ts +0 -18
  211. package/src/sample/domains/appraisals/concepts/appraisalCycle.concept.ts +0 -15
  212. package/src/sample/domains/appraisals/concepts/appraisalRecord.concept.ts +0 -20
  213. package/src/sample/domains/appraisals/concepts/appraisalRecordCompetency.concept.ts +0 -10
  214. package/src/sample/domains/appraisals/concepts/appraisalRecordFunctionalRequirement.concept.ts +0 -10
  215. package/src/sample/domains/appraisals/concepts/appraisalRecordGoal.concept.ts +0 -17
  216. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordById.endpoint.ts +0 -321
  217. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordCompetencies.endpoint.ts +0 -120
  218. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordFunctionalRequirements.endpoint.ts +0 -126
  219. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordGoals.endpoint.ts +0 -104
  220. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordScore.endpoint.ts +0 -58
  221. package/src/sample/domains/appraisals/endpoints/listAppraisalCyclesSimple.endpoint.ts +0 -52
  222. package/src/sample/domains/appraisals/endpoints/listAppraisalRecords.endpoint.ts +0 -245
  223. package/src/sample/domains/appraisals/endpoints/listAppraisalTemplatesSimple.endpoint.ts +0 -52
  224. package/src/sample/domains/appraisals/index.ts +0 -40
  225. package/src/sample/domains/appraisals/rules/appraisalRecordScoping.rule.ts +0 -7
  226. package/src/sample/domains/attendance/concepts/attendancePermission.concept.ts +0 -17
  227. package/src/sample/domains/attendance/concepts/attendanceTransaction.concept.ts +0 -17
  228. package/src/sample/domains/attendance/concepts/publicHoliday.concept.ts +0 -10
  229. package/src/sample/domains/attendance/concepts/punch.concept.ts +0 -19
  230. package/src/sample/domains/attendance/endpoints/getAttendanceTransactionById.endpoint.ts +0 -444
  231. package/src/sample/domains/attendance/endpoints/getCurrentAttendanceProfile.endpoint.ts +0 -886
  232. package/src/sample/domains/attendance/endpoints/getCurrentAttendanceStatistics.endpoint.ts +0 -49
  233. package/src/sample/domains/attendance/endpoints/listAttendancePermissions.endpoint.ts +0 -176
  234. package/src/sample/domains/attendance/endpoints/listAttendanceTransactionStates.endpoint.ts +0 -26
  235. package/src/sample/domains/attendance/endpoints/listAttendanceTransactions.endpoint.ts +0 -373
  236. package/src/sample/domains/attendance/endpoints/listPublicHolidaysSimple.endpoint.ts +0 -52
  237. package/src/sample/domains/attendance/endpoints/listPunchTypes.endpoint.ts +0 -25
  238. package/src/sample/domains/attendance/endpoints/listPunches.endpoint.ts +0 -178
  239. package/src/sample/domains/attendance/index.ts +0 -41
  240. package/src/sample/domains/attendance/services/attendancePermissions.service.ts +0 -15
  241. package/src/sample/domains/employees/concepts/employee.concept.ts +0 -20
  242. package/src/sample/domains/employees/concepts/employeeBankAccount.concept.ts +0 -19
  243. package/src/sample/domains/employees/concepts/employeeChild.concept.ts +0 -19
  244. package/src/sample/domains/employees/concepts/employeeDocument.concept.ts +0 -21
  245. package/src/sample/domains/employees/concepts/employeeEvent.concept.ts +0 -21
  246. package/src/sample/domains/employees/concepts/employeeExperience.concept.ts +0 -18
  247. package/src/sample/domains/employees/concepts/employeeJobLevelChange.concept.ts +0 -21
  248. package/src/sample/domains/employees/concepts/employeeMedal.concept.ts +0 -20
  249. package/src/sample/domains/employees/concepts/employeeQualification.concept.ts +0 -20
  250. package/src/sample/domains/employees/concepts/employeeSpouse.concept.ts +0 -21
  251. package/src/sample/domains/employees/concepts/employeeViolation.concept.ts +0 -19
  252. package/src/sample/domains/employees/endpoints/getCurrentEmployee.endpoint.ts +0 -1651
  253. package/src/sample/domains/employees/endpoints/getCurrentIdentity.endpoint.ts +0 -197
  254. package/src/sample/domains/employees/endpoints/getCurrentManagers.endpoint.ts +0 -142
  255. package/src/sample/domains/employees/endpoints/getEmployeeById.endpoint.ts +0 -1659
  256. package/src/sample/domains/employees/endpoints/getEmployeeStatistics.endpoint.ts +0 -43
  257. package/src/sample/domains/employees/endpoints/listBankAccounts.endpoint.ts +0 -223
  258. package/src/sample/domains/employees/endpoints/listChildren.endpoint.ts +0 -211
  259. package/src/sample/domains/employees/endpoints/listDocuments.endpoint.ts +0 -222
  260. package/src/sample/domains/employees/endpoints/listEmployeesSimple.endpoint.ts +0 -156
  261. package/src/sample/domains/employees/endpoints/listEvents.endpoint.ts +0 -120
  262. package/src/sample/domains/employees/endpoints/listExperiences.endpoint.ts +0 -188
  263. package/src/sample/domains/employees/endpoints/listJobLevelChanges.endpoint.ts +0 -240
  264. package/src/sample/domains/employees/endpoints/listMedals.endpoint.ts +0 -266
  265. package/src/sample/domains/employees/endpoints/listQualifications.endpoint.ts +0 -265
  266. package/src/sample/domains/employees/endpoints/listSpouses.endpoint.ts +0 -278
  267. package/src/sample/domains/employees/endpoints/listViolations.endpoint.ts +0 -245
  268. package/src/sample/domains/employees/index.ts +0 -75
  269. package/src/sample/domains/employees/services/employees.service.ts +0 -181
  270. package/src/sample/domains/index.ts +0 -10
  271. package/src/sample/domains/leaves/concepts/leave.concept.ts +0 -21
  272. package/src/sample/domains/leaves/concepts/leaveBalance.concept.ts +0 -17
  273. package/src/sample/domains/leaves/concepts/leaveBalanceTransaction.concept.ts +0 -16
  274. package/src/sample/domains/leaves/concepts/leaveType.concept.ts +0 -13
  275. package/src/sample/domains/leaves/concepts/leaveTypes.concept.ts +0 -205
  276. package/src/sample/domains/leaves/endpoints/getBalance.endpoint.ts +0 -53
  277. package/src/sample/domains/leaves/endpoints/getLeaveById.endpoint.ts +0 -53
  278. package/src/sample/domains/leaves/endpoints/listBalanceTransactions.endpoint.ts +0 -196
  279. package/src/sample/domains/leaves/endpoints/listBalanceTypes.endpoint.ts +0 -26
  280. package/src/sample/domains/leaves/endpoints/listBalances.endpoint.ts +0 -201
  281. package/src/sample/domains/leaves/endpoints/listLeaveTypes.endpoint.ts +0 -28
  282. package/src/sample/domains/leaves/endpoints/listLeaves.endpoint.ts +0 -234
  283. package/src/sample/domains/leaves/index.ts +0 -38
  284. package/src/sample/domains/leaves/services/leaveRequests.service.ts +0 -232
  285. package/src/sample/domains/notifications/concepts/notification.concept.ts +0 -19
  286. package/src/sample/domains/notifications/endpoints/countMyNotifications.endpoint.ts +0 -21
  287. package/src/sample/domains/notifications/endpoints/getMyNotification.endpoint.ts +0 -57
  288. package/src/sample/domains/notifications/endpoints/listMyNotifications.endpoint.ts +0 -59
  289. package/src/sample/domains/notifications/endpoints/markMyNotificationAsRead.endpoint.ts +0 -32
  290. package/src/sample/domains/notifications/index.ts +0 -20
  291. package/src/sample/domains/payroll/concepts/payslip.concept.ts +0 -18
  292. package/src/sample/domains/payroll/concepts/salaryCertificate.concept.ts +0 -17
  293. package/src/sample/domains/payroll/concepts/salaryCertificateRequestingEntity.concept.ts +0 -8
  294. package/src/sample/domains/payroll/endpoints/getPayslipById.endpoint.ts +0 -238
  295. package/src/sample/domains/payroll/endpoints/listPayslips.endpoint.ts +0 -216
  296. package/src/sample/domains/payroll/endpoints/listSalaryCertificateLanguages.endpoint.ts +0 -25
  297. package/src/sample/domains/payroll/endpoints/listSalaryCertificateRequestingEntities.endpoint.ts +0 -62
  298. package/src/sample/domains/payroll/endpoints/listSalaryCertificateTypes.endpoint.ts +0 -24
  299. package/src/sample/domains/payroll/endpoints/listSalaryCertificates.endpoint.ts +0 -122
  300. package/src/sample/domains/payroll/endpoints/previewSalaryCertificate.endpoint.ts +0 -45
  301. package/src/sample/domains/payroll/index.ts +0 -32
  302. package/src/sample/domains/payroll/rules/payrollEmployeeContext.rule.ts +0 -7
  303. package/src/sample/domains/payroll/services/salaryCertificates.service.ts +0 -15
  304. package/src/sample/domains/servicing/concepts/service.concept.ts +0 -6
  305. package/src/sample/domains/servicing/concepts/serviceRequest.concept.ts +0 -12
  306. package/src/sample/domains/servicing/concepts/serviceRequestApproval.concept.ts +0 -9
  307. package/src/sample/domains/servicing/endpoints/cancelServiceRequest.endpoint.ts +0 -21
  308. package/src/sample/domains/servicing/endpoints/createServiceRequest.endpoint.ts +0 -511
  309. package/src/sample/domains/servicing/endpoints/getServiceRequest.endpoint.ts +0 -352
  310. package/src/sample/domains/servicing/endpoints/getServiceRequestFormItems.endpoint.ts +0 -219
  311. package/src/sample/domains/servicing/endpoints/getServiceRequestTransactionFormItems.endpoint.ts +0 -216
  312. package/src/sample/domains/servicing/endpoints/getServiceStates.endpoint.ts +0 -47
  313. package/src/sample/domains/servicing/endpoints/invokeServiceRequestAction.endpoint.ts +0 -139
  314. package/src/sample/domains/servicing/endpoints/listServiceRequests.endpoint.ts +0 -292
  315. package/src/sample/domains/servicing/endpoints/listServices.endpoint.ts +0 -108
  316. package/src/sample/domains/servicing/endpoints/updateServiceRequest.endpoint.ts +0 -355
  317. package/src/sample/domains/servicing/index.ts +0 -44
  318. package/src/sample/domains/servicing/rules/checkValidActions.rule.ts +0 -7
  319. package/src/sample/domains/servicing/rules/createServiceRequest.rule.ts +0 -7
  320. package/src/sample/domains/servicing/rules/filterServiceRequestsByState.rule.ts +0 -7
  321. package/src/sample/domains/servicing/rules/passingOptionFields.rule.ts +0 -7
  322. package/src/sample/domains/shared/rules/pagination.rule.ts +0 -7
  323. package/src/sample/domains/suggestions/concepts/suggestion.concept.ts +0 -19
  324. package/src/sample/domains/suggestions/concepts/suggestionCategory.concept.ts +0 -7
  325. package/src/sample/domains/suggestions/concepts/suggestionImpactLevel.concept.ts +0 -7
  326. package/src/sample/domains/suggestions/endpoints/createSuggestion.endpoint.ts +0 -705
  327. package/src/sample/domains/suggestions/endpoints/deleteSuggestion.endpoint.ts +0 -32
  328. package/src/sample/domains/suggestions/endpoints/getSuggestionById.endpoint.ts +0 -635
  329. package/src/sample/domains/suggestions/endpoints/listSuggestionCategories.endpoint.ts +0 -62
  330. package/src/sample/domains/suggestions/endpoints/listSuggestionImpactLevels.endpoint.ts +0 -62
  331. package/src/sample/domains/suggestions/endpoints/listSuggestionStates.endpoint.ts +0 -24
  332. package/src/sample/domains/suggestions/endpoints/listSuggestions.endpoint.ts +0 -132
  333. package/src/sample/domains/suggestions/endpoints/updateSuggestion.endpoint.ts +0 -690
  334. package/src/sample/domains/suggestions/endpoints/updateSuggestionState.endpoint.ts +0 -39
  335. package/src/sample/domains/suggestions/index.ts +0 -34
  336. package/src/sample/domains/suggestions/rules/suggestionScope.rule.ts +0 -7
  337. package/src/sample/domains/surveys/concepts/survey.concept.ts +0 -10
  338. package/src/sample/domains/surveys/concepts/surveyResponse.concept.ts +0 -14
  339. package/src/sample/domains/surveys/endpoints/getSurveyResponseById.endpoint.ts +0 -131
  340. package/src/sample/domains/surveys/endpoints/getTargetedSurvey.endpoint.ts +0 -129
  341. package/src/sample/domains/surveys/endpoints/listTargetedSurveys.endpoint.ts +0 -160
  342. package/src/sample/domains/surveys/endpoints/respondToSurvey.endpoint.ts +0 -144
  343. package/src/sample/domains/surveys/index.ts +0 -21
  344. package/src/sample/drizzle.config.ts +0 -11
  345. package/src/sample/index.bak.ts +0 -341
  346. package/src/sample/index.ts +0 -318
  347. package/src/sample/official-statements/defaults.ts +0 -57
  348. package/src/sample/official-statements/routes.ts +0 -137
  349. package/src/sample/official-statements/service.ts +0 -148
  350. package/src/sample/official-statements/types.ts +0 -23
  351. /package/src/lib/db/migrations/{20260326231647_nice_speedball → mssql/20260326231647_nice_speedball}/migration.sql +0 -0
  352. /package/src/lib/db/migrations/{20260326231647_nice_speedball → mssql/20260326231647_nice_speedball}/snapshot.json +0 -0
@@ -1,234 +0,0 @@
1
- import { defineEndpoint } from "@m6d/cortex-server";
2
- import { leaveConcept } from "../concepts/leave.concept";
3
-
4
- export const listLeavesEndpoint = defineEndpoint({
5
- name: "List leaves",
6
- path: "/leaves",
7
- method: "GET",
8
- description:
9
- "List leaves with filtering and pagination. Can return the leaves for the current employee given the employee id as filter.",
10
- queries: [leaveConcept],
11
- returns: [{ concept: leaveConcept }],
12
-
13
- paramDescriptions: {
14
- pageNumber: "0-based",
15
- },
16
-
17
- // @auto-generated-start
18
- autoGenerated: {
19
- params: [
20
- {
21
- name: "orderByProperties",
22
- required: false,
23
- type: "object",
24
- isArray: true,
25
- properties: [
26
- { name: "property", required: false, type: "string" },
27
- { name: "direction", required: false, type: "'asc' | 'desc'" },
28
- ],
29
- },
30
- {
31
- name: "filterCountExclusions",
32
- required: false,
33
- type: "'employee_ids'",
34
- isArray: true,
35
- },
36
- { name: "pageNumber", required: false, type: "number" },
37
- { name: "pageSize", required: false, type: "number" },
38
- { name: "employeeIds", required: false, type: "uuid", isArray: true },
39
- { name: "types", required: false, type: "string", isArray: true },
40
- { name: "from", required: false, type: "datetime" },
41
- { name: "to", required: false, type: "datetime" },
42
- { name: "employee.keyword", required: false, type: "string" },
43
- { name: "employee.number", required: false, type: "string" },
44
- { name: "employee.genders", required: false, type: "string", isArray: true },
45
- { name: "employee.jobClassificationIds", required: false, type: "uuid", isArray: true },
46
- { name: "employee.jobLevelIds", required: false, type: "uuid", isArray: true },
47
- { name: "employee.departmentIds", required: false, type: "uuid", isArray: true },
48
- { name: "employee.jobTitleIds", required: false, type: "uuid", isArray: true },
49
- { name: "employee.displayAllUnderHierarchy", required: false, type: "boolean" },
50
- ] as const,
51
- body: [] as const,
52
- response: [
53
- {
54
- name: "items",
55
- required: false,
56
- type: "object",
57
- isArray: true,
58
- properties: [
59
- { name: "id", required: false, type: "uuid" },
60
- {
61
- name: "employee",
62
- required: false,
63
- type: "object",
64
- properties: [
65
- { name: "id", required: false, type: "uuid" },
66
- {
67
- name: "name",
68
- required: false,
69
- type: "object",
70
- properties: [
71
- { name: "ar", required: false, type: "string" },
72
- { name: "en", required: false, type: "string" },
73
- ],
74
- },
75
- {
76
- name: "nationality",
77
- required: false,
78
- type: "object",
79
- properties: [
80
- { name: "id", required: false, type: "uuid" },
81
- {
82
- name: "name",
83
- required: false,
84
- type: "object",
85
- properties: [
86
- { name: "ar", required: false, type: "string" },
87
- { name: "en", required: false, type: "string" },
88
- ],
89
- },
90
- ],
91
- },
92
- { name: "dateOfBirth", required: false, type: "datetime" },
93
- {
94
- name: "photoFile",
95
- required: false,
96
- type: "object",
97
- properties: [
98
- { name: "id", required: false, type: "uuid" },
99
- { name: "createdTime", required: false, type: "datetime" },
100
- {
101
- name: "name",
102
- required: false,
103
- type: "object",
104
- properties: [
105
- { name: "ar", required: false, type: "string" },
106
- { name: "en", required: false, type: "string" },
107
- ],
108
- },
109
- {
110
- name: "description",
111
- required: false,
112
- type: "object",
113
- properties: [
114
- { name: "ar", required: false, type: "string" },
115
- { name: "en", required: false, type: "string" },
116
- ],
117
- },
118
- { name: "sizeInBytes", required: false, type: "number" },
119
- { name: "contentType", required: false, type: "string" },
120
- ],
121
- },
122
- { name: "email", required: false, type: "string" },
123
- { name: "number", required: false, type: "string" },
124
- { name: "isConfidential", required: false, type: "boolean" },
125
- {
126
- name: "department",
127
- required: false,
128
- type: "object",
129
- properties: [
130
- { name: "id", required: false, type: "uuid" },
131
- {
132
- name: "name",
133
- required: false,
134
- type: "object",
135
- properties: [
136
- { name: "ar", required: false, type: "string" },
137
- { name: "en", required: false, type: "string" },
138
- ],
139
- },
140
- ],
141
- },
142
- { name: "hireDate", required: false, type: "datetime" },
143
- {
144
- name: "jobClassification",
145
- required: false,
146
- type: "object",
147
- properties: [
148
- { name: "id", required: false, type: "uuid" },
149
- {
150
- name: "name",
151
- required: false,
152
- type: "object",
153
- properties: [
154
- { name: "ar", required: false, type: "string" },
155
- { name: "en", required: false, type: "string" },
156
- ],
157
- },
158
- ],
159
- },
160
- {
161
- name: "jobLevel",
162
- required: false,
163
- type: "object",
164
- properties: [
165
- { name: "id", required: false, type: "uuid" },
166
- {
167
- name: "name",
168
- required: false,
169
- type: "object",
170
- properties: [
171
- { name: "ar", required: false, type: "string" },
172
- { name: "en", required: false, type: "string" },
173
- ],
174
- },
175
- ],
176
- },
177
- {
178
- name: "jobTitle",
179
- required: false,
180
- type: "object",
181
- properties: [
182
- { name: "id", required: false, type: "uuid" },
183
- {
184
- name: "name",
185
- required: false,
186
- type: "object",
187
- properties: [
188
- { name: "ar", required: false, type: "string" },
189
- { name: "en", required: false, type: "string" },
190
- ],
191
- },
192
- ],
193
- },
194
- {
195
- name: "jobCategory",
196
- required: false,
197
- type: "object",
198
- properties: [
199
- { name: "id", required: false, type: "uuid" },
200
- {
201
- name: "name",
202
- required: false,
203
- type: "object",
204
- properties: [
205
- { name: "ar", required: false, type: "string" },
206
- { name: "en", required: false, type: "string" },
207
- ],
208
- },
209
- ],
210
- },
211
- ],
212
- },
213
- { name: "type", required: false, type: "string" },
214
- { name: "from", required: false, type: "datetime" },
215
- { name: "to", required: false, type: "datetime" },
216
- { name: "dayCount", required: false, type: "number" },
217
- { name: "daysBalanceBeforeLeave", required: false, type: "number" },
218
- {
219
- name: "serviceRequest",
220
- required: false,
221
- type: "object",
222
- properties: [{ name: "id", required: false, type: "uuid" }],
223
- },
224
- ],
225
- },
226
- { name: "count", required: false, type: "number" },
227
- { name: "filteredCount", required: false, type: "number" },
228
- ] as const,
229
- successStatus: 200,
230
- errorStatuses: [],
231
- responseKind: "object",
232
- } as const,
233
- // @auto-generated-end
234
- });
@@ -1,38 +0,0 @@
1
- import { defineDomain } from "@m6d/cortex-server";
2
- import type { DomainDef } from "@m6d/cortex-server";
3
- import { leaveConcept } from "./concepts/leave.concept";
4
- import { leaveBalanceConcept } from "./concepts/leaveBalance.concept";
5
- import { leaveBalanceTransactionConcept } from "./concepts/leaveBalanceTransaction.concept";
6
- import { leaveTypeConcept } from "./concepts/leaveType.concept";
7
- import { leaveTypeConcepts } from "./concepts/leaveTypes.concept";
8
- import { getBalanceEndpoint } from "./endpoints/getBalance.endpoint";
9
- import { getLeaveByIdEndpoint } from "./endpoints/getLeaveById.endpoint";
10
- import { listBalancesEndpoint } from "./endpoints/listBalances.endpoint";
11
- import { listBalanceTransactionsEndpoint } from "./endpoints/listBalanceTransactions.endpoint";
12
- import { listBalanceTypesEndpoint } from "./endpoints/listBalanceTypes.endpoint";
13
- import { listLeavesEndpoint } from "./endpoints/listLeaves.endpoint";
14
- import { listLeaveTypesEndpoint } from "./endpoints/listLeaveTypes.endpoint";
15
- import { leaveServices } from "./services/leaveRequests.service";
16
-
17
- export const leavesDomain: DomainDef = defineDomain({
18
- name: "Leaves",
19
- description:
20
- "Leave management domain covering leave requests, leave balances, leave types, and leave-related service workflows. Handles all employee leave operations including requesting, approving, tracking balances, and processing returns.",
21
- concepts: [
22
- leaveConcept,
23
- leaveBalanceConcept,
24
- leaveBalanceTransactionConcept,
25
- leaveTypeConcept,
26
- ...leaveTypeConcepts,
27
- ],
28
- endpoints: [
29
- getBalanceEndpoint,
30
- getLeaveByIdEndpoint,
31
- listBalancesEndpoint,
32
- listBalanceTransactionsEndpoint,
33
- listBalanceTypesEndpoint,
34
- listLeavesEndpoint,
35
- listLeaveTypesEndpoint,
36
- ],
37
- services: [...leaveServices],
38
- });
@@ -1,232 +0,0 @@
1
- import { defineService } from "@m6d/cortex-server";
2
- import type { ConceptDef } from "@m6d/cortex-server";
3
- import {
4
- annualLeaveConcept,
5
- sickLeaveConcept,
6
- casualLeaveConcept,
7
- maternityLeaveConcept,
8
- pilgrimageLeaveConcept,
9
- paternalLeaveConcept,
10
- examLeaveConcept,
11
- unpaidLeaveConcept,
12
- guardianLeaveConcept,
13
- sabbaticalLeaveConcept,
14
- mourningLeaveConcept,
15
- iddaLeaveConcept,
16
- officialDutyLeaveConcept,
17
- careLeaveConcept,
18
- contactWithInfectedPatientLeaveConcept,
19
- urgentLeaveConcept,
20
- timeInLieuLeaveConcept,
21
- timeInLieuBalanceCreditGrantConcept,
22
- encashLeaveDaysConcept,
23
- returnFromLeaveConcept,
24
- } from "../concepts/leaveTypes.concept";
25
-
26
- function leaveService(config: {
27
- name: string;
28
- builtInId: string;
29
- belongsTo: ConceptDef;
30
- description: string;
31
- intakeMode: "conversational" | "form";
32
- }) {
33
- return defineService({
34
- name: config.name,
35
- builtInId: config.builtInId,
36
- belongsTo: config.belongsTo,
37
- description: config.description,
38
- metadata: {
39
- intakeMode: config.intakeMode,
40
- },
41
- });
42
- }
43
-
44
- export const annualLeaveRequestService = leaveService({
45
- name: "Annual leave request",
46
- builtInId: "services:annual_leave",
47
- belongsTo: annualLeaveConcept,
48
- description:
49
- "Request annual leave (vacation). Creates draft then submits for supervisor approval. Requires sufficient annual leave balance.",
50
- intakeMode: "conversational",
51
- });
52
-
53
- export const sickLeaveRequestService = leaveService({
54
- name: "Sick leave request",
55
- builtInId: "services:sick_leave",
56
- belongsTo: sickLeaveConcept,
57
- description:
58
- "Request sick leave. Less than 5 days: standard approval. 5+ days: requires medical committee approval and medical certificate.",
59
- intakeMode: "conversational",
60
- });
61
-
62
- export const casualLeaveRequestService = leaveService({
63
- name: "Casual leave request",
64
- builtInId: "services:casual_leave",
65
- belongsTo: casualLeaveConcept,
66
- description:
67
- "Request casual/emergency leave. Must be for today only (not past or future). Cannot have adjacent leaves.",
68
- intakeMode: "conversational",
69
- });
70
-
71
- export const maternityLeaveRequestService = leaveService({
72
- name: "Maternity leave request",
73
- builtInId: "services:maternity_leave",
74
- belongsTo: maternityLeaveConcept,
75
- description:
76
- "Request maternity leave. Fixed 90-day balance. Requires date of birth and medical report. Female employees only.",
77
- intakeMode: "conversational",
78
- });
79
-
80
- export const pilgrimageLeaveRequestService = leaveService({
81
- name: "Pilgrimage leave request",
82
- builtInId: "services:pilgrimage_leave",
83
- belongsTo: pilgrimageLeaveConcept,
84
- description:
85
- "Request pilgrimage (Hajj) leave. Fixed 30-day balance no need to check balance for this one.",
86
- intakeMode: "conversational",
87
- });
88
-
89
- export const paternalLeaveRequestService = leaveService({
90
- name: "Paternal leave request",
91
- builtInId: "services:paternal_leave",
92
- belongsTo: paternalLeaveConcept,
93
- description: "Request paternal leave for new fathers.",
94
- intakeMode: "conversational",
95
- });
96
-
97
- export const examLeaveRequestService = leaveService({
98
- name: "Exam leave request",
99
- builtInId: "services:exam_leave",
100
- belongsTo: examLeaveConcept,
101
- description: "Request exam leave for academic examinations.",
102
- intakeMode: "conversational",
103
- });
104
-
105
- export const unpaidLeaveRequestService = leaveService({
106
- name: "Unpaid leave request",
107
- builtInId: "services:unpaid_leave",
108
- belongsTo: unpaidLeaveConcept,
109
- description: "Request unpaid leave (leave without pay).",
110
- intakeMode: "conversational",
111
- });
112
-
113
- export const guardianLeaveRequestService = leaveService({
114
- name: "Guardian leave request",
115
- builtInId: "services:guardian_leave",
116
- belongsTo: guardianLeaveConcept,
117
- description: "Request guardian leave for accompanying a patient.",
118
- intakeMode: "conversational",
119
- });
120
-
121
- export const sabbaticalLeaveRequestService = leaveService({
122
- name: "Sabbatical leave request",
123
- builtInId: "services:sabbatical_leave",
124
- belongsTo: sabbaticalLeaveConcept,
125
- description: "Request sabbatical leave for extended time off.",
126
- intakeMode: "conversational",
127
- });
128
-
129
- export const mourningLeaveRequestService = leaveService({
130
- name: "Mourning leave request",
131
- builtInId: "services:mourning_leave",
132
- belongsTo: mourningLeaveConcept,
133
- description: "Request mourning/bereavement leave.",
134
- intakeMode: "conversational",
135
- });
136
-
137
- export const iddaLeaveRequestService = leaveService({
138
- name: "Idda leave request",
139
- builtInId: "services:idda_leave",
140
- belongsTo: iddaLeaveConcept,
141
- description:
142
- "Request Idda leave (waiting period leave for women after divorce or spouse death).",
143
- intakeMode: "conversational",
144
- });
145
-
146
- export const officialDutyLeaveRequestService = leaveService({
147
- name: "Official duty leave request",
148
- builtInId: "services:official_duty_leave",
149
- belongsTo: officialDutyLeaveConcept,
150
- description: "Request official duty leave for work-related travel or assignments.",
151
- intakeMode: "conversational",
152
- });
153
-
154
- export const careLeaveRequestService = leaveService({
155
- name: "Care leave request",
156
- builtInId: "services:care_leave",
157
- belongsTo: careLeaveConcept,
158
- description: "Request care leave for caring for a family member.",
159
- intakeMode: "conversational",
160
- });
161
-
162
- export const contactWithInfectedPatientLeaveRequestService = leaveService({
163
- name: "Contact with infected patient leave request",
164
- builtInId: "services:contact_with_infected_patient_leave",
165
- belongsTo: contactWithInfectedPatientLeaveConcept,
166
- description: "Request leave due to contact with an infected patient.",
167
- intakeMode: "conversational",
168
- });
169
-
170
- export const urgentLeaveRequestService = leaveService({
171
- name: "Urgent leave request",
172
- builtInId: "services:urgent_leave",
173
- belongsTo: urgentLeaveConcept,
174
- description: "Request urgent leave for emergencies.",
175
- intakeMode: "conversational",
176
- });
177
-
178
- export const timeInLieuLeaveRequestService = leaveService({
179
- name: "Time in lieu leave request",
180
- builtInId: "services:time_in_lieu",
181
- belongsTo: timeInLieuLeaveConcept,
182
- description: "Request time in lieu leave (compensatory time off for overtime).",
183
- intakeMode: "conversational",
184
- });
185
-
186
- export const timeInLieuBalanceCreditGrantService = leaveService({
187
- name: "Time in lieu balance credit grant",
188
- builtInId: "services:time_in_lieu_balance_credit_grant",
189
- belongsTo: timeInLieuBalanceCreditGrantConcept,
190
- description: "Request to credit time in lieu balance (grant overtime compensation days).",
191
- intakeMode: "conversational",
192
- });
193
-
194
- export const encashLeaveDaysRequestService = leaveService({
195
- name: "Encash leave days request",
196
- builtInId: "services:encash_leave_days",
197
- belongsTo: encashLeaveDaysConcept,
198
- description: "Request to encash (cash out) unused leave days.",
199
- intakeMode: "conversational",
200
- });
201
-
202
- export const returnFromLeaveRequestService = leaveService({
203
- name: "Return from leave request",
204
- builtInId: "services:return_from_leave",
205
- belongsTo: returnFromLeaveConcept,
206
- description:
207
- "Register returning from an ongoing leave, possibly earlier than planned end date.",
208
- intakeMode: "conversational",
209
- });
210
-
211
- export const leaveServices = [
212
- annualLeaveRequestService,
213
- sickLeaveRequestService,
214
- casualLeaveRequestService,
215
- maternityLeaveRequestService,
216
- pilgrimageLeaveRequestService,
217
- paternalLeaveRequestService,
218
- examLeaveRequestService,
219
- unpaidLeaveRequestService,
220
- guardianLeaveRequestService,
221
- sabbaticalLeaveRequestService,
222
- mourningLeaveRequestService,
223
- iddaLeaveRequestService,
224
- officialDutyLeaveRequestService,
225
- careLeaveRequestService,
226
- contactWithInfectedPatientLeaveRequestService,
227
- urgentLeaveRequestService,
228
- timeInLieuLeaveRequestService,
229
- timeInLieuBalanceCreditGrantService,
230
- encashLeaveDaysRequestService,
231
- returnFromLeaveRequestService,
232
- ];
@@ -1,19 +0,0 @@
1
- import { defineConcept } from "@m6d/cortex-server";
2
- import { paginationRule } from "../../shared/rules/pagination.rule";
3
-
4
- export const notificationConcept = defineConcept({
5
- name: "Notification",
6
- description:
7
- "A personal in-app notification for the current user, including message content, read state, timestamps, tags, and optional navigation link.",
8
- aliases: [
9
- "notification",
10
- "my notifications",
11
- "unread notifications",
12
- "alerts",
13
- "notifications",
14
- "الإشعارات",
15
- "إشعاراتي",
16
- "الإشعارات غير المقروءة",
17
- ],
18
- governedBy: [paginationRule],
19
- });
@@ -1,21 +0,0 @@
1
- import { defineEndpoint } from "@m6d/cortex-server";
2
- import { notificationConcept } from "../concepts/notification.concept";
3
-
4
- export const countMyNotificationsEndpoint = defineEndpoint({
5
- name: "Count unread current user notifications",
6
- path: "/notifications/users/count",
7
- method: "GET",
8
- description: "Returns the number of unread notifications for the current user.",
9
- queries: [notificationConcept],
10
-
11
- // @auto-generated-start
12
- autoGenerated: {
13
- params: [] as const,
14
- body: [] as const,
15
- response: [{ name: "value", required: true, type: "number" }] as const,
16
- successStatus: 200,
17
- errorStatuses: [],
18
- responseKind: "object",
19
- } as const,
20
- // @auto-generated-end
21
- });
@@ -1,57 +0,0 @@
1
- import { defineEndpoint } from "@m6d/cortex-server";
2
- import { notificationConcept } from "../concepts/notification.concept";
3
- import { listMyNotificationsEndpoint } from "./listMyNotifications.endpoint";
4
-
5
- export const getMyNotificationEndpoint = defineEndpoint({
6
- name: "Get one current user notification",
7
- path: "/notifications/users/{id}",
8
- method: "GET",
9
- description: "Returns a single notification belonging to the current user.",
10
- queries: [notificationConcept],
11
- returns: [{ concept: notificationConcept }],
12
- paramDescriptions: {
13
- id: "The notification identifier",
14
- },
15
- dependsOn: [
16
- {
17
- endpoint: listMyNotificationsEndpoint,
18
- fromField: "id",
19
- paramName: "id",
20
- },
21
- ],
22
-
23
- // @auto-generated-start
24
- autoGenerated: {
25
- params: [{ name: "id", required: true, type: "uuid" }] as const,
26
- body: [] as const,
27
- response: [
28
- { name: "id", required: false, type: "uuid" },
29
- {
30
- name: "name",
31
- required: false,
32
- type: "object",
33
- properties: [
34
- { name: "ar", required: false, type: "string" },
35
- { name: "en", required: false, type: "string" },
36
- ],
37
- },
38
- {
39
- name: "description",
40
- required: false,
41
- type: "object",
42
- properties: [
43
- { name: "ar", required: false, type: "string" },
44
- { name: "en", required: false, type: "string" },
45
- ],
46
- },
47
- { name: "createdTime", required: false, type: "datetime" },
48
- { name: "link", required: false, type: "string" },
49
- { name: "tags", required: false, type: "string", isArray: true },
50
- { name: "readTime", required: false, type: "datetime" },
51
- ] as const,
52
- successStatus: 200,
53
- errorStatuses: [404],
54
- responseKind: "object",
55
- } as const,
56
- // @auto-generated-end
57
- });
@@ -1,59 +0,0 @@
1
- import { defineEndpoint } from "@m6d/cortex-server";
2
- import { notificationConcept } from "../concepts/notification.concept";
3
-
4
- export const listMyNotificationsEndpoint = defineEndpoint({
5
- name: "List current user notifications",
6
- path: "/notifications/users",
7
- method: "GET",
8
- description:
9
- "Returns paginated notifications for the current user. Supports keyword and unread filtering for personal inbox-style queries.",
10
- queries: [notificationConcept],
11
- returns: [{ concept: notificationConcept }],
12
- paramDescriptions: {
13
- keyword: "Optional keyword filter",
14
- isUnread: "Optional boolean filter to return only unread notifications",
15
- page: "Pagination page number",
16
- pageSize: "Pagination page size",
17
- },
18
-
19
- // @auto-generated-start
20
- autoGenerated: {
21
- params: [
22
- { name: "keyword", required: false, type: "string" },
23
- { name: "isUnread", required: false, type: "boolean" },
24
- { name: "pageNumber", required: false, type: "number" },
25
- { name: "pageSize", required: false, type: "number" },
26
- ] as const,
27
- body: [] as const,
28
- response: [
29
- {
30
- name: "items",
31
- required: false,
32
- type: "object",
33
- isArray: true,
34
- properties: [
35
- { name: "id", required: false, type: "uuid" },
36
- {
37
- name: "name",
38
- required: false,
39
- type: "object",
40
- properties: [
41
- { name: "ar", required: false, type: "string" },
42
- { name: "en", required: false, type: "string" },
43
- ],
44
- },
45
- { name: "createdTime", required: false, type: "datetime" },
46
- { name: "link", required: false, type: "string" },
47
- { name: "tags", required: false, type: "string", isArray: true },
48
- { name: "readTime", required: false, type: "datetime" },
49
- ],
50
- },
51
- { name: "count", required: false, type: "number" },
52
- { name: "filteredCount", required: false, type: "number" },
53
- ] as const,
54
- successStatus: 200,
55
- errorStatuses: [],
56
- responseKind: "object",
57
- } as const,
58
- // @auto-generated-end
59
- });