noxctl 0.7.4 → 0.8.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 (265) hide show
  1. package/README.md +39 -2
  2. package/dist/auth.d.ts +17 -1
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +122 -15
  5. package/dist/auth.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +45 -28
  8. package/dist/cli.js.map +1 -1
  9. package/dist/credentials-store.d.ts +3 -0
  10. package/dist/credentials-store.d.ts.map +1 -1
  11. package/dist/credentials-store.js +54 -10
  12. package/dist/credentials-store.js.map +1 -1
  13. package/dist/embedded.d.ts +15 -0
  14. package/dist/embedded.d.ts.map +1 -0
  15. package/dist/embedded.js +11 -0
  16. package/dist/embedded.js.map +1 -0
  17. package/dist/fortnox-client.d.ts +34 -25
  18. package/dist/fortnox-client.d.ts.map +1 -1
  19. package/dist/fortnox-client.js +130 -50
  20. package/dist/fortnox-client.js.map +1 -1
  21. package/dist/index.d.ts +7 -2
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +50 -35
  24. package/dist/index.js.map +1 -1
  25. package/dist/keychain-target.d.ts +3 -0
  26. package/dist/keychain-target.d.ts.map +1 -1
  27. package/dist/keychain-target.js +28 -7
  28. package/dist/keychain-target.js.map +1 -1
  29. package/dist/operations/absencetransactions.d.ts +9 -6
  30. package/dist/operations/absencetransactions.d.ts.map +1 -1
  31. package/dist/operations/absencetransactions.js +42 -33
  32. package/dist/operations/absencetransactions.js.map +1 -1
  33. package/dist/operations/accounts.d.ts +6 -3
  34. package/dist/operations/accounts.d.ts.map +1 -1
  35. package/dist/operations/accounts.js +28 -24
  36. package/dist/operations/accounts.js.map +1 -1
  37. package/dist/operations/analytics.d.ts +35 -0
  38. package/dist/operations/analytics.d.ts.map +1 -1
  39. package/dist/operations/analytics.js +59 -35
  40. package/dist/operations/analytics.js.map +1 -1
  41. package/dist/operations/articles.d.ts +9 -6
  42. package/dist/operations/articles.d.ts.map +1 -1
  43. package/dist/operations/articles.js +36 -32
  44. package/dist/operations/articles.js.map +1 -1
  45. package/dist/operations/attendancetransactions.d.ts +9 -6
  46. package/dist/operations/attendancetransactions.d.ts.map +1 -1
  47. package/dist/operations/attendancetransactions.js +45 -36
  48. package/dist/operations/attendancetransactions.js.map +1 -1
  49. package/dist/operations/company.d.ts +5 -1
  50. package/dist/operations/company.d.ts.map +1 -1
  51. package/dist/operations/company.js +8 -4
  52. package/dist/operations/company.js.map +1 -1
  53. package/dist/operations/contracts.d.ts +12 -9
  54. package/dist/operations/contracts.d.ts.map +1 -1
  55. package/dist/operations/contracts.js +59 -47
  56. package/dist/operations/contracts.js.map +1 -1
  57. package/dist/operations/costcenters.d.ts +10 -7
  58. package/dist/operations/costcenters.d.ts.map +1 -1
  59. package/dist/operations/costcenters.js +39 -35
  60. package/dist/operations/costcenters.js.map +1 -1
  61. package/dist/operations/customers.d.ts +9 -6
  62. package/dist/operations/customers.d.ts.map +1 -1
  63. package/dist/operations/customers.js +46 -42
  64. package/dist/operations/customers.js.map +1 -1
  65. package/dist/operations/employees.d.ts +9 -6
  66. package/dist/operations/employees.d.ts.map +1 -1
  67. package/dist/operations/employees.js +35 -31
  68. package/dist/operations/employees.js.map +1 -1
  69. package/dist/operations/financial-reports.d.ts +7 -2
  70. package/dist/operations/financial-reports.d.ts.map +1 -1
  71. package/dist/operations/financial-reports.js +169 -165
  72. package/dist/operations/financial-reports.js.map +1 -1
  73. package/dist/operations/financial-years.d.ts +8 -5
  74. package/dist/operations/financial-years.d.ts.map +1 -1
  75. package/dist/operations/financial-years.js +33 -29
  76. package/dist/operations/financial-years.js.map +1 -1
  77. package/dist/operations/index.d.ts +301 -0
  78. package/dist/operations/index.d.ts.map +1 -0
  79. package/dist/operations/index.js +64 -0
  80. package/dist/operations/index.js.map +1 -0
  81. package/dist/operations/invoice-payments.d.ts +10 -7
  82. package/dist/operations/invoice-payments.d.ts.map +1 -1
  83. package/dist/operations/invoice-payments.js +45 -35
  84. package/dist/operations/invoice-payments.js.map +1 -1
  85. package/dist/operations/invoices.d.ts +14 -30
  86. package/dist/operations/invoices.d.ts.map +1 -1
  87. package/dist/operations/invoices.js +131 -113
  88. package/dist/operations/invoices.js.map +1 -1
  89. package/dist/operations/offers.d.ts +11 -8
  90. package/dist/operations/offers.d.ts.map +1 -1
  91. package/dist/operations/offers.js +54 -43
  92. package/dist/operations/offers.js.map +1 -1
  93. package/dist/operations/orders.d.ts +10 -7
  94. package/dist/operations/orders.d.ts.map +1 -1
  95. package/dist/operations/orders.js +43 -39
  96. package/dist/operations/orders.js.map +1 -1
  97. package/dist/operations/pricelists.d.ts +16 -10
  98. package/dist/operations/pricelists.d.ts.map +1 -1
  99. package/dist/operations/pricelists.js +56 -48
  100. package/dist/operations/pricelists.js.map +1 -1
  101. package/dist/operations/projects.d.ts +9 -6
  102. package/dist/operations/projects.d.ts.map +1 -1
  103. package/dist/operations/projects.js +34 -30
  104. package/dist/operations/projects.js.map +1 -1
  105. package/dist/operations/recurrings.d.ts +14 -10
  106. package/dist/operations/recurrings.d.ts.map +1 -1
  107. package/dist/operations/recurrings.js +74 -59
  108. package/dist/operations/recurrings.js.map +1 -1
  109. package/dist/operations/salarytransactions.d.ts +9 -6
  110. package/dist/operations/salarytransactions.d.ts.map +1 -1
  111. package/dist/operations/salarytransactions.js +41 -32
  112. package/dist/operations/salarytransactions.js.map +1 -1
  113. package/dist/operations/scheduletimes.d.ts +7 -3
  114. package/dist/operations/scheduletimes.d.ts.map +1 -1
  115. package/dist/operations/scheduletimes.js +26 -22
  116. package/dist/operations/scheduletimes.js.map +1 -1
  117. package/dist/operations/supplier-invoice-payments.d.ts +9 -6
  118. package/dist/operations/supplier-invoice-payments.d.ts.map +1 -1
  119. package/dist/operations/supplier-invoice-payments.js +38 -29
  120. package/dist/operations/supplier-invoice-payments.js.map +1 -1
  121. package/dist/operations/supplier-invoices.d.ts +9 -6
  122. package/dist/operations/supplier-invoices.d.ts.map +1 -1
  123. package/dist/operations/supplier-invoices.js +41 -32
  124. package/dist/operations/supplier-invoices.js.map +1 -1
  125. package/dist/operations/suppliers.d.ts +9 -6
  126. package/dist/operations/suppliers.d.ts.map +1 -1
  127. package/dist/operations/suppliers.js +36 -32
  128. package/dist/operations/suppliers.js.map +1 -1
  129. package/dist/operations/tax.d.ts +5 -1
  130. package/dist/operations/tax.d.ts.map +1 -1
  131. package/dist/operations/tax.js +43 -39
  132. package/dist/operations/tax.js.map +1 -1
  133. package/dist/operations/taxreductions.d.ts +8 -5
  134. package/dist/operations/taxreductions.d.ts.map +1 -1
  135. package/dist/operations/taxreductions.js +28 -24
  136. package/dist/operations/taxreductions.js.map +1 -1
  137. package/dist/operations/vouchers.d.ts +11 -8
  138. package/dist/operations/vouchers.d.ts.map +1 -1
  139. package/dist/operations/vouchers.js +137 -122
  140. package/dist/operations/vouchers.js.map +1 -1
  141. package/dist/schema-audit-mappings.d.ts +9 -0
  142. package/dist/schema-audit-mappings.d.ts.map +1 -0
  143. package/dist/schema-audit-mappings.js +45 -0
  144. package/dist/schema-audit-mappings.js.map +1 -0
  145. package/dist/schema-audit.d.ts +45 -0
  146. package/dist/schema-audit.d.ts.map +1 -0
  147. package/dist/schema-audit.js +132 -0
  148. package/dist/schema-audit.js.map +1 -0
  149. package/dist/strict-mcp-server.d.ts +17 -0
  150. package/dist/strict-mcp-server.d.ts.map +1 -0
  151. package/dist/strict-mcp-server.js +35 -0
  152. package/dist/strict-mcp-server.js.map +1 -0
  153. package/dist/tools/absencetransactions.d.ts +2 -1
  154. package/dist/tools/absencetransactions.d.ts.map +1 -1
  155. package/dist/tools/absencetransactions.js +3 -2
  156. package/dist/tools/absencetransactions.js.map +1 -1
  157. package/dist/tools/analytics.d.ts +2 -1
  158. package/dist/tools/analytics.d.ts.map +1 -1
  159. package/dist/tools/analytics.js +3 -2
  160. package/dist/tools/analytics.js.map +1 -1
  161. package/dist/tools/articles.d.ts +2 -1
  162. package/dist/tools/articles.d.ts.map +1 -1
  163. package/dist/tools/articles.js +3 -2
  164. package/dist/tools/articles.js.map +1 -1
  165. package/dist/tools/attendancetransactions.d.ts +2 -1
  166. package/dist/tools/attendancetransactions.d.ts.map +1 -1
  167. package/dist/tools/attendancetransactions.js +3 -2
  168. package/dist/tools/attendancetransactions.js.map +1 -1
  169. package/dist/tools/bookkeeping.d.ts +2 -1
  170. package/dist/tools/bookkeeping.d.ts.map +1 -1
  171. package/dist/tools/bookkeeping.js +4 -4
  172. package/dist/tools/bookkeeping.js.map +1 -1
  173. package/dist/tools/company.d.ts +2 -1
  174. package/dist/tools/company.d.ts.map +1 -1
  175. package/dist/tools/company.js +3 -2
  176. package/dist/tools/company.js.map +1 -1
  177. package/dist/tools/contracts.d.ts +2 -1
  178. package/dist/tools/contracts.d.ts.map +1 -1
  179. package/dist/tools/contracts.js +3 -2
  180. package/dist/tools/contracts.js.map +1 -1
  181. package/dist/tools/costcenters.d.ts +2 -1
  182. package/dist/tools/costcenters.d.ts.map +1 -1
  183. package/dist/tools/costcenters.js +3 -2
  184. package/dist/tools/costcenters.js.map +1 -1
  185. package/dist/tools/customers.d.ts +2 -1
  186. package/dist/tools/customers.d.ts.map +1 -1
  187. package/dist/tools/customers.js +3 -2
  188. package/dist/tools/customers.js.map +1 -1
  189. package/dist/tools/employees.d.ts +2 -1
  190. package/dist/tools/employees.d.ts.map +1 -1
  191. package/dist/tools/employees.js +3 -2
  192. package/dist/tools/employees.js.map +1 -1
  193. package/dist/tools/financial-reports.d.ts +2 -1
  194. package/dist/tools/financial-reports.d.ts.map +1 -1
  195. package/dist/tools/financial-reports.js +3 -2
  196. package/dist/tools/financial-reports.js.map +1 -1
  197. package/dist/tools/financial-years.d.ts +2 -1
  198. package/dist/tools/financial-years.d.ts.map +1 -1
  199. package/dist/tools/financial-years.js +3 -2
  200. package/dist/tools/financial-years.js.map +1 -1
  201. package/dist/tools/invoice-payments.d.ts +2 -1
  202. package/dist/tools/invoice-payments.d.ts.map +1 -1
  203. package/dist/tools/invoice-payments.js +3 -2
  204. package/dist/tools/invoice-payments.js.map +1 -1
  205. package/dist/tools/invoices.d.ts +2 -1
  206. package/dist/tools/invoices.d.ts.map +1 -1
  207. package/dist/tools/invoices.js +58 -19
  208. package/dist/tools/invoices.js.map +1 -1
  209. package/dist/tools/offers.d.ts +2 -1
  210. package/dist/tools/offers.d.ts.map +1 -1
  211. package/dist/tools/offers.js +50 -19
  212. package/dist/tools/offers.js.map +1 -1
  213. package/dist/tools/orders.d.ts +2 -1
  214. package/dist/tools/orders.d.ts.map +1 -1
  215. package/dist/tools/orders.js +58 -18
  216. package/dist/tools/orders.js.map +1 -1
  217. package/dist/tools/pricelists.d.ts +2 -1
  218. package/dist/tools/pricelists.d.ts.map +1 -1
  219. package/dist/tools/pricelists.js +3 -2
  220. package/dist/tools/pricelists.js.map +1 -1
  221. package/dist/tools/projects.d.ts +2 -1
  222. package/dist/tools/projects.d.ts.map +1 -1
  223. package/dist/tools/projects.js +3 -2
  224. package/dist/tools/projects.js.map +1 -1
  225. package/dist/tools/recurrings.d.ts +2 -1
  226. package/dist/tools/recurrings.d.ts.map +1 -1
  227. package/dist/tools/recurrings.js +3 -2
  228. package/dist/tools/recurrings.js.map +1 -1
  229. package/dist/tools/salarytransactions.d.ts +2 -1
  230. package/dist/tools/salarytransactions.d.ts.map +1 -1
  231. package/dist/tools/salarytransactions.js +3 -2
  232. package/dist/tools/salarytransactions.js.map +1 -1
  233. package/dist/tools/scheduletimes.d.ts +2 -1
  234. package/dist/tools/scheduletimes.d.ts.map +1 -1
  235. package/dist/tools/scheduletimes.js +3 -2
  236. package/dist/tools/scheduletimes.js.map +1 -1
  237. package/dist/tools/status.d.ts.map +1 -1
  238. package/dist/tools/status.js +5 -4
  239. package/dist/tools/status.js.map +1 -1
  240. package/dist/tools/supplier-invoice-payments.d.ts +2 -1
  241. package/dist/tools/supplier-invoice-payments.d.ts.map +1 -1
  242. package/dist/tools/supplier-invoice-payments.js +3 -2
  243. package/dist/tools/supplier-invoice-payments.js.map +1 -1
  244. package/dist/tools/supplier-invoices.d.ts +2 -1
  245. package/dist/tools/supplier-invoices.d.ts.map +1 -1
  246. package/dist/tools/supplier-invoices.js +47 -6
  247. package/dist/tools/supplier-invoices.js.map +1 -1
  248. package/dist/tools/suppliers.d.ts +2 -1
  249. package/dist/tools/suppliers.d.ts.map +1 -1
  250. package/dist/tools/suppliers.js +3 -2
  251. package/dist/tools/suppliers.js.map +1 -1
  252. package/dist/tools/tax.d.ts +2 -1
  253. package/dist/tools/tax.d.ts.map +1 -1
  254. package/dist/tools/tax.js +3 -2
  255. package/dist/tools/tax.js.map +1 -1
  256. package/dist/tools/taxreductions.d.ts +2 -1
  257. package/dist/tools/taxreductions.d.ts.map +1 -1
  258. package/dist/tools/taxreductions.js +3 -2
  259. package/dist/tools/taxreductions.js.map +1 -1
  260. package/dist/version.d.ts +2 -0
  261. package/dist/version.d.ts.map +1 -0
  262. package/dist/version.js +3 -0
  263. package/dist/version.js.map +1 -0
  264. package/docs/embedded.md +60 -0
  265. package/package.json +23 -4
