agent-oven 0.1.0 → 0.2.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 (89) hide show
  1. package/CLAUDE.md +63 -66
  2. package/README.md +59 -43
  3. package/dist/cli/commands/add.d.ts.map +1 -1
  4. package/dist/cli/commands/add.js +29 -7
  5. package/dist/cli/commands/add.js.map +1 -1
  6. package/dist/cli/commands/daemon.d.ts.map +1 -1
  7. package/dist/cli/commands/daemon.js +16 -22
  8. package/dist/cli/commands/daemon.js.map +1 -1
  9. package/dist/cli/commands/down.d.ts +1 -1
  10. package/dist/cli/commands/down.d.ts.map +1 -1
  11. package/dist/cli/commands/down.js +12 -12
  12. package/dist/cli/commands/down.js.map +1 -1
  13. package/dist/cli/commands/status.d.ts.map +1 -1
  14. package/dist/cli/commands/status.js +11 -9
  15. package/dist/cli/commands/status.js.map +1 -1
  16. package/dist/cli/commands/up.d.ts +1 -1
  17. package/dist/cli/commands/up.d.ts.map +1 -1
  18. package/dist/cli/commands/up.js +17 -17
  19. package/dist/cli/commands/up.js.map +1 -1
  20. package/dist/cli.js +14 -1
  21. package/dist/cli.js.map +1 -1
  22. package/dist/core/auth.d.ts +4 -1
  23. package/dist/core/auth.d.ts.map +1 -1
  24. package/dist/core/auth.js +20 -2
  25. package/dist/core/auth.js.map +1 -1
  26. package/dist/core/config.d.ts +0 -4
  27. package/dist/core/config.d.ts.map +1 -1
  28. package/dist/core/config.js +0 -6
  29. package/dist/core/config.js.map +1 -1
  30. package/dist/core/docker.d.ts +1 -17
  31. package/dist/core/docker.d.ts.map +1 -1
  32. package/dist/core/docker.js +148 -119
  33. package/dist/core/docker.js.map +1 -1
  34. package/dist/core/index.d.ts +2 -0
  35. package/dist/core/index.d.ts.map +1 -1
  36. package/dist/core/index.js +2 -0
  37. package/dist/core/index.js.map +1 -1
  38. package/dist/core/jobs.d.ts +1 -0
  39. package/dist/core/jobs.d.ts.map +1 -1
  40. package/dist/core/jobs.js +13 -1
  41. package/dist/core/jobs.js.map +1 -1
  42. package/dist/core/platform-darwin.d.ts +37 -0
  43. package/dist/core/platform-darwin.d.ts.map +1 -0
  44. package/dist/core/platform-darwin.js +236 -0
  45. package/dist/core/platform-darwin.js.map +1 -0
  46. package/dist/core/platform-linux.d.ts +37 -0
  47. package/dist/core/platform-linux.d.ts.map +1 -0
  48. package/dist/core/platform-linux.js +198 -0
  49. package/dist/core/platform-linux.js.map +1 -0
  50. package/dist/core/platform.d.ts +63 -0
  51. package/dist/core/platform.d.ts.map +1 -0
  52. package/dist/core/platform.js +31 -0
  53. package/dist/core/platform.js.map +1 -0
  54. package/dist/core/scheduler-runner.d.ts.map +1 -1
  55. package/dist/core/scheduler-runner.js +17 -10
  56. package/dist/core/scheduler-runner.js.map +1 -1
  57. package/dist/core/scheduler.d.ts +28 -2
  58. package/dist/core/scheduler.d.ts.map +1 -1
  59. package/dist/core/scheduler.js +126 -11
  60. package/dist/core/scheduler.js.map +1 -1
  61. package/dist/core/setup.d.ts +7 -32
  62. package/dist/core/setup.d.ts.map +1 -1
  63. package/dist/core/setup.js +14 -149
  64. package/dist/core/setup.js.map +1 -1
  65. package/dist/core/types.d.ts +17 -4
  66. package/dist/core/types.d.ts.map +1 -1
  67. package/dist/core/types.js.map +1 -1
  68. package/dist/core/update-check.d.ts +22 -0
  69. package/dist/core/update-check.d.ts.map +1 -0
  70. package/dist/core/update-check.js +184 -0
  71. package/dist/core/update-check.js.map +1 -0
  72. package/dist/tui/components/Dashboard.d.ts.map +1 -1
  73. package/dist/tui/components/Dashboard.js +19 -2
  74. package/dist/tui/components/Dashboard.js.map +1 -1
  75. package/dist/tui/components/InitWizard.d.ts.map +1 -1
  76. package/dist/tui/components/InitWizard.js +68 -54
  77. package/dist/tui/components/InitWizard.js.map +1 -1
  78. package/dist/tui/components/JobDetail.d.ts.map +1 -1
  79. package/dist/tui/components/JobDetail.js +1 -1
  80. package/dist/tui/components/JobDetail.js.map +1 -1
  81. package/dist/tui/components/JobForm.d.ts.map +1 -1
  82. package/dist/tui/components/JobForm.js +40 -23
  83. package/dist/tui/components/JobForm.js.map +1 -1
  84. package/dist/tui/components/JobList.js +3 -1
  85. package/dist/tui/components/JobList.js.map +1 -1
  86. package/images/pipeline-runner/Dockerfile +5 -1
  87. package/images/pipeline-runner/entrypoint.sh +25 -2
  88. package/package.json +5 -3
  89. package/scheduler.sh +7 -2
