marifold 0.60.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 (110) hide show
  1. package/LICENSE +674 -0
  2. package/dist/auth/ChatGptAuth.d.ts +17 -0
  3. package/dist/auth/ChatGptAuth.d.ts.map +1 -0
  4. package/dist/auth/ChatGptAuth.js +215 -0
  5. package/dist/auth/ChatGptAuth.js.map +1 -0
  6. package/dist/auth/GitHubCopilotAuth.d.ts +10 -0
  7. package/dist/auth/GitHubCopilotAuth.d.ts.map +1 -0
  8. package/dist/auth/GitHubCopilotAuth.js +118 -0
  9. package/dist/auth/GitHubCopilotAuth.js.map +1 -0
  10. package/dist/auth/XaiAuth.d.ts +27 -0
  11. package/dist/auth/XaiAuth.d.ts.map +1 -0
  12. package/dist/auth/XaiAuth.js +280 -0
  13. package/dist/auth/XaiAuth.js.map +1 -0
  14. package/dist/commands/RuntimeFactory.d.ts +8 -0
  15. package/dist/commands/RuntimeFactory.d.ts.map +1 -0
  16. package/dist/commands/RuntimeFactory.js +13 -0
  17. package/dist/commands/RuntimeFactory.js.map +1 -0
  18. package/dist/commands/agent.d.ts +4 -0
  19. package/dist/commands/agent.d.ts.map +1 -0
  20. package/dist/commands/agent.js +130 -0
  21. package/dist/commands/agent.js.map +1 -0
  22. package/dist/commands/ask.d.ts +4 -0
  23. package/dist/commands/ask.d.ts.map +1 -0
  24. package/dist/commands/ask.js +57 -0
  25. package/dist/commands/ask.js.map +1 -0
  26. package/dist/commands/channel.d.ts +8 -0
  27. package/dist/commands/channel.d.ts.map +1 -0
  28. package/dist/commands/channel.js +114 -0
  29. package/dist/commands/channel.js.map +1 -0
  30. package/dist/commands/chat.d.ts +4 -0
  31. package/dist/commands/chat.d.ts.map +1 -0
  32. package/dist/commands/chat.js +352 -0
  33. package/dist/commands/chat.js.map +1 -0
  34. package/dist/commands/config.d.ts +18 -0
  35. package/dist/commands/config.d.ts.map +1 -0
  36. package/dist/commands/config.js +228 -0
  37. package/dist/commands/config.js.map +1 -0
  38. package/dist/commands/doctor.d.ts +11 -0
  39. package/dist/commands/doctor.d.ts.map +1 -0
  40. package/dist/commands/doctor.js +86 -0
  41. package/dist/commands/doctor.js.map +1 -0
  42. package/dist/commands/init.d.ts +4 -0
  43. package/dist/commands/init.d.ts.map +1 -0
  44. package/dist/commands/init.js +135 -0
  45. package/dist/commands/init.js.map +1 -0
  46. package/dist/commands/model.d.ts +4 -0
  47. package/dist/commands/model.d.ts.map +1 -0
  48. package/dist/commands/model.js +384 -0
  49. package/dist/commands/model.js.map +1 -0
  50. package/dist/commands/profile.d.ts +4 -0
  51. package/dist/commands/profile.d.ts.map +1 -0
  52. package/dist/commands/profile.js +231 -0
  53. package/dist/commands/profile.js.map +1 -0
  54. package/dist/commands/provider.d.ts +4 -0
  55. package/dist/commands/provider.d.ts.map +1 -0
  56. package/dist/commands/provider.js +254 -0
  57. package/dist/commands/provider.js.map +1 -0
  58. package/dist/commands/schedule.d.ts +4 -0
  59. package/dist/commands/schedule.d.ts.map +1 -0
  60. package/dist/commands/schedule.js +141 -0
  61. package/dist/commands/schedule.js.map +1 -0
  62. package/dist/commands/service.d.ts +15 -0
  63. package/dist/commands/service.d.ts.map +1 -0
  64. package/dist/commands/service.js +421 -0
  65. package/dist/commands/service.js.map +1 -0
  66. package/dist/commands/session.d.ts +4 -0
  67. package/dist/commands/session.d.ts.map +1 -0
  68. package/dist/commands/session.js +171 -0
  69. package/dist/commands/session.js.map +1 -0
  70. package/dist/commands/status.d.ts +4 -0
  71. package/dist/commands/status.d.ts.map +1 -0
  72. package/dist/commands/status.js +59 -0
  73. package/dist/commands/status.js.map +1 -0
  74. package/dist/index.d.ts +3 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +74 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/input/InteractivePrompt.d.ts +9 -0
  79. package/dist/input/InteractivePrompt.d.ts.map +1 -0
  80. package/dist/input/InteractivePrompt.js +101 -0
  81. package/dist/input/InteractivePrompt.js.map +1 -0
  82. package/dist/input/ModelPicker.d.ts +34 -0
  83. package/dist/input/ModelPicker.d.ts.map +1 -0
  84. package/dist/input/ModelPicker.js +327 -0
  85. package/dist/input/ModelPicker.js.map +1 -0
  86. package/dist/input/PromptAbort.d.ts +11 -0
  87. package/dist/input/PromptAbort.d.ts.map +1 -0
  88. package/dist/input/PromptAbort.js +28 -0
  89. package/dist/input/PromptAbort.js.map +1 -0
  90. package/dist/input/SecretPrompt.d.ts +3 -0
  91. package/dist/input/SecretPrompt.d.ts.map +1 -0
  92. package/dist/input/SecretPrompt.js +61 -0
  93. package/dist/input/SecretPrompt.js.map +1 -0
  94. package/dist/input/TerminalSelect.d.ts +17 -0
  95. package/dist/input/TerminalSelect.d.ts.map +1 -0
  96. package/dist/input/TerminalSelect.js +153 -0
  97. package/dist/input/TerminalSelect.js.map +1 -0
  98. package/dist/output/ConsolePrinter.d.ts +12 -0
  99. package/dist/output/ConsolePrinter.d.ts.map +1 -0
  100. package/dist/output/ConsolePrinter.js +69 -0
  101. package/dist/output/ConsolePrinter.js.map +1 -0
  102. package/dist/output/TerminalStyle.d.ts +11 -0
  103. package/dist/output/TerminalStyle.d.ts.map +1 -0
  104. package/dist/output/TerminalStyle.js +41 -0
  105. package/dist/output/TerminalStyle.js.map +1 -0
  106. package/dist/service/ServiceProcess.d.ts +45 -0
  107. package/dist/service/ServiceProcess.d.ts.map +1 -0
  108. package/dist/service/ServiceProcess.js +288 -0
  109. package/dist/service/ServiceProcess.js.map +1 -0
  110. package/package.json +34 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/commands/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ import { ConsolePrinter } from '../output/ConsolePrinter';
