@develit-services/bank 2.1.0 → 2.2.1

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 (32) hide show
  1. package/dist/database/schema.d.cts +1 -1
  2. package/dist/database/schema.d.mts +1 -1
  3. package/dist/database/schema.d.ts +1 -1
  4. package/dist/export/worker.cjs +1 -1
  5. package/dist/export/worker.d.cts +2 -2
  6. package/dist/export/worker.d.mts +2 -2
  7. package/dist/export/worker.d.ts +2 -2
  8. package/dist/export/worker.mjs +1 -1
  9. package/dist/export/workflows.cjs +39 -4
  10. package/dist/export/workflows.mjs +39 -4
  11. package/dist/export/wrangler.cjs +2 -0
  12. package/dist/export/wrangler.d.cts +1 -1
  13. package/dist/export/wrangler.d.mts +1 -1
  14. package/dist/export/wrangler.d.ts +1 -1
  15. package/dist/export/wrangler.mjs +2 -0
  16. package/dist/shared/{bank.CVJosema.d.mts → bank.Bz4DIxJL.d.cts} +1 -0
  17. package/dist/shared/{bank.CVJosema.d.ts → bank.Bz4DIxJL.d.mts} +1 -0
  18. package/dist/shared/{bank.CVJosema.d.cts → bank.Bz4DIxJL.d.ts} +1 -0
  19. package/dist/shared/{bank.CSwUy2gs.cjs → bank.C8oW81NT.cjs} +74 -20
  20. package/dist/shared/{bank.seypMpK4.d.cts → bank.COez_hEH.d.cts} +13 -0
  21. package/dist/shared/{bank.seypMpK4.d.mts → bank.COez_hEH.d.mts} +13 -0
  22. package/dist/shared/{bank.seypMpK4.d.ts → bank.COez_hEH.d.ts} +13 -0
  23. package/dist/shared/{bank.BW-Ts5Zr.d.mts → bank.Cw3K7nIh.d.cts} +1 -1
  24. package/dist/shared/{bank.Cwj4uNY5.d.ts → bank.VB_ZSWGd.d.ts} +1 -1
  25. package/dist/shared/{bank.BohzZXQu.mjs → bank.aSyaZEZI.mjs} +74 -20
  26. package/dist/shared/{bank.Cp1MNkxw.d.cts → bank.t019WQuV.d.mts} +1 -1
  27. package/dist/types.cjs +1 -1
  28. package/dist/types.d.cts +5 -5
  29. package/dist/types.d.mts +5 -5
  30. package/dist/types.d.ts +5 -5
  31. package/dist/types.mjs +1 -1
  32. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- export { az as account, aA as accountCredentials, aB as batch, aC as ott, aD as payment, aE as paymentRelations, aF as paymentRequest, aG as paymentRequestRelations } from '../shared/bank.seypMpK4.cjs';
1
+ export { az as account, aA as accountCredentials, aB as batch, aC as ott, aD as payment, aE as paymentRelations, aF as paymentRequest, aG as paymentRequestRelations } from '../shared/bank.COez_hEH.cjs';
2
2
  import 'drizzle-orm/sqlite-core';
3
3
  import 'drizzle-orm';
4
4
  import '@develit-io/backend-sdk';
@@ -1,4 +1,4 @@
1
- export { az as account, aA as accountCredentials, aB as batch, aC as ott, aD as payment, aE as paymentRelations, aF as paymentRequest, aG as paymentRequestRelations } from '../shared/bank.seypMpK4.mjs';
1
+ export { az as account, aA as accountCredentials, aB as batch, aC as ott, aD as payment, aE as paymentRelations, aF as paymentRequest, aG as paymentRequestRelations } from '../shared/bank.COez_hEH.mjs';
2
2
  import 'drizzle-orm/sqlite-core';
3
3
  import 'drizzle-orm';
4
4
  import '@develit-io/backend-sdk';
@@ -1,4 +1,4 @@
1
- export { az as account, aA as accountCredentials, aB as batch, aC as ott, aD as payment, aE as paymentRelations, aF as paymentRequest, aG as paymentRequestRelations } from '../shared/bank.seypMpK4.js';
1
+ export { az as account, aA as accountCredentials, aB as batch, aC as ott, aD as payment, aE as paymentRelations, aF as paymentRequest, aG as paymentRequestRelations } from '../shared/bank.COez_hEH.js';
2
2
  import 'drizzle-orm/sqlite-core';
3
3
  import 'drizzle-orm';
4
4
  import '@develit-io/backend-sdk';
@@ -5,7 +5,7 @@ const database_schema = require('../shared/bank.CIWYI18z.cjs');
5
5
  const drizzleOrm = require('drizzle-orm');
6
6
  const cloudflare_workers = require('cloudflare:workers');
7
7
  const d1 = require('drizzle-orm/d1');
8
- const mock_connector = require('../shared/bank.CSwUy2gs.cjs');
8
+ const mock_connector = require('../shared/bank.C8oW81NT.cjs');
9
9
  require('jose');
10
10
  const zod = require('zod');
11
11
  const generalCodes = require('@develit-io/general-codes');
@@ -1,5 +1,5 @@
1
- import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConfigEnvironmentBank, t as tables, b as ConnectorKey, I as IBankConnector, c as PaymentType, d as CurrencyCode, H as HandleAuthorizationCallbackInput, e as HandleAuthorizationCallbackOutput } from '../shared/bank.seypMpK4.cjs';
2
- import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from '../shared/bank.Cp1MNkxw.cjs';
1
+ import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConfigEnvironmentBank, t as tables, b as ConnectorKey, I as IBankConnector, c as PaymentType, d as CurrencyCode, H as HandleAuthorizationCallbackInput, e as HandleAuthorizationCallbackOutput } from '../shared/bank.COez_hEH.cjs';
2
+ import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from '../shared/bank.Cw3K7nIh.cjs';
3
3
  import * as _develit_io_backend_sdk from '@develit-io/backend-sdk';
4
4
  import { WorkflowInstanceStatus, IRPCResponse } from '@develit-io/backend-sdk';
5
5
  import { WorkerEntrypoint } from 'cloudflare:workers';
@@ -1,5 +1,5 @@
1
- import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConfigEnvironmentBank, t as tables, b as ConnectorKey, I as IBankConnector, c as PaymentType, d as CurrencyCode, H as HandleAuthorizationCallbackInput, e as HandleAuthorizationCallbackOutput } from '../shared/bank.seypMpK4.mjs';
2
- import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from '../shared/bank.BW-Ts5Zr.mjs';
1
+ import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConfigEnvironmentBank, t as tables, b as ConnectorKey, I as IBankConnector, c as PaymentType, d as CurrencyCode, H as HandleAuthorizationCallbackInput, e as HandleAuthorizationCallbackOutput } from '../shared/bank.COez_hEH.mjs';
2
+ import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from '../shared/bank.t019WQuV.mjs';
3
3
  import * as _develit_io_backend_sdk from '@develit-io/backend-sdk';
4
4
  import { WorkflowInstanceStatus, IRPCResponse } from '@develit-io/backend-sdk';
5
5
  import { WorkerEntrypoint } from 'cloudflare:workers';
@@ -1,5 +1,5 @@
1
- import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConfigEnvironmentBank, t as tables, b as ConnectorKey, I as IBankConnector, c as PaymentType, d as CurrencyCode, H as HandleAuthorizationCallbackInput, e as HandleAuthorizationCallbackOutput } from '../shared/bank.seypMpK4.js';
2
- import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from '../shared/bank.Cwj4uNY5.js';
1
+ import { B as BatchSelectType, P as PaymentRequestSelectType, A as AccountSelectType, a as PaymentSelectType, L as LastSyncMetadata, C as ConfigEnvironmentBank, t as tables, b as ConnectorKey, I as IBankConnector, c as PaymentType, d as CurrencyCode, H as HandleAuthorizationCallbackInput, e as HandleAuthorizationCallbackOutput } from '../shared/bank.COez_hEH.js';
2
+ import { S as SendPaymentInput, a as SendPaymentOutput, b as SendPaymentSyncInput, c as SendPaymentSyncOutput, F as FinbricksSupportedBanksResponse } from '../shared/bank.VB_ZSWGd.js';
3
3
  import * as _develit_io_backend_sdk from '@develit-io/backend-sdk';
