@agentmark-ai/cli 0.5.2 → 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.
Files changed (78) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/build-manifest.json +2 -2
  3. package/dist/.next/cache/.previewinfo +1 -1
  4. package/dist/.next/cache/.rscinfo +1 -1
  5. package/dist/.next/cache/.tsbuildinfo +1 -1
  6. package/dist/.next/cache/config.json +3 -3
  7. package/dist/.next/cache/webpack/client-production/0.pack +0 -0
  8. package/dist/.next/cache/webpack/client-production/index.pack +0 -0
  9. package/dist/.next/cache/webpack/edge-server-production/index.pack +0 -0
  10. package/dist/.next/cache/webpack/server-production/0.pack +0 -0
  11. package/dist/.next/cache/webpack/server-production/index.pack +0 -0
  12. package/dist/.next/prerender-manifest.json +16 -16
  13. package/dist/.next/server/app/_not-found.html +1 -1
  14. package/dist/.next/server/app/_not-found.rsc +1 -1
  15. package/dist/.next/server/app/index.html +1 -1
  16. package/dist/.next/server/app/index.rsc +1 -1
  17. package/dist/.next/server/app/requests.html +1 -1
  18. package/dist/.next/server/app/requests.rsc +1 -1
  19. package/dist/.next/server/app/sessions.html +1 -1
  20. package/dist/.next/server/app/sessions.rsc +1 -1
  21. package/dist/.next/server/app/traces.html +1 -1
  22. package/dist/.next/server/app/traces.rsc +1 -1
  23. package/dist/.next/server/pages/404.html +1 -1
  24. package/dist/.next/server/pages/500.html +1 -1
  25. package/dist/.next/server/server-reference-manifest.json +1 -1
  26. package/dist/.next/trace +54 -54
  27. package/dist/api-server.d.ts +6 -0
  28. package/dist/api-server.js +14 -2
  29. package/dist/api-server.js.map +1 -1
  30. package/dist/auth/auto-link.d.ts +16 -0
  31. package/dist/auth/auto-link.js +140 -0
  32. package/dist/auth/auto-link.js.map +1 -0
  33. package/dist/auth/callback-server.d.ts +12 -0
  34. package/dist/auth/callback-server.js +107 -0
  35. package/dist/auth/callback-server.js.map +1 -0
  36. package/dist/auth/constants.d.ts +6 -0
  37. package/dist/auth/constants.js +11 -0
  38. package/dist/auth/constants.js.map +1 -0
  39. package/dist/auth/credentials.d.ts +30 -0
  40. package/dist/auth/credentials.js +76 -0
  41. package/dist/auth/credentials.js.map +1 -0
  42. package/dist/auth/pkce.d.ts +14 -0
  43. package/dist/auth/pkce.js +39 -0
  44. package/dist/auth/pkce.js.map +1 -0
  45. package/dist/auth/token-refresh.d.ts +7 -0
  46. package/dist/auth/token-refresh.js +52 -0
  47. package/dist/auth/token-refresh.js.map +1 -0
  48. package/dist/auth/types.d.ts +45 -0
  49. package/dist/auth/types.js +6 -0
  50. package/dist/auth/types.js.map +1 -0
  51. package/dist/commands/dev.d.ts +2 -0
  52. package/dist/commands/dev.js +154 -4
  53. package/dist/commands/dev.js.map +1 -1
  54. package/dist/commands/link.d.ts +24 -0
  55. package/dist/commands/link.js +159 -0
  56. package/dist/commands/link.js.map +1 -0
  57. package/dist/commands/login.d.ts +24 -0
  58. package/dist/commands/login.js +100 -0
  59. package/dist/commands/login.js.map +1 -0
  60. package/dist/commands/logout.d.ts +20 -0
  61. package/dist/commands/logout.js +75 -0
  62. package/dist/commands/logout.js.map +1 -0
  63. package/dist/config.d.ts +9 -0
  64. package/dist/config.js.map +1 -1
  65. package/dist/forwarding/config.d.ts +27 -0
  66. package/dist/forwarding/config.js +84 -0
  67. package/dist/forwarding/config.js.map +1 -0
  68. package/dist/forwarding/forwarder.d.ts +69 -0
  69. package/dist/forwarding/forwarder.js +225 -0
  70. package/dist/forwarding/forwarder.js.map +1 -0
  71. package/dist/forwarding/status.d.ts +29 -0
  72. package/dist/forwarding/status.js +57 -0
  73. package/dist/forwarding/status.js.map +1 -0
  74. package/dist/index.js +45 -1
  75. package/dist/index.js.map +1 -1
  76. package/package.json +3 -2
  77. /package/dist/.next/static/{iK92d_yn3LWPbgKedF2FC → UHZduD8h7QLYoDNzYvFUD}/_buildManifest.js +0 -0
  78. /package/dist/.next/static/{iK92d_yn3LWPbgKedF2FC → UHZduD8h7QLYoDNzYvFUD}/_ssgManifest.js +0 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.refreshAccessToken = refreshAccessToken;
