Add snippet/command library with CRUD and send-to-session
Full command snippet library for saving and sending reusable commands: Backend: - SQLite migration 003 creates snippets table - Snippet model with name, command, description, folder, tags - Store CRUD methods and API endpoints Frontend: - SnippetLibrary class with searchable list + detail/editor split view - Create, edit, delete snippets in modal dialog - 'Send to Session' button writes command to active terminal - 'Send Snippet' option in terminal right-click context menu - Ctrl+Shift+S keyboard shortcut to open library
This commit is contained in:
Vendored
+8
@@ -17,6 +17,8 @@ export function ConnectSession(arg1:string):Promise<models.SessionInfo>;
|
||||
|
||||
export function CreateProfile(arg1:models.Profile):Promise<models.Profile>;
|
||||
|
||||
export function CreateSnippet(arg1:models.Snippet):Promise<models.Snippet>;
|
||||
|
||||
export function DeleteKnownHost(arg1:string):Promise<void>;
|
||||
|
||||
export function DeleteProfile(arg1:string):Promise<void>;
|
||||
@@ -25,6 +27,8 @@ export function DeleteProfileSecrets(arg1:string):Promise<void>;
|
||||
|
||||
export function DeleteRecording(arg1:string):Promise<void>;
|
||||
|
||||
export function DeleteSnippet(arg1:string):Promise<void>;
|
||||
|
||||
export function DisconnectSession(arg1:string):Promise<void>;
|
||||
|
||||
export function DuplicateProfile(arg1:string):Promise<models.Profile>;
|
||||
@@ -77,6 +81,8 @@ export function ListRecordings():Promise<Array<Record<string, any>>>;
|
||||
|
||||
export function ListSessions():Promise<Array<models.SessionInfo>>;
|
||||
|
||||
export function ListSnippets():Promise<Array<models.Snippet>>;
|
||||
|
||||
export function LockSecretStore():Promise<void>;
|
||||
|
||||
export function NewProfile(arg1:string):Promise<models.Profile>;
|
||||
@@ -139,6 +145,8 @@ export function UnlockSecretStore(arg1:string):Promise<void>;
|
||||
|
||||
export function UpdateProfile(arg1:models.Profile):Promise<models.Profile>;
|
||||
|
||||
export function UpdateSnippet(arg1:models.Snippet):Promise<models.Snippet>;
|
||||
|
||||
export function WriteSession(arg1:string,arg2:string):Promise<void>;
|
||||
|
||||
export function WriteSessionEscaped(arg1:string,arg2:string):Promise<void>;
|
||||
|
||||
@@ -30,6 +30,10 @@ export function CreateProfile(arg1) {
|
||||
return window['go']['api']['Service']['CreateProfile'](arg1);
|
||||
}
|
||||
|
||||
export function CreateSnippet(arg1) {
|
||||
return window['go']['api']['Service']['CreateSnippet'](arg1);
|
||||
}
|
||||
|
||||
export function DeleteKnownHost(arg1) {
|
||||
return window['go']['api']['Service']['DeleteKnownHost'](arg1);
|
||||
}
|
||||
@@ -46,6 +50,10 @@ export function DeleteRecording(arg1) {
|
||||
return window['go']['api']['Service']['DeleteRecording'](arg1);
|
||||
}
|
||||
|
||||
export function DeleteSnippet(arg1) {
|
||||
return window['go']['api']['Service']['DeleteSnippet'](arg1);
|
||||
}
|
||||
|
||||
export function DisconnectSession(arg1) {
|
||||
return window['go']['api']['Service']['DisconnectSession'](arg1);
|
||||
}
|
||||
@@ -150,6 +158,10 @@ export function ListSessions() {
|
||||
return window['go']['api']['Service']['ListSessions']();
|
||||
}
|
||||
|
||||
export function ListSnippets() {
|
||||
return window['go']['api']['Service']['ListSnippets']();
|
||||
}
|
||||
|
||||
export function LockSecretStore() {
|
||||
return window['go']['api']['Service']['LockSecretStore']();
|
||||
}
|
||||
@@ -274,6 +286,10 @@ export function UpdateProfile(arg1) {
|
||||
return window['go']['api']['Service']['UpdateProfile'](arg1);
|
||||
}
|
||||
|
||||
export function UpdateSnippet(arg1) {
|
||||
return window['go']['api']['Service']['UpdateSnippet'](arg1);
|
||||
}
|
||||
|
||||
export function WriteSession(arg1, arg2) {
|
||||
return window['go']['api']['Service']['WriteSession'](arg1, arg2);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user