@develit-services/bank 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +99 -2
  5. package/dist/export/worker.d.cts +15 -14
  6. package/dist/export/worker.d.mts +15 -14
  7. package/dist/export/worker.d.ts +15 -14
  8. package/dist/export/worker.mjs +99 -2
  9. package/dist/export/workflows.cjs +102 -87
  10. package/dist/export/workflows.mjs +102 -87
  11. package/dist/export/wrangler.d.cts +2 -1
  12. package/dist/export/wrangler.d.mts +2 -1
  13. package/dist/export/wrangler.d.ts +2 -1
  14. package/dist/shared/{bank.C0JeMUxQ.d.cts → bank.BOI0GA-f.d.cts} +5 -3
  15. package/dist/shared/{bank.C0JeMUxQ.d.mts → bank.BOI0GA-f.d.mts} +5 -3
  16. package/dist/shared/{bank.C0JeMUxQ.d.ts → bank.BOI0GA-f.d.ts} +5 -3
  17. package/dist/shared/{bank.xrNekjj9.cjs → bank.C2QV_SMx.cjs} +24 -4
  18. package/dist/shared/{bank.BxZARqNE.mjs → bank.CL02VO9K.mjs} +24 -4
  19. package/dist/shared/{bank.CjPpPiJF.d.mts → bank.CT-uUhZB.d.mts} +1 -1
  20. package/dist/shared/{bank.DNFep60v.cjs → bank.Cfu7ZqyP.cjs} +1 -1
  21. package/dist/shared/{bank.DflRiCrT.d.ts → bank.DDmes7Gx.d.ts} +1 -1
  22. package/dist/shared/{bank.CwB3cDIG.d.cts → bank.DUd_XvqB.d.cts} +1 -1
  23. package/dist/shared/{bank.BydmpvCs.d.ts → bank.Dq24vYU7.d.cts} +1 -0
  24. package/dist/shared/{bank.BydmpvCs.d.cts → bank.Dq24vYU7.d.mts} +1 -0
  25. package/dist/shared/{bank.BydmpvCs.d.mts → bank.Dq24vYU7.d.ts} +1 -0
  26. package/dist/shared/{bank.BScD3GXI.mjs → bank.qcrBpYcu.mjs} +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,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  const backendSdk = require('@develit-io/backend-sdk');
4
- const ott_zod = require('../shared/bank.xrNekjj9.cjs');
4
+ const ott_zod = require('../shared/bank.C2QV_SMx.cjs');
5
5
  const batchLifecycle = require('../shared/bank.NF8bZBy0.cjs');
6
6
  const drizzleOrm = require('drizzle-orm');
7
- const credentialsResolver = require('../shared/bank.DNFep60v.cjs');
7
+ const credentialsResolver = require('../shared/bank.Cfu7ZqyP.cjs');
8
8
  const cloudflare_workers = require('cloudflare:workers');
9
9
  const cloudflare_workflows = require('cloudflare:workflows');
10
10
  const d1 = require('drizzle-orm/d1');
@@ -305,6 +305,10 @@ function createWorkflowLogger(instanceId) {
305
305
  };
306
306
  }
307
307
 
