@ripwords/myinvois-client 0.0.9 → 0.1.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 (558) hide show
  1. package/bun.lock +89 -132
  2. package/dist/0X-C4IRh_fJ.d.ts +211 -0
  3. package/dist/0X-C4IRh_fJ.d.ts.map +1 -0
  4. package/dist/0X-Yw7mZEro.d.cts +211 -0
  5. package/dist/0X-Yw7mZEro.d.cts.map +1 -0
  6. package/dist/1X-Brnls9Jh.d.ts +112 -0
  7. package/dist/1X-Brnls9Jh.d.ts.map +1 -0
  8. package/dist/1X-BwpSoT3o.d.cts +20 -0
  9. package/dist/1X-BwpSoT3o.d.cts.map +1 -0
  10. package/dist/1X-C-_KHV-Q.d.ts +20 -0
  11. package/dist/1X-C-_KHV-Q.d.ts.map +1 -0
  12. package/dist/1X-D_aUVsuM.d.cts +112 -0
  13. package/dist/1X-D_aUVsuM.d.cts.map +1 -0
  14. package/dist/2X-Bb6elyzV.d.cts +40 -0
  15. package/dist/2X-Bb6elyzV.d.cts.map +1 -0
  16. package/dist/2X-DkS1BoE5.d.ts +40 -0
  17. package/dist/2X-DkS1BoE5.d.ts.map +1 -0
  18. package/dist/2X-UdQcQW24.d.ts +140 -0
  19. package/dist/2X-UdQcQW24.d.ts.map +1 -0
  20. package/dist/2X-hClUyw26.d.cts +140 -0
  21. package/dist/2X-hClUyw26.d.cts.map +1 -0
  22. package/dist/3X-C7VFD-n-.d.cts +21 -0
  23. package/dist/3X-C7VFD-n-.d.cts.map +1 -0
  24. package/dist/3X-CLMESDvz.d.cts +62 -0
  25. package/dist/3X-CLMESDvz.d.cts.map +1 -0
  26. package/dist/3X-DFI-4RQQ.d.ts +21 -0
  27. package/dist/3X-DFI-4RQQ.d.ts.map +1 -0
  28. package/dist/3X-DVDyspgb.d.ts +62 -0
  29. package/dist/3X-DVDyspgb.d.ts.map +1 -0
  30. package/dist/4X-CIJ2JJ2w.d.ts +31 -0
  31. package/dist/4X-CIJ2JJ2w.d.ts.map +1 -0
  32. package/dist/4X-CUR8jlaZ.d.ts +265 -0
  33. package/dist/4X-CUR8jlaZ.d.ts.map +1 -0
  34. package/dist/4X-CvScPJTf.d.cts +265 -0
  35. package/dist/4X-CvScPJTf.d.cts.map +1 -0
  36. package/dist/4X-DIfvpU6V.d.cts +31 -0
  37. package/dist/4X-DIfvpU6V.d.cts.map +1 -0
  38. package/dist/5X-BOUxhadJ.d.cts +22 -0
  39. package/dist/5X-BOUxhadJ.d.cts.map +1 -0
  40. package/dist/5X-C6db432h.d.ts +77 -0
  41. package/dist/5X-C6db432h.d.ts.map +1 -0
  42. package/dist/5X-COsZHUaQ.d.ts +22 -0
  43. package/dist/5X-COsZHUaQ.d.ts.map +1 -0
  44. package/dist/5X-CkLu7Vyd.d.cts +77 -0
  45. package/dist/5X-CkLu7Vyd.d.cts.map +1 -0
  46. package/dist/6X-C_fFIcJC.d.ts +105 -0
  47. package/dist/6X-C_fFIcJC.d.ts.map +1 -0
  48. package/dist/6X-ClZDKOTC.d.ts +16 -0
  49. package/dist/6X-ClZDKOTC.d.ts.map +1 -0
  50. package/dist/6X-DE7RJeV6.d.cts +16 -0
  51. package/dist/6X-DE7RJeV6.d.cts.map +1 -0
  52. package/dist/6X-Mf32k1d0.d.cts +105 -0
  53. package/dist/6X-Mf32k1d0.d.cts.map +1 -0
  54. package/dist/7X-BZyesooz.d.ts +16 -0
  55. package/dist/7X-BZyesooz.d.ts.map +1 -0
  56. package/dist/7X-Chtd6B66.d.cts +16 -0
  57. package/dist/7X-Chtd6B66.d.cts.map +1 -0
  58. package/dist/7X-DoCUcp-J.d.cts +71 -0
  59. package/dist/7X-DoCUcp-J.d.cts.map +1 -0
  60. package/dist/7X-kot_VccM.d.ts +71 -0
  61. package/dist/7X-kot_VccM.d.ts.map +1 -0
  62. package/dist/8X-Df4DOBOe.d.ts +110 -0
  63. package/dist/8X-Df4DOBOe.d.ts.map +1 -0
  64. package/dist/8X-DkuKAkHz.d.ts +19 -0
  65. package/dist/8X-DkuKAkHz.d.ts.map +1 -0
  66. package/dist/8X-DqZyMvyV.d.cts +19 -0
  67. package/dist/8X-DqZyMvyV.d.cts.map +1 -0
  68. package/dist/8X-Dr9RunRw.d.cts +110 -0
  69. package/dist/8X-Dr9RunRw.d.cts.map +1 -0
  70. package/dist/9X-BDgifncF.d.ts +15 -0
  71. package/dist/9X-BDgifncF.d.ts.map +1 -0
  72. package/dist/9X-BaoZtjWF.d.cts +98 -0
  73. package/dist/9X-BaoZtjWF.d.cts.map +1 -0
  74. package/dist/9X-BcAb6Uso.d.cts +15 -0
  75. package/dist/9X-BcAb6Uso.d.cts.map +1 -0
  76. package/dist/9X-BhBWlgxG.d.ts +98 -0
  77. package/dist/9X-BhBWlgxG.d.ts.map +1 -0
  78. package/dist/AX-BY72FohC.d.cts +111 -0
  79. package/dist/AX-BY72FohC.d.cts.map +1 -0
  80. package/dist/AX-D6XHWdrY.d.ts +111 -0
  81. package/dist/AX-D6XHWdrY.d.ts.map +1 -0
  82. package/dist/BX-CA0OmrUZ.d.cts +115 -0
  83. package/dist/BX-CA0OmrUZ.d.cts.map +1 -0
  84. package/dist/BX-D_0C8Qbd.d.ts +115 -0
  85. package/dist/BX-D_0C8Qbd.d.ts.map +1 -0
  86. package/dist/CX-HH4cSZRX.d.ts +128 -0
  87. package/dist/CX-HH4cSZRX.d.ts.map +1 -0
  88. package/dist/CX-glpQSL8x.d.cts +128 -0
  89. package/dist/CX-glpQSL8x.d.cts.map +1 -0
  90. package/dist/DX-DimL1MDM.d.cts +115 -0
  91. package/dist/DX-DimL1MDM.d.cts.map +1 -0
  92. package/dist/DX-Dx22ax_I.d.ts +115 -0
  93. package/dist/DX-Dx22ax_I.d.ts.map +1 -0
  94. package/dist/EX-BRWh1wFc.d.ts +107 -0
  95. package/dist/EX-BRWh1wFc.d.ts.map +1 -0
  96. package/dist/EX-Cx87Ruxl.d.cts +107 -0
  97. package/dist/EX-Cx87Ruxl.d.cts.map +1 -0
  98. package/dist/FX-D81UlxNN.d.cts +127 -0
  99. package/dist/FX-D81UlxNN.d.cts.map +1 -0
  100. package/dist/FX-RmjwAr40.d.ts +127 -0
  101. package/dist/FX-RmjwAr40.d.ts.map +1 -0
  102. package/dist/GX-9i7piP9G.d.cts +136 -0
  103. package/dist/GX-9i7piP9G.d.cts.map +1 -0
  104. package/dist/GX-CJyo7oDp.d.ts +136 -0
  105. package/dist/GX-CJyo7oDp.d.ts.map +1 -0
  106. package/dist/HX-20GVJAvl.d.cts +126 -0
  107. package/dist/HX-20GVJAvl.d.cts.map +1 -0
  108. package/dist/HX-XALBTdLA.d.ts +126 -0
  109. package/dist/HX-XALBTdLA.d.ts.map +1 -0
  110. package/dist/IX-6SZ55QKb.d.ts +23 -0
  111. package/dist/IX-6SZ55QKb.d.ts.map +1 -0
  112. package/dist/IX-D54NGPsc.d.cts +23 -0
  113. package/dist/IX-D54NGPsc.d.cts.map +1 -0
  114. package/dist/JX-C1RYcwQX.d.cts +104 -0
  115. package/dist/JX-C1RYcwQX.d.cts.map +1 -0
  116. package/dist/JX-hQ1XRmLp.d.ts +104 -0
  117. package/dist/JX-hQ1XRmLp.d.ts.map +1 -0
  118. package/dist/KX-BNwunEfn.d.ts +151 -0
  119. package/dist/KX-BNwunEfn.d.ts.map +1 -0
  120. package/dist/KX-gQHCIgtQ.d.cts +151 -0
  121. package/dist/KX-gQHCIgtQ.d.cts.map +1 -0
  122. package/dist/LX-CHYX3X3J.d.ts +123 -0
  123. package/dist/LX-CHYX3X3J.d.ts.map +1 -0
  124. package/dist/LX-CPurJGIh.d.cts +123 -0
  125. package/dist/LX-CPurJGIh.d.cts.map +1 -0
  126. package/dist/MX-BPGLWSUz.d.ts +153 -0
  127. package/dist/MX-BPGLWSUz.d.ts.map +1 -0
  128. package/dist/MX-BnyW5eHf.d.cts +153 -0
  129. package/dist/MX-BnyW5eHf.d.cts.map +1 -0
  130. package/dist/MyInvoisClient-BrNyMjS-.d.cts +178 -0
  131. package/dist/MyInvoisClient-BrNyMjS-.d.cts.map +1 -0
  132. package/dist/MyInvoisClient-CXu4pdl-.d.ts +178 -0
  133. package/dist/MyInvoisClient-CXu4pdl-.d.ts.map +1 -0
  134. package/dist/MyInvoisClient-Cnvb5iUC.js +299 -0
  135. package/dist/MyInvoisClient-Cnvb5iUC.js.map +1 -0
  136. package/dist/MyInvoisClient-DO1dJfQq.cjs +304 -0
  137. package/dist/MyInvoisClient-DO1dJfQq.cjs.map +1 -0
  138. package/dist/NX-B11fQuco.d.cts +122 -0
  139. package/dist/NX-B11fQuco.d.cts.map +1 -0
  140. package/dist/NX-RulN5Ml3.d.ts +122 -0
  141. package/dist/NX-RulN5Ml3.d.ts.map +1 -0
  142. package/dist/OX-DgKVSp7I.d.ts +26 -0
  143. package/dist/OX-DgKVSp7I.d.ts.map +1 -0
  144. package/dist/OX-T-ydRXQS.d.cts +26 -0
  145. package/dist/OX-T-ydRXQS.d.cts.map +1 -0
  146. package/dist/PX-DA4A2kEv.d.ts +121 -0
  147. package/dist/PX-DA4A2kEv.d.ts.map +1 -0
  148. package/dist/PX-p0n1SzvU.d.cts +121 -0
  149. package/dist/PX-p0n1SzvU.d.cts.map +1 -0
  150. package/dist/QX-CI1NccIB.d.cts +59 -0
  151. package/dist/QX-CI1NccIB.d.cts.map +1 -0
  152. package/dist/QX-DrFqsMEs.d.ts +59 -0
  153. package/dist/QX-DrFqsMEs.d.ts.map +1 -0
  154. package/dist/RX-Cm7vFcFN.d.ts +23 -0
  155. package/dist/RX-Cm7vFcFN.d.ts.map +1 -0
  156. package/dist/RX-DnNKol22.d.cts +23 -0
  157. package/dist/RX-DnNKol22.d.cts.map +1 -0
  158. package/dist/SX-BUjiWQYz.d.cts +40 -0
  159. package/dist/SX-BUjiWQYz.d.cts.map +1 -0
  160. package/dist/SX-CsPPTu-W.d.ts +40 -0
  161. package/dist/SX-CsPPTu-W.d.ts.map +1 -0
  162. package/dist/TX-DCY25MdR.d.ts +31 -0
  163. package/dist/TX-DCY25MdR.d.ts.map +1 -0
  164. package/dist/TX-DOEpsf05.d.cts +31 -0
  165. package/dist/TX-DOEpsf05.d.cts.map +1 -0
  166. package/dist/UX-DauyagHy.d.ts +18 -0
  167. package/dist/UX-DauyagHy.d.ts.map +1 -0
  168. package/dist/UX-DgUOnTFK.d.cts +18 -0
  169. package/dist/UX-DgUOnTFK.d.cts.map +1 -0
  170. package/dist/VX-DD4scgCe.d.ts +17 -0
  171. package/dist/VX-DD4scgCe.d.ts.map +1 -0
  172. package/dist/VX-kUX6LM-3.d.cts +17 -0
  173. package/dist/VX-kUX6LM-3.d.cts.map +1 -0
  174. package/dist/WX-CjkoppdY.d.ts +26 -0
  175. package/dist/WX-CjkoppdY.d.ts.map +1 -0
  176. package/dist/WX-DPfyPFFh.d.cts +26 -0
  177. package/dist/WX-DPfyPFFh.d.cts.map +1 -0
  178. package/dist/XX-C4C1gQZH.d.cts +828 -0
  179. package/dist/XX-C4C1gQZH.d.cts.map +1 -0
  180. package/dist/XX-sbsIUOnA.d.ts +828 -0
  181. package/dist/XX-sbsIUOnA.d.ts.map +1 -0
  182. package/dist/YX-BeT-LsiA.d.cts +20 -0
  183. package/dist/YX-BeT-LsiA.d.cts.map +1 -0
  184. package/dist/YX-DUdO8mRC.d.ts +20 -0
  185. package/dist/YX-DUdO8mRC.d.ts.map +1 -0
  186. package/dist/ZX-BuVTTq-D.d.cts +22 -0
  187. package/dist/ZX-BuVTTq-D.d.cts.map +1 -0
  188. package/dist/ZX-DwfcSA-D.d.ts +22 -0
  189. package/dist/ZX-DwfcSA-D.d.ts.map +1 -0
  190. package/dist/api/platform/platformLogin.d.ts +67 -0
  191. package/dist/api/platform/platformLogin.d.ts.map +1 -0
  192. package/dist/api/platform/platformLogin.js +3 -0
  193. package/dist/canonicalize-C_fNNpYr.cjs +80 -0
  194. package/dist/canonicalize-C_fNNpYr.cjs.map +1 -0
  195. package/dist/canonicalize-DNUrCGad.js +68 -0
  196. package/dist/canonicalize-DNUrCGad.js.map +1 -0
  197. package/dist/chunk-CUT6urMc.cjs +30 -0
  198. package/dist/classification-codes-B15PbWxz.d.cts +118 -0
  199. package/dist/classification-codes-B15PbWxz.d.cts.map +1 -0
  200. package/dist/classification-codes-C2X4xW5-.d.ts +118 -0
  201. package/dist/classification-codes-C2X4xW5-.d.ts.map +1 -0
  202. package/dist/country-code-DPeNFMMi.d.cts +543 -0
  203. package/dist/country-code-DPeNFMMi.d.cts.map +1 -0
  204. package/dist/country-code-DsI8Mbzx.d.ts +543 -0
  205. package/dist/country-code-DsI8Mbzx.d.ts.map +1 -0
  206. package/dist/currencies-DKuDflOO.d.ts +208 -0
  207. package/dist/currencies-DKuDflOO.d.ts.map +1 -0
  208. package/dist/currencies-S5g1gzBU.d.cts +208 -0
  209. package/dist/currencies-S5g1gzBU.d.cts.map +1 -0
  210. package/dist/e-invoice-BuwtFnlI.d.cts +44 -0
  211. package/dist/e-invoice-BuwtFnlI.d.cts.map +1 -0
  212. package/dist/e-invoice-C2TxhyrK.d.ts +44 -0
  213. package/dist/e-invoice-C2TxhyrK.d.ts.map +1 -0
  214. package/dist/getBaseUrl-CO7Jp27d.cjs +14 -0
  215. package/dist/getBaseUrl-CO7Jp27d.cjs.map +1 -0
  216. package/dist/getBaseUrl-Dx6RDC8I.js +8 -0
  217. package/dist/getBaseUrl-Dx6RDC8I.js.map +1 -0
  218. package/dist/hashCert-Bol7lIh2.js +62 -0
  219. package/dist/hashCert-Bol7lIh2.js.map +1 -0
  220. package/dist/hashCert-mlYEuYex.cjs +68 -0
  221. package/dist/hashCert-mlYEuYex.cjs.map +1 -0
  222. package/dist/hashSignedProperties-9vj5wlYR.js +83 -0
  223. package/dist/hashSignedProperties-9vj5wlYR.js.map +1 -0
  224. package/dist/hashSignedProperties-CU_ZqqmY.cjs +95 -0
  225. package/dist/hashSignedProperties-CU_ZqqmY.cjs.map +1 -0
  226. package/dist/index-B1DSs-wd.d.cts +16 -0
  227. package/dist/index-B1DSs-wd.d.cts.map +1 -0
  228. package/dist/index-CJNLQVjx.d.ts +1 -0
  229. package/dist/index-FTgB2nM6.d.ts +16 -0
  230. package/dist/index-FTgB2nM6.d.ts.map +1 -0
  231. package/dist/index-Wy1ONBjV.d.cts +1 -0
  232. package/dist/index.cjs +13 -97
  233. package/dist/index.d.ts +60 -5664
  234. package/dist/index.js +11 -93
  235. package/dist/index10.cjs +34 -0
  236. package/dist/index10.cjs.map +1 -0
  237. package/dist/index11.cjs +24 -0
  238. package/dist/index11.cjs.map +1 -0
  239. package/dist/index12.cjs +0 -0
  240. package/dist/index13.cjs +13 -0
  241. package/dist/index14.cjs +13 -0
  242. package/dist/index14.cjs.map +1 -0
  243. package/dist/index15.cjs +3 -0
  244. package/dist/index16.cjs +17 -0
  245. package/dist/index17.cjs +3 -0
  246. package/dist/index18.cjs +208 -0
  247. package/dist/index18.cjs.map +1 -0
  248. package/dist/index19.cjs +109 -0
  249. package/dist/index19.cjs.map +1 -0
  250. package/dist/index2.cjs +62 -0
  251. package/dist/index2.cjs.map +1 -0
  252. package/dist/index20.cjs +137 -0
  253. package/dist/index20.cjs.map +1 -0
  254. package/dist/index21.cjs +64 -0
  255. package/dist/index21.cjs.map +1 -0
  256. package/dist/index22.cjs +267 -0
  257. package/dist/index22.cjs.map +1 -0
  258. package/dist/index23.cjs +79 -0
  259. package/dist/index23.cjs.map +1 -0
  260. package/dist/index24.cjs +107 -0
  261. package/dist/index24.cjs.map +1 -0
  262. package/dist/index25.cjs +73 -0
  263. package/dist/index25.cjs.map +1 -0
  264. package/dist/index26.cjs +112 -0
  265. package/dist/index26.cjs.map +1 -0
  266. package/dist/index27.cjs +100 -0
  267. package/dist/index27.cjs.map +1 -0
  268. package/dist/index28.cjs +18 -0
  269. package/dist/index28.cjs.map +1 -0
  270. package/dist/index29.cjs +38 -0
  271. package/dist/index29.cjs.map +1 -0
  272. package/dist/index3.cjs +532 -0
  273. package/dist/index3.cjs.map +1 -0
  274. package/dist/index30.cjs +19 -0
  275. package/dist/index30.cjs.map +1 -0
  276. package/dist/index31.cjs +29 -0
  277. package/dist/index31.cjs.map +1 -0
  278. package/dist/index32.cjs +20 -0
  279. package/dist/index32.cjs.map +1 -0
  280. package/dist/index33.cjs +14 -0
  281. package/dist/index33.cjs.map +1 -0
  282. package/dist/index34.cjs +14 -0
  283. package/dist/index34.cjs.map +1 -0
  284. package/dist/index35.cjs +17 -0
  285. package/dist/index35.cjs.map +1 -0
  286. package/dist/index36.cjs +13 -0
  287. package/dist/index36.cjs.map +1 -0
  288. package/dist/index37.cjs +108 -0
  289. package/dist/index37.cjs.map +1 -0
  290. package/dist/index38.cjs +113 -0
  291. package/dist/index38.cjs.map +1 -0
  292. package/dist/index39.cjs +126 -0
  293. package/dist/index39.cjs.map +1 -0
  294. package/dist/index4.cjs +196 -0
  295. package/dist/index4.cjs.map +1 -0
  296. package/dist/index40.cjs +113 -0
  297. package/dist/index40.cjs.map +1 -0
  298. package/dist/index41.cjs +105 -0
  299. package/dist/index41.cjs.map +1 -0
  300. package/dist/index42.cjs +125 -0
  301. package/dist/index42.cjs.map +1 -0
  302. package/dist/index43.cjs +134 -0
  303. package/dist/index43.cjs.map +1 -0
  304. package/dist/index44.cjs +124 -0
  305. package/dist/index44.cjs.map +1 -0
  306. package/dist/index45.cjs +21 -0
  307. package/dist/index45.cjs.map +1 -0
  308. package/dist/index46.cjs +102 -0
  309. package/dist/index46.cjs.map +1 -0
  310. package/dist/index47.cjs +149 -0
  311. package/dist/index47.cjs.map +1 -0
  312. package/dist/index48.cjs +121 -0
  313. package/dist/index48.cjs.map +1 -0
  314. package/dist/index49.cjs +151 -0
  315. package/dist/index49.cjs.map +1 -0
  316. package/dist/index5.cjs +25 -0
  317. package/dist/index5.cjs.map +1 -0
  318. package/dist/index50.cjs +120 -0
  319. package/dist/index50.cjs.map +1 -0
  320. package/dist/index51.cjs +24 -0
  321. package/dist/index51.cjs.map +1 -0
  322. package/dist/index52.cjs +119 -0
  323. package/dist/index52.cjs.map +1 -0
  324. package/dist/index53.cjs +54 -0
  325. package/dist/index53.cjs.map +1 -0
  326. package/dist/index54.cjs +21 -0
  327. package/dist/index54.cjs.map +1 -0
  328. package/dist/index55.cjs +35 -0
  329. package/dist/index55.cjs.map +1 -0
  330. package/dist/index56.cjs +29 -0
  331. package/dist/index56.cjs.map +1 -0
  332. package/dist/index57.cjs +16 -0
  333. package/dist/index57.cjs.map +1 -0
  334. package/dist/index58.cjs +15 -0
  335. package/dist/index58.cjs.map +1 -0
  336. package/dist/index59.cjs +24 -0
  337. package/dist/index59.cjs.map +1 -0
  338. package/dist/index59.cts.map +1 -0
  339. package/dist/index6.cjs +0 -0
  340. package/dist/index60.cjs +419 -0
  341. package/dist/index60.cjs.map +1 -0
  342. package/dist/index61.cjs +15 -0
  343. package/dist/index61.cjs.map +1 -0
  344. package/dist/index62.cjs +16 -0
  345. package/dist/index62.cjs.map +1 -0
  346. package/dist/index62.cts.map +1 -0
  347. package/dist/index63.cjs +0 -0
  348. package/dist/index63.cts.map +1 -0
  349. package/dist/index64.cjs +0 -0
  350. package/dist/index64.cts.map +1 -0
  351. package/dist/index65.cjs +122 -0
  352. package/dist/index65.cjs.map +1 -0
  353. package/dist/index65.cts.map +1 -0
  354. package/dist/index66.cjs +229 -0
  355. package/dist/index66.cjs.map +1 -0
  356. package/dist/index66.cts.map +1 -0
  357. package/dist/index67.cjs +4 -0
  358. package/dist/index67.cts.map +1 -0
  359. package/dist/index68.cjs +3 -0
  360. package/dist/index68.cts.map +1 -0
  361. package/dist/index69.cjs +4 -0
  362. package/dist/index69.cts.map +1 -0
  363. package/dist/index7.cjs +0 -0
  364. package/dist/index70.cjs +3 -0
  365. package/dist/index70.cts.map +1 -0
  366. package/dist/index71.cjs +3 -0
  367. package/dist/index71.cts.map +1 -0
  368. package/dist/index72.cjs +3 -0
  369. package/dist/index72.cts.map +1 -0
  370. package/dist/index73.cjs +3 -0
  371. package/dist/index73.cts.map +1 -0
  372. package/dist/index8.cjs +25 -0
  373. package/dist/index8.cjs.map +1 -0
  374. package/dist/index9.cjs +0 -0
  375. package/dist/invoice-1_1-BJVcw-oE.d.ts +432 -0
  376. package/dist/invoice-1_1-BJVcw-oE.d.ts.map +1 -0
  377. package/dist/invoice-1_1-DWdNPRzr.d.cts +432 -0
  378. package/dist/invoice-1_1-DWdNPRzr.d.cts.map +1 -0
  379. package/dist/invoice1-1-8S-QQn7P.cjs +547 -0
  380. package/dist/invoice1-1-8S-QQn7P.cjs.map +1 -0
  381. package/dist/invoice1-1-CHuLpkFz.js +504 -0
  382. package/dist/invoice1-1-CHuLpkFz.js.map +1 -0
  383. package/dist/msic-codes-B_1W6lZF.d.cts +26 -0
  384. package/dist/msic-codes-B_1W6lZF.d.cts.map +1 -0
  385. package/dist/msic-codes-bs0lTfSZ.d.ts +26 -0
  386. package/dist/msic-codes-bs0lTfSZ.d.ts.map +1 -0
  387. package/dist/payment-modes-B8dNy3SM.d.ts +44 -0
  388. package/dist/payment-modes-B8dNy3SM.d.ts.map +1 -0
  389. package/dist/payment-modes-DHihrywe.d.cts +44 -0
  390. package/dist/payment-modes-DHihrywe.d.cts.map +1 -0
  391. package/dist/platformLogin-DsxWWUXr.js +31 -0
  392. package/dist/platformLogin-DsxWWUXr.js.map +1 -0
  393. package/dist/platformLogin-PGzMhw1X.cjs +37 -0
  394. package/dist/platformLogin-PGzMhw1X.cjs.map +1 -0
  395. package/dist/populateFinalDocument-BdyYzz5Y.cjs +96 -0
  396. package/dist/populateFinalDocument-BdyYzz5Y.cjs.map +1 -0
  397. package/dist/populateFinalDocument-BpLXmgLv.js +90 -0
  398. package/dist/populateFinalDocument-BpLXmgLv.js.map +1 -0
  399. package/dist/populateSignedProperties-BJMcBQ6S.cjs +58 -0
  400. package/dist/populateSignedProperties-BJMcBQ6S.cjs.map +1 -0
  401. package/dist/populateSignedProperties-BvGN-YZH.js +52 -0
  402. package/dist/populateSignedProperties-BvGN-YZH.js.map +1 -0
  403. package/dist/sign-B61Cy3gO.cjs +40 -0
  404. package/dist/sign-B61Cy3gO.cjs.map +1 -0
  405. package/dist/sign-DzHK7UhR.js +34 -0
  406. package/dist/sign-DzHK7UhR.js.map +1 -0
  407. package/dist/signatures-BKi9DP2K.d.cts +173 -0
  408. package/dist/signatures-BKi9DP2K.d.cts.map +1 -0
  409. package/dist/signatures-C9QPZTQd.d.ts +173 -0
  410. package/dist/signatures-C9QPZTQd.d.ts.map +1 -0
  411. package/dist/state-codes-CxG1S9YY.d.ts +62 -0
  412. package/dist/state-codes-CxG1S9YY.d.ts.map +1 -0
  413. package/dist/state-codes-DXSWtE6a.d.cts +62 -0
  414. package/dist/state-codes-DXSWtE6a.d.cts.map +1 -0
  415. package/dist/tax-types-CEpfSh5P.d.ts +42 -0
  416. package/dist/tax-types-CEpfSh5P.d.ts.map +1 -0
  417. package/dist/tax-types-CgwxONDS.d.cts +42 -0
  418. package/dist/tax-types-CgwxONDS.d.cts.map +1 -0
  419. package/dist/transform-BLz0S687.cjs +72 -0
  420. package/dist/transform-BLz0S687.cjs.map +1 -0
  421. package/dist/transform-D1q-U6Zj.js +66 -0
  422. package/dist/transform-D1q-U6Zj.js.map +1 -0
  423. package/dist/types/classification-codes.d.ts +2 -0
  424. package/dist/types/country-code.d.ts +2 -0
  425. package/dist/types/currencies.d.ts +2 -0
  426. package/dist/types/documents/index.d.ts +57 -0
  427. package/dist/types/documents/invoice-1_1.d.ts +56 -0
  428. package/dist/types/e-invoice.d.ts +2 -0
  429. package/dist/types/index.d.ts +59 -0
  430. package/dist/types/msic/0X.d.ts +2 -0
  431. package/dist/types/msic/1X.d.ts +2 -0
  432. package/dist/types/msic/2X.d.ts +2 -0
  433. package/dist/types/msic/3X.d.ts +2 -0
  434. package/dist/types/msic/4X.d.ts +2 -0
  435. package/dist/types/msic/5X.d.ts +2 -0
  436. package/dist/types/msic/6X.d.ts +2 -0
  437. package/dist/types/msic/7X.d.ts +2 -0
  438. package/dist/types/msic/8X.d.ts +2 -0
  439. package/dist/types/msic/9X.d.ts +2 -0
  440. package/dist/types/msic-codes.d.ts +12 -0
  441. package/dist/types/payment-modes.d.ts +2 -0
  442. package/dist/types/signatures.d.ts +2 -0
  443. package/dist/types/state-codes.d.ts +2 -0
  444. package/dist/types/tax-types.d.ts +2 -0
  445. package/dist/types/unit/1X.d.ts +2 -0
  446. package/dist/types/unit/2X.d.ts +2 -0
  447. package/dist/types/unit/3X.d.ts +2 -0
  448. package/dist/types/unit/4X.d.ts +2 -0
  449. package/dist/types/unit/5X.d.ts +2 -0
  450. package/dist/types/unit/6X.d.ts +2 -0
  451. package/dist/types/unit/7X.d.ts +2 -0
  452. package/dist/types/unit/8X.d.ts +2 -0
  453. package/dist/types/unit/9X.d.ts +2 -0
  454. package/dist/types/unit/AX.d.ts +2 -0
  455. package/dist/types/unit/BX.d.ts +2 -0
  456. package/dist/types/unit/CX.d.ts +2 -0
  457. package/dist/types/unit/DX.d.ts +2 -0
  458. package/dist/types/unit/EX.d.ts +2 -0
  459. package/dist/types/unit/FX.d.ts +2 -0
  460. package/dist/types/unit/GX.d.ts +2 -0
  461. package/dist/types/unit/HX.d.ts +2 -0
  462. package/dist/types/unit/IX.d.ts +2 -0
  463. package/dist/types/unit/JX.d.ts +2 -0
  464. package/dist/types/unit/KX.d.ts +2 -0
  465. package/dist/types/unit/LX.d.ts +2 -0
  466. package/dist/types/unit/MX.d.ts +2 -0
  467. package/dist/types/unit/NX.d.ts +2 -0
  468. package/dist/types/unit/OX.d.ts +2 -0
  469. package/dist/types/unit/PX.d.ts +2 -0
  470. package/dist/types/unit/QX.d.ts +2 -0
  471. package/dist/types/unit/RX.d.ts +2 -0
  472. package/dist/types/unit/SX.d.ts +2 -0
  473. package/dist/types/unit/TX.d.ts +2 -0
  474. package/dist/types/unit/UX.d.ts +2 -0
  475. package/dist/types/unit/VX.d.ts +2 -0
  476. package/dist/types/unit/WX.d.ts +2 -0
  477. package/dist/types/unit/XX.d.ts +2 -0
  478. package/dist/types/unit/YX.d.ts +2 -0
  479. package/dist/types/unit/ZX.d.ts +2 -0
  480. package/dist/types/unit-types.d.ts +37 -0
  481. package/dist/unit-types-1bF0KhIp.d.ts +56 -0
  482. package/dist/unit-types-1bF0KhIp.d.ts.map +1 -0
  483. package/dist/unit-types-CsrkvgfG.d.cts +56 -0
  484. package/dist/unit-types-CsrkvgfG.d.cts.map +1 -0
  485. package/dist/utils/MyInvoisClient.d.ts +60 -0
  486. package/dist/utils/MyInvoisClient.js +13 -0
  487. package/dist/utils/base64.d.ts +6 -0
  488. package/dist/utils/base64.d.ts.map +1 -0
  489. package/dist/utils/base64.js +11 -0
  490. package/dist/utils/base64.js.map +1 -0
  491. package/dist/utils/debug/debug-document-hash.d.ts +100 -0
  492. package/dist/utils/debug/debug-document-hash.d.ts.map +1 -0
  493. package/dist/utils/debug/debug-document-hash.js +120 -0
  494. package/dist/utils/debug/debug-document-hash.js.map +1 -0
  495. package/dist/utils/debug/debug-invoice-submission.d.ts +152 -0
  496. package/dist/utils/debug/debug-invoice-submission.d.ts.map +1 -0
  497. package/dist/utils/debug/debug-invoice-submission.js +226 -0
  498. package/dist/utils/debug/debug-invoice-submission.js.map +1 -0
  499. package/dist/utils/getBaseUrl.d.ts +5 -0
  500. package/dist/utils/getBaseUrl.d.ts.map +1 -0
  501. package/dist/utils/getBaseUrl.js +3 -0
  502. package/dist/utils/invoice1-1.d.ts +117 -0
  503. package/dist/utils/invoice1-1.d.ts.map +1 -0
  504. package/dist/utils/invoice1-1.js +10 -0
  505. package/dist/utils/signature/canonicalize.d.ts +26 -0
  506. package/dist/utils/signature/canonicalize.d.ts.map +1 -0
  507. package/dist/utils/signature/canonicalize.js +3 -0
  508. package/dist/utils/signature/hashCert.d.ts +15 -0
  509. package/dist/utils/signature/hashCert.d.ts.map +1 -0
  510. package/dist/utils/signature/hashCert.js +3 -0
  511. package/dist/utils/signature/hashSignedProperties.d.ts +25 -0
  512. package/dist/utils/signature/hashSignedProperties.d.ts.map +1 -0
  513. package/dist/utils/signature/hashSignedProperties.js +3 -0
  514. package/dist/utils/signature/populateFinalDocument.d.ts +23 -0
  515. package/dist/utils/signature/populateFinalDocument.d.ts.map +1 -0
  516. package/dist/utils/signature/populateFinalDocument.js +3 -0
  517. package/dist/utils/signature/populateSignedProperties.d.ts +23 -0
  518. package/dist/utils/signature/populateSignedProperties.d.ts.map +1 -0
  519. package/dist/utils/signature/populateSignedProperties.js +3 -0
  520. package/dist/utils/signature/sign.d.ts +16 -0
  521. package/dist/utils/signature/sign.d.ts.map +1 -0
  522. package/dist/utils/signature/sign.js +3 -0
  523. package/dist/utils/signature/transform.d.ts +16 -0
  524. package/dist/utils/signature/transform.d.ts.map +1 -0
  525. package/dist/utils/signature/transform.js +3 -0
  526. package/package.json +12 -5
  527. package/src/api/platform/{taxpayerLogin.ts → platformLogin.ts} +8 -2
  528. package/src/types/documents/invoice-1_1.d.ts +90 -0
  529. package/src/types/index.d.ts +1 -0
  530. package/src/types/msic-codes.d.ts +1 -7
  531. package/src/utils/MyInvoisClient.ts +428 -11
  532. package/src/utils/base64.ts +7 -0
  533. package/src/utils/debug/debug-document-hash.ts +249 -0
  534. package/src/utils/debug/debug-invoice-submission.ts +355 -0
  535. package/src/utils/getBaseUrl.ts +1 -1
  536. package/src/utils/invoice1-1.ts +671 -0
  537. package/src/utils/signature/canonicalize.ts +104 -0
  538. package/src/utils/signature/hashCert.ts +115 -0
  539. package/src/utils/signature/hashSignedProperties.ts +155 -0
  540. package/src/utils/signature/populateFinalDocument.ts +187 -0
  541. package/src/utils/signature/populateSignedProperties.ts +87 -0
  542. package/src/utils/signature/sign.ts +51 -0
  543. package/src/utils/signature/transform.ts +99 -0
  544. package/test/MyInvoiClientWithRealData.test.ts +2 -1
  545. package/test/MyInvoisClient.test.ts +16 -8
  546. package/test/base64.test.ts +43 -0
  547. package/test/canonicalize.test.ts +110 -0
  548. package/test/hashCert.test.ts +95 -0
  549. package/test/hashSignedProperties.test.ts +140 -0
  550. package/test/populateFinalDocument.test.ts +218 -0
  551. package/test/populateSignedProperties.test.ts +155 -0
  552. package/test/sign.test.ts +70 -0
  553. package/test/signAndSubmitInvoice.test.ts +915 -0
  554. package/test/transform.test.ts +158 -0
  555. package/tsconfig.json +7 -1
  556. package/tsdown.config.ts +31 -0
  557. package/dist/index.cjs.map +0 -1
  558. package/rolldown.config.ts +0 -26
