@m5kdev/backend 0.7.0 → 0.8.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 (559) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +13 -0
  2. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/api/index.d.mts +1 -0
  3. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/factory.d.mts +1 -0
  4. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/get-field-attributes.d.mts +1 -0
  5. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/get-id-field.d.mts +1 -0
  6. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/index.d.mts +1 -0
  7. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/adapter/types.d.mts +1 -0
  8. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/get-tables.d.mts +1 -0
  9. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/index.d.mts +1 -0
  10. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/account.d.mts +1 -0
  11. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/rate-limit.d.mts +1 -0
  12. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/session.d.mts +1 -0
  13. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/shared.d.mts +1 -0
  14. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/user.d.mts +1 -0
  15. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/db/schema/verification.d.mts +1 -0
  16. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/index.d.mts +1 -0
  17. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/social-providers/index.d.mts +1 -0
  18. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/context.d.mts +1 -0
  19. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/helper.d.mts +7 -0
  20. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/init-options.d.mts +1 -0
  21. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/plugin-client.d.mts +1 -0
  22. package/dist/node_modules/.pnpm/@better-auth_core@1.4.18_@better-auth_utils@0.3.0_@better-fetch_fetch@1.1.21_better-cal_347838d331444e5371f256b914727290/node_modules/@better-auth/core/dist/types/plugin.d.mts +1 -0
  23. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/dialect-adapter-base.d.mts +1 -0
  24. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/dialect-adapter.d.mts +1 -0
  25. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/dialect.d.mts +1 -0
  26. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mssql/mssql-adapter.d.mts +1 -0
  27. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mssql/mssql-dialect.d.mts +1 -0
  28. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mssql/mssql-introspector.d.mts +1 -0
  29. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mysql/mysql-adapter.d.mts +1 -0
  30. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mysql/mysql-dialect.d.mts +1 -0
  31. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/mysql/mysql-introspector.d.mts +1 -0
  32. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/postgres/postgres-adapter.d.mts +1 -0
  33. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/postgres/postgres-dialect.d.mts +1 -0
  34. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/postgres/postgres-introspector.d.mts +1 -0
  35. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-adapter.d.mts +1 -0
  36. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-dialect.d.mts +1 -0
  37. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/dialect/sqlite/sqlite-introspector.d.mts +1 -0
  38. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/expression/expression-builder.d.mts +1 -0
  39. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/index.d.mts +1 -0
  40. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/kysely.d.mts +38 -0
  41. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/migration/file-migration-provider.d.mts +1 -0
  42. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/migration/migrator.d.mts +1 -0
  43. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/binary-operation-parser.d.mts +1 -0
  44. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/delete-from-parser.d.mts +1 -0
  45. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/expression-parser.d.mts +1 -0
  46. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/group-by-parser.d.mts +1 -0
  47. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/insert-values-parser.d.mts +1 -0
  48. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/join-parser.d.mts +1 -0
  49. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/merge-into-parser.d.mts +1 -0
  50. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/reference-parser.d.mts +1 -0
  51. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/returning-parser.d.mts +1 -0
  52. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/select-from-parser.d.mts +1 -0
  53. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/select-parser.d.mts +1 -0
  54. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/set-operation-parser.d.mts +1 -0
  55. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/tuple-parser.d.mts +1 -0
  56. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/unary-operation-parser.d.mts +1 -0
  57. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/update-parser.d.mts +1 -0
  58. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/update-set-parser.d.mts +1 -0
  59. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/value-parser.d.mts +1 -0
  60. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/parser/with-parser.d.mts +1 -0
  61. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/case-builder.d.mts +1 -0
  62. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/delete-query-builder.d.mts +1 -0
  63. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/having-interface.d.mts +1 -0
  64. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/insert-query-builder.d.mts +1 -0
  65. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/join-builder.d.mts +1 -0
  66. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/merge-query-builder.d.mts +1 -0
  67. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/on-conflict-builder.d.mts +1 -0
  68. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/output-interface.d.mts +1 -0
  69. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/returning-interface.d.mts +1 -0
  70. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/select-query-builder.d.mts +1 -0
  71. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/update-query-builder.d.mts +1 -0
  72. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-builder/where-interface.d.mts +1 -0
  73. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-creator.d.mts +1 -0
  74. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/default-query-executor.d.mts +1 -0
  75. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/noop-query-executor.d.mts +1 -0
  76. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/query-executor-base.d.mts +1 -0
  77. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/query-executor-provider.d.mts +1 -0
  78. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/query-executor/query-executor.d.mts +1 -0
  79. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/raw-builder/raw-builder.d.mts +1 -0
  80. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/raw-builder/sql.d.mts +1 -0
  81. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-add-foreign-key-constraint-builder.d.mts +1 -0
  82. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-add-index-builder.d.mts +1 -0
  83. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-builder.d.mts +1 -0
  84. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-drop-constraint-builder.d.mts +1 -0
  85. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/alter-table-executor.d.mts +1 -0
  86. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-index-builder.d.mts +1 -0
  87. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-schema-builder.d.mts +1 -0
  88. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-table-builder.d.mts +1 -0
  89. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-type-builder.d.mts +1 -0
  90. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/create-view-builder.d.mts +1 -0
  91. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-index-builder.d.mts +1 -0
  92. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-schema-builder.d.mts +1 -0
  93. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-table-builder.d.mts +1 -0
  94. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-type-builder.d.mts +1 -0
  95. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/drop-view-builder.d.mts +1 -0
  96. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/refresh-materialized-view-builder.d.mts +1 -0
  97. package/dist/node_modules/.pnpm/kysely@0.28.5/node_modules/kysely/dist/esm/schema/schema.d.mts +1 -0
  98. package/dist/src/lib/posthog.d.mts +7 -0
  99. package/dist/src/lib/posthog.mjs +7 -0
  100. package/dist/src/lib/posthog.mjs.map +1 -0
  101. package/dist/src/lib/sentry.d.mts +1 -0
  102. package/dist/src/lib/sentry.mjs +10 -0
  103. package/dist/src/lib/sentry.mjs.map +1 -0
  104. package/dist/src/modules/access/access.repository.d.mts +2352 -0
  105. package/dist/src/modules/access/access.repository.mjs +24 -0
  106. package/dist/src/modules/access/access.repository.mjs.map +1 -0
  107. package/dist/src/modules/access/access.service.d.mts +25 -0
  108. package/dist/src/modules/access/access.service.mjs +40 -0
  109. package/dist/src/modules/access/access.service.mjs.map +1 -0
  110. package/dist/src/modules/access/access.utils.d.mts +19 -0
  111. package/dist/src/modules/access/access.utils.mjs +21 -0
  112. package/dist/src/modules/access/access.utils.mjs.map +1 -0
  113. package/dist/src/modules/ai/ai.db.d.mts +401 -0
  114. package/dist/src/modules/ai/ai.db.mjs +38 -0
  115. package/dist/src/modules/ai/ai.db.mjs.map +1 -0
  116. package/dist/src/modules/ai/ai.prompt.d.mts +30 -0
  117. package/dist/src/modules/ai/ai.prompt.mjs +30 -0
  118. package/dist/src/modules/ai/ai.prompt.mjs.map +1 -0
  119. package/dist/src/modules/ai/ai.prompts.d.mts +10 -0
  120. package/dist/src/modules/ai/{ai.prompts.js → ai.prompts.mjs} +17 -15
  121. package/dist/src/modules/ai/ai.prompts.mjs.map +1 -0
  122. package/dist/src/modules/ai/ai.repository.d.mts +428 -0
  123. package/dist/src/modules/ai/ai.repository.mjs +23 -0
  124. package/dist/src/modules/ai/ai.repository.mjs.map +1 -0
  125. package/dist/src/modules/ai/ai.router.d.mts +1 -0
  126. package/dist/src/modules/ai/ai.service.d.mts +128 -0
  127. package/dist/src/modules/ai/ai.service.mjs +267 -0
  128. package/dist/src/modules/ai/ai.service.mjs.map +1 -0
  129. package/dist/src/modules/ai/ai.trpc.d.mts +31 -0
  130. package/dist/src/modules/ai/ai.trpc.mjs +17 -0
  131. package/dist/src/modules/ai/ai.trpc.mjs.map +1 -0
  132. package/dist/src/modules/ai/ideogram/ideogram.constants.d.mts +11 -0
  133. package/dist/src/modules/ai/ideogram/ideogram.constants.mjs +184 -0
  134. package/dist/src/modules/ai/ideogram/ideogram.constants.mjs.map +1 -0
  135. package/dist/src/modules/ai/ideogram/ideogram.dto.d.mts +234 -0
  136. package/dist/src/modules/ai/ideogram/ideogram.dto.mjs +45 -0
  137. package/dist/src/modules/ai/ideogram/ideogram.dto.mjs.map +1 -0
  138. package/dist/src/modules/ai/ideogram/ideogram.prompt.d.mts +7 -0
  139. package/dist/src/modules/ai/ideogram/{ideogram.prompt.js → ideogram.prompt.mjs} +861 -859
  140. package/dist/src/modules/ai/ideogram/ideogram.prompt.mjs.map +1 -0
  141. package/dist/src/modules/ai/ideogram/ideogram.repository.d.mts +11 -0
  142. package/dist/src/modules/ai/ideogram/ideogram.repository.mjs +32 -0
  143. package/dist/src/modules/ai/ideogram/ideogram.repository.mjs.map +1 -0
  144. package/dist/src/modules/ai/ideogram/ideogram.service.d.mts +14 -0
  145. package/dist/src/modules/ai/ideogram/ideogram.service.mjs +11 -0
  146. package/dist/src/modules/ai/ideogram/ideogram.service.mjs.map +1 -0
  147. package/dist/src/modules/auth/auth.db.d.mts +2341 -0
  148. package/dist/src/modules/auth/auth.db.mjs +169 -0
  149. package/dist/src/modules/auth/auth.db.mjs.map +1 -0
  150. package/dist/src/modules/auth/auth.dto.d.mts +70 -0
  151. package/dist/src/modules/auth/auth.dto.mjs +43 -0
  152. package/dist/src/modules/auth/auth.dto.mjs.map +1 -0
  153. package/dist/src/modules/auth/auth.lib.d.mts +4894 -0
  154. package/dist/src/modules/auth/auth.lib.mjs +232 -0
  155. package/dist/src/modules/auth/auth.lib.mjs.map +1 -0
  156. package/dist/src/modules/auth/auth.middleware.d.mts +619 -0
  157. package/dist/src/modules/auth/auth.middleware.mjs +38 -0
  158. package/dist/src/modules/auth/auth.middleware.mjs.map +1 -0
  159. package/dist/src/modules/auth/auth.repository.d.mts +2453 -0
  160. package/dist/src/modules/auth/auth.repository.mjs +401 -0
  161. package/dist/src/modules/auth/auth.repository.mjs.map +1 -0
  162. package/dist/src/modules/auth/auth.service.d.mts +105 -0
  163. package/dist/src/modules/auth/auth.service.mjs +227 -0
  164. package/dist/src/modules/auth/auth.service.mjs.map +1 -0
  165. package/dist/src/modules/auth/auth.trpc.d.mts +303 -0
  166. package/dist/src/modules/auth/auth.trpc.mjs +108 -0
  167. package/dist/src/modules/auth/auth.trpc.mjs.map +1 -0
  168. package/dist/src/modules/auth/auth.utils.d.mts +2356 -0
  169. package/dist/src/modules/auth/auth.utils.mjs +77 -0
  170. package/dist/src/modules/auth/auth.utils.mjs.map +1 -0
  171. package/dist/src/modules/base/base.abstract.d.mts +29 -0
  172. package/dist/src/modules/base/base.abstract.mjs +60 -0
  173. package/dist/src/modules/base/base.abstract.mjs.map +1 -0
  174. package/dist/src/modules/base/base.actor.d.mts +73 -0
  175. package/dist/src/modules/base/base.actor.mjs +78 -0
  176. package/dist/src/modules/base/base.actor.mjs.map +1 -0
  177. package/dist/src/modules/base/base.dto.d.mts +67 -0
  178. package/dist/src/modules/base/base.dto.mjs +79 -0
  179. package/dist/src/modules/base/base.dto.mjs.map +1 -0
  180. package/dist/src/modules/base/base.grants.d.mts +28 -0
  181. package/dist/src/modules/base/base.grants.mjs +103 -0
  182. package/dist/src/modules/base/base.grants.mjs.map +1 -0
  183. package/dist/src/modules/base/base.procedure.d.mts +111 -0
  184. package/dist/src/modules/base/base.procedure.mjs +252 -0
  185. package/dist/src/modules/base/base.procedure.mjs.map +1 -0
  186. package/dist/src/modules/base/base.repository.d.mts +123 -0
  187. package/dist/src/modules/base/base.repository.mjs +250 -0
  188. package/dist/src/modules/base/base.repository.mjs.map +1 -0
  189. package/dist/src/modules/base/base.service.d.mts +44 -0
  190. package/dist/src/modules/base/base.service.mjs +116 -0
  191. package/dist/src/modules/base/base.service.mjs.map +1 -0
  192. package/dist/src/modules/base/base.types.d.mts +5 -0
  193. package/dist/src/modules/billing/billing.db.d.mts +371 -0
  194. package/dist/src/modules/billing/billing.db.mjs +31 -0
  195. package/dist/src/modules/billing/billing.db.mjs.map +1 -0
  196. package/dist/src/modules/billing/billing.repository.d.mts +2787 -0
  197. package/dist/src/modules/billing/billing.repository.mjs +188 -0
  198. package/dist/src/modules/billing/billing.repository.mjs.map +1 -0
  199. package/dist/src/modules/billing/billing.router.d.mts +9 -0
  200. package/dist/src/modules/billing/billing.router.mjs +40 -0
  201. package/dist/src/modules/billing/billing.router.mjs.map +1 -0
  202. package/dist/src/modules/billing/billing.service.d.mts +53 -0
  203. package/dist/src/modules/billing/billing.service.mjs +125 -0
  204. package/dist/src/modules/billing/billing.service.mjs.map +1 -0
  205. package/dist/src/modules/billing/billing.trpc.d.mts +29 -0
  206. package/dist/src/modules/billing/billing.trpc.mjs +17 -0
  207. package/dist/src/modules/billing/billing.trpc.mjs.map +1 -0
  208. package/dist/src/modules/clay/clay.repository.d.mts +10 -0
  209. package/dist/src/modules/clay/clay.repository.mjs +27 -0
  210. package/dist/src/modules/clay/clay.repository.mjs.map +1 -0
  211. package/dist/src/modules/clay/clay.service.d.mts +32 -0
  212. package/dist/src/modules/clay/clay.service.mjs +23 -0
  213. package/dist/src/modules/clay/clay.service.mjs.map +1 -0
  214. package/dist/src/modules/connect/connect.db.d.mts +362 -0
  215. package/dist/src/modules/connect/connect.db.mjs +30 -0
  216. package/dist/src/modules/connect/connect.db.mjs.map +1 -0
  217. package/dist/src/modules/connect/connect.dto.d.mts +79 -0
  218. package/dist/src/modules/connect/connect.dto.mjs +38 -0
  219. package/dist/src/modules/connect/connect.dto.mjs.map +1 -0
  220. package/dist/src/modules/connect/connect.linkedin.d.mts +7 -0
  221. package/dist/src/modules/connect/connect.linkedin.mjs +47 -0
  222. package/dist/src/modules/connect/connect.linkedin.mjs.map +1 -0
  223. package/dist/src/modules/connect/connect.oauth.d.mts +32 -0
  224. package/dist/src/modules/connect/connect.oauth.mjs +145 -0
  225. package/dist/src/modules/connect/connect.oauth.mjs.map +1 -0
  226. package/dist/src/modules/connect/connect.repository.d.mts +419 -0
  227. package/dist/src/modules/connect/connect.repository.mjs +40 -0
  228. package/dist/src/modules/connect/connect.repository.mjs.map +1 -0
  229. package/dist/src/modules/connect/connect.router.d.mts +9 -0
  230. package/dist/src/modules/connect/connect.router.mjs +46 -0
  231. package/dist/src/modules/connect/connect.router.mjs.map +1 -0
  232. package/dist/src/modules/connect/connect.service.d.mts +103 -0
  233. package/dist/src/modules/connect/connect.service.mjs +88 -0
  234. package/dist/src/modules/connect/connect.service.mjs.map +1 -0
  235. package/dist/src/modules/connect/connect.trpc.d.mts +53 -0
  236. package/dist/src/modules/connect/connect.trpc.mjs +17 -0
  237. package/dist/src/modules/connect/connect.trpc.mjs.map +1 -0
  238. package/dist/src/modules/connect/connect.types.d.mts +29 -0
  239. package/dist/src/modules/crypto/crypto.db.d.mts +157 -0
  240. package/dist/src/modules/crypto/crypto.db.mjs +19 -0
  241. package/dist/src/modules/crypto/crypto.db.mjs.map +1 -0
  242. package/dist/src/modules/crypto/crypto.repository.d.mts +163 -0
  243. package/dist/src/modules/crypto/crypto.repository.mjs +9 -0
  244. package/dist/src/modules/crypto/crypto.repository.mjs.map +1 -0
  245. package/dist/src/modules/crypto/crypto.service.d.mts +15 -0
  246. package/dist/src/modules/crypto/crypto.service.mjs +40 -0
  247. package/dist/src/modules/crypto/crypto.service.mjs.map +1 -0
  248. package/dist/src/modules/email/email.service.d.mts +62 -0
  249. package/dist/src/modules/email/email.service.mjs +105 -0
  250. package/dist/src/modules/email/email.service.mjs.map +1 -0
  251. package/dist/src/modules/file/file.repository.d.mts +17 -0
  252. package/dist/src/modules/file/file.repository.mjs +72 -0
  253. package/dist/src/modules/file/file.repository.mjs.map +1 -0
  254. package/dist/src/modules/file/{file.router.d.ts → file.router.d.mts} +4 -0
  255. package/dist/src/modules/file/file.router.mjs +88 -0
  256. package/dist/src/modules/file/file.router.mjs.map +1 -0
  257. package/dist/src/modules/file/file.service.d.mts +30 -0
  258. package/dist/src/modules/file/file.service.mjs +117 -0
  259. package/dist/src/modules/file/file.service.mjs.map +1 -0
  260. package/dist/src/modules/recurrence/recurrence.db.d.mts +568 -0
  261. package/dist/src/modules/recurrence/recurrence.db.mjs +47 -0
  262. package/dist/src/modules/recurrence/recurrence.db.mjs.map +1 -0
  263. package/dist/src/modules/recurrence/recurrence.repository.d.mts +588 -0
  264. package/dist/src/modules/recurrence/recurrence.repository.mjs +28 -0
  265. package/dist/src/modules/recurrence/recurrence.repository.mjs.map +1 -0
  266. package/dist/src/modules/recurrence/recurrence.service.d.mts +51 -0
  267. package/dist/src/modules/recurrence/recurrence.service.mjs +64 -0
  268. package/dist/src/modules/recurrence/recurrence.service.mjs.map +1 -0
  269. package/dist/src/modules/recurrence/recurrence.trpc.d.mts +65 -0
  270. package/dist/src/modules/recurrence/recurrence.trpc.mjs +44 -0
  271. package/dist/src/modules/recurrence/recurrence.trpc.mjs.map +1 -0
  272. package/dist/src/modules/social/social.dto.d.mts +39 -0
  273. package/dist/src/modules/social/social.dto.mjs +22 -0
  274. package/dist/src/modules/social/social.dto.mjs.map +1 -0
  275. package/dist/src/modules/social/{social.linkedin.d.ts → social.linkedin.d.mts} +8 -3
  276. package/dist/src/modules/social/social.linkedin.mjs +346 -0
  277. package/dist/src/modules/social/social.linkedin.mjs.map +1 -0
  278. package/dist/src/modules/social/social.service.d.mts +34 -0
  279. package/dist/src/modules/social/social.service.mjs +55 -0
  280. package/dist/src/modules/social/social.service.mjs.map +1 -0
  281. package/dist/src/modules/social/social.types.d.mts +40 -0
  282. package/dist/src/modules/tag/tag.db.d.mts +352 -0
  283. package/dist/src/modules/tag/tag.db.mjs +35 -0
  284. package/dist/src/modules/tag/tag.db.mjs.map +1 -0
  285. package/dist/src/modules/tag/tag.dto.d.mts +1025 -0
  286. package/dist/src/modules/tag/tag.dto.mjs +11 -0
  287. package/dist/src/modules/tag/tag.dto.mjs.map +1 -0
  288. package/dist/src/modules/tag/tag.repository.d.mts +394 -0
  289. package/dist/src/modules/tag/tag.repository.mjs +114 -0
  290. package/dist/src/modules/tag/tag.repository.mjs.map +1 -0
  291. package/dist/src/modules/tag/tag.service.d.mts +93 -0
  292. package/dist/src/modules/tag/tag.service.mjs +47 -0
  293. package/dist/src/modules/tag/tag.service.mjs.map +1 -0
  294. package/dist/src/modules/tag/tag.trpc.d.mts +109 -0
  295. package/dist/src/modules/tag/tag.trpc.mjs +30 -0
  296. package/dist/src/modules/tag/tag.trpc.mjs.map +1 -0
  297. package/dist/src/modules/utils/{applyPagination.d.ts → applyPagination.d.mts} +5 -1
  298. package/dist/src/modules/utils/applyPagination.mjs +15 -0
  299. package/dist/src/modules/utils/applyPagination.mjs.map +1 -0
  300. package/dist/src/modules/utils/applySorting.d.mts +13 -0
  301. package/dist/src/modules/utils/applySorting.mjs +18 -0
  302. package/dist/src/modules/utils/applySorting.mjs.map +1 -0
  303. package/dist/src/modules/utils/getConditionsFromFilters.d.mts +9 -0
  304. package/dist/src/modules/utils/getConditionsFromFilters.mjs +150 -0
  305. package/dist/src/modules/utils/getConditionsFromFilters.mjs.map +1 -0
  306. package/dist/src/modules/video/video.service.d.mts +12 -0
  307. package/dist/src/modules/video/video.service.mjs +50 -0
  308. package/dist/src/modules/video/video.service.mjs.map +1 -0
  309. package/dist/src/modules/webhook/webhook.constants.d.mts +12 -0
  310. package/dist/src/modules/webhook/webhook.constants.mjs +12 -0
  311. package/dist/src/modules/webhook/webhook.constants.mjs.map +1 -0
  312. package/dist/src/modules/webhook/webhook.db.d.mts +142 -0
  313. package/dist/src/modules/webhook/webhook.db.mjs +17 -0
  314. package/dist/src/modules/webhook/webhook.db.mjs.map +1 -0
  315. package/dist/src/modules/webhook/webhook.dto.d.mts +402 -0
  316. package/dist/src/modules/webhook/webhook.dto.mjs +9 -0
  317. package/dist/src/modules/webhook/webhook.dto.mjs.map +1 -0
  318. package/dist/src/modules/webhook/webhook.repository.d.mts +154 -0
  319. package/dist/src/modules/webhook/webhook.repository.mjs +50 -0
  320. package/dist/src/modules/webhook/webhook.repository.mjs.map +1 -0
  321. package/dist/src/modules/webhook/webhook.router.d.mts +8 -0
  322. package/dist/src/modules/webhook/webhook.router.mjs +23 -0
  323. package/dist/src/modules/webhook/webhook.router.mjs.map +1 -0
  324. package/dist/src/modules/webhook/webhook.service.d.mts +14 -0
  325. package/dist/src/modules/webhook/webhook.service.mjs +59 -0
  326. package/dist/src/modules/webhook/webhook.service.mjs.map +1 -0
  327. package/dist/src/modules/workflow/workflow.db.d.mts +302 -0
  328. package/dist/src/modules/workflow/workflow.db.mjs +28 -0
  329. package/dist/src/modules/workflow/workflow.db.mjs.map +1 -0
  330. package/dist/src/modules/workflow/workflow.repository.d.mts +371 -0
  331. package/dist/src/modules/workflow/workflow.repository.mjs +93 -0
  332. package/dist/src/modules/workflow/workflow.repository.mjs.map +1 -0
  333. package/dist/src/modules/workflow/workflow.service.d.mts +31 -0
  334. package/dist/src/modules/workflow/workflow.service.mjs +40 -0
  335. package/dist/src/modules/workflow/workflow.service.mjs.map +1 -0
  336. package/dist/src/modules/workflow/workflow.trpc.d.mts +28 -0
  337. package/dist/src/modules/workflow/workflow.trpc.mjs +17 -0
  338. package/dist/src/modules/workflow/workflow.trpc.mjs.map +1 -0
  339. package/dist/src/modules/workflow/workflow.types.d.mts +25 -0
  340. package/dist/src/modules/workflow/workflow.utils.d.mts +36 -0
  341. package/dist/src/modules/workflow/workflow.utils.mjs +181 -0
  342. package/dist/src/modules/workflow/workflow.utils.mjs.map +1 -0
  343. package/dist/src/types.d.mts +346 -0
  344. package/dist/src/types.mjs +13 -0
  345. package/dist/src/types.mjs.map +1 -0
  346. package/dist/src/utils/errors.d.mts +62 -0
  347. package/dist/src/utils/errors.mjs +96 -0
  348. package/dist/src/utils/errors.mjs.map +1 -0
  349. package/dist/src/utils/logger.d.mts +7 -0
  350. package/dist/src/utils/logger.mjs +10 -0
  351. package/dist/src/utils/logger.mjs.map +1 -0
  352. package/dist/src/utils/posthog.d.mts +17 -0
  353. package/dist/src/utils/posthog.mjs +25 -0
  354. package/dist/src/utils/posthog.mjs.map +1 -0
  355. package/dist/src/utils/trpc.d.mts +54 -0
  356. package/dist/src/utils/trpc.mjs +146 -0
  357. package/dist/src/utils/trpc.mjs.map +1 -0
  358. package/dist/src/utils/types.d.mts +9 -0
  359. package/package.json +5 -4
  360. package/dist/src/lib/posthog.d.ts +0 -2
  361. package/dist/src/lib/posthog.js +0 -7
  362. package/dist/src/lib/sentry.d.ts +0 -1
  363. package/dist/src/lib/sentry.js +0 -9
  364. package/dist/src/modules/access/access.repository.d.ts +0 -2347
  365. package/dist/src/modules/access/access.repository.js +0 -32
  366. package/dist/src/modules/access/access.service.d.ts +0 -21
  367. package/dist/src/modules/access/access.service.js +0 -51
  368. package/dist/src/modules/access/access.test.d.ts +0 -1
  369. package/dist/src/modules/access/access.test.js +0 -182
  370. package/dist/src/modules/access/access.utils.d.ts +0 -16
  371. package/dist/src/modules/access/access.utils.js +0 -20
  372. package/dist/src/modules/ai/ai.db.d.ts +0 -395
  373. package/dist/src/modules/ai/ai.db.js +0 -39
  374. package/dist/src/modules/ai/ai.prompt.d.ts +0 -26
  375. package/dist/src/modules/ai/ai.prompt.js +0 -30
  376. package/dist/src/modules/ai/ai.prompts.d.ts +0 -5
  377. package/dist/src/modules/ai/ai.repository.d.ts +0 -423
  378. package/dist/src/modules/ai/ai.repository.js +0 -26
  379. package/dist/src/modules/ai/ai.router.js +0 -132
  380. package/dist/src/modules/ai/ai.service.d.ts +0 -125
  381. package/dist/src/modules/ai/ai.service.js +0 -297
  382. package/dist/src/modules/ai/ai.trpc.d.ts +0 -22
  383. package/dist/src/modules/ai/ai.trpc.js +0 -20
  384. package/dist/src/modules/ai/ideogram/ideogram.constants.d.ts +0 -7
  385. package/dist/src/modules/ai/ideogram/ideogram.constants.js +0 -167
  386. package/dist/src/modules/ai/ideogram/ideogram.dto.d.ts +0 -229
  387. package/dist/src/modules/ai/ideogram/ideogram.dto.js +0 -49
  388. package/dist/src/modules/ai/ideogram/ideogram.prompt.d.ts +0 -2
  389. package/dist/src/modules/ai/ideogram/ideogram.repository.d.ts +0 -6
  390. package/dist/src/modules/ai/ideogram/ideogram.repository.js +0 -46
  391. package/dist/src/modules/ai/ideogram/ideogram.service.d.ts +0 -9
  392. package/dist/src/modules/ai/ideogram/ideogram.service.js +0 -11
  393. package/dist/src/modules/auth/auth.db.d.ts +0 -2335
  394. package/dist/src/modules/auth/auth.db.js +0 -215
  395. package/dist/src/modules/auth/auth.dto.d.ts +0 -65
  396. package/dist/src/modules/auth/auth.dto.js +0 -38
  397. package/dist/src/modules/auth/auth.lib.d.ts +0 -4869
  398. package/dist/src/modules/auth/auth.lib.js +0 -284
  399. package/dist/src/modules/auth/auth.middleware.d.ts +0 -614
  400. package/dist/src/modules/auth/auth.middleware.js +0 -52
  401. package/dist/src/modules/auth/auth.repository.d.ts +0 -2421
  402. package/dist/src/modules/auth/auth.repository.js +0 -636
  403. package/dist/src/modules/auth/auth.service.d.ts +0 -78
  404. package/dist/src/modules/auth/auth.service.js +0 -259
  405. package/dist/src/modules/auth/auth.trpc.d.ts +0 -292
  406. package/dist/src/modules/auth/auth.trpc.js +0 -179
  407. package/dist/src/modules/auth/auth.utils.d.ts +0 -2351
  408. package/dist/src/modules/auth/auth.utils.js +0 -97
  409. package/dist/src/modules/base/base.abstract.d.ts +0 -19
  410. package/dist/src/modules/base/base.abstract.js +0 -62
  411. package/dist/src/modules/base/base.actor.d.ts +0 -68
  412. package/dist/src/modules/base/base.actor.js +0 -99
  413. package/dist/src/modules/base/base.actor.test.js +0 -58
  414. package/dist/src/modules/base/base.dto.d.ts +0 -69
  415. package/dist/src/modules/base/base.dto.js +0 -112
  416. package/dist/src/modules/base/base.grants.d.ts +0 -24
  417. package/dist/src/modules/base/base.grants.js +0 -135
  418. package/dist/src/modules/base/base.grants.test.js +0 -639
  419. package/dist/src/modules/base/base.procedure.d.ts +0 -109
  420. package/dist/src/modules/base/base.procedure.js +0 -301
  421. package/dist/src/modules/base/base.repository.d.ts +0 -97
  422. package/dist/src/modules/base/base.repository.js +0 -317
  423. package/dist/src/modules/base/base.service.d.ts +0 -40
  424. package/dist/src/modules/base/base.service.js +0 -123
  425. package/dist/src/modules/base/base.service.test.js +0 -443
  426. package/dist/src/modules/base/base.types.d.ts +0 -1
  427. package/dist/src/modules/base/base.types.js +0 -2
  428. package/dist/src/modules/billing/billing.db.d.ts +0 -365
  429. package/dist/src/modules/billing/billing.db.js +0 -29
  430. package/dist/src/modules/billing/billing.repository.d.ts +0 -2763
  431. package/dist/src/modules/billing/billing.repository.js +0 -235
  432. package/dist/src/modules/billing/billing.router.d.ts +0 -4
  433. package/dist/src/modules/billing/billing.router.js +0 -56
  434. package/dist/src/modules/billing/billing.service.d.ts +0 -38
  435. package/dist/src/modules/billing/billing.service.js +0 -147
  436. package/dist/src/modules/billing/billing.trpc.d.ts +0 -38
  437. package/dist/src/modules/billing/billing.trpc.js +0 -15
  438. package/dist/src/modules/clay/clay.repository.d.ts +0 -5
  439. package/dist/src/modules/clay/clay.repository.js +0 -26
  440. package/dist/src/modules/clay/clay.service.d.ts +0 -28
  441. package/dist/src/modules/clay/clay.service.js +0 -24
  442. package/dist/src/modules/connect/connect.db.d.ts +0 -356
  443. package/dist/src/modules/connect/connect.db.js +0 -30
  444. package/dist/src/modules/connect/connect.dto.d.ts +0 -74
  445. package/dist/src/modules/connect/connect.dto.js +0 -36
  446. package/dist/src/modules/connect/connect.linkedin.d.ts +0 -2
  447. package/dist/src/modules/connect/connect.linkedin.js +0 -53
  448. package/dist/src/modules/connect/connect.oauth.d.ts +0 -27
  449. package/dist/src/modules/connect/connect.oauth.js +0 -198
  450. package/dist/src/modules/connect/connect.repository.d.ts +0 -413
  451. package/dist/src/modules/connect/connect.repository.js +0 -54
  452. package/dist/src/modules/connect/connect.router.d.ts +0 -4
  453. package/dist/src/modules/connect/connect.router.js +0 -54
  454. package/dist/src/modules/connect/connect.service.d.ts +0 -96
  455. package/dist/src/modules/connect/connect.service.js +0 -116
  456. package/dist/src/modules/connect/connect.trpc.d.ts +0 -44
  457. package/dist/src/modules/connect/connect.trpc.js +0 -21
  458. package/dist/src/modules/connect/connect.types.d.ts +0 -25
  459. package/dist/src/modules/connect/connect.types.js +0 -2
  460. package/dist/src/modules/crypto/crypto.db.d.ts +0 -151
  461. package/dist/src/modules/crypto/crypto.db.js +0 -17
  462. package/dist/src/modules/crypto/crypto.repository.d.ts +0 -159
  463. package/dist/src/modules/crypto/crypto.repository.js +0 -10
  464. package/dist/src/modules/crypto/crypto.service.d.ts +0 -10
  465. package/dist/src/modules/crypto/crypto.service.js +0 -52
  466. package/dist/src/modules/email/email.service.d.ts +0 -56
  467. package/dist/src/modules/email/email.service.js +0 -106
  468. package/dist/src/modules/file/file.repository.d.ts +0 -12
  469. package/dist/src/modules/file/file.repository.js +0 -79
  470. package/dist/src/modules/file/file.router.js +0 -99
  471. package/dist/src/modules/file/file.service.d.ts +0 -24
  472. package/dist/src/modules/file/file.service.js +0 -150
  473. package/dist/src/modules/recurrence/recurrence.db.d.ts +0 -562
  474. package/dist/src/modules/recurrence/recurrence.db.js +0 -66
  475. package/dist/src/modules/recurrence/recurrence.repository.d.ts +0 -584
  476. package/dist/src/modules/recurrence/recurrence.repository.js +0 -39
  477. package/dist/src/modules/recurrence/recurrence.service.d.ts +0 -80
  478. package/dist/src/modules/recurrence/recurrence.service.js +0 -72
  479. package/dist/src/modules/recurrence/recurrence.trpc.d.ts +0 -206
  480. package/dist/src/modules/recurrence/recurrence.trpc.js +0 -65
  481. package/dist/src/modules/social/social.dto.d.ts +0 -34
  482. package/dist/src/modules/social/social.dto.js +0 -18
  483. package/dist/src/modules/social/social.linkedin.js +0 -427
  484. package/dist/src/modules/social/social.linkedin.test.js +0 -235
  485. package/dist/src/modules/social/social.service.d.ts +0 -27
  486. package/dist/src/modules/social/social.service.js +0 -76
  487. package/dist/src/modules/social/social.types.d.ts +0 -35
  488. package/dist/src/modules/social/social.types.js +0 -2
  489. package/dist/src/modules/tag/tag.db.d.ts +0 -346
  490. package/dist/src/modules/tag/tag.db.js +0 -42
  491. package/dist/src/modules/tag/tag.dto.d.ts +0 -1018
  492. package/dist/src/modules/tag/tag.dto.js +0 -9
  493. package/dist/src/modules/tag/tag.repository.d.ts +0 -383
  494. package/dist/src/modules/tag/tag.repository.js +0 -156
  495. package/dist/src/modules/tag/tag.service.d.ts +0 -113
  496. package/dist/src/modules/tag/tag.service.js +0 -42
  497. package/dist/src/modules/tag/tag.trpc.d.ts +0 -164
  498. package/dist/src/modules/tag/tag.trpc.js +0 -53
  499. package/dist/src/modules/utils/applyPagination.js +0 -16
  500. package/dist/src/modules/utils/applySorting.d.ts +0 -8
  501. package/dist/src/modules/utils/applySorting.js +0 -18
  502. package/dist/src/modules/utils/getConditionsFromFilters.d.ts +0 -4
  503. package/dist/src/modules/utils/getConditionsFromFilters.js +0 -200
  504. package/dist/src/modules/video/video.service.d.ts +0 -7
  505. package/dist/src/modules/video/video.service.js +0 -84
  506. package/dist/src/modules/webhook/webhook.constants.d.ts +0 -8
  507. package/dist/src/modules/webhook/webhook.constants.js +0 -10
  508. package/dist/src/modules/webhook/webhook.db.d.ts +0 -136
  509. package/dist/src/modules/webhook/webhook.db.js +0 -17
  510. package/dist/src/modules/webhook/webhook.dto.d.ts +0 -394
  511. package/dist/src/modules/webhook/webhook.dto.js +0 -7
  512. package/dist/src/modules/webhook/webhook.repository.d.ts +0 -148
  513. package/dist/src/modules/webhook/webhook.repository.js +0 -56
  514. package/dist/src/modules/webhook/webhook.router.d.ts +0 -3
  515. package/dist/src/modules/webhook/webhook.router.js +0 -30
  516. package/dist/src/modules/webhook/webhook.service.d.ts +0 -9
  517. package/dist/src/modules/webhook/webhook.service.js +0 -68
  518. package/dist/src/modules/workflow/workflow.db.d.ts +0 -296
  519. package/dist/src/modules/workflow/workflow.db.js +0 -30
  520. package/dist/src/modules/workflow/workflow.repository.d.ts +0 -343
  521. package/dist/src/modules/workflow/workflow.repository.js +0 -105
  522. package/dist/src/modules/workflow/workflow.service.d.ts +0 -61
  523. package/dist/src/modules/workflow/workflow.service.js +0 -37
  524. package/dist/src/modules/workflow/workflow.trpc.d.ts +0 -56
  525. package/dist/src/modules/workflow/workflow.trpc.js +0 -21
  526. package/dist/src/modules/workflow/workflow.types.d.ts +0 -20
  527. package/dist/src/modules/workflow/workflow.types.js +0 -2
  528. package/dist/src/modules/workflow/workflow.utils.d.ts +0 -21
  529. package/dist/src/modules/workflow/workflow.utils.js +0 -173
  530. package/dist/src/test/stubs/utils.d.ts +0 -2
  531. package/dist/src/test/stubs/utils.js +0 -5
  532. package/dist/src/trpc/context.d.ts +0 -41
  533. package/dist/src/trpc/context.js +0 -17
  534. package/dist/src/trpc/index.d.ts +0 -3
  535. package/dist/src/trpc/index.js +0 -6
  536. package/dist/src/trpc/procedures.d.ts +0 -233
  537. package/dist/src/trpc/procedures.js +0 -32
  538. package/dist/src/trpc/utils.d.ts +0 -4
  539. package/dist/src/trpc/utils.js +0 -20
  540. package/dist/src/types.d.ts +0 -358
  541. package/dist/src/types.js +0 -12
  542. package/dist/src/utils/errors.d.ts +0 -49
  543. package/dist/src/utils/errors.js +0 -104
  544. package/dist/src/utils/logger.d.ts +0 -1
  545. package/dist/src/utils/logger.js +0 -11
  546. package/dist/src/utils/posthog.d.ts +0 -13
  547. package/dist/src/utils/posthog.js +0 -31
  548. package/dist/src/utils/trpc.d.ts +0 -48
  549. package/dist/src/utils/trpc.js +0 -158
  550. package/dist/src/utils/trpc.test.js +0 -154
  551. package/dist/src/utils/types.d.ts +0 -4
  552. package/dist/src/utils/types.js +0 -2
  553. package/dist/tsconfig.tsbuildinfo +0 -1
  554. /package/dist/src/{utils/trpc.test.d.ts → modules/ai/ai.router.mjs} +0 -0
  555. /package/dist/src/modules/{social/social.linkedin.test.d.ts → base/base.types.mjs} +0 -0
  556. /package/dist/src/modules/{base/base.service.test.d.ts → connect/connect.types.mjs} +0 -0
  557. /package/dist/src/modules/{base/base.grants.test.d.ts → social/social.types.mjs} +0 -0
  558. /package/dist/src/modules/{base/base.actor.test.d.ts → workflow/workflow.types.mjs} +0 -0
  559. /package/dist/src/{modules/ai/ai.router.d.ts → utils/types.mjs} +0 -0
