@typetron/framework 0.5.21 → 0.5.22

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 (886) hide show
  1. package/.automaker/app_spec.txt +440 -0
  2. package/.automaker/categories.json +1 -0
  3. package/.automaker/features/a-b-testing-framework/feature.json +14 -0
  4. package/.automaker/features/account-lockout-protection/feature.json +14 -0
  5. package/.automaker/features/api-versioning/feature.json +14 -0
  6. package/.automaker/features/background-job-processing/feature.json +12 -0
  7. package/.automaker/features/cloud-storage-integration/feature.json +14 -0
  8. package/.automaker/features/compression-middleware/feature.json +14 -0
  9. package/.automaker/features/cors-and-security-headers/feature.json +14 -0
  10. package/.automaker/features/currency-and-timezone/feature.json +14 -0
  11. package/.automaker/features/database-backup-restore/feature.json +14 -0
  12. package/.automaker/features/database-query-logging/feature.json +15 -0
  13. package/.automaker/features/database-transaction-support/feature.json +14 -0
  14. package/.automaker/features/discord-notifications-channel/feature.json +14 -0
  15. package/.automaker/features/eager-loading-optimization/feature.json +14 -0
  16. package/.automaker/features/email-notifications-channel/feature.json +14 -0
  17. package/.automaker/features/error-tracking-integration/feature.json +14 -0
  18. package/.automaker/features/feature-flags/feature.json +12 -0
  19. package/.automaker/features/file-upload-handling/feature.json +14 -0
  20. package/.automaker/features/form-builder/feature.json +14 -0
  21. package/.automaker/features/full-text-search/feature.json +14 -0
  22. package/.automaker/features/graphql-api-support/feature.json +14 -0
  23. package/.automaker/features/graphql-documentation/feature.json +14 -0
  24. package/.automaker/features/graphql-subscriptions/feature.json +15 -0
  25. package/.automaker/features/html-view-rendering/feature.json +14 -0
  26. package/.automaker/features/http2-support/feature.json +14 -0
  27. package/.automaker/features/http3-quic-support/feature.json +14 -0
  28. package/.automaker/features/image-processing/feature.json +14 -0
  29. package/.automaker/features/internationalization-i18n/feature.json +12 -0
  30. package/.automaker/features/job-retries-and-failures/feature.json +14 -0
  31. package/.automaker/features/job-scheduling/feature.json +14 -0
  32. package/.automaker/features/locale-detection/feature.json +14 -0
  33. package/.automaker/features/log-rotation/feature.json +14 -0
  34. package/.automaker/features/logging-system/feature.json +12 -0
  35. package/.automaker/features/oauth-authentication/feature.json +14 -0
  36. package/.automaker/features/pagination-component/feature.json +14 -0
  37. package/.automaker/features/password-reset-flow/feature.json +14 -0
  38. package/.automaker/features/performance-monitoring/feature.json +14 -0
  39. package/.automaker/features/permission-management/feature.json +14 -0
  40. package/.automaker/features/policy-based-authorization/feature.json +14 -0
  41. package/.automaker/features/polymorphic-relationships/feature.json +14 -0
  42. package/.automaker/features/query-scopes/feature.json +14 -0
  43. package/.automaker/features/rate-limiting/feature.json +14 -0
  44. package/.automaker/features/request-validation-middleware/feature.json +14 -0
  45. package/.automaker/features/response-caching-headers/feature.json +14 -0
  46. package/.automaker/features/rest-api-documentation/feature.json +14 -0
  47. package/.automaker/features/role-based-access-control/feature.json +14 -0
  48. package/.automaker/features/session-management/feature.json +14 -0
  49. package/.automaker/features/session-middleware/feature.json +14 -0
  50. package/.automaker/features/slack-notifications-channel/feature.json +14 -0
  51. package/.automaker/features/sms-notifications-channel/feature.json +14 -0
  52. package/.automaker/features/soft-deletes/feature.json +14 -0
  53. package/.automaker/features/structured-logging/feature.json +14 -0
  54. package/.automaker/features/timestamps-and-auditing/feature.json +14 -0
  55. package/.automaker/features/two-factor-authentication/feature.json +14 -0
  56. package/.automaker/features/view-helpers-utilities/feature.json +14 -0
  57. package/.automaker/features/webhook-notifications/feature.json +14 -0
  58. package/.claude/settings.local.json +10 -0
  59. package/.editorconfig +11 -0
  60. package/.mocharc.json +13 -0
  61. package/CONTRIBUTING.md +9 -0
  62. package/Cache/Cache.ts +13 -0
  63. package/Cache/Stores/DatabaseStore.ts +120 -0
  64. package/Cache/Stores/FileStore.ts +69 -0
  65. package/Cache/Stores/MemoryStore.ts +71 -0
  66. package/Cache/index.ts +5 -0
  67. package/Cache/types.ts +4 -0
  68. package/Container/ClassResolver.ts +106 -0
  69. package/Container/Container.ts +144 -0
  70. package/Container/Contracts.ts +3 -0
  71. package/Container/Decorators.ts +20 -0
  72. package/Container/Metadata.ts +16 -0
  73. package/Container/Resolver.ts +27 -0
  74. package/Container/index.ts +5 -0
  75. package/Database/Clauses/Where.ts +0 -0
  76. package/Database/Connection.ts +52 -0
  77. package/Database/Decorators.ts +142 -0
  78. package/Database/Drivers/DatabaseDriver.ts +37 -0
  79. package/Database/Drivers/MySQL/Alter/index.ts +55 -0
  80. package/Database/Drivers/MySQL/ColumnDefinition.ts +16 -0
  81. package/Database/Drivers/MySQL/Create.ts +47 -0
  82. package/Database/Drivers/MySQL/MysqlDriver.ts +123 -0
  83. package/Database/Drivers/MySQL/Schema.ts +82 -0
  84. package/Database/Drivers/MySQL/index.ts +13 -0
  85. package/Database/Drivers/SQL/Schema.ts +73 -0
  86. package/Database/Drivers/SQL/Statements/Alter.ts +22 -0
  87. package/Database/Drivers/SQL/Statements/BaseStatement.ts +55 -0
  88. package/Database/Drivers/SQL/Statements/Delete.ts +20 -0
  89. package/Database/Drivers/SQL/Statements/Insert.ts +24 -0
  90. package/Database/Drivers/SQL/Statements/Select.ts +55 -0
  91. package/Database/Drivers/SQL/Statements/Update.ts +33 -0
  92. package/Database/Drivers/SQL/index.ts +8 -0
  93. package/Database/Drivers/SQLite/Create.ts +45 -0
  94. package/Database/Drivers/SQLite/Schema.ts +54 -0
  95. package/Database/Drivers/SQLite/SqliteDriver.ts +144 -0
  96. package/Database/Drivers/SQLite/index.ts +15 -0
  97. package/Database/Drivers/SchemaContract.ts +11 -0
  98. package/Database/Drivers/Statement.ts +16 -0
  99. package/Database/Drivers/index.ts +4 -0
  100. package/Database/Entity.ts +377 -0
  101. package/Database/EntityNotFoundError.ts +5 -0
  102. package/Database/EntityProxyHandler.ts +43 -0
  103. package/Database/EntityQuery.ts +197 -0
  104. package/Database/Expression.ts +3 -0
  105. package/Database/Fields.ts +816 -0
  106. package/Database/Helpers.ts +12 -0
  107. package/Database/List.ts +71 -0
  108. package/Database/Migrations/Migration.ts +10 -0
  109. package/Database/Migrations/MigrationHistory.ts +20 -0
  110. package/Database/Migrations/Migrator.ts +122 -0
  111. package/Database/Migrations/index.ts +3 -0
  112. package/Database/ORM/BaseRelationship.ts +10 -0
  113. package/Database/Query.ts +374 -0
  114. package/Database/Seeders/Seeder.ts +3 -0
  115. package/Database/Seeders/SeederManager.ts +27 -0
  116. package/Database/Seeders/index.ts +2 -0
  117. package/Database/StringExpression.ts +9 -0
  118. package/Database/Types.ts +165 -0
  119. package/Database/index.ts +23 -0
  120. package/Encryption/index.ts +51 -0
  121. package/Forms/Decorators.ts +29 -0
  122. package/Forms/Form.ts +70 -0
  123. package/Forms/FormFields.ts +36 -0
  124. package/Forms/index.ts +3 -0
  125. package/Framework/App.ts +10 -0
  126. package/Framework/Application.ts +118 -0
  127. package/Framework/Auth/Auth.ts +122 -0
  128. package/Framework/Auth/Authenticatable.ts +9 -0
  129. package/Framework/Auth/User.ts +27 -0
  130. package/Framework/Auth/index.ts +29 -0
  131. package/Framework/Config/AppConfig.ts +25 -0
  132. package/Framework/Config/AuthConfig.ts +11 -0
  133. package/Framework/Config/BaseConfig.ts +9 -0
  134. package/Framework/Config/CacheConfig.ts +38 -0
  135. package/Framework/Config/DatabaseConfig.ts +21 -0
  136. package/Framework/Config/MailConfig.ts +30 -0
  137. package/Framework/Config/index.ts +6 -0
  138. package/Framework/Middleware/AuthMiddleware.ts +31 -0
  139. package/Framework/Middleware/CorsMiddleware.ts +32 -0
  140. package/Framework/Middleware/StaticAssetsMiddleware.ts +76 -0
  141. package/Framework/Middleware/index.ts +2 -0
  142. package/Framework/Provider.ts +9 -0
  143. package/Framework/Providers/CacheProvider.ts +28 -0
  144. package/Framework/Providers/DatabaseProvider.ts +36 -0
  145. package/Framework/Providers/MailProvider.ts +31 -0
  146. package/Framework/Providers/WebsocketsProvider.ts +141 -0
  147. package/Framework/Resolvers/AuthResolver.ts +23 -0
  148. package/Framework/Resolvers/EntityResolver.ts +41 -0
  149. package/Framework/Resolvers/FormResolver.ts +37 -0
  150. package/Framework/RootDir.ts +1 -0
  151. package/Framework/index.ts +8 -0
  152. package/Frontend/Angular/Readme.md +7 -0
  153. package/Frontend/Angular/index.ts +24 -0
  154. package/Frontend/Angular/package-lock.json +2767 -0
  155. package/Frontend/Angular/package.json +38 -0
  156. package/Frontend/Angular/tsconfig.json +20 -0
  157. package/Frontend/Websockets/Readme.md +86 -0
  158. package/Frontend/Websockets/index.ts +99 -0
  159. package/Frontend/Websockets/package-lock.json +4371 -0
  160. package/Frontend/Websockets/package.json +45 -0
  161. package/Frontend/Websockets/tsc-alias.config.json +7 -0
  162. package/Frontend/Websockets/tsconfig.json +20 -0
  163. package/Mail/MailAddress.ts +4 -0
  164. package/Mail/MailTransport.ts +6 -0
  165. package/Mail/Mailable.ts +16 -0
  166. package/Mail/Mailer.ts +27 -0
  167. package/Mail/PendingMail.ts +68 -0
  168. package/Mail/SentMessage.ts +20 -0
  169. package/Mail/Transports/MemoryTransport.ts +13 -0
  170. package/Mail/Transports/SendGridTransport.ts +95 -0
  171. package/Mail/index.ts +3 -0
  172. package/Models/Model.ts +41 -0
  173. package/Models/index.ts +54 -0
  174. package/Router/BaseController.ts +7 -0
  175. package/Router/Decorators.ts +224 -0
  176. package/Router/Guard.ts +10 -0
  177. package/Router/Http/Contracts.ts +4 -0
  178. package/Router/Http/ErrorHandler.ts +45 -0
  179. package/Router/Http/ErrorHandlerInterface.ts +6 -0
  180. package/Router/Http/Errors/HttpError.ts +15 -0
  181. package/Router/Http/Handler.ts +183 -0
  182. package/Router/Http/HttpRoute.ts +110 -0
  183. package/Router/Http/Middleware.ts +7 -0
  184. package/Router/Http/Request.ts +225 -0
  185. package/Router/Http/Response.ts +35 -0
  186. package/Router/Http/index.ts +85 -0
  187. package/Router/Metadata.ts +34 -0
  188. package/Router/Middleware.ts +16 -0
  189. package/Router/Request.ts +65 -0
  190. package/Router/Route.ts +16 -0
  191. package/Router/RouteNotFoundError.ts +5 -0
  192. package/Router/Router.ts +35 -0
  193. package/Router/Servers/index.ts +6 -0
  194. package/Router/Servers/node.ts +49 -0
  195. package/Router/Servers/uNetworking.ts +151 -0
  196. package/Router/Websockets/Handler.ts +82 -0
  197. package/Router/Websockets/Middleware.ts +7 -0
  198. package/Router/Websockets/Request.ts +3 -0
  199. package/Router/Websockets/WebsocketRoute.ts +61 -0
  200. package/Router/Websockets/index.ts +59 -0
  201. package/Router/Websockets/types.ts +24 -0
  202. package/Router/index.ts +6 -0
  203. package/Storage/File.ts +30 -0
  204. package/Storage/Image.ts +19 -0
  205. package/Storage/InvalidImage.ts +3 -0
  206. package/Storage/Storage.ts +98 -0
  207. package/Storage/index.ts +4 -0
  208. package/Storage/utils.ts +18 -0
  209. package/Support/Array.ts +184 -0
  210. package/Support/Math.ts +12 -0
  211. package/Support/Metadata.ts +31 -0
  212. package/Support/String.ts +38 -0
  213. package/Support/index.ts +19 -0
  214. package/Support/utils.ts +7 -0
  215. package/Testing/TestCase.ts +193 -0
  216. package/Validation/Rule.ts +9 -0
  217. package/Validation/RuleInterface.ts +10 -0
  218. package/Validation/Rules/Email.ts +20 -0
  219. package/Validation/Rules/FileExtension.ts +21 -0
  220. package/Validation/Rules/MaxLength.ts +17 -0
  221. package/Validation/Rules/MinLength.ts +18 -0
  222. package/Validation/Rules/Optional.ts +18 -0
  223. package/Validation/Rules/Required.ts +29 -0
  224. package/Validation/Validator.ts +7 -0
  225. package/Validation/index.ts +12 -0
  226. package/benchmark.ts +47 -0
  227. package/eslint.config.mjs +78 -0
  228. package/package.json +2 -6
  229. package/tests/.nycrc.json +19 -0
  230. package/tests/Cache/DatabaseStoreTest.ts +110 -0
  231. package/tests/Cache/FileStoreTest.ts +93 -0
  232. package/tests/Cache/MemoryStoreTest.ts +92 -0
  233. package/tests/Container/ContainerTest.ts +336 -0
  234. package/tests/Database/Drivers/MySQL/AlterTest.ts +100 -0
  235. package/tests/Database/Drivers/MySQL/CreateTest.ts +39 -0
  236. package/tests/Database/Drivers/MysqlDriverTest.ts +140 -0
  237. package/tests/Database/Drivers/SqliteDriverTest.ts +126 -0
  238. package/tests/Database/Entities/Article.ts +21 -0
  239. package/tests/Database/Entities/Profile.ts +21 -0
  240. package/tests/Database/Entities/Role.ts +15 -0
  241. package/tests/Database/Entities/User.ts +35 -0
  242. package/tests/Database/EntityRelationshipsTest.ts +475 -0
  243. package/tests/Database/EntityTest.ts +202 -0
  244. package/tests/Database/Migrations/RunnerTest.ts +96 -0
  245. package/tests/Database/Migrations/migrations/1.createUserTable.ts +12 -0
  246. package/tests/Database/Migrations/migrations/2.createArticlesTable.ts +12 -0
  247. package/tests/Database/QueryTest.ts +573 -0
  248. package/tests/Database/SchemaTest.ts +32 -0
  249. package/tests/Database/Seeders/RunnerTest.ts +30 -0
  250. package/tests/Database/Seeders/seeders/RandomSeeder.ts +10 -0
  251. package/tests/Database/utils.ts +16 -0
  252. package/tests/Forms/FormsTest.ts +59 -0
  253. package/tests/Framework/Middleware/StaticAssetsMiddlewareTest.ts +129 -0
  254. package/tests/Framework/Middleware/articles/my-article.html +1 -0
  255. package/tests/Framework/Middleware/articles/some-directory/index.html +1 -0
  256. package/tests/Framework/Middleware/assets/styles.css +3 -0
  257. package/tests/Framework/Resolvers/EntityResolverTest.ts +48 -0
  258. package/tests/Framework/Router/RouterTest.ts +33 -0
  259. package/tests/Mail/MailerTest.ts +76 -0
  260. package/tests/Model/ModelTest.ts +183 -0
  261. package/tests/Router/HttpHandlerTest.ts +72 -0
  262. package/tests/Router/RequestTest.ts +77 -0
  263. package/tests/Router/WebSocketsHandlerTest.ts +51 -0
  264. package/tests/Storage/StorageTest.ts +97 -0
  265. package/tests/Support/ArrayTest.ts +167 -0
  266. package/tests/Support/StringTest.ts +18 -0
  267. package/tests/Validation/RulesTest.ts +54 -0
  268. package/tests/tsconfig.json +5 -0
  269. package/tsconfig.json +53 -0
  270. package/types.d.ts +8 -0
  271. package/build/Cache/Cache.d.ts +0 -9
  272. package/build/Cache/Cache.d.ts.map +0 -1
  273. package/build/Cache/Cache.js +0 -7
  274. package/build/Cache/Cache.js.map +0 -1
  275. package/build/Cache/Stores/DatabaseStore.d.ts +0 -16
  276. package/build/Cache/Stores/DatabaseStore.d.ts.map +0 -1
  277. package/build/Cache/Stores/DatabaseStore.js +0 -105
  278. package/build/Cache/Stores/DatabaseStore.js.map +0 -1
  279. package/build/Cache/Stores/FileStore.d.ts +0 -16
  280. package/build/Cache/Stores/FileStore.d.ts.map +0 -1
  281. package/build/Cache/Stores/FileStore.js +0 -65
  282. package/build/Cache/Stores/FileStore.js.map +0 -1
  283. package/build/Cache/Stores/MemoryStore.d.ts +0 -13
  284. package/build/Cache/Stores/MemoryStore.d.ts.map +0 -1
  285. package/build/Cache/Stores/MemoryStore.js +0 -57
  286. package/build/Cache/Stores/MemoryStore.js.map +0 -1
  287. package/build/Cache/index.d.ts +0 -6
  288. package/build/Cache/index.d.ts.map +0 -1
  289. package/build/Cache/index.js +0 -22
  290. package/build/Cache/index.js.map +0 -1
  291. package/build/Cache/types.d.ts +0 -5
  292. package/build/Cache/types.d.ts.map +0 -1
  293. package/build/Cache/types.js +0 -3
  294. package/build/Cache/types.js.map +0 -1
  295. package/build/Container/ClassResolver.d.ts +0 -9
  296. package/build/Container/ClassResolver.d.ts.map +0 -1
  297. package/build/Container/ClassResolver.js +0 -93
  298. package/build/Container/ClassResolver.js.map +0 -1
  299. package/build/Container/Container.d.ts +0 -25
  300. package/build/Container/Container.d.ts.map +0 -1
  301. package/build/Container/Container.js +0 -123
  302. package/build/Container/Container.js.map +0 -1
  303. package/build/Container/Contracts.d.ts +0 -3
  304. package/build/Container/Contracts.d.ts.map +0 -1
  305. package/build/Container/Contracts.js +0 -3
  306. package/build/Container/Contracts.js.map +0 -1
  307. package/build/Container/Decorators.d.ts +0 -5
  308. package/build/Container/Decorators.d.ts.map +0 -1
  309. package/build/Container/Decorators.js +0 -21
  310. package/build/Container/Decorators.js.map +0 -1
  311. package/build/Container/Metadata.d.ts +0 -21
  312. package/build/Container/Metadata.d.ts.map +0 -1
  313. package/build/Container/Metadata.js +0 -17
  314. package/build/Container/Metadata.js.map +0 -1
  315. package/build/Container/Resolver.d.ts +0 -19
  316. package/build/Container/Resolver.d.ts.map +0 -1
  317. package/build/Container/Resolver.js +0 -17
  318. package/build/Container/Resolver.js.map +0 -1
  319. package/build/Container/index.d.ts +0 -6
  320. package/build/Container/index.d.ts.map +0 -1
  321. package/build/Container/index.js +0 -22
  322. package/build/Container/index.js.map +0 -1
  323. package/build/Database/Clauses/Where.d.ts +0 -1
  324. package/build/Database/Clauses/Where.d.ts.map +0 -1
  325. package/build/Database/Clauses/Where.js +0 -2
  326. package/build/Database/Clauses/Where.js.map +0 -1
  327. package/build/Database/Connection.d.ts +0 -21
  328. package/build/Database/Connection.d.ts.map +0 -1
  329. package/build/Database/Connection.js +0 -44
  330. package/build/Database/Connection.js.map +0 -1
  331. package/build/Database/Decorators.d.ts +0 -36
  332. package/build/Database/Decorators.d.ts.map +0 -1
  333. package/build/Database/Decorators.js +0 -116
  334. package/build/Database/Decorators.js.map +0 -1
  335. package/build/Database/Drivers/DatabaseDriver.d.ts +0 -29
  336. package/build/Database/Drivers/DatabaseDriver.d.ts.map +0 -1
  337. package/build/Database/Drivers/DatabaseDriver.js +0 -7
  338. package/build/Database/Drivers/DatabaseDriver.js.map +0 -1
  339. package/build/Database/Drivers/MySQL/Alter/index.d.ts +0 -34
  340. package/build/Database/Drivers/MySQL/Alter/index.d.ts.map +0 -1
  341. package/build/Database/Drivers/MySQL/Alter/index.js +0 -70
  342. package/build/Database/Drivers/MySQL/Alter/index.js.map +0 -1
  343. package/build/Database/Drivers/MySQL/ColumnDefinition.d.ts +0 -7
  344. package/build/Database/Drivers/MySQL/ColumnDefinition.d.ts.map +0 -1
  345. package/build/Database/Drivers/MySQL/ColumnDefinition.js +0 -19
  346. package/build/Database/Drivers/MySQL/ColumnDefinition.js.map +0 -1
  347. package/build/Database/Drivers/MySQL/Create.d.ts +0 -10
  348. package/build/Database/Drivers/MySQL/Create.d.ts.map +0 -1
  349. package/build/Database/Drivers/MySQL/Create.js +0 -44
  350. package/build/Database/Drivers/MySQL/Create.js.map +0 -1
  351. package/build/Database/Drivers/MySQL/MysqlDriver.d.ts +0 -42
  352. package/build/Database/Drivers/MySQL/MysqlDriver.d.ts.map +0 -1
  353. package/build/Database/Drivers/MySQL/MysqlDriver.js +0 -93
  354. package/build/Database/Drivers/MySQL/MysqlDriver.js.map +0 -1
  355. package/build/Database/Drivers/MySQL/Schema.d.ts +0 -16
  356. package/build/Database/Drivers/MySQL/Schema.d.ts.map +0 -1
  357. package/build/Database/Drivers/MySQL/Schema.js +0 -67
  358. package/build/Database/Drivers/MySQL/Schema.js.map +0 -1
  359. package/build/Database/Drivers/MySQL/index.d.ts +0 -2
  360. package/build/Database/Drivers/MySQL/index.d.ts.map +0 -1
  361. package/build/Database/Drivers/MySQL/index.js +0 -16
  362. package/build/Database/Drivers/MySQL/index.js.map +0 -1
  363. package/build/Database/Drivers/SQL/Schema.d.ts +0 -7
  364. package/build/Database/Drivers/SQL/Schema.d.ts.map +0 -1
  365. package/build/Database/Drivers/SQL/Schema.js +0 -58
  366. package/build/Database/Drivers/SQL/Schema.js.map +0 -1
  367. package/build/Database/Drivers/SQL/Statements/Alter.d.ts +0 -8
  368. package/build/Database/Drivers/SQL/Statements/Alter.d.ts.map +0 -1
  369. package/build/Database/Drivers/SQL/Statements/Alter.js +0 -22
  370. package/build/Database/Drivers/SQL/Statements/Alter.js.map +0 -1
  371. package/build/Database/Drivers/SQL/Statements/BaseStatement.d.ts +0 -13
  372. package/build/Database/Drivers/SQL/Statements/BaseStatement.d.ts.map +0 -1
  373. package/build/Database/Drivers/SQL/Statements/BaseStatement.js +0 -46
  374. package/build/Database/Drivers/SQL/Statements/BaseStatement.js.map +0 -1
  375. package/build/Database/Drivers/SQL/Statements/Delete.d.ts +0 -6
  376. package/build/Database/Drivers/SQL/Statements/Delete.d.ts.map +0 -1
  377. package/build/Database/Drivers/SQL/Statements/Delete.js +0 -20
  378. package/build/Database/Drivers/SQL/Statements/Delete.js.map +0 -1
  379. package/build/Database/Drivers/SQL/Statements/Insert.d.ts +0 -7
  380. package/build/Database/Drivers/SQL/Statements/Insert.d.ts.map +0 -1
  381. package/build/Database/Drivers/SQL/Statements/Insert.js +0 -24
  382. package/build/Database/Drivers/SQL/Statements/Insert.js.map +0 -1
  383. package/build/Database/Drivers/SQL/Statements/Select.d.ts +0 -8
  384. package/build/Database/Drivers/SQL/Statements/Select.d.ts.map +0 -1
  385. package/build/Database/Drivers/SQL/Statements/Select.js +0 -51
  386. package/build/Database/Drivers/SQL/Statements/Select.js.map +0 -1
  387. package/build/Database/Drivers/SQL/Statements/Update.d.ts +0 -7
  388. package/build/Database/Drivers/SQL/Statements/Update.d.ts.map +0 -1
  389. package/build/Database/Drivers/SQL/Statements/Update.js +0 -33
  390. package/build/Database/Drivers/SQL/Statements/Update.js.map +0 -1
  391. package/build/Database/Drivers/SQL/index.d.ts +0 -9
  392. package/build/Database/Drivers/SQL/index.d.ts.map +0 -1
  393. package/build/Database/Drivers/SQL/index.js +0 -3
  394. package/build/Database/Drivers/SQL/index.js.map +0 -1
  395. package/build/Database/Drivers/SQLite/Create.d.ts +0 -10
  396. package/build/Database/Drivers/SQLite/Create.d.ts.map +0 -1
  397. package/build/Database/Drivers/SQLite/Create.js +0 -43
  398. package/build/Database/Drivers/SQLite/Create.js.map +0 -1
  399. package/build/Database/Drivers/SQLite/Schema.d.ts +0 -16
  400. package/build/Database/Drivers/SQLite/Schema.d.ts.map +0 -1
  401. package/build/Database/Drivers/SQLite/Schema.js +0 -49
  402. package/build/Database/Drivers/SQLite/Schema.js.map +0 -1
  403. package/build/Database/Drivers/SQLite/SqliteDriver.d.ts +0 -43
  404. package/build/Database/Drivers/SQLite/SqliteDriver.d.ts.map +0 -1
  405. package/build/Database/Drivers/SQLite/SqliteDriver.js +0 -115
  406. package/build/Database/Drivers/SQLite/SqliteDriver.js.map +0 -1
  407. package/build/Database/Drivers/SQLite/index.d.ts +0 -3
  408. package/build/Database/Drivers/SQLite/index.d.ts.map +0 -1
  409. package/build/Database/Drivers/SQLite/index.js +0 -31
  410. package/build/Database/Drivers/SQLite/index.js.map +0 -1
  411. package/build/Database/Drivers/SchemaContract.d.ts +0 -9
  412. package/build/Database/Drivers/SchemaContract.d.ts.map +0 -1
  413. package/build/Database/Drivers/SchemaContract.js +0 -11
  414. package/build/Database/Drivers/SchemaContract.js.map +0 -1
  415. package/build/Database/Drivers/Statement.d.ts +0 -10
  416. package/build/Database/Drivers/Statement.d.ts.map +0 -1
  417. package/build/Database/Drivers/Statement.js +0 -17
  418. package/build/Database/Drivers/Statement.js.map +0 -1
  419. package/build/Database/Drivers/index.d.ts +0 -5
  420. package/build/Database/Drivers/index.d.ts.map +0 -1
  421. package/build/Database/Drivers/index.js +0 -21
  422. package/build/Database/Drivers/index.js.map +0 -1
  423. package/build/Database/Entity.d.ts +0 -64
  424. package/build/Database/Entity.d.ts.map +0 -1
  425. package/build/Database/Entity.js +0 -243
  426. package/build/Database/Entity.js.map +0 -1
  427. package/build/Database/EntityNotFoundError.d.ts +0 -6
  428. package/build/Database/EntityNotFoundError.d.ts.map +0 -1
  429. package/build/Database/EntityNotFoundError.js +0 -12
  430. package/build/Database/EntityNotFoundError.js.map +0 -1
  431. package/build/Database/EntityProxyHandler.d.ts +0 -6
  432. package/build/Database/EntityProxyHandler.d.ts.map +0 -1
  433. package/build/Database/EntityProxyHandler.js +0 -40
  434. package/build/Database/EntityProxyHandler.js.map +0 -1
  435. package/build/Database/EntityQuery.d.ts +0 -29
  436. package/build/Database/EntityQuery.d.ts.map +0 -1
  437. package/build/Database/EntityQuery.js +0 -158
  438. package/build/Database/EntityQuery.js.map +0 -1
  439. package/build/Database/Expression.d.ts +0 -4
  440. package/build/Database/Expression.d.ts.map +0 -1
  441. package/build/Database/Expression.js +0 -7
  442. package/build/Database/Expression.js.map +0 -1
  443. package/build/Database/Fields.d.ts +0 -156
  444. package/build/Database/Fields.d.ts.map +0 -1
  445. package/build/Database/Fields.js +0 -564
  446. package/build/Database/Fields.js.map +0 -1
  447. package/build/Database/Helpers.d.ts +0 -2
  448. package/build/Database/Helpers.d.ts.map +0 -1
  449. package/build/Database/Helpers.js +0 -16
  450. package/build/Database/Helpers.js.map +0 -1
  451. package/build/Database/List.d.ts +0 -24
  452. package/build/Database/List.d.ts.map +0 -1
  453. package/build/Database/List.js +0 -48
  454. package/build/Database/List.js.map +0 -1
  455. package/build/Database/Migrations/Migration.d.ts +0 -8
  456. package/build/Database/Migrations/Migration.d.ts.map +0 -1
  457. package/build/Database/Migrations/Migration.js +0 -11
  458. package/build/Database/Migrations/Migration.js.map +0 -1
  459. package/build/Database/Migrations/MigrationHistory.d.ts +0 -9
  460. package/build/Database/Migrations/MigrationHistory.d.ts.map +0 -1
  461. package/build/Database/Migrations/MigrationHistory.js +0 -43
  462. package/build/Database/Migrations/MigrationHistory.js.map +0 -1
  463. package/build/Database/Migrations/Migrator.d.ts +0 -21
  464. package/build/Database/Migrations/Migrator.d.ts.map +0 -1
  465. package/build/Database/Migrations/Migrator.js +0 -135
  466. package/build/Database/Migrations/Migrator.js.map +0 -1
  467. package/build/Database/Migrations/index.d.ts +0 -4
  468. package/build/Database/Migrations/index.d.ts.map +0 -1
  469. package/build/Database/Migrations/index.js +0 -20
  470. package/build/Database/Migrations/index.js.map +0 -1
  471. package/build/Database/ORM/BaseRelationship.d.ts +0 -8
  472. package/build/Database/ORM/BaseRelationship.d.ts.map +0 -1
  473. package/build/Database/ORM/BaseRelationship.js +0 -13
  474. package/build/Database/ORM/BaseRelationship.js.map +0 -1
  475. package/build/Database/Query.d.ts +0 -63
  476. package/build/Database/Query.d.ts.map +0 -1
  477. package/build/Database/Query.js +0 -264
  478. package/build/Database/Query.js.map +0 -1
  479. package/build/Database/Seeders/Seeder.d.ts +0 -4
  480. package/build/Database/Seeders/Seeder.d.ts.map +0 -1
  481. package/build/Database/Seeders/Seeder.js +0 -7
  482. package/build/Database/Seeders/Seeder.js.map +0 -1
  483. package/build/Database/Seeders/SeederManager.d.ts +0 -9
  484. package/build/Database/Seeders/SeederManager.d.ts.map +0 -1
  485. package/build/Database/Seeders/SeederManager.js +0 -27
  486. package/build/Database/Seeders/SeederManager.js.map +0 -1
  487. package/build/Database/Seeders/index.d.ts +0 -3
  488. package/build/Database/Seeders/index.d.ts.map +0 -1
  489. package/build/Database/Seeders/index.js +0 -19
  490. package/build/Database/Seeders/index.js.map +0 -1
  491. package/build/Database/StringExpression.d.ts +0 -7
  492. package/build/Database/StringExpression.d.ts.map +0 -1
  493. package/build/Database/StringExpression.js +0 -16
  494. package/build/Database/StringExpression.js.map +0 -1
  495. package/build/Database/Types.d.ts +0 -118
  496. package/build/Database/Types.d.ts.map +0 -1
  497. package/build/Database/Types.js +0 -106
  498. package/build/Database/Types.js.map +0 -1
  499. package/build/Database/index.d.ts +0 -21
  500. package/build/Database/index.d.ts.map +0 -1
  501. package/build/Database/index.js +0 -25
  502. package/build/Database/index.js.map +0 -1
  503. package/build/Encryption/index.d.ts +0 -15
  504. package/build/Encryption/index.d.ts.map +0 -1
  505. package/build/Encryption/index.js +0 -68
  506. package/build/Encryption/index.js.map +0 -1
  507. package/build/Forms/Decorators.d.ts +0 -7
  508. package/build/Forms/Decorators.d.ts.map +0 -1
  509. package/build/Forms/Decorators.js +0 -29
  510. package/build/Forms/Decorators.js.map +0 -1
  511. package/build/Forms/Form.d.ts +0 -18
  512. package/build/Forms/Form.d.ts.map +0 -1
  513. package/build/Forms/Form.js +0 -68
  514. package/build/Forms/Form.js.map +0 -1
  515. package/build/Forms/FormFields.d.ts +0 -10
  516. package/build/Forms/FormFields.d.ts.map +0 -1
  517. package/build/Forms/FormFields.js +0 -39
  518. package/build/Forms/FormFields.js.map +0 -1
  519. package/build/Forms/index.d.ts +0 -4
  520. package/build/Forms/index.d.ts.map +0 -1
  521. package/build/Forms/index.js +0 -20
  522. package/build/Forms/index.js.map +0 -1
  523. package/build/Framework/App.d.ts +0 -7
  524. package/build/Framework/App.d.ts.map +0 -1
  525. package/build/Framework/App.js +0 -11
  526. package/build/Framework/App.js.map +0 -1
  527. package/build/Framework/Application.d.ts +0 -17
  528. package/build/Framework/Application.d.ts.map +0 -1
  529. package/build/Framework/Application.js +0 -94
  530. package/build/Framework/Application.js.map +0 -1
  531. package/build/Framework/Auth/Auth.d.ts +0 -24
  532. package/build/Framework/Auth/Auth.d.ts.map +0 -1
  533. package/build/Framework/Auth/Auth.js +0 -116
  534. package/build/Framework/Auth/Auth.js.map +0 -1
  535. package/build/Framework/Auth/Authenticatable.d.ts +0 -7
  536. package/build/Framework/Auth/Authenticatable.d.ts.map +0 -1
  537. package/build/Framework/Auth/Authenticatable.js +0 -3
  538. package/build/Framework/Auth/Authenticatable.js.map +0 -1
  539. package/build/Framework/Auth/User.d.ts +0 -11
  540. package/build/Framework/Auth/User.d.ts.map +0 -1
  541. package/build/Framework/Auth/User.js +0 -41
  542. package/build/Framework/Auth/User.js.map +0 -1
  543. package/build/Framework/Auth/index.d.ts +0 -6
  544. package/build/Framework/Auth/index.d.ts.map +0 -1
  545. package/build/Framework/Auth/index.js +0 -44
  546. package/build/Framework/Auth/index.js.map +0 -1
  547. package/build/Framework/Config/AppConfig.d.ts +0 -26
  548. package/build/Framework/Config/AppConfig.d.ts.map +0 -1
  549. package/build/Framework/Config/AppConfig.js +0 -20
  550. package/build/Framework/Config/AppConfig.js.map +0 -1
  551. package/build/Framework/Config/AuthConfig.d.ts +0 -11
  552. package/build/Framework/Config/AuthConfig.d.ts.map +0 -1
  553. package/build/Framework/Config/AuthConfig.js +0 -13
  554. package/build/Framework/Config/AuthConfig.js.map +0 -1
  555. package/build/Framework/Config/BaseConfig.d.ts +0 -7
  556. package/build/Framework/Config/BaseConfig.d.ts.map +0 -1
  557. package/build/Framework/Config/BaseConfig.js +0 -14
  558. package/build/Framework/Config/BaseConfig.js.map +0 -1
  559. package/build/Framework/Config/CacheConfig.d.ts +0 -16
  560. package/build/Framework/Config/CacheConfig.d.ts.map +0 -1
  561. package/build/Framework/Config/CacheConfig.js +0 -37
  562. package/build/Framework/Config/CacheConfig.js.map +0 -1
  563. package/build/Framework/Config/DatabaseConfig.d.ts +0 -11
  564. package/build/Framework/Config/DatabaseConfig.d.ts.map +0 -1
  565. package/build/Framework/Config/DatabaseConfig.js +0 -23
  566. package/build/Framework/Config/DatabaseConfig.js.map +0 -1
  567. package/build/Framework/Config/MailConfig.d.ts +0 -19
  568. package/build/Framework/Config/MailConfig.d.ts.map +0 -1
  569. package/build/Framework/Config/MailConfig.js +0 -11
  570. package/build/Framework/Config/MailConfig.js.map +0 -1
  571. package/build/Framework/Config/index.d.ts +0 -7
  572. package/build/Framework/Config/index.d.ts.map +0 -1
  573. package/build/Framework/Config/index.js +0 -23
  574. package/build/Framework/Config/index.js.map +0 -1
  575. package/build/Framework/Middleware/AuthMiddleware.d.ts +0 -9
  576. package/build/Framework/Middleware/AuthMiddleware.d.ts.map +0 -1
  577. package/build/Framework/Middleware/AuthMiddleware.js +0 -78
  578. package/build/Framework/Middleware/AuthMiddleware.js.map +0 -1
  579. package/build/Framework/Middleware/CorsMiddleware.d.ts +0 -8
  580. package/build/Framework/Middleware/CorsMiddleware.d.ts.map +0 -1
  581. package/build/Framework/Middleware/CorsMiddleware.js +0 -47
  582. package/build/Framework/Middleware/CorsMiddleware.js.map +0 -1
  583. package/build/Framework/Middleware/StaticAssetsMiddleware.d.ts +0 -16
  584. package/build/Framework/Middleware/StaticAssetsMiddleware.d.ts.map +0 -1
  585. package/build/Framework/Middleware/StaticAssetsMiddleware.js +0 -120
  586. package/build/Framework/Middleware/StaticAssetsMiddleware.js.map +0 -1
  587. package/build/Framework/Middleware/index.d.ts +0 -3
  588. package/build/Framework/Middleware/index.d.ts.map +0 -1
  589. package/build/Framework/Middleware/index.js +0 -19
  590. package/build/Framework/Middleware/index.js.map +0 -1
  591. package/build/Framework/Provider.d.ts +0 -6
  592. package/build/Framework/Provider.d.ts.map +0 -1
  593. package/build/Framework/Provider.js +0 -22
  594. package/build/Framework/Provider.js.map +0 -1
  595. package/build/Framework/Providers/CacheProvider.d.ts +0 -7
  596. package/build/Framework/Providers/CacheProvider.d.ts.map +0 -1
  597. package/build/Framework/Providers/CacheProvider.js +0 -40
  598. package/build/Framework/Providers/CacheProvider.js.map +0 -1
  599. package/build/Framework/Providers/DatabaseProvider.d.ts +0 -10
  600. package/build/Framework/Providers/DatabaseProvider.d.ts.map +0 -1
  601. package/build/Framework/Providers/DatabaseProvider.js +0 -80
  602. package/build/Framework/Providers/DatabaseProvider.js.map +0 -1
  603. package/build/Framework/Providers/MailProvider.d.ts +0 -7
  604. package/build/Framework/Providers/MailProvider.d.ts.map +0 -1
  605. package/build/Framework/Providers/MailProvider.js +0 -41
  606. package/build/Framework/Providers/MailProvider.js.map +0 -1
  607. package/build/Framework/Providers/WebsocketsProvider.d.ts +0 -13
  608. package/build/Framework/Providers/WebsocketsProvider.d.ts.map +0 -1
  609. package/build/Framework/Providers/WebsocketsProvider.js +0 -145
  610. package/build/Framework/Providers/WebsocketsProvider.js.map +0 -1
  611. package/build/Framework/Resolvers/AuthResolver.d.ts +0 -6
  612. package/build/Framework/Resolvers/AuthResolver.d.ts.map +0 -1
  613. package/build/Framework/Resolvers/AuthResolver.js +0 -19
  614. package/build/Framework/Resolvers/AuthResolver.js.map +0 -1
  615. package/build/Framework/Resolvers/EntityResolver.d.ts +0 -10
  616. package/build/Framework/Resolvers/EntityResolver.d.ts.map +0 -1
  617. package/build/Framework/Resolvers/EntityResolver.js +0 -40
  618. package/build/Framework/Resolvers/EntityResolver.js.map +0 -1
  619. package/build/Framework/Resolvers/FormResolver.d.ts +0 -10
  620. package/build/Framework/Resolvers/FormResolver.d.ts.map +0 -1
  621. package/build/Framework/Resolvers/FormResolver.js +0 -34
  622. package/build/Framework/Resolvers/FormResolver.js.map +0 -1
  623. package/build/Framework/RootDir.d.ts +0 -3
  624. package/build/Framework/RootDir.d.ts.map +0 -1
  625. package/build/Framework/RootDir.js +0 -7
  626. package/build/Framework/RootDir.js.map +0 -1
  627. package/build/Framework/index.d.ts +0 -9
  628. package/build/Framework/index.d.ts.map +0 -1
  629. package/build/Framework/index.js +0 -25
  630. package/build/Framework/index.js.map +0 -1
  631. package/build/LICENSE.md +0 -21
  632. package/build/Mail/MailAddress.d.ts +0 -5
  633. package/build/Mail/MailAddress.d.ts.map +0 -1
  634. package/build/Mail/MailAddress.js +0 -3
  635. package/build/Mail/MailAddress.js.map +0 -1
  636. package/build/Mail/MailTransport.d.ts +0 -6
  637. package/build/Mail/MailTransport.d.ts.map +0 -1
  638. package/build/Mail/MailTransport.js +0 -7
  639. package/build/Mail/MailTransport.js.map +0 -1
  640. package/build/Mail/Mailable.d.ts +0 -18
  641. package/build/Mail/Mailable.d.ts.map +0 -1
  642. package/build/Mail/Mailable.js +0 -17
  643. package/build/Mail/Mailable.js.map +0 -1
  644. package/build/Mail/Mailer.d.ts +0 -12
  645. package/build/Mail/Mailer.d.ts.map +0 -1
  646. package/build/Mail/Mailer.js +0 -27
  647. package/build/Mail/Mailer.js.map +0 -1
  648. package/build/Mail/PendingMail.d.ts +0 -30
  649. package/build/Mail/PendingMail.d.ts.map +0 -1
  650. package/build/Mail/PendingMail.js +0 -54
  651. package/build/Mail/PendingMail.js.map +0 -1
  652. package/build/Mail/SentMessage.d.ts +0 -16
  653. package/build/Mail/SentMessage.d.ts.map +0 -1
  654. package/build/Mail/SentMessage.js +0 -20
  655. package/build/Mail/SentMessage.js.map +0 -1
  656. package/build/Mail/Transports/MemoryTransport.d.ts +0 -8
  657. package/build/Mail/Transports/MemoryTransport.d.ts.map +0 -1
  658. package/build/Mail/Transports/MemoryTransport.js +0 -15
  659. package/build/Mail/Transports/MemoryTransport.js.map +0 -1
  660. package/build/Mail/Transports/SendGridTransport.d.ts +0 -11
  661. package/build/Mail/Transports/SendGridTransport.d.ts.map +0 -1
  662. package/build/Mail/Transports/SendGridTransport.js +0 -106
  663. package/build/Mail/Transports/SendGridTransport.js.map +0 -1
  664. package/build/Mail/index.d.ts +0 -4
  665. package/build/Mail/index.d.ts.map +0 -1
  666. package/build/Mail/index.js +0 -20
  667. package/build/Mail/index.js.map +0 -1
  668. package/build/Models/Model.d.ts +0 -10
  669. package/build/Models/Model.d.ts.map +0 -1
  670. package/build/Models/Model.js +0 -36
  671. package/build/Models/Model.js.map +0 -1
  672. package/build/Models/index.d.ts +0 -22
  673. package/build/Models/index.d.ts.map +0 -1
  674. package/build/Models/index.js +0 -64
  675. package/build/Models/index.js.map +0 -1
  676. package/build/Readme.md +0 -123
  677. package/build/Router/BaseController.d.ts +0 -5
  678. package/build/Router/BaseController.d.ts.map +0 -1
  679. package/build/Router/BaseController.js +0 -22
  680. package/build/Router/BaseController.js.map +0 -1
  681. package/build/Router/Decorators.d.ts +0 -19
  682. package/build/Router/Decorators.d.ts.map +0 -1
  683. package/build/Router/Decorators.js +0 -175
  684. package/build/Router/Decorators.js.map +0 -1
  685. package/build/Router/Guard.d.ts +0 -5
  686. package/build/Router/Guard.d.ts.map +0 -1
  687. package/build/Router/Guard.js +0 -11
  688. package/build/Router/Guard.js.map +0 -1
  689. package/build/Router/Http/Contracts.d.ts +0 -4
  690. package/build/Router/Http/Contracts.d.ts.map +0 -1
  691. package/build/Router/Http/Contracts.js +0 -3
  692. package/build/Router/Http/Contracts.js.map +0 -1
  693. package/build/Router/Http/ErrorHandler.d.ts +0 -10
  694. package/build/Router/Http/ErrorHandler.d.ts.map +0 -1
  695. package/build/Router/Http/ErrorHandler.js +0 -53
  696. package/build/Router/Http/ErrorHandler.js.map +0 -1
  697. package/build/Router/Http/ErrorHandlerInterface.d.ts +0 -6
  698. package/build/Router/Http/ErrorHandlerInterface.d.ts.map +0 -1
  699. package/build/Router/Http/ErrorHandlerInterface.js +0 -8
  700. package/build/Router/Http/ErrorHandlerInterface.js.map +0 -1
  701. package/build/Router/Http/Errors/HttpError.d.ts +0 -8
  702. package/build/Router/Http/Errors/HttpError.d.ts.map +0 -1
  703. package/build/Router/Http/Errors/HttpError.js +0 -18
  704. package/build/Router/Http/Errors/HttpError.js.map +0 -1
  705. package/build/Router/Http/Handler.d.ts +0 -19
  706. package/build/Router/Http/Handler.d.ts.map +0 -1
  707. package/build/Router/Http/Handler.js +0 -163
  708. package/build/Router/Http/Handler.js.map +0 -1
  709. package/build/Router/Http/HttpRoute.d.ts +0 -25
  710. package/build/Router/Http/HttpRoute.d.ts.map +0 -1
  711. package/build/Router/Http/HttpRoute.js +0 -97
  712. package/build/Router/Http/HttpRoute.js.map +0 -1
  713. package/build/Router/Http/Middleware.d.ts +0 -7
  714. package/build/Router/Http/Middleware.d.ts.map +0 -1
  715. package/build/Router/Http/Middleware.js +0 -8
  716. package/build/Router/Http/Middleware.js.map +0 -1
  717. package/build/Router/Http/Request.d.ts +0 -38
  718. package/build/Router/Http/Request.d.ts.map +0 -1
  719. package/build/Router/Http/Request.js +0 -211
  720. package/build/Router/Http/Request.js.map +0 -1
  721. package/build/Router/Http/Response.d.ts +0 -14
  722. package/build/Router/Http/Response.d.ts.map +0 -1
  723. package/build/Router/Http/Response.js +0 -31
  724. package/build/Router/Http/Response.js.map +0 -1
  725. package/build/Router/Http/index.d.ts +0 -84
  726. package/build/Router/Http/index.d.ts.map +0 -1
  727. package/build/Router/Http/index.js +0 -104
  728. package/build/Router/Http/index.js.map +0 -1
  729. package/build/Router/Metadata.d.ts +0 -41
  730. package/build/Router/Metadata.d.ts.map +0 -1
  731. package/build/Router/Metadata.js +0 -33
  732. package/build/Router/Metadata.js.map +0 -1
  733. package/build/Router/Middleware.d.ts +0 -13
  734. package/build/Router/Middleware.d.ts.map +0 -1
  735. package/build/Router/Middleware.js +0 -7
  736. package/build/Router/Middleware.js.map +0 -1
  737. package/build/Router/Request.d.ts +0 -24
  738. package/build/Router/Request.d.ts.map +0 -1
  739. package/build/Router/Request.js +0 -44
  740. package/build/Router/Request.js.map +0 -1
  741. package/build/Router/Route.d.ts +0 -13
  742. package/build/Router/Route.d.ts.map +0 -1
  743. package/build/Router/Route.js +0 -20
  744. package/build/Router/Route.js.map +0 -1
  745. package/build/Router/RouteNotFoundError.d.ts +0 -4
  746. package/build/Router/RouteNotFoundError.d.ts.map +0 -1
  747. package/build/Router/RouteNotFoundError.js +0 -10
  748. package/build/Router/RouteNotFoundError.js.map +0 -1
  749. package/build/Router/Router.d.ts +0 -19
  750. package/build/Router/Router.d.ts.map +0 -1
  751. package/build/Router/Router.js +0 -36
  752. package/build/Router/Router.js.map +0 -1
  753. package/build/Router/Servers/index.d.ts +0 -5
  754. package/build/Router/Servers/index.d.ts.map +0 -1
  755. package/build/Router/Servers/index.js +0 -19
  756. package/build/Router/Servers/index.js.map +0 -1
  757. package/build/Router/Servers/node.d.ts +0 -3
  758. package/build/Router/Servers/node.d.ts.map +0 -1
  759. package/build/Router/Servers/node.js +0 -41
  760. package/build/Router/Servers/node.js.map +0 -1
  761. package/build/Router/Servers/uNetworking.d.ts +0 -3
  762. package/build/Router/Servers/uNetworking.d.ts.map +0 -1
  763. package/build/Router/Servers/uNetworking.js +0 -172
  764. package/build/Router/Servers/uNetworking.js.map +0 -1
  765. package/build/Router/Websockets/Handler.d.ts +0 -15
  766. package/build/Router/Websockets/Handler.d.ts.map +0 -1
  767. package/build/Router/Websockets/Handler.js +0 -69
  768. package/build/Router/Websockets/Handler.js.map +0 -1
  769. package/build/Router/Websockets/Middleware.d.ts +0 -7
  770. package/build/Router/Websockets/Middleware.d.ts.map +0 -1
  771. package/build/Router/Websockets/Middleware.js +0 -8
  772. package/build/Router/Websockets/Middleware.js.map +0 -1
  773. package/build/Router/Websockets/Request.d.ts +0 -4
  774. package/build/Router/Websockets/Request.d.ts.map +0 -1
  775. package/build/Router/Websockets/Request.js +0 -8
  776. package/build/Router/Websockets/Request.js.map +0 -1
  777. package/build/Router/Websockets/WebsocketRoute.d.ts +0 -7
  778. package/build/Router/Websockets/WebsocketRoute.d.ts.map +0 -1
  779. package/build/Router/Websockets/WebsocketRoute.js +0 -47
  780. package/build/Router/Websockets/WebsocketRoute.js.map +0 -1
  781. package/build/Router/Websockets/index.d.ts +0 -19
  782. package/build/Router/Websockets/index.d.ts.map +0 -1
  783. package/build/Router/Websockets/index.js +0 -68
  784. package/build/Router/Websockets/index.js.map +0 -1
  785. package/build/Router/Websockets/types.d.ts +0 -22
  786. package/build/Router/Websockets/types.d.ts.map +0 -1
  787. package/build/Router/Websockets/types.js +0 -9
  788. package/build/Router/Websockets/types.js.map +0 -1
  789. package/build/Router/index.d.ts +0 -7
  790. package/build/Router/index.d.ts.map +0 -1
  791. package/build/Router/index.js +0 -23
  792. package/build/Router/index.js.map +0 -1
  793. package/build/Storage/File.d.ts +0 -12
  794. package/build/Storage/File.d.ts.map +0 -1
  795. package/build/Storage/File.js +0 -65
  796. package/build/Storage/File.js.map +0 -1
  797. package/build/Storage/Image.d.ts +0 -4
  798. package/build/Storage/Image.d.ts.map +0 -1
  799. package/build/Storage/Image.js +0 -8
  800. package/build/Storage/Image.js.map +0 -1
  801. package/build/Storage/InvalidImage.d.ts +0 -4
  802. package/build/Storage/InvalidImage.d.ts.map +0 -1
  803. package/build/Storage/InvalidImage.js +0 -8
  804. package/build/Storage/InvalidImage.js.map +0 -1
  805. package/build/Storage/Storage.d.ts +0 -13
  806. package/build/Storage/Storage.d.ts.map +0 -1
  807. package/build/Storage/Storage.js +0 -120
  808. package/build/Storage/Storage.js.map +0 -1
  809. package/build/Storage/index.d.ts +0 -5
  810. package/build/Storage/index.d.ts.map +0 -1
  811. package/build/Storage/index.js +0 -21
  812. package/build/Storage/index.js.map +0 -1
  813. package/build/Storage/utils.d.ts +0 -5
  814. package/build/Storage/utils.d.ts.map +0 -1
  815. package/build/Storage/utils.js +0 -20
  816. package/build/Storage/utils.js.map +0 -1
  817. package/build/Support/Array.d.ts +0 -29
  818. package/build/Support/Array.d.ts.map +0 -1
  819. package/build/Support/Array.js +0 -112
  820. package/build/Support/Array.js.map +0 -1
  821. package/build/Support/Math.d.ts +0 -7
  822. package/build/Support/Math.d.ts.map +0 -1
  823. package/build/Support/Math.js +0 -8
  824. package/build/Support/Math.js.map +0 -1
  825. package/build/Support/Metadata.d.ts +0 -16
  826. package/build/Support/Metadata.d.ts.map +0 -1
  827. package/build/Support/Metadata.js +0 -33
  828. package/build/Support/Metadata.js.map +0 -1
  829. package/build/Support/String.d.ts +0 -12
  830. package/build/Support/String.d.ts.map +0 -1
  831. package/build/Support/String.js +0 -24
  832. package/build/Support/String.js.map +0 -1
  833. package/build/Support/index.d.ts +0 -16
  834. package/build/Support/index.d.ts.map +0 -1
  835. package/build/Support/index.js +0 -7
  836. package/build/Support/index.js.map +0 -1
  837. package/build/Support/utils.d.ts +0 -2
  838. package/build/Support/utils.d.ts.map +0 -1
  839. package/build/Support/utils.js +0 -12
  840. package/build/Support/utils.js.map +0 -1
  841. package/build/Testing/TestCase.d.ts +0 -33
  842. package/build/Testing/TestCase.d.ts.map +0 -1
  843. package/build/Testing/TestCase.js +0 -138
  844. package/build/Testing/TestCase.js.map +0 -1
  845. package/build/Validation/Rule.d.ts +0 -7
  846. package/build/Validation/Rule.d.ts.map +0 -1
  847. package/build/Validation/Rule.js +0 -7
  848. package/build/Validation/Rule.js.map +0 -1
  849. package/build/Validation/RuleInterface.d.ts +0 -7
  850. package/build/Validation/RuleInterface.d.ts.map +0 -1
  851. package/build/Validation/RuleInterface.js +0 -3
  852. package/build/Validation/RuleInterface.js.map +0 -1
  853. package/build/Validation/Rules/Email.d.ts +0 -4
  854. package/build/Validation/Rules/Email.d.ts.map +0 -1
  855. package/build/Validation/Rules/Email.js +0 -17
  856. package/build/Validation/Rules/Email.js.map +0 -1
  857. package/build/Validation/Rules/FileExtension.d.ts +0 -4
  858. package/build/Validation/Rules/FileExtension.d.ts.map +0 -1
  859. package/build/Validation/Rules/FileExtension.js +0 -19
  860. package/build/Validation/Rules/FileExtension.js.map +0 -1
  861. package/build/Validation/Rules/MaxLength.d.ts +0 -4
  862. package/build/Validation/Rules/MaxLength.d.ts.map +0 -1
  863. package/build/Validation/Rules/MaxLength.js +0 -16
  864. package/build/Validation/Rules/MaxLength.js.map +0 -1
  865. package/build/Validation/Rules/MinLength.d.ts +0 -4
  866. package/build/Validation/Rules/MinLength.d.ts.map +0 -1
  867. package/build/Validation/Rules/MinLength.js +0 -16
  868. package/build/Validation/Rules/MinLength.js.map +0 -1
  869. package/build/Validation/Rules/Optional.d.ts +0 -4
  870. package/build/Validation/Rules/Optional.d.ts.map +0 -1
  871. package/build/Validation/Rules/Optional.js +0 -16
  872. package/build/Validation/Rules/Optional.js.map +0 -1
  873. package/build/Validation/Rules/Required.d.ts +0 -4
  874. package/build/Validation/Rules/Required.d.ts.map +0 -1
  875. package/build/Validation/Rules/Required.js +0 -24
  876. package/build/Validation/Rules/Required.js.map +0 -1
  877. package/build/Validation/Validator.d.ts +0 -12
  878. package/build/Validation/Validator.d.ts.map +0 -1
  879. package/build/Validation/Validator.js +0 -13
  880. package/build/Validation/Validator.js.map +0 -1
  881. package/build/Validation/index.d.ts +0 -11
  882. package/build/Validation/index.d.ts.map +0 -1
  883. package/build/Validation/index.js +0 -27
  884. package/build/Validation/index.js.map +0 -1
  885. package/build/package-lock.json +0 -5764
  886. package/build/package.json +0 -88
