antri_cli 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/bin/antri.js +2 -0
- package/dist/cli/banner.d.ts +22 -0
- package/dist/cli/banner.d.ts.map +1 -0
- package/dist/cli/banner.js +133 -0
- package/dist/cli/banner.js.map +1 -0
- package/dist/cli/dialogs/filePicker.d.ts +23 -0
- package/dist/cli/dialogs/filePicker.d.ts.map +1 -0
- package/dist/cli/dialogs/filePicker.js +106 -0
- package/dist/cli/dialogs/filePicker.js.map +1 -0
- package/dist/cli/dialogs/modelPicker.d.ts +10 -0
- package/dist/cli/dialogs/modelPicker.d.ts.map +1 -0
- package/dist/cli/dialogs/modelPicker.js +205 -0
- package/dist/cli/dialogs/modelPicker.js.map +1 -0
- package/dist/cli/dialogs/profilePicker.d.ts +11 -0
- package/dist/cli/dialogs/profilePicker.d.ts.map +1 -0
- package/dist/cli/dialogs/profilePicker.js +185 -0
- package/dist/cli/dialogs/profilePicker.js.map +1 -0
- package/dist/cli/dialogs/providerPicker.d.ts +19 -0
- package/dist/cli/dialogs/providerPicker.d.ts.map +1 -0
- package/dist/cli/dialogs/providerPicker.js +205 -0
- package/dist/cli/dialogs/providerPicker.js.map +1 -0
- package/dist/cli/prompt.d.ts +3 -0
- package/dist/cli/prompt.d.ts.map +1 -0
- package/dist/cli/prompt.js +50 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/promptToolkit.d.ts +14 -0
- package/dist/cli/promptToolkit.d.ts.map +1 -0
- package/dist/cli/promptToolkit.js +389 -0
- package/dist/cli/promptToolkit.js.map +1 -0
- package/dist/cli/renderer.d.ts +21 -0
- package/dist/cli/renderer.d.ts.map +1 -0
- package/dist/cli/renderer.js +97 -0
- package/dist/cli/renderer.js.map +1 -0
- package/dist/cli/shortcuts.d.ts +13 -0
- package/dist/cli/shortcuts.d.ts.map +1 -0
- package/dist/cli/shortcuts.js +414 -0
- package/dist/cli/shortcuts.js.map +1 -0
- package/dist/core/agent.d.ts +15 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +232 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/citations.d.ts +19 -0
- package/dist/core/citations.d.ts.map +1 -0
- package/dist/core/citations.js +40 -0
- package/dist/core/citations.js.map +1 -0
- package/dist/core/config.d.ts +16 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +172 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/crawler.d.ts +18 -0
- package/dist/core/crawler.d.ts.map +1 -0
- package/dist/core/crawler.js +83 -0
- package/dist/core/crawler.js.map +1 -0
- package/dist/core/debugger.d.ts +20 -0
- package/dist/core/debugger.d.ts.map +1 -0
- package/dist/core/debugger.js +105 -0
- package/dist/core/debugger.js.map +1 -0
- package/dist/core/dialectic.d.ts +23 -0
- package/dist/core/dialectic.d.ts.map +1 -0
- package/dist/core/dialectic.js +300 -0
- package/dist/core/dialectic.js.map +1 -0
- package/dist/core/goalLoop.d.ts +14 -0
- package/dist/core/goalLoop.d.ts.map +1 -0
- package/dist/core/goalLoop.js +104 -0
- package/dist/core/goalLoop.js.map +1 -0
- package/dist/core/history.d.ts +13 -0
- package/dist/core/history.d.ts.map +1 -0
- package/dist/core/history.js +53 -0
- package/dist/core/history.js.map +1 -0
- package/dist/core/metaOptimizer.d.ts +27 -0
- package/dist/core/metaOptimizer.d.ts.map +1 -0
- package/dist/core/metaOptimizer.js +98 -0
- package/dist/core/metaOptimizer.js.map +1 -0
- package/dist/core/sandbox.d.ts +29 -0
- package/dist/core/sandbox.d.ts.map +1 -0
- package/dist/core/sandbox.js +141 -0
- package/dist/core/sandbox.js.map +1 -0
- package/dist/core/scraper.d.ts +22 -0
- package/dist/core/scraper.d.ts.map +1 -0
- package/dist/core/scraper.js +180 -0
- package/dist/core/scraper.js.map +1 -0
- package/dist/core/search.d.ts +27 -0
- package/dist/core/search.d.ts.map +1 -0
- package/dist/core/search.js +222 -0
- package/dist/core/search.js.map +1 -0
- package/dist/core/skillSynthesizer.d.ts +43 -0
- package/dist/core/skillSynthesizer.d.ts.map +1 -0
- package/dist/core/skillSynthesizer.js +147 -0
- package/dist/core/skillSynthesizer.js.map +1 -0
- package/dist/core/tools.d.ts +12 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/tools.js +467 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/core/updater.d.ts +9 -0
- package/dist/core/updater.d.ts.map +1 -0
- package/dist/core/updater.js +63 -0
- package/dist/core/updater.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +92 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/consolidation.d.ts +17 -0
- package/dist/memory/consolidation.d.ts.map +1 -0
- package/dist/memory/consolidation.js +42 -0
- package/dist/memory/consolidation.js.map +1 -0
- package/dist/memory/episodic.d.ts +15 -0
- package/dist/memory/episodic.d.ts.map +1 -0
- package/dist/memory/episodic.js +97 -0
- package/dist/memory/episodic.js.map +1 -0
- package/dist/memory/manager.d.ts +24 -0
- package/dist/memory/manager.d.ts.map +1 -0
- package/dist/memory/manager.js +97 -0
- package/dist/memory/manager.js.map +1 -0
- package/dist/memory/profile.d.ts +21 -0
- package/dist/memory/profile.d.ts.map +1 -0
- package/dist/memory/profile.js +111 -0
- package/dist/memory/profile.js.map +1 -0
- package/dist/memory/semantic.d.ts +24 -0
- package/dist/memory/semantic.d.ts.map +1 -0
- package/dist/memory/semantic.js +102 -0
- package/dist/memory/semantic.js.map +1 -0
- package/dist/memory/types.d.ts +45 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +2 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/vectorStore.d.ts +18 -0
- package/dist/memory/vectorStore.d.ts.map +1 -0
- package/dist/memory/vectorStore.js +103 -0
- package/dist/memory/vectorStore.js.map +1 -0
- package/dist/profiles/profileManager.d.ts +25 -0
- package/dist/profiles/profileManager.d.ts.map +1 -0
- package/dist/profiles/profileManager.js +205 -0
- package/dist/profiles/profileManager.js.map +1 -0
- package/dist/providers/anthropic.d.ts +14 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +80 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +7 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +2 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/gemini.d.ts +14 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +77 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/index.d.ts +4 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +65 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/mock.d.ts +8 -0
- package/dist/providers/mock.d.ts.map +1 -0
- package/dist/providers/mock.js +62 -0
- package/dist/providers/mock.js.map +1 -0
- package/dist/providers/models.d.ts +8 -0
- package/dist/providers/models.d.ts.map +1 -0
- package/dist/providers/models.js +403 -0
- package/dist/providers/models.js.map +1 -0
- package/dist/providers/openai.d.ts +18 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +162 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/types.d.ts +116 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/logger.d.ts +23 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +26 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
export const VERIFIED_NVIDIA_MODELS = [
|
|
2
|
+
'meta/llama-3.1-8b-instruct',
|
|
3
|
+
'stepfun-ai/step-3.7-flash',
|
|
4
|
+
'nvidia/nemotron-3-nano-30b-a3b',
|
|
5
|
+
'openai/gpt-oss-20b',
|
|
6
|
+
'meta/llama-3.2-11b-vision-instruct',
|
|
7
|
+
'minimaxai/minimax-m3',
|
|
8
|
+
'nvidia/llama-3.3-nemotron-super-49b-v1.5',
|
|
9
|
+
'thinkingmachines/inkling',
|
|
10
|
+
'nvidia/nemotron-3-super-120b-a12b',
|
|
11
|
+
'nvidia/nemotron-3-ultra-550b-a55b',
|
|
12
|
+
'nvidia/nemotron-3.5-lightning-30b-a3b',
|
|
13
|
+
'nvidia/nvidia-nemotron-nano-9b-v2',
|
|
14
|
+
'nvidia/nemotron-mini-4b-instruct',
|
|
15
|
+
];
|
|
16
|
+
// Comprehensive catalog of preset models per provider
|
|
17
|
+
export const PROVIDER_CATALOGS = {
|
|
18
|
+
// NVIDIA NIM Models (Verified Active Models + Complete Catalog)
|
|
19
|
+
'nvidia-nim': [
|
|
20
|
+
// Verified Active
|
|
21
|
+
{ id: 'meta/llama-3.1-8b-instruct', name: 'Llama 3.1 8B Instruct', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'ultra-fast 8B instruction model with 128K context' },
|
|
22
|
+
{ id: 'stepfun-ai/step-3.7-flash', name: 'Step 3.7 Flash', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'blazing-fast multimodal sparse-MoE reasoning model' },
|
|
23
|
+
{ id: 'nvidia/nemotron-3-nano-30b-a3b', name: 'Nemotron 3 Nano 30B', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'compact 30B MoE model tuned for agentic reasoning' },
|
|
24
|
+
{ id: 'openai/gpt-oss-20b', name: 'GPT-OSS 20B', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'open weights GPT-architecture model on NIM' },
|
|
25
|
+
{ id: 'meta/llama-3.2-11b-vision-instruct', name: 'Llama 3.2 11B Vision', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'multimodal vision and text model with 128K context' },
|
|
26
|
+
{ id: 'minimaxai/minimax-m3', name: 'MiniMax M3', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'multilingual high-speed model on NVIDIA NIM' },
|
|
27
|
+
{ id: 'nvidia/llama-3.3-nemotron-super-49b-v1.5', name: 'Nemotron Super 49B v1.5', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'super high performance reasoning & coding LLM' },
|
|
28
|
+
{ id: 'thinkingmachines/inkling', name: 'Inkling MoE', provider: 'nvidia-nim', category: '⭐ Active & Verified', description: 'multimodal MoE reasoning at high throughput' },
|
|
29
|
+
// Moonshot AI
|
|
30
|
+
{ id: 'moonshotai/kimi-k2.6', name: 'Kimi K2.6', provider: 'nvidia-nim', category: 'Moonshot AI', description: 'Moonshot AI model hosted on NVIDIA NIM' },
|
|
31
|
+
// 01.AI
|
|
32
|
+
{ id: '01-ai/yi-large', name: 'Yi Large', provider: 'nvidia-nim', category: '01.AI', description: '01.AI flagship model on NVIDIA NIM' },
|
|
33
|
+
// Meta Llama Family
|
|
34
|
+
{ id: 'meta/llama-3.3-70b-instruct', name: 'Llama 3.3 70B Instruct', provider: 'nvidia-nim', category: 'Meta Llama', description: 'flagship open weights 70B model with high reasoning' },
|
|
35
|
+
{ id: 'meta/llama-3.1-70b-instruct', name: 'Llama 3.1 70B Instruct', provider: 'nvidia-nim', category: 'Meta Llama', description: 'high-capability open model with 128K context' },
|
|
36
|
+
{ id: 'meta/llama-3.1-405b-instruct', name: 'Llama 3.1 405B Instruct', provider: 'nvidia-nim', category: 'Meta Llama', description: 'frontier-scale 405B parameter model for deep coding' },
|
|
37
|
+
{ id: 'meta/muse-glimmer-30b', name: 'Muse Glimmer 30B', provider: 'nvidia-nim', category: 'Meta Llama', description: 'Meta creative and synthetic model on NIM' },
|
|
38
|
+
// DeepSeek on NVIDIA NIM
|
|
39
|
+
{ id: 'deepseek-ai/deepseek-r1', name: 'DeepSeek R1 (NIM)', provider: 'nvidia-nim', category: 'DeepSeek (NVIDIA)', description: 'NVIDIA-accelerated DeepSeek R1 reasoning' },
|
|
40
|
+
{ id: 'deepseek-ai/deepseek-v3', name: 'DeepSeek V3 (NIM)', provider: 'nvidia-nim', category: 'DeepSeek (NVIDIA)', description: '671B MoE frontier coding and conversational model' },
|
|
41
|
+
{ id: 'deepseek-ai/deepseek-coder-6.7b-instruct', name: 'DeepSeek Coder 6.7B', provider: 'nvidia-nim', category: 'DeepSeek (NVIDIA)', description: 'specialized coding assistant model' },
|
|
42
|
+
// NVIDIA Nemotron Family
|
|
43
|
+
{ id: 'nvidia/nemotron-3-super-120b-a12b', name: 'Nemotron 3 Super 120B', provider: 'nvidia-nim', category: 'NVIDIA Nemotron', description: 'large-scale MoE reasoning engine' },
|
|
44
|
+
{ id: 'nvidia/nemotron-3-ultra-550b-a55b', name: 'Nemotron 3 Ultra 550B', provider: 'nvidia-nim', category: 'NVIDIA Nemotron', description: '550B frontier MoE flagship for autonomous agents' },
|
|
45
|
+
{ id: 'nvidia/nemotron-3.5-lightning-30b-a3b', name: 'Nemotron 3.5 Lightning 30B', provider: 'nvidia-nim', category: 'NVIDIA Nemotron', description: 'accelerated low-latency MoE for interactive coding' },
|
|
46
|
+
{ id: 'nvidia/nvidia-nemotron-nano-9b-v2', name: 'Nemotron Nano 9B v2', provider: 'nvidia-nim', category: 'NVIDIA Nemotron', description: 'ultra-efficient 9B model optimized for coding' },
|
|
47
|
+
{ id: 'nvidia/nemotron-mini-4b-instruct', name: 'Nemotron Mini 4B Instruct', provider: 'nvidia-nim', category: 'NVIDIA Nemotron', description: 'compact 4B lightweight instruction tuned model' },
|
|
48
|
+
{ id: 'nvidia/llama-3.1-nemotron-70b-instruct', name: 'Nemotron 70B Instruct', provider: 'nvidia-nim', category: 'NVIDIA Nemotron', description: 'custom tuned by NVIDIA for top benchmark scores' },
|
|
49
|
+
// Qwen Family on NVIDIA NIM
|
|
50
|
+
{ id: 'qwen/qwen2.5-coder-32b-instruct', name: 'Qwen 2.5 Coder 32B', provider: 'nvidia-nim', category: 'Qwen', description: 'specialized coding LLM on TensorRT-LLM' },
|
|
51
|
+
{ id: 'qwen/qwen2.5-72b-instruct', name: 'Qwen 2.5 72B Instruct', provider: 'nvidia-nim', category: 'Qwen', description: 'general purpose large open model' },
|
|
52
|
+
{ id: 'qwen/qwen2.5-7b-instruct', name: 'Qwen 2.5 7B Instruct', provider: 'nvidia-nim', category: 'Qwen', description: 'efficient 7B model for conversational agents' },
|
|
53
|
+
// Mistral Family on NVIDIA NIM
|
|
54
|
+
{ id: 'mistralai/mistral-large-2-instruct', name: 'Mistral Large 2', provider: 'nvidia-nim', category: 'Mistral AI', description: '123B frontier model with top-tier code generation' },
|
|
55
|
+
{ id: 'mistralai/mixtral-8x22b-instruct-v0.1', name: 'Mixtral 8x22B Instruct', provider: 'nvidia-nim', category: 'Mistral AI', description: 'high-capacity Sparse MoE model' },
|
|
56
|
+
{ id: 'mistralai/mixtral-8x7b-instruct-v0.1', name: 'Mixtral 8x7B Instruct', provider: 'nvidia-nim', category: 'Mistral AI', description: 'popular efficient MoE model' },
|
|
57
|
+
// Google Gemma on NVIDIA NIM
|
|
58
|
+
{ id: 'google/gemma-2-27b-it', name: 'Gemma 2 27B IT', provider: 'nvidia-nim', category: 'Google Gemma', description: 'Google open weights model' },
|
|
59
|
+
{ id: 'google/gemma-2-9b-it', name: 'Gemma 2 9B IT', provider: 'nvidia-nim', category: 'Google Gemma', description: 'compact Gemma 2 model' },
|
|
60
|
+
// Microsoft Phi on NVIDIA NIM
|
|
61
|
+
{ id: 'microsoft/phi-3.5-moe-instruct', name: 'Phi 3.5 MoE Instruct', provider: 'nvidia-nim', category: 'Microsoft Phi', description: '16x3.8B Mixture of Experts with 128K context' },
|
|
62
|
+
{ id: 'microsoft/phi-3.5-mini-instruct', name: 'Phi 3.5 Mini Instruct', provider: 'nvidia-nim', category: 'Microsoft Phi', description: '3.8B model with strong reasoning' },
|
|
63
|
+
],
|
|
64
|
+
// Anthropic Claude Models
|
|
65
|
+
'anthropic': [
|
|
66
|
+
{
|
|
67
|
+
id: 'claude-3-7-sonnet-20250219',
|
|
68
|
+
name: 'Claude 3.7 Sonnet',
|
|
69
|
+
provider: 'anthropic',
|
|
70
|
+
category: 'Claude 3.7',
|
|
71
|
+
description: 'hybrid reasoning & coding frontier model with controllable thinking',
|
|
72
|
+
contextWindow: 200000,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: 'claude-3-5-sonnet-20241022',
|
|
76
|
+
name: 'Claude 3.5 Sonnet (Latest)',
|
|
77
|
+
provider: 'anthropic',
|
|
78
|
+
category: 'Claude 3.5',
|
|
79
|
+
description: 'industry standard for coding, autonomous agent execution & tool use',
|
|
80
|
+
contextWindow: 200000,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
id: 'claude-3-5-haiku-20241022',
|
|
84
|
+
name: 'Claude 3.5 Haiku',
|
|
85
|
+
provider: 'anthropic',
|
|
86
|
+
category: 'Claude 3.5',
|
|
87
|
+
description: 'blazing-fast intelligence with high code comprehension & low cost',
|
|
88
|
+
contextWindow: 200000,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
id: 'claude-3-opus-20240229',
|
|
92
|
+
name: 'Claude 3 Opus',
|
|
93
|
+
provider: 'anthropic',
|
|
94
|
+
category: 'Claude 3',
|
|
95
|
+
description: 'complex reasoning and deep mathematical & architectural analysis',
|
|
96
|
+
contextWindow: 200000,
|
|
97
|
+
},
|
|
98
|
+
],
|
|
99
|
+
// OpenAI Models
|
|
100
|
+
'openai': [
|
|
101
|
+
{
|
|
102
|
+
id: 'gpt-4o',
|
|
103
|
+
name: 'GPT-4o',
|
|
104
|
+
provider: 'openai',
|
|
105
|
+
category: 'GPT-4o',
|
|
106
|
+
description: 'flagship omni multimodal model with high speed and coding strength',
|
|
107
|
+
contextWindow: 128000,
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
id: 'gpt-4o-mini',
|
|
111
|
+
name: 'GPT-4o Mini',
|
|
112
|
+
provider: 'openai',
|
|
113
|
+
category: 'GPT-4o',
|
|
114
|
+
description: 'fast and cost-efficient model for focused programming tasks',
|
|
115
|
+
contextWindow: 128000,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
id: 'o1',
|
|
119
|
+
name: 'OpenAI o1',
|
|
120
|
+
provider: 'openai',
|
|
121
|
+
category: 'Reasoning (o1 / o3)',
|
|
122
|
+
description: 'deep chain-of-thought reasoning for complex algorithms and logic',
|
|
123
|
+
contextWindow: 200000,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
id: 'o3-mini',
|
|
127
|
+
name: 'OpenAI o3-mini',
|
|
128
|
+
provider: 'openai',
|
|
129
|
+
category: 'Reasoning (o1 / o3)',
|
|
130
|
+
description: 'high-speed frontier reasoning model with exceptional STEM performance',
|
|
131
|
+
contextWindow: 200000,
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
id: 'gpt-4.5-preview',
|
|
135
|
+
name: 'GPT-4.5 Preview',
|
|
136
|
+
provider: 'openai',
|
|
137
|
+
category: 'GPT-4.5',
|
|
138
|
+
description: 'frontier scale general intelligence with deep world knowledge',
|
|
139
|
+
contextWindow: 128000,
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
// Google Gemini Models
|
|
143
|
+
'gemini': [
|
|
144
|
+
{
|
|
145
|
+
id: 'gemini-2.5-flash',
|
|
146
|
+
name: 'Gemini 2.5 Flash',
|
|
147
|
+
provider: 'gemini',
|
|
148
|
+
category: 'Gemini 2.5',
|
|
149
|
+
description: 'next-gen high-efficiency speed & 1M context with native tool use',
|
|
150
|
+
contextWindow: 1000000,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
id: 'gemini-2.5-pro',
|
|
154
|
+
name: 'Gemini 2.5 Pro',
|
|
155
|
+
provider: 'gemini',
|
|
156
|
+
category: 'Gemini 2.5',
|
|
157
|
+
description: 'advanced reasoning, multimodal & agentic coding with 2M context',
|
|
158
|
+
contextWindow: 2000000,
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
id: 'gemini-2.0-flash',
|
|
162
|
+
name: 'Gemini 2.0 Flash',
|
|
163
|
+
provider: 'gemini',
|
|
164
|
+
category: 'Gemini 2.0',
|
|
165
|
+
description: 'second generation multimodal real-time agent engine',
|
|
166
|
+
contextWindow: 1000000,
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
id: 'gemini-1.5-pro',
|
|
170
|
+
name: 'Gemini 1.5 Pro',
|
|
171
|
+
provider: 'gemini',
|
|
172
|
+
category: 'Gemini 1.5',
|
|
173
|
+
description: 'massive 2M token context for whole repository ingestion',
|
|
174
|
+
contextWindow: 2000000,
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
// DeepSeek Models
|
|
178
|
+
'deepseek': [
|
|
179
|
+
{
|
|
180
|
+
id: 'deepseek-chat',
|
|
181
|
+
name: 'DeepSeek Chat (V3)',
|
|
182
|
+
provider: 'deepseek',
|
|
183
|
+
category: 'DeepSeek V3',
|
|
184
|
+
description: 'state-of-the-art 671B MoE model for coding, architecture & chat',
|
|
185
|
+
contextWindow: 64000,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
id: 'deepseek-reasoner',
|
|
189
|
+
name: 'DeepSeek Reasoner (R1)',
|
|
190
|
+
provider: 'deepseek',
|
|
191
|
+
category: 'DeepSeek R1',
|
|
192
|
+
description: 'pure chain-of-thought open reasoning rivaling top proprietary models',
|
|
193
|
+
contextWindow: 64000,
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
id: 'deepseek-v4-flash-(latest)',
|
|
197
|
+
name: 'DeepSeek V4 Flash',
|
|
198
|
+
provider: 'deepseek',
|
|
199
|
+
category: 'DeepSeek Flash',
|
|
200
|
+
description: 'blazing-fast code assistant with high reasoning and low latency',
|
|
201
|
+
contextWindow: 64000,
|
|
202
|
+
},
|
|
203
|
+
],
|
|
204
|
+
// Ollama (Local)
|
|
205
|
+
'ollama': [
|
|
206
|
+
{
|
|
207
|
+
id: 'llama3.3:70b',
|
|
208
|
+
name: 'Llama 3.3 70B',
|
|
209
|
+
provider: 'ollama',
|
|
210
|
+
category: 'Ollama Models',
|
|
211
|
+
description: 'flagship local offline model with 128K context',
|
|
212
|
+
contextWindow: 128000,
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
id: 'llama3.1:8b',
|
|
216
|
+
name: 'Llama 3.1 8B',
|
|
217
|
+
provider: 'ollama',
|
|
218
|
+
category: 'Ollama Models',
|
|
219
|
+
description: 'lightweight local fast model for daily coding',
|
|
220
|
+
contextWindow: 128000,
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
id: 'deepseek-r1:latest',
|
|
224
|
+
name: 'DeepSeek R1 (Local)',
|
|
225
|
+
provider: 'ollama',
|
|
226
|
+
category: 'Ollama Models',
|
|
227
|
+
description: 'local reasoning model running fully on your machine',
|
|
228
|
+
contextWindow: 32768,
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
id: 'qwen2.5-coder:32b',
|
|
232
|
+
name: 'Qwen 2.5 Coder 32B',
|
|
233
|
+
provider: 'ollama',
|
|
234
|
+
category: 'Ollama Models',
|
|
235
|
+
description: 'specialized coding assistant running offline on GPU',
|
|
236
|
+
contextWindow: 32768,
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
// OpenRouter Models
|
|
240
|
+
'openrouter': [
|
|
241
|
+
{
|
|
242
|
+
id: 'deepseek/deepseek-r1',
|
|
243
|
+
name: 'DeepSeek R1',
|
|
244
|
+
provider: 'openrouter',
|
|
245
|
+
category: 'OpenRouter',
|
|
246
|
+
description: 'open frontier reasoning model routed via OpenRouter',
|
|
247
|
+
contextWindow: 64000,
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
id: 'anthropic/claude-3.5-sonnet',
|
|
251
|
+
name: 'Claude 3.5 Sonnet',
|
|
252
|
+
provider: 'openrouter',
|
|
253
|
+
category: 'OpenRouter',
|
|
254
|
+
description: 'top-rated coding intelligence via OpenRouter',
|
|
255
|
+
contextWindow: 200000,
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
id: 'openai/gpt-4o',
|
|
259
|
+
name: 'GPT-4o',
|
|
260
|
+
provider: 'openrouter',
|
|
261
|
+
category: 'OpenRouter',
|
|
262
|
+
description: 'flagship OpenAI model routed through unified API',
|
|
263
|
+
contextWindow: 128000,
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
// Custom
|
|
267
|
+
'custom': [
|
|
268
|
+
{
|
|
269
|
+
id: 'custom-model',
|
|
270
|
+
name: 'Custom Endpoint Model',
|
|
271
|
+
provider: 'custom',
|
|
272
|
+
category: 'Custom Provider',
|
|
273
|
+
description: 'user-defined OpenAI-compatible model endpoint',
|
|
274
|
+
},
|
|
275
|
+
],
|
|
276
|
+
// Mock
|
|
277
|
+
'mock': [
|
|
278
|
+
{
|
|
279
|
+
id: 'deepseek-v4-flash-(latest)',
|
|
280
|
+
name: 'DeepSeek V4 Flash (Demo)',
|
|
281
|
+
provider: 'mock',
|
|
282
|
+
category: 'Demo / Mock',
|
|
283
|
+
description: 'built-in offline interactive assistant demo',
|
|
284
|
+
},
|
|
285
|
+
],
|
|
286
|
+
};
|
|
287
|
+
/**
|
|
288
|
+
* Returns available models scoped strictly to the active provider
|
|
289
|
+
*/
|
|
290
|
+
export async function getAvailableModels(config) {
|
|
291
|
+
const currentProvider = config.provider;
|
|
292
|
+
// 1. Ollama live fetching
|
|
293
|
+
if (currentProvider === 'ollama') {
|
|
294
|
+
try {
|
|
295
|
+
const baseUrl = config.customBaseUrls?.ollama || 'http://localhost:11434';
|
|
296
|
+
const res = await fetch(`${baseUrl}/api/tags`, { signal: AbortSignal.timeout(2000) });
|
|
297
|
+
if (res.ok) {
|
|
298
|
+
const data = (await res.json());
|
|
299
|
+
if (data.models && Array.isArray(data.models) && data.models.length > 0) {
|
|
300
|
+
const installedModels = data.models.map((m) => ({
|
|
301
|
+
id: m.name,
|
|
302
|
+
name: m.name,
|
|
303
|
+
provider: 'ollama',
|
|
304
|
+
category: 'Installed Local Models',
|
|
305
|
+
description: `Local model (${Math.round((m.size || 0) / (1024 * 1024 * 1024))}GB) · ${m.details?.family || 'llm'}`,
|
|
306
|
+
}));
|
|
307
|
+
return installedModels;
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
catch {
|
|
312
|
+
// Fallback
|
|
313
|
+
}
|
|
314
|
+
return PROVIDER_CATALOGS['ollama'];
|
|
315
|
+
}
|
|
316
|
+
// 2. NVIDIA NIM live fetching: fetch ALL models from API endpoint
|
|
317
|
+
if (currentProvider === 'nvidia-nim') {
|
|
318
|
+
const apiKey = config.apiKeys.nvidia_nim || process.env.NVIDIA_API_KEY || process.env.NVIDIA_NIM_API_KEY;
|
|
319
|
+
if (apiKey) {
|
|
320
|
+
try {
|
|
321
|
+
const baseUrl = config.customBaseUrls?.nvidia_nim || 'https://integrate.api.nvidia.com/v1';
|
|
322
|
+
const res = await fetch(`${baseUrl}/models`, {
|
|
323
|
+
headers: {
|
|
324
|
+
Authorization: `Bearer ${apiKey}`,
|
|
325
|
+
Accept: 'application/json',
|
|
326
|
+
},
|
|
327
|
+
signal: AbortSignal.timeout(3000),
|
|
328
|
+
});
|
|
329
|
+
if (res.ok) {
|
|
330
|
+
const data = (await res.json());
|
|
331
|
+
if (data.data && Array.isArray(data.data) && data.data.length > 0) {
|
|
332
|
+
const allFetchedModels = data.data.map((m) => {
|
|
333
|
+
const modelId = m.id || m.name;
|
|
334
|
+
const owner = m.owned_by || modelId.split('/')[0] || 'nvidia';
|
|
335
|
+
// Format clean display name
|
|
336
|
+
const parts = modelId.split('/');
|
|
337
|
+
const shortName = parts.length > 1 ? parts[1] : parts[0];
|
|
338
|
+
const formattedName = shortName
|
|
339
|
+
.replace(/-/g, ' ')
|
|
340
|
+
.replace(/\b\w/g, (l) => l.toUpperCase());
|
|
341
|
+
const isVerified = VERIFIED_NVIDIA_MODELS.includes(modelId);
|
|
342
|
+
let category = isVerified ? '⭐ Active & Verified' : (owner.charAt(0).toUpperCase() + owner.slice(1));
|
|
343
|
+
return {
|
|
344
|
+
id: modelId,
|
|
345
|
+
name: `${formattedName} (${owner})`,
|
|
346
|
+
provider: 'nvidia-nim',
|
|
347
|
+
category,
|
|
348
|
+
description: isVerified ? 'Verified active model on NVIDIA NIM' : `Model on NVIDIA NIM (${modelId})`,
|
|
349
|
+
};
|
|
350
|
+
});
|
|
351
|
+
// Sort verified models to the top
|
|
352
|
+
allFetchedModels.sort((a, b) => {
|
|
353
|
+
const aV = a.category.startsWith('⭐') ? 0 : 1;
|
|
354
|
+
const bV = b.category.startsWith('⭐') ? 0 : 1;
|
|
355
|
+
return aV - bV;
|
|
356
|
+
});
|
|
357
|
+
return allFetchedModels;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
catch {
|
|
362
|
+
// Fallback
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
return PROVIDER_CATALOGS['nvidia-nim'];
|
|
366
|
+
}
|
|
367
|
+
// 3. OpenAI live fetching
|
|
368
|
+
if (currentProvider === 'openai') {
|
|
369
|
+
const apiKey = config.apiKeys.openai || process.env.OPENAI_API_KEY;
|
|
370
|
+
if (apiKey) {
|
|
371
|
+
try {
|
|
372
|
+
const baseUrl = config.customBaseUrls?.openai || 'https://api.openai.com/v1';
|
|
373
|
+
const res = await fetch(`${baseUrl}/models`, {
|
|
374
|
+
headers: { Authorization: `Bearer ${apiKey}` },
|
|
375
|
+
signal: AbortSignal.timeout(2500),
|
|
376
|
+
});
|
|
377
|
+
if (res.ok) {
|
|
378
|
+
const data = (await res.json());
|
|
379
|
+
if (data.data && Array.isArray(data.data) && data.data.length > 0) {
|
|
380
|
+
const relevant = data.data.filter((m) => m.id.startsWith('gpt-4') || m.id.startsWith('o1') || m.id.startsWith('o3') || m.id.startsWith('chatgpt-'));
|
|
381
|
+
if (relevant.length > 0) {
|
|
382
|
+
return relevant.map((m) => ({
|
|
383
|
+
id: m.id,
|
|
384
|
+
name: m.id.toUpperCase(),
|
|
385
|
+
provider: 'openai',
|
|
386
|
+
category: m.id.startsWith('o1') || m.id.startsWith('o3') ? 'Reasoning Models' : 'GPT Models',
|
|
387
|
+
description: `OpenAI model (${m.id})`,
|
|
388
|
+
}));
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
catch {
|
|
394
|
+
// Fallback
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
return PROVIDER_CATALOGS['openai'];
|
|
398
|
+
}
|
|
399
|
+
// 4. Return provider's preset catalog
|
|
400
|
+
const catalog = PROVIDER_CATALOGS[currentProvider];
|
|
401
|
+
return catalog && catalog.length > 0 ? catalog : PROVIDER_CATALOGS['mock'];
|
|
402
|
+
}
|
|
403
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/providers/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LLMProvider } from './base.js';
|
|
2
|
+
import { ChatMessage, ToolDefinition, StreamCallbacks } from '../types.js';
|
|
3
|
+
export declare class OpenAICompatibleProvider implements LLMProvider {
|
|
4
|
+
name: string;
|
|
5
|
+
defaultModel: string;
|
|
6
|
+
private apiKey;
|
|
7
|
+
private baseUrl;
|
|
8
|
+
private model;
|
|
9
|
+
constructor(options: {
|
|
10
|
+
name?: string;
|
|
11
|
+
apiKey?: string;
|
|
12
|
+
baseUrl?: string;
|
|
13
|
+
model?: string;
|
|
14
|
+
});
|
|
15
|
+
sendMessageStream(messages: ChatMessage[], tools: ToolDefinition[], callbacks: StreamCallbacks): Promise<string>;
|
|
16
|
+
private executeStream;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG3E,qBAAa,wBAAyB,YAAW,WAAW;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAQY,iBAAiB,CAC5B,QAAQ,EAAE,WAAW,EAAE,EACvB,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,MAAM,CAAC;YAmCJ,aAAa;CAgI5B"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { log } from '../utils/logger.js';
|
|
2
|
+
export class OpenAICompatibleProvider {
|
|
3
|
+
name;
|
|
4
|
+
defaultModel;
|
|
5
|
+
apiKey;
|
|
6
|
+
baseUrl;
|
|
7
|
+
model;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.name = options.name || 'openai';
|
|
10
|
+
this.apiKey = options.apiKey || '';
|
|
11
|
+
this.baseUrl = options.baseUrl || 'https://api.openai.com/v1';
|
|
12
|
+
this.model = options.model || 'gpt-4o';
|
|
13
|
+
this.defaultModel = this.model;
|
|
14
|
+
}
|
|
15
|
+
async sendMessageStream(messages, tools, callbacks) {
|
|
16
|
+
try {
|
|
17
|
+
return await this.executeStream(messages, tools, callbacks);
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
// 1. If error is 400 related to tools payload, retry once without tools
|
|
21
|
+
if (tools &&
|
|
22
|
+
tools.length > 0 &&
|
|
23
|
+
(err.message.includes('400') ||
|
|
24
|
+
err.message.includes('tools') ||
|
|
25
|
+
err.message.includes('schema'))) {
|
|
26
|
+
return await this.executeStream(messages, [], callbacks);
|
|
27
|
+
}
|
|
28
|
+
// 2. If model is inactive, 404, or 410 on NVIDIA NIM, auto-fallback to verified active model
|
|
29
|
+
if (this.name === 'nvidia-nim' &&
|
|
30
|
+
this.model !== 'meta/llama-3.1-8b-instruct' &&
|
|
31
|
+
(err.message.includes('404') ||
|
|
32
|
+
err.message.includes('410') ||
|
|
33
|
+
err.message.includes('Not found for account') ||
|
|
34
|
+
err.message.includes('Gone'))) {
|
|
35
|
+
const prevModel = this.model;
|
|
36
|
+
this.model = 'meta/llama-3.1-8b-instruct';
|
|
37
|
+
log.warn(`Model '${prevModel}' is not deployed or inactive on this NVIDIA NIM account.`);
|
|
38
|
+
log.info(`Automatically falling back to active model 'meta/llama-3.1-8b-instruct'...\n`);
|
|
39
|
+
return await this.executeStream(messages, tools, callbacks);
|
|
40
|
+
}
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async executeStream(messages, tools, callbacks) {
|
|
45
|
+
const formattedMessages = messages.map((m) => {
|
|
46
|
+
const msgObj = {
|
|
47
|
+
role: m.role,
|
|
48
|
+
content: m.content || '',
|
|
49
|
+
};
|
|
50
|
+
if (m.tool_calls)
|
|
51
|
+
msgObj.tool_calls = m.tool_calls;
|
|
52
|
+
if (m.tool_call_id)
|
|
53
|
+
msgObj.tool_call_id = m.tool_call_id;
|
|
54
|
+
if (m.name)
|
|
55
|
+
msgObj.name = m.name;
|
|
56
|
+
return msgObj;
|
|
57
|
+
});
|
|
58
|
+
const payload = {
|
|
59
|
+
model: this.model,
|
|
60
|
+
messages: formattedMessages,
|
|
61
|
+
stream: true,
|
|
62
|
+
temperature: 0.2,
|
|
63
|
+
};
|
|
64
|
+
if (tools && tools.length > 0) {
|
|
65
|
+
payload.tools = tools.map((t) => ({
|
|
66
|
+
type: 'function',
|
|
67
|
+
function: {
|
|
68
|
+
name: t.name,
|
|
69
|
+
description: t.description,
|
|
70
|
+
parameters: t.parameters,
|
|
71
|
+
},
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
const headers = {
|
|
75
|
+
'Content-Type': 'application/json',
|
|
76
|
+
};
|
|
77
|
+
if (this.apiKey) {
|
|
78
|
+
headers['Authorization'] = `Bearer ${this.apiKey}`;
|
|
79
|
+
}
|
|
80
|
+
const response = await fetch(`${this.baseUrl}/chat/completions`, {
|
|
81
|
+
method: 'POST',
|
|
82
|
+
headers,
|
|
83
|
+
body: JSON.stringify(payload),
|
|
84
|
+
});
|
|
85
|
+
if (!response.ok) {
|
|
86
|
+
const errText = await response.text();
|
|
87
|
+
throw new Error(`API request failed (${response.status} ${response.statusText}): ${errText}`);
|
|
88
|
+
}
|
|
89
|
+
if (!response.body) {
|
|
90
|
+
throw new Error('Response body is null or undefined.');
|
|
91
|
+
}
|
|
92
|
+
const reader = response.body.getReader();
|
|
93
|
+
const decoder = new TextDecoder('utf-8');
|
|
94
|
+
let fullContent = '';
|
|
95
|
+
let buffer = '';
|
|
96
|
+
const toolCallsMap = {};
|
|
97
|
+
while (true) {
|
|
98
|
+
const { done, value } = await reader.read();
|
|
99
|
+
if (done)
|
|
100
|
+
break;
|
|
101
|
+
buffer += decoder.decode(value, { stream: true });
|
|
102
|
+
const lines = buffer.split('\n');
|
|
103
|
+
buffer = lines.pop() || '';
|
|
104
|
+
for (const line of lines) {
|
|
105
|
+
const trimmed = line.trim();
|
|
106
|
+
if (!trimmed || trimmed === 'data: [DONE]')
|
|
107
|
+
continue;
|
|
108
|
+
if (trimmed.startsWith('data: ')) {
|
|
109
|
+
try {
|
|
110
|
+
const jsonStr = trimmed.slice(6);
|
|
111
|
+
const data = JSON.parse(jsonStr);
|
|
112
|
+
const delta = data.choices?.[0]?.delta;
|
|
113
|
+
if (delta?.content) {
|
|
114
|
+
fullContent += delta.content;
|
|
115
|
+
callbacks.onToken(delta.content);
|
|
116
|
+
}
|
|
117
|
+
if (delta?.tool_calls) {
|
|
118
|
+
for (const tc of delta.tool_calls) {
|
|
119
|
+
const idx = tc.index ?? 0;
|
|
120
|
+
if (!toolCallsMap[idx]) {
|
|
121
|
+
toolCallsMap[idx] = {
|
|
122
|
+
id: tc.id || `call_${Date.now()}_${idx}`,
|
|
123
|
+
name: tc.function?.name || '',
|
|
124
|
+
arguments: tc.function?.arguments || '',
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
if (tc.function?.name)
|
|
129
|
+
toolCallsMap[idx].name += tc.function.name;
|
|
130
|
+
if (tc.function?.arguments)
|
|
131
|
+
toolCallsMap[idx].arguments += tc.function.arguments;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
// Ignore partial parse chunks
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Process collected tool calls
|
|
143
|
+
for (const key in toolCallsMap) {
|
|
144
|
+
const tc = toolCallsMap[key];
|
|
145
|
+
if (callbacks.onToolCall) {
|
|
146
|
+
callbacks.onToolCall({
|
|
147
|
+
id: tc.id,
|
|
148
|
+
type: 'function',
|
|
149
|
+
function: {
|
|
150
|
+
name: tc.name,
|
|
151
|
+
arguments: tc.arguments,
|
|
152
|
+
},
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (callbacks.onComplete) {
|
|
157
|
+
callbacks.onComplete(fullContent);
|
|
158
|
+
}
|
|
159
|
+
return fullContent;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=openai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|