@agentmark-ai/cli 0.4.1 → 0.5.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 (68) 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 +13 -13
  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 +52 -52
  27. package/dist/cloudflared/download.d.ts +12 -0
  28. package/dist/cloudflared/download.js +130 -0
  29. package/dist/cloudflared/download.js.map +1 -0
  30. package/dist/cloudflared/index.d.ts +9 -0
  31. package/dist/cloudflared/index.js +20 -0
  32. package/dist/cloudflared/index.js.map +1 -0
  33. package/dist/cloudflared/platform.d.ts +20 -0
  34. package/dist/cloudflared/platform.js +79 -0
  35. package/dist/cloudflared/platform.js.map +1 -0
  36. package/dist/cloudflared/tunnel.d.ts +16 -0
  37. package/dist/cloudflared/tunnel.js +129 -0
  38. package/dist/cloudflared/tunnel.js.map +1 -0
  39. package/dist/cloudflared/types.d.ts +53 -0
  40. package/dist/cloudflared/types.js +8 -0
  41. package/dist/cloudflared/types.js.map +1 -0
  42. package/dist/commands/dev.js +20 -6
  43. package/dist/commands/dev.js.map +1 -1
  44. package/dist/index.js +14 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/runner-server/core.js +99 -1
  47. package/dist/runner-server/core.js.map +1 -1
  48. package/dist/tunnel.d.ts +3 -16
  49. package/dist/tunnel.js +5 -128
  50. package/dist/tunnel.js.map +1 -1
  51. package/dist/update-notifier/checker.d.ts +26 -0
  52. package/dist/update-notifier/checker.js +142 -0
  53. package/dist/update-notifier/checker.js.map +1 -0
  54. package/dist/update-notifier/constants.d.ts +11 -0
  55. package/dist/update-notifier/constants.js +15 -0
  56. package/dist/update-notifier/constants.js.map +1 -0
  57. package/dist/update-notifier/display.d.ts +24 -0
  58. package/dist/update-notifier/display.js +90 -0
  59. package/dist/update-notifier/display.js.map +1 -0
  60. package/dist/update-notifier/index.d.ts +10 -0
  61. package/dist/update-notifier/index.js +26 -0
  62. package/dist/update-notifier/index.js.map +1 -0
  63. package/dist/update-notifier/types.d.ts +25 -0
  64. package/dist/update-notifier/types.js +6 -0
  65. package/dist/update-notifier/types.js.map +1 -0
  66. package/package.json +1 -3
  67. /package/dist/.next/static/{YsWMMoO7eekSvkhnayCuF → tydEj7UBhUC9ioggdb9um}/_buildManifest.js +0 -0
  68. /package/dist/.next/static/{YsWMMoO7eekSvkhnayCuF → tydEj7UBhUC9ioggdb9um}/_ssgManifest.js +0 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Cloudflared Binary Download Module