@@ -0,0 +1,64 @@
1
+ import { BaseService } from "../base/base.service.mjs";
2
+ import { err, ok } from "neverthrow";
3
+ //#region src/modules/recurrence/recurrence.service.ts
4
+ const RECURRENCE_RULE_INSERT_KEYS = [
5
+ "freq",
6
+ "dtstart",
7
+ "interval",
8
+ "wkst",
9
+ "count",
10
+ "until",
11
+ "tzid",
12
+ "bysetpos",
13
+ "bymonth",
14
+ "bymonthday",
15
+ "byyearday",
16
+ "byweekno",
17
+ "byweekday",
18
+ "byhour",
19
+ "byminute",
20
+ "bysecond"
21
+ ];
22
+ function mapRuleToInsert(rule) {
23
+ const out = {};
24
+ for (const key of RECURRENCE_RULE_INSERT_KEYS) if (key in rule && rule[key] !== void 0) out[key] = rule[key];
25
+ return out;
26
+ }
27
+ var RecurrenceService = class extends BaseService {
28
+ list = this.procedure("list").addContextFilter(["user"]).handle(({ input }) => this.repository.recurrence.queryList(input));
29
+ create = this.procedure("create").requireAuth().handle(({ input, ctx }) => {
30
+ const { actor } = ctx;
31
+ const recurrenceData = {
32
+ name: input.name,
33
+ kind: input.kind,
34
+ enabled: input.enabled,
35
+ metadata: input.metadata ?? null,
36
+ userId: actor.userId,
37
+ organizationId: actor.organizationId,
38
+ teamId: actor.teamId
39
+ };
40
+ const rulesData = input.recurrenceRules.map(mapRuleToInsert);
41
+ return this.repository.recurrence.createWithRules(recurrenceData, rulesData);
42
+ });
43
+ async findById(id) {
44
+ const result = await this.repository.recurrence.findById(id);
45
+ if (result.isErr()) return err(result.error);
46
+ return ok(result.value ?? null);
47
+ }
48
+ async update(data) {
49
+ return this.repository.recurrence.update(data);
50
+ }
51
+ async updateRule(data) {
52
+ return this.repository.recurrenceRules.update(data);
53
+ }
54
+ async delete(data) {
55
+ return this.repository.recurrence.deleteById(data.id);
56
+ }
57
+ async deleteRule(data) {
58
+ return this.repository.recurrenceRules.deleteById(data.id);
59
+ }
60
+ };
61
+ //#endregion
62
+ export { RecurrenceService };
63
+
64
+ //# sourceMappingURL=recurrence.service.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurrence.service.mjs","names":[],"sources":["../../../../src/modules/recurrence/recurrence.service.ts"],"sourcesContent":["import type {\r\n CreateRecurrenceSchema,\r\n DeleteRecurrenceRulesSchema,\r\n DeleteRecurrenceSchema,\r\n UpdateRecurrenceRulesSchema,\r\n UpdateRecurrenceSchema,\r\n} from \"@m5kdev/commons/modules/recurrence/recurrence.schema\";\r\nimport type { QueryInput } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport { err, ok } from \"neverthrow\";\r\nimport type { ServerResultAsync } from \"../base/base.dto\";\r\nimport { BaseService } from \"../base/base.service\";\r\nimport type {\r\n CreateRecurrenceRuleInput,\r\n CreateWithRulesResult,\r\n RecurrenceRepository,\r\n RecurrenceRulesRepository,\r\n} from \"./recurrence.repository\";\r\n\r\nconst RECURRENCE_RULE_INSERT_KEYS = [\r\n \"freq\",\r\n \"dtstart\",\r\n \"interval\",\r\n \"wkst\",\r\n \"count\",\r\n \"until\",\r\n \"tzid\",\r\n \"bysetpos\",\r\n \"bymonth\",\r\n \"bymonthday\",\r\n \"byyearday\",\r\n \"byweekno\",\r\n \"byweekday\",\r\n \"byhour\",\r\n \"byminute\",\r\n \"bysecond\",\r\n] as const;\r\n\r\nfunction mapRuleToInsert(\r\n rule: CreateRecurrenceSchema[\"recurrenceRules\"][number]\r\n): CreateRecurrenceRuleInput {\r\n const out: Record<string, unknown> = {};\r\n for (const key of RECURRENCE_RULE_INSERT_KEYS) {\r\n if (key in rule && rule[key as keyof typeof rule] !== undefined) {\r\n out[key] = rule[key as keyof typeof rule];\r\n }\r\n }\r\n return out as CreateRecurrenceRuleInput;\r\n}\r\n\r\nexport class RecurrenceService extends BaseService<\r\n { recurrence: RecurrenceRepository; recurrenceRules: RecurrenceRulesRepository },\r\n Record<string, never>\r\n> {\r\n readonly list = this.procedure<QueryInput>(\"list\")\r\n .addContextFilter([\"user\"])\r\n .handle(({ input }) => this.repository.recurrence.queryList(input));\r\n\r\n readonly create = this.procedure<CreateRecurrenceSchema>(\"create\")\r\n .requireAuth()\r\n .handle(({ input, ctx }): ServerResultAsync<CreateWithRulesResult> => {\r\n const { actor } = ctx;\r\n const recurrenceData = {\r\n name: input.name,\r\n kind: input.kind,\r\n enabled: input.enabled,\r\n metadata: input.metadata ?? null,\r\n userId: actor.userId,\r\n organizationId: actor.organizationId,\r\n teamId: actor.teamId,\r\n };\r\n const rulesData = input.recurrenceRules.map(mapRuleToInsert);\r\n return this.repository.recurrence.createWithRules(recurrenceData, rulesData);\r\n });\r\n\r\n async findById(id: string): ServerResultAsync<CreateWithRulesResult[\"recurrence\"] | null> {\r\n const result = await this.repository.recurrence.findById(id);\r\n if (result.isErr()) return err(result.error);\r\n return ok(result.value ?? null);\r\n }\r\n\r\n async update(\r\n data: UpdateRecurrenceSchema & { id: string }\r\n ): ServerResultAsync<CreateWithRulesResult[\"recurrence\"]> {\r\n return this.repository.recurrence.update(data);\r\n }\r\n\r\n async updateRule(\r\n data: UpdateRecurrenceRulesSchema\r\n ): ServerResultAsync<CreateWithRulesResult[\"rules\"][number]> {\r\n return this.repository.recurrenceRules.update(data);\r\n }\r\n\r\n async delete(data: DeleteRecurrenceSchema): ServerResultAsync<{ id: string }> {\r\n return this.repository.recurrence.deleteById(data.id);\r\n }\r\n\r\n async deleteRule(data: DeleteRecurrenceRulesSchema): ServerResultAsync<{ id: string }> {\r\n return this.repository.recurrenceRules.deleteById(data.id);\r\n }\r\n}\r\n"],"mappings":";;;AAkBA,MAAM,8BAA8B;CAClC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAS,gBACP,MAC2B;CAC3B,MAAM,MAA+B,EAAE;AACvC,MAAK,MAAM,OAAO,4BAChB,KAAI,OAAO,QAAQ,KAAK,SAA8B,KAAA,EACpD,KAAI,OAAO,KAAK;AAGpB,QAAO;;AAGT,IAAa,oBAAb,cAAuC,YAGrC;CACA,OAAgB,KAAK,UAAsB,OAAO,CAC/C,iBAAiB,CAAC,OAAO,CAAC,CAC1B,QAAQ,EAAE,YAAY,KAAK,WAAW,WAAW,UAAU,MAAM,CAAC;CAErE,SAAkB,KAAK,UAAkC,SAAS,CAC/D,aAAa,CACb,QAAQ,EAAE,OAAO,UAAoD;EACpE,MAAM,EAAE,UAAU;EAClB,MAAM,iBAAiB;GACrB,MAAM,MAAM;GACZ,MAAM,MAAM;GACZ,SAAS,MAAM;GACf,UAAU,MAAM,YAAY;GAC5B,QAAQ,MAAM;GACd,gBAAgB,MAAM;GACtB,QAAQ,MAAM;GACf;EACD,MAAM,YAAY,MAAM,gBAAgB,IAAI,gBAAgB;AAC5D,SAAO,KAAK,WAAW,WAAW,gBAAgB,gBAAgB,UAAU;GAC5E;CAEJ,MAAM,SAAS,IAA2E;EACxF,MAAM,SAAS,MAAM,KAAK,WAAW,WAAW,SAAS,GAAG;AAC5D,MAAI,OAAO,OAAO,CAAE,QAAO,IAAI,OAAO,MAAM;AAC5C,SAAO,GAAG,OAAO,SAAS,KAAK;;CAGjC,MAAM,OACJ,MACwD;AACxD,SAAO,KAAK,WAAW,WAAW,OAAO,KAAK;;CAGhD,MAAM,WACJ,MAC2D;AAC3D,SAAO,KAAK,WAAW,gBAAgB,OAAO,KAAK;;CAGrD,MAAM,OAAO,MAAiE;AAC5E,SAAO,KAAK,WAAW,WAAW,WAAW,KAAK,GAAG;;CAGvD,MAAM,WAAW,MAAsE;AACrF,SAAO,KAAK,WAAW,gBAAgB,WAAW,KAAK,GAAG"}
@@ -0,0 +1,65 @@
1
+ import { Context, TRPCMethods } from "../../utils/trpc.mjs";
2
+ import { RecurrenceService } from "./recurrence.service.mjs";
3
+ import * as _$_trpc_server0 from "@trpc/server";
4
+
5
+ //#region src/modules/recurrence/recurrence.trpc.d.ts
6
+ declare function createRecurrenceTRPC({
7
+ router,
8
+ privateProcedure: procedure
9
+ }: TRPCMethods, recurrenceService: RecurrenceService): _$_trpc_server0.TRPCBuiltRouter<{
10
+ ctx: Context;
11
+ meta: any;
12
+ errorShape: _$_trpc_server0.TRPCDefaultErrorShape;
13
+ transformer: any;
14
+ }, _$_trpc_server0.TRPCDecorateCreateRouterOptions<{
15
+ list: _$_trpc_server0.TRPCQueryProcedure<{
16
+ input: any;
17
+ output: {
18
+ rows: any[];
19
+ total: number;
20
+ };
21
+ meta: any;
22
+ }>;
23
+ create: _$_trpc_server0.TRPCMutationProcedure<{
24
+ input: any;
25
+ output: {
26
+ [x: string]: any;
27
+ rules: any[];
28
+ };
29
+ meta: any;
30
+ }>;
31
+ findById: _$_trpc_server0.TRPCQueryProcedure<{
32
+ input: {
33
+ id: string;
34
+ };
35
+ output: any;
36
+ meta: any;
37
+ }>;
38
+ update: _$_trpc_server0.TRPCMutationProcedure<{
39
+ input: any;
40
+ output: any;
41
+ meta: any;
42
+ }>;
43
+ updateRule: _$_trpc_server0.TRPCMutationProcedure<{
44
+ input: any;
45
+ output: any;
46
+ meta: any;
47
+ }>;
48
+ delete: _$_trpc_server0.TRPCMutationProcedure<{
49
+ input: any;
50
+ output: {
51
+ id: string;
52
+ };
53
+ meta: any;
54
+ }>;
55
+ deleteRule: _$_trpc_server0.TRPCMutationProcedure<{
56
+ input: any;
57
+ output: {
58
+ id: string;
59
+ };
60
+ meta: any;
61
+ }>;
62
+ }>>;
63
+ //#endregion
64
+ export { createRecurrenceTRPC };
65
+ //# sourceMappingURL=recurrence.trpc.d.mts.map
@@ -0,0 +1,44 @@
1
+ import { handleTRPCResult } from "../../utils/trpc.mjs";
2
+ import { z } from "zod";
3
+ import { createRecurrenceSchema, deleteRecurrenceRulesSchema, deleteRecurrenceSchema, recurrenceRulesSchema, recurrenceSchema, updateRecurrenceRulesSchema, updateRecurrenceSchema } from "@m5kdev/commons/modules/recurrence/recurrence.schema";
4
+ import { querySchema } from "@m5kdev/commons/modules/schemas/query.schema";
5
+ //#region src/modules/recurrence/recurrence.trpc.ts
6
+ const createRecurrenceOutputSchema = z.object({
7
+ recurrence: recurrenceSchema,
8
+ rules: z.array(recurrenceRulesSchema)
9
+ });
10
+ const listRecurrenceOutputSchema = z.object({
11
+ rows: z.array(recurrenceSchema),
12
+ total: z.number()
13
+ });
14
+ const updateRecurrenceInputSchema = updateRecurrenceSchema.extend({ id: z.string() });
15
+ const deleteRecurrenceOutputSchema = z.object({ id: z.string() });
16
+ function createRecurrenceTRPC({ router, privateProcedure: procedure }, recurrenceService) {
17
+ return router({
18
+ list: procedure.input(querySchema.default({})).output(listRecurrenceOutputSchema).query(async ({ ctx, input }) => {
19
+ return handleTRPCResult(await recurrenceService.list(input, ctx));
20
+ }),
21
+ create: procedure.input(createRecurrenceSchema).output(createRecurrenceOutputSchema).mutation(async ({ ctx, input }) => {
22
+ return handleTRPCResult(await recurrenceService.create(input, ctx));
23
+ }),
24
+ findById: procedure.input(z.object({ id: z.string() })).output(recurrenceSchema.nullable()).query(async ({ input }) => {
25
+ return handleTRPCResult(await recurrenceService.findById(input.id));
26
+ }),
27
+ update: procedure.input(updateRecurrenceInputSchema).output(recurrenceSchema).mutation(async ({ input }) => {
28
+ return handleTRPCResult(await recurrenceService.update(input));
29
+ }),
30
+ updateRule: procedure.input(updateRecurrenceRulesSchema).output(recurrenceRulesSchema).mutation(async ({ input }) => {
31
+ return handleTRPCResult(await recurrenceService.updateRule(input));
32
+ }),
33
+ delete: procedure.input(deleteRecurrenceSchema).output(deleteRecurrenceOutputSchema).mutation(async ({ input }) => {
34
+ return handleTRPCResult(await recurrenceService.delete(input));
35
+ }),
36
+ deleteRule: procedure.input(deleteRecurrenceRulesSchema).output(deleteRecurrenceOutputSchema).mutation(async ({ input }) => {
37
+ return handleTRPCResult(await recurrenceService.deleteRule(input));
38
+ })
39
+ });
40
+ }
41
+ //#endregion
42
+ export { createRecurrenceTRPC };
43
+
44
+ //# sourceMappingURL=recurrence.trpc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurrence.trpc.mjs","names":[],"sources":["../../../../src/modules/recurrence/recurrence.trpc.ts"],"sourcesContent":["import {\r\n createRecurrenceSchema,\r\n deleteRecurrenceRulesSchema,\r\n deleteRecurrenceSchema,\r\n recurrenceRulesSchema,\r\n recurrenceSchema,\r\n updateRecurrenceRulesSchema,\r\n updateRecurrenceSchema,\r\n} from \"@m5kdev/commons/modules/recurrence/recurrence.schema\";\r\nimport { querySchema } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport { z } from \"zod\";\r\nimport { handleTRPCResult, type TRPCMethods } from \"../../utils/trpc\";\r\nimport type { RecurrenceService } from \"./recurrence.service\";\r\n\r\nconst createRecurrenceOutputSchema = z.object({\r\n recurrence: recurrenceSchema,\r\n rules: z.array(recurrenceRulesSchema),\r\n});\r\n\r\nconst listRecurrenceOutputSchema = z.object({\r\n rows: z.array(recurrenceSchema),\r\n total: z.number(),\r\n});\r\n\r\nconst updateRecurrenceInputSchema = updateRecurrenceSchema.extend({\r\n id: z.string(),\r\n});\r\n\r\nconst deleteRecurrenceOutputSchema = z.object({ id: z.string() });\r\n\r\nexport function createRecurrenceTRPC(\r\n { router, privateProcedure: procedure }: TRPCMethods,\r\n recurrenceService: RecurrenceService\r\n) {\r\n return router({\r\n list: procedure\r\n .input(querySchema.default({}))\r\n .output(listRecurrenceOutputSchema)\r\n .query(async ({ ctx, input }) => {\r\n return handleTRPCResult(await recurrenceService.list(input, ctx));\r\n }),\r\n\r\n create: procedure\r\n .input(createRecurrenceSchema)\r\n .output(createRecurrenceOutputSchema)\r\n .mutation(async ({ ctx, input }) => {\r\n return handleTRPCResult(await recurrenceService.create(input, ctx));\r\n }),\r\n\r\n findById: procedure\r\n .input(z.object({ id: z.string() }))\r\n .output(recurrenceSchema.nullable())\r\n .query(async ({ input }) => {\r\n return handleTRPCResult(await recurrenceService.findById(input.id));\r\n }),\r\n\r\n update: procedure\r\n .input(updateRecurrenceInputSchema)\r\n .output(recurrenceSchema)\r\n .mutation(async ({ input }) => {\r\n return handleTRPCResult(await recurrenceService.update(input));\r\n }),\r\n\r\n updateRule: procedure\r\n .input(updateRecurrenceRulesSchema)\r\n .output(recurrenceRulesSchema)\r\n .mutation(async ({ input }) => {\r\n return handleTRPCResult(await recurrenceService.updateRule(input));\r\n }),\r\n\r\n delete: procedure\r\n .input(deleteRecurrenceSchema)\r\n .output(deleteRecurrenceOutputSchema)\r\n .mutation(async ({ input }) => {\r\n return handleTRPCResult(await recurrenceService.delete(input));\r\n }),\r\n\r\n deleteRule: procedure\r\n .input(deleteRecurrenceRulesSchema)\r\n .output(deleteRecurrenceOutputSchema)\r\n .mutation(async ({ input }) => {\r\n return handleTRPCResult(await recurrenceService.deleteRule(input));\r\n }),\r\n });\r\n}\r\n"],"mappings":";;;;;AAcA,MAAM,+BAA+B,EAAE,OAAO;CAC5C,YAAY;CACZ,OAAO,EAAE,MAAM,sBAAsB;CACtC,CAAC;AAEF,MAAM,6BAA6B,EAAE,OAAO;CAC1C,MAAM,EAAE,MAAM,iBAAiB;CAC/B,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEF,MAAM,8BAA8B,uBAAuB,OAAO,EAChE,IAAI,EAAE,QAAQ,EACf,CAAC;AAEF,MAAM,+BAA+B,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAEjE,SAAgB,qBACd,EAAE,QAAQ,kBAAkB,aAC5B,mBACA;AACA,QAAO,OAAO;EACZ,MAAM,UACH,MAAM,YAAY,QAAQ,EAAE,CAAC,CAAC,CAC9B,OAAO,2BAA2B,CAClC,MAAM,OAAO,EAAE,KAAK,YAAY;AAC/B,UAAO,iBAAiB,MAAM,kBAAkB,KAAK,OAAO,IAAI,CAAC;IACjE;EAEJ,QAAQ,UACL,MAAM,uBAAuB,CAC7B,OAAO,6BAA6B,CACpC,SAAS,OAAO,EAAE,KAAK,YAAY;AAClC,UAAO,iBAAiB,MAAM,kBAAkB,OAAO,OAAO,IAAI,CAAC;IACnE;EAEJ,UAAU,UACP,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CACnC,OAAO,iBAAiB,UAAU,CAAC,CACnC,MAAM,OAAO,EAAE,YAAY;AAC1B,UAAO,iBAAiB,MAAM,kBAAkB,SAAS,MAAM,GAAG,CAAC;IACnE;EAEJ,QAAQ,UACL,MAAM,4BAA4B,CAClC,OAAO,iBAAiB,CACxB,SAAS,OAAO,EAAE,YAAY;AAC7B,UAAO,iBAAiB,MAAM,kBAAkB,OAAO,MAAM,CAAC;IAC9D;EAEJ,YAAY,UACT,MAAM,4BAA4B,CAClC,OAAO,sBAAsB,CAC7B,SAAS,OAAO,EAAE,YAAY;AAC7B,UAAO,iBAAiB,MAAM,kBAAkB,WAAW,MAAM,CAAC;IAClE;EAEJ,QAAQ,UACL,MAAM,uBAAuB,CAC7B,OAAO,6BAA6B,CACpC,SAAS,OAAO,EAAE,YAAY;AAC7B,UAAO,iBAAiB,MAAM,kBAAkB,OAAO,MAAM,CAAC;IAC9D;EAEJ,YAAY,UACT,MAAM,4BAA4B,CAClC,OAAO,6BAA6B,CACpC,SAAS,OAAO,EAAE,YAAY;AAC7B,UAAO,iBAAiB,MAAM,kBAAkB,WAAW,MAAM,CAAC;IAClE;EACL,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/modules/social/social.dto.d.ts
4
+ declare const socialMediaInputSchema: z.ZodObject<{
5
+ s3Path: z.ZodString;
6
+ mediaType: z.ZodOptional<z.ZodEnum<{
7
+ image: "image";
8
+ video: "video";
9
+ document: "document";
10
+ }>>;
11
+ title: z.ZodOptional<z.ZodString>;
12
+ description: z.ZodOptional<z.ZodString>;
13
+ }, z.core.$strip>;
14
+ declare const socialPostInputSchema: z.ZodObject<{
15
+ text: z.ZodString;
16
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
17
+ s3Path: z.ZodString;
18
+ mediaType: z.ZodOptional<z.ZodEnum<{
19
+ image: "image";
20
+ video: "video";
21
+ document: "document";
22
+ }>>;
23
+ title: z.ZodOptional<z.ZodString>;
24
+ description: z.ZodOptional<z.ZodString>;
25
+ }, z.core.$strip>>>;
26
+ visibility: z.ZodDefault<z.ZodEnum<{
27
+ PUBLIC: "PUBLIC";
28
+ CONNECTIONS: "CONNECTIONS";
29
+ }>>;
30
+ }, z.core.$strip>;
31
+ declare const socialPostOutputSchema: z.ZodObject<{
32
+ shareUrn: z.ZodOptional<z.ZodString>;
33
+ }, z.core.$strip>;
34
+ type SocialPostInput = z.infer<typeof socialPostInputSchema>;
35
+ type SocialMediaInput = z.infer<typeof socialMediaInputSchema>;
36
+ type SocialPostOutput = z.infer<typeof socialPostOutputSchema>;
37
+ //#endregion
38
+ export { SocialMediaInput, SocialPostInput, SocialPostOutput, socialMediaInputSchema, socialPostInputSchema, socialPostOutputSchema };
39
+ //# sourceMappingURL=social.dto.d.mts.map
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ //#region src/modules/social/social.dto.ts
3
+ const socialMediaInputSchema = z.object({
4
+ s3Path: z.string().min(1, "Media S3 path is required"),
5
+ mediaType: z.enum([
6
+ "image",
7
+ "video",
8
+ "document"
9
+ ]).optional(),
10
+ title: z.string().max(300).optional(),
11
+ description: z.string().max(2e3).optional()
12
+ });
13
+ const socialPostInputSchema = z.object({
14
+ text: z.string().min(1, "Post text is required"),
15
+ media: z.array(socialMediaInputSchema).max(4).optional(),
16
+ visibility: z.enum(["PUBLIC", "CONNECTIONS"]).default("PUBLIC")
17
+ });
18
+ const socialPostOutputSchema = z.object({ shareUrn: z.string().optional() });
19
+ //#endregion
20
+ export { socialMediaInputSchema, socialPostInputSchema, socialPostOutputSchema };
21
+
22
+ //# sourceMappingURL=social.dto.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"social.dto.mjs","names":[],"sources":["../../../../src/modules/social/social.dto.ts"],"sourcesContent":["import { z } from \"zod\";\r\n\r\nexport const socialMediaInputSchema = z.object({\r\n s3Path: z.string().min(1, \"Media S3 path is required\"),\r\n mediaType: z.enum([\"image\", \"video\", \"document\"]).optional(),\r\n title: z.string().max(300).optional(),\r\n description: z.string().max(2000).optional(),\r\n});\r\n\r\nexport const socialPostInputSchema = z.object({\r\n text: z.string().min(1, \"Post text is required\"),\r\n media: z.array(socialMediaInputSchema).max(4).optional(),\r\n visibility: z.enum([\"PUBLIC\", \"CONNECTIONS\"]).default(\"PUBLIC\"),\r\n});\r\n\r\nexport const socialPostOutputSchema = z.object({\r\n shareUrn: z.string().optional(),\r\n});\r\n\r\nexport type SocialPostInput = z.infer<typeof socialPostInputSchema>;\r\nexport type SocialMediaInput = z.infer<typeof socialMediaInputSchema>;\r\nexport type SocialPostOutput = z.infer<typeof socialPostOutputSchema>;\r\n"],"mappings":";;AAEA,MAAa,yBAAyB,EAAE,OAAO;CAC7C,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAG,4BAA4B;CACtD,WAAW,EAAE,KAAK;EAAC;EAAS;EAAS;EAAW,CAAC,CAAC,UAAU;CAC5D,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,UAAU;CACrC,aAAa,EAAE,QAAQ,CAAC,IAAI,IAAK,CAAC,UAAU;CAC7C,CAAC;AAEF,MAAa,wBAAwB,EAAE,OAAO;CAC5C,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,wBAAwB;CAChD,OAAO,EAAE,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAAC,UAAU;CACxD,YAAY,EAAE,KAAK,CAAC,UAAU,cAAc,CAAC,CAAC,QAAQ,SAAS;CAChE,CAAC;AAEF,MAAa,yBAAyB,EAAE,OAAO,EAC7C,UAAU,EAAE,QAAQ,CAAC,UAAU,EAChC,CAAC"}
@@ -1,5 +1,7 @@
1
- import type { SocialProvider } from "./social.types";
2
- export declare function createLinkedInSocialProvider(): SocialProvider;
1
+ import { SocialProvider } from "./social.types.mjs";
2
+
3
+ //#region src/modules/social/social.linkedin.d.ts
4
+ declare function createLinkedInSocialProvider(): SocialProvider;
3
5
  /**
4
6
  * Escapes special characters in text for LinkedIn's post commentary field.
5
7
  * LinkedIn requires certain characters to be backslash-escaped.
@@ -7,4 +9,7 @@ export declare function createLinkedInSocialProvider(): SocialProvider;
7
9
  * Converts simple hashtags (#tag) to the template format.
8
10
  * @see https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/little-text-format
9
11
  */