4
4
  import { WorkflowInstanceStatus, IRPCResponse } from '@develit-io/backend-sdk';
5
5
  import { WorkerEntrypoint } from 'cloudflare:workers';
@@ -3,7 +3,7 @@ import { v as tables, I as INSTRUCTION_PRIORITIES, C as CHARGE_BEARERS, g as PAY
3
3
  import { eq, sql, and, like, asc, desc, inArray, gte, lte, isNull, count } from 'drizzle-orm';
4
4
  import { WorkerEntrypoint } from 'cloudflare:workers';
5
5
  import { drizzle } from 'drizzle-orm/d1';
6
- import { j as initiateConnector, g as toIncomingPayment, d as assignAccount, t as toBatchedPayment, h as toPaymentRequestInsert, a as FinbricksClient, F as FINBRICKS_ENDPOINTS } from '../shared/bank.BohzZXQu.mjs';
6
+ import { j as initiateConnector, g as toIncomingPayment, d as assignAccount, t as toBatchedPayment, h as toPaymentRequestInsert, a as FinbricksClient, F as FINBRICKS_ENDPOINTS } from '../shared/bank.aSyaZEZI.mjs';
7
7
  import 'jose';
8
8
  import { z } from 'zod';
9
9
  import { CURRENCY_CODES } from '@develit-io/general-codes';
@@ -3,7 +3,7 @@
3
3
  const backendSdk = require('@develit-io/backend-sdk');
4
4
  const database_schema = require('../shared/bank.CIWYI18z.cjs');
5
5
  const batchLifecycle = require('../shared/bank.NF8bZBy0.cjs');
6
- const mock_connector = require('../shared/bank.CSwUy2gs.cjs');
6
+ const mock_connector = require('../shared/bank.C8oW81NT.cjs');
7
7
  const drizzleOrm = require('drizzle-orm');
8
8
  const credentialsResolver = require('../shared/bank.B0EWZbAs.cjs');
9
9
  const cloudflare_workers = require('cloudflare:workers');
@@ -283,6 +283,24 @@ class BankProcessBatch extends cloudflare_workers.WorkflowEntrypoint {
283
283
  }
284
284
  }
285
285
 