308
+ function getStepCount(ctx) {
309
+ return ctx.step?.count ?? 0;
310
+ }
311
+
308
312
  async function pushToQueue(queue, message) {
309
313
  if (!Array.isArray(message)) {
310
314
  await queue.send(message, { contentType: "v8" });
@@ -325,6 +329,10 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
325
329
  if (!accountId) {
326
330
  throw new cloudflare_workflows.NonRetryableError(`Haven't obtained accountId to load.`);
327
331
  }
332
+ const workflowStartedAt = await step.do(
333
+ "capture workflow start time",
334
+ async () => Date.now()
335
+ );
328
336
  while (true) {
329
337
  const now = /* @__PURE__ */ new Date();
330
338
  const account = await step.do("load account", async () => {
@@ -390,99 +398,106 @@ class BankSyncAccountPayments extends cloudflare_workers.WorkflowEntrypoint {
390
398
  const paymentsToProcess = payments.filter(
391
399
  (p) => ott_zod.isPaymentCompleted(p.parsed)
392
400
  );
393
- if (paymentsToProcess.length) {
394
- const lastSyncBankRefIds = account.lastSyncMetadata?.lastSyncBankRefIds || [];
395
- const paymentsToInsert = paymentsToProcess.filter(
396
- (p) => !lastSyncBankRefIds.includes(p.parsed.bankRefId)
397
- );
398
- await step.do(
399
- "process new payments and update lastSyncAt",
400
- async () => {
401
- const eventsToEmit = [];
402
- const bankRefIds = paymentsToInsert.map((p) => p.parsed.bankRefId).filter((id) => id != null);
403
- const matchingRequests = bankRefIds.length > 0 ? await db.select().from(ott_zod.tables.paymentRequest).where(
401
+ const lastSyncBankRefIds = account.lastSyncMetadata?.lastSyncBankRefIds || [];
402
+ const paymentsToInsert = paymentsToProcess.filter(
403
+ (p) => !lastSyncBankRefIds.includes(p.parsed.bankRefId)
404
+ );
405
+ await step.do(
406
+ "process new payments and update lastSyncAt",
407
+ async (ctx) => {
408
+ const eventsToEmit = [];
409
+ const bankRefIds = paymentsToInsert.map((p) => p.parsed.bankRefId).filter((id) => id != null);
410
+ const BANK_REF_ID_CHUNK_SIZE = 90;
411
+ const matchingRequests = [];
412
+ for (let i = 0; i < bankRefIds.length; i += BANK_REF_ID_CHUNK_SIZE) {
413
+ const chunkIds = bankRefIds.slice(i, i + BANK_REF_ID_CHUNK_SIZE);
414
+ const rows = await db.select().from(ott_zod.tables.paymentRequest).where(
404
415
  drizzleOrm.and(
405
- drizzleOrm.inArray(ott_zod.tables.paymentRequest.bankRefId, bankRefIds),
416
+ drizzleOrm.inArray(ott_zod.tables.paymentRequest.bankRefId, chunkIds),
406
417
  drizzleOrm.eq(ott_zod.tables.paymentRequest.accountId, account.id),
407
- drizzleOrm.eq(
408
- ott_zod.tables.paymentRequest.connectorKey,
409
- account.connectorKey
410
- )
418
+ drizzleOrm.eq(ott_zod.tables.paymentRequest.connectorKey, account.connectorKey)
411
419
  )
412
- ) : [];
413
- const requestByBankRefId = Object.fromEntries(
414
- matchingRequests.map((r) => [r.bankRefId, r])
415
420
  );
416
- const enrichedPayments = paymentsToInsert.map((p) => {
417
- const req = p.parsed.bankRefId && requestByBankRefId[p.parsed.bankRefId] || null;
418
- if (!req) return p;
419
- return {
420
- ...p,
421
- parsed: {
422
- ...p.parsed,
423
- // queue-bus: transaction matching (DBU doesn't echo these in statements)
424
- vs: p.parsed.vs ?? req.vs,
425
- ss: p.parsed.ss ?? req.ss,
426
- ks: p.parsed.ks ?? req.ks,
427
- message: p.parsed.message ?? req.message,
428
- // queue-bus: party creation
429
- creditor: {
430
- ...p.parsed.creditor,
431
- holderName: p.parsed.creditor?.holderName ?? req.creditor?.holderName
432
- },
433
- debtor: {
434
- ...p.parsed.debtor,
435
- holderName: p.parsed.debtor?.holderName ?? req.debtor?.holderName
436
- }
437
- // NOT enriched: chargeBearer, instructionPriority, refId, batchId,
438
- // createdAt, address, swiftBic — no downstream consumer in payment table
421
+ matchingRequests.push(...rows);
422
+ }
423
+ const requestByBankRefId = Object.fromEntries(
424
+ matchingRequests.map((r) => [r.bankRefId, r])
425
+ );
426
+ const enrichedPayments = paymentsToInsert.map((p) => {
427
+ const req = p.parsed.bankRefId && requestByBankRefId[p.parsed.bankRefId] || null;
428
+ if (!req) return p;
429
+ return {
430
+ ...p,
431
+ parsed: {
432
+ ...p.parsed,
433
+ // queue-bus: transaction matching (DBU doesn't echo these in statements)
434
+ vs: p.parsed.vs ?? req.vs,
435
+ ss: p.parsed.ss ?? req.ss,
436
+ ks: p.parsed.ks ?? req.ks,
437
+ message: p.parsed.message ?? req.message,
438
+ // queue-bus: party creation
439
+ creditor: {
440
+ ...p.parsed.creditor,
441
+ holderName: p.parsed.creditor?.holderName ?? req.creditor?.holderName
442
+ },
443
+ debtor: {
444
+ ...p.parsed.debtor,
445
+ holderName: p.parsed.debtor?.holderName ?? req.debtor?.holderName
439
446
  }
440
- };
441
- });
442
- const createCommands = enrichedPayments.map(
443
- (p) => credentialsResolver.createPaymentCommand(db, { payment: p.parsed }).command
447
+ // NOT enriched: chargeBearer, instructionPriority, refId, batchId,
448
+ // createdAt, address, swiftBic — no downstream consumer in payment table
449
+ }
450
+ };
451
+ });
452
+ const createCommands = enrichedPayments.map(
453
+ (p) => credentialsResolver.createPaymentCommand(db, { payment: p.parsed }).command
454
+ );
455
+ eventsToEmit.push(
456
+ ...enrichedPayments.map((p) => ({
457
+ eventType: "BANK_PAYMENT",
458
+ eventSignal: "paymentFetched",
459
+ bankPayment: p.parsed,
460
+ metadata: {
461
+ correlationId: p.parsed.correlationId,
462
+ entityId: p.parsed.id,
463
+ timestamp: /* @__PURE__ */ new Date()
464
+ }
465
+ }))
466
+ );
467
+ const lastSyncMetadata = {
468
+ payments: payments.length,
469
+ paymentsToProcess: paymentsToProcess.length,
470
+ paymentsInserted: paymentsToInsert.length,
471
+ lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "BOOKED").map((p) => p.parsed.bankRefId),
472
+ lastSyncPayments: lastSyncBankRefIds.length,
473
+ eventsEmitted: eventsToEmit.length,
474
+ iterationCount: getStepCount(ctx),
475
+ workflowStartedAt
476
+ };
477
+ const updateLastSyncCommand = updateAccountLastSyncCommand(db, {
478
+ accountId: account.id,
479
+ lastSyncAt: now,
480
+ lastSyncMetadata
481
+ }).command;
482
+ if (createCommands.length) {
483
+ await db.batch(
484
+ backendSdk.asNonEmpty([updateLastSyncCommand, ...createCommands])
444
485
  );
445
- eventsToEmit.push(
446
- ...enrichedPayments.map((p) => ({
447
- eventType: "BANK_PAYMENT",
448
- eventSignal: "paymentFetched",
449
- bankPayment: p.parsed,
450
- metadata: {
451
- correlationId: p.parsed.correlationId,
452
- entityId: p.parsed.id,
453
- timestamp: /* @__PURE__ */ new Date()
454
- }
455
- }))
486
+ } else {
487
+ await updateLastSyncCommand;
488
+ }
489
+ if (eventsToEmit.length) {
490
+ await pushToQueue(
491
+ this.env.QUEUE_BUS_QUEUE,
492
+ eventsToEmit
456
493
  );
457
- const lastSyncMetadata = {
458
- payments: payments.length,
459
- paymentsToProcess: paymentsToProcess.length,
460
- paymentsInserted: paymentsToInsert.length,
461
- lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "BOOKED").map((p) => p.parsed.bankRefId),
462
- lastSyncPayments: lastSyncBankRefIds.length,
463
- eventsEmitted: eventsToEmit.length
464
- };
465
- const updateLastSyncCommand = updateAccountLastSyncCommand(db, {
466
- accountId: account.id,
467
- lastSyncAt: now,
468
- lastSyncMetadata
469
- }).command;
470
- if (eventsToEmit.length) {
471
- await db.batch(
472
- backendSdk.asNonEmpty([updateLastSyncCommand, ...createCommands])
473
- );
474
- await pushToQueue(
475
- this.env.QUEUE_BUS_QUEUE,
476
- eventsToEmit
477
- );
478
- }
479
- return {
480
- ...lastSyncMetadata,
481
- newLastSyncAt: now
482
- };
483
494
  }
484
- );
485
- }
495
+ return {
496
+ ...lastSyncMetadata,
497
+ newLastSyncAt: now
498
+ };
499
+ }
500
+ );
486
501
  await step.sleep(
487
502
  "Sleep for next sync",
488
503
  `${account.syncIntervalS} seconds`
@@ -1,8 +1,8 @@
1
1
  import { first, uuidv4, asNonEmpty } from '@develit-io/backend-sdk';
2
- import { B as tables, G as relations, v as toBatchedPaymentFromPaymentRequest, z as toPreparedPayment, H as initiateConnector, m as isPaymentCompleted } from '../shared/bank.BxZARqNE.mjs';
2
+ import { B as tables, G as relations, v as toBatchedPaymentFromPaymentRequest, z as toPreparedPayment, H as initiateConnector, m as isPaymentCompleted } from '../shared/bank.CL02VO9K.mjs';
3
3
  import { i as isBatchAuthorized, b as isBatchFailed, d as isBatchProcessing } from '../shared/bank.XqSw509X.mjs';
4
4
  import { eq, and, inArray } from 'drizzle-orm';
5
- 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.BScD3GXI.mjs';
5
+ 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.qcrBpYcu.mjs';
6
6
  import { WorkflowEntrypoint } from 'cloudflare:workers';
7
7
  import { NonRetryableError } from 'cloudflare:workflows';
8
8
  import { drizzle } from 'drizzle-orm/d1';
@@ -303,6 +303,10 @@ function createWorkflowLogger(instanceId) {
303
303
  };
304
304
  }
305
305
 
306
+ function getStepCount(ctx) {
307
+ return ctx.step?.count ?? 0;
308
+ }
309
+
306
310
  async function pushToQueue(queue, message) {
307
311
  if (!Array.isArray(message)) {
308
312
  await queue.send(message, { contentType: "v8" });
@@ -323,6 +327,10 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
323
327
  if (!accountId) {
324
328
  throw new NonRetryableError(`Haven't obtained accountId to load.`);
325
329
  }
330
+ const workflowStartedAt = await step.do(
331
+ "capture workflow start time",
332
+ async () => Date.now()
333
+ );
326
334
  while (true) {
327
335
  const now = /* @__PURE__ */ new Date();
328
336
  const account = await step.do("load account", async () => {
@@ -388,99 +396,106 @@ class BankSyncAccountPayments extends WorkflowEntrypoint {
388
396
  const paymentsToProcess = payments.filter(
389
397
  (p) => isPaymentCompleted(p.parsed)
390
398
  );
391
- if (paymentsToProcess.length) {
392
- const lastSyncBankRefIds = account.lastSyncMetadata?.lastSyncBankRefIds || [];
393
- const paymentsToInsert = paymentsToProcess.filter(
394
- (p) => !lastSyncBankRefIds.includes(p.parsed.bankRefId)
395
- );
396
- await step.do(
397
- "process new payments and update lastSyncAt",
398
- async () => {
399
- const eventsToEmit = [];
400
- const bankRefIds = paymentsToInsert.map((p) => p.parsed.bankRefId).filter((id) => id != null);
401
- const matchingRequests = bankRefIds.length > 0 ? await db.select().from(tables.paymentRequest).where(
399
+ const lastSyncBankRefIds = account.lastSyncMetadata?.lastSyncBankRefIds || [];
400
+ const paymentsToInsert = paymentsToProcess.filter(
401
+ (p) => !lastSyncBankRefIds.includes(p.parsed.bankRefId)
402
+ );
403
+ await step.do(
404
+ "process new payments and update lastSyncAt",
405
+ async (ctx) => {
406
+ const eventsToEmit = [];
407
+ const bankRefIds = paymentsToInsert.map((p) => p.parsed.bankRefId).filter((id) => id != null);
408
+ const BANK_REF_ID_CHUNK_SIZE = 90;
409
+ const matchingRequests = [];
410
+ for (let i = 0; i < bankRefIds.length; i += BANK_REF_ID_CHUNK_SIZE) {
411
+ const chunkIds = bankRefIds.slice(i, i + BANK_REF_ID_CHUNK_SIZE);
412
+ const rows = await db.select().from(tables.paymentRequest).where(
402
413
  and(
403
- inArray(tables.paymentRequest.bankRefId, bankRefIds),
414
+ inArray(tables.paymentRequest.bankRefId, chunkIds),
404
415
  eq(tables.paymentRequest.accountId, account.id),
405
- eq(
406
- tables.paymentRequest.connectorKey,
407
- account.connectorKey
408
- )
416
+ eq(tables.paymentRequest.connectorKey, account.connectorKey)
409
417
  )
410
- ) : [];
411
- const requestByBankRefId = Object.fromEntries(
412
- matchingRequests.map((r) => [r.bankRefId, r])
413
418
  );
414
- const enrichedPayments = paymentsToInsert.map((p) => {
415
- const req = p.parsed.bankRefId && requestByBankRefId[p.parsed.bankRefId] || null;
416
- if (!req) return p;
417
- return {
418
- ...p,
419
- parsed: {
420
- ...p.parsed,
421
- // queue-bus: transaction matching (DBU doesn't echo these in statements)
422
- vs: p.parsed.vs ?? req.vs,
423
- ss: p.parsed.ss ?? req.ss,
424
- ks: p.parsed.ks ?? req.ks,
425
- message: p.parsed.message ?? req.message,
426
- // queue-bus: party creation
427
- creditor: {
428
- ...p.parsed.creditor,
429
- holderName: p.parsed.creditor?.holderName ?? req.creditor?.holderName
430
- },
431
- debtor: {
432
- ...p.parsed.debtor,
433
- holderName: p.parsed.debtor?.holderName ?? req.debtor?.holderName
434
- }
435
- // NOT enriched: chargeBearer, instructionPriority, refId, batchId,
436
- // createdAt, address, swiftBic — no downstream consumer in payment table
419
+ matchingRequests.push(...rows);
420
+ }
421
+ const requestByBankRefId = Object.fromEntries(
422
+ matchingRequests.map((r) => [r.bankRefId, r])
423
+ );
424
+ const enrichedPayments = paymentsToInsert.map((p) => {
425
+ const req = p.parsed.bankRefId && requestByBankRefId[p.parsed.bankRefId] || null;
426
+ if (!req) return p;
427
+ return {
428
+ ...p,
429
+ parsed: {
430
+ ...p.parsed,
431
+ // queue-bus: transaction matching (DBU doesn't echo these in statements)
432
+ vs: p.parsed.vs ?? req.vs,
433
+ ss: p.parsed.ss ?? req.ss,
434
+ ks: p.parsed.ks ?? req.ks,
435
+ message: p.parsed.message ?? req.message,
436
+ // queue-bus: party creation
437
+ creditor: {
438
+ ...p.parsed.creditor,
439
+ holderName: p.parsed.creditor?.holderName ?? req.creditor?.holderName
440
+ },
441
+ debtor: {
442
+ ...p.parsed.debtor,
443
+ holderName: p.parsed.debtor?.holderName ?? req.debtor?.holderName
437
444
  }
438
- };
439
- });
440
- const createCommands = enrichedPayments.map(
441
- (p) => createPaymentCommand(db, { payment: p.parsed }).command
445
+ // NOT enriched: chargeBearer, instructionPriority, refId, batchId,
446
+ // createdAt, address, swiftBic — no downstream consumer in payment table
447
+ }
448
+ };
449
+ });
450
+ const createCommands = enrichedPayments.map(
451
+ (p) => createPaymentCommand(db, { payment: p.parsed }).command
452
+ );
453
+ eventsToEmit.push(
454
+ ...enrichedPayments.map((p) => ({
455
+ eventType: "BANK_PAYMENT",
456
+ eventSignal: "paymentFetched",
457
+ bankPayment: p.parsed,
458
+ metadata: {
459
+ correlationId: p.parsed.correlationId,
460
+ entityId: p.parsed.id,
461
+ timestamp: /* @__PURE__ */ new Date()
462
+ }
463
+ }))
464
+ );
465
+ const lastSyncMetadata = {
466
+ payments: payments.length,
467
+ paymentsToProcess: paymentsToProcess.length,
468
+ paymentsInserted: paymentsToInsert.length,
469
+ lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "BOOKED").map((p) => p.parsed.bankRefId),
470
+ lastSyncPayments: lastSyncBankRefIds.length,
471
+ eventsEmitted: eventsToEmit.length,
472
+ iterationCount: getStepCount(ctx),
473
+ workflowStartedAt
474
+ };
475
+ const updateLastSyncCommand = updateAccountLastSyncCommand(db, {
476
+ accountId: account.id,
477
+ lastSyncAt: now,
478
+ lastSyncMetadata
479
+ }).command;
480
+ if (createCommands.length) {
481
+ await db.batch(
482
+ asNonEmpty([updateLastSyncCommand, ...createCommands])
442
483
  );
443
- eventsToEmit.push(
444
- ...enrichedPayments.map((p) => ({
445
- eventType: "BANK_PAYMENT",
446
- eventSignal: "paymentFetched",
447
- bankPayment: p.parsed,
448
- metadata: {
449
- correlationId: p.parsed.correlationId,
450
- entityId: p.parsed.id,
451
- timestamp: /* @__PURE__ */ new Date()
452
- }
453
- }))
484
+ } else {
485
+ await updateLastSyncCommand;
486
+ }
487
+ if (eventsToEmit.length) {
488
+ await pushToQueue(
489
+ this.env.QUEUE_BUS_QUEUE,
490
+ eventsToEmit
454
491
  );
455
- const lastSyncMetadata = {
456
- payments: payments.length,
457
- paymentsToProcess: paymentsToProcess.length,
458
- paymentsInserted: paymentsToInsert.length,
459
- lastSyncBankRefIds: paymentsToProcess.filter((p) => p.parsed.status === "BOOKED").map((p) => p.parsed.bankRefId),
460
- lastSyncPayments: lastSyncBankRefIds.length,
461
- eventsEmitted: eventsToEmit.length
462
- };
463
- const updateLastSyncCommand = updateAccountLastSyncCommand(db, {
464
- accountId: account.id,
465
- lastSyncAt: now,
466
- lastSyncMetadata
467
- }).command;
468
- if (eventsToEmit.length) {
469
- await db.batch(
470
- asNonEmpty([updateLastSyncCommand, ...createCommands])
471
- );
472
- await pushToQueue(
473
- this.env.QUEUE_BUS_QUEUE,
474
- eventsToEmit
475
- );
476
- }
477
- return {
478
- ...lastSyncMetadata,
479
- newLastSyncAt: now
480
- };
481
492
  }
482
- );
483
- }
493
+ return {
494
+ ...lastSyncMetadata,
495
+ newLastSyncAt: now
496
+ };
497
+ }
498
+ );
484
499
  await step.sleep(
485
500
  "Sleep for next sync",
486
501
  `${account.syncIntervalS} seconds`
@@ -1,4 +1,4 @@
1
- import { B as BankServiceWranglerConfig } from '../shared/bank.BydmpvCs.cjs';
1
+ import { B as BankServiceWranglerConfig } from '../shared/bank.Dq24vYU7.cjs';
2
2
 
3
3
  declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
4
4
  vars: {
@@ -15,6 +15,7 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
15
15
  DBUCS_APPLICATION_CODE: string;
16
16
  DBUCS_TX_AUTH_URI: string;
17
17
  REDIRECT_URI: string;
18
+ SYNC_WORKFLOW_RESET_AFTER_ITERATIONS: string;
18
19
  ENVIRONMENT: string;
19
20
  };
20
21
  services: {
@@ -1,4 +1,4 @@
1
- import { B as BankServiceWranglerConfig } from '../shared/bank.BydmpvCs.mjs';
1
+ import { B as BankServiceWranglerConfig } from '../shared/bank.Dq24vYU7.mjs';
2
2
 
3
3
  declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
4
4
  vars: {
@@ -15,6 +15,7 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
15
15
  DBUCS_APPLICATION_CODE: string;
16
16
  DBUCS_TX_AUTH_URI: string;
17
17
  REDIRECT_URI: string;
18
+ SYNC_WORKFLOW_RESET_AFTER_ITERATIONS: string;
18
19
  ENVIRONMENT: string;
19
20
  };
20
21
  services: {
@@ -1,4 +1,4 @@
1
- import { B as BankServiceWranglerConfig } from '../shared/bank.BydmpvCs.js';
1
+ import { B as BankServiceWranglerConfig } from '../shared/bank.Dq24vYU7.js';
2
2
 
3
3
  declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
4
4
  vars: {
@@ -15,6 +15,7 @@ declare function defineBankServiceWrangler(config: BankServiceWranglerConfig): {
15
15
  DBUCS_APPLICATION_CODE: string;
16
16
  DBUCS_TX_AUTH_URI: string;
17
17
  REDIRECT_URI: string;
18
+ SYNC_WORKFLOW_RESET_AFTER_ITERATIONS: string;
18
19
  ENVIRONMENT: string;
19
20
  };
20
21
  services: {
@@ -28,6 +28,8 @@ interface LastSyncMetadata {
28
28
  lastSyncPayments: number;
29
29
  lastSyncBankRefIds: string[];
30
30
  eventsEmitted: number;
31
+ iterationCount?: number;
32
+ workflowStartedAt?: number;
31
33
  }
32
34
  type ConnectorConfig = Record<string, string | number | boolean | null>;
33
35
 
@@ -2125,7 +2127,7 @@ declare const batch: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2125
2127
  name: string;
2126
2128
  tableName: "batch";
2127
2129
  dataType: "string enum";
2128
- data: "AUTHORIZED" | "COMPLETED" | "PROCESSING" | "READY_TO_SIGN" | "FAILED";
2130
+ data: "AUTHORIZED" | "PROCESSING" | "READY_TO_SIGN" | "COMPLETED" | "FAILED";
2129
2131
  driverParam: string;
2130
2132
  notNull: false;
2131
2133
  hasDefault: false;
@@ -2396,7 +2398,7 @@ declare const payment: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2396
2398
  name: string;
2397
2399
  tableName: "payment";
2398
2400
  dataType: "string enum";
2399
- data: "BOOKED" | "REJECTED" | "PENDING" | "PROCESSING" | "CANCELLED" | "SCHEDULED" | "HOLD" | "INFO";
2401
+ data: "PROCESSING" | "PENDING" | "BOOKED" | "CANCELLED" | "REJECTED" | "SCHEDULED" | "HOLD" | "INFO";
2400
2402
  driverParam: string;
2401
2403
  notNull: true;
2402
2404
  hasDefault: false;
@@ -2795,7 +2797,7 @@ declare const paymentRequest: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2795
2797
  name: string;
2796
2798
  tableName: "payment_request";
2797
2799
  dataType: "string enum";
2798
- data: "AUTHORIZED" | "OPENED" | "COMPLETED" | "BOOKED" | "SETTLED" | "REJECTED" | "CLOSED";
2800
+ data: "AUTHORIZED" | "COMPLETED" | "BOOKED" | "REJECTED" | "OPENED" | "SETTLED" | "CLOSED";
2799
2801
  driverParam: string;
2800
2802
  notNull: true;
2801
2803
  hasDefault: false;
@@ -28,6 +28,8 @@ interface LastSyncMetadata {
28
28
  lastSyncPayments: number;
29
29
  lastSyncBankRefIds: string[];
30
30
  eventsEmitted: number;
31
+ iterationCount?: number;
32
+ workflowStartedAt?: number;
31
33
  }
32
34
  type ConnectorConfig = Record<string, string | number | boolean | null>;
33
35
 
@@ -2125,7 +2127,7 @@ declare const batch: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2125
2127
  name: string;
2126
2128
  tableName: "batch";
2127
2129
  dataType: "string enum";
2128
- data: "AUTHORIZED" | "COMPLETED" | "PROCESSING" | "READY_TO_SIGN" | "FAILED";
2130
+ data: "AUTHORIZED" | "PROCESSING" | "READY_TO_SIGN" | "COMPLETED" | "FAILED";
2129
2131
  driverParam: string;
2130
2132
  notNull: false;
2131
2133
  hasDefault: false;
@@ -2396,7 +2398,7 @@ declare const payment: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2396
2398
  name: string;
2397
2399
  tableName: "payment";
2398
2400
  dataType: "string enum";
2399
- data: "BOOKED" | "REJECTED" | "PENDING" | "PROCESSING" | "CANCELLED" | "SCHEDULED" | "HOLD" | "INFO";
2401
+ data: "PROCESSING" | "PENDING" | "BOOKED" | "CANCELLED" | "REJECTED" | "SCHEDULED" | "HOLD" | "INFO";
2400
2402
  driverParam: string;
2401
2403
  notNull: true;
2402
2404
  hasDefault: false;
@@ -2795,7 +2797,7 @@ declare const paymentRequest: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2795
2797
  name: string;
2796
2798
  tableName: "payment_request";
2797
2799
  dataType: "string enum";
2798
- data: "AUTHORIZED" | "OPENED" | "COMPLETED" | "BOOKED" | "SETTLED" | "REJECTED" | "CLOSED";
2800
+ data: "AUTHORIZED" | "COMPLETED" | "BOOKED" | "REJECTED" | "OPENED" | "SETTLED" | "CLOSED";
2799
2801
  driverParam: string;
2800
2802
  notNull: true;
2801
2803
  hasDefault: false;
@@ -28,6 +28,8 @@ interface LastSyncMetadata {
28
28
  lastSyncPayments: number;
29
29
  lastSyncBankRefIds: string[];
30
30
  eventsEmitted: number;
31
+ iterationCount?: number;
32
+ workflowStartedAt?: number;
31
33
  }
32
34
  type ConnectorConfig = Record<string, string | number | boolean | null>;
33
35
 
@@ -2125,7 +2127,7 @@ declare const batch: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2125
2127
  name: string;
2126
2128
  tableName: "batch";
2127
2129
  dataType: "string enum";
2128
- data: "AUTHORIZED" | "COMPLETED" | "PROCESSING" | "READY_TO_SIGN" | "FAILED";
2130
+ data: "AUTHORIZED" | "PROCESSING" | "READY_TO_SIGN" | "COMPLETED" | "FAILED";
2129
2131
  driverParam: string;
2130
2132
  notNull: false;
2131
2133
  hasDefault: false;
@@ -2396,7 +2398,7 @@ declare const payment: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2396
2398
  name: string;
2397
2399
  tableName: "payment";
2398
2400
  dataType: "string enum";
2399
- data: "BOOKED" | "REJECTED" | "PENDING" | "PROCESSING" | "CANCELLED" | "SCHEDULED" | "HOLD" | "INFO";
2401
+ data: "PROCESSING" | "PENDING" | "BOOKED" | "CANCELLED" | "REJECTED" | "SCHEDULED" | "HOLD" | "INFO";
2400
2402
  driverParam: string;
2401
2403
  notNull: true;
2402
2404
  hasDefault: false;
@@ -2795,7 +2797,7 @@ declare const paymentRequest: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
2795
2797
  name: string;
2796
2798
  tableName: "payment_request";
2797
2799
  dataType: "string enum";
2798
- data: "AUTHORIZED" | "OPENED" | "COMPLETED" | "BOOKED" | "SETTLED" | "REJECTED" | "CLOSED";
2800
+ data: "AUTHORIZED" | "COMPLETED" | "BOOKED" | "REJECTED" | "OPENED" | "SETTLED" | "CLOSED";
2799
2801
  driverParam: string;
2800
2802
  notNull: true;
2801
2803
  hasDefault: false;