feat(councils): add preflight, schema-driven outputs, and artifact reporting
This commit is contained in:
@@ -88,6 +88,11 @@ export function parseCommand(input: string): Command | null {
|
||||
if (trimmed === '/council') {
|
||||
return { type: 'council', task: '' };
|
||||
}
|
||||
// Natural-language council shortcut for common flows.
|
||||
const councilShortcut = trimmed.match(/^(?:yes\s+)?run\s+(?:the\s+)?council(?:\s+on)?(?:\s+(.+))?$/i);
|
||||
if (councilShortcut) {
|
||||
return { type: 'council', task: (councilShortcut[1] ?? '').trim() };
|
||||
}
|
||||
|
||||
// Fullscreen
|
||||
if (trimmed === '/fullscreen' || trimmed === '/fs') {
|
||||
@@ -211,6 +216,7 @@ Commands:
|
||||
/backend [provider] Show or switch local backend (ollama, llamacpp)
|
||||
/research <task> Delegate a task to the configured research agent
|
||||
/council <task> Run the councils pipeline for a task
|
||||
/council preflight Check council tier routing, endpoint/auth mode, and probe latency
|
||||
/login [provider] Authenticate with GitHub, OpenAI, Anthropic, or Z.AI
|
||||
/pair List pending pairing codes and approved senders
|
||||
/pair generate [label] Generate a new DM pairing code
|
||||
@@ -275,7 +281,7 @@ export const COMMAND_TOOLTIPS: Record<string, string> = {
|
||||
'/model': 'Show or switch model (local, default, fast, complex)',
|
||||
'/backend': 'Show or switch local backend (ollama, llamacpp)',
|
||||
'/research': 'Delegate a task to the configured research agent',
|
||||
'/council': 'Run the councils pipeline for a task',
|
||||
'/council': 'Run the councils pipeline for a task; use "/council preflight" for route/auth checks',
|
||||
'/reset': 'Clear conversation history',
|
||||
'/clear': 'Clear conversation history',
|
||||
'/new': 'Start a new conversation',
|
||||
@@ -319,6 +325,14 @@ export const MODEL_TOOLTIPS: Record<string, string> = {
|
||||
export function getCommandCompletions(partial: string): string[] {
|
||||
const trimmed = partial.trim();
|
||||
|
||||
if (trimmed.startsWith('/council ')) {
|
||||
const suffix = trimmed.slice('/council '.length).toLowerCase();
|
||||
if ('preflight'.startsWith(suffix)) {
|
||||
return ['/council preflight'];
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
// Complete /model <tier> <provider/model>
|
||||
if (trimmed.startsWith('/model ')) {
|
||||
const args = trimmed.slice('/model '.length).trim();
|
||||
|
||||
Reference in New Issue
Block a user