clanka 0.3.1 → 0.4.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/dist/Acp.d.ts.map +1 -1
- package/dist/Acp.js +3 -0
- package/dist/Acp.js.map +1 -1
- package/dist/Acp.test.js +58 -0
- package/dist/Acp.test.js.map +1 -1
- package/dist/Agent.d.ts.map +1 -1
- package/dist/Agent.js +86 -8
- package/dist/Agent.js.map +1 -1
- package/dist/Agent.test.js +671 -0
- package/dist/Agent.test.js.map +1 -1
- package/dist/AgentExecutor.d.ts +5 -0
- package/dist/AgentExecutor.d.ts.map +1 -1
- package/dist/AgentExecutor.js +22 -0
- package/dist/AgentExecutor.js.map +1 -1
- package/dist/AgentOutput.d.ts +49 -4
- package/dist/AgentOutput.d.ts.map +1 -1
- package/dist/AgentOutput.js +45 -0
- package/dist/AgentOutput.js.map +1 -1
- package/dist/AgentSkills.d.ts +56 -0
- package/dist/AgentSkills.d.ts.map +1 -0
- package/dist/AgentSkills.js +126 -0
- package/dist/AgentSkills.js.map +1 -0
- package/dist/AgentSkills.test.d.ts +2 -0
- package/dist/AgentSkills.test.d.ts.map +1 -0
- package/dist/AgentSkills.test.js +356 -0
- package/dist/AgentSkills.test.js.map +1 -0
- package/dist/Codex.js +1 -1
- package/dist/Codex.js.map +1 -1
- package/dist/Compaction.d.ts +342 -0
- package/dist/Compaction.d.ts.map +1 -0
- package/dist/Compaction.js +566 -0
- package/dist/Compaction.js.map +1 -0
- package/dist/Compaction.test.d.ts +2 -0
- package/dist/Compaction.test.d.ts.map +1 -0
- package/dist/Compaction.test.js +576 -0
- package/dist/Compaction.test.js.map +1 -0
- package/dist/CompactionTransport.test.d.ts +2 -0
- package/dist/CompactionTransport.test.d.ts.map +1 -0
- package/dist/CompactionTransport.test.js +123 -0
- package/dist/CompactionTransport.test.js.map +1 -0
- package/dist/Copilot.d.ts.map +1 -1
- package/dist/Copilot.js +7 -2
- package/dist/Copilot.js.map +1 -1
- package/dist/OutputFormatter.d.ts.map +1 -1
- package/dist/OutputFormatter.js +9 -0
- package/dist/OutputFormatter.js.map +1 -1
- package/dist/cli.js +13 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/Acp.test.ts +85 -0
- package/src/Acp.ts +2 -0
- package/src/Agent.test.ts +994 -0
- package/src/Agent.ts +127 -6
- package/src/AgentExecutor.ts +27 -0
- package/src/AgentOutput.ts +58 -0
- package/src/AgentSkills.test.ts +652 -0
- package/src/AgentSkills.ts +155 -0
- package/src/Codex.ts +3 -1
- package/src/Compaction.test.ts +824 -0
- package/src/Compaction.ts +788 -0
- package/src/CompactionTransport.test.ts +228 -0
- package/src/Copilot.ts +8 -1
- package/src/OutputFormatter.ts +9 -0
- package/src/cli.ts +26 -5
- package/src/index.ts +6 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { OpenAiClient } from "@effect/ai-openai";
|
|
2
|
+
import { OpenAiClient as CompatClient } from "@effect/ai-openai-compat";
|
|
3
|
+
import { assert, describe, it } from "@effect/vitest";
|
|
4
|
+
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Exit from "effect/Exit";
|
|
6
|
+
import * as Layer from "effect/Layer";
|
|
7
|
+
import * as Option from "effect/Option";
|
|
8
|
+
import * as Stream from "effect/Stream";
|
|
9
|
+
import * as AiError from "effect/unstable/ai/AiError";
|
|
10
|
+
import * as LanguageModel from "effect/unstable/ai/LanguageModel";
|
|
11
|
+
import * as Prompt from "effect/unstable/ai/Prompt";
|
|
12
|
+
import * as HttpClient from "effect/unstable/http/HttpClient";
|
|
13
|
+
import * as HttpClientResponse from "effect/unstable/http/HttpClientResponse";
|
|
14
|
+
import * as Codex from "./Codex.js";
|
|
15
|
+
import * as Compaction from "./Compaction.js";
|
|
16
|
+
import * as Copilot from "./Copilot.js";
|
|
17
|
+
const user = (text) => Prompt.makeMessage("user", {
|
|
18
|
+
content: [Prompt.makePart("text", { text })],
|
|
19
|
+
});
|
|
20
|
+
const history = Prompt.fromMessages([
|
|
21
|
+
user("old context ".repeat(1_000)),
|
|
22
|
+
user("continue"),
|
|
23
|
+
]);
|
|
24
|
+
const summaryPrompt = Compaction.summarizerPrompt({
|
|
25
|
+
previousSummary: Option.none(),
|
|
26
|
+
messages: history.content,
|
|
27
|
+
});
|
|
28
|
+
// Use the real provider model and client. Stop at the transport boundary so no
|
|
29
|
+
// credentials, network access, or permissive scripted LanguageModel are involved.
|
|
30
|
+
const captureHttp = () => {
|
|
31
|
+
const requests = [];
|
|
32
|
+
const client = HttpClient.make((request) => Effect.sync(() => {
|
|
33
|
+
requests.push(request);
|
|
34
|
+
return HttpClientResponse.fromWeb(request, new Response(JSON.stringify({
|
|
35
|
+
error: {
|
|
36
|
+
message: "transport probe",
|
|
37
|
+
type: "invalid_request_error",
|
|
38
|
+
},
|
|
39
|
+
}), { status: 400, headers: { "content-type": "application/json" } }));
|
|
40
|
+
}));
|
|
41
|
+
return { requests, layer: Layer.succeed(HttpClient.HttpClient, client) };
|
|
42
|
+
};
|
|
43
|
+
const body = (request) => {
|
|
44
|
+
if (request.body._tag !== "Uint8Array")
|
|
45
|
+
throw new Error("expected a JSON request body");
|
|
46
|
+
return JSON.parse(new TextDecoder().decode(request.body.body));
|
|
47
|
+
};
|
|
48
|
+
const compact = Compaction.compact({
|
|
49
|
+
prompt: history,
|
|
50
|
+
reason: "threshold",
|
|
51
|
+
}).pipe(Effect.provide(Compaction.CompactionConfig.layer({ keepRecentTokens: 100 })));
|
|
52
|
+
const streamedSummary = Effect.gen(function* () {
|
|
53
|
+
const ai = yield* LanguageModel.LanguageModel;
|
|
54
|
+
const transform = yield* Compaction.SummarizerTransform;
|
|
55
|
+
return yield* transform(ai.streamText({ prompt: summaryPrompt }).pipe(Stream.runDrain));
|
|
56
|
+
});
|
|
57
|
+
const socketError = AiError.make({
|
|
58
|
+
module: "test/socket",
|
|
59
|
+
method: "createResponseStream",
|
|
60
|
+
reason: new AiError.InvalidRequestError({ description: "transport probe" }),
|
|
61
|
+
});
|
|
62
|
+
describe("Compaction provider transport", () => {
|
|
63
|
+
it.effect("sets stream: true on the Codex HTTP summarization request", () => Effect.gen(function* () {
|
|
64
|
+
const http = captureHttp();
|
|
65
|
+
const exit = yield* compact.pipe(Effect.provide(Codex.model("gpt-6-astra").pipe(Layer.provide(OpenAiClient.layer({ apiUrl: "https://codex.test" }).pipe(Layer.provide(http.layer))))), Effect.exit);
|
|
66
|
+
assert.isTrue(Exit.isFailure(exit));
|
|
67
|
+
assert.strictEqual(http.requests.length, 1);
|
|
68
|
+
assert.strictEqual(http.requests[0].url, "https://codex.test/responses");
|
|
69
|
+
const request = body(http.requests[0]);
|
|
70
|
+
assert.strictEqual(request.stream, true, "Codex rejects non-streaming responses with HTTP 400");
|
|
71
|
+
assert.isFalse("max_output_tokens" in request);
|
|
72
|
+
assert.deepStrictEqual(request.tools ?? [], []);
|
|
73
|
+
}));
|
|
74
|
+
it.effect("routes compaction through the installed OpenAiSocket rather than HTTP", () => Effect.gen(function* () {
|
|
75
|
+
const http = captureHttp();
|
|
76
|
+
const requests = [];
|
|
77
|
+
const exit = yield* compact.pipe(Effect.provideService(OpenAiClient.OpenAiSocket, {
|
|
78
|
+
createResponseStream: (request) => Effect.suspend(() => {
|
|
79
|
+
requests.push(request);
|
|
80
|
+
return Effect.fail(socketError);
|
|
81
|
+
}),
|
|
82
|
+
}), Effect.provide(Codex.model("gpt-6-astra").pipe(Layer.provide(OpenAiClient.layer({ apiUrl: "https://codex.test" }).pipe(Layer.provide(http.layer))))), Effect.exit);
|
|
83
|
+
assert.strictEqual(http.requests.length, 0, "generateText bypasses the websocket and must not be used here");
|
|
84
|
+
assert.strictEqual(requests.length, 1);
|
|
85
|
+
assert.deepStrictEqual(exit, Exit.fail(socketError));
|
|
86
|
+
assert.isFalse("max_output_tokens" in requests[0]);
|
|
87
|
+
assert.deepStrictEqual(requests[0].tools ?? [], []);
|
|
88
|
+
}));
|
|
89
|
+
it.effect("omits the unsupported Codex output-token cap even when streaming is selected", () => Effect.gen(function* () {
|
|
90
|
+
const http = captureHttp();
|
|
91
|
+
yield* streamedSummary.pipe(Effect.provide(Codex.model("gpt-6-astra").pipe(Layer.provide(OpenAiClient.layer({ apiUrl: "https://codex.test" }).pipe(Layer.provide(http.layer))))), Effect.exit);
|
|
92
|
+
assert.strictEqual(http.requests.length, 1);
|
|
93
|
+
const request = body(http.requests[0]);
|
|
94
|
+
assert.strictEqual(request.stream, true);
|
|
95
|
+
// The live Codex backend rejects this parameter; a 4k cap is unavailable.
|
|
96
|
+
assert.isFalse("max_output_tokens" in request, "Codex does not support max_output_tokens");
|
|
97
|
+
assert.deepInclude(request.input, {
|
|
98
|
+
role: "system",
|
|
99
|
+
content: [{ type: "input_text", text: Compaction.summarizerSystem }],
|
|
100
|
+
});
|
|
101
|
+
}));
|
|
102
|
+
it.effect("retains Copilot's 4k wire-level cap only for the streamed summary", () => Effect.gen(function* () {
|
|
103
|
+
const http = captureHttp();
|
|
104
|
+
yield* Effect.gen(function* () {
|
|
105
|
+
yield* streamedSummary.pipe(Effect.exit);
|
|
106
|
+
const ai = yield* LanguageModel.LanguageModel;
|
|
107
|
+
yield* ai
|
|
108
|
+
.streamText({ prompt: "continue" })
|
|
109
|
+
.pipe(Stream.runDrain, Effect.exit);
|
|
110
|
+
}).pipe(Effect.provide(Copilot.model("gpt-4.1").pipe(Layer.provide(CompatClient.layer({ apiUrl: "https://copilot.test" }).pipe(Layer.provide(http.layer))))));
|
|
111
|
+
assert.strictEqual(http.requests.length, 2);
|
|
112
|
+
assert.strictEqual(http.requests[0].url, "https://copilot.test/chat/completions");
|
|
113
|
+
const summary = body(http.requests[0]);
|
|
114
|
+
const continuation = body(http.requests[1]);
|
|
115
|
+
assert.strictEqual(summary.stream, true);
|
|
116
|
+
// The compatibility client translates max_output_tokens to max_tokens.
|
|
117
|
+
assert.strictEqual(summary.max_tokens, 4_000);
|
|
118
|
+
assert.deepStrictEqual(summary.tools ?? [], []);
|
|
119
|
+
assert.isFalse("max_tokens" in continuation, "summary override must not leak into the next model call");
|
|
120
|
+
assert.strictEqual(continuation.stream, true);
|
|
121
|
+
}));
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=CompactionTransport.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompactionTransport.test.js","sourceRoot":"","sources":["../src/CompactionTransport.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AACnC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAA;AACrD,OAAO,KAAK,aAAa,MAAM,kCAAkC,CAAA;AACjE,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAE7D,OAAO,KAAK,kBAAkB,MAAM,yCAAyC,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,EAAE,CAC5B,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;IACzB,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;CAC7C,CAAC,CAAA;AACJ,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC;IAClC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC;CACjB,CAAC,CAAA;AACF,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE;IAC9B,QAAQ,EAAE,OAAO,CAAC,OAAO;CAC1B,CAAC,CAAA;AAEF,+EAA+E;AAC/E,kFAAkF;AAClF,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,QAAQ,GAA+C,EAAE,CAAA;IAC/D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACzC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,kBAAkB,CAAC,OAAO,CAC/B,OAAO,EACP,IAAI,QAAQ,CACV,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE;gBACL,OAAO,EAAE,iBAAiB;gBAC1B,IAAI,EAAE,uBAAuB;aAC9B;SACF,CAAC,EACF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,CACjE,CACF,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAA;AAC1E,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CACX,OAA4C,EACnB,EAAE;IAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;QACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;IACjC,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAC7E,CAAA;AAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,aAAa,CAAA;IAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAA;IACvD,OAAO,KAAK,CAAC,CAAC,SAAS,CACrB,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC/D,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;CAC5E,CAAC,CAAA;AAEF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,MAAM,CAAC,2DAA2D,EAAE,GAAG,EAAE,CAC1E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAC9B,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAC7B,KAAK,CAAC,OAAO,CACX,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,IAAI,CACvD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1B,CACF,CACF,CACF,EACD,MAAM,CAAC,IAAI,CACZ,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QACnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAA;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,MAAM,EACd,IAAI,EACJ,qDAAqD,CACtD,CAAA;QACD,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAA;QAC9C,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACjD,CAAC,CAAC,CACH,CAAA;IAED,EAAE,CAAC,MAAM,CACP,uEAAuE,EACvE,GAAG,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;QAC1B,MAAM,QAAQ,GAIV,EAAE,CAAA;QACN,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAC9B,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,EAAE;YAC/C,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAChC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACtB,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACjC,CAAC,CAAC;SACL,CAAC,EACF,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAC7B,KAAK,CAAC,OAAO,CACX,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,IAAI,CACvD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1B,CACF,CACF,CACF,EACD,MAAM,CAAC,IAAI,CACZ,CAAA;QACD,MAAM,CAAC,WAAW,CAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,CAAC,EACD,+DAA+D,CAChE,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACtC,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAA;QACnD,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACtD,CAAC,CAAC,CACL,CAAA;IAED,EAAE,CAAC,MAAM,CACP,8EAA8E,EAC9E,GAAG,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;QAC1B,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CACzB,MAAM,CAAC,OAAO,CACZ,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAC7B,KAAK,CAAC,OAAO,CACX,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,IAAI,CACvD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1B,CACF,CACF,CACF,EACD,MAAM,CAAC,IAAI,CACZ,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACxC,0EAA0E;QAC1E,MAAM,CAAC,OAAO,CACZ,mBAAmB,IAAI,OAAO,EAC9B,0CAA0C,CAC3C,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE;YAChC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,CAAC,gBAAgB,EAAE,CAAC;SACrE,CAAC,CAAA;IACJ,CAAC,CAAC,CACL,CAAA;IAED,EAAE,CAAC,MAAM,CACP,mEAAmE,EACnE,GAAG,EAAE,CACH,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;QAC1B,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YACzB,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,aAAa,CAAC,aAAa,CAAA;YAC7C,KAAK,CAAC,CAAC,EAAE;iBACN,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;iBAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CACZ,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAC3B,KAAK,CAAC,OAAO,CACX,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC,IAAI,CACzD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAC1B,CACF,CACF,CACF,CACF,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAC3C,MAAM,CAAC,WAAW,CAChB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,GAAG,EACrB,uCAAuC,CACxC,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAA;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAA;QAC5C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACxC,uEAAuE;QACvE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC7C,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QAC/C,MAAM,CAAC,OAAO,CACZ,YAAY,IAAI,YAAY,EAC5B,yDAAyD,CAC1D,CAAA;QACD,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC,CAAC,CACL,CAAA;AACH,CAAC,CAAC,CAAA"}
|
package/dist/Copilot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Copilot.d.ts","sourceRoot":"","sources":["../src/Copilot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Copilot.d.ts","sourceRoot":"","sources":["../src/Copilot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,KAAK,aAAa,MAAM,kCAAkC,CAAA;AAEtE;;;GAGG;AACH,eAAO,MAAM,WAAW,8NAE6B,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,KAAK,UACT,MAAM,YAET,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,gBAAgB,CAAC,OAAO,CAAC,GACzE,SAAS,KACZ,KAAK,CAAC,KAAK,CACZ,QAAQ,EACR,aAAa,CAAC,aAAa,EAC3B,YAAY,CAAC,YAAY,CAoBxB,CAAA"}
|
package/dist/Copilot.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as Layer from "effect/Layer";
|
|
|
6
6
|
import * as Struct from "effect/Struct";
|
|
7
7
|
import { API_URL, GithubCopilotAuth } from "./CopilotAuth.js";
|
|
8
8
|
import { AgentModelConfig } from "./Agent.js";
|
|
9
|
+
import * as Compaction from "./Compaction.js";
|
|
9
10
|
import * as Model from "effect/unstable/ai/Model";
|
|
10
11
|
/**
|
|
11
12
|
* @since 1.0.0
|
|
@@ -18,10 +19,14 @@ export const layerClient = OpenAiClient.layer({
|
|
|
18
19
|
* @since 1.0.0
|
|
19
20
|
* @category Layers
|
|
20
21
|
*/
|
|
21
|
-
export const model = (model, options) => Model.make("openai", model, Layer.
|
|
22
|
+
export const model = (model, options) => Model.make("openai", model, Layer.mergeAll(OpenAiLanguageModel.layer({
|
|
22
23
|
model,
|
|
23
24
|
config: Struct.omit(options ?? {}, ["systemPromptTransform"]),
|
|
24
25
|
}), AgentModelConfig.layer({
|
|
25
26
|
systemPromptTransform: options?.systemPromptTransform,
|
|
26
|
-
})
|
|
27
|
+
}),
|
|
28
|
+
// Cap compaction summaries; Copilot honours max_output_tokens.
|
|
29
|
+
Layer.succeed(Compaction.SummarizerTransform, (effect) => OpenAiLanguageModel.withConfigOverride(effect, {
|
|
30
|
+
max_output_tokens: Compaction.summarizerMaxOutputTokens,
|
|
31
|
+
}))));
|
|
27
32
|
//# sourceMappingURL=Copilot.js.map
|
package/dist/Copilot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Copilot.js","sourceRoot":"","sources":["../src/Copilot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AAGjD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;IAC5C,MAAM,EAAE,OAAO;CAChB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAAa,EACb,OAEa,EAKb,EAAE,CACF,KAAK,CAAC,IAAI,CACR,QAAQ,EACR,KAAK,EACL,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Copilot.js","sourceRoot":"","sources":["../src/Copilot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AAGjD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC;IAC5C,MAAM,EAAE,OAAO;CAChB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;AAErD;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAAa,EACb,OAEa,EAKb,EAAE,CACF,KAAK,CAAC,IAAI,CACR,QAAQ,EACR,KAAK,EACL,KAAK,CAAC,QAAQ,CACZ,mBAAmB,CAAC,KAAK,CAAC;IACxB,KAAK;IACL,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC;CAC9D,CAAC,EACF,gBAAgB,CAAC,KAAK,CAAC;IACrB,qBAAqB,EAAE,OAAO,EAAE,qBAAqB;CACtD,CAAC;AACF,+DAA+D;AAC/D,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CACvD,mBAAmB,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC7C,iBAAiB,EAAE,UAAU,CAAC,yBAAyB;CACxD,CAAC,CACH,CACF,CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputFormatter.d.ts","sourceRoot":"","sources":["../src/OutputFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAO7D;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,MAAM,aAAc;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CACzD,KAAG,
|
|
1
|
+
{"version":3,"file":"OutputFormatter.d.ts","sourceRoot":"","sources":["../src/OutputFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAO7D;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC,EACjC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,MAAM,aAAc;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAA;CACzD,KAAG,eA0FH,CAAA;;QAoCO,CAAC,EAAE,CAAC,SACC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,GACjD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;qBACf,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAV1C;;;GAGG;AACH,qBAAa,KAAM,SAAQ,UAQQ;CAAG;AAEtC;;;GAGG;AACH,eAAO,MAAM,UAAU,cAAe,eAAe,qCAsDlD,CAAA"}
|
package/dist/OutputFormatter.js
CHANGED
|
@@ -77,6 +77,15 @@ ${output.summary}\n\n`;
|
|
|
77
77
|
case "Usage": {
|
|
78
78
|
return `${prefix}${chalkInfoHeading(`${infoIcon} Usage:`)} ${numberFormat.format(output.contextTokens)} context / ${numberFormat.format(output.inputTokens)} input / ${numberFormat.format(output.outputTokens)} output\n\n`;
|
|
79
79
|
}
|
|
80
|
+
case "ExecuteOutputCapped": {
|
|
81
|
+
return `${prefix}${chalkInfoHeading(`${infoIcon} Output capped:`)} ${numberFormat.format(output.charsBefore)} chars reduced to ${numberFormat.format(output.charsAfter)}\n\n`;
|
|
82
|
+
}
|
|
83
|
+
case "CompactionStarted": {
|
|
84
|
+
return `${prefix}${chalkInfoHeading(`${infoIcon} Compacting context (${output.reason})...`)}\n\n`;
|
|
85
|
+
}
|
|
86
|
+
case "CompactionEnded": {
|
|
87
|
+
return `${prefix}${chalkInfoHeading(`${infoIcon} Context compacted (${output.reason}):`)} ~${numberFormat.format(output.tokensBefore)} tokens to ~${numberFormat.format(output.tokensAfter)}\n\n`;
|
|
88
|
+
}
|
|
80
89
|
}
|
|
81
90
|
}), Stream.catchIf((e) => Predicate.isTagged(e, "AgentFinished"), (finished) => Stream.succeed(`\n${chalk.bold.green(`${doneIcon} Task complete:`)}\n\n${finished.summary}`), (e) => Stream.die(e)));
|
|
82
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OutputFormatter.js","sourceRoot":"","sources":["../src/OutputFormatter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OutputFormatter.js","sourceRoot":"","sources":["../src/OutputFormatter.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -12,6 +12,7 @@ import * as AgentExecutor from "./AgentExecutor.js";
|
|
|
12
12
|
import * as Codex from "./Codex.js";
|
|
13
13
|
import * as Copilot from "./Copilot.js";
|
|
14
14
|
import * as Agent from "./Agent.js";
|
|
15
|
+
import * as Compaction from "./Compaction.js";
|
|
15
16
|
import * as Stream from "effect/Stream";
|
|
16
17
|
import * as OutputFormatter from "./OutputFormatter.js";
|
|
17
18
|
import * as Stdio from "effect/Stdio";
|
|
@@ -70,6 +71,8 @@ const model = Flag.String("model").pipe(Flag.withAlias("m"), Flag.withFallbackPr
|
|
|
70
71
|
})));
|
|
71
72
|
const semantic = Flag.Directory("search").pipe(Flag.withDescription("Directory for semantic search data (uses OPENAI_API_KEY env var)"), Flag.withAlias("s"), Flag.optional);
|
|
72
73
|
const prompt = Flag.String("prompt").pipe(Flag.withDescription("Pass a prompt in non-interactive mode"), Flag.optional);
|
|
74
|
+
// Kill switch: `--no-compaction` or CLANKA_COMPACTION=false.
|
|
75
|
+
const compaction = Flag.Boolean("compaction").pipe(Flag.withDescription("Auto-compact the conversation history when it nears the context window. Disable with --no-compaction or CLANKA_COMPACTION=false; the execute output cap stays on."), Flag.withFallbackConfig(Config.Boolean("CLANKA_COMPACTION").pipe(Config.withDefault(true))));
|
|
73
76
|
const Kvs = Layer.unwrap(Effect.gen(function* () {
|
|
74
77
|
const path = yield* Path.Path;
|
|
75
78
|
const configHome = yield* Config.NonEmptyString("XDG_CONFIG_HOME").pipe(Config.orElse(() => Config.NonEmptyString("HOME").pipe(Config.map((home) => path.join(home, ".config")))));
|
|
@@ -93,13 +96,19 @@ const Search = (directory) => Layer.unwrap(Effect.gen(function* () {
|
|
|
93
96
|
})));
|
|
94
97
|
})).pipe(Layer.provide([NodeServices.layer, NodeHttpClient.layerUndici]));
|
|
95
98
|
const acpModel = Flag.String("model").pipe(Flag.withAlias("m"), Flag.withDescription("Default model as <provider>/<model>/<effort>, e.g. openai/gpt-6-astra/medium"), Flag.withSchema(ModelId), Flag.withDefault("openai/gpt-6-astra/medium"));
|
|
96
|
-
const acp = Command.make("acp", { model: acpModel }).pipe(Command.withDescription("Run as an Agent Client Protocol (ACP) server over stdio"), Command.withHandler(({ model }) => Acp.runStdio({
|
|
99
|
+
const acp = Command.make("acp", { model: acpModel, compaction }).pipe(Command.withDescription("Run as an Agent Client Protocol (ACP) server over stdio"), Command.withHandler(({ model }) => Acp.runStdio({
|
|
97
100
|
version,
|
|
98
101
|
defaultModel: model,
|
|
99
102
|
makeAgent: (cwd) => Agent.make.pipe(Effect.provide(AgentExecutor.layerLocal({ directory: cwd }))),
|
|
100
103
|
makeModel: (modelId) => Option.map(parseModelId(modelId), ({ provider, model, effort }) => modelLayer(provider, model, effort)),
|
|
101
|
-
})), Command.provide(Layer.mergeAll(Agent.ConversationMode.layer(true), Layer.succeed(Logger.LogToStderr, true), DeviceCodeHandler.layerLog)));
|
|
102
|
-
Command.make("clanka", {
|
|
104
|
+
})), Command.provide(({ compaction }) => Layer.mergeAll(Agent.ConversationMode.layer(true), Layer.succeed(Logger.LogToStderr, true), DeviceCodeHandler.layerLog, Compaction.CompactionConfig.layer({ enabled: compaction }))));
|
|
105
|
+
Command.make("clanka", {
|
|
106
|
+
provider,
|
|
107
|
+
model,
|
|
108
|
+
semantic,
|
|
109
|
+
prompt,
|
|
110
|
+
compaction,
|
|
111
|
+
}).pipe(Command.withHandler(Effect.fnUntraced(function* ({ provider, model: modelRaw, semantic, prompt: nonInteractivePrompt, }) {
|
|
103
112
|
const stdio = yield* Stdio.Stdio;
|
|
104
113
|
const [model, reasoning] = modelRaw.split("/");
|
|
105
114
|
const Model = modelLayer(provider, model, reasoning);
|
|
@@ -124,7 +133,7 @@ Command.make("clanka", { provider, model, semantic, prompt }).pipe(Command.withH
|
|
|
124
133
|
}))),
|
|
125
134
|
Model,
|
|
126
135
|
]));
|
|
127
|
-
})), Command.provide(({ prompt }) => Agent.ConversationMode.layer(Option.isNone(prompt))), Command.withSubcommands([acp]), Command.run({
|
|
136
|
+
})), Command.provide(({ prompt, compaction }) => Layer.mergeAll(Agent.ConversationMode.layer(Option.isNone(prompt)), Compaction.CompactionConfig.layer({ enabled: compaction }))), Command.withSubcommands([acp]), Command.run({
|
|
128
137
|
version,
|
|
129
138
|
}), Effect.provide([
|
|
130
139
|
NodeServices.layer,
|
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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * as Agent from "./Agent.ts";
|
|
|
10
10
|
* @since 1.0.0
|
|
11
11
|
*/
|
|
12
12
|
export * as AgentExecutor from "./AgentExecutor.ts";
|
|
13
|
+
export * as AgentSkills from "./AgentSkills.ts";
|
|
13
14
|
/**
|
|
14
15
|
* @since 1.0.0
|
|
15
16
|
*/
|
|
@@ -26,6 +27,10 @@ export * as Codex from "./Codex.ts";
|
|
|
26
27
|
* @since 1.0.0
|
|
27
28
|
*/
|
|
28
29
|
export * as CodeChunker from "./CodeChunker.ts";
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
export * as Compaction from "./Compaction.ts";
|
|
29
34
|
/**
|
|
30
35
|
* @since 1.0.0
|
|
31
36
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * as Agent from "./Agent.js";
|
|
|
10
10
|
* @since 1.0.0
|
|
11
11
|
*/
|
|
12
12
|
export * as AgentExecutor from "./AgentExecutor.js";
|
|
13
|
+
export * as AgentSkills from "./AgentSkills.js";
|
|
13
14
|
/**
|
|
14
15
|
* @since 1.0.0
|
|
15
16
|
*/
|
|
@@ -26,6 +27,10 @@ export * as Codex from "./Codex.js";
|
|
|
26
27
|
* @since 1.0.0
|
|
27
28
|
*/
|
|
28
29
|
export * as CodeChunker from "./CodeChunker.js";
|
|
30
|
+
/**
|
|
31
|
+
* @since 1.0.0
|
|
32
|
+
*/
|
|
33
|
+
export * as Compaction from "./Compaction.js";
|
|
29
34
|
/**
|
|
30
35
|
* @since 1.0.0
|
|
31
36
|
*/
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAE7C;;GAEG;AACH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAEvC;;GAEG;AACH,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAA;AAE3D;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAErD;;GAEG;AACH,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA"}
|
package/package.json
CHANGED
package/src/Acp.test.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as Fiber from "effect/Fiber"
|
|
|
4
4
|
import * as Layer from "effect/Layer"
|
|
5
5
|
import * as Option from "effect/Option"
|
|
6
6
|
import * as Stream from "effect/Stream"
|
|
7
|
+
import * as Prompt from "effect/unstable/ai/Prompt"
|
|
7
8
|
import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore"
|
|
8
9
|
import * as LanguageModel from "effect/unstable/ai/LanguageModel"
|
|
9
10
|
import * as Model from "effect/unstable/ai/Model"
|
|
@@ -11,6 +12,7 @@ import type * as Response from "effect/unstable/ai/Response"
|
|
|
11
12
|
import * as Acp from "./Acp.ts"
|
|
12
13
|
import * as Agent from "./Agent.ts"
|
|
13
14
|
import * as AgentExecutor from "./AgentExecutor.ts"
|
|
15
|
+
import * as Compaction from "./Compaction.ts"
|
|
14
16
|
|
|
15
17
|
type Message = {
|
|
16
18
|
readonly id?: number
|
|
@@ -24,6 +26,7 @@ const capabilities = new AgentExecutor.Capabilities({
|
|
|
24
26
|
toolsDts: "",
|
|
25
27
|
agentsMd: Option.none(),
|
|
26
28
|
supportsSearch: false,
|
|
29
|
+
skills: [],
|
|
27
30
|
})
|
|
28
31
|
|
|
29
32
|
const executor = AgentExecutor.AgentExecutor.of({
|
|
@@ -233,6 +236,88 @@ describe("Acp", () => {
|
|
|
233
236
|
),
|
|
234
237
|
)
|
|
235
238
|
|
|
239
|
+
it.effect(
|
|
240
|
+
"hides a persisted compaction summary during replay but keeps it for the next model call",
|
|
241
|
+
() =>
|
|
242
|
+
withStore(
|
|
243
|
+
Effect.scoped(
|
|
244
|
+
Effect.gen(function* () {
|
|
245
|
+
const kvs = yield* KeyValueStore.KeyValueStore
|
|
246
|
+
const store = KeyValueStore.toSchemaStore(
|
|
247
|
+
KeyValueStore.prefix(kvs, "session-"),
|
|
248
|
+
Acp.SessionRecord,
|
|
249
|
+
)
|
|
250
|
+
const sessionId = "compacted-session"
|
|
251
|
+
const userText =
|
|
252
|
+
"Explain the <compaction-summary> tag without hiding this message"
|
|
253
|
+
const history = Compaction.rewrite({
|
|
254
|
+
system: Option.some(
|
|
255
|
+
Prompt.makeMessage("system", { content: "Original system" }),
|
|
256
|
+
),
|
|
257
|
+
summary: "PRIVATE-COMPACTION-SUMMARY",
|
|
258
|
+
kept: [
|
|
259
|
+
Prompt.makeMessage("user", {
|
|
260
|
+
content: [Prompt.makePart("text", { text: userText })],
|
|
261
|
+
}),
|
|
262
|
+
Prompt.makeMessage("assistant", {
|
|
263
|
+
content: [
|
|
264
|
+
Prompt.makePart("text", { text: "Kept assistant reply" }),
|
|
265
|
+
],
|
|
266
|
+
}),
|
|
267
|
+
],
|
|
268
|
+
})
|
|
269
|
+
yield* store.set(
|
|
270
|
+
sessionId,
|
|
271
|
+
new Acp.SessionRecord({
|
|
272
|
+
cwd: "/tmp",
|
|
273
|
+
model: "test/model",
|
|
274
|
+
history,
|
|
275
|
+
}),
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
let modelPrompt: Prompt.Prompt | undefined
|
|
279
|
+
const server = yield* makeServer((options) => {
|
|
280
|
+
modelPrompt = options.prompt
|
|
281
|
+
return assistantSays("Continued after reload")
|
|
282
|
+
})
|
|
283
|
+
const loaded = yield* server.request(1, "session/load", {
|
|
284
|
+
sessionId,
|
|
285
|
+
cwd: "/tmp",
|
|
286
|
+
})
|
|
287
|
+
assert.isUndefined(loaded.error)
|
|
288
|
+
const replay = server.updates(sessionId)
|
|
289
|
+
|
|
290
|
+
const continued = yield* server.request(2, "session/prompt", {
|
|
291
|
+
sessionId,
|
|
292
|
+
prompt: [{ type: "text", text: "continue" }],
|
|
293
|
+
})
|
|
294
|
+
assert.deepStrictEqual(continued.result, { stopReason: "end_turn" })
|
|
295
|
+
assert.isDefined(modelPrompt)
|
|
296
|
+
assert.deepStrictEqual(
|
|
297
|
+
Compaction.findPreviousSummary(modelPrompt!),
|
|
298
|
+
Option.some("PRIVATE-COMPACTION-SUMMARY"),
|
|
299
|
+
)
|
|
300
|
+
const persisted = Option.getOrThrow(yield* store.get(sessionId))
|
|
301
|
+
assert.deepStrictEqual(
|
|
302
|
+
Compaction.findPreviousSummary(persisted.history),
|
|
303
|
+
Option.some("PRIVATE-COMPACTION-SUMMARY"),
|
|
304
|
+
)
|
|
305
|
+
|
|
306
|
+
assert.deepStrictEqual(replay, [
|
|
307
|
+
{
|
|
308
|
+
sessionUpdate: "user_message_chunk",
|
|
309
|
+
content: { type: "text", text: userText },
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
sessionUpdate: "agent_message_chunk",
|
|
313
|
+
content: { type: "text", text: "Kept assistant reply" },
|
|
314
|
+
},
|
|
315
|
+
])
|
|
316
|
+
}),
|
|
317
|
+
),
|
|
318
|
+
),
|
|
319
|
+
)
|
|
320
|
+
|
|
236
321
|
it.effect("rejects unknown models and methods", () =>
|
|
237
322
|
withStore(
|
|
238
323
|
Effect.scoped(
|
package/src/Acp.ts
CHANGED
|
@@ -28,6 +28,7 @@ import * as Prompt from "effect/unstable/ai/Prompt"
|
|
|
28
28
|
import * as KeyValueStore from "effect/unstable/persistence/KeyValueStore"
|
|
29
29
|
import type * as Agent from "./Agent.ts"
|
|
30
30
|
import type * as AgentOutput from "./AgentOutput.ts"
|
|
31
|
+
import * as Compaction from "./Compaction.ts"
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* @since 1.0.0
|
|
@@ -200,6 +201,7 @@ const historyUpdates = (history: Prompt.Prompt) => {
|
|
|
200
201
|
const updates: Array<object> = []
|
|
201
202
|
for (const message of history.content) {
|
|
202
203
|
if (message.role !== "user" && message.role !== "assistant") continue
|
|
204
|
+
if (Compaction.isSummaryMessage(message)) continue
|
|
203
205
|
const sessionUpdate =
|
|
204
206
|
message.role === "user" ? "user_message_chunk" : "agent_message_chunk"
|
|
205
207
|
for (const part of message.content) {
|