10
- export declare function escapeLinkedInText(text: string): string;
12
+ declare function escapeLinkedInText(text: string): string;
13
+ //#endregion
14
+ export { createLinkedInSocialProvider, escapeLinkedInText };
15
+ //# sourceMappingURL=social.linkedin.d.mts.map
@@ -0,0 +1,346 @@
1
+ import { createReadStream } from "node:fs";
2
+ import { stat, unlink } from "node:fs/promises";
3
+ //#region src/modules/social/social.linkedin.ts
4
+ const LINKEDIN_API_BASE = "https://api.linkedin.com/rest";
5
+ const LINKEDIN_VERSION = "202601";
6
+ const IMAGES_URL = `${LINKEDIN_API_BASE}/images?action=initializeUpload`;
7
+ const VIDEOS_URL = `${LINKEDIN_API_BASE}/videos?action=initializeUpload`;
8
+ const VIDEOS_FINALIZE_URL = `${LINKEDIN_API_BASE}/videos?action=finalizeUpload`;
9
+ const DOCUMENTS_URL = `${LINKEDIN_API_BASE}/documents?action=initializeUpload`;
10
+ const POSTS_URL = `${LINKEDIN_API_BASE}/posts`;
11
+ function getApiHeaders(accessToken) {
12
+ return {
13
+ Authorization: `Bearer ${accessToken}`,
14
+ "Content-Type": "application/json",
15
+ "Linkedin-Version": LINKEDIN_VERSION,
16
+ "X-Restli-Protocol-Version": "2.0.0"
17
+ };
18
+ }
19
+ function createLinkedInSocialProvider() {
20
+ return {
21
+ id: "linkedin",
22
+ async post({ deps, context, payload }) {
23
+ const personUrn = resolveAuthorUrn(context.connection);
24
+ const mediaDescriptors = payload.media ?? [];
25
+ let uploadedAssets = [];
26
+ if (mediaDescriptors.length > 0) uploadedAssets = await uploadMediaAssets({
27
+ accessToken: context.accessToken,
28
+ fileService: deps.fileService,
29
+ mediaDescriptors,
30
+ personUrn
31
+ });
32
+ const response = await publishPost({
33
+ accessToken: context.accessToken,
34
+ personUrn,
35
+ payload,
36
+ uploadedAssets
37
+ });
38
+ return {
39
+ shareUrn: response.postUrn,
40
+ rawResponse: response.raw
41
+ };
42
+ }
43
+ };
44
+ }
45
+ function resolveAuthorUrn(connection) {
46
+ if (connection.metadataJson) try {
47
+ const metadata = connection.metadataJson;
48
+ if (metadata.linkedInUrn && typeof metadata.linkedInUrn === "string") return metadata.linkedInUrn;
49
+ } catch {
50
+ throw new Error("Failed to parse LinkedIn connection metadata");
51
+ }
52
+ if (connection.providerAccountId) return `urn:li:person:${connection.providerAccountId}`;
53
+ throw new Error("LinkedIn connection is missing a person URN");
54
+ }
55
+ async function uploadMediaAssets(params) {
56
+ const results = [];
57
+ for (const descriptor of params.mediaDescriptors) {
58
+ const download = await params.fileService.downloadS3ToFile(descriptor.s3Path);
59
+ if (download.isErr()) throw download.error;
60
+ const localPath = download.value;
61
+ try {
62
+ const mediaType = determineMediaType(descriptor.mediaType, localPath);
63
+ let assetUrn;
64
+ switch (mediaType) {
65
+ case "image":
66
+ assetUrn = await uploadImage({
67
+ accessToken: params.accessToken,
68
+ personUrn: params.personUrn,
69
+ localPath
70
+ });
71
+ break;
72
+ case "video":
73
+ assetUrn = await uploadVideo({
74
+ accessToken: params.accessToken,
75
+ personUrn: params.personUrn,
76
+ localPath
77
+ });
78
+ break;
79
+ case "document":
80
+ assetUrn = await uploadDocument({
81
+ accessToken: params.accessToken,
82
+ personUrn: params.personUrn,
83
+ localPath
84
+ });
85
+ break;
86
+ }
87
+ results.push({
88
+ assetUrn,
89
+ mediaType,
90
+ title: descriptor.title,
91
+ description: descriptor.description
92
+ });
93
+ } finally {
94
+ await unlink(localPath).catch(() => void 0);
95
+ }
96
+ }
97
+ return results;
98
+ }
99
+ function determineMediaType(explicitType, localPath) {
100
+ if (explicitType) return explicitType;
101
+ const extension = localPath.split(".").pop()?.toLowerCase();
102
+ if (!extension) throw new Error("Unable to determine media type from file extension");
103
+ const imageExtensions = new Set([
104
+ "jpg",
105
+ "jpeg",
106
+ "png",
107
+ "gif",
108
+ "webp"
109
+ ]);
110
+ const videoExtensions = new Set([
111
+ "mp4",
112
+ "mov",
113
+ "m4v",
114
+ "avi",
115
+ "mkv",
116
+ "webm"
117
+ ]);
118
+ const documentExtensions = new Set([
119
+ "pdf",
120
+ "ppt",
121
+ "pptx",
122
+ "doc",
123
+ "docx"
124
+ ]);
125
+ if (imageExtensions.has(extension)) return "image";
126
+ if (videoExtensions.has(extension)) return "video";
127
+ if (documentExtensions.has(extension)) return "document";
128
+ throw new Error(`Unsupported media extension: ${extension}`);
129
+ }
130
+ async function uploadImage(params) {
131
+ const initResponse = await fetch(IMAGES_URL, {
132
+ method: "POST",
133
+ headers: getApiHeaders(params.accessToken),
134
+ body: JSON.stringify({ initializeUploadRequest: { owner: params.personUrn } })
135
+ });
136
+ if (!initResponse.ok) {
137
+ const errorText = await initResponse.text().catch(() => "");
138
+ throw new Error(`LinkedIn image upload initialization failed: ${initResponse.status} ${errorText}`);
139
+ }
140
+ const { uploadUrl, image } = (await initResponse.json()).value;
141
+ if (!uploadUrl || !image) throw new Error("LinkedIn image initialization response missing required fields");
142
+ await uploadBinaryToLinkedIn({
143
+ uploadUrl,
144
+ localPath: params.localPath,
145
+ mimeType: inferImageMime(params.localPath)
146
+ });
147
+ return image;
148
+ }
149
+ async function uploadVideo(params) {
150
+ const fileSizeBytes = await getFileSize(params.localPath);
151
+ const initResponse = await fetch(VIDEOS_URL, {
152
+ method: "POST",
153
+ headers: getApiHeaders(params.accessToken),
154
+ body: JSON.stringify({ initializeUploadRequest: {
155
+ owner: params.personUrn,
156
+ fileSizeBytes,
157
+ uploadCaptions: false,
158
+ uploadThumbnail: false
159
+ } })
160
+ });
161
+ if (!initResponse.ok) {
162
+ const errorText = await initResponse.text().catch(() => "");
163
+ throw new Error(`LinkedIn video upload initialization failed: ${initResponse.status} ${errorText}`);
164
+ }
165
+ const { uploadInstructions, video, uploadToken } = (await initResponse.json()).value;
166
+ if (!uploadInstructions || !video || !uploadToken) throw new Error("LinkedIn video initialization response missing required fields");
167
+ const uploadedPartIds = await uploadVideoMultipart({
168
+ localPath: params.localPath,
169
+ uploadInstructions
170
+ });
171
+ await finalizeVideoUpload({
172
+ accessToken: params.accessToken,
173
+ video,
174
+ uploadToken,
175
+ uploadedPartIds
176
+ });
177
+ return video;
178
+ }
179
+ async function uploadVideoMultipart(params) {
180
+ const uploadedPartIds = [];
181
+ for (const instruction of params.uploadInstructions) {
182
+ const chunkStream = createReadStream(params.localPath, {
183
+ start: instruction.firstByte,
184
+ end: instruction.lastByte
185
+ });
186
+ const uploadResponse = await fetch(instruction.uploadUrl, {
187
+ method: "PUT",
188
+ headers: { "Content-Type": "application/octet-stream" },
189
+ body: chunkStream,
190
+ duplex: "half"
191
+ });
192
+ if (!uploadResponse.ok) {
193
+ const errorText = await uploadResponse.text().catch(() => "");
194
+ throw new Error(`LinkedIn video part upload failed: ${uploadResponse.status} ${errorText}`);
195
+ }
196
+ const etag = uploadResponse.headers.get("etag");
197
+ if (!etag) throw new Error("LinkedIn video part upload response missing ETag header");
198
+ uploadedPartIds.push(etag.replace(/"/g, ""));
199
+ }
200
+ return uploadedPartIds;
201
+ }
202
+ async function finalizeVideoUpload(params) {
203
+ const response = await fetch(VIDEOS_FINALIZE_URL, {
204
+ method: "POST",
205
+ headers: getApiHeaders(params.accessToken),
206
+ body: JSON.stringify({ finalizeUploadRequest: {
207
+ video: params.video,
208
+ uploadToken: params.uploadToken,
209
+ uploadedPartIds: params.uploadedPartIds
210
+ } })
211
+ });
212
+ if (!response.ok) {
213
+ const errorText = await response.text().catch(() => "");
214
+ throw new Error(`LinkedIn video finalize failed: ${response.status} ${errorText}`);
215
+ }
216
+ }
217
+ async function uploadDocument(params) {
218
+ const initResponse = await fetch(DOCUMENTS_URL, {
219
+ method: "POST",
220
+ headers: getApiHeaders(params.accessToken),
221
+ body: JSON.stringify({ initializeUploadRequest: { owner: params.personUrn } })
222
+ });
223
+ if (!initResponse.ok) {
224
+ const errorText = await initResponse.text().catch(() => "");
225
+ throw new Error(`LinkedIn document upload initialization failed: ${initResponse.status} ${errorText}`);
226
+ }
227
+ const { uploadUrl, document } = (await initResponse.json()).value;
228
+ if (!uploadUrl || !document) throw new Error("LinkedIn document initialization response missing required fields");
229
+ await uploadBinaryToLinkedIn({
230
+ uploadUrl,
231
+ localPath: params.localPath,
232
+ mimeType: inferDocumentMime(params.localPath)
233
+ });
234
+ return document;
235
+ }
236
+ async function uploadBinaryToLinkedIn(params) {
237
+ const uploadResponse = await fetch(params.uploadUrl, {
238
+ method: "PUT",
239
+ headers: { "Content-Type": params.mimeType },
240
+ body: createReadStream(params.localPath),
241
+ duplex: "half"
242
+ });
243
+ if (!uploadResponse.ok) {
244
+ const errorText = await uploadResponse.text().catch(() => "");
245
+ throw new Error(`LinkedIn media upload failed: ${uploadResponse.status} ${errorText}`);
246
+ }
247
+ }
248
+ async function getFileSize(filePath) {
249
+ return (await stat(filePath)).size;
250
+ }
251
+ function inferImageMime(localPath) {
252
+ switch (localPath.split(".").pop()?.toLowerCase()) {
253
+ case "png": return "image/png";
254
+ case "webp": return "image/webp";
255
+ case "gif": return "image/gif";
256
+ case "jpg":
257
+ case "jpeg": return "image/jpeg";
258
+ default: return "application/octet-stream";
259
+ }
260
+ }
261
+ function inferDocumentMime(localPath) {
262
+ switch (localPath.split(".").pop()?.toLowerCase()) {
263
+ case "pdf": return "application/pdf";
264
+ case "doc": return "application/msword";
265
+ case "docx": return "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
266
+ case "ppt": return "application/vnd.ms-powerpoint";
267
+ case "pptx": return "application/vnd.openxmlformats-officedocument.presentationml.presentation";
268
+ default: return "application/octet-stream";
269
+ }
270
+ }
271
+ async function publishPost(params) {
272
+ const body = buildPostBody(params);
273
+ const response = await fetch(POSTS_URL, {
274
+ method: "POST",
275
+ headers: getApiHeaders(params.accessToken),
276
+ body: JSON.stringify(body)
277
+ });
278
+ if (!response.ok) {
279
+ const errorText = await response.text().catch(() => "");
280
+ throw new Error(`LinkedIn post failed: ${response.status} ${errorText}`);
281
+ }
282
+ return {
283
+ postUrn: response.headers.get("x-restli-id") ?? void 0,
284
+ raw: await safeJson(response)
285
+ };
286
+ }
287
+ /**
288
+ * Escapes special characters in text for LinkedIn's post commentary field.
289
+ * LinkedIn requires certain characters to be backslash-escaped.
290
+ * Preserves mentions (@[Name](urn:li:...)) and hashtag templates ({hashtag|#|tag}).
291
+ * Converts simple hashtags (#tag) to the template format.
292
+ * @see https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/little-text-format
293
+ */
294
+ function escapeLinkedInText(text) {
295
+ const mentionPattern = /@\[[^\]]*\]\(urn:li:[^)]+\)/g;
296
+ const hashtagTemplatePattern = /\{hashtag\|\\?[##]\|[^}]+\}/g;
297
+ const simpleHashtagPattern = /#([a-zA-Z\u00C0-\u024F\u1E00-\u1EFF][\w\u00C0-\u024F\u1E00-\u1EFF]*)/g;
298
+ const preserved = [];
299
+ const createPlaceholder = (content) => {
300
+ const index = preserved.length;
301
+ preserved.push(content);
302
+ return `\x00${index}\x00`;
303
+ };
304
+ let result = text.replace(mentionPattern, (match) => createPlaceholder(match));
305
+ result = result.replace(hashtagTemplatePattern, (match) => createPlaceholder(match));
306
+ result = result.replace(simpleHashtagPattern, (_match, tag) => createPlaceholder(`{hashtag|\\#|${tag}}`));
307
+ result = result.replace(/\\/g, "\\\\").replace(/\|/g, "\\|").replace(/\{/g, "\\{").replace(/\}/g, "\\}").replace(/@/g, "\\@").replace(/\[/g, "\\[").replace(/\]/g, "\\]").replace(/\(/g, "\\(").replace(/\)/g, "\\)").replace(/</g, "\\<").replace(/>/g, "\\>").replace(/#/g, "\\#").replace(/\*/g, "\\*").replace(/_/g, "\\_").replace(/~/g, "\\~");
308
+ result = result.replace(/\x00(\d+)\x00/g, (_match, index) => preserved[Number(index)]);
309
+ return result;
310
+ }
311
+ function buildPostBody(params) {
312
+ const { personUrn, payload, uploadedAssets } = params;
313
+ const basePost = {
314
+ author: personUrn,
315
+ commentary: escapeLinkedInText(payload.text),
316
+ visibility: payload.visibility,
317
+ distribution: {
318
+ feedDistribution: "MAIN_FEED",
319
+ targetEntities: [],
320
+ thirdPartyDistributionChannels: []
321
+ },
322
+ lifecycleState: "PUBLISHED",
323
+ isReshareDisabledByAuthor: false
324
+ };
325
+ if (uploadedAssets.length === 0) return basePost;
326
+ if (uploadedAssets.length > 1) throw new Error("LinkedIn Posts API currently supports only a single media asset per post");
327
+ const asset = uploadedAssets[0];
328
+ const mediaContent = { id: asset.assetUrn };
329
+ if (asset.title) mediaContent.title = asset.title;
330
+ if (asset.description && asset.mediaType === "image") mediaContent.altText = asset.description;
331
+ return {
332
+ ...basePost,
333
+ content: { media: mediaContent }
334
+ };
335
+ }
336
+ async function safeJson(response) {
337
+ try {
338
+ return await response.json();
339
+ } catch {
340
+ return;
341
+ }
342
+ }
343
+ //#endregion
344
+ export { createLinkedInSocialProvider, escapeLinkedInText };
345
+
346
+ //# sourceMappingURL=social.linkedin.mjs.map