3
+ export declare function registerProviderCommand(program: Command, printer: ConsolePrinter): void;
4
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/commands/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAkNvF"}
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerProviderCommand = registerProviderCommand;
4
+ const core_1 = require("@marifold/core");
5
+ const InteractivePrompt_1 = require("../input/InteractivePrompt");
6
+ const ModelPicker_1 = require("../input/ModelPicker");
7
+ const PromptAbort_1 = require("../input/PromptAbort");
8
+ const TerminalSelect_1 = require("../input/TerminalSelect");
9
+ const TerminalStyle_1 = require("../output/TerminalStyle");
10
+ const RuntimeFactory_1 = require("./RuntimeFactory");
11
+ function registerProviderCommand(program, printer) {
12
+ const provider = program
13
+ .command('provider')
14
+ .description('Inspect configured providers.')
15
+ .argument('[name]', 'Provider key for provider-specific actions.')
16
+ .argument('[action]', 'Provider action. Use "list" to list live models.')
17
+ .action(async (name, action) => {
18
+ try {
19
+ const inspector = new core_1.ProviderInspector((0, RuntimeFactory_1.loadConfig)(program));
20
+ if (name && action === 'list') {
21
+ const result = await inspector.listModels(name);
22
+ if (result.models.length === 0) {
23
+ process.stdout.write(`${result.message}\n`);
24
+ return;
25
+ }
26
+ for (const model of result.models)
27
+ process.stdout.write(`${model}\n`);
28
+ return;
29
+ }
30
+ if (name) {
31
+ process.stderr.write(`Unknown provider action: ${name} ${action ?? ''}`.trim() + '\n');
32
+ process.exitCode = 1;
33
+ return;
34
+ }
35
+ const current = inspector.current();
36
+ if (!current) {
37
+ process.stdout.write('Current provider: unset\n');
38
+ return;
39
+ }
40
+ process.stdout.write(`Current provider: ${current.name} (${current.type})\n`);
41
+ if (current.baseUrl)
42
+ process.stdout.write(`Base URL: ${current.baseUrl}\n`);
43
+ if (current.apiKeyEnv)
44
+ process.stdout.write(`API key env: ${current.apiKeyEnv}\n`);
45
+ }
46
+ catch (error) {
47
+ printer.printError(error);
48
+ process.exitCode = 1;
49
+ }
50
+ });
51
+ provider
52
+ .command('list')
53
+ .description('List configured providers.')
54
+ .action(() => {
55
+ try {
56
+ const providers = new core_1.ProviderInspector((0, RuntimeFactory_1.loadConfig)(program)).list();
57
+ for (const item of providers) {
58
+ const marker = item.isDefault ? '*' : ' ';
59
+ const details = [
60
+ item.type,
61
+ item.baseUrl,
62
+ item.apiKeyEnv ? `env:${item.apiKeyEnv}` : undefined,
63
+ ].filter(Boolean).join(' · ');
64
+ process.stdout.write(`${marker} ${item.name}\t${details}\n`);
65
+ }
66
+ }
67
+ catch (error) {
68
+ printer.printError(error);
69
+ process.exitCode = 1;
70
+ }
71
+ });
72
+ provider
73
+ .command('add')
74
+ .description('Add or reconfigure a provider — e.g. point Ollama at a remote server over Tailscale.')
75
+ .argument('[name]', 'Provider key from the registry (e.g. "ollama"). Omit for an interactive picker.')
76
+ .option('--base-url <url>', 'Server URL (skips the prompt).')
77
+ .option('--api-key-env <name>', 'Environment variable holding the API key (API providers).')
78
+ .action(async (nameArg, options) => {
79
+ let prompt;
80
+ const getPrompt = () => (prompt ??= new InteractivePrompt_1.InteractivePrompt());
81
+ try {
82
+ const loadedConfig = (0, RuntimeFactory_1.loadConfig)(program);
83
+ const style = new TerminalStyle_1.TerminalStyle();
84
+ // Wizard loop: Esc at a text prompt throws PromptBackError, which steps
85
+ // back to the provider picker rather than cancelling the command. Esc at
86
+ // the picker (or Ctrl+C anywhere) cancels via PromptAbortError.
87
+ while (true) {
88
+ const name = nameArg ?? await pickProvider(getPrompt, style);
89
+ const entry = (0, core_1.getProviderRegistryEntry)(name);
90
+ const existing = loadedConfig.config.providers[name];
91
+ if (!entry && !existing) {
92
+ throw core_1.MarifoldError.configInvalid(`Unknown provider '${name}'. Run 'marifold provider add' with no name to pick from the registry.`);
93
+ }
94
+ const type = existing?.type ?? entry?.type ?? 'openai-compatible';
95
+ // Ollama and other OpenAI-compatible servers need a base URL; this is the
96
+ // remote-IP entry point. Anthropic uses its SDK default, so skip it there.
97
+ const needsBaseUrl = type === 'ollama' || type === 'openai-compatible';
98
+ const defaultBaseUrl = existing?.baseUrl ?? entry?.defaultBaseUrl;
99
+ let baseUrl = options.baseUrl ?? defaultBaseUrl;
100
+ let apiKeyEnv = options.apiKeyEnv ?? existing?.apiKeyEnv ?? entry?.apiKeyEnv;
101
+ try {
102
+ if (!options.baseUrl && needsBaseUrl) {
103
+ baseUrl = await readLineWithDefault(getPrompt(), style, 'Server URL', defaultBaseUrl);
104
+ }
105
+ // For API providers, capture only the env var *name* (never the secret);
106
+ // the user exports the key separately. OAuth sign-in stays in `model add`.
107
+ if (!options.apiKeyEnv && entry?.kind === 'api') {
108
+ apiKeyEnv = await readLineWithDefault(getPrompt(), style, 'API key env var', apiKeyEnv);
109
+ }
110
+ }
111
+ catch (error) {
112
+ // Esc stepped back. If the name came from an argument there is no
113
+ // picker to return to, so treat it as a cancel.
114
+ if ((0, PromptAbort_1.isPromptBackError)(error)) {
115
+ if (nameArg !== undefined)
116
+ throw new PromptAbort_1.PromptAbortError();
117
+ // Release the readline interface so the next picker (raw-mode key
118
+ // reader) owns stdin cleanly; getPrompt() lazily makes a fresh one.
119
+ prompt?.close();
120
+ prompt = undefined;
121
+ process.stdout.write('\n');
122
+ continue;
123
+ }
124
+ throw error;
125
+ }
126
+ const manager = new core_1.ConfigManager(loadedConfig);
127
+ const config = {
128
+ ...(existing ?? {}),
129
+ type,
130
+ ...(baseUrl ? { baseUrl: baseUrl.replace(/\/+$/, '') } : {}),
131
+ ...(apiKeyEnv ? { apiKeyEnv } : {}),
132
+ };
133
+ manager.config.providers[name] = config;
134
+ const savedPath = manager.save();
135
+ process.stdout.write(`${existing ? 'Updated' : 'Added'} provider ${name} (${type})${config.baseUrl ? ` → ${config.baseUrl}` : ''}\n`);
136
+ if (apiKeyEnv && entry?.kind === 'api') {
137
+ const set = Boolean(process.env[apiKeyEnv]);
138
+ process.stdout.write(style.dim(`API key env: ${apiKeyEnv}${set ? '' : ' (not set — export it before use)'}\n`));
139
+ }
140
+ process.stdout.write(style.dim(`Saved ${savedPath}\n`));
141
+ // Confirm the server actually answers at the new URL.
142
+ process.stdout.write('Checking reachability…\n');
143
+ const result = await new core_1.ProviderInspector(loadedConfig).listModels(name);
144
+ if (result.reachable === true && result.models.length > 0) {
145
+ const sample = result.models.slice(0, 5).join(', ');
146
+ const more = result.models.length > 5 ? ', …' : '';
147
+ process.stdout.write(style.bold(`Reachable — ${result.models.length} model(s): ${sample}${more}\n`));
148
+ }
149
+ else if (result.reachable === false) {
150
+ process.stdout.write(style.yellow(`Unreachable — ${result.message}\n`));
151
+ }
152
+ else {
153
+ process.stdout.write(style.dim(`${result.message}\n`));
154
+ }
155
+ process.stdout.write(style.dim(`Next: marifold model add ${name}\n`));
156
+ break;
157
+ }
158
+ }
159
+ catch (error) {
160
+ if ((0, PromptAbort_1.isPromptAbortError)(error)) {
161
+ process.stderr.write('Aborted.\n');
162
+ process.exitCode = 130;
163
+ return;
164
+ }
165
+ printer.printError(error);
166
+ process.exitCode = 1;
167
+ }
168
+ finally {
169
+ prompt?.close();
170
+ }
171
+ });
172
+ provider
173
+ .command('reauth')
174
+ .description('Replace saved credentials for a Marifold-managed OAuth provider.')
175
+ .argument('<name>', 'OAuth provider key: github_copilot, chatgpt, or xai.')
176
+ .action(async (name) => {
177
+ let prompt;
178
+ const getPrompt = () => (prompt ??= new InteractivePrompt_1.InteractivePrompt());
179
+ try {
180
+ const loadedConfig = (0, RuntimeFactory_1.loadConfig)(program);
181
+ const style = new TerminalStyle_1.TerminalStyle();
182
+ await (0, ModelPicker_1.reauthenticateOAuthProvider)(loadedConfig, getPrompt, style, name);
183
+ const savedPath = new core_1.ConfigManager(loadedConfig).save();
184
+ process.stdout.write(`Re-authenticated provider ${name}.\n`);
185
+ process.stdout.write(style.dim(`Saved ${savedPath}\n`));
186
+ }
187
+ catch (error) {
188
+ if ((0, PromptAbort_1.isPromptAbortError)(error)) {
189
+ process.stderr.write('Aborted.\n');
190
+ process.exitCode = 130;
191
+ return;
192
+ }
193
+ printer.printError(error);
194
+ process.exitCode = 1;
195
+ }
196
+ finally {
197
+ prompt?.close();
198
+ }
199
+ });
200
+ provider
201
+ .command('status')
202
+ .description('Show provider configuration and local reachability status.')
203
+ .action(async () => {
204
+ try {
205
+ const statuses = await new core_1.ProviderInspector((0, RuntimeFactory_1.loadConfig)(program)).status();
206
+ process.stdout.write('Provider\tConfigured\tReachable\tBase URL\tAPI Key Env\tMessage\n');
207
+ for (const status of statuses) {
208
+ const reachable = status.reachable === null ? 'not checked' : status.reachable ? 'reachable' : 'unreachable';
209
+ const configured = status.configured ? 'configured' : 'not configured';
210
+ process.stdout.write(`${status.name}\t${configured}\t${reachable}\t${status.baseUrl ?? ''}\t${status.apiKeyEnv ?? ''}\t${status.message}\n`);
211
+ }
212
+ }
213
+ catch (error) {
214
+ printer.printError(error);
215
+ process.exitCode = 1;
216
+ }
217
+ });
218
+ }
219
+ /** Pick a provider from the registry: an arrow-key menu on a TTY, falling back
220
+ * to a numbered prompt (or a typed name) when raw input is unavailable. */
221
+ async function pickProvider(getPrompt, style) {
222
+ const registry = (0, core_1.listProviderRegistry)();
223
+ const label = (entry) => `${entry.name} — ${entry.label}`;
224
+ const selected = await (0, TerminalSelect_1.selectTerminalOption)('Select provider to add:', registry.map(entry => ({ label: label(entry), value: entry.name })), { defaultIndex: 0 });
225
+ if (selected !== undefined)
226
+ return selected;
227
+ process.stdout.write('Select provider to add:\n');
228
+ registry.forEach((entry, index) => process.stdout.write(` ${index + 1}. ${label(entry)}\n`));
229
+ const answer = await getPrompt().readUserMessage(style.bold('Provider [1]: '), { onEscape: 'cancel' });
230
+ if (answer === undefined)
231
+ throw new PromptAbort_1.PromptAbortError();
232
+ const raw = answer.trim();
233
+ if (!raw)
234
+ return registry[0].name;
235
+ const index = Number(raw);
236
+ if (Number.isInteger(index) && index >= 1 && index <= registry.length)
237
+ return registry[index - 1].name;
238
+ if ((0, core_1.getProviderRegistryEntry)(raw))
239
+ return raw;
240
+ throw core_1.MarifoldError.configInvalid(`Unknown provider: ${raw}`);
241
+ }
242
+ /** Read one line, returning `def` on empty input. Throws if empty with no default. */
243
+ async function readLineWithDefault(prompt, style, label, def) {
244
+ const answer = await prompt.readUserMessage(style.bold(`${label}${def ? ` [${def}]` : ''}: `), { onEscape: 'back' });
245
+ if (answer === undefined)
246
+ throw new PromptAbort_1.PromptAbortError();
247
+ const value = answer.trim();
248
+ if (value)
249
+ return value;
250
+ if (def)
251
+ return def;
252
+ throw core_1.MarifoldError.configInvalid(`${label} cannot be empty.`);
253
+ }
254
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/commands/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ import { ConsolePrinter } from '../output/ConsolePrinter';
3
+ export declare function registerScheduleCommand(program: Command, printer: ConsolePrinter): void;
4
+ //# sourceMappingURL=schedule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.d.ts","sourceRoot":"","sources":["../../src/commands/schedule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAW1D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CA+GvF"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerScheduleCommand = registerScheduleCommand;
4
+ const TerminalStyle_1 = require("../output/TerminalStyle");
5
+ const RuntimeFactory_1 = require("./RuntimeFactory");
6
+ function registerScheduleCommand(program, printer) {
7
+ const schedule = program
8
+ .command('schedule')
9
+ .description('Manage scheduled agent runs. Schedules fire while marifold service is running.');
10
+ schedule
11
+ .command('add')
12
+ .description('Create a scheduled agent run.')
13
+ .argument('<objective...>', 'Agent objective to run on the schedule.')
14
+ .requiredOption('--cron <expression>', 'Cron expression, e.g. "0 9 * * 1-5".')
15
+ .option('--name <name>', 'Display name. Defaults to the objective.')
16
+ .option('--profile <name>', 'Profile to run the agent with.')
17
+ .option('--disabled', 'Create the schedule disabled.')
18
+ .action(async (objectiveParts, options) => {
19
+ await withRuntime(program, printer, async (runtime) => {
20
+ const objective = objectiveParts.join(' ');
21
+ const created = runtime.createSchedule({
22
+ name: options.name ?? objective.slice(0, 60),
23
+ objective,
24
+ cron: options.cron,
25
+ profile: options.profile,
26
+ enabled: !options.disabled,
27
+ });
28
+ process.stdout.write(`Created schedule ${created.id} (${created.enabled ? 'enabled' : 'disabled'}).\n`);
29
+ process.stdout.write('Schedules fire while marifold service is running.\n');
30
+ });
31
+ });
32
+ schedule
33
+ .command('list')
34
+ .description('List schedules.')
35
+ .action(async () => {
36
+ await withRuntime(program, printer, async (runtime) => {
37
+ const schedules = runtime.listSchedules();
38
+ if (schedules.length === 0) {
39
+ process.stdout.write('No schedules. Create one with marifold schedule add.\n');
40
+ return;
41
+ }
42
+ process.stdout.write('ID\tEnabled\tCron\tName\tLast run\n');
43
+ for (const item of schedules) {
44
+ process.stdout.write(`${item.id}\t${item.enabled ? 'yes' : 'no'}\t${item.cron}\t${item.name}\t${item.lastRunAt ?? '-'}\n`);
45
+ }
46
+ });
47
+ });
48
+ schedule
49
+ .command('show')
50
+ .description('Show one schedule.')
51
+ .argument('<id>', 'Schedule id.')
52
+ .action(async (id) => {
53
+ await withRuntime(program, printer, async (runtime) => {
54
+ const item = runtime.getSchedule(id);
55
+ if (!item) {
56
+ process.stderr.write(`Schedule not found: ${id}\n`);
57
+ process.exitCode = 1;
58
+ return;
59
+ }
60
+ printSchedule(item);
61
+ });
62
+ });
63
+ schedule
64
+ .command('rm')
65
+ .description('Delete a schedule.')
66
+ .argument('<id>', 'Schedule id.')
67
+ .action(async (id) => {
68
+ await withRuntime(program, printer, async (runtime) => {
69
+ if (runtime.deleteSchedule(id)) {
70
+ process.stdout.write(`Deleted schedule ${id}.\n`);
71
+ }
72
+ else {
73
+ process.stderr.write(`Schedule not found: ${id}\n`);
74
+ process.exitCode = 1;
75
+ }
76
+ });
77
+ });
78
+ schedule
79
+ .command('enable')
80
+ .description('Enable a schedule.')
81
+ .argument('<id>', 'Schedule id.')
82
+ .action(async (id) => {
83
+ await withRuntime(program, printer, async (runtime) => {
84
+ runtime.updateSchedule(id, { enabled: true });
85
+ process.stdout.write(`Enabled schedule ${id}.\n`);
86
+ });
87
+ });
88
+ schedule
89
+ .command('disable')
90
+ .description('Disable a schedule.')
91
+ .argument('<id>', 'Schedule id.')
92
+ .action(async (id) => {
93
+ await withRuntime(program, printer, async (runtime) => {
94
+ runtime.updateSchedule(id, { enabled: false });
95
+ process.stdout.write(`Disabled schedule ${id}.\n`);
96
+ });
97
+ });
98
+ schedule
99
+ .command('run')
100
+ .description('Run a schedule once now, unattended (ask-mode tools are denied).')
101
+ .argument('<id>', 'Schedule id.')
102
+ .action(async (id) => {
103
+ await withRuntime(program, printer, async (runtime) => {
104
+ const style = new TerminalStyle_1.TerminalStyle(process.stdout.isTTY ?? false);
105
+ process.stdout.write(style.dim(`Running schedule ${id} unattended...\n`));
106
+ const result = await runtime.runScheduleUnattended(id);
107
+ process.stdout.write(`Run finished: ${result.status}${result.taskId ? ` (task ${result.taskId})` : ''}\n`);
108
+ if (result.status !== 'completed')
109
+ process.exitCode = 1;
110
+ });
111
+ });
112
+ }
113
+ async function withRuntime(program, printer, action) {
114
+ const runtime = (0, RuntimeFactory_1.createRuntime)(program);
115
+ try {
116
+ await action(runtime);
117
+ }
118
+ catch (error) {
119
+ printer.printError(error);
120
+ process.exitCode = 1;
121
+ }
122
+ finally {
123
+ runtime.close();
124
+ }
125
+ }
126
+ function printSchedule(item) {
127
+ process.stdout.write(`ID: ${item.id}\n`);
128
+ process.stdout.write(`Name: ${item.name}\n`);
129
+ process.stdout.write(`Objective: ${item.objective}\n`);
130
+ process.stdout.write(`Cron: ${item.cron}\n`);
131
+ process.stdout.write(`Enabled: ${item.enabled ? 'yes' : 'no'}\n`);
132
+ if (item.profile)
133
+ process.stdout.write(`Profile: ${item.profile}\n`);
134
+ process.stdout.write(`Last run: ${item.lastRunAt ?? '-'}\n`);
135
+ if (item.lastTaskId)
136
+ process.stdout.write(`Last task: ${item.lastTaskId}\n`);
137
+ if (item.lastResultSeen !== undefined)
138
+ process.stdout.write(`Result seen: ${item.lastResultSeen ? 'yes' : 'no'}\n`);
139
+ process.stdout.write(`Created: ${item.createdAt}\n`);
140
+ }
141
+ //# sourceMappingURL=schedule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/commands/schedule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Command } from 'commander';
2
+ import { ConsolePrinter } from '../output/ConsolePrinter';
3
+ export declare function registerServiceCommand(program: Command, printer: ConsolePrinter): void;
4
+ interface ShutdownOptions {
5
+ close: () => Promise<void>;
6
+ forceClose?: () => void;
7
+ graceMs?: number;
8
+ onFinish?: () => void;
9
+ /** Test seam. Production deliberately exits after cleanup so a stray SDK
10
+ * handle cannot keep `marifold service` alive after Ctrl+C. */
11
+ terminate?: (code: number) => void;
12
+ }
13
+ export declare function waitForShutdown(options: ShutdownOptions): Promise<void>;
14
+ export {};
15
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/commands/service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoC1D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CA2CtF;AAiSD,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;mEAC+D;IAC/D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDvE"}