@travisennis/acai 0.0.11 → 0.0.13
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 +5 -5
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -5
- package/dist/commands/history/types.d.ts +3 -2
- package/dist/commands/history/types.d.ts.map +1 -1
- package/dist/commands/init-project/utils.d.ts +0 -1
- package/dist/commands/init-project/utils.d.ts.map +1 -1
- package/dist/commands/init-project/utils.js +1 -12
- package/dist/commands/manager.d.ts.map +1 -1
- package/dist/commands/manager.js +6 -19
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +4 -1
- package/dist/commands/session/index.d.ts.map +1 -1
- package/dist/commands/session/index.js +6 -0
- package/dist/commands/session/types.d.ts +1 -0
- package/dist/commands/session/types.d.ts.map +1 -1
- package/dist/commands/share/html-renderer.d.ts.map +1 -1
- package/dist/commands/share/html-renderer.js +54 -48
- package/dist/commands/tools/index.d.ts +3 -0
- package/dist/commands/tools/index.d.ts.map +1 -0
- package/dist/commands/tools/index.js +191 -0
- package/dist/commands/tools/templates.d.ts +6 -0
- package/dist/commands/tools/templates.d.ts.map +1 -0
- package/dist/commands/tools/templates.js +97 -0
- package/dist/config/index.d.ts +5 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +42 -6
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -68
- package/dist/models/anthropic-provider.d.ts +1 -1
- package/dist/models/deepseek-provider.d.ts +3 -3
- package/dist/models/deepseek-provider.js +17 -17
- package/dist/models/google-provider.d.ts +2 -4
- package/dist/models/google-provider.d.ts.map +1 -1
- package/dist/models/google-provider.js +2 -17
- package/dist/models/groq-provider.d.ts +2 -4
- package/dist/models/groq-provider.d.ts.map +1 -1
- package/dist/models/groq-provider.js +3 -21
- package/dist/models/manager.d.ts +1 -10
- package/dist/models/manager.d.ts.map +1 -1
- package/dist/models/manager.js +2 -2
- package/dist/models/opencode-go-provider.d.ts +11 -1
- package/dist/models/opencode-go-provider.d.ts.map +1 -1
- package/dist/models/opencode-go-provider.js +130 -0
- package/dist/models/opencode-zen-provider.d.ts +3 -3
- package/dist/models/opencode-zen-provider.d.ts.map +1 -1
- package/dist/models/opencode-zen-provider.js +26 -32
- package/dist/models/openrouter-provider.d.ts +4 -15
- package/dist/models/openrouter-provider.d.ts.map +1 -1
- package/dist/models/openrouter-provider.js +26 -169
- package/dist/models/providers.d.ts +1 -1
- package/dist/models/providers.d.ts.map +1 -1
- package/dist/models/xai-provider.d.ts +1 -2
- package/dist/models/xai-provider.d.ts.map +1 -1
- package/dist/models/xai-provider.js +0 -13
- package/dist/prompts/manager.d.ts.map +1 -1
- package/dist/prompts/manager.js +5 -1
- package/dist/prompts/system-prompt.d.ts +1 -2
- package/dist/prompts/system-prompt.d.ts.map +1 -1
- package/dist/prompts/system-prompt.js +26 -15
- package/dist/repl/index.d.ts +28 -13
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +242 -305
- package/dist/skills/activated-tracker.d.ts +11 -0
- package/dist/skills/activated-tracker.d.ts.map +1 -0
- package/dist/skills/activated-tracker.js +16 -0
- package/dist/skills/index.d.ts +12 -2
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +127 -71
- package/dist/terminal/control.d.ts +1 -21
- package/dist/terminal/control.d.ts.map +1 -1
- package/dist/terminal/control.js +1 -32
- package/dist/terminal/formatting.d.ts +0 -33
- package/dist/terminal/formatting.d.ts.map +1 -1
- package/dist/terminal/formatting.js +0 -91
- package/dist/terminal/highlight/theme.d.ts +0 -37
- package/dist/terminal/highlight/theme.d.ts.map +1 -1
- package/dist/terminal/highlight/theme.js +1 -79
- package/dist/terminal/keys.d.ts +0 -97
- package/dist/terminal/keys.d.ts.map +1 -1
- package/dist/terminal/keys.js +0 -194
- package/dist/terminal/select-prompt.d.ts.map +1 -1
- package/dist/terminal/select-prompt.js +65 -51
- package/dist/terminal/style.d.ts +1 -1
- package/dist/terminal/style.d.ts.map +1 -1
- package/dist/terminal/supports-color.d.ts.map +1 -1
- package/dist/terminal/supports-color.js +38 -20
- package/dist/terminal/supports-hyperlinks.d.ts +3 -0
- package/dist/terminal/supports-hyperlinks.d.ts.map +1 -1
- package/dist/terminal/supports-hyperlinks.js +72 -31
- package/dist/terminal/table/layout-manager.d.ts +0 -20
- package/dist/terminal/table/layout-manager.d.ts.map +1 -1
- package/dist/terminal/table/layout-manager.js +68 -44
- package/dist/terminal/table/utils.d.ts +0 -1
- package/dist/terminal/table/utils.d.ts.map +1 -1
- package/dist/terminal/table/utils.js +2 -4
- package/dist/tools/apply-patch.d.ts +5 -3
- package/dist/tools/apply-patch.d.ts.map +1 -1
- package/dist/tools/apply-patch.js +154 -123
- package/dist/tools/bash.d.ts +4 -4
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +27 -13
- package/dist/tools/dynamic-tool-loader.d.ts +17 -3
- package/dist/tools/dynamic-tool-loader.d.ts.map +1 -1
- package/dist/tools/dynamic-tool-loader.js +360 -81
- package/dist/tools/edit-file.d.ts +2 -2
- package/dist/tools/index.d.ts +27 -151
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +16 -21
- package/dist/tools/read-file.d.ts +8 -8
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +32 -13
- package/dist/tools/save-file.d.ts +4 -4
- package/dist/tools/skill.d.ts +2 -1
- package/dist/tools/skill.d.ts.map +1 -1
- package/dist/tools/skill.js +64 -14
- package/dist/tools/types.d.ts +8 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/web-fetch.d.ts +8 -12
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +86 -44
- package/dist/tools/web-search.d.ts +4 -8
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +41 -33
- package/dist/tui/autocomplete/utils.d.ts +0 -15
- package/dist/tui/autocomplete/utils.d.ts.map +1 -1
- package/dist/tui/autocomplete/utils.js +0 -85
- package/dist/tui/autocomplete.d.ts +1 -1
- package/dist/tui/autocomplete.d.ts.map +1 -1
- package/dist/tui/autocomplete.js +1 -1
- package/dist/tui/components/editor.d.ts +12 -0
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +181 -195
- package/dist/tui/components/footer.d.ts +0 -2
- package/dist/tui/components/footer.d.ts.map +1 -1
- package/dist/tui/components/footer.js +1 -17
- package/dist/tui/components/input.d.ts +4 -0
- package/dist/tui/components/input.d.ts.map +1 -1
- package/dist/tui/components/input.js +33 -31
- package/dist/tui/components/markdown.d.ts +30 -0
- package/dist/tui/components/markdown.d.ts.map +1 -1
- package/dist/tui/components/markdown.js +274 -242
- package/dist/tui/components/modal.d.ts.map +1 -1
- package/dist/tui/components/modal.js +11 -11
- package/dist/tui/components/select-list.d.ts +5 -0
- package/dist/tui/components/select-list.d.ts.map +1 -1
- package/dist/tui/components/select-list.js +69 -98
- package/dist/tui/components/table.d.ts +6 -0
- package/dist/tui/components/table.d.ts.map +1 -1
- package/dist/tui/components/table.js +61 -52
- package/dist/tui/index.d.ts +1 -8
- package/dist/tui/index.d.ts.map +1 -1
- package/dist/tui/index.js +0 -8
- package/dist/tui/tui.d.ts +9 -0
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +78 -48
- package/dist/tui/utils.d.ts +7 -0
- package/dist/tui/utils.d.ts.map +1 -1
- package/dist/tui/utils.js +117 -53
- package/dist/utils/bash.d.ts.map +1 -1
- package/dist/utils/bash.js +121 -104
- package/dist/utils/binary-output.d.ts +32 -0
- package/dist/utils/binary-output.d.ts.map +1 -0
- package/dist/utils/binary-output.js +127 -0
- package/dist/utils/command-protection.d.ts +3 -2
- package/dist/utils/command-protection.d.ts.map +1 -1
- package/dist/utils/command-protection.js +121 -29
- package/dist/utils/filesystem/operations.d.ts +0 -15
- package/dist/utils/filesystem/operations.d.ts.map +1 -1
- package/dist/utils/filesystem/operations.js +1 -38
- package/dist/utils/filesystem/security.d.ts.map +1 -1
- package/dist/utils/filesystem/security.js +22 -15
- package/dist/utils/filetype-detection.d.ts +0 -1
- package/dist/utils/filetype-detection.d.ts.map +1 -1
- package/dist/utils/filetype-detection.js +0 -12
- package/dist/utils/formatting.d.ts +0 -30
- package/dist/utils/formatting.d.ts.map +1 -1
- package/dist/utils/formatting.js +0 -44
- package/dist/utils/git.d.ts +4 -6
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +36 -46
- package/dist/utils/ignore.d.ts +1 -1
- package/dist/utils/ignore.d.ts.map +1 -1
- package/dist/utils/ignore.js +1 -1
- package/dist/utils/parsing.d.ts +1 -1
- package/dist/utils/parsing.d.ts.map +1 -1
- package/dist/utils/process.d.ts.map +1 -1
- package/dist/utils/process.js +77 -79
- package/dist/utils/yaml.d.ts +0 -1
- package/dist/utils/yaml.d.ts.map +1 -1
- package/dist/utils/yaml.js +80 -89
- package/dist/utils/zod.d.ts +0 -3
- package/dist/utils/zod.d.ts.map +1 -1
- package/dist/utils/zod.js +0 -7
- package/package.json +32 -29
- package/dist/agent/sub-agent.d.ts +0 -23
- package/dist/agent/sub-agent.d.ts.map +0 -1
- package/dist/agent/sub-agent.js +0 -109
- package/dist/commands/add-directory/index.d.ts +0 -3
- package/dist/commands/add-directory/index.d.ts.map +0 -1
- package/dist/commands/add-directory/index.js +0 -50
- package/dist/commands/add-directory/utils.d.ts +0 -3
- package/dist/commands/add-directory/utils.d.ts.map +0 -1
- package/dist/commands/add-directory/utils.js +0 -15
- package/dist/commands/clear/index.d.ts +0 -3
- package/dist/commands/clear/index.d.ts.map +0 -1
- package/dist/commands/clear/index.js +0 -13
- package/dist/commands/generate-rules/index.d.ts +0 -3
- package/dist/commands/generate-rules/index.d.ts.map +0 -1
- package/dist/commands/generate-rules/index.js +0 -206
- package/dist/commands/generate-rules/service.d.ts +0 -22
- package/dist/commands/generate-rules/service.d.ts.map +0 -1
- package/dist/commands/generate-rules/service.js +0 -103
- package/dist/commands/generate-rules/utils.d.ts +0 -5
- package/dist/commands/generate-rules/utils.d.ts.map +0 -1
- package/dist/commands/generate-rules/utils.js +0 -25
- package/dist/commands/handoff/index.d.ts +0 -3
- package/dist/commands/handoff/index.d.ts.map +0 -1
- package/dist/commands/handoff/index.js +0 -97
- package/dist/commands/handoff/utils.d.ts +0 -4
- package/dist/commands/handoff/utils.d.ts.map +0 -1
- package/dist/commands/handoff/utils.js +0 -123
- package/dist/commands/list-directories/index.d.ts +0 -3
- package/dist/commands/list-directories/index.d.ts.map +0 -1
- package/dist/commands/list-directories/index.js +0 -35
- package/dist/commands/pickup/index.d.ts +0 -3
- package/dist/commands/pickup/index.d.ts.map +0 -1
- package/dist/commands/pickup/index.js +0 -141
- package/dist/commands/pickup/types.d.ts +0 -6
- package/dist/commands/pickup/types.d.ts.map +0 -1
- package/dist/commands/pickup/types.js +0 -1
- package/dist/commands/pickup/utils.d.ts +0 -7
- package/dist/commands/pickup/utils.d.ts.map +0 -1
- package/dist/commands/pickup/utils.js +0 -56
- package/dist/commands/remove-directory/index.d.ts +0 -3
- package/dist/commands/remove-directory/index.d.ts.map +0 -1
- package/dist/commands/remove-directory/index.js +0 -55
- package/dist/commands/review/index.d.ts +0 -3
- package/dist/commands/review/index.d.ts.map +0 -1
- package/dist/commands/review/index.js +0 -12
- package/dist/commands/review/review-panel.d.ts +0 -3
- package/dist/commands/review/review-panel.d.ts.map +0 -1
- package/dist/commands/review/review-panel.js +0 -186
- package/dist/commands/review/utils.d.ts +0 -18
- package/dist/commands/review/utils.d.ts.map +0 -1
- package/dist/commands/review/utils.js +0 -146
- package/dist/commands/shell/index.d.ts +0 -3
- package/dist/commands/shell/index.d.ts.map +0 -1
- package/dist/commands/shell/index.js +0 -96
- package/dist/modes/manager.d.ts +0 -24
- package/dist/modes/manager.d.ts.map +0 -1
- package/dist/modes/manager.js +0 -77
- package/dist/modes/prompts.d.ts +0 -2
- package/dist/modes/prompts.d.ts.map +0 -1
- package/dist/modes/prompts.js +0 -142
- package/dist/subagents/index.d.ts +0 -16
- package/dist/subagents/index.d.ts.map +0 -1
- package/dist/subagents/index.js +0 -231
- package/dist/terminal/index.d.ts +0 -9
- package/dist/terminal/index.d.ts.map +0 -1
- package/dist/terminal/index.js +0 -8
- package/dist/tools/agent.d.ts +0 -27
- package/dist/tools/agent.d.ts.map +0 -1
- package/dist/tools/agent.js +0 -81
- package/dist/tools/directory-tree.d.ts +0 -28
- package/dist/tools/directory-tree.d.ts.map +0 -1
- package/dist/tools/directory-tree.js +0 -152
- package/dist/tools/glob.d.ts +0 -35
- package/dist/tools/glob.d.ts.map +0 -1
- package/dist/tools/glob.js +0 -159
- package/dist/tools/grep.d.ts +0 -100
- package/dist/tools/grep.d.ts.map +0 -1
- package/dist/tools/grep.js +0 -601
- package/dist/tools/ls.d.ts +0 -26
- package/dist/tools/ls.d.ts.map +0 -1
- package/dist/tools/ls.js +0 -82
- package/dist/tui/components/header.d.ts +0 -21
- package/dist/tui/components/header.d.ts.map +0 -1
- package/dist/tui/components/header.js +0 -63
- package/dist/utils/bash/parse.d.ts +0 -19
- package/dist/utils/bash/parse.d.ts.map +0 -1
- package/dist/utils/bash/parse.js +0 -223
- package/dist/utils/bash/quote.d.ts +0 -6
- package/dist/utils/bash/quote.d.ts.map +0 -1
- package/dist/utils/bash/quote.js +0 -23
- package/dist/utils/generators.d.ts +0 -3
- package/dist/utils/generators.d.ts.map +0 -1
- package/dist/utils/generators.js +0 -25
- package/dist/utils/glob.d.ts +0 -52
- package/dist/utils/glob.d.ts.map +0 -1
- package/dist/utils/glob.js +0 -376
|
@@ -25,31 +25,20 @@ const openResponses = createOpenResponses({
|
|
|
25
25
|
});
|
|
26
26
|
// Models using OpenAI-compatible API
|
|
27
27
|
const openrouterModels = {
|
|
28
|
-
"deepseek-v3-2": openRouterClient("deepseek/deepseek-v3.2"),
|
|
29
|
-
"glm-4-7": openRouterClient("z-ai/glm-4.7"),
|
|
30
|
-
"glm-4-7-flash": openRouterClient("z-ai/glm-4.7-flash"),
|
|
31
|
-
"hunter-alpha": openRouterClient("openrouter/hunter-alpha"),
|
|
32
28
|
"minimax-m2-5": openRouterClient("minimax/minimax-m2.5"),
|
|
33
29
|
"minimax-m2-7": openRouterClient("minimax/minimax-m2.7"),
|
|
34
|
-
"nemotron-3-super-120b-a12b-free": openRouterClient("nvidia/nemotron-3-super-120b-a12b:free"),
|
|
35
30
|
"sonnet-4.5": openRouterClient("anthropic/claude-sonnet-4.5"),
|
|
36
31
|
"opus-4.6": openRouterClient("anthropic/claude-opus-4.6"),
|
|
32
|
+
"owl-alpha": openRouterClient("openrouter/owl-alpha"),
|
|
37
33
|
"haiku-4.5": openRouterClient("anthropic/claude-haiku-4.5"),
|
|
38
34
|
"kimi-k2-5": openRouterClient("moonshotai/kimi-k2.5"),
|
|
39
|
-
"
|
|
40
|
-
"qwen3-max-thinking": openRouterClient("qwen/qwen3-max-thinking"),
|
|
41
|
-
"qwen3-coder-next": openRouterClient("qwen/qwen3-coder-next"),
|
|
35
|
+
"kimi-k2-6": openRouterClient("moonshotai/kimi-k2.6"),
|
|
42
36
|
"glm-5": openRouterClient("z-ai/glm-5"),
|
|
43
|
-
"
|
|
44
|
-
"grok-4-1-fast": openRouterClient("x-ai/grok-4.1-fast"),
|
|
37
|
+
"glm-5-1": openRouterClient("z-ai/glm-5.1"),
|
|
45
38
|
};
|
|
46
39
|
// Models using Open Responses API (GPT models)
|
|
47
40
|
const openResponsesModels = {
|
|
48
41
|
"gpt-oss-120b": openResponses("openai/gpt-oss-120b:exacto"),
|
|
49
|
-
"gpt-5.1-codex-mini": openResponses("openai/gpt-5.1-codex-mini"),
|
|
50
|
-
"gpt-5.1-codex-max": openResponses("openai/gpt-5.1-codex-max"),
|
|
51
|
-
"gpt-5.2": openResponses("openai/gpt-5.2"),
|
|
52
|
-
"gpt-5.2-codex": openResponses("openai/gpt-5.2-codex"),
|
|
53
42
|
"gpt-5-3-codex": openResponses("openai/gpt-5.3-codex"),
|
|
54
43
|
};
|
|
55
44
|
const allModels = { ...openrouterModels, ...openResponsesModels };
|
|
@@ -61,42 +50,6 @@ export const openrouterProvider = {
|
|
|
61
50
|
}),
|
|
62
51
|
};
|
|
63
52
|
export const openrouterModelRegistry = {
|
|
64
|
-
"openrouter:deepseek-v3-2": {
|
|
65
|
-
id: "openrouter:deepseek-v3-2",
|
|
66
|
-
provider: "openrouter",
|
|
67
|
-
contextWindow: 163840,
|
|
68
|
-
maxOutputTokens: 16000,
|
|
69
|
-
defaultTemperature: 1.0,
|
|
70
|
-
promptFormat: "bracket",
|
|
71
|
-
supportsReasoning: true,
|
|
72
|
-
supportsToolCalling: true,
|
|
73
|
-
costPerInputToken: 0.00000027,
|
|
74
|
-
costPerOutputToken: 0.0000004,
|
|
75
|
-
},
|
|
76
|
-
"openrouter:glm-4-7": {
|
|
77
|
-
id: "openrouter:glm-4-7",
|
|
78
|
-
provider: "openrouter",
|
|
79
|
-
contextWindow: 200000,
|
|
80
|
-
maxOutputTokens: 131072,
|
|
81
|
-
defaultTemperature: 0.5,
|
|
82
|
-
promptFormat: "markdown",
|
|
83
|
-
supportsReasoning: true,
|
|
84
|
-
supportsToolCalling: true,
|
|
85
|
-
costPerInputToken: 1.1e-7,
|
|
86
|
-
costPerOutputToken: 0.0000022,
|
|
87
|
-
},
|
|
88
|
-
"openrouter:glm-4-7-flash": {
|
|
89
|
-
id: "openrouter:glm-4-7-flash",
|
|
90
|
-
provider: "openrouter",
|
|
91
|
-
contextWindow: 200000,
|
|
92
|
-
maxOutputTokens: 131072,
|
|
93
|
-
defaultTemperature: 0.5,
|
|
94
|
-
promptFormat: "markdown",
|
|
95
|
-
supportsReasoning: true,
|
|
96
|
-
supportsToolCalling: true,
|
|
97
|
-
costPerInputToken: 7e-8,
|
|
98
|
-
costPerOutputToken: 4e-7,
|
|
99
|
-
},
|
|
100
53
|
"openrouter:minimax-m2-5": {
|
|
101
54
|
id: "openrouter:minimax-m2-5",
|
|
102
55
|
provider: "openrouter",
|
|
@@ -121,18 +74,6 @@ export const openrouterModelRegistry = {
|
|
|
121
74
|
costPerInputToken: 3e-7,
|
|
122
75
|
costPerOutputToken: 0.0000012,
|
|
123
76
|
},
|
|
124
|
-
"openrouter:nemotron-3-super-120b-a12b-free": {
|
|
125
|
-
id: "openrouter:nemotron-3-super-120b-a12b-free",
|
|
126
|
-
provider: "openrouter",
|
|
127
|
-
contextWindow: 262144,
|
|
128
|
-
maxOutputTokens: 16000,
|
|
129
|
-
defaultTemperature: 0.5,
|
|
130
|
-
promptFormat: "markdown",
|
|
131
|
-
supportsReasoning: true,
|
|
132
|
-
supportsToolCalling: true,
|
|
133
|
-
costPerInputToken: 0,
|
|
134
|
-
costPerOutputToken: 0,
|
|
135
|
-
},
|
|
136
77
|
"openrouter:opus-4.6": {
|
|
137
78
|
id: "openrouter:opus-4.6",
|
|
138
79
|
provider: "openrouter",
|
|
@@ -145,6 +86,18 @@ export const openrouterModelRegistry = {
|
|
|
145
86
|
costPerInputToken: 0.000005,
|
|
146
87
|
costPerOutputToken: 0.000025,
|
|
147
88
|
},
|
|
89
|
+
"openrouter:owl-alpha": {
|
|
90
|
+
id: "openrouter:owl-alpha",
|
|
91
|
+
provider: "openrouter",
|
|
92
|
+
contextWindow: 1048756,
|
|
93
|
+
maxOutputTokens: 262144,
|
|
94
|
+
defaultTemperature: 0.5,
|
|
95
|
+
promptFormat: "markdown",
|
|
96
|
+
supportsReasoning: false,
|
|
97
|
+
supportsToolCalling: true,
|
|
98
|
+
costPerInputToken: 0,
|
|
99
|
+
costPerOutputToken: 0,
|
|
100
|
+
},
|
|
148
101
|
"openrouter:sonnet-4.5": {
|
|
149
102
|
id: "openrouter:sonnet-4.5",
|
|
150
103
|
provider: "openrouter",
|
|
@@ -169,29 +122,17 @@ export const openrouterModelRegistry = {
|
|
|
169
122
|
costPerInputToken: 6e-7,
|
|
170
123
|
costPerOutputToken: 0.000003,
|
|
171
124
|
},
|
|
172
|
-
"openrouter:
|
|
173
|
-
id: "openrouter:
|
|
125
|
+
"openrouter:kimi-k2-6": {
|
|
126
|
+
id: "openrouter:kimi-k2-6",
|
|
174
127
|
provider: "openrouter",
|
|
175
128
|
contextWindow: 256000,
|
|
176
|
-
maxOutputTokens: 32768,
|
|
177
|
-
defaultTemperature: 0.55,
|
|
178
|
-
promptFormat: "markdown",
|
|
179
|
-
supportsReasoning: false,
|
|
180
|
-
supportsToolCalling: true,
|
|
181
|
-
costPerInputToken: 0.0000012,
|
|
182
|
-
costPerOutputToken: 0.000006,
|
|
183
|
-
},
|
|
184
|
-
"openrouter:qwen3-max-thinking": {
|
|
185
|
-
id: "openrouter:qwen3-max-thinking",
|
|
186
|
-
provider: "openrouter",
|
|
187
|
-
contextWindow: 262144,
|
|
188
129
|
maxOutputTokens: 65536,
|
|
189
|
-
defaultTemperature: 0
|
|
130
|
+
defaultTemperature: 1.0,
|
|
190
131
|
promptFormat: "markdown",
|
|
191
132
|
supportsReasoning: true,
|
|
192
133
|
supportsToolCalling: true,
|
|
193
|
-
costPerInputToken:
|
|
194
|
-
costPerOutputToken: 0.
|
|
134
|
+
costPerInputToken: 7.448e-7,
|
|
135
|
+
costPerOutputToken: 0.000004655,
|
|
195
136
|
},
|
|
196
137
|
"openrouter:glm-5": {
|
|
197
138
|
id: "openrouter:glm-5",
|
|
@@ -205,53 +146,17 @@ export const openrouterModelRegistry = {
|
|
|
205
146
|
costPerInputToken: 0.000001,
|
|
206
147
|
costPerOutputToken: 0.0000032,
|
|
207
148
|
},
|
|
208
|
-
"openrouter:
|
|
209
|
-
id: "openrouter:
|
|
210
|
-
provider: "openrouter",
|
|
211
|
-
contextWindow: 262144,
|
|
212
|
-
maxOutputTokens: 65536,
|
|
213
|
-
defaultTemperature: -1,
|
|
214
|
-
promptFormat: "markdown",
|
|
215
|
-
supportsReasoning: false,
|
|
216
|
-
supportsToolCalling: true,
|
|
217
|
-
costPerInputToken: 0.00000007,
|
|
218
|
-
costPerOutputToken: 0.0000003,
|
|
219
|
-
},
|
|
220
|
-
"openrouter:gpt-5.1-codex-mini": {
|
|
221
|
-
id: "openrouter:gpt-5.1-codex-mini",
|
|
222
|
-
provider: "openrouter",
|
|
223
|
-
contextWindow: 400000,
|
|
224
|
-
maxOutputTokens: 100000,
|
|
225
|
-
defaultTemperature: -1,
|
|
226
|
-
promptFormat: "xml",
|
|
227
|
-
supportsReasoning: true,
|
|
228
|
-
supportsToolCalling: true,
|
|
229
|
-
costPerInputToken: 0.00000025,
|
|
230
|
-
costPerOutputToken: 0.000002,
|
|
231
|
-
},
|
|
232
|
-
"openrouter:gpt-5.1-codex-max": {
|
|
233
|
-
id: "openrouter:gpt-5.1-codex-max",
|
|
149
|
+
"openrouter:glm-5-1": {
|
|
150
|
+
id: "openrouter:glm-5-1",
|
|
234
151
|
provider: "openrouter",
|
|
235
|
-
contextWindow:
|
|
236
|
-
maxOutputTokens:
|
|
237
|
-
defaultTemperature: -1,
|
|
238
|
-
promptFormat: "xml",
|
|
239
|
-
supportsReasoning: true,
|
|
240
|
-
supportsToolCalling: true,
|
|
241
|
-
costPerInputToken: 0.00000125,
|
|
242
|
-
costPerOutputToken: 0.00001,
|
|
243
|
-
},
|
|
244
|
-
"openrouter:grok-code-fast-1": {
|
|
245
|
-
id: "openrouter:grok-code-fast-1",
|
|
246
|
-
provider: "openrouter",
|
|
247
|
-
contextWindow: 256000,
|
|
248
|
-
maxOutputTokens: 10000,
|
|
152
|
+
contextWindow: 202752,
|
|
153
|
+
maxOutputTokens: 202752,
|
|
249
154
|
defaultTemperature: 0.5,
|
|
250
155
|
promptFormat: "markdown",
|
|
251
156
|
supportsReasoning: true,
|
|
252
157
|
supportsToolCalling: true,
|
|
253
|
-
costPerInputToken: 0.
|
|
254
|
-
costPerOutputToken: 0.
|
|
158
|
+
costPerInputToken: 0.0000014,
|
|
159
|
+
costPerOutputToken: 0.0000044,
|
|
255
160
|
},
|
|
256
161
|
"openrouter:gpt-oss-120b": {
|
|
257
162
|
id: "openrouter:gpt-oss-120b",
|
|
@@ -265,18 +170,6 @@ export const openrouterModelRegistry = {
|
|
|
265
170
|
costPerInputToken: 0.00000007256312,
|
|
266
171
|
costPerOutputToken: 0.0000002903936,
|
|
267
172
|
},
|
|
268
|
-
"openrouter:grok-4-1-fast": {
|
|
269
|
-
id: "openrouter:grok-4-1-fast",
|
|
270
|
-
provider: "openrouter",
|
|
271
|
-
contextWindow: 2000000,
|
|
272
|
-
maxOutputTokens: 30000,
|
|
273
|
-
defaultTemperature: 0.5,
|
|
274
|
-
promptFormat: "markdown",
|
|
275
|
-
supportsReasoning: true,
|
|
276
|
-
supportsToolCalling: true,
|
|
277
|
-
costPerInputToken: 0.0000002,
|
|
278
|
-
costPerOutputToken: 0.0000005,
|
|
279
|
-
},
|
|
280
173
|
"openrouter:haiku-4.5": {
|
|
281
174
|
id: "openrouter:haiku-4.5",
|
|
282
175
|
provider: "openrouter",
|
|
@@ -289,42 +182,6 @@ export const openrouterModelRegistry = {
|
|
|
289
182
|
costPerInputToken: 0.000001,
|
|
290
183
|
costPerOutputToken: 0.000005,
|
|
291
184
|
},
|
|
292
|
-
"openrouter:hunter-alpha": {
|
|
293
|
-
id: "openrouter:hunter-alpha",
|
|
294
|
-
provider: "openrouter",
|
|
295
|
-
contextWindow: 1048576,
|
|
296
|
-
maxOutputTokens: 65536,
|
|
297
|
-
defaultTemperature: 0.5,
|
|
298
|
-
promptFormat: "markdown",
|
|
299
|
-
supportsReasoning: true,
|
|
300
|
-
supportsToolCalling: true,
|
|
301
|
-
costPerInputToken: 0,
|
|
302
|
-
costPerOutputToken: 0,
|
|
303
|
-
},
|
|
304
|
-
"openrouter:gpt-5.2": {
|
|
305
|
-
id: "openrouter:gpt-5.2",
|
|
306
|
-
provider: "openrouter",
|
|
307
|
-
contextWindow: 400000,
|
|
308
|
-
maxOutputTokens: 128000,
|
|
309
|
-
defaultTemperature: 1.0,
|
|
310
|
-
promptFormat: "xml",
|
|
311
|
-
supportsReasoning: true,
|
|
312
|
-
supportsToolCalling: true,
|
|
313
|
-
costPerInputToken: 0.00000175,
|
|
314
|
-
costPerOutputToken: 0.000014,
|
|
315
|
-
},
|
|
316
|
-
"openrouter:gpt-5.2-codex": {
|
|
317
|
-
id: "openrouter:gpt-5.2-codex",
|
|
318
|
-
provider: "openrouter",
|
|
319
|
-
contextWindow: 400000,
|
|
320
|
-
maxOutputTokens: 128000,
|
|
321
|
-
defaultTemperature: -1,
|
|
322
|
-
promptFormat: "xml",
|
|
323
|
-
supportsReasoning: true,
|
|
324
|
-
supportsToolCalling: true,
|
|
325
|
-
costPerInputToken: 0.00000175,
|
|
326
|
-
costPerOutputToken: 0.000014,
|
|
327
|
-
},
|
|
328
185
|
"openrouter:gpt-5-3-codex": {
|
|
329
186
|
id: "openrouter:gpt-5-3-codex",
|
|
330
187
|
provider: "openrouter",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const providers: readonly ["anthropic", "openai", "google", "groq", "deepseek", "openrouter", "xai", "opencode", "opencode-go"];
|
|
2
2
|
type ModelProvider = (typeof providers)[number];
|
|
3
|
-
export declare const models: readonly ("anthropic:
|
|
3
|
+
export declare const models: readonly ("anthropic:haiku" | "anthropic:opus" | "anthropic:sonnet" | "deepseek:deepseek-v4-flash" | "deepseek:deepseek-v4-pro" | "openai:gpt-5.1-codex-mini" | "openai:gpt-5.2" | "openai:gpt-5.2-codex" | "opencode-go:deepseek-v4-flash" | "opencode-go:deepseek-v4-pro" | "opencode-go:glm-5" | "opencode-go:minimax-m3" | "opencode-go:qwen3.6-plus" | "opencode-go:qwen3.7-plus" | "opencode-go:qwen3.7-max" | "opencode-go:glm-5-1" | "opencode-go:kimi-k2-5" | "opencode-go:kimi-k2-6" | "opencode-go:minimax-m2-5" | "opencode-go:minimax-m2-7" | "opencode-go:mimo-v2-5" | "opencode-go:mimo-v2-5-pro" | "opencode:glm-5" | "opencode:minimax-m2.5" | "opencode:minimax-m2.7" | "opencode:glm-5-1" | "opencode:kimi-k2-5" | "opencode:kimi-k2-6" | "opencode:opus-4-6" | "openrouter:glm-5" | "openrouter:glm-5-1" | "openrouter:kimi-k2-5" | "openrouter:kimi-k2-6" | "openrouter:minimax-m2-5" | "openrouter:minimax-m2-7" | "openrouter:gpt-oss-120b" | "openrouter:gpt-5-3-codex" | "openrouter:sonnet-4.5" | "openrouter:opus-4.6" | "openrouter:owl-alpha" | "openrouter:haiku-4.5" | "xai:grok-4-1-fast")[];
|
|
4
4
|
export type ModelName = (typeof models)[number] | (`xai:${string}` & {}) | (`openai:${string}` & {}) | (`anthropic:${string}` & {}) | (`google:${string}` & {}) | (`groq:${string}` & {}) | (`deepseek:${string}` & {}) | (`openrouter:${string}` & {}) | (`opencode-go:${string}` & {}) | (`opencode:${string}` & {});
|
|
5
5
|
export declare function isSupportedModel(model: unknown): model is ModelName;
|
|
6
6
|
export declare function languageModel(model: ModelName): import("@ai-sdk/provider").LanguageModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../source/models/providers.ts"],"names":[],"mappings":"AAgDA,QAAA,MAAM,SAAS,gHAUL,CAAC;AAEX,KAAK,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAchD,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../source/models/providers.ts"],"names":[],"mappings":"AAgDA,QAAA,MAAM,SAAS,gHAUL,CAAC;AAEX,KAAK,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAchD,eAAO,MAAM,MAAM,8jCAUT,CAAC;AAEX,MAAM,MAAM,SAAS,GACjB,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,GACvB,CAAC,OAAO,MAAM,EAAE,GAAG,EAAE,CAAC,GACtB,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,CAAC,GACzB,CAAC,aAAa,MAAM,EAAE,GAAG,EAAE,CAAC,GAC5B,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,CAAC,GACzB,CAAC,QAAQ,MAAM,EAAE,GAAG,EAAE,CAAC,GACvB,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,GAC3B,CAAC,cAAc,MAAM,EAAE,GAAG,EAAE,CAAC,GAC7B,CAAC,eAAe,MAAM,EAAE,GAAG,EAAE,CAAC,GAC9B,CAAC,YAAY,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAEhC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAcnE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,8CAE7C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,SAAS;IAC1C,EAAE,EAAE,CAAC,CAAC;IACN,QAAQ,EAAE,aAAa,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;CAC9C;AAGD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAU1D,CAAC;AAGF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,IAAI,SAAS,CAEtE"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { ModelMetadata } from "./providers.ts";
|
|
2
2
|
declare const xaiModels: {
|
|
3
3
|
readonly "grok-4-1-fast": import("@ai-sdk/provider").LanguageModelV3;
|
|
4
|
-
readonly "grok-code-fast-1": import("@ai-sdk/provider").LanguageModelV3;
|
|
5
4
|
};
|
|
6
5
|
type ModelName = `xai:${keyof typeof xaiModels}`;
|
|
7
6
|
export declare const xaiModelNames: ModelName[];
|
|
8
7
|
export declare const xaiProvider: {
|
|
9
8
|
xai: import("@ai-sdk/provider").ProviderV3 & {
|
|
10
|
-
languageModel(modelId: "grok-
|
|
9
|
+
languageModel(modelId: "grok-4-1-fast"): import("@ai-sdk/provider").LanguageModelV3;
|
|
11
10
|
embeddingModel(modelId: string): import("@ai-sdk/provider").EmbeddingModelV3;
|
|
12
11
|
imageModel(modelId: string): import("@ai-sdk/provider").ImageModelV3;
|
|
13
12
|
transcriptionModel(modelId: string): import("@ai-sdk/provider").TranscriptionModelV3;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xai-provider.d.ts","sourceRoot":"","sources":["../../source/models/xai-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,QAAA,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"xai-provider.d.ts","sourceRoot":"","sources":["../../source/models/xai-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAQpD,QAAA,MAAM,SAAS;;CAEL,CAAC;AAEX,KAAK,SAAS,GAAG,OAAO,MAAM,OAAO,SAAS,EAAE,CAAC;AAEjD,eAAO,MAAM,aAAa,EAAE,SAAS,EAEpC,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;;;;CAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE;KAC5B,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;CAc3C,CAAC"}
|
|
@@ -8,7 +8,6 @@ const xaiClient = createOpenAI({
|
|
|
8
8
|
});
|
|
9
9
|
const xaiModels = {
|
|
10
10
|
"grok-4-1-fast": xaiClient("grok-4.1-fast"),
|
|
11
|
-
"grok-code-fast-1": xaiClient("grok-code-fast-1"),
|
|
12
11
|
};
|
|
13
12
|
export const xaiModelNames = objectKeys(xaiModels).map((key) => `xai:${key}`);
|
|
14
13
|
export const xaiProvider = {
|
|
@@ -30,16 +29,4 @@ export const xaiModelRegistry = {
|
|
|
30
29
|
costPerInputToken: 0.0000002,
|
|
31
30
|
costPerOutputToken: 0.0000005,
|
|
32
31
|
},
|
|
33
|
-
"xai:grok-code-fast-1": {
|
|
34
|
-
id: "xai:grok-code-fast-1",
|
|
35
|
-
provider: "xai",
|
|
36
|
-
contextWindow: 256000,
|
|
37
|
-
maxOutputTokens: 10000,
|
|
38
|
-
defaultTemperature: -1,
|
|
39
|
-
promptFormat: "markdown",
|
|
40
|
-
supportsReasoning: true,
|
|
41
|
-
supportsToolCalling: true,
|
|
42
|
-
costPerInputToken: 0.0000002,
|
|
43
|
-
costPerOutputToken: 0.0000015,
|
|
44
|
-
},
|
|
45
32
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../source/prompts/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACrD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,cAAc,IAAI,gBAAgB,CAAC;IACnC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,UAAU,IAAI,OAAO,CAAC;IACtB,YAAY,IAAI,IAAI,CAAC;IACrB,QAAQ,IAAI,IAAI,CAAC;IACjB,oBAAoB,IAAI,MAAM,CAAC;CAChC;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,YAAY;IAMtC,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,GAAG;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../source/prompts/manager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAY,gBAAgB,EAAE,MAAM,IAAI,CAAC;AACrD,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG,sBAAsB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,IAAI,MAAM,CAAC;IACd,cAAc,IAAI,gBAAgB,CAAC;IACnC,SAAS,IAAI,OAAO,CAAC;IACrB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACpC,UAAU,IAAI,OAAO,CAAC;IACtB,YAAY,IAAI,IAAI,CAAC;IACrB,QAAQ,IAAI,IAAI,CAAC;IACjB,oBAAoB,IAAI,MAAM,CAAC;CAChC;AAED,qBAAa,aAAc,YAAW,gBAAgB;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,EAAE,YAAY;IAMtC,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,GAAG;IAWH,cAAc,IAAI,gBAAgB;IAqBlC,OAAO,CAAC,8BAA8B;IAoBtC,SAAS;IAIT,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAInC,UAAU;IAIV,YAAY;IAIZ,QAAQ;IAKR,oBAAoB,IAAI,MAAM;CAY/B"}
|
package/dist/prompts/manager.js
CHANGED
|
@@ -17,11 +17,15 @@ export class PromptManager {
|
|
|
17
17
|
if (isString(prompt) && prompt.trim().length > 0) {
|
|
18
18
|
return prompt;
|
|
19
19
|
}
|
|
20
|
+
if (this.hasContext()) {
|
|
21
|
+
return prompt ?? "";
|
|
22
|
+
}
|
|
20
23
|
throw new Error("No prompt available.");
|
|
21
24
|
}
|
|
22
25
|
getUserMessage() {
|
|
23
26
|
const currentPrompt = this.prompt;
|
|
24
|
-
|
|
27
|
+
const hasPrompt = isString(currentPrompt) && currentPrompt.trim().length > 0;
|
|
28
|
+
if (hasPrompt || this.hasContext()) {
|
|
25
29
|
let userMessage;
|
|
26
30
|
if (this.hasContext()) {
|
|
27
31
|
// Pass context items and the prompt string to createUserMessage
|
|
@@ -2,12 +2,11 @@ import type { CompleteToolNames } from "../tools/index.ts";
|
|
|
2
2
|
type SystemPromptComponents = {
|
|
3
3
|
core: string;
|
|
4
4
|
userAgentsMd: string;
|
|
5
|
+
configAgentsMd: string;
|
|
5
6
|
cwdAgentsMd: string;
|
|
6
7
|
learnedRules: string;
|
|
7
8
|
skills: string;
|
|
8
|
-
subagents: string;
|
|
9
9
|
};
|
|
10
|
-
export declare function environmentInfo(currentWorkingDir: string, allowedDirs: string[], logsPath?: string): Promise<string>;
|
|
11
10
|
type SystemPromptOptions = {
|
|
12
11
|
currentWorkingDir?: string;
|
|
13
12
|
allowedDirs?: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../source/prompts/system-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../source/prompts/system-prompt.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI3D,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAkFF,KAAK,mBAAmB,GAAG;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,sBAAsB,CAAC;CACpC,CAAC;AAKF,wBAAsB,YAAY,CAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA8K7B"}
|
|
@@ -1,29 +1,33 @@
|
|
|
1
1
|
import { platform } from "node:os";
|
|
2
|
-
import { config } from "../config/index.js";
|
|
2
|
+
import { config, parseSkillsPath } from "../config/index.js";
|
|
3
3
|
import { formatSkillsForPrompt, loadSkills } from "../skills/index.js";
|
|
4
|
-
import {
|
|
5
|
-
import { getShell } from "../terminal/index.js";
|
|
4
|
+
import { getShell } from "../terminal/control.js";
|
|
6
5
|
import { dedent } from "../utils/dedent.js";
|
|
7
6
|
import { getCurrentBranch, inGitDirectory } from "../utils/git.js";
|
|
8
7
|
async function getProjectContext() {
|
|
9
8
|
const agentsFiles = await config.readAgentsFiles();
|
|
10
9
|
const userAgentsFile = agentsFiles.find((f) => f.path === "~/.acai/AGENTS.md");
|
|
10
|
+
const configAgentsFile = agentsFiles.find((f) => f.path === "~/.config/AGENTS.md");
|
|
11
11
|
const cwdAgentsFile = agentsFiles.find((f) => f.path === "./AGENTS.md");
|
|
12
12
|
const userRules = (userAgentsFile?.content ?? "").trim();
|
|
13
|
+
const configRules = (configAgentsFile?.content ?? "").trim();
|
|
13
14
|
const cwdRules = (cwdAgentsFile?.content ?? "").trim();
|
|
14
15
|
const learnedRules = (await config.readLearnedRulesFile()).trim();
|
|
15
16
|
let result = "";
|
|
16
|
-
if (userRules || cwdRules) {
|
|
17
|
+
if (userRules || configRules || cwdRules) {
|
|
17
18
|
result += "## Project Context:\n\n";
|
|
18
19
|
if (userRules) {
|
|
19
20
|
result += `### ~/.acai/AGENTS.md\n\n<instructions>\n${userRules}\n</instructions>\n\n`;
|
|
20
21
|
}
|
|
22
|
+
if (configRules) {
|
|
23
|
+
result += `### ~/.config/AGENTS.md\n\n<instructions>\n${configRules}\n</instructions>\n\n`;
|
|
24
|
+
}
|
|
21
25
|
if (cwdRules) {
|
|
22
26
|
result += `### ./AGENTS.md\n\n<instructions>\n${cwdRules}\n</instructions>\n\n`;
|
|
23
27
|
}
|
|
24
28
|
}
|
|
25
29
|
if (learnedRules) {
|
|
26
|
-
if (!userRules && !cwdRules) {
|
|
30
|
+
if (!userRules && !configRules && !cwdRules) {
|
|
27
31
|
result += "## Project Rules:\n\n";
|
|
28
32
|
}
|
|
29
33
|
result += `### Important rules to follow\n\n${learnedRules}`;
|
|
@@ -31,11 +35,12 @@ async function getProjectContext() {
|
|
|
31
35
|
return {
|
|
32
36
|
text: result.trim(),
|
|
33
37
|
userAgentsMd: userRules,
|
|
38
|
+
configAgentsMd: configRules,
|
|
34
39
|
cwdAgentsMd: cwdRules,
|
|
35
40
|
learnedRules: learnedRules,
|
|
36
41
|
};
|
|
37
42
|
}
|
|
38
|
-
|
|
43
|
+
async function environmentInfo(currentWorkingDir, allowedDirs, logsPath) {
|
|
39
44
|
const gitDirectory = await inGitDirectory();
|
|
40
45
|
let gitSection = `- **Is directory a git repo**: ${gitDirectory ? "Yes" : "No"}`;
|
|
41
46
|
if (gitDirectory) {
|
|
@@ -70,16 +75,22 @@ export async function systemPrompt(options) {
|
|
|
70
75
|
const { currentWorkingDir = DEFAULT_WORKING_DIRS, allowedDirs = DEFAULT_ALLOWED_DIR, logsPath, includeRules = true, skillsEnabled = true, minimalPrompt = true, } = options ?? {};
|
|
71
76
|
const projectContextResult = includeRules
|
|
72
77
|
? await getProjectContext()
|
|
73
|
-
: {
|
|
78
|
+
: {
|
|
79
|
+
text: "",
|
|
80
|
+
userAgentsMd: "",
|
|
81
|
+
configAgentsMd: "",
|
|
82
|
+
cwdAgentsMd: "",
|
|
83
|
+
learnedRules: "",
|
|
84
|
+
};
|
|
74
85
|
const projectContextText = projectContextResult.text;
|
|
75
86
|
const environmentInfoText = await environmentInfo(currentWorkingDir, allowedDirs, logsPath);
|
|
76
87
|
let skillsText = "";
|
|
77
88
|
if (skillsEnabled) {
|
|
78
|
-
const
|
|
89
|
+
const appConfig = await config.getConfig();
|
|
90
|
+
const skillPaths = parseSkillsPath(appConfig.skills.path);
|
|
91
|
+
const skills = await loadSkills(skillPaths);
|
|
79
92
|
skillsText = formatSkillsForPrompt(skills.getModelInvocable());
|
|
80
93
|
}
|
|
81
|
-
const subagents = await loadSubagents();
|
|
82
|
-
const subagentsText = formatSubagentsForPrompt(subagents);
|
|
83
94
|
const corePrompt = minimalPrompt
|
|
84
95
|
? "You are acai. You are running as a coding agent in a CLI on the user's computer."
|
|
85
96
|
: dedent `
|
|
@@ -165,9 +176,9 @@ You are producing plain text that will later be styled by the CLI. Follow these
|
|
|
165
176
|
</tool_calling>
|
|
166
177
|
|
|
167
178
|
<context_understanding>
|
|
168
|
-
|
|
179
|
+
Use Bash to run \`rg\` (ripgrep) and \`find\` for code exploration.
|
|
169
180
|
- CRITICAL: Start with a broad set of queries that capture keywords based on the USER's request and provided context.
|
|
170
|
-
- MANDATORY: Run multiple
|
|
181
|
+
- MANDATORY: Run multiple searches in parallel with different patterns and variations; exact matches often miss related code.
|
|
171
182
|
- Keep searching new areas until you're CONFIDENT nothing important remains.
|
|
172
183
|
- When you have found some relevant code, narrow your search and read the most likely important files.
|
|
173
184
|
If you've performed an edit that may partially fulfill the USER's query, but you're not confident, gather more information or use more tools before ending your turn.
|
|
@@ -182,7 +193,7 @@ When gathering information about a topic, plan your searches upfront in your thi
|
|
|
182
193
|
- Searching for different patterns (imports, usage, definitions) should happen in parallel
|
|
183
194
|
- Multiple grep searches with different regex patterns should run simultaneously
|
|
184
195
|
- Reading multiple files or searching different directories can be done all at once
|
|
185
|
-
- Combining
|
|
196
|
+
- Combining \`find\` with \`rg\` for comprehensive results
|
|
186
197
|
- Any information gathering where you know upfront what you're looking for
|
|
187
198
|
|
|
188
199
|
And you should use parallel tool calls in many more cases beyond those listed above.
|
|
@@ -210,12 +221,12 @@ DEFAULT TO PARALLEL: Unless you have a specific reason why operations MUST be se
|
|
|
210
221
|
const components = {
|
|
211
222
|
core: `${corePrompt}\n\n${environmentInfoText}`,
|
|
212
223
|
userAgentsMd: projectContextResult.userAgentsMd,
|
|
224
|
+
configAgentsMd: projectContextResult.configAgentsMd,
|
|
213
225
|
cwdAgentsMd: projectContextResult.cwdAgentsMd,
|
|
214
226
|
learnedRules: projectContextResult.learnedRules,
|
|
215
227
|
skills: skillsText,
|
|
216
|
-
subagents: subagentsText,
|
|
217
228
|
};
|
|
218
|
-
const assembledPrompt = `${corePrompt}\n${projectContextText}\n\n${environmentInfoText}${skillsText}
|
|
229
|
+
const assembledPrompt = `${corePrompt}\n${projectContextText}\n\n${environmentInfoText}${skillsText}`;
|
|
219
230
|
const result = { prompt: assembledPrompt, components };
|
|
220
231
|
return result;
|
|
221
232
|
}
|
package/dist/repl/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { ConfigManager } from "../config/index.ts";
|
|
|
4
4
|
import type { WorkspaceContext } from "../index.ts";
|
|
5
5
|
import type { ModelManager } from "../models/manager.ts";
|
|
6
6
|
import type { PromptManager } from "../prompts/manager.ts";
|
|
7
|
-
import {
|
|
7
|
+
import type { SessionManager } from "../sessions/manager.ts";
|
|
8
8
|
import type { TokenCounter } from "../tokens/counter.ts";
|
|
9
9
|
import type { TokenTracker } from "../tokens/tracker.ts";
|
|
10
10
|
import type { CompleteToolSet } from "../tools/index.ts";
|
|
@@ -68,8 +68,6 @@ export declare class Repl {
|
|
|
68
68
|
private allThinkingBlocks;
|
|
69
69
|
private allToolExecutions;
|
|
70
70
|
private verboseMode;
|
|
71
|
-
private modeManager;
|
|
72
|
-
private config;
|
|
73
71
|
/** Creates a new Repl instance, initializing the TUI layout and components. */
|
|
74
72
|
constructor(options: ReplOptions);
|
|
75
73
|
/**
|
|
@@ -83,6 +81,16 @@ export declare class Repl {
|
|
|
83
81
|
* and agent lifecycle transitions (start, stop, error).
|
|
84
82
|
*/
|
|
85
83
|
handle(event: AgentEvent, state: AgentState): Promise<void>;
|
|
84
|
+
private handleAgentStart;
|
|
85
|
+
private handleMessageStart;
|
|
86
|
+
private handleMessage;
|
|
87
|
+
private handleMessageEnd;
|
|
88
|
+
private handleToolCallLifecycle;
|
|
89
|
+
private handleAgentStop;
|
|
90
|
+
private handleAgentError;
|
|
91
|
+
private handleThinkingStart;
|
|
92
|
+
private handleThinking;
|
|
93
|
+
private handleThinkingEnd;
|
|
86
94
|
/** Adds a user message component to the chat container. */
|
|
87
95
|
private addMessageToChat;
|
|
88
96
|
/**
|
|
@@ -113,6 +121,23 @@ export declare class Repl {
|
|
|
113
121
|
* responses, and tool executions.
|
|
114
122
|
*/
|
|
115
123
|
private reconstructSession;
|
|
124
|
+
/**
|
|
125
|
+
* Collects all tool results from tool-role messages into a map
|
|
126
|
+
* keyed by tool call ID.
|
|
127
|
+
*/
|
|
128
|
+
private collectToolResults;
|
|
129
|
+
/**
|
|
130
|
+
* Extracts the output value string from a tool result's output field.
|
|
131
|
+
*/
|
|
132
|
+
private extractToolOutputValue;
|
|
133
|
+
/**
|
|
134
|
+
* Renders a user message into the chat container.
|
|
135
|
+
*/
|
|
136
|
+
private renderUserMessageFromSession;
|
|
137
|
+
/**
|
|
138
|
+
* Renders tool call execution components for an assistant message.
|
|
139
|
+
*/
|
|
140
|
+
private renderToolCallsForAssistantMessage;
|
|
116
141
|
/**
|
|
117
142
|
* Extracts the text content from a user message,
|
|
118
143
|
* handling both string and array content formats.
|
|
@@ -159,16 +184,6 @@ export declare class Repl {
|
|
|
159
184
|
* and the TUI. Optionally triggers the exit callback.
|
|
160
185
|
*/
|
|
161
186
|
stop(showExitMessage?: boolean): void;
|
|
162
|
-
/**
|
|
163
|
-
* Generates rules automatically if autoGenerateRules is enabled
|
|
164
|
-
* and the session has messages.
|
|
165
|
-
*/
|
|
166
|
-
private maybeGenerateRules;
|
|
167
|
-
/**
|
|
168
|
-
* Triggers rule generation for use before exit.
|
|
169
|
-
* Returns a promise that resolves when rules are generated.
|
|
170
|
-
*/
|
|
171
|
-
triggerRuleGeneration(): Promise<void>;
|
|
172
187
|
}
|
|
173
188
|
export {};
|
|
174
189
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/repl/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/repl/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/repl/index.ts"],"names":[],"mappings":"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"}
|