3
+ *
4
+ * Handles downloading and installing the cloudflared binary with user consent.
5
+ */
6
+ /**
7
+ * Ensures cloudflared binary is available, downloading if necessary.
8
+ * Prompts for user consent before downloading.
9
+ * @returns Path to the cloudflared binary
10
+ * @throws Error if user declines download or download fails
11
+ */
12
+ export declare function ensureCloudflared(): Promise<string>;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * Cloudflared Binary Download Module
4
+ *
5
+ * Handles downloading and installing the cloudflared binary with user consent.
6
+ */
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.ensureCloudflared = ensureCloudflared;
21
+ const fs_1 = __importDefault(require("fs"));
22
+ const path_1 = __importDefault(require("path"));
23
+ const https_1 = __importDefault(require("https"));
24
+ const child_process_1 = require("child_process");
25
+ const prompts_1 = __importDefault(require("prompts"));
26
+ const platform_1 = require("./platform");
27
+ const GITHUB_RELEASE_URL = 'https://github.com/cloudflare/cloudflared/releases/latest/download';
28
+ /**
29
+ * Ensures cloudflared binary is available, downloading if necessary.
30
+ * Prompts for user consent before downloading.
31
+ * @returns Path to the cloudflared binary
32
+ * @throws Error if user declines download or download fails
33
+ */
34
+ function ensureCloudflared() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const binaryPath = (0, platform_1.getBinaryPath)();
37
+ // Check if binary already exists
38
+ if (fs_1.default.existsSync(binaryPath)) {
39
+ return binaryPath;
40
+ }
41
+ // Check if download should be skipped
42
+ if (process.env.AGENTMARK_SKIP_CLOUDFLARED_DOWNLOAD === 'true') {
43
+ throw new Error('Cloudflared binary not found and automatic download is disabled.\n' +
44
+ 'Install cloudflared manually or set AGENTMARK_SKIP_CLOUDFLARED_DOWNLOAD=false');
45
+ }
46
+ // Prompt for consent
47
+ const { consent } = yield (0, prompts_1.default)({
48
+ type: 'confirm',
49
+ name: 'consent',
50
+ message: 'Cloudflared binary not found. Download it now? (~30MB)',
51
+ initial: true
52
+ });
53
+ if (!consent) {
54
+ throw new Error('Cloudflared binary required for tunnel. Run with --tunnel to try again.');
55
+ }
56
+ yield downloadBinary();
57
+ return binaryPath;
58
+ });
59
+ }
60
+ /**
61
+ * Downloads the cloudflared binary for the current platform.
62
+ */
63
+ function downloadBinary() {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ const { binaryName, isArchive } = (0, platform_1.getPlatformInfo)();
66
+ const cacheDir = (0, platform_1.getCacheDir)();
67
+ const downloadUrl = `${GITHUB_RELEASE_URL}/${binaryName}`;
68
+ // Create cache directory
69
+ fs_1.default.mkdirSync(cacheDir, { recursive: true });
70
+ console.log(`Downloading cloudflared from ${downloadUrl}...`);
71
+ const tempPath = path_1.default.join(cacheDir, binaryName);
72
+ yield downloadFile(downloadUrl, tempPath);
73
+ if (isArchive) {
74
+ // Extract .tgz on macOS
75
+ console.log('Extracting archive...');
76
+ (0, child_process_1.execSync)(`tar -xzf "${tempPath}" -C "${cacheDir}"`);
77
+ fs_1.default.unlinkSync(tempPath);
78
+ }
79
+ // Set executable permission on Unix
80
+ const binaryPath = (0, platform_1.getBinaryPath)();
81
+ if (process.platform !== 'win32') {
82
+ fs_1.default.chmodSync(binaryPath, 0o755);
83
+ }
84
+ console.log('Cloudflared installed successfully.');
85
+ });
86
+ }
87
+ /**
88
+ * Downloads a file from a URL, following redirects.
89
+ * @param url URL to download from
90
+ * @param dest Destination file path
91
+ */
92
+ function downloadFile(url, dest) {
93
+ return new Promise((resolve, reject) => {
94
+ const file = fs_1.default.createWriteStream(dest);
95
+ const request = https_1.default.get(url, (response) => {
96
+ // Follow redirects (GitHub uses 302 for release downloads)
97
+ if (response.statusCode === 302 || response.statusCode === 301) {
98
+ const redirectUrl = response.headers.location;
99
+ if (!redirectUrl) {
100
+ reject(new Error('Redirect without location header'));
101
+ return;
102
+ }
103
+ file.close();
104
+ fs_1.default.unlinkSync(dest);
105
+ downloadFile(redirectUrl, dest).then(resolve).catch(reject);
106
+ return;
107
+ }
108
+ if (response.statusCode !== 200) {
109
+ reject(new Error(`Download failed with status ${response.statusCode}`));
110
+ return;
111
+ }
112
+ response.pipe(file);
113
+ file.on('finish', () => {
114
+ file.close();
115
+ resolve();
116
+ });
117
+ });
118
+ request.on('error', (err) => {
119
+ file.close();
120
+ fs_1.default.unlink(dest, () => { }); // Delete partial file
121
+ reject(new Error(`Download failed: ${err.message}`));
122
+ });
123
+ file.on('error', (err) => {
124
+ file.close();
125
+ fs_1.default.unlink(dest, () => { }); // Delete partial file
126
+ reject(new Error(`File write failed: ${err.message}`));
127
+ });
128
+ });
129
+ }
130
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../cli-src/cloudflared/download.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Cloudflared Module
3
+ *
4
+ * Public exports for cloudflared tunnel functionality.
5
+ */
6
+ export type { TunnelInfo, PlatformInfo, CloudflaredConfig, DownloadProgress } from './types';
7
+ export { createTunnel } from './tunnel';
8
+ export { ensureCloudflared } from './download';
9
+ export { getPlatformInfo, getCacheDir, getBinaryPath } from './platform';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /**
3
+ * Cloudflared Module
4
+ *
5
+ * Public exports for cloudflared tunnel functionality.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getBinaryPath = exports.getCacheDir = exports.getPlatformInfo = exports.ensureCloudflared = exports.createTunnel = void 0;
9
+ // Tunnel management
10
+ var tunnel_1 = require("./tunnel");
11
+ Object.defineProperty(exports, "createTunnel", { enumerable: true, get: function () { return tunnel_1.createTunnel; } });
12
+ // Binary management
13
+ var download_1 = require("./download");
14
+ Object.defineProperty(exports, "ensureCloudflared", { enumerable: true, get: function () { return download_1.ensureCloudflared; } });
15
+ // Platform utilities
16
+ var platform_1 = require("./platform");
17
+ Object.defineProperty(exports, "getPlatformInfo", { enumerable: true, get: function () { return platform_1.getPlatformInfo; } });
18
+ Object.defineProperty(exports, "getCacheDir", { enumerable: true, get: function () { return platform_1.getCacheDir; } });
19
+ Object.defineProperty(exports, "getBinaryPath", { enumerable: true, get: function () { return platform_1.getBinaryPath; } });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli-src/cloudflared/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAKH,oBAAoB;AACpB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAErB,oBAAoB;AACpB,uCAA+C;AAAtC,6GAAA,iBAAiB,OAAA;AAE1B,qBAAqB;AACrB,uCAAyE;AAAhE,2GAAA,eAAe,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,yGAAA,aAAa,OAAA"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Platform Detection Module
3
+ *
4
+ * Handles OS and architecture detection for cloudflared binary selection.
5
+ */
6
+ import type { PlatformInfo } from './types';
7
+ /**
8
+ * Detects the current platform and returns binary information.
9
+ * @throws Error if the platform/architecture combination is not supported
10
+ */
11
+ export declare function getPlatformInfo(): PlatformInfo;
12
+ /**
13
+ * Returns the cache directory for cloudflared binaries.
14
+ * Can be overridden with CLOUDFLARED_CACHE_DIR environment variable.
15
+ */
16
+ export declare function getCacheDir(): string;
17
+ /**
18
+ * Returns the full path to the cloudflared binary.
19
+ */
20
+ export declare function getBinaryPath(): string;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ /**
3
+ * Platform Detection Module
4
+ *
5
+ * Handles OS and architecture detection for cloudflared binary selection.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.getPlatformInfo = getPlatformInfo;
12
+ exports.getCacheDir = getCacheDir;
13
+ exports.getBinaryPath = getBinaryPath;
14
+ const os_1 = __importDefault(require("os"));
15
+ const path_1 = __importDefault(require("path"));
16
+ /**
17
+ * Binary name mapping by platform and architecture.
18
+ */
19
+ const BINARY_MAP = {
20
+ win32: {
21
+ x64: { name: 'cloudflared-windows-amd64.exe', archive: false },
22
+ ia32: { name: 'cloudflared-windows-386.exe', archive: false }
23
+ },
24
+ darwin: {
25
+ x64: { name: 'cloudflared-darwin-amd64.tgz', archive: true },
26
+ arm64: { name: 'cloudflared-darwin-arm64.tgz', archive: true }
27
+ },
28
+ linux: {
29
+ x64: { name: 'cloudflared-linux-amd64', archive: false },
30
+ arm64: { name: 'cloudflared-linux-arm64', archive: false },
31
+ arm: { name: 'cloudflared-linux-arm', archive: false }
32
+ }
33
+ };
34
+ /**
35
+ * Detects the current platform and returns binary information.
36
+ * @throws Error if the platform/architecture combination is not supported
37
+ */
38
+ function getPlatformInfo() {
39
+ const platform = os_1.default.platform();
40
+ const arch = os_1.default.arch();
41
+ const platformBinaries = BINARY_MAP[platform];
42
+ if (!platformBinaries) {
43
+ throw new Error(`Unsupported platform: ${platform}`);
44
+ }
45
+ const info = platformBinaries[arch];
46
+ if (!info) {
47
+ throw new Error(`Unsupported architecture: ${arch} on ${platform}`);
48
+ }
49
+ return {
50
+ os: platform,
51
+ arch: arch,
52
+ binaryName: info.name,
53
+ isArchive: info.archive
54
+ };
55
+ }
56
+ /**
57
+ * Returns the cache directory for cloudflared binaries.
58
+ * Can be overridden with CLOUDFLARED_CACHE_DIR environment variable.
59
+ */
60
+ function getCacheDir() {
61
+ if (process.env.CLOUDFLARED_CACHE_DIR) {
62
+ return process.env.CLOUDFLARED_CACHE_DIR;
63
+ }
64
+ return path_1.default.join(os_1.default.homedir(), '.cache', 'agentmark-cloudflared');
65
+ }
66
+ /**
67
+ * Returns the full path to the cloudflared binary.
68
+ */
69
+ function getBinaryPath() {
70
+ const cacheDir = getCacheDir();
71
+ const { binaryName, isArchive } = getPlatformInfo();
72
+ // For archives (macOS .tgz), the extracted binary is named 'cloudflared'
73
+ // For direct downloads (Windows .exe, Linux), use the original name
74
+ if (isArchive) {
75
+ return path_1.default.join(cacheDir, 'cloudflared');
76
+ }
77
+ return path_1.default.join(cacheDir, binaryName);
78
+ }
79
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../cli-src/cloudflared/platform.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AA6BH,0CAoBC;AAMD,kCAKC;AAKD,sCAWC;AA1ED,4CAAoB;AACpB,gDAAwB;AAGxB;;GAEG;AACH,MAAM,UAAU,GAAuE;IACrF,KAAK,EAAE;QACL,GAAG,EAAE,EAAE,IAAI,EAAE,+BAA+B,EAAE,OAAO,EAAE,KAAK,EAAE;QAC9D,IAAI,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,KAAK,EAAE;KAC9D;IACD,MAAM,EAAE;QACN,GAAG,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5D,KAAK,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,IAAI,EAAE;KAC/D;IACD,KAAK,EAAE;QACL,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,KAAK,EAAE;QACxD,KAAK,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1D,GAAG,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,KAAK,EAAE;KACvD;CACF,CAAC;AAEF;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,QAAQ,GAAG,YAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,YAAE,CAAC,IAAI,EAAE,CAAC;IAEvB,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,OAAO,QAAQ,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,EAAE,EAAE,QAA8B;QAClC,IAAI,EAAE,IAA4B;QAClC,UAAU,EAAE,IAAI,CAAC,IAAI;QACrB,SAAS,EAAE,IAAI,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC3C,CAAC;IACD,OAAO,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,uBAAuB,CAAC,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAC;IAEpD,yEAAyE;IACzE,oEAAoE;IACpE,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Cloudflared Tunnel Management Module
3
+ *
4
+ * Handles creating and managing cloudflared tunnel connections with retry logic.
5
+ */
6
+ import type { TunnelInfo } from './types';
7
+ /**
8
+ * Creates a cloudflared tunnel to the specified local port.
9
+ * Includes retry logic for connection failures (FR-007).
10
+ *
11
+ * @param port Local port to tunnel to
12
+ * @param subdomain Optional subdomain (not used for trycloudflare.com, kept for API compatibility)
13
+ * @returns TunnelInfo with URL and disconnect function
14
+ * @throws Error if tunnel cannot be established after retries
15
+ */
16
+ export declare function createTunnel(port: number, _subdomain?: string): Promise<TunnelInfo>;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ /**
3
+ * Cloudflared Tunnel Management Module
4
+ *
5
+ * Handles creating and managing cloudflared tunnel connections with retry logic.
6
+ */
7
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
+ return new (P || (P = Promise))(function (resolve, reject) {
10
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
14
+ });
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.createTunnel = createTunnel;
18
+ const child_process_1 = require("child_process");
19
+ const download_1 = require("./download");
20
+ /** Maximum time to wait for tunnel URL (milliseconds) */
21
+ const TUNNEL_TIMEOUT = 30000;
22
+ /** Number of retry attempts for connection failures */
23
+ const MAX_RETRIES = 3;
24
+ /** Delay between retry attempts (milliseconds) */
25
+ const RETRY_DELAY = 2000;
26
+ /**
27
+ * Regex pattern to extract tunnel URL from cloudflared output.
28
+ * Matches URLs like: https://random-words.trycloudflare.com
29
+ */
30
+ const URL_REGEX = /https:\/\/([\w-]+)\.trycloudflare\.com/;
31
+ /**
32
+ * Creates a cloudflared tunnel to the specified local port.
33
+ * Includes retry logic for connection failures (FR-007).
34
+ *
35
+ * @param port Local port to tunnel to
36
+ * @param subdomain Optional subdomain (not used for trycloudflare.com, kept for API compatibility)
37
+ * @returns TunnelInfo with URL and disconnect function
38
+ * @throws Error if tunnel cannot be established after retries
39
+ */
40
+ function createTunnel(port, _subdomain) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ let lastError = null;
43
+ for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
44
+ try {
45
+ return yield attemptTunnel(port);
46
+ }
47
+ catch (error) {
48
+ lastError = error;
49
+ if (attempt < MAX_RETRIES) {
50
+ console.log(`Tunnel connection failed (attempt ${attempt}/${MAX_RETRIES}). Retrying in ${RETRY_DELAY / 1000}s...`);
51
+ yield delay(RETRY_DELAY);
52
+ }
53
+ }
54
+ }
55
+ throw new Error(`Failed to establish tunnel after ${MAX_RETRIES} attempts: ${lastError === null || lastError === void 0 ? void 0 : lastError.message}`);
56
+ });
57
+ }
58
+ /**
59
+ * Single attempt to create a tunnel connection.
60
+ */
61
+ function attemptTunnel(port) {
62
+ return __awaiter(this, void 0, void 0, function* () {
63
+ const binaryPath = yield (0, download_1.ensureCloudflared)();
64
+ return new Promise((resolve, reject) => {
65
+ var _a, _b;
66
+ const tunnel = (0, child_process_1.spawn)(binaryPath, ['tunnel', '--url', `http://localhost:${port}`], {
67
+ stdio: ['ignore', 'pipe', 'pipe']
68
+ });
69
+ let urlFound = false;
70
+ const tunnelProcess = tunnel;
71
+ const handleOutput = (data) => {
72
+ const output = data.toString();
73
+ const match = output.match(URL_REGEX);
74
+ if (match && !urlFound) {
75
+ urlFound = true;
76
+ resolve({
77
+ url: match[0],
78
+ provider: 'cloudflared',
79
+ disconnect: () => __awaiter(this, void 0, void 0, function* () {
80
+ return new Promise((res) => {
81
+ if (tunnelProcess.killed) {
82
+ res();
83
+ return;
84
+ }
85
+ tunnelProcess.on('close', () => res());
86
+ // Use SIGTERM for graceful shutdown
87
+ tunnelProcess.kill('SIGTERM');
88
+ // Force kill after 5 seconds if still running
89
+ setTimeout(() => {
90
+ if (!tunnelProcess.killed) {
91
+ tunnelProcess.kill('SIGKILL');
92
+ }
93
+ res();
94
+ }, 5000);
95
+ });
96
+ })
97
+ });
98
+ }
99
+ };
100
+ // URL may appear in stdout or stderr depending on cloudflared version
101
+ (_a = tunnel.stdout) === null || _a === void 0 ? void 0 : _a.on('data', handleOutput);
102
+ (_b = tunnel.stderr) === null || _b === void 0 ? void 0 : _b.on('data', handleOutput);
103
+ tunnel.on('error', (error) => {
104
+ if (!urlFound) {
105
+ reject(new Error(`Failed to start cloudflared: ${error.message}`));
106
+ }
107
+ });
108
+ tunnel.on('close', (code) => {
109
+ if (!urlFound) {
110
+ reject(new Error(`Cloudflared exited with code ${code} before establishing tunnel`));
111
+ }
112
+ });
113
+ // Timeout if URL not found within time limit
114
+ setTimeout(() => {
115
+ if (!urlFound) {
116
+ tunnel.kill('SIGTERM');
117
+ reject(new Error('Tunnel connection timeout - no URL received within 30 seconds'));
118
+ }
119
+ }, TUNNEL_TIMEOUT);
120
+ });
121
+ });
122
+ }
123
+ /**
124
+ * Utility function for delays.
125
+ */
126
+ function delay(ms) {
127
+ return new Promise((resolve) => setTimeout(resolve, ms));
128
+ }
129
+ //# sourceMappingURL=tunnel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tunnel.js","sourceRoot":"","sources":["../../cli-src/cloudflared/tunnel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Cloudflared Tunneling Types
3
+ *
4
+ * TypeScript interfaces for cloudflared binary management and tunnel operations.
5
+ */
6
+ /**
7
+ * Information about an active tunnel connection.
8
+ */
9
+ export interface TunnelInfo {
10
+ /** Public tunnel URL (e.g., https://xyz.trycloudflare.com) */
11
+ url: string;
12
+ /** Tunnel provider identifier */
13
+ provider: 'cloudflared';
14
+ /** Cleanup function to disconnect the tunnel */
15
+ disconnect: () => Promise<void>;
16
+ }
17
+ /**
18
+ * Configuration for cloudflared binary management.
19
+ */
20
+ export interface CloudflaredConfig {
21
+ /** Binary cache directory */
22
+ cacheDir: string;
23
+ /** Version to use ('latest' or specific version) */
24
+ version: string;
25
+ /** Resolved binary path (null if not downloaded) */
26
+ binaryPath: string | null;
27
+ }
28
+ /**
29
+ * Platform detection information for binary selection.
30
+ */
31
+ export interface PlatformInfo {
32
+ /** Operating system */
33
+ os: 'win32' | 'darwin' | 'linux';
34
+ /** CPU architecture */
35
+ arch: 'x64' | 'arm64' | 'arm' | 'ia32';
36
+ /** Platform-specific binary filename */
37
+ binaryName: string;
38
+ /** True for .tgz files (macOS) */
39
+ isArchive: boolean;
40
+ }
41
+ /**
42
+ * Progress reporting during binary download.
43
+ */
44
+ export interface DownloadProgress {
45
+ /** Current download phase */
46
+ phase: 'checking' | 'downloading' | 'extracting' | 'ready';
47
+ /** Bytes downloaded so far */
48
+ bytesDownloaded?: number;
49
+ /** Total bytes to download */
50
+ totalBytes?: number;
51
+ /** Human-readable status message */
52
+ message: string;
53
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Cloudflared Tunneling Types
4
+ *
5
+ * TypeScript interfaces for cloudflared binary management and tunnel operations.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../cli-src/cloudflared/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -129,18 +129,27 @@ const dev = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (opt
129
129
  }
130
130
  }
