@taxdao/fintax-mcp 0.2.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 (341) hide show
  1. package/README.md +220 -0
  2. package/dist/app/create-server.d.ts +18 -0
  3. package/dist/app/create-server.js +80 -0
  4. package/dist/app/create-server.js.map +1 -0
  5. package/dist/app/register-tools.d.ts +4 -0
  6. package/dist/app/register-tools.js +18 -0
  7. package/dist/app/register-tools.js.map +1 -0
  8. package/dist/audit/audit-context.d.ts +38 -0
  9. package/dist/audit/audit-context.js +167 -0
  10. package/dist/audit/audit-context.js.map +1 -0
  11. package/dist/audit/audit-sink.d.ts +20 -0
  12. package/dist/audit/audit-sink.js +6 -0
  13. package/dist/audit/audit-sink.js.map +1 -0
  14. package/dist/audit/file-audit-sink.d.ts +6 -0
  15. package/dist/audit/file-audit-sink.js +18 -0
  16. package/dist/audit/file-audit-sink.js.map +1 -0
  17. package/dist/auth/auth-session.d.ts +63 -0
  18. package/dist/auth/auth-session.js +226 -0
  19. package/dist/auth/auth-session.js.map +1 -0
  20. package/dist/auth/credentials.d.ts +6 -0
  21. package/dist/auth/credentials.js +12 -0
  22. package/dist/auth/credentials.js.map +1 -0
  23. package/dist/auth/org-token-provider.d.ts +15 -0
  24. package/dist/auth/org-token-provider.js +62 -0
  25. package/dist/auth/org-token-provider.js.map +1 -0
  26. package/dist/capabilities/capability.d.ts +100 -0
  27. package/dist/capabilities/capability.js +26 -0
  28. package/dist/capabilities/capability.js.map +1 -0
  29. package/dist/capabilities/create-capabilities.d.ts +2 -0
  30. package/dist/capabilities/create-capabilities.js +37 -0
  31. package/dist/capabilities/create-capabilities.js.map +1 -0
  32. package/dist/capabilities/define-capability.d.ts +39 -0
  33. package/dist/capabilities/define-capability.js +64 -0
  34. package/dist/capabilities/define-capability.js.map +1 -0
  35. package/dist/capabilities/definitions/accounting-balances.d.ts +4 -0
  36. package/dist/capabilities/definitions/accounting-balances.js +98 -0
  37. package/dist/capabilities/definitions/accounting-balances.js.map +1 -0
  38. package/dist/capabilities/definitions/accounting-context.d.ts +2 -0
  39. package/dist/capabilities/definitions/accounting-context.js +17 -0
  40. package/dist/capabilities/definitions/accounting-context.js.map +1 -0
  41. package/dist/capabilities/definitions/assets.d.ts +2 -0
  42. package/dist/capabilities/definitions/assets.js +367 -0
  43. package/dist/capabilities/definitions/assets.js.map +1 -0
  44. package/dist/capabilities/definitions/business-documents.d.ts +9 -0
  45. package/dist/capabilities/definitions/business-documents.js +386 -0
  46. package/dist/capabilities/definitions/business-documents.js.map +1 -0
  47. package/dist/capabilities/definitions/dashboard.d.ts +2 -0
  48. package/dist/capabilities/definitions/dashboard.js +153 -0
  49. package/dist/capabilities/definitions/dashboard.js.map +1 -0
  50. package/dist/capabilities/definitions/extended-operation-contracts.d.ts +597 -0
  51. package/dist/capabilities/definitions/extended-operation-contracts.js +1180 -0
  52. package/dist/capabilities/definitions/extended-operation-contracts.js.map +1 -0
  53. package/dist/capabilities/definitions/extended-operations.d.ts +2 -0
  54. package/dist/capabilities/definitions/extended-operations.js +699 -0
  55. package/dist/capabilities/definitions/extended-operations.js.map +1 -0
  56. package/dist/capabilities/definitions/financial-reports.d.ts +2 -0
  57. package/dist/capabilities/definitions/financial-reports.js +100 -0
  58. package/dist/capabilities/definitions/financial-reports.js.map +1 -0
  59. package/dist/capabilities/definitions/fnd-import.d.ts +34 -0
  60. package/dist/capabilities/definitions/fnd-import.js +282 -0
  61. package/dist/capabilities/definitions/fnd-import.js.map +1 -0
  62. package/dist/capabilities/definitions/fund-accounts.d.ts +2 -0
  63. package/dist/capabilities/definitions/fund-accounts.js +188 -0
  64. package/dist/capabilities/definitions/fund-accounts.js.map +1 -0
  65. package/dist/capabilities/definitions/fund-balances.d.ts +2 -0
  66. package/dist/capabilities/definitions/fund-balances.js +84 -0
  67. package/dist/capabilities/definitions/fund-balances.js.map +1 -0
  68. package/dist/capabilities/definitions/journals.d.ts +10 -0
  69. package/dist/capabilities/definitions/journals.js +224 -0
  70. package/dist/capabilities/definitions/journals.js.map +1 -0
  71. package/dist/capabilities/definitions/master-data.d.ts +2 -0
  72. package/dist/capabilities/definitions/master-data.js +451 -0
  73. package/dist/capabilities/definitions/master-data.js.map +1 -0
  74. package/dist/capabilities/definitions/pnl.d.ts +2 -0
  75. package/dist/capabilities/definitions/pnl.js +139 -0
  76. package/dist/capabilities/definitions/pnl.js.map +1 -0
  77. package/dist/capabilities/definitions/reference-data.d.ts +2 -0
  78. package/dist/capabilities/definitions/reference-data.js +169 -0
  79. package/dist/capabilities/definitions/reference-data.js.map +1 -0
  80. package/dist/capabilities/definitions/transaction-drafts.d.ts +2 -0
  81. package/dist/capabilities/definitions/transaction-drafts.js +157 -0
  82. package/dist/capabilities/definitions/transaction-drafts.js.map +1 -0
  83. package/dist/capabilities/definitions/transactions.d.ts +168 -0
  84. package/dist/capabilities/definitions/transactions.js +79 -0
  85. package/dist/capabilities/definitions/transactions.js.map +1 -0
  86. package/dist/capabilities/executor.d.ts +19 -0
  87. package/dist/capabilities/executor.js +134 -0
  88. package/dist/capabilities/executor.js.map +1 -0
  89. package/dist/capabilities/registry.d.ts +7 -0
  90. package/dist/capabilities/registry.js +51 -0
  91. package/dist/capabilities/registry.js.map +1 -0
  92. package/dist/clients/base-client.d.ts +5 -0
  93. package/dist/clients/base-client.js +13 -0
  94. package/dist/clients/base-client.js.map +1 -0
  95. package/dist/clients/http-client.d.ts +29 -0
  96. package/dist/clients/http-client.js +167 -0
  97. package/dist/clients/http-client.js.map +1 -0
  98. package/dist/clients/suite-client.d.ts +5 -0
  99. package/dist/clients/suite-client.js +5 -0
  100. package/dist/clients/suite-client.js.map +1 -0
  101. package/dist/concurrency/lock-manager.d.ts +4 -0
  102. package/dist/concurrency/lock-manager.js +23 -0
  103. package/dist/concurrency/lock-manager.js.map +1 -0
  104. package/dist/config/load-config.d.ts +2 -0
  105. package/dist/config/load-config.js +18 -0
  106. package/dist/config/load-config.js.map +1 -0
  107. package/dist/config/schema.d.ts +24 -0
  108. package/dist/config/schema.js +85 -0
  109. package/dist/config/schema.js.map +1 -0
  110. package/dist/errors/fintax-error.d.ts +24 -0
  111. package/dist/errors/fintax-error.js +21 -0
  112. package/dist/errors/fintax-error.js.map +1 -0
  113. package/dist/errors/normalize-error.d.ts +3 -0
  114. package/dist/errors/normalize-error.js +67 -0
  115. package/dist/errors/normalize-error.js.map +1 -0
  116. package/dist/files/artifact-store.d.ts +17 -0
  117. package/dist/files/artifact-store.js +74 -0
  118. package/dist/files/artifact-store.js.map +1 -0
  119. package/dist/files/input-policy.d.ts +28 -0
  120. package/dist/files/input-policy.js +109 -0
  121. package/dist/files/input-policy.js.map +1 -0
  122. package/dist/files/roots-provider.d.ts +14 -0
  123. package/dist/files/roots-provider.js +47 -0
  124. package/dist/files/roots-provider.js.map +1 -0
  125. package/dist/index.d.ts +2 -0
  126. package/dist/index.js +49 -0
  127. package/dist/index.js.map +1 -0
  128. package/dist/logging/logger.d.ts +3 -0
  129. package/dist/logging/logger.js +13 -0
  130. package/dist/logging/logger.js.map +1 -0
  131. package/dist/policies/idempotency.d.ts +32 -0
  132. package/dist/policies/idempotency.js +155 -0
  133. package/dist/policies/idempotency.js.map +1 -0
  134. package/dist/policies/job-reference.d.ts +16 -0
  135. package/dist/policies/job-reference.js +62 -0
  136. package/dist/policies/job-reference.js.map +1 -0
  137. package/dist/policies/operation-plan.d.ts +27 -0
  138. package/dist/policies/operation-plan.js +99 -0
  139. package/dist/policies/operation-plan.js.map +1 -0
  140. package/dist/policies/redaction.d.ts +2 -0
  141. package/dist/policies/redaction.js +29 -0
  142. package/dist/policies/redaction.js.map +1 -0
  143. package/dist/policies/retry.d.ts +8 -0
  144. package/dist/policies/retry.js +19 -0
  145. package/dist/policies/retry.js.map +1 -0
  146. package/dist/responses/tool-response.d.ts +4 -0
  147. package/dist/responses/tool-response.js +24 -0
  148. package/dist/responses/tool-response.js.map +1 -0
  149. package/dist/schemas/common.d.ts +226 -0
  150. package/dist/schemas/common.js +133 -0
  151. package/dist/schemas/common.js.map +1 -0
  152. package/dist/schemas/domains/accounting-balances.d.ts +497 -0
  153. package/dist/schemas/domains/accounting-balances.js +226 -0
  154. package/dist/schemas/domains/accounting-balances.js.map +1 -0
  155. package/dist/schemas/domains/accounting-context.d.ts +118 -0
  156. package/dist/schemas/domains/accounting-context.js +54 -0
  157. package/dist/schemas/domains/accounting-context.js.map +1 -0
  158. package/dist/schemas/domains/assets.d.ts +2508 -0
  159. package/dist/schemas/domains/assets.js +960 -0
  160. package/dist/schemas/domains/assets.js.map +1 -0
  161. package/dist/schemas/domains/business-documents.d.ts +4406 -0
  162. package/dist/schemas/domains/business-documents.js +1153 -0
  163. package/dist/schemas/domains/business-documents.js.map +1 -0
  164. package/dist/schemas/domains/configuration.d.ts +518 -0
  165. package/dist/schemas/domains/configuration.js +504 -0
  166. package/dist/schemas/domains/configuration.js.map +1 -0
  167. package/dist/schemas/domains/dashboard.d.ts +339 -0
  168. package/dist/schemas/domains/dashboard.js +211 -0
  169. package/dist/schemas/domains/dashboard.js.map +1 -0
  170. package/dist/schemas/domains/extended-operation-results.d.ts +1588 -0
  171. package/dist/schemas/domains/extended-operation-results.js +275 -0
  172. package/dist/schemas/domains/extended-operation-results.js.map +1 -0
  173. package/dist/schemas/domains/extended-operations.d.ts +1061 -0
  174. package/dist/schemas/domains/extended-operations.js +567 -0
  175. package/dist/schemas/domains/extended-operations.js.map +1 -0
  176. package/dist/schemas/domains/extended-query-results.d.ts +1688 -0
  177. package/dist/schemas/domains/extended-query-results.js +337 -0
  178. package/dist/schemas/domains/extended-query-results.js.map +1 -0
  179. package/dist/schemas/domains/financial-reports.d.ts +540 -0
  180. package/dist/schemas/domains/financial-reports.js +206 -0
  181. package/dist/schemas/domains/financial-reports.js.map +1 -0
  182. package/dist/schemas/domains/fnd-import.d.ts +912 -0
  183. package/dist/schemas/domains/fnd-import.js +396 -0
  184. package/dist/schemas/domains/fnd-import.js.map +1 -0
  185. package/dist/schemas/domains/fund-accounts.d.ts +1092 -0
  186. package/dist/schemas/domains/fund-accounts.js +410 -0
  187. package/dist/schemas/domains/fund-accounts.js.map +1 -0
  188. package/dist/schemas/domains/fund-balances.d.ts +476 -0
  189. package/dist/schemas/domains/fund-balances.js +233 -0
  190. package/dist/schemas/domains/fund-balances.js.map +1 -0
  191. package/dist/schemas/domains/journals.d.ts +1619 -0
  192. package/dist/schemas/domains/journals.js +615 -0
  193. package/dist/schemas/domains/journals.js.map +1 -0
  194. package/dist/schemas/domains/master-data.d.ts +2010 -0
  195. package/dist/schemas/domains/master-data.js +799 -0
  196. package/dist/schemas/domains/master-data.js.map +1 -0
  197. package/dist/schemas/domains/pnl.d.ts +837 -0
  198. package/dist/schemas/domains/pnl.js +469 -0
  199. package/dist/schemas/domains/pnl.js.map +1 -0
  200. package/dist/schemas/domains/reference-data.d.ts +227 -0
  201. package/dist/schemas/domains/reference-data.js +144 -0
  202. package/dist/schemas/domains/reference-data.js.map +1 -0
  203. package/dist/schemas/domains/transaction-drafts.d.ts +903 -0
  204. package/dist/schemas/domains/transaction-drafts.js +242 -0
  205. package/dist/schemas/domains/transaction-drafts.js.map +1 -0
  206. package/dist/schemas/domains/transactions.d.ts +910 -0
  207. package/dist/schemas/domains/transactions.js +266 -0
  208. package/dist/schemas/domains/transactions.js.map +1 -0
  209. package/dist/schemas/primitives.d.ts +6 -0
  210. package/dist/schemas/primitives.js +11 -0
  211. package/dist/schemas/primitives.js.map +1 -0
  212. package/dist/schemas/public-input.d.ts +3 -0
  213. package/dist/schemas/public-input.js +524 -0
  214. package/dist/schemas/public-input.js.map +1 -0
  215. package/dist/tools/core-edit/idempotent-write.d.ts +23 -0
  216. package/dist/tools/core-edit/idempotent-write.js +58 -0
  217. package/dist/tools/core-edit/idempotent-write.js.map +1 -0
  218. package/dist/tools/core-edit/save-asset.d.ts +5 -0
  219. package/dist/tools/core-edit/save-asset.js +334 -0
  220. package/dist/tools/core-edit/save-asset.js.map +1 -0
  221. package/dist/tools/core-edit/save-business-document-draft.d.ts +2 -0
  222. package/dist/tools/core-edit/save-business-document-draft.js +128 -0
  223. package/dist/tools/core-edit/save-business-document-draft.js.map +1 -0
  224. package/dist/tools/core-edit/save-fund-account.d.ts +2 -0
  225. package/dist/tools/core-edit/save-fund-account.js +138 -0
  226. package/dist/tools/core-edit/save-fund-account.js.map +1 -0
  227. package/dist/tools/core-edit/save-journal-draft.d.ts +2 -0
  228. package/dist/tools/core-edit/save-journal-draft.js +122 -0
  229. package/dist/tools/core-edit/save-journal-draft.js.map +1 -0
  230. package/dist/tools/core-edit/save-master-data.d.ts +2 -0
  231. package/dist/tools/core-edit/save-master-data.js +153 -0
  232. package/dist/tools/core-edit/save-master-data.js.map +1 -0
  233. package/dist/tools/core-edit/save-transaction-draft.d.ts +2 -0
  234. package/dist/tools/core-edit/save-transaction-draft.js +128 -0
  235. package/dist/tools/core-edit/save-transaction-draft.js.map +1 -0
  236. package/dist/tools/core-read/export-business-documents.d.ts +2 -0
  237. package/dist/tools/core-read/export-business-documents.js +67 -0
  238. package/dist/tools/core-read/export-business-documents.js.map +1 -0
  239. package/dist/tools/core-read/export-journals.d.ts +2 -0
  240. package/dist/tools/core-read/export-journals.js +56 -0
  241. package/dist/tools/core-read/export-journals.js.map +1 -0
  242. package/dist/tools/core-read/export-transactions.d.ts +2 -0
  243. package/dist/tools/core-read/export-transactions.js +67 -0
  244. package/dist/tools/core-read/export-transactions.js.map +1 -0
  245. package/dist/tools/core-read/query-accounting-balances.d.ts +2 -0
  246. package/dist/tools/core-read/query-accounting-balances.js +135 -0
  247. package/dist/tools/core-read/query-accounting-balances.js.map +1 -0
  248. package/dist/tools/core-read/query-accounting-context.d.ts +2 -0
  249. package/dist/tools/core-read/query-accounting-context.js +76 -0
  250. package/dist/tools/core-read/query-accounting-context.js.map +1 -0
  251. package/dist/tools/core-read/query-assets.d.ts +2 -0
  252. package/dist/tools/core-read/query-assets.js +425 -0
  253. package/dist/tools/core-read/query-assets.js.map +1 -0
  254. package/dist/tools/core-read/query-business-documents.d.ts +9 -0
  255. package/dist/tools/core-read/query-business-documents.js +620 -0
  256. package/dist/tools/core-read/query-business-documents.js.map +1 -0
  257. package/dist/tools/core-read/query-dashboard.d.ts +2 -0
  258. package/dist/tools/core-read/query-dashboard.js +144 -0
  259. package/dist/tools/core-read/query-dashboard.js.map +1 -0
  260. package/dist/tools/core-read/query-financial-reports.d.ts +2 -0
  261. package/dist/tools/core-read/query-financial-reports.js +171 -0
  262. package/dist/tools/core-read/query-financial-reports.js.map +1 -0
  263. package/dist/tools/core-read/query-fund-accounts.d.ts +2 -0
  264. package/dist/tools/core-read/query-fund-accounts.js +140 -0
  265. package/dist/tools/core-read/query-fund-accounts.js.map +1 -0
  266. package/dist/tools/core-read/query-fund-balances.d.ts +2 -0
  267. package/dist/tools/core-read/query-fund-balances.js +150 -0
  268. package/dist/tools/core-read/query-fund-balances.js.map +1 -0
  269. package/dist/tools/core-read/query-journals.d.ts +2 -0
  270. package/dist/tools/core-read/query-journals.js +277 -0
  271. package/dist/tools/core-read/query-journals.js.map +1 -0
  272. package/dist/tools/core-read/query-master-data.d.ts +2 -0
  273. package/dist/tools/core-read/query-master-data.js +363 -0
  274. package/dist/tools/core-read/query-master-data.js.map +1 -0
  275. package/dist/tools/core-read/query-pnl.d.ts +2 -0
  276. package/dist/tools/core-read/query-pnl.js +244 -0
  277. package/dist/tools/core-read/query-pnl.js.map +1 -0
  278. package/dist/tools/core-read/query-reference-data.d.ts +2 -0
  279. package/dist/tools/core-read/query-reference-data.js +293 -0
  280. package/dist/tools/core-read/query-reference-data.js.map +1 -0
  281. package/dist/tools/core-read/query-transactions.d.ts +2 -0
  282. package/dist/tools/core-read/query-transactions.js +58 -0
  283. package/dist/tools/core-read/query-transactions.js.map +1 -0
  284. package/dist/tools/create-tools.d.ts +3 -0
  285. package/dist/tools/create-tools.js +88 -0
  286. package/dist/tools/create-tools.js.map +1 -0
  287. package/dist/tools/extended/asset-operation-tools.d.ts +9 -0
  288. package/dist/tools/extended/asset-operation-tools.js +419 -0
  289. package/dist/tools/extended/asset-operation-tools.js.map +1 -0
  290. package/dist/tools/extended/automation-tools.d.ts +7 -0
  291. package/dist/tools/extended/automation-tools.js +333 -0
  292. package/dist/tools/extended/automation-tools.js.map +1 -0
  293. package/dist/tools/extended/configuration-tools.d.ts +14 -0
  294. package/dist/tools/extended/configuration-tools.js +871 -0
  295. package/dist/tools/extended/configuration-tools.js.map +1 -0
  296. package/dist/tools/extended/period-end-tools.d.ts +11 -0
  297. package/dist/tools/extended/period-end-tools.js +480 -0
  298. package/dist/tools/extended/period-end-tools.js.map +1 -0
  299. package/dist/tools/extended/query-output.d.ts +2589 -0
  300. package/dist/tools/extended/query-output.js +610 -0
  301. package/dist/tools/extended/query-output.js.map +1 -0
  302. package/dist/tools/extended/tool-support.d.ts +56 -0
  303. package/dist/tools/extended/tool-support.js +198 -0
  304. package/dist/tools/extended/tool-support.js.map +1 -0
  305. package/dist/tools/extended/workflow-tools.d.ts +10 -0
  306. package/dist/tools/extended/workflow-tools.js +678 -0
  307. package/dist/tools/extended/workflow-tools.js.map +1 -0
  308. package/dist/tools/fnd-import/execute-import.d.ts +2 -0
  309. package/dist/tools/fnd-import/execute-import.js +201 -0
  310. package/dist/tools/fnd-import/execute-import.js.map +1 -0
  311. package/dist/tools/fnd-import/get-import-template.d.ts +2 -0
  312. package/dist/tools/fnd-import/get-import-template.js +66 -0
  313. package/dist/tools/fnd-import/get-import-template.js.map +1 -0
  314. package/dist/tools/fnd-import/get-job-status.d.ts +8 -0
  315. package/dist/tools/fnd-import/get-job-status.js +201 -0
  316. package/dist/tools/fnd-import/get-job-status.js.map +1 -0
  317. package/dist/tools/fnd-import/prepare-import.d.ts +31 -0
  318. package/dist/tools/fnd-import/prepare-import.js +214 -0
  319. package/dist/tools/fnd-import/prepare-import.js.map +1 -0
  320. package/dist/tools/fnd-import/public-import-result.d.ts +18 -0
  321. package/dist/tools/fnd-import/public-import-result.js +35 -0
  322. package/dist/tools/fnd-import/public-import-result.js.map +1 -0
  323. package/dist/tools/tool-definition.d.ts +45 -0
  324. package/dist/tools/tool-definition.js +11 -0
  325. package/dist/tools/tool-definition.js.map +1 -0
  326. package/dist/tools/tool-handler.d.ts +27 -0
  327. package/dist/tools/tool-handler.js +196 -0
  328. package/dist/tools/tool-handler.js.map +1 -0
  329. package/dist/tools/transaction-item.d.ts +225 -0
  330. package/dist/tools/transaction-item.js +109 -0
  331. package/dist/tools/transaction-item.js.map +1 -0
  332. package/dist/transport/draining-transport.d.ts +14 -0
  333. package/dist/transport/draining-transport.js +36 -0
  334. package/dist/transport/draining-transport.js.map +1 -0
  335. package/dist/transport/stdio.d.ts +2 -0
  336. package/dist/transport/stdio.js +5 -0
  337. package/dist/transport/stdio.js.map +1 -0
  338. package/dist/version.d.ts +2 -0
  339. package/dist/version.js +3 -0
  340. package/dist/version.js.map +1 -0
  341. package/package.json +49 -0
