@festapp/banksync 0.2.1 → 0.2.2

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.
package/README.md CHANGED
@@ -279,3 +279,5 @@ Publishing this package does not deploy the shared Worker, mutate D1, enable ban
279
279
  polling, or authorize replay of another consumer's history.
280
280
 
281
281
  Canonical v2 transactions preserve bank-provided VS and payer reference without inferring an order identifier. Each consumer (Festapp, Mendelio, or another application) owns payment matching and business rules. The existing v1 RF-to-VS projection remains only as an explicit backwards-compatible adapter.
282
+
283
+ Successful schema 11 Fio imports immediately sweep the canonical webhook outbox into the delivery queue, including retryable dispatch failures from earlier imports. Periodic reconciliation remains recovery; consumers do not wait for its next tick in the normal path.
@@ -2962,8 +2962,8 @@ async function runBankApiSync(env, account) {
2962
2962
  const schema = await env.DB.prepare("SELECT value FROM schema_meta WHERE key='version'").first();
2963
2963
  if (_optionalChain([schema, 'optionalAccess', _75 => _75.value]) === "11") {
2964
2964
  const result = await recoverBankAccount(env.DB, account, env, fioProxyConfig(env));
2965
- await ensureDeliveryJobs(env.DB);
2966
- return { bank_account_id: account.id, provider: account.account_type, inserted: result.inserted, skipped_duplicate: result.skipped, skipped_outgoing: 0, parse_errors: 0, queued_webhooks: 0, backfill: isBackfill, deferred: false };
2965
+ const delivery = await createWebhookDeliveryCoordinator(env).sweep();
2966
+ return { bank_account_id: account.id, provider: account.account_type, inserted: result.inserted, skipped_duplicate: result.skipped, skipped_outgoing: 0, parse_errors: 0, queued_webhooks: delivery.queued, backfill: isBackfill, deferred: false };
2967
2967
  }
2968
2968
  const token = await decryptSecret(account.api_token_cipher, account.api_token_key_ver, env);
2969
2969
  if (isBackfill && account.api_last_success_at === null) {
@@ -2962,8 +2962,8 @@ async function runBankApiSync(env, account) {
2962
2962
  const schema = await env.DB.prepare("SELECT value FROM schema_meta WHERE key='version'").first();
2963
2963
  if (schema?.value === "11") {
2964
2964
  const result = await recoverBankAccount(env.DB, account, env, fioProxyConfig(env));
2965
- await ensureDeliveryJobs(env.DB);
2966
- return { bank_account_id: account.id, provider: account.account_type, inserted: result.inserted, skipped_duplicate: result.skipped, skipped_outgoing: 0, parse_errors: 0, queued_webhooks: 0, backfill: isBackfill, deferred: false };
2965
+ const delivery = await createWebhookDeliveryCoordinator(env).sweep();
2966
+ return { bank_account_id: account.id, provider: account.account_type, inserted: result.inserted, skipped_duplicate: result.skipped, skipped_outgoing: 0, parse_errors: 0, queued_webhooks: delivery.queued, backfill: isBackfill, deferred: false };
2967
2967
  }
2968
2968
  const token = await decryptSecret(account.api_token_cipher, account.api_token_key_ver, env);
2969
2969
  if (isBackfill && account.api_last_success_at === null) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@festapp/banksync",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Bank transaction ingestion for Cloudflare Workers: Czech bank email and Fio API parsing, durable deduplication, and signed webhook delivery.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@11.24.0",