feat: add provider API service for managing provider accounts and keys feat: create provider runtime sync service for agent runtime management feat: introduce script execution service for running automation scripts feat: develop script store service for managing script metadata and storage feat: implement theme service for managing application theme settings feat: add updater service for handling application updates feat: create window service for managing application windows and their states
38 lines
865 B
TypeScript
38 lines
865 B
TypeScript
import { executeScriptService } from '@electron/service/execute-script-service';
|
|
import {
|
|
getScriptPathById,
|
|
updateLastRun,
|
|
} from '@electron/service/script-store-service';
|
|
import type { ScriptExecutionResult } from '../../types/script-types';
|
|
|
|
const executor = new executeScriptService();
|
|
|
|
export async function runScriptById(
|
|
id: string,
|
|
channel?: string,
|
|
): Promise<ScriptExecutionResult> {
|
|
const scriptPath = getScriptPathById(id);
|
|
if (!scriptPath) {
|
|
return {
|
|
success: false,
|
|
exitCode: null,
|
|
stdoutTail: '',
|
|
stderrTail: '',
|
|
error: 'Script not found',
|
|
};
|
|
}
|
|
|
|
const result = await executor.executeScript(scriptPath, {
|
|
SCRIPT_ID: id,
|
|
CHANNEL: channel || '',
|
|
});
|
|
|
|
updateLastRun(id, {
|
|
time: new Date().toISOString(),
|
|
success: result.success,
|
|
error: result.error,
|
|
});
|
|
|
|
return result;
|
|
}
|