13
+ const credentials_1 = require("./credentials");
14
+ /**
15
+ * Exchanges a refresh token for a new access/refresh token pair via
16
+ * the Supabase Auth REST API. Persists the updated credentials on
17
+ * success and returns them; returns `null` on any failure.
18
+ */
19
+ function refreshAccessToken(credentials, supabaseUrl, supabaseAnonKey) {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ try {
22
+ const url = `${supabaseUrl}/auth/v1/token?grant_type=refresh_token`;
23
+ const response = yield fetch(url, {
24
+ method: "POST",
25
+ headers: {
26
+ apikey: supabaseAnonKey,
27
+ "Content-Type": "application/json",
28
+ },
29
+ body: JSON.stringify({ refresh_token: credentials.refresh_token }),
30
+ });
31
+ if (response.status !== 200) {
32
+ return null;
33
+ }
34
+ const data = (yield response.json());
35
+ const expiresAt = new Date(Date.now() + data.expires_in * 1000).toISOString();
36
+ const updated = {
37
+ user_id: data.user.id,
38
+ email: data.user.email,
39
+ access_token: data.access_token,
40
+ refresh_token: data.refresh_token,
41
+ expires_at: expiresAt,
42
+ created_at: credentials.created_at,
43
+ };
44
+ (0, credentials_1.saveCredentials)(updated);
45
+ return updated;
46
+ }
47
+ catch (_a) {
48
+ return null;
49
+ }
50
+ });
51
+ }
52
+ //# sourceMappingURL=token-refresh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-refresh.js","sourceRoot":"","sources":["../../cli-src/auth/token-refresh.ts"],"names":[],"mappings":";;;;;;;;;;;AAmBA,gDA0CC;AA5DD,+CAAgD;AAahD;;;;GAIG;AACH,SAAsB,kBAAkB,CACtC,WAA+B,EAC/B,WAAmB,EACnB,eAAuB;;QAEvB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,WAAW,yCAAyC,CAAC;YAEpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,eAAe;oBACvB,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC;aACnE,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;YAEtD,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CACpC,CAAC,WAAW,EAAE,CAAC;YAEhB,MAAM,OAAO,GAAuB;gBAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;gBACtB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,WAAW,CAAC,UAAU;aACnC,CAAC;YAEF,IAAA,6BAAe,EAAC,OAAO,CAAC,CAAC;YAEzB,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CAAA"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * CLI authentication types for platform pairing.
3
+ */
4
+ /** Stored credentials from browser-based PKCE login */
5
+ export interface CliAuthCredentials {
6
+ user_id: string;
7
+ email: string;
8
+ access_token: string;
9
+ refresh_token: string;
10
+ expires_at: string;
11
+ created_at: string;
12
+ }
13
+ /** PKCE challenge pair for OAuth flow */
14
+ export interface PKCEPair {
15
+ verifier: string;
16
+ challenge: string;
17
+ }
18
+ /** Callback result from localhost OAuth server */
19
+ export interface CallbackResult {
20
+ access_token: string;
21
+ refresh_token: string;
22
+ user_id: string;
23
+ email: string;
24
+ expires_at: string;
25
+ state: string;
26
+ }
27
+ /** Platform app returned by /api/cli/apps */
28
+ export interface PlatformApp {
29
+ id: string;
30
+ name: string;
31
+ tenant_id: string;
32
+ tenant_name: string;
33
+ created_at: string;
34
+ }
35
+ /** Dev key response returned by /api/cli/dev-key */
36
+ export interface DevKeyResponse {
37
+ key: string;
38
+ key_id: string;
39
+ app_id: string;
40
+ app_name: string;
41
+ tenant_id: string;
42
+ base_url: string;
43
+ expires_at: string;
44
+ scope: string;
45
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * CLI authentication types for platform pairing.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../cli-src/auth/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -2,6 +2,8 @@ declare const dev: (options?: {
2
2
  apiPort?: number;
3
3
  webhookPort?: number;
4
4
  appPort?: number;
5
+ remote?: boolean;
5
6
  tunnel?: boolean;
7
+ forward?: boolean;
6
8
  }) => Promise<void>;
7
9
  export default dev;
@@ -20,6 +20,14 @@ const api_server_1 = require("../api-server");
20
20
  const tunnel_1 = require("../tunnel");
21
21
  const config_1 = require("../config");
22
22
  const platform_1 = require("../utils/platform");
23
+ const config_2 = require("../forwarding/config");
24
+ const forwarder_1 = require("../forwarding/forwarder");
25
+ const status_1 = require("../forwarding/status");
26
+ const auto_link_1 = require("../auth/auto-link");
27
+ const api_server_2 = require("../api-server");
28
+ const credentials_1 = require("../auth/credentials");
29
+ const constants_1 = require("../auth/constants");
30
+ const login_1 = __importDefault(require("./login"));
23
31
  function getSafeCwd() {
24
32
  try {
25
33
  return process.cwd();
@@ -76,8 +84,27 @@ const dev = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (opt
76
84
  const apiPort = options.apiPort || 9418;
77
85
  const webhookPort = options.webhookPort || 9417;
78
86
  const appPort = options.appPort || 3000;
79
- const useTunnel = options.tunnel || false;
80
87
  const cwd = getSafeCwd();
88
+ // Resolve mode flags:
89
+ // --remote: enables tunnel + forwarding (login + link + forwarding + tunnel)
90
+ // --tunnel: legacy flag, enables tunnel only (no forwarding)
91
+ // --no-forward: disables forwarding when used with --remote
92
+ let useRemote = options.remote || false;
93
+ const legacyTunnel = options.tunnel || false;
94
+ let useTunnel = useRemote || legacyTunnel;
95
+ let useForwarding = useRemote ? (options.forward !== false) : false;
96
+ // Inline login when --remote is used
97
+ if (useRemote) {
98
+ try {
99
+ yield (0, login_1.default)();
100
+ }
101
+ catch (_a) {
102
+ console.log('⚠️ Login failed. Continuing in local-only mode.\n');
103
+ useRemote = false;
104
+ useTunnel = legacyTunnel;
105
+ useForwarding = false;
106
+ }
107
+ }
81
108
  // Load or create local config with webhook secret
82
109
  const config = (0, config_1.loadLocalConfig)();
83
110
  // Set webhook secret from local config if not already set
@@ -265,8 +292,10 @@ const dev = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (opt
265
292
  }
266
293
  // Start the AgentMark app
267
294
  startAgentMarkServer();
268
- // Store tunnel info for cleanup
295
+ // Store tunnel info, forwarder, and status reporter for cleanup
269
296
  let tunnelInfo = null;
297
+ let forwarder = null;
298
+ let statusReporter = null;
270
299
  // Give servers time to start, then print summary and optionally setup tunnel
271
300
  setTimeout(() => __awaiter(void 0, void 0, void 0, function* () {
272
301
  // Verify webhook server is still running before showing success message
@@ -290,18 +319,118 @@ const dev = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (opt
290
319
  console.error(' Continuing in local-only mode...\n');
291
320
  }
292
321
  }
322
+ // Setup trace forwarding if not disabled
323
+ let forwardingStatus = 'inactive';
324
+ let forwardingAppName = '';
325
+ let forwardingBaseUrl = '';
326
+ if (useForwarding) {
327
+ // Check if already linked
328
+ let forwardingConfig = (0, config_2.loadForwardingConfig)();
329
+ // If not linked but user is logged in, attempt auto-link
330
+ if (!forwardingConfig) {
331
+ yield (0, auto_link_1.attemptAutoLink)();
332
+ forwardingConfig = (0, config_2.loadForwardingConfig)();
333
+ }
334
+ // Check if key is expired or about to expire (within 7 days)
335
+ if (forwardingConfig && (0, config_2.isKeyExpired)(forwardingConfig)) {
336
+ console.log('⚠️ Dev API key expired. Run `agentmark link` to refresh.\n');
337
+ forwardingStatus = 'expired';
338
+ }
339
+ else if (forwardingConfig === null || forwardingConfig === void 0 ? void 0 : forwardingConfig.expiresAt) {
340
+ // Check if key is within 7 days of expiry
341
+ const expiryDate = new Date(forwardingConfig.expiresAt);
342
+ const daysUntilExpiry = (expiryDate.getTime() - Date.now()) / (1000 * 60 * 60 * 24);
343
+ if (daysUntilExpiry < 7 && daysUntilExpiry > 0) {
344
+ // Attempt to refresh the key
345
+ console.log('⚠️ Dev API key expires soon, attempting refresh...');
346
+ const credentials = (0, credentials_1.loadCredentials)();
347
+ if (credentials && forwardingConfig.apiKeyId) {
348
+ try {
349
+ const platformUrl = constants_1.DEFAULT_PLATFORM_URL;
350
+ const refreshUrl = `${platformUrl}/api/cli/dev-key/${forwardingConfig.apiKeyId}/refresh`;
351
+ const response = yield fetch(refreshUrl, {
352
+ method: 'POST',
353
+ headers: {
354
+ Authorization: `Bearer ${credentials.access_token}`,
355
+ },
356
+ });
357
+ if (response.ok) {
358
+ const newKeyData = yield response.json();
359
+ // Update forwarding config with new key
360
+ (0, config_2.saveForwardingConfig)(Object.assign(Object.assign({}, forwardingConfig), { apiKey: newKeyData.key, apiKeyId: newKeyData.key_id, expiresAt: newKeyData.expires_at }));
361
+ // Reload the config for use
362
+ forwardingConfig = (0, config_2.loadForwardingConfig)();
363
+ console.log('✓ Dev API key refreshed\n');
364
+ }
365
+ else {
366
+ console.log('⚠️ Failed to refresh key automatically. Run `agentmark link` to refresh.\n');
367
+ }
368
+ }
369
+ catch (error) {
370
+ console.log('⚠️ Failed to refresh key automatically. Run `agentmark link` to refresh.\n');
371
+ }
372
+ }
373
+ }
374
+ }
375
+ if ((forwardingConfig === null || forwardingConfig === void 0 ? void 0 : forwardingConfig.apiKey) && (forwardingConfig === null || forwardingConfig === void 0 ? void 0 : forwardingConfig.baseUrl) && (forwardingConfig === null || forwardingConfig === void 0 ? void 0 : forwardingConfig.appId)) {
376
+ // Create forwarder and inject into API server
377
+ try {
378
+ forwarder = new forwarder_1.TraceForwarder(forwardingConfig);
379
+ (0, api_server_2.setForwarder)(forwarder);
380
+ // Create status reporter
381
+ statusReporter = new status_1.ForwardingStatusReporter(forwarder);
382
+ forwardingStatus = 'active';
383
+ forwardingAppName = forwardingConfig.appName || 'Unknown App';
384
+ // Tenant info is available in forwardingConfig.tenantId if needed
385
+ forwardingBaseUrl = forwardingConfig.baseUrl;
386
+ }
387
+ catch (error) {
388
+ console.error('⚠️ Failed to initialize trace forwarding:', error.message);
389
+ forwardingStatus = 'inactive';
390
+ }
391
+ }
392
+ }
393
+ else {
394
+ forwardingStatus = 'disabled';
395
+ }
293
396
  console.log('\n' + '═'.repeat(70));
294
397
  console.log('🚀 AgentMark Development Servers Running');
295
398
  console.log('═'.repeat(70));
296
399
  console.log(`\n API: http://localhost:${apiPort}`);
297
400
  console.log(` Webhook: http://localhost:${webhookPort}`);
298
401
  console.log(` App: http://localhost:${actualAppPort}`);
299
- if (useTunnel && tunnelInfo) {
402
+ if (useRemote) {
403
+ // Consolidated remote section
404
+ console.log('\n Remote: ✓ Connected');
405
+ if (tunnelInfo) {
406
+ console.log(` Tunnel: ${tunnelInfo.url}`);
407
+ }
408
+ else {
409
+ console.log(` Tunnel: ⚠️ Failed to establish`);
410
+ }
411
+ if (forwardingStatus === 'active') {
412
+ console.log(` Forwarding: ✓ Active → ${forwardingAppName} (${forwardingBaseUrl})`);
413
+ }
414
+ else if (forwardingStatus === 'disabled') {
415
+ console.log(` Forwarding: ○ Disabled (--no-forward)`);
416
+ }
417
+ else if (forwardingStatus === 'expired') {
418
+ console.log(` Forwarding: ⚠️ Expired (run 'agentmark link' to refresh)`);
419
+ }
420
+ else {
421
+ console.log(` Forwarding: ⚠️ Not linked (run 'agentmark link')`);
422
+ }
423
+ }
424
+ else if (legacyTunnel && tunnelInfo) {
425
+ // Legacy --tunnel mode
300
426
  console.log('\n Public Webhook:');
301
427
  console.log(` URL: ${tunnelInfo.url}`);
302
428
  console.log(` Secret: ${config.webhookSecret}`);
303
429
  console.log(` Valid: ${getConfigDaysRemaining(config)} days remaining`);
304
430
  }
431
+ else {
432
+ console.log('\n Tip: Use --remote to connect to the platform');
433
+ }
305
434
  console.log('\n' + '─'.repeat(70));
306
435
  console.log('How to run prompts and experiments:');
307
436
  console.log('─'.repeat(70));
@@ -321,7 +450,28 @@ const dev = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (opt
321
450
  return;
322
451
  isShuttingDown = true;
323
452
  console.log('\nShutting down servers...');
324
- // Close tunnel first
453
+ // Stop status reporter polling
454
+ if (statusReporter) {
455
+ statusReporter.stop();
456
+ }
457
+ // Flush trace forwarder first (with 5s timeout)
458
+ if (forwarder) {
459
+ try {
460
+ console.log(' Flushing trace buffer...');
461
+ const unflushed = yield forwarder.flush(5000);
462
+ if (unflushed > 0) {
463
+ console.log(` ⚠️ ${unflushed} traces could not be forwarded`);
464
+ }
465
+ else {
466
+ console.log(' ✓ All buffered traces sent');
467
+ }
468
+ forwarder.stop();
469
+ }
470
+ catch (error) {
471
+ console.error(' Error flushing traces:', error);
472
+ }
473
+ }
474
+ // Close tunnel
325
475
  if (tunnelInfo) {
326
476
  try {
327
477
  console.log(' Stopping tunnel...');
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../cli-src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../cli-src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * CLI Link Command
3
+ * Feature: 013-trace-tunnel
4
+ *
5
+ * Implements `agentmark link` - links current project to a platform app for trace forwarding.
6
+ *
7
+ * Per cli-commands.md contract:
8
+ * - Verify user is logged in
9
+ * - Fetch user's apps from platform
10
+ * - Display interactive picker (or auto-select if single app)
11
+ * - Create dev API key for selected app
12
+ * - Revoke old key if re-linking
13
+ * - Save forwarding config to .agentmark/dev-config.json
14
+ */
15
+ export interface LinkOptions {
16
+ appId?: string;
17
+ baseUrl?: string;
18
+ supabaseUrl?: string;
19
+ supabaseAnonKey?: string;
20
+ }
21
+ /**
22
+ * Executes the link flow.
23
+ */
24
+ export default function link(options?: LinkOptions): Promise<void>;
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /**
3
+ * CLI Link Command
4
+ * Feature: 013-trace-tunnel
5
+ *
6
+ * Implements `agentmark link` - links current project to a platform app for trace forwarding.
7
+ *
8
+ * Per cli-commands.md contract:
9
+ * - Verify user is logged in
10
+ * - Fetch user's apps from platform
11
+ * - Display interactive picker (or auto-select if single app)
12
+ * - Create dev API key for selected app
13
+ * - Revoke old key if re-linking
14
+ * - Save forwarding config to .agentmark/dev-config.json
15
+ */
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.default = link;
30
+ const credentials_1 = require("../auth/credentials");
31
+ const token_refresh_1 = require("../auth/token-refresh");
32
+ const config_1 = require("../forwarding/config");
33
+ const constants_1 = require("../auth/constants");
34
+ const prompts_1 = __importDefault(require("prompts"));
35
+ const os_1 = __importDefault(require("os"));
36
+ /**
37
+ * Executes the link flow.
38
+ */
39
+ function link() {
40
+ return __awaiter(this, arguments, void 0, function* (options = {}) {
41
+ const platformUrl = options.baseUrl || constants_1.DEFAULT_PLATFORM_URL;
42
+ const supabaseUrl = options.supabaseUrl || constants_1.DEFAULT_SUPABASE_URL;
43
+ const supabaseAnonKey = options.supabaseAnonKey || constants_1.DEFAULT_SUPABASE_ANON_KEY;
44
+ // Step 1: Verify user is logged in
45
+ let credentials = (0, credentials_1.loadCredentials)();
46
+ if (!credentials) {
47
+ console.log('✗ Not logged in. Run `agentmark login` first.');
48
+ process.exit(1);
49
+ }
50
+ // Check if token is expired and refresh if needed
51
+ if ((0, credentials_1.isExpired)(credentials)) {
52
+ console.log('⚠️ Token expired, refreshing...');
53
+ const refreshed = yield (0, token_refresh_1.refreshAccessToken)(credentials, supabaseUrl, supabaseAnonKey);
54
+ if (!refreshed) {
55
+ console.log('✗ Token refresh failed. Run `agentmark login` again.');
56
+ process.exit(1);
57
+ }
58
+ credentials = refreshed;
59
+ }
60
+ let selectedAppId;
61
+ // Step 2: Determine which app to link
62
+ if (options.appId) {
63
+ selectedAppId = options.appId;
64
+ }
65
+ else {
66
+ // Fetch apps from platform
67
+ const appsUrl = `${platformUrl}/api/cli/apps`;
68
+ const appsResponse = yield fetch(appsUrl, {
69
+ headers: {
70
+ Authorization: `Bearer ${credentials.access_token}`,
71
+ },
72
+ });
73
+ if (!appsResponse.ok) {
74
+ console.log('✗ Failed to fetch apps from platform.');
75
+ process.exit(1);
76
+ }
77
+ const appsData = (yield appsResponse.json());
78
+ const apps = appsData.apps;
79
+ if (apps.length === 0) {
80
+ console.log('✗ No apps found. Create an app on the platform first.');
81
+ process.exit(1);
82
+ }
83
+ if (apps.length === 1) {
84
+ // Auto-select the only app
85
+ selectedAppId = apps[0].id;
86
+ console.log(`✓ Auto-linked to "${apps[0].name}" (${apps[0].tenant_name}) - only app found`);
87
+ }
88
+ else {
89
+ // Interactive picker
90
+ const choices = apps.map((app) => ({
91
+ title: `${app.name} (${app.tenant_name})`,
92
+ value: app.id,
93
+ }));
94
+ const response = yield (0, prompts_1.default)({
95
+ type: 'select',
96
+ name: 'appId',
97
+ message: 'Select an app to link:',
98
+ choices,
99
+ });
100
+ if (!response.appId) {
101
+ console.log('✗ No app selected.');
102
+ process.exit(1);
103
+ }
104
+ selectedAppId = response.appId;
105
+ }
106
+ }
107
+ // Step 3: Revoke old key if re-linking
108
+ const existingConfig = (0, config_1.loadForwardingConfig)();
109
+ if (existingConfig === null || existingConfig === void 0 ? void 0 : existingConfig.apiKeyId) {
110
+ try {
111
+ const revokeUrl = `${platformUrl}/api/cli/dev-key/${existingConfig.apiKeyId}`;
112
+ const revokeResponse = yield fetch(revokeUrl, {
113
+ method: 'DELETE',
114
+ headers: {
115
+ Authorization: `Bearer ${credentials.access_token}`,
116
+ },
117
+ });
118
+ if (revokeResponse.ok || revokeResponse.status === 404) {
119
+ console.log('✓ Previous dev API key revoked');
120
+ }
121
+ }
122
+ catch (_a) {
123
+ // Best effort - continue even if revocation fails
124
+ }
125
+ }
126
+ // Step 4: Create new dev key
127
+ const deviceName = `CLI - ${os_1.default.hostname()}`;
128
+ const createKeyUrl = `${platformUrl}/api/cli/dev-key`;
129
+ const createKeyResponse = yield fetch(createKeyUrl, {
130
+ method: 'POST',
131
+ headers: {
132
+ Authorization: `Bearer ${credentials.access_token}`,
133
+ 'Content-Type': 'application/json',
134
+ },
135
+ body: JSON.stringify({
136
+ app_id: selectedAppId,
137
+ device_name: deviceName,
138
+ }),
139
+ });
140
+ if (!createKeyResponse.ok) {
141
+ const errorText = yield createKeyResponse.text();
142
+ console.log(`✗ Failed to create dev API key: ${errorText}`);
143
+ process.exit(1);
144
+ }
145
+ const keyData = (yield createKeyResponse.json());
146
+ // Step 5: Save forwarding config
147
+ (0, config_1.saveForwardingConfig)({
148
+ appId: keyData.app_id,
149
+ appName: keyData.app_name,
150
+ tenantId: keyData.tenant_id,
151
+ apiKey: keyData.key,
152
+ apiKeyId: keyData.key_id,
153
+ expiresAt: keyData.expires_at,
154
+ baseUrl: keyData.base_url,
155
+ });
156
+ console.log(`✓ Linked to "${keyData.app_name}". Traces will forward to this app.`);
157
+ });
158
+ }
159
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../cli-src/commands/link.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * CLI Login Command
3
+ * Feature: 013-trace-tunnel
4
+ *
5
+ * Implements `agentmark login` - authenticates the CLI with the platform using
6
+ * browser-based OAuth with localhost token relay.
7
+ *
8
+ * Flow:
9
+ * - Check existing auth (skip if valid)
10
+ * - Start callback server on random port
11
+ * - Open browser to platform /auth/cli
12
+ * - Platform handles OAuth (Google/GitHub) via Supabase
13
+ * - Platform redirects to localhost callback with session tokens
14
+ * - Save credentials to ~/.agentmark/auth.json
15
+ */
16
+ export interface LoginOptions {
17
+ baseUrl?: string;
18
+ supabaseUrl?: string;
19
+ supabaseAnonKey?: string;
20
+ }
21
+ /**
22
+ * Executes the login flow.
23
+ */
24
+ export default function login(options?: LoginOptions): Promise<void>;