286
+ function createWorkflowLogger(instanceId) {
287
+ function log(level, event, data) {
288
+ const logData = {
289
+ level,
290
+ event,
291
+ wf_instance: instanceId,
292
+ ts: (/* @__PURE__ */ new Date()).toISOString(),
293
+ ...data
294
+ };
295
+ console[level](JSON.stringify(logData));
296
+ }
297
+ return {
298
+ info: (event, data) => log("info", event, data),
299
+ warn: (event, data) => log("warn", event, data),
300
+ error: (event, data) => log("error", event, data)
301
+ };
302
+ }
303
+
286
304
  function pushToQueue(queue, message) {
287
305
  if (!Array.isArray(message)) return queue.send(message, { contentType: "v8" });
288
306
  return queue.sendBatch(
@@ -296,6 +314,7 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
296
314
  async run(event, step) {
297
315
  const { accountId } = event.payload;
298
316
  const db = d1.drizzle(this.env.BANK_D1, { schema: database_schema.tables });
317
+ const logger = createWorkflowLogger(event.instanceId);
299
318
  if (!accountId) {
300
319
  throw new cloudflare_workflows.NonRetryableError(`Haven't obtained accountId to load.`);
301
320
  }
@@ -314,11 +333,16 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
314
333
  const payments = await step.do(
315
334
  "fetch bank payments",
316
335
  {
317
- retries: { limit: 5, delay: 2e3, backoff: "constant" },
318
- timeout: "60 seconds"
336
+ retries: { limit: 5, delay: "2 minutes", backoff: "exponential" },
337
+ timeout: "2 minutes"
319
338
  },
320
339
  async () => {
321
340
  try {
341
+ logger.info("payments.fetch.started", {
342
+ accountId,
343
+ connectorKey: account.connectorKey,
344
+ lastSyncAt: account.lastSyncAt?.toISOString()
345
+ });
322
346
  const resolveCredentials = await credentialsResolver.createCredentialsResolver(
323
347
  db,
324
348
  this.env
@@ -334,12 +358,23 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
334
358
  }
335
359
  ]
336
360
  });
337
- return await connector.getAllAccountPayments({
361
+ const result = await connector.getAllAccountPayments({
338
362
  account,
339
363
  filter: { dateFrom: account.lastSyncAt }
340
364
  });
365
+ logger.info("payments.fetch.completed", {
366
+ accountId,
367
+ connectorKey: account.connectorKey,
368
+ paymentsCount: result.length
369
+ });
370
+ return result;
341
371
  } catch (err) {
342
372
  const message = err instanceof Error ? err.message : typeof err === "object" && err !== null && "message" in err ? String(err.message) : JSON.stringify(err);
373
+ logger.error("payments.fetch.failed", {
374
+ accountId,
375
+ connectorKey: account.connectorKey,
376
+ error: message
377
+ });
343
378
  throw new Error(message);
344
379
  }
345
380
  }
@@ -1,7 +1,7 @@
1
1
  import { first, uuidv4, asNonEmpty } from '@develit-io/backend-sdk';
2
2
  import { v as tables, o as isPaymentCompleted } from '../shared/bank.C7MA33AX.mjs';
3
3
  import { i as isBatchAuthorized, b as isBatchFailed, d as isBatchProcessing } from '../shared/bank.XqSw509X.mjs';
4
- import { e as toBatchedPaymentFromPaymentRequest, i as toPreparedPayment, j as initiateConnector } from '../shared/bank.BohzZXQu.mjs';
4
+ import { e as toBatchedPaymentFromPaymentRequest, i as toPreparedPayment, j as initiateConnector } from '../shared/bank.aSyaZEZI.mjs';
5
5
  import { eq, and, inArray } from 'drizzle-orm';
6
6
  import { g as getBatchByIdQuery, a as getPaymentRequestsByBatchIdQuery, c as checksum, u as upsertBatchCommand, b as getAccountByIdQuery, d as createCredentialsResolver, e as updatePaymentRequestStatusCommand, f as createPaymentCommand } from '../shared/bank.UBWdag5k.mjs';
7
7
  import { WorkflowEntrypoint } from 'cloudflare:workers';
@@ -281,6 +281,24 @@ class BankProcessBatch extends WorkflowEntrypoint {
281
281
  }
282
282
  }
283
283
 
284
+ function createWorkflowLogger(instanceId) {
285
+ function log(level, event, data) {
286
+ const logData = {
287
+ level,
288
+ event,
289
+ wf_instance: instanceId,
290
+ ts: (/* @__PURE__ */ new Date()).toISOString(),
291
+ ...data
292
+ };
293
+ console[level](JSON.stringify(logData));
294
+ }
295
+ return {
296
+ info: (event, data) => log("info", event, data),
297
+ warn: (event, data) => log("warn", event, data),
298
+ error: (event, data) => log("error", event, data)
299
+ };
300
+ }
301
+
284
302
  function pushToQueue(queue, message) {
285
303
  if (!Array.isArray(message)) return queue.send(message, { contentType: "v8" });
286
304
  return queue.sendBatch(
@@ -294,6 +312,7 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
294
312
  async run(event, step) {
295
313
  const { accountId } = event.payload;
296
314
  const db = drizzle(this.env.BANK_D1, { schema: tables });
315
+ const logger = createWorkflowLogger(event.instanceId);
297
316
  if (!accountId) {
298
317
  throw new NonRetryableError(`Haven't obtained accountId to load.`);
299
318
  }
@@ -312,11 +331,16 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
312
331
  const payments = await step.do(
313
332
  "fetch bank payments",
314
333
  {
315
- retries: { limit: 5, delay: 2e3, backoff: "constant" },
316
- timeout: "60 seconds"
334
+ retries: { limit: 5, delay: "2 minutes", backoff: "exponential" },
335
+ timeout: "2 minutes"
317
336
  },
318
337
  async () => {
319
338
  try {
339
+ logger.info("payments.fetch.started", {
340
+ accountId,
341
+ connectorKey: account.connectorKey,
342
+ lastSyncAt: account.lastSyncAt?.toISOString()
343
+ });
320
344
  const resolveCredentials = await createCredentialsResolver(
321
345
  db,
322
346
  this.env
@@ -332,12 +356,23 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
332
356
  }
333
357
  ]
334
358
  });
335
- return await connector.getAllAccountPayments({
359
+ const result = await connector.getAllAccountPayments({
336
360
  account,
337
361
  filter: { dateFrom: account.lastSyncAt }
338
362
  });
363
+ logger.info("payments.fetch.completed", {
364
+ accountId,
365
+ connectorKey: account.connectorKey,
366
+ paymentsCount: result.length
367
+ });
368
+ return result;
339
369
  } catch (err) {
340
370
  const message = err instanceof Error ? err.message : typeof err === "object" && err !== null && "message" in err ? String(err.message) : JSON.stringify(err);
371
+ logger.error("payments.fetch.failed", {
372
+ accountId,
373
+ connectorKey: account.connectorKey,
374
+ error: message
375
+ });
341
376
  throw new Error(message);
342
377
  }
343
378
  }
@@ -10,6 +10,7 @@ function defineBankServiceWrangler(config) {
10
10
  name
11
11
  }),
12
12
  vars: {
13
+ ...envs.local.customVars,
13
14
  ...envs.local.vars,
14
15
  ENVIRONMENT: "localhost"
15
16
  },
@@ -72,6 +73,7 @@ function defineBankServiceWrangler(config) {
72
73
  )) {
73
74
  base.env[envName] = {
74
75
  vars: {
76
+ ...envCfg.customVars,
75
77
  ...envCfg.vars,
76
78
  ENVIRONMENT: envName
77
79
  },
@@ -1,4 +1,4 @@
1
- import { B as BankServiceWranglerConfig } from '../shared/bank.CVJosema.cjs';
1
+ import { B as BankServiceWranglerConfig } from '../shared/bank.Bz4DIxJL.cjs';
2
2
 
3
3
  declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
4
4
  vars: {
@@ -1,4 +1,4 @@
1
- import { B as BankServiceWranglerConfig } from '../shared/bank.CVJosema.mjs';
1
+ import { B as BankServiceWranglerConfig } from '../shared/bank.Bz4DIxJL.mjs';
2
2
 
3
3
  declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
4
4
  vars: {
@@ -1,4 +1,4 @@
1
- import { B as BankServiceWranglerConfig } from '../shared/bank.CVJosema.js';
1
+ import { B as BankServiceWranglerConfig } from '../shared/bank.Bz4DIxJL.js';
2
2
 
3
3
  declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
4
4
  vars: {
@@ -8,6 +8,7 @@ function defineBankServiceWrangler(config) {
8
8
  name
9
9
  }),
10
10
  vars: {
11
+ ...envs.local.customVars,
11
12
  ...envs.local.vars,
12
13
  ENVIRONMENT: "localhost"
13
14
  },
@@ -70,6 +71,7 @@ function defineBankServiceWrangler(config) {
70
71
  )) {
71
72
  base.env[envName] = {
72
73
  vars: {
74
+ ...envCfg.customVars,
73
75
  ...envCfg.vars,
74
76
  ENVIRONMENT: envName
75
77
  },
@@ -34,6 +34,7 @@ interface BankServiceEnvironmentConfig {
34
34
  DBUCS_TX_AUTH_URI: string;
35
35
  REDIRECT_URI: string;
36
36
  };
37
+ customVars?: Record<string, string>;
37
38
  }
38
39
  interface BankServiceWranglerConfig {
39
40
  project: string;
@@ -34,6 +34,7 @@ interface BankServiceEnvironmentConfig {
34
34
  DBUCS_TX_AUTH_URI: string;
35
35
  REDIRECT_URI: string;
36
36
  };
37
+ customVars?: Record<string, string>;
37
38
  }
38
39
  interface BankServiceWranglerConfig {
39
40
  project: string;
@@ -34,6 +34,7 @@ interface BankServiceEnvironmentConfig {
34
34
  DBUCS_TX_AUTH_URI: string;
35
35
  REDIRECT_URI: string;
36
36
  };
37
+ customVars?: Record<string, string>;
37
38
  }
38
39
  interface BankServiceWranglerConfig {
39
40
  project: string;
@@ -114,10 +114,30 @@ function toBatchedPaymentFromPaymentRequest(sp) {
114
114
  };
115
115
  }
116
116
 
117
+ function buildEndToEndId(payment, options = {}) {
118
+ const { separator = "/" } = options;
119
+ const parts = [];
120
+ if (payment.vs) parts.push(`VS${payment.vs}`);
121
+ if (payment.ss) parts.push(`SS${payment.ss}`);
122
+ if (payment.ks) parts.push(`KS${payment.ks}`);
123
+ if (parts.length === 0) {
124
+ return payment.id.replace(/-/g, "");
125
+ }
126
+ return `${separator}${parts.join(separator)}`;
127
+ }
128
+
117
129
  class IBankConnector {
118
130
  supportsPaymentType(paymentType) {
119
131
  return paymentType === "DOMESTIC";
120
132
  }
133
+ /**
134
+ * Builds the endToEndIdentification string for a SEPA payment.
135
+ * Override in subclasses to adjust bank-specific formatting — e.g. Moneta
136
+ * rejects `/` in this field, so `MonetaConnector` uses `-` as separator.
137
+ */
138
+ buildEndToEndId(payment) {
139
+ return buildEndToEndId(payment);
140
+ }
121
141
  // ── Deprecated methods (backward compatibility) ────────────────────
122
142
  /**
123
143
  * @deprecated Use initiateDomesticBatch, initiateSEPABatch, or initiateForeignBatch instead.
@@ -218,17 +238,6 @@ class IBankConnector {
218
238
  }
219
239
  }
220
240
 
221
- function buildEndToEndId(payment) {
222
- const parts = [];
223
- if (payment.vs) parts.push(`VS${payment.vs}`);
224
- if (payment.ss) parts.push(`SS${payment.ss}`);
225
- if (payment.ks) parts.push(`KS${payment.ks}`);
226
- if (parts.length === 0) {
227
- return payment.id.replace(/-/g, "");
228
- }
229
- return `/${parts.join("/")}`;
230
- }
231
-
232
241
  async function signFinbricksJws({
233
242
  privateKeyPem,
234
243
  merchantId,
@@ -487,7 +496,7 @@ const mapFinbricksTransactionToPayment = (tx, account) => {
487
496
  const isIncoming = tx.creditDebitIndicator === "CRDT";
488
497
  const related = tx.entryDetails?.transactionDetails?.relatedParties;
489
498
  const endToEndId = tx.entryDetails.transactionDetails?.references?.endToEndIdentification;
490
- const symbolsRegex = /^\/VS\d+/;
499
+ const symbolsRegex = /^[-/]?VS\d+/;
491
500
  const base = {
492
501
  id: backendSdk.uuidv4(),
493
502
  correlationId: backendSdk.uuidv4(),
@@ -883,7 +892,7 @@ class FinbricksConnector extends IBankConnector {
883
892
  },
884
893
  paymentIdentification: {
885
894
  merchantTransactionId: bankRefId,
886
- endToEndIdentification: buildEndToEndId(payment)
895
+ endToEndIdentification: this.buildEndToEndId(payment)
887
896
  },
888
897
  amount: payment.amount,
889
898
  debtor: {
@@ -1127,6 +1136,13 @@ class MonetaConnector extends FinbricksConnector {
1127
1136
  supportsBatch(paymentType) {
1128
1137
  return paymentType === "DOMESTIC";
1129
1138
  }
1139
+ /**
1140
+ * MONETA rejects `/` in endToEndIdentification — use `-` as separator.
1141
+ * Confirmed by Finbricks support (2026-04-23).
1142
+ */
1143
+ buildEndToEndId(payment) {
1144
+ return buildEndToEndId(payment, { separator: "-" });
1145
+ }
1130
1146
  }
1131
1147
 
1132
1148
  const isDeposit = (payment, creditorIban) => {
@@ -1372,9 +1388,30 @@ class DbuConnector extends IBankConnector {
1372
1388
  if (body && method !== "GET") {
1373
1389
  fetchOptions.body = JSON.stringify(body);
1374
1390
  }
1391
+ console.log(
1392
+ "[DBU] request",
1393
+ JSON.stringify(
1394
+ {
1395
+ method,
1396
+ url: url.toString(),
1397
+ requestId,
1398
+ headers: defaultHeaders,
1399
+ body: body ?? null
1400
+ },
1401
+ null,
1402
+ 2
1403
+ )
1404
+ );
1375
1405
  const response = await this.api.fetch(url.toString(), fetchOptions);
1376
1406
  if (!response.ok) {
1377
1407
  const errorBody = await response.text().catch(() => "unable to read body");
1408
+ console.error("[DBU] error response", {
1409
+ status: response.status,
1410
+ statusText: response.statusText,
1411
+ url: url.toString(),
1412
+ requestId,
1413
+ body: errorBody
1414
+ });
1378
1415
  throw backendSdk.createInternalError(
1379
1416
  new Error(`DBU API error: ${response.status}`),
1380
1417
  {
@@ -1382,7 +1419,21 @@ class DbuConnector extends IBankConnector {
1382
1419
  }
1383
1420
  );
1384
1421
  }
1385
- return response.json();
1422
+ const data = await response.json();
1423
+ console.log(
1424
+ "[DBU] response",
1425
+ JSON.stringify(
1426
+ {
1427
+ status: response.status,
1428
+ url: url.toString(),
1429
+ requestId,
1430
+ body: data
1431
+ },
1432
+ null,
1433
+ 2
1434
+ )
1435
+ );
1436
+ return data;
1386
1437
  }
1387
1438
  mapDbuCurrencyCode(dbuCurrency) {
1388
1439
  const currency = dbuCurrency.toUpperCase();
@@ -1425,14 +1476,14 @@ class DbuConnector extends IBankConnector {
1425
1476
  creditor: {
1426
1477
  number: transaction.accountNumberCredit,
1427
1478
  bankCode: transaction.bankCodeCredit,
1428
- iban: creditorIban
1429
- // Note: DBU API does not provide address data in transaction responses
1479
+ iban: creditorIban,
1480
+ holderName: transaction.accountCredit?.record?.accountFullName || transaction.accountCredit?.record?.accountName || void 0
1430
1481
  },
1431
1482
  debtor: {
1432
1483
  number: transaction.accountNumberDebit,
1433
1484
  bankCode: transaction.bankCodeDebit,
1434
- iban: debtorIban
1435
- // Note: DBU API does not provide address data in transaction responses
1485
+ iban: debtorIban,
1486
+ holderName: transaction.accountDebit?.record?.accountFullName || transaction.accountDebit?.record?.accountName || void 0
1436
1487
  },
1437
1488
  debtorIban
1438
1489
  };
@@ -1728,7 +1779,10 @@ class DbuConnector extends IBankConnector {
1728
1779
  );
1729
1780
  allPayments.push(payment);
1730
1781
  } catch (error) {
1731
- console.error("Failed to map DBU transaction:", error, transaction);
1782
+ console.error(
1783
+ `[DBU] Failed to map transaction ${transaction.idRequiredTransaction}:`,
1784
+ error instanceof Error ? error.message : String(error)
1785
+ );
1732
1786
  }
1733
1787
  }
1734
1788
  if (response.transactions.transaction.length < limit) {
@@ -1940,7 +1994,7 @@ class ErsteConnector extends IBankConnector {
1940
1994
  }
1941
1995
  const paymentBody = {
1942
1996
  paymentIdentification: {
1943
- endToEndIdentification: buildEndToEndId(payment),
1997
+ endToEndIdentification: this.buildEndToEndId(payment),
1944
1998
  instructionIdentification: payment.id
1945
1999
  },
1946
2000
  paymentTypeInformation: { instructionPriority: "NORM" },
@@ -89,6 +89,13 @@ type HandleAuthorizationCallbackOutput = {
89
89
  error: string | null;
90
90
  };
91
91
 
92
+ type EndToEndIdPayment = {
93
+ id: string;
94
+ vs?: string | null;
95
+ ss?: string | null;
96
+ ks?: string | null;
97
+ };
98
+
92
99
  type WithStatus<T extends {
93
100
  status: PaymentStatus;
94
101
  }, S extends PaymentStatus> = Omit<T, 'status'> & {
@@ -134,6 +141,12 @@ declare abstract class IBankConnector {
134
141
  */
135
142
  abstract supportsBatch(paymentType: PaymentType): boolean;
136
143
  supportsPaymentType(paymentType: PaymentType): boolean;
144
+ /**
145
+ * Builds the endToEndIdentification string for a SEPA payment.
146
+ * Override in subclasses to adjust bank-specific formatting — e.g. Moneta
147
+ * rejects `/` in this field, so `MonetaConnector` uses `-` as separator.
148
+ */
149
+ protected buildEndToEndId(payment: EndToEndIdPayment): string;
137
150
  /**
138
151
  * Generates authorization URI for connecting a new bank account.
139
152
  * @param ott - One-time token used to identify the authorization flow
@@ -89,6 +89,13 @@ type HandleAuthorizationCallbackOutput = {
89
89
  error: string | null;
90
90
  };
91
91
 
92
+ type EndToEndIdPayment = {
93
+ id: string;
94
+ vs?: string | null;
95
+ ss?: string | null;
96
+ ks?: string | null;
97
+ };
98
+
92
99
  type WithStatus<T extends {
93
100
  status: PaymentStatus;
94
101
  }, S extends PaymentStatus> = Omit<T, 'status'> & {
@@ -134,6 +141,12 @@ declare abstract class IBankConnector {
134
141
  */
135
142
  abstract supportsBatch(paymentType: PaymentType): boolean;
136
143
  supportsPaymentType(paymentType: PaymentType): boolean;
144
+ /**
145
+ * Builds the endToEndIdentification string for a SEPA payment.
146
+ * Override in subclasses to adjust bank-specific formatting — e.g. Moneta
147
+ * rejects `/` in this field, so `MonetaConnector` uses `-` as separator.
148
+ */
149
+ protected buildEndToEndId(payment: EndToEndIdPayment): string;
137
150
  /**
138
151
  * Generates authorization URI for connecting a new bank account.
139
152
  * @param ott - One-time token used to identify the authorization flow
@@ -89,6 +89,13 @@ type HandleAuthorizationCallbackOutput = {
89
89
  error: string | null;
90
90
  };
91
91
 
92
+ type EndToEndIdPayment = {
93
+ id: string;
94
+ vs?: string | null;
95
+ ss?: string | null;
96
+ ks?: string | null;
97
+ };
98
+
92
99
  type WithStatus<T extends {
93
100
  status: PaymentStatus;
94
101
  }, S extends PaymentStatus> = Omit<T, 'status'> & {
@@ -134,6 +141,12 @@ declare abstract class IBankConnector {
134
141
  */
135
142
  abstract supportsBatch(paymentType: PaymentType): boolean;
136
143
  supportsPaymentType(paymentType: PaymentType): boolean;
144
+ /**
145
+ * Builds the endToEndIdentification string for a SEPA payment.
146
+ * Override in subclasses to adjust bank-specific formatting — e.g. Moneta
147
+ * rejects `/` in this field, so `MonetaConnector` uses `-` as separator.
148
+ */
149
+ protected buildEndToEndId(payment: EndToEndIdPayment): string;
137
150
  /**
138
151
  * Generates authorization URI for connecting a new bank account.
139
152
  * @param ott - One-time token used to identify the authorization flow
@@ -1,4 +1,4 @@
1
- import { d as CurrencyCode, O as BankCode, $ as CountryCode, P as PaymentRequestSelectType } from './bank.seypMpK4.mjs';
1
+ import { d as CurrencyCode, O as BankCode, $ as CountryCode, P as PaymentRequestSelectType } from './bank.COez_hEH.cjs';
2
2
  import { z } from 'zod';
3
3
 
4
4
  type ReferenceType = `${'VS' | 'SS' | 'KS'}:${number}`;
@@ -1,4 +1,4 @@
1
- import { d as CurrencyCode, O as BankCode, $ as CountryCode, P as PaymentRequestSelectType } from './bank.seypMpK4.js';
1
+ import { d as CurrencyCode, O as BankCode, $ as CountryCode, P as PaymentRequestSelectType } from './bank.COez_hEH.js';
2
2
  import { z } from 'zod';
3
3
 
4
4
  type ReferenceType = `${'VS' | 'SS' | 'KS'}:${number}`;
@@ -112,10 +112,30 @@ function toBatchedPaymentFromPaymentRequest(sp) {
112
112
  };
113
113
  }
114
114
 
115
+ function buildEndToEndId(payment, options = {}) {
116
+ const { separator = "/" } = options;
117
+ const parts = [];
118
+ if (payment.vs) parts.push(`VS${payment.vs}`);
119
+ if (payment.ss) parts.push(`SS${payment.ss}`);
120
+ if (payment.ks) parts.push(`KS${payment.ks}`);
121
+ if (parts.length === 0) {
122
+ return payment.id.replace(/-/g, "");
123
+ }
124
+ return `${separator}${parts.join(separator)}`;
125
+ }
126
+
115
127
  class IBankConnector {
116
128
  supportsPaymentType(paymentType) {
117
129
  return paymentType === "DOMESTIC";
118
130
  }
131
+ /**
132
+ * Builds the endToEndIdentification string for a SEPA payment.
133
+ * Override in subclasses to adjust bank-specific formatting — e.g. Moneta
134
+ * rejects `/` in this field, so `MonetaConnector` uses `-` as separator.
135
+ */
136
+ buildEndToEndId(payment) {
137
+ return buildEndToEndId(payment);
138
+ }
119
139
  // ── Deprecated methods (backward compatibility) ────────────────────
120
140
  /**
121
141
  * @deprecated Use initiateDomesticBatch, initiateSEPABatch, or initiateForeignBatch instead.
@@ -216,17 +236,6 @@ class IBankConnector {
216
236
  }
217
237
  }
218
238
 
219
- function buildEndToEndId(payment) {
220
- const parts = [];
221
- if (payment.vs) parts.push(`VS${payment.vs}`);
222
- if (payment.ss) parts.push(`SS${payment.ss}`);
223
- if (payment.ks) parts.push(`KS${payment.ks}`);
224
- if (parts.length === 0) {
225
- return payment.id.replace(/-/g, "");
226
- }
227
- return `/${parts.join("/")}`;
228
- }
229
-
230
239
  async function signFinbricksJws({
231
240
  privateKeyPem,
232
241
  merchantId,
@@ -485,7 +494,7 @@ const mapFinbricksTransactionToPayment = (tx, account) => {
485
494
  const isIncoming = tx.creditDebitIndicator === "CRDT";
486
495
  const related = tx.entryDetails?.transactionDetails?.relatedParties;
487
496
  const endToEndId = tx.entryDetails.transactionDetails?.references?.endToEndIdentification;
488
- const symbolsRegex = /^\/VS\d+/;
497
+ const symbolsRegex = /^[-/]?VS\d+/;
489
498
  const base = {
490
499
  id: uuidv4(),
491
500
  correlationId: uuidv4(),
@@ -881,7 +890,7 @@ class FinbricksConnector extends IBankConnector {
881
890
  },
882
891
  paymentIdentification: {
883
892
  merchantTransactionId: bankRefId,
884
- endToEndIdentification: buildEndToEndId(payment)
893
+ endToEndIdentification: this.buildEndToEndId(payment)
885
894
  },
886
895
  amount: payment.amount,
887
896
  debtor: {
@@ -1125,6 +1134,13 @@ class MonetaConnector extends FinbricksConnector {
1125
1134
  supportsBatch(paymentType) {
1126
1135
  return paymentType === "DOMESTIC";
1127
1136
  }
1137
+ /**
1138
+ * MONETA rejects `/` in endToEndIdentification — use `-` as separator.
1139
+ * Confirmed by Finbricks support (2026-04-23).
1140
+ */
1141
+ buildEndToEndId(payment) {
1142
+ return buildEndToEndId(payment, { separator: "-" });
1143
+ }
1128
1144
  }
1129
1145
 
1130
1146
  const isDeposit = (payment, creditorIban) => {
@@ -1370,9 +1386,30 @@ class DbuConnector extends IBankConnector {
1370
1386
  if (body && method !== "GET") {
1371
1387
  fetchOptions.body = JSON.stringify(body);
1372
1388
  }
1389
+ console.log(
1390
+ "[DBU] request",
1391
+ JSON.stringify(
1392
+ {
1393
+ method,
1394
+ url: url.toString(),
1395
+ requestId,
1396
+ headers: defaultHeaders,
1397
+ body: body ?? null
1398
+ },
1399
+ null,
1400
+ 2
1401
+ )
1402
+ );
1373
1403
  const response = await this.api.fetch(url.toString(), fetchOptions);
1374
1404
  if (!response.ok) {
1375
1405
  const errorBody = await response.text().catch(() => "unable to read body");
1406
+ console.error("[DBU] error response", {
1407
+ status: response.status,
1408
+ statusText: response.statusText,
1409
+ url: url.toString(),
1410
+ requestId,
1411
+ body: errorBody
1412
+ });
1376
1413
  throw createInternalError(
1377
1414
  new Error(`DBU API error: ${response.status}`),
1378
1415
  {
@@ -1380,7 +1417,21 @@ class DbuConnector extends IBankConnector {
1380
1417
  }
1381
1418
  );
1382
1419
  }
1383
- return response.json();
1420
+ const data = await response.json();
1421
+ console.log(
1422
+ "[DBU] response",
1423
+ JSON.stringify(
1424
+ {
1425
+ status: response.status,
1426
+ url: url.toString(),
1427
+ requestId,
1428
+ body: data
1429
+ },
1430
+ null,
1431
+ 2
1432
+ )
1433
+ );
1434
+ return data;
1384
1435
  }
1385
1436
  mapDbuCurrencyCode(dbuCurrency) {
1386
1437
  const currency = dbuCurrency.toUpperCase();
@@ -1423,14 +1474,14 @@ class DbuConnector extends IBankConnector {
1423
1474
  creditor: {
1424
1475
  number: transaction.accountNumberCredit,
1425
1476
  bankCode: transaction.bankCodeCredit,
1426
- iban: creditorIban
1427
- // Note: DBU API does not provide address data in transaction responses
1477
+ iban: creditorIban,
1478
+ holderName: transaction.accountCredit?.record?.accountFullName || transaction.accountCredit?.record?.accountName || void 0
1428
1479
  },
1429
1480
  debtor: {
1430
1481
  number: transaction.accountNumberDebit,
1431
1482
  bankCode: transaction.bankCodeDebit,
1432
- iban: debtorIban
1433
- // Note: DBU API does not provide address data in transaction responses
1483
+ iban: debtorIban,
1484
+ holderName: transaction.accountDebit?.record?.accountFullName || transaction.accountDebit?.record?.accountName || void 0
1434
1485
  },
1435
1486
  debtorIban
1436
1487
  };
@@ -1726,7 +1777,10 @@ class DbuConnector extends IBankConnector {
1726
1777
  );
1727
1778
  allPayments.push(payment);
1728
1779
  } catch (error) {
1729
- console.error("Failed to map DBU transaction:", error, transaction);
1780
+ console.error(
1781
+ `[DBU] Failed to map transaction ${transaction.idRequiredTransaction}:`,
1782
+ error instanceof Error ? error.message : String(error)
1783
+ );
1730
1784
  }
1731
1785
  }
1732
1786
  if (response.transactions.transaction.length < limit) {
@@ -1938,7 +1992,7 @@ class ErsteConnector extends IBankConnector {
1938
1992
  }
1939
1993
  const paymentBody = {
1940
1994
  paymentIdentification: {
1941
- endToEndIdentification: buildEndToEndId(payment),
1995
+ endToEndIdentification: this.buildEndToEndId(payment),
1942
1996
  instructionIdentification: payment.id
1943
1997
  },
1944
1998
  paymentTypeInformation: { instructionPriority: "NORM" },
@@ -1,4 +1,4 @@
1
- import { d as CurrencyCode, O as BankCode, $ as CountryCode, P as PaymentRequestSelectType } from './bank.seypMpK4.cjs';
1
+ import { d as CurrencyCode, O as BankCode, $ as CountryCode, P as PaymentRequestSelectType } from './bank.COez_hEH.mjs';
2
2
  import { z } from 'zod';
3
3
 
4
4
  type ReferenceType = `${'VS' | 'SS' | 'KS'}:${number}`;
package/dist/types.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const mock_connector = require('./shared/bank.CSwUy2gs.cjs');
3
+ const mock_connector = require('./shared/bank.C8oW81NT.cjs');
4
4
  const database_schema = require('./shared/bank.CIWYI18z.cjs');
5
5
  const batchLifecycle = require('./shared/bank.NF8bZBy0.cjs');
6
6
  const generalCodes = require('@develit-io/general-codes');
package/dist/types.d.cts CHANGED
@@ -1,8 +1,8 @@
1
- import { I as IBankConnector, b as ConnectorKey, f as ConnectedAccount, c as PaymentType, g as CredentialsResolver, h as AccountCredentialsInsertType, i as AccountInsertType, j as BatchedPayment, k as InitiatedBatch, l as IncomingPayment, m as InitiatedPayment, A as AccountSelectType, n as ParsedBankPayment, o as PaymentRequestStatus, p as AuthorizationCallbackResult, q as BatchMetadata, r as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, s as AccountAssignedPayment, u as PreparedPayment, v as CompletedPayment, w as PaymentRequestInsertType } from './shared/bank.seypMpK4.cjs';
2
- export { x as ACCOUNT_STATUSES, y as AccountCredentialsPatchType, z as AccountCredentialsSelectType, D as AccountCredentialsUpdateType, E as AccountPatchType, F as AccountStatus, G as AccountUpdateType, J as AuthorizedBatch, K as BATCH_MODES, M as BATCH_STATUES, M as BATCH_STATUSES, N as BankAccountWithLastSync, O as BankCode, Q as BatchInsertType, R as BatchLifecycle, S as BatchMode, T as BatchPayment, B as BatchSelectType, U as BatchStatus, V as CHARGE_BEARERS, W as CONNECTOR_KEYS, X as COUNTRY_CODES, Y as CREDENTIALS_TYPES, Z as ChargeBearer, _ as CompletedBatch, C as ConfigEnvironmentBank, $ as CountryCode, a0 as CredentialsType, d as CurrencyCode, a1 as INSTRUCTION_PRIORITIES, a2 as InstructionPriority, L as LastSyncMetadata, a3 as PAYMENT_DIRECTIONS, a4 as PAYMENT_REQUEST_STATUSES, a5 as PAYMENT_STATUSES, a6 as PAYMENT_TYPES, a7 as PaymentDirection, a8 as PaymentFailedInsertType, a9 as PaymentInsertType, aa as PaymentLifecycle, ab as PaymentPreparedInsertType, ac as PaymentStatus, ad as ProcessingBatch, ae as ReadyToSignBatch, af as ResolvedCredentials, ag as TOKEN_TYPES, ah as TokenType, ai as accountCredentialsInsertSchema, aj as accountCredentialsSelectSchema, ak as accountCredentialsUpdateSchema, al as accountInsertSchema, am as accountSelectSchema, an as accountUpdateSchema, ao as hasPaymentAccountAssigned, ap as isBatchAuthorized, aq as isBatchCompleted, ar as isBatchFailed, as as isBatchInitiated, at as isBatchProcessing, au as isBatchReadyToSign, av as isPaymentCompleted, aw as isPendingStatus, ax as isProcessedStatus, ay as isTerminalStatus } from './shared/bank.seypMpK4.cjs';
3
- import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.Cp1MNkxw.cjs';
4
- export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.Cp1MNkxw.cjs';
5
- export { a as BankServiceEnv, b as BankServiceEnvironmentConfig, B as BankServiceWranglerConfig } from './shared/bank.CVJosema.cjs';
1
+ import { I as IBankConnector, b as ConnectorKey, f as ConnectedAccount, c as PaymentType, g as CredentialsResolver, h as AccountCredentialsInsertType, i as AccountInsertType, j as BatchedPayment, k as InitiatedBatch, l as IncomingPayment, m as InitiatedPayment, A as AccountSelectType, n as ParsedBankPayment, o as PaymentRequestStatus, p as AuthorizationCallbackResult, q as BatchMetadata, r as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, s as AccountAssignedPayment, u as PreparedPayment, v as CompletedPayment, w as PaymentRequestInsertType } from './shared/bank.COez_hEH.cjs';
2
+ export { x as ACCOUNT_STATUSES, y as AccountCredentialsPatchType, z as AccountCredentialsSelectType, D as AccountCredentialsUpdateType, E as AccountPatchType, F as AccountStatus, G as AccountUpdateType, J as AuthorizedBatch, K as BATCH_MODES, M as BATCH_STATUES, M as BATCH_STATUSES, N as BankAccountWithLastSync, O as BankCode, Q as BatchInsertType, R as BatchLifecycle, S as BatchMode, T as BatchPayment, B as BatchSelectType, U as BatchStatus, V as CHARGE_BEARERS, W as CONNECTOR_KEYS, X as COUNTRY_CODES, Y as CREDENTIALS_TYPES, Z as ChargeBearer, _ as CompletedBatch, C as ConfigEnvironmentBank, $ as CountryCode, a0 as CredentialsType, d as CurrencyCode, a1 as INSTRUCTION_PRIORITIES, a2 as InstructionPriority, L as LastSyncMetadata, a3 as PAYMENT_DIRECTIONS, a4 as PAYMENT_REQUEST_STATUSES, a5 as PAYMENT_STATUSES, a6 as PAYMENT_TYPES, a7 as PaymentDirection, a8 as PaymentFailedInsertType, a9 as PaymentInsertType, aa as PaymentLifecycle, ab as PaymentPreparedInsertType, ac as PaymentStatus, ad as ProcessingBatch, ae as ReadyToSignBatch, af as ResolvedCredentials, ag as TOKEN_TYPES, ah as TokenType, ai as accountCredentialsInsertSchema, aj as accountCredentialsSelectSchema, ak as accountCredentialsUpdateSchema, al as accountInsertSchema, am as accountSelectSchema, an as accountUpdateSchema, ao as hasPaymentAccountAssigned, ap as isBatchAuthorized, aq as isBatchCompleted, ar as isBatchFailed, as as isBatchInitiated, at as isBatchProcessing, au as isBatchReadyToSign, av as isPaymentCompleted, aw as isPendingStatus, ax as isProcessedStatus, ay as isTerminalStatus } from './shared/bank.COez_hEH.cjs';
3
+ import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.Cw3K7nIh.cjs';
4
+ export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.Cw3K7nIh.cjs';
5
+ export { a as BankServiceEnv, b as BankServiceEnvironmentConfig, B as BankServiceWranglerConfig } from './shared/bank.Bz4DIxJL.cjs';
6
6
  import { BaseEvent } from '@develit-io/backend-sdk';
7
7
  import * as drizzle_zod from 'drizzle-zod';
8
8
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
package/dist/types.d.mts CHANGED
@@ -1,8 +1,8 @@
1
- import { I as IBankConnector, b as ConnectorKey, f as ConnectedAccount, c as PaymentType, g as CredentialsResolver, h as AccountCredentialsInsertType, i as AccountInsertType, j as BatchedPayment, k as InitiatedBatch, l as IncomingPayment, m as InitiatedPayment, A as AccountSelectType, n as ParsedBankPayment, o as PaymentRequestStatus, p as AuthorizationCallbackResult, q as BatchMetadata, r as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, s as AccountAssignedPayment, u as PreparedPayment, v as CompletedPayment, w as PaymentRequestInsertType } from './shared/bank.seypMpK4.mjs';
2
- export { x as ACCOUNT_STATUSES, y as AccountCredentialsPatchType, z as AccountCredentialsSelectType, D as AccountCredentialsUpdateType, E as AccountPatchType, F as AccountStatus, G as AccountUpdateType, J as AuthorizedBatch, K as BATCH_MODES, M as BATCH_STATUES, M as BATCH_STATUSES, N as BankAccountWithLastSync, O as BankCode, Q as BatchInsertType, R as BatchLifecycle, S as BatchMode, T as BatchPayment, B as BatchSelectType, U as BatchStatus, V as CHARGE_BEARERS, W as CONNECTOR_KEYS, X as COUNTRY_CODES, Y as CREDENTIALS_TYPES, Z as ChargeBearer, _ as CompletedBatch, C as ConfigEnvironmentBank, $ as CountryCode, a0 as CredentialsType, d as CurrencyCode, a1 as INSTRUCTION_PRIORITIES, a2 as InstructionPriority, L as LastSyncMetadata, a3 as PAYMENT_DIRECTIONS, a4 as PAYMENT_REQUEST_STATUSES, a5 as PAYMENT_STATUSES, a6 as PAYMENT_TYPES, a7 as PaymentDirection, a8 as PaymentFailedInsertType, a9 as PaymentInsertType, aa as PaymentLifecycle, ab as PaymentPreparedInsertType, ac as PaymentStatus, ad as ProcessingBatch, ae as ReadyToSignBatch, af as ResolvedCredentials, ag as TOKEN_TYPES, ah as TokenType, ai as accountCredentialsInsertSchema, aj as accountCredentialsSelectSchema, ak as accountCredentialsUpdateSchema, al as accountInsertSchema, am as accountSelectSchema, an as accountUpdateSchema, ao as hasPaymentAccountAssigned, ap as isBatchAuthorized, aq as isBatchCompleted, ar as isBatchFailed, as as isBatchInitiated, at as isBatchProcessing, au as isBatchReadyToSign, av as isPaymentCompleted, aw as isPendingStatus, ax as isProcessedStatus, ay as isTerminalStatus } from './shared/bank.seypMpK4.mjs';
3
- import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.BW-Ts5Zr.mjs';
4
- export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.BW-Ts5Zr.mjs';
5
- export { a as BankServiceEnv, b as BankServiceEnvironmentConfig, B as BankServiceWranglerConfig } from './shared/bank.CVJosema.mjs';
1
+ import { I as IBankConnector, b as ConnectorKey, f as ConnectedAccount, c as PaymentType, g as CredentialsResolver, h as AccountCredentialsInsertType, i as AccountInsertType, j as BatchedPayment, k as InitiatedBatch, l as IncomingPayment, m as InitiatedPayment, A as AccountSelectType, n as ParsedBankPayment, o as PaymentRequestStatus, p as AuthorizationCallbackResult, q as BatchMetadata, r as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, s as AccountAssignedPayment, u as PreparedPayment, v as CompletedPayment, w as PaymentRequestInsertType } from './shared/bank.COez_hEH.mjs';
2
+ export { x as ACCOUNT_STATUSES, y as AccountCredentialsPatchType, z as AccountCredentialsSelectType, D as AccountCredentialsUpdateType, E as AccountPatchType, F as AccountStatus, G as AccountUpdateType, J as AuthorizedBatch, K as BATCH_MODES, M as BATCH_STATUES, M as BATCH_STATUSES, N as BankAccountWithLastSync, O as BankCode, Q as BatchInsertType, R as BatchLifecycle, S as BatchMode, T as BatchPayment, B as BatchSelectType, U as BatchStatus, V as CHARGE_BEARERS, W as CONNECTOR_KEYS, X as COUNTRY_CODES, Y as CREDENTIALS_TYPES, Z as ChargeBearer, _ as CompletedBatch, C as ConfigEnvironmentBank, $ as CountryCode, a0 as CredentialsType, d as CurrencyCode, a1 as INSTRUCTION_PRIORITIES, a2 as InstructionPriority, L as LastSyncMetadata, a3 as PAYMENT_DIRECTIONS, a4 as PAYMENT_REQUEST_STATUSES, a5 as PAYMENT_STATUSES, a6 as PAYMENT_TYPES, a7 as PaymentDirection, a8 as PaymentFailedInsertType, a9 as PaymentInsertType, aa as PaymentLifecycle, ab as PaymentPreparedInsertType, ac as PaymentStatus, ad as ProcessingBatch, ae as ReadyToSignBatch, af as ResolvedCredentials, ag as TOKEN_TYPES, ah as TokenType, ai as accountCredentialsInsertSchema, aj as accountCredentialsSelectSchema, ak as accountCredentialsUpdateSchema, al as accountInsertSchema, am as accountSelectSchema, an as accountUpdateSchema, ao as hasPaymentAccountAssigned, ap as isBatchAuthorized, aq as isBatchCompleted, ar as isBatchFailed, as as isBatchInitiated, at as isBatchProcessing, au as isBatchReadyToSign, av as isPaymentCompleted, aw as isPendingStatus, ax as isProcessedStatus, ay as isTerminalStatus } from './shared/bank.COez_hEH.mjs';
3
+ import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.t019WQuV.mjs';
4
+ export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.t019WQuV.mjs';
5
+ export { a as BankServiceEnv, b as BankServiceEnvironmentConfig, B as BankServiceWranglerConfig } from './shared/bank.Bz4DIxJL.mjs';
6
6
  import { BaseEvent } from '@develit-io/backend-sdk';
7
7
  import * as drizzle_zod from 'drizzle-zod';
8
8
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
package/dist/types.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { I as IBankConnector, b as ConnectorKey, f as ConnectedAccount, c as PaymentType, g as CredentialsResolver, h as AccountCredentialsInsertType, i as AccountInsertType, j as BatchedPayment, k as InitiatedBatch, l as IncomingPayment, m as InitiatedPayment, A as AccountSelectType, n as ParsedBankPayment, o as PaymentRequestStatus, p as AuthorizationCallbackResult, q as BatchMetadata, r as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, s as AccountAssignedPayment, u as PreparedPayment, v as CompletedPayment, w as PaymentRequestInsertType } from './shared/bank.seypMpK4.js';
2
- export { x as ACCOUNT_STATUSES, y as AccountCredentialsPatchType, z as AccountCredentialsSelectType, D as AccountCredentialsUpdateType, E as AccountPatchType, F as AccountStatus, G as AccountUpdateType, J as AuthorizedBatch, K as BATCH_MODES, M as BATCH_STATUES, M as BATCH_STATUSES, N as BankAccountWithLastSync, O as BankCode, Q as BatchInsertType, R as BatchLifecycle, S as BatchMode, T as BatchPayment, B as BatchSelectType, U as BatchStatus, V as CHARGE_BEARERS, W as CONNECTOR_KEYS, X as COUNTRY_CODES, Y as CREDENTIALS_TYPES, Z as ChargeBearer, _ as CompletedBatch, C as ConfigEnvironmentBank, $ as CountryCode, a0 as CredentialsType, d as CurrencyCode, a1 as INSTRUCTION_PRIORITIES, a2 as InstructionPriority, L as LastSyncMetadata, a3 as PAYMENT_DIRECTIONS, a4 as PAYMENT_REQUEST_STATUSES, a5 as PAYMENT_STATUSES, a6 as PAYMENT_TYPES, a7 as PaymentDirection, a8 as PaymentFailedInsertType, a9 as PaymentInsertType, aa as PaymentLifecycle, ab as PaymentPreparedInsertType, ac as PaymentStatus, ad as ProcessingBatch, ae as ReadyToSignBatch, af as ResolvedCredentials, ag as TOKEN_TYPES, ah as TokenType, ai as accountCredentialsInsertSchema, aj as accountCredentialsSelectSchema, ak as accountCredentialsUpdateSchema, al as accountInsertSchema, am as accountSelectSchema, an as accountUpdateSchema, ao as hasPaymentAccountAssigned, ap as isBatchAuthorized, aq as isBatchCompleted, ar as isBatchFailed, as as isBatchInitiated, at as isBatchProcessing, au as isBatchReadyToSign, av as isPaymentCompleted, aw as isPendingStatus, ax as isProcessedStatus, ay as isTerminalStatus } from './shared/bank.seypMpK4.js';
3
- import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.Cwj4uNY5.js';
4
- export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.Cwj4uNY5.js';
5
- export { a as BankServiceEnv, b as BankServiceEnvironmentConfig, B as BankServiceWranglerConfig } from './shared/bank.CVJosema.js';
1
+ import { I as IBankConnector, b as ConnectorKey, f as ConnectedAccount, c as PaymentType, g as CredentialsResolver, h as AccountCredentialsInsertType, i as AccountInsertType, j as BatchedPayment, k as InitiatedBatch, l as IncomingPayment, m as InitiatedPayment, A as AccountSelectType, n as ParsedBankPayment, o as PaymentRequestStatus, p as AuthorizationCallbackResult, q as BatchMetadata, r as Currency, a as PaymentSelectType, P as PaymentRequestSelectType, s as AccountAssignedPayment, u as PreparedPayment, v as CompletedPayment, w as PaymentRequestInsertType } from './shared/bank.COez_hEH.js';
2
+ export { x as ACCOUNT_STATUSES, y as AccountCredentialsPatchType, z as AccountCredentialsSelectType, D as AccountCredentialsUpdateType, E as AccountPatchType, F as AccountStatus, G as AccountUpdateType, J as AuthorizedBatch, K as BATCH_MODES, M as BATCH_STATUES, M as BATCH_STATUSES, N as BankAccountWithLastSync, O as BankCode, Q as BatchInsertType, R as BatchLifecycle, S as BatchMode, T as BatchPayment, B as BatchSelectType, U as BatchStatus, V as CHARGE_BEARERS, W as CONNECTOR_KEYS, X as COUNTRY_CODES, Y as CREDENTIALS_TYPES, Z as ChargeBearer, _ as CompletedBatch, C as ConfigEnvironmentBank, $ as CountryCode, a0 as CredentialsType, d as CurrencyCode, a1 as INSTRUCTION_PRIORITIES, a2 as InstructionPriority, L as LastSyncMetadata, a3 as PAYMENT_DIRECTIONS, a4 as PAYMENT_REQUEST_STATUSES, a5 as PAYMENT_STATUSES, a6 as PAYMENT_TYPES, a7 as PaymentDirection, a8 as PaymentFailedInsertType, a9 as PaymentInsertType, aa as PaymentLifecycle, ab as PaymentPreparedInsertType, ac as PaymentStatus, ad as ProcessingBatch, ae as ReadyToSignBatch, af as ResolvedCredentials, ag as TOKEN_TYPES, ah as TokenType, ai as accountCredentialsInsertSchema, aj as accountCredentialsSelectSchema, ak as accountCredentialsUpdateSchema, al as accountInsertSchema, am as accountSelectSchema, an as accountUpdateSchema, ao as hasPaymentAccountAssigned, ap as isBatchAuthorized, aq as isBatchCompleted, ar as isBatchFailed, as as isBatchInitiated, at as isBatchProcessing, au as isBatchReadyToSign, av as isPaymentCompleted, aw as isPendingStatus, ax as isProcessedStatus, ay as isTerminalStatus } from './shared/bank.COez_hEH.js';
3
+ import { d as FinbricksAccount, R as ReferenceType, S as SendPaymentInput } from './shared/bank.VB_ZSWGd.js';
4
+ export { e as FinbricksAccountTransactionsResponse, f as FinbricksAccountsListResponse, g as FinbricksAuthTokenResponse, h as FinbricksBatchResponse, i as FinbricksConnectAccountResponse, j as FinbricksPaymentResponse, k as FinbricksSupportedBank, F as FinbricksSupportedBanksResponse, b as SendPaymentSyncInput } from './shared/bank.VB_ZSWGd.js';
5
+ export { a as BankServiceEnv, b as BankServiceEnvironmentConfig, B as BankServiceWranglerConfig } from './shared/bank.Bz4DIxJL.js';
6
6
  import { BaseEvent } from '@develit-io/backend-sdk';
7
7
  import * as drizzle_zod from 'drizzle-zod';
8
8
  import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
package/dist/types.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { C as CsobConnector, D as DbuConnector, E as ErsteConnector, F as FINBRICKS_ENDPOINTS, a as FinbricksClient, b as FinbricksConnector, I as IBankConnector, K as KBConnector, M as MockCobsConnector, c as MockConnector, d as assignAccount, s as signFinbricksJws, t as toBatchedPayment, e as toBatchedPaymentFromPaymentRequest, f as toCompletedPayment, g as toIncomingPayment, h as toPaymentRequestInsert, i as toPreparedPayment, u as useFinbricksFetch } from './shared/bank.BohzZXQu.mjs';
1
+ export { C as CsobConnector, D as DbuConnector, E as ErsteConnector, F as FINBRICKS_ENDPOINTS, a as FinbricksClient, b as FinbricksConnector, I as IBankConnector, K as KBConnector, M as MockCobsConnector, c as MockConnector, d as assignAccount, s as signFinbricksJws, t as toBatchedPayment, e as toBatchedPaymentFromPaymentRequest, f as toCompletedPayment, g as toIncomingPayment, h as toPaymentRequestInsert, i as toPreparedPayment, u as useFinbricksFetch } from './shared/bank.aSyaZEZI.mjs';
2
2
  export { A as ACCOUNT_STATUSES, B as BATCH_MODES, a as BATCH_STATUES, a as BATCH_STATUSES, C as CHARGE_BEARERS, b as CONNECTOR_KEYS, c as COUNTRY_CODES, d as CREDENTIALS_TYPES, I as INSTRUCTION_PRIORITIES, P as PAYMENT_DIRECTIONS, e as PAYMENT_REQUEST_STATUSES, f as PAYMENT_STATUSES, g as PAYMENT_TYPES, T as TOKEN_TYPES, h as accountCredentialsInsertSchema, i as accountCredentialsSelectSchema, j as accountCredentialsUpdateSchema, k as accountInsertSchema, l as accountSelectSchema, m as accountUpdateSchema, n as hasPaymentAccountAssigned, o as isPaymentCompleted, p as isPendingStatus, q as isProcessedStatus, r as isTerminalStatus, s as ottInsertSchema, t as ottSelectSchema, u as ottUpdateSchema } from './shared/bank.C7MA33AX.mjs';
3
3
  export { i as isBatchAuthorized, a as isBatchCompleted, b as isBatchFailed, c as isBatchInitiated, d as isBatchProcessing, e as isBatchReadyToSign } from './shared/bank.XqSw509X.mjs';
4
4
  export { BANK_CODES, CURRENCY_CODES } from '@develit-io/general-codes';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@develit-services/bank",
3
- "version": "2.1.0",
3
+ "version": "2.2.1",
4
4
  "author": "Develit.io s.r.o.",
5
5
  "type": "module",
6
6
  "exports": {