@monok/server 1.5.2 → 2.0.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.
- package/AGENTS.md +32 -8
- package/README.md +57 -6
- package/dist/affiliate.d.ts.map +1 -1
- package/dist/affiliate.js +13 -1
- package/dist/affiliate.js.map +1 -1
- package/dist/client.d.ts +2 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +70 -10
- package/dist/client.js.map +1 -1
- package/dist/types.d.ts +64 -7
- package/dist/types.d.ts.map +1 -1
- package/dist-cjs/affiliate.js +13 -1
- package/dist-cjs/affiliate.js.map +1 -1
- package/dist-cjs/client.js +70 -10
- package/dist-cjs/client.js.map +1 -1
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -222,7 +222,7 @@ If `getSiteInfo` is omitted, `/info` returns this authenticated fallback:
|
|
|
222
222
|
```json
|
|
223
223
|
{
|
|
224
224
|
"js_scripts": "Disabled",
|
|
225
|
-
"version": "
|
|
225
|
+
"version": "2.0.0",
|
|
226
226
|
"name": "Custom CMS",
|
|
227
227
|
"logo": "",
|
|
228
228
|
"categories": [],
|
|
@@ -352,10 +352,19 @@ import {
|
|
|
352
352
|
|
|
353
353
|
const app = express();
|
|
354
354
|
|
|
355
|
+
// Configure this only for the host's actual reverse-proxy topology.
|
|
356
|
+
app.set("trust proxy", 1);
|
|
357
|
+
|
|
355
358
|
app.use(monokAffiliateAttribution({ apiKey: process.env.MONOK_API_KEY! }));
|
|
356
359
|
app.use(express.json());
|
|
357
360
|
```
|
|
358
361
|
|
|
362
|
+
The middleware forwards the visitor IP resolved by Express, user agent,
|
|
363
|
+
referrer, preferred language, and cleaned landing URL to Monok for affiliate
|
|
364
|
+
click analytics. When the merchant runs behind a reverse proxy, configure
|
|
365
|
+
Express `trust proxy` for the exact trusted proxy topology so `req.ip` is the
|
|
366
|
+
visitor rather than the proxy. Never trust arbitrary forwarded headers.
|
|
367
|
+
|
|
359
368
|
The merchant-facing link is the active default offer's exact destination URL
|
|
360
369
|
with `monok_ref=<publisher workspace referral code>`. The middleware exchanges
|
|
361
370
|
that code through Monok using the workspace API key, stores the returned signed
|
|
@@ -413,18 +422,33 @@ merchant's durable payment or billing-completion path:
|
|
|
413
422
|
await reportMonokAffiliateTransaction(
|
|
414
423
|
{
|
|
415
424
|
customerReference: customer.id,
|
|
416
|
-
|
|
417
|
-
|
|
425
|
+
transaction: {
|
|
426
|
+
id: invoice.id,
|
|
427
|
+
amount: 10_000,
|
|
428
|
+
currency: "EUR",
|
|
429
|
+
occurredAt: invoice.paidAt,
|
|
430
|
+
references: invoice.stripeId ? [{
|
|
431
|
+
provider: "stripe",
|
|
432
|
+
accountId: invoice.stripeAccountId,
|
|
433
|
+
type: "invoice",
|
|
434
|
+
id: invoice.stripeId
|
|
435
|
+
}] : undefined
|
|
436
|
+
}
|
|
418
437
|
},
|
|
419
438
|
{ apiKey: process.env.MONOK_API_KEY! }
|
|
420
439
|
);
|
|
421
440
|
```
|
|
422
441
|
|
|
423
|
-
`
|
|
424
|
-
affiliate payout. Monok calculates and snapshots the
|
|
425
|
-
registered offer. `
|
|
426
|
-
that is unique within the merchant workspace; repeating it with
|
|
427
|
-
is idempotent, while reusing it with different values is rejected.
|
|
442
|
+
`transaction.amount` is qualifying merchant revenue in the original currency's
|
|
443
|
+
minor unit, not the affiliate payout. Monok calculates and snapshots the EUR
|
|
444
|
+
commission from the registered offer. `transaction.id` must be a durable,
|
|
445
|
+
non-sensitive ID that is unique within the merchant workspace; repeating it with
|
|
446
|
+
the same values is idempotent, while reusing it with different values is rejected.
|
|
447
|
+
Provider references explicitly reconcile multiple external identities to Monok's
|
|
448
|
+
one internal receipt. Never infer identity from a similar customer, amount, and
|
|
449
|
+
timestamp.
|
|
450
|
+
Report a refund as a separate transaction with `type: "refund"` and
|
|
451
|
+
`originalTransactionId`; never mutate the original payment.
|
|
428
452
|
|
|
429
453
|
Monok's own sites use this same public package and API flow. Do not replace it
|
|
430
454
|
with direct database writes, an internal-only attribution service, or
|
package/README.md
CHANGED
|
@@ -266,6 +266,9 @@ import {
|
|
|
266
266
|
} from "@monok/server";
|
|
267
267
|
|
|
268
268
|
const app = express();
|
|
269
|
+
// Configure this for the merchant's actual proxy topology. This example trusts
|
|
270
|
+
// exactly one reverse proxy so Express resolves req.ip to the visitor address.
|
|
271
|
+
app.set("trust proxy", 1);
|
|
269
272
|
app.use(monokAffiliateAttribution({ apiKey: process.env.MONOK_API_KEY! }));
|
|
270
273
|
app.use(express.json());
|
|
271
274
|
|
|
@@ -290,8 +293,18 @@ async function recordCompletedBilling(transaction) {
|
|
|
290
293
|
await reportMonokAffiliateTransaction(
|
|
291
294
|
{
|
|
292
295
|
customerReference: transaction.customerId,
|
|
293
|
-
|
|
294
|
-
|
|
296
|
+
transaction: {
|
|
297
|
+
id: transaction.id,
|
|
298
|
+
amount: transaction.amountMinor,
|
|
299
|
+
currency: transaction.currency,
|
|
300
|
+
occurredAt: transaction.occurredAt,
|
|
301
|
+
references: transaction.stripeInvoiceId ? [{
|
|
302
|
+
provider: "stripe",
|
|
303
|
+
accountId: transaction.stripeAccountId,
|
|
304
|
+
type: "invoice",
|
|
305
|
+
id: transaction.stripeInvoiceId
|
|
306
|
+
}] : undefined
|
|
307
|
+
}
|
|
295
308
|
},
|
|
296
309
|
{ apiKey: process.env.MONOK_API_KEY! }
|
|
297
310
|
);
|
|
@@ -306,11 +319,49 @@ Clear the attribution cookie only after referral registration returns `created`
|
|
|
306
319
|
or `existing`. Pass the same `cookieDomain`, `cookieName`, and `secure` options
|
|
307
320
|
used during capture when they differ from the defaults.
|
|
308
321
|
|
|
322
|
+
The middleware forwards the visitor IP, user agent, referrer, preferred
|
|
323
|
+
language, and cleaned landing URL for affiliate click analytics. When Express
|
|
324
|
+
runs behind a reverse proxy, configure `trust proxy` for the exact trusted proxy
|
|
325
|
+
topology; do not blindly trust arbitrary forwarded headers.
|
|
326
|
+
|
|
309
327
|
Report only qualifying merchant revenue after the underlying payment or billing
|
|
310
|
-
event has completed. `
|
|
311
|
-
|
|
312
|
-
Use a durable, non-sensitive
|
|
313
|
-
with the same values is idempotent; reusing
|
|
328
|
+
event has completed. `transaction.amount` is a positive integer in the original
|
|
329
|
+
currency's minor unit and is not the affiliate payout. Monok converts and freezes
|
|
330
|
+
the commission in EUR from the registered offer. Use a durable, non-sensitive
|
|
331
|
+
transaction ID. Repeating the same ID with the same values is idempotent; reusing
|
|
332
|
+
it with different values is rejected. `type` defaults to `payment` and
|
|
333
|
+
`occurredAt` defaults to the time Monok receives the request.
|
|
334
|
+
|
|
335
|
+
`transaction.id` is the merchant API's stable identity for the event, not
|
|
336
|
+
necessarily an ID invented by the merchant. It may itself be a Stripe invoice ID
|
|
337
|
+
or another durable billing identifier. When provider identifiers are available,
|
|
338
|
+
include them in `references`. Monok uses those explicit identities to reconcile
|
|
339
|
+
API reports with Stripe, Paddle, or other provider ingestion into one internal
|
|
340
|
+
receipt. Monok never merges transactions merely because their customer, amount,
|
|
341
|
+
and timestamp look similar.
|
|
342
|
+
|
|
343
|
+
Report refunds as separate immutable transactions instead of changing a payment:
|
|
344
|
+
|
|
345
|
+
```ts
|
|
346
|
+
await reportMonokAffiliateTransaction(
|
|
347
|
+
{
|
|
348
|
+
customerReference: transaction.customerId,
|
|
349
|
+
transaction: {
|
|
350
|
+
id: refund.id,
|
|
351
|
+
type: "refund",
|
|
352
|
+
originalTransactionId: transaction.id,
|
|
353
|
+
amount: refund.amountMinor,
|
|
354
|
+
currency: transaction.currency,
|
|
355
|
+
occurredAt: refund.occurredAt
|
|
356
|
+
}
|
|
357
|
+
},
|
|
358
|
+
{ apiKey: process.env.MONOK_API_KEY! }
|
|
359
|
+
);
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
The refund currency must match the original payment, and cumulative refunds
|
|
363
|
+
cannot exceed the original amount. Monok reverses the frozen original commission
|
|
364
|
+
proportionally, so later exchange-rate changes do not alter the adjustment.
|
|
314
365
|
|
|
315
366
|
Affiliate-only merchants do **not** need to mount `createMonokRouter` or expose
|
|
316
367
|
`/push`, `/info`, or `/postfilter`.
|
package/dist/affiliate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affiliate.d.ts","sourceRoot":"","sources":["../src/affiliate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,cAAc,EAAY,MAAM,SAAS,CAAC;AAE/E,OAAO,KAAK,EACV,gCAAgC,EAChC,0BAA0B,EAE3B,MAAM,YAAY,CAAC;AAgBpB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B;KACF;CACF;
|
|
1
|
+
{"version":3,"file":"affiliate.d.ts","sourceRoot":"","sources":["../src/affiliate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,cAAc,EAAY,MAAM,SAAS,CAAC;AAE/E,OAAO,KAAK,EACV,gCAAgC,EAChC,0BAA0B,EAE3B,MAAM,YAAY,CAAC;AAgBpB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,OAAO;YACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;SAC3B;KACF;CACF;AAqHD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gCAAqC,GAC7C,cAAc,CA+DhB;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,0BAA0B,EAClC,OAAO,GAAE,IAAI,CACX,gCAAgC,EAChC,YAAY,GAAG,cAAc,GAAG,QAAQ,CACpC,GACL,IAAI,CAkBN"}
|
package/dist/affiliate.js
CHANGED
|
@@ -60,6 +60,12 @@ function readCookie(req, cookieName) {
|
|
|
60
60
|
function queryString(value) {
|
|
61
61
|
return typeof value === "string" ? value : undefined;
|
|
62
62
|
}
|
|
63
|
+
function preferredLanguage(req) {
|
|
64
|
+
return req.get("accept-language")?.split(",")[0]?.split(";")[0]?.trim() || undefined;
|
|
65
|
+
}
|
|
66
|
+
function visitorIp(req) {
|
|
67
|
+
return req.ip ?? req.socket.remoteAddress ?? "";
|
|
68
|
+
}
|
|
63
69
|
function publicRequestUrl(req, referralQueryParameter, publicOrigin) {
|
|
64
70
|
const forwardedProtocol = queryString(req.headers["x-forwarded-proto"])?.split(",")[0]?.trim();
|
|
65
71
|
const forwardedHost = queryString(req.headers["x-forwarded-host"])?.split(",")[0]?.trim();
|
|
@@ -122,9 +128,15 @@ export function monokAffiliateAttribution(options = {}) {
|
|
|
122
128
|
try {
|
|
123
129
|
if (!options.apiKey)
|
|
124
130
|
throw new Error("A Monok API key is required to capture monok_ref");
|
|
131
|
+
const referrer = req.get("referer");
|
|
132
|
+
const language = preferredLanguage(req);
|
|
125
133
|
const result = await createMonokAttribution({
|
|
126
134
|
referralCode,
|
|
127
|
-
landingUrl: publicRequestUrl(req, referralQueryParameter, options.publicOrigin)
|
|
135
|
+
landingUrl: publicRequestUrl(req, referralQueryParameter, options.publicOrigin),
|
|
136
|
+
userAgent: req.get("user-agent") ?? "",
|
|
137
|
+
ip: visitorIp(req),
|
|
138
|
+
...(referrer ? { referrer } : {}),
|
|
139
|
+
...(language ? { language } : {})
|
|
128
140
|
}, { apiKey: options.apiKey, ...(options.monokBaseUrl ? { monokBaseUrl: options.monokBaseUrl } : {}) });
|
|
129
141
|
const attribution = readAttribution(result.attributionToken);
|
|
130
142
|
if (!attribution)
|
package/dist/affiliate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affiliate.js","sourceRoot":"","sources":["../src/affiliate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"affiliate.js","sourceRoot":"","sources":["../src/affiliate.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CreateMonokAttributionPayload, CreateMonokReferralPayload, LinkbackPayload, MonokAffiliateTransactionResult, MonokAffiliateClientOptions, MonokAttributionResult, MonokReferralResult, ReportMonokAffiliateTransactionPayload } from "./types.js";
|
|
2
2
|
export declare const DEFAULT_MONOK_BASE_URL = "https://app.monok.com";
|
|
3
3
|
/** Exchange a publisher referral code on an offer landing page for a signed attribution token. */
|
|
4
|
-
export declare function createMonokAttribution({ referralCode, landingUrl }: CreateMonokAttributionPayload, { apiKey, monokBaseUrl }: MonokAffiliateClientOptions): Promise<MonokAttributionResult>;
|
|
4
|
+
export declare function createMonokAttribution({ referralCode, landingUrl, userAgent, ip, referrer, language }: CreateMonokAttributionPayload, { apiKey, monokBaseUrl }: MonokAffiliateClientOptions): Promise<MonokAttributionResult>;
|
|
5
5
|
/**
|
|
6
6
|
* Send a linkback to Monok after you publish the article.
|
|
7
7
|
*/
|
|
@@ -18,5 +18,5 @@ export declare function createMonokReferral({ attributionToken, customerReferenc
|
|
|
18
18
|
* Report qualifying merchant revenue for a previously registered affiliate customer.
|
|
19
19
|
* Repeating the same transaction reference is safe and returns the existing receipt.
|
|
20
20
|
*/
|
|
21
|
-
export declare function reportMonokAffiliateTransaction({ customerReference,
|
|
21
|
+
export declare function reportMonokAffiliateTransaction({ customerReference, transaction }: ReportMonokAffiliateTransactionPayload, { apiKey, monokBaseUrl }: MonokAffiliateClientOptions): Promise<MonokAffiliateTransactionResult>;
|
|
22
22
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,EAC/B,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,sCAAsC,EACvC,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,kGAAkG;AAClG,wBAAsB,sBAAsB,CAC1C,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,6BAA6B,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,EAC/B,2BAA2B,EAC3B,sBAAsB,EACtB,mBAAmB,EACnB,sCAAsC,EACvC,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,kGAAkG;AAClG,wBAAsB,sBAAsB,CAC1C,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,6BAA6B,EAC9F,EAAE,MAAM,EAAE,YAAqC,EAAE,EAAE,2BAA2B,GAC7E,OAAO,CAAC,sBAAsB,CAAC,CA8BjC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,eAAe,EAClE,IAAI,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,EAAE,0BAA0B,EACnE,EAAE,MAAM,EAAE,YAAqC,EAAE,EAAE,2BAA2B,GAC7E,OAAO,CAAC,mBAAmB,CAAC,CAwB9B;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,EACE,iBAAiB,EACjB,WAAW,EACZ,EAAE,sCAAsC,EACzC,EAAE,MAAM,EAAE,YAAqC,EAAE,EAAE,2BAA2B,GAC7E,OAAO,CAAC,+BAA+B,CAAC,CAiF1C"}
|
package/dist/client.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import fetch from "node-fetch";
|
|
2
2
|
export const DEFAULT_MONOK_BASE_URL = "https://app.monok.com";
|
|
3
3
|
/** Exchange a publisher referral code on an offer landing page for a signed attribution token. */
|
|
4
|
-
export async function createMonokAttribution({ referralCode, landingUrl }, { apiKey, monokBaseUrl = DEFAULT_MONOK_BASE_URL }) {
|
|
4
|
+
export async function createMonokAttribution({ referralCode, landingUrl, userAgent, ip, referrer, language }, { apiKey, monokBaseUrl = DEFAULT_MONOK_BASE_URL }) {
|
|
5
5
|
if (!apiKey.trim())
|
|
6
6
|
throw new Error("A Monok API key is required");
|
|
7
7
|
if (!referralCode.trim())
|
|
8
8
|
throw new Error("A publisher referral code is required");
|
|
9
9
|
if (!landingUrl.trim())
|
|
10
10
|
throw new Error("A merchant landing URL is required");
|
|
11
|
+
if (!userAgent.trim())
|
|
12
|
+
throw new Error("The visitor User-Agent is required");
|
|
13
|
+
if (!ip.trim())
|
|
14
|
+
throw new Error("The visitor IP address is required");
|
|
11
15
|
const endpoint = monokBaseUrl.replace(/\/$/, "") + "/api/v1/affiliate/attributions";
|
|
12
16
|
const resp = await fetch(endpoint, {
|
|
13
17
|
method: "POST",
|
|
@@ -15,7 +19,14 @@ export async function createMonokAttribution({ referralCode, landingUrl }, { api
|
|
|
15
19
|
"Content-Type": "application/json",
|
|
16
20
|
"X-API-Key": apiKey
|
|
17
21
|
},
|
|
18
|
-
body: JSON.stringify({
|
|
22
|
+
body: JSON.stringify({
|
|
23
|
+
referralCode,
|
|
24
|
+
landingUrl,
|
|
25
|
+
userAgent,
|
|
26
|
+
ip,
|
|
27
|
+
...(referrer ? { referrer } : {}),
|
|
28
|
+
...(language ? { language } : {})
|
|
29
|
+
})
|
|
19
30
|
});
|
|
20
31
|
if (!resp.ok) {
|
|
21
32
|
const text = await resp.text().catch(() => "");
|
|
@@ -84,16 +95,66 @@ export async function createMonokReferral({ attributionToken, customerReference
|
|
|
84
95
|
* Report qualifying merchant revenue for a previously registered affiliate customer.
|
|
85
96
|
* Repeating the same transaction reference is safe and returns the existing receipt.
|
|
86
97
|
*/
|
|
87
|
-
export async function reportMonokAffiliateTransaction({ customerReference,
|
|
98
|
+
export async function reportMonokAffiliateTransaction({ customerReference, transaction }, { apiKey, monokBaseUrl = DEFAULT_MONOK_BASE_URL }) {
|
|
88
99
|
if (!apiKey.trim())
|
|
89
100
|
throw new Error("A Monok API key is required");
|
|
90
101
|
if (!customerReference.trim())
|
|
91
102
|
throw new Error("A customer reference is required");
|
|
92
|
-
if (!
|
|
93
|
-
throw new Error("A transaction
|
|
94
|
-
if (!Number.isSafeInteger(
|
|
95
|
-
throw new Error("
|
|
103
|
+
if (!transaction.id.trim())
|
|
104
|
+
throw new Error("A transaction ID is required");
|
|
105
|
+
if (!Number.isSafeInteger(transaction.amount) || transaction.amount <= 0) {
|
|
106
|
+
throw new Error("transaction.amount must be a positive integer in currency minor units");
|
|
107
|
+
}
|
|
108
|
+
const currency = transaction.currency.trim().toUpperCase();
|
|
109
|
+
if (!/^[A-Z]{3}$/.test(currency))
|
|
110
|
+
throw new Error("transaction.currency must be a three-letter ISO 4217 code");
|
|
111
|
+
const type = transaction.type ?? "payment";
|
|
112
|
+
const originalTransactionId = "originalTransactionId" in transaction
|
|
113
|
+
? transaction.originalTransactionId.trim()
|
|
114
|
+
: "";
|
|
115
|
+
if (type === "refund" && !originalTransactionId) {
|
|
116
|
+
throw new Error("Refunds require an original transaction ID");
|
|
117
|
+
}
|
|
118
|
+
if (transaction.occurredAt instanceof Date && Number.isNaN(transaction.occurredAt.getTime())) {
|
|
119
|
+
throw new Error("transaction.occurredAt must be a valid date");
|
|
120
|
+
}
|
|
121
|
+
const occurredAt = transaction.occurredAt instanceof Date
|
|
122
|
+
? transaction.occurredAt.toISOString()
|
|
123
|
+
: transaction.occurredAt?.trim();
|
|
124
|
+
if (transaction.occurredAt !== undefined && (!occurredAt || Number.isNaN(Date.parse(occurredAt)))) {
|
|
125
|
+
throw new Error("transaction.occurredAt must be a valid date");
|
|
96
126
|
}
|
|
127
|
+
if (transaction.references && transaction.references.length > 10) {
|
|
128
|
+
throw new Error("transaction.references cannot contain more than 10 references");
|
|
129
|
+
}
|
|
130
|
+
const references = (transaction.references ?? []).map((reference) => {
|
|
131
|
+
const provider = reference.provider.trim().toLowerCase();
|
|
132
|
+
const accountId = reference.accountId.trim();
|
|
133
|
+
const referenceType = reference.type.trim().toLowerCase();
|
|
134
|
+
const id = reference.id.trim();
|
|
135
|
+
if (!provider || provider === "api" || provider.length > 32 ||
|
|
136
|
+
!accountId || accountId.length > 255 ||
|
|
137
|
+
!referenceType || referenceType.length > 64 ||
|
|
138
|
+
!id || id.length > 255) {
|
|
139
|
+
throw new Error("Each provider reference requires a valid provider, accountId, type, and id");
|
|
140
|
+
}
|
|
141
|
+
return { provider, accountId, type: referenceType, id };
|
|
142
|
+
});
|
|
143
|
+
const referenceKeys = new Set(references.map((reference) => (`${reference.provider}\0${reference.accountId}\0${reference.type}\0${reference.id}`)));
|
|
144
|
+
if (referenceKeys.size !== references.length) {
|
|
145
|
+
throw new Error("transaction.references cannot contain duplicates");
|
|
146
|
+
}
|
|
147
|
+
const normalizedTransaction = {
|
|
148
|
+
id: transaction.id.trim(),
|
|
149
|
+
type,
|
|
150
|
+
amount: transaction.amount,
|
|
151
|
+
currency,
|
|
152
|
+
...(occurredAt ? { occurredAt: new Date(occurredAt).toISOString() } : {}),
|
|
153
|
+
...(references.length ? { references } : {}),
|
|
154
|
+
...(type === "refund"
|
|
155
|
+
? { originalTransactionId }
|
|
156
|
+
: {})
|
|
157
|
+
};
|
|
97
158
|
const endpoint = monokBaseUrl.replace(/\/$/, "") + "/api/v1/affiliate/transactions";
|
|
98
159
|
const resp = await fetch(endpoint, {
|
|
99
160
|
method: "POST",
|
|
@@ -102,9 +163,8 @@ export async function reportMonokAffiliateTransaction({ customerReference, trans
|
|
|
102
163
|
"X-API-Key": apiKey
|
|
103
164
|
},
|
|
104
165
|
body: JSON.stringify({
|
|
105
|
-
customerReference,
|
|
106
|
-
|
|
107
|
-
amountCents
|
|
166
|
+
customerReference: customerReference.trim(),
|
|
167
|
+
transaction: normalizedTransaction
|
|
108
168
|
})
|
|
109
169
|
});
|
|
110
170
|
if (!resp.ok) {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAY/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE9D,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAE,YAAY,EAAE,UAAU,EAAiC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -134,6 +134,14 @@ export interface CreateMonokAttributionPayload {
|
|
|
134
134
|
referralCode: string;
|
|
135
135
|
/** Current merchant landing URL after removing `monok_ref`. */
|
|
136
136
|
landingUrl: string;
|
|
137
|
+
/** User-Agent from the visitor's request, used for click analytics. */
|
|
138
|
+
userAgent: string;
|
|
139
|
+
/** IP address resolved by the merchant's trusted Express proxy configuration. */
|
|
140
|
+
ip: string;
|
|
141
|
+
/** Referrer from the visitor's request, when present. */
|
|
142
|
+
referrer?: string;
|
|
143
|
+
/** Preferred language from the visitor's Accept-Language header, when present. */
|
|
144
|
+
language?: string;
|
|
137
145
|
}
|
|
138
146
|
export interface MonokAttributionResult {
|
|
139
147
|
attributionToken: string;
|
|
@@ -151,13 +159,50 @@ export interface MonokReferralResult {
|
|
|
151
159
|
publisherWorkspaceId: string;
|
|
152
160
|
customerReference: string;
|
|
153
161
|
}
|
|
162
|
+
export interface MonokAffiliateTransactionReference {
|
|
163
|
+
/** Billing provider identifier, for example `stripe` or `paddle`. */
|
|
164
|
+
provider: string;
|
|
165
|
+
/** Provider account or merchant identifier that scopes the external object. */
|
|
166
|
+
accountId: string;
|
|
167
|
+
/** Provider object type, for example `invoice`, `payment`, or `transaction`. */
|
|
168
|
+
type: string;
|
|
169
|
+
/** Durable identifier assigned by the provider. */
|
|
170
|
+
id: string;
|
|
171
|
+
}
|
|
172
|
+
export interface MonokAffiliatePaymentTransaction {
|
|
173
|
+
/** Durable, non-sensitive merchant identifier for this economic transaction. */
|
|
174
|
+
id: string;
|
|
175
|
+
/** Defaults to `payment`. */
|
|
176
|
+
type?: "payment";
|
|
177
|
+
/** Transaction amount in the currency's minor unit. */
|
|
178
|
+
amount: number;
|
|
179
|
+
/** Three-letter ISO 4217 currency code. */
|
|
180
|
+
currency: string;
|
|
181
|
+
/** When the economic event occurred. Defaults to the time Monok receives it. */
|
|
182
|
+
occurredAt?: string | Date;
|
|
183
|
+
/** Explicit provider identities for reconciling API and provider ingestion. */
|
|
184
|
+
references?: MonokAffiliateTransactionReference[];
|
|
185
|
+
}
|
|
186
|
+
export interface MonokAffiliateRefundTransaction {
|
|
187
|
+
/** Durable, non-sensitive merchant identifier for this refund. */
|
|
188
|
+
id: string;
|
|
189
|
+
type: "refund";
|
|
190
|
+
/** Transaction ID of the original payment reported to Monok. */
|
|
191
|
+
originalTransactionId: string;
|
|
192
|
+
/** Refunded amount in the currency's minor unit. */
|
|
193
|
+
amount: number;
|
|
194
|
+
/** Must match the original payment currency. */
|
|
195
|
+
currency: string;
|
|
196
|
+
/** When the refund occurred. Defaults to the time Monok receives it. */
|
|
197
|
+
occurredAt?: string | Date;
|
|
198
|
+
/** Explicit provider identities for reconciling API and provider ingestion. */
|
|
199
|
+
references?: MonokAffiliateTransactionReference[];
|
|
200
|
+
}
|
|
201
|
+
export type MonokAffiliateTransaction = MonokAffiliatePaymentTransaction | MonokAffiliateRefundTransaction;
|
|
154
202
|
export interface ReportMonokAffiliateTransactionPayload {
|
|
155
203
|
/** The same durable merchant customer ID used with `createMonokReferral`. */
|
|
156
204
|
customerReference: string;
|
|
157
|
-
|
|
158
|
-
transactionReference: string;
|
|
159
|
-
/** Qualifying merchant revenue in integer EUR cents. */
|
|
160
|
-
amountCents: number;
|
|
205
|
+
transaction: MonokAffiliateTransaction;
|
|
161
206
|
}
|
|
162
207
|
export interface MonokAffiliateTransactionResult {
|
|
163
208
|
id: string;
|
|
@@ -165,9 +210,21 @@ export interface MonokAffiliateTransactionResult {
|
|
|
165
210
|
offerId: string;
|
|
166
211
|
publisherWorkspaceId: string;
|
|
167
212
|
customerReference: string;
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
213
|
+
transaction: {
|
|
214
|
+
id: string;
|
|
215
|
+
type: "payment" | "refund";
|
|
216
|
+
amount: number;
|
|
217
|
+
currency: string;
|
|
218
|
+
occurredAt: string;
|
|
219
|
+
originalTransactionId?: string;
|
|
220
|
+
references: MonokAffiliateTransactionReference[];
|
|
221
|
+
verificationStatus: "reported" | "verified" | "mismatch";
|
|
222
|
+
};
|
|
223
|
+
commission: {
|
|
224
|
+
amount: number;
|
|
225
|
+
currency: "EUR";
|
|
226
|
+
rateBps: number;
|
|
227
|
+
};
|
|
171
228
|
}
|
|
172
229
|
export interface CreateRouterOptions {
|
|
173
230
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist-cjs/affiliate.js
CHANGED
|
@@ -60,6 +60,12 @@ function readCookie(req, cookieName) {
|
|
|
60
60
|
function queryString(value) {
|
|
61
61
|
return typeof value === "string" ? value : undefined;
|
|
62
62
|
}
|
|
63
|
+
function preferredLanguage(req) {
|
|
64
|
+
return req.get("accept-language")?.split(",")[0]?.split(";")[0]?.trim() || undefined;
|
|
65
|
+
}
|
|
66
|
+
function visitorIp(req) {
|
|
67
|
+
return req.ip ?? req.socket.remoteAddress ?? "";
|
|
68
|
+
}
|
|
63
69
|
function publicRequestUrl(req, referralQueryParameter, publicOrigin) {
|
|
64
70
|
const forwardedProtocol = queryString(req.headers["x-forwarded-proto"])?.split(",")[0]?.trim();
|
|
65
71
|
const forwardedHost = queryString(req.headers["x-forwarded-host"])?.split(",")[0]?.trim();
|
|
@@ -122,9 +128,15 @@ export function monokAffiliateAttribution(options = {}) {
|
|
|
122
128
|
try {
|
|
123
129
|
if (!options.apiKey)
|
|
124
130
|
throw new Error("A Monok API key is required to capture monok_ref");
|
|
131
|
+
const referrer = req.get("referer");
|
|
132
|
+
const language = preferredLanguage(req);
|
|
125
133
|
const result = await createMonokAttribution({
|
|
126
134
|
referralCode,
|
|
127
|
-
landingUrl: publicRequestUrl(req, referralQueryParameter, options.publicOrigin)
|
|
135
|
+
landingUrl: publicRequestUrl(req, referralQueryParameter, options.publicOrigin),
|
|
136
|
+
userAgent: req.get("user-agent") ?? "",
|
|
137
|
+
ip: visitorIp(req),
|
|
138
|
+
...(referrer ? { referrer } : {}),
|
|
139
|
+
...(language ? { language } : {})
|
|
128
140
|
}, { apiKey: options.apiKey, ...(options.monokBaseUrl ? { monokBaseUrl: options.monokBaseUrl } : {}) });
|
|
129
141
|
const attribution = readAttribution(result.attributionToken);
|
|
130
142
|
if (!attribution)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affiliate.js","sourceRoot":"","sources":["../src/affiliate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"affiliate.js","sourceRoot":"","sources":["../src/affiliate.ts"],"names":[],"mappings":"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"}
|
package/dist-cjs/client.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
import fetch from "node-fetch";
|
|
2
2
|
export const DEFAULT_MONOK_BASE_URL = "https://app.monok.com";
|
|
3
3
|
/** Exchange a publisher referral code on an offer landing page for a signed attribution token. */
|
|
4
|
-
export async function createMonokAttribution({ referralCode, landingUrl }, { apiKey, monokBaseUrl = DEFAULT_MONOK_BASE_URL }) {
|
|
4
|
+
export async function createMonokAttribution({ referralCode, landingUrl, userAgent, ip, referrer, language }, { apiKey, monokBaseUrl = DEFAULT_MONOK_BASE_URL }) {
|
|
5
5
|
if (!apiKey.trim())
|
|
6
6
|
throw new Error("A Monok API key is required");
|
|
7
7
|
if (!referralCode.trim())
|
|
8
8
|
throw new Error("A publisher referral code is required");
|
|
9
9
|
if (!landingUrl.trim())
|
|
10
10
|
throw new Error("A merchant landing URL is required");
|
|
11
|
+
if (!userAgent.trim())
|
|
12
|
+
throw new Error("The visitor User-Agent is required");
|
|
13
|
+
if (!ip.trim())
|
|
14
|
+
throw new Error("The visitor IP address is required");
|
|
11
15
|
const endpoint = monokBaseUrl.replace(/\/$/, "") + "/api/v1/affiliate/attributions";
|
|
12
16
|
const resp = await fetch(endpoint, {
|
|
13
17
|
method: "POST",
|
|
@@ -15,7 +19,14 @@ export async function createMonokAttribution({ referralCode, landingUrl }, { api
|
|
|
15
19
|
"Content-Type": "application/json",
|
|
16
20
|
"X-API-Key": apiKey
|
|
17
21
|
},
|
|
18
|
-
body: JSON.stringify({
|
|
22
|
+
body: JSON.stringify({
|
|
23
|
+
referralCode,
|
|
24
|
+
landingUrl,
|
|
25
|
+
userAgent,
|
|
26
|
+
ip,
|
|
27
|
+
...(referrer ? { referrer } : {}),
|
|
28
|
+
...(language ? { language } : {})
|
|
29
|
+
})
|
|
19
30
|
});
|
|
20
31
|
if (!resp.ok) {
|
|
21
32
|
const text = await resp.text().catch(() => "");
|
|
@@ -84,16 +95,66 @@ export async function createMonokReferral({ attributionToken, customerReference
|
|
|
84
95
|
* Report qualifying merchant revenue for a previously registered affiliate customer.
|
|
85
96
|
* Repeating the same transaction reference is safe and returns the existing receipt.
|
|
86
97
|
*/
|
|
87
|
-
export async function reportMonokAffiliateTransaction({ customerReference,
|
|
98
|
+
export async function reportMonokAffiliateTransaction({ customerReference, transaction }, { apiKey, monokBaseUrl = DEFAULT_MONOK_BASE_URL }) {
|
|
88
99
|
if (!apiKey.trim())
|
|
89
100
|
throw new Error("A Monok API key is required");
|
|
90
101
|
if (!customerReference.trim())
|
|
91
102
|
throw new Error("A customer reference is required");
|
|
92
|
-
if (!
|
|
93
|
-
throw new Error("A transaction
|
|
94
|
-
if (!Number.isSafeInteger(
|
|
95
|
-
throw new Error("
|
|
103
|
+
if (!transaction.id.trim())
|
|
104
|
+
throw new Error("A transaction ID is required");
|
|
105
|
+
if (!Number.isSafeInteger(transaction.amount) || transaction.amount <= 0) {
|
|
106
|
+
throw new Error("transaction.amount must be a positive integer in currency minor units");
|
|
107
|
+
}
|
|
108
|
+
const currency = transaction.currency.trim().toUpperCase();
|
|
109
|
+
if (!/^[A-Z]{3}$/.test(currency))
|
|
110
|
+
throw new Error("transaction.currency must be a three-letter ISO 4217 code");
|
|
111
|
+
const type = transaction.type ?? "payment";
|
|
112
|
+
const originalTransactionId = "originalTransactionId" in transaction
|
|
113
|
+
? transaction.originalTransactionId.trim()
|
|
114
|
+
: "";
|
|
115
|
+
if (type === "refund" && !originalTransactionId) {
|
|
116
|
+
throw new Error("Refunds require an original transaction ID");
|
|
117
|
+
}
|
|
118
|
+
if (transaction.occurredAt instanceof Date && Number.isNaN(transaction.occurredAt.getTime())) {
|
|
119
|
+
throw new Error("transaction.occurredAt must be a valid date");
|
|
120
|
+
}
|
|
121
|
+
const occurredAt = transaction.occurredAt instanceof Date
|
|
122
|
+
? transaction.occurredAt.toISOString()
|
|
123
|
+
: transaction.occurredAt?.trim();
|
|
124
|
+
if (transaction.occurredAt !== undefined && (!occurredAt || Number.isNaN(Date.parse(occurredAt)))) {
|
|
125
|
+
throw new Error("transaction.occurredAt must be a valid date");
|
|
96
126
|
}
|
|
127
|
+
if (transaction.references && transaction.references.length > 10) {
|
|
128
|
+
throw new Error("transaction.references cannot contain more than 10 references");
|
|
129
|
+
}
|
|
130
|
+
const references = (transaction.references ?? []).map((reference) => {
|
|
131
|
+
const provider = reference.provider.trim().toLowerCase();
|
|
132
|
+
const accountId = reference.accountId.trim();
|
|
133
|
+
const referenceType = reference.type.trim().toLowerCase();
|
|
134
|
+
const id = reference.id.trim();
|
|
135
|
+
if (!provider || provider === "api" || provider.length > 32 ||
|
|
136
|
+
!accountId || accountId.length > 255 ||
|
|
137
|
+
!referenceType || referenceType.length > 64 ||
|
|
138
|
+
!id || id.length > 255) {
|
|
139
|
+
throw new Error("Each provider reference requires a valid provider, accountId, type, and id");
|
|
140
|
+
}
|
|
141
|
+
return { provider, accountId, type: referenceType, id };
|
|
142
|
+
});
|
|
143
|
+
const referenceKeys = new Set(references.map((reference) => (`${reference.provider}\0${reference.accountId}\0${reference.type}\0${reference.id}`)));
|
|
144
|
+
if (referenceKeys.size !== references.length) {
|
|
145
|
+
throw new Error("transaction.references cannot contain duplicates");
|
|
146
|
+
}
|
|
147
|
+
const normalizedTransaction = {
|
|
148
|
+
id: transaction.id.trim(),
|
|
149
|
+
type,
|
|
150
|
+
amount: transaction.amount,
|
|
151
|
+
currency,
|
|
152
|
+
...(occurredAt ? { occurredAt: new Date(occurredAt).toISOString() } : {}),
|
|
153
|
+
...(references.length ? { references } : {}),
|
|
154
|
+
...(type === "refund"
|
|
155
|
+
? { originalTransactionId }
|
|
156
|
+
: {})
|
|
157
|
+
};
|
|
97
158
|
const endpoint = monokBaseUrl.replace(/\/$/, "") + "/api/v1/affiliate/transactions";
|
|
98
159
|
const resp = await fetch(endpoint, {
|
|
99
160
|
method: "POST",
|
|
@@ -102,9 +163,8 @@ export async function reportMonokAffiliateTransaction({ customerReference, trans
|
|
|
102
163
|
"X-API-Key": apiKey
|
|
103
164
|
},
|
|
104
165
|
body: JSON.stringify({
|
|
105
|
-
customerReference,
|
|
106
|
-
|
|
107
|
-
amountCents
|
|
166
|
+
customerReference: customerReference.trim(),
|
|
167
|
+
transaction: normalizedTransaction
|
|
108
168
|
})
|
|
109
169
|
});
|
|
110
170
|
if (!resp.ok) {
|
package/dist-cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAY/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE9D,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAE,YAAY,EAAE,UAAU,EAAiC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAY/B,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAE9D,kGAAkG;AAClG,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAiC,EAC9F,EAAE,MAAM,EAAE,YAAY,GAAG,sBAAsB,EAA+B;IAE9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnE,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACnF,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9E,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC7E,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,gCAAgC,CAAC;IACpF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,MAAM;SACpB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,YAAY;YACZ,UAAU;YACV,SAAS;YACT,EAAE;YACF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,IAAI,EAA4B,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAmB,EAClE,IAAiD;IAEjD,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,YAAY,IAAI,sBAAsB,CAAC,GAAG,kBAAkB,CAAC;IACrF,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,EAAE,KAAK,EAAE;QACf,EAAE,EAAE,OAAO;QACX,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YACjD,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG;QACH,MAAM,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ;QAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrD,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,EAAE,gBAAgB,EAAE,iBAAiB,EAA8B,EACnE,EAAE,MAAM,EAAE,YAAY,GAAG,sBAAsB,EAA+B;IAE9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAClF,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,6BAA6B,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,MAAM;SACpB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,gBAAgB;YAChB,iBAAiB;SAClB,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,IAAI,EAAyB,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,EACE,iBAAiB,EACjB,WAAW,EAC4B,EACzC,EAAE,MAAM,EAAE,YAAY,GAAG,sBAAsB,EAA+B;IAE9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnF,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC5E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/G,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC;IAC3C,MAAM,qBAAqB,GAAG,uBAAuB,IAAI,WAAW;QAClE,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAC1C,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,YAAY,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,YAAY,IAAI;QACvD,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE;QACtC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,WAAW,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAClE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC/B,IACE,CAAC,QAAQ,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE;YACvD,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG;YACpC,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,EAAE;YAC3C,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,EACtB,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;IAC1D,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC1D,GAAG,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,EAAE,CACpF,CAAC,CAAC,CAAC;IACJ,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,qBAAqB,GAAG;QAC5B,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,IAAI;QACJ,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,QAAQ;QACR,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,IAAI,KAAK,QAAQ;YACnB,CAAC,CAAC,EAAE,qBAAqB,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,gCAAgC,CAAC;IACpF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,MAAM;SACpB;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,iBAAiB,EAAE,iBAAiB,CAAC,IAAI,EAAE;YAC3C,WAAW,EAAE,qBAAqB;SACnC,CAAC;KACH,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,IAAI,EAAqC,CAAC;AAC9D,CAAC"}
|