@@ -7,77 +7,9 @@ import * as fs from 'node:fs';
7
7
  import * as path from 'node:path';
8
8
  import * as os from 'node:os';
9
9
  import { fileURLToPath } from 'node:url';
10
- import { getColimaStatus, startColima, isDockerAvailable } from './docker.js';
11
- import { saveConfig, getLaunchdPlistPath } from './config.js';
12
- export { getColimaStatus, startColima, isDockerAvailable };
13
- /**
14
- * Check if Homebrew is installed
15
- */
16
- export async function checkHomebrew() {
17
- try {
18
- const { stdout } = await execa('brew', ['--version']);
19
- const version = stdout.split('\n')[0]?.replace('Homebrew ', '').trim();
20
- return { installed: true, version };
21
- }
22
- catch {
23
- return { installed: false };
24
- }
25
- }
26
- /**
27
- * Check if a command-line dependency exists
28
- */
29
- export async function checkDependency(name) {
30
- try {
31
- await execa('command', ['-v', name], { shell: true });
32
- // Try to get version
33
- let version;
34
- try {
35
- const { stdout } = await execa(name, ['--version'], { reject: false });
36
- version = stdout.split('\n')[0]?.trim();
37
- }
38
- catch {
39
- // Some commands don't have --version
40
- }
41
- return { installed: true, version };
42
- }
43
- catch {
44
- return { installed: false };
45
- }
46
- }
47
- /**
48
- * Install a package via Homebrew
49
- */
50
- export async function brewInstall(pkg, onOutput) {
51
- try {
52
- // Check if already installed
53
- const check = await execa('brew', ['list', pkg], { reject: false });
54
- if (check.exitCode === 0) {
55
- return 'already-installed';
56
- }
57
- const proc = execa('brew', ['install', pkg]);
58
- if (onOutput && proc.stdout) {
59
- proc.stdout.on('data', (data) => {
60
- const lines = data.toString().split('\n').filter(Boolean);
61
- for (const line of lines) {
62
- onOutput(line);
63
- }
64
- });
65
- }
66
- if (onOutput && proc.stderr) {
67
- proc.stderr.on('data', (data) => {
68
- const lines = data.toString().split('\n').filter(Boolean);
69
- for (const line of lines) {
70
- onOutput(line);
71
- }
72
- });
73
- }
74
- await proc;
75
- return 'installed';
76
- }
77
- catch {
78
- return 'failed';
79
- }
80
- }
10
+ import { isDockerAvailable } from './docker.js';
11
+ import { saveConfig } from './config.js';
12
+ export { isDockerAvailable };
81
13
  /**
82
14
  * Create required directories and files
83
15
  */
@@ -161,15 +93,16 @@ export function detectTimezone() {
161
93
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
162
94
  }
163
95
  /**
164
- * Resolve the command array for the launchd plist ProgramArguments.
96
+ * Resolve the command array for the daemon config (plist/systemd ExecStart).
165
97
  *
166
98
  * Strategy:
167
99
  * 1. Pin to the currently-running CLI process where possible.
168
100
  * 2. Fallback to project-local dist/cli.js (for built source checkouts).
169
101
  * 3. Fallback to package-local dist/cli.js (for npm global installs).
170
- * 4. Final fallback: legacy scheduler.sh for unbuilt source checkouts.
102
+ * 4. Optional final fallback: legacy scheduler.sh for unbuilt source checkouts.
171
103
  */
