()
| 225 | } |
| 226 | |
| 227 | function getTipGroups() { |
| 228 | const folder = getActiveFolder(); |
| 229 | const scopeLabel = folder === 'root' ? 'this folder' : folder; |
| 230 | return [ |
| 231 | { |
| 232 | title: 'Explore', |
| 233 | items: [ |
| 234 | { label: 'List files here', prompt: 'List files and folders here.' }, |
| 235 | { label: 'Show folders', prompt: 'Show folders here.' }, |
| 236 | { label: 'What can you do?', prompt: '/op all' } |
| 237 | ] |
| 238 | }, |
| 239 | { |
| 240 | title: 'Organize', |
| 241 | items: [ |
| 242 | { label: 'Organize by type', prompt: `Organize all files in ${scopeLabel} by type.` }, |
| 243 | { label: 'Organize by year', prompt: `Organize all pdf and jpg files in ${scopeLabel} by year.` }, |
| 244 | { label: 'Rename matching files', prompt: 'Rename files that have invoice in their name to testing.' } |
| 245 | ] |
| 246 | }, |
| 247 | { |
| 248 | title: 'Cleanup', |
| 249 | items: [ |
| 250 | { label: 'Tag untagged files', prompt: `Tag all files in ${scopeLabel} without tags with review.` }, |
| 251 | { label: 'Move largest files', prompt: `Move largest 10 files in ${scopeLabel} to archive.` }, |
| 252 | { label: 'Delete old files', prompt: `Delete all files in ${scopeLabel} older than 30 days.` } |
| 253 | ] |
| 254 | }, |
| 255 | { |
| 256 | title: 'AI Workflows', |
| 257 | items: [ |
| 258 | { label: 'Tag images', prompt: `Tag all images in ${scopeLabel}.` }, |
| 259 | { label: 'Extract invoices', prompt: `Extract all invoices in ${scopeLabel} to csv.` }, |
| 260 | { label: 'Extract custom schema', prompt: `Extract files in ${scopeLabel} to csv with fields vendor:text, effective date:date, renewal date:date, total value:number.` }, |
| 261 | { label: 'Transcribe audio', prompt: `Transcribe all audio files in ${scopeLabel} and tag them.` } |
| 262 | ] |
| 263 | }, |
| 264 | { |
| 265 | title: 'Support', |
| 266 | items: [ |
| 267 | { label: 'Run diagnostics', prompt: '/diagnostics' }, |
| 268 | { label: 'Explain scope issue', prompt: 'Help me troubleshoot why I got a scope violation in FileRise AI chat.' }, |
| 269 | { label: 'Explain vision disabled', prompt: 'Help me troubleshoot why vision is disabled in FileRise AI chat.' } |
| 270 | ] |
| 271 | } |
| 272 | ]; |
| 273 | } |
| 274 | |
| 275 | function createChatUi(config) { |
| 276 | const headerButtons = document.querySelector('.header-buttons'); |
no test coverage detected