@queelabs/core 0.0.1 → 0.0.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 ADDED
@@ -0,0 +1,5 @@
1
+ # `@queelabs/core`
2
+
3
+ **Domain engine:** marketplaces, actors, listings, orders, **MPP** pay-in (challenges + verify), **Tempo** settlement hold/release, ledger, and domain events.
4
+
5
+ **Quee:** [https://quee.one](https://quee.one) · Monorepo docs: [`docs/README.md`](../../docs/README.md) · Connectors: [`../../docs/connectors-http.md`](../../docs/connectors-http.md)
package/dist/core.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  import type { Db } from "@queelabs/db";
2
- import type { PaymentRail, QueeCoreDeps } from "./payment-adapters.js";
2
+ import type { MppPaymentAdapter, PaymentRail, QueeCoreDeps } from "./payment-adapters.js";
3
3
  export declare const apiKeyScopes: readonly ["admin", "read", "write", "webhooks"];
4
4
  export type ApiKeyScope = (typeof apiKeyScopes)[number];
5
+ /** Primary `mpp` orchestrator rail plus per-method rails (tempo, stripe, …). */
6
+ export type MarketplaceRailType = string;
5
7
  export declare function encryptConfig(config: Record<string, unknown>): string;
6
8
  export declare function decryptConfig(encryptedStr: string): Record<string, unknown>;
7
9
  export declare function redactConfig(config: Record<string, unknown>): Record<string, unknown>;
@@ -41,10 +43,10 @@ export declare class QueeCore {
41
43
  defaultPayoutDestination?: Record<string, unknown>;
42
44
  metadata?: Record<string, unknown>;
43
45
  }): Promise<{
44
- metadata: Record<string, unknown> | null;
45
46
  id: string;
46
47
  marketplaceId: string;
47
48
  type: string;
49
+ metadata: Record<string, unknown> | null;
48
50
  createdAt: Date;
49
51
  updatedAt: Date;
50
52
  externalRef: string | null;
@@ -52,10 +54,10 @@ export declare class QueeCore {
52
54
  defaultPayoutDestination: Record<string, unknown> | null;
53
55
  }>;
54
56
  getActor(id: string): Promise<{
55
- metadata: Record<string, unknown> | null;
56
57
  id: string;
57
58
  marketplaceId: string;
58
59
  type: string;
60
+ metadata: Record<string, unknown> | null;
59
61
  createdAt: Date;
60
62
  updatedAt: Date;
61
63
  externalRef: string | null;
@@ -67,10 +69,10 @@ export declare class QueeCore {
67
69
  actorId: string;
68
70
  payoutDestination: Record<string, unknown>;
69
71
  }): Promise<{
70
- metadata: Record<string, unknown> | null;
71
72
  id: string;
72
73
  marketplaceId: string;
73
74
  type: string;
75
+ metadata: Record<string, unknown> | null;
74
76
  createdAt: Date;
75
77
  updatedAt: Date;
76
78
  externalRef: string | null;
@@ -154,9 +156,9 @@ export declare class QueeCore {
154
156
  status: string;
155
157
  };
156
158
  version: {
157
- metadata: Record<string, unknown> | null;
158
159
  id: string;
159
160
  description: string | null;
161
+ metadata: Record<string, unknown> | null;
160
162
  payoutDestination: Record<string, unknown> | null;
161
163
  createdAt: Date;
162
164
  listingId: string;
@@ -186,9 +188,9 @@ export declare class QueeCore {
186
188
  listingId: string;
187
189
  }): Promise<{
188
190
  order: {
189
- metadata: Record<string, unknown> | null;
190
191
  id: string;
191
192
  marketplaceId: string;
193
+ metadata: Record<string, unknown> | null;
192
194
  createdAt: Date;
193
195
  updatedAt: Date;
194
196
  status: string;
@@ -230,6 +232,8 @@ export declare class QueeCore {
230
232
  challengeId: string;
231
233
  rail: string;
232
234
  proof: Record<string, unknown>;
235
+ }, opts?: {
236
+ mppAdapter?: MppPaymentAdapter;
233
237
  }): Promise<{
234
238
  orderId: string;
235
239
  qtxId: string | null;
@@ -256,9 +260,9 @@ export declare class QueeCore {
256
260
  marketplaceId: string;
257
261
  orderId: string;
258
262
  }): Promise<{
259
- metadata: Record<string, unknown> | null;
260
263
  id: string;
261
264
  marketplaceId: string;
265
+ metadata: Record<string, unknown> | null;
262
266
  createdAt: Date;
263
267
  updatedAt: Date;
264
268
  status: string;
@@ -275,9 +279,9 @@ export declare class QueeCore {
275
279
  comment?: string;
276
280
  }): Promise<string>;
277
281
  listOrders(marketplaceId: string): Promise<{
278
- metadata: Record<string, unknown> | null;
279
282
  id: string;
280
283
  marketplaceId: string;
284
+ metadata: Record<string, unknown> | null;
281
285
  createdAt: Date;
282
286
  updatedAt: Date;
283
287
  status: string;
@@ -290,10 +294,10 @@ export declare class QueeCore {
290
294
  totalCurrency: string;
291
295
  }[]>;
292
296
  listActors(marketplaceId: string): Promise<{
293
- metadata: Record<string, unknown> | null;
294
297
  id: string;
295
298
  marketplaceId: string;
296
299
  type: string;
300
+ metadata: Record<string, unknown> | null;
297
301
  createdAt: Date;
298
302
  updatedAt: Date;
299
303
  externalRef: string | null;
@@ -322,9 +326,9 @@ export declare class QueeCore {
322
326
  idempotencyKey: string | null;
323
327
  }[]>;
324
328
  listSettlements(marketplaceId: string): Promise<{
325
- metadata: Record<string, unknown> | null;
326
329
  id: string;
327
330
  marketplaceId: string;
331
+ metadata: Record<string, unknown> | null;
328
332
  createdAt: Date;
329
333
  updatedAt: Date;
330
334
  status: string;
@@ -334,9 +338,9 @@ export declare class QueeCore {
334
338
  currency: string;
335
339
  }[]>;
336
340
  listPaymentReceipts(marketplaceId: string): Promise<{
337
- rail: string;
338
341
  id: string;
339
342
  marketplaceId: string;
343
+ rail: string;
340
344
  createdAt: Date;
341
345
  qtxId: string;
342
346
  orderId: string;
@@ -349,9 +353,9 @@ export declare class QueeCore {
349
353
  marketplaceId: string;
350
354
  qhash: string;
351
355
  }): Promise<{
352
- rail: string;
353
356
  id: string;
354
357
  marketplaceId: string;
358
+ rail: string;
355
359
  createdAt: Date;
356
360
  qtxId: string;
357
361
  orderId: string;
@@ -362,9 +366,9 @@ export declare class QueeCore {
362
366
  } | null>;
363
367
  /** Lookup by `qhash` only; `qhash` is unique per DB (explorer / public receipt links). */
364
368
  getPaymentReceiptByQhashGlobal(qhash: string): Promise<{
365
- rail: string;
366
369
  id: string;
367
370
  marketplaceId: string;
371
+ rail: string;
368
372
  createdAt: Date;
369
373
  qtxId: string;
370
374
  orderId: string;
@@ -375,9 +379,9 @@ export declare class QueeCore {
375
379
  } | null>;
376
380
  /** Settlement row for an order (hold/release metadata, explorer links, balance snapshots). */
377
381
  getSettlementForOrder(marketplaceId: string, orderId: string): Promise<{
378
- metadata: Record<string, unknown> | null;
379
382
  id: string;
380
383
  marketplaceId: string;
384
+ metadata: Record<string, unknown> | null;
381
385
  createdAt: Date;
382
386
  updatedAt: Date;
383
387
  status: string;
@@ -528,6 +532,62 @@ export declare class QueeCore {
528
532
  provider: string;
529
533
  }>;
530
534
  deleteIntegration(marketplaceId: string, provider: string): Promise<void>;
535
+ upsertMarketplaceRail(input: {
536
+ marketplaceId: string;
537
+ railType: MarketplaceRailType;
538
+ adapter: string;
539
+ config?: Record<string, unknown>;
540
+ }): Promise<{
541
+ marketplaceId: string;
542
+ railType: MarketplaceRailType;
543
+ adapter: string;
544
+ config: Record<string, unknown>;
545
+ updatedAt: Date;
546
+ createdAt: Date;
547
+ }>;
548
+ deleteMarketplaceRail(input: {
549
+ marketplaceId: string;
550
+ railType: string;
551
+ }): Promise<void>;
552
+ /** Redacted for API responses (safe). */
553
+ getMarketplaceRails(marketplaceId: string): Promise<{
554
+ marketplaceId: string;
555
+ railType: string;
556
+ adapter: string;
557
+ config: Record<string, unknown>;
558
+ createdAt: Date;
559
+ updatedAt: Date;
560
+ }[]>;
561
+ /** Raw decrypted config for internal adapter construction. */
562
+ getMarketplaceRailRaw(input: {
563
+ marketplaceId: string;
564
+ railType: MarketplaceRailType;
565
+ }): Promise<{
566
+ adapter: string;
567
+ config: Record<string, unknown>;
568
+ } | null>;
569
+ /**
570
+ * Payment rails available for umbrella MPP checkout (all configured rails except the `mpp` orchestrator).
571
+ */
572
+ listCheckoutPaymentRailsRaw(marketplaceId: string): Promise<{
573
+ railType: string;
574
+ adapter: string;
575
+ config: Record<string, unknown>;
576
+ }[]>;
577
+ getPaymentChallengeRow(input: {
578
+ marketplaceId: string;
579
+ challengeId: string;
580
+ }): Promise<{
581
+ id: string;
582
+ marketplaceId: string;
583
+ rail: string;
584
+ challengePayload: Record<string, unknown>;
585
+ createdAt: Date;
586
+ updatedAt: Date;
587
+ expiresAt: Date | null;
588
+ status: string;
589
+ orderId: string;
590
+ } | null>;
531
591
  findIdempotentResponse(input: {
532
592
  marketplaceId: string;
533
593
  idempotencyKey: string;
@@ -599,9 +659,9 @@ export declare class QueeCore {
599
659
  metadata?: Record<string, unknown>;
600
660
  }): Promise<string>;
601
661
  listAuditLogs(marketplaceId: string, limit?: number): Promise<{
602
- metadata: Record<string, unknown> | null;
603
662
  id: string;
604
663
  marketplaceId: string | null;
664
+ metadata: Record<string, unknown> | null;
605
665
  createdAt: Date;
606
666
  actorId: string | null;
607
667
  action: string;
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createCipheriv, createDecipheriv, createHash, randomBytes } from "node:crypto";
2
- import { actors, adminUsers, apiKeys, auditLogs, domainEvents, fulfillments, integrations, ledgerEntries, listingTypes, listingVersions, listings, marketplaces, orders, paymentChallenges, paymentReceipts, requestIdempotency, reviews, settlements, webhookSubscriptions, webhookDeliveries, } from "@queelabs/db/schema";
3
- import { and, desc, eq } from "drizzle-orm";
2
+ import { actors, adminUsers, apiKeys, auditLogs, domainEvents, fulfillments, integrations, marketplaceRails, ledgerEntries, listingTypes, listingVersions, listings, marketplaces, orders, paymentChallenges, paymentReceipts, requestIdempotency, reviews, settlements, webhookSubscriptions, webhookDeliveries, } from "@queelabs/db/schema";
3
+ import { and, asc, desc, eq, ne } from "drizzle-orm";
4
4
  import { nanoid } from "nanoid";
5
5
  import { recordDomainEvent } from "./event-service.js";
6
6
  export const apiKeyScopes = ["admin", "read", "write", "webhooks"];
@@ -39,6 +39,13 @@ function verifyApiKeyHash(rawKey, storedHash) {
39
39
  function hashRequestFingerprint(body) {
40
40
  return createHash("sha256").update(JSON.stringify(body)).digest("hex");
41
41
  }
42
+ function formatCheckoutRailLabel(railType) {
43
+ if (!railType)
44
+ return railType;
45
+ if (railType.length === 1)
46
+ return railType.toUpperCase();
47
+ return railType.charAt(0).toUpperCase() + railType.slice(1);
48
+ }
42
49
  function stableStringify(value) {
43
50
  if (value === null || typeof value !== "object") {
44
51
  return JSON.stringify(value);
@@ -231,6 +238,18 @@ export function redactConfig(config) {
231
238
  }
232
239
  return redacted;
233
240
  }
241
+ function coerceRecord(value) {
242
+ if (!value || typeof value !== "object" || Array.isArray(value))
243
+ return {};
244
+ return value;
245
+ }
246
+ function readAcceptedPaymentRails(challengePayload) {
247
+ const a = challengePayload.acceptedPaymentRails;
248
+ if (!Array.isArray(a))
249
+ return null;
250
+ const out = a.filter((x) => typeof x === "string" && x.length > 0);
251
+ return out.length > 0 ? out : null;
252
+ }
234
253
  function normalizeScopes(scopes) {
235
254
  if (!scopes || scopes.length === 0)
236
255
  return ["admin"];
@@ -656,6 +675,24 @@ export class QueeCore {
656
675
  aggregateId: orderId,
657
676
  payload: { qtxId },
658
677
  });
678
+ const checkoutRailRows = await this.listCheckoutPaymentRailsRaw(input.marketplaceId);
679
+ let checkoutRails;
680
+ if (checkoutRailRows.length > 0) {
681
+ if (checkoutRailRows.length > 1) {
682
+ const mppCfg = await this.getMarketplaceRailRaw({
683
+ marketplaceId: input.marketplaceId,
684
+ railType: "mpp",
685
+ });
686
+ const mode = (mppCfg?.adapter ?? "mock").toLowerCase();
687
+ if (mode !== "mock" && mode !== "http") {
688
+ throw new Error("This marketplace has multiple payment rails; set primary MPP rail adapter to mock or http in marketplace rails, or configure a single rail.");
689
+ }
690
+ }
691
+ checkoutRails = checkoutRailRows.map((row) => ({
692
+ rail: row.railType,
693
+ label: formatCheckoutRailLabel(row.railType),
694
+ }));
695
+ }
659
696
  const challenge = await this.deps.mpp.createPurchaseChallenge({
660
697
  marketplaceId: input.marketplaceId,
661
698
  orderId,
@@ -665,6 +702,7 @@ export class QueeCore {
665
702
  amountMinor: version.priceAmountMinor,
666
703
  currency: version.priceCurrency,
667
704
  payoutDestination: payoutDestination ?? undefined,
705
+ checkoutRails,
668
706
  });
669
707
  const pcId = challenge.challengeId;
670
708
  await this.db.insert(paymentChallenges).values({
@@ -719,7 +757,8 @@ export class QueeCore {
719
757
  expiresAt: challengeRow.expiresAt,
720
758
  };
721
759
  }
722
- async verifyOrderPayment(input) {
760
+ async verifyOrderPayment(input, opts) {
761
+ const mppAdapter = opts?.mppAdapter ?? this.deps.mpp;
723
762
  const existingReceipt = await this.db.query.paymentReceipts.findFirst({
724
763
  where: and(eq(paymentReceipts.challengeId, input.challengeId), eq(paymentReceipts.marketplaceId, input.marketplaceId)),
725
764
  });
@@ -745,11 +784,16 @@ export class QueeCore {
745
784
  if (!orderRow)
746
785
  throw new Error("order not found");
747
786
  const challengeRow = await this.db.query.paymentChallenges.findFirst({
748
- where: eq(paymentChallenges.id, input.challengeId),
787
+ where: and(eq(paymentChallenges.id, input.challengeId), eq(paymentChallenges.marketplaceId, input.marketplaceId)),
749
788
  });
750
789
  if (!challengeRow)
751
790
  throw new Error("challenge not found");
752
- if (challengeRow.rail !== input.rail) {
791
+ const challengePayload = challengeRow.challengePayload;
792
+ const acceptedRails = readAcceptedPaymentRails(challengePayload);
793
+ const umbrella = challengeRow.rail === "mpp" &&
794
+ acceptedRails !== null &&
795
+ acceptedRails.includes(input.rail);
796
+ if (challengeRow.rail !== input.rail && !umbrella) {
753
797
  throw new Error("rail does not match challenge");
754
798
  }
755
799
  if (challengeRow.orderId !== input.orderId) {
@@ -761,14 +805,13 @@ export class QueeCore {
761
805
  if (challengeRow.status !== "pending") {
762
806
  throw new Error("challenge is not pending");
763
807
  }
764
- const verifiedRail = challengeRow.rail;
765
- const challengePayload = challengeRow.challengePayload;
808
+ const verifiedRail = (umbrella ? input.rail : challengeRow.rail);
766
809
  assertProofMatchesStoredChallenge({
767
810
  rail: verifiedRail,
768
811
  challengePayload,
769
812
  proof: input.proof,
770
813
  });
771
- const result = await this.deps.mpp.verifyPurchase({
814
+ const result = await mppAdapter.verifyPurchase({
772
815
  marketplaceId: input.marketplaceId,
773
816
  orderId: input.orderId,
774
817
  challengeId: input.challengeId,
@@ -1322,6 +1365,93 @@ export class QueeCore {
1322
1365
  .delete(integrations)
1323
1366
  .where(and(eq(integrations.marketplaceId, marketplaceId), eq(integrations.provider, provider)));
1324
1367
  }
1368
+ async upsertMarketplaceRail(input) {
1369
+ const now = new Date();
1370
+ const encryptedConfig = encryptConfig(input.config ?? {});
1371
+ const configValue = JSON.parse(encryptedConfig);
1372
+ await this.db
1373
+ .insert(marketplaceRails)
1374
+ .values({
1375
+ marketplaceId: input.marketplaceId,
1376
+ railType: input.railType,
1377
+ adapter: input.adapter,
1378
+ config: configValue,
1379
+ createdAt: now,
1380
+ updatedAt: now,
1381
+ })
1382
+ .onConflictDoUpdate({
1383
+ target: [marketplaceRails.marketplaceId, marketplaceRails.railType],
1384
+ set: {
1385
+ adapter: input.adapter,
1386
+ config: configValue,
1387
+ updatedAt: now,
1388
+ },
1389
+ });
1390
+ const row = (await this.db.query.marketplaceRails.findFirst({
1391
+ where: and(eq(marketplaceRails.marketplaceId, input.marketplaceId), eq(marketplaceRails.railType, input.railType)),
1392
+ }));
1393
+ return {
1394
+ marketplaceId: row.marketplaceId,
1395
+ railType: row.railType,
1396
+ adapter: row.adapter,
1397
+ config: redactConfig(input.config ?? {}),
1398
+ updatedAt: row.updatedAt,
1399
+ createdAt: row.createdAt,
1400
+ };
1401
+ }
1402
+ async deleteMarketplaceRail(input) {
1403
+ await this.db
1404
+ .delete(marketplaceRails)
1405
+ .where(and(eq(marketplaceRails.marketplaceId, input.marketplaceId), eq(marketplaceRails.railType, input.railType)));
1406
+ }
1407
+ /** Redacted for API responses (safe). */
1408
+ async getMarketplaceRails(marketplaceId) {
1409
+ const rows = await this.db.query.marketplaceRails.findMany({
1410
+ where: eq(marketplaceRails.marketplaceId, marketplaceId),
1411
+ orderBy: asc(marketplaceRails.railType),
1412
+ });
1413
+ return rows.map((row) => {
1414
+ const decrypted = decryptConfig(JSON.stringify(row.config));
1415
+ const redacted = redactConfig(decrypted);
1416
+ return {
1417
+ marketplaceId: row.marketplaceId,
1418
+ railType: row.railType,
1419
+ adapter: row.adapter,
1420
+ config: redacted,
1421
+ createdAt: row.createdAt,
1422
+ updatedAt: row.updatedAt,
1423
+ };
1424
+ });
1425
+ }
1426
+ /** Raw decrypted config for internal adapter construction. */
1427
+ async getMarketplaceRailRaw(input) {
1428
+ const row = await this.db.query.marketplaceRails.findFirst({
1429
+ where: and(eq(marketplaceRails.marketplaceId, input.marketplaceId), eq(marketplaceRails.railType, input.railType)),
1430
+ });
1431
+ if (!row)
1432
+ return null;
1433
+ const decrypted = decryptConfig(JSON.stringify(row.config));
1434
+ return { adapter: row.adapter, config: coerceRecord(decrypted) };
1435
+ }
1436
+ /**
1437
+ * Payment rails available for umbrella MPP checkout (all configured rails except the `mpp` orchestrator).
1438
+ */
1439
+ async listCheckoutPaymentRailsRaw(marketplaceId) {
1440
+ const rows = await this.db.query.marketplaceRails.findMany({
1441
+ where: and(eq(marketplaceRails.marketplaceId, marketplaceId), ne(marketplaceRails.railType, "mpp")),
1442
+ orderBy: asc(marketplaceRails.railType),
1443
+ });
1444
+ return rows.map((row) => ({
1445
+ railType: row.railType,
1446
+ adapter: row.adapter,
1447
+ config: coerceRecord(decryptConfig(JSON.stringify(row.config))),
1448
+ }));
1449
+ }
1450
+ async getPaymentChallengeRow(input) {
1451
+ return ((await this.db.query.paymentChallenges.findFirst({
1452
+ where: and(eq(paymentChallenges.id, input.challengeId), eq(paymentChallenges.marketplaceId, input.marketplaceId)),
1453
+ })) ?? null);
1454
+ }
1325
1455
  async findIdempotentResponse(input) {
1326
1456
  return this.db.query.requestIdempotency.findFirst({
1327
1457
  where: and(eq(requestIdempotency.marketplaceId, input.marketplaceId), eq(requestIdempotency.idempotencyKey, input.idempotencyKey), eq(requestIdempotency.operation, input.operation)),
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,75 +1,5 @@
1
- export type PaymentRail = "mpp" | "tempo" | "stripe" | "mock" | "polar" | "base" | "coinbase" | "paystack" | "whop";
2
- export interface PayoutDestination {
3
- [key: string]: unknown;
4
- rail?: string;
5
- accountRef?: string;
6
- address?: string;
7
- network?: string;
8
- asset?: string;
9
- metadata?: Record<string, unknown>;
10
- }
11
- export interface CreateChallengeInput {
12
- marketplaceId: string;
13
- orderId: string;
14
- listingId?: string;
15
- buyerActorId?: string;
16
- sellerActorId?: string;
17
- amountMinor: number;
18
- currency: string;
19
- payoutDestination?: PayoutDestination;
20
- }
21
- export interface CreateChallengeResult {
22
- challengeId: string;
23
- rail: PaymentRail;
24
- payload: Record<string, unknown>;
25
- expiresAt?: Date;
26
- }
27
- export interface VerifyPaymentInput {
28
- marketplaceId: string;
29
- orderId: string;
30
- challengeId: string;
31
- rail: PaymentRail;
32
- challengePayload: Record<string, unknown>;
33
- expectedAmountMinor: number;
34
- expectedCurrency: string;
35
- proof: Record<string, unknown>;
36
- }
37
- export interface VerifyPaymentResult {
38
- receiptPayload: Record<string, unknown>;
39
- verifiedAt: Date;
40
- }
41
- /** MPP-oriented: challenges + receipt verification */
42
- export interface MppPaymentAdapter {
43
- createPurchaseChallenge(input: CreateChallengeInput): Promise<CreateChallengeResult>;
44
- verifyPurchase(input: VerifyPaymentInput): Promise<VerifyPaymentResult>;
45
- }
46
- export interface HoldSettlementInput {
47
- marketplaceId: string;
48
- orderId: string;
49
- settlementId: string;
50
- amountMinor: number;
51
- currency: string;
52
- metadata?: Record<string, unknown>;
53
- }
54
- export interface HoldSettlementResult {
55
- metadata?: Record<string, unknown>;
56
- }
57
- export interface ReleaseSettlementInput {
58
- marketplaceId: string;
59
- orderId: string;
60
- settlementId: string;
61
- amountMinor: number;
62
- currency: string;
63
- metadata?: Record<string, unknown>;
64
- }
65
- export interface ReleaseSettlementResult {
66
- metadata?: Record<string, unknown>;
67
- }
68
- /** Tempo-oriented settlement rail */
69
- export interface TempoSettlementAdapter {
70
- holdSettlement(input: HoldSettlementInput): Promise<HoldSettlementResult>;
71
- releaseSettlement(input: ReleaseSettlementInput): Promise<ReleaseSettlementResult>;
72
- }
1
+ export * from "@queelabs/connectors-contracts";
2
+ import type { MppPaymentAdapter, TempoSettlementAdapter } from "@queelabs/connectors-contracts";
73
3
  export interface QueeCoreDeps {
74
4
  mpp: MppPaymentAdapter;
75
5
  tempo: TempoSettlementAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"payment-adapters.d.ts","sourceRoot":"","sources":["../src/payment-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payment-adapters.d.ts","sourceRoot":"","sources":["../src/payment-adapters.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAE/C,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,gCAAgC,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,sBAAsB,CAAC;CAC/B"}
@@ -1,2 +1,2 @@
1
- export {};
1
+ export * from "@queelabs/connectors-contracts";
2
2
  //# sourceMappingURL=payment-adapters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment-adapters.js","sourceRoot":"","sources":["../src/payment-adapters.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"payment-adapters.js","sourceRoot":"","sources":["../src/payment-adapters.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@queelabs/core",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Core transaction lifecycle engine for Quee",
6
6
  "type": "module",
@@ -26,9 +26,10 @@
26
26
  "dependencies": {
27
27
  "drizzle-orm": "^0.38.3",
28
28
  "nanoid": "^5.0.9",
29
- "@queelabs/db": "0.0.1",
30
- "@queelabs/events": "0.0.1",
31
- "@queelabs/protocol": "0.0.1"
29
+ "@queelabs/db": "0.0.2",
30
+ "@queelabs/protocol": "0.0.2",
31
+ "@queelabs/connectors-contracts": "0.0.2",
32
+ "@queelabs/events": "0.0.2"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/node": "^22.10.2",