@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,610 @@
1
+ import { parseExtendedQueryResponse, } from '../../capabilities/definitions/extended-operation-contracts.js';
2
+ import { queryAccountingEventsOutputSchema, queryAccountingRulesOutputSchema, queryAllocationOutputSchema, queryMappingConfigOutputSchema, queryPeriodEndOutputSchema, } from '../../schemas/domains/extended-query-results.js';
3
+ function nullable(value) {
4
+ return value ?? null;
5
+ }
6
+ function page(value) {
7
+ return {
8
+ number: value.page,
9
+ size: value.page_size,
10
+ total_items: value.total,
11
+ has_more: value.page * value.page_size < value.total,
12
+ };
13
+ }
14
+ function source(capabilityId) {
15
+ return [
16
+ {
17
+ service: 'suite',
18
+ operation: capabilityId.replace(/^suite\./, ''),
19
+ },
20
+ ];
21
+ }
22
+ function periodEndItem(value) {
23
+ return {
24
+ id: value.id,
25
+ period_name: value.period_name,
26
+ org_id: value.org_id,
27
+ org_name: nullable(value.org_name),
28
+ ledger_id: value.ledger_id,
29
+ ledger_code: nullable(value.ledger_code),
30
+ ledger_name: nullable(value.ledger_name),
31
+ parent_closing_id: nullable(value.p_glh_id),
32
+ closing_status: value.closing_status,
33
+ revaluation_status: value.revaluation_status,
34
+ reconcile_status: value.reconcile_status,
35
+ import_status: value.import_status,
36
+ general_ledger_changed: nullable(value.gll_changed_flag),
37
+ revaluation_at: nullable(value.revaluation_time),
38
+ closed_at: nullable(value.closing_time),
39
+ version: value.version,
40
+ created_at: nullable(value.created_at),
41
+ updated_at: nullable(value.updated_at),
42
+ };
43
+ }
44
+ export function periodEndQueryOutput(options) {
45
+ if (options.capabilityId === 'suite.acct.closing.list') {
46
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
47
+ return queryPeriodEndOutputSchema.parse({
48
+ ok: true,
49
+ data: {
50
+ view: options.view,
51
+ items: parsed.items.map(periodEndItem),
52
+ },
53
+ page: page(parsed),
54
+ warnings: [],
55
+ trace_id: options.context.traceId,
56
+ source_refs: source(options.capabilityId),
57
+ });
58
+ }
59
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
60
+ return queryPeriodEndOutputSchema.parse({
61
+ ok: true,
62
+ data: { view: options.view, items: [periodEndItem(parsed)] },
63
+ warnings: [],
64
+ trace_id: options.context.traceId,
65
+ source_refs: source(options.capabilityId),
66
+ });
67
+ }
68
+ function namedValues(values) {
69
+ return values.map((value) => ({
70
+ slot: value.slot,
71
+ name: value.name,
72
+ value: value.value,
73
+ }));
74
+ }
75
+ function eventListItem(value) {
76
+ return {
77
+ item_type: 'event',
78
+ id: value.event_id,
79
+ entry_source: value.entry_source,
80
+ event_no: value.event_no,
81
+ event_time: value.event_time,
82
+ event_type: value.event_type,
83
+ business_type: nullable(value.business_type),
84
+ strategy_key: nullable(value.strategy_key),
85
+ description: nullable(value.description),
86
+ is_backfill: value.is_backfill,
87
+ transaction_count: value.tx_count,
88
+ crypto_count: value.crypto_count,
89
+ fiat_count: value.fiat_count,
90
+ security_count: value.security_count,
91
+ derivative_count: value.derivative_count,
92
+ receivable_count: value.ar_count,
93
+ payable_count: value.ap_count,
94
+ source_type: null,
95
+ system_type: null,
96
+ flow_type: null,
97
+ business_dimensions: [],
98
+ auxiliary_dimensions: [],
99
+ from_party: null,
100
+ to_party: null,
101
+ business_date: null,
102
+ main_account_id: null,
103
+ main_account_name: null,
104
+ sub_account_id: null,
105
+ symbol: null,
106
+ quantity: null,
107
+ base_rate: null,
108
+ base_amount: null,
109
+ base_currency: null,
110
+ ledger_id: null,
111
+ coa_code: null,
112
+ reference: null,
113
+ version: null,
114
+ resolved: null,
115
+ };
116
+ }
117
+ function eventLineItem(value) {
118
+ return {
119
+ item_type: 'source_line',
120
+ id: value.line_id,
121
+ entry_source: null,
122
+ event_no: null,
123
+ event_time: null,
124
+ event_type: null,
125
+ business_type: null,
126
+ strategy_key: null,
127
+ description: nullable(value.description),
128
+ is_backfill: null,
129
+ transaction_count: null,
130
+ crypto_count: null,
131
+ fiat_count: null,
132
+ security_count: null,
133
+ derivative_count: null,
134
+ receivable_count: null,
135
+ payable_count: null,
136
+ source_type: value.source_type,
137
+ system_type: nullable(value.system_type),
138
+ flow_type: nullable(value.flow_type),
139
+ business_dimensions: namedValues(value.biz_types),
140
+ auxiliary_dimensions: namedValues(value.attributes),
141
+ from_party: nullable(value.from_party),
142
+ to_party: nullable(value.to_party),
143
+ business_date: nullable(value.biz_date),
144
+ main_account_id: nullable(value.main_account_id),
145
+ main_account_name: nullable(value.main_account_name),
146
+ sub_account_id: nullable(value.sub_account_id),
147
+ symbol: nullable(value.symbol),
148
+ quantity: nullable(value.quantity),
149
+ base_rate: nullable(value.base_rate),
150
+ base_amount: nullable(value.base_amount),
151
+ base_currency: nullable(value.base_currency),
152
+ ledger_id: nullable(value.ledger_id),
153
+ coa_code: nullable(value.coa_code),
154
+ reference: nullable(value.reference),
155
+ version: nullable(value.version),
156
+ resolved: value.resolved,
157
+ };
158
+ }
159
+ export function accountingEventsQueryOutput(options) {
160
+ let result;
161
+ let pageValue;
162
+ if (options.capabilityId === 'suite.rul.events.list') {
163
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
164
+ result = {
165
+ items: parsed.items.map(eventListItem),
166
+ check: null,
167
+ };
168
+ pageValue = page(parsed);
169
+ }
170
+ else if (options.capabilityId === 'suite.rul.events.lines') {
171
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
172
+ result = { items: parsed.map(eventLineItem), check: null };
173
+ }
174
+ else {
175
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
176
+ result = {
177
+ items: [],
178
+ check: {
179
+ warning_count: parsed.warn_count,
180
+ blocking_count: parsed.error_count,
181
+ warning_groups: parsed.warn_groups.map((value) => ({
182
+ source_type: value.source_type,
183
+ line_id: value.line_id,
184
+ ledger_id: value.ledger_id,
185
+ event_count: value.event_cnt,
186
+ event_ids: value.event_ids,
187
+ })),
188
+ blocking_rows: parsed.block_rows.map((value) => ({
189
+ source_type: value.source_type,
190
+ line_id: value.line_id,
191
+ ledger_id: value.ledger_id,
192
+ })),
193
+ },
194
+ };
195
+ }
196
+ return queryAccountingEventsOutputSchema.parse({
197
+ ok: true,
198
+ data: { view: options.view, ...result },
199
+ ...(pageValue === undefined ? {} : { page: pageValue }),
200
+ warnings: [],
201
+ trace_id: options.context.traceId,
202
+ source_refs: source(options.capabilityId),
203
+ });
204
+ }
205
+ function mappingItem(value, objectType) {
206
+ const common = {
207
+ id: value.id,
208
+ object_type: objectType,
209
+ source_key: null,
210
+ business_type_number: null,
211
+ attribute_name: null,
212
+ value_source: null,
213
+ source_category: null,
214
+ source_code: null,
215
+ line_type: null,
216
+ system_type: null,
217
+ target_field: null,
218
+ source_expression: null,
219
+ note: null,
220
+ target_line_types: null,
221
+ priority: null,
222
+ status: null,
223
+ description: null,
224
+ is_system: null,
225
+ version: value.version,
226
+ created_at: value.created_at,
227
+ updated_at: value.updated_at,
228
+ };
229
+ if (objectType === 'attribute_definition') {
230
+ return {
231
+ ...common,
232
+ source_key: value.source_key,
233
+ business_type_number: value.biz_type_no,
234
+ attribute_name: value.attr_name,
235
+ value_source: value.value_source ?? null,
236
+ };
237
+ }
238
+ if (objectType === 'attribute_fill') {
239
+ return {
240
+ ...common,
241
+ source_category: value.source_category,
242
+ source_code: value.source_code,
243
+ line_type: value.line_type,
244
+ system_type: value.system_type,
245
+ target_field: value.target_field,
246
+ source_expression: value.source_expr,
247
+ note: value.note ?? null,
248
+ is_system: value.is_system,
249
+ };
250
+ }
251
+ return {
252
+ ...common,
253
+ source_category: value.source_category,
254
+ source_code: value.source_code,
255
+ target_line_types: value.target_line_types,
256
+ priority: value.priority,
257
+ status: value.status,
258
+ description: value.description ?? null,
259
+ is_system: value.is_system,
260
+ };
261
+ }
262
+ export function mappingConfigQueryOutput(options) {
263
+ let values;
264
+ let pageValue;
265
+ switch (options.capabilityId) {
266
+ case 'suite.config.map_attr_definition.list':
267
+ case 'suite.config.map_attribute_fill.list':
268
+ case 'suite.config.map_source_handler.list': {
269
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
270
+ values = parsed.items;
271
+ pageValue = page(parsed);
272
+ break;
273
+ }
274
+ default: {
275
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
276
+ values = [parsed];
277
+ }
278
+ }
279
+ return queryMappingConfigOutputSchema.parse({
280
+ ok: true,
281
+ data: {
282
+ view: options.view,
283
+ object_type: options.objectType,
284
+ items: values.map((value) => mappingItem(value, options.objectType)),
285
+ },
286
+ ...(pageValue === undefined ? {} : { page: pageValue }),
287
+ warnings: [],
288
+ trace_id: options.context.traceId,
289
+ source_refs: source(options.capabilityId),
290
+ });
291
+ }
292
+ function attributeSlots(value, prefix) {
293
+ return Array.from({ length: 12 }, (_, index) => nullable(value[`${prefix}_attribute${index + 1}`]));
294
+ }
295
+ function ruleHeaderItem(value, rowType) {
296
+ return {
297
+ id: value.id,
298
+ object_type: 'rule_header',
299
+ row_type: rowType,
300
+ ledger_id: value.ledger_id,
301
+ rule_code: value.rule_code,
302
+ rule_name: value.rule_name,
303
+ description: nullable(value.rule_description),
304
+ priority: value.priority,
305
+ effective_from: value.effective_from,
306
+ effective_to: nullable(value.effective_to),
307
+ enabled: value.is_enabled,
308
+ match_event_type_operator: nullable(value.match_event_type_op),
309
+ match_event_types: value.match_event_type_vals,
310
+ match_strategy_operator: nullable(value.match_strategy_key_op),
311
+ match_strategy_keys: value.match_strategy_key_vals,
312
+ no_booking: value.is_no_booking,
313
+ merge_same_rule_line: value.is_merge_same_rule_line,
314
+ merge_eligible: value.is_merge_eligible,
315
+ main_account_id: null,
316
+ main_account_code: null,
317
+ main_account_name: null,
318
+ sub_account_id: null,
319
+ sub_account_code: null,
320
+ sub_account_name: null,
321
+ configuration_level: null,
322
+ configuration_scope: null,
323
+ ready_status: null,
324
+ ready: null,
325
+ ready_reason: null,
326
+ main_coa_code: null,
327
+ main_coa_name: null,
328
+ counter_coa_code: null,
329
+ counter_coa_name: null,
330
+ main_attributes: [],
331
+ counter_attributes: [],
332
+ version: value.version,
333
+ created_at: value.created_at,
334
+ updated_at: nullable(value.updated_at),
335
+ };
336
+ }
337
+ function precheckDetailItem(value) {
338
+ return {
339
+ id: value.id,
340
+ object_type: 'precheck',
341
+ row_type: 'detail',
342
+ ledger_id: value.ledger_id,
343
+ rule_code: null,
344
+ rule_name: null,
345
+ description: nullable(value.remark),
346
+ priority: null,
347
+ effective_from: nullable(value.effective_from),
348
+ effective_to: nullable(value.effective_to),
349
+ enabled: value.is_enabled,
350
+ match_event_type_operator: null,
351
+ match_event_types: [],
352
+ match_strategy_operator: null,
353
+ match_strategy_keys: [],
354
+ no_booking: null,
355
+ merge_same_rule_line: null,
356
+ merge_eligible: null,
357
+ main_account_id: value.main_account_id,
358
+ main_account_code: value.account_code,
359
+ main_account_name: null,
360
+ sub_account_id: nullable(value.sub_account_id),
361
+ sub_account_code: nullable(value.sub_account_code),
362
+ sub_account_name: null,
363
+ configuration_level: value.config_level,
364
+ configuration_scope: value.config_scope,
365
+ ready_status: value.ready_status,
366
+ ready: value.is_ready,
367
+ ready_reason: nullable(value.ready_reason),
368
+ main_coa_code: nullable(value.main_coa_code),
369
+ main_coa_name: nullable(value.main_coa_name),
370
+ counter_coa_code: nullable(value.counter_coa_code),
371
+ counter_coa_name: nullable(value.counter_coa_name),
372
+ main_attributes: attributeSlots(value, 'main'),
373
+ counter_attributes: attributeSlots(value, 'counter'),
374
+ version: value.version,
375
+ created_at: null,
376
+ updated_at: null,
377
+ };
378
+ }
379
+ function precheckTreeItems(nodes) {
380
+ return nodes.flatMap((node) => {
381
+ const common = {
382
+ object_type: 'precheck',
383
+ ledger_id: null,
384
+ rule_code: null,
385
+ rule_name: null,
386
+ description: null,
387
+ priority: null,
388
+ match_event_type_operator: null,
389
+ match_event_types: [],
390
+ match_strategy_operator: null,
391
+ match_strategy_keys: [],
392
+ no_booking: null,
393
+ merge_same_rule_line: null,
394
+ merge_eligible: null,
395
+ main_account_id: node.main_account_id,
396
+ main_account_code: node.account_code,
397
+ main_account_name: node.account_name,
398
+ configuration_level: node.config_level,
399
+ main_attributes: [],
400
+ counter_attributes: [],
401
+ created_at: null,
402
+ updated_at: null,
403
+ };
404
+ const rows = [
405
+ ...(node.main_row === null
406
+ ? []
407
+ : [{ row_type: 'main_account', row: node.main_row }]),
408
+ ...node.children.map((row) => ({
409
+ row_type: 'sub_account',
410
+ row,
411
+ })),
412
+ ];
413
+ return rows.map(({ row_type, row }) => ({
414
+ ...common,
415
+ id: row.id,
416
+ row_type,
417
+ effective_from: nullable(row.effective_from),
418
+ effective_to: nullable(row.effective_to),
419
+ enabled: row.is_enabled,
420
+ sub_account_id: nullable(row.sub_account_id),
421
+ sub_account_code: nullable(row.sub_account_code),
422
+ sub_account_name: nullable(row.sub_account_name),
423
+ configuration_scope: row.config_scope,
424
+ ready_status: row.ready_status,
425
+ ready: row.is_ready,
426
+ ready_reason: nullable(row.ready_reason),
427
+ main_coa_code: nullable(row.main_coa_code),
428
+ main_coa_name: nullable(row.main_coa_name),
429
+ counter_coa_code: nullable(row.counter_coa_code),
430
+ counter_coa_name: null,
431
+ version: row.version,
432
+ }));
433
+ });
434
+ }
435
+ export function accountingRulesQueryOutput(options) {
436
+ let items;
437
+ let pageValue;
438
+ if (options.capabilityId === 'suite.config.accounting_rule.list') {
439
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
440
+ items = parsed.items.map((value) => ruleHeaderItem(value, 'rule'));
441
+ pageValue = page(parsed);
442
+ }
443
+ else if (options.capabilityId === 'suite.config.accounting_rule.detail') {
444
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
445
+ items = [ruleHeaderItem(parsed, 'detail')];
446
+ }
447
+ else if (options.capabilityId === 'suite.config.precheck_rule.tree') {
448
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
449
+ items = precheckTreeItems(parsed);
450
+ }
451
+ else {
452
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
453
+ items = [precheckDetailItem(parsed)];
454
+ }
455
+ return queryAccountingRulesOutputSchema.parse({
456
+ ok: true,
457
+ data: {
458
+ view: options.view,
459
+ object_type: options.objectType,
460
+ items,
461
+ },
462
+ ...(pageValue === undefined ? {} : { page: pageValue }),
463
+ warnings: [],
464
+ trace_id: options.context.traceId,
465
+ source_refs: source(options.capabilityId),
466
+ });
467
+ }
468
+ function allocationLine(value) {
469
+ return {
470
+ id: value.id,
471
+ line_number: value.line_no,
472
+ coa_code: value.coa_code,
473
+ coa_name: value.coa_name,
474
+ attributes: value.attributes,
475
+ business_types: value.biz_types,
476
+ description: nullable(value.description),
477
+ reference: nullable(value.reference),
478
+ ratio: value.ratio,
479
+ enabled: nullable(value.enabled),
480
+ base_currency: nullable(value.base_currency),
481
+ base_amount: nullable(value.base_amount),
482
+ origin_currency: nullable(value.origin_currency),
483
+ origin_amount: nullable(value.origin_amount),
484
+ };
485
+ }
486
+ function allocationConfigItem(value, lines = []) {
487
+ return {
488
+ id: value.id,
489
+ item_type: 'configuration',
490
+ ledger_id: value.ledger_id,
491
+ ledger_name: value.ledger_name,
492
+ journal_id: null,
493
+ journal_number: null,
494
+ period_name: null,
495
+ gl_date: null,
496
+ coa_code: value.coa_code,
497
+ coa_name: value.coa_name,
498
+ attributes: value.attributes,
499
+ description: nullable(value.description),
500
+ reference: nullable(value.reference),
501
+ generation_mode: null,
502
+ status: null,
503
+ ratio_total: value.ratio_total,
504
+ base_currency: null,
505
+ base_amount: null,
506
+ line_count: value.line_count,
507
+ enabled: value.enabled,
508
+ version: value.version,
509
+ created_at: value.created_at,
510
+ updated_at: value.updated_at,
511
+ attribute_combination: null,
512
+ lines: lines.map(allocationLine),
513
+ };
514
+ }
515
+ function allocationResultItem(value, lines = []) {
516
+ return {
517
+ id: value.id,
518
+ item_type: 'result',
519
+ ledger_id: value.ledger_id,
520
+ ledger_name: value.ledger_name,
521
+ journal_id: value.journal_id,
522
+ journal_number: value.journal_number,
523
+ period_name: value.period_name,
524
+ gl_date: value.gl_date,
525
+ coa_code: value.coa_code,
526
+ coa_name: value.coa_name,
527
+ attributes: value.attributes,
528
+ description: nullable(value.description),
529
+ reference: nullable(value.reference),
530
+ generation_mode: value.gen_mode,
531
+ status: value.status,
532
+ ratio_total: null,
533
+ base_currency: value.base_currency,
534
+ base_amount: value.net_base_amount,
535
+ line_count: value.line_count,
536
+ enabled: null,
537
+ version: value.version,
538
+ created_at: value.created_at,
539
+ updated_at: null,
540
+ attribute_combination: null,
541
+ lines: lines.map(allocationLine),
542
+ };
543
+ }
544
+ export function allocationQueryOutput(options) {
545
+ let items;
546
+ let pageValue;
547
+ let grandTotal = null;
548
+ if (options.capabilityId === 'suite.config.allocation_config.list') {
549
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
550
+ items = parsed.items.map((value) => allocationConfigItem(value));
551
+ pageValue = page(parsed);
552
+ }
553
+ else if (options.capabilityId === 'suite.config.allocation_config.detail') {
554
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
555
+ items = [allocationConfigItem(parsed.head, parsed.lines)];
556
+ }
557
+ else if (options.capabilityId === 'suite.aloc.detail.list') {
558
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
559
+ items = parsed.items.map((value) => allocationResultItem(value));
560
+ pageValue = page(parsed);
561
+ }
562
+ else if (options.capabilityId === 'suite.aloc.detail.detail') {
563
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
564
+ items = [allocationResultItem(parsed.head, parsed.lines)];
565
+ }
566
+ else {
567
+ const parsed = parseExtendedQueryResponse(options.capabilityId, options.raw);
568
+ grandTotal = parsed.grand_total;
569
+ items = parsed.rows.map((value) => ({
570
+ id: null,
571
+ item_type: 'summary',
572
+ ledger_id: null,
573
+ ledger_name: null,
574
+ journal_id: null,
575
+ journal_number: null,
576
+ period_name: null,
577
+ gl_date: null,
578
+ coa_code: value.coa_code,
579
+ coa_name: value.coa_name,
580
+ attributes: [],
581
+ description: null,
582
+ reference: null,
583
+ generation_mode: null,
584
+ status: null,
585
+ ratio_total: null,
586
+ base_currency: null,
587
+ base_amount: value.total_base_amount,
588
+ line_count: value.line_count,
589
+ enabled: null,
590
+ version: null,
591
+ created_at: null,
592
+ updated_at: null,
593
+ attribute_combination: value.att_combo,
594
+ lines: [],
595
+ }));
596
+ }
597
+ return queryAllocationOutputSchema.parse({
598
+ ok: true,
599
+ data: {
600
+ view: options.view,
601
+ grand_total: grandTotal,
602
+ items,
603
+ },
604
+ ...(pageValue === undefined ? {} : { page: pageValue }),
605
+ warnings: [],
606
+ trace_id: options.context.traceId,
607
+ source_refs: source(options.capabilityId),
608
+ });
609
+ }
610
+ //# sourceMappingURL=query-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-output.js","sourceRoot":"","sources":["../../../src/tools/extended/query-output.ts"],"names":[],"mappings":"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"}