@fantastic.dev/better-stripe 0.28.0 → 0.28.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/CHANGELOG.md +6 -0
  2. package/MIGRATION.md +7 -0
  3. package/README.md +1 -1
  4. package/dist/component/affiliatePayouts/queries.d.ts.map +1 -1
  5. package/dist/component/affiliatePayouts/queries.js +3 -1
  6. package/dist/component/affiliatePayouts/queries.js.map +1 -1
  7. package/dist/component/costRecovery/queries.d.ts.map +1 -1
  8. package/dist/component/costRecovery/queries.js +3 -1
  9. package/dist/component/costRecovery/queries.js.map +1 -1
  10. package/dist/component/payoutPolicy/queries.d.ts.map +1 -1
  11. package/dist/component/payoutPolicy/queries.js +3 -1
  12. package/dist/component/payoutPolicy/queries.js.map +1 -1
  13. package/dist/component/payoutSnapshots/mutations.d.ts.map +1 -1
  14. package/dist/component/payoutSnapshots/mutations.js +6 -4
  15. package/dist/component/payoutSnapshots/mutations.js.map +1 -1
  16. package/dist/component/payoutWorker/queries.d.ts.map +1 -1
  17. package/dist/component/payoutWorker/queries.js +5 -3
  18. package/dist/component/payoutWorker/queries.js.map +1 -1
  19. package/dist/testing/component-db.d.ts +3 -0
  20. package/dist/testing/component-db.d.ts.map +1 -0
  21. package/dist/testing/component-db.js +26 -0
  22. package/dist/testing/component-db.js.map +1 -0
  23. package/docs/settlement.md +10 -0
  24. package/package.json +1 -1
  25. package/src/component/affiliate-component-pagination.test.ts +1 -25
  26. package/src/component/affiliatePayouts/queries.ts +3 -1
  27. package/src/component/costRecovery/queries.ts +3 -1
  28. package/src/component/payout-component-pagination.test.ts +212 -0
  29. package/src/component/payoutPolicy/queries.ts +3 -1
  30. package/src/component/payoutSnapshots/mutations.ts +6 -4
  31. package/src/component/payoutWorker/queries.ts +5 -3
  32. package/src/testing/component-db.ts +24 -0
package/CHANGELOG.md CHANGED
@@ -26,6 +26,12 @@
26
26
  - Remove internal tracker references from public documentation and add a
27
27
  regression check that prevents their reintroduction.
28
28
 
