affitor 0.4.4 → 0.4.6
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 +144 -5
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.d.ts +3 -0
- package/dist/commands/agent.d.ts.map +1 -0
- package/dist/commands/agent.js +117 -0
- package/dist/commands/agent.js.map +1 -0
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/onboard.d.ts +39 -0
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +232 -22
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/setup-stripe.d.ts +1 -1
- package/dist/commands/setup-stripe.d.ts.map +1 -1
- package/dist/commands/setup-stripe.js +2 -2
- package/dist/commands/setup-stripe.js.map +1 -1
- package/dist/commands/status.js +2 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/lib/agent-launcher.d.ts +20 -0
- package/dist/lib/agent-launcher.d.ts.map +1 -0
- package/dist/lib/agent-launcher.js +130 -0
- package/dist/lib/agent-launcher.js.map +1 -0
- package/dist/lib/agent-setup.d.ts +52 -0
- package/dist/lib/agent-setup.d.ts.map +1 -0
- package/dist/lib/agent-setup.js +374 -0
- package/dist/lib/agent-setup.js.map +1 -0
- package/dist/lib/config.js +2 -2
- package/dist/lib/program-agent-client.d.ts +38 -0
- package/dist/lib/program-agent-client.d.ts.map +1 -0
- package/dist/lib/program-agent-client.js +172 -0
- package/dist/lib/program-agent-client.js.map +1 -0
- package/dist/lib/project-env.d.ts +10 -0
- package/dist/lib/project-env.d.ts.map +1 -0
- package/dist/lib/project-env.js +85 -0
- package/dist/lib/project-env.js.map +1 -0
- package/dist/lib/wizard.d.ts +2 -0
- package/dist/lib/wizard.d.ts.map +1 -1
- package/dist/lib/wizard.js +13 -1
- package/dist/lib/wizard.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { applySetup, type AgentClient, type SetupPlan } from "./agent-setup.js";
|
|
2
|
+
import type { StoredAgentCredential } from "./agent-launcher.js";
|
|
3
|
+
export declare class AgentSetupError extends Error {
|
|
4
|
+
readonly cleanupIds: number[];
|
|
5
|
+
readonly uncertainMint: boolean;
|
|
6
|
+
constructor(message: string, cleanupIds?: number[], uncertainMint?: boolean);
|
|
7
|
+
}
|
|
8
|
+
export declare function agentApiOrigin(value: string): string;
|
|
9
|
+
interface AgentRow {
|
|
10
|
+
id: number;
|
|
11
|
+
client: string;
|
|
12
|
+
key_hint: string;
|
|
13
|
+
status: string;
|
|
14
|
+
revoked_at?: string | null;
|
|
15
|
+
}
|
|
16
|
+
/** User JWT only. Mint is never retried: a lost response may already have created a row. */
|
|
17
|
+
export declare class ProgramAgentClient {
|
|
18
|
+
private token;
|
|
19
|
+
readonly origin: string;
|
|
20
|
+
constructor(token: string, origin: string);
|
|
21
|
+
private request;
|
|
22
|
+
programs(): Promise<{
|
|
23
|
+
id: number;
|
|
24
|
+
name: string;
|
|
25
|
+
}[]>;
|
|
26
|
+
list(programId: number): Promise<AgentRow[]>;
|
|
27
|
+
mint(programId: number, client: AgentClient): Promise<StoredAgentCredential>;
|
|
28
|
+
revoke(programId: number, id: number): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
/** Prepare every client before local writes; compensate only keys minted by this run. */
|
|
31
|
+
export declare function installProgramAgents(plan: SetupPlan, programId: number, api: ProgramAgentClient, apply?: typeof applySetup): Promise<{
|
|
32
|
+
client: "claude_code" | "cursor" | "codex";
|
|
33
|
+
path: string;
|
|
34
|
+
id: number | undefined;
|
|
35
|
+
state: "pending" | "reused" | "minted";
|
|
36
|
+
}[]>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=program-agent-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-agent-client.d.ts","sourceRoot":"","sources":["../../src/lib/program-agent-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAwE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtJ,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,qBAAa,eAAgB,SAAQ,KAAK;aACK,UAAU,EAAE,MAAM,EAAE;aAAuB,aAAa;gBAAzF,OAAO,EAAE,MAAM,EAAkB,UAAU,GAAE,MAAM,EAAO,EAAkB,aAAa,UAAQ;CAC9G;AAQD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQpD;AACD,UAAU,QAAQ;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE;AAE/G,4FAA4F;AAC5F,qBAAa,kBAAkB;IAEjB,OAAO,CAAC,KAAK;IADzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBACJ,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAInC,OAAO;IAef,QAAQ,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAMnD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgB5C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW5E,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAI3D;AAED,yFAAyF;AACzF,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,GAAE,OAAO,UAAuB;;;;;KAsC5I"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { applySetup, credentialWarnings, readPlannedAgentCredential, stageAgentCredential } from "./agent-setup.js";
|
|
2
|
+
export class AgentSetupError extends Error {
|
|
3
|
+
cleanupIds;
|
|
4
|
+
uncertainMint;
|
|
5
|
+
constructor(message, cleanupIds = [], uncertainMint = false) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.cleanupIds = cleanupIds;
|
|
8
|
+
this.uncertainMint = uncertainMint;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const positive = (value) => typeof value === "number" && Number.isSafeInteger(value) && value > 0;
|
|
12
|
+
function object(value) { return !!value && typeof value === "object" && !Array.isArray(value); }
|
|
13
|
+
function rootOrigin(value) {
|
|
14
|
+
const url = new URL(value);
|
|
15
|
+
if (url.username || url.password || url.search || url.hash || url.pathname !== "/" || !["https:", "http:"].includes(url.protocol))
|
|
16
|
+
throw new Error();
|
|
17
|
+
return url;
|
|
18
|
+
}
|
|
19
|
+
export function agentApiOrigin(value) {
|
|
20
|
+
try {
|
|
21
|
+
const url = rootOrigin(value);
|
|
22
|
+
if (url.origin === "https://api.affitor.com")
|
|
23
|
+
return url.origin;
|
|
24
|
+
const development = process.env.AFFITOR_AGENT_DEV_API_ORIGIN;
|
|
25
|
+
if (development && ["localhost", "127.0.0.1", "[::1]"].includes(url.hostname) && rootOrigin(development).origin === url.origin)
|
|
26
|
+
return url.origin;
|
|
27
|
+
throw new Error();
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
throw new AgentSetupError("Agent setup sends login credentials only to https://api.affitor.com. Local development requires AFFITOR_AGENT_DEV_API_ORIGIN to match the exact loopback API origin.");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** User JWT only. Mint is never retried: a lost response may already have created a row. */
|
|
34
|
+
export class ProgramAgentClient {
|
|
35
|
+
token;
|
|
36
|
+
origin;
|
|
37
|
+
constructor(token, origin) {
|
|
38
|
+
this.token = token;
|
|
39
|
+
this.origin = agentApiOrigin(origin);
|
|
40
|
+
if (!token || /^aff_|^agt_/.test(token))
|
|
41
|
+
throw new AgentSetupError("Sign in with affitor login before creating agent keys.");
|
|
42
|
+
}
|
|
43
|
+
async request(path, method = "GET", body) {
|
|
44
|
+
try {
|
|
45
|
+
const response = await fetch(this.origin + path, {
|
|
46
|
+
method, redirect: "error", signal: AbortSignal.timeout(15_000),
|
|
47
|
+
headers: { Authorization: `Bearer ${this.token}`, "Content-Type": "application/json" },
|
|
48
|
+
...(body === undefined ? {} : { body: JSON.stringify(body) }),
|
|
49
|
+
});
|
|
50
|
+
if (!response.ok)
|
|
51
|
+
throw new AgentSetupError(`Agent key request failed (HTTP ${response.status}). Check login, Owner access and the CMS release.`, [], method === "POST" && response.status >= 500);
|
|
52
|
+
try {
|
|
53
|
+
return await response.json();
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
throw new AgentSetupError("Agent key response could not be read.", [], method === "POST");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (error instanceof AgentSetupError)
|
|
61
|
+
throw error;
|
|
62
|
+
throw new AgentSetupError("Agent key request did not complete. Check the API origin and connection.", [], method === "POST");
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async programs() {
|
|
66
|
+
const result = await this.request("/api/v1/cli/programs");
|
|
67
|
+
const rows = object(result) ? result.data : null;
|
|
68
|
+
if (!Array.isArray(rows) || rows.some(row => !object(row) || !positive(row.id) || typeof row.name !== "string"))
|
|
69
|
+
throw new AgentSetupError("Program list response is invalid.");
|
|
70
|
+
return rows.map(row => ({ id: row.id, name: row.name.slice(0, 160).replace(/[\x00-\x1f\x7f]/g, "") }));
|
|
71
|
+
}
|
|
72
|
+
async list(programId) {
|
|
73
|
+
const rows = [];
|
|
74
|
+
let before = null;
|
|
75
|
+
for (let page = 0; page < 100; page++) {
|
|
76
|
+
const result = await this.request(`/api/v1/programs/${programId}/agents${before ? `?before=${before}` : ""}`);
|
|
77
|
+
if (!object(result) || !Array.isArray(result.data) || result.data.length > 100 || !object(result.meta))
|
|
78
|
+
throw new AgentSetupError("Agent key list response is invalid.");
|
|
79
|
+
for (const row of result.data) {
|
|
80
|
+
if (!object(row) || !positive(row.id) || typeof row.client !== "string" || typeof row.key_hint !== "string" || typeof row.status !== "string" || !["waiting", "connected", "verified", "failing", "revoked"].includes(row.status))
|
|
81
|
+
throw new AgentSetupError("Agent key list response is invalid.");
|
|
82
|
+
rows.push({ id: row.id, client: row.client, key_hint: row.key_hint, status: row.status, revoked_at: typeof row.revoked_at === "string" ? row.revoked_at : null });
|
|
83
|
+
}
|
|
84
|
+
const next = result.meta.next_cursor;
|
|
85
|
+
if (next === null)
|
|
86
|
+
return rows;
|
|
87
|
+
if (!positive(next) || (before !== null && next >= before))
|
|
88
|
+
throw new AgentSetupError("Agent key pagination is invalid.");
|
|
89
|
+
before = next;
|
|
90
|
+
}
|
|
91
|
+
throw new AgentSetupError("Agent key list is too large. Review credentials in the dashboard before retrying.");
|
|
92
|
+
}
|
|
93
|
+
async mint(programId, client) {
|
|
94
|
+
const result = await this.request(`/api/v1/programs/${programId}/agents`, "POST", { name: client, client });
|
|
95
|
+
const row = object(result) && object(result.data) ? result.data : null;
|
|
96
|
+
if (!row || !positive(row.id) || row.client !== client || typeof row.api_key !== "string" || !/^aff_ag_[A-Za-z0-9_-]{43}$/.test(row.api_key)) {
|
|
97
|
+
throw new AgentSetupError("Agent mint response is invalid. Review Waiting agents in the dashboard.", row && positive(row.id) ? [row.id] : [], !(row && positive(row.id)));
|
|
98
|
+
}
|
|
99
|
+
const created = new Date().toISOString();
|
|
100
|
+
return { version: 1, id: row.id, program_id: programId, client, api_url: this.origin, created_at: created,
|
|
101
|
+
credential_note: `Signed-in account; program ${programId}; ${client}; readiness/status/synthetic-test/click/test-only lead; created ${created}; not verified. Never commit this file.`,
|
|
102
|
+
api_key: row.api_key };
|
|
103
|
+
}
|
|
104
|
+
async revoke(programId, id) {
|
|
105
|
+
const result = await this.request(`/api/v1/programs/${programId}/agents/${id}`, "DELETE");
|
|
106
|
+
if (!object(result) || !object(result.data) || result.data.revoked !== true)
|
|
107
|
+
throw new AgentSetupError("Agent revocation could not be confirmed.");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** Prepare every client before local writes; compensate only keys minted by this run. */
|
|
111
|
+
export async function installProgramAgents(plan, programId, api, apply = applySetup) {
|
|
112
|
+
if (!positive(programId) || !plan.agentKeys || plan.agentKeys.length !== plan.clients.length)
|
|
113
|
+
throw new AgentSetupError("Generate a fresh agent-key setup plan.");
|
|
114
|
+
const existing = plan.clients.map(client => {
|
|
115
|
+
const warnings = credentialWarnings(plan.project, `.affitor/agents/${client}.json`);
|
|
116
|
+
if (warnings.includes("credential_tracked"))
|
|
117
|
+
throw new AgentSetupError("A private agent credential is tracked by Git. Rotate it and resolve tracking/history before setup.");
|
|
118
|
+
if (warnings.length)
|
|
119
|
+
throw new AgentSetupError("Git credential tracking could not be checked. Resolve Git access and retry; no agent key was minted or files written.");
|
|
120
|
+
const record = readPlannedAgentCredential(plan, client);
|
|
121
|
+
if (record && (record.program_id !== programId || record.api_url !== api.origin))
|
|
122
|
+
throw new AgentSetupError("A selected agent belongs to another program or API origin. Revoke and remove that private credential before switching.");
|
|
123
|
+
return { client, record };
|
|
124
|
+
});
|
|
125
|
+
// Only owner list reads: never call readiness/status to pretend a client connected.
|
|
126
|
+
const rows = await api.list(programId), minted = [], replaced = [];
|
|
127
|
+
try {
|
|
128
|
+
for (const { client, record } of existing) {
|
|
129
|
+
const row = record && rows.find(row => row.id === record.id && row.client === client);
|
|
130
|
+
const active = row && row.status !== "revoked" && !row.revoked_at;
|
|
131
|
+
const reusable = record && active && row.key_hint === `aff_ag_…${record.api_key.slice(-4)}`;
|
|
132
|
+
const credential = reusable ? record : await api.mint(programId, client);
|
|
133
|
+
if (!reusable)
|
|
134
|
+
minted.push(credential.id);
|
|
135
|
+
if (record && active && !reusable)
|
|
136
|
+
replaced.push(record.id);
|
|
137
|
+
stageAgentCredential(plan, client, credential, !reusable);
|
|
138
|
+
}
|
|
139
|
+
apply(plan);
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
const known = [...new Set([...minted, ...(error instanceof AgentSetupError ? error.cleanupIds : [])])];
|
|
143
|
+
const failed = [];
|
|
144
|
+
for (const id of known) {
|
|
145
|
+
try {
|
|
146
|
+
await api.revoke(programId, id);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
failed.push(id);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const uncertain = error instanceof AgentSetupError && error.uncertainMint;
|
|
153
|
+
throw new AgentSetupError(uncertain || failed.length
|
|
154
|
+
? "Setup did not finish. Review Waiting agents in the dashboard and revoke unused credentials before retrying. Local files/private backups may need recovery."
|
|
155
|
+
: "Setup did not finish; newly minted credentials were revoked. Check local files/private backups before retrying.", failed, uncertain);
|
|
156
|
+
}
|
|
157
|
+
// Local installation has committed. Failure to retire an old key must not
|
|
158
|
+
// compensate the new credentials that the client now uses.
|
|
159
|
+
const failed = [];
|
|
160
|
+
for (const id of new Set(replaced)) {
|
|
161
|
+
try {
|
|
162
|
+
await api.revoke(programId, id);
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
failed.push(id);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (failed.length)
|
|
169
|
+
throw new AgentSetupError("New agent credentials were installed, but previous keys could not be confirmed revoked. Review the reported old key ids in Settings → Agents before retrying.", failed);
|
|
170
|
+
return plan.agentKeys.map(({ client, path, id, state }) => ({ client, path, id, state }));
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=program-agent-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"program-agent-client.js","sourceRoot":"","sources":["../../src/lib/program-agent-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type Reason = "certain" | "no_runtime_key" | "unknown_layer" | "unreadable_layer" | "duplicate_assignment" | "conflicting_keys";
|
|
2
|
+
export interface ProjectEnvironment {
|
|
3
|
+
envName: string;
|
|
4
|
+
hasTargetKey: boolean;
|
|
5
|
+
certain: boolean;
|
|
6
|
+
reason: Reason;
|
|
7
|
+
}
|
|
8
|
+
export declare function inspectProjectEnvironment(cwd: string, expectedKey: string): ProjectEnvironment;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=project-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-env.d.ts","sourceRoot":"","sources":["../../src/lib/project-env.ts"],"names":[],"mappings":"AAKA,KAAK,MAAM,GAAG,SAAS,GAAG,gBAAgB,GAAG,eAAe,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;AAChI,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AAgChH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,CAmC9F"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { existsSync, lstatSync, readdirSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { parse } from "dotenv";
|
|
4
|
+
const ENV_NAMES = [".env", ".env.local", ...["production", "development", "test"].flatMap(mode => [`.env.${mode}`, `.env.${mode}.local`])];
|
|
5
|
+
// Only assignment boundaries are shared with the pinned dotenv parser so duplicate
|
|
6
|
+
// counting respects quoted multiline values. Values always come from dotenv.parse.
|
|
7
|
+
// Grammar from dotenv17.3.1; the required redistribution notice follows.
|
|
8
|
+
/*
|
|
9
|
+
Copyright (c) 2015, Scott Motte
|
|
10
|
+
All rights reserved.
|
|
11
|
+
|
|
12
|
+
Redistribution and use in source and binary forms, with or without
|
|
13
|
+
modification, are permitted provided that the following conditions are met:
|
|
14
|
+
|
|
15
|
+
* Redistributions of source code must retain the above copyright notice, this
|
|
16
|
+
list of conditions and the following disclaimer.
|
|
17
|
+
|
|
18
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
|
19
|
+
this list of conditions and the following disclaimer in the documentation
|
|
20
|
+
and/or other materials provided with the distribution.
|
|
21
|
+
|
|
22
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
23
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
24
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
25
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
26
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
27
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
28
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
29
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
30
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
31
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
32
|
+
*/
|
|
33
|
+
const DOTENV_ASSIGNMENT = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
|
|
34
|
+
export function inspectProjectEnvironment(cwd, expectedKey) {
|
|
35
|
+
const envName = existsSync(join(cwd, ".env.local")) ? ".env.local" : ".env";
|
|
36
|
+
const result = (reason, hasTargetKey = false) => ({ envName, hasTargetKey, certain: reason === "certain", reason });
|
|
37
|
+
let names;
|
|
38
|
+
try {
|
|
39
|
+
names = readdirSync(cwd);
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return result("unreadable_layer");
|
|
43
|
+
}
|
|
44
|
+
// No inference about custom loaders, templates or nonstandard runtime modes.
|
|
45
|
+
if (names.some(name => name.toLowerCase().startsWith(".env") && !ENV_NAMES.includes(name)))
|
|
46
|
+
return result("unknown_layer");
|
|
47
|
+
const keys = [];
|
|
48
|
+
if (process.env.AFFITOR_API_KEY !== undefined)
|
|
49
|
+
keys.push(process.env.AFFITOR_API_KEY);
|
|
50
|
+
let hasTargetKey = false;
|
|
51
|
+
for (const name of ENV_NAMES) {
|
|
52
|
+
let text;
|
|
53
|
+
try {
|
|
54
|
+
const path = join(cwd, name);
|
|
55
|
+
const stat = lstatSync(path);
|
|
56
|
+
if (!stat.isFile() || stat.isSymbolicLink())
|
|
57
|
+
return result("unreadable_layer");
|
|
58
|
+
const bytes = readFileSync(path);
|
|
59
|
+
text = bytes.toString("utf8");
|
|
60
|
+
if (!Buffer.from(text, "utf8").equals(bytes))
|
|
61
|
+
return result("unreadable_layer");
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (error.code === "ENOENT")
|
|
65
|
+
continue;
|
|
66
|
+
return result("unreadable_layer");
|
|
67
|
+
}
|
|
68
|
+
const normalized = text.replace(/\r\n?/g, "\n");
|
|
69
|
+
const assignments = [...normalized.matchAll(DOTENV_ASSIGNMENT)].filter(match => match[1] === "AFFITOR_API_KEY");
|
|
70
|
+
if (assignments.length > 1)
|
|
71
|
+
return result("duplicate_assignment");
|
|
72
|
+
const values = parse(text);
|
|
73
|
+
if (Object.hasOwn(values, "AFFITOR_API_KEY")) {
|
|
74
|
+
keys.push(values.AFFITOR_API_KEY);
|
|
75
|
+
if (name === envName)
|
|
76
|
+
hasTargetKey = true;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!keys.length)
|
|
80
|
+
return result("no_runtime_key");
|
|
81
|
+
if (keys.some(key => !/^[A-Za-z0-9_-]+$/.test(key)) || new Set(keys).size !== 1 || keys[0] !== expectedKey)
|
|
82
|
+
return result("conflicting_keys", hasTargetKey);
|
|
83
|
+
return result("certain", hasTargetKey);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=project-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-env.js","sourceRoot":"","sources":["../../src/lib/project-env.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/wizard.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export interface WizardOptions {
|
|
|
3
3
|
programId: string | number;
|
|
4
4
|
apiUrl: string;
|
|
5
5
|
autoConfirm: boolean;
|
|
6
|
+
/** true: bound now; unknown: onboarding cannot rule out Connect. Both suppress sale advice. */
|
|
7
|
+
stripeRecordsSales?: true | "unknown";
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Auto-install wizard: detect the stack, install @affitor/sdk, create the
|
package/dist/lib/wizard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard.d.ts","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,+FAA+F;IAC/F,kBAAkB,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACvC;AAiBD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DzE"}
|
package/dist/lib/wizard.js
CHANGED
|
@@ -122,6 +122,10 @@ async function setupServerTracking(opts, pm, sdkInstalled, framework) {
|
|
|
122
122
|
// If they already verify Stripe webhooks somewhere, point at the exact site
|
|
123
123
|
// (the trackSale call belongs right after constructEvent). Best-effort hint —
|
|
124
124
|
// we still print the full snippets below as the canonical reference.
|
|
125
|
+
if (provider === "stripe" && opts.stripeRecordsSales) {
|
|
126
|
+
printServerSnippets(serverTrackingSnippets(provider), { salesFromStripe: opts.stripeRecordsSales });
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
125
129
|
if (provider === "stripe") {
|
|
126
130
|
const hook = detectStripeWebhook(opts.cwd, framework);
|
|
127
131
|
if (hook) {
|
|
@@ -135,10 +139,18 @@ async function setupServerTracking(opts, pm, sdkInstalled, framework) {
|
|
|
135
139
|
}
|
|
136
140
|
printServerSnippets(serverTrackingSnippets(provider));
|
|
137
141
|
}
|
|
138
|
-
function printServerSnippets(s) {
|
|
142
|
+
function printServerSnippets(s, opts = {}) {
|
|
139
143
|
const lines = ["", ` ${format.dim("1) At signup — bind the customer (server-side):")}`];
|
|
140
144
|
for (const l of s.lead.split("\n"))
|
|
141
145
|
lines.push(` ${format.cyan(l)}`);
|
|
146
|
+
if (opts.salesFromStripe) {
|
|
147
|
+
const advice = opts.salesFromStripe === true
|
|
148
|
+
? "2) Stripe is bound in Affitor. Do not add a second trackSale path; it can count a payment twice."
|
|
149
|
+
: "2) Stripe sale tracking needs review. Check current, shared-account and delayed Connect events before adding trackSale.";
|
|
150
|
+
lines.push("", ` ${format.dim(advice)}`, "");
|
|
151
|
+
logger.titledBox("Track conversions (add to your backend)", lines);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
142
154
|
lines.push("", ` ${format.dim(`2) At purchase — ${s.saleContext}:`)}`);
|
|
143
155
|
for (const l of s.sale.split("\n"))
|
|
144
156
|
lines.push(` ${format.cyan(l)}`);
|
package/dist/lib/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAuC,MAAM,mBAAmB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,iEAAiE;AACjE,wEAAwE;AACxE,0DAA0D;AAC1D,MAAM,WAAW,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/lib/wizard.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -56,6 +56,8 @@ export interface ProgramStatus {
|
|
|
56
56
|
dns_verified: boolean;
|
|
57
57
|
stripe_connected: boolean;
|
|
58
58
|
stripe_charges_enabled?: boolean;
|
|
59
|
+
/** Current Stripe binding only. false does not rule out delayed/shared-account Connect events. */
|
|
60
|
+
stripe_account_bound?: boolean;
|
|
59
61
|
recent_events: {
|
|
60
62
|
clicks_24h: number;
|
|
61
63
|
leads_24h: number;
|
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;IACf,wFAAwF;IACxF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,SAAS,CAAC;AAE1F,qFAAqF;AACrF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvF,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,eAAe,CAAA;KAAE,CAAC;CACvF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE;QAAE,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,4BAA4B,CAAC;AACtD,eAAO,MAAM,WAAW,4CAA4C,CAAC;AACrE,eAAO,MAAM,eAAe,4BAAe,CAAC;AAC5C,eAAO,MAAM,UAAU,aAAa,CAAC;AACrC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
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":"AAsLA,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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "affitor",
|
|
3
|
-
"version": "0.4.
|
|
4
|
-
"description": "CLI-native affiliate tracking. Connect Stripe, track commissions, manage partners
|
|
3
|
+
"version": "0.4.6",
|
|
4
|
+
"description": "CLI-native affiliate tracking. Connect Stripe, track commissions, manage partners \u2014 all from your terminal.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"affitor": "./dist/cli.js"
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"@inquirer/prompts": "^7.5.0",
|
|
45
45
|
"picocolors": "^1.1.1",
|
|
46
46
|
"open": "^10.1.0",
|
|
47
|
-
"@affitor/recipes": "^0.1.0"
|
|
47
|
+
"@affitor/recipes": "^0.1.0",
|
|
48
|
+
"dotenv": "17.3.1"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"typescript": "^5.7.0",
|