daemora 1.0.3 → 1.0.5
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/LICENSE +663 -0
- package/README.md +69 -19
- package/SOUL.md +25 -24
- package/daemora-ui/README.md +11 -0
- package/package.json +12 -2
- package/skills/api-development.md +35 -0
- package/skills/artifacts-builder/SKILL.md +74 -0
- package/skills/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/skills/artifacts-builder/scripts/init-artifact.sh +322 -0
- package/skills/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/skills/brand-guidelines.md +73 -0
- package/skills/browser.md +77 -0
- package/skills/changelog-generator.md +104 -0
- package/skills/coding.md +26 -10
- package/skills/content-research-writer.md +538 -0
- package/skills/data-analysis.md +27 -0
- package/skills/debugging.md +33 -0
- package/skills/devops.md +37 -0
- package/skills/document-docx.md +197 -0
- package/skills/document-pdf.md +294 -0
- package/skills/document-pptx.md +484 -0
- package/skills/document-xlsx.md +289 -0
- package/skills/domain-name-brainstormer.md +212 -0
- package/skills/file-organizer.md +433 -0
- package/skills/frontend-design.md +42 -0
- package/skills/image-enhancer.md +99 -0
- package/skills/invoice-organizer.md +446 -0
- package/skills/lead-research-assistant.md +199 -0
- package/skills/mcp-builder/SKILL.md +328 -0
- package/skills/mcp-builder/reference/evaluation.md +602 -0
- package/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/skills/mcp-builder/scripts/connections.py +151 -0
- package/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/skills/meeting-insights-analyzer.md +327 -0
- package/skills/orchestration.md +93 -0
- package/skills/raffle-winner-picker.md +159 -0
- package/skills/slack-gif-creator/SKILL.md +646 -0
- package/skills/slack-gif-creator/core/color_palettes.py +302 -0
- package/skills/slack-gif-creator/core/easing.py +230 -0
- package/skills/slack-gif-creator/core/frame_composer.py +469 -0
- package/skills/slack-gif-creator/core/gif_builder.py +246 -0
- package/skills/slack-gif-creator/core/typography.py +357 -0
- package/skills/slack-gif-creator/core/validators.py +264 -0
- package/skills/slack-gif-creator/core/visual_effects.py +494 -0
- package/skills/slack-gif-creator/requirements.txt +4 -0
- package/skills/slack-gif-creator/templates/bounce.py +106 -0
- package/skills/slack-gif-creator/templates/explode.py +331 -0
- package/skills/slack-gif-creator/templates/fade.py +329 -0
- package/skills/slack-gif-creator/templates/flip.py +291 -0
- package/skills/slack-gif-creator/templates/kaleidoscope.py +211 -0
- package/skills/slack-gif-creator/templates/morph.py +329 -0
- package/skills/slack-gif-creator/templates/move.py +293 -0
- package/skills/slack-gif-creator/templates/pulse.py +268 -0
- package/skills/slack-gif-creator/templates/shake.py +127 -0
- package/skills/slack-gif-creator/templates/slide.py +291 -0
- package/skills/slack-gif-creator/templates/spin.py +269 -0
- package/skills/slack-gif-creator/templates/wiggle.py +300 -0
- package/skills/slack-gif-creator/templates/zoom.py +312 -0
- package/skills/system-admin.md +44 -0
- package/skills/tailored-resume-generator.md +345 -0
- package/skills/theme-factory/SKILL.md +59 -0
- package/skills/theme-factory/theme-showcase.pdf +0 -0
- package/skills/theme-factory/themes/arctic-frost.md +19 -0
- package/skills/theme-factory/themes/botanical-garden.md +19 -0
- package/skills/theme-factory/themes/desert-rose.md +19 -0
- package/skills/theme-factory/themes/forest-canopy.md +19 -0
- package/skills/theme-factory/themes/golden-hour.md +19 -0
- package/skills/theme-factory/themes/midnight-galaxy.md +19 -0
- package/skills/theme-factory/themes/modern-minimalist.md +19 -0
- package/skills/theme-factory/themes/ocean-depths.md +19 -0
- package/skills/theme-factory/themes/sunset-boulevard.md +19 -0
- package/skills/theme-factory/themes/tech-innovation.md +19 -0
- package/skills/video-downloader.md +99 -0
- package/skills/web-development.md +32 -0
- package/skills/webapp-testing/SKILL.md +96 -0
- package/skills/webapp-testing/examples/console_logging.py +35 -0
- package/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/skills/webapp-testing/scripts/with_server.py +106 -0
- package/src/agents/SubAgentManager.js +57 -12
- package/src/api/openai-compat.js +212 -0
- package/src/channels/TelegramChannel.js +5 -2
- package/src/channels/index.js +7 -10
- package/src/cli.js +129 -50
- package/src/config/agentProfiles.js +1 -0
- package/src/config/default.js +10 -0
- package/src/config/models.js +317 -71
- package/src/config/permissions.js +12 -0
- package/src/core/AgentLoop.js +70 -50
- package/src/core/Compaction.js +84 -2
- package/src/core/MessageQueue.js +90 -0
- package/src/core/Task.js +13 -0
- package/src/core/TaskQueue.js +1 -1
- package/src/core/TaskRunner.js +80 -5
- package/src/index.js +328 -48
- package/src/mcp/MCPAgentRunner.js +48 -11
- package/src/mcp/MCPManager.js +40 -2
- package/src/models/ModelRouter.js +67 -1
- package/src/safety/DockerSandbox.js +212 -0
- package/src/safety/ExecApproval.js +118 -0
- package/src/scheduler/Heartbeat.js +56 -21
- package/src/services/cleanup.js +106 -0
- package/src/services/sessions.js +39 -1
- package/src/setup/wizard.js +75 -4
- package/src/skills/SkillLoader.js +104 -17
- package/src/storage/TaskStore.js +19 -1
- package/src/systemPrompt.js +171 -328
- package/src/tools/browserAutomation.js +615 -104
- package/src/tools/executeCommand.js +19 -1
- package/src/tools/index.js +6 -0
- package/src/tools/manageAgents.js +55 -4
- package/src/tools/replyWithFile.js +62 -0
- package/src/tools/screenCapture.js +12 -1
- package/src/tools/taskManager.js +164 -0
- package/src/tools/useMCP.js +3 -1
- package/src/utils/Embeddings.js +157 -10
- package/src/webhooks/WebhookHandler.js +107 -0
package/src/config/models.js
CHANGED
|
@@ -1,112 +1,358 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Model registry - metadata for all supported models.
|
|
3
3
|
* Used by ModelRouter for selection, cost tracking, and compaction thresholds.
|
|
4
|
+
*
|
|
5
|
+
* Pricing: costPer1kInput / costPer1kOutput in USD per 1,000 tokens.
|
|
6
|
+
* Source: Official provider pricing pages (as of March 2026).
|
|
4
7
|
*/
|
|
5
8
|
export const models = {
|
|
6
|
-
// OpenAI
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
compactAt: 90_000,
|
|
12
|
-
costPer1kInput: 0.
|
|
13
|
-
|
|
9
|
+
// ─── OpenAI ──────────────────────────────────────────────────────────────────
|
|
10
|
+
|
|
11
|
+
// GPT-5.4
|
|
12
|
+
"openai:gpt-5.4": {
|
|
13
|
+
provider: "openai", model: "gpt-5.4",
|
|
14
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
15
|
+
costPer1kInput: 0.0025, costPer1kOutput: 0.015,
|
|
16
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
17
|
+
tier: "expensive",
|
|
18
|
+
},
|
|
19
|
+
"openai:gpt-5.4-pro": {
|
|
20
|
+
provider: "openai", model: "gpt-5.4-pro",
|
|
21
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
22
|
+
costPer1kInput: 0.030, costPer1kOutput: 0.180,
|
|
23
|
+
capabilities: ["text", "tools", "structured-output", "reasoning"],
|
|
24
|
+
tier: "expensive",
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
// GPT-5.2
|
|
28
|
+
"openai:gpt-5.2": {
|
|
29
|
+
provider: "openai", model: "gpt-5.2",
|
|
30
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
31
|
+
costPer1kInput: 0.00175, costPer1kOutput: 0.014,
|
|
32
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
33
|
+
tier: "standard",
|
|
34
|
+
},
|
|
35
|
+
"openai:gpt-5.2-pro": {
|
|
36
|
+
provider: "openai", model: "gpt-5.2-pro",
|
|
37
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
38
|
+
costPer1kInput: 0.021, costPer1kOutput: 0.168,
|
|
39
|
+
capabilities: ["text", "tools", "structured-output", "reasoning"],
|
|
40
|
+
tier: "expensive",
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
// GPT-5.1
|
|
44
|
+
"openai:gpt-5.1": {
|
|
45
|
+
provider: "openai", model: "gpt-5.1",
|
|
46
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
47
|
+
costPer1kInput: 0.00125, costPer1kOutput: 0.010,
|
|
48
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
49
|
+
tier: "standard",
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
// GPT-5
|
|
53
|
+
"openai:gpt-5": {
|
|
54
|
+
provider: "openai", model: "gpt-5",
|
|
55
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
56
|
+
costPer1kInput: 0.00125, costPer1kOutput: 0.010,
|
|
57
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
58
|
+
tier: "standard",
|
|
59
|
+
},
|
|
60
|
+
"openai:gpt-5-pro": {
|
|
61
|
+
provider: "openai", model: "gpt-5-pro",
|
|
62
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
63
|
+
costPer1kInput: 0.015, costPer1kOutput: 0.120,
|
|
64
|
+
capabilities: ["text", "tools", "structured-output", "reasoning"],
|
|
65
|
+
tier: "expensive",
|
|
66
|
+
},
|
|
67
|
+
"openai:gpt-5-mini": {
|
|
68
|
+
provider: "openai", model: "gpt-5-mini",
|
|
69
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
70
|
+
costPer1kInput: 0.00025, costPer1kOutput: 0.002,
|
|
71
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
72
|
+
tier: "cheap",
|
|
73
|
+
},
|
|
74
|
+
"openai:gpt-5-nano": {
|
|
75
|
+
provider: "openai", model: "gpt-5-nano",
|
|
76
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
77
|
+
costPer1kInput: 0.00005, costPer1kOutput: 0.0004,
|
|
14
78
|
capabilities: ["text", "tools", "structured-output"],
|
|
15
79
|
tier: "cheap",
|
|
16
80
|
},
|
|
81
|
+
|
|
82
|
+
// GPT-5 Codex
|
|
83
|
+
"openai:gpt-5.3-codex": {
|
|
84
|
+
provider: "openai", model: "gpt-5.3-codex",
|
|
85
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
86
|
+
costPer1kInput: 0.00175, costPer1kOutput: 0.014,
|
|
87
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
88
|
+
tier: "standard",
|
|
89
|
+
},
|
|
90
|
+
"openai:gpt-5.1-codex": {
|
|
91
|
+
provider: "openai", model: "gpt-5.1-codex",
|
|
92
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
93
|
+
costPer1kInput: 0.00125, costPer1kOutput: 0.010,
|
|
94
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
95
|
+
tier: "standard",
|
|
96
|
+
},
|
|
97
|
+
"openai:gpt-5-codex": {
|
|
98
|
+
provider: "openai", model: "gpt-5-codex",
|
|
99
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
100
|
+
costPer1kInput: 0.00125, costPer1kOutput: 0.010,
|
|
101
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
102
|
+
tier: "standard",
|
|
103
|
+
},
|
|
104
|
+
|
|
105
|
+
// GPT-4.1 (1M context)
|
|
17
106
|
"openai:gpt-4.1": {
|
|
18
|
-
provider: "openai",
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
107
|
+
provider: "openai", model: "gpt-4.1",
|
|
108
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
109
|
+
costPer1kInput: 0.002, costPer1kOutput: 0.008,
|
|
110
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
111
|
+
tier: "standard",
|
|
112
|
+
},
|
|
113
|
+
"openai:gpt-4.1-mini": {
|
|
114
|
+
provider: "openai", model: "gpt-4.1-mini",
|
|
115
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
116
|
+
costPer1kInput: 0.0004, costPer1kOutput: 0.0016,
|
|
117
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
118
|
+
tier: "cheap",
|
|
119
|
+
},
|
|
120
|
+
"openai:gpt-4.1-nano": {
|
|
121
|
+
provider: "openai", model: "gpt-4.1-nano",
|
|
122
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
123
|
+
costPer1kInput: 0.0001, costPer1kOutput: 0.0004,
|
|
24
124
|
capabilities: ["text", "tools", "structured-output"],
|
|
125
|
+
tier: "cheap",
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
// GPT-4o
|
|
129
|
+
"openai:gpt-4o": {
|
|
130
|
+
provider: "openai", model: "gpt-4o",
|
|
131
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
132
|
+
costPer1kInput: 0.0025, costPer1kOutput: 0.010,
|
|
133
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
134
|
+
tier: "standard",
|
|
135
|
+
},
|
|
136
|
+
"openai:gpt-4o-mini": {
|
|
137
|
+
provider: "openai", model: "gpt-4o-mini",
|
|
138
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
139
|
+
costPer1kInput: 0.00015, costPer1kOutput: 0.0006,
|
|
140
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
141
|
+
tier: "cheap",
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
// o-series reasoning
|
|
145
|
+
"openai:o1": {
|
|
146
|
+
provider: "openai", model: "o1",
|
|
147
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
148
|
+
costPer1kInput: 0.015, costPer1kOutput: 0.060,
|
|
149
|
+
capabilities: ["text", "tools", "reasoning"],
|
|
150
|
+
tier: "expensive",
|
|
151
|
+
},
|
|
152
|
+
"openai:o1-pro": {
|
|
153
|
+
provider: "openai", model: "o1-pro",
|
|
154
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
155
|
+
costPer1kInput: 0.150, costPer1kOutput: 0.600,
|
|
156
|
+
capabilities: ["text", "tools", "reasoning"],
|
|
157
|
+
tier: "expensive",
|
|
158
|
+
},
|
|
159
|
+
"openai:o3-pro": {
|
|
160
|
+
provider: "openai", model: "o3-pro",
|
|
161
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
162
|
+
costPer1kInput: 0.020, costPer1kOutput: 0.080,
|
|
163
|
+
capabilities: ["text", "tools", "reasoning"],
|
|
164
|
+
tier: "expensive",
|
|
165
|
+
},
|
|
166
|
+
"openai:o3": {
|
|
167
|
+
provider: "openai", model: "o3",
|
|
168
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
169
|
+
costPer1kInput: 0.002, costPer1kOutput: 0.008,
|
|
170
|
+
capabilities: ["text", "tools", "reasoning"],
|
|
171
|
+
tier: "standard",
|
|
172
|
+
},
|
|
173
|
+
"openai:o4-mini": {
|
|
174
|
+
provider: "openai", model: "o4-mini",
|
|
175
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
176
|
+
costPer1kInput: 0.0011, costPer1kOutput: 0.0044,
|
|
177
|
+
capabilities: ["text", "tools", "reasoning"],
|
|
25
178
|
tier: "standard",
|
|
26
179
|
},
|
|
27
180
|
"openai:o3-mini": {
|
|
28
|
-
provider: "openai",
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
compactAt: 140_000,
|
|
32
|
-
costPer1kInput: 0.0011,
|
|
33
|
-
costPer1kOutput: 0.0044,
|
|
181
|
+
provider: "openai", model: "o3-mini",
|
|
182
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
183
|
+
costPer1kInput: 0.0011, costPer1kOutput: 0.0044,
|
|
34
184
|
capabilities: ["text", "tools", "reasoning"],
|
|
35
185
|
tier: "standard",
|
|
36
186
|
},
|
|
37
187
|
|
|
38
|
-
//
|
|
39
|
-
"
|
|
40
|
-
provider: "
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
costPer1kInput: 0.003,
|
|
45
|
-
costPer1kOutput: 0.015,
|
|
46
|
-
capabilities: ["text", "tools", "structured-output"],
|
|
188
|
+
// Specialized
|
|
189
|
+
"openai:computer-use-preview": {
|
|
190
|
+
provider: "openai", model: "computer-use-preview",
|
|
191
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
192
|
+
costPer1kInput: 0.003, costPer1kOutput: 0.012,
|
|
193
|
+
capabilities: ["text", "tools", "computer-use"],
|
|
47
194
|
tier: "standard",
|
|
48
195
|
},
|
|
196
|
+
|
|
197
|
+
// ─── Anthropic ───────────────────────────────────────────────────────────────
|
|
198
|
+
|
|
49
199
|
"anthropic:claude-opus-4-6": {
|
|
50
|
-
provider: "anthropic",
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
200
|
+
provider: "anthropic", model: "claude-opus-4-6",
|
|
201
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
202
|
+
costPer1kInput: 0.005, costPer1kOutput: 0.025,
|
|
203
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
204
|
+
tier: "expensive",
|
|
205
|
+
},
|
|
206
|
+
"anthropic:claude-opus-4-5": {
|
|
207
|
+
provider: "anthropic", model: "claude-opus-4-5",
|
|
208
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
209
|
+
costPer1kInput: 0.005, costPer1kOutput: 0.025,
|
|
210
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
57
211
|
tier: "expensive",
|
|
58
212
|
},
|
|
213
|
+
"anthropic:claude-opus-4-1": {
|
|
214
|
+
provider: "anthropic", model: "claude-opus-4-1",
|
|
215
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
216
|
+
costPer1kInput: 0.015, costPer1kOutput: 0.075,
|
|
217
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
218
|
+
tier: "expensive",
|
|
219
|
+
},
|
|
220
|
+
"anthropic:claude-opus-4": {
|
|
221
|
+
provider: "anthropic", model: "claude-opus-4",
|
|
222
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
223
|
+
costPer1kInput: 0.015, costPer1kOutput: 0.075,
|
|
224
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
225
|
+
tier: "expensive",
|
|
226
|
+
},
|
|
227
|
+
"anthropic:claude-sonnet-4-6": {
|
|
228
|
+
provider: "anthropic", model: "claude-sonnet-4-6",
|
|
229
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
230
|
+
costPer1kInput: 0.003, costPer1kOutput: 0.015,
|
|
231
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
232
|
+
tier: "standard",
|
|
233
|
+
},
|
|
234
|
+
"anthropic:claude-sonnet-4-5": {
|
|
235
|
+
provider: "anthropic", model: "claude-sonnet-4-5",
|
|
236
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
237
|
+
costPer1kInput: 0.003, costPer1kOutput: 0.015,
|
|
238
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
239
|
+
tier: "standard",
|
|
240
|
+
},
|
|
241
|
+
"anthropic:claude-sonnet-4": {
|
|
242
|
+
provider: "anthropic", model: "claude-sonnet-4",
|
|
243
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
244
|
+
costPer1kInput: 0.003, costPer1kOutput: 0.015,
|
|
245
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
246
|
+
tier: "standard",
|
|
247
|
+
},
|
|
59
248
|
"anthropic:claude-haiku-4-5": {
|
|
60
|
-
provider: "anthropic",
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
249
|
+
provider: "anthropic", model: "claude-haiku-4-5",
|
|
250
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
251
|
+
costPer1kInput: 0.001, costPer1kOutput: 0.005,
|
|
252
|
+
capabilities: ["text", "tools", "structured-output", "vision"],
|
|
253
|
+
tier: "cheap",
|
|
254
|
+
},
|
|
255
|
+
"anthropic:claude-haiku-3-5": {
|
|
256
|
+
provider: "anthropic", model: "claude-haiku-3-5",
|
|
257
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
258
|
+
costPer1kInput: 0.0008, costPer1kOutput: 0.004,
|
|
66
259
|
capabilities: ["text", "tools", "structured-output"],
|
|
67
260
|
tier: "cheap",
|
|
68
261
|
},
|
|
262
|
+
"anthropic:claude-haiku-3": {
|
|
263
|
+
provider: "anthropic", model: "claude-haiku-3",
|
|
264
|
+
contextWindow: 200_000, compactAt: 140_000,
|
|
265
|
+
costPer1kInput: 0.00025, costPer1kOutput: 0.00125,
|
|
266
|
+
capabilities: ["text", "tools"],
|
|
267
|
+
tier: "cheap",
|
|
268
|
+
},
|
|
69
269
|
|
|
70
|
-
// Google
|
|
270
|
+
// ─── Google ──────────────────────────────────────────────────────────────────
|
|
271
|
+
|
|
272
|
+
"google:gemini-3.1-pro-preview": {
|
|
273
|
+
provider: "google", model: "gemini-3.1-pro-preview",
|
|
274
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
275
|
+
costPer1kInput: 0.002, costPer1kOutput: 0.012,
|
|
276
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
277
|
+
tier: "standard",
|
|
278
|
+
},
|
|
279
|
+
"google:gemini-3.1-flash-lite-preview": {
|
|
280
|
+
provider: "google", model: "gemini-3.1-flash-lite-preview",
|
|
281
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
282
|
+
costPer1kInput: 0.00025, costPer1kOutput: 0.0015,
|
|
283
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
284
|
+
tier: "cheap",
|
|
285
|
+
},
|
|
286
|
+
"google:gemini-3-pro-preview": {
|
|
287
|
+
provider: "google", model: "gemini-3-pro-preview",
|
|
288
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
289
|
+
costPer1kInput: 0.002, costPer1kOutput: 0.012,
|
|
290
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
291
|
+
tier: "standard",
|
|
292
|
+
},
|
|
293
|
+
"google:gemini-3-flash-preview": {
|
|
294
|
+
provider: "google", model: "gemini-3-flash-preview",
|
|
295
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
296
|
+
costPer1kInput: 0.0005, costPer1kOutput: 0.003,
|
|
297
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
298
|
+
tier: "cheap",
|
|
299
|
+
},
|
|
300
|
+
"google:gemini-2.5-pro": {
|
|
301
|
+
provider: "google", model: "gemini-2.5-pro",
|
|
302
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
303
|
+
costPer1kInput: 0.00125, costPer1kOutput: 0.010,
|
|
304
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
305
|
+
tier: "standard",
|
|
306
|
+
},
|
|
307
|
+
"google:gemini-2.5-flash": {
|
|
308
|
+
provider: "google", model: "gemini-2.5-flash",
|
|
309
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
310
|
+
costPer1kInput: 0.0003, costPer1kOutput: 0.0025,
|
|
311
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
312
|
+
tier: "cheap",
|
|
313
|
+
},
|
|
314
|
+
"google:gemini-2.5-flash-lite": {
|
|
315
|
+
provider: "google", model: "gemini-2.5-flash-lite",
|
|
316
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
317
|
+
costPer1kInput: 0.0001, costPer1kOutput: 0.0004,
|
|
318
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
319
|
+
tier: "cheap",
|
|
320
|
+
},
|
|
71
321
|
"google:gemini-2.0-flash": {
|
|
72
|
-
provider: "google",
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
compactAt: 700_000,
|
|
76
|
-
costPer1kInput: 0.0001,
|
|
77
|
-
costPer1kOutput: 0.0004,
|
|
322
|
+
provider: "google", model: "gemini-2.0-flash",
|
|
323
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
324
|
+
costPer1kInput: 0.00015, costPer1kOutput: 0.0006,
|
|
78
325
|
capabilities: ["text", "tools", "structured-output"],
|
|
79
326
|
tier: "cheap",
|
|
80
327
|
},
|
|
328
|
+
"google:gemini-2.0-flash-lite": {
|
|
329
|
+
provider: "google", model: "gemini-2.0-flash-lite",
|
|
330
|
+
contextWindow: 1_000_000, compactAt: 700_000,
|
|
331
|
+
costPer1kInput: 0.000075, costPer1kOutput: 0.0003,
|
|
332
|
+
capabilities: ["text", "tools", "structured-output"],
|
|
333
|
+
tier: "cheap",
|
|
334
|
+
},
|
|
335
|
+
|
|
336
|
+
// ─── Ollama (local — no cost) ────────────────────────────────────────────────
|
|
81
337
|
|
|
82
|
-
// Ollama (local - no cost)
|
|
83
338
|
"ollama:llama3": {
|
|
84
|
-
provider: "ollama",
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
compactAt: 5_600,
|
|
88
|
-
costPer1kInput: 0,
|
|
89
|
-
costPer1kOutput: 0,
|
|
339
|
+
provider: "ollama", model: "llama3",
|
|
340
|
+
contextWindow: 8_192, compactAt: 5_600,
|
|
341
|
+
costPer1kInput: 0, costPer1kOutput: 0,
|
|
90
342
|
capabilities: ["text"],
|
|
91
343
|
tier: "free",
|
|
92
344
|
},
|
|
93
345
|
"ollama:llama3.1": {
|
|
94
|
-
provider: "ollama",
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
compactAt: 90_000,
|
|
98
|
-
costPer1kInput: 0,
|
|
99
|
-
costPer1kOutput: 0,
|
|
346
|
+
provider: "ollama", model: "llama3.1",
|
|
347
|
+
contextWindow: 128_000, compactAt: 90_000,
|
|
348
|
+
costPer1kInput: 0, costPer1kOutput: 0,
|
|
100
349
|
capabilities: ["text", "tools"],
|
|
101
350
|
tier: "free",
|
|
102
351
|
},
|
|
103
352
|
"ollama:qwen2.5-coder": {
|
|
104
|
-
provider: "ollama",
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
compactAt: 22_000,
|
|
108
|
-
costPer1kInput: 0,
|
|
109
|
-
costPer1kOutput: 0,
|
|
353
|
+
provider: "ollama", model: "qwen2.5-coder",
|
|
354
|
+
contextWindow: 32_000, compactAt: 22_000,
|
|
355
|
+
costPer1kInput: 0, costPer1kOutput: 0,
|
|
110
356
|
capabilities: ["text", "tools"],
|
|
111
357
|
tier: "free",
|
|
112
358
|
},
|
|
@@ -116,8 +362,8 @@ export const models = {
|
|
|
116
362
|
* Fallback chains - if preferred model fails, try next in chain.
|
|
117
363
|
*/
|
|
118
364
|
export const fallbackChains = {
|
|
119
|
-
cheap: ["openai:gpt-4.1-mini", "anthropic:claude-haiku-4-5", "google:gemini-2.
|
|
120
|
-
standard: ["openai:gpt-4.1", "anthropic:claude-sonnet-4-6", "
|
|
121
|
-
expensive: ["anthropic:claude-opus-4-6", "anthropic:claude-sonnet-4-6", "openai:
|
|
365
|
+
cheap: ["openai:gpt-5-mini", "openai:gpt-4.1-mini", "anthropic:claude-haiku-4-5", "google:gemini-2.5-flash"],
|
|
366
|
+
standard: ["openai:gpt-5.2", "openai:gpt-4.1", "anthropic:claude-sonnet-4-6", "google:gemini-2.5-pro"],
|
|
367
|
+
expensive: ["anthropic:claude-opus-4-6", "openai:gpt-5.4", "anthropic:claude-sonnet-4-6", "openai:o3-pro"],
|
|
122
368
|
local: ["ollama:llama3.1", "ollama:qwen2.5-coder", "ollama:llama3"],
|
|
123
369
|
};
|
|
@@ -58,6 +58,17 @@ export const permissionTiers = {
|
|
|
58
58
|
"pruneMemory",
|
|
59
59
|
// Screen
|
|
60
60
|
"screenCapture",
|
|
61
|
+
"replyWithFile",
|
|
62
|
+
"sendFile",
|
|
63
|
+
// Media
|
|
64
|
+
"transcribeAudio",
|
|
65
|
+
"textToSpeech",
|
|
66
|
+
// Task management & agents
|
|
67
|
+
"taskManager",
|
|
68
|
+
"spawnAgent",
|
|
69
|
+
"parallelAgents",
|
|
70
|
+
"manageAgents",
|
|
71
|
+
"useMCP",
|
|
61
72
|
// Project tracking
|
|
62
73
|
"projectTracker",
|
|
63
74
|
// MCP inspection (read-only - no side effects)
|
|
@@ -92,6 +103,7 @@ export const permissionTiers = {
|
|
|
92
103
|
"writeDailyLog",
|
|
93
104
|
"pruneMemory",
|
|
94
105
|
"screenCapture",
|
|
106
|
+
"replyWithFile",
|
|
95
107
|
// Full-only: communication
|
|
96
108
|
"sendEmail",
|
|
97
109
|
"messageChannel",
|