chivgent 1.0.0 → 1.1.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 +97 -897
- package/README.zh-CN.md +97 -801
- package/dist/agent.d.ts +30 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +255 -36
- package/dist/agent.js.map +1 -1
- package/dist/auth/oauth.d.ts +51 -0
- package/dist/auth/oauth.d.ts.map +1 -0
- package/dist/auth/oauth.js +444 -0
- package/dist/auth/oauth.js.map +1 -0
- package/dist/cli-options.d.ts +9 -4
- package/dist/cli-options.d.ts.map +1 -1
- package/dist/cli-options.js +46 -3
- package/dist/cli-options.js.map +1 -1
- package/dist/cli-runtime.d.ts +33 -0
- package/dist/cli-runtime.d.ts.map +1 -0
- package/dist/cli-runtime.js +90 -0
- package/dist/cli-runtime.js.map +1 -0
- package/dist/cli.js +76 -81
- package/dist/cli.js.map +1 -1
- package/dist/context/compaction.d.ts +5 -2
- package/dist/context/compaction.d.ts.map +1 -1
- package/dist/context/compaction.js +58 -32
- package/dist/context/compaction.js.map +1 -1
- package/dist/context/context-manager.d.ts +23 -0
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +200 -35
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/project-instructions.d.ts +17 -0
- package/dist/context/project-instructions.d.ts.map +1 -0
- package/dist/context/project-instructions.js +191 -0
- package/dist/context/project-instructions.js.map +1 -0
- package/dist/evals/baseline.d.ts +41 -0
- package/dist/evals/baseline.d.ts.map +1 -0
- package/dist/evals/baseline.js +121 -0
- package/dist/evals/baseline.js.map +1 -0
- package/dist/evals/cli.js +27 -1
- package/dist/evals/cli.js.map +1 -1
- package/dist/evals/parse-args.d.ts +2 -0
- package/dist/evals/parse-args.d.ts.map +1 -1
- package/dist/evals/parse-args.js +5 -0
- package/dist/evals/parse-args.js.map +1 -1
- package/dist/evals/report.d.ts +2 -0
- package/dist/evals/report.d.ts.map +1 -1
- package/dist/evals/report.js +12 -8
- package/dist/evals/report.js.map +1 -1
- package/dist/evals/runner.d.ts +3 -0
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +5 -1
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/task.d.ts.map +1 -1
- package/dist/evals/task.js +1 -0
- package/dist/evals/task.js.map +1 -1
- package/dist/evals/tools.d.ts +4 -1
- package/dist/evals/tools.d.ts.map +1 -1
- package/dist/evals/tools.js +13 -4
- package/dist/evals/tools.js.map +1 -1
- package/dist/events.d.ts +12 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/patch/parse.d.ts +26 -0
- package/dist/patch/parse.d.ts.map +1 -0
- package/dist/patch/parse.js +117 -0
- package/dist/patch/parse.js.map +1 -0
- package/dist/permissions.d.ts +35 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +89 -0
- package/dist/permissions.js.map +1 -0
- package/dist/prompts.d.ts +3 -3
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +5 -3
- package/dist/prompts.js.map +1 -1
- package/dist/providers/client.d.ts +1 -1
- package/dist/providers/client.d.ts.map +1 -1
- package/dist/providers/client.js +19 -1
- package/dist/providers/client.js.map +1 -1
- package/dist/providers/definitions.d.ts +2 -0
- package/dist/providers/definitions.d.ts.map +1 -1
- package/dist/providers/definitions.js +3 -1
- package/dist/providers/definitions.js.map +1 -1
- package/dist/providers/interactive.d.ts +4 -0
- package/dist/providers/interactive.d.ts.map +1 -1
- package/dist/providers/interactive.js +86 -2
- package/dist/providers/interactive.js.map +1 -1
- package/dist/providers/oauth-client.d.ts +14 -0
- package/dist/providers/oauth-client.d.ts.map +1 -0
- package/dist/providers/oauth-client.js +52 -0
- package/dist/providers/oauth-client.js.map +1 -0
- package/dist/providers/openai-compatible-chat.d.ts +1 -0
- package/dist/providers/openai-compatible-chat.d.ts.map +1 -1
- package/dist/providers/openai-compatible-chat.js +1 -0
- package/dist/providers/openai-compatible-chat.js.map +1 -1
- package/dist/providers/openai.d.ts +3 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +72 -10
- package/dist/providers/openai.js.map +1 -1
- package/dist/remote/repl.d.ts.map +1 -1
- package/dist/remote/repl.js +9 -0
- package/dist/remote/repl.js.map +1 -1
- package/dist/repl.d.ts +53 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +554 -10
- package/dist/repl.js.map +1 -1
- package/dist/session-store.d.ts +27 -2
- package/dist/session-store.d.ts.map +1 -1
- package/dist/session-store.js +85 -2
- package/dist/session-store.js.map +1 -1
- package/dist/session.d.ts +20 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +141 -13
- package/dist/session.js.map +1 -1
- package/dist/shell/approval.d.ts +15 -0
- package/dist/shell/approval.d.ts.map +1 -0
- package/dist/shell/approval.js +25 -0
- package/dist/shell/approval.js.map +1 -0
- package/dist/shell/docker.d.ts +20 -0
- package/dist/shell/docker.d.ts.map +1 -0
- package/dist/shell/docker.js +97 -0
- package/dist/shell/docker.js.map +1 -0
- package/dist/shell/factory.d.ts +9 -0
- package/dist/shell/factory.d.ts.map +1 -0
- package/dist/shell/factory.js +13 -0
- package/dist/shell/factory.js.map +1 -0
- package/dist/shell/local.d.ts +5 -1
- package/dist/shell/local.d.ts.map +1 -1
- package/dist/shell/local.js +17 -2
- package/dist/shell/local.js.map +1 -1
- package/dist/shell/native.d.ts +15 -0
- package/dist/shell/native.d.ts.map +1 -0
- package/dist/shell/native.js +99 -0
- package/dist/shell/native.js.map +1 -0
- package/dist/shell/types.d.ts +1 -0
- package/dist/shell/types.d.ts.map +1 -1
- package/dist/tools/apply-patch.d.ts +18 -0
- package/dist/tools/apply-patch.d.ts.map +1 -0
- package/dist/tools/apply-patch.js +53 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/bash.d.ts +23 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +55 -11
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit-file.d.ts.map +1 -1
- package/dist/tools/edit-file.js +1 -1
- package/dist/tools/edit-file.js.map +1 -1
- package/dist/tools/parallel.d.ts +16 -0
- package/dist/tools/parallel.d.ts.map +1 -0
- package/dist/tools/parallel.js +28 -0
- package/dist/tools/parallel.js.map +1 -0
- package/dist/tools/tool.d.ts +7 -0
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/tool.js +7 -1
- package/dist/tools/tool.js.map +1 -1
- package/dist/tools/update-plan.d.ts +57 -0
- package/dist/tools/update-plan.d.ts.map +1 -0
- package/dist/tools/update-plan.js +99 -0
- package/dist/tools/update-plan.js.map +1 -0
- package/dist/tools/write-file.d.ts.map +1 -1
- package/dist/tools/write-file.js +1 -1
- package/dist/tools/write-file.js.map +1 -1
- package/dist/transcript-hash.d.ts +4 -0
- package/dist/transcript-hash.d.ts.map +1 -0
- package/dist/transcript-hash.js +6 -0
- package/dist/transcript-hash.js.map +1 -0
- package/dist/tui/activity.d.ts +17 -0
- package/dist/tui/activity.d.ts.map +1 -0
- package/dist/tui/activity.js +188 -0
- package/dist/tui/activity.js.map +1 -0
- package/dist/tui/diff.d.ts +14 -0
- package/dist/tui/diff.d.ts.map +1 -0
- package/dist/tui/diff.js +57 -0
- package/dist/tui/diff.js.map +1 -0
- package/dist/tui/editor-input.d.ts +53 -0
- package/dist/tui/editor-input.d.ts.map +1 -0
- package/dist/tui/editor-input.js +353 -0
- package/dist/tui/editor-input.js.map +1 -0
- package/dist/tui/editor.d.ts +72 -0
- package/dist/tui/editor.d.ts.map +1 -0
- package/dist/tui/editor.js +321 -0
- package/dist/tui/editor.js.map +1 -0
- package/dist/tui/git-diff.d.ts +7 -0
- package/dist/tui/git-diff.d.ts.map +1 -0
- package/dist/tui/git-diff.js +48 -0
- package/dist/tui/git-diff.js.map +1 -0
- package/dist/tui/input.d.ts +14 -0
- package/dist/tui/input.d.ts.map +1 -1
- package/dist/tui/input.js +77 -1
- package/dist/tui/input.js.map +1 -1
- package/dist/tui/live.d.ts +10 -0
- package/dist/tui/live.d.ts.map +1 -1
- package/dist/tui/live.js +42 -5
- package/dist/tui/live.js.map +1 -1
- package/dist/tui/markdown.d.ts +7 -0
- package/dist/tui/markdown.d.ts.map +1 -0
- package/dist/tui/markdown.js +55 -0
- package/dist/tui/markdown.js.map +1 -0
- package/dist/tui/menu.js +1 -1
- package/dist/tui/review.d.ts +27 -0
- package/dist/tui/review.d.ts.map +1 -0
- package/dist/tui/review.js +114 -0
- package/dist/tui/review.js.map +1 -0
- package/dist/tui/slash.d.ts +11 -0
- package/dist/tui/slash.d.ts.map +1 -0
- package/dist/tui/slash.js +13 -0
- package/dist/tui/slash.js.map +1 -0
- package/dist/tui/state.d.ts +5 -0
- package/dist/tui/state.d.ts.map +1 -1
- package/dist/tui/state.js +10 -1
- package/dist/tui/state.js.map +1 -1
- package/dist/tui/syntax.d.ts +6 -0
- package/dist/tui/syntax.d.ts.map +1 -0
- package/dist/tui/syntax.js +48 -0
- package/dist/tui/syntax.js.map +1 -0
- package/dist/tui/view.d.ts +1 -1
- package/dist/tui/view.d.ts.map +1 -1
- package/dist/tui/view.js +21 -9
- package/dist/tui/view.js.map +1 -1
- package/dist/tui/welcome.d.ts +5 -0
- package/dist/tui/welcome.d.ts.map +1 -1
- package/dist/tui/welcome.js +35 -20
- package/dist/tui/welcome.js.map +1 -1
- package/dist/workspace/patch.d.ts +11 -0
- package/dist/workspace/patch.d.ts.map +1 -0
- package/dist/workspace/patch.js +124 -0
- package/dist/workspace/patch.js.map +1 -0
- package/dist/workspace/paths.d.ts.map +1 -1
- package/dist/workspace/paths.js +4 -0
- package/dist/workspace/paths.js.map +1 -1
- package/dist/workspace/types.d.ts +9 -2
- package/dist/workspace/types.d.ts.map +1 -1
- package/dist/workspace/types.js.map +1 -1
- package/dist/workspace.d.ts +4 -3
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +7 -2
- package/dist/workspace.js.map +1 -1
- package/package.json +6 -2
package/dist/providers/openai.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import OpenAI from "openai";
|
|
2
2
|
import { fromResponsesUsage } from "./usage.js";
|
|
3
|
+
import { oauthApiFetch } from "../auth/oauth.js";
|
|
3
4
|
export class OpenAIClient {
|
|
4
5
|
client;
|
|
5
6
|
model;
|
|
7
|
+
oauth;
|
|
6
8
|
constructor(options) {
|
|
7
|
-
|
|
9
|
+
const oauth = options.oauth ?? false;
|
|
10
|
+
this.client = options.client ?? new OpenAI({ apiKey: options.apiKey,
|
|
11
|
+
...(oauth ? { baseURL: "https://api.openai.com/v1", fetch: oauthApiFetch("https://api.openai.com") } : {}) });
|
|
8
12
|
this.model = options.model;
|
|
13
|
+
this.oauth = oauth;
|
|
9
14
|
}
|
|
10
15
|
async complete(request) {
|
|
16
|
+
if (this.oauth)
|
|
17
|
+
return this.stream(request, { onTextDelta: () => undefined });
|
|
11
18
|
const parameters = { ...this.createParameters(request), stream: false };
|
|
12
19
|
const response = request.signal === undefined
|
|
13
20
|
? await this.client.responses.create(parameters)
|
|
@@ -32,27 +39,35 @@ export class OpenAIClient {
|
|
|
32
39
|
completed = event.response;
|
|
33
40
|
}
|
|
34
41
|
else if (event.type === "response.failed") {
|
|
35
|
-
throw new TypeError(
|
|
42
|
+
throw new TypeError(this.oauth
|
|
43
|
+
? "OpenAI subscription request failed."
|
|
44
|
+
: `OpenAI stream failed: ${event.response.error?.code ?? "unknown error"}`);
|
|
36
45
|
}
|
|
37
46
|
}
|
|
38
47
|
if (completed === undefined) {
|
|
39
48
|
throw new TypeError("OpenAI stream ended without a completed response.");
|
|
40
49
|
}
|
|
41
|
-
return
|
|
50
|
+
return this.oauth
|
|
51
|
+
? toOAuthLLMResponse(completed, request.messages.length, (parameters.input ?? []))
|
|
52
|
+
: toLLMResponse(completed);
|
|
42
53
|
}
|
|
43
54
|
createParameters(request) {
|
|
44
|
-
const continuation = parseContinuation(request.continuation);
|
|
55
|
+
const continuation = this.oauth ? undefined : parseContinuation(request.continuation);
|
|
45
56
|
return {
|
|
46
57
|
model: this.model,
|
|
58
|
+
...(this.oauth ? { store: false } : {}),
|
|
59
|
+
...(this.oauth ? { include: ["reasoning.encrypted_content"] } : {}),
|
|
47
60
|
instructions: request.systemPrompt,
|
|
48
|
-
input:
|
|
49
|
-
?
|
|
50
|
-
:
|
|
61
|
+
input: this.oauth
|
|
62
|
+
? toOAuthStatelessInput(request.messages, parseOAuthContinuation(request.continuation))
|
|
63
|
+
: continuation === undefined
|
|
64
|
+
? toInitialInput(request.messages)
|
|
65
|
+
: toContinuationInput(request.messages),
|
|
51
66
|
tools: request.tools.map(toOpenAITool),
|
|
52
67
|
parallel_tool_calls: false,
|
|
53
|
-
...(continuation
|
|
54
|
-
? {}
|
|
55
|
-
: {
|
|
68
|
+
...(!this.oauth && continuation !== undefined
|
|
69
|
+
? { previous_response_id: continuation.previousResponseId }
|
|
70
|
+
: {}),
|
|
56
71
|
};
|
|
57
72
|
}
|
|
58
73
|
}
|
|
@@ -67,6 +82,19 @@ function toLLMResponse(response) {
|
|
|
67
82
|
},
|
|
68
83
|
};
|
|
69
84
|
}
|
|
85
|
+
function toOAuthLLMResponse(response, messageCount, priorInput) {
|
|
86
|
+
const usage = fromResponsesUsage(response.usage);
|
|
87
|
+
return {
|
|
88
|
+
message: fromOpenAIResponse(response),
|
|
89
|
+
...(usage === undefined ? {} : { usage }),
|
|
90
|
+
continuation: {
|
|
91
|
+
provider: "openai-oauth-stateless",
|
|
92
|
+
messageCount,
|
|
93
|
+
priorInput,
|
|
94
|
+
responseOutput: response.output,
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
70
98
|
function parseContinuation(value) {
|
|
71
99
|
if (value === undefined) {
|
|
72
100
|
return undefined;
|
|
@@ -81,6 +109,40 @@ function parseContinuation(value) {
|
|
|
81
109
|
}
|
|
82
110
|
return value;
|
|
83
111
|
}
|
|
112
|
+
function parseOAuthContinuation(value) {
|
|
113
|
+
if (value === undefined)
|
|
114
|
+
return undefined;
|
|
115
|
+
// A continuation from the API-key Responses flow is intentionally ignored:
|
|
116
|
+
// OAuth must never use previous_response_id and can replay the transcript.
|
|
117
|
+
if (typeof value !== "object" || value === null ||
|
|
118
|
+
!("provider" in value) || value.provider !== "openai-oauth-stateless")
|
|
119
|
+
return undefined;
|
|
120
|
+
if (!("messageCount" in value) || !Number.isSafeInteger(value.messageCount) ||
|
|
121
|
+
value.messageCount < 0 ||
|
|
122
|
+
!("priorInput" in value) || !Array.isArray(value.priorInput) ||
|
|
123
|
+
!("responseOutput" in value) || !Array.isArray(value.responseOutput)) {
|
|
124
|
+
throw new TypeError("OpenAI OAuth received an incompatible continuation.");
|
|
125
|
+
}
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
function toOAuthStatelessInput(messages, continuation) {
|
|
129
|
+
if (continuation === undefined)
|
|
130
|
+
return toInitialInput(messages);
|
|
131
|
+
if (continuation.messageCount > messages.length) {
|
|
132
|
+
throw new TypeError("OpenAI OAuth continuation does not match the transcript.");
|
|
133
|
+
}
|
|
134
|
+
// With store:false, replay accumulated input, the prior response output
|
|
135
|
+
// (including reasoning), and only newly-added tool results. Prior assistant
|
|
136
|
+
// calls are already in responseOutput, so transcript assistant messages are
|
|
137
|
+
// omitted to avoid duplicating them.
|
|
138
|
+
const newMessages = messages.slice(continuation.messageCount).filter((message) => message.role !== "assistant");
|
|
139
|
+
const toolResults = newMessages.filter((message) => message.role === "tool");
|
|
140
|
+
return [
|
|
141
|
+
...continuation.priorInput,
|
|
142
|
+
...continuation.responseOutput,
|
|
143
|
+
...toInitialInput(toolResults),
|
|
144
|
+
];
|
|
145
|
+
}
|
|
84
146
|
/**
|
|
85
147
|
* Replays a whole transcript as Responses input. A session's second prompt
|
|
86
148
|
* starts a new request with earlier assistant turns and tool results already in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAmB5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/providers/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/remote/repl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,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,UAAU,EAAE,MAAM,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../../src/remote/repl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,aAAa,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,UAAU,EAAE,MAAM,CAAC;CAC7B;AAiBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,CAyFjB"}
|
package/dist/remote/repl.js
CHANGED
|
@@ -4,6 +4,12 @@ const HELP = `Commands:
|
|
|
4
4
|
/help Show this help
|
|
5
5
|
/session Show the served session's id, workspace and capabilities
|
|
6
6
|
/tools List the tools the server offers
|
|
7
|
+
/compact Unavailable for a remote connection
|
|
8
|
+
/plan Unavailable for a remote connection
|
|
9
|
+
/new Unavailable for a remote connection
|
|
10
|
+
/resume Unavailable for a remote connection
|
|
11
|
+
/rename Unavailable for a remote connection
|
|
12
|
+
/status Unavailable for a remote connection
|
|
7
13
|
/exit Leave this client (the server keeps running)
|
|
8
14
|
|
|
9
15
|
Anything else is sent to the server. Ctrl+C interrupts a running answer; at the prompt it detaches.
|
|
@@ -71,6 +77,9 @@ export async function runRemoteRepl(options) {
|
|
|
71
77
|
else if (command === "/tools") {
|
|
72
78
|
write(`${options.remote.toolNames.map((name) => ` ${name}`).join("\n")}\n`);
|
|
73
79
|
}
|
|
80
|
+
else if (["/compact", "/plan", "/new", "/resume", "/rename", "/status"].includes(command ?? "")) {
|
|
81
|
+
write(`${command} is unavailable over a remote connection. The command was not sent to the server.\n`);
|
|
82
|
+
}
|
|
74
83
|
else {
|
|
75
84
|
write(`Unknown command: ${trimmed}. Try /help.\n`);
|
|
76
85
|
}
|
package/dist/remote/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/remote/repl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWzC,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../src/remote/repl.ts"],"names":[],"mappings":"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"}
|
package/dist/repl.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { readLiveGitDiff } from "./tui/git-diff.js";
|
|
1
2
|
import type { AgentSession } from "./session.js";
|
|
2
3
|
import type { OutputStream } from "./render.js";
|
|
3
4
|
import type { RegisteredCommand } from "./extensions/api.js";
|
|
5
|
+
import type { LiveRegion } from "./tui/live.js";
|
|
6
|
+
import type { ShellApprovalGate } from "./shell/approval.js";
|
|
7
|
+
import { type PermissionMode, type PermissionPolicy } from "./permissions.js";
|
|
4
8
|
export declare const REPL_PROMPT = "\u203A ";
|
|
5
9
|
export type SlashCommandOutcome = "handled" | "exit" | "not-a-command"
|
|
6
10
|
/** The REPL runs the sign-in flow, which needs to read from the terminal. */
|
|
@@ -16,6 +20,23 @@ export type SlashCommandOutcome = "handled" | "exit" | "not-a-command"
|
|
|
16
20
|
} | {
|
|
17
21
|
readonly kind: "endpoint";
|
|
18
22
|
readonly argument: string;
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: "compact";
|
|
25
|
+
} | {
|
|
26
|
+
readonly kind: "rename";
|
|
27
|
+
readonly title: string;
|
|
28
|
+
} | {
|
|
29
|
+
readonly kind: "plan";
|
|
30
|
+
readonly enabled: boolean;
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: "permission-mode";
|
|
33
|
+
readonly mode: PermissionMode;
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "new-session";
|
|
36
|
+
readonly title?: string;
|
|
37
|
+
} | {
|
|
38
|
+
readonly kind: "resume-session";
|
|
39
|
+
readonly id?: string;
|
|
19
40
|
}
|
|
20
41
|
/** An extension command matched; the REPL runs it, since it may be async. */
|
|
21
42
|
| {
|
|
@@ -32,6 +53,22 @@ export interface SlashCommandContext {
|
|
|
32
53
|
/** Present when this session can store a key; absent for a signed-in remote. */
|
|
33
54
|
readonly signIn?: SignIn;
|
|
34
55
|
readonly providers?: ProviderControl;
|
|
56
|
+
readonly width?: number;
|
|
57
|
+
readonly color?: boolean;
|
|
58
|
+
readonly compactionEnabled?: boolean;
|
|
59
|
+
readonly providerName?: string;
|
|
60
|
+
readonly modelName?: string;
|
|
61
|
+
readonly permissions?: readonly string[];
|
|
62
|
+
readonly permissionPolicy?: PermissionPolicy;
|
|
63
|
+
readonly sessionOptions?: {
|
|
64
|
+
readonly list?: () => Promise<readonly {
|
|
65
|
+
readonly id: string;
|
|
66
|
+
readonly title?: string;
|
|
67
|
+
}[]>;
|
|
68
|
+
readonly create?: (title?: string) => Promise<AgentSession>;
|
|
69
|
+
readonly resume?: (id: string) => Promise<AgentSession | undefined>;
|
|
70
|
+
};
|
|
71
|
+
readonly sessionFileForSession?: (session: AgentSession) => string | undefined;
|
|
35
72
|
}
|
|
36
73
|
export interface ProviderSelection {
|
|
37
74
|
readonly ok: boolean;
|
|
@@ -56,9 +93,11 @@ export interface SignIn {
|
|
|
56
93
|
needsApiKey?(): Promise<boolean>;
|
|
57
94
|
/** Saves the key and puts it to use, or returns why it could not. */
|
|
58
95
|
submit(apiKey: string): Promise<string | undefined>;
|
|
96
|
+
oauth?(provider: "openai" | "xai", signal?: AbortSignal): Promise<string | undefined>;
|
|
97
|
+
signOut?(): Promise<string | undefined>;
|
|
59
98
|
unavailableMessage?(): string;
|
|
60
99
|
}
|
|
61
|
-
export declare const BUILT_IN_COMMANDS: readonly ["help", "session", "tools", "clear", "exit", "quit", "login", "provider", "model", "endpoint"];
|
|
100
|
+
export declare const BUILT_IN_COMMANDS: readonly ["help", "session", "status", "compact", "plan", "permissions", "new", "resume", "rename", "tools", "diff", "compose", "editor", "review", "gitdiff", "clear", "exit", "quit", "login", "logout", "provider", "model", "endpoint"];
|
|
62
101
|
/**
|
|
63
102
|
* Interprets one line of REPL input. Returns `not-a-command` when the line is
|
|
64
103
|
* an ordinary prompt for the model.
|
|
@@ -66,7 +105,13 @@ export declare const BUILT_IN_COMMANDS: readonly ["help", "session", "tools", "c
|
|
|
66
105
|
export declare function handleSlashCommand(line: string, context: SlashCommandContext): SlashCommandOutcome;
|
|
67
106
|
export interface ReplOptions {
|
|
68
107
|
readonly tui?: boolean;
|
|
108
|
+
/** Opt in to cursor-editable composer as the primary interactive input. */
|
|
109
|
+
readonly inlineComposer?: boolean;
|
|
69
110
|
readonly session: AgentSession;
|
|
111
|
+
readonly shellApproval?: ShellApprovalGate;
|
|
112
|
+
readonly liveRegion?: Pick<LiveRegion, "pause" | "resume">;
|
|
113
|
+
/** Injectable read-only Git implementation for terminal integration tests. */
|
|
114
|
+
readonly gitDiffReader?: typeof readLiveGitDiff;
|
|
70
115
|
readonly input: NodeJS.ReadableStream;
|
|
71
116
|
readonly output: NodeJS.WritableStream;
|
|
72
117
|
readonly stderr: OutputStream;
|
|
@@ -75,6 +120,13 @@ export interface ReplOptions {
|
|
|
75
120
|
readonly extensionCommands?: readonly RegisteredCommand[];
|
|
76
121
|
readonly signIn?: SignIn;
|
|
77
122
|
readonly providers?: ProviderControl;
|
|
123
|
+
readonly sessionOptions?: SlashCommandContext["sessionOptions"];
|
|
124
|
+
readonly compactionEnabled?: boolean;
|
|
125
|
+
readonly providerName?: string;
|
|
126
|
+
readonly modelName?: string;
|
|
127
|
+
readonly permissions?: readonly string[];
|
|
128
|
+
readonly permissionPolicy?: PermissionPolicy;
|
|
129
|
+
readonly sessionFileForSession?: SlashCommandContext["sessionFileForSession"];
|
|
78
130
|
}
|
|
79
131
|
/**
|
|
80
132
|
* Reads prompts until the user leaves. Ctrl+C cancels a running answer, keeping
|
package/dist/repl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repl.d.ts","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|