@quatcode/agent 0.1.2 → 0.2.1
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 +21 -0
- package/README.md +57 -0
- package/dist/args.d.ts +13 -1
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +25 -5
- package/dist/args.js.map +1 -1
- package/dist/cli.js +161 -98
- package/dist/cli.js.map +1 -1
- package/dist/clipboard.d.ts +5 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/clipboard.js +82 -0
- package/dist/clipboard.js.map +1 -0
- package/dist/gate.d.ts.map +1 -1
- package/dist/gate.js +1 -7
- package/dist/gate.js.map +1 -1
- package/dist/input.d.ts +61 -0
- package/dist/input.d.ts.map +1 -0
- package/dist/input.js +304 -0
- package/dist/input.js.map +1 -0
- package/dist/keyboard.d.ts +68 -0
- package/dist/keyboard.d.ts.map +1 -0
- package/dist/keyboard.js +390 -0
- package/dist/keyboard.js.map +1 -0
- package/dist/logo.d.ts +16 -0
- package/dist/logo.d.ts.map +1 -0
- package/dist/logo.js +131 -0
- package/dist/logo.js.map +1 -0
- package/dist/markdown.d.ts +14 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/markdown.js +244 -0
- package/dist/markdown.js.map +1 -0
- package/dist/mcp.d.ts +19 -0
- package/dist/mcp.d.ts.map +1 -0
- package/dist/mcp.js +206 -0
- package/dist/mcp.js.map +1 -0
- package/dist/models.d.ts +44 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +310 -0
- package/dist/models.js.map +1 -0
- package/dist/picker.d.ts +40 -0
- package/dist/picker.d.ts.map +1 -0
- package/dist/picker.js +171 -0
- package/dist/picker.js.map +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +3 -1
- package/dist/render.js.map +1 -1
- package/dist/screen.d.ts +30 -0
- package/dist/screen.d.ts.map +1 -0
- package/dist/screen.js +123 -0
- package/dist/screen.js.map +1 -0
- package/dist/skills.d.ts +21 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +173 -0
- package/dist/skills.js.map +1 -0
- package/dist/store.d.ts +41 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +192 -1
- package/dist/store.js.map +1 -1
- package/dist/theme.d.ts +86 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +315 -0
- package/dist/theme.js.map +1 -0
- package/dist/tui.d.ts +22 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +2709 -0
- package/dist/tui.js.map +1 -0
- package/dist/turn.d.ts +45 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +198 -0
- package/dist/turn.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +13 -0
- package/dist/version.js.map +1 -0
- package/package.json +22 -6
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 quatcode
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# @quatcode/agent
|
|
2
|
+
|
|
3
|
+
QUATCODE AGENT — a terminal-first, AI-native development environment.
|
|
4
|
+
|
|
5
|
+
The agent reads your project, runs tools (files, shell, git, browser, MCP
|
|
6
|
+
servers), streams answers to the terminal, and asks for permission before it
|
|
7
|
+
changes anything.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @quatcode/agent
|
|
13
|
+
|
|
14
|
+
# pick one provider
|
|
15
|
+
export ANTHROPIC_API_KEY=sk-... # Anthropic Claude
|
|
16
|
+
export GEMINI_API_KEY=AIza... # Google Gemini (free tier)
|
|
17
|
+
export OPENAI_API_KEY=sk-... # OpenAI or any compatible service
|
|
18
|
+
|
|
19
|
+
quatcode
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
No key is required to start: on first launch the CLI asks you to pick a model
|
|
23
|
+
and requests the key when you send your first message.
|
|
24
|
+
|
|
25
|
+
## Usage
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
quatcode # interactive terminal interface
|
|
29
|
+
quatcode "summarize the project" # start with a task
|
|
30
|
+
quatcode -p "summarize the project" # headless: print the result and exit
|
|
31
|
+
quatcode -y "add a hello() to src/utils.ts" # skip permission prompts
|
|
32
|
+
quatcode history # recent sessions
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Interactive commands: `/help /new /model /effort /key /dir /context /usage
|
|
36
|
+
/sessions /timeline /undo /verbose /theme /skills /mcp /clear /exit`.
|
|
37
|
+
|
|
38
|
+
- `/model` — pick a model; if it supports reasoning effort, the effort picker
|
|
39
|
+
opens right after (also `/effort low|medium|high`, `--effort <level>`).
|
|
40
|
+
- `/sessions` — resume recent conversations from the current directory;
|
|
41
|
+
`ctrl+r` renames, `ctrl+p` pins, `ctrl+d` deletes.
|
|
42
|
+
- `/timeline` — jump to any message you sent in a long session.
|
|
43
|
+
- `/skills` — manage reusable instruction files (`~/.quatcode/skills`).
|
|
44
|
+
- `/mcp` — connect Model Context Protocol servers:
|
|
45
|
+
`/mcp add https://host/mcp` or `/mcp add filesystem npx -y @modelcontextprotocol/server-filesystem .`
|
|
46
|
+
|
|
47
|
+
Two modes: `BUILD` (default, can edit) and `PLAN` (read-only, `Tab` toggles).
|
|
48
|
+
|
|
49
|
+
## Configuration
|
|
50
|
+
|
|
51
|
+
`~/.quatcode/config.json` stores the selected provider/model/effort, keys and
|
|
52
|
+
MCP servers. A `.env` file in the current directory is also read.
|
|
53
|
+
|
|
54
|
+
## Links
|
|
55
|
+
|
|
56
|
+
- repository: <https://gitlab.com/quatcode/quatcode>
|
|
57
|
+
- license: MIT
|
package/dist/args.d.ts
CHANGED
|
@@ -2,16 +2,28 @@ export type CliArgs = {
|
|
|
2
2
|
task: string;
|
|
3
3
|
dir: string;
|
|
4
4
|
model?: string;
|
|
5
|
+
effort?: string;
|
|
5
6
|
system?: string;
|
|
6
7
|
maxSteps: number;
|
|
7
8
|
allowAll: boolean;
|
|
8
9
|
context: boolean;
|
|
10
|
+
print: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type TuiFlags = {
|
|
13
|
+
dir?: string;
|
|
14
|
+
model?: string;
|
|
15
|
+
effort?: string;
|
|
16
|
+
system?: string;
|
|
17
|
+
maxSteps?: number;
|
|
18
|
+
allowAll?: boolean;
|
|
19
|
+
context?: boolean;
|
|
9
20
|
};
|
|
10
21
|
export type CliCommand = {
|
|
11
22
|
kind: "run";
|
|
12
23
|
args: CliArgs;
|
|
13
24
|
} | {
|
|
14
|
-
kind: "
|
|
25
|
+
kind: "tui";
|
|
26
|
+
flags?: TuiFlags;
|
|
15
27
|
} | {
|
|
16
28
|
kind: "history";
|
|
17
29
|
limit: number;
|
package/dist/args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAExB,MAAM,MAAM,QAAQ,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAWlD"}
|
package/dist/args.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export function parseArgs(argv) {
|
|
2
2
|
if (argv.length === 0) {
|
|
3
|
-
return { ok: true, command: { kind: "
|
|
3
|
+
return { ok: true, command: { kind: "tui" } };
|
|
4
4
|
}
|
|
5
|
-
if (argv[0] === "
|
|
6
|
-
return { ok: true, command: { kind: "
|
|
5
|
+
if (argv[0] === "tui") {
|
|
6
|
+
return { ok: true, command: { kind: "tui" } };
|
|
7
7
|
}
|
|
8
8
|
if (argv[0] === "history") {
|
|
9
9
|
return parseHistory(argv.slice(1));
|
|
@@ -52,10 +52,12 @@ function parseHistory(argv) {
|
|
|
52
52
|
function parseRun(argv) {
|
|
53
53
|
let dir = process.cwd();
|
|
54
54
|
let model;
|
|
55
|
+
let effort;
|
|
55
56
|
let system;
|
|
56
57
|
let maxSteps = 20;
|
|
57
58
|
let allowAll = false;
|
|
58
59
|
let context = true;
|
|
60
|
+
let print = false;
|
|
59
61
|
let help = false;
|
|
60
62
|
let version = false;
|
|
61
63
|
const task = [];
|
|
@@ -79,6 +81,9 @@ function parseRun(argv) {
|
|
|
79
81
|
else if (a === "--allow-all" || a === "-y") {
|
|
80
82
|
allowAll = true;
|
|
81
83
|
}
|
|
84
|
+
else if (a === "--print" || a === "-p") {
|
|
85
|
+
print = true;
|
|
86
|
+
}
|
|
82
87
|
else if (a === "--no-context") {
|
|
83
88
|
context = false;
|
|
84
89
|
}
|
|
@@ -96,6 +101,13 @@ function parseRun(argv) {
|
|
|
96
101
|
model = r.value;
|
|
97
102
|
i = r.next;
|
|
98
103
|
}
|
|
104
|
+
else if (a === "--effort" || a.startsWith("--effort=")) {
|
|
105
|
+
const r = readValue(a, i);
|
|
106
|
+
if (!r)
|
|
107
|
+
return { ok: false, error: "--effort requires a value" };
|
|
108
|
+
effort = r.value;
|
|
109
|
+
i = r.next;
|
|
110
|
+
}
|
|
99
111
|
else if (a === "--system" || a === "-s" || a.startsWith("--system=")) {
|
|
100
112
|
const r = readValue(a, i);
|
|
101
113
|
if (!r)
|
|
@@ -127,13 +139,21 @@ function parseRun(argv) {
|
|
|
127
139
|
return { ok: true, command: { kind: "version" } };
|
|
128
140
|
const text = task.join(" ").trim();
|
|
129
141
|
if (!text) {
|
|
130
|
-
|
|
142
|
+
if (print)
|
|
143
|
+
return { ok: false, error: 'task is required: quatcode -p "describe your task"' };
|
|
144
|
+
return {
|
|
145
|
+
ok: true,
|
|
146
|
+
command: {
|
|
147
|
+
kind: "tui",
|
|
148
|
+
flags: { dir, model, effort, system, maxSteps, allowAll, context },
|
|
149
|
+
},
|
|
150
|
+
};
|
|
131
151
|
}
|
|
132
152
|
return {
|
|
133
153
|
ok: true,
|
|
134
154
|
command: {
|
|
135
155
|
kind: "run",
|
|
136
|
-
args: { task: text, dir, model, system, maxSteps, allowAll, context },
|
|
156
|
+
args: { task: text, dir, model, effort, system, maxSteps, allowAll, context, print },
|
|
137
157
|
},
|
|
138
158
|
};
|
|
139
159
|
}
|
package/dist/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,27 +1,32 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createInterface } from "node:readline/promises";
|
|
3
|
-
import { spawn } from "node:child_process";
|
|
4
3
|
import path from "node:path";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
4
|
+
import { readFileSync } from "node:fs";
|
|
5
|
+
import { AllowAllGate, createProviderFromEnv, estimateCost, formatCost, runAgent, } from "@quatcode/core";
|
|
6
|
+
import { analyzeCommand, createProjectTools, McpManager } from "@quatcode/tools";
|
|
7
7
|
import { buildProjectContext, createBrainTools, scanProject } from "@quatcode/brain";
|
|
8
|
-
import { createBridgeServer } from "@quatcode/bridge";
|
|
9
8
|
import { parseArgs } from "./args.js";
|
|
10
9
|
import { createInteractiveGate } from "./gate.js";
|
|
11
10
|
import { renderEvent } from "./render.js";
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
import { allProviders, buildProvider, defaultModelFor, effortsForModel, providerMeta, registerCustomProvider, resolveProviderForModel, } from "./models.js";
|
|
12
|
+
import { getSession, listSessions, loadConfig, makeSessionId, messagesForStorage, saveSession } from "./store.js";
|
|
13
|
+
import { runTui } from "./tui.js";
|
|
14
|
+
import { mcpInstructionsSection } from "./mcp.js";
|
|
15
|
+
import { createLoadSkillTool, listSkills, skillsSystemSection, } from "./skills.js";
|
|
16
|
+
import { VERSION } from "./version.js";
|
|
17
|
+
const USAGE = `quatcode — QUATCODE AGENT · AI-native development environment
|
|
15
18
|
|
|
16
|
-
usage:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
usage:
|
|
20
|
+
quatcode [flags] [task] interactive terminal interface
|
|
21
|
+
quatcode -p [flags] <task> headless run, print the result and exit
|
|
22
|
+
quatcode history [--limit <n>] list recent sessions
|
|
23
|
+
quatcode history show <id> replay a session timeline
|
|
21
24
|
|
|
22
25
|
flags:
|
|
26
|
+
-p, --print headless mode (no interactive interface)
|
|
23
27
|
-d, --dir <path> project directory (default: current)
|
|
24
|
-
-m, --model <id> model id (default:
|
|
28
|
+
-m, --model <id> model id (default: provider default)
|
|
29
|
+
--effort <level> reasoning effort: minimal | low | medium | high (models that support it)
|
|
25
30
|
-s, --system <text> system prompt
|
|
26
31
|
--max-steps <n> max agent steps (default: 20)
|
|
27
32
|
-y, --allow-all skip permission prompts (dangerous)
|
|
@@ -29,97 +34,60 @@ flags:
|
|
|
29
34
|
-h, --help show this help
|
|
30
35
|
-v, --version show version
|
|
31
36
|
|
|
37
|
+
interactive commands: /help /new /model /effort /key /dir /context /usage /sessions /timeline /undo /verbose /theme /skills /mcp /clear /exit
|
|
38
|
+
(no API key? pick a model first — the key is requested on the first send)
|
|
39
|
+
|
|
32
40
|
env:
|
|
33
|
-
ANTHROPIC_API_KEY required
|
|
34
|
-
|
|
41
|
+
ANTHROPIC_API_KEY required (or GEMINI_API_KEY, or OPENAI_API_KEY)
|
|
42
|
+
QUATCODE_PROVIDER force provider: anthropic | gemini | openai (default: auto-detect)
|
|
43
|
+
ANTHROPIC_MODEL anthropic model id
|
|
44
|
+
GEMINI_MODEL gemini model id (default: gemini-3.6-flash)
|
|
45
|
+
OPENAI_MODEL openai-compatible model id (default: gpt-5-nano)
|
|
46
|
+
OPENAI_BASE_URL openai-compatible base url (e.g. OpenRouter, Ollama)
|
|
35
47
|
QUATCODE_HOME session history location (default: ~/.quatcode)
|
|
36
|
-
|
|
48
|
+
NO_COLOR disable colors
|
|
49
|
+
QUATCODE_ASCII=1 use ASCII glyphs instead of unicode
|
|
50
|
+
|
|
51
|
+
a .env file in the current directory is also read (KEY=VALUE, one per line)
|
|
37
52
|
|
|
38
53
|
example:
|
|
39
54
|
quatcode
|
|
40
55
|
quatcode "read the project and summarize its structure"
|
|
56
|
+
quatcode -y "add a hello() function to src/utils.ts"
|
|
41
57
|
quatcode history
|
|
42
|
-
quatcode history show 20260907-2101-ab12
|
|
43
58
|
`;
|
|
44
|
-
function
|
|
45
|
-
let cmd = "";
|
|
46
|
-
const args = [];
|
|
47
|
-
if (process.platform === "win32") {
|
|
48
|
-
cmd = "cmd";
|
|
49
|
-
args.push("/c", "start", '""', url);
|
|
50
|
-
}
|
|
51
|
-
else if (process.platform === "darwin") {
|
|
52
|
-
cmd = "open";
|
|
53
|
-
args.push(url);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
cmd = "xdg-open";
|
|
57
|
-
args.push(url);
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
const child = spawn(cmd, args, { detached: true, stdio: "ignore" });
|
|
61
|
-
child.unref();
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
void 0;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async function bridgeHealth(url) {
|
|
59
|
+
function loadDotEnv(file) {
|
|
68
60
|
try {
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if (code !== "EADDRINUSE") {
|
|
87
|
-
console.error(`quatcode: ${err instanceof Error ? err.message : String(err)}`);
|
|
88
|
-
return 1;
|
|
61
|
+
const raw = readFileSync(file, "utf8");
|
|
62
|
+
for (const line of raw.split(/\r?\n/)) {
|
|
63
|
+
const trimmed = line.trim();
|
|
64
|
+
if (!trimmed || trimmed.startsWith("#"))
|
|
65
|
+
continue;
|
|
66
|
+
const eq = trimmed.indexOf("=");
|
|
67
|
+
if (eq === -1)
|
|
68
|
+
continue;
|
|
69
|
+
const key = trimmed.slice(0, eq).trim();
|
|
70
|
+
let value = trimmed.slice(eq + 1).trim();
|
|
71
|
+
if ((value.startsWith('"') && value.endsWith('"')) ||
|
|
72
|
+
(value.startsWith("'") && value.endsWith("'"))) {
|
|
73
|
+
value = value.slice(1, -1);
|
|
74
|
+
}
|
|
75
|
+
if (key && process.env[key] === undefined) {
|
|
76
|
+
process.env[key] = value;
|
|
77
|
+
}
|
|
89
78
|
}
|
|
90
79
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
console.log(`ui: ${url}`);
|
|
94
|
-
if (!bridge.ui) {
|
|
95
|
-
console.log("hint: studio UI not bundled — run: pnpm --filter @quatcode/bridge build");
|
|
96
|
-
}
|
|
97
|
-
console.log("ctrl+c to stop");
|
|
98
|
-
let closing = false;
|
|
99
|
-
const shutdown = async () => {
|
|
100
|
-
if (closing)
|
|
101
|
-
return;
|
|
102
|
-
closing = true;
|
|
103
|
-
console.log("\nquatcode: stopping…");
|
|
104
|
-
await bridge?.close().catch(() => undefined);
|
|
105
|
-
process.exit(0);
|
|
106
|
-
};
|
|
107
|
-
process.on("SIGINT", () => void shutdown());
|
|
108
|
-
process.on("SIGTERM", () => void shutdown());
|
|
109
|
-
openBrowser(url);
|
|
110
|
-
return 0;
|
|
111
|
-
}
|
|
112
|
-
const healthy = await bridgeHealth(url);
|
|
113
|
-
if (healthy) {
|
|
114
|
-
console.log("QUATCODE AGENT is already running");
|
|
115
|
-
console.log(`ui: ${url}`);
|
|
116
|
-
openBrowser(url);
|
|
117
|
-
return 0;
|
|
80
|
+
catch {
|
|
81
|
+
// no .env file — fine
|
|
118
82
|
}
|
|
119
|
-
console.error(`quatcode: port ${port} is already in use by another process`);
|
|
120
|
-
return 1;
|
|
121
83
|
}
|
|
122
84
|
async function main() {
|
|
85
|
+
loadDotEnv(path.join(process.cwd(), ".env"));
|
|
86
|
+
const config = await loadConfig().catch(() => ({}));
|
|
87
|
+
for (const [name, value] of Object.entries(config.keys ?? {})) {
|
|
88
|
+
if (value && process.env[name] === undefined)
|
|
89
|
+
process.env[name] = value;
|
|
90
|
+
}
|
|
123
91
|
const parsed = parseArgs(process.argv.slice(2));
|
|
124
92
|
if (!parsed.ok) {
|
|
125
93
|
console.error(`quatcode: ${parsed.error}\n\n${USAGE}`);
|
|
@@ -134,16 +102,41 @@ async function main() {
|
|
|
134
102
|
console.log(VERSION);
|
|
135
103
|
return 0;
|
|
136
104
|
}
|
|
137
|
-
if (command.kind === "ui") {
|
|
138
|
-
return runUi();
|
|
139
|
-
}
|
|
140
105
|
if (command.kind === "history") {
|
|
141
106
|
return printHistory(command.limit);
|
|
142
107
|
}
|
|
143
108
|
if (command.kind === "history-show") {
|
|
144
109
|
return printSession(command.id);
|
|
145
110
|
}
|
|
146
|
-
|
|
111
|
+
if (command.kind === "tui") {
|
|
112
|
+
const flags = command.flags;
|
|
113
|
+
return runTui({
|
|
114
|
+
dir: flags?.dir ?? process.cwd(),
|
|
115
|
+
model: flags?.model,
|
|
116
|
+
effort: flags?.effort ?? config.effort,
|
|
117
|
+
system: flags?.system,
|
|
118
|
+
maxSteps: flags?.maxSteps ?? 20,
|
|
119
|
+
allowAll: flags?.allowAll ?? false,
|
|
120
|
+
context: flags?.context ?? true,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
const args = command.args;
|
|
124
|
+
if (!args.model && config.model)
|
|
125
|
+
args.model = config.model;
|
|
126
|
+
const interactive = !args.print && Boolean(process.stdin.isTTY) && Boolean(process.stdout.isTTY);
|
|
127
|
+
if (interactive) {
|
|
128
|
+
return runTui({
|
|
129
|
+
dir: args.dir,
|
|
130
|
+
model: args.model,
|
|
131
|
+
effort: args.effort ?? config.effort,
|
|
132
|
+
system: args.system,
|
|
133
|
+
maxSteps: args.maxSteps,
|
|
134
|
+
allowAll: args.allowAll,
|
|
135
|
+
context: args.context,
|
|
136
|
+
initialPrompt: args.task,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return run(args, config);
|
|
147
140
|
}
|
|
148
141
|
async function printHistory(limit) {
|
|
149
142
|
const sessions = await listSessions(limit);
|
|
@@ -184,14 +177,45 @@ async function printSession(id) {
|
|
|
184
177
|
console.log(`\nerror: ${session.error}`);
|
|
185
178
|
return 0;
|
|
186
179
|
}
|
|
187
|
-
async function run(args) {
|
|
180
|
+
async function run(args, config) {
|
|
181
|
+
for (const [id, custom] of Object.entries(config.customProviders ?? {})) {
|
|
182
|
+
registerCustomProvider({
|
|
183
|
+
id,
|
|
184
|
+
label: custom.label,
|
|
185
|
+
envKey: custom.envKey,
|
|
186
|
+
kind: "openai",
|
|
187
|
+
baseUrl: custom.baseUrl,
|
|
188
|
+
defaultModel: custom.models[0]?.id ?? "",
|
|
189
|
+
models: custom.models,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
188
192
|
let provider;
|
|
193
|
+
let knownProvider = (config.provider && providerMeta(config.provider) ? config.provider : undefined) ??
|
|
194
|
+
(args.model ? resolveProviderForModel(args.model) : null) ??
|
|
195
|
+
undefined;
|
|
196
|
+
if (!knownProvider) {
|
|
197
|
+
for (const candidate of allProviders()) {
|
|
198
|
+
if (process.env[candidate.envKey]) {
|
|
199
|
+
knownProvider = candidate.id;
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
const envModelFor = (id) => {
|
|
205
|
+
const meta = providerMeta(id);
|
|
206
|
+
if (!meta)
|
|
207
|
+
return undefined;
|
|
208
|
+
return process.env[`${meta.envKey.replace(/_API_KEY$/, "")}_MODEL`];
|
|
209
|
+
};
|
|
189
210
|
try {
|
|
190
|
-
provider =
|
|
211
|
+
provider =
|
|
212
|
+
knownProvider && providerMeta(knownProvider)
|
|
213
|
+
? buildProvider(knownProvider, args.model ?? envModelFor(knownProvider) ?? defaultModelFor(knownProvider))
|
|
214
|
+
: createProviderFromEnv({ defaultModel: args.model });
|
|
191
215
|
}
|
|
192
216
|
catch (err) {
|
|
193
217
|
const message = err instanceof Error ? err.message : String(err);
|
|
194
|
-
console.error(`quatcode: ${message}\nhint:
|
|
218
|
+
console.error(`quatcode: ${message}\nhint: set one of ANTHROPIC_API_KEY, GEMINI_API_KEY or OPENAI_API_KEY (or add a provider in the interactive interface)`);
|
|
195
219
|
return 2;
|
|
196
220
|
}
|
|
197
221
|
const dir = path.resolve(args.dir);
|
|
@@ -207,6 +231,22 @@ async function run(args) {
|
|
|
207
231
|
for (const tool of createBrainTools(dir).list()) {
|
|
208
232
|
tools.register(tool);
|
|
209
233
|
}
|
|
234
|
+
tools.register(createLoadSkillTool());
|
|
235
|
+
const mcp = new McpManager();
|
|
236
|
+
const mcpConfigs = config.mcp ?? {};
|
|
237
|
+
if (Object.keys(mcpConfigs).length > 0) {
|
|
238
|
+
const statuses = await mcp.connectAll(mcpConfigs);
|
|
239
|
+
for (const status of statuses) {
|
|
240
|
+
if (status.state === "connected") {
|
|
241
|
+
console.error(`quatcode: mcp ${status.name} connected · ${status.tools.length} tool${status.tools.length === 1 ? "" : "s"}`);
|
|
242
|
+
}
|
|
243
|
+
else if (status.state === "error") {
|
|
244
|
+
console.error(`quatcode: mcp ${status.name} failed: ${status.error ?? "connection failed"}`);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
for (const tool of mcp.tools())
|
|
248
|
+
tools.register(tool);
|
|
249
|
+
}
|
|
210
250
|
let system;
|
|
211
251
|
if (args.context) {
|
|
212
252
|
try {
|
|
@@ -221,9 +261,23 @@ async function run(args) {
|
|
|
221
261
|
else {
|
|
222
262
|
system = args.system;
|
|
223
263
|
}
|
|
264
|
+
const skillsSection = skillsSystemSection(await listSkills().catch(() => []));
|
|
265
|
+
if (skillsSection) {
|
|
266
|
+
system = system ? `${system}\n\n${skillsSection}` : skillsSection;
|
|
267
|
+
}
|
|
268
|
+
const mcpSection = mcpInstructionsSection(mcp.instructions());
|
|
269
|
+
if (mcpSection) {
|
|
270
|
+
system = system ? `${system}\n\n${mcpSection}` : mcpSection;
|
|
271
|
+
}
|
|
224
272
|
const color = Boolean(process.stdout.isTTY);
|
|
225
273
|
const started = performance.now();
|
|
226
274
|
const model = args.model ?? provider.defaultModel ?? "unknown";
|
|
275
|
+
const requestedEffort = (args.effort ?? config.effort)?.toLowerCase();
|
|
276
|
+
const modelEfforts = effortsForModel(model);
|
|
277
|
+
const reasoningEffort = requestedEffort && modelEfforts?.includes(requestedEffort) ? requestedEffort : undefined;
|
|
278
|
+
if (requestedEffort && !reasoningEffort) {
|
|
279
|
+
console.error(`quatcode: ${model} does not support effort "${requestedEffort}" — ignored`);
|
|
280
|
+
}
|
|
227
281
|
try {
|
|
228
282
|
const result = await runAgent(args.task, {
|
|
229
283
|
provider,
|
|
@@ -232,6 +286,7 @@ async function run(args) {
|
|
|
232
286
|
tools,
|
|
233
287
|
permissions: gate,
|
|
234
288
|
maxSteps: args.maxSteps,
|
|
289
|
+
reasoningEffort,
|
|
235
290
|
onEvent: (event) => {
|
|
236
291
|
const line = renderEvent(event, { color });
|
|
237
292
|
if (line)
|
|
@@ -239,10 +294,12 @@ async function run(args) {
|
|
|
239
294
|
},
|
|
240
295
|
});
|
|
241
296
|
tools.dispose();
|
|
297
|
+
await mcp.closeAll().catch(() => undefined);
|
|
242
298
|
if (result.status === "complete" && result.text) {
|
|
243
299
|
console.log(`\n${result.text}`);
|
|
244
300
|
}
|
|
245
301
|
const cost = estimateCost(result.usage, model);
|
|
302
|
+
const conversationId = makeSessionId();
|
|
246
303
|
const record = {
|
|
247
304
|
id: makeSessionId(),
|
|
248
305
|
createdAt: new Date().toISOString(),
|
|
@@ -256,9 +313,13 @@ async function run(args) {
|
|
|
256
313
|
durationMs: performance.now() - started,
|
|
257
314
|
text: result.text,
|
|
258
315
|
error: result.error,
|
|
259
|
-
events: result.events
|
|
316
|
+
events: result.events
|
|
317
|
+
.filter((event) => event.type !== "text.delta")
|
|
318
|
+
.map((event) => event.type === "tool.result" && event.images
|
|
260
319
|
? { ...event, images: undefined }
|
|
261
320
|
: event),
|
|
321
|
+
conversationId,
|
|
322
|
+
messages: messagesForStorage(result.session.getMessages()),
|
|
262
323
|
};
|
|
263
324
|
try {
|
|
264
325
|
await saveSession(record);
|
|
@@ -270,6 +331,8 @@ async function run(args) {
|
|
|
270
331
|
return result.status === "complete" ? 0 : 1;
|
|
271
332
|
}
|
|
272
333
|
catch (err) {
|
|
334
|
+
tools.dispose();
|
|
335
|
+
await mcp.closeAll().catch(() => undefined);
|
|
273
336
|
console.error(`quatcode: ${err instanceof Error ? err.message : String(err)}`);
|
|
274
337
|
return 1;
|
|
275
338
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ImagePart } from "@quatcode/core";
|
|
2
|
+
export declare function copyToClipboard(text: string): boolean;
|
|
3
|
+
export declare function readClipboardText(): string | null;
|
|
4
|
+
export declare function readClipboardImage(): ImagePart | null;
|
|
5
|
+
//# sourceMappingURL=clipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../src/clipboard.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqBrD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,IAAI,CAqBjD;AAED,wBAAgB,kBAAkB,IAAI,SAAS,GAAG,IAAI,CAyBrD"}
|