131
131
  else {
132
+ // Check locations in priority order:
133
+ // 1. Custom dev-server.ts (user override)
134
+ // 2. Project root dev-entry.ts (new default location, version controlled)
135
+ // 3. .agentmark/dev-entry.ts (legacy location for backward compatibility)
132
136
  const customDevServer = path_1.default.join(cwd, 'dev-server.ts');
133
- const autoGeneratedEntry = path_1.default.join(cwd, '.agentmark', 'dev-entry.ts');
137
+ const projectRootEntry = path_1.default.join(cwd, 'dev-entry.ts');
138
+ const legacyEntry = path_1.default.join(cwd, '.agentmark', 'dev-entry.ts');
134
139
  if (fs_1.default.existsSync(customDevServer)) {
135
140
  console.log('Using custom dev-server.ts');
136
141
  devServerFile = customDevServer;
137
142
  }
138
- else if (fs_1.default.existsSync(autoGeneratedEntry)) {
139
- devServerFile = autoGeneratedEntry;
143
+ else if (fs_1.default.existsSync(projectRootEntry)) {
144
+ devServerFile = projectRootEntry;
145
+ }
146
+ else if (fs_1.default.existsSync(legacyEntry)) {
147
+ console.log('Using legacy .agentmark/dev-entry.ts (consider moving to project root)');
148
+ devServerFile = legacyEntry;
140
149
  }
141
150
  else {
142
151
  console.error('Error: No dev server entry point found.');
143
- console.error('Expected .agentmark/dev-entry.ts to be created during initialization.');
152
+ console.error('Expected dev-entry.ts at project root or .agentmark/dev-entry.ts.');
144
153
  console.error('Please run "npx create-agentmark" to set up a new project.');
145
154
  process.exit(1);
146
155
  }
@@ -272,8 +281,13 @@ const dev = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* (opt
272
281
  const subdomain = (0, config_1.getTunnelSubdomain)();
273
282
  tunnelInfo = yield (0, tunnel_1.createTunnel)(webhookPort, subdomain);
274
283
  }
275
- catch (_a) {
276
- console.error('Continuing without tunnel...\n');
284
+ catch (error) {
285
+ const errorMsg = (error === null || error === void 0 ? void 0 : error.message) || String(error);
286
+ console.error('\n⚠️ Could not establish tunnel:', errorMsg);
287
+ if (errorMsg.includes('Download') || errorMsg.includes('consent')) {
288
+ console.error(' Run again with --tunnel to retry download.');
289
+ }
290
+ console.error(' Continuing in local-only mode...\n');
277
291
  }
278
292
  }
279
293
  console.log('\n' + '═'.repeat(70));
@@ -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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"}
package/dist/index.js CHANGED
@@ -25,6 +25,9 @@ const pull_models_1 = __importDefault(require("./commands/pull-models"));
25
25
  const run_prompt_1 = __importDefault(require("./commands/run-prompt"));
26
26
  const run_experiment_1 = __importDefault(require("./commands/run-experiment"));
27
27
  const build_1 = __importDefault(require("./commands/build"));
28
+ const update_notifier_1 = require("./update-notifier");
29
+ // Start async update check early (non-blocking)
30
+ const updateCheckPromise = (0, update_notifier_1.startUpdateCheck)();
28
31
  // Read version from package.json
29
32
  const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../package.json'), 'utf-8'));
30
33
  commander_1.program
@@ -123,5 +126,15 @@ commander_1.program
123
126
  commander_1.program.error(error.message);
124
127
  }
125
128
  }));
126
- commander_1.program.parse(process.argv);
129
+ // Parse and run command, then display update notification
130
+ // Using parseAsync ensures notification displays after command completes
131
+ commander_1.program.parseAsync(process.argv).then(() => __awaiter(void 0, void 0, void 0, function* () {
132
+ try {
133
+ const result = yield updateCheckPromise;
134
+ (0, update_notifier_1.displayUpdateNotification)(result);
135
+ }
136
+ catch (_a) {
137
+ // Silent failure - never interrupt CLI due to update check
138
+ }
139
+ }));
127
140
  //# sourceMappingURL=index.js.map