Update README with current features and screenshots
- Cross-platform support (Windows/Linux) with Windows Updates and Winget - Added dependency confirmation workflow and refresh token authentication - New screenshots: History, Live Operations, Windows Agent Details - Local CLI features with terminal output and cache system - Updated known limitations - Proxmox integration is broken - Organized docs to docs/ folder and updated .gitignore - Probably introduced a dozen bugs with Windows agents - stay tuned
This commit is contained in:
@@ -113,6 +113,40 @@ export const updateApi = {
|
||||
installUpdate: async (id: string): Promise<void> => {
|
||||
await api.post(`/updates/${id}/install`);
|
||||
},
|
||||
|
||||
// Get update logs
|
||||
getUpdateLogs: async (id: string, limit?: number): Promise<{ logs: any[]; count: number }> => {
|
||||
const response = await api.get(`/updates/${id}/logs`, {
|
||||
params: limit ? { limit } : undefined
|
||||
});
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Retry a failed, timed_out, or cancelled command
|
||||
retryCommand: async (commandId: string): Promise<{ message: string; command_id: string; new_id: string }> => {
|
||||
const response = await api.post(`/commands/${commandId}/retry`);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Cancel a pending or sent command
|
||||
cancelCommand: async (commandId: string): Promise<{ message: string }> => {
|
||||
const response = await api.post(`/commands/${commandId}/cancel`);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get active commands for live command control
|
||||
getActiveCommands: async (): Promise<{ commands: any[]; count: number }> => {
|
||||
const response = await api.get('/commands/active');
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get recent commands for retry functionality
|
||||
getRecentCommands: async (limit?: number): Promise<{ commands: any[]; count: number; limit: number }> => {
|
||||
const response = await api.get('/commands/recent', {
|
||||
params: limit ? { limit } : undefined
|
||||
});
|
||||
return response.data;
|
||||
},
|
||||
};
|
||||
|
||||
export const statsApi = {
|
||||
@@ -123,6 +157,41 @@ export const statsApi = {
|
||||
},
|
||||
};
|
||||
|
||||
export const logApi = {
|
||||
// Get all logs with filtering for universal log view
|
||||
getAllLogs: async (params?: {
|
||||
page?: number;
|
||||
page_size?: number;
|
||||
agent_id?: string;
|
||||
action?: string;
|
||||
result?: string;
|
||||
since?: string;
|
||||
}): Promise<{ logs: any[]; total: number; page: number; page_size: number }> => {
|
||||
const response = await api.get('/logs', { params });
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get active operations for live status view
|
||||
getActiveOperations: async (): Promise<{ operations: any[]; count: number }> => {
|
||||
const response = await api.get('/logs/active');
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get active commands for live command control
|
||||
getActiveCommands: async (): Promise<{ commands: any[]; count: number }> => {
|
||||
const response = await api.get('/commands/active');
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// Get recent commands for retry functionality
|
||||
getRecentCommands: async (limit?: number): Promise<{ commands: any[]; count: number; limit: number }> => {
|
||||
const response = await api.get('/commands/recent', {
|
||||
params: limit ? { limit } : undefined
|
||||
});
|
||||
return response.data;
|
||||
},
|
||||
};
|
||||
|
||||
export const authApi = {
|
||||
// Simple login (using API key or token)
|
||||
login: async (credentials: { token: string }): Promise<{ token: string }> => {
|
||||
|
||||
Reference in New Issue
Block a user