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.
- package/CLAUDE.md +63 -66
- package/README.md +59 -43
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +29 -7
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +16 -22
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/down.d.ts +1 -1
- package/dist/cli/commands/down.d.ts.map +1 -1
- package/dist/cli/commands/down.js +12 -12
- package/dist/cli/commands/down.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +11 -9
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/up.d.ts +1 -1
- package/dist/cli/commands/up.d.ts.map +1 -1
- package/dist/cli/commands/up.js +17 -17
- package/dist/cli/commands/up.js.map +1 -1
- package/dist/cli.js +14 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/auth.d.ts +4 -1
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +20 -2
- package/dist/core/auth.js.map +1 -1
- package/dist/core/config.d.ts +0 -4
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +0 -6
- package/dist/core/config.js.map +1 -1
- package/dist/core/docker.d.ts +1 -17
- package/dist/core/docker.d.ts.map +1 -1
- package/dist/core/docker.js +148 -119
- package/dist/core/docker.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/jobs.d.ts +1 -0
- package/dist/core/jobs.d.ts.map +1 -1
- package/dist/core/jobs.js +13 -1
- package/dist/core/jobs.js.map +1 -1
- package/dist/core/platform-darwin.d.ts +37 -0
- package/dist/core/platform-darwin.d.ts.map +1 -0
- package/dist/core/platform-darwin.js +236 -0
- package/dist/core/platform-darwin.js.map +1 -0
- package/dist/core/platform-linux.d.ts +37 -0
- package/dist/core/platform-linux.d.ts.map +1 -0
- package/dist/core/platform-linux.js +198 -0
- package/dist/core/platform-linux.js.map +1 -0
- package/dist/core/platform.d.ts +63 -0
- package/dist/core/platform.d.ts.map +1 -0
- package/dist/core/platform.js +31 -0
- package/dist/core/platform.js.map +1 -0
- package/dist/core/scheduler-runner.d.ts.map +1 -1
- package/dist/core/scheduler-runner.js +17 -10
- package/dist/core/scheduler-runner.js.map +1 -1
- package/dist/core/scheduler.d.ts +28 -2
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +126 -11
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/setup.d.ts +7 -32
- package/dist/core/setup.d.ts.map +1 -1
- package/dist/core/setup.js +14 -149
- package/dist/core/setup.js.map +1 -1
- package/dist/core/types.d.ts +17 -4
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/update-check.d.ts +22 -0
- package/dist/core/update-check.d.ts.map +1 -0
- package/dist/core/update-check.js +184 -0
- package/dist/core/update-check.js.map +1 -0
- package/dist/tui/components/Dashboard.d.ts.map +1 -1
- package/dist/tui/components/Dashboard.js +19 -2
- package/dist/tui/components/Dashboard.js.map +1 -1
- package/dist/tui/components/InitWizard.d.ts.map +1 -1
- package/dist/tui/components/InitWizard.js +68 -54
- package/dist/tui/components/InitWizard.js.map +1 -1
- package/dist/tui/components/JobDetail.d.ts.map +1 -1
- package/dist/tui/components/JobDetail.js +1 -1
- package/dist/tui/components/JobDetail.js.map +1 -1
- package/dist/tui/components/JobForm.d.ts.map +1 -1
- package/dist/tui/components/JobForm.js +40 -23
- package/dist/tui/components/JobForm.js.map +1 -1
- package/dist/tui/components/JobList.js +3 -1
- package/dist/tui/components/JobList.js.map +1 -1
- package/images/pipeline-runner/Dockerfile +5 -1
- package/images/pipeline-runner/entrypoint.sh +25 -2
- package/package.json +5 -3
- package/scheduler.sh +7 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useCallback } from 'react';
|
|
3
3
|
import { Box, Text, useInput } from 'ink';
|
|
4
4
|
import TextInput from 'ink-text-input';
|
|
5
5
|
import { addJob, updateJob, validateJob, getBuiltInImages } from '../../core/jobs.js';
|
|
6
|
-
import { describeCron, validateCron } from '../../core/scheduler.js';
|
|
7
|
-
const FIELDS = ['id', 'name', 'image', 'command', 'scheduleType', 'cron', 'datetime', 'volumes', 'timeout'];
|
|
6
|
+
import { describeCron, validateCron, validateRandomWindow } from '../../core/scheduler.js';
|
|
7
|
+
const FIELDS = ['id', 'name', 'image', 'command', 'scheduleType', 'cron', 'datetime', 'rwStart', 'rwEnd', 'rwDays', 'volumes', 'timeout'];
|
|
8
8
|
export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
9
9
|
const isEdit = !!existingJob;
|
|
10
10
|
// Form only supports Docker jobs; cast for field access
|
|
@@ -19,6 +19,9 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
19
19
|
const [scheduleType, setScheduleType] = useState(existingJob?.schedule.type ?? 'cron');
|
|
20
20
|
const [cron, setCron] = useState(existingJob?.schedule.type === 'cron' ? existingJob.schedule.cron : '0 * * * *');
|
|
21
21
|
const [datetime, setDatetime] = useState(existingJob?.schedule.type === 'once' ? existingJob.schedule.datetime : '');
|
|
22
|
+
const [rwStart, setRwStart] = useState(existingJob?.schedule.type === 'random-window' ? existingJob.schedule.start : '09:00');
|
|
23
|
+
const [rwEnd, setRwEnd] = useState(existingJob?.schedule.type === 'random-window' ? existingJob.schedule.end : '10:00');
|
|
24
|
+
const [rwDays, setRwDays] = useState(existingJob?.schedule.type === 'random-window' ? (existingJob.schedule.days ?? '*') : '*');
|
|
22
25
|
const [volumes, setVolumes] = useState(existingDocker?.volumes?.join('\n') ?? '');
|
|
23
26
|
const [timeout, setTimeout] = useState(existingDocker?.timeout?.toString() ?? '300');
|
|
24
27
|
// UI state
|
|
@@ -28,16 +31,20 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
28
31
|
const [imageIndex, setImageIndex] = useState(0);
|
|
29
32
|
const builtInImages = getBuiltInImages();
|
|
30
33
|
// Navigate fields
|
|
34
|
+
const shouldSkipField = useCallback((field) => {
|
|
35
|
+
if (field === 'cron' && scheduleType !== 'cron')
|
|
36
|
+
return true;
|
|
37
|
+
if (field === 'datetime' && scheduleType !== 'once')
|
|
38
|
+
return true;
|
|
39
|
+
if ((field === 'rwStart' || field === 'rwEnd' || field === 'rwDays') && scheduleType !== 'random-window')
|
|
40
|
+
return true;
|
|
41
|
+
return false;
|
|
42
|
+
}, [scheduleType]);
|
|
31
43
|
const nextField = useCallback(() => {
|
|
32
44
|
const currentIndex = FIELDS.indexOf(activeField);
|
|
33
45
|
let next = currentIndex + 1;
|
|
34
|
-
// Skip cron/datetime based on schedule type
|
|
35
46
|
while (next < FIELDS.length) {
|
|
36
|
-
|
|
37
|
-
if (field === 'cron' && scheduleType !== 'cron') {
|
|
38
|
-
next++;
|
|
39
|
-
}
|
|
40
|
-
else if (field === 'datetime' && scheduleType !== 'once') {
|
|
47
|
+
if (shouldSkipField(FIELDS[next])) {
|
|
41
48
|
next++;
|
|
42
49
|
}
|
|
43
50
|
else {
|
|
@@ -47,17 +54,12 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
47
54
|
if (next < FIELDS.length) {
|
|
48
55
|
setActiveField(FIELDS[next]);
|
|
49
56
|
}
|
|
50
|
-
}, [activeField,
|
|
57
|
+
}, [activeField, shouldSkipField]);
|
|
51
58
|
const prevField = useCallback(() => {
|
|
52
59
|
const currentIndex = FIELDS.indexOf(activeField);
|
|
53
60
|
let prev = currentIndex - 1;
|
|
54
|
-
// Skip cron/datetime based on schedule type
|
|
55
61
|
while (prev >= 0) {
|
|
56
|
-
|
|
57
|
-
if (field === 'cron' && scheduleType !== 'cron') {
|
|
58
|
-
prev--;
|
|
59
|
-
}
|
|
60
|
-
else if (field === 'datetime' && scheduleType !== 'once') {
|
|
62
|
+
if (shouldSkipField(FIELDS[prev])) {
|
|
61
63
|
prev--;
|
|
62
64
|
}
|
|
63
65
|
else {
|
|
@@ -67,14 +69,29 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
67
69
|
if (prev >= 0) {
|
|
68
70
|
setActiveField(FIELDS[prev]);
|
|
69
71
|
}
|
|
70
|
-
}, [activeField,
|
|
72
|
+
}, [activeField, shouldSkipField]);
|
|
71
73
|
// Handle save
|
|
72
74
|
const handleSave = useCallback(() => {
|
|
73
75
|
setError(null);
|
|
74
76
|
// Build schedule
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
let schedule;
|
|
78
|
+
if (scheduleType === 'cron') {
|
|
79
|
+
schedule = { type: 'cron', cron };
|
|
80
|
+
}
|
|
81
|
+
else if (scheduleType === 'random-window') {
|
|
82
|
+
const rwSchedule = { type: 'random-window', start: rwStart, end: rwEnd };
|
|
83
|
+
if (rwDays && rwDays !== '*')
|
|
84
|
+
rwSchedule.days = rwDays;
|
|
85
|
+
const rwErr = validateRandomWindow(rwSchedule);
|
|
86
|
+
if (rwErr) {
|
|
87
|
+
setError(rwErr);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
schedule = rwSchedule;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
schedule = { type: 'once', datetime };
|
|
94
|
+
}
|
|
78
95
|
// Parse command
|
|
79
96
|
const cmdParts = command.trim().split(/\s+/);
|
|
80
97
|
// Build job object (form creates Docker jobs only)
|
|
@@ -120,7 +137,7 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
120
137
|
catch (err) {
|
|
121
138
|
setError(err instanceof Error ? err.message : 'Failed to save job');
|
|
122
139
|
}
|
|
123
|
-
}, [config, existingJob, isEdit, id, name, image, command, scheduleType, cron, datetime, volumes, timeout, onSave]);
|
|
140
|
+
}, [config, existingJob, isEdit, id, name, image, command, scheduleType, cron, datetime, rwStart, rwEnd, rwDays, volumes, timeout, onSave]);
|
|
124
141
|
// Handle input
|
|
125
142
|
useInput((input, key) => {
|
|
126
143
|
if (key.ctrl && input === 's') {
|
|
@@ -157,7 +174,7 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
157
174
|
// Schedule type toggle
|
|
158
175
|
if (activeField === 'scheduleType') {
|
|
159
176
|
if (key.leftArrow || key.rightArrow || input === ' ') {
|
|
160
|
-
setScheduleType((t) => t === 'cron' ? 'once' : 'cron');
|
|
177
|
+
setScheduleType((t) => t === 'cron' ? 'random-window' : t === 'random-window' ? 'once' : 'cron');
|
|
161
178
|
}
|
|
162
179
|
else if (key.return) {
|
|
163
180
|
nextField();
|
|
@@ -175,7 +192,7 @@ export function JobForm({ config, existingJob, onSave, onCancel }) {
|
|
|
175
192
|
// Get cron description
|
|
176
193
|
const cronDesc = scheduleType === 'cron' && cron ? describeCron(cron) : '';
|
|
177
194
|
const cronError = scheduleType === 'cron' && cron ? validateCron(cron) : null;
|
|
178
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: "magenta", children: isEdit ? 'Edit Job' : 'Add Job' }) }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(FormField, { label: "ID", active: activeField === 'id', disabled: isEdit, children: isEdit ? (_jsx(Text, { dimColor: true, children: id })) : (_jsx(TextInput, { value: id, onChange: setId, focus: activeField === 'id', placeholder: "my-job-id" })) }), _jsx(FormField, { label: "Name", active: activeField === 'name', children: _jsx(TextInput, { value: name, onChange: setName, focus: activeField === 'name', placeholder: "Human-readable name" }) }), _jsx(FormField, { label: "Image", active: activeField === 'image', children: imageSelectMode ? (_jsx(Box, { flexDirection: "column", children: builtInImages.map((img, i) => (_jsxs(Text, { color: i === imageIndex ? 'cyan' : undefined, children: [i === imageIndex ? '▸ ' : ' ', img] }, img))) })) : (_jsxs(Box, { children: [_jsx(TextInput, { value: image, onChange: setImage, focus: activeField === 'image', placeholder: "docker-image" }), _jsx(Text, { dimColor: true, children: " (enter to select)" })] })) }), _jsx(FormField, { label: "Command", active: activeField === 'command', children: _jsx(TextInput, { value: command, onChange: setCommand, focus: activeField === 'command', placeholder: "python script.py" }) }), _jsx(FormField, { label: "Schedule", active: activeField === 'scheduleType', children: _jsxs(Box, { children: [_jsxs(Text, { color: scheduleType === 'cron' ? 'cyan' : undefined, children: ["(", scheduleType === 'cron' ? '●' : '○', ") Cron"] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: scheduleType === 'once' ? 'cyan' : undefined, children: ["(", scheduleType === 'once' ? '●' : '○', ") One-time"] })] }) }), scheduleType === 'cron' && (_jsx(FormField, { label: "Cron", active: activeField === 'cron', children: _jsxs(Box, { flexDirection: "column", children: [_jsx(TextInput, { value: cron, onChange: setCron, focus: activeField === 'cron', placeholder: "0 * * * *" }), cronError ? (_jsxs(Text, { color: "red", children: [" ", cronError] })) : cronDesc ? (_jsxs(Text, { dimColor: true, children: [" = ", cronDesc] })) : null] }) })), scheduleType === 'once' && (_jsx(FormField, { label: "Datetime", active: activeField === 'datetime', children: _jsx(TextInput, { value: datetime, onChange: setDatetime, focus: activeField === 'datetime', placeholder: "2024-12-31T23:59:00" }) })), _jsx(FormField, { label: "Volumes", active: activeField === 'volumes', children: _jsx(TextInput, { value: volumes, onChange: setVolumes, focus: activeField === 'volumes', placeholder: "/host/path:/container/path" }) }), _jsx(FormField, { label: "Timeout", active: activeField === 'timeout', children: _jsxs(Box, { children: [_jsx(TextInput, { value: timeout, onChange: setTimeout, focus: activeField === 'timeout', placeholder: "300" }), _jsx(Text, { dimColor: true, children: " seconds" })] }) })] }), error && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "[tab] Next [shift+tab] Prev [ctrl+s] Save [esc] Cancel" }) })] }));
|
|
195
|
+
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsx(Text, { bold: true, color: "magenta", children: isEdit ? 'Edit Job' : 'Add Job' }) }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(FormField, { label: "ID", active: activeField === 'id', disabled: isEdit, children: isEdit ? (_jsx(Text, { dimColor: true, children: id })) : (_jsx(TextInput, { value: id, onChange: setId, focus: activeField === 'id', placeholder: "my-job-id" })) }), _jsx(FormField, { label: "Name", active: activeField === 'name', children: _jsx(TextInput, { value: name, onChange: setName, focus: activeField === 'name', placeholder: "Human-readable name" }) }), _jsx(FormField, { label: "Image", active: activeField === 'image', children: imageSelectMode ? (_jsx(Box, { flexDirection: "column", children: builtInImages.map((img, i) => (_jsxs(Text, { color: i === imageIndex ? 'cyan' : undefined, children: [i === imageIndex ? '▸ ' : ' ', img] }, img))) })) : (_jsxs(Box, { children: [_jsx(TextInput, { value: image, onChange: setImage, focus: activeField === 'image', placeholder: "docker-image" }), _jsx(Text, { dimColor: true, children: " (enter to select)" })] })) }), _jsx(FormField, { label: "Command", active: activeField === 'command', children: _jsx(TextInput, { value: command, onChange: setCommand, focus: activeField === 'command', placeholder: "python script.py" }) }), _jsx(FormField, { label: "Schedule", active: activeField === 'scheduleType', children: _jsxs(Box, { children: [_jsxs(Text, { color: scheduleType === 'cron' ? 'cyan' : undefined, children: ["(", scheduleType === 'cron' ? '●' : '○', ") Cron"] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: scheduleType === 'random-window' ? 'cyan' : undefined, children: ["(", scheduleType === 'random-window' ? '●' : '○', ") Random Window"] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: scheduleType === 'once' ? 'cyan' : undefined, children: ["(", scheduleType === 'once' ? '●' : '○', ") One-time"] })] }) }), scheduleType === 'cron' && (_jsx(FormField, { label: "Cron", active: activeField === 'cron', children: _jsxs(Box, { flexDirection: "column", children: [_jsx(TextInput, { value: cron, onChange: setCron, focus: activeField === 'cron', placeholder: "0 * * * *" }), cronError ? (_jsxs(Text, { color: "red", children: [" ", cronError] })) : cronDesc ? (_jsxs(Text, { dimColor: true, children: [" = ", cronDesc] })) : null] }) })), scheduleType === 'once' && (_jsx(FormField, { label: "Datetime", active: activeField === 'datetime', children: _jsx(TextInput, { value: datetime, onChange: setDatetime, focus: activeField === 'datetime', placeholder: "2024-12-31T23:59:00" }) })), scheduleType === 'random-window' && (_jsxs(_Fragment, { children: [_jsx(FormField, { label: "Start", active: activeField === 'rwStart', children: _jsx(TextInput, { value: rwStart, onChange: setRwStart, focus: activeField === 'rwStart', placeholder: "09:00" }) }), _jsx(FormField, { label: "End", active: activeField === 'rwEnd', children: _jsx(TextInput, { value: rwEnd, onChange: setRwEnd, focus: activeField === 'rwEnd', placeholder: "10:00" }) }), _jsx(FormField, { label: "Days", active: activeField === 'rwDays', children: _jsxs(Box, { children: [_jsx(TextInput, { value: rwDays, onChange: setRwDays, focus: activeField === 'rwDays', placeholder: "*" }), _jsx(Text, { dimColor: true, children: " (cron weekday: * or 1-5)" })] }) })] })), _jsx(FormField, { label: "Volumes", active: activeField === 'volumes', children: _jsx(TextInput, { value: volumes, onChange: setVolumes, focus: activeField === 'volumes', placeholder: "/host/path:/container/path" }) }), _jsx(FormField, { label: "Timeout", active: activeField === 'timeout', children: _jsxs(Box, { children: [_jsx(TextInput, { value: timeout, onChange: setTimeout, focus: activeField === 'timeout', placeholder: "300" }), _jsx(Text, { dimColor: true, children: " seconds" })] }) })] }), error && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", error] }) })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "[tab] Next [shift+tab] Prev [ctrl+s] Save [esc] Cancel" }) })] }));
|
|
179
196
|
}
|
|
180
197
|
function FormField({ label, active, disabled, children }) {
|
|
181
198
|
return (_jsxs(Box, { marginY: 0, children: [_jsx(Text, { color: active ? 'cyan' : undefined, dimColor: disabled, children: label.padEnd(10) }), _jsx(Box, { marginLeft: 1, children: children })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobForm.js","sourceRoot":"","sources":["../../../src/tui/components/JobForm.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JobForm.js","sourceRoot":"","sources":["../../../src/tui/components/JobForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -130,7 +130,9 @@ function JobRow({ job, selected, running }) {
|
|
|
130
130
|
const enabled = job.enabled !== false;
|
|
131
131
|
const scheduleDesc = job.schedule.type === 'cron'
|
|
132
132
|
? job.schedule.cron
|
|
133
|
-
: '
|
|
133
|
+
: job.schedule.type === 'random-window'
|
|
134
|
+
? `~${job.schedule.start}-${job.schedule.end}`
|
|
135
|
+
: 'one-time';
|
|
134
136
|
return (_jsxs(Box, { children: [_jsx(Text, { color: selected ? 'cyan' : undefined, bold: selected, children: selected ? '▸ ' : ' ' }), _jsx(Text, { color: selected ? 'cyan' : undefined, dimColor: !enabled, children: job.id.padEnd(22) }), _jsx(Text, { color: running ? 'yellow' : enabled ? 'green' : 'red', children: running ? '◐' : enabled ? '●' : '○' }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: !enabled, children: (running ? 'running' : enabled ? 'enabled' : 'disabled').padEnd(10) }), _jsx(Text, { dimColor: true, children: scheduleDesc })] }));
|
|
135
137
|
}
|
|
136
138
|
//# sourceMappingURL=JobList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobList.js","sourceRoot":"","sources":["../../../src/tui/components/JobList.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JobList.js","sourceRoot":"","sources":["../../../src/tui/components/JobList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -26,9 +26,13 @@ RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
|
|
|
26
26
|
# Install claude-code and agent-pipeline globally
|
|
27
27
|
RUN npm install -g @anthropic-ai/claude-code agent-pipeline
|
|
28
28
|
|
|
29
|
+
# Stub managed-settings so Claude Code doesn't crash with ENOENT on /etc/claude-code/managed-settings.json
|
|
30
|
+
RUN mkdir -p /etc/claude-code && echo '{}' > /etc/claude-code/managed-settings.json
|
|
31
|
+
|
|
29
32
|
# Git config for automated commits
|
|
30
33
|
RUN git config --global user.name "Agent Oven" \
|
|
31
|
-
&& git config --global user.email "agent-oven@localhost"
|
|
34
|
+
&& git config --global user.email "agent-oven@localhost" \
|
|
35
|
+
&& git config --global credential.helper '!/usr/bin/gh auth git-credential'
|
|
32
36
|
|
|
33
37
|
# Set default timezone
|
|
34
38
|
ENV TZ=America/Los_Angeles
|
|
@@ -25,9 +25,20 @@ echo ""
|
|
|
25
25
|
# Validate Claude authentication
|
|
26
26
|
if [ -d "/root/.claude" ] || [ -n "${ANTHROPIC_API_KEY:-}" ]; then
|
|
27
27
|
echo "[auth] Claude credentials found"
|
|
28
|
+
# Ensure ~/.claude.json exists (required by newer Claude Code versions)
|
|
29
|
+
if [ ! -f "/root/.claude.json" ]; then
|
|
30
|
+
# Try to restore from backups if available
|
|
31
|
+
BACKUP=$(find /root/.claude/backups -name ".claude.json.backup.*" -type f 2>/dev/null | sort -r | head -1)
|
|
32
|
+
if [ -n "$BACKUP" ]; then
|
|
33
|
+
echo "[auth] Restoring .claude.json from backup: $BACKUP"
|
|
34
|
+
cp "$BACKUP" /root/.claude.json
|
|
35
|
+
else
|
|
36
|
+
echo "[auth] WARNING: /root/.claude.json not found (mount ~/.claude.json or ensure it exists)"
|
|
37
|
+
fi
|
|
38
|
+
fi
|
|
28
39
|
else
|
|
29
40
|
echo "[auth] WARNING: No Claude credentials detected"
|
|
30
|
-
echo " Mount ~/.claude or set ANTHROPIC_API_KEY"
|
|
41
|
+
echo " Mount ~/.claude and ~/.claude.json, or set ANTHROPIC_API_KEY"
|
|
31
42
|
fi
|
|
32
43
|
|
|
33
44
|
# Validate GitHub authentication
|
|
@@ -43,6 +54,18 @@ echo ""
|
|
|
43
54
|
# Clone repository
|
|
44
55
|
echo "[clone] Cloning $REPO (branch: $BRANCH)..."
|
|
45
56
|
git clone --branch "$BRANCH" --depth 1 "$REPO" /workspace/repo
|
|
57
|
+
|
|
58
|
+
# If source was a local path, reconfigure origin to the real GitHub remote
|
|
59
|
+
if [[ "$REPO" == /* ]]; then
|
|
60
|
+
REMOTE_URL=$(git -C "$REPO" remote get-url origin 2>/dev/null || true)
|
|
61
|
+
# Convert SSH URLs to HTTPS (container has no SSH client)
|
|
62
|
+
REMOTE_URL=$(echo "$REMOTE_URL" | sed 's|^git@github\.com:|https://github.com/|')
|
|
63
|
+
if [ -n "$REMOTE_URL" ]; then
|
|
64
|
+
echo "[clone] Reconfiguring origin to: $REMOTE_URL"
|
|
65
|
+
git -C /workspace/repo remote set-url origin "$REMOTE_URL"
|
|
66
|
+
fi
|
|
67
|
+
fi
|
|
68
|
+
|
|
46
69
|
cd /workspace/repo
|
|
47
70
|
|
|
48
71
|
echo "[clone] Done"
|
|
@@ -51,7 +74,7 @@ echo ""
|
|
|
51
74
|
# Run the pipeline
|
|
52
75
|
echo "[pipeline] Running: agent-pipeline run $PIPELINE"
|
|
53
76
|
echo "---"
|
|
54
|
-
agent-pipeline run "$PIPELINE"
|
|
77
|
+
agent-pipeline run "$PIPELINE" --quiet
|
|
55
78
|
EXIT_CODE=$?
|
|
56
79
|
echo "---"
|
|
57
80
|
echo ""
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-oven",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Job scheduler TUI for Docker containers (macOS and Linux)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/core/index.js",
|
|
7
7
|
"types": "dist/core/index.d.ts",
|
|
@@ -48,7 +48,9 @@
|
|
|
48
48
|
"tui",
|
|
49
49
|
"cli",
|
|
50
50
|
"macos",
|
|
51
|
-
"
|
|
51
|
+
"linux",
|
|
52
|
+
"colima",
|
|
53
|
+
"systemd"
|
|
52
54
|
],
|
|
53
55
|
"author": "Fernando Rojas <fernando@fre-studios.com> (https://fre-studios.com/)",
|
|
54
56
|
"license": "MIT",
|
package/scheduler.sh
CHANGED
|
@@ -274,9 +274,14 @@ run_pipeline_job() {
|
|
|
274
274
|
# Add resource limits (default 2 CPU / 2g for pipelines)
|
|
275
275
|
docker_args+=(--cpus=2 --memory=2g)
|
|
276
276
|
|
|
277
|
-
# Mount auth credentials
|
|
277
|
+
# Mount auth credentials
|
|
278
|
+
# .claude and .claude.json need read-write (Claude Code writes debug logs, task tracking, atomic-rename on .claude.json)
|
|
279
|
+
# .config/gh is read-only (gh CLI only reads credentials)
|
|
278
280
|
if [ -d "$HOME/.claude" ]; then
|
|
279
|
-
docker_args+=(-v "$HOME/.claude:/root/.claude
|
|
281
|
+
docker_args+=(-v "$HOME/.claude:/root/.claude")
|
|
282
|
+
fi
|
|
283
|
+
if [ -f "$HOME/.claude.json" ]; then
|
|
284
|
+
docker_args+=(-v "$HOME/.claude.json:/root/.claude.json")
|
|
280
285
|
fi
|
|
281
286
|
if [ -d "$HOME/.config/gh" ]; then
|
|
282
287
|
docker_args+=(-v "$HOME/.config/gh:/root/.config/gh:ro")
|