v2.2-paseo-providers: Paseo provider stack + v2.2.1 pane-scoped chat fixes
Ship Paseo-equivalent provider snapshot, AgentComposerBar, ACP dispatch rewrite with streaming/persist, permission prompts, and agent commands. Follow-up: pane-scoped chat resolution, CoderMessageList tool timeline, WS user-delta replace, and inference orphan tool_call stripping. Archive openspec v2-2; update CHANGELOG and CURRENT. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,10 +2,21 @@ export interface ProviderDef {
|
||||
name: string;
|
||||
label: string;
|
||||
transport: 'native' | 'acp' | 'pty';
|
||||
modelSource: 'llama-swap' | 'static';
|
||||
modelSource: 'llama-swap' | 'static' | 'probe';
|
||||
staticModels?: Array<{ id: string; label: string }>;
|
||||
/** Merge llama-swap models into probed list (OpenCode). */
|
||||
mergeLlamaSwap?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Model discovery rules (see provider-snapshot.ts):
|
||||
* - boocode: llama-swap only
|
||||
* - opencode: ACP probe + mergeLlamaSwap (prefixed llama-swap/* ids)
|
||||
* - qwen: ACP probe + merge ~/.qwen/settings.json; PTY fallback reads settings only
|
||||
* - cursor: ACP probe + cursor-agent models CLI fallback
|
||||
* - goose / copilot: ACP probe only
|
||||
* - claude: static manifest models + thinking options
|
||||
*/
|
||||
export const PROVIDERS: ProviderDef[] = [
|
||||
{
|
||||
name: 'boocode',
|
||||
@@ -13,17 +24,24 @@ export const PROVIDERS: ProviderDef[] = [
|
||||
transport: 'native',
|
||||
modelSource: 'llama-swap',
|
||||
},
|
||||
{
|
||||
name: 'cursor',
|
||||
label: 'Cursor Agent',
|
||||
transport: 'acp',
|
||||
modelSource: 'probe',
|
||||
},
|
||||
{
|
||||
name: 'opencode',
|
||||
label: 'OpenCode',
|
||||
transport: 'acp',
|
||||
modelSource: 'llama-swap',
|
||||
modelSource: 'probe',
|
||||
mergeLlamaSwap: true,
|
||||
},
|
||||
{
|
||||
name: 'goose',
|
||||
label: 'Goose',
|
||||
transport: 'acp',
|
||||
modelSource: 'llama-swap',
|
||||
modelSource: 'probe',
|
||||
},
|
||||
{
|
||||
name: 'claude',
|
||||
@@ -38,9 +56,18 @@ export const PROVIDERS: ProviderDef[] = [
|
||||
{
|
||||
name: 'qwen',
|
||||
label: 'Qwen Code',
|
||||
transport: 'pty',
|
||||
modelSource: 'static',
|
||||
transport: 'acp',
|
||||
modelSource: 'probe',
|
||||
},
|
||||
{
|
||||
name: 'copilot',
|
||||
label: 'GitHub Copilot',
|
||||
transport: 'acp',
|
||||
modelSource: 'probe',
|
||||
},
|
||||
];
|
||||
|
||||
export const PROVIDERS_BY_NAME = new Map(PROVIDERS.map((p) => [p.name, p]));
|
||||
|
||||
/** External agents probed on host (excludes native boocode). */
|
||||
export const PROBED_AGENT_NAMES = PROVIDERS.filter((p) => p.name !== 'boocode').map((p) => p.name);
|
||||
|
||||
Reference in New Issue
Block a user