affitor 0.4.2 → 0.4.3
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 +4 -16
- package/dist/commands/setup-stripe.d.ts +6 -0
- package/dist/commands/setup-stripe.d.ts.map +1 -1
- package/dist/commands/setup-stripe.js +18 -145
- package/dist/commands/setup-stripe.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +22 -9
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/test.d.ts +2 -0
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +5 -5
- package/dist/commands/test.js.map +1 -1
- package/dist/lib/api-client.d.ts +3 -9
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +1 -7
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/config.d.ts +8 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +18 -4
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/inject.js +2 -2
- package/dist/lib/inject.js.map +1 -1
- package/dist/types.d.ts +0 -11
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -11
- package/dist/types.js.map +1 -1
- package/package.json +1 -2
- package/dist/lib/stripe-oauth.d.ts +0 -15
- package/dist/lib/stripe-oauth.d.ts.map +0 -1
- package/dist/lib/stripe-oauth.js +0 -168
- package/dist/lib/stripe-oauth.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,8 +8,7 @@ CLI-native affiliate tracking. Connect Stripe, track commissions, manage partner
|
|
|
8
8
|
# Create your affiliate program
|
|
9
9
|
npx affitor init
|
|
10
10
|
|
|
11
|
-
# Connect Stripe
|
|
12
|
-
npx affitor setup stripe
|
|
11
|
+
# Connect Stripe in the Affitor dashboard: program Settings, Connect Stripe
|
|
13
12
|
|
|
14
13
|
# Check program health
|
|
15
14
|
npx affitor status
|
|
@@ -26,7 +25,7 @@ npx affitor test sale
|
|
|
26
25
|
|---|---|
|
|
27
26
|
| `affitor init` | Create a new affiliate program. Interactive prompts or `--no-interactive` with flags. |
|
|
28
27
|
| `affitor onboard` | Wire Affitor into an existing app end-to-end: detect → install browser tracking → inject the Stripe sale call → verify. |
|
|
29
|
-
| `affitor setup stripe` |
|
|
28
|
+
| `affitor setup stripe` | Points you to the dashboard, where Stripe is connected (program Settings, Connect Stripe). Exits 1. |
|
|
30
29
|
| `affitor setup dns` | Set up DNS CNAME tracking (coming soon). |
|
|
31
30
|
| `affitor status` | Show program health: DNS, Stripe connection, recent events. |
|
|
32
31
|
| `affitor test [type]` | Send a test event (`click`, `lead`, or `sale`). |
|
|
@@ -92,24 +91,13 @@ Running `npx affitor init` creates:
|
|
|
92
91
|
skills.md -- AI agent instructions
|
|
93
92
|
```
|
|
94
93
|
|
|
95
|
-
## Stripe
|
|
94
|
+
## Stripe
|
|
96
95
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
1. Opens Stripe Connect OAuth in your browser
|
|
100
|
-
2. Creates webhook endpoint on your Stripe account
|
|
101
|
-
3. Configures event listeners for:
|
|
102
|
-
- `customer.created` -- lead tracking
|
|
103
|
-
- `checkout.session.completed` -- sale tracking
|
|
104
|
-
- `invoice.paid` -- recurring commissions
|
|
105
|
-
- `invoice.payment_failed` -- failed payment alerts
|
|
106
|
-
- `charge.refunded` -- automatic commission clawback
|
|
107
|
-
- `customer.subscription.deleted` -- churn tracking
|
|
96
|
+
Stripe is connected from the Affitor dashboard (program Settings, Connect Stripe), not from the CLI. Affitor's own webhook then records sales and renewals; add Affitor metadata to your checkout so sales are attributed reliably.
|
|
108
97
|
|
|
109
98
|
## Requirements
|
|
110
99
|
|
|
111
100
|
- Node.js >= 18
|
|
112
|
-
- Stripe account (for `setup stripe`)
|
|
113
101
|
|
|
114
102
|
## License
|
|
115
103
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
|
+
/**
|
|
3
|
+
* Stripe is connected from the dashboard. The CLI flow this replaced could not work: its token
|
|
4
|
+
* exchange needs Affitor's platform secret, the CMS endpoint that saved the connection answers
|
|
5
|
+
* 410 Gone (W37-1690), and the webhook it created pointed at a URL the CMS does not serve.
|
|
6
|
+
*/
|
|
7
|
+
export declare const STRIPE_SETUP_MOVED = "Stripe is connected from the Affitor dashboard, not the CLI: open the program, go to Settings, and use Connect Stripe.";
|
|
2
8
|
export declare function registerSetupCommand(program: Command): void;
|
|
3
9
|
//# sourceMappingURL=setup-stripe.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-stripe.d.ts","sourceRoot":"","sources":["../../src/commands/setup-stripe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-stripe.d.ts","sourceRoot":"","sources":["../../src/commands/setup-stripe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2HAC2F,CAAC;AAE3H,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAoBpD"}
|
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
import * as logger from "../lib/logger.js";
|
|
2
2
|
import { format } from "../lib/logger.js";
|
|
3
|
-
import { readConfig,
|
|
4
|
-
import { runStripeOAuth, StripeOAuthError } from "../lib/stripe-oauth.js";
|
|
5
|
-
import { AffitorAPI, APIError, NetworkError } from "../lib/api-client.js";
|
|
3
|
+
import { readConfig, ConfigNotFoundError } from "../lib/config.js";
|
|
6
4
|
import { getFlags } from "../lib/flags.js";
|
|
5
|
+
/**
|
|
6
|
+
* Stripe is connected from the dashboard. The CLI flow this replaced could not work: its token
|
|
7
|
+
* exchange needs Affitor's platform secret, the CMS endpoint that saved the connection answers
|
|
8
|
+
* 410 Gone (W37-1690), and the webhook it created pointed at a URL the CMS does not serve.
|
|
9
|
+
*/
|
|
10
|
+
export const STRIPE_SETUP_MOVED = "Stripe is connected from the Affitor dashboard, not the CLI: open the program, go to Settings, and use Connect Stripe.";
|
|
7
11
|
export function registerSetupCommand(program) {
|
|
8
12
|
const setup = program
|
|
9
13
|
.command("setup")
|
|
10
14
|
.description("Set up integrations (stripe, dns)");
|
|
11
15
|
setup
|
|
12
16
|
.command("stripe")
|
|
13
|
-
.description("Connect Stripe
|
|
14
|
-
.
|
|
15
|
-
.
|
|
16
|
-
.action(
|
|
17
|
-
|
|
17
|
+
.description("Connect Stripe (points you to the dashboard)")
|
|
18
|
+
.allowUnknownOption()
|
|
19
|
+
.allowExcessArguments()
|
|
20
|
+
.action((_opts, cmd) => {
|
|
21
|
+
runSetupStripe(getFlags(cmd));
|
|
18
22
|
});
|
|
19
23
|
setup
|
|
20
24
|
.command("dns")
|
|
@@ -23,142 +27,11 @@ export function registerSetupCommand(program) {
|
|
|
23
27
|
runSetupDns(getFlags(cmd));
|
|
24
28
|
});
|
|
25
29
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
catch (err) {
|
|
32
|
-
if (err instanceof ConfigNotFoundError) {
|
|
33
|
-
logger.error(err.message);
|
|
34
|
-
if (flags.json)
|
|
35
|
-
logger.json({ error: "no_config" });
|
|
36
|
-
process.exit(1);
|
|
37
|
-
}
|
|
38
|
-
throw err;
|
|
39
|
-
}
|
|
40
|
-
// Check if already connected via secrets or legacy config
|
|
41
|
-
const secrets = readSecrets();
|
|
42
|
-
if (secrets?.stripe_account_id || config.stripe_connected) {
|
|
43
|
-
const accountId = secrets?.stripe_account_id ?? config.stripe_account_id;
|
|
44
|
-
logger.warn("Stripe is already connected.");
|
|
45
|
-
logger.info(` Account: ${accountId}`);
|
|
46
|
-
logger.info(" To reconnect, disconnect first via the dashboard.");
|
|
47
|
-
if (flags.json) {
|
|
48
|
-
logger.json({
|
|
49
|
-
status: "already_connected",
|
|
50
|
-
stripe_account_id: accountId,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
process.exit(0);
|
|
54
|
-
}
|
|
55
|
-
const clientId = opts.stripeClientId ??
|
|
56
|
-
process.env.STRIPE_CONNECT_CLIENT_ID ??
|
|
57
|
-
process.env.AFFITOR_STRIPE_CLIENT_ID;
|
|
58
|
-
if (!clientId) {
|
|
59
|
-
logger.error("Stripe Connect client ID not configured.\n" +
|
|
60
|
-
" Set STRIPE_CONNECT_CLIENT_ID or AFFITOR_STRIPE_CLIENT_ID environment variable,\n" +
|
|
61
|
-
" or pass --stripe-client-id <id>.");
|
|
62
|
-
if (flags.json)
|
|
63
|
-
logger.json({ error: "missing_stripe_client_id" });
|
|
64
|
-
process.exit(1);
|
|
65
|
-
}
|
|
66
|
-
const stripeSecretKey = opts.stripeSecretKey ??
|
|
67
|
-
process.env.STRIPE_SECRET_KEY ??
|
|
68
|
-
process.env.AFFITOR_STRIPE_SECRET_KEY;
|
|
69
|
-
if (!stripeSecretKey) {
|
|
70
|
-
logger.error("Stripe secret key not configured.\n" +
|
|
71
|
-
" Set STRIPE_SECRET_KEY or AFFITOR_STRIPE_SECRET_KEY environment variable,\n" +
|
|
72
|
-
" or pass --stripe-secret-key <key>.");
|
|
73
|
-
if (flags.json)
|
|
74
|
-
logger.json({ error: "missing_stripe_secret_key" });
|
|
75
|
-
process.exit(1);
|
|
76
|
-
}
|
|
77
|
-
const apiUrl = flags.apiUrl ?? config.api_url;
|
|
78
|
-
const webhookUrl = `${apiUrl}/webhooks/stripe/${config.program_id}`;
|
|
79
|
-
try {
|
|
80
|
-
const totalSteps = 3;
|
|
81
|
-
logger.newline();
|
|
82
|
-
const result = await runStripeOAuth({
|
|
83
|
-
clientId,
|
|
84
|
-
programId: config.program_id,
|
|
85
|
-
webhookUrl,
|
|
86
|
-
stripeSecretKey,
|
|
87
|
-
});
|
|
88
|
-
logger.progressStep(1, totalSteps, "Stripe authorized", true);
|
|
89
|
-
const api = AffitorAPI.fromFlags({ apiKey: flags.apiKey, apiUrl });
|
|
90
|
-
const saveResult = await api.saveStripeConnection({
|
|
91
|
-
program_id: config.program_id,
|
|
92
|
-
stripe_user_id: result.stripe_user_id,
|
|
93
|
-
webhook_endpoint_id: result.webhook_endpoint_id,
|
|
94
|
-
webhook_secret: result.webhook_secret,
|
|
95
|
-
});
|
|
96
|
-
logger.progressStep(2, totalSteps, "Connection saved", true);
|
|
97
|
-
// Update secrets with Stripe account ID
|
|
98
|
-
const currentSecrets = readSecrets();
|
|
99
|
-
if (currentSecrets) {
|
|
100
|
-
writeSecrets({
|
|
101
|
-
...currentSecrets,
|
|
102
|
-
stripe_account_id: result.stripe_user_id,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
// Update config (for backward compat)
|
|
106
|
-
updateConfig({
|
|
107
|
-
stripe_connected: true,
|
|
108
|
-
stripe_account_id: result.stripe_user_id,
|
|
109
|
-
});
|
|
110
|
-
logger.progressStep(3, totalSteps, "Config updated", true);
|
|
111
|
-
if (flags.json) {
|
|
112
|
-
logger.json({
|
|
113
|
-
status: "connected",
|
|
114
|
-
stripe_account_id: result.stripe_user_id,
|
|
115
|
-
webhook_endpoint_id: result.webhook_endpoint_id,
|
|
116
|
-
charges_enabled: saveResult.charges_enabled,
|
|
117
|
-
payouts_enabled: saveResult.payouts_enabled,
|
|
118
|
-
});
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
const chargesIcon = saveResult.charges_enabled ? format.green("✓") : format.yellow("⚠");
|
|
122
|
-
const payoutsIcon = saveResult.payouts_enabled ? format.green("✓") : format.yellow("⚠");
|
|
123
|
-
logger.titledBox("Stripe Connected", [
|
|
124
|
-
"",
|
|
125
|
-
` Account: ${format.bold(result.stripe_user_id)}`,
|
|
126
|
-
` Charges: ${chargesIcon} ${saveResult.charges_enabled ? "Enabled" : "Pending verification"}`,
|
|
127
|
-
` Payouts: ${payoutsIcon} ${saveResult.payouts_enabled ? "Enabled" : "Pending verification"}`,
|
|
128
|
-
"",
|
|
129
|
-
` ${format.bold("Webhooks auto-configured:")}`,
|
|
130
|
-
` ${format.green("✓")} customer.created ${format.dim("→ lead tracking")}`,
|
|
131
|
-
` ${format.green("✓")} checkout.session.completed ${format.dim("→ sale tracking")}`,
|
|
132
|
-
` ${format.green("✓")} invoice.paid ${format.dim("→ recurring commission")}`,
|
|
133
|
-
` ${format.green("✓")} charge.refunded ${format.dim("→ auto clawback")}`,
|
|
134
|
-
"",
|
|
135
|
-
]);
|
|
136
|
-
logger.info(` Test it: ${format.dim("$")} npx affitor test sale`);
|
|
137
|
-
logger.newline();
|
|
138
|
-
}
|
|
139
|
-
catch (err) {
|
|
140
|
-
if (err instanceof StripeOAuthError) {
|
|
141
|
-
logger.error(err.message);
|
|
142
|
-
if (flags.json)
|
|
143
|
-
logger.json({ error: "stripe_oauth_error", message: err.message });
|
|
144
|
-
}
|
|
145
|
-
else if (err instanceof APIError) {
|
|
146
|
-
logger.error(`API error: ${err.message}`);
|
|
147
|
-
if (flags.json)
|
|
148
|
-
logger.json({ error: "api_error", message: err.message });
|
|
149
|
-
}
|
|
150
|
-
else if (err instanceof NetworkError) {
|
|
151
|
-
logger.error(err.message);
|
|
152
|
-
if (flags.json)
|
|
153
|
-
logger.json({ error: "network_error" });
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
logger.error(`Unexpected error: ${err.message}`);
|
|
157
|
-
if (flags.json)
|
|
158
|
-
logger.json({ error: "unexpected_error", message: err.message });
|
|
159
|
-
}
|
|
160
|
-
process.exit(1);
|
|
161
|
-
}
|
|
30
|
+
function runSetupStripe(flags) {
|
|
31
|
+
logger.error(STRIPE_SETUP_MOVED);
|
|
32
|
+
if (flags.json)
|
|
33
|
+
logger.json({ error: "stripe_setup_moved", message: STRIPE_SETUP_MOVED });
|
|
34
|
+
process.exitCode = 1;
|
|
162
35
|
}
|
|
163
36
|
function runSetupDns(flags) {
|
|
164
37
|
let config;
|
|
@@ -198,7 +71,7 @@ function runSetupDns(flags) {
|
|
|
198
71
|
` TTL: ${format.dim("Auto (or 300)")}`,
|
|
199
72
|
"",
|
|
200
73
|
]);
|
|
201
|
-
logger.info(` Get started:
|
|
74
|
+
logger.info(` Get started: connect Stripe from the Affitor dashboard (program Settings, Connect Stripe).`);
|
|
202
75
|
logger.newline();
|
|
203
76
|
}
|
|
204
77
|
//# sourceMappingURL=setup-stripe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-stripe.js","sourceRoot":"","sources":["../../src/commands/setup-stripe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-stripe.js","sourceRoot":"","sources":["../../src/commands/setup-stripe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAOrD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAOrD;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,QAAQ,iBAuG9C"}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as logger from "../lib/logger.js";
|
|
2
2
|
import { format } from "../lib/logger.js";
|
|
3
|
-
import {
|
|
3
|
+
import { readConfigOrKeyOnly, ConfigNotFoundError, apiKeySourceLabel } from "../lib/config.js";
|
|
4
4
|
import { AffitorAPI, APIError, NetworkError } from "../lib/api-client.js";
|
|
5
5
|
import { getFlags } from "../lib/flags.js";
|
|
6
6
|
export function registerStatusCommand(program) {
|
|
@@ -14,7 +14,7 @@ export function registerStatusCommand(program) {
|
|
|
14
14
|
export async function runStatus(flags) {
|
|
15
15
|
let config;
|
|
16
16
|
try {
|
|
17
|
-
config =
|
|
17
|
+
config = readConfigOrKeyOnly(flags);
|
|
18
18
|
}
|
|
19
19
|
catch (err) {
|
|
20
20
|
if (err instanceof ConfigNotFoundError) {
|
|
@@ -25,9 +25,9 @@ export async function runStatus(flags) {
|
|
|
25
25
|
}
|
|
26
26
|
throw err;
|
|
27
27
|
}
|
|
28
|
-
const api = AffitorAPI.fromFlags({ apiKey: flags.apiKey, apiUrl: flags.apiUrl ?? config
|
|
28
|
+
const api = AffitorAPI.fromFlags({ apiKey: flags.apiKey, apiUrl: flags.apiUrl ?? config?.api_url });
|
|
29
29
|
try {
|
|
30
|
-
const status = await api.getStatus(config
|
|
30
|
+
const status = await api.getStatus(config?.program_id);
|
|
31
31
|
if (flags.json) {
|
|
32
32
|
logger.json(status);
|
|
33
33
|
return;
|
|
@@ -46,12 +46,15 @@ export async function runStatus(flags) {
|
|
|
46
46
|
? "ok"
|
|
47
47
|
: "warn"
|
|
48
48
|
: "error";
|
|
49
|
+
// The config's domain when there is one; otherwise the website the API returns, which keeps
|
|
50
|
+
// its path ("example.com/pricing/"), reduced to its hostname for the DNS hint.
|
|
51
|
+
const domain = config?.domain ?? hostnameOf(status.domain);
|
|
49
52
|
// Find max for progress bars
|
|
50
53
|
const events = status.recent_events;
|
|
51
54
|
const maxEvent = Math.max(events.clicks_24h, events.leads_24h, events.sales_24h, 1);
|
|
52
55
|
logger.banner();
|
|
53
56
|
logger.titledBox(status.name, [
|
|
54
|
-
` ${format.dim(
|
|
57
|
+
` ${format.dim(domain)}`,
|
|
55
58
|
` ${format.dim("ID:")} ${status.program_id}`,
|
|
56
59
|
"",
|
|
57
60
|
` ${format.bold("Integrations")}`,
|
|
@@ -66,11 +69,11 @@ export async function runStatus(flags) {
|
|
|
66
69
|
` ${format.dim("Partners:")} ${format.bold(String(status.active_partners))} ${format.dim("Pending:")} ${format.bold(String(status.pending_commissions))}`,
|
|
67
70
|
]);
|
|
68
71
|
// Action hints
|
|
69
|
-
if (!status.dns_verified) {
|
|
70
|
-
logger.step(`DNS: Add CNAME t.${
|
|
72
|
+
if (!status.dns_verified && domain) {
|
|
73
|
+
logger.step(`DNS: Add CNAME t.${domain} → track.affitor.com`);
|
|
71
74
|
}
|
|
72
75
|
if (!status.stripe_connected) {
|
|
73
|
-
logger.step("Stripe:
|
|
76
|
+
logger.step("Stripe: Connect it in the Affitor dashboard (program Settings, Connect Stripe)");
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
79
|
catch (err) {
|
|
@@ -86,7 +89,7 @@ export async function runStatus(flags) {
|
|
|
86
89
|
// this command actually reads one: `--api-key` wins over the environment, so naming
|
|
87
90
|
// only AFFITOR_API_KEY would leave the refused key on the wire.
|
|
88
91
|
logger.error("API key expired or invalid.\n" +
|
|
89
|
-
` Ask a workspace owner of program ${config.program_id} to open Affitor → Settings → API Key and click Regenerate.\n` +
|
|
92
|
+
` Ask a workspace owner of ${config ? `program ${config.program_id}` : "the program"} to open Affitor → Settings → API Key and click Regenerate.\n` +
|
|
90
93
|
` Then replace the key in ${apiKeySourceLabel(flags)} with the new one.`);
|
|
91
94
|
}
|
|
92
95
|
else {
|
|
@@ -108,4 +111,14 @@ export async function runStatus(flags) {
|
|
|
108
111
|
process.exit(1);
|
|
109
112
|
}
|
|
110
113
|
}
|
|
114
|
+
function hostnameOf(site) {
|
|
115
|
+
if (!site)
|
|
116
|
+
return "";
|
|
117
|
+
try {
|
|
118
|
+
return new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(site) ? site : `https://${site}`).hostname;
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return "";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
111
124
|
//# sourceMappingURL=status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/test.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { Command } from "commander";
|
|
2
|
+
import type { CLIFlags } from "../types.js";
|
|
2
3
|
export declare function registerTestCommand(program: Command): void;
|
|
4
|
+
export declare function runTest(eventType: string | undefined, flags: CLIFlags): Promise<void>;
|
|
3
5
|
//# sourceMappingURL=test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAOnD;AAED,wBAAsB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,iBA6E3E"}
|
package/dist/commands/test.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as logger from "../lib/logger.js";
|
|
2
2
|
import { format } from "../lib/logger.js";
|
|
3
|
-
import {
|
|
3
|
+
import { readConfigOrKeyOnly, ConfigNotFoundError } from "../lib/config.js";
|
|
4
4
|
import { AffitorAPI, APIError, NetworkError } from "../lib/api-client.js";
|
|
5
5
|
import { getFlags } from "../lib/flags.js";
|
|
6
6
|
export function registerTestCommand(program) {
|
|
@@ -11,10 +11,10 @@ export function registerTestCommand(program) {
|
|
|
11
11
|
await runTest(eventType, getFlags(cmd));
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
|
-
async function runTest(eventType, flags) {
|
|
14
|
+
export async function runTest(eventType, flags) {
|
|
15
15
|
let config;
|
|
16
16
|
try {
|
|
17
|
-
config =
|
|
17
|
+
config = readConfigOrKeyOnly(flags);
|
|
18
18
|
}
|
|
19
19
|
catch (err) {
|
|
20
20
|
if (err instanceof ConfigNotFoundError) {
|
|
@@ -35,11 +35,11 @@ async function runTest(eventType, flags) {
|
|
|
35
35
|
logger.json({ error: "invalid_event_type" });
|
|
36
36
|
process.exit(1);
|
|
37
37
|
}
|
|
38
|
-
const api = AffitorAPI.fromFlags({ apiKey: flags.apiKey, apiUrl: flags.apiUrl ?? config
|
|
38
|
+
const api = AffitorAPI.fromFlags({ apiKey: flags.apiKey, apiUrl: flags.apiUrl ?? config?.api_url });
|
|
39
39
|
logger.newline();
|
|
40
40
|
try {
|
|
41
41
|
const result = await api.sendTestEvent({
|
|
42
|
-
program_id: config
|
|
42
|
+
program_id: config?.program_id,
|
|
43
43
|
event_type: type,
|
|
44
44
|
});
|
|
45
45
|
if (flags.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api-client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { InitResponse,
|
|
1
|
+
import type { InitResponse, ProgramStatus, ProgramSummary, TestEventResult, ReadinessResult, VerificationChainResult } from "../types.js";
|
|
2
2
|
export interface AuthStartResponse {
|
|
3
3
|
state: string;
|
|
4
4
|
auth_url: string;
|
|
@@ -42,18 +42,12 @@ export declare class AffitorAPI {
|
|
|
42
42
|
duration_months?: number;
|
|
43
43
|
advertiser_id?: number;
|
|
44
44
|
}): Promise<InitResponse>;
|
|
45
|
-
|
|
46
|
-
program_id: string;
|
|
47
|
-
stripe_user_id: string;
|
|
48
|
-
webhook_endpoint_id: string;
|
|
49
|
-
webhook_secret: string;
|
|
50
|
-
}): Promise<StripeConnectResponse>;
|
|
51
|
-
getStatus(programId: string): Promise<ProgramStatus>;
|
|
45
|
+
getStatus(programId?: string): Promise<ProgramStatus>;
|
|
52
46
|
authStart(): Promise<AuthStartResponse>;
|
|
53
47
|
authPoll(state: string): Promise<AuthPollResponse>;
|
|
54
48
|
listPrograms(): Promise<ProgramSummary[]>;
|
|
55
49
|
sendTestEvent(data: {
|
|
56
|
-
program_id
|
|
50
|
+
program_id?: string;
|
|
57
51
|
event_type: "click" | "lead" | "sale";
|
|
58
52
|
}): Promise<TestEventResult>;
|
|
59
53
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiDD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB,CAAqB;gBAEjC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO;IAK3D;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU;IAQjF,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,YAAY,CAAC;IAOnB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQrD,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAMvC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAQlD,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,aAAa,CAAC,IAAI,EAAE;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;KACvC,GAAG,OAAO,CAAC,eAAe,CAAC;IAS5B;;;;OAIG;IACG,YAAY,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAO7F;;;;;;;;;;OAUG;IACG,oBAAoB,CACxB,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9C,OAAO,CAAC,uBAAuB,CAAC;IAgDnC,gFAAgF;IAChF,qBAAqB,IAAI,IAAI;IAI7B,uFAAuF;IACvF,OAAO,CAAC,cAAc;IAatB;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;YA4BlB,OAAO;CAyFtB;AAED,qBAAa,QAAS,SAAQ,KAAK;IAExB,MAAM,EAAE,MAAM;IAErB,mFAAmF;IAC5E,IAAI,CAAC,EAAE,MAAM;gBAHb,MAAM,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;IACf,mFAAmF;IAC5E,IAAI,CAAC,EAAE,MAAM,YAAA;CAKvB;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/lib/api-client.js
CHANGED
|
@@ -61,14 +61,8 @@ export class AffitorAPI {
|
|
|
61
61
|
body: data,
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
async saveStripeConnection(data) {
|
|
65
|
-
return this.request("/api/v1/cli/stripe-connect", {
|
|
66
|
-
method: "POST",
|
|
67
|
-
body: data,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
64
|
async getStatus(programId) {
|
|
71
|
-
return this.request(`/api/v1/cli/status?program_id=${programId}`);
|
|
65
|
+
return this.request(programId ? `/api/v1/cli/status?program_id=${programId}` : "/api/v1/cli/status");
|
|
72
66
|
}
|
|
73
67
|
// ─── Auth endpoints ───────────────────────────────────────────
|
|
74
68
|
async authStart() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/lib/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type AffitorConfig, type AffitorSecrets, type UserCredentials } from "../types.js";
|
|
2
2
|
export declare function configExists(cwd?: string): boolean;
|
|
3
3
|
export declare function readConfig(cwd?: string): AffitorConfig;
|
|
4
|
+
/**
|
|
5
|
+
* The project config, or null when this directory has none but a key was passed with
|
|
6
|
+
* `--api-key` or AFFITOR_API_KEY. The API finds the program from the key alone, so `status` and
|
|
7
|
+
* `test` work for a program created in the dashboard, without `init` (which makes a new one).
|
|
8
|
+
*/
|
|
9
|
+
export declare function readConfigOrKeyOnly(flags: {
|
|
10
|
+
apiKey?: string;
|
|
11
|
+
}, cwd?: string): AffitorConfig | null;
|
|
4
12
|
export declare function writeConfig(config: AffitorConfig, cwd?: string): void;
|
|
5
13
|
export declare function updateConfig(updates: Partial<AffitorConfig>, cwd?: string): AffitorConfig;
|
|
6
14
|
export declare function readSecrets(cwd?: string): AffitorSecrets | null;
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAiBrB,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CActD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAC/B,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAKf;AAID,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAuB/D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBxE;AAYD,wBAAgB,eAAe,IAAI,eAAe,GAAG,IAAI,CAgBxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAS7D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAID,yFAAyF;AACzF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;AA+BjF,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAalF;AA4CD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAUN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAiBrB,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,CActD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAOlG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,EAC/B,GAAG,CAAC,EAAE,MAAM,GACX,aAAa,CAKf;AAID,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAuB/D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAmBxE;AAYD,wBAAgB,eAAe,IAAI,eAAe,GAAG,IAAI,CAgBxD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAS7D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAID,yFAAyF;AACzF,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;AA+BjF,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAalF;AA4CD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAUN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,IAAI,CAwIN;AAED,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBpD;AAgBD,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,GAAG,EAAE,MAAM;CAOxB"}
|
package/dist/lib/config.js
CHANGED
|
@@ -29,6 +29,21 @@ export function readConfig(cwd) {
|
|
|
29
29
|
}
|
|
30
30
|
return config;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* The project config, or null when this directory has none but a key was passed with
|
|
34
|
+
* `--api-key` or AFFITOR_API_KEY. The API finds the program from the key alone, so `status` and
|
|
35
|
+
* `test` work for a program created in the dashboard, without `init` (which makes a new one).
|
|
36
|
+
*/
|
|
37
|
+
export function readConfigOrKeyOnly(flags, cwd) {
|
|
38
|
+
try {
|
|
39
|
+
return readConfig(cwd);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
if (err instanceof ConfigNotFoundError && (flags.apiKey || process.env.AFFITOR_API_KEY))
|
|
43
|
+
return null;
|
|
44
|
+
throw err;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
32
47
|
export function writeConfig(config, cwd) {
|
|
33
48
|
const dir = getConfigDir(cwd);
|
|
34
49
|
if (!existsSync(dir)) {
|
|
@@ -220,7 +235,7 @@ export function writeEnvExample(config, apiKey, cwd) {
|
|
|
220
235
|
|
|
221
236
|
AFFITOR_API_KEY=${apiKey}
|
|
222
237
|
AFFITOR_PROGRAM_ID=${config.program_id}
|
|
223
|
-
# STRIPE_CONNECTED_ACCOUNT_ID= (
|
|
238
|
+
# STRIPE_CONNECTED_ACCOUNT_ID= (connect Stripe in the Affitor dashboard: program Settings, Connect Stripe)
|
|
224
239
|
`;
|
|
225
240
|
writeFileSync(join(dir, ".env.example"), content);
|
|
226
241
|
}
|
|
@@ -290,7 +305,7 @@ curl -X POST ${config.api_url}/api/v1/track/lead \\
|
|
|
290
305
|
|
|
291
306
|
### 3. Sale/Revenue Tracking
|
|
292
307
|
|
|
293
|
-
**Option A: Stripe (recommended)
|
|
308
|
+
**Option A: Stripe (recommended)**: connect Stripe in the Affitor dashboard (program Settings, Connect Stripe). Affitor's webhook records sales; add Affitor metadata to your checkout so sales are attributed reliably.
|
|
294
309
|
|
|
295
310
|
**Option B: Sale API (any payment provider)**
|
|
296
311
|
|
|
@@ -336,7 +351,6 @@ Use the same internal user ID everywhere:
|
|
|
336
351
|
\`\`\`bash
|
|
337
352
|
npx affitor onboard # Wire Affitor in end-to-end (detect→inject→verify)
|
|
338
353
|
npx affitor status # Check program health
|
|
339
|
-
npx affitor setup stripe # Auto-connect Stripe via OAuth
|
|
340
354
|
npx affitor test click # Send test click event
|
|
341
355
|
npx affitor test lead # Send test lead event
|
|
342
356
|
npx affitor test sale # Send test sale event
|
|
@@ -395,7 +409,7 @@ function formatCommission(config) {
|
|
|
395
409
|
export class ConfigNotFoundError extends Error {
|
|
396
410
|
constructor(dir) {
|
|
397
411
|
super(`No Affitor config found in ${dir}.\n` +
|
|
398
|
-
`Run ${"`npx affitor init`"} to set up
|
|
412
|
+
`Run ${"`npx affitor init`"} to set up a new program, or set AFFITOR_API_KEY to use an existing one.`);
|
|
399
413
|
this.name = "ConfigNotFoundError";
|
|
400
414
|
}
|
|
401
415
|
}
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/inject.js
CHANGED
|
@@ -11,7 +11,7 @@ export function trackerComponentSource(programId, useClientDirective) {
|
|
|
11
11
|
const idLiteral = typeof programId === "number" ? `${programId}` : JSON.stringify(programId);
|
|
12
12
|
const prefix = useClientDirective ? "'use client';\n\n" : "";
|
|
13
13
|
return `${prefix}import { useEffect } from 'react';
|
|
14
|
-
import {
|
|
14
|
+
import { loadAffitor } from '@affitor/sdk';
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Affitor affiliate tracking — auto-generated by \`affitor init\`.
|
|
@@ -19,7 +19,7 @@ import { init } from '@affitor/sdk';
|
|
|
19
19
|
*/
|
|
20
20
|
export function ${TRACKER_MARKER}() {
|
|
21
21
|
useEffect(() => {
|
|
22
|
-
|
|
22
|
+
void loadAffitor(${idLiteral});
|
|
23
23
|
}, []);
|
|
24
24
|
return null;
|
|
25
25
|
}
|
package/dist/lib/inject.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/lib/inject.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAWxC,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CAAC,SAA0B,EAAE,kBAA2B;IAC5F,MAAM,SAAS,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,OAAO,GAAG,MAAM;;;;;;;kBAOA,cAAc;;
|
|
1
|
+
{"version":3,"file":"inject.js","sourceRoot":"","sources":["../../src/lib/inject.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -47,13 +47,6 @@ export interface InitResponse {
|
|
|
47
47
|
program_slug: string;
|
|
48
48
|
domain: string;
|
|
49
49
|
}
|
|
50
|
-
export interface StripeConnectResponse {
|
|
51
|
-
connected: boolean;
|
|
52
|
-
stripe_account_id: string;
|
|
53
|
-
webhook_endpoint_id: string;
|
|
54
|
-
charges_enabled: boolean;
|
|
55
|
-
payouts_enabled: boolean;
|
|
56
|
-
}
|
|
57
50
|
export interface ProgramStatus {
|
|
58
51
|
program_id: string;
|
|
59
52
|
name: string;
|
|
@@ -180,8 +173,4 @@ export declare const CONFIG_FILE = "config.json";
|
|
|
180
173
|
export declare const SECRETS_FILE = ".env";
|
|
181
174
|
export declare const GLOBAL_CONFIG_DIR = ".affitor";
|
|
182
175
|
export declare const CREDENTIALS_FILE = "credentials.json";
|
|
183
|
-
export declare const OAUTH_CALLBACK_PORT_START = 3456;
|
|
184
|
-
export declare const OAUTH_CALLBACK_PORT_END = 3465;
|
|
185
|
-
export declare const OAUTH_TIMEOUT_MS = 120000;
|
|
186
|
-
export declare const WEBHOOK_EVENTS: readonly ["customer.created", "checkout.session.completed", "invoice.paid", "invoice.payment_failed", "charge.refunded", "customer.subscription.deleted"];
|
|
187
176
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE;QACV,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,OAAO,GACP,mBAAmB,GACnB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -6,15 +6,4 @@ export const CONFIG_FILE = "config.json";
|
|
|
6
6
|
export const SECRETS_FILE = ".env";
|
|
7
7
|
export const GLOBAL_CONFIG_DIR = ".affitor";
|
|
8
8
|
export const CREDENTIALS_FILE = "credentials.json";
|
|
9
|
-
export const OAUTH_CALLBACK_PORT_START = 3456;
|
|
10
|
-
export const OAUTH_CALLBACK_PORT_END = 3465;
|
|
11
|
-
export const OAUTH_TIMEOUT_MS = 120_000;
|
|
12
|
-
export const WEBHOOK_EVENTS = [
|
|
13
|
-
"customer.created",
|
|
14
|
-
"checkout.session.completed",
|
|
15
|
-
"invoice.paid",
|
|
16
|
-
"invoice.payment_failed",
|
|
17
|
-
"charge.refunded",
|
|
18
|
-
"customer.subscription.deleted",
|
|
19
|
-
];
|
|
20
9
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAkLA,MAAM,CAAC,MAAM,YAAY,GAAG,yBAAyB,CAAC;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,yCAAyC,CAAC;AACrE,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;AACzC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "affitor",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.3",
|
|
4
4
|
"description": "CLI-native affiliate tracking. Connect Stripe, track commissions, manage partners — all from your terminal.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -44,7 +44,6 @@
|
|
|
44
44
|
"@inquirer/prompts": "^7.5.0",
|
|
45
45
|
"picocolors": "^1.1.1",
|
|
46
46
|
"open": "^10.1.0",
|
|
47
|
-
"stripe": "^17.7.0",
|
|
48
47
|
"@affitor/recipes": "^0.1.0"
|
|
49
48
|
},
|
|
50
49
|
"devDependencies": {
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface StripeSetupResult {
|
|
2
|
-
stripe_user_id: string;
|
|
3
|
-
webhook_endpoint_id: string;
|
|
4
|
-
webhook_secret: string;
|
|
5
|
-
}
|
|
6
|
-
export declare function runStripeOAuth(opts: {
|
|
7
|
-
clientId: string;
|
|
8
|
-
programId: string;
|
|
9
|
-
webhookUrl: string;
|
|
10
|
-
stripeSecretKey: string;
|
|
11
|
-
}): Promise<StripeSetupResult>;
|
|
12
|
-
export declare class StripeOAuthError extends Error {
|
|
13
|
-
constructor(message: string);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=stripe-oauth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-oauth.d.ts","sourceRoot":"","sources":["../../src/lib/stripe-oauth.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwD7B;AAqKD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B"}
|
package/dist/lib/stripe-oauth.js
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import { createServer } from "node:http";
|
|
2
|
-
import { randomBytes } from "node:crypto";
|
|
3
|
-
import { URL } from "node:url";
|
|
4
|
-
import Stripe from "stripe";
|
|
5
|
-
import open from "open";
|
|
6
|
-
import * as logger from "./logger.js";
|
|
7
|
-
import { OAUTH_CALLBACK_PORT_START, OAUTH_CALLBACK_PORT_END, OAUTH_TIMEOUT_MS, WEBHOOK_EVENTS, } from "../types.js";
|
|
8
|
-
export async function runStripeOAuth(opts) {
|
|
9
|
-
const nonce = randomBytes(16).toString("hex");
|
|
10
|
-
const state = Buffer.from(JSON.stringify({ program_id: opts.programId, nonce })).toString("base64url");
|
|
11
|
-
const port = await findAvailablePort();
|
|
12
|
-
const redirectUri = `http://localhost:${port}/callback`;
|
|
13
|
-
const authCode = await startOAuthFlow({
|
|
14
|
-
clientId: opts.clientId,
|
|
15
|
-
redirectUri,
|
|
16
|
-
state,
|
|
17
|
-
nonce,
|
|
18
|
-
port,
|
|
19
|
-
});
|
|
20
|
-
// Exchange authorization code for connected account ID
|
|
21
|
-
logger.step("Exchanging authorization code...");
|
|
22
|
-
const stripe = new Stripe(opts.stripeSecretKey);
|
|
23
|
-
const tokenResponse = await stripe.oauth.token({
|
|
24
|
-
grant_type: "authorization_code",
|
|
25
|
-
code: authCode,
|
|
26
|
-
});
|
|
27
|
-
if (!tokenResponse.stripe_user_id) {
|
|
28
|
-
throw new StripeOAuthError("Stripe did not return an account ID. Authorization may have failed.");
|
|
29
|
-
}
|
|
30
|
-
const oauthResult = {
|
|
31
|
-
stripe_user_id: tokenResponse.stripe_user_id,
|
|
32
|
-
access_token: tokenResponse.access_token ?? "",
|
|
33
|
-
stripe_publishable_key: tokenResponse.stripe_publishable_key,
|
|
34
|
-
};
|
|
35
|
-
logger.success("Stripe authorized");
|
|
36
|
-
logger.step(`Account: ${oauthResult.stripe_user_id}`);
|
|
37
|
-
const webhook = await createWebhookEndpoint({
|
|
38
|
-
stripeSecretKey: opts.stripeSecretKey,
|
|
39
|
-
stripeAccountId: oauthResult.stripe_user_id,
|
|
40
|
-
webhookUrl: opts.webhookUrl,
|
|
41
|
-
});
|
|
42
|
-
logger.success("Webhook endpoint created");
|
|
43
|
-
for (const event of WEBHOOK_EVENTS) {
|
|
44
|
-
logger.step(`✓ ${event}`);
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
stripe_user_id: oauthResult.stripe_user_id,
|
|
48
|
-
webhook_endpoint_id: webhook.webhook_endpoint_id,
|
|
49
|
-
webhook_secret: webhook.webhook_secret,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
async function startOAuthFlow(opts) {
|
|
53
|
-
return new Promise((resolve, reject) => {
|
|
54
|
-
const timeout = setTimeout(() => {
|
|
55
|
-
server.close();
|
|
56
|
-
reject(new StripeOAuthError(`Timed out after ${OAUTH_TIMEOUT_MS / 1000}s waiting for Stripe authorization.\n` +
|
|
57
|
-
"Run `npx affitor setup stripe` to try again."));
|
|
58
|
-
}, OAUTH_TIMEOUT_MS);
|
|
59
|
-
const server = createServer((req, res) => {
|
|
60
|
-
const url = new URL(req.url ?? "/", `http://localhost:${opts.port}`);
|
|
61
|
-
if (url.pathname !== "/callback") {
|
|
62
|
-
res.writeHead(404);
|
|
63
|
-
res.end("Not found");
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
const error = url.searchParams.get("error");
|
|
67
|
-
if (error) {
|
|
68
|
-
clearTimeout(timeout);
|
|
69
|
-
res.writeHead(200, { "Content-Type": "text/html" });
|
|
70
|
-
res.end(errorPage("Stripe authorization was cancelled."));
|
|
71
|
-
server.close();
|
|
72
|
-
reject(new StripeOAuthError(`Stripe authorization cancelled: ${error}.\n` +
|
|
73
|
-
"Run `npx affitor setup stripe` to try again."));
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
const code = url.searchParams.get("code");
|
|
77
|
-
const returnedState = url.searchParams.get("state");
|
|
78
|
-
if (!code || returnedState !== opts.state) {
|
|
79
|
-
clearTimeout(timeout);
|
|
80
|
-
res.writeHead(200, { "Content-Type": "text/html" });
|
|
81
|
-
res.end(errorPage("Invalid OAuth callback. Please try again."));
|
|
82
|
-
server.close();
|
|
83
|
-
reject(new StripeOAuthError("Invalid OAuth state parameter."));
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
clearTimeout(timeout);
|
|
87
|
-
res.writeHead(200, { "Content-Type": "text/html" });
|
|
88
|
-
res.end(successPage("Stripe connected! You can close this tab and return to the terminal."));
|
|
89
|
-
server.close();
|
|
90
|
-
resolve(code);
|
|
91
|
-
});
|
|
92
|
-
server.listen(opts.port, () => {
|
|
93
|
-
const authorizeUrl = `https://connect.stripe.com/oauth/authorize` +
|
|
94
|
-
`?response_type=code` +
|
|
95
|
-
`&client_id=${opts.clientId}` +
|
|
96
|
-
`&scope=read_write` +
|
|
97
|
-
`&redirect_uri=${encodeURIComponent(opts.redirectUri)}` +
|
|
98
|
-
`&state=${opts.state}`;
|
|
99
|
-
logger.info("Opening Stripe Connect in your browser...");
|
|
100
|
-
logger.debug(`URL: ${authorizeUrl}`);
|
|
101
|
-
open(authorizeUrl).catch(() => {
|
|
102
|
-
logger.warn("Could not open browser automatically.");
|
|
103
|
-
logger.info(`Open this URL manually:\n ${authorizeUrl}`);
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
server.on("error", (err) => {
|
|
107
|
-
clearTimeout(timeout);
|
|
108
|
-
reject(new StripeOAuthError(`Failed to start OAuth callback server: ${err.message}`));
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
async function createWebhookEndpoint(opts) {
|
|
113
|
-
const stripe = new Stripe(opts.stripeSecretKey);
|
|
114
|
-
const endpoint = await stripe.webhookEndpoints.create({
|
|
115
|
-
url: opts.webhookUrl,
|
|
116
|
-
enabled_events: [...WEBHOOK_EVENTS],
|
|
117
|
-
description: "Affitor affiliate tracking — auto-configured by CLI",
|
|
118
|
-
}, { stripeAccount: opts.stripeAccountId });
|
|
119
|
-
if (!endpoint.secret) {
|
|
120
|
-
throw new StripeOAuthError("Webhook endpoint created but no signing secret returned. Contact support.");
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
webhook_endpoint_id: endpoint.id,
|
|
124
|
-
webhook_secret: endpoint.secret,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
async function findAvailablePort() {
|
|
128
|
-
for (let port = OAUTH_CALLBACK_PORT_START; port <= OAUTH_CALLBACK_PORT_END; port++) {
|
|
129
|
-
const available = await checkPort(port);
|
|
130
|
-
if (available)
|
|
131
|
-
return port;
|
|
132
|
-
}
|
|
133
|
-
throw new StripeOAuthError(`Ports ${OAUTH_CALLBACK_PORT_START}-${OAUTH_CALLBACK_PORT_END} are all in use.\n` +
|
|
134
|
-
"Close other applications and try again.");
|
|
135
|
-
}
|
|
136
|
-
function checkPort(port) {
|
|
137
|
-
return new Promise((resolve) => {
|
|
138
|
-
const server = createServer();
|
|
139
|
-
server.once("error", () => resolve(false));
|
|
140
|
-
server.once("listening", () => {
|
|
141
|
-
server.close(() => resolve(true));
|
|
142
|
-
});
|
|
143
|
-
server.listen(port);
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
function successPage(message) {
|
|
147
|
-
return `<!DOCTYPE html>
|
|
148
|
-
<html><head><title>Affitor</title>
|
|
149
|
-
<style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;min-height:100vh;margin:0;background:#f8fafc}
|
|
150
|
-
.card{text-align:center;padding:2rem;border-radius:12px;background:white;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
|
|
151
|
-
h1{color:#16a34a;font-size:1.5rem}p{color:#64748b}</style>
|
|
152
|
-
</head><body><div class="card"><h1>✓ ${message}</h1><p>Return to your terminal.</p></div></body></html>`;
|
|
153
|
-
}
|
|
154
|
-
function errorPage(message) {
|
|
155
|
-
return `<!DOCTYPE html>
|
|
156
|
-
<html><head><title>Affitor</title>
|
|
157
|
-
<style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;min-height:100vh;margin:0;background:#f8fafc}
|
|
158
|
-
.card{text-align:center;padding:2rem;border-radius:12px;background:white;box-shadow:0 1px 3px rgba(0,0,0,0.1)}
|
|
159
|
-
h1{color:#dc2626;font-size:1.5rem}p{color:#64748b}</style>
|
|
160
|
-
</head><body><div class="card"><h1>✗ ${message}</h1><p>Return to your terminal.</p></div></body></html>`;
|
|
161
|
-
}
|
|
162
|
-
export class StripeOAuthError extends Error {
|
|
163
|
-
constructor(message) {
|
|
164
|
-
super(message);
|
|
165
|
-
this.name = "StripeOAuthError";
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=stripe-oauth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stripe-oauth.js","sourceRoot":"","sources":["../../src/lib/stripe-oauth.ts"],"names":[],"mappings":"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"}
|