chivgent 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +108 -3
- package/README.zh-CN.md +100 -3
- package/dist/auth/credentials.d.ts.map +1 -1
- package/dist/auth/credentials.js +4 -1
- package/dist/auth/credentials.js.map +1 -1
- package/dist/auth/file-credentials.d.ts +8 -0
- package/dist/auth/file-credentials.d.ts.map +1 -1
- package/dist/auth/file-credentials.js +40 -1
- package/dist/auth/file-credentials.js.map +1 -1
- package/dist/cli.js +48 -31
- package/dist/cli.js.map +1 -1
- package/dist/evals/cli.d.ts +3 -0
- package/dist/evals/cli.d.ts.map +1 -0
- package/dist/evals/cli.js +137 -0
- package/dist/evals/cli.js.map +1 -0
- package/dist/evals/fixture.d.ts +13 -0
- package/dist/evals/fixture.d.ts.map +1 -0
- package/dist/evals/fixture.js +18 -0
- package/dist/evals/fixture.js.map +1 -0
- package/dist/evals/graders.d.ts +21 -0
- package/dist/evals/graders.d.ts.map +1 -0
- package/dist/evals/graders.js +175 -0
- package/dist/evals/graders.js.map +1 -0
- package/dist/evals/parse-args.d.ts +18 -0
- package/dist/evals/parse-args.d.ts.map +1 -0
- package/dist/evals/parse-args.js +67 -0
- package/dist/evals/parse-args.js.map +1 -0
- package/dist/evals/report.d.ts +18 -0
- package/dist/evals/report.d.ts.map +1 -0
- package/dist/evals/report.js +103 -0
- package/dist/evals/report.js.map +1 -0
- package/dist/evals/runner.d.ts +43 -0
- package/dist/evals/runner.d.ts.map +1 -0
- package/dist/evals/runner.js +144 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/evals/task.d.ts +27 -0
- package/dist/evals/task.d.ts.map +1 -0
- package/dist/evals/task.js +116 -0
- package/dist/evals/task.js.map +1 -0
- package/dist/prompts.d.ts +12 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +31 -0
- package/dist/prompts.js.map +1 -0
- package/dist/providers/deferred-client.d.ts +26 -0
- package/dist/providers/deferred-client.d.ts.map +1 -0
- package/dist/providers/deferred-client.js +50 -0
- package/dist/providers/deferred-client.js.map +1 -0
- package/dist/repl.d.ts +16 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +80 -1
- package/dist/repl.js.map +1 -1
- package/package.json +3 -2
package/dist/repl.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ import type { OutputStream } from "./render.js";
|
|
|
3
3
|
import type { RegisteredCommand } from "./extensions/api.js";
|
|
4
4
|
export declare const REPL_PROMPT = "\u203A ";
|
|
5
5
|
export type SlashCommandOutcome = "handled" | "exit" | "not-a-command"
|
|
6
|
+
/** The REPL runs the sign-in flow, which needs to read from the terminal. */
|
|
7
|
+
| {
|
|
8
|
+
readonly kind: "login";
|
|
9
|
+
}
|
|
6
10
|
/** An extension command matched; the REPL runs it, since it may be async. */
|
|
7
11
|
| {
|
|
8
12
|
readonly kind: "extension";
|
|
@@ -15,8 +19,18 @@ export interface SlashCommandContext {
|
|
|
15
19
|
readonly sessionFile?: string;
|
|
16
20
|
/** Commands contributed by extensions, keyed by name without the slash. */
|
|
17
21
|
readonly extensionCommands?: readonly RegisteredCommand[];
|
|
22
|
+
/** Present when this session can store a key; absent for a signed-in remote. */
|
|
23
|
+
readonly signIn?: SignIn;
|
|
24
|
+
}
|
|
25
|
+
export interface SignIn {
|
|
26
|
+
readonly provider: string;
|
|
27
|
+
readonly authFile: string;
|
|
28
|
+
/** Live check: /login can make this true part-way through a session. */
|
|
29
|
+
ready(): boolean;
|
|
30
|
+
/** Saves the key and puts it to use, or returns why it could not. */
|
|
31
|
+
submit(apiKey: string): Promise<string | undefined>;
|
|
18
32
|
}
|
|
19
|
-
export declare const BUILT_IN_COMMANDS: readonly ["help", "session", "tools", "clear", "exit", "quit"];
|
|
33
|
+
export declare const BUILT_IN_COMMANDS: readonly ["help", "session", "tools", "clear", "exit", "quit", "login"];
|
|
20
34
|
/**
|
|
21
35
|
* Interprets one line of REPL input. Returns `not-a-command` when the line is
|
|
22
36
|
* an ordinary prompt for the model.
|
|
@@ -30,6 +44,7 @@ export interface ReplOptions {
|
|
|
30
44
|
readonly banner?: string;
|
|
31
45
|
readonly sessionFile?: string;
|
|
32
46
|
readonly extensionCommands?: readonly RegisteredCommand[];
|
|
47
|
+
readonly signIn?: SignIn;
|
|
33
48
|
}
|
|
34
49
|
/**
|
|
35
50
|
* Reads prompts until the user leaves. One run at a time: Ctrl+C cancels the
|
package/dist/repl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,eAAO,MAAM,WAAW,YAAO,CAAC;AAEhC,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,MAAM,GACN,eAAe;AACjB,6EAA6E;GAC3E;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,eAAO,MAAM,WAAW,YAAO,CAAC;AAEhC,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,MAAM,GACN,eAAe;AACjB,6EAA6E;GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE;AAC5B,6EAA6E;GAC3E;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC1D,gFAAgF;IAChF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,KAAK,IAAI,OAAO,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrD;AAED,eAAO,MAAM,iBAAiB,YAC5B,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,OAAO,CACC,CAAC;AA2BX;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,GAC3B,mBAAmB,CAoDrB;AAeD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAmED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA0GnE"}
|
package/dist/repl.js
CHANGED
|
@@ -7,12 +7,14 @@ export const BUILT_IN_COMMANDS = [
|
|
|
7
7
|
"clear",
|
|
8
8
|
"exit",
|
|
9
9
|
"quit",
|
|
10
|
+
"login",
|
|
10
11
|
];
|
|
11
12
|
const HELP = `Commands:
|
|
12
13
|
/help Show this help
|
|
13
14
|
/session Show the current session id, workspace, and size
|
|
14
15
|
/tools List the tools available to the model
|
|
15
16
|
/clear Start a new transcript in the same session
|
|
17
|
+
/login Store an API key for this Provider
|
|
16
18
|
/exit Leave chivgent (Ctrl+D also works)
|
|
17
19
|
|
|
18
20
|
Anything else is sent to the model. Ctrl+C stops the answer in progress.
|
|
@@ -52,6 +54,12 @@ export function handleSlashCommand(line, context) {
|
|
|
52
54
|
context.session.clear();
|
|
53
55
|
context.write("Transcript cleared.\n");
|
|
54
56
|
return "handled";
|
|
57
|
+
case "/login":
|
|
58
|
+
if (context.signIn === undefined) {
|
|
59
|
+
context.write("This session cannot store a key; it is attached to a server that already has one.\n");
|
|
60
|
+
return "handled";
|
|
61
|
+
}
|
|
62
|
+
return { kind: "login" };
|
|
55
63
|
case "/exit":
|
|
56
64
|
case "/quit":
|
|
57
65
|
return "exit";
|
|
@@ -78,6 +86,53 @@ function describeSession(context) {
|
|
|
78
86
|
}
|
|
79
87
|
return `${lines.join("\n")}\n`;
|
|
80
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Hides what is typed for the duration of one answer.
|
|
91
|
+
*
|
|
92
|
+
* readline echoes every keystroke through `_writeToOutput`, so silencing that
|
|
93
|
+
* keeps an API key off the screen and out of the scrollback. The original
|
|
94
|
+
* writer is always restored, even if reading throws.
|
|
95
|
+
*/
|
|
96
|
+
async function withoutEcho(readline, read) {
|
|
97
|
+
const internals = readline;
|
|
98
|
+
const original = internals._writeToOutput?.bind(readline);
|
|
99
|
+
if (original === undefined) {
|
|
100
|
+
return read();
|
|
101
|
+
}
|
|
102
|
+
internals._writeToOutput = () => undefined;
|
|
103
|
+
try {
|
|
104
|
+
return await read();
|
|
105
|
+
}
|
|
106
|
+
finally {
|
|
107
|
+
internals._writeToOutput = original;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async function runSignIn(readline, readNextLine, write, signIn) {
|
|
111
|
+
write([
|
|
112
|
+
`Paste an API key for ${signIn.provider}. It is not echoed.`,
|
|
113
|
+
`It will be stored in ${signIn.authFile}, readable only by you.`,
|
|
114
|
+
"API key: ",
|
|
115
|
+
].join("\n"));
|
|
116
|
+
// The key is read from the same line source the loop uses. readline's
|
|
117
|
+
// question() competes with the loop's own iterator for input, so the answer
|
|
118
|
+
// would be swallowed or never arrive.
|
|
119
|
+
const answer = await withoutEcho(readline, readNextLine);
|
|
120
|
+
write("\n");
|
|
121
|
+
if (answer === undefined) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const key = answer.trim();
|
|
125
|
+
if (key.length === 0) {
|
|
126
|
+
write("Nothing entered; no key was stored.\n");
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const failure = await signIn.submit(key);
|
|
130
|
+
if (failure !== undefined) {
|
|
131
|
+
write(`${failure}\n`);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
write(`Stored the key for ${signIn.provider}. The key is not checked until your next prompt.\n`);
|
|
135
|
+
}
|
|
81
136
|
/**
|
|
82
137
|
* Reads prompts until the user leaves. One run at a time: Ctrl+C cancels the
|
|
83
138
|
* answer in progress instead of killing the process, so the transcript and the
|
|
@@ -106,7 +161,16 @@ export async function runRepl(options) {
|
|
|
106
161
|
write(options.banner);
|
|
107
162
|
}
|
|
108
163
|
readline.prompt();
|
|
109
|
-
|
|
164
|
+
const lines = readline[Symbol.asyncIterator]();
|
|
165
|
+
const readNextLine = async () => {
|
|
166
|
+
const next = await lines.next();
|
|
167
|
+
return next.done === true ? undefined : next.value;
|
|
168
|
+
};
|
|
169
|
+
for (;;) {
|
|
170
|
+
const line = await readNextLine();
|
|
171
|
+
if (line === undefined) {
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
110
174
|
if (line.trim().length === 0) {
|
|
111
175
|
readline.prompt();
|
|
112
176
|
continue;
|
|
@@ -120,10 +184,18 @@ export async function runRepl(options) {
|
|
|
120
184
|
...(options.extensionCommands === undefined
|
|
121
185
|
? {}
|
|
122
186
|
: { extensionCommands: options.extensionCommands }),
|
|
187
|
+
...(options.signIn === undefined ? {} : { signIn: options.signIn }),
|
|
123
188
|
});
|
|
124
189
|
if (outcome === "exit") {
|
|
125
190
|
break;
|
|
126
191
|
}
|
|
192
|
+
if (typeof outcome === "object" && outcome.kind === "login") {
|
|
193
|
+
if (options.signIn !== undefined) {
|
|
194
|
+
await runSignIn(readline, readNextLine, write, options.signIn);
|
|
195
|
+
}
|
|
196
|
+
readline.prompt();
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
127
199
|
if (typeof outcome === "object") {
|
|
128
200
|
// An extension command runs here rather than inside the parser so it may
|
|
129
201
|
// be async, and so a throwing command cannot take the REPL down.
|
|
@@ -145,6 +217,13 @@ export async function runRepl(options) {
|
|
|
145
217
|
readline.prompt();
|
|
146
218
|
continue;
|
|
147
219
|
}
|
|
220
|
+
if (options.signIn !== undefined && !options.signIn.ready()) {
|
|
221
|
+
// Saying this before the run starts is clearer than letting the Provider
|
|
222
|
+
// call fail and reporting it as an agent failure.
|
|
223
|
+
write("No API key yet. Run /login to add one.\n");
|
|
224
|
+
readline.prompt();
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
148
227
|
controller = new AbortController();
|
|
149
228
|
try {
|
|
150
229
|
await options.session.prompt(line, { signal: controller.signal });
|
package/dist/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chivgent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "A minimal coding agent CLI built to learn agent harness architecture.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -41,7 +41,8 @@
|
|
|
41
41
|
"test:watch": "vitest",
|
|
42
42
|
"release:check": "npm run check && npm test && npm run build && npm pack --dry-run",
|
|
43
43
|
"prepublishOnly": "npm run check && npm test",
|
|
44
|
-
"prepack": "npm run build"
|
|
44
|
+
"prepack": "npm run build",
|
|
45
|
+
"eval": "npm run build && node dist/evals/cli.js"
|
|
45
46
|
},
|
|
46
47
|
"dependencies": {
|
|
47
48
|
"ignore": "7.0.6",
|