@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,169 @@
1
+ import { z } from 'zod/v4';
2
+ import { upstreamDecimalSchema } from '../../schemas/primitives.js';
3
+ import { defineSuiteReadCapability } from '../define-capability.js';
4
+ const ledgerRequestSchema = z.object({ ledger_id: z.uuid() }).strict();
5
+ const emptyRequestSchema = z.object({}).strict();
6
+ const auxiliaryRequestSchema = z
7
+ .object({ ledger_id: z.uuid(), coa_code: z.string().min(1).max(50) })
8
+ .strict();
9
+ const pagedRequestSchema = z
10
+ .object({
11
+ ledger_id: z.uuid().optional(),
12
+ search: z.string().max(120).optional(),
13
+ page: z.number().int().positive(),
14
+ page_size: z.number().int().min(1).max(100),
15
+ })
16
+ .strict();
17
+ const periodOptionSchema = z
18
+ .object({
19
+ period_name: z.string().regex(/^\d{4}-(?:0[1-9]|1[0-2])$/),
20
+ year: z.number().int().nullable(),
21
+ })
22
+ .passthrough();
23
+ const coaOptionSchema = z
24
+ .object({
25
+ coa_code: z.string().min(1),
26
+ coa_name: z.string().min(1),
27
+ coa_type: z.string().min(1),
28
+ include_origin: z.boolean(),
29
+ postable: z.boolean(),
30
+ enabled_attr_nos: z.array(z.number().int().min(1).max(12)),
31
+ })
32
+ .passthrough();
33
+ const currencyOptionSchema = z
34
+ .object({
35
+ symbol: z.string().min(1),
36
+ iso_code: z.string().nullable().optional(),
37
+ name: z.string().nullable().optional(),
38
+ })
39
+ .passthrough();
40
+ const auxiliaryOptionSchema = z
41
+ .object({
42
+ slot_no: z.number().int().min(1).max(12),
43
+ label: z.string().min(1),
44
+ dict_code: z.string().nullable().optional(),
45
+ source_type: z.string().nullable().optional(),
46
+ values: z.array(z
47
+ .object({ value: z.string().min(1), label: z.string().min(1) })
48
+ .passthrough()),
49
+ })
50
+ .passthrough();
51
+ const assetCategoryOptionSchema = z
52
+ .object({
53
+ id: z.uuid(),
54
+ ledger_id: z.uuid(),
55
+ ledger_name: z.string().nullable(),
56
+ category: z.string().min(1),
57
+ major_category_code: z.string().min(1),
58
+ minor_category_code: z.string().min(1),
59
+ major_category_name: z.string().nullable(),
60
+ minor_category_name: z.string().nullable(),
61
+ enabled: z.boolean(),
62
+ depr_method_id: z.uuid(),
63
+ useful_life_years: z.number().int().nonnegative().nullable(),
64
+ months: z.number().int().nonnegative().nullable(),
65
+ default_salvage_pct: upstreamDecimalSchema.nullable(),
66
+ version: z.number().int().nonnegative().nullable(),
67
+ })
68
+ .passthrough();
69
+ const depreciationMethodOptionSchema = z
70
+ .object({
71
+ id: z.uuid(),
72
+ method_code: z.string().min(1),
73
+ method_name: z.string().min(1),
74
+ calc_basis: z.string().min(1),
75
+ useful_life_years: z.number().int().nonnegative().nullable(),
76
+ months: z.number().int().nonnegative().nullable(),
77
+ enabled: z.boolean(),
78
+ version: z.number().int().nonnegative().nullable(),
79
+ })
80
+ .passthrough();
81
+ const pageResponseSchema = (itemSchema) => z
82
+ .object({
83
+ list: z.array(itemSchema),
84
+ total: z.number().int().nonnegative(),
85
+ page: z.number().int().positive(),
86
+ page_size: z.number().int().positive(),
87
+ })
88
+ .passthrough();
89
+ export const referenceDataCapabilities = [
90
+ defineSuiteReadCapability({
91
+ capabilityId: 'suite.acct.journal.period_options',
92
+ module: 'ACCT',
93
+ object: 'journal_reference',
94
+ operation: 'periodOptions',
95
+ path: '/api/v1/accounting/journals/options/periods',
96
+ permissionAny: ['accounting:journal:list'],
97
+ requestSchema: ledgerRequestSchema,
98
+ responseSchema: z.array(periodOptionSchema),
99
+ requestAdapter: (input) => ({
100
+ query: { ledger_id: ledgerRequestSchema.parse(input).ledger_id },
101
+ }),
102
+ }),
103
+ defineSuiteReadCapability({
104
+ capabilityId: 'suite.acct.journal.coa_options',
105
+ module: 'ACCT',
106
+ object: 'journal_reference',
107
+ operation: 'coaOptions',
108
+ path: '/api/v1/accounting/journals/options/coa',
109
+ permissionAny: ['accounting:journal:list'],
110
+ requestSchema: ledgerRequestSchema,
111
+ responseSchema: z.array(coaOptionSchema),
112
+ requestAdapter: (input) => ({
113
+ query: { ledger_id: ledgerRequestSchema.parse(input).ledger_id },
114
+ }),
115
+ }),
116
+ defineSuiteReadCapability({
117
+ capabilityId: 'suite.acct.journal.currency_options',
118
+ module: 'ACCT',
119
+ object: 'journal_reference',
120
+ operation: 'currencyOptions',
121
+ path: '/api/v1/accounting/journals/options/currencies',
122
+ permissionAny: ['accounting:journal:list'],
123
+ requestSchema: emptyRequestSchema,
124
+ responseSchema: z.array(currencyOptionSchema),
125
+ requestAdapter: () => ({}),
126
+ }),
127
+ defineSuiteReadCapability({
128
+ capabilityId: 'suite.acct.journal.auxiliary_options',
129
+ module: 'ACCT',
130
+ object: 'journal_reference',
131
+ operation: 'coaAttributeOptions',
132
+ path: '/api/v1/accounting/journals/options/coa-attrs',
133
+ permissionAny: ['accounting:journal:list'],
134
+ requestSchema: auxiliaryRequestSchema,
135
+ responseSchema: z.array(auxiliaryOptionSchema),
136
+ requestAdapter: (input) => {
137
+ const parsed = auxiliaryRequestSchema.parse(input);
138
+ return { query: parsed };
139
+ },
140
+ }),
141
+ defineSuiteReadCapability({
142
+ capabilityId: 'suite.fa.reference.asset_categories',
143
+ module: 'FA',
144
+ object: 'asset_reference',
145
+ operation: 'categoryList',
146
+ path: '/api/v1/fa/settings/categories',
147
+ permissionAny: ['fa:settings:categories:list'],
148
+ requestSchema: pagedRequestSchema,
149
+ responseSchema: pageResponseSchema(assetCategoryOptionSchema),
150
+ requestAdapter: (input) => {
151
+ const parsed = pagedRequestSchema.parse(input);
152
+ return { query: parsed };
153
+ },
154
+ }),
155
+ defineSuiteReadCapability({
156
+ capabilityId: 'suite.fa.reference.depreciation_methods',
157
+ module: 'FA',
158
+ object: 'asset_reference',
159
+ operation: 'depreciationMethodList',
160
+ path: '/api/v1/fa/settings/methods',
161
+ permissionAny: ['fa:settings:methods:list'],
162
+ requestSchema: pagedRequestSchema.omit({ ledger_id: true }),
163
+ responseSchema: pageResponseSchema(depreciationMethodOptionSchema),
164
+ requestAdapter: (input) => ({
165
+ query: pagedRequestSchema.omit({ ledger_id: true }).parse(input),
166
+ }),
167
+ }),
168
+ ];
169
+ //# sourceMappingURL=reference-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-data.js","sourceRoot":"","sources":["../../../src/capabilities/definitions/reference-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { CapabilityDefinition } from '../capability.js';
2
+ export declare const transactionDraftCapabilities: readonly CapabilityDefinition[];
@@ -0,0 +1,157 @@
1
+ import { z } from 'zod/v4';
2
+ import { transactionDraftValueSchemas, } from '../../schemas/domains/transaction-drafts.js';
3
+ import { transactionUpstreamItemSchema } from '../../schemas/domains/transactions.js';
4
+ const createResponseSchemas = {
5
+ fiat: z
6
+ .object({
7
+ created: z.number().int().positive(),
8
+ lines: z.array(transactionUpstreamItemSchema).min(1),
9
+ })
10
+ .passthrough(),
11
+ crypto: z
12
+ .object({
13
+ line: transactionUpstreamItemSchema.nullable().optional(),
14
+ lines: z.array(transactionUpstreamItemSchema).nullable().optional(),
15
+ crypto_lines: z
16
+ .array(transactionUpstreamItemSchema)
17
+ .nullable()
18
+ .optional(),
19
+ })
20
+ .passthrough()
21
+ .refine((value) => value.line !== null && value.line !== undefined
22
+ ? true
23
+ : (value.lines?.length ?? value.crypto_lines?.length ?? 0) > 0, 'Create response is missing transaction details'),
24
+ security: z
25
+ .object({
26
+ created: z.number().int().positive(),
27
+ lines: z.array(transactionUpstreamItemSchema).min(1),
28
+ })
29
+ .passthrough(),
30
+ derivative: z
31
+ .object({
32
+ line: transactionUpstreamItemSchema.nullable().optional(),
33
+ lines: z.array(transactionUpstreamItemSchema).nullable().optional(),
34
+ })
35
+ .passthrough()
36
+ .refine((value) => value.line !== null && value.line !== undefined
37
+ ? true
38
+ : (value.lines?.length ?? 0) > 0, 'Create response is missing transaction details'),
39
+ };
40
+ const updateResponseSchemas = {
41
+ fiat: z.object({ line: transactionUpstreamItemSchema }).passthrough(),
42
+ crypto: z.object({ line: transactionUpstreamItemSchema }).passthrough(),
43
+ security: z.object({ line: transactionUpstreamItemSchema }).passthrough(),
44
+ derivative: z.object({ line: transactionUpstreamItemSchema }).passthrough(),
45
+ };
46
+ function signedQuantity(quantity, flowType) {
47
+ if (quantity === undefined)
48
+ return undefined;
49
+ return flowType === 'OUTFLOW' ? `-${quantity}` : quantity;
50
+ }
51
+ function expandSlots(prefix, entries = []) {
52
+ return Object.fromEntries(entries.map((entry) => [`${prefix}${entry.slot}`, entry.value]));
53
+ }
54
+ function adaptValues(value) {
55
+ const { type_specific: typeSpecific, business_types: businessTypes, attributes, quantity, flow_type: flowType, ...common } = value;
56
+ return {
57
+ ...common,
58
+ ...(flowType === undefined ? {} : { flow_type: flowType }),
59
+ ...(quantity === undefined
60
+ ? {}
61
+ : {
62
+ quantity: signedQuantity(quantity, flowType),
63
+ }),
64
+ ...typeSpecific,
65
+ ...expandSlots('biz_type', businessTypes),
66
+ ...expandSlots('attribute', attributes),
67
+ };
68
+ }
69
+ function extractCreateLine(type, response) {
70
+ const shaped = response;
71
+ if (shaped.line != null)
72
+ return shaped.line;
73
+ if (shaped.lines?.[0] !== undefined) {
74
+ return shaped.lines[0];
75
+ }
76
+ if (type === 'crypto' && shaped.crypto_lines?.[0] !== undefined) {
77
+ return shaped.crypto_lines[0];
78
+ }
79
+ throw new Error('Validated transaction create response has no line');
80
+ }
81
+ function createCapability(type, schemas) {
82
+ const responseSchema = createResponseSchemas[type];
83
+ return {
84
+ capabilityId: `suite.txn.${type}.create`,
85
+ service: 'suite',
86
+ module: 'TXN',
87
+ object: type,
88
+ operation: 'create',
89
+ method: 'POST',
90
+ path: `/api/v1/txn/${type}`,
91
+ auth: 'required',
92
+ permissionAny: [`txn:${type}:create`],
93
+ permissionAll: [],
94
+ risk: 'R1',
95
+ sideEffect: 'draft',
96
+ idempotency: 'key',
97
+ retryPolicy: 'none',
98
+ responseMode: 'json',
99
+ timeoutMs: 15_000,
100
+ requestSchema: schemas.create,
101
+ responseSchema,
102
+ requestAdapter: (input) => {
103
+ const values = adaptValues(schemas.create.parse(input));
104
+ return { body: { [`${type}_lines`]: [values] } };
105
+ },
106
+ resultAdapter: (response) => extractCreateLine(type, responseSchema.parse(response)),
107
+ auditEvent: `txn.${type}.create`,
108
+ enabled: true,
109
+ exposurePack: 'core-edit',
110
+ };
111
+ }
112
+ function updateCapability(type, schemas) {
113
+ const requestSchema = z
114
+ .object({
115
+ transaction_id: z.uuid(),
116
+ version: z.number().int().nonnegative(),
117
+ changes: schemas.update,
118
+ })
119
+ .strict();
120
+ const responseSchema = updateResponseSchemas[type];
121
+ return {
122
+ capabilityId: `suite.txn.${type}.update`,
123
+ service: 'suite',
124
+ module: 'TXN',
125
+ object: type,
126
+ operation: 'update',
127
+ method: 'PUT',
128
+ path: `/api/v1/txn/${type}/{lineId}`,
129
+ auth: 'required',
130
+ permissionAny: [`txn:${type}:update`],
131
+ permissionAll: [],
132
+ risk: 'R1',
133
+ sideEffect: 'draft',
134
+ idempotency: 'key',
135
+ retryPolicy: 'none',
136
+ responseMode: 'json',
137
+ timeoutMs: 15_000,
138
+ requestSchema,
139
+ responseSchema,
140
+ requestAdapter: (input) => {
141
+ const parsed = requestSchema.parse(input);
142
+ return {
143
+ pathParams: { lineId: parsed.transaction_id },
144
+ body: { ...adaptValues(parsed.changes), version: parsed.version },
145
+ };
146
+ },
147
+ resultAdapter: (response) => responseSchema.parse(response).line,
148
+ auditEvent: `txn.${type}.update`,
149
+ enabled: true,
150
+ exposurePack: 'core-edit',
151
+ };
152
+ }
153
+ export const transactionDraftCapabilities = Object.keys(transactionDraftValueSchemas).flatMap((type) => {
154
+ const schemas = transactionDraftValueSchemas[type];
155
+ return [createCapability(type, schemas), updateCapability(type, schemas)];
156
+ });
157
+ //# sourceMappingURL=transaction-drafts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-drafts.js","sourceRoot":"","sources":["../../../src/capabilities/definitions/transaction-drafts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import { z } from 'zod/v4';
2
+ import type { CapabilityDefinition } from '../capability.js';
3
+ declare const schemas: {
4
+ readonly fiat: z.ZodObject<{
5
+ counterparty: z.ZodOptional<z.ZodString>;
6
+ bank_ref: z.ZodOptional<z.ZodString>;
7
+ symbol: z.ZodOptional<z.ZodString>;
8
+ flow_type: z.ZodOptional<z.ZodEnum<{
9
+ INFLOW: "INFLOW";
10
+ OUTFLOW: "OUTFLOW";
11
+ }>>;
12
+ biz_type1: z.ZodOptional<z.ZodString>;
13
+ biz_type2: z.ZodOptional<z.ZodString>;
14
+ biz_type3: z.ZodOptional<z.ZodString>;
15
+ biz_type4: z.ZodOptional<z.ZodString>;
16
+ biz_date_from: z.ZodOptional<z.ZodISODate>;
17
+ biz_date_to: z.ZodOptional<z.ZodISODate>;
18
+ main_account: z.ZodOptional<z.ZodString>;
19
+ sub_account: z.ZodOptional<z.ZodString>;
20
+ from_party: z.ZodOptional<z.ZodString>;
21
+ to_party: z.ZodOptional<z.ZodString>;
22
+ quantity_min: z.ZodOptional<z.ZodString>;
23
+ quantity_max: z.ZodOptional<z.ZodString>;
24
+ base_amount_min: z.ZodOptional<z.ZodString>;
25
+ base_amount_max: z.ZodOptional<z.ZodString>;
26
+ page: z.ZodNumber;
27
+ page_size: z.ZodNumber;
28
+ }, z.core.$strict>;
29
+ readonly crypto: z.ZodObject<{
30
+ transaction_id: z.ZodOptional<z.ZodString>;
31
+ symbol: z.ZodOptional<z.ZodString>;
32
+ flow_type: z.ZodOptional<z.ZodEnum<{
33
+ INFLOW: "INFLOW";
34
+ OUTFLOW: "OUTFLOW";
35
+ }>>;
36
+ biz_type1: z.ZodOptional<z.ZodString>;
37
+ biz_type2: z.ZodOptional<z.ZodString>;
38
+ biz_type3: z.ZodOptional<z.ZodString>;
39
+ biz_type4: z.ZodOptional<z.ZodString>;
40
+ biz_date_from: z.ZodOptional<z.ZodISODate>;
41
+ biz_date_to: z.ZodOptional<z.ZodISODate>;
42
+ main_account: z.ZodOptional<z.ZodString>;
43
+ sub_account: z.ZodOptional<z.ZodString>;
44
+ from_party: z.ZodOptional<z.ZodString>;
45
+ to_party: z.ZodOptional<z.ZodString>;
46
+ quantity_min: z.ZodOptional<z.ZodString>;
47
+ quantity_max: z.ZodOptional<z.ZodString>;
48
+ base_amount_min: z.ZodOptional<z.ZodString>;
49
+ base_amount_max: z.ZodOptional<z.ZodString>;
50
+ page: z.ZodNumber;
51
+ page_size: z.ZodNumber;
52
+ }, z.core.$strict>;
53
+ readonly security: z.ZodObject<{
54
+ ticker: z.ZodOptional<z.ZodString>;
55
+ exchange: z.ZodOptional<z.ZodString>;
56
+ symbol: z.ZodOptional<z.ZodString>;
57
+ flow_type: z.ZodOptional<z.ZodEnum<{
58
+ INFLOW: "INFLOW";
59
+ OUTFLOW: "OUTFLOW";
60
+ }>>;
61
+ biz_type1: z.ZodOptional<z.ZodString>;
62
+ biz_type2: z.ZodOptional<z.ZodString>;
63
+ biz_type3: z.ZodOptional<z.ZodString>;
64
+ biz_type4: z.ZodOptional<z.ZodString>;
65
+ biz_date_from: z.ZodOptional<z.ZodISODate>;
66
+ biz_date_to: z.ZodOptional<z.ZodISODate>;
67
+ main_account: z.ZodOptional<z.ZodString>;
68
+ sub_account: z.ZodOptional<z.ZodString>;
69
+ from_party: z.ZodOptional<z.ZodString>;
70
+ to_party: z.ZodOptional<z.ZodString>;
71
+ quantity_min: z.ZodOptional<z.ZodString>;
72
+ quantity_max: z.ZodOptional<z.ZodString>;
73
+ base_amount_min: z.ZodOptional<z.ZodString>;
74
+ base_amount_max: z.ZodOptional<z.ZodString>;
75
+ page: z.ZodNumber;
76
+ page_size: z.ZodNumber;
77
+ }, z.core.$strict>;
78
+ readonly derivative: z.ZodObject<{
79
+ instrument_id: z.ZodOptional<z.ZodString>;
80
+ product_type: z.ZodOptional<z.ZodString>;
81
+ symbol: z.ZodOptional<z.ZodString>;
82
+ flow_type: z.ZodOptional<z.ZodEnum<{
83
+ INFLOW: "INFLOW";
84
+ OUTFLOW: "OUTFLOW";
85
+ }>>;
86
+ biz_type1: z.ZodOptional<z.ZodString>;
87
+ biz_type2: z.ZodOptional<z.ZodString>;
88
+ biz_type3: z.ZodOptional<z.ZodString>;
89
+ biz_type4: z.ZodOptional<z.ZodString>;
90
+ biz_date_from: z.ZodOptional<z.ZodISODate>;
91
+ biz_date_to: z.ZodOptional<z.ZodISODate>;
92
+ main_account: z.ZodOptional<z.ZodString>;
93
+ sub_account: z.ZodOptional<z.ZodString>;
94
+ from_party: z.ZodOptional<z.ZodString>;
95
+ to_party: z.ZodOptional<z.ZodString>;
96
+ quantity_min: z.ZodOptional<z.ZodString>;
97
+ quantity_max: z.ZodOptional<z.ZodString>;
98
+ base_amount_min: z.ZodOptional<z.ZodString>;
99
+ base_amount_max: z.ZodOptional<z.ZodString>;
100
+ page: z.ZodNumber;
101
+ page_size: z.ZodNumber;
102
+ }, z.core.$strict>;
103
+ };
104
+ export type TransactionCapabilityType = keyof typeof schemas;
105
+ export declare const transactionListCapabilities: readonly CapabilityDefinition[];
106
+ export declare const transactionExportResponseSchema: z.ZodObject<{
107
+ bytes: z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>;
108
+ headers: z.ZodCustom<Headers, Headers>;
109
+ }, z.core.$strict>;
110
+ declare const exportSchemas: {
111
+ readonly fiat: z.ZodObject<{
112
+ counterparty: z.ZodOptional<z.ZodString>;
113
+ bank_ref: z.ZodOptional<z.ZodString>;
114
+ symbol: z.ZodOptional<z.ZodString>;
115
+ flow_type: z.ZodOptional<z.ZodEnum<{
116
+ INFLOW: "INFLOW";
117
+ OUTFLOW: "OUTFLOW";
118
+ }>>;
119
+ biz_type1: z.ZodOptional<z.ZodString>;
120
+ biz_type2: z.ZodOptional<z.ZodString>;
121
+ biz_type3: z.ZodOptional<z.ZodString>;
122
+ biz_type4: z.ZodOptional<z.ZodString>;
123
+ biz_date_from: z.ZodOptional<z.ZodISODate>;
124
+ biz_date_to: z.ZodOptional<z.ZodISODate>;
125
+ main_account: z.ZodOptional<z.ZodString>;
126
+ sub_account: z.ZodOptional<z.ZodString>;
127
+ from_party: z.ZodOptional<z.ZodString>;
128
+ to_party: z.ZodOptional<z.ZodString>;
129
+ quantity_min: z.ZodOptional<z.ZodString>;
130
+ quantity_max: z.ZodOptional<z.ZodString>;
131
+ base_amount_min: z.ZodOptional<z.ZodString>;
132
+ base_amount_max: z.ZodOptional<z.ZodString>;
133
+ format: z.ZodEnum<{
134
+ xlsx: "xlsx";
135
+ csv: "csv";
136
+ }>;
137
+ }, z.core.$strict>;
138
+ readonly crypto: z.ZodObject<{
139
+ transaction_id: z.ZodOptional<z.ZodString>;
140
+ symbol: z.ZodOptional<z.ZodString>;
141
+ flow_type: z.ZodOptional<z.ZodEnum<{
142
+ INFLOW: "INFLOW";
143
+ OUTFLOW: "OUTFLOW";
144
+ }>>;
145
+ biz_type1: z.ZodOptional<z.ZodString>;
146
+ biz_type2: z.ZodOptional<z.ZodString>;
147
+ biz_type3: z.ZodOptional<z.ZodString>;
148
+ biz_type4: z.ZodOptional<z.ZodString>;
149
+ biz_date_from: z.ZodOptional<z.ZodISODate>;
150
+ biz_date_to: z.ZodOptional<z.ZodISODate>;
151
+ main_account: z.ZodOptional<z.ZodString>;
152
+ sub_account: z.ZodOptional<z.ZodString>;
153
+ from_party: z.ZodOptional<z.ZodString>;
154
+ to_party: z.ZodOptional<z.ZodString>;
155
+ quantity_min: z.ZodOptional<z.ZodString>;
156
+ quantity_max: z.ZodOptional<z.ZodString>;
157
+ base_amount_min: z.ZodOptional<z.ZodString>;
158
+ base_amount_max: z.ZodOptional<z.ZodString>;
159
+ format: z.ZodEnum<{
160
+ xlsx: "xlsx";
161
+ csv: "csv";
162
+ }>;
163
+ }, z.core.$strict>;
164
+ };
165
+ export type ExportableTransactionType = keyof typeof exportSchemas;
166
+ export declare const transactionExportCapabilities: readonly CapabilityDefinition[];
167
+ export declare const transactionCapabilities: readonly CapabilityDefinition[];
168
+ export {};
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod/v4';
2
+ import { cryptoTransactionFiltersSchema, derivativeTransactionFiltersSchema, fiatTransactionFiltersSchema, securityTransactionFiltersSchema, transactionExportFormatSchema, transactionListUpstreamSchema, } from '../../schemas/domains/transactions.js';
3
+ import { defineSuiteReadCapability } from '../define-capability.js';
4
+ const schemas = {
5
+ fiat: fiatTransactionFiltersSchema.extend({
6
+ page: z.number().int().positive(),
7
+ page_size: z.number().int().min(1).max(200),
8
+ }),
9
+ crypto: cryptoTransactionFiltersSchema.extend({
10
+ page: z.number().int().positive(),
11
+ page_size: z.number().int().min(1).max(200),
12
+ }),
13
+ security: securityTransactionFiltersSchema.extend({
14
+ page: z.number().int().positive(),
15
+ page_size: z.number().int().min(1).max(200),
16
+ }),
17
+ derivative: derivativeTransactionFiltersSchema.extend({
18
+ page: z.number().int().positive(),
19
+ page_size: z.number().int().min(1).max(200),
20
+ }),
21
+ };
22
+ export const transactionListCapabilities = Object.keys(schemas).map((type) => {
23
+ const schema = schemas[type];
24
+ return defineSuiteReadCapability({
25
+ capabilityId: `suite.txn.${type}.list`,
26
+ module: 'TXN',
27
+ object: type,
28
+ operation: 'list',
29
+ path: `/api/v1/txn/${type}`,
30
+ permissionAny: [`txn:${type}:list`],
31
+ requestSchema: schema,
32
+ responseSchema: transactionListUpstreamSchema,
33
+ requestAdapter: (input) => ({ query: schema.parse(input) }),
34
+ });
35
+ });
36
+ export const transactionExportResponseSchema = z
37
+ .object({
38
+ bytes: z.instanceof(Uint8Array),
39
+ headers: z.instanceof(Headers),
40
+ })
41
+ .strict();
42
+ const exportSchemas = {
43
+ fiat: fiatTransactionFiltersSchema.extend({
44
+ format: transactionExportFormatSchema,
45
+ }),
46
+ crypto: cryptoTransactionFiltersSchema.extend({
47
+ format: transactionExportFormatSchema,
48
+ }),
49
+ };
50
+ export const transactionExportCapabilities = Object.keys(exportSchemas).map((type) => {
51
+ const schema = exportSchemas[type];
52
+ return defineSuiteReadCapability({
53
+ capabilityId: `suite.txn.${type}.export`,
54
+ module: 'TXN',
55
+ object: type,
56
+ operation: 'export',
57
+ path: `/api/v1/txn/${type}/export`,
58
+ permissionAny: [`txn:${type}:export`],
59
+ requestSchema: schema,
60
+ responseSchema: transactionExportResponseSchema,
61
+ requestAdapter: (input) => {
62
+ const parsed = schema.parse(input);
63
+ return {
64
+ query: parsed,
65
+ headers: {
66
+ accept: parsed.format === 'csv'
67
+ ? 'text/csv'
68
+ : 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
69
+ },
70
+ };
71
+ },
72
+ responseMode: 'bytes',
73
+ });
74
+ });
75
+ export const transactionCapabilities = [
76
+ ...transactionListCapabilities,
77
+ ...transactionExportCapabilities,
78
+ ];
79
+ //# sourceMappingURL=transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../src/capabilities/definitions/transactions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AuthIdentity } from '../auth/auth-session.js';
2
+ import type { AuditContext } from '../audit/audit-context.js';
3
+ import type { RuntimeConfig } from '../config/schema.js';
4
+ import type { LockManager } from '../concurrency/lock-manager.js';
5
+ import type { CapabilityRequest } from './capability.js';
6
+ import type { CapabilityRegistry } from './registry.js';
7
+ export declare class CapabilityExecutor {
8
+ #private;
9
+ constructor(options: {
10
+ config: RuntimeConfig;
11
+ registry: CapabilityRegistry;
12
+ locks: LockManager;
13
+ fetch?: typeof fetch;
14
+ });
15
+ call(capabilityId: string, input: unknown, orgId: string | undefined, audit?: AuditContext): Promise<unknown>;
16
+ getIdentity(orgId?: string, audit?: AuditContext): Promise<AuthIdentity>;
17
+ close(): Promise<void>;
18
+ }
19
+ export declare function capabilityRequest(request: CapabilityRequest): CapabilityRequest;