@m6d/cortex-server 1.8.0 → 2.0.1

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 (354) 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/rich-text.ts +207 -0
  10. package/contracts/runtime.ts +243 -0
  11. package/contracts/wire.ts +143 -0
  12. package/dist/contracts/graph/embed.d.ts +22 -0
  13. package/dist/{src/lib → contracts}/graph/helpers.d.ts +16 -14
  14. package/dist/{src/lib → contracts}/graph/neo4j.d.ts +5 -5
  15. package/dist/contracts/graph/schema.d.ts +62 -0
  16. package/dist/{src/lib → contracts}/graph/types.d.ts +1 -1
  17. package/dist/contracts/graph.d.ts +14 -0
  18. package/dist/contracts/rich-text.d.ts +32 -0
  19. package/dist/contracts/runtime.d.ts +310 -0
  20. package/dist/contracts/wire.d.ts +120 -0
  21. package/dist/src/lib/adapters/database/index.d.ts +61 -0
  22. package/dist/src/lib/adapters/database/message-content.d.ts +30 -0
  23. package/dist/src/lib/adapters/database/mssql/attachments.d.ts +100 -0
  24. package/dist/src/lib/adapters/database/mssql/client.d.ts +8 -0
  25. package/dist/src/lib/adapters/database/mssql/index.d.ts +194 -0
  26. package/dist/src/lib/adapters/database/mssql/llm-requests.d.ts +17 -0
  27. package/dist/src/lib/adapters/database/mssql/messages.d.ts +37 -0
  28. package/dist/src/lib/adapters/database/mssql/threads.d.ts +50 -0
  29. package/dist/src/lib/adapters/database/postgres/attachments.d.ts +113 -0
  30. package/dist/src/lib/adapters/database/postgres/client.d.ts +8 -0
  31. package/dist/src/lib/adapters/database/postgres/index.d.ts +207 -0
  32. package/dist/src/lib/adapters/database/postgres/llm-requests.d.ts +17 -0
  33. package/dist/src/lib/adapters/database/postgres/messages.d.ts +37 -0
  34. package/dist/src/lib/adapters/database/postgres/threads.d.ts +50 -0
  35. package/{src/lib/adapters/storage.ts → dist/src/lib/adapters/storage/index.d.ts} +1 -1
  36. package/dist/src/lib/adapters/{minio.d.ts → storage/minio.d.ts} +1 -1
  37. package/dist/src/lib/ai/active-runs.d.ts +63 -0
  38. package/dist/src/lib/ai/attachments.d.ts +30 -0
  39. package/dist/src/lib/ai/backend-url.d.ts +16 -0
  40. package/dist/src/lib/ai/cc-runtime.d.ts +61 -0
  41. package/dist/src/lib/ai/commit-gate.d.ts +21 -0
  42. package/dist/src/lib/ai/context/builder.d.ts +6 -7
  43. package/dist/src/lib/ai/context/compression-middleware.d.ts +15 -0
  44. package/dist/src/lib/ai/context/compressor.d.ts +2 -13
  45. package/dist/src/lib/ai/context/intra-turn-compressor.d.ts +9 -9
  46. package/dist/src/lib/ai/context/optimize-thread-context.d.ts +9 -0
  47. package/dist/src/lib/ai/context/summarizer.d.ts +3 -3
  48. package/dist/src/lib/ai/context/token-estimator.d.ts +5 -8
  49. package/dist/src/lib/ai/fetch.d.ts +1 -1
  50. package/dist/src/lib/ai/finish-turn.d.ts +23 -0
  51. package/dist/src/lib/ai/helpers.d.ts +37 -4
  52. package/dist/src/lib/ai/index.d.ts +6 -3
  53. package/dist/src/lib/ai/inspector.d.ts +41 -0
  54. package/dist/src/lib/ai/interceptors/request-interceptor.d.ts +6 -5
  55. package/dist/src/lib/ai/prompt.d.ts +5 -4
  56. package/dist/src/lib/ai/redis-runs.d.ts +41 -0
  57. package/dist/src/lib/ai/redis-stream-log.d.ts +39 -0
  58. package/dist/src/lib/ai/tools/execute-code.tool.d.ts +18 -4
  59. package/dist/src/lib/ai/tools/query-graph.tool.d.ts +13 -5
  60. package/dist/src/lib/ai/tools/read-attachment.tool.d.ts +21 -0
  61. package/dist/src/lib/ai/tools/search-common.d.ts +17 -0
  62. package/dist/src/lib/ai/tools/search-knowledge.tool.d.ts +15 -0
  63. package/dist/src/lib/ai/tools/search-services.tool.d.ts +12 -0
  64. package/dist/src/lib/ai/tools/search-tools.tool.d.ts +12 -0
  65. package/dist/src/lib/ai/turn-tools.d.ts +39 -0
  66. package/dist/src/lib/ai/vision/rasterize-pdf.d.ts +26 -0
  67. package/dist/src/lib/ai/vision/rasterize-pdf.worker.d.ts +1 -0
  68. package/dist/src/lib/ai/vision/vision-reader.d.ts +45 -0
  69. package/dist/src/lib/cc/client.d.ts +183 -0
  70. package/dist/src/lib/cc/config-cache.d.ts +20 -0
  71. package/dist/src/lib/cc/format.d.ts +23 -0
  72. package/dist/src/lib/cc/registry.d.ts +34 -0
  73. package/dist/src/lib/cc/types.d.ts +27 -0
  74. package/dist/src/lib/config.d.ts +81 -64
  75. package/dist/src/lib/db/drizzle.config.mssql.d.ts +2 -0
  76. package/dist/src/lib/db/drizzle.config.pg.d.ts +2 -0
  77. package/dist/src/lib/db/migrate.d.ts +7 -1
  78. package/dist/src/lib/db/{schema.d.ts → schema.mssql.d.ts} +138 -29
  79. package/dist/src/lib/db/schema.pg.d.ts +546 -0
  80. package/dist/src/lib/factory.d.ts +2 -12
  81. package/dist/src/lib/graph/index.d.ts +10 -11
  82. package/dist/src/lib/graph/resolver.d.ts +2 -3
  83. package/dist/src/lib/index.d.ts +3 -3
  84. package/dist/src/lib/redis.d.ts +19 -0
  85. package/dist/src/lib/routes/chat.d.ts +1 -1
  86. package/dist/src/lib/routes/files.d.ts +1 -1
  87. package/dist/src/lib/routes/owned-thread.d.ts +17 -0
  88. package/dist/src/lib/routes/threads.d.ts +1 -1
  89. package/dist/src/lib/routes/ws.d.ts +1 -1
  90. package/dist/src/lib/types.d.ts +20 -37
  91. package/dist/src/lib/ws/connections.d.ts +2 -1
  92. package/package.json +33 -18
  93. package/src/lib/adapters/database/index.ts +78 -0
  94. package/src/lib/adapters/database/message-content.ts +39 -0
  95. package/src/lib/adapters/database/mssql/attachments.ts +90 -0
  96. package/src/lib/adapters/database/mssql/client.ts +11 -0
  97. package/src/lib/adapters/database/mssql/index.ts +23 -0
  98. package/src/lib/adapters/database/mssql/llm-requests.ts +43 -0
  99. package/src/lib/adapters/database/mssql/messages.ts +92 -0
  100. package/src/lib/adapters/database/mssql/threads.ts +83 -0
  101. package/src/lib/adapters/database/postgres/attachments.ts +88 -0
  102. package/src/lib/adapters/database/postgres/client.ts +11 -0
  103. package/src/lib/adapters/database/postgres/index.ts +23 -0
  104. package/src/lib/adapters/database/postgres/llm-requests.ts +45 -0
  105. package/src/lib/adapters/database/postgres/messages.ts +92 -0
  106. package/src/lib/adapters/database/postgres/threads.ts +84 -0
  107. package/{dist/src/lib/adapters/storage.d.ts → src/lib/adapters/storage/index.ts} +1 -1
  108. package/src/lib/adapters/{minio.ts → storage/minio.ts} +5 -5
  109. package/src/lib/ai/active-runs.ts +157 -0
  110. package/src/lib/ai/attachments.ts +144 -0
  111. package/src/lib/ai/backend-url.ts +27 -0
  112. package/src/lib/ai/cc-runtime.ts +63 -0
  113. package/src/lib/ai/commit-gate.ts +116 -0
  114. package/src/lib/ai/context/builder.ts +12 -14
  115. package/src/lib/ai/context/compression-middleware.ts +44 -0
  116. package/src/lib/ai/context/compressor.ts +67 -59
  117. package/src/lib/ai/context/intra-turn-compressor.ts +121 -204
  118. package/src/lib/ai/context/optimize-thread-context.ts +50 -0
  119. package/src/lib/ai/context/summarizer.ts +28 -30
  120. package/src/lib/ai/context/token-estimator.ts +35 -30
  121. package/src/lib/ai/fetch.ts +10 -5
  122. package/src/lib/ai/finish-turn.ts +75 -0
  123. package/src/lib/ai/helpers.ts +83 -15
  124. package/src/lib/ai/index.ts +366 -329
  125. package/src/lib/ai/inspector.ts +112 -0
  126. package/src/lib/ai/interceptors/request-interceptor.ts +70 -42
  127. package/src/lib/ai/prompt.ts +126 -125
  128. package/src/lib/ai/redis-runs.ts +167 -0
  129. package/src/lib/ai/redis-stream-log.ts +219 -0
  130. package/src/lib/ai/tools/execute-code.tool.ts +178 -67
  131. package/src/lib/ai/tools/query-graph.tool.ts +7 -8
  132. package/src/lib/ai/tools/read-attachment.tool.ts +59 -0
  133. package/src/lib/ai/tools/search-common.ts +15 -0
  134. package/src/lib/ai/tools/search-knowledge.tool.ts +33 -0
  135. package/src/lib/ai/tools/search-services.tool.ts +31 -0
  136. package/src/lib/ai/tools/search-tools.tool.ts +29 -0
  137. package/src/lib/ai/turn-tools.ts +154 -0
  138. package/src/lib/ai/vision/rasterize-pdf.ts +69 -0
  139. package/src/lib/ai/vision/rasterize-pdf.worker.ts +81 -0
  140. package/src/lib/ai/vision/vision-reader.ts +130 -0
  141. package/src/lib/auth/middleware.ts +5 -3
  142. package/src/lib/cc/client.ts +273 -0
  143. package/src/lib/cc/config-cache.ts +32 -0
  144. package/src/lib/cc/format.ts +92 -0
  145. package/src/lib/cc/registry.ts +62 -0
  146. package/src/lib/cc/types.ts +44 -0
  147. package/src/lib/config.ts +102 -71
  148. package/src/lib/db/drizzle.config.mssql.ts +9 -0
  149. package/src/lib/db/drizzle.config.pg.ts +9 -0
  150. package/src/lib/db/migrate.ts +45 -10
  151. package/src/lib/db/migrations/mssql/20260729092726_talented_wilson_fisk/migration.sql +20 -0
  152. package/src/lib/db/migrations/mssql/20260729092726_talented_wilson_fisk/snapshot.json +497 -0
  153. package/src/lib/db/migrations/mssql/20260801003652_perpetual_blue_shield/migration.sql +1 -0
  154. package/src/lib/db/migrations/mssql/20260801003652_perpetual_blue_shield/snapshot.json +516 -0
  155. package/src/lib/db/migrations/mssql/20260812174642_user_id_text/migration.sql +2 -0
  156. package/src/lib/db/migrations/mssql/20260812174642_user_id_text/snapshot.json +516 -0
  157. package/src/lib/db/migrations/pg/20260801084117_thick_ben_grimm/migration.sql +53 -0
  158. package/src/lib/db/migrations/pg/20260801084117_thick_ben_grimm/snapshot.json +584 -0
  159. package/src/lib/db/migrations/pg/20260812174622_user_id_text/migration.sql +2 -0
  160. package/src/lib/db/migrations/pg/20260812174622_user_id_text/snapshot.json +584 -0
  161. package/src/lib/db/{schema.ts → schema.mssql.ts} +29 -18
  162. package/src/lib/db/schema.pg.ts +95 -0
  163. package/src/lib/factory.ts +44 -89
  164. package/src/lib/graph/index.ts +12 -40
  165. package/src/lib/graph/resolver.ts +146 -116
  166. package/src/lib/index.ts +11 -4
  167. package/src/lib/redis.ts +44 -0
  168. package/src/lib/routes/chat.ts +91 -62
  169. package/src/lib/routes/files.ts +105 -83
  170. package/src/lib/routes/owned-thread.ts +17 -0
  171. package/src/lib/routes/threads.ts +14 -30
  172. package/src/lib/routes/ws.ts +9 -3
  173. package/src/lib/types.ts +37 -36
  174. package/src/lib/ws/connections.ts +9 -1
  175. package/tsconfig.json +48 -0
  176. package/dist/src/lib/adapters/database.d.ts +0 -45
  177. package/dist/src/lib/adapters/mssql.d.ts +0 -3
  178. package/dist/src/lib/ai/active-streams.d.ts +0 -14
  179. package/dist/src/lib/ai/context/index.d.ts +0 -16
  180. package/dist/src/lib/ai/tools/capture-files.tool.d.ts +0 -6
  181. package/dist/src/lib/cli/extract-endpoints.d.ts +0 -6
  182. package/dist/src/lib/graph/expand-domains.d.ts +0 -2
  183. package/dist/src/lib/graph/generate-cypher.d.ts +0 -22
  184. package/dist/src/lib/graph/seed.d.ts +0 -19
  185. package/dist/src/lib/graph/validate.d.ts +0 -2
  186. package/dist/src/lib/routes/index.d.ts +0 -4
  187. package/dist/src/lib/ws/events.d.ts +0 -39
  188. package/dist/src/lib/ws/index.d.ts +0 -3
  189. package/dist/src/lib/ws/notify.d.ts +0 -2
  190. package/src/lib/adapters/database.ts +0 -48
  191. package/src/lib/adapters/mssql.ts +0 -231
  192. package/src/lib/ai/active-streams.ts +0 -123
  193. package/src/lib/ai/context/index.ts +0 -80
  194. package/src/lib/ai/tools/capture-files.tool.ts +0 -20
  195. package/src/lib/cli/extract-endpoints.ts +0 -550
  196. package/src/lib/graph/expand-domains.ts +0 -276
  197. package/src/lib/graph/generate-cypher.ts +0 -192
  198. package/src/lib/graph/seed.ts +0 -162
  199. package/src/lib/graph/validate.ts +0 -78
  200. package/src/lib/routes/index.ts +0 -4
  201. package/src/lib/ws/events.ts +0 -39
  202. package/src/lib/ws/index.ts +0 -11
  203. package/src/lib/ws/notify.ts +0 -9
  204. package/src/sample/db/client.ts +0 -9
  205. package/src/sample/db/migrations/20260411023125_rich_purple_man/migration.sql +0 -5
  206. package/src/sample/db/migrations/20260411023125_rich_purple_man/snapshot.json +0 -50
  207. package/src/sample/db/schema.ts +0 -10
  208. package/src/sample/domains/account/concepts/session.concept.ts +0 -17
  209. package/src/sample/domains/account/endpoints/listCurrentSessions.endpoint.ts +0 -31
  210. package/src/sample/domains/account/endpoints/revokeAllOtherSessions.endpoint.ts +0 -22
  211. package/src/sample/domains/account/endpoints/revokeCurrentSession.endpoint.ts +0 -33
  212. package/src/sample/domains/account/index.ts +0 -18
  213. package/src/sample/domains/appraisals/concepts/appraisalCycle.concept.ts +0 -15
  214. package/src/sample/domains/appraisals/concepts/appraisalRecord.concept.ts +0 -20
  215. package/src/sample/domains/appraisals/concepts/appraisalRecordCompetency.concept.ts +0 -10
  216. package/src/sample/domains/appraisals/concepts/appraisalRecordFunctionalRequirement.concept.ts +0 -10
  217. package/src/sample/domains/appraisals/concepts/appraisalRecordGoal.concept.ts +0 -17
  218. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordById.endpoint.ts +0 -321
  219. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordCompetencies.endpoint.ts +0 -120
  220. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordFunctionalRequirements.endpoint.ts +0 -126
  221. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordGoals.endpoint.ts +0 -104
  222. package/src/sample/domains/appraisals/endpoints/getAppraisalRecordScore.endpoint.ts +0 -58
  223. package/src/sample/domains/appraisals/endpoints/listAppraisalCyclesSimple.endpoint.ts +0 -52
  224. package/src/sample/domains/appraisals/endpoints/listAppraisalRecords.endpoint.ts +0 -245
  225. package/src/sample/domains/appraisals/endpoints/listAppraisalTemplatesSimple.endpoint.ts +0 -52
  226. package/src/sample/domains/appraisals/index.ts +0 -40
  227. package/src/sample/domains/appraisals/rules/appraisalRecordScoping.rule.ts +0 -7
  228. package/src/sample/domains/attendance/concepts/attendancePermission.concept.ts +0 -17
  229. package/src/sample/domains/attendance/concepts/attendanceTransaction.concept.ts +0 -17
  230. package/src/sample/domains/attendance/concepts/publicHoliday.concept.ts +0 -10
  231. package/src/sample/domains/attendance/concepts/punch.concept.ts +0 -19
  232. package/src/sample/domains/attendance/endpoints/getAttendanceTransactionById.endpoint.ts +0 -444
  233. package/src/sample/domains/attendance/endpoints/getCurrentAttendanceProfile.endpoint.ts +0 -886
  234. package/src/sample/domains/attendance/endpoints/getCurrentAttendanceStatistics.endpoint.ts +0 -49
  235. package/src/sample/domains/attendance/endpoints/listAttendancePermissions.endpoint.ts +0 -176
  236. package/src/sample/domains/attendance/endpoints/listAttendanceTransactionStates.endpoint.ts +0 -26
  237. package/src/sample/domains/attendance/endpoints/listAttendanceTransactions.endpoint.ts +0 -373
  238. package/src/sample/domains/attendance/endpoints/listPublicHolidaysSimple.endpoint.ts +0 -52
  239. package/src/sample/domains/attendance/endpoints/listPunchTypes.endpoint.ts +0 -25
  240. package/src/sample/domains/attendance/endpoints/listPunches.endpoint.ts +0 -178
  241. package/src/sample/domains/attendance/index.ts +0 -41
  242. package/src/sample/domains/attendance/services/attendancePermissions.service.ts +0 -15
  243. package/src/sample/domains/employees/concepts/employee.concept.ts +0 -20
  244. package/src/sample/domains/employees/concepts/employeeBankAccount.concept.ts +0 -19
  245. package/src/sample/domains/employees/concepts/employeeChild.concept.ts +0 -19
  246. package/src/sample/domains/employees/concepts/employeeDocument.concept.ts +0 -21
  247. package/src/sample/domains/employees/concepts/employeeEvent.concept.ts +0 -21
  248. package/src/sample/domains/employees/concepts/employeeExperience.concept.ts +0 -18
  249. package/src/sample/domains/employees/concepts/employeeJobLevelChange.concept.ts +0 -21
  250. package/src/sample/domains/employees/concepts/employeeMedal.concept.ts +0 -20
  251. package/src/sample/domains/employees/concepts/employeeQualification.concept.ts +0 -20
  252. package/src/sample/domains/employees/concepts/employeeSpouse.concept.ts +0 -21
  253. package/src/sample/domains/employees/concepts/employeeViolation.concept.ts +0 -19
  254. package/src/sample/domains/employees/endpoints/getCurrentEmployee.endpoint.ts +0 -1651
  255. package/src/sample/domains/employees/endpoints/getCurrentIdentity.endpoint.ts +0 -197
  256. package/src/sample/domains/employees/endpoints/getCurrentManagers.endpoint.ts +0 -142
  257. package/src/sample/domains/employees/endpoints/getEmployeeById.endpoint.ts +0 -1659
  258. package/src/sample/domains/employees/endpoints/getEmployeeStatistics.endpoint.ts +0 -43
  259. package/src/sample/domains/employees/endpoints/listBankAccounts.endpoint.ts +0 -223
  260. package/src/sample/domains/employees/endpoints/listChildren.endpoint.ts +0 -211
  261. package/src/sample/domains/employees/endpoints/listDocuments.endpoint.ts +0 -222
  262. package/src/sample/domains/employees/endpoints/listEmployeesSimple.endpoint.ts +0 -156
  263. package/src/sample/domains/employees/endpoints/listEvents.endpoint.ts +0 -120
  264. package/src/sample/domains/employees/endpoints/listExperiences.endpoint.ts +0 -188
  265. package/src/sample/domains/employees/endpoints/listJobLevelChanges.endpoint.ts +0 -240
  266. package/src/sample/domains/employees/endpoints/listMedals.endpoint.ts +0 -266
  267. package/src/sample/domains/employees/endpoints/listQualifications.endpoint.ts +0 -265
  268. package/src/sample/domains/employees/endpoints/listSpouses.endpoint.ts +0 -278
  269. package/src/sample/domains/employees/endpoints/listViolations.endpoint.ts +0 -245
  270. package/src/sample/domains/employees/index.ts +0 -75
  271. package/src/sample/domains/employees/services/employees.service.ts +0 -181
  272. package/src/sample/domains/index.ts +0 -10
  273. package/src/sample/domains/leaves/concepts/leave.concept.ts +0 -21
  274. package/src/sample/domains/leaves/concepts/leaveBalance.concept.ts +0 -17
  275. package/src/sample/domains/leaves/concepts/leaveBalanceTransaction.concept.ts +0 -16
  276. package/src/sample/domains/leaves/concepts/leaveType.concept.ts +0 -13
  277. package/src/sample/domains/leaves/concepts/leaveTypes.concept.ts +0 -205
  278. package/src/sample/domains/leaves/endpoints/getBalance.endpoint.ts +0 -53
  279. package/src/sample/domains/leaves/endpoints/getLeaveById.endpoint.ts +0 -53
  280. package/src/sample/domains/leaves/endpoints/listBalanceTransactions.endpoint.ts +0 -196
  281. package/src/sample/domains/leaves/endpoints/listBalanceTypes.endpoint.ts +0 -26
  282. package/src/sample/domains/leaves/endpoints/listBalances.endpoint.ts +0 -201
  283. package/src/sample/domains/leaves/endpoints/listLeaveTypes.endpoint.ts +0 -28
  284. package/src/sample/domains/leaves/endpoints/listLeaves.endpoint.ts +0 -234
  285. package/src/sample/domains/leaves/index.ts +0 -38
  286. package/src/sample/domains/leaves/services/leaveRequests.service.ts +0 -232
  287. package/src/sample/domains/notifications/concepts/notification.concept.ts +0 -19
  288. package/src/sample/domains/notifications/endpoints/countMyNotifications.endpoint.ts +0 -21
  289. package/src/sample/domains/notifications/endpoints/getMyNotification.endpoint.ts +0 -57
  290. package/src/sample/domains/notifications/endpoints/listMyNotifications.endpoint.ts +0 -59
  291. package/src/sample/domains/notifications/endpoints/markMyNotificationAsRead.endpoint.ts +0 -32
  292. package/src/sample/domains/notifications/index.ts +0 -20
  293. package/src/sample/domains/payroll/concepts/payslip.concept.ts +0 -18
  294. package/src/sample/domains/payroll/concepts/salaryCertificate.concept.ts +0 -17
  295. package/src/sample/domains/payroll/concepts/salaryCertificateRequestingEntity.concept.ts +0 -8
  296. package/src/sample/domains/payroll/endpoints/getPayslipById.endpoint.ts +0 -238
  297. package/src/sample/domains/payroll/endpoints/listPayslips.endpoint.ts +0 -216
  298. package/src/sample/domains/payroll/endpoints/listSalaryCertificateLanguages.endpoint.ts +0 -25
  299. package/src/sample/domains/payroll/endpoints/listSalaryCertificateRequestingEntities.endpoint.ts +0 -62
  300. package/src/sample/domains/payroll/endpoints/listSalaryCertificateTypes.endpoint.ts +0 -24
  301. package/src/sample/domains/payroll/endpoints/listSalaryCertificates.endpoint.ts +0 -122
  302. package/src/sample/domains/payroll/endpoints/previewSalaryCertificate.endpoint.ts +0 -45
  303. package/src/sample/domains/payroll/index.ts +0 -32
  304. package/src/sample/domains/payroll/rules/payrollEmployeeContext.rule.ts +0 -7
  305. package/src/sample/domains/payroll/services/salaryCertificates.service.ts +0 -15
  306. package/src/sample/domains/servicing/concepts/service.concept.ts +0 -6
  307. package/src/sample/domains/servicing/concepts/serviceRequest.concept.ts +0 -12
  308. package/src/sample/domains/servicing/concepts/serviceRequestApproval.concept.ts +0 -9
  309. package/src/sample/domains/servicing/endpoints/cancelServiceRequest.endpoint.ts +0 -21
  310. package/src/sample/domains/servicing/endpoints/createServiceRequest.endpoint.ts +0 -511
  311. package/src/sample/domains/servicing/endpoints/getServiceRequest.endpoint.ts +0 -352
  312. package/src/sample/domains/servicing/endpoints/getServiceRequestFormItems.endpoint.ts +0 -219
  313. package/src/sample/domains/servicing/endpoints/getServiceRequestTransactionFormItems.endpoint.ts +0 -216
  314. package/src/sample/domains/servicing/endpoints/getServiceStates.endpoint.ts +0 -47
  315. package/src/sample/domains/servicing/endpoints/invokeServiceRequestAction.endpoint.ts +0 -139
  316. package/src/sample/domains/servicing/endpoints/listServiceRequests.endpoint.ts +0 -292
  317. package/src/sample/domains/servicing/endpoints/listServices.endpoint.ts +0 -108
  318. package/src/sample/domains/servicing/endpoints/updateServiceRequest.endpoint.ts +0 -355
  319. package/src/sample/domains/servicing/index.ts +0 -44
  320. package/src/sample/domains/servicing/rules/checkValidActions.rule.ts +0 -7
  321. package/src/sample/domains/servicing/rules/createServiceRequest.rule.ts +0 -7
  322. package/src/sample/domains/servicing/rules/filterServiceRequestsByState.rule.ts +0 -7
  323. package/src/sample/domains/servicing/rules/passingOptionFields.rule.ts +0 -7
  324. package/src/sample/domains/shared/rules/pagination.rule.ts +0 -7
  325. package/src/sample/domains/suggestions/concepts/suggestion.concept.ts +0 -19
  326. package/src/sample/domains/suggestions/concepts/suggestionCategory.concept.ts +0 -7
  327. package/src/sample/domains/suggestions/concepts/suggestionImpactLevel.concept.ts +0 -7
  328. package/src/sample/domains/suggestions/endpoints/createSuggestion.endpoint.ts +0 -705
  329. package/src/sample/domains/suggestions/endpoints/deleteSuggestion.endpoint.ts +0 -32
  330. package/src/sample/domains/suggestions/endpoints/getSuggestionById.endpoint.ts +0 -635
  331. package/src/sample/domains/suggestions/endpoints/listSuggestionCategories.endpoint.ts +0 -62
  332. package/src/sample/domains/suggestions/endpoints/listSuggestionImpactLevels.endpoint.ts +0 -62
  333. package/src/sample/domains/suggestions/endpoints/listSuggestionStates.endpoint.ts +0 -24
  334. package/src/sample/domains/suggestions/endpoints/listSuggestions.endpoint.ts +0 -132
  335. package/src/sample/domains/suggestions/endpoints/updateSuggestion.endpoint.ts +0 -690
  336. package/src/sample/domains/suggestions/endpoints/updateSuggestionState.endpoint.ts +0 -39
  337. package/src/sample/domains/suggestions/index.ts +0 -34
  338. package/src/sample/domains/suggestions/rules/suggestionScope.rule.ts +0 -7
  339. package/src/sample/domains/surveys/concepts/survey.concept.ts +0 -10
  340. package/src/sample/domains/surveys/concepts/surveyResponse.concept.ts +0 -14
  341. package/src/sample/domains/surveys/endpoints/getSurveyResponseById.endpoint.ts +0 -131
  342. package/src/sample/domains/surveys/endpoints/getTargetedSurvey.endpoint.ts +0 -129
  343. package/src/sample/domains/surveys/endpoints/listTargetedSurveys.endpoint.ts +0 -160
  344. package/src/sample/domains/surveys/endpoints/respondToSurvey.endpoint.ts +0 -144
  345. package/src/sample/domains/surveys/index.ts +0 -21
  346. package/src/sample/drizzle.config.ts +0 -11
  347. package/src/sample/index.bak.ts +0 -341
  348. package/src/sample/index.ts +0 -318
  349. package/src/sample/official-statements/defaults.ts +0 -57
  350. package/src/sample/official-statements/routes.ts +0 -137
  351. package/src/sample/official-statements/service.ts +0 -148
  352. package/src/sample/official-statements/types.ts +0 -23
  353. /package/src/lib/db/migrations/{20260326231647_nice_speedball → mssql/20260326231647_nice_speedball}/migration.sql +0 -0
  354. /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
- });