@@ -0,0 +1,440 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project_specification>
3
+ <project_name>Typetron</project_name>
4
+
5
+ <overview>
6
+ Typetron is a modern, full-featured Node.js web framework written in TypeScript that enables developers to build scalable web applications and APIs with batteries included. Built for small to enterprise-level applications, Typetron emphasizes performance, developer experience, and code quality. Most core packages are written from scratch in TypeScript to preserve performance and ensure all features benefit from the latest language capabilities. The framework is built in TypeScript&apos;s strict mode to enforce robust code standards and prevent common bugs. It aims to provide all necessary tools for web development without requiring external packages, promoting seamless backend and frontend integration.
7
+ </overview>
8
+
9
+ <technology_stack>
10
+ <technology>Node.js (&gt;= 12.13.0 LTS)</technology>
11
+ <technology>TypeScript 5.8.3</technology>
12
+ <technology>ECMAScript 2023 (ES2023)</technology>
13
+ <technology>Express/HTTP (Node.js native)</technology>
14
+ <technology>uWebSockets.js v20.52.0 (WebSocket support)</technology>
15
+ <technology>MySQL 2.18.1 (Database driver)</technology>
16
+ <technology>SQLite3 5.1.7 (Database driver)</technology>
17
+ <technology>JWT (jsonwebtoken 9.0.2)</technology>
18
+ <technology>bcryptjs 3.0.2 (Password hashing)</technology>
19
+ <technology>SendGrid Mail (@sendgrid/mail 8.1.5)</technology>
20
+ <technology>Busboy 1.6.0 (Multipart form parsing)</technology>
21
+ <technology>Reflect-metadata 0.2.2 (Decorator support)</technology>
22
+ <technology>Mocha 11.7.1 (Testing framework)</technology>
23
+ <technology>Chai 4.5.0 (Assertion library)</technology>
24
+ <technology>ts-mockito 2.6.1 (Mocking library)</technology>
25
+ <technology>ts-node 10.9.2 (TypeScript execution)</technology>
26
+ <technology>TSConfig Paths 4.2.0 (Path resolution)</technology>
27
+ <technology>ESLint 9.30.1 (Linting)</technology>
28
+ <technology>TypeScript ESLint (Type-aware linting)</technology>
29
+ <technology>NYC 17.1.0 (Code coverage)</technology>
30
+ </technology_stack>
31
+
32
+ <core_capabilities>
33
+ <capability>HTTP Routing with decorators (@Get, @Post, @Put, @Delete, @Patch)</capability>
34
+ <capability>WebSocket support with real-time bidirectional communication</capability>
35
+ <capability>Controllers with dependency injection and middleware</capability>
36
+ <capability>ORM (Object-Relational Mapping) with Active Record pattern</capability>
37
+ <capability>Query Builder for flexible SQL query construction</capability>
38
+ <capability>Database Migrations with rollback capabilities</capability>
39
+ <capability>Database Seeders for data population</capability>
40
+ <capability>Entity/Model system with decorators for database mapping</capability>
41
+ <capability>Forms with built-in validation and field definitions</capability>
42
+ <capability>Validation Rules (Required, Email, MinLength, MaxLength, FileExtension, Optional)</capability>
43
+ <capability>Inversion of Control (IoC) Container with service management</capability>
44
+ <capability>Service Providers for application bootstrapping</capability>
45
+ <capability>Middleware support (global, HTTP, WebSocket)</capability>
46
+ <capability>Authentication with JWT tokens and credentials</capability>
47
+ <capability>Authorization and Guards for route protection</capability>
48
+ <capability>Caching system with multiple stores (Memory, File, Database)</capability>
49
+ <capability>File Storage management and utilities</capability>
50
+ <capability>Email delivery with SendGrid and Memory transports</capability>
51
+ <capability>Error handling with development and production modes</capability>
52
+ <capability>Request/Response objects with comprehensive utilities</capability>
53
+ <capability>Models (smart DTOs) for data transformation</capability>
54
+ <capability>Frontend helpers for seamless API integration</capability>
55
+ <capability>Testing utilities with TestCase framework</capability>
56
+ <capability>Encryption (password hashing and JWT)</capability>
57
+ <capability>Decorators for comprehensive metadata-driven development</capability>
58
+ <capability>CLI support for migrations and database operations</capability>
59
+ </core_capabilities>
60
+
61
+ <implemented_features>
62
+ <feature>
63
+ <name>Routing System</name>
64
+ <description>Comprehensive HTTP routing with decorators supporting GET, POST, PUT, DELETE, PATCH methods. Routes support path parameters, named routes, and method-based organization through controllers.</description>
65
+ <file_locations>
66
+ <location>Router/Router.ts</location>
67
+ <location>Router/Decorators.ts</location>
68
+ <location>Router/Http/HttpRoute.ts</location>
69
+ <location>Router/BaseController.ts</location>
70
+ </file_locations>
71
+ </feature>
72
+ <feature>
73
+ <name>Controllers</name>
74
+ <description>Controller classes that organize HTTP endpoints and WebSocket actions using decorators. Controllers support dependency injection and can be organized into groups with path prefixes.</description>
75
+ <file_locations>
76
+ <location>Router/Decorators.ts</location>
77
+ <location>Router/BaseController.ts</location>
78
+ </file_locations>
79
+ </feature>
80
+ <feature>
81
+ <name>Middleware System</name>
82
+ <description>Flexible middleware support at global, HTTP, and WebSocket levels. Middleware can be applied globally, at controller level, or at individual route level for cross-cutting concerns.</description>
83
+ <file_locations>
84
+ <location>Router/Middleware.ts</location>
85
+ <location>Router/Http/Middleware.ts</location>
86
+ <location>Router/Websockets/Middleware.ts</location>
87
+ <location>Framework/Middleware/</location>
88
+ </file_locations>
89
+ </feature>
90
+ <feature>
91
+ <name>Query Builder</name>
92
+ <description>Advanced SQL query builder supporting SELECT, INSERT, UPDATE, DELETE statements. Supports joins, where clauses, aggregations, and complex filtering without writing raw SQL.</description>
93
+ <file_locations>
94
+ <location>Database/Query.ts</location>
95
+ <location>Database/Drivers/SQL/Statements/</location>
96
+ </file_locations>
97
+ </feature>
98
+ <feature>
99
+ <name>ORM (Object-Relational Mapping)</name>
100
+ <description>Active Record pattern implementation with Entity classes. Features include relationships (HasMany, BelongsTo, BelongsToMany), automatic schema mapping, and fluent query building.</description>
101
+ <file_locations>
102
+ <location>Database/Entity.ts</location>
103
+ <location>Database/EntityQuery.ts</location>
104
+ <location>Database/Fields.ts</location>
105
+ <location>Database/ORM/BaseRelationship.ts</location>
106
+ </file_locations>
107
+ </feature>
108
+ <feature>
109
+ <name>Database Connections</name>
110
+ <description>Support for multiple database drivers including MySQL and SQLite. Provides connection management, query execution, and database introspection.</description>
111
+ <file_locations>
112
+ <location>Database/Connection.ts</location>
113
+ <location>Database/Drivers/MySQL/MysqlDriver.ts</location>
114
+ <location>Database/Drivers/SQLite/SqliteDriver.ts</location>
115
+ </file_locations>
116
+ </feature>
117
+ <feature>
118
+ <name>Migrations</name>
119
+ <description>Database migration system for version controlling schema changes. Supports creating, running, and rolling back migrations with batch tracking.</description>
120
+ <file_locations>
121
+ <location>Database/Migrations/Migrator.ts</location>
122
+ <location>Database/Migrations/Migration.ts</location>
123
+ <location>Database/Migrations/MigrationHistory.ts</location>
124
+ </file_locations>
125
+ </feature>
126
+ <feature>
127
+ <name>Database Seeders</name>
128
+ <description>Database seeding functionality for populating initial or test data. Seeders are loaded from a directory and executed in sequence.</description>
129
+ <file_locations>
130
+ <location>Database/Seeders/SeederManager.ts</location>
131
+ <location>Database/Seeders/Seeder.ts</location>
132
+ </file_locations>
133
+ </feature>
134
+ <feature>
135
+ <name>Models (Smart DTOs)</name>
136
+ <description>Model classes for transforming entity data into desired formats. Supports type transformation, field mapping, and working with nested data structures.</description>
137
+ <file_locations>
138
+ <location>Models/Model.ts</location>
139
+ <location>Models/index.ts</location>
140
+ </file_locations>
141
+ </feature>
142
+ <feature>
143
+ <name>Forms &amp; Validation</name>
144
+ <description>Form classes with built-in validation rules. Forms support field definitions, rule application, error collection, and data validation with custom error messages.</description>
145
+ <file_locations>
146
+ <location>Forms/Form.ts</location>
147
+ <location>Forms/FormFields.ts</location>
148
+ <location>Forms/Decorators.ts</location>
149
+ </file_locations>
150
+ </feature>
151
+ <feature>
152
+ <name>Validation Rules</name>
153
+ <description>Comprehensive validation rules including Required, Email, MinLength, MaxLength, FileExtension, and Optional. Rules are extensible and support custom error messages.</description>
154
+ <file_locations>
155
+ <location>Validation/Validator.ts</location>
156
+ <location>Validation/Rule.ts</location>
157
+ <location>Validation/Rules/</location>
158
+ </file_locations>
159
+ </feature>
160
+ <feature>
161
+ <name>IoC Container</name>
162
+ <description>Inversion of Control container managing service registration, resolution, and dependency injection. Supports scopes (Singleton, Request, Transient) and automatic constructor injection.</description>
163
+ <file_locations>
164
+ <location>Container/Container.ts</location>
165
+ <location>Container/Resolver.ts</location>
166
+ <location>Container/ClassResolver.ts</location>
167
+ </file_locations>
168
+ </feature>
169
+ <feature>
170
+ <name>Service Providers</name>
171
+ <description>Service providers for bootstrapping and configuring application services. Providers are registered and executed during application initialization.</description>
172
+ <file_locations>
173
+ <location>Framework/Providers/</location>
174
+ <location>Framework/Provider.ts</location>
175
+ </file_locations>
176
+ </feature>
177
+ <feature>
178
+ <name>Authentication</name>
179
+ <description>JWT-based authentication system with support for login, registration, and token verification. Includes password hashing using bcryptjs and user identity management.</description>
180
+ <file_locations>
181
+ <location>Framework/Auth/Auth.ts</location>
182
+ <location>Framework/Auth/User.ts</location>
183
+ <location>Framework/Auth/Authenticatable.ts</location>
184
+ </file_locations>
185
+ </feature>
186
+ <feature>
187
+ <name>Guards</name>
188
+ <description>Route guards for authorization and access control. Guards can be applied to routes to verify user authentication and permissions before action execution.</description>
189
+ <file_locations>
190
+ <location>Router/Guard.ts</location>
191
+ <location>Router/Decorators.ts</location>
192
+ </file_locations>
193
+ </feature>
194
+ <feature>
195
+ <name>Caching</name>
196
+ <description>Multi-store caching system supporting Memory, File, and Database stores. Features include get, set, delete, remember (with lazy loading), and cache expiration.</description>
197
+ <file_locations>
198
+ <location>Cache/Cache.ts</location>
199
+ <location>Cache/Stores/MemoryStore.ts</location>
200
+ <location>Cache/Stores/FileStore.ts</location>
201
+ <location>Cache/Stores/DatabaseStore.ts</location>
202
+ </file_locations>
203
+ </feature>
204
+ <feature>
205
+ <name>File Storage</name>
206
+ <description>File system management for reading, writing, saving, and deleting files. Includes file filtering, directory traversal, and stream-based operations.</description>
207
+ <file_locations>
208
+ <location>Storage/Storage.ts</location>
209
+ <location>Storage/File.ts</location>
210
+ <location>Storage/Image.ts</location>
211
+ </file_locations>
212
+ </feature>
213
+ <feature>
214
+ <name>Email/Mailing</name>
215
+ <description>Email delivery system supporting multiple transports including SendGrid and in-memory testing. Includes mailable classes for email composition.</description>
216
+ <file_locations>
217
+ <location>Mail/Mailer.ts</location>
218
+ <location>Mail/Mailable.ts</location>
219
+ <location>Mail/PendingMail.ts</location>
220
+ <location>Mail/Transports/</location>
221
+ </file_locations>
222
+ </feature>
223
+ <feature>
224
+ <name>Error Handling</name>
225
+ <description>Comprehensive error handling with development and production modes. Includes stack traces in development and sanitized messages in production.</description>
226
+ <file_locations>
227
+ <location>Router/Http/ErrorHandler.ts</location>
228
+ <location>Router/Http/Errors/HttpError.ts</location>
229
+ </file_locations>
230
+ </feature>
231
+ <feature>
232
+ <name>WebSocket Support</name>
233
+ <description>Real-time bidirectional communication using WebSockets with uWebSockets.js. Supports WebSocket actions, middleware, and event handlers (onOpen, onClose).</description>
234
+ <file_locations>
235
+ <location>Router/Websockets/Handler.ts</location>
236
+ <location>Router/Websockets/WebsocketRoute.ts</location>
237
+ <location>Router/Websockets/Request.ts</location>
238
+ </file_locations>
239
+ </feature>
240
+ <feature>
241
+ <name>Request/Response Objects</name>
242
+ <description>Comprehensive HTTP request and response objects with methods for accessing headers, body, query parameters, form data, and files. Support for both HTTP and WebSocket requests.</description>
243
+ <file_locations>
244
+ <location>Router/Http/Request.ts</location>
245
+ <location>Router/Http/Response.ts</location>
246
+ <location>Router/Request.ts</location>
247
+ </file_locations>
248
+ </feature>
249
+ <feature>
250
+ <name>Testing Framework</name>
251
+ <description>TestCase base class for writing tests with support for HTTP and WebSocket testing. Includes utilities for making requests, handling responses, and managing authentication in tests.</description>
252
+ <file_locations>
253
+ <location>Testing/TestCase.ts</location>
254
+ </file_locations>
255
+ </feature>
256
+ <feature>
257
+ <name>Encryption</name>
258
+ <description>Encryption utilities including password hashing with bcryptjs and JWT token generation/verification. Supports configurable salt rounds and token expiration.</description>
259
+ <file_locations>
260
+ <location>Encryption/index.ts</location>
261
+ </file_locations>
262
+ </feature>
263
+ <feature>
264
+ <name>Application Bootstrap</name>
265
+ <description>Application initialization and configuration loading. Manages service registration, provider execution, middleware setup, and server startup.</description>
266
+ <file_locations>
267
+ <location>Framework/Application.ts</location>
268
+ <location>Framework/App.ts</location>
269
+ </file_locations>
270
+ </feature>
271
+ <feature>
272
+ <name>Configuration Management</name>
273
+ <description>Config classes for application settings including App, Database, Auth, Mail, and Cache configurations. Supports environment-based configuration.</description>
274
+ <file_locations>
275
+ <location>Framework/Config/AppConfig.ts</location>
276
+ <location>Framework/Config/DatabaseConfig.ts</location>
277
+ <location>Framework/Config/AuthConfig.ts</location>
278
+ <location>Framework/Config/MailConfig.ts</location>
279
+ <location>Framework/Config/CacheConfig.ts</location>
280
+ </file_locations>
281
+ </feature>
282
+ <feature>
283
+ <name>Utility Functions</name>
284
+ <description>Helper utilities for arrays, strings, math operations, and metadata handling. Provides functional programming utilities and data transformation helpers.</description>
285
+ <file_locations>
286
+ <location>Support/Array.ts</location>
287
+ <location>Support/String.ts</location>
288
+ <location>Support/Math.ts</location>
289
+ <location>Support/utils.ts</location>
290
+ </file_locations>
291
+ </feature>
292
+ </implemented_features>
293
+
294
+ <additional_requirements>
295
+ <requirement>Node.js version 12.13.0 or higher (LTS recommended)</requirement>
296
+ <requirement>TypeScript knowledge and understanding of decorators</requirement>
297
+ <requirement>Understanding of SQL concepts (for database/ORM features)</requirement>
298
+ <requirement>Familiarity with async/await patterns</requirement>
299
+ <requirement>Knowledge of JWT and authentication concepts</requirement>
300
+ <requirement>Understanding of middleware and IoC containers is beneficial</requirement>
301
+ <requirement>For WebSocket features: understanding of WebSocket protocol</requirement>
302
+ <requirement>For Email features: SendGrid API key or in-memory testing setup</requirement>
303
+ </additional_requirements>
304
+
305
+ <development_guidelines>
306
+ <guideline>Code must be written in TypeScript strict mode</guideline>
307
+ <guideline>Use decorators extensively for metadata-driven development (@Entity, @Column, @Get, @Post, etc.)</guideline>
308
+ <guideline>Implement dependency injection through the IoC Container for testability</guideline>
309
+ <guideline>Follow the Active Record pattern for database entity modeling</guideline>
310
+ <guideline>Use the Query Builder instead of raw SQL queries</guideline>
311
+ <guideline>Apply middleware for cross-cutting concerns (authentication, logging, etc.)</guideline>
312
+ <guideline>Organize controllers with logical grouping and path prefixes</guideline>
313
+ <guideline>Use Forms for input validation and data transformation</guideline>
314
+ <guideline>Apply Guards for authorization and access control</guideline>
315
+ <guideline>Leverage the Testing framework (TestCase) for comprehensive test coverage</guideline>
316
+ <guideline>Keep business logic in Services and use constructor injection</guideline>
317
+ <guideline>Use Models to transform entities into API responses</guideline>
318
+ <guideline>Configure application behavior through Config classes</guideline>
319
+ <guideline>Support both HTTP and WebSocket protocols where applicable</guideline>
320
+ <guideline>Follow Node.js and Express conventions for naming and structure</guideline>
321
+ <guideline>Use const/let instead of var; prefer const</guideline>
322
+ <guideline>Document complex business logic with comments</guideline>
323
+ <guideline>Avoid hardcoding values; use environment variables and configuration</guideline>
324
+ <guideline>Use TypeScript strict mode features (strict typing, non-null assertions)</guideline>
325
+ <guideline>Export types and interfaces from index.ts files for cleaner imports</guideline>
326
+ </development_guidelines>
327
+
328
+ <implementation_roadmap>
329
+ <phase>
330
+ <name>Core Framework Features</name>
331
+ <status>completed</status>
332
+ <description>Routing, Controllers, Middleware, Dependency Injection (IoC Container), Services, Service Providers, Framework initialization and bootstrapping</description>
333
+ </phase>
334
+ <phase>
335
+ <name>Database &amp; Persistence</name>
336
+ <status>completed</status>
337
+ <description>ORM with Active Record pattern, Query Builder, Database drivers (MySQL, SQLite), Entity relationships (HasMany, BelongsTo, BelongsToMany), Migrations, Database Seeders</description>
338
+ </phase>
339
+ <phase>
340
+ <name>Input Handling &amp; Validation</name>
341
+ <status>completed</status>
342
+ <description>Forms with field definitions, Validation rules system, File uploads, Request parsing, Form validation with error handling</description>
343
+ </phase>
344
+ <phase>
345
+ <name>Real-time Communication</name>
346
+ <status>completed</status>
347
+ <description>WebSocket support via uWebSockets.js, WebSocket routing and handlers, Bidirectional communication, WebSocket middleware</description>
348
+ </phase>
349
+ <phase>
350
+ <name>Authentication &amp; Security</name>
351
+ <status>completed</status>
352
+ <description>JWT-based authentication, Password hashing with bcryptjs, User identity management, Route Guards, Login/Register functionality</description>
353
+ </phase>
354
+ <phase>
355
+ <name>Data Caching &amp; Storage</name>
356
+ <status>completed</status>
357
+ <description>Multi-store caching system (Memory, File, Database), File management utilities, Cache expiration and remember patterns</description>
358
+ </phase>
359
+ <phase>
360
+ <name>Email &amp; Notifications</name>
361
+ <status>completed</status>
362
+ <description>Email delivery system, SendGrid integration, Memory transport for testing, Mailable classes for email composition</description>
363
+ </phase>
364
+ <phase>
365
+ <name>Testing &amp; Development Tools</name>
366
+ <status>completed</status>
367
+ <description>TestCase framework, HTTP and WebSocket testing utilities, Mocking support, Test data management</description>
368
+ </phase>
369
+ <phase>
370
+ <name>Models &amp; Data Transformation</name>
371
+ <status>completed</status>
372
+ <description>Smart DTOs (Data Transfer Objects), Data transformation between Entity and Model, Type mapping and field selection</description>
373
+ </phase>
374
+ <phase>
375
+ <name>Authorization</name>
376
+ <status>pending</status>
377
+ <description>Role-based access control, Permission management, Policy-based authorization, Fine-grained access control</description>
378
+ </phase>
379
+ <phase>
380
+ <name>Sessions</name>
381
+ <status>pending</status>
382
+ <description>Session management, Session storage backends, Session middleware, Session configuration</description>
383
+ </phase>
384
+ <phase>
385
+ <name>Modules/Packages</name>
386
+ <status>pending</status>
387
+ <description>Modular application structure, Package system for code organization, Module auto-discovery</description>
388
+ </phase>
389
+ <phase>
390
+ <name>Logging</name>
391
+ <status>pending</status>
392
+ <description>Comprehensive logging system, Multiple log channels, Log formatting and rotation</description>
393
+ </phase>
394
+ <phase>
395
+ <name>Internationalization (i18n)</name>
396
+ <status>pending</status>
397
+ <description>Multi-language support, Translation management, Locale detection and switching</description>
398
+ </phase>
399
+ <phase>
400
+ <name>GraphQL</name>
401
+ <status>pending</status>
402
+ <description>GraphQL API support, Schema definition and execution, Resolver integration with dependency injection</description>
403
+ </phase>
404
+ <phase>
405
+ <name>Job Queues</name>
406
+ <status>pending</status>
407
+ <description>Background job processing, Queue management, Job scheduling and retries</description>
408
+ </phase>
409
+ <phase>
410
+ <name>Notifications System</name>
411
+ <status>pending</status>
412
+ <description>Multi-channel notifications (Email, SMS, Slack, Discord, MS Teams, Google Chat, Twitter, Telegram), Notification events and listeners</description>
413
+ </phase>
414
+ <phase>
415
+ <name>Advanced Features</name>
416
+ <status>pending</status>
417
+ <description>A/B testing, API versioning, Two-Factor Authentication (2FA), OAuth support, Feature flagging, Worker threads</description>
418
+ </phase>
419
+ <phase>
420
+ <name>Frontend Rendering</name>
421
+ <status>pending</status>
422
+ <description>HTML view rendering engine, Template system, View composition</description>
423
+ </phase>
424
+ <phase>
425
+ <name>Documentation &amp; Tools</name>
426
+ <status>pending</status>
427
+ <description>Automatic REST, WebSocket, and GraphQL API documentation generation, CLI enhancements</description>
428
+ </phase>
429
+ <phase>
430
+ <name>Deployment &amp; Monitoring</name>
431
+ <status>pending</status>
432
+ <description>Deployment support for AWS, Azure, GCP, DigitalOcean, Application monitoring, Error tracking and alerting</description>
433
+ </phase>
434
+ <phase>
435
+ <name>Performance Optimization</name>
436
+ <status>pending</status>
437
+ <description>HTTP/2 support, HTTP/3 (QUIC) support, Performance profiling tools</description>
438
+ </phase>
439
+ </implementation_roadmap>
440
+ </project_specification>
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "a-b-testing-framework",
3
+ "category": "Advanced",
4
+ "title": "A/B Testing Framework",
5
+ "description": "Create an A/B testing framework for running experiments. Integrates with feature flags and provides statistical analysis helpers.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "feature-flags"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.294Z",
13
+ "updatedAt": "2025-12-21T22:11:28.294Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "account-lockout-protection",
3
+ "category": "Security",
4
+ "title": "Account Lockout and Brute Force Protection",
5
+ "description": "Implement protection against brute force attacks with automatic account lockout after failed login attempts. Includes progressive delays and CAPTCHA integration options.",
6
+ "status": "backlog",
7
+ "priority": 1,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "authentication-and-jwt"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.284Z",
13
+ "updatedAt": "2025-12-21T22:11:28.284Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "api-versioning",
3
+ "category": "API",
4
+ "title": "API Versioning Support",
5
+ "description": "Implement API versioning for managing multiple API versions simultaneously. Supports URL-based (v1/v2) and header-based versioning with backward compatibility management.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "routing-system"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.286Z",
13
+ "updatedAt": "2025-12-21T22:11:28.286Z"
14
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "id": "background-job-processing",
3
+ "category": "Job Queue",
4
+ "title": "Background Job Processing Queue",
5
+ "description": "Implement a job queue system for processing long-running tasks asynchronously. Supports job creation, worker processes, and result tracking.",
6
+ "status": "backlog",
7
+ "priority": 1,
8
+ "complexity": "complex",
9
+ "dependencies": [],
10
+ "createdAt": "2025-12-21T22:11:28.280Z",
11
+ "updatedAt": "2025-12-21T22:11:28.280Z"
12
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "cloud-storage-integration",
3
+ "category": "File Storage",
4
+ "title": "Cloud Storage Integration",
5
+ "description": "Implement cloud storage drivers (AWS S3, Google Cloud Storage, Azure Blob). Provides unified API for local and cloud file operations.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "file-storage"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.291Z",
13
+ "updatedAt": "2025-12-21T22:11:28.291Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "compression-middleware",
3
+ "category": "Performance",
4
+ "title": "Response Compression Middleware",
5
+ "description": "Add middleware for automatic response compression (gzip, brotli, deflate). Configurable based on content type and response size.",
6
+ "status": "backlog",
7
+ "priority": 1,
8
+ "complexity": "simple",
9
+ "dependencies": [
10
+ "middleware-system"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.294Z",
13
+ "updatedAt": "2025-12-21T22:11:28.294Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "cors-and-security-headers",
3
+ "category": "Security",
4
+ "title": "CORS and Security Headers Management",
5
+ "description": "Implement CORS (Cross-Origin Resource Sharing) configuration and security headers (HSTS, CSP, X-Frame-Options, etc.). Configurable per route and globally.",
6
+ "status": "backlog",
7
+ "priority": 1,
8
+ "complexity": "simple",
9
+ "dependencies": [
10
+ "middleware-system"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.287Z",
13
+ "updatedAt": "2025-12-21T22:11:28.287Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "currency-and-timezone",
3
+ "category": "Internationalization",
4
+ "title": "Currency and Timezone Localization",
5
+ "description": "Add support for currency formatting and timezone conversion based on user locale. Provides utilities for date/time and currency formatting.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "locale-detection"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.280Z",
13
+ "updatedAt": "2025-12-21T22:11:28.280Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "database-backup-restore",
3
+ "category": "Database",
4
+ "title": "Database Backup and Restore Utilities",
5
+ "description": "Create CLI utilities for backing up and restoring databases. Supports scheduled backups and incremental backup strategies.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "database-connections"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.290Z",
13
+ "updatedAt": "2025-12-21T22:11:28.290Z"
14
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "id": "database-query-logging",
3
+ "category": "Database",
4
+ "title": "Database Query Logging and Profiling",
5
+ "description": "Add logging for executed queries with execution time tracking. Provides query profiling tools to identify performance bottlenecks.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "query-builder",
11
+ "logging-system"
12
+ ],
13
+ "createdAt": "2025-12-21T22:11:28.288Z",
14
+ "updatedAt": "2025-12-21T22:11:28.288Z"
15
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "database-transaction-support",
3
+ "category": "Database",
4
+ "title": "Database Transaction Support",
5
+ "description": "Implement database transactions for atomic operations across multiple queries. Supports automatic rollback on errors and nested transactions.",
6
+ "status": "backlog",
7
+ "priority": 1,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "orm-active-record"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.287Z",
13
+ "updatedAt": "2025-12-21T22:11:28.287Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "discord-notifications-channel",
3
+ "category": "Notifications",
4
+ "title": "Discord Notifications Channel",
5
+ "description": "Add Discord webhook support for sending notifications to Discord servers. Supports embeds, mentions, and role-based notifications.",
6
+ "status": "backlog",
7
+ "priority": 2,
8
+ "complexity": "simple",
9
+ "dependencies": [
10
+ "slack-notifications-channel"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.282Z",
13
+ "updatedAt": "2025-12-21T22:11:28.282Z"
14
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "id": "eager-loading-optimization",
3
+ "category": "Database",
4
+ "title": "Eager Loading and N+1 Prevention",
5
+ "description": "Implement eager loading to prevent N+1 query problems. Provides methods to load relationships upfront and detect potential N+1 issues.",
6
+ "status": "backlog",
7
+ "priority": 1,
8
+ "complexity": "moderate",
9
+ "dependencies": [
10
+ "orm-active-record"
11
+ ],
12
+ "createdAt": "2025-12-21T22:11:28.290Z",
13
+ "updatedAt": "2025-12-21T22:11:28.290Z"
14
+ }