29
+ ## [0.28.1](https://github.com/FantasticDevHQ/better-stripe/compare/v0.28.0...v0.28.1) (2026-10-15)
30
+
31
+ ### Bug Fixes
32
+
33
+ - **payouts:** repair scheduled scans and preserve safe reset ([#210](https://github.com/FantasticDevHQ/better-stripe/issues/210)) ([5869570](https://github.com/FantasticDevHQ/better-stripe/commit/586957006690ae7e63efd57db82bcd6859d29a5e))
34
+
29
35
  ## [0.28.0](https://github.com/FantasticDevHQ/better-stripe/compare/v0.27.0...v0.28.0) (2026-10-15)
30
36
 
31
37
  ### Features
package/MIGRATION.md CHANGED
@@ -19,6 +19,13 @@ fields as unavailable rather than zero. No table migration is required.
19
19
 
20
20
  ## Package and runtime
21
21
 
22
+ Payout worker discovery, expiry, local snapshot collection, pending affiliate
23
+ payouts and seller cost history now use component-compatible pagination. The
24
+ page result shape is unchanged. Clear cached pagination cursors and reload from
25
+ null after upgrading these readers. Component bindings must be regenerated and
26
+ the component deployed; no table migration or schedule change is required.
27
+ See [collection restart safeguards](docs/settlement.md#resumable-local-collections).
28
+
22
29
  Install `@fantastic.dev/better-stripe@0.5.0`. The old
23
30
  `@getdojo/better-stripe` name is deprecated. Replace imports and the component
24
31
  config import with the new name, retaining your existing component instance
package/README.md CHANGED
@@ -70,7 +70,7 @@ claim execution are completed.
70
70
 
71
71
  ## Status
72
72
 
73
- **Version**: `0.28.0` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
73
+ **Version**: `0.28.1` <!-- x-release-please-version --> (pre-1.0). API may change between minor versions until 1.0.
74
74
 
75
75
  Used in production by its authors. Webhook pipeline is covered by unit tests and a live E2E harness (`npm run e2e:webhooks`) that fires real Stripe-signed events and asserts the ledger.
76
76
 
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/affiliatePayouts/queries.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;IAoBzB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/affiliatePayouts/queries.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;IAoBzB,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator, paginationResultValidator, } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -12,7 +14,7 @@ export const pendingPayouts = query({
12
14
  _id: v.id("affiliatePayoutReleases"),
13
15
  _creationTime: v.number(),
14
16
  })),
15
- handler: (ctx, args) => ctx.db
17
+ handler: (ctx, args) => paginator(ctx.db, schema)
16
18
  .query("affiliatePayoutReleases")
17
19
  .withIndex("by_state", (q) => q.eq("state", args.state))
18
20
  .paginate({
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/affiliatePayouts/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;IAClC,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,cAAc,EAAE,uBAAuB;KACxC;IACD,OAAO,EAAE,yBAAyB,CAChC,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,mBAAmB;QACtB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC;QACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B,CAAC,CACH;IACD,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACrB,GAAG,CAAC,EAAE;SACH,KAAK,CAAC,yBAAyB,CAAC;SAChC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACvD,QAAQ,CAAC;QACR,GAAG,IAAI,CAAC,cAAc;QACtB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;KACrD,CAAC;CACP,CAAC,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/affiliatePayouts/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;IAClC,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,cAAc,EAAE,uBAAuB;KACxC;IACD,OAAO,EAAE,yBAAyB,CAChC,CAAC,CAAC,MAAM,CAAC;QACP,GAAG,mBAAmB;QACtB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,yBAAyB,CAAC;QACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;KAC1B,CAAC,CACH;IACD,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACrB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC;SACtB,KAAK,CAAC,yBAAyB,CAAC;SAChC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACvD,QAAQ,CAAC;QACR,GAAG,IAAI,CAAC,cAAc;QACtB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;KACrD,CAAC;CACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/costRecovery/queries.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,OAAO;;;;;;;;;;;;;GAiBlB,CAAC;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BrB,CAAC;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;UAQhB,CAAC;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;UAQtB,CAAC;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;UAQhB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/costRecovery/queries.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,OAAO;;;;;;;;;;;;;GAiBlB,CAAC;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BrB,CAAC;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;UAQhB,CAAC;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;UAQtB,CAAC;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;UAQhB,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -31,7 +33,7 @@ export const listClaims = query({
31
33
  handler: async (ctx, args) => {
32
34
  validateScope(args);
33
35
  batchLimit(args.paginationOpts.numItems);
34
- const result = await ctx.db
36
+ const result = await paginator(ctx.db, schema)
35
37
  .query("recoveryClaims")
36
38
  .withIndex("by_scope", (q) => q
37
39
  .eq("accountId", args.accountId)
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/costRecovery/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/costRecovery/queries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/payoutPolicy/queries.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;UAId,CAAC;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgBpB,CAAC;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4Bd,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/payoutPolicy/queries.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;UAId,CAAC;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAgBpB,CAAC;AACH,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4Bd,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -37,7 +39,7 @@ export const due = query({
37
39
  args.paginationOpts.numItems < 1 ||
38
40
  args.paginationOpts.numItems > 100)
39
41
  throw new Error("Invalid payout policy due page.");
40
- const page = await ctx.db
42
+ const page = await paginator(ctx.db, schema)
41
43
  .query("payoutPolicies")
42
44
  .withIndex("by_deadline", (q) => q.gt("holdDeadline", 0).lte("holdDeadline", args.now))
43
45
  .paginate(args.paginationOpts);
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/payoutPolicy/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/payoutPolicy/queries.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/payoutSnapshots/mutations.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDhB,CAAC;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiKlB,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2ClB,CAAC"}
1
+ {"version":3,"file":"mutations.d.ts","sourceRoot":"","sources":["../../../src/component/payoutSnapshots/mutations.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDhB,CAAC;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiKlB,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2ClB,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { v } from "convex/values";
2
4
  import { mutation } from "../earnings/triggers.js";
3
5
  import { readPolicy } from "../payoutPolicy/helpers.js";
@@ -108,7 +110,7 @@ export const advance = mutation({
108
110
  const patch = { step: h.step + 1 };
109
111
  try {
110
112
  if (h.phase === "sources") {
111
- const page = await ctx.db
113
+ const page = await paginator(ctx.db, schema)
112
114
  .query("transfers")
113
115
  .withIndex("by_destination_account_id", (q) => q
114
116
  .eq("destinationAccountId", h.accountId)
@@ -120,7 +122,7 @@ export const advance = mutation({
120
122
  patch.phase = page.isDone ? "allocations" : "sources";
121
123
  }
122
124
  else if (h.phase === "allocations") {
123
- const page = await ctx.db
125
+ const page = await paginator(ctx.db, schema)
124
126
  .query("payoutSourceAllocations")
125
127
  .withIndex("by_account", (q) => q.eq("accountId", h.accountId))
126
128
  .paginate({ cursor: h.allocationCursor ?? null, numItems: batch });
@@ -130,7 +132,7 @@ export const advance = mutation({
130
132
  patch.phase = page.isDone ? "fees" : "allocations";
131
133
  }
132
134
  else if (h.phase === "fees") {
133
- const page = await ctx.db
135
+ const page = await paginator(ctx.db, schema)
134
136
  .query("payoutFeeBalances")
135
137
  .withIndex("by_account_currency", (q) => q.eq("accountId", h.accountId))
136
138
  .paginate({ cursor: h.feeCursor ?? null, numItems: batch });
@@ -140,7 +142,7 @@ export const advance = mutation({
140
142
  patch.phase = page.isDone ? "claims" : "fees";
141
143
  }
142
144
  else if (h.phase === "claims") {
143
- const page = await ctx.db
145
+ const page = await paginator(ctx.db, schema)
144
146
  .query("payoutReleaseClaims")
145
147
  .withIndex("by_account_status", (q) => q.eq("accountId", h.accountId))
146
148
  .paginate({ cursor: h.claimCursor ?? null, numItems: batch });
@@ -1 +1 @@
1
- {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutSnapshots/mutations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,aAAa,EACb,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,GAGhB,MAAM,iBAAiB,CAAC;AACzB,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC;IAC5B,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE;IACnD,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAE1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC,gBAAgB;gBAChD,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;YACJ,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,gBAAgB;YACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;aACxB,KAAK,CAAC,WAAW,CAAC;aAClB,SAAS,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,CAC7C;aACA,KAAK,CAAC,MAAM,CAAC;aACb,KAAK,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAChD,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,MAAM,EAAE,IAAI;YACxB,kBAAkB,EAAE,MAAM,EAAE,YAAY;YACxC,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC;YACvC,eAAe,EAAE,QAAQ,CAAC,QAAQ;YAClC,mBAAmB,EAAE,QAAQ,CAAC,YAAY;YAC1C,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,uBAAuB,EAAE,KAAK;YAC9B,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ;SACjC,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAE,CAAC;IACpD,CAAC;CACF,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE;QACJ,GAAG,QAAQ;QACX,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAClC;IACD,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,KAAK,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC;QACvC,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,CAAC;YACrB,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY;YAE1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE;YACrD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,IAAI,CAAC,CAAC,KAAK,KAAK,aAAa;YAAE,OAAO,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;YAC1C,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAE,CAAC,GAAG,EAAE;gBAC5C,KAAK,EAAE,aAAa;gBACpB,MAAM;gBACN,IAAI,EAAE,CAAE,CAAC,IAAI,GAAG,CAAC;aAClB,CAAC,CAAC;YACH,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAE,CAAC,GAAG,CAAC,CAAE,CAAC;QACxD,CAAC,CAAC;QACF,IACE,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB;YAC/C,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,UAAU;YAC7B,MAAM,EAAE,YAAY,KAAK,CAAC,CAAC,kBAAkB;YAE7C,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;YAC9B,IAAI,WAAW,KAAK,CAAC,CAAC,YAAY;gBAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAW;YACrB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;QACF,MAAM,KAAK,GAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;qBACtB,KAAK,CAAC,WAAW,CAAC;qBAClB,SAAS,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,CAC5C,CAAC;qBACE,EAAE,CAAC,sBAAsB,EAAE,CAAE,CAAC,SAAS,CAAC;qBACxC,GAAG,CAAC,eAAe,EAAE,CAAE,CAAC,WAAW,CAAC,CACxC;qBACA,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;oBACzB,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAC/D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC;gBACzC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;gBACrC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;qBACtB,KAAK,CAAC,yBAAyB,CAAC;qBAChC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAE,CAAC,SAAS,CAAC,CAAC;qBAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,gBAAgB,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;oBACzB,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC1D,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC;gBAC7C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;YACrD,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;qBACtB,KAAK,CAAC,mBAAmB,CAAC;qBAC1B,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAE,CAAC,SAAS,CAAC,CAChC;qBACA,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;oBACzB,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;gBACtC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAChD,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;qBACtB,KAAK,CAAC,qBAAqB,CAAC;qBAC5B,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAE,CAAC,SAAS,CAAC,CAChC;qBACA,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI;oBACzB,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACrD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;gBACxC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClD,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;qBACxB,KAAK,CAAC,kBAAkB,CAAC;qBACzB,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,EAAE,CACtC,CAAC;qBACE,EAAE,CAAC,WAAW,EAAE,CAAE,CAAC,SAAS,CAAC;qBAC7B,EAAE,CAAC,cAAc,EAAE,CAAE,CAAC,YAAY,CAAC;qBACnC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CACpC;qBACA,IAAI,CAAC,KAAK,CAAC,CAAC;gBACf,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;gBAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,GAAG,CAAC;wBACjC,MAAM,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;oBACvD,IAAI,KAAK,CAAC,OAAO;wBAAE,MAAM,IAAI,eAAe,CAAC,GAAG,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC;oBACtE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;wBAC1D,MAAM,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;yBAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;wBAC7B,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;yBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;wBAC3B,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;;wBACvC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;oBAClC,IAAI,GAAG,KAAK,CAAC,YAAY,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,KAAK,WAAW;oBACxC,MAAM,IAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;gBACvD,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC1B,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC1D,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBAC/B,IAAI,WAAW,KAAK,CAAC,CAAC,YAAY;oBAAE,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;qBACtD,CAAC;oBACJ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;yBACzB,KAAK,CAAC,uBAAuB,CAAC;yBAC9B,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CACpC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAClD;yBACA,IAAI,CAAC,KAAK,CAAC,CAAC;oBACf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,IACE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,UAAU;4BAC/B,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,cAAc;4BAEvC,MAAM,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC;wBAC1D,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,EAAE;4BACjD,UAAU,EAAE,KAAK;yBAClB,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;wBACpB,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;wBAC5B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;wBAC3D,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC;wBAC3C,KAAK,CAAC,uBAAuB;4BAC3B,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,eAAe;gCACrC,WAAW,GAAG,CAAC,CAAC,mBAAmB,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe;gBAAE,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtE,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;IACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;YACtD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,EAAE;aACzB,KAAK,CAAC,uBAAuB,CAAC;aAC9B,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1D,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE;aACxB,KAAK,CAAC,sBAAsB,CAAC;aAC7B,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1D,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE;aACtB,KAAK,CAAC,oBAAoB,CAAC;aAC3B,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aAC1D,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtD,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO;YACrB,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACtD,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,MAAM,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE;YAC3C,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;YAChB,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YACxD,eAAe,EAAE,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,CAAC,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CACtE;YACD,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YACrD,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;SAChD,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;IACvD,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"mutations.js","sourceRoot":"","sources":["../../../src/component/payoutSnapshots/mutations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/payoutWorker/queries.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;UAId,CAAC;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBnB,CAAC;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAenB,CAAC;AACH,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBrB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/component/payoutWorker/queries.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;UAId,CAAC;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBnB,CAAC;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAenB,CAAC;AACH,sFAAsF;AACtF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBrB,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -18,7 +20,7 @@ export const policies = query({
18
20
  }),
19
21
  handler: async (ctx, args) => {
20
22
  pageSize(args.paginationOpts.numItems);
21
- const p = await ctx.db
23
+ const p = await paginator(ctx.db, schema)
22
24
  .query("payoutPolicies")
23
25
  .withIndex("by_mode_status", (q) => q.eq("mode", "custom").eq("status", "ready"))
24
26
  .paginate(args.paginationOpts);
@@ -34,7 +36,7 @@ export const changing = query({
34
36
  }),
35
37
  handler: async (ctx, args) => {
36
38
  pageSize(args.paginationOpts.numItems);
37
- const p = await ctx.db
39
+ const p = await paginator(ctx.db, schema)
38
40
  .query("payoutPolicies")
39
41
  .withIndex("by_status", (q) => q.eq("status", "changing"))
40
42
  .paginate(args.paginationOpts);
@@ -51,7 +53,7 @@ export const recovering = query({
51
53
  }),
52
54
  handler: async (ctx, args) => {
53
55
  pageSize(args.paginationOpts.numItems);
54
- const p = await ctx.db
56
+ const p = await paginator(ctx.db, schema)
55
57
  .query("payoutWorkerJobs")
56
58
  .withIndex("by_operation_pending", (q) => q.eq("hasOperation", true).lte("nextAttemptAt", Date.now()))
57
59
  .paginate(args.paginationOpts);
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/payoutWorker/queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/component/payoutWorker/queries.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Model the deployed component boundary that convex-test does not enforce. */
2
+ export declare function componentDb<T extends object>(db: T): T;
3
+ //# sourceMappingURL=component-db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-db.d.ts","sourceRoot":"","sources":["../../src/testing/component-db.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAsBtD"}
@@ -0,0 +1,26 @@
1
+ /** Model the deployed component boundary that convex-test does not enforce. */
2
+ export function componentDb(db) {
3
+ function wrap(value) {
4
+ return new Proxy(value, {
5
+ get(target, key) {
6
+ if (key === "paginate")
7
+ return () => {
8
+ throw new Error("paginate() is only supported in the app");
9
+ };
10
+ const member = Reflect.get(target, key);
11
+ if (typeof member !== "function")
12
+ return member;
13
+ return (...args) => {
14
+ const result = member.apply(target, args);
15
+ return result &&
16
+ typeof result === "object" &&
17
+ !(result instanceof Promise)
18
+ ? wrap(result)
19
+ : result;
20
+ };
21
+ },
22
+ });
23
+ }
24
+ return wrap(db);
25
+ }
26
+ //# sourceMappingURL=component-db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-db.js","sourceRoot":"","sources":["../../src/testing/component-db.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,UAAU,WAAW,CAAmB,EAAK;IACjD,SAAS,IAAI,CAAwB,KAAa;QAChD,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE;YACtB,GAAG,CAAC,MAAM,EAAE,GAAG;gBACb,IAAI,GAAG,KAAK,UAAU;oBACpB,OAAO,GAAG,EAAE;wBACV,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;oBAC7D,CAAC,CAAC;gBACJ,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACxC,IAAI,OAAO,MAAM,KAAK,UAAU;oBAAE,OAAO,MAAM,CAAC;gBAChD,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE;oBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC1C,OAAO,MAAM;wBACX,OAAO,MAAM,KAAK,QAAQ;wBAC1B,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;wBAC5B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;wBACd,CAAC,CAAC,MAAM,CAAC;gBACb,CAAC,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -689,6 +689,16 @@ provider-history continuation on larger accounts.
689
689
 
690
690
  ## Resumable local collections
691
691
 
692
+ Worker discovery, policy expiry, pending affiliate reconciliation, seller cost
693
+ history and local collection pages use the component-compatible paginator from
694
+ `convex-helpers`. Convex's native database `.paginate()` is unavailable inside
695
+ components. The public page shape remains `page`, `continueCursor` and `isDone`.
696
+ Treat cursors as opaque and restart cached pages at a null cursor when upgrading
697
+ these readers. Use the package's discard operation for an obsolete read-only
698
+ collection; never erase financially bound or unresolved payout state to restart
699
+ a scan. This change preserves the existing source/history limits and does not
700
+ make larger provider-history qualification complete.
701
+
692
702
  An authorized host worker can collect the local recipient ledger in bounded
693
703
  steps, retaining its cursor and step number across restarts:
694
704
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fantastic.dev/better-stripe",
3
- "version": "0.28.0",
3
+ "version": "0.28.1",
4
4
  "description": "A Convex component for Stripe V2 Accounts API integration.",
5
5
  "keywords": [
6
6
  "stripe",
@@ -1,5 +1,6 @@
1
1
  // @vitest-environment edge-runtime
2
2
  import { convexTest } from "convex-test";
3
+ import { componentDb } from "../testing/component-db.js";
3
4
  import { expect, it } from "vitest";
4
5
  import type {
5
6
  RegisteredQuery,
@@ -25,31 +26,6 @@ function handler<Args extends DefaultFunctionArgs, Result>(
25
26
  )._handler;
26
27
  }
27
28
 
28
- // convex-test supports native pagination even though deployed components do not.
29
- // Make that runtime restriction explicit while exercising real indexed reads.
30
- function componentDb<T extends object>(db: T): T {
31
- function wrap<TValue extends object>(value: TValue): TValue {
32
- return new Proxy(value, {
33
- get(target, key) {
34
- if (key === "paginate")
35
- return () => {
36
- throw new Error("paginate() is only supported in the app");
37
- };
38
- const member = Reflect.get(target, key);
39
- if (typeof member !== "function") return member;
40
- return (...args: unknown[]) => {
41
- const result = member.apply(target, args);
42
- return result &&
43
- typeof result === "object" &&
44
- !(result instanceof Promise)
45
- ? wrap(result)
46
- : result;
47
- };
48
- },
49
- });
50
- }
51
- return wrap(db);
52
- }
53
29
  it("reads recovery pages and migrates inside the deployed component pagination boundary", async () => {
54
30
  const t = convexTest(schema, import.meta.glob("./**/*.*s"));
55
31
  await t.run(async (ctx) => {
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import {
2
4
  paginationOptsValidator,
3
5
  paginationResultValidator,
@@ -18,7 +20,7 @@ export const pendingPayouts = query({
18
20
  }),
19
21
  ),
20
22
  handler: (ctx, args) =>
21
- ctx.db
23
+ paginator(ctx.db, schema)
22
24
  .query("affiliatePayoutReleases")
23
25
  .withIndex("by_state", (q) => q.eq("state", args.state))
24
26
  .paginate({
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -42,7 +44,7 @@ export const listClaims = query({
42
44
  handler: async (ctx, args) => {
43
45
  validateScope(args);
44
46
  batchLimit(args.paginationOpts.numItems);
45
- const result = await ctx.db
47
+ const result = await paginator(ctx.db, schema)
46
48
  .query("recoveryClaims")
47
49
  .withIndex("by_scope", (q) =>
48
50
  q
@@ -0,0 +1,212 @@
1
+ // @vitest-environment edge-runtime
2
+ import { convexTest } from "convex-test";
3
+ import { expect, it } from "vitest";
4
+ import type {
5
+ DefaultFunctionArgs,
6
+ RegisteredQuery,
7
+ RegisteredMutation,
8
+ } from "convex/server";
9
+ import type { MutationCtx } from "./_generated/server.js";
10
+ import { componentDb } from "../testing/component-db.js";
11
+ import schema from "./schema.js";
12
+ import { policies, changing, recovering } from "./payoutWorker/queries.js";
13
+ import { due } from "./payoutPolicy/queries.js";
14
+ import { pendingPayouts } from "./affiliatePayouts/queries.js";
15
+ import { listClaims } from "./costRecovery/queries.js";
16
+ import { begin, advance } from "./payoutSnapshots/mutations.js";
17
+ const modules = import.meta.glob("./**/*.*s");
18
+ function handler<Args extends DefaultFunctionArgs, Result>(
19
+ fn:
20
+ | RegisteredQuery<"public", Args, Result>
21
+ | RegisteredMutation<"public", Args, Result>,
22
+ ) {
23
+ const run = (
24
+ fn as unknown as { _handler: (ctx: MutationCtx, args: Args) => Result }
25
+ )._handler;
26
+ return (ctx: MutationCtx, args: Args) =>
27
+ run({ ...ctx, db: componentDb(ctx.db) }, args);
28
+ }
29
+ const options = { numItems: 1, cursor: null };
30
+ const policy = {
31
+ ownerKey: "owner",
32
+ mode: "custom" as const,
33
+ status: "ready" as const,
34
+ revision: 0,
35
+ operationKey: "enable",
36
+ country: "US",
37
+ thresholds: [{ currency: "usd", amount: 1000 }],
38
+ holdDeadline: Date.now() - 1,
39
+ };
40
+ it("pages ready, changing and expired policies across the deployed component boundary", async () => {
41
+ const t = convexTest(schema, modules);
42
+ await t.run(async (ctx) => {
43
+ for (let i = 0; i < 3; i++)
44
+ await ctx.db.insert("payoutPolicies", {
45
+ ...policy,
46
+ accountId: `acct_${i}`,
47
+ });
48
+ await ctx.db.insert("payoutPolicies", {
49
+ ...policy,
50
+ accountId: "acct_changing",
51
+ status: "changing",
52
+ });
53
+ await ctx.db.insert("payoutPolicies", {
54
+ ...policy,
55
+ accountId: "acct_default",
56
+ mode: "stripe_managed",
57
+ holdDeadline: undefined,
58
+ });
59
+ const accounts: string[] = [];
60
+ let cursor: string | null = null;
61
+ for (let i = 0; i < 6; i++) {
62
+ const p = await handler(policies)(ctx, {
63
+ paginationOpts: { ...options, cursor },
64
+ });
65
+ accounts.push(...p.page.map((row) => row.accountId));
66
+ cursor = p.continueCursor;
67
+ if (p.isDone) break;
68
+ }
69
+ expect(accounts).toEqual(["acct_0", "acct_1", "acct_2"]);
70
+ const changePage = await handler(changing)(ctx, {
71
+ paginationOpts: options,
72
+ });
73
+ expect(changePage.page).toMatchObject([{ accountId: "acct_changing" }]);
74
+ expect(
75
+ await handler(changing)(ctx, {
76
+ paginationOpts: { ...options, cursor: changePage.continueCursor },
77
+ }),
78
+ ).toMatchObject({ page: [], isDone: true });
79
+ const expired: string[] = [];
80
+ cursor = null;
81
+ for (let i = 0; i < 6; i++) {
82
+ const p = await handler(due)(ctx, {
83
+ now: Date.now(),
84
+ paginationOpts: { ...options, cursor },
85
+ });
86
+ expired.push(...p.page.map((row) => row.accountId));
87
+ cursor = p.continueCursor;
88
+ if (p.isDone) break;
89
+ }
90
+ expect(expired).toEqual(["acct_0", "acct_1", "acct_2", "acct_changing"]);
91
+ });
92
+ });
93
+ it("pages only due unresolved worker operations", async () => {
94
+ const t = convexTest(schema, modules);
95
+ await t.run(async (ctx) => {
96
+ const base = {
97
+ accountId: "acct_one",
98
+ ownerKey: "owner",
99
+ currency: "usd",
100
+ generation: 1,
101
+ sequence: 1,
102
+ cadenceMs: 60000,
103
+ nextAttemptAt: Date.now() - 1,
104
+ hasOperation: true,
105
+ };
106
+ for (let i = 0; i < 3; i++)
107
+ await ctx.db.insert("payoutWorkerJobs", {
108
+ ...base,
109
+ accountId: `acct_${i}`,
110
+ });
111
+ await ctx.db.insert("payoutWorkerJobs", {
112
+ ...base,
113
+ accountId: "acct_future",
114
+ nextAttemptAt: Date.now() + 86400000,
115
+ });
116
+ await ctx.db.insert("payoutWorkerJobs", {
117
+ ...base,
118
+ accountId: "acct_idle",
119
+ hasOperation: false,
120
+ });
121
+ const accounts: string[] = [];
122
+ let cursor: string | null = null;
123
+ for (let i = 0; i < 6; i++) {
124
+ const p = await handler(recovering)(ctx, {
125
+ paginationOpts: { ...options, cursor },
126
+ });
127
+ accounts.push(...p.page.map((row) => row.accountId));
128
+ cursor = p.continueCursor;
129
+ if (p.isDone) break;
130
+ }
131
+ expect(accounts).toEqual(["acct_0", "acct_1", "acct_2"]);
132
+ });
133
+ });
134
+ it("reads affiliate reconciliation and seller cost history without native pagination", async () => {
135
+ const t = convexTest(schema, modules);
136
+ await t.run(async (ctx) => {
137
+ expect(
138
+ await handler(pendingPayouts)(ctx, {
139
+ state: "unknown",
140
+ paginationOpts: options,
141
+ }),
142
+ ).toMatchObject({ page: [], isDone: true });
143
+ expect(
144
+ await handler(listClaims)(ctx, {
145
+ accountId: "acct_one",
146
+ scopeKey: "store_one",
147
+ currency: "usd",
148
+ paginationOpts: options,
149
+ }),
150
+ ).toMatchObject({ page: [], isDone: true });
151
+ });
152
+ });
153
+ it("continues every local collection phase across bounded component-compatible pages", async () => {
154
+ const t = convexTest(schema, modules);
155
+ const scope = {
156
+ accountId: "acct_one",
157
+ ownerKey: "owner",
158
+ operationKey: "collect",
159
+ };
160
+ await t.run(async (ctx) => {
161
+ for (let i = 0; i < 31; i++)
162
+ await ctx.db.insert("transfers", {
163
+ stripeTransferId: `tr_${i}`,
164
+ destinationAccountId: scope.accountId,
165
+ amount: 1000,
166
+ currency: "usd",
167
+ role: "store",
168
+ status: "paid",
169
+ });
170
+ await ctx.db.insert("payoutSourceAllocations", {
171
+ accountId: scope.accountId,
172
+ ownerKey: scope.ownerKey,
173
+ stripeTransferId: "tr_0",
174
+ currency: "usd",
175
+ paidAmount: 10,
176
+ reservedAmount: 0,
177
+ });
178
+ await ctx.db.insert("payoutFeeBalances", {
179
+ accountId: scope.accountId,
180
+ ownerKey: scope.ownerKey,
181
+ currency: "usd",
182
+ amount: 2,
183
+ revision: 0,
184
+ });
185
+ await ctx.db.insert("payoutReleaseClaims", {
186
+ ...scope,
187
+ operationKey: "previous",
188
+ expectedRevision: 0,
189
+ currency: "usd",
190
+ amount: 10,
191
+ status: "paid",
192
+ stripePayoutId: "po_previous",
193
+ allocations: [{ stripeTransferId: "tr_0", amount: 10, role: "store" }],
194
+ observations: [],
195
+ });
196
+ let state = await handler(begin)(ctx, { ...scope, expectedRevision: -1 });
197
+ for (let i = 0; i < 30 && state.phase !== "local_ready"; i++)
198
+ state = await handler(advance)(ctx, {
199
+ ...scope,
200
+ expectedStep: state.step,
201
+ batchSize: 5,
202
+ });
203
+ expect(state).toMatchObject({
204
+ phase: "local_ready",
205
+ sourceCount: 31,
206
+ allocationCount: 1,
207
+ claimCount: 1,
208
+ feeCount: 1,
209
+ readOnly: true,
210
+ });
211
+ });
212
+ });
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -41,7 +43,7 @@ export const due = query({
41
43
  args.paginationOpts.numItems > 100
42
44
  )
43
45
  throw new Error("Invalid payout policy due page.");
44
- const page = await ctx.db
46
+ const page = await paginator(ctx.db, schema)
45
47
  .query("payoutPolicies")
46
48
  .withIndex("by_deadline", (q) =>
47
49
  q.gt("holdDeadline", 0).lte("holdDeadline", args.now),
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { v } from "convex/values";
2
4
  import { mutation } from "../earnings/triggers.js";
3
5
  import { readPolicy } from "../payoutPolicy/helpers.js";
@@ -119,7 +121,7 @@ export const advance = mutation({
119
121
  const patch: Partial<Snapshot> = { step: h.step + 1 };
120
122
  try {
121
123
  if (h.phase === "sources") {
122
- const page = await ctx.db
124
+ const page = await paginator(ctx.db, schema)
123
125
  .query("transfers")
124
126
  .withIndex("by_destination_account_id", (q) =>
125
127
  q
@@ -132,7 +134,7 @@ export const advance = mutation({
132
134
  patch.sourceCursor = page.continueCursor;
133
135
  patch.phase = page.isDone ? "allocations" : "sources";
134
136
  } else if (h.phase === "allocations") {
135
- const page = await ctx.db
137
+ const page = await paginator(ctx.db, schema)
136
138
  .query("payoutSourceAllocations")
137
139
  .withIndex("by_account", (q) => q.eq("accountId", h!.accountId))
138
140
  .paginate({ cursor: h.allocationCursor ?? null, numItems: batch });
@@ -141,7 +143,7 @@ export const advance = mutation({
141
143
  patch.allocationCursor = page.continueCursor;
142
144
  patch.phase = page.isDone ? "fees" : "allocations";
143
145
  } else if (h.phase === "fees") {
144
- const page = await ctx.db
146
+ const page = await paginator(ctx.db, schema)
145
147
  .query("payoutFeeBalances")
146
148
  .withIndex("by_account_currency", (q) =>
147
149
  q.eq("accountId", h!.accountId),
@@ -152,7 +154,7 @@ export const advance = mutation({
152
154
  patch.feeCursor = page.continueCursor;
153
155
  patch.phase = page.isDone ? "claims" : "fees";
154
156
  } else if (h.phase === "claims") {
155
- const page = await ctx.db
157
+ const page = await paginator(ctx.db, schema)
156
158
  .query("payoutReleaseClaims")
157
159
  .withIndex("by_account_status", (q) =>
158
160
  q.eq("accountId", h!.accountId),
@@ -1,3 +1,5 @@
1
+ import { paginator } from "convex-helpers/server/pagination";
2
+ import schema from "../schema.js";
1
3
  import { paginationOptsValidator } from "convex/server";
2
4
  import { v } from "convex/values";
3
5
  import { query } from "../_generated/server.js";
@@ -18,7 +20,7 @@ export const policies = query({
18
20
  }),
19
21
  handler: async (ctx, args) => {
20
22
  pageSize(args.paginationOpts.numItems);
21
- const p = await ctx.db
23
+ const p = await paginator(ctx.db, schema)
22
24
  .query("payoutPolicies")
23
25
  .withIndex("by_mode_status", (q) =>
24
26
  q.eq("mode", "custom").eq("status", "ready"),
@@ -36,7 +38,7 @@ export const changing = query({
36
38
  }),
37
39
  handler: async (ctx, args) => {
38
40
  pageSize(args.paginationOpts.numItems);
39
- const p = await ctx.db
41
+ const p = await paginator(ctx.db, schema)
40
42
  .query("payoutPolicies")
41
43
  .withIndex("by_status", (q) => q.eq("status", "changing"))
42
44
  .paginate(args.paginationOpts);
@@ -53,7 +55,7 @@ export const recovering = query({
53
55
  }),
54
56
  handler: async (ctx, args) => {
55
57
  pageSize(args.paginationOpts.numItems);
56
- const p = await ctx.db
58
+ const p = await paginator(ctx.db, schema)
57
59
  .query("payoutWorkerJobs")
58
60
  .withIndex("by_operation_pending", (q) =>
59
61
  q.eq("hasOperation", true).lte("nextAttemptAt", Date.now()),
@@ -0,0 +1,24 @@
1
+ /** Model the deployed component boundary that convex-test does not enforce. */
2
+ export function componentDb<T extends object>(db: T): T {
3
+ function wrap<TValue extends object>(value: TValue): TValue {
4
+ return new Proxy(value, {
5
+ get(target, key) {
6
+ if (key === "paginate")
7
+ return () => {
8
+ throw new Error("paginate() is only supported in the app");
9
+ };
10
+ const member = Reflect.get(target, key);
11
+ if (typeof member !== "function") return member;
12
+ return (...args: unknown[]) => {
13
+ const result = member.apply(target, args);
14
+ return result &&
15
+ typeof result === "object" &&
16
+ !(result instanceof Promise)
17
+ ? wrap(result)
18
+ : result;
19
+ };
20
+ },
21
+ });
22
+ }
23
+ return wrap(db);
24
+ }