@tailor-platform/erp-kit 0.6.0 → 0.7.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 (290) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +10 -10
  3. package/dist/cli.mjs +407 -69
  4. package/package.json +1 -1
  5. package/skills/erp-kit-app-1-requirements/SKILL.md +33 -17
  6. package/skills/erp-kit-app-2-requirements-review/SKILL.md +12 -0
  7. package/skills/erp-kit-app-3-plan/SKILL.md +18 -4
  8. package/skills/erp-kit-app-3-plan/references/resolver-extraction.md +1 -1
  9. package/skills/erp-kit-app-3-plan/references/screen-extraction.md +1 -1
  10. package/skills/erp-kit-app-4-plan-review/SKILL.md +12 -0
  11. package/skills/erp-kit-app-5-impl-backend/SKILL.md +12 -0
  12. package/skills/erp-kit-app-6-impl-frontend/SKILL.md +12 -0
  13. package/skills/erp-kit-app-7-impl-review/SKILL.md +13 -1
  14. package/skills/erp-kit-app-shared/references/progress-protocol.md +77 -0
  15. package/skills/erp-kit-mock-scenario/SKILL.md +1 -1
  16. package/skills/erp-kit-module-1-requirements/SKILL.md +1 -1
  17. package/skills/erp-kit-module-3-plan/SKILL.md +3 -3
  18. package/skills/erp-kit-module-3-update-plan/SKILL.md +3 -3
  19. package/skills/erp-kit-module-5-impl/SKILL.md +1 -1
  20. package/src/commands/app/index.ts +2 -0
  21. package/src/commands/app/progress/git-context.ts +16 -0
  22. package/src/commands/app/progress/index.ts +45 -0
  23. package/src/commands/app/progress/log.ts +49 -0
  24. package/src/commands/app/progress/progress.test.ts +128 -0
  25. package/src/commands/app/progress/schema-cmd.ts +10 -0
  26. package/src/commands/check.test.ts +4 -4
  27. package/src/commands/lib/discovery.test.ts +5 -7
  28. package/src/commands/lib/discovery.ts +8 -8
  29. package/src/commands/lib/sync-check-source.test.ts +1 -1
  30. package/src/commands/lib/sync-check-source.ts +6 -1
  31. package/src/commands/lib/sync-check-tests.test.ts +43 -0
  32. package/src/commands/lib/sync-check-tests.ts +20 -2
  33. package/src/commands/sync-check.ts +3 -0
  34. package/src/generator/generate-app-code.test.ts +0 -6
  35. package/src/generator/generate-app-code.ts +3 -13
  36. package/src/generator/generate-code.test.ts +10 -40
  37. package/src/generator/generate-code.ts +6 -12
  38. package/src/generator/stub-templates.test.ts +0 -7
  39. package/src/generator/stub-templates.ts +0 -14
  40. package/src/modules/finance-ledger/README.md +50 -0
  41. package/src/modules/finance-ledger/command/.gitkeep +0 -0
  42. package/src/modules/finance-ledger/command/addJournalLine.generated.ts +6 -0
  43. package/src/modules/finance-ledger/command/addJournalLine.test.ts +438 -0
  44. package/src/modules/finance-ledger/command/addJournalLine.ts +122 -0
  45. package/src/modules/finance-ledger/command/approveAndLockPeriod.generated.ts +6 -0
  46. package/src/modules/finance-ledger/command/approveAndLockPeriod.test.ts +107 -0
  47. package/src/modules/finance-ledger/command/approveAndLockPeriod.ts +72 -0
  48. package/src/modules/finance-ledger/command/beginClose.generated.ts +6 -0
  49. package/src/modules/finance-ledger/command/beginClose.test.ts +106 -0
  50. package/src/modules/finance-ledger/command/beginClose.ts +58 -0
  51. package/src/modules/finance-ledger/command/closePeriod.generated.ts +6 -0
  52. package/src/modules/finance-ledger/command/closePeriod.test.ts +87 -0
  53. package/src/modules/finance-ledger/command/closePeriod.ts +44 -0
  54. package/src/modules/finance-ledger/command/createAccountingPeriod.generated.ts +6 -0
  55. package/src/modules/finance-ledger/command/createAccountingPeriod.test.ts +425 -0
  56. package/src/modules/finance-ledger/command/createAccountingPeriod.ts +133 -0
  57. package/src/modules/finance-ledger/command/createFiscalYear.generated.ts +6 -0
  58. package/src/modules/finance-ledger/command/createFiscalYear.test.ts +197 -0
  59. package/src/modules/finance-ledger/command/createFiscalYear.ts +70 -0
  60. package/src/modules/finance-ledger/command/createJournalEntry.generated.ts +6 -0
  61. package/src/modules/finance-ledger/command/createJournalEntry.test.ts +261 -0
  62. package/src/modules/finance-ledger/command/createJournalEntry.ts +121 -0
  63. package/src/modules/finance-ledger/command/deleteAccountingPeriod.generated.ts +6 -0
  64. package/src/modules/finance-ledger/command/deleteAccountingPeriod.test.ts +71 -0
  65. package/src/modules/finance-ledger/command/deleteAccountingPeriod.ts +55 -0
  66. package/src/modules/finance-ledger/command/deleteFiscalYear.generated.ts +6 -0
  67. package/src/modules/finance-ledger/command/deleteFiscalYear.test.ts +38 -0
  68. package/src/modules/finance-ledger/command/deleteFiscalYear.ts +34 -0
  69. package/src/modules/finance-ledger/command/deleteJournalEntry.generated.ts +6 -0
  70. package/src/modules/finance-ledger/command/deleteJournalEntry.test.ts +58 -0
  71. package/src/modules/finance-ledger/command/deleteJournalEntry.ts +43 -0
  72. package/src/modules/finance-ledger/command/executeYearEndClose.generated.ts +6 -0
  73. package/src/modules/finance-ledger/command/executeYearEndClose.test.ts +239 -0
  74. package/src/modules/finance-ledger/command/executeYearEndClose.ts +415 -0
  75. package/src/modules/finance-ledger/command/finalCloseAndLockPeriod.generated.ts +6 -0
  76. package/src/modules/finance-ledger/command/finalCloseAndLockPeriod.test.ts +102 -0
  77. package/src/modules/finance-ledger/command/finalCloseAndLockPeriod.ts +76 -0
  78. package/src/modules/finance-ledger/command/finalizeFinancialStatement.generated.ts +6 -0
  79. package/src/modules/finance-ledger/command/finalizeFinancialStatement.test.ts +73 -0
  80. package/src/modules/finance-ledger/command/finalizeFinancialStatement.ts +73 -0
  81. package/src/modules/finance-ledger/command/generateFinancialStatement.generated.ts +6 -0
  82. package/src/modules/finance-ledger/command/generateFinancialStatement.test.ts +311 -0
  83. package/src/modules/finance-ledger/command/generateFinancialStatement.ts +275 -0
  84. package/src/modules/finance-ledger/command/generatePreliminaryStatements.generated.ts +6 -0
  85. package/src/modules/finance-ledger/command/generatePreliminaryStatements.test.ts +152 -0
  86. package/src/modules/finance-ledger/command/generatePreliminaryStatements.ts +140 -0
  87. package/src/modules/finance-ledger/command/generateTrialBalance.generated.ts +6 -0
  88. package/src/modules/finance-ledger/command/generateTrialBalance.test.ts +439 -0
  89. package/src/modules/finance-ledger/command/generateTrialBalance.ts +268 -0
  90. package/src/modules/finance-ledger/command/initiatePeriodClose.generated.ts +6 -0
  91. package/src/modules/finance-ledger/command/initiatePeriodClose.test.ts +153 -0
  92. package/src/modules/finance-ledger/command/initiatePeriodClose.ts +84 -0
  93. package/src/modules/finance-ledger/command/openForAdvanceEntry.generated.ts +6 -0
  94. package/src/modules/finance-ledger/command/openForAdvanceEntry.test.ts +87 -0
  95. package/src/modules/finance-ledger/command/openForAdvanceEntry.ts +44 -0
  96. package/src/modules/finance-ledger/command/openPeriod.generated.ts +6 -0
  97. package/src/modules/finance-ledger/command/openPeriod.test.ts +90 -0
  98. package/src/modules/finance-ledger/command/openPeriod.ts +44 -0
  99. package/src/modules/finance-ledger/command/permanentlyClosePeriod.generated.ts +6 -0
  100. package/src/modules/finance-ledger/command/permanentlyClosePeriod.test.ts +87 -0
  101. package/src/modules/finance-ledger/command/permanentlyClosePeriod.ts +48 -0
  102. package/src/modules/finance-ledger/command/postAdjustingEntries.generated.ts +6 -0
  103. package/src/modules/finance-ledger/command/postAdjustingEntries.test.ts +392 -0
  104. package/src/modules/finance-ledger/command/postAdjustingEntries.ts +156 -0
  105. package/src/modules/finance-ledger/command/postJournalEntry.generated.ts +6 -0
  106. package/src/modules/finance-ledger/command/postJournalEntry.test.ts +346 -0
  107. package/src/modules/finance-ledger/command/postJournalEntry.ts +160 -0
  108. package/src/modules/finance-ledger/command/processInventoryHandoff.generated.ts +6 -0
  109. package/src/modules/finance-ledger/command/processInventoryHandoff.test.ts +211 -0
  110. package/src/modules/finance-ledger/command/processInventoryHandoff.ts +133 -0
  111. package/src/modules/finance-ledger/command/processManufacturingHandoff.generated.ts +6 -0
  112. package/src/modules/finance-ledger/command/processManufacturingHandoff.test.ts +221 -0
  113. package/src/modules/finance-ledger/command/processManufacturingHandoff.ts +133 -0
  114. package/src/modules/finance-ledger/command/processPurchaseHandoff.generated.ts +6 -0
  115. package/src/modules/finance-ledger/command/processPurchaseHandoff.test.ts +222 -0
  116. package/src/modules/finance-ledger/command/processPurchaseHandoff.ts +133 -0
  117. package/src/modules/finance-ledger/command/processSalesHandoff.generated.ts +6 -0
  118. package/src/modules/finance-ledger/command/processSalesHandoff.test.ts +257 -0
  119. package/src/modules/finance-ledger/command/processSalesHandoff.ts +135 -0
  120. package/src/modules/finance-ledger/command/regenerateFinancialStatement.generated.ts +6 -0
  121. package/src/modules/finance-ledger/command/regenerateFinancialStatement.test.ts +129 -0
  122. package/src/modules/finance-ledger/command/regenerateFinancialStatement.ts +186 -0
  123. package/src/modules/finance-ledger/command/removeJournalLine.generated.ts +6 -0
  124. package/src/modules/finance-ledger/command/removeJournalLine.test.ts +65 -0
  125. package/src/modules/finance-ledger/command/removeJournalLine.ts +39 -0
  126. package/src/modules/finance-ledger/command/reopenPeriod.generated.ts +6 -0
  127. package/src/modules/finance-ledger/command/reopenPeriod.test.ts +87 -0
  128. package/src/modules/finance-ledger/command/reopenPeriod.ts +44 -0
  129. package/src/modules/finance-ledger/command/reverseJournalEntry.generated.ts +6 -0
  130. package/src/modules/finance-ledger/command/reverseJournalEntry.test.ts +337 -0
  131. package/src/modules/finance-ledger/command/reverseJournalEntry.ts +140 -0
  132. package/src/modules/finance-ledger/command/revertSoftLock.generated.ts +6 -0
  133. package/src/modules/finance-ledger/command/revertSoftLock.test.ts +96 -0
  134. package/src/modules/finance-ledger/command/revertSoftLock.ts +67 -0
  135. package/src/modules/finance-ledger/command/updateFiscalYear.generated.ts +6 -0
  136. package/src/modules/finance-ledger/command/updateFiscalYear.test.ts +138 -0
  137. package/src/modules/finance-ledger/command/updateFiscalYear.ts +85 -0
  138. package/src/modules/finance-ledger/command/updateJournalEntry.generated.ts +6 -0
  139. package/src/modules/finance-ledger/command/updateJournalEntry.test.ts +195 -0
  140. package/src/modules/finance-ledger/command/updateJournalEntry.ts +86 -0
  141. package/src/modules/finance-ledger/command/updateJournalLine.generated.ts +6 -0
  142. package/src/modules/finance-ledger/command/updateJournalLine.test.ts +385 -0
  143. package/src/modules/finance-ledger/command/updateJournalLine.ts +155 -0
  144. package/src/modules/finance-ledger/command/verifySubledgerTransfers.generated.ts +6 -0
  145. package/src/modules/finance-ledger/command/verifySubledgerTransfers.test.ts +201 -0
  146. package/src/modules/finance-ledger/command/verifySubledgerTransfers.ts +113 -0
  147. package/src/modules/finance-ledger/command/verifyTrialBalance.generated.ts +6 -0
  148. package/src/modules/finance-ledger/command/verifyTrialBalance.test.ts +136 -0
  149. package/src/modules/finance-ledger/command/verifyTrialBalance.ts +97 -0
  150. package/src/modules/finance-ledger/db/.gitkeep +0 -0
  151. package/src/modules/finance-ledger/db/accountingPeriod.ts +58 -0
  152. package/src/modules/finance-ledger/db/financialStatement.ts +92 -0
  153. package/src/modules/finance-ledger/db/financialStatementLineItem.ts +76 -0
  154. package/src/modules/finance-ledger/db/fiscalYear.ts +41 -0
  155. package/src/modules/finance-ledger/db/journalEntry.ts +101 -0
  156. package/src/modules/finance-ledger/db/journalLine.ts +64 -0
  157. package/src/modules/finance-ledger/db/periodClose.ts +97 -0
  158. package/src/modules/finance-ledger/db/trialBalance.ts +63 -0
  159. package/src/modules/finance-ledger/db/trialBalanceLine.ts +63 -0
  160. package/src/modules/finance-ledger/docs/commands/AddJournalLine.md +74 -0
  161. package/src/modules/finance-ledger/docs/commands/ApproveAndLockPeriod.md +53 -0
  162. package/src/modules/finance-ledger/docs/commands/BeginClose.md +47 -0
  163. package/src/modules/finance-ledger/docs/commands/ClosePeriod.md +45 -0
  164. package/src/modules/finance-ledger/docs/commands/CreateAccountingPeriod.md +69 -0
  165. package/src/modules/finance-ledger/docs/commands/CreateFiscalYear.md +56 -0
  166. package/src/modules/finance-ledger/docs/commands/CreateJournalEntry.md +63 -0
  167. package/src/modules/finance-ledger/docs/commands/DeleteAccountingPeriod.md +46 -0
  168. package/src/modules/finance-ledger/docs/commands/DeleteFiscalYear.md +40 -0
  169. package/src/modules/finance-ledger/docs/commands/DeleteJournalEntry.md +44 -0
  170. package/src/modules/finance-ledger/docs/commands/ExecuteYearEndClose.md +81 -0
  171. package/src/modules/finance-ledger/docs/commands/FinalCloseAndLockPeriod.md +49 -0
  172. package/src/modules/finance-ledger/docs/commands/FinalizeFinancialStatement.md +43 -0
  173. package/src/modules/finance-ledger/docs/commands/GenerateFinancialStatement.md +86 -0
  174. package/src/modules/finance-ledger/docs/commands/GeneratePreliminaryStatements.md +53 -0
  175. package/src/modules/finance-ledger/docs/commands/GenerateTrialBalance.md +75 -0
  176. package/src/modules/finance-ledger/docs/commands/InitiatePeriodClose.md +58 -0
  177. package/src/modules/finance-ledger/docs/commands/OpenForAdvanceEntry.md +44 -0
  178. package/src/modules/finance-ledger/docs/commands/OpenPeriod.md +45 -0
  179. package/src/modules/finance-ledger/docs/commands/PermanentlyClosePeriod.md +45 -0
  180. package/src/modules/finance-ledger/docs/commands/PostAdjustingEntries.md +61 -0
  181. package/src/modules/finance-ledger/docs/commands/PostJournalEntry.md +81 -0
  182. package/src/modules/finance-ledger/docs/commands/ProcessInventoryHandoff.md +72 -0
  183. package/src/modules/finance-ledger/docs/commands/ProcessManufacturingHandoff.md +68 -0
  184. package/src/modules/finance-ledger/docs/commands/ProcessPurchaseHandoff.md +68 -0
  185. package/src/modules/finance-ledger/docs/commands/ProcessSalesHandoff.md +71 -0
  186. package/src/modules/finance-ledger/docs/commands/RegenerateFinancialStatement.md +60 -0
  187. package/src/modules/finance-ledger/docs/commands/RemoveJournalLine.md +42 -0
  188. package/src/modules/finance-ledger/docs/commands/ReopenPeriod.md +45 -0
  189. package/src/modules/finance-ledger/docs/commands/ReverseJournalEntry.md +62 -0
  190. package/src/modules/finance-ledger/docs/commands/RevertSoftLock.md +49 -0
  191. package/src/modules/finance-ledger/docs/commands/UpdateFiscalYear.md +60 -0
  192. package/src/modules/finance-ledger/docs/commands/UpdateJournalEntry.md +50 -0
  193. package/src/modules/finance-ledger/docs/commands/UpdateJournalLine.md +61 -0
  194. package/src/modules/finance-ledger/docs/commands/VerifySubledgerTransfers.md +59 -0
  195. package/src/modules/finance-ledger/docs/commands/VerifyTrialBalance.md +53 -0
  196. package/src/modules/finance-ledger/docs/features/accounting-period-management.md +110 -0
  197. package/src/modules/finance-ledger/docs/features/financial-statement-generation.md +115 -0
  198. package/src/modules/finance-ledger/docs/features/journal-entry-management.md +138 -0
  199. package/src/modules/finance-ledger/docs/features/period-end-close.md +102 -0
  200. package/src/modules/finance-ledger/docs/features/subledger-integration.md +141 -0
  201. package/src/modules/finance-ledger/docs/features/trial-balance.md +99 -0
  202. package/src/modules/finance-ledger/docs/features/year-end-close.md +84 -0
  203. package/src/modules/finance-ledger/docs/models/AccountingPeriod.md +71 -0
  204. package/src/modules/finance-ledger/docs/models/FinancialStatement.md +76 -0
  205. package/src/modules/finance-ledger/docs/models/FinancialStatementLineItem.md +41 -0
  206. package/src/modules/finance-ledger/docs/models/FiscalYear.md +41 -0
  207. package/src/modules/finance-ledger/docs/models/JournalEntry.md +80 -0
  208. package/src/modules/finance-ledger/docs/models/JournalLine.md +47 -0
  209. package/src/modules/finance-ledger/docs/models/PeriodClose.md +83 -0
  210. package/src/modules/finance-ledger/docs/models/TrialBalance.md +56 -0
  211. package/src/modules/finance-ledger/docs/models/TrialBalanceLine.md +37 -0
  212. package/src/modules/finance-ledger/docs/queries/GetAccountingPeriod.md +35 -0
  213. package/src/modules/finance-ledger/docs/queries/GetFinancialStatement.md +38 -0
  214. package/src/modules/finance-ledger/docs/queries/GetFiscalYear.md +35 -0
  215. package/src/modules/finance-ledger/docs/queries/GetJournalEntry.md +37 -0
  216. package/src/modules/finance-ledger/docs/queries/GetPeriodByDate.md +38 -0
  217. package/src/modules/finance-ledger/docs/queries/GetPeriodClose.md +36 -0
  218. package/src/modules/finance-ledger/docs/queries/GetSubledgerTransferStatus.md +45 -0
  219. package/src/modules/finance-ledger/docs/queries/GetTrialBalance.md +38 -0
  220. package/src/modules/finance-ledger/docs/queries/ListAccountingPeriods.md +46 -0
  221. package/src/modules/finance-ledger/docs/queries/ListFinancialStatements.md +46 -0
  222. package/src/modules/finance-ledger/docs/queries/ListFiscalYears.md +42 -0
  223. package/src/modules/finance-ledger/docs/queries/ListJournalEntries.md +48 -0
  224. package/src/modules/finance-ledger/docs/queries/ListPeriodCloses.md +46 -0
  225. package/src/modules/finance-ledger/docs/queries/ListTrialBalances.md +51 -0
  226. package/src/modules/finance-ledger/executor/.gitkeep +0 -0
  227. package/src/modules/finance-ledger/generated/enums.ts +109 -0
  228. package/src/modules/finance-ledger/generated/kysely-tailordb.ts +202 -0
  229. package/src/modules/finance-ledger/index.ts +2 -0
  230. package/src/modules/finance-ledger/lib/_db_deps.ts +56 -0
  231. package/src/modules/finance-ledger/lib/errors.generated.ts +332 -0
  232. package/src/modules/finance-ledger/lib/permissions.generated.ts +41 -0
  233. package/src/modules/finance-ledger/lib/types.ts +66 -0
  234. package/src/modules/finance-ledger/module.ts +262 -0
  235. package/src/modules/finance-ledger/package.json +26 -0
  236. package/src/modules/finance-ledger/permissions.ts +3 -0
  237. package/src/modules/finance-ledger/query/.gitkeep +0 -0
  238. package/src/modules/finance-ledger/query/getAccountingPeriod.generated.ts +5 -0
  239. package/src/modules/finance-ledger/query/getAccountingPeriod.test.ts +31 -0
  240. package/src/modules/finance-ledger/query/getAccountingPeriod.ts +21 -0
  241. package/src/modules/finance-ledger/query/getFinancialStatement.generated.ts +5 -0
  242. package/src/modules/finance-ledger/query/getFinancialStatement.test.ts +35 -0
  243. package/src/modules/finance-ledger/query/getFinancialStatement.ts +29 -0
  244. package/src/modules/finance-ledger/query/getFiscalYear.generated.ts +5 -0
  245. package/src/modules/finance-ledger/query/getFiscalYear.test.ts +31 -0
  246. package/src/modules/finance-ledger/query/getFiscalYear.ts +21 -0
  247. package/src/modules/finance-ledger/query/getJournalEntry.generated.ts +5 -0
  248. package/src/modules/finance-ledger/query/getJournalEntry.test.ts +35 -0
  249. package/src/modules/finance-ledger/query/getJournalEntry.ts +29 -0
  250. package/src/modules/finance-ledger/query/getPeriodByDate.generated.ts +5 -0
  251. package/src/modules/finance-ledger/query/getPeriodByDate.test.ts +53 -0
  252. package/src/modules/finance-ledger/query/getPeriodByDate.ts +27 -0
  253. package/src/modules/finance-ledger/query/getPeriodClose.generated.ts +5 -0
  254. package/src/modules/finance-ledger/query/getPeriodClose.test.ts +31 -0
  255. package/src/modules/finance-ledger/query/getPeriodClose.ts +21 -0
  256. package/src/modules/finance-ledger/query/getSubledgerTransferStatus.generated.ts +5 -0
  257. package/src/modules/finance-ledger/query/getSubledgerTransferStatus.test.ts +101 -0
  258. package/src/modules/finance-ledger/query/getSubledgerTransferStatus.ts +68 -0
  259. package/src/modules/finance-ledger/query/getTrialBalance.generated.ts +5 -0
  260. package/src/modules/finance-ledger/query/getTrialBalance.test.ts +33 -0
  261. package/src/modules/finance-ledger/query/getTrialBalance.ts +30 -0
  262. package/src/modules/finance-ledger/query/listAccountingPeriods.generated.ts +5 -0
  263. package/src/modules/finance-ledger/query/listAccountingPeriods.test.ts +81 -0
  264. package/src/modules/finance-ledger/query/listAccountingPeriods.ts +61 -0
  265. package/src/modules/finance-ledger/query/listFinancialStatements.generated.ts +5 -0
  266. package/src/modules/finance-ledger/query/listFinancialStatements.test.ts +76 -0
  267. package/src/modules/finance-ledger/query/listFinancialStatements.ts +62 -0
  268. package/src/modules/finance-ledger/query/listFiscalYears.generated.ts +5 -0
  269. package/src/modules/finance-ledger/query/listFiscalYears.test.ts +63 -0
  270. package/src/modules/finance-ledger/query/listFiscalYears.ts +45 -0
  271. package/src/modules/finance-ledger/query/listJournalEntries.generated.ts +5 -0
  272. package/src/modules/finance-ledger/query/listJournalEntries.test.ts +91 -0
  273. package/src/modules/finance-ledger/query/listJournalEntries.ts +64 -0
  274. package/src/modules/finance-ledger/query/listPeriodCloses.generated.ts +5 -0
  275. package/src/modules/finance-ledger/query/listPeriodCloses.test.ts +63 -0
  276. package/src/modules/finance-ledger/query/listPeriodCloses.ts +64 -0
  277. package/src/modules/finance-ledger/query/listTrialBalances.generated.ts +5 -0
  278. package/src/modules/finance-ledger/query/listTrialBalances.test.ts +78 -0
  279. package/src/modules/finance-ledger/query/listTrialBalances.ts +56 -0
  280. package/src/modules/finance-ledger/seed/index.ts +19 -0
  281. package/src/modules/finance-ledger/tailor.config.ts +13 -0
  282. package/src/modules/finance-ledger/tailor.d.ts +13 -0
  283. package/src/modules/finance-ledger/testing/commandTestUtils.ts +35 -0
  284. package/src/modules/finance-ledger/testing/fixtures.ts +382 -0
  285. package/src/modules/finance-ledger/tsconfig.json +16 -0
  286. package/src/progress/schema.test.ts +161 -0
  287. package/src/progress/schema.ts +316 -0
  288. package/templates/scaffold/app/backend/package.json +1 -3
  289. package/templates/scaffold/app/backend/vitest.config.ts +4 -21
  290. package/src/generator/generate-stubs.ts +0 -35