@@ -5,7 +5,7 @@ import path from 'node:path';
5
5
  import { execFileSync, spawnSync } from 'node:child_process';
6
6
  import { DEFAULT_PROFILE, LEGACY_KEYCHAIN_ACCOUNT, keychainAccount, sanitizeForFilename, validateProfileName, } from './profile-name.js';
7
7
  import { configDir } from './config-paths.js';
8
- import { activeKeychainPath, readDedicatedSecret } from './keychain-target.js';
8
+ import { activeKeychainPath, KeychainAccessError, readDedicatedSecret } from './keychain-target.js';
9
9
  function legacyCredentialsFile() {
10
10
  return path.join(configDir(), 'credentials.json');
11
11
  }
@@ -13,6 +13,32 @@ function legacyWindowsCredentialsFile() {
13
13
  return path.join(configDir(), 'credentials.dpapi');
14
14
  }
15
15
  const SERVICE_NAME = 'fortnox-mcp';
16
+ export class CredentialStoreAccessError extends Error {
17
+ constructor(message) {
18
+ super(message);
19
+ this.name = 'CredentialStoreAccessError';
20
+ }
21
+ }
22
+ function commandFailureDetail(err) {
23
+ if (typeof err !== 'object' || err === null)
24
+ return String(err);
25
+ const e = err;
26
+ const stderr = e.stderr?.toString().trim();
27
+ return stderr || e.message || e.code || `exit ${e.status ?? 'unknown'}`;
28
+ }
29
+ function isMissingSecretError(err) {
30
+ if (typeof err !== 'object' || err === null)
31
+ return false;
32
+ const e = err;
33
+ const detail = `${e.message ?? ''}\n${e.stderr?.toString() ?? ''}`;
34
+ return (e.status === 44 || /not found|could not be found|no keychain item|no matching/i.test(detail));
35
+ }
36
+ function isEmptyExitOne(err) {
37
+ if (typeof err !== 'object' || err === null)
38
+ return false;
39
+ const e = err;
40
+ return e.status === 1 && !(e.stderr?.toString().trim() ?? '');
41
+ }
16
42
  function normalizeProfile(profile) {
17
43
  const validated = validateProfileName(profile).toLowerCase();
18
44
  return { normalized: validated, isDefault: validated === DEFAULT_PROFILE };
@@ -80,14 +106,25 @@ function loadMacSecret(account) {
80
106
  // A locked keychain throws KeychainLockedError (propagated so the caller can
81
107
  // tell the user to run `noxctl keychain unlock`), not a silent null.
82
108
  const dedicated = activeKeychainPath();
83
- if (dedicated)
84
- return readDedicatedSecret(account, dedicated);
109
+ if (dedicated) {
110
+ try {
111
+ return readDedicatedSecret(account, dedicated);
112
+ }
113
+ catch (err) {
114
+ if (err instanceof KeychainAccessError) {
115
+ throw new CredentialStoreAccessError(err.message);
116
+ }
117
+ throw err;
118
+ }
119
+ }
85
120
  try {
86
- const raw = execFileSync('security', ['find-generic-password', '-a', account, '-s', SERVICE_NAME, '-w'], { encoding: 'utf-8' }).trim();
121
+ const raw = execFileSync('security', ['find-generic-password', '-a', account, '-s', SERVICE_NAME, '-w'], { encoding: 'utf-8', stdio: ['ignore', 'pipe', 'pipe'] }).trim();
87
122
  return decodeHexIfNeeded(raw);
88
123
  }
89
- catch {
90
- return null;
124
+ catch (err) {
125
+ if (isMissingSecretError(err))
126
+ return null;
127
+ throw new CredentialStoreAccessError(`macOS Keychain could not be inspected (${commandFailureDetail(err)})`);
91
128
  }
92
129
  }
93
130
  function saveMacSecret(account, secret) {
@@ -177,14 +214,21 @@ function loadLinuxSecret(account) {
177
214
  encoding: 'utf-8',
178
215
  }).trim();
179
216
  }
180
- catch {
181
- return null;
217
+ catch (err) {
218
+ // `secret-tool lookup` uses exit 1 with no stderr when no matching item
219
+ // exists. Transport/session failures include diagnostic stderr (and a
220
+ // missing binary reports ENOENT), so those remain inaccessible.
221
+ if (isMissingSecretError(err) || isEmptyExitOne(err))
222
+ return null;
223
+ throw new CredentialStoreAccessError(`Linux Secret Service could not be inspected (${commandFailureDetail(err)})`);
182
224
  }
183
225
  }
184
226
  function saveLinuxSecret(account, secret) {
185
227
  execFileSync('secret-tool', ['store', '--label=Fortnox MCP credentials', 'service', SERVICE_NAME, 'account', account], { input: secret });
186
228
  }
187
229
  function loadWindowsSecret(file) {
230
+ if (!fsSync.existsSync(file))
231
+ return null;
188
232
  try {
189
233
  return execFileSync('powershell', [
190
234
  '-NoProfile',
@@ -201,8 +245,8 @@ function loadWindowsSecret(file) {
201
245
  ].join('; '),
202
246
  ], { encoding: 'utf-8' }).trim();
203
247
  }
204
- catch {
205
- return null;
248
+ catch (err) {
249
+ throw new CredentialStoreAccessError(`Windows DPAPI credential store could not be inspected (${commandFailureDetail(err)})`);
206
250
  }
207
251
  }
208
252
  function saveWindowsSecret(file, secret) {
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["../src/credentials-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,SAAS,qBAAqB;IAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACpD,CAAC;AACD,SAAS,4BAA4B;IACnC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,mBAAmB,CAAC,CAAC;AACrD,CAAC;AACD,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,KAAK,eAAe,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrF,CAAC;AAED,0EAA0E;AAC1E,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,mEAAmE;AACnE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AA4BvC,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAG7B,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CACjB,OAAe,EACf,UAAkB;IAElB,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,KAAK,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7D,IAAI,CAAC,KAAK,IAAI,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnE,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC9D,MAAM,CAAC,GAAG,KAAM,CAAC;IACjB,MAAM,CAAC,GAAG,KAAM,CAAC;IACjB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACjE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACvE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/D,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,mEAAmE;IACnE,wEAAwE;IACxE,sDAAsD;IACtD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,OAAe;IACpC,8EAA8E;IAC9E,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,SAAS;QAAE,OAAO,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CACtB,UAAU,EACV,CAAC,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,EAClE,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC,IAAI,EAAE,CAAC;QACT,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,OAAe,EAAE,MAAc;IACpD,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;IAElF,uEAAuE;IACvE,6EAA6E;IAC7E,2DAA2D;IAC3D,MAAM,YAAY,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAEhD,kFAAkF;IAClF,kFAAkF;IAClF,MAAM,WAAW,GAAG;;;;;;;iBAOL,YAAY;iBACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BvB,CAAC;IAEA,IAAI,CAAC;QACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;YAC5D,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,8BAA8B,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,2EAA2E,MAAM,KAAK;YACpF,kFAAkF;YAClF,yFAAyF;YACzF,gBAAgB,CACnB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;YAC1F,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,MAAc;IACtD,YAAY,CACV,aAAa,EACb,CAAC,OAAO,EAAE,iCAAiC,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,EACzF,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,YAAY,CACjB,YAAY,EACZ;YACE,YAAY;YACZ,iBAAiB;YACjB,UAAU;YACV;gBACE,oEAAoE;gBACpE,wCAAwC;gBACxC,wCAAwC;gBACxC,wBAAwB,IAAI,gBAAgB;gBAC5C,oEAAoE,IAAI,KAAK;gBAC7E,sJAAsJ;gBACtJ,yCAAyC;aAC1C,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,EACD,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC,IAAI,EAAE,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY,EAAE,MAAc;IACrD,uEAAuE;IACvE,kEAAkE;IAClE,MAAM,MAAM,GAAG,SAAS,CACtB,YAAY,EACZ;QACE,YAAY;QACZ,iBAAiB;QACjB,UAAU;QACV;YACE,oEAAoE;YACpE,wCAAwC;YACxC,wCAAwC;YACxC,oCAAoC,SAAS,EAAE,eAAe;YAC9D,oCAAoC;YACpC,iDAAiD;YACjD,oJAAoJ;YACpJ,4BAA4B,IAAI,kEAAkE;SACnG,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,EACD,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CACrC,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;IACrF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,2BAA2B;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,WAAmB;IAC3D,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACxE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,UAAkB,eAAe;IAEjC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9F,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAE5F,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;QAC1B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACzD,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,uBAAuB;YACzE,UAAU;SACX,CAAC;IACJ,CAAC;IACD,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvE,IAAI,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAE1E,MAAM,SAAS,GAAG,MAAM,yBAAyB,EAAE,CAAC;IACpD,IAAI,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAC7F,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,WAAmB,EAAE,MAAc;IAC1E,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,UAAkB,eAAe,EACjC,UAAiC,EAAE;IAEnC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5D,oEAAoE;IACpE,qEAAqE;IACrE,+BAA+B;IAC/B,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;IAExF,yEAAyE;IACzE,0EAA0E;IAC1E,yEAAyE;IACzE,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI,iBAAiB,IAAI,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9D,IAAI,CAAC;YACH,cAAc,CAAC,uBAAuB,EAAE,4BAA4B,EAAE,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC,yDAAyD,GAAG,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,2BAA2B,EAAE,CAAC;IACtC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,YAAY,CAAC,UAAU,EAAE;YACvB,yBAAyB;YACzB,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,YAAY;YACZ,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC;QACH,YAAY,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC7C,IAAI,CAAC;QACH,2EAA2E;QAC3E,sEAAsE;QACtE,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAAe,EAAE,WAAmB;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC1E,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB,eAAe;IAC1E,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,aAAa,GAAG,MAAM,eAAe,CACzC,uBAAuB,EACvB,4BAA4B,EAAE,CAC/B,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,eAAe,CACtC,eAAe,CAAC,UAAU,CAAC,EAC3B,sBAAsB,CAAC,UAAU,CAAC,CACnC,CAAC;QACF,MAAM,2BAA2B,EAAE,CAAC;QACpC,OAAO,aAAa,IAAI,UAAU,CAAC;IACrC,CAAC;IAED,OAAO,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"credentials-store.js","sourceRoot":"","sources":["../src/credentials-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Supported API for hosts that bind one authorized Fortnox transport context
3
+ * before exposing MCP tools. Model-controlled tool arguments cannot select it.
4
+ */
5
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
6
+ import type { FortnoxTransport } from './fortnox-client.js';
7
+ export { createFortnoxClient, FortnoxApiError, FortnoxRequestTimeoutError, type CreateFortnoxClientOptions, type FortnoxRateLimitOptions, type FortnoxResponse, type FortnoxTransport, type RequestOptions, } from './fortnox-client.js';
8
+ export { createFortnoxOperations, type FortnoxOperations } from './operations/index.js';
9
+ export interface CreateServerOptions {
10
+ /** Host-authorized transport for exactly one tenant context. */
11
+ transport: FortnoxTransport;
12
+ }
13
+ /** Create an MCP server that fails closed unless one tenant transport is bound. */
14
+ export declare function createServer(options: CreateServerOptions): McpServer;
15
+ //# sourceMappingURL=embedded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.d.ts","sourceRoot":"","sources":["../src/embedded.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAExF,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAKpE"}
@@ -0,0 +1,11 @@
1
+ import { createServer as createLocalServer } from './index.js';
2
+ export { createFortnoxClient, FortnoxApiError, FortnoxRequestTimeoutError, } from './fortnox-client.js';
3
+ export { createFortnoxOperations } from './operations/index.js';
4
+ /** Create an MCP server that fails closed unless one tenant transport is bound. */
5
+ export function createServer(options) {
6
+ if (!options?.transport) {
7
+ throw new Error('The embedded MCP server requires a tenant-bound transport.');
8
+ }
9
+ return createLocalServer({ transport: options.transport });
10
+ }
11
+ //# sourceMappingURL=embedded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedded.js","sourceRoot":"","sources":["../src/embedded.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,0BAA0B,GAM3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAA0B,MAAM,uBAAuB,CAAC;AAOxF,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,iBAAiB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7D,CAAC"}
@@ -9,7 +9,10 @@ export declare class FortnoxApiError extends Error {
9
9
  readonly details?: string | undefined;
10
10
  readonly retryAfterMs?: number | undefined;
11
11
  readonly hint?: string;
12
- constructor(statusCode: number, fortnoxMessage: string, details?: string | undefined, endpoint?: string, retryAfterMs?: number | undefined);
12
+ constructor(statusCode: number, fortnoxMessage: string, details?: string | undefined, endpoint?: string, retryAfterMs?: number | undefined, diagnosticContext?: {
13
+ kind: 'context' | 'profile';
14
+ label: string;
15
+ });
13
16
  }
14
17
  export declare class FortnoxRequestTimeoutError extends Error {
15
18
  readonly outcomeUnknown: boolean;
@@ -30,39 +33,45 @@ export interface RequestOptions {
30
33
  */
31
34
  mutation?: boolean;
32
35
  }
33
- export declare function fortnoxRequest<T>(endpoint: string, options?: RequestOptions): Promise<T>;
36
+ export interface FortnoxRateLimitOptions {
37
+ /** Maximum number of requests admitted during one window. Defaults to 25. */
38
+ limit?: number;
39
+ /** Sliding-window duration in milliseconds. Defaults to 5000. */
40
+ windowMs?: number;
41
+ }
42
+ export interface CreateFortnoxClientOptions {
43
+ /** Supplies a valid access token for this client instance. */
44
+ getAccessToken: () => Promise<string>;
45
+ /** Optional fetch implementation, primarily for hosts and tests. */
46
+ fetch?: typeof globalThis.fetch;
47
+ /** Non-secret label used only to distinguish this client's errors. */
48
+ contextLabel?: string | (() => string | undefined);
49
+ /** Per-client Fortnox request budget. */
50
+ rateLimit?: FortnoxRateLimitOptions;
51
+ }
52
+ export interface FortnoxTransport {
53
+ request<T>(endpoint: string, options?: RequestOptions): Promise<T>;
54
+ requestWithMetadata<T>(endpoint: string, options?: RequestOptions): Promise<FortnoxResponse<T>>;
55
+ requestPdf(endpoint: string, options?: RequestOptions): Promise<Buffer>;
56
+ requestPdfFromMutation(endpoint: string, options?: RequestOptions): Promise<Buffer | undefined>;
57
+ fetchAllPages<T extends Record<string, unknown>>(endpoint: string, dataKey: string, params?: Record<string, string | number | undefined>): Promise<{
58
+ items: T[];
59
+ totalResources: number;
60
+ }>;
61
+ }
34
62
  /** JSON response together with the conditional metadata returned by newer APIs. */
35
63
  export interface FortnoxResponse<T> {
36
64
  data: T;
37
65
  etag?: string;
38
66
  lastModified?: string;
39
67
  }
68
+ /** Create an isolated Fortnox transport for one host-authorized context. */
69
+ export declare function createFortnoxClient(options: CreateFortnoxClientOptions): FortnoxTransport;
70
+ export declare const defaultFortnoxTransport: FortnoxTransport;
71
+ export declare function fortnoxRequest<T>(endpoint: string, options?: RequestOptions): Promise<T>;
40
72
  export declare function fortnoxRequestWithMetadata<T>(endpoint: string, options?: RequestOptions): Promise<FortnoxResponse<T>>;
41
- /**
42
- * Fetch a PDF from one of Fortnox's document endpoints. Shares rate limiting,
43
- * retries, timeouts and error mapping with `fortnoxRequest`.
44
- *
45
- * The returned bytes are validated by their magic number rather than by the
46
- * Content-Type header: Fortnox can answer 200 with a JSON error envelope, and a
47
- * proxy can return an HTML error page, either of which would otherwise be saved
48
- * as `invoice-1001.pdf` and look like success until someone opened the file.
49
- */
50
73
  export declare function fortnoxRequestPdf(endpoint: string, options?: RequestOptions): Promise<Buffer>;
51
- /**
52
- * For endpoints where the PDF is a by-product of a state change — Fortnox's
53
- * `/print` both returns the document and sets `Sent`.
54
- *
55
- * Once the server has answered 2xx the mutation has happened, so nothing about
56
- * the body may raise: a truncated or malformed payload is reported as "no PDF"
57
- * rather than as an error, because throwing here would turn a completed
58
- * accounting change into a reported failure. Always treated as a mutation, so
59
- * it is never auto-retried.
60
- */
61
74
  export declare function fortnoxRequestPdfFromMutation(endpoint: string, options?: RequestOptions): Promise<Buffer | undefined>;
62
- /**
63
- * Fetch all pages of a paginated Fortnox list endpoint.
64
- * `dataKey` is the envelope key (e.g. "Invoices", "Customers").
65
- */
66
75
  export declare function fetchAllPages<T extends Record<string, unknown>>(endpoint: string, dataKey: string, params?: Record<string, string | number | undefined>): Promise<{
67
76
  items: T[];
68
77
  totalResources: number;
@@ -1 +1 @@
1
- {"version":3,"file":"fortnox-client.d.ts","sourceRoot":"","sources":["../src/fortnox-client.ts"],"names":[],"mappings":"AA6CA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAItB,UAAU,EAAE,MAAM;aAClB,cAAc,EAAE,MAAM;aACtB,OAAO,CAAC,EAAE,MAAM;aAEhB,YAAY,CAAC,EAAE,MAAM;IAPvC,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;gBAGZ,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,YAAA,EAChC,QAAQ,CAAC,EAAE,MAAM,EACD,YAAY,CAAC,EAAE,MAAM,YAAA;CAWxC;AAED,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,SAAgB,cAAc,EAAE,OAAO,CAAC;gBAE5B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO;CAStF;AA4ID,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC;IACrD,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAgHD,wBAAsB,cAAc,CAAC,CAAC,EACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC,CAQZ;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,0BAA0B,CAAC,CAAC,EAChD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAS7B;AAsDD;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAajB;AAED;;;;;;;;;GASG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgC7B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnE,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAM,GACvD,OAAO,CAAC;IAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,CAqBjD"}
1
+ {"version":3,"file":"fortnox-client.d.ts","sourceRoot":"","sources":["../src/fortnox-client.ts"],"names":[],"mappings":"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"}
@@ -9,45 +9,16 @@ const MAX_RETRY_DELAY_MS = 30_000;
9
9
  // Rate limiter: max 25 requests per 5 seconds
10
10
  const RATE_WINDOW_MS = 5000;
11
11
  const RATE_LIMIT = 25;
12
- const requestTimestamps = [];
13
- let rateLimitTail = Promise.resolve();
14
- async function waitForRateLimit() {
15
- let release;
16
- const previous = rateLimitTail;
17
- rateLimitTail = new Promise((resolve) => {
18
- release = resolve;
19
- });
20
- await previous;
21
- try {
22
- while (true) {
23
- const now = Date.now();
24
- while (requestTimestamps.length > 0 && requestTimestamps[0] <= now - RATE_WINDOW_MS) {
25
- requestTimestamps.shift();
26
- }
27
- if (requestTimestamps.length < RATE_LIMIT) {
28
- requestTimestamps.push(now);
29
- return;
30
- }
31
- const oldestInWindow = requestTimestamps[0];
32
- const waitMs = Math.max(1, oldestInWindow + RATE_WINDOW_MS - now + 50);
33
- await new Promise((resolve) => setTimeout(resolve, waitMs));
34
- }
35
- }
36
- finally {
37
- release();
38
- }
39
- }
40
12
  export class FortnoxApiError extends Error {
41
13
  statusCode;
42
14
  fortnoxMessage;
43
15
  details;
44
16
  retryAfterMs;
45
17
  hint;
46
- constructor(statusCode, fortnoxMessage, details, endpoint, retryAfterMs) {
18
+ constructor(statusCode, fortnoxMessage, details, endpoint, retryAfterMs, diagnosticContext) {
47
19
  const hint = getErrorHint(statusCode, fortnoxMessage, endpoint);
48
- const profile = getResolvedProfile();
49
- const profileTag = profile.toLowerCase() !== DEFAULT_PROFILE ? `[profile: ${profile}] ` : '';
50
- const parts = [`${profileTag}Fortnox API error (${statusCode}): ${fortnoxMessage}`];
20
+ const contextTag = formatDiagnosticContext(diagnosticContext);
21
+ const parts = [`${contextTag}Fortnox API error (${statusCode}): ${fortnoxMessage}`];
51
22
  if (hint)
52
23
  parts.push(`Hint: ${hint}`);
53
24
  super(parts.join('\n'));
@@ -59,6 +30,17 @@ export class FortnoxApiError extends Error {
59
30
  this.hint = hint;
60
31
  }
61
32
  }
33
+ function formatDiagnosticContext(context) {
34
+ if (!context)
35
+ return '';
36
+ const label = context.label
37
+ .trim()
38
+ .replace(/[\r\n\[\]]+/g, ' ')
39
+ .slice(0, 128);
40
+ if (!label || (context.kind === 'profile' && label.toLowerCase() === DEFAULT_PROFILE))
41
+ return '';
42
+ return `[${context.kind}: ${label}] `;
43
+ }
62
44
  export class FortnoxRequestTimeoutError extends Error {
63
45
  outcomeUnknown;
64
46
  constructor(method, endpoint, timeoutMs, isMutation) {
@@ -201,9 +183,9 @@ async function retryWithBackoff(fn, retryable, maxRetries = MAX_RETRIES) {
201
183
  }
202
184
  // Issue the HTTP request and translate a non-2xx answer into a FortnoxApiError.
203
185
  // Returns the raw Response so callers can decide how to read the body.
204
- async function sendRequest(endpoint, options, method, timeoutMs) {
205
- await waitForRateLimit();
206
- const token = await getValidToken();
186
+ async function sendRequest(runtime, endpoint, options, method, timeoutMs) {
187
+ await runtime.waitForRateLimit();
188
+ const token = await runtime.getAccessToken();
207
189
  // The original REST API is rooted at /3, while newer product APIs are rooted
208
190
  // directly at /api. A leading slash deliberately selects the API root.
209
191
  const url = endpoint.startsWith('/')
@@ -246,7 +228,7 @@ async function sendRequest(endpoint, options, method, timeoutMs) {
246
228
  fetchOptions.body = JSON.stringify(options.body);
247
229
  }
248
230
  }
249
- const response = await fetch(url.toString(), fetchOptions);
231
+ const response = await runtime.fetch(url.toString(), fetchOptions);
250
232
  if (!response.ok) {
251
233
  let errorMessage = `HTTP ${response.status}`;
252
234
  let details;
@@ -260,18 +242,18 @@ async function sendRequest(endpoint, options, method, timeoutMs) {
260
242
  catch {
261
243
  // ignore parse errors
262
244
  }
263
- throw new FortnoxApiError(response.status, errorMessage, details, endpoint, retryAfterDelay(response));
245
+ throw new FortnoxApiError(response.status, errorMessage, details, endpoint, retryAfterDelay(response), runtime.getDiagnosticContext());
264
246
  }
265
247
  return response;
266
248
  }
267
249
  // Shared retry/timeout envelope; `readBody` turns a successful Response into T.
268
- async function request(endpoint, options, readBody) {
250
+ async function request(runtime, endpoint, options, readBody) {
269
251
  const method = (options.method || 'GET').toUpperCase();
270
252
  const isMutation = options.mutation ?? !(method === 'GET' || method === 'HEAD' || method === 'OPTIONS');
271
253
  const retryable = !isMutation;
272
254
  const timeoutMs = options.rawBody === undefined ? REQUEST_TIMEOUT_MS : UPLOAD_TIMEOUT_MS;
273
255
  try {
274
- return await retryWithBackoff(async () => readBody(await sendRequest(endpoint, options, method, timeoutMs)), retryable);
256
+ return await retryWithBackoff(async () => readBody(await sendRequest(runtime, endpoint, options, method, timeoutMs)), retryable);
275
257
  }
276
258
  catch (err) {
277
259
  if (isTimeoutError(err)) {
@@ -280,8 +262,8 @@ async function request(endpoint, options, readBody) {
280
262
  throw err;
281
263
  }
282
264
  }
283
- export async function fortnoxRequest(endpoint, options = {}) {
284
- return request(endpoint, options, async (response) => {
265
+ async function requestJson(runtime, endpoint, options = {}) {
266
+ return request(runtime, endpoint, options, async (response) => {
285
267
  // Some endpoints return empty responses (e.g., DELETE)
286
268
  const text = await response.text();
287
269
  if (!text)
@@ -289,8 +271,8 @@ export async function fortnoxRequest(endpoint, options = {}) {
289
271
  return JSON.parse(text);
290
272
  });
291
273
  }
292
- export async function fortnoxRequestWithMetadata(endpoint, options = {}) {
293
- return request(endpoint, options, async (response) => {
274
+ async function requestWithMetadata(runtime, endpoint, options = {}) {
275
+ return request(runtime, endpoint, options, async (response) => {
294
276
  const text = await response.text();
295
277
  return {
296
278
  data: text ? JSON.parse(text) : undefined,
@@ -355,8 +337,8 @@ function fortnoxErrorInBody(buf) {
355
337
  * proxy can return an HTML error page, either of which would otherwise be saved
356
338
  * as `invoice-1001.pdf` and look like success until someone opened the file.
357
339
  */
358
- export async function fortnoxRequestPdf(endpoint, options = {}) {
359
- return request(endpoint, options, async (response) => {
340
+ async function requestPdf(runtime, endpoint, options = {}) {
341
+ return request(runtime, endpoint, options, async (response) => {
360
342
  const buf = Buffer.from(await response.arrayBuffer());
361
343
  if (!startsWithPdfMagic(buf)) {
362
344
  const contentType = response.headers?.get?.('content-type') || 'an unknown content type';
@@ -375,8 +357,8 @@ export async function fortnoxRequestPdf(endpoint, options = {}) {
375
357
  * accounting change into a reported failure. Always treated as a mutation, so
376
358
  * it is never auto-retried.
377
359
  */
378
- export async function fortnoxRequestPdfFromMutation(endpoint, options = {}) {
379
- return request(endpoint, { ...options, mutation: true }, async (response) => {
360
+ async function requestPdfFromMutation(runtime, endpoint, options = {}) {
361
+ return request(runtime, endpoint, { ...options, mutation: true }, async (response) => {
380
362
  let buf;
381
363
  try {
382
364
  buf = Buffer.from(await response.arrayBuffer());
@@ -394,7 +376,7 @@ export async function fortnoxRequestPdfFromMutation(endpoint, options = {}) {
394
376
  // rather than left to the status code.
395
377
  const failure = fortnoxErrorInBody(buf);
396
378
  if (failure) {
397
- throw new FortnoxApiError(response.status, failure.message, `Error code: ${failure.code}`, endpoint);
379
+ throw new FortnoxApiError(response.status, failure.message, `Error code: ${failure.code}`, endpoint, undefined, runtime.getDiagnosticContext());
398
380
  }
399
381
  // Something else came back — an incomplete PDF, or a payload we cannot
400
382
  // interpret. Inconclusive, so treat the action as done but offer no
@@ -406,13 +388,13 @@ export async function fortnoxRequestPdfFromMutation(endpoint, options = {}) {
406
388
  * Fetch all pages of a paginated Fortnox list endpoint.
407
389
  * `dataKey` is the envelope key (e.g. "Invoices", "Customers").
408
390
  */
409
- export async function fetchAllPages(endpoint, dataKey, params = {}) {
391
+ async function fetchPages(runtime, endpoint, dataKey, params = {}) {
410
392
  const all = [];
411
393
  let page = 1;
412
394
  let totalPages = 1;
413
395
  let totalResources = 0;
414
396
  do {
415
- const data = await fortnoxRequest(endpoint, {
397
+ const data = await requestJson(runtime, endpoint, {
416
398
  params: { ...params, page, limit: 100 },
417
399
  });
418
400
  const items = data[dataKey] ?? [];
@@ -424,4 +406,102 @@ export async function fetchAllPages(endpoint, dataKey, params = {}) {
424
406
  } while (page <= totalPages);
425
407
  return { items: all, totalResources };
426
408
  }
409
+ function positiveInteger(value, name) {
410
+ if (!Number.isInteger(value) || value <= 0) {
411
+ throw new TypeError(`${name} must be a positive integer`);
412
+ }
413
+ return value;
414
+ }
415
+ function createRateLimiter(options = {}) {
416
+ const limit = positiveInteger(options.limit ?? RATE_LIMIT, 'rateLimit.limit');
417
+ const windowMs = positiveInteger(options.windowMs ?? RATE_WINDOW_MS, 'rateLimit.windowMs');
418
+ const requestTimestamps = [];
419
+ let tail = Promise.resolve();
420
+ return async () => {
421
+ let release;
422
+ const previous = tail;
423
+ tail = new Promise((resolve) => {
424
+ release = resolve;
425
+ });
426
+ await previous;
427
+ try {
428
+ while (true) {
429
+ const now = Date.now();
430
+ while (requestTimestamps.length > 0 && requestTimestamps[0] <= now - windowMs) {
431
+ requestTimestamps.shift();
432
+ }
433
+ if (requestTimestamps.length < limit) {
434
+ requestTimestamps.push(now);
435
+ return;
436
+ }
437
+ const oldestInWindow = requestTimestamps[0];
438
+ const waitMs = Math.max(1, oldestInWindow + windowMs - now + 50);
439
+ await new Promise((resolve) => setTimeout(resolve, waitMs));
440
+ }
441
+ }
442
+ finally {
443
+ release();
444
+ }
445
+ };
446
+ }
447
+ function createFortnoxClientInternal(options, contextKind) {
448
+ const fetchImpl = options.fetch ??
449
+ ((input, init) => globalThis.fetch(input, init));
450
+ const contextLabel = options.contextLabel;
451
+ const contextProvider = typeof contextLabel === 'function' ? contextLabel : () => contextLabel;
452
+ const runtime = {
453
+ getAccessToken: options.getAccessToken,
454
+ fetch: fetchImpl,
455
+ waitForRateLimit: createRateLimiter(options.rateLimit),
456
+ getDiagnosticContext: () => {
457
+ try {
458
+ const label = contextProvider();
459
+ return label ? { kind: contextKind, label } : undefined;
460
+ }
461
+ catch {
462
+ return undefined;
463
+ }
464
+ },
465
+ };
466
+ return Object.freeze({
467
+ request(endpoint, requestOptions = {}) {
468
+ return requestJson(runtime, endpoint, requestOptions);
469
+ },
470
+ requestWithMetadata(endpoint, requestOptions = {}) {
471
+ return requestWithMetadata(runtime, endpoint, requestOptions);
472
+ },
473
+ requestPdf(endpoint, requestOptions = {}) {
474
+ return requestPdf(runtime, endpoint, requestOptions);
475
+ },
476
+ requestPdfFromMutation(endpoint, requestOptions = {}) {
477
+ return requestPdfFromMutation(runtime, endpoint, requestOptions);
478
+ },
479
+ fetchAllPages(endpoint, dataKey, params = {}) {
480
+ return fetchPages(runtime, endpoint, dataKey, params);
481
+ },
482
+ });
483
+ }
484
+ /** Create an isolated Fortnox transport for one host-authorized context. */
485
+ export function createFortnoxClient(options) {
486
+ return createFortnoxClientInternal(options, 'context');
487
+ }
488
+ export const defaultFortnoxTransport = createFortnoxClientInternal({
489
+ getAccessToken: getValidToken,
490
+ contextLabel: () => getResolvedProfile(),
491
+ }, 'profile');
492
+ export async function fortnoxRequest(endpoint, options = {}) {
493
+ return defaultFortnoxTransport.request(endpoint, options);
494
+ }
495
+ export async function fortnoxRequestWithMetadata(endpoint, options = {}) {
496
+ return defaultFortnoxTransport.requestWithMetadata(endpoint, options);
497
+ }
498
+ export async function fortnoxRequestPdf(endpoint, options = {}) {
499
+ return defaultFortnoxTransport.requestPdf(endpoint, options);
500
+ }
501
+ export async function fortnoxRequestPdfFromMutation(endpoint, options = {}) {
502
+ return defaultFortnoxTransport.requestPdfFromMutation(endpoint, options);
503
+ }
504
+ export async function fetchAllPages(endpoint, dataKey, params = {}) {
505
+ return defaultFortnoxTransport.fetchAllPages(endpoint, dataKey, params);
506
+ }
427
507
  //# sourceMappingURL=fortnox-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fortnox-client.js","sourceRoot":"","sources":["../src/fortnox-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fortnox-client.js","sourceRoot":"","sources":["../src/fortnox-client.ts"],"names":[],"mappings":"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"}