@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,567 @@
1
+ import { z } from 'zod/v4';
2
+ import { contextSchema, successEnvelopeSchema } from '../common.js';
3
+ import { dateSchema, decimalStringSchema } from '../primitives.js';
4
+ export const explicitContextSchema = z
5
+ .object({ org_id: z.uuid() })
6
+ .strict()
7
+ .describe('Organization for this operation; write operations require an explicit value');
8
+ const versionSchema = z.number().int().nonnegative();
9
+ const idempotencyKeySchema = z
10
+ .uuid()
11
+ .describe('Caller-generated UUID; reuse it when retrying the same business operation');
12
+ const periodSchema = z
13
+ .string()
14
+ .regex(/^\d{4}-(?:0[1-9]|1[0-2])$/, 'Period must use YYYY-MM');
15
+ const shortTextSchema = z.string().trim().min(1).max(512);
16
+ export const operationPlanReferenceSchema = z
17
+ .object({
18
+ operation_plan_id: z.string().min(32),
19
+ confirmation_token: z.string().min(32),
20
+ idempotency_key: idempotencyKeySchema,
21
+ })
22
+ .strict();
23
+ const operationPlanCredentialShape = {
24
+ operation_plan_id: z.string().min(32),
25
+ confirmation_token: z.string().min(32),
26
+ expires_at: z.iso.datetime(),
27
+ };
28
+ const operationPlanTargetShape = {
29
+ target_type: z.string().min(1),
30
+ target_ids: z.array(z.string().min(1)).min(1),
31
+ target_versions: z.array(versionSchema),
32
+ impact_summary: z
33
+ .object({
34
+ item_count: z
35
+ .number()
36
+ .int()
37
+ .nonnegative()
38
+ .describe('Number of target IDs bound to the operation plan'),
39
+ blocking_count: z
40
+ .number()
41
+ .int()
42
+ .nonnegative()
43
+ .nullable()
44
+ .describe('Number of blockers when the preview explicitly returns a blocker collection; otherwise null'),
45
+ warning_count: z
46
+ .number()
47
+ .int()
48
+ .nonnegative()
49
+ .nullable()
50
+ .describe('Number of warnings when the preview explicitly returns a warning collection; otherwise null'),
51
+ amount: decimalStringSchema.nullable(),
52
+ })
53
+ .strict(),
54
+ };
55
+ const operationPlanDataShape = {
56
+ ...operationPlanCredentialShape,
57
+ ...operationPlanTargetShape,
58
+ };
59
+ export const operationPlanDataSchema = z
60
+ .object(operationPlanDataShape)
61
+ .strict();
62
+ export const operationPlanOutputSchema = successEnvelopeSchema(operationPlanDataSchema);
63
+ function operationPlanWithPreview(previewSchema) {
64
+ return successEnvelopeSchema(z.object({ ...operationPlanDataShape, preview: previewSchema }).strict());
65
+ }
66
+ const depreciationSkipReasonSchema = z
67
+ .enum(['ASSET_TYPE_CIP', 'NOT_IN_EFFECT', 'DEPR_FLAG_OFF', 'PERIOD_CLOSED'])
68
+ .describe('ASSET_TYPE_CIP=construction in progress; NOT_IN_EFFECT=financial card is not effective; DEPR_FLAG_OFF=depreciation is disabled; PERIOD_CLOSED=period is closed');
69
+ export const previewDepreciationOutputSchema = operationPlanWithPreview(z
70
+ .object({
71
+ ledger_id: z.uuid(),
72
+ period: periodSchema,
73
+ asset_count: z.number().int().nonnegative(),
74
+ total_depr_amount: decimalStringSchema,
75
+ skipped_by_reason: z.array(z
76
+ .object({
77
+ reason: depreciationSkipReasonSchema,
78
+ asset_count: z.number().int().positive(),
79
+ })
80
+ .strict()),
81
+ locked_orgs: z.array(z
82
+ .object({
83
+ org_id: z.uuid(),
84
+ org_name: z.string(),
85
+ affected_card_count: z.number().int().nonnegative(),
86
+ closed_ledgers: z.array(z
87
+ .object({
88
+ ledger_code: z.string(),
89
+ ledger_name: z.string(),
90
+ })
91
+ .strict()),
92
+ })
93
+ .strict()),
94
+ })
95
+ .strict());
96
+ export const previewAllocationOutputSchema = operationPlanWithPreview(z
97
+ .object({
98
+ journal_number: z.string(),
99
+ hit: z.boolean(),
100
+ lines: z.array(z
101
+ .object({
102
+ src_line_no: z.number().int().nonnegative(),
103
+ coa_code: z.string(),
104
+ net_base: decimalStringSchema,
105
+ expanded: z.array(z
106
+ .object({
107
+ ratio: decimalStringSchema,
108
+ coa_code: z.string(),
109
+ base_amount: decimalStringSchema,
110
+ })
111
+ .strict()),
112
+ })
113
+ .strict()),
114
+ })
115
+ .strict());
116
+ const revaluationIssueCodeSchema = z
117
+ .enum([
118
+ 'PERIOD_ALREADY_CLOSED',
119
+ 'BALANCE_RECALCULATION_REQUIRED',
120
+ 'IMPORT_NOT_COMPLETED',
121
+ 'BALANCE_MISSING',
122
+ 'NO_FOREIGN_CURRENCY_BALANCES',
123
+ ])
124
+ .describe('Business check code returned by the period-end revaluation preview; NO_FOREIGN_CURRENCY_BALANCES means no foreign-currency balances require revaluation');
125
+ const revaluationIssueSchema = z
126
+ .object({ code: revaluationIssueCodeSchema })
127
+ .strict();
128
+ export const previewRevaluationOutputSchema = operationPlanWithPreview(z
129
+ .object({
130
+ period_name: periodSchema,
131
+ foreign_currency_balance_count: z.number().int().nonnegative(),
132
+ blockers: z.array(revaluationIssueSchema),
133
+ warnings: z.array(revaluationIssueSchema),
134
+ })
135
+ .strict());
136
+ const periodCloseIssueCodeSchema = z
137
+ .enum([
138
+ 'PERIOD_ALREADY_CLOSED',
139
+ 'BALANCE_RECALCULATION_REQUIRED',
140
+ 'IMPORT_NOT_COMPLETED',
141
+ 'BALANCE_MISSING',
142
+ ])
143
+ .describe('PERIOD_ALREADY_CLOSED=period is closed; BALANCE_RECALCULATION_REQUIRED=balances require recalculation; IMPORT_NOT_COMPLETED=opening import is incomplete; BALANCE_MISSING=journals exist without balances');
144
+ const periodCloseIssueSchema = z
145
+ .object({ code: periodCloseIssueCodeSchema })
146
+ .strict();
147
+ const periodClosePreviewSchema = z
148
+ .object({
149
+ closing_status: z.enum(['OPEN', 'CLOSED']),
150
+ checked_at: z.iso.datetime({ offset: true }),
151
+ summary: z
152
+ .object({
153
+ ledger_code: z.string(),
154
+ balance_ok: z.boolean(),
155
+ unposted_journal_count: z.number().int().nonnegative(),
156
+ exception_count: z.number().int().nonnegative(),
157
+ })
158
+ .strict(),
159
+ blockers: z.array(periodCloseIssueSchema),
160
+ warnings: z.array(periodCloseIssueSchema),
161
+ })
162
+ .strict();
163
+ export const checkPeriodCloseOutputSchema = successEnvelopeSchema(z
164
+ .object({
165
+ ready_for_close: z.boolean(),
166
+ operation_plan_id: operationPlanCredentialShape.operation_plan_id
167
+ .nullable()
168
+ .describe('Issued when no blockers exist; null when blockers exist'),
169
+ confirmation_token: operationPlanCredentialShape.confirmation_token
170
+ .nullable()
171
+ .describe('Issued when no blockers exist; null when blockers exist'),
172
+ expires_at: operationPlanCredentialShape.expires_at
173
+ .nullable()
174
+ .describe('Plan expiration time when no blockers exist; null when blockers exist'),
175
+ ...operationPlanTargetShape,
176
+ preview: periodClosePreviewSchema,
177
+ })
178
+ .strict()
179
+ .superRefine((data, context) => {
180
+ const hasPlan = data.operation_plan_id !== null &&
181
+ data.confirmation_token !== null &&
182
+ data.expires_at !== null;
183
+ const hasNoPlan = data.operation_plan_id === null &&
184
+ data.confirmation_token === null &&
185
+ data.expires_at === null;
186
+ if ((data.ready_for_close && !hasPlan) ||
187
+ (!data.ready_for_close && !hasNoPlan)) {
188
+ context.addIssue({
189
+ code: 'custom',
190
+ path: ['ready_for_close'],
191
+ message: 'The period-close readiness state does not match the operation-plan fields',
192
+ });
193
+ }
194
+ }));
195
+ export const businessDocumentOffsetCandidateSchema = z
196
+ .object({
197
+ source_type: z.string(),
198
+ source_id: z.uuid(),
199
+ symbol: z.string(),
200
+ quantity: decimalStringSchema,
201
+ base_amount: decimalStringSchema.nullable(),
202
+ base_currency: z.string().nullable(),
203
+ base_rate: decimalStringSchema.nullable(),
204
+ biz_date: z.iso.datetime({ offset: true }).nullable(),
205
+ source_ref: z.string().nullable(),
206
+ main_account_name: z.string().nullable(),
207
+ sub_account_code: z.string().nullable(),
208
+ })
209
+ .strict();
210
+ export const previewBusinessDocumentOffsetOutputSchema = operationPlanWithPreview(z
211
+ .object({
212
+ document_type: z.enum(['payable', 'receivable']),
213
+ document_id: z.uuid(),
214
+ candidate_scope: z.enum(['external', 'internal']),
215
+ selected_candidates: z
216
+ .array(businessDocumentOffsetCandidateSchema)
217
+ .min(1),
218
+ offset_date: z.iso.datetime({ offset: true }),
219
+ gl_date: z.iso.datetime({ offset: true }),
220
+ period: periodSchema.nullable(),
221
+ })
222
+ .strict());
223
+ export const queryBusinessDocumentOffsetCandidatesOutputSchema = successEnvelopeSchema(z
224
+ .object({
225
+ document_type: z.enum(['payable', 'receivable']),
226
+ document_id: z.uuid(),
227
+ candidate_scope: z.enum(['external', 'internal']),
228
+ invoice_symbols: z.array(z.string()),
229
+ groups: z.array(z
230
+ .object({
231
+ symbol: z.string(),
232
+ candidates: z.array(businessDocumentOffsetCandidateSchema),
233
+ })
234
+ .strict()),
235
+ })
236
+ .strict());
237
+ const journalTargetSchema = z
238
+ .object({ journal_id: z.uuid(), version: versionSchema })
239
+ .strict();
240
+ export const prepareJournalSubmissionInputSchema = z
241
+ .object({
242
+ context: explicitContextSchema,
243
+ journals: z.array(journalTargetSchema).min(2).max(100),
244
+ })
245
+ .strict()
246
+ .superRefine((input, context) => {
247
+ const ids = input.journals.map((journal) => journal.journal_id);
248
+ if (new Set(ids).size !== ids.length) {
249
+ context.addIssue({
250
+ code: 'custom',
251
+ path: ['journals'],
252
+ message: 'journals must not contain duplicate journals',
253
+ });
254
+ }
255
+ });
256
+ export const submitJournalsInputSchema = z.discriminatedUnion('mode', [
257
+ z
258
+ .object({
259
+ mode: z.literal('single'),
260
+ context: explicitContextSchema,
261
+ journal_id: z.uuid(),
262
+ version: versionSchema,
263
+ idempotency_key: idempotencyKeySchema,
264
+ })
265
+ .strict(),
266
+ z
267
+ .object({
268
+ mode: z.literal('batch'),
269
+ context: explicitContextSchema,
270
+ ...operationPlanReferenceSchema.shape,
271
+ })
272
+ .strict(),
273
+ ]);
274
+ export const submitBusinessDocumentInputSchema = z
275
+ .object({
276
+ context: explicitContextSchema,
277
+ document_type: z.enum(['payable', 'receivable']),
278
+ document_id: z.uuid(),
279
+ version: versionSchema,
280
+ idempotency_key: idempotencyKeySchema,
281
+ })
282
+ .strict();
283
+ export const prepareBusinessDocumentPostInputSchema = z
284
+ .object({
285
+ context: explicitContextSchema,
286
+ document_type: z.enum(['payable', 'receivable']),
287
+ document_id: z.uuid(),
288
+ version: versionSchema,
289
+ })
290
+ .strict();
291
+ export const executeBusinessDocumentPostInputSchema = z
292
+ .object({
293
+ context: explicitContextSchema,
294
+ ...operationPlanReferenceSchema.shape,
295
+ })
296
+ .strict();
297
+ export const offsetAllocationSchema = z
298
+ .object({
299
+ source_type: z.string().trim().min(1).max(64),
300
+ transaction_id: z.uuid(),
301
+ })
302
+ .strict();
303
+ export const queryBusinessDocumentOffsetCandidatesInputSchema = z
304
+ .object({
305
+ context: explicitContextSchema,
306
+ document_type: z.enum(['payable', 'receivable']),
307
+ document_id: z.uuid(),
308
+ candidate_scope: z.enum(['external', 'internal']).default('external'),
309
+ })
310
+ .strict();
311
+ export const previewBusinessDocumentOffsetInputSchema = z
312
+ .object({
313
+ context: explicitContextSchema,
314
+ document_type: z.enum(['payable', 'receivable']),
315
+ document_id: z.uuid(),
316
+ candidate_scope: z.enum(['external', 'internal']).default('external'),
317
+ allocations: z.array(offsetAllocationSchema).min(1).max(500),
318
+ offset_date: z.iso.datetime({ offset: true }),
319
+ gl_date: z.iso.datetime({ offset: true }),
320
+ period: periodSchema.optional(),
321
+ })
322
+ .strict();
323
+ export const executeBusinessDocumentOffsetInputSchema = z
324
+ .object({
325
+ context: explicitContextSchema,
326
+ ...operationPlanReferenceSchema.shape,
327
+ })
328
+ .strict();
329
+ export const queryPeriodEndInputSchema = z.discriminatedUnion('view', [
330
+ z
331
+ .object({
332
+ view: z.literal('list'),
333
+ context: contextSchema.default({}),
334
+ filters: z
335
+ .object({
336
+ period: periodSchema.optional(),
337
+ ledger_id: z.uuid().optional(),
338
+ closing_status: z.enum(['OPEN', 'CLOSED']).optional(),
339
+ revaluation_status: z.string().optional(),
340
+ reconcile_status: z.string().optional(),
341
+ keyword: z.string().trim().max(120).optional(),
342
+ })
343
+ .strict(),
344
+ page: z.number().int().positive().default(1),
345
+ page_size: z.number().int().min(1).max(100).default(20),
346
+ })
347
+ .strict(),
348
+ z
349
+ .object({
350
+ view: z.literal('detail'),
351
+ context: contextSchema.default({}),
352
+ closing_id: z.uuid(),
353
+ })
354
+ .strict(),
355
+ ]);
356
+ export const previewRevaluationInputSchema = z
357
+ .object({
358
+ context: explicitContextSchema,
359
+ closing_id: z.uuid(),
360
+ version: versionSchema,
361
+ })
362
+ .strict();
363
+ export const checkPeriodCloseInputSchema = z
364
+ .object({
365
+ context: explicitContextSchema,
366
+ closing_id: z.uuid(),
367
+ version: versionSchema,
368
+ close_reason: shortTextSchema.optional(),
369
+ })
370
+ .strict();
371
+ export const preparePeriodReconciliationInputSchema = z
372
+ .object({
373
+ context: explicitContextSchema,
374
+ closing_id: z.uuid(),
375
+ version: versionSchema,
376
+ note: shortTextSchema.optional(),
377
+ })
378
+ .strict();
379
+ export const prepareReversePeriodCloseInputSchema = z
380
+ .object({
381
+ context: explicitContextSchema,
382
+ closing_id: z.uuid(),
383
+ version: versionSchema,
384
+ reason: shortTextSchema,
385
+ })
386
+ .strict();
387
+ export const executePlannedInputSchema = z
388
+ .object({
389
+ context: explicitContextSchema,
390
+ ...operationPlanReferenceSchema.shape,
391
+ })
392
+ .strict();
393
+ export const previewDepreciationInputSchema = z
394
+ .object({
395
+ context: explicitContextSchema,
396
+ ledger_id: z.uuid(),
397
+ period: periodSchema,
398
+ })
399
+ .strict();
400
+ export const adjustAssetCostInputSchema = z
401
+ .object({
402
+ context: explicitContextSchema,
403
+ finance_id: z.uuid(),
404
+ version: versionSchema,
405
+ new_cost: decimalStringSchema,
406
+ remark: shortTextSchema.optional(),
407
+ idempotency_key: idempotencyKeySchema,
408
+ })
409
+ .strict();
410
+ export const prepareAssetImpairmentInputSchema = z
411
+ .object({
412
+ context: explicitContextSchema,
413
+ finance_id: z.uuid(),
414
+ biz_date: dateSchema,
415
+ amount: decimalStringSchema,
416
+ remark: shortTextSchema.optional(),
417
+ })
418
+ .strict();
419
+ export const prepareAssetRetirementInputSchema = z
420
+ .object({
421
+ context: explicitContextSchema,
422
+ finance_id: z.uuid(),
423
+ biz_date: dateSchema,
424
+ retire_quantity: decimalStringSchema,
425
+ amount: decimalStringSchema.optional(),
426
+ remark: shortTextSchema.optional(),
427
+ })
428
+ .strict();
429
+ export const queryAccountingEventsInputSchema = z.discriminatedUnion('view', [
430
+ z
431
+ .object({
432
+ view: z.literal('list'),
433
+ context: contextSchema.default({}),
434
+ filters: z
435
+ .object({
436
+ ledger_id: z.uuid().optional(),
437
+ period_from: periodSchema,
438
+ period_to: periodSchema,
439
+ event_type: z.string().optional(),
440
+ keyword: z.string().trim().max(120).optional(),
441
+ })
442
+ .strict(),
443
+ page: z.number().int().positive().default(1),
444
+ page_size: z.number().int().min(1).max(100).default(20),
445
+ })
446
+ .strict(),
447
+ z
448
+ .object({
449
+ view: z.literal('lines'),
450
+ context: contextSchema.default({}),
451
+ event_id: z.uuid(),
452
+ })
453
+ .strict(),
454
+ z
455
+ .object({
456
+ view: z.literal('check'),
457
+ context: contextSchema.default({}),
458
+ ledger_id: z.uuid().optional(),
459
+ period_from: periodSchema.optional(),
460
+ period_to: periodSchema.optional(),
461
+ })
462
+ .strict(),
463
+ ]);
464
+ export const prepareAccountingEventCollectionInputSchema = z
465
+ .object({
466
+ context: explicitContextSchema,
467
+ source_type: z.string().trim().min(1).max(64),
468
+ source_ids: z.array(z.uuid()).min(1).max(1000),
469
+ strategy_keys: z
470
+ .array(z.string().trim().min(1).max(120))
471
+ .min(1)
472
+ .max(100)
473
+ .optional(),
474
+ })
475
+ .strict()
476
+ .superRefine((input, ctx) => {
477
+ if (new Set(input.source_ids).size !== input.source_ids.length) {
478
+ ctx.addIssue({
479
+ code: 'custom',
480
+ path: ['source_ids'],
481
+ message: 'source_ids must not contain duplicates',
482
+ });
483
+ }
484
+ });
485
+ export const prepareAccountingFlowRunInputSchema = z
486
+ .object({
487
+ context: explicitContextSchema,
488
+ flow_id: z.uuid(),
489
+ })
490
+ .strict();
491
+ export const configQueryInputSchema = z
492
+ .object({
493
+ context: contextSchema.default({}),
494
+ view: z.enum(['list', 'detail', 'summary']).default('list'),
495
+ object_type: z.string().trim().min(1).max(64),
496
+ object_id: z.uuid().optional(),
497
+ ledger_id: z.uuid().optional(),
498
+ period: periodSchema.optional(),
499
+ status: z.string().trim().max(64).optional(),
500
+ search: z.string().trim().max(120).optional(),
501
+ page: z.number().int().positive().default(1),
502
+ page_size: z.number().int().min(1).max(100).default(20),
503
+ })
504
+ .strict();
505
+ const configValueSchema = z.union([
506
+ z.string().max(2048),
507
+ z.boolean(),
508
+ z.number().int(),
509
+ z.array(z.string().max(256)).max(100),
510
+ ]);
511
+ export const configSaveInputSchema = z
512
+ .object({
513
+ context: explicitContextSchema,
514
+ operation: z.enum(['create', 'update']),
515
+ object_type: z.string().trim().min(1).max(64),
516
+ object_id: z.uuid().optional(),
517
+ version: versionSchema.optional(),
518
+ values: z.record(z.string().regex(/^[a-z][a-z0-9_]*$/), configValueSchema),
519
+ idempotency_key: idempotencyKeySchema,
520
+ })
521
+ .strict()
522
+ .superRefine((input, ctx) => {
523
+ if (input.operation === 'update' && input.object_id === undefined) {
524
+ ctx.addIssue({
525
+ code: 'custom',
526
+ path: ['object_id'],
527
+ message: 'object_id is required for update operations',
528
+ });
529
+ }
530
+ if (input.operation === 'update' && input.version === undefined) {
531
+ ctx.addIssue({
532
+ code: 'custom',
533
+ path: ['version'],
534
+ message: 'version is required for update operations',
535
+ });
536
+ }
537
+ });
538
+ export const previewAllocationInputSchema = z
539
+ .object({
540
+ context: explicitContextSchema,
541
+ journal_id: z.uuid(),
542
+ })
543
+ .strict();
544
+ export const runPnlCalculationInputSchema = z
545
+ .object({
546
+ context: explicitContextSchema,
547
+ mode: z.enum(['FULL', 'INCREMENTAL', 'SCOPED']),
548
+ bucket_id: z.uuid(),
549
+ symbol: z.string().trim().min(1).max(64).optional(),
550
+ from_date: dateSchema,
551
+ to_date: dateSchema,
552
+ idempotency_key: idempotencyKeySchema,
553
+ })
554
+ .strict()
555
+ .refine((input) => input.from_date <= input.to_date, {
556
+ path: ['to_date'],
557
+ message: 'to_date must not be earlier than from_date',
558
+ });
559
+ export const runGeneratorInputSchema = z
560
+ .object({
561
+ context: explicitContextSchema,
562
+ rule_id: z.uuid(),
563
+ parameters: z.record(z.string().regex(/^[a-z][a-z0-9_]*$/), configValueSchema),
564
+ idempotency_key: idempotencyKeySchema,
565
+ })
566
+ .strict();
567
+ //# sourceMappingURL=extended-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-operations.js","sourceRoot":"","sources":["../../../src/schemas/domains/extended-operations.ts"],"names":[],"mappings":"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"}