@atlasauth/cli 0.4.0 → 0.6.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/CHANGELOG.md +16 -0
- package/dist/args.d.ts +39 -0
- package/dist/args.js +15 -0
- package/dist/args.js.map +1 -1
- package/dist/commands/import.d.ts +3 -0
- package/dist/commands/import.js +116 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/mcp.d.ts +38 -0
- package/dist/commands/mcp.js +108 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/referrals.d.ts +18 -4
- package/dist/commands/referrals.js +161 -26
- package/dist/commands/referrals.js.map +1 -1
- package/dist/help.d.ts +1 -1
- package/dist/help.js +57 -5
- package/dist/help.js.map +1 -1
- package/dist/import/csv.d.ts +6 -0
- package/dist/import/csv.js +63 -0
- package/dist/import/csv.js.map +1 -0
- package/dist/import/vendors.d.ts +57 -0
- package/dist/import/vendors.js +568 -0
- package/dist/import/vendors.js.map +1 -0
- package/dist/run.js +4 -0
- package/dist/run.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REFERALLY_VERSION = void 0;
|
|
3
|
+
exports.REFERALLY_SYNC_TOPICS = exports.REFERALLY_VERSION = void 0;
|
|
4
4
|
exports.pingSkewMs = pingSkewMs;
|
|
5
5
|
exports.describeTestLines = describeTestLines;
|
|
6
6
|
exports.parseCodeCsv = parseCodeCsv;
|
|
7
|
+
exports.referallyKeyMode = referallyKeyMode;
|
|
7
8
|
exports.referrals = referrals;
|
|
8
9
|
const node_crypto_1 = require("node:crypto");
|
|
9
10
|
const backend_1 = require("@atlasauth/backend");
|
|
@@ -18,12 +19,12 @@ const shared_1 = require("./shared");
|
|
|
18
19
|
* `atlas referrals connect | backfill | status`: referral attribution from the
|
|
19
20
|
* terminal.
|
|
20
21
|
*
|
|
21
|
-
* `connect --provider referally` is bring-your-own-key: the
|
|
22
|
-
* key is used for one call (it creates the Atlas connection on
|
|
23
|
-
* is never stored or printed. The connection id and secret
|
|
22
|
+
* `connect --provider referally` is bring-your-own-key: the Referalli merchant
|
|
23
|
+
* key is used for one call (it creates the Atlas connection on Referalli) and
|
|
24
|
+
* is never stored or printed. The connection id and secret Referalli returns
|
|
24
25
|
* go straight onto the instance; the secret is never printed either.
|
|
25
26
|
*/
|
|
26
|
-
/** The
|
|
27
|
+
/** The Referalli API version pinned on every call. */
|
|
27
28
|
exports.REFERALLY_VERSION = '2026-10-21';
|
|
28
29
|
const PROVIDERS = ['referally', 'webhook'];
|
|
29
30
|
/** Read a key from a file, or stdin with '-'. A bare key or a dotenv line. Never printed. */
|
|
@@ -112,23 +113,24 @@ function parseCodeCsv(text) {
|
|
|
112
113
|
});
|
|
113
114
|
return out;
|
|
114
115
|
}
|
|
115
|
-
|
|
116
|
+
/** One call to the Referalli merchant API with the merchant key. Throws a CliError naming `what` on failure. */
|
|
117
|
+
async function referallyRequest(ctx, input) {
|
|
116
118
|
const fetchImpl = ctx.fetch ?? globalThis.fetch;
|
|
117
119
|
let res;
|
|
118
120
|
try {
|
|
119
|
-
res = await fetchImpl(`${input.baseUrl}
|
|
120
|
-
method:
|
|
121
|
+
res = await fetchImpl(`${input.baseUrl}${input.path}`, {
|
|
122
|
+
method: input.method,
|
|
121
123
|
headers: {
|
|
122
124
|
authorization: `Bearer ${input.key}`,
|
|
123
|
-
'content-type': 'application/json',
|
|
124
125
|
accept: 'application/json',
|
|
125
126
|
'referally-version': exports.REFERALLY_VERSION,
|
|
127
|
+
...(input.body ? { 'content-type': 'application/json' } : {}),
|
|
126
128
|
},
|
|
127
|
-
body: JSON.stringify(input.body),
|
|
129
|
+
...(input.body ? { body: JSON.stringify(input.body) } : {}),
|
|
128
130
|
});
|
|
129
131
|
}
|
|
130
132
|
catch (err) {
|
|
131
|
-
throw new errors_1.CliError(`Could not reach
|
|
133
|
+
throw new errors_1.CliError(`Could not reach Referalli at ${input.baseUrl}: ${err instanceof Error ? err.message : String(err)}`);
|
|
132
134
|
}
|
|
133
135
|
const text = await res.text();
|
|
134
136
|
let json = {};
|
|
@@ -144,13 +146,47 @@ async function referallyCreateConnection(ctx, input) {
|
|
|
144
146
|
(Array.isArray(err) && err[0] && typeof err[0] === 'object' && 'message' in err[0] ? String(err[0].message) : null) ??
|
|
145
147
|
(typeof json.message === 'string' ? json.message : null);
|
|
146
148
|
const hint = res.status === 401 || res.status === 403 ? ' Check the merchant key.' : '';
|
|
147
|
-
throw new errors_1.CliError(`
|
|
149
|
+
throw new errors_1.CliError(`Referalli refused to ${input.what} (HTTP ${res.status})${msg ? `: ${msg}` : ''}.${hint}`);
|
|
148
150
|
}
|
|
151
|
+
return json;
|
|
152
|
+
}
|
|
153
|
+
async function referallyCreateConnection(ctx, input) {
|
|
154
|
+
const json = await referallyRequest(ctx, { ...input, method: 'POST', path: '/v1/auth/connections', what: 'create the connection' });
|
|
149
155
|
if (typeof json.id !== 'string' || typeof json.secret !== 'string') {
|
|
150
|
-
throw new errors_1.CliError('
|
|
156
|
+
throw new errors_1.CliError('Referalli answered without a connection id and secret.');
|
|
151
157
|
}
|
|
152
158
|
return json;
|
|
153
159
|
}
|
|
160
|
+
/** The Referalli topics two-way sync subscribes to (changes to a referral after sign-up). */
|
|
161
|
+
exports.REFERALLY_SYNC_TOPICS = [
|
|
162
|
+
'referral.created',
|
|
163
|
+
'referral.held',
|
|
164
|
+
'referral.paused',
|
|
165
|
+
'referral.resumed',
|
|
166
|
+
'referral.approved',
|
|
167
|
+
'referral.voided',
|
|
168
|
+
'referral.reassigned',
|
|
169
|
+
];
|
|
170
|
+
/**
|
|
171
|
+
* Whether the merchant key reaches live or test data: the org's `livemode`,
|
|
172
|
+
* else the key prefix (rk_test_ = test; rk_live_ and older rk_ keys = live).
|
|
173
|
+
* `known` is false when Referalli reports no mode (no test mode there).
|
|
174
|
+
*/
|
|
175
|
+
async function referallyKeyMode(ctx, input) {
|
|
176
|
+
try {
|
|
177
|
+
const org = await referallyRequest(ctx, { ...input, method: 'GET', path: '/v1/org', what: 'read the organization' });
|
|
178
|
+
if (typeof org.livemode === 'boolean')
|
|
179
|
+
return { live: org.livemode, known: true };
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
/* fall back to the key prefix */
|
|
183
|
+
}
|
|
184
|
+
if (input.key.startsWith('rk_test_'))
|
|
185
|
+
return { live: false, known: true };
|
|
186
|
+
if (input.key.startsWith('rk_live_'))
|
|
187
|
+
return { live: true, known: true };
|
|
188
|
+
return { live: true, known: false };
|
|
189
|
+
}
|
|
154
190
|
async function connect(ctx, args) {
|
|
155
191
|
const v = args.values;
|
|
156
192
|
const json = (0, shared_1.wantsJson)(v);
|
|
@@ -170,17 +206,32 @@ async function connect(ctx, args) {
|
|
|
170
206
|
throw new errors_1.CliError('referrals connect --provider referally needs --program <prg_…>.');
|
|
171
207
|
const baseRaw = (0, args_1.str)(v, 'base-url') ?? ctx.env.REFERALLY_BASE_URL?.trim();
|
|
172
208
|
if (!baseRaw)
|
|
173
|
-
throw new errors_1.CliError('Pass --base-url <your
|
|
209
|
+
throw new errors_1.CliError('Pass --base-url <your Referalli base URL> (or set REFERALLY_BASE_URL).');
|
|
174
210
|
const baseUrl = httpsUrl(baseRaw, '--base-url');
|
|
175
211
|
const keyFile = (0, args_1.str)(v, 'referally-key-file');
|
|
176
|
-
const key = (0, args_1.str)(v, 'referally-key') ?? (keyFile ? readKeyFile(ctx, keyFile, 'the
|
|
212
|
+
const key = (0, args_1.str)(v, 'referally-key') ?? (keyFile ? readKeyFile(ctx, keyFile, 'the Referalli key') : ctx.env.REFERALLY_API_KEY?.trim());
|
|
177
213
|
if (!key) {
|
|
178
|
-
throw new errors_1.CliError('Pass your
|
|
214
|
+
throw new errors_1.CliError('Pass your Referalli merchant key with --referally-key-file <path|-> (or --referally-key, or REFERALLY_API_KEY). It is used once and never stored.');
|
|
179
215
|
}
|
|
180
216
|
const destination = (0, args_1.str)(v, 'destination');
|
|
181
217
|
if (destination)
|
|
182
218
|
httpsUrl(destination, '--destination');
|
|
183
219
|
const instance = await http.get('/v1/instance');
|
|
220
|
+
// Test data for development instances, live data for production: a mix-up
|
|
221
|
+
// would pay real partners for test sign-ups, or lose real ones.
|
|
222
|
+
const instanceLive = instance.environment === 'production';
|
|
223
|
+
const mode = await referallyKeyMode(ctx, { baseUrl, key });
|
|
224
|
+
if (mode.known && mode.live !== instanceLive) {
|
|
225
|
+
const message = `the Referalli key reaches ${mode.live ? 'live' : 'test'} data but instance ${instance.id} is ` +
|
|
226
|
+
`${instance.environment ?? 'not production'}. Use ${instanceLive ? 'a live (rk_live_…)' : 'a test (rk_test_…)'} key` +
|
|
227
|
+
` for it, or pass --allow-mode-mismatch.`;
|
|
228
|
+
if (v['allow-mode-mismatch'] !== true)
|
|
229
|
+
throw new errors_1.CliError(message.charAt(0).toUpperCase() + message.slice(1));
|
|
230
|
+
ctx.io.err(`atlas: warning: ${message.replace(/, or pass --allow-mode-mismatch\.$/, '.')}`);
|
|
231
|
+
}
|
|
232
|
+
else if (!mode.known && !instanceLive) {
|
|
233
|
+
ctx.io.err(`atlas: warning: Referalli did not say whether this key reaches test data; instance ${instance.id} is ${instance.environment ?? 'not production'}.`);
|
|
234
|
+
}
|
|
184
235
|
const created = await referallyCreateConnection(ctx, {
|
|
185
236
|
baseUrl,
|
|
186
237
|
key,
|
|
@@ -192,6 +243,22 @@ async function connect(ctx, args) {
|
|
|
192
243
|
...(destination ? { destinationUrl: destination } : {}),
|
|
193
244
|
},
|
|
194
245
|
});
|
|
246
|
+
// Atlas always signs with v2: require it from the first call, so v1 is never accepted on this connection.
|
|
247
|
+
let signatureV2 = true;
|
|
248
|
+
try {
|
|
249
|
+
await referallyRequest(ctx, {
|
|
250
|
+
baseUrl,
|
|
251
|
+
key,
|
|
252
|
+
method: 'PATCH',
|
|
253
|
+
path: `/v1/auth/connections/${encodeURIComponent(created.id)}`,
|
|
254
|
+
body: { signatureVersion: 'v2' },
|
|
255
|
+
what: 'require v2 signatures on the connection',
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
signatureV2 = false;
|
|
260
|
+
ctx.io.err(`atlas: warning: ${err instanceof Error ? err.message : String(err)} It switches to v2 on Atlas's first call anyway.`);
|
|
261
|
+
}
|
|
195
262
|
const trackingToken = (0, args_1.str)(v, 'tracking-token') ?? (typeof created.trackingToken === 'string' ? created.trackingToken : null);
|
|
196
263
|
patch = {
|
|
197
264
|
provider: 'referally',
|
|
@@ -202,27 +269,81 @@ async function connect(ctx, args) {
|
|
|
202
269
|
...(v['auto-enroll'] === true ? { auto_enroll_users: true } : {}),
|
|
203
270
|
...(trackingToken ? { tracking_token: trackingToken } : {}),
|
|
204
271
|
};
|
|
272
|
+
let saved;
|
|
205
273
|
try {
|
|
206
|
-
await http.patch('/v1/instance/referrals', patch);
|
|
274
|
+
saved = await http.patch('/v1/instance/referrals', patch);
|
|
207
275
|
}
|
|
208
276
|
catch (err) {
|
|
209
|
-
// The secret is shown once by
|
|
277
|
+
// The secret is shown once by Referalli: keep it so the merchant can finish by hand.
|
|
210
278
|
const saved = (0, secrets_1.deliverSecret)({
|
|
211
279
|
io: out,
|
|
212
280
|
env: ctx.env,
|
|
213
281
|
product,
|
|
214
282
|
fileName: `referally-connection-${created.id}.env`,
|
|
215
283
|
entries: { REFERALLY_CONNECTION_ID: created.id, REFERALLY_CONNECTION_SECRET: created.secret },
|
|
216
|
-
label: 'The
|
|
284
|
+
label: 'The Referalli connection secret (not saved on Atlas)',
|
|
217
285
|
force: v.force === true,
|
|
218
|
-
comment: `
|
|
286
|
+
comment: `Referalli connection ${created.id}: saving it on the Atlas instance failed. Paste it in Users → Referrals.`,
|
|
219
287
|
});
|
|
220
|
-
ctx.io.err(`atlas: the connection ${created.id} was created on
|
|
288
|
+
ctx.io.err(`atlas: the connection ${created.id} was created on Referalli, but saving it on the instance failed.${saved.path ? ` Its secret is in ${saved.path}.` : ''}`);
|
|
221
289
|
throw err;
|
|
222
290
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
291
|
+
// Two-way sync: Referalli's referral events go to the instance's inbound URL.
|
|
292
|
+
let syncEndpoint = null;
|
|
293
|
+
const inboundUrl = saved?.inbound?.url ?? null;
|
|
294
|
+
if (v['no-sync'] !== true && inboundUrl) {
|
|
295
|
+
try {
|
|
296
|
+
const endpoint = await referallyRequest(ctx, {
|
|
297
|
+
baseUrl,
|
|
298
|
+
key,
|
|
299
|
+
method: 'POST',
|
|
300
|
+
path: '/v1/webhook-endpoints',
|
|
301
|
+
body: { url: inboundUrl, topics: [...exports.REFERALLY_SYNC_TOPICS], legacySignature: false },
|
|
302
|
+
what: 'register the referral event webhook',
|
|
303
|
+
});
|
|
304
|
+
if (typeof endpoint.id !== 'string' || typeof endpoint.secret !== 'string') {
|
|
305
|
+
throw new errors_1.CliError('Referalli answered without a webhook endpoint id and secret.');
|
|
306
|
+
}
|
|
307
|
+
try {
|
|
308
|
+
await http.patch('/v1/instance/referrals', { inbound_secret: endpoint.secret, inbound_endpoint_id: endpoint.id });
|
|
309
|
+
syncEndpoint = endpoint.id;
|
|
310
|
+
}
|
|
311
|
+
catch (err) {
|
|
312
|
+
const kept = (0, secrets_1.deliverSecret)({
|
|
313
|
+
io: out,
|
|
314
|
+
env: ctx.env,
|
|
315
|
+
product,
|
|
316
|
+
fileName: `referally-webhook-${endpoint.id}.env`,
|
|
317
|
+
entries: { REFERALLY_WEBHOOK_ENDPOINT_ID: endpoint.id, REFERALLY_WEBHOOK_SECRET: endpoint.secret },
|
|
318
|
+
label: 'The Referalli webhook secret (not saved on Atlas)',
|
|
319
|
+
force: v.force === true,
|
|
320
|
+
comment: `Referalli webhook ${endpoint.id}: saving it on the Atlas instance failed. Paste it as the inbound secret in Users → Referrals.`,
|
|
321
|
+
});
|
|
322
|
+
ctx.io.err(`atlas: warning: the webhook ${endpoint.id} was registered on Referalli, but saving its secret failed (${err instanceof Error ? err.message : String(err)}).${kept.path ? ` It is in ${kept.path}.` : ''}`);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
catch (err) {
|
|
326
|
+
if (!(err instanceof errors_1.CliError))
|
|
327
|
+
throw err;
|
|
328
|
+
ctx.io.err(`atlas: warning: ${err.message} Referral changes on Referalli won't reach Atlas until it is registered (see the docs).`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
summary = {
|
|
332
|
+
provider: 'referally',
|
|
333
|
+
instance_id: instance.id,
|
|
334
|
+
endpoint_url: baseUrl,
|
|
335
|
+
connection_id: created.id,
|
|
336
|
+
program_id: program,
|
|
337
|
+
tracking_token: trackingToken,
|
|
338
|
+
livemode: mode.known ? mode.live : null,
|
|
339
|
+
signature_v2_required: signatureV2,
|
|
340
|
+
sync_endpoint_id: syncEndpoint,
|
|
341
|
+
};
|
|
342
|
+
if (!json) {
|
|
343
|
+
out.out(`Created Referalli connection ${created.id} for instance ${instance.id} and saved it (the secret was not printed).`);
|
|
344
|
+
if (syncEndpoint)
|
|
345
|
+
out.out(`Referral changes on Referalli sync back to Atlas (webhook ${syncEndpoint}).`);
|
|
346
|
+
}
|
|
226
347
|
}
|
|
227
348
|
else {
|
|
228
349
|
const endpoint = (0, args_1.str)(v, 'endpoint');
|
|
@@ -262,9 +383,13 @@ async function connect(ctx, args) {
|
|
|
262
383
|
comment: `Signing secret for Atlas referral calls to ${endpointUrl}.`,
|
|
263
384
|
}).path;
|
|
264
385
|
}
|
|
265
|
-
|
|
266
|
-
|
|
386
|
+
const inboundUrl = (await http.get('/v1/instance/referrals')).inbound?.url ?? null;
|
|
387
|
+
summary = { provider: 'webhook', endpoint_url: endpointUrl, secret_file: secretPath ?? null, inbound_url: inboundUrl };
|
|
388
|
+
if (!json) {
|
|
267
389
|
out.out(`Saved the referral protocol connection to ${endpointUrl}.`);
|
|
390
|
+
if (inboundUrl)
|
|
391
|
+
out.out(`For two-way sync, have the platform send referral changes to ${inboundUrl}, signed with the same secret.`);
|
|
392
|
+
}
|
|
268
393
|
}
|
|
269
394
|
const test = await http.post('/v1/instance/referrals/test', {});
|
|
270
395
|
const receivedAt = Date.now();
|
|
@@ -389,6 +514,16 @@ async function status(ctx, args) {
|
|
|
389
514
|
}
|
|
390
515
|
if (c)
|
|
391
516
|
lines.push(`Failed (7 days): ${c.failed_calls_7d ?? 0} Retrying: ${c.retrying_calls ?? 0}`);
|
|
517
|
+
const inbound = settings.inbound;
|
|
518
|
+
if (inbound?.url) {
|
|
519
|
+
// Referalli needs its own webhook secret; the Atlas protocol falls back to the signing secret.
|
|
520
|
+
const syncing = inbound.secret_set || (settings.provider === 'webhook' && settings.signing_secret_set);
|
|
521
|
+
lines.push(`Two-way sync: ${syncing ? 'on' : 'off (no inbound secret)'}${inbound.endpoint_id ? ` (webhook ${inbound.endpoint_id})` : ''}`);
|
|
522
|
+
lines.push(`Inbound URL: ${inbound.url}`);
|
|
523
|
+
if (inbound.last_event) {
|
|
524
|
+
lines.push(`Last event: ${inbound.last_event.type} → ${inbound.last_event.outcome} at ${new Date(inbound.last_event.at).toISOString()}`);
|
|
525
|
+
}
|
|
526
|
+
}
|
|
392
527
|
for (const l of lines)
|
|
393
528
|
ctx.io.out(l);
|
|
394
529
|
if (c?.alert)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referrals.js","sourceRoot":"","sources":["../../src/commands/referrals.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"referrals.js","sourceRoot":"","sources":["../../src/commands/referrals.ts"],"names":[],"mappings":"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"}
|
package/dist/help.d.ts
CHANGED
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
* out of the handlers so the dispatch code stays about control flow and the
|
|
4
4
|
* copy can be read (and kept consistent) in one place.
|
|
5
5
|
*/
|
|
6
|
-
export declare const TOP_HELP = "atlas \u2014 manage an Atlas instance from the terminal\n\nUsage: atlas <command> [subcommand] [arguments] [options]\n\nCommands:\n login Authenticate and store a profile credential\n logout Remove a stored profile credential\n whoami Show the active profile and instance\n users list|get|create|delete\n orgs list|get|members\n api-keys list|create|revoke\n webhooks list|create\n sessions revoke\n config export|import Config-as-code: round-trip the instance's config\n actions list|deploy|test|logs\n init Create or complete an app's setup (idempotent); secrets to 0600 files\n preflight Check an instance's setup; non-zero exit on errors (for CI)\n env Print deploy variables: public values + secret file paths\n client rotate Rotate an OAuth client secret straight into its file\n referrals connect|backfill|status\n Connect a referral platform, backfill, check the connection\n\nGlobal options:\n --profile <name> Use a named profile (default: active, else \"default\")\n --json Emit raw JSON instead of a human table\n --limit <n> Page size for list commands that paginate\n --starting-after <cursor> Pagination cursor (from a prior page's hint)\n -h, --help Show this help, or help for a command\n -v, --version Print the version\n\nEnvironment overrides:\n ATLAS_SECRET_KEY Secret key to use instead of the stored one\n ATLAS_API_URL API URL to use instead of the stored one\n ATLAS_PLATFORM_KEY Platform key (psk_) for atlas init\n REFERALLY_BASE_URL
|
|
6
|
+
export declare const TOP_HELP = "atlas \u2014 manage an Atlas instance from the terminal\n\nUsage: atlas <command> [subcommand] [arguments] [options]\n\nCommands:\n login Authenticate and store a profile credential\n logout Remove a stored profile credential\n whoami Show the active profile and instance\n users list|get|create|delete\n orgs list|get|members\n api-keys list|create|revoke\n webhooks list|create\n sessions revoke\n config export|import Config-as-code: round-trip the instance's config\n actions list|deploy|test|logs\n init Create or complete an app's setup (idempotent); secrets to 0600 files\n preflight Check an instance's setup; non-zero exit on errors (for CI)\n env Print deploy variables: public values + secret file paths\n client rotate Rotate an OAuth client secret straight into its file\n referrals connect|backfill|status\n Connect a referral platform, backfill, check the connection\n import --from <vendor> <file>\n Move users from Auth0, Clerk, Supabase, Firebase, Cognito,\n Auth.js, WorkOS or Better Auth (resumable; --dry-run first)\n mcp install Add the Atlas MCP server (docs search) to Cursor, Claude Code,\n Codex or VS Code\n\nGlobal options:\n --profile <name> Use a named profile (default: active, else \"default\")\n --json Emit raw JSON instead of a human table\n --limit <n> Page size for list commands that paginate\n --starting-after <cursor> Pagination cursor (from a prior page's hint)\n -h, --help Show this help, or help for a command\n -v, --version Print the version\n\nEnvironment overrides:\n ATLAS_SECRET_KEY Secret key to use instead of the stored one\n ATLAS_API_URL API URL to use instead of the stored one\n ATLAS_PLATFORM_KEY Platform key (psk_) for atlas init\n REFERALLY_BASE_URL Referalli base URL for atlas referrals connect\n REFERALLY_API_KEY Referalli merchant key for atlas referrals connect (never stored)\n\nSecrets: a command that receives a secret writes it to a 0600 file under\n~/.config/<product>/ and prints only the path. --print-secret prints it instead.\n\nRun 'atlas <command> --help' for command-specific help.";
|
|
7
7
|
/** Per-command help, keyed by the resource word. */
|
|
8
8
|
export declare const COMMAND_HELP: Record<string, string>;
|
package/dist/help.js
CHANGED
|
@@ -27,6 +27,11 @@ Commands:
|
|
|
27
27
|
client rotate Rotate an OAuth client secret straight into its file
|
|
28
28
|
referrals connect|backfill|status
|
|
29
29
|
Connect a referral platform, backfill, check the connection
|
|
30
|
+
import --from <vendor> <file>
|
|
31
|
+
Move users from Auth0, Clerk, Supabase, Firebase, Cognito,
|
|
32
|
+
Auth.js, WorkOS or Better Auth (resumable; --dry-run first)
|
|
33
|
+
mcp install Add the Atlas MCP server (docs search) to Cursor, Claude Code,
|
|
34
|
+
Codex or VS Code
|
|
30
35
|
|
|
31
36
|
Global options:
|
|
32
37
|
--profile <name> Use a named profile (default: active, else "default")
|
|
@@ -40,8 +45,8 @@ Environment overrides:
|
|
|
40
45
|
ATLAS_SECRET_KEY Secret key to use instead of the stored one
|
|
41
46
|
ATLAS_API_URL API URL to use instead of the stored one
|
|
42
47
|
ATLAS_PLATFORM_KEY Platform key (psk_) for atlas init
|
|
43
|
-
REFERALLY_BASE_URL
|
|
44
|
-
REFERALLY_API_KEY
|
|
48
|
+
REFERALLY_BASE_URL Referalli base URL for atlas referrals connect
|
|
49
|
+
REFERALLY_API_KEY Referalli merchant key for atlas referrals connect (never stored)
|
|
45
50
|
|
|
46
51
|
Secrets: a command that receives a secret writes it to a 0600 file under
|
|
47
52
|
~/.config/<product>/ and prints only the path. --print-secret prints it instead.
|
|
@@ -49,23 +54,70 @@ Secrets: a command that receives a secret writes it to a 0600 file under
|
|
|
49
54
|
Run 'atlas <command> --help' for command-specific help.`;
|
|
50
55
|
/** Per-command help, keyed by the resource word. */
|
|
51
56
|
exports.COMMAND_HELP = {
|
|
57
|
+
import: `atlas import — move users from another auth provider
|
|
58
|
+
|
|
59
|
+
Usage:
|
|
60
|
+
atlas import --from <vendor> <export-file> [--dry-run]
|
|
61
|
+
|
|
62
|
+
Vendors and the file each one reads:
|
|
63
|
+
auth0 the user export job (NDJSON/JSON); --hashes <file> merges the password export
|
|
64
|
+
clerk the dashboard CSV export, or users JSON from the Backend API
|
|
65
|
+
supabase auth.users rows as CSV or JSON (with an identities array for social links)
|
|
66
|
+
firebase firebase auth:export --format=json; needs --hash-config <file>
|
|
67
|
+
cognito aws cognito-idp list-users JSON, or the user-pool CSV
|
|
68
|
+
authjs the adapter's users + accounts tables as JSON
|
|
69
|
+
workos User Management users JSON (+ organization_memberships)
|
|
70
|
+
better-auth JSON of the user, account, member and organization tables
|
|
71
|
+
|
|
72
|
+
Options:
|
|
73
|
+
--dry-run Map and summarise only; nothing is sent
|
|
74
|
+
--batch-size <n> Users per request, 1-100 (default 100)
|
|
75
|
+
--state-file <file> Progress file (default <export-file>.atlas-import.json); re-running resumes
|
|
76
|
+
--hash-config <file> Firebase hash parameters: {signer_key, salt_separator, rounds, mem_cost}
|
|
77
|
+
--hashes <file> Password hashes keyed by email, merged onto the users
|
|
78
|
+
--create-orgs Create organizations that memberships name but that do not exist yet
|
|
79
|
+
--json Machine-readable summary
|
|
80
|
+
|
|
81
|
+
Batches are sent with upsert, so a resumed or repeated run never duplicates a
|
|
82
|
+
user or a membership. Exit code 2 means some rows were reported as issues.`,
|
|
83
|
+
mcp: `atlas mcp — connect AI coding agents to Atlas
|
|
84
|
+
|
|
85
|
+
Usage:
|
|
86
|
+
atlas mcp install --cursor | --claude-code | --codex | --vscode [--dir <project>] [--global]
|
|
87
|
+
|
|
88
|
+
Adds the Atlas MCP server (npx -y @atlasauth/mcp) to the client's config so the
|
|
89
|
+
agent can search and read the Atlas docs. Servers already in the file are kept.
|
|
90
|
+
|
|
91
|
+
--cursor .cursor/mcp.json in the project (~/.cursor/mcp.json with --global)
|
|
92
|
+
--claude-code .mcp.json in the project
|
|
93
|
+
--codex ~/.codex/config.toml (or $CODEX_HOME/config.toml)
|
|
94
|
+
--vscode .vscode/mcp.json in the project
|
|
95
|
+
--dir <path> The project directory (default: the current directory)
|
|
96
|
+
|
|
97
|
+
No key is written. To also manage your instance from the agent, add
|
|
98
|
+
ATLAS_SECRET_KEY to the server's env yourself.`,
|
|
52
99
|
referrals: `atlas referrals — referral attribution
|
|
53
100
|
|
|
54
101
|
Usage:
|
|
55
102
|
atlas referrals connect --provider referally --program <prg_…> --base-url <url>
|
|
56
103
|
[--referally-key-file <path|-> | --referally-key <rk_…>]
|
|
57
104
|
[--auto-enroll] [--destination <url>] [--tracking-token <token>] [--enable]
|
|
105
|
+
[--no-sync] [--allow-mode-mismatch]
|
|
58
106
|
atlas referrals connect --provider webhook --endpoint <https-url>
|
|
59
107
|
[--secret-file <path|->] [--program <id>] [--auto-enroll] [--enable]
|
|
60
108
|
atlas referrals backfill --since <YYYY-MM-DD> [--map <file.csv>]
|
|
61
109
|
[--metadata-path public_metadata.referral_code] [--wait]
|
|
62
110
|
atlas referrals status
|
|
63
111
|
|
|
64
|
-
connect --provider referally creates the Atlas connection on
|
|
112
|
+
connect --provider referally creates the Atlas connection on Referalli with
|
|
65
113
|
your merchant key (bring your own key: used for this one call, never stored or
|
|
66
114
|
printed), saves the connection id and secret on the instance, and runs a ping.
|
|
67
|
-
|
|
68
|
-
|
|
115
|
+
It requires v2 signatures on the connection from the start and registers a
|
|
116
|
+
Referalli webhook that sends referral changes (voided, approved, reassigned…)
|
|
117
|
+
back to Atlas; --no-sync skips the webhook. A test key (rk_test_) belongs with a
|
|
118
|
+
development instance and a live key with production: a mismatch is refused
|
|
119
|
+
unless --allow-mode-mismatch. --auto-enroll and --destination are passed to
|
|
120
|
+
Referalli. --enable turns referrals on when the ping passes. Prefer --referally-key-file (or
|
|
69
121
|
REFERALLY_API_KEY) to --referally-key: a key on the command line can end up in
|
|
70
122
|
your shell history.
|
|
71
123
|
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDA6CgC,CAAC;AAEzD,oDAAoD;AACvC,QAAA,YAAY,GAA2B;IAClD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;2EAyBiE;IACzE,GAAG,EAAE;;;;;;;;;;;;;;;+CAewC;IAC7C,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEAmC4D;IAEvE,KAAK,EAAE;;;;;;mCAM0B;IAEjC,MAAM,EAAE;;uCAE6B;IAErC,MAAM,EAAE;;gDAEsC;IAE9C,KAAK,EAAE;;;;;;wCAM+B;IAEtC,IAAI,EAAE;;;;;uCAK+B;IAErC,UAAU,EAAE;;;;;;8CAMgC;IAE5C,QAAQ,EAAE;;;;;;0EAM8D;IAExE,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;yEA4BiE;IAEvE,SAAS,EAAE;;;;;;oDAMuC;IAElD,GAAG,EAAE;;;;;;;qDAO8C;IAEnD,MAAM,EAAE;;;;;;;;wDAQ8C;IAEtD,QAAQ,EAAE;;;8CAGkC;IAE5C,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;8EAoBoE;IAC5E,OAAO,EAAE;;;;;;;;;;;gFAWqE;CAC/E,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A small RFC 4180 CSV reader for vendor exports: quoted fields, doubled quotes,
|
|
3
|
+
* embedded commas and newlines, CRLF. Returns one object per data row keyed by
|
|
4
|
+
* the header row. No dependency, because the CLI ships none it does not need.
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseCsv(text: string): Array<Record<string, string>>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseCsv = parseCsv;
|
|
4
|
+
/**
|
|
5
|
+
* A small RFC 4180 CSV reader for vendor exports: quoted fields, doubled quotes,
|
|
6
|
+
* embedded commas and newlines, CRLF. Returns one object per data row keyed by
|
|
7
|
+
* the header row. No dependency, because the CLI ships none it does not need.
|
|
8
|
+
*/
|
|
9
|
+
function parseCsv(text) {
|
|
10
|
+
const rows = [];
|
|
11
|
+
let row = [];
|
|
12
|
+
let field = '';
|
|
13
|
+
let quoted = false;
|
|
14
|
+
const src = text.charCodeAt(0) === 0xfeff ? text.slice(1) : text;
|
|
15
|
+
for (let i = 0; i < src.length; i++) {
|
|
16
|
+
const c = src[i];
|
|
17
|
+
if (quoted) {
|
|
18
|
+
if (c === '"') {
|
|
19
|
+
if (src[i + 1] === '"') {
|
|
20
|
+
field += '"';
|
|
21
|
+
i++;
|
|
22
|
+
}
|
|
23
|
+
else
|
|
24
|
+
quoted = false;
|
|
25
|
+
}
|
|
26
|
+
else
|
|
27
|
+
field += c;
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (c === '"')
|
|
31
|
+
quoted = true;
|
|
32
|
+
else if (c === ',') {
|
|
33
|
+
row.push(field);
|
|
34
|
+
field = '';
|
|
35
|
+
}
|
|
36
|
+
else if (c === '\n' || c === '\r') {
|
|
37
|
+
if (c === '\r' && src[i + 1] === '\n')
|
|
38
|
+
i++;
|
|
39
|
+
row.push(field);
|
|
40
|
+
field = '';
|
|
41
|
+
if (row.some((v) => v !== ''))
|
|
42
|
+
rows.push(row);
|
|
43
|
+
row = [];
|
|
44
|
+
}
|
|
45
|
+
else
|
|
46
|
+
field += c;
|
|
47
|
+
}
|
|
48
|
+
row.push(field);
|
|
49
|
+
if (row.some((v) => v !== ''))
|
|
50
|
+
rows.push(row);
|
|
51
|
+
const [header, ...data] = rows;
|
|
52
|
+
if (!header)
|
|
53
|
+
return [];
|
|
54
|
+
const keys = header.map((h) => h.trim());
|
|
55
|
+
return data.map((cells) => {
|
|
56
|
+
const out = {};
|
|
57
|
+
keys.forEach((k, idx) => {
|
|
58
|
+
out[k] = cells[idx] ?? '';
|
|
59
|
+
});
|
|
60
|
+
return out;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=csv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/import/csv.ts"],"names":[],"mappings":";;AAKA,4BA2CC;AAhDD;;;;GAIG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAa,EAAE,CAAC;IACvB,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAClB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;oBACvB,KAAK,IAAI,GAAG,CAAC;oBACb,CAAC,EAAE,CAAC;gBACN,CAAC;;oBAAM,MAAM,GAAG,KAAK,CAAC;YACxB,CAAC;;gBAAM,KAAK,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,GAAG;YAAE,MAAM,GAAG,IAAI,CAAC;aACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;gBAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;;YAAM,KAAK,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;YACtB,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC"}
|