@@ -0,0 +1,46 @@
1
+ # ListAccountingPeriods
2
+
3
+ ## Overview
4
+
5
+ ListAccountingPeriods retrieves a list of accounting periods for a given company or fiscal year, with optional filters for status and period type. Results are sorted by startDate ascending. This query supports period navigation, close workflow coordination, and upstream module posting validation.
6
+
7
+ ## Business Rules
8
+
9
+ - At least one scoping parameter is required: `companyId` or `fiscalYearId`
10
+ - Optional filters:
11
+ - `status` — filter by period status (NEVER_OPENED, FUTURE_ENTERABLE, OPEN, CLOSED, PERMANENTLY_CLOSED)
12
+ - `periodType` — filter by period type (OPERATING, ADJUSTMENT)
13
+ - All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
14
+ - Returns full accounting period records (same shape as GetAccountingPeriod output)
15
+ - Results are sorted by startDate ascending
16
+ - Returns an empty list if no periods match the filters
17
+
18
+ ## Process Flow
19
+
20
+ ```mermaid
21
+ flowchart TD
22
+ A[Receive input with companyId or fiscalYearId] --> B[Build query with scope]
23
+ B --> C{Filters provided?}
24
+ C -->|Yes| D[Apply status and/or periodType filters]
25
+ C -->|No| E[Return all periods in scope]
26
+ D --> E
27
+ E --> F[Sort by startDate ascending]
28
+ F --> G[Return period list]
29
+ ```
30
+
31
+ ## External Dependencies
32
+
33
+ - None
34
+
35
+ ## Error Scenarios
36
+
37
+ - **EMPTY_RESULT**: No accounting periods match the given criteria — returns empty list
38
+
39
+ ## Test Cases
40
+
41
+ - returns error when neither companyId nor fiscalYearId is provided
42
+ - returns all accounting periods for a company
43
+ - returns accounting periods filtered by fiscal year
44
+ - returns accounting periods filtered by status
45
+ - returns accounting periods filtered by period type
46
+ - returns empty list when no accounting periods match
@@ -0,0 +1,46 @@
1
+ # ListFinancialStatements
2
+
3
+ ## Overview
4
+
5
+ ListFinancialStatements retrieves a list of financial statements for a given company, with optional filters for statement type, status, and date range. Results are sorted by creation date descending. This query supports statement management, audit review, and reporting history navigation.
6
+
7
+ ## Business Rules
8
+
9
+ - companyId is required — financial statements are always scoped to a company
10
+ - Optional filters:
11
+ - `statementType` — filter by statement type (BALANCE_SHEET, PROFIT_AND_LOSS, CASH_FLOW)
12
+ - `status` — filter by status (DRAFT, FINALIZED)
13
+ - `dateRange` — filter by reporting date or date range overlap
14
+ - All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
15
+ - Returns financial statement records including header fields (line items are not included in list results for performance)
16
+ - Results are sorted by creation date descending
17
+ - Returns an empty list if no financial statements match the filters
18
+
19
+ ## Process Flow
20
+
21
+ ```mermaid
22
+ flowchart TD
23
+ A[Receive input with companyId] --> B[Build query scoped to companyId]
24
+ B --> C{Filters provided?}
25
+ C -->|Yes| D[Apply statementType, status, and/or dateRange filters]
26
+ C -->|No| E[Return all financial statements for company]
27
+ D --> E
28
+ E --> F[Sort by creation date descending]
29
+ F --> G[Return financial statement list]
30
+ ```
31
+
32
+ ## External Dependencies
33
+
34
+ - None
35
+
36
+ ## Error Scenarios
37
+
38
+ - **EMPTY_RESULT**: No financial statements match the given criteria — returns empty list
39
+
40
+ ## Test Cases
41
+
42
+ - returns all financial statements for a company
43
+ - returns financial statements filtered by statement type
44
+ - returns financial statements filtered by status
45
+ - returns financial statements filtered by dateRange
46
+ - returns empty list when no financial statements match
@@ -0,0 +1,42 @@
1
+ # ListFiscalYears
2
+
3
+ ## Overview
4
+
5
+ ListFiscalYears retrieves a list of fiscal years for a given company, with optional date range filtering. Results are sorted by startDate ascending. This query supports fiscal calendar navigation, period setup workflows, and year-end close coordination.
6
+
7
+ ## Business Rules
8
+
9
+ - companyId is required — fiscal years are always scoped to a company
10
+ - Optional filters:
11
+ - `startDate` / `endDate` — filter fiscal years overlapping the specified date range
12
+ - Returns full fiscal year records (same shape as GetFiscalYear output)
13
+ - Results are sorted by startDate ascending
14
+ - Returns an empty list if no fiscal years match the filters
15
+
16
+ ## Process Flow
17
+
18
+ ```mermaid
19
+ flowchart TD
20
+ A[Receive input with companyId] --> B[Build query scoped to companyId]
21
+ B --> C{Date range filter provided?}
22
+ C -->|Yes| D[Apply date range filter to query]
23
+ C -->|No| E[Return all fiscal years for company]
24
+ D --> E
25
+ E --> F[Sort by startDate ascending]
26
+ F --> G[Return fiscal year list]
27
+ ```
28
+
29
+ ## External Dependencies
30
+
31
+ - None
32
+
33
+ ## Error Scenarios
34
+
35
+ - **EMPTY_RESULT**: No fiscal years match the given criteria — returns empty list
36
+
37
+ ## Test Cases
38
+
39
+ - returns all fiscal years for a company
40
+ - returns fiscal years filtered by startDate
41
+ - returns fiscal years filtered by endDate
42
+ - returns empty list when no fiscal years match
@@ -0,0 +1,48 @@
1
+ # ListJournalEntries
2
+
3
+ ## Overview
4
+
5
+ ListJournalEntries retrieves a list of journal entries with various filters. This query supports journal review workflows, period-end reconciliation, audit inquiries, and subledger-to-GL reconciliation by allowing filtering on company, period, journal type, status, and date range. Results are sorted by entryDate descending.
6
+
7
+ ## Business Rules
8
+
9
+ - companyId is required — journal entries are always scoped to a company
10
+ - Optional filters:
11
+ - `accountingPeriodId` — filter by accounting period
12
+ - `journalType` — filter by journal type (Sales, Purchase, Cash, Bank, Miscellaneous, Opening, Closing)
13
+ - `status` — filter by status (DRAFT, POSTED, REVERSED)
14
+ - `dateRange` — filter by entry date range (startDate and endDate)
15
+ - All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
16
+ - Returns full journal entry records including header fields (journal lines are not included in list results for performance)
17
+ - Results are sorted by entryDate descending
18
+ - Returns an empty list if no journal entries match the filters
19
+
20
+ ## Process Flow
21
+
22
+ ```mermaid
23
+ flowchart TD
24
+ A[Receive input with companyId] --> B[Build query scoped to companyId]
25
+ B --> C{Filters provided?}
26
+ C -->|Yes| D[Apply accountingPeriodId, journalType, status, and/or dateRange filters]
27
+ C -->|No| E[Return all journal entries for company]
28
+ D --> E
29
+ E --> F[Sort by entryDate descending]
30
+ F --> G[Return journal entry list]
31
+ ```
32
+
33
+ ## External Dependencies
34
+
35
+ - None
36
+
37
+ ## Error Scenarios
38
+
39
+ - **EMPTY_RESULT**: No journal entries match the given criteria — returns empty list
40
+
41
+ ## Test Cases
42
+
43
+ - returns all journal entries for a company
44
+ - returns journal entries filtered by accounting period
45
+ - returns journal entries filtered by journal type
46
+ - returns journal entries filtered by status
47
+ - returns journal entries filtered by date range
48
+ - returns empty list when no journal entries match
@@ -0,0 +1,46 @@
1
+ # ListPeriodCloses
2
+
3
+ ## Overview
4
+
5
+ ListPeriodCloses retrieves a list of period close records for a given company, with optional filters by fiscal year and status. Results are sorted by the associated accounting period's start date ascending. This query supports close coordination dashboards, audit trail review, and multi-entity close progress tracking.
6
+
7
+ ## Business Rules
8
+
9
+ - companyId is required — period close records are always scoped to a company via their associated accounting period
10
+ - Optional filters:
11
+ - `fiscalYearId` — filter to period closes within a specific fiscal year
12
+ - `status` — filter by close status (NOT_STARTED, IN_PROGRESS, SUBLEDGERS_VERIFIED, ADJUSTMENTS_POSTED, TRIAL_BALANCE_VERIFIED, UNDER_REVIEW, SOFT_LOCKED, PERMANENTLY_CLOSED)
13
+ - All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
14
+ - Returns full period close records (same shape as GetPeriodClose output)
15
+ - Results are sorted by the associated accounting period's start date ascending
16
+ - Returns an empty list if no period close records match the filters
17
+
18
+ ## Process Flow
19
+
20
+ ```mermaid
21
+ flowchart TD
22
+ A[Receive input with companyId] --> B[Build query scoped to companyId via accounting period join]
23
+ B --> C{Fiscal year filter provided?}
24
+ C -->|Yes| D[Apply fiscal year filter]
25
+ C -->|No| E{Status filter provided?}
26
+ D --> E
27
+ E -->|Yes| F[Apply status filter]
28
+ E -->|No| G[Sort by associated period startDate ascending]
29
+ F --> G
30
+ G --> H[Return period close list]
31
+ ```
32
+
33
+ ## External Dependencies
34
+
35
+ - None
36
+
37
+ ## Error Scenarios
38
+
39
+ - **EMPTY_RESULT**: No period close records match the given criteria — returns empty list
40
+
41
+ ## Test Cases
42
+
43
+ - returns all period closes for a company
44
+ - returns period closes filtered by fiscal year
45
+ - returns period closes filtered by status
46
+ - returns empty list when no period closes match
@@ -0,0 +1,51 @@
1
+ # ListTrialBalances
2
+
3
+ ## Overview
4
+
5
+ ListTrialBalances retrieves a list of trial balance snapshots for a given company, with optional filters by accounting period and variant (PRE_CLOSE or POST_CLOSE). Results are sorted by generation timestamp descending. This query supports multi-period comparison, audit preparation, and period-end close workflows.
6
+
7
+ ## Business Rules
8
+
9
+ - companyId is required — trial balances are always scoped to a company
10
+ - Optional filters:
11
+ - `accountingPeriodId` — filter to a specific period
12
+ - `variant` — filter by PRE_CLOSE or POST_CLOSE
13
+ - `fiscalYearId` — filter to all periods within a fiscal year
14
+ - All filters can be combined; when multiple filters are provided, results must match all criteria (AND logic)
15
+ - Returns trial balance header records (generation parameters, variant, timestamp — line items are not included in list results for performance)
16
+ - Results are sorted by generatedAt timestamp descending (most recent first)
17
+ - Returns an empty list if no trial balances match the filters
18
+
19
+ ## Process Flow
20
+
21
+ ```mermaid
22
+ flowchart TD
23
+ A[Receive input with companyId] --> B[Build query scoped to companyId]
24
+ B --> C{Period filter provided?}
25
+ C -->|Yes| D[Apply accounting period filter]
26
+ C -->|No| E{Fiscal year filter provided?}
27
+ D --> F{Variant filter provided?}
28
+ E -->|Yes| G[Apply fiscal year filter via period lookup]
29
+ E -->|No| F
30
+ G --> F
31
+ F -->|Yes| H[Apply variant filter]
32
+ F -->|No| I[Sort by generatedAt descending]
33
+ H --> I
34
+ I --> J[Return trial balance list]
35
+ ```
36
+
37
+ ## External Dependencies
38
+
39
+ - None
40
+
41
+ ## Error Scenarios
42
+
43
+ - **EMPTY_RESULT**: No trial balances match the given criteria — returns empty list
44
+
45
+ ## Test Cases
46
+
47
+ - returns all trial balances for a company
48
+ - returns trial balances filtered by accounting period
49
+ - returns trial balances filtered by variant
50
+ - returns trial balances filtered by fiscal year via subquery
51
+ - returns empty list when no trial balances match
File without changes
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Period type
3
+ */
4
+ export const AccountingPeriodPeriodType = {
5
+ "OPERATING": "OPERATING",
6
+ "ADJUSTMENT": "ADJUSTMENT"
7
+ } as const;
8
+ export type AccountingPeriodPeriodType = (typeof AccountingPeriodPeriodType)[keyof typeof AccountingPeriodPeriodType];
9
+
10
+ /**
11
+ * Accounting period lifecycle status
12
+ */
13
+ export const AccountingPeriodStatus = {
14
+ "NEVER_OPENED": "NEVER_OPENED",
15
+ "FUTURE_ENTERABLE": "FUTURE_ENTERABLE",
16
+ "OPEN": "OPEN",
17
+ "CLOSED": "CLOSED",
18
+ "PERMANENTLY_CLOSED": "PERMANENTLY_CLOSED"
19
+ } as const;
20
+ export type AccountingPeriodStatus = (typeof AccountingPeriodStatus)[keyof typeof AccountingPeriodStatus];
21
+
22
+ /**
23
+ * Type of financial statement
24
+ */
25
+ export const FinancialStatementStatementType = {
26
+ "BALANCE_SHEET": "BALANCE_SHEET",
27
+ "PROFIT_AND_LOSS": "PROFIT_AND_LOSS",
28
+ "CASH_FLOW": "CASH_FLOW"
29
+ } as const;
30
+ export type FinancialStatementStatementType = (typeof FinancialStatementStatementType)[keyof typeof FinancialStatementStatementType];
31
+
32
+ /**
33
+ * Financial statement lifecycle status
34
+ */
35
+ export const FinancialStatementStatus = {
36
+ "DRAFT": "DRAFT",
37
+ "FINALIZED": "FINALIZED"
38
+ } as const;
39
+ export type FinancialStatementStatus = (typeof FinancialStatementStatus)[keyof typeof FinancialStatementStatus];
40
+
41
+ /**
42
+ * Line type: DETAIL, SUBTOTAL, or TOTAL
43
+ */
44
+ export const FinancialStatementLineItemLineType = {
45
+ "DETAIL": "DETAIL",
46
+ "SUBTOTAL": "SUBTOTAL",
47
+ "TOTAL": "TOTAL"
48
+ } as const;
49
+ export type FinancialStatementLineItemLineType = (typeof FinancialStatementLineItemLineType)[keyof typeof FinancialStatementLineItemLineType];
50
+
51
+ /**
52
+ * Journal type categorizing the business origin (SALES, PURCHASE, CASH, BANK, MISCELLANEOUS, OPENING, CLOSING, INVENTORY, MANUFACTURING)
53
+ */
54
+ export const JournalEntryJournalType = {
55
+ "SALES": "SALES",
56
+ "PURCHASE": "PURCHASE",
57
+ "CASH": "CASH",
58
+ "BANK": "BANK",
59
+ "MISCELLANEOUS": "MISCELLANEOUS",
60
+ "OPENING": "OPENING",
61
+ "CLOSING": "CLOSING",
62
+ "INVENTORY": "INVENTORY",
63
+ "MANUFACTURING": "MANUFACTURING"
64
+ } as const;
65
+ export type JournalEntryJournalType = (typeof JournalEntryJournalType)[keyof typeof JournalEntryJournalType];
66
+
67
+ /**
68
+ * Journal entry lifecycle status (DRAFT, POSTED, REVERSED)
69
+ */
70
+ export const JournalEntryStatus = {
71
+ "DRAFT": "DRAFT",
72
+ "POSTED": "POSTED",
73
+ "REVERSED": "REVERSED"
74
+ } as const;
75
+ export type JournalEntryStatus = (typeof JournalEntryStatus)[keyof typeof JournalEntryStatus];
76
+
77
+ /**
78
+ * Optional adjusting entry type for period-end adjustments (ACCRUAL, DEFERRAL, RECLASSIFICATION)
79
+ */
80
+ export const JournalEntryAdjustingEntryType = {
81
+ "ACCRUAL": "ACCRUAL",
82
+ "DEFERRAL": "DEFERRAL",
83
+ "RECLASSIFICATION": "RECLASSIFICATION"
84
+ } as const;
85
+ export type JournalEntryAdjustingEntryType = (typeof JournalEntryAdjustingEntryType)[keyof typeof JournalEntryAdjustingEntryType];
86
+
87
+ /**
88
+ * Period close lifecycle status
89
+ */
90
+ export const PeriodCloseStatus = {
91
+ "NOT_STARTED": "NOT_STARTED",
92
+ "IN_PROGRESS": "IN_PROGRESS",
93
+ "SUBLEDGERS_VERIFIED": "SUBLEDGERS_VERIFIED",
94
+ "ADJUSTMENTS_POSTED": "ADJUSTMENTS_POSTED",
95
+ "TRIAL_BALANCE_VERIFIED": "TRIAL_BALANCE_VERIFIED",
96
+ "UNDER_REVIEW": "UNDER_REVIEW",
97
+ "SOFT_LOCKED": "SOFT_LOCKED",
98
+ "PERMANENTLY_CLOSED": "PERMANENTLY_CLOSED"
99
+ } as const;
100
+ export type PeriodCloseStatus = (typeof PeriodCloseStatus)[keyof typeof PeriodCloseStatus];
101
+
102
+ /**
103
+ * Trial balance variant (PRE_CLOSE or POST_CLOSE)
104
+ */
105
+ export const TrialBalanceVariant = {
106
+ "PRE_CLOSE": "PRE_CLOSE",
107
+ "POST_CLOSE": "POST_CLOSE"
108
+ } as const;
109
+ export type TrialBalanceVariant = (typeof TrialBalanceVariant)[keyof typeof TrialBalanceVariant];
@@ -0,0 +1,202 @@
1
+ import {
2
+ createGetDB,
3
+ type Generated,
4
+ type Timestamp,
5
+ type NamespaceDB,
6
+ type NamespaceInsertable,
7
+ type NamespaceSelectable,
8
+ type NamespaceTable,
9
+ type NamespaceTableName,
10
+ type NamespaceTransaction,
11
+ type NamespaceUpdateable,
12
+ } from "@tailor-platform/sdk/kysely";
13
+
14
+ export interface Namespace {
15
+ "main-db": {
16
+ AccountingPeriod: {
17
+ id: Generated<string>;
18
+ companyId: string;
19
+ fiscalYearId: string;
20
+ name: string;
21
+ startDate: Timestamp;
22
+ endDate: Timestamp;
23
+ periodType: "OPERATING" | "ADJUSTMENT";
24
+ status: "NEVER_OPENED" | "FUTURE_ENTERABLE" | "OPEN" | "CLOSED" | "PERMANENTLY_CLOSED";
25
+ createdAt: Generated<Timestamp>;
26
+ updatedAt: Timestamp | null;
27
+ }
28
+
29
+ FinancialStatement: {
30
+ id: Generated<string>;
31
+ companyId: string;
32
+ chartOfAccountsId: string;
33
+ trialBalanceId: string;
34
+ comparativePeriodTrialBalanceId: string | null;
35
+ statementType: "BALANCE_SHEET" | "PROFIT_AND_LOSS" | "CASH_FLOW";
36
+ status: "DRAFT" | "FINALIZED";
37
+ reportingDate: Timestamp | null;
38
+ startDate: Timestamp | null;
39
+ endDate: Timestamp | null;
40
+ cashFlowMethod: string | null;
41
+ generatedAt: Timestamp;
42
+ finalizedAt: Timestamp | null;
43
+ createdAt: Generated<Timestamp>;
44
+ updatedAt: Timestamp | null;
45
+ }
46
+
47
+ FinancialStatementLineItem: {
48
+ id: Generated<string>;
49
+ financialStatementId: string;
50
+ accountId: string | null;
51
+ accountGroupId: string | null;
52
+ label: string;
53
+ amount: number;
54
+ comparativeAmount: number | null;
55
+ lineType: "DETAIL" | "SUBTOTAL" | "TOTAL";
56
+ sectionType: string;
57
+ sortOrder: number;
58
+ createdAt: Generated<Timestamp>;
59
+ updatedAt: Timestamp | null;
60
+ }
61
+
62
+ FiscalYear: {
63
+ id: Generated<string>;
64
+ companyId: string;
65
+ name: string;
66
+ startDate: Timestamp;
67
+ endDate: Timestamp;
68
+ yearEndCloseExecuted: boolean;
69
+ createdAt: Generated<Timestamp>;
70
+ updatedAt: Timestamp | null;
71
+ }
72
+
73
+ JournalEntry: {
74
+ id: Generated<string>;
75
+ companyId: string;
76
+ accountingPeriodId: string;
77
+ entryDate: Timestamp;
78
+ journalType: "SALES" | "PURCHASE" | "CASH" | "BANK" | "MISCELLANEOUS" | "OPENING" | "CLOSING" | "INVENTORY" | "MANUFACTURING";
79
+ referenceNumber: string;
80
+ status: "DRAFT" | "POSTED" | "REVERSED";
81
+ description: string | null;
82
+ sourceDocumentReference: string | null;
83
+ adjustingEntryType: "ACCRUAL" | "DEFERRAL" | "RECLASSIFICATION" | null;
84
+ reversalOfId: string | null;
85
+ postedAt: Timestamp | null;
86
+ createdAt: Generated<Timestamp>;
87
+ updatedAt: Timestamp | null;
88
+ }
89
+
90
+ JournalLine: {
91
+ id: Generated<string>;
92
+ journalEntryId: string;
93
+ accountId: string;
94
+ debitAmount: number | null;
95
+ creditAmount: number | null;
96
+ description: string | null;
97
+ currencyCode: string | null;
98
+ exchangeRate: number | null;
99
+ functionalDebitAmount: number | null;
100
+ functionalCreditAmount: number | null;
101
+ createdAt: Generated<Timestamp>;
102
+ updatedAt: Timestamp | null;
103
+ }
104
+
105
+ PeriodClose: {
106
+ id: Generated<string>;
107
+ accountingPeriodId: string;
108
+ status: "NOT_STARTED" | "IN_PROGRESS" | "SUBLEDGERS_VERIFIED" | "ADJUSTMENTS_POSTED" | "TRIAL_BALANCE_VERIFIED" | "UNDER_REVIEW" | "SOFT_LOCKED" | "PERMANENTLY_CLOSED";
109
+ initiatedByUserId: string;
110
+ completionPercentage: number;
111
+ subledgerVerificationDetails: string | null;
112
+ trialBalanceId: string | null;
113
+ preliminaryStatementIds: string | null;
114
+ approvedByUserId: string | null;
115
+ finalizedByUserId: string | null;
116
+ yearEndCloseExecuted: boolean;
117
+ createdAt: Generated<Timestamp>;
118
+ updatedAt: Timestamp | null;
119
+ }
120
+
121
+ TrialBalance: {
122
+ id: Generated<string>;
123
+ companyId: string;
124
+ accountingPeriodId: string;
125
+ chartOfAccountsId: string;
126
+ variant: "PRE_CLOSE" | "POST_CLOSE";
127
+ generatedAt: Timestamp;
128
+ totalDebits: number;
129
+ totalCredits: number;
130
+ isBalanced: boolean;
131
+ createdAt: Generated<Timestamp>;
132
+ updatedAt: Timestamp | null;
133
+ }
134
+
135
+ TrialBalanceLine: {
136
+ id: Generated<string>;
137
+ trialBalanceId: string;
138
+ accountId: string;
139
+ accountGroupId: string | null;
140
+ accountCode: string;
141
+ accountName: string;
142
+ openingBalance: number;
143
+ periodDebits: number;
144
+ periodCredits: number;
145
+ closingBalance: number;
146
+ sortOrder: number;
147
+ createdAt: Generated<Timestamp>;
148
+ updatedAt: Timestamp | null;
149
+ }
150
+
151
+ Account: {
152
+ id: Generated<string>;
153
+ code: string | null;
154
+ name: string | null;
155
+ classification: string | null;
156
+ status: string | null;
157
+ successorAccountId: string | null;
158
+ }
159
+
160
+ AccountGroup: {
161
+ id: Generated<string>;
162
+ name: string | null;
163
+ code: string | null;
164
+ }
165
+
166
+ ChartOfAccounts: {
167
+ id: Generated<string>;
168
+ companyId: string | null;
169
+ status: string | null;
170
+ }
171
+
172
+ Company: {
173
+ id: Generated<string>;
174
+ status: string | null;
175
+ }
176
+
177
+ Currency: {
178
+ id: Generated<string>;
179
+ code: string | null;
180
+ isActive: boolean | null;
181
+ }
182
+
183
+ User: {
184
+ id: Generated<string>;
185
+ status: string | null;
186
+ }
187
+ }
188
+ }
189
+
190
+ export const getDB = createGetDB<Namespace>();
191
+
192
+ export type DB<N extends keyof Namespace = keyof Namespace> = NamespaceDB<Namespace, N>;
193
+
194
+ export type Transaction<K extends keyof Namespace | DB = keyof Namespace> =
195
+ NamespaceTransaction<Namespace, K>;
196
+
197
+ type TableName = NamespaceTableName<Namespace>;
198
+ export type Table<T extends TableName> = NamespaceTable<Namespace, T>;
199
+
200
+ export type Insertable<T extends TableName> = NamespaceInsertable<Namespace, T>;
201
+ export type Selectable<T extends TableName> = NamespaceSelectable<Namespace, T>;
202
+ export type Updateable<T extends TableName> = NamespaceUpdateable<Namespace, T>;
@@ -0,0 +1,2 @@
1
+ export { defineModule } from "./module";
2
+ export { permissions, own, all } from "./lib/permissions.generated";
@@ -0,0 +1,56 @@
1
+ // Stub types for cross-module dependencies — used only for codegen.
2
+ // At runtime, actual types are injected via defineModule() params.
3
+ import {
4
+ db,
5
+ unsafeAllowAllGqlPermission,
6
+ unsafeAllowAllTypePermission,
7
+ } from "@tailor-platform/sdk";
8
+
9
+ export const company = db
10
+ .type("Company", {
11
+ status: db.string({ optional: true }),
12
+ })
13
+ .permission(unsafeAllowAllTypePermission)
14
+ .gqlPermission(unsafeAllowAllGqlPermission);
15
+
16
+ export const account = db
17
+ .type("Account", {
18
+ code: db.string({ optional: true }),
19
+ name: db.string({ optional: true }),
20
+ classification: db.string({ optional: true }),
21
+ status: db.string({ optional: true }),
22
+ successorAccountId: db.uuid({ optional: true }),
23
+ })
24
+ .permission(unsafeAllowAllTypePermission)
25
+ .gqlPermission(unsafeAllowAllGqlPermission);
26
+
27
+ export const accountGroup = db
28
+ .type("AccountGroup", {
29
+ name: db.string({ optional: true }),
30
+ code: db.string({ optional: true }),
31
+ })
32
+ .permission(unsafeAllowAllTypePermission)
33
+ .gqlPermission(unsafeAllowAllGqlPermission);
34
+
35
+ export const chartOfAccounts = db
36
+ .type(["ChartOfAccounts", "ChartsOfAccounts"], {
37
+ companyId: db.uuid({ optional: true }),
38
+ status: db.string({ optional: true }),
39
+ })
40
+ .permission(unsafeAllowAllTypePermission)
41
+ .gqlPermission(unsafeAllowAllGqlPermission);
42
+
43
+ export const currency = db
44
+ .type("Currency", {
45
+ code: db.string({ optional: true }),
46
+ isActive: db.bool({ optional: true }),
47
+ })
48
+ .permission(unsafeAllowAllTypePermission)
49
+ .gqlPermission(unsafeAllowAllGqlPermission);
50
+
51
+ export const user = db
52
+ .type("User", {
53
+ status: db.string({ optional: true }),
54
+ })
55
+ .permission(unsafeAllowAllTypePermission)
56
+ .gqlPermission(unsafeAllowAllGqlPermission);