Added skills, shortcuts, and bugifixes++
This commit is contained in:
32
oAI/Models/Skill.swift
Normal file
32
oAI/Models/Skill.swift
Normal file
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// Shortcut.swift
|
||||
// oAI
|
||||
//
|
||||
// User-defined slash command templates (prompt shortcuts/macros)
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct Shortcut: Codable, Identifiable {
|
||||
var id: UUID
|
||||
var command: String // e.g. "/summarize" (always starts with /)
|
||||
var description: String // shown in dropdown
|
||||
var template: String // prompt text, may contain {{input}}
|
||||
var createdAt: Date
|
||||
var updatedAt: Date
|
||||
|
||||
init(id: UUID = UUID(), command: String, description: String, template: String,
|
||||
createdAt: Date = Date(), updatedAt: Date = Date()) {
|
||||
self.id = id
|
||||
self.command = command
|
||||
self.description = description
|
||||
self.template = template
|
||||
self.createdAt = createdAt
|
||||
self.updatedAt = updatedAt
|
||||
}
|
||||
|
||||
/// True when the template uses {{input}} and needs the user to provide text
|
||||
var needsInput: Bool {
|
||||
template.contains("{{input}}")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user