@@ -0,0 +1,615 @@
1
+ import { z } from 'zod/v4';
2
+ import { artifactMetadataSchema, contextSchema, viewPageSuccessEnvelopeSchema, successEnvelopeSchema, } from '../common.js';
3
+ import { decimalStringSchema, upstreamDecimalSchema, uuidSchema, } from '../primitives.js';
4
+ export const journalEntrySourceSchema = z.enum(['MANUAL', 'IMPORT', 'AUTO']);
5
+ export const journalSourceTypeSchema = z.enum([
6
+ 'CRYPTO',
7
+ 'FIAT',
8
+ 'SECURITY',
9
+ 'DERIVATIVE',
10
+ 'AR',
11
+ 'AP',
12
+ 'FA',
13
+ 'COST',
14
+ 'ALOC',
15
+ 'MIXED',
16
+ 'MANUAL',
17
+ 'REVALUATION',
18
+ ]);
19
+ export const journalTypeSchema = z.enum(['NORMAL', 'ELIMINATION']);
20
+ export const journalApprovalStatusSchema = z.enum([
21
+ 'NONE',
22
+ 'PENDING',
23
+ 'APPROVED',
24
+ 'REJECTED',
25
+ 'WITHDRAWN',
26
+ ]);
27
+ export const journalVerificationStatusSchema = z
28
+ .enum(['D', 'V', 'F'])
29
+ .describe('Upstream verification status code. Pass D, V, or F exactly as returned by the service.');
30
+ export const journalOrgScopeSchema = z.enum(['SELF', 'SUBTREE']);
31
+ const attributeSlotSchema = z.enum([
32
+ 'attribute1',
33
+ 'attribute2',
34
+ 'attribute3',
35
+ 'attribute4',
36
+ 'attribute5',
37
+ 'attribute6',
38
+ 'attribute7',
39
+ 'attribute8',
40
+ 'attribute9',
41
+ 'attribute10',
42
+ 'attribute11',
43
+ 'attribute12',
44
+ ]);
45
+ export const journalCoaAttributeFilterSchema = z
46
+ .object({
47
+ coa_code: z.string().min(1).max(32),
48
+ attributes: z.partialRecord(attributeSlotSchema, z.string().max(255)),
49
+ })
50
+ .strict();
51
+ const journalFiltersObjectSchema = z
52
+ .object({
53
+ keyword: z.string().min(1).optional(),
54
+ period_from: z.string().max(16).default(''),
55
+ period_to: z.string().max(16).default(''),
56
+ journal_number: z.string().min(1).optional(),
57
+ ledger_id: z.uuid().optional(),
58
+ entry_source: journalEntrySourceSchema.optional(),
59
+ source_type: journalSourceTypeSchema.optional(),
60
+ journal_types: z.array(journalTypeSchema).min(1).max(2).optional(),
61
+ coa_codes: z.array(z.string().min(1).max(32)).min(1).max(200).optional(),
62
+ coa_attr_filters: z
63
+ .array(journalCoaAttributeFilterSchema)
64
+ .min(1)
65
+ .max(200)
66
+ .optional(),
67
+ org_scope: journalOrgScopeSchema.default('SELF'),
68
+ origin_currency: z.string().min(1).max(16).optional(),
69
+ description: z.string().min(1).optional(),
70
+ biz_date_start: z.iso.date().optional(),
71
+ biz_date_end: z.iso.date().optional(),
72
+ gl_date_start: z.iso.date().optional(),
73
+ gl_date_end: z.iso.date().optional(),
74
+ approval_status: journalApprovalStatusSchema.optional(),
75
+ })
76
+ .strict();
77
+ function validateJournalFilterRanges(filters, context) {
78
+ if (filters.period_from !== '' &&
79
+ filters.period_to !== '' &&
80
+ filters.period_from > filters.period_to) {
81
+ context.addIssue({
82
+ code: 'custom',
83
+ path: ['period_to'],
84
+ message: 'period_to must not be earlier than period_from',
85
+ });
86
+ }
87
+ if (filters.biz_date_start !== undefined &&
88
+ filters.biz_date_end !== undefined &&
89
+ filters.biz_date_start > filters.biz_date_end) {
90
+ context.addIssue({
91
+ code: 'custom',
92
+ path: ['biz_date_end'],
93
+ message: 'biz_date_end must not be earlier than biz_date_start',
94
+ });
95
+ }
96
+ if (filters.gl_date_start !== undefined &&
97
+ filters.gl_date_end !== undefined &&
98
+ filters.gl_date_start > filters.gl_date_end) {
99
+ context.addIssue({
100
+ code: 'custom',
101
+ path: ['gl_date_end'],
102
+ message: 'gl_date_end must not be earlier than gl_date_start',
103
+ });
104
+ }
105
+ }
106
+ export const journalFiltersSchema = journalFiltersObjectSchema.superRefine(validateJournalFilterRanges);
107
+ export const journalExportFiltersSchema = journalFiltersObjectSchema
108
+ .extend({ ledger_id: z.uuid() })
109
+ .superRefine(validateJournalFilterRanges);
110
+ const listIncludeSchema = z.array(z.literal('lines')).max(1).default([]);
111
+ const detailIncludeSchema = z
112
+ .array(z.enum(['lines', 'source_links', 'attachments']))
113
+ .max(3)
114
+ .default(['lines']);
115
+ export const queryJournalsInputSchema = z
116
+ .union([
117
+ z
118
+ .object({
119
+ view: z.literal('list'),
120
+ filters: journalFiltersSchema.default({
121
+ period_from: '',
122
+ period_to: '',
123
+ org_scope: 'SELF',
124
+ }),
125
+ include: listIncludeSchema,
126
+ page: z.number().int().positive().default(1),
127
+ page_size: z
128
+ .number()
129
+ .int()
130
+ .min(1)
131
+ .max(100)
132
+ .default(50)
133
+ .describe('Items per page; journal lists allow at most 100 items per page.'),
134
+ context: contextSchema.optional(),
135
+ })
136
+ .strict()
137
+ .describe('Journal lists use a fixed order and do not support custom sorting; a page is not sorted again locally.'),
138
+ z
139
+ .object({
140
+ view: z.literal('detail'),
141
+ journal_id: z.uuid(),
142
+ include: detailIncludeSchema,
143
+ context: contextSchema.optional(),
144
+ })
145
+ .strict(),
146
+ ])
147
+ .superRefine((input, context) => {
148
+ const seen = new Set();
149
+ const hasDuplicate = input.include.some((value) => {
150
+ if (seen.has(value))
151
+ return true;
152
+ seen.add(value);
153
+ return false;
154
+ });
155
+ if (hasDuplicate) {
156
+ context.addIssue({
157
+ code: 'custom',
158
+ path: ['include'],
159
+ message: 'include must not contain duplicates',
160
+ });
161
+ }
162
+ });
163
+ export const journalAttributeUpstreamSchema = z
164
+ .object({
165
+ slot: attributeSlotSchema,
166
+ name: z.string().nullable(),
167
+ value: z.string(),
168
+ code: z.string(),
169
+ })
170
+ .passthrough();
171
+ export const journalListLineUpstreamSchema = z
172
+ .object({
173
+ id: z.uuid().nullable().optional(),
174
+ line_no: z.number().int().nullable().optional(),
175
+ coa_code: z.string(),
176
+ coa_name: z.string().nullable().optional(),
177
+ description: z.string().nullable().optional(),
178
+ base_currency: z.string(),
179
+ base_debit: upstreamDecimalSchema,
180
+ base_credit: upstreamDecimalSchema,
181
+ origin_currency: z.string().nullable().optional(),
182
+ origin_debit: upstreamDecimalSchema.nullable().optional(),
183
+ origin_credit: upstreamDecimalSchema.nullable().optional(),
184
+ attribute1: z.string().nullable().optional(),
185
+ attribute2: z.string().nullable().optional(),
186
+ attribute3: z.string().nullable().optional(),
187
+ attribute4: z.string().nullable().optional(),
188
+ attribute5: z.string().nullable().optional(),
189
+ attribute6: z.string().nullable().optional(),
190
+ attribute7: z.string().nullable().optional(),
191
+ attribute8: z.string().nullable().optional(),
192
+ attribute9: z.string().nullable().optional(),
193
+ attribute10: z.string().nullable().optional(),
194
+ attribute11: z.string().nullable().optional(),
195
+ attribute12: z.string().nullable().optional(),
196
+ attributes: z.array(journalAttributeUpstreamSchema).default([]),
197
+ })
198
+ .passthrough();
199
+ export const journalListItemUpstreamSchema = z
200
+ .object({
201
+ id: z.uuid(),
202
+ journal_number: z.string(),
203
+ period_name: z.string(),
204
+ entry_source: z.string(),
205
+ source_type: z.string(),
206
+ journal_type: z.string(),
207
+ biz_date: z.string(),
208
+ gl_date: z.string(),
209
+ description: z.string().nullable().optional(),
210
+ org_id: z.uuid(),
211
+ ledger_id: z.uuid(),
212
+ org_name: z.string().nullable().optional(),
213
+ version: z.number().int().nullable().optional(),
214
+ lines: z.array(journalListLineUpstreamSchema).default([]),
215
+ attachment_count: z.number().int().nonnegative(),
216
+ approval_status: z.string(),
217
+ verification_status: z.string().nullable().optional(),
218
+ approved_by: z.uuid().nullable().optional(),
219
+ approved_at: z.string().nullable().optional(),
220
+ created_at: z.string().nullable().optional(),
221
+ updated_at: z.string().nullable().optional(),
222
+ })
223
+ .passthrough();
224
+ export const journalListUpstreamSchema = z
225
+ .object({
226
+ total: z.number().int().nonnegative(),
227
+ page: z.number().int().positive(),
228
+ page_size: z.number().int().positive(),
229
+ org_scope_narrowed: z.boolean(),
230
+ items: z.array(journalListItemUpstreamSchema),
231
+ })
232
+ .passthrough();
233
+ export const journalDocumentLineUpstreamSchema = z
234
+ .object({
235
+ id: z.uuid().nullable(),
236
+ coa_code: z.string(),
237
+ coa_name: z.string().nullable(),
238
+ description: z.string().nullable(),
239
+ base_currency: z.string(),
240
+ base_debit: upstreamDecimalSchema,
241
+ base_credit: upstreamDecimalSchema,
242
+ origin_currency: z.string().nullable(),
243
+ origin_debit: upstreamDecimalSchema.nullable(),
244
+ origin_credit: upstreamDecimalSchema.nullable(),
245
+ attributes: z.array(journalAttributeUpstreamSchema),
246
+ source_id: z.uuid().nullable(),
247
+ source_type: z.string().nullable(),
248
+ rate_amount: upstreamDecimalSchema.nullable(),
249
+ rate_time: z.string().nullable(),
250
+ })
251
+ .passthrough();
252
+ export const journalDocumentUpstreamSchema = z
253
+ .object({
254
+ id: z.uuid(),
255
+ journal_number: z.string(),
256
+ period_name: z.string(),
257
+ entry_source: z.string(),
258
+ source_type: z.string(),
259
+ journal_type: z.string(),
260
+ biz_date: z.string(),
261
+ gl_date: z.string(),
262
+ description: z.string().nullable(),
263
+ org_id: z.uuid(),
264
+ ledger_id: z.uuid(),
265
+ version: z.number().int().nullable(),
266
+ approval_status: z.string().nullable(),
267
+ verification_status: z.string().nullable(),
268
+ lines: z.array(journalDocumentLineUpstreamSchema),
269
+ })
270
+ .passthrough();
271
+ export const journalDocumentsUpstreamSchema = z
272
+ .object({
273
+ matched_rules: z.array(z
274
+ .object({
275
+ rule_h_id: z.uuid().nullable(),
276
+ rule_code: z.string().nullable(),
277
+ rule_name: z.string().nullable(),
278
+ is_balanced: z.boolean(),
279
+ unavailable_reason: z.string().nullable(),
280
+ journals: z.array(journalDocumentUpstreamSchema),
281
+ })
282
+ .passthrough()),
283
+ recommended_rule_h_id: z.uuid().nullable(),
284
+ })
285
+ .passthrough();
286
+ export const journalSourceLinkUpstreamSchema = z
287
+ .object({
288
+ source_ref_type: z.string(),
289
+ source_ref_id: z.uuid(),
290
+ source_ref_no: z.string().nullable().optional(),
291
+ target_route: z.string().nullable().optional(),
292
+ })
293
+ .passthrough();
294
+ export const journalSourceLinksUpstreamSchema = z
295
+ .object({ items: z.array(journalSourceLinkUpstreamSchema) })
296
+ .passthrough();
297
+ export const journalAttachmentUpstreamSchema = z
298
+ .object({
299
+ id: z.uuid(),
300
+ file_name: z.string(),
301
+ content_type: z.string().nullable().optional(),
302
+ size_bytes: z.number().int().nonnegative(),
303
+ created_by: z.uuid().nullable().optional(),
304
+ created_by_name: z.string().nullable().optional(),
305
+ created_at: z.string().nullable().optional(),
306
+ })
307
+ .passthrough();
308
+ export const journalAttachmentsUpstreamSchema = z
309
+ .object({
310
+ items: z.array(journalAttachmentUpstreamSchema),
311
+ mutable: z.boolean(),
312
+ approval_status: z.string(),
313
+ })
314
+ .passthrough();
315
+ export const journalRateLookupInputSchema = z
316
+ .object({
317
+ symbol: z.string().min(1).max(16),
318
+ quote: z.string().min(1).max(16),
319
+ at: z.iso.datetime({ offset: true }),
320
+ })
321
+ .strict();
322
+ export const journalRateLookupUpstreamSchema = z
323
+ .object({
324
+ found: z.boolean(),
325
+ rate: decimalStringSchema.nullable(),
326
+ rate_time: z.string().nullable(),
327
+ source: z.string().nullable(),
328
+ })
329
+ .passthrough();
330
+ const nullableString = z.string().nullable();
331
+ const nullableUuid = z.uuid().nullable();
332
+ const nullableInteger = z.number().int().nullable();
333
+ export const journalLineSchema = z
334
+ .object({
335
+ id: nullableUuid,
336
+ line_no: nullableInteger,
337
+ coa_code: z.string(),
338
+ coa_name: nullableString,
339
+ description: nullableString,
340
+ base_currency: z.string(),
341
+ base_debit: decimalStringSchema,
342
+ base_credit: decimalStringSchema,
343
+ origin_currency: nullableString,
344
+ origin_debit: decimalStringSchema.nullable(),
345
+ origin_credit: decimalStringSchema.nullable(),
346
+ attributes: z.array(z
347
+ .object({
348
+ slot: attributeSlotSchema,
349
+ name: nullableString,
350
+ value: z.string(),
351
+ code: z.string(),
352
+ })
353
+ .strict()),
354
+ source_id: nullableUuid,
355
+ source_type: nullableString,
356
+ rate_amount: decimalStringSchema.nullable(),
357
+ rate_time: nullableString,
358
+ })
359
+ .strict();
360
+ export const journalSourceLinkSchema = z
361
+ .object({
362
+ source_ref_type: z.string(),
363
+ source_ref_id: z.uuid(),
364
+ source_ref_no: nullableString,
365
+ target_route: nullableString,
366
+ })
367
+ .strict();
368
+ export const journalAttachmentSchema = z
369
+ .object({
370
+ id: z.uuid(),
371
+ file_name: z.string(),
372
+ content_type: nullableString,
373
+ size_bytes: z.number().int().nonnegative(),
374
+ created_by: nullableUuid,
375
+ created_by_name: nullableString,
376
+ created_at: nullableString,
377
+ })
378
+ .strict();
379
+ export const journalSchema = z
380
+ .object({
381
+ id: z.uuid(),
382
+ journal_number: z.string(),
383
+ period_name: z.string(),
384
+ entry_source: z.string(),
385
+ source_type: z.string(),
386
+ journal_type: z.string(),
387
+ biz_date: z.string(),
388
+ gl_date: z.string(),
389
+ description: nullableString,
390
+ org_id: z.uuid(),
391
+ ledger_id: z.uuid(),
392
+ org_name: nullableString,
393
+ rule_h_id: nullableUuid,
394
+ version: nullableInteger,
395
+ attachment_count: nullableInteger,
396
+ approval_status: nullableString,
397
+ verification_status: nullableString,
398
+ approved_by: nullableUuid,
399
+ approved_at: nullableString,
400
+ created_at: nullableString,
401
+ updated_at: nullableString,
402
+ lines: z.array(journalLineSchema).optional(),
403
+ source_links: z.array(journalSourceLinkSchema).optional(),
404
+ attachments: z
405
+ .object({
406
+ items: z.array(journalAttachmentSchema),
407
+ mutable: z.boolean(),
408
+ approval_status: z.string(),
409
+ })
410
+ .strict()
411
+ .optional(),
412
+ })
413
+ .strict();
414
+ export const queryJournalsOutputSchema = viewPageSuccessEnvelopeSchema(z.union([
415
+ z
416
+ .object({
417
+ view: z.literal('list'),
418
+ org_scope_narrowed: z.boolean(),
419
+ items: z.array(journalSchema),
420
+ })
421
+ .strict(),
422
+ z
423
+ .object({
424
+ view: z.literal('detail'),
425
+ item: journalSchema,
426
+ })
427
+ .strict(),
428
+ ]), ['list']);
429
+ export const journalExportFormatSchema = z.enum(['xlsx', 'csv']);
430
+ export const exportJournalsInputSchema = z
431
+ .object({
432
+ filters: journalExportFiltersSchema,
433
+ format: journalExportFormatSchema.default('xlsx'),
434
+ context: contextSchema.optional(),
435
+ })
436
+ .strict();
437
+ export const exportJournalsOutputSchema = successEnvelopeSchema(z
438
+ .object({
439
+ format: journalExportFormatSchema,
440
+ artifact: artifactMetadataSchema,
441
+ })
442
+ .strict());
443
+ export const journalDraftLineInputSchema = z
444
+ .object({
445
+ id: uuidSchema.optional(),
446
+ coa_code: z.string().min(1).max(32),
447
+ description: z.string().max(512).optional(),
448
+ base_currency: z.string().min(1).max(8),
449
+ base_debit: decimalStringSchema,
450
+ base_credit: decimalStringSchema,
451
+ origin_currency: z.string().max(8).optional(),
452
+ origin_debit: decimalStringSchema.optional(),
453
+ origin_credit: decimalStringSchema.optional(),
454
+ attributes: z.array(z.string().max(255).nullable()).max(12).optional(),
455
+ source_id: uuidSchema.optional(),
456
+ source_type: z.string().max(16).optional(),
457
+ rate_amount: decimalStringSchema.optional(),
458
+ rate_time: z.iso.datetime({ offset: true }).optional(),
459
+ })
460
+ .strict()
461
+ .superRefine((value, context) => {
462
+ if ((value.source_id === undefined) !== (value.source_type === undefined)) {
463
+ context.addIssue({
464
+ code: 'custom',
465
+ path: ['source_id'],
466
+ message: 'source_id and source_type must be provided or omitted together',
467
+ });
468
+ }
469
+ if ((value.rate_amount === undefined) !== (value.rate_time === undefined)) {
470
+ context.addIssue({
471
+ code: 'custom',
472
+ path: ['rate_amount'],
473
+ message: 'rate_amount and rate_time must be provided or omitted together',
474
+ });
475
+ }
476
+ });
477
+ export const journalDraftValuesSchema = z
478
+ .object({
479
+ period_name: z.string().min(1).max(16),
480
+ ledger_id: uuidSchema,
481
+ source_type: journalSourceTypeSchema.optional(),
482
+ journal_type: journalTypeSchema.default('NORMAL'),
483
+ biz_date: z.iso.date().optional(),
484
+ gl_date: z.iso.date().optional(),
485
+ description: z.string().max(512).optional(),
486
+ lines: z.array(journalDraftLineInputSchema).max(500).default([]),
487
+ })
488
+ .strict();
489
+ export const journalCreateValuesSchema = journalDraftValuesSchema.extend({
490
+ attachment_file_ids: z.array(uuidSchema).max(10).optional(),
491
+ });
492
+ export const saveJournalDraftInputSchema = z
493
+ .object({
494
+ context: z.object({ org_id: uuidSchema }).strict(),
495
+ idempotency_key: uuidSchema,
496
+ mutation: z.discriminatedUnion('operation', [
497
+ z
498
+ .object({
499
+ operation: z.literal('create'),
500
+ values: journalCreateValuesSchema,
501
+ })
502
+ .strict(),
503
+ z
504
+ .object({
505
+ operation: z.literal('update'),
506
+ journal_id: uuidSchema,
507
+ version: z.number().int().nonnegative(),
508
+ values: journalDraftValuesSchema,
509
+ })
510
+ .strict(),
511
+ ]),
512
+ })
513
+ .strict();
514
+ // The MCP catalog needs a single object shape that Hosts can render reliably.
515
+ // Runtime validation still uses saveJournalDraftInputSchema so create/update
516
+ // branch constraints remain strict.
517
+ const journalDraftPublicLineInputSchema = z
518
+ .object({
519
+ id: z.uuid().optional(),
520
+ coa_code: z.string().min(1).max(32),
521
+ description: z.string().max(512).optional(),
522
+ base_currency: z.string().min(1).max(8),
523
+ base_debit: z
524
+ .string()
525
+ .regex(/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/, 'Must be a decimal string'),
526
+ base_credit: z
527
+ .string()
528
+ .regex(/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/, 'Must be a decimal string'),
529
+ origin_currency: z.string().max(8).optional(),
530
+ origin_debit: z
531
+ .string()
532
+ .regex(/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/, 'Must be a decimal string')
533
+ .optional(),
534
+ origin_credit: z
535
+ .string()
536
+ .regex(/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/, 'Must be a decimal string')
537
+ .optional(),
538
+ attributes: z.array(z.string().max(255).nullable()).max(12).optional(),
539
+ source_id: z.uuid().optional(),
540
+ source_type: z.string().max(16).optional(),
541
+ rate_amount: z
542
+ .string()
543
+ .regex(/^-?(?:0|[1-9]\d*)(?:\.\d+)?$/, 'Must be a decimal string')
544
+ .optional(),
545
+ rate_time: z.iso.datetime({ offset: true }).optional(),
546
+ })
547
+ .strict();
548
+ const journalDraftPublicValuesSchema = z
549
+ .object({
550
+ period_name: z.string().min(1).max(16),
551
+ ledger_id: z.uuid(),
552
+ source_type: z
553
+ .enum([
554
+ 'CRYPTO',
555
+ 'FIAT',
556
+ 'SECURITY',
557
+ 'DERIVATIVE',
558
+ 'AR',
559
+ 'AP',
560
+ 'FA',
561
+ 'COST',
562
+ 'ALOC',
563
+ 'MIXED',
564
+ 'MANUAL',
565
+ 'REVALUATION',
566
+ ])
567
+ .optional(),
568
+ journal_type: z.enum(['NORMAL', 'ELIMINATION']).default('NORMAL'),
569
+ biz_date: z.iso.date().optional(),
570
+ gl_date: z.iso.date().optional(),
571
+ description: z.string().max(512).optional(),
572
+ lines: z.array(journalDraftPublicLineInputSchema).max(500).default([]),
573
+ attachment_file_ids: z
574
+ .array(z.uuid())
575
+ .max(10)
576
+ .optional()
577
+ .describe('Allowed only for create operations.'),
578
+ })
579
+ .strict();
580
+ export const saveJournalDraftPublicInputSchema = z
581
+ .object({
582
+ context: z.object({ org_id: z.uuid() }).strict(),
583
+ idempotency_key: z.uuid(),
584
+ mutation: z
585
+ .object({
586
+ operation: z.enum(['create', 'update']),
587
+ journal_id: z
588
+ .uuid()
589
+ .optional()
590
+ .describe('Required for update operations and forbidden for create operations.'),
591
+ version: z
592
+ .number()
593
+ .int()
594
+ .nonnegative()
595
+ .optional()
596
+ .describe('Required for update operations and forbidden for create operations.'),
597
+ values: journalDraftPublicValuesSchema,
598
+ })
599
+ .strict(),
600
+ })
601
+ .strict();
602
+ export const saveJournalDraftOutputSchema = successEnvelopeSchema(z
603
+ .object({
604
+ operation: z.enum(['created', 'updated']),
605
+ journal: z
606
+ .object({
607
+ id: uuidSchema,
608
+ journal_number: z.string(),
609
+ journal_type: z.string(),
610
+ approval_status: z.string(),
611
+ })
612
+ .strict(),
613
+ })
614
+ .strict());
615
+ //# sourceMappingURL=journals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journals.js","sourceRoot":"","sources":["../../../src/schemas/domains/journals.ts"],"names":[],"mappings":"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"}