@@ -0,0 +1,152 @@
1
+ import "../../classification-codes-C2X4xW5-.js";
2
+ import "../../country-code-DsI8Mbzx.js";
3
+ import "../../currencies-DKuDflOO.js";
4
+ import "../../e-invoice-C2TxhyrK.js";
5
+ import "../../signatures-C9QPZTQd.js";
6
+ import "../../tax-types-CEpfSh5P.js";
7
+ import "../../1X-C-_KHV-Q.js";
8
+ import "../../2X-DkS1BoE5.js";
9
+ import "../../3X-DFI-4RQQ.js";
10
+ import "../../4X-CIJ2JJ2w.js";
11
+ import "../../5X-COsZHUaQ.js";
12
+ import "../../6X-ClZDKOTC.js";
13
+ import "../../7X-BZyesooz.js";
14
+ import "../../8X-DkuKAkHz.js";
15
+ import "../../9X-BDgifncF.js";
16
+ import "../../AX-D6XHWdrY.js";
17
+ import "../../BX-D_0C8Qbd.js";
18
+ import "../../CX-HH4cSZRX.js";
19
+ import "../../DX-Dx22ax_I.js";
20
+ import "../../EX-BRWh1wFc.js";
21
+ import "../../FX-RmjwAr40.js";
22
+ import "../../GX-CJyo7oDp.js";
23
+ import "../../HX-XALBTdLA.js";
24
+ import "../../IX-6SZ55QKb.js";
25
+ import "../../JX-hQ1XRmLp.js";
26
+ import "../../KX-BNwunEfn.js";
27
+ import "../../LX-CHYX3X3J.js";
28
+ import "../../MX-BPGLWSUz.js";
29
+ import "../../NX-RulN5Ml3.js";
30
+ import "../../OX-DgKVSp7I.js";
31
+ import "../../PX-DA4A2kEv.js";
32
+ import "../../QX-DrFqsMEs.js";
33
+ import "../../RX-Cm7vFcFN.js";
34
+ import "../../SX-CsPPTu-W.js";
35
+ import "../../TX-DCY25MdR.js";
36
+ import "../../UX-DauyagHy.js";
37
+ import "../../VX-DD4scgCe.js";
38
+ import "../../WX-CjkoppdY.js";
39
+ import "../../YX-DUdO8mRC.js";
40
+ import "../../ZX-DwfcSA-D.js";
41
+ import "../../XX-sbsIUOnA.js";
42
+ import "../../unit-types-1bF0KhIp.js";
43
+ import "../../payment-modes-B8dNy3SM.js";
44
+ import "../../0X-C4IRh_fJ.js";
45
+ import "../../1X-Brnls9Jh.js";
46
+ import "../../2X-UdQcQW24.js";
47
+ import "../../3X-DVDyspgb.js";
48
+ import "../../4X-CUR8jlaZ.js";
49
+ import "../../5X-C6db432h.js";
50
+ import "../../6X-C_fFIcJC.js";
51
+ import "../../7X-kot_VccM.js";
52
+ import "../../8X-Df4DOBOe.js";
53
+ import "../../9X-BhBWlgxG.js";
54
+ import "../../msic-codes-bs0lTfSZ.js";
55
+ import { InvoiceV1_1, SigningCredentials } from "../../invoice-1_1-BJVcw-oE.js";
56
+
57
+ //#region src/utils/debug/debug-invoice-submission.d.ts
58
+ /**
59
+ * Tests both canonicalization algorithms and compares their output
60
+ * This can help determine if the algorithm difference affects signature validation
61
+ * @param xmlDocument - The XML document string to test
62
+ * @returns Object with canonicalization results and comparison
63
+ */
64
+ declare const testCanonicalizationAlgorithms: (xmlDocument: string) => Promise<{
65
+ exclusiveC14N: {
66
+ success: boolean;
67
+ digest?: string;
68
+ error?: string;
69
+ };
70
+ c14n11Fallback: {
71
+ success: boolean;
72
+ digest?: string;
73
+ error?: string;
74
+ };
75
+ areEqual: boolean;
76
+ }>;
77
+ /**
78
+ * Simple validation function that checks basic XML structure requirements
79
+ */
80
+ declare function validateXMLStructure(xmlString: string): {
81
+ isValid: boolean;
82
+ errors: string[];
83
+ warnings: string[];
84
+ };
85
+ /**
86
+ * Comprehensive debugging function to help identify issues with generated XML
87
+ * This validates the structure against MyInvois requirements and provides detailed feedback
88
+ */
89
+ declare function debugSignedInvoiceXML(invoiceInfo: InvoiceV1_1, signingCredentials: SigningCredentials): Promise<{
90
+ success: boolean;
91
+ signedXML?: string;
92
+ validationResults: {
93
+ xmlStructure: {
94
+ valid: boolean;
95
+ errors: string[];
96
+ };
97
+ signatureElements: {
98
+ valid: boolean;
99
+ errors: string[];
100
+ };
101
+ digestValues: {
102
+ valid: boolean;
103
+ errors: string[];
104
+ };
105
+ certificateInfo: {
106
+ valid: boolean;
107
+ errors: string[];
108
+ };
109
+ canonicalizationTest: any;
110
+ };
111
+ stepByStepResults: {
112
+ step1_template: {
113
+ success: boolean;
114
+ error?: string;
115
+ };
116
+ step2_transform: {
117
+ success: boolean;
118
+ error?: string;
119
+ };
120
+ step3_docDigest: {
121
+ success: boolean;
122
+ digest?: string;
123
+ error?: string;
124
+ };
125
+ step4_signature: {
126
+ success: boolean;
127
+ signature?: string;
128
+ error?: string;
129
+ };
130
+ step5_certDigest: {
131
+ success: boolean;
132
+ digest?: string;
133
+ error?: string;
134
+ };
135
+ step6_signedProps: {
136
+ success: boolean;
137
+ error?: string;
138
+ };
139
+ step7_propsDigest: {
140
+ success: boolean;
141
+ digest?: string;
142
+ error?: string;
143
+ };
144
+ step8_finalDoc: {
145
+ success: boolean;
146
+ error?: string;
147
+ };
148
+ };
149
+ }>;
150
+ //#endregion
151
+ export { debugSignedInvoiceXML, testCanonicalizationAlgorithms, validateXMLStructure };
152
+ //# sourceMappingURL=debug-invoice-submission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-invoice-submission.d.ts","names":["xmlDocument: string","xmlString: string","invoiceInfo: InvoiceV1_1","signingCredentials: SigningCredentials"],"sources":["../../../src/utils/debug/debug-invoice-submission.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAuBa,yDAEV;;;;;;;;;;;;;;;;iBA8Ca,oBAAA;;;;;;;;;iBAqEM,qBAAA,cACP,iCACO,qBACnB;;;;;;;;;;;;;;;;;;;;;;;;;MAxHH,KAAa,CAAA,EAAA,MAAA;IAgDb,CAAA;IAqEA,eAAsB,EAAA;MAAA,OAAA,EAAA,OAAA;MAAA,KACP,CAAA,EAAA,MAAA;IAAA,CAAA;IACO,eACnB,EAAA;MAAA,OAAA,EAAA,OAAA"}
@@ -0,0 +1,226 @@
1
+ import { extractCertificateInfo, generateSignedInvoiceXML, generateUBLXMLTemplate, validateKeyPair } from "../../invoice1-1-CHuLpkFz.js";
2
+ import { canonicalizeAndHashDocument, canonicalizeAndHashDocumentWithC14N11Fallback } from "../../canonicalize-DNUrCGad.js";
3
+ import "../../hashCert-Bol7lIh2.js";
4
+ import "../../hashSignedProperties-9vj5wlYR.js";
5
+ import "../../populateFinalDocument-BpLXmgLv.js";
6
+ import "../../populateSignedProperties-BvGN-YZH.js";
7
+ import "../../sign-DzHK7UhR.js";
8
+ import { transformXmlInvoice } from "../../transform-D1q-U6Zj.js";
9
+ import { DOMParserImpl } from "xmldom-ts";
10
+
11
+ //#region src/utils/debug/debug-invoice-submission.ts
12
+ /**
13
+ * Tests both canonicalization algorithms and compares their output
14
+ * This can help determine if the algorithm difference affects signature validation
15
+ * @param xmlDocument - The XML document string to test
16
+ * @returns Object with canonicalization results and comparison
17
+ */
18
+ const testCanonicalizationAlgorithms = async (xmlDocument) => {
19
+ const parser = new DOMParserImpl();
20
+ const doc = parser.parseFromString(xmlDocument, "application/xml");
21
+ const results = {
22
+ exclusiveC14N: { success: false },
23
+ c14n11Fallback: { success: false },
24
+ areEqual: false
25
+ };
26
+ try {
27
+ const exclusiveDigest = await canonicalizeAndHashDocument(doc, "http://www.w3.org/2001/10/xml-exc-c14n#");
28
+ results.exclusiveC14N = {
29
+ success: true,
30
+ digest: exclusiveDigest
31
+ };
32
+ } catch (error) {
33
+ results.exclusiveC14N = {
34
+ success: false,
35
+ error: error.message
36
+ };
37
+ }
38
+ try {
39
+ const c14n11Digest = await canonicalizeAndHashDocumentWithC14N11Fallback(doc);
40
+ results.c14n11Fallback = {
41
+ success: true,
42
+ digest: c14n11Digest
43
+ };
44
+ } catch (error) {
45
+ results.c14n11Fallback = {
46
+ success: false,
47
+ error: error.message
48
+ };
49
+ }
50
+ if (results.exclusiveC14N.success && results.c14n11Fallback.success) results.areEqual = results.exclusiveC14N.digest === results.c14n11Fallback.digest;
51
+ return results;
52
+ };
53
+ /**
54
+ * Simple validation function that checks basic XML structure requirements
55
+ */
56
+ function validateXMLStructure(xmlString) {
57
+ const errors = [];
58
+ const warnings = [];
59
+ try {
60
+ const parser = new DOMParserImpl();
61
+ const doc = parser.parseFromString(xmlString, "application/xml");
62
+ const parserErrors = doc.getElementsByTagName("parsererror");
63
+ if (parserErrors.length > 0) {
64
+ errors.push("XML parsing failed");
65
+ return {
66
+ isValid: false,
67
+ errors,
68
+ warnings
69
+ };
70
+ }
71
+ const requiredElements = [
72
+ "Invoice",
73
+ "UBLExtensions",
74
+ "cbc:ID",
75
+ "cbc:IssueDate",
76
+ "cbc:IssueTime",
77
+ "cbc:InvoiceTypeCode",
78
+ "ds:Signature",
79
+ "ds:SignatureValue",
80
+ "ds:X509Certificate"
81
+ ];
82
+ for (const element of requiredElements) {
83
+ const elements = element.includes(":") ? doc.getElementsByTagName(element) : doc.getElementsByTagName(element);
84
+ if (elements.length === 0) errors.push(`Missing required element: ${element}`);
85
+ }
86
+ const expectedNamespaces = [
87
+ "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2",
88
+ "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
89
+ "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
90
+ ];
91
+ for (const ns of expectedNamespaces) if (!xmlString.includes(ns)) warnings.push(`Missing namespace declaration: ${ns}`);
92
+ } catch (error) {
93
+ errors.push(`XML validation error: ${error.message}`);
94
+ }
95
+ return {
96
+ isValid: errors.length === 0,
97
+ errors,
98
+ warnings
99
+ };
100
+ }
101
+ /**
102
+ * Comprehensive debugging function to help identify issues with generated XML
103
+ * This validates the structure against MyInvois requirements and provides detailed feedback
104
+ */
105
+ async function debugSignedInvoiceXML(invoiceInfo, signingCredentials) {
106
+ const stepResults = {
107
+ step1_template: { success: false },
108
+ step2_transform: { success: false },
109
+ step3_docDigest: { success: false },
110
+ step4_signature: { success: false },
111
+ step5_certDigest: { success: false },
112
+ step6_signedProps: { success: false },
113
+ step7_propsDigest: { success: false },
114
+ step8_finalDoc: { success: false }
115
+ };
116
+ const validationResults = {
117
+ xmlStructure: {
118
+ valid: false,
119
+ errors: []
120
+ },
121
+ signatureElements: {
122
+ valid: false,
123
+ errors: []
124
+ },
125
+ digestValues: {
126
+ valid: false,
127
+ errors: []
128
+ },
129
+ certificateInfo: {
130
+ valid: false,
131
+ errors: []
132
+ },
133
+ canonicalizationTest: null
134
+ };
135
+ let signedXML;
136
+ try {
137
+ try {
138
+ const xmlTemplate = generateUBLXMLTemplate(invoiceInfo);
139
+ stepResults.step1_template = { success: true };
140
+ const parser = new DOMParserImpl();
141
+ const doc = parser.parseFromString(xmlTemplate, "application/xml");
142
+ const parserErrors = doc.getElementsByTagName("parsererror");
143
+ if (parserErrors.length > 0) validationResults.xmlStructure.errors.push("XML template parsing failed");
144
+ else validationResults.xmlStructure.valid = true;
145
+ } catch (error) {
146
+ stepResults.step1_template = {
147
+ success: false,
148
+ error: error.message
149
+ };
150
+ validationResults.xmlStructure.errors.push(`Template generation failed: ${error.message}`);
151
+ }
152
+ try {
153
+ const xmlTemplate = generateUBLXMLTemplate(invoiceInfo);
154
+ const transformedXml = transformXmlInvoice(xmlTemplate);
155
+ stepResults.step2_transform = { success: true };
156
+ if (transformedXml.includes("UBLExtensions")) validationResults.xmlStructure.errors.push("UBLExtensions not properly removed in transformation");
157
+ if (transformedXml.includes("<cac:Signature>")) validationResults.xmlStructure.errors.push("cac:Signature elements not properly removed in transformation");
158
+ } catch (error) {
159
+ stepResults.step2_transform = {
160
+ success: false,
161
+ error: error.message
162
+ };
163
+ }
164
+ try {
165
+ const xmlTemplate = generateUBLXMLTemplate(invoiceInfo);
166
+ validationResults.canonicalizationTest = await testCanonicalizationAlgorithms(xmlTemplate);
167
+ } catch (error) {
168
+ validationResults.canonicalizationTest = { error: error.message };
169
+ }
170
+ try {
171
+ signedXML = await generateSignedInvoiceXML(invoiceInfo, signingCredentials);
172
+ const parser = new DOMParserImpl();
173
+ const finalDoc = parser.parseFromString(signedXML, "application/xml");
174
+ const signatureValue = finalDoc.getElementsByTagName("ds:SignatureValue")[0];
175
+ const x509Certificate = finalDoc.getElementsByTagName("ds:X509Certificate")[0];
176
+ const digestValues = finalDoc.getElementsByTagName("ds:DigestValue");
177
+ if (!signatureValue || !signatureValue.textContent?.trim()) validationResults.signatureElements.errors.push("SignatureValue is empty");
178
+ if (!x509Certificate || !x509Certificate.textContent?.trim()) validationResults.signatureElements.errors.push("X509Certificate is empty");
179
+ if (digestValues.length < 2) validationResults.digestValues.errors.push("Missing digest values (expected at least 2)");
180
+ else {
181
+ let emptyDigests = 0;
182
+ for (let i = 0; i < digestValues.length; i++) {
183
+ const digestElement = digestValues[i];
184
+ if (!digestElement || !digestElement.textContent?.trim()) emptyDigests++;
185
+ }
186
+ if (emptyDigests > 0) validationResults.digestValues.errors.push(`${emptyDigests} digest values are empty`);
187
+ }
188
+ try {
189
+ const certInfo = extractCertificateInfo(signingCredentials.certificatePem);
190
+ const keyPairValid = validateKeyPair(signingCredentials.certificatePem, signingCredentials.privateKeyPem);
191
+ if (!keyPairValid) validationResults.certificateInfo.errors.push("Certificate and private key do not match");
192
+ if (!certInfo.issuerName || !certInfo.serialNumber) validationResults.certificateInfo.errors.push("Certificate info extraction failed");
193
+ if (validationResults.certificateInfo.errors.length === 0) validationResults.certificateInfo.valid = true;
194
+ } catch (error) {
195
+ validationResults.certificateInfo.errors.push(`Certificate validation failed: ${error.message}`);
196
+ }
197
+ if (validationResults.signatureElements.errors.length === 0) validationResults.signatureElements.valid = true;
198
+ if (validationResults.digestValues.errors.length === 0) validationResults.digestValues.valid = true;
199
+ stepResults.step3_docDigest = { success: true };
200
+ stepResults.step4_signature = { success: true };
201
+ stepResults.step5_certDigest = { success: true };
202
+ stepResults.step6_signedProps = { success: true };
203
+ stepResults.step7_propsDigest = { success: true };
204
+ stepResults.step8_finalDoc = { success: true };
205
+ } catch (error) {
206
+ console.error("Error during signing process:", error);
207
+ stepResults.step8_finalDoc = {
208
+ success: false,
209
+ error: error.message
210
+ };
211
+ }
212
+ } catch (error) {
213
+ console.error("Fatal error in debugging:", error);
214
+ }
215
+ const allValid = validationResults.xmlStructure.valid && validationResults.signatureElements.valid && validationResults.digestValues.valid && validationResults.certificateInfo.valid;
216
+ return {
217
+ success: allValid,
218
+ signedXML,
219
+ validationResults,
220
+ stepByStepResults: stepResults
221
+ };
222
+ }
223
+
224
+ //#endregion
225
+ export { debugSignedInvoiceXML, testCanonicalizationAlgorithms, validateXMLStructure };
226
+ //# sourceMappingURL=debug-invoice-submission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug-invoice-submission.js","names":["xmlDocument: string","error: any","xmlString: string","errors: string[]","warnings: string[]","invoiceInfo: InvoiceV1_1","signingCredentials: SigningCredentials","signedXML: string | undefined"],"sources":["../../../src/utils/debug/debug-invoice-submission.ts"],"sourcesContent":["import { DOMParserImpl } from 'xmldom-ts'\nimport {\n extractCertificateInfo,\n generateSignedInvoiceXML,\n generateUBLXMLTemplate,\n validateKeyPair,\n} from '../invoice1-1'\nimport type {\n InvoiceV1_1,\n SigningCredentials,\n} from '../../types/documents/invoice-1_1.d.ts'\nimport { transformXmlInvoice } from '../signature/transform'\nimport {\n canonicalizeAndHashDocument,\n canonicalizeAndHashDocumentWithC14N11Fallback,\n} from '../signature/canonicalize'\n\n/**\n * Tests both canonicalization algorithms and compares their output\n * This can help determine if the algorithm difference affects signature validation\n * @param xmlDocument - The XML document string to test\n * @returns Object with canonicalization results and comparison\n */\nexport const testCanonicalizationAlgorithms = async (\n xmlDocument: string,\n): Promise<{\n exclusiveC14N: { success: boolean; digest?: string; error?: string }\n c14n11Fallback: { success: boolean; digest?: string; error?: string }\n areEqual: boolean\n}> => {\n const parser = new DOMParserImpl()\n const doc = parser.parseFromString(xmlDocument, 'application/xml')\n\n const results = {\n exclusiveC14N: { success: false } as any,\n c14n11Fallback: { success: false } as any,\n areEqual: false,\n }\n\n // Test Exclusive C14N\n try {\n const exclusiveDigest = await canonicalizeAndHashDocument(\n doc,\n 'http://www.w3.org/2001/10/xml-exc-c14n#',\n )\n results.exclusiveC14N = { success: true, digest: exclusiveDigest }\n } catch (error: any) {\n results.exclusiveC14N = { success: false, error: error.message }\n }\n\n // Test C14N 1.1 fallback\n try {\n const c14n11Digest =\n await canonicalizeAndHashDocumentWithC14N11Fallback(doc)\n results.c14n11Fallback = { success: true, digest: c14n11Digest }\n } catch (error: any) {\n results.c14n11Fallback = { success: false, error: error.message }\n }\n\n // Compare results\n if (results.exclusiveC14N.success && results.c14n11Fallback.success) {\n results.areEqual =\n results.exclusiveC14N.digest === results.c14n11Fallback.digest\n }\n\n return results\n}\n\n/**\n * Simple validation function that checks basic XML structure requirements\n */\nexport function validateXMLStructure(xmlString: string): {\n isValid: boolean\n errors: string[]\n warnings: string[]\n} {\n const errors: string[] = []\n const warnings: string[] = []\n\n try {\n const parser = new DOMParserImpl()\n const doc = parser.parseFromString(xmlString, 'application/xml')\n\n // Check for parser errors\n const parserErrors = doc.getElementsByTagName('parsererror')\n if (parserErrors.length > 0) {\n errors.push('XML parsing failed')\n return { isValid: false, errors, warnings }\n }\n\n // Check required elements\n const requiredElements = [\n 'Invoice',\n 'UBLExtensions',\n 'cbc:ID',\n 'cbc:IssueDate',\n 'cbc:IssueTime',\n 'cbc:InvoiceTypeCode',\n 'ds:Signature',\n 'ds:SignatureValue',\n 'ds:X509Certificate',\n ]\n\n for (const element of requiredElements) {\n const elements = element.includes(':')\n ? doc.getElementsByTagName(element)\n : doc.getElementsByTagName(element)\n\n if (elements.length === 0) {\n errors.push(`Missing required element: ${element}`)\n }\n }\n\n // Check namespace declarations\n const expectedNamespaces = [\n 'urn:oasis:names:specification:ubl:schema:xsd:Invoice-2',\n 'urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2',\n 'urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2',\n ]\n\n for (const ns of expectedNamespaces) {\n if (!xmlString.includes(ns)) {\n warnings.push(`Missing namespace declaration: ${ns}`)\n }\n }\n } catch (error: any) {\n errors.push(`XML validation error: ${error.message}`)\n }\n\n return {\n isValid: errors.length === 0,\n errors,\n warnings,\n }\n}\n\n/**\n * Comprehensive debugging function to help identify issues with generated XML\n * This validates the structure against MyInvois requirements and provides detailed feedback\n */\nexport async function debugSignedInvoiceXML(\n invoiceInfo: InvoiceV1_1,\n signingCredentials: SigningCredentials,\n): Promise<{\n success: boolean\n signedXML?: string\n validationResults: {\n xmlStructure: { valid: boolean; errors: string[] }\n signatureElements: { valid: boolean; errors: string[] }\n digestValues: { valid: boolean; errors: string[] }\n certificateInfo: { valid: boolean; errors: string[] }\n canonicalizationTest: any\n }\n stepByStepResults: {\n step1_template: { success: boolean; error?: string }\n step2_transform: { success: boolean; error?: string }\n step3_docDigest: { success: boolean; digest?: string; error?: string }\n step4_signature: { success: boolean; signature?: string; error?: string }\n step5_certDigest: { success: boolean; digest?: string; error?: string }\n step6_signedProps: { success: boolean; error?: string }\n step7_propsDigest: { success: boolean; digest?: string; error?: string }\n step8_finalDoc: { success: boolean; error?: string }\n }\n}> {\n const stepResults = {\n step1_template: { success: false } as any,\n step2_transform: { success: false } as any,\n step3_docDigest: { success: false } as any,\n step4_signature: { success: false } as any,\n step5_certDigest: { success: false } as any,\n step6_signedProps: { success: false } as any,\n step7_propsDigest: { success: false } as any,\n step8_finalDoc: { success: false } as any,\n }\n\n const validationResults = {\n xmlStructure: { valid: false, errors: [] as string[] },\n signatureElements: { valid: false, errors: [] as string[] },\n digestValues: { valid: false, errors: [] as string[] },\n certificateInfo: { valid: false, errors: [] as string[] },\n canonicalizationTest: null as any,\n }\n\n let signedXML: string | undefined\n\n try {\n // Step 1: Generate template\n try {\n const xmlTemplate = generateUBLXMLTemplate(invoiceInfo)\n stepResults.step1_template = { success: true }\n\n // Validate XML structure\n const parser = new DOMParserImpl()\n const doc = parser.parseFromString(xmlTemplate, 'application/xml')\n const parserErrors = doc.getElementsByTagName('parsererror')\n if (parserErrors.length > 0) {\n validationResults.xmlStructure.errors.push(\n 'XML template parsing failed',\n )\n } else {\n validationResults.xmlStructure.valid = true\n }\n } catch (error: any) {\n stepResults.step1_template = { success: false, error: error.message }\n validationResults.xmlStructure.errors.push(\n `Template generation failed: ${error.message}`,\n )\n }\n\n // Step 2: Transform\n try {\n const xmlTemplate = generateUBLXMLTemplate(invoiceInfo)\n const transformedXml = transformXmlInvoice(xmlTemplate)\n stepResults.step2_transform = { success: true }\n\n // Check if transformation worked correctly\n if (transformedXml.includes('UBLExtensions')) {\n validationResults.xmlStructure.errors.push(\n 'UBLExtensions not properly removed in transformation',\n )\n }\n if (transformedXml.includes('<cac:Signature>')) {\n validationResults.xmlStructure.errors.push(\n 'cac:Signature elements not properly removed in transformation',\n )\n }\n } catch (error: any) {\n stepResults.step2_transform = { success: false, error: error.message }\n }\n\n // Test canonicalization\n try {\n const xmlTemplate = generateUBLXMLTemplate(invoiceInfo)\n validationResults.canonicalizationTest =\n await testCanonicalizationAlgorithms(xmlTemplate)\n } catch (error: any) {\n validationResults.canonicalizationTest = { error: error.message }\n }\n\n // Continue with full signing process\n try {\n signedXML = await generateSignedInvoiceXML(\n invoiceInfo,\n signingCredentials,\n )\n\n // Parse the final signed XML for validation\n const parser = new DOMParserImpl()\n const finalDoc = parser.parseFromString(signedXML, 'application/xml')\n\n // Check signature elements are populated\n const signatureValue =\n finalDoc.getElementsByTagName('ds:SignatureValue')[0]\n const x509Certificate =\n finalDoc.getElementsByTagName('ds:X509Certificate')[0]\n const digestValues = finalDoc.getElementsByTagName('ds:DigestValue')\n\n if (!signatureValue || !signatureValue.textContent?.trim()) {\n validationResults.signatureElements.errors.push(\n 'SignatureValue is empty',\n )\n }\n\n if (!x509Certificate || !x509Certificate.textContent?.trim()) {\n validationResults.signatureElements.errors.push(\n 'X509Certificate is empty',\n )\n }\n\n if (digestValues.length < 2) {\n validationResults.digestValues.errors.push(\n 'Missing digest values (expected at least 2)',\n )\n } else {\n let emptyDigests = 0\n for (let i = 0; i < digestValues.length; i++) {\n const digestElement = digestValues[i]\n if (!digestElement || !digestElement.textContent?.trim()) {\n emptyDigests++\n }\n }\n if (emptyDigests > 0) {\n validationResults.digestValues.errors.push(\n `${emptyDigests} digest values are empty`,\n )\n }\n }\n\n // Validate certificate info\n try {\n const certInfo = extractCertificateInfo(\n signingCredentials.certificatePem,\n )\n const keyPairValid = validateKeyPair(\n signingCredentials.certificatePem,\n signingCredentials.privateKeyPem,\n )\n\n if (!keyPairValid) {\n validationResults.certificateInfo.errors.push(\n 'Certificate and private key do not match',\n )\n }\n\n if (!certInfo.issuerName || !certInfo.serialNumber) {\n validationResults.certificateInfo.errors.push(\n 'Certificate info extraction failed',\n )\n }\n\n if (validationResults.certificateInfo.errors.length === 0) {\n validationResults.certificateInfo.valid = true\n }\n } catch (error: any) {\n validationResults.certificateInfo.errors.push(\n `Certificate validation failed: ${error.message}`,\n )\n }\n\n // Set validation flags\n if (validationResults.signatureElements.errors.length === 0) {\n validationResults.signatureElements.valid = true\n }\n if (validationResults.digestValues.errors.length === 0) {\n validationResults.digestValues.valid = true\n }\n\n // Mark individual steps as successful if we got here\n stepResults.step3_docDigest = { success: true }\n stepResults.step4_signature = { success: true }\n stepResults.step5_certDigest = { success: true }\n stepResults.step6_signedProps = { success: true }\n stepResults.step7_propsDigest = { success: true }\n stepResults.step8_finalDoc = { success: true }\n } catch (error: any) {\n console.error('Error during signing process:', error)\n stepResults.step8_finalDoc = { success: false, error: error.message }\n }\n } catch (error: any) {\n console.error('Fatal error in debugging:', error)\n }\n\n const allValid =\n validationResults.xmlStructure.valid &&\n validationResults.signatureElements.valid &&\n validationResults.digestValues.valid &&\n validationResults.certificateInfo.valid\n\n return {\n success: allValid,\n signedXML,\n validationResults,\n stepByStepResults: stepResults,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAa,iCAAiC,OAC5CA,gBAKI;CACJ,MAAM,SAAS,IAAI;CACnB,MAAM,MAAM,OAAO,gBAAgB,aAAa,kBAAkB;CAElE,MAAM,UAAU;EACd,eAAe,EAAE,SAAS,MAAO;EACjC,gBAAgB,EAAE,SAAS,MAAO;EAClC,UAAU;CACX;AAGD,KAAI;EACF,MAAM,kBAAkB,MAAM,4BAC5B,KACA,0CACD;AACD,UAAQ,gBAAgB;GAAE,SAAS;GAAM,QAAQ;EAAiB;CACnE,SAAQC,OAAY;AACnB,UAAQ,gBAAgB;GAAE,SAAS;GAAO,OAAO,MAAM;EAAS;CACjE;AAGD,KAAI;EACF,MAAM,eACJ,MAAM,8CAA8C,IAAI;AAC1D,UAAQ,iBAAiB;GAAE,SAAS;GAAM,QAAQ;EAAc;CACjE,SAAQA,OAAY;AACnB,UAAQ,iBAAiB;GAAE,SAAS;GAAO,OAAO,MAAM;EAAS;CAClE;AAGD,KAAI,QAAQ,cAAc,WAAW,QAAQ,eAAe,QAC1D,SAAQ,WACN,QAAQ,cAAc,WAAW,QAAQ,eAAe;AAG5D,QAAO;AACR;;;;AAKD,SAAgB,qBAAqBC,WAInC;CACA,MAAMC,SAAmB,CAAE;CAC3B,MAAMC,WAAqB,CAAE;AAE7B,KAAI;EACF,MAAM,SAAS,IAAI;EACnB,MAAM,MAAM,OAAO,gBAAgB,WAAW,kBAAkB;EAGhE,MAAM,eAAe,IAAI,qBAAqB,cAAc;AAC5D,MAAI,aAAa,SAAS,GAAG;AAC3B,UAAO,KAAK,qBAAqB;AACjC,UAAO;IAAE,SAAS;IAAO;IAAQ;GAAU;EAC5C;EAGD,MAAM,mBAAmB;GACvB;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACD;AAED,OAAK,MAAM,WAAW,kBAAkB;GACtC,MAAM,WAAW,QAAQ,SAAS,IAAI,GAClC,IAAI,qBAAqB,QAAQ,GACjC,IAAI,qBAAqB,QAAQ;AAErC,OAAI,SAAS,WAAW,EACtB,QAAO,MAAM,4BAA4B,QAAQ,EAAE;EAEtD;EAGD,MAAM,qBAAqB;GACzB;GACA;GACA;EACD;AAED,OAAK,MAAM,MAAM,mBACf,MAAK,UAAU,SAAS,GAAG,CACzB,UAAS,MAAM,iCAAiC,GAAG,EAAE;CAG1D,SAAQH,OAAY;AACnB,SAAO,MAAM,wBAAwB,MAAM,QAAQ,EAAE;CACtD;AAED,QAAO;EACL,SAAS,OAAO,WAAW;EAC3B;EACA;CACD;AACF;;;;;AAMD,eAAsB,sBACpBI,aACAC,oBAqBC;CACD,MAAM,cAAc;EAClB,gBAAgB,EAAE,SAAS,MAAO;EAClC,iBAAiB,EAAE,SAAS,MAAO;EACnC,iBAAiB,EAAE,SAAS,MAAO;EACnC,iBAAiB,EAAE,SAAS,MAAO;EACnC,kBAAkB,EAAE,SAAS,MAAO;EACpC,mBAAmB,EAAE,SAAS,MAAO;EACrC,mBAAmB,EAAE,SAAS,MAAO;EACrC,gBAAgB,EAAE,SAAS,MAAO;CACnC;CAED,MAAM,oBAAoB;EACxB,cAAc;GAAE,OAAO;GAAO,QAAQ,CAAE;EAAc;EACtD,mBAAmB;GAAE,OAAO;GAAO,QAAQ,CAAE;EAAc;EAC3D,cAAc;GAAE,OAAO;GAAO,QAAQ,CAAE;EAAc;EACtD,iBAAiB;GAAE,OAAO;GAAO,QAAQ,CAAE;EAAc;EACzD,sBAAsB;CACvB;CAED,IAAIC;AAEJ,KAAI;AAEF,MAAI;GACF,MAAM,cAAc,uBAAuB,YAAY;AACvD,eAAY,iBAAiB,EAAE,SAAS,KAAM;GAG9C,MAAM,SAAS,IAAI;GACnB,MAAM,MAAM,OAAO,gBAAgB,aAAa,kBAAkB;GAClE,MAAM,eAAe,IAAI,qBAAqB,cAAc;AAC5D,OAAI,aAAa,SAAS,EACxB,mBAAkB,aAAa,OAAO,KACpC,8BACD;OAED,mBAAkB,aAAa,QAAQ;EAE1C,SAAQN,OAAY;AACnB,eAAY,iBAAiB;IAAE,SAAS;IAAO,OAAO,MAAM;GAAS;AACrE,qBAAkB,aAAa,OAAO,MACnC,8BAA8B,MAAM,QAAQ,EAC9C;EACF;AAGD,MAAI;GACF,MAAM,cAAc,uBAAuB,YAAY;GACvD,MAAM,iBAAiB,oBAAoB,YAAY;AACvD,eAAY,kBAAkB,EAAE,SAAS,KAAM;AAG/C,OAAI,eAAe,SAAS,gBAAgB,CAC1C,mBAAkB,aAAa,OAAO,KACpC,uDACD;AAEH,OAAI,eAAe,SAAS,kBAAkB,CAC5C,mBAAkB,aAAa,OAAO,KACpC,gEACD;EAEJ,SAAQA,OAAY;AACnB,eAAY,kBAAkB;IAAE,SAAS;IAAO,OAAO,MAAM;GAAS;EACvE;AAGD,MAAI;GACF,MAAM,cAAc,uBAAuB,YAAY;AACvD,qBAAkB,uBAChB,MAAM,+BAA+B,YAAY;EACpD,SAAQA,OAAY;AACnB,qBAAkB,uBAAuB,EAAE,OAAO,MAAM,QAAS;EAClE;AAGD,MAAI;AACF,eAAY,MAAM,yBAChB,aACA,mBACD;GAGD,MAAM,SAAS,IAAI;GACnB,MAAM,WAAW,OAAO,gBAAgB,WAAW,kBAAkB;GAGrE,MAAM,iBACJ,SAAS,qBAAqB,oBAAoB,CAAC;GACrD,MAAM,kBACJ,SAAS,qBAAqB,qBAAqB,CAAC;GACtD,MAAM,eAAe,SAAS,qBAAqB,iBAAiB;AAEpE,QAAK,mBAAmB,eAAe,aAAa,MAAM,CACxD,mBAAkB,kBAAkB,OAAO,KACzC,0BACD;AAGH,QAAK,oBAAoB,gBAAgB,aAAa,MAAM,CAC1D,mBAAkB,kBAAkB,OAAO,KACzC,2BACD;AAGH,OAAI,aAAa,SAAS,EACxB,mBAAkB,aAAa,OAAO,KACpC,8CACD;QACI;IACL,IAAI,eAAe;AACnB,SAAK,IAAI,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;KAC5C,MAAM,gBAAgB,aAAa;AACnC,UAAK,kBAAkB,cAAc,aAAa,MAAM,CACtD;IAEH;AACD,QAAI,eAAe,EACjB,mBAAkB,aAAa,OAAO,MACnC,EAAE,aAAa,0BACjB;GAEJ;AAGD,OAAI;IACF,MAAM,WAAW,uBACf,mBAAmB,eACpB;IACD,MAAM,eAAe,gBACnB,mBAAmB,gBACnB,mBAAmB,cACpB;AAED,SAAK,aACH,mBAAkB,gBAAgB,OAAO,KACvC,2CACD;AAGH,SAAK,SAAS,eAAe,SAAS,aACpC,mBAAkB,gBAAgB,OAAO,KACvC,qCACD;AAGH,QAAI,kBAAkB,gBAAgB,OAAO,WAAW,EACtD,mBAAkB,gBAAgB,QAAQ;GAE7C,SAAQA,OAAY;AACnB,sBAAkB,gBAAgB,OAAO,MACtC,iCAAiC,MAAM,QAAQ,EACjD;GACF;AAGD,OAAI,kBAAkB,kBAAkB,OAAO,WAAW,EACxD,mBAAkB,kBAAkB,QAAQ;AAE9C,OAAI,kBAAkB,aAAa,OAAO,WAAW,EACnD,mBAAkB,aAAa,QAAQ;AAIzC,eAAY,kBAAkB,EAAE,SAAS,KAAM;AAC/C,eAAY,kBAAkB,EAAE,SAAS,KAAM;AAC/C,eAAY,mBAAmB,EAAE,SAAS,KAAM;AAChD,eAAY,oBAAoB,EAAE,SAAS,KAAM;AACjD,eAAY,oBAAoB,EAAE,SAAS,KAAM;AACjD,eAAY,iBAAiB,EAAE,SAAS,KAAM;EAC/C,SAAQA,OAAY;AACnB,WAAQ,MAAM,iCAAiC,MAAM;AACrD,eAAY,iBAAiB;IAAE,SAAS;IAAO,OAAO,MAAM;GAAS;EACtE;CACF,SAAQA,OAAY;AACnB,UAAQ,MAAM,6BAA6B,MAAM;CAClD;CAED,MAAM,WACJ,kBAAkB,aAAa,SAC/B,kBAAkB,kBAAkB,SACpC,kBAAkB,aAAa,SAC/B,kBAAkB,gBAAgB;AAEpC,QAAO;EACL,SAAS;EACT;EACA;EACA,mBAAmB;CACpB;AACF"}
@@ -0,0 +1,5 @@
1
+ //#region src/utils/getBaseUrl.d.ts
2
+ declare const getBaseUrl: (environment: "sandbox" | "production") => string;
3
+ //#endregion
4
+ export { getBaseUrl };
5
+ //# sourceMappingURL=getBaseUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBaseUrl.d.ts","names":["environment: 'sandbox' | 'production'"],"sources":["../../src/utils/getBaseUrl.ts"],"sourcesContent":[],"mappings":";cAAa"}
@@ -0,0 +1,3 @@
1
+ import { getBaseUrl } from "../getBaseUrl-Dx6RDC8I.js";
2
+
3
+ export { getBaseUrl };
@@ -0,0 +1,117 @@
1
+ import "../classification-codes-C2X4xW5-.js";
2
+ import "../country-code-DsI8Mbzx.js";
3
+ import "../currencies-DKuDflOO.js";
4
+ import "../e-invoice-C2TxhyrK.js";
5
+ import "../signatures-C9QPZTQd.js";
6
+ import "../tax-types-CEpfSh5P.js";
7
+ import "../1X-C-_KHV-Q.js";
8
+ import "../2X-DkS1BoE5.js";
9
+ import "../3X-DFI-4RQQ.js";
10
+ import "../4X-CIJ2JJ2w.js";
11
+ import "../5X-COsZHUaQ.js";
12
+ import "../6X-ClZDKOTC.js";
13
+ import "../7X-BZyesooz.js";
14
+ import "../8X-DkuKAkHz.js";
15
+ import "../9X-BDgifncF.js";
16
+ import "../AX-D6XHWdrY.js";
17
+ import "../BX-D_0C8Qbd.js";
18
+ import "../CX-HH4cSZRX.js";
19
+ import "../DX-Dx22ax_I.js";
20
+ import "../EX-BRWh1wFc.js";
21
+ import "../FX-RmjwAr40.js";
22
+ import "../GX-CJyo7oDp.js";
23
+ import "../HX-XALBTdLA.js";
24
+ import "../IX-6SZ55QKb.js";
25
+ import "../JX-hQ1XRmLp.js";
26
+ import "../KX-BNwunEfn.js";
27
+ import "../LX-CHYX3X3J.js";
28
+ import "../MX-BPGLWSUz.js";
29
+ import "../NX-RulN5Ml3.js";
30
+ import "../OX-DgKVSp7I.js";
31
+ import "../PX-DA4A2kEv.js";
32
+ import "../QX-DrFqsMEs.js";
33
+ import "../RX-Cm7vFcFN.js";
34
+ import "../SX-CsPPTu-W.js";
35
+ import "../TX-DCY25MdR.js";
36
+ import "../UX-DauyagHy.js";
37
+ import "../VX-DD4scgCe.js";
38
+ import "../WX-CjkoppdY.js";
39
+ import "../YX-DUdO8mRC.js";
40
+ import "../ZX-DwfcSA-D.js";
41
+ import "../XX-sbsIUOnA.js";
42
+ import "../unit-types-1bF0KhIp.js";
43
+ import "../payment-modes-B8dNy3SM.js";
44
+ import "../0X-C4IRh_fJ.js";
45
+ import "../1X-Brnls9Jh.js";
46
+ import "../2X-UdQcQW24.js";
47
+ import "../3X-DVDyspgb.js";
48
+ import "../4X-CUR8jlaZ.js";
49
+ import "../5X-C6db432h.js";
50
+ import "../6X-C_fFIcJC.js";
51
+ import "../7X-kot_VccM.js";
52
+ import "../8X-Df4DOBOe.js";
53
+ import "../9X-BhBWlgxG.js";
54
+ import "../msic-codes-bs0lTfSZ.js";
55
+ import { InvoiceV1_1, SigningCredentials } from "../invoice-1_1-BJVcw-oE.js";
56
+
57
+ //#region src/utils/invoice1-1.d.ts
58
+ /**
59
+ * Generates a document hash for submission (separate from signature DocDigest)
60
+ * This is the SHA256 hash required by the Submit Documents API
61
+ *
62
+ * OFFICIAL MyInvois FAQ: "The XML/JSON document is hashed using SHA-256 to create the documentHash value"
63
+ * CRITICAL: Must hash the SAME document that gets encoded for submission (minified XML)
64
+ * Source: https://sdk.myinvois.hasil.gov.my/faq/#how-to-hash-the-documenthash-value-and-encode-the-document-value
65
+ */
66
+ declare const generateDocumentHash: (xmlDocument: string) => string;
67
+ /**
68
+ * Encodes the XML document to base64 for submission
69
+ * Includes minification as recommended by MyInvois documentation
70
+ */
71
+ declare const encodeDocumentForSubmission: (xmlDocument: string) => string;
72
+ /**
73
+ * Utility functions for extracting certificate information
74
+ */
75
+ /**
76
+ * Extracts certificate information from a PEM certificate file
77
+ * @param certificatePem - The certificate in PEM format
78
+ * @returns Object containing issuer name and serial number
79
+ */
80
+ declare const extractCertificateInfo: (certificatePem: string) => {
81
+ issuerName: string;
82
+ serialNumber: string;
83
+ };
84
+ /**
85
+ * Validates that certificate and private key match
86
+ * @param certificatePem - The certificate in PEM format
87
+ * @param privateKeyPem - The private key in PEM format
88
+ * @returns boolean indicating if they match
89
+ */
90
+ declare const validateKeyPair: (certificatePem: string, privateKeyPem: string) => boolean;
91
+ /**
92
+ * Helper function to create SigningCredentials from certificate and private key files
93
+ * @param certificatePem - The certificate in PEM format
94
+ * @param privateKeyPem - The private key in PEM format
95
+ * @returns Complete SigningCredentials object
96
+ */
97
+ declare function createSigningCredentials(certificatePem: string, privateKeyPem: string): SigningCredentials;
98
+ /**
99
+ * Generates the UBL XML template with complete signature structure
100
+ */
101
+ declare function generateUBLXMLTemplate(invoiceInfo: InvoiceV1_1): string;
102
+ /**
103
+ * Generates a signed UBL XML invoice document following MyInvois specifications.
104
+ *
105
+ * @param invoiceInfo - The invoice data structure
106
+ * @param signingCredentials - Digital signature credentials
107
+ * @returns Promise<string> - The complete signed XML document ready for submission
108
+ */
109
+ declare const generateSignedInvoiceXML: (invoiceInfo: InvoiceV1_1, signingCredentials: SigningCredentials) => Promise<string>;
110
+ /**
111
+ * Generates a document hash for submission using the same method as signature creation
112
+ * This ensures consistency with MyInvois validation requirements
113
+ */
114
+ declare const generateDocumentHashForSubmission: (xmlDocument: string) => Promise<string>;
115
+ //#endregion
116
+ export { createSigningCredentials, encodeDocumentForSubmission, extractCertificateInfo, generateDocumentHash, generateDocumentHashForSubmission, generateSignedInvoiceXML, generateUBLXMLTemplate, validateKeyPair };
117
+ //# sourceMappingURL=invoice1-1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoice1-1.d.ts","names":["xmlDocument: string","certificatePem: string","privateKeyPem: string","invoiceInfo: InvoiceV1_1","signingCredentials: SigningCredentials"],"sources":["../../src/utils/invoice1-1.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8Ta;;;;;cA2CA;;;;;;;;;cAcA;;;;;;;;;;cAoCA;;;;;;;iBA+BG,wBAAA,iDAGb;;;;iBAoBa,sBAAA,cAAoC;;;;;;;;cAgHvC,wCACE,iCACO,uBACnB;;;;AAtQH;AA2Ca,cAuRA,iCAvR+BA,EAAAA,CAAAA,WAAAA,EAAAA,MAAAA,EAAAA,GAyRzC,OAzRyCA,CAAAA,MAAAA,CAAAA"}
@@ -0,0 +1,10 @@
1
+ import { createSigningCredentials, encodeDocumentForSubmission, extractCertificateInfo, generateDocumentHash, generateDocumentHashForSubmission, generateSignedInvoiceXML, generateUBLXMLTemplate, validateKeyPair } from "../invoice1-1-CHuLpkFz.js";
2
+ import "../canonicalize-DNUrCGad.js";
3
+ import "../hashCert-Bol7lIh2.js";
4
+ import "../hashSignedProperties-9vj5wlYR.js";
5
+ import "../populateFinalDocument-BpLXmgLv.js";
6
+ import "../populateSignedProperties-BvGN-YZH.js";
7
+ import "../sign-DzHK7UhR.js";
8
+ import "../transform-D1q-U6Zj.js";
9
+
10
+ export { createSigningCredentials, encodeDocumentForSubmission, extractCertificateInfo, generateDocumentHash, generateDocumentHashForSubmission, generateSignedInvoiceXML, generateUBLXMLTemplate, validateKeyPair };
@@ -0,0 +1,26 @@
1
+ //#region src/utils/signature/canonicalize.d.ts
2
+ /**
3
+ * Canonicalizes the XML document using the best available canonicalization algorithm,
4
+ * hashes it using SHA-256, and returns the Base64 encoded digest.
5
+ *
6
+ * Corresponds to Step 3 in the MyInvois Signature Creation guide:
7
+ * https://sdk.myinvois.hasil.gov.my/signature-creation/#step-3-canonicalize-the-document-and-generate-the-document-hash-digest
8
+ *
9
+ * Note: MyInvois documentation specifies C14N 1.1, but due to limited Node.js library support,
10
+ * this implementation uses Exclusive C14N which is widely supported and should be compatible
11
+ * in most cases. If signature validation fails, this may need to be updated.
12
+ *
13
+ * @param doc The XML Document object (from xmldom-ts) after transformations (Step 2).
14
+ * @param algorithm Optional canonicalization algorithm URI. Defaults to Exclusive C14N.
15
+ * @returns A Promise resolving to the Base64 encoded SHA-256 hash (DocDigest).
16
+ * @throws {Error} If canonicalization or hashing fails.
17
+ */
18
+ declare function canonicalizeAndHashDocument(doc: Document, algorithm?: string): Promise<string>;
19
+ /**
20
+ * Attempts to use C14N 1.1 if available, otherwise falls back to Exclusive C14N.
21
+ * This function provides a way to try the MyInvois-specified algorithm first.
22
+ */
23
+ declare function canonicalizeAndHashDocumentWithC14N11Fallback(doc: Document): Promise<string>;
24
+ //#endregion
25
+ export { canonicalizeAndHashDocument, canonicalizeAndHashDocumentWithC14N11Fallback };
26
+ //# sourceMappingURL=canonicalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonicalize.d.ts","names":["doc: Document","algorithm: string"],"sources":["../../../src/utils/signature/canonicalize.ts"],"sourcesContent":[],"mappings":";;AAmBA;;;;AAGG;AAgEH;;;;AAEG;;;;;;iBArEa,2BAAA,MACT,+BAEJ;;;;;iBAgEmB,6CAAA,MACf,WACJ"}
@@ -0,0 +1,3 @@
1
+ import { canonicalizeAndHashDocument, canonicalizeAndHashDocumentWithC14N11Fallback } from "../../canonicalize-DNUrCGad.js";
2
+
3
+ export { canonicalizeAndHashDocument, canonicalizeAndHashDocumentWithC14N11Fallback };
@@ -0,0 +1,15 @@
1
+ //#region src/utils/signature/hashCert.d.ts
2
+ /**
3
+ * Hashes the signing certificate using SHA-256 and encodes the hash in Base64.
4
+ *
5
+ * Corresponds to Step 5 in the MyInvois Signature Creation guide:
6
+ * https://sdk.myinvois.hasil.gov.my/signature-creation/#step-5-generate-the-certificate-hash
7
+ *
8
+ * @param certificatePem The signing certificate in PEM format (string).
9
+ * @returns The Base64 encoded SHA-256 hash of the certificate (CertDigest).
10
+ * @throws {Error} If hashing fails or PEM is invalid.
11
+ */
12
+ declare function hashCertificate(certificatePem: string): string;
13
+ //#endregion
14
+ export { hashCertificate };
15
+ //# sourceMappingURL=hashCert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashCert.d.ts","names":["certificatePem: string"],"sources":["../../../src/utils/signature/hashCert.ts"],"sourcesContent":[],"mappings":";;AAgFA;;;;;;;;;iBAAgB,eAAA"}
@@ -0,0 +1,3 @@
1
+ import { hashCertificate } from "../../hashCert-Bol7lIh2.js";
2
+
3
+ export { hashCertificate };
@@ -0,0 +1,25 @@
1
+ //#region src/utils/signature/hashSignedProperties.d.ts
2
+ /**
3
+ * Selects the SignedProperties element, canonicalizes it using the best available
4
+ * canonicalization algorithm, hashes it using SHA-256, and returns the Base64 encoded digest.
5
+ *
6
+ * Corresponds to Step 7 in the MyInvois Signature Creation guide:
7
+ * https://sdk.myinvois.hasil.gov.my/signature-creation/#step-7-generate-signed-properties-hash
8
+ *
9
+ * Note: MyInvois documentation specifies C14N 1.1, but due to limited Node.js library support,
10
+ * this implementation uses Exclusive C14N which is widely supported and should be compatible
11
+ * in most cases. If signature validation fails, this may need to be updated.
12
+ *
13
+ * @param doc The XML Document object (from xmldom-ts) after SignedProperties population (Step 6).
14
+ * @param algorithm Optional canonicalization algorithm URI. Defaults to Exclusive C14N.
15
+ * @returns A Promise resolving to the Base64 encoded SHA-256 hash (PropsDigest).
16
+ * @throws {Error} If the SignedProperties element cannot be found or canonicalization/hashing fails.
17
+ */
18
+ declare function hashSignedProperties(doc: Document, algorithm?: string): Promise<string>;
19
+ /**
20
+ * Attempts to use C14N 1.1 for SignedProperties if available, otherwise falls back to Exclusive C14N.
21
+ */
22
+ declare function hashSignedPropertiesWithC14N11Fallback(doc: Document): Promise<string>;
23
+ //#endregion
24
+ export { hashSignedProperties, hashSignedPropertiesWithC14N11Fallback };
25
+ //# sourceMappingURL=hashSignedProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashSignedProperties.d.ts","names":["doc: Document","algorithm: string"],"sources":["../../../src/utils/signature/hashSignedProperties.ts"],"sourcesContent":[],"mappings":";;AAoBA;;;;AAGG;AA+GH;;;;AAEG;;;;;;iBApHa,oBAAA,MACT,+BAEJ;;;;iBA+GmB,sCAAA,MACf,WACJ"}