clanka 0.7.3 → 0.7.4
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 +10 -0
- package/dist/Acp.d.ts.map +1 -1
- package/dist/Acp.js +1 -2
- package/dist/Acp.js.map +1 -1
- package/dist/AgentTools.d.ts.map +1 -1
- package/dist/AgentTools.js +1 -2
- package/dist/AgentTools.js.map +1 -1
- package/dist/GlobalWebSocket.d.ts +15 -0
- package/dist/GlobalWebSocket.d.ts.map +1 -0
- package/dist/GlobalWebSocket.js +26 -0
- package/dist/GlobalWebSocket.js.map +1 -0
- package/dist/WebToMarkdown.d.ts.map +1 -1
- package/dist/WebToMarkdown.js +8 -4
- package/dist/WebToMarkdown.js.map +1 -1
- package/dist/bin/Effect-DdkIoNCD.mjs +5058 -0
- package/dist/bin/Effect-DdkIoNCD.mjs.map +1 -0
- package/dist/bin/{McpClient-D6vFD-wP.mjs → McpClient-CJ0Vugoi.mjs} +582 -2896
- package/dist/bin/{McpClient-D6vFD-wP.mjs.map → McpClient-CJ0Vugoi.mjs.map} +1 -1
- package/dist/bin/OutputFormatter-DN8OGwuK.mjs +575 -0
- package/dist/bin/OutputFormatter-DN8OGwuK.mjs.map +1 -0
- package/dist/bin/Schema-BALIXGp7.mjs +5475 -0
- package/dist/bin/Schema-BALIXGp7.mjs.map +1 -0
- package/dist/bin/{SemanticSearch-D9iZ_Mi9.mjs → SemanticSearch-O6PZBRfd.mjs} +147 -1160
- package/dist/bin/{SemanticSearch-D9iZ_Mi9.mjs.map → SemanticSearch-O6PZBRfd.mjs.map} +1 -1
- package/dist/bin/Stream-B5ebASRi.mjs +2090 -0
- package/dist/bin/Stream-B5ebASRi.mjs.map +1 -0
- package/dist/bin/cli.mjs +9628 -41430
- package/dist/bin/cli.mjs.map +1 -1
- package/dist/bin/index.min-CI3qqohw.mjs +3300 -0
- package/dist/bin/index.min-CI3qqohw.mjs.map +1 -0
- package/dist/bin/turndown.cjs-usmCKZ4b.mjs +15195 -0
- package/dist/bin/turndown.cjs-usmCKZ4b.mjs.map +1 -0
- package/dist/cli.js +9 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -4
- package/src/Acp.ts +1 -2
- package/src/AgentTools.ts +3 -2
- package/src/GlobalWebSocket.ts +40 -0
- package/src/WebToMarkdown.ts +17 -7
- package/src/cli.ts +14 -5
- package/src/index.ts +5 -0
- package/dist/bin/Schema-D6y3R-At.mjs +0 -28728
- package/dist/bin/Schema-D6y3R-At.mjs.map +0 -1
- package/dist/bin/Undici-ChB4UBDa.mjs +0 -28
- package/dist/bin/Undici-ChB4UBDa.mjs.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as Command from "effect/unstable/cli/Command";
|
|
|
6
6
|
import * as Flag from "effect/unstable/cli/Flag";
|
|
7
7
|
import * as NodeServices from "@effect/platform-node/NodeServices";
|
|
8
8
|
import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
|
|
9
|
-
import * as
|
|
9
|
+
import * as GlobalWebSocket from "./GlobalWebSocket.js";
|
|
10
10
|
import * as Acp from "./Acp.js";
|
|
11
11
|
import * as AgentExecutor from "./AgentExecutor.js";
|
|
12
12
|
import * as Codex from "./Codex.js";
|
|
@@ -15,7 +15,6 @@ import * as Xai from "./Xai.js";
|
|
|
15
15
|
import * as Agent from "./Agent.js";
|
|
16
16
|
import * as Compaction from "./Compaction.js";
|
|
17
17
|
import * as Stream from "effect/Stream";
|
|
18
|
-
import * as OutputFormatter from "./OutputFormatter.js";
|
|
19
18
|
import * as Stdio from "effect/Stdio";
|
|
20
19
|
import { pipe } from "effect/Function";
|
|
21
20
|
import * as Layer from "effect/Layer";
|
|
@@ -29,6 +28,10 @@ import { OpenAiClient, OpenAiEmbeddingModel } from "@effect/ai-openai";
|
|
|
29
28
|
import * as DeviceCodeHandler from "./DeviceCodeHandler.js";
|
|
30
29
|
import packageJson from "../package.json" with { type: "json" };
|
|
31
30
|
const version = packageJson.version;
|
|
31
|
+
// node:http instead of undici: the undici package adds ~15 MB of RSS on top of
|
|
32
|
+
// the HTTP stack Node loads anyway, and unlike fetch it imposes no request
|
|
33
|
+
// timeouts on long model calls.
|
|
34
|
+
const HttpClientLive = NodeHttpClient.layerNodeHttpNoAgent.pipe(Layer.provide(NodeHttpClient.layerAgentOptions({ keepAlive: true })));
|
|
32
35
|
const providers = ["openai", "copilot", "xai"];
|
|
33
36
|
const withSubagentModel = (model) => Layer.merge(model, Agent.layerSubagentModel(model));
|
|
34
37
|
const modelLayer = (provider, model, effort) => provider === "openai"
|
|
@@ -92,7 +95,7 @@ const Search = (directory) => Layer.unwrap(Effect.gen(function* () {
|
|
|
92
95
|
})), Layer.provide(OpenAiClient.layer({
|
|
93
96
|
apiKey: apiKey.value,
|
|
94
97
|
})));
|
|
95
|
-
})).pipe(Layer.provide([NodeServices.layer,
|
|
98
|
+
})).pipe(Layer.provide([NodeServices.layer, HttpClientLive]));
|
|
96
99
|
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"));
|
|
97
100
|
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({
|
|
98
101
|
version,
|
|
@@ -108,6 +111,7 @@ Command.make("clanka", {
|
|
|
108
111
|
compaction,
|
|
109
112
|
}).pipe(Command.withHandler(Effect.fnUntraced(function* ({ provider, model: modelRaw, semantic, prompt: nonInteractivePrompt, }) {
|
|
110
113
|
const stdio = yield* Stdio.Stdio;
|
|
114
|
+
const OutputFormatter = yield* Effect.promise(() => import("./OutputFormatter.js"));
|
|
111
115
|
const selectedModel = yield* Option.match(modelRaw, {
|
|
112
116
|
onSome: Effect.succeed,
|
|
113
117
|
onNone: () => Prompt.String({
|
|
@@ -148,8 +152,8 @@ Command.make("clanka", {
|
|
|
148
152
|
}), Effect.provide([
|
|
149
153
|
NodeServices.layer,
|
|
150
154
|
Kvs,
|
|
151
|
-
|
|
152
|
-
|
|
155
|
+
HttpClientLive,
|
|
156
|
+
GlobalWebSocket.layerWebSocketConstructor,
|
|
153
157
|
DeviceCodeHandler.layerConsole,
|
|
154
158
|
]), NodeRuntime.runMain);
|
|
155
159
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,KAAK,cAAc,MAAM,sCAAsC,CAAA;AACtE,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAA;AACtD,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,YAAY,MAAM,oCAAoC,CAAA;AAClE,OAAO,KAAK,WAAW,MAAM,mCAAmC,CAAA;AAChE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
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;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,KAAK,MAAM,YAAY,CAAA;AAEnC;;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;AAE/C;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,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,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;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;AAE/C;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
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;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,KAAK,MAAM,YAAY,CAAA;AAEnC;;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;AAE/C;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,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,eAAe,MAAM,sBAAsB,CAAA;AAEvD;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC;;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;AAE/C;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clanka",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -34,9 +34,7 @@
|
|
|
34
34
|
"tree-sitter": "^0.21.1",
|
|
35
35
|
"tree-sitter-javascript": "^0.23.1",
|
|
36
36
|
"tree-sitter-typescript": "^0.23.2",
|
|
37
|
-
"turndown": "^7.2.4"
|
|
38
|
-
"undici": "^8.10.2",
|
|
39
|
-
"ws": "^8.21.3"
|
|
37
|
+
"turndown": "^7.2.4"
|
|
40
38
|
},
|
|
41
39
|
"peerDependencies": {
|
|
42
40
|
"@effect/ai-openai": ">=4.0.0-rc.115 <4.0.1",
|
package/src/Acp.ts
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
*
|
|
9
9
|
* @since 1.0.0
|
|
10
10
|
*/
|
|
11
|
-
import { randomUUID } from "node:crypto"
|
|
12
11
|
import * as Cause from "effect/Cause"
|
|
13
12
|
import * as Effect from "effect/Effect"
|
|
14
13
|
import * as Encoding from "effect/Encoding"
|
|
@@ -661,7 +660,7 @@ export const make = Effect.fnUntraced(function* <RAgent, RModel>(
|
|
|
661
660
|
const modelId = model ?? options.defaultModel
|
|
662
661
|
yield* requireModel(modelId)
|
|
663
662
|
const session = yield* openSession(
|
|
664
|
-
randomUUID(),
|
|
663
|
+
crypto.randomUUID(),
|
|
665
664
|
new SessionRecord({ cwd, model: modelId, history: Prompt.empty }),
|
|
666
665
|
)
|
|
667
666
|
yield* persist(session)
|
package/src/AgentTools.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
/** @effect-diagnostics schemaNumber:off */
|
|
5
|
-
import * as Glob from "glob"
|
|
6
5
|
import { parsePatch, patchChunks } from "./ApplyPatch.ts"
|
|
7
6
|
import * as ExaSearch from "./ExaSearch.ts"
|
|
8
7
|
import * as WebToMarkdown from "./WebToMarkdown.ts"
|
|
@@ -499,7 +498,9 @@ export const AgentToolHandlersNoDeps = AgentToolsWithSearch.toLayer(
|
|
|
499
498
|
Effect.annotateLogs({ pattern }),
|
|
500
499
|
)
|
|
501
500
|
const cwd = yield* CurrentDirectory
|
|
502
|
-
return yield* Effect.promise(() =>
|
|
501
|
+
return yield* Effect.promise(() =>
|
|
502
|
+
import("glob").then((Glob) => Glob.glob(pattern, { cwd })),
|
|
503
|
+
)
|
|
503
504
|
}),
|
|
504
505
|
listTodos: Effect.fn("AgentTools.listTodos")(function* () {
|
|
505
506
|
yield* Effect.logInfo(`Calling "listTodos"`)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @since 1.0.0
|
|
3
|
+
*/
|
|
4
|
+
import * as Layer from "effect/Layer"
|
|
5
|
+
import * as Socket from "effect/unstable/socket/Socket"
|
|
6
|
+
|
|
7
|
+
type GlobalWebSocket = InstanceType<typeof globalThis.WebSocket>
|
|
8
|
+
|
|
9
|
+
// Node and Bun accept an options object with handshake headers, which the
|
|
10
|
+
// standard lib typings do not declare. The global is read lazily because
|
|
11
|
+
// touching it loads Node's WebSocket implementation.
|
|
12
|
+
const webSocketWithOptions = () =>
|
|
13
|
+
globalThis.WebSocket as unknown as new (
|
|
14
|
+
url: string,
|
|
15
|
+
options?:
|
|
16
|
+
| string
|
|
17
|
+
| Array<string>
|
|
18
|
+
| { readonly headers?: Readonly<Record<string, string>> | undefined },
|
|
19
|
+
) => GlobalWebSocket
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Provides a `Socket.WebSocketConstructor` backed by the global `WebSocket`
|
|
23
|
+
* class, forwarding handshake headers through the non-standard `headers`
|
|
24
|
+
* option supported by Node and Bun. This avoids loading the `ws` package.
|
|
25
|
+
*
|
|
26
|
+
* @since 1.0.0
|
|
27
|
+
* @category Layers
|
|
28
|
+
*/
|
|
29
|
+
export const layerWebSocketConstructor = Layer.succeed(
|
|
30
|
+
Socket.WebSocketConstructor,
|
|
31
|
+
)((url, options) => {
|
|
32
|
+
if (
|
|
33
|
+
options === undefined ||
|
|
34
|
+
typeof options === "string" ||
|
|
35
|
+
Array.isArray(options)
|
|
36
|
+
) {
|
|
37
|
+
return new (webSocketWithOptions())(url, options)
|
|
38
|
+
}
|
|
39
|
+
return new (webSocketWithOptions())(url, { headers: options.headers })
|
|
40
|
+
})
|
package/src/WebToMarkdown.ts
CHANGED
|
@@ -6,7 +6,6 @@ import * as Layer from "effect/Layer"
|
|
|
6
6
|
import * as Context from "effect/Context"
|
|
7
7
|
import * as HttpClient from "effect/unstable/http/HttpClient"
|
|
8
8
|
import type * as HttpClientError from "effect/unstable/http/HttpClientError"
|
|
9
|
-
import TurndownService from "turndown"
|
|
10
9
|
|
|
11
10
|
/**
|
|
12
11
|
* @since 1.0.0
|
|
@@ -71,20 +70,31 @@ export const layer = Layer.effect(
|
|
|
71
70
|
"progress",
|
|
72
71
|
"meter",
|
|
73
72
|
])
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
// Turndown pulls in a full DOM implementation, so load it on first use.
|
|
74
|
+
const turndown = yield* Effect.cached(
|
|
75
|
+
Effect.map(
|
|
76
|
+
Effect.promise(() => import("turndown")),
|
|
77
|
+
({ default: TurndownService }) =>
|
|
78
|
+
new TurndownService().remove((node) =>
|
|
79
|
+
toRemove.has(node.nodeName.toLowerCase()),
|
|
80
|
+
),
|
|
81
|
+
),
|
|
76
82
|
)
|
|
77
83
|
|
|
78
|
-
const convertHtml = Effect.fn("WebToMarkdown.convertHtml")((
|
|
79
|
-
|
|
80
|
-
)
|
|
84
|
+
const convertHtml = Effect.fn("WebToMarkdown.convertHtml")(function* (
|
|
85
|
+
html: string,
|
|
86
|
+
) {
|
|
87
|
+
const service = yield* turndown
|
|
88
|
+
return service.turndown(html)
|
|
89
|
+
})
|
|
81
90
|
|
|
82
91
|
return WebToMarkdown.of({
|
|
83
92
|
convertHtml,
|
|
84
93
|
convertUrl: Effect.fn("WebToMarkdown.convertUrl")(function* (url) {
|
|
85
94
|
const response = yield* client.get(url)
|
|
86
95
|
const html = yield* response.text
|
|
87
|
-
|
|
96
|
+
const service = yield* turndown
|
|
97
|
+
return service.turndown(html)
|
|
88
98
|
}),
|
|
89
99
|
})
|
|
90
100
|
}),
|
package/src/cli.ts
CHANGED
|
@@ -6,7 +6,7 @@ import * as Command from "effect/unstable/cli/Command"
|
|
|
6
6
|
import * as Flag from "effect/unstable/cli/Flag"
|
|
7
7
|
import * as NodeServices from "@effect/platform-node/NodeServices"
|
|
8
8
|
import * as NodeRuntime from "@effect/platform-node/NodeRuntime"
|
|
9
|
-
import * as
|
|
9
|
+
import * as GlobalWebSocket from "./GlobalWebSocket.ts"
|
|
10
10
|
import * as Acp from "./Acp.ts"
|
|
11
11
|
import * as AgentExecutor from "./AgentExecutor.ts"
|
|
12
12
|
import * as Codex from "./Codex.ts"
|
|
@@ -15,7 +15,6 @@ import * as Xai from "./Xai.ts"
|
|
|
15
15
|
import * as Agent from "./Agent.ts"
|
|
16
16
|
import * as Compaction from "./Compaction.ts"
|
|
17
17
|
import * as Stream from "effect/Stream"
|
|
18
|
-
import * as OutputFormatter from "./OutputFormatter.ts"
|
|
19
18
|
import * as Stdio from "effect/Stdio"
|
|
20
19
|
import { pipe } from "effect/Function"
|
|
21
20
|
import * as Layer from "effect/Layer"
|
|
@@ -33,6 +32,13 @@ import packageJson from "../package.json" with { type: "json" }
|
|
|
33
32
|
|
|
34
33
|
const version = packageJson.version
|
|
35
34
|
|
|
35
|
+
// node:http instead of undici: the undici package adds ~15 MB of RSS on top of
|
|
36
|
+
// the HTTP stack Node loads anyway, and unlike fetch it imposes no request
|
|
37
|
+
// timeouts on long model calls.
|
|
38
|
+
const HttpClientLive = NodeHttpClient.layerNodeHttpNoAgent.pipe(
|
|
39
|
+
Layer.provide(NodeHttpClient.layerAgentOptions({ keepAlive: true })),
|
|
40
|
+
)
|
|
41
|
+
|
|
36
42
|
type Provider = "openai" | "copilot" | "xai"
|
|
37
43
|
|
|
38
44
|
const providers: ReadonlyArray<Provider> = ["openai", "copilot", "xai"]
|
|
@@ -177,7 +183,7 @@ const Search = (directory: string) =>
|
|
|
177
183
|
),
|
|
178
184
|
)
|
|
179
185
|
}),
|
|
180
|
-
).pipe(Layer.provide([NodeServices.layer,
|
|
186
|
+
).pipe(Layer.provide([NodeServices.layer, HttpClientLive]))
|
|
181
187
|
|
|
182
188
|
const acpModel = Flag.String("model").pipe(
|
|
183
189
|
Flag.withAlias("m"),
|
|
@@ -231,6 +237,9 @@ Command.make("clanka", {
|
|
|
231
237
|
prompt: nonInteractivePrompt,
|
|
232
238
|
}) {
|
|
233
239
|
const stdio = yield* Stdio.Stdio
|
|
240
|
+
const OutputFormatter = yield* Effect.promise(
|
|
241
|
+
() => import("./OutputFormatter.ts"),
|
|
242
|
+
)
|
|
234
243
|
const selectedModel = yield* Option.match(modelRaw, {
|
|
235
244
|
onSome: Effect.succeed,
|
|
236
245
|
onNone: () =>
|
|
@@ -304,8 +313,8 @@ Command.make("clanka", {
|
|
|
304
313
|
Effect.provide([
|
|
305
314
|
NodeServices.layer,
|
|
306
315
|
Kvs,
|
|
307
|
-
|
|
308
|
-
|
|
316
|
+
HttpClientLive,
|
|
317
|
+
GlobalWebSocket.layerWebSocketConstructor,
|
|
309
318
|
DeviceCodeHandler.layerConsole,
|
|
310
319
|
]),
|
|
311
320
|
NodeRuntime.runMain,
|
package/src/index.ts
CHANGED