172
- export async function resolveSchedulerCommand(projectDir) {
104
+ export async function resolveSchedulerCommand(projectDir, options) {
105
+ const allowLegacyFallback = options?.allowLegacyFallback ?? true;
173
106
  // 1) Pin to the current CLI invocation path when possible.
174
107
  const argv1 = process.argv[1];
175
108
  if (argv1) {
@@ -191,85 +124,17 @@ export async function resolveSchedulerCommand(projectDir) {
191
124
  if (fs.existsSync(packageCliJs)) {
192
125
  return [process.execPath, packageCliJs, 'scheduler-tick'];
193
126
  }
194
- // 4) Legacy fallback for source checkouts not yet built.
127
+ // 4) Optional legacy fallback for source checkouts not yet built.
195
128
  const legacyScheduler = path.resolve(projectDir, 'scheduler.sh');
196
- if (fs.existsSync(legacyScheduler)) {
129
+ if (allowLegacyFallback && fs.existsSync(legacyScheduler)) {
197
130
  return [legacyScheduler];
198
131
  }
199
- throw new Error(`Unable to resolve scheduler command. Looked for ${projectCliJs}, ${packageCliJs}, and ${legacyScheduler}.`);
200
- }
201
- function escapePlistString(value) {
202
- return value
203
- .replace(/&/g, '&')
204
- .replace(/</g, '&lt;')
205
- .replace(/>/g, '&gt;');
206
- }
207
- /**
208
- * Generate launchd plist XML content
209
- */
210
- export async function generatePlistContent(projectDir) {
211
- const cmdArgs = await resolveSchedulerCommand(projectDir);
212
- const programArgs = cmdArgs
213
- .map((arg) => ` <string>${escapePlistString(arg)}</string>`)
214
- .join('\n');
215
- const schedulerLogPath = escapePlistString(path.join(projectDir, 'logs', 'scheduler.log'));
216
- return `<?xml version="1.0" encoding="UTF-8"?>
217
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
218
- <plist version="1.0">
219
- <dict>
220
- <key>Label</key>
221
- <string>com.agent-oven.scheduler</string>
222
-
223
- <key>ProgramArguments</key>
224
- <array>
225
- ${programArgs}
226
- </array>
227
-
228
- <key>StartInterval</key>
229
- <integer>60</integer>
230
-
231
- <key>RunAtLoad</key>
232
- <true/>
233
-
234
- <key>StandardOutPath</key>
235
- <string>${schedulerLogPath}</string>
236
-
237
- <key>StandardErrorPath</key>
238
- <string>${schedulerLogPath}</string>
239
-
240
- <key>EnvironmentVariables</key>
241
- <dict>
242
- <key>PATH</key>
243
- <string>/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin</string>
244
- </dict>
245
- </dict>
246
- </plist>
247
- `;
248
- }
249
- /**
250
- * Install the launchd agent
251
- */
252
- export async function installLaunchd(projectDir) {
253
- const plistPath = getLaunchdPlistPath();
254
- const plistDir = path.dirname(plistPath);
255
- try {
256
- // Ensure LaunchAgents directory exists
257
- if (!fs.existsSync(plistDir)) {
258
- fs.mkdirSync(plistDir, { recursive: true });
259
- }
260
- // Write plist
261
- const content = await generatePlistContent(projectDir);
262
- fs.writeFileSync(plistPath, content);
263
- // Unload if already loaded (ignore errors)
264
- await execa('launchctl', ['unload', plistPath], { reject: false });
265
- // Load the agent
266
- await execa('launchctl', ['load', plistPath]);
267
- return { success: true };
268
- }
269
- catch (err) {
270
- const message = err instanceof Error ? err.message : String(err);
271
- return { success: false, error: message };
132
+ const lookedFor = `${projectCliJs}, ${packageCliJs}, and ${legacyScheduler}`;
133
+ if (!allowLegacyFallback) {
134
+ throw new Error(`Unable to resolve scheduler command for this platform. Looked for ${lookedFor}. ` +
135
+ 'Build the project first so dist/cli.js exists (for example: npm run build).');
272
136
  }
137
+ throw new Error(`Unable to resolve scheduler command. Looked for ${lookedFor}.`);
273
138
  }
274
139
  /**
275
140
  * Verify Docker is available and get version
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/core/setup.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,17 @@ export interface OneTimeSchedule {
13
13
  /** ISO 8601 datetime string (YYYY-MM-DDTHH:MM:SS) */
14
14
  datetime: string;
15
15
  }
16
- export type Schedule = CronSchedule | OneTimeSchedule;
16
+ /** Random-window schedule - runs once per day at a random time within a window */
17
+ export interface RandomWindowSchedule {
18
+ type: 'random-window';
19
+ /** Window start time in HH:MM 24-hour format */
20
+ start: string;
21
+ /** Window end time in HH:MM 24-hour format */
22
+ end: string;
23
+ /** Days of week using cron weekday syntax (0=Sun..6=Sat, 7=Sun), defaults to '*' */
24
+ days?: string;
25
+ }
26
+ export type Schedule = CronSchedule | OneTimeSchedule | RandomWindowSchedule;
17
27
  /** Environment variables for a job */
18
28
  export type EnvVars = Record<string, string>;
19
29
  /** Auth mode for pipeline jobs */
@@ -127,13 +137,15 @@ export interface Config {
127
137
  /** Auth configuration for pipeline jobs */
128
138
  auth?: AuthConfig;
129
139
  }
130
- /** Status of Colima VM */
131
- export interface ColimaStatus {
140
+ /** Status of the container runtime (Colima on macOS, native Docker on Linux) */
141
+ export interface RuntimeStatus {
132
142
  running: boolean;
133
143
  cpu?: number;
134
144
  memory?: number;
135
145
  disk?: number;
136
146
  }
147
+ /** @deprecated Use RuntimeStatus instead */
148
+ export type ColimaStatus = RuntimeStatus;
137
149
  /** Status of the scheduler daemon */
138
150
  export interface SchedulerStatus {
139
151
  loaded: boolean;
@@ -162,13 +174,14 @@ export interface JobRunResult {
162
174
  }
163
175
  /** Overall system status */
164
176
  export interface SystemStatus {
165
- colima: ColimaStatus;
177
+ runtime: RuntimeStatus;
166
178
  scheduler: SchedulerStatus;
167
179
  jobs: {
168
180
  total: number;
169
181
  enabled: number;
170
182
  cron: number;
171
183
  oncePending: number;
184
+ randomWindow: number;
172
185
  };
173
186
  runningContainers: RunningContainer[];
174
187
  recentExecutions: JobLogEntry[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmGH,iCAAiC;AACjC,MAAM,UAAU,WAAW,CAAC,GAAQ;IAClC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8GH,iCAAiC;AACjC,MAAM,UAAU,WAAW,CAAC,GAAQ;IAClC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACvC,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Lightweight update checker for agent-oven.
3
+ *
4
+ * Hits the npm registry at most once per 24 hours, caches the result
5
+ * to ~/.config/agent-oven/update-check.json, and never throws.
6
+ */
7
+ export interface UpdateInfo {
8
+ currentVersion: string;
9
+ latestVersion: string;
10
+ updateAvailable: boolean;
11
+ }
12
+ /**
13
+ * Check for an available update. Uses a 24-hour cache to avoid
14
+ * hitting the registry on every invocation. Never throws.
15
+ */
16
+ export declare function checkForUpdate(): Promise<UpdateInfo | null>;
17
+ /**
18
+ * Synchronously read cached update info (for TUI use without async).
19
+ * Returns null if no cache exists or on any error.
20
+ */
21
+ export declare function getCachedUpdateInfo(): UpdateInfo | null;
22
+ //# sourceMappingURL=update-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.d.ts","sourceRoot":"","sources":["../../src/core/update-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;CAC1B;AA6ID;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2BjE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,UAAU,GAAG,IAAI,CAQvD"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Lightweight update checker for agent-oven.
3
+ *
4
+ * Hits the npm registry at most once per 24 hours, caches the result
5
+ * to ~/.config/agent-oven/update-check.json, and never throws.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import * as os from 'node:os';
10
+ import { createRequire } from 'node:module';
11
+ const CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
12
+ const REGISTRY_URL = 'https://registry.npmjs.org/agent-oven/latest';
13
+ const FETCH_TIMEOUT_MS = 5000;
14
+ function getCacheDir() {
15
+ const xdgConfig = process.env.XDG_CONFIG_HOME;
16
+ if (xdgConfig) {
17
+ return path.join(xdgConfig, 'agent-oven');
18
+ }
19
+ return path.join(os.homedir(), '.config', 'agent-oven');
20
+ }
21
+ function getCachePath() {
22
+ return path.join(getCacheDir(), 'update-check.json');
23
+ }
24
+ function getCurrentVersion() {
25
+ try {
26
+ const require = createRequire(import.meta.url);
27
+ const { version } = require('../../package.json');
28
+ return version;
29
+ }
30
+ catch {
31
+ return '0.0.0';
32
+ }
33
+ }
34
+ function readCache() {
35
+ try {
36
+ const raw = fs.readFileSync(getCachePath(), 'utf-8');
37
+ return JSON.parse(raw);
38
+ }
39
+ catch {
40
+ return null;
41
+ }
42
+ }
43
+ function writeCache(latestVersion) {
44
+ try {
45
+ const dir = getCacheDir();
46
+ if (!fs.existsSync(dir)) {
47
+ fs.mkdirSync(dir, { recursive: true });
48
+ }
49
+ const data = {
50
+ lastChecked: new Date().toISOString(),
51
+ latestVersion,
52
+ };
53
+ fs.writeFileSync(getCachePath(), JSON.stringify(data, null, 2) + '\n');
54
+ }
55
+ catch {
56
+ // Silently ignore write errors
57
+ }
58
+ }
59
+ function isCacheFresh(cache) {
60
+ try {
61
+ const lastChecked = new Date(cache.lastChecked).getTime();
62
+ return Date.now() - lastChecked < CACHE_TTL_MS;
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
68
+ function parseSemver(version) {
69
+ const normalized = version.trim().replace(/^v/, '');
70
+ const match = normalized.match(/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z-.]+))?(?:\+[0-9A-Za-z-.]+)?$/);
71
+ if (!match)
72
+ return null;
73
+ const prerelease = match[4] ? match[4].split('.') : [];
74
+ return {
75
+ major: Number(match[1]),
76
+ minor: Number(match[2]),
77
+ patch: Number(match[3]),
78
+ prerelease,
79
+ };
80
+ }
81
+ function comparePrereleaseIdentifier(a, b) {
82
+ const aNumeric = /^\d+$/.test(a);
83
+ const bNumeric = /^\d+$/.test(b);
84
+ if (aNumeric && bNumeric) {
85
+ const aNum = Number(a);
86
+ const bNum = Number(b);
87
+ return aNum === bNum ? 0 : aNum > bNum ? 1 : -1;
88
+ }
89
+ if (aNumeric && !bNumeric)
90
+ return -1;
91
+ if (!aNumeric && bNumeric)
92
+ return 1;
93
+ return a === b ? 0 : a > b ? 1 : -1;
94
+ }
95
+ function compareSemver(a, b) {
96
+ const parsedA = parseSemver(a);
97
+ const parsedB = parseSemver(b);
98
+ if (!parsedA || !parsedB)
99
+ return null;
100
+ if (parsedA.major !== parsedB.major)
101
+ return parsedA.major > parsedB.major ? 1 : -1;
102
+ if (parsedA.minor !== parsedB.minor)
103
+ return parsedA.minor > parsedB.minor ? 1 : -1;
104
+ if (parsedA.patch !== parsedB.patch)
105
+ return parsedA.patch > parsedB.patch ? 1 : -1;
106
+ const aPre = parsedA.prerelease;
107
+ const bPre = parsedB.prerelease;
108
+ if (aPre.length === 0 && bPre.length === 0)
109
+ return 0;
110
+ if (aPre.length === 0)
111
+ return 1;
112
+ if (bPre.length === 0)
113
+ return -1;
114
+ const maxLen = Math.max(aPre.length, bPre.length);
115
+ for (let i = 0; i < maxLen; i += 1) {
116
+ const aId = aPre[i];
117
+ const bId = bPre[i];
118
+ if (aId === undefined)
119
+ return -1;
120
+ if (bId === undefined)
121
+ return 1;
122
+ const comparison = comparePrereleaseIdentifier(aId, bId);
123
+ if (comparison !== 0)
124
+ return comparison;
125
+ }
126
+ return 0;
127
+ }
128
+ function buildUpdateInfo(latestVersion) {
129
+ const currentVersion = getCurrentVersion();
130
+ const comparison = compareSemver(latestVersion, currentVersion);
131
+ return {
132
+ currentVersion,
133
+ latestVersion,
134
+ updateAvailable: comparison === null ? false : comparison > 0,
135
+ };
136
+ }
137
+ /**
138
+ * Check for an available update. Uses a 24-hour cache to avoid
139
+ * hitting the registry on every invocation. Never throws.
140
+ */
141
+ export async function checkForUpdate() {
142
+ try {
143
+ const cache = readCache();
144
+ if (cache && isCacheFresh(cache)) {
145
+ return buildUpdateInfo(cache.latestVersion);
146
+ }
147
+ const controller = new AbortController();
148
+ const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
149
+ timer.unref?.();
150
+ try {
151
+ const res = await fetch(REGISTRY_URL, { signal: controller.signal });
152
+ if (!res.ok)
153
+ return null;
154
+ const data = (await res.json());
155
+ const latestVersion = data.version;
156
+ if (!latestVersion)
157
+ return null;
158
+ writeCache(latestVersion);
159
+ return buildUpdateInfo(latestVersion);
160
+ }
161
+ finally {
162
+ clearTimeout(timer);
163
+ }
164
+ }
165
+ catch {
166
+ return null;
167
+ }
168
+ }
169
+ /**
170
+ * Synchronously read cached update info (for TUI use without async).
171
+ * Returns null if no cache exists or on any error.
172
+ */
173
+ export function getCachedUpdateInfo() {
174
+ try {
175
+ const cache = readCache();
176
+ if (!cache)
177
+ return null;
178
+ return buildUpdateInfo(cache.latestVersion);
179
+ }
180
+ catch {
181
+ return null;
182
+ }
183
+ }
184
+ //# sourceMappingURL=update-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-check.js","sourceRoot":"","sources":["../../src/core/update-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Dashboard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,cAAc,2CA8G/D"}
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Dashboard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAO1C,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,cAAc,2CA0I/D"}
@@ -4,29 +4,46 @@ import { Box, Text } from 'ink';
4
4
  import Spinner from 'ink-spinner';
5
5
  import { getSystemStatus } from '../../core/docker.js';
6
6
  import { formatRelativeTime } from '../../core/scheduler.js';
7
+ import { platform } from '../../core/platform.js';
8
+ import { checkForUpdate } from '../../core/update-check.js';
7
9
  export function Dashboard({ config, onNavigate }) {
8
10
  const [status, setStatus] = useState(null);
9
11
  const [loading, setLoading] = useState(true);
10
12
  const [error, setError] = useState(null);
13
+ const [updateInfo, setUpdateInfo] = useState(null);
11
14
  // Load status on mount
12
15
  useEffect(() => {
16
+ let isMounted = true;
13
17
  const loadStatus = async () => {
14
18
  try {
15
19
  const s = await getSystemStatus(config);
20
+ if (!isMounted)
21
+ return;
16
22
  setStatus(s);
17
23
  setError(null);
18
24
  }
19
25
  catch (err) {
26
+ if (!isMounted)
27
+ return;
20
28
  setError(err instanceof Error ? err.message : 'Failed to load status');
21
29
  }
22
30
  finally {
31
+ if (!isMounted)
32
+ return;
23
33
  setLoading(false);
24
34
  }
25
35
  };
26
36
  loadStatus();
37
+ checkForUpdate().then((info) => {
38
+ if (isMounted && info?.updateAvailable)
39
+ setUpdateInfo(info);
40
+ });
27
41
  // Refresh every 10 seconds
28
42
  const interval = setInterval(loadStatus, 10000);
29
- return () => clearInterval(interval);
43
+ return () => {
44
+ isMounted = false;
45
+ clearInterval(interval);
46
+ };
30
47
  }, [config]);
31
48
  if (loading && !status) {
32
49
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, {}), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: "cyan", children: _jsx(Spinner, { type: "dots" }) }), _jsx(Text, { children: " Loading status..." })] })] }));
@@ -34,7 +51,7 @@ export function Dashboard({ config, onNavigate }) {
34
51
  if (error && !status) {
35
52
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, {}), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) }), _jsx(Shortcuts, {})] }));
36
53
  }
37
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, {}), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { bold: true, children: "Status: " }), _jsx(StatusIndicator, { running: status?.colima.running ?? false, label: "Colima" }), _jsx(Text, { children: " " }), _jsx(StatusIndicator, { running: status?.scheduler.loaded ?? false, label: "Scheduler" })] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { bold: true, children: "Jobs: " }), _jsxs(Text, { children: [status?.jobs.total ?? 0, " total"] }), _jsx(Text, { dimColor: true, children: " | " }), _jsxs(Text, { children: [status?.jobs.cron ?? 0, " cron"] }), _jsx(Text, { dimColor: true, children: " | " }), _jsxs(Text, { children: [status?.jobs.oncePending ?? 0, " pending one-time"] })] }), status?.runningContainers && status.runningContainers.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, underline: true, children: "Running Jobs" }), status.runningContainers.map((container) => (_jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: container.jobId || container.name }), _jsxs(Text, { dimColor: true, children: [" - ", container.status] })] }, container.name)))] })), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, underline: true, children: "Recent Runs" }), _jsx(Box, { borderStyle: "single", flexDirection: "column", paddingX: 1, children: (!status?.recentExecutions || status.recentExecutions.length === 0) ? (_jsx(Text, { dimColor: true, children: "No recent executions" })) : (status.recentExecutions.slice(0, 5).map((exec) => (_jsx(RecentExecution, { execution: exec }, `${exec.jobId}-${exec.timestamp}`)))) })] }), _jsx(Shortcuts, {})] }));
54
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, {}), updateInfo && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "yellow", children: ["Update available: ", updateInfo.currentVersion, " \u2192 ", updateInfo.latestVersion, ". Run \"npm i -g agent-oven\" to update."] }) })), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { bold: true, children: "Status: " }), _jsx(StatusIndicator, { running: status?.runtime.running ?? false, label: platform.needsVM ? 'Colima' : 'Docker' }), _jsx(Text, { children: " " }), _jsx(StatusIndicator, { running: status?.scheduler.loaded ?? false, label: "Scheduler" })] }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { bold: true, children: "Jobs: " }), _jsxs(Text, { children: [status?.jobs.total ?? 0, " total"] }), _jsx(Text, { dimColor: true, children: " | " }), _jsxs(Text, { children: [status?.jobs.cron ?? 0, " cron"] }), _jsx(Text, { dimColor: true, children: " | " }), _jsxs(Text, { children: [status?.jobs.randomWindow ?? 0, " random-window"] }), _jsx(Text, { dimColor: true, children: " | " }), _jsxs(Text, { children: [status?.jobs.oncePending ?? 0, " pending one-time"] })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, underline: true, children: "Running Jobs" }), _jsx(Box, { borderStyle: "single", flexDirection: "column", paddingX: 1, children: (!status?.runningContainers || status.runningContainers.length === 0) ? (_jsx(Text, { dimColor: true, children: "No running jobs" })) : (status.runningContainers.map((container) => (_jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: '◐ ' }), _jsx(Text, { children: (container.jobId || container.name).padEnd(20) }), _jsx(Text, { dimColor: true, children: container.image }), _jsxs(Text, { dimColor: true, children: [" ", container.status] })] }, container.name)))) })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, underline: true, children: "Recent Runs" }), _jsx(Box, { borderStyle: "single", flexDirection: "column", paddingX: 1, children: (!status?.recentExecutions || status.recentExecutions.length === 0) ? (_jsx(Text, { dimColor: true, children: "No recent executions" })) : (status.recentExecutions.slice(0, 5).map((exec) => (_jsx(RecentExecution, { execution: exec }, `${exec.jobId}-${exec.timestamp}`)))) })] }), _jsx(Shortcuts, {})] }));
38
55
  }
39
56
  function Header() {
40
57
  return (_jsxs(Box, { children: [_jsx(Text, { bold: true, color: "magenta", children: "Agent Oven" }), _jsx(Text, { dimColor: true, children: " - Job Scheduler" })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/tui/components/Dashboard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dashboard.js","sourceRoot":"","sources":["../../../src/tui/components/Dashboard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InitWizard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/InitWizard.tsx"],"names":[],"mappings":"AAyCA,wBAAgB,UAAU,4CAmiBzB"}
1
+ {"version":3,"file":"InitWizard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/InitWizard.tsx"],"names":[],"mappings":"AAwCA,wBAAgB,UAAU,4CA2jBzB"}