@knpkv/ai-claude 0.4.0 → 0.4.2
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/activity.d.ts.map +1 -1
- package/dist/activity.js +2 -7
- package/dist/activity.js.map +1 -1
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +3 -1
- package/dist/protocol.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +2 -6
- package/dist/runner.js.map +1 -1
- package/package.json +4 -1
package/dist/activity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/C,oHAAoH;AACpH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAiBD,0GAA0G;AAC1G,eAAO,MAAM,eAAe,gIAIP,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mHAsDzD,CAAA"}
|
package/dist/activity.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { limitBytes } from "@knpkv/bounded-io";
|
|
1
2
|
import { Effect, Schema, Stream } from "effect";
|
|
2
3
|
import { ClaudeFailureCause, invalidOutput, transportFailure } from "./errors.js";
|
|
3
4
|
const Event = Schema.Struct({
|
|
@@ -16,15 +17,9 @@ const Event = Schema.Struct({
|
|
|
16
17
|
const decode = Schema.decodeUnknownEffect(Schema.fromJsonString(Event));
|
|
17
18
|
/** Consume bounded NDJSON as it arrives; only the authoritative result is retained for final decoding. */
|
|
18
19
|
export const collectActivity = Effect.fn("ClaudeCli.collectActivity")(function* (source, maximumBytes, method, report) {
|
|
19
|
-
let bytes = 0;
|
|
20
20
|
let result = "";
|
|
21
21
|
const structuredBlocks = new Set();
|
|
22
|
-
yield* source.pipe(Stream.mapError((cause) => transportFailure("process", "Failed reading Claude CLI stdout", cause)), Stream.
|
|
23
|
-
bytes += chunk.byteLength;
|
|
24
|
-
return bytes > maximumBytes
|
|
25
|
-
? Effect.fail(transportFailure("process", `Claude CLI stdout exceeded ${maximumBytes} bytes for ${method}`, new ClaudeFailureCause({ reason: "stdout-limit-exceeded" })))
|
|
26
|
-
: Effect.succeed(chunk);
|
|
27
|
-
}), Stream.decodeText(), Stream.splitLines, Stream.filter((line) => line.trim().length > 0), Stream.runForEach((line) => Effect.gen(function* () {
|
|
22
|
+
yield* limitBytes(source.pipe(Stream.mapError((cause) => transportFailure("process", "Failed reading Claude CLI stdout", cause))), maximumBytes).pipe(Stream.catchTag("ByteLimitExceeded", () => Stream.fail(transportFailure("process", `Claude CLI stdout exceeded ${maximumBytes} bytes for ${method}`, new ClaudeFailureCause({ reason: "stdout-limit-exceeded" })))), Stream.decodeText(), Stream.splitLines, Stream.filter((line) => line.trim().length > 0), Stream.runForEach((line) => Effect.gen(function* () {
|
|
28
23
|
const envelope = yield* decode(line).pipe(Effect.mapError(() => invalidOutput("Claude CLI emitted malformed stream JSON", method)));
|
|
29
24
|
if (envelope.type === "result") {
|
|
30
25
|
result = line;
|
package/dist/activity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAQjF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM;IACnB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,EAAE,MAAM,CAAC,MAAM;QACnB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACrC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5G,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;SAC7C,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC,CAAA;AACF,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;AAEvE,0GAA0G;AAC1G,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAC7E,MAA0C,EAC1C,YAAoB,EACpB,MAAc,EACd,MAAyD;IAEzD,IAAI,
|
|
1
|
+
{"version":3,"file":"activity.js","sourceRoot":"","sources":["../src/activity.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAW3C,QAAA,MAAM,YAAY;;;;;;;;;;;;EAOhB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAInD,eAAO,MAAM,kBAAkB,WACrB,MAAM,UACN,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAW3C,QAAA,MAAM,YAAY;;;;;;;;;;;;EAOhB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAInD,eAAO,MAAM,kBAAkB,WACrB,MAAM,UACN,MAAM,KACb,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAe5D,CAAA"}
|
package/dist/protocol.js
CHANGED
|
@@ -16,7 +16,9 @@ const ClaudeResult = Schema.Struct({
|
|
|
16
16
|
usage: Schema.optional(ClaudeUsage)
|
|
17
17
|
});
|
|
18
18
|
const decodeResult = Schema.decodeUnknownEffect(Schema.fromJsonString(ClaudeResult));
|
|
19
|
-
export const decodeClaudeOutput = (stdout, method) => decodeResult(stdout.trim()).pipe(
|
|
19
|
+
export const decodeClaudeOutput = (stdout, method) => decodeResult(stdout.trim()).pipe(
|
|
20
|
+
// ast-grep-ignore: no-silent-catch-all -- follow-up: silent fallback; fail with a typed error, log it, or mark it best-effort
|
|
21
|
+
Effect.catch(() => {
|
|
20
22
|
const nonEmptyLines = stdout.split("\n").map((line) => line.trim()).filter((line) => line.length > 0);
|
|
21
23
|
return Effect.forEach(nonEmptyLines, (line) => decodeResult(line)).pipe(Effect.flatMap((events) => {
|
|
22
24
|
const result = events.length === 0 ? undefined : events[events.length - 1];
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;AAErE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxD,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;CACrD,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;CACpC,CAAC,CAAA;AAIF,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAc,EACd,MAAc,EACiD,EAAE,CACjE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;AAErE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;IACxD,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;CACrD,CAAC,CAAA;AAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,QAAQ,EAAE,MAAM,CAAC,OAAO;IACxB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;CACpC,CAAC,CAAA;AAIF,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAc,EACd,MAAc,EACiD,EAAE,CACjE,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI;AAC9B,8HAA8H;AAC9H,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACrG,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CACrE,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC1E,OAAO,MAAM,KAAK,SAAS;YACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC1E,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC,CAAC,EACF,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,0CAA0C,EAAE,MAAM,CAAC,CAAC,CACzF,CAAA;AACH,CAAC,CAAC,CACH,CAAA"}
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,MAAM,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAA;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,KAAK,cAAc,EAAmB,MAAM,eAAe,CAAA;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAGpD,UAAU,UAAU;IAClB,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IACrF,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,GAAG,iBAAiB,CAAA;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAA;CACjC;AAgGD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA4DpB,CAAA"}
|
package/dist/runner.js
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
+
import { collectBoundedText } from "@knpkv/bounded-io";
|
|
1
2
|
import { Cause, Effect, Predicate, Stream } from "effect";
|
|
2
3
|
import { ChildProcess, ChildProcessSpawner } from "effect/process";
|
|
3
4
|
import { collectActivity } from "./activity.js";
|
|
4
5
|
import { ClaudeFailureCause, transportFailure, transportToAiError } from "./errors.js";
|
|
5
6
|
import { decodeClaudeOutput } from "./protocol.js";
|
|
6
|
-
const collectBounded = (source, maximumBytes, label, method) => source.pipe(Stream.mapError((cause) => transportFailure("process", `Failed while reading Claude CLI ${label} for ${method}`, cause)),
|
|
7
|
-
const size = collected.size + chunk.byteLength;
|
|
8
|
-
return size > maximumBytes
|
|
9
|
-
? Effect.fail(transportFailure("process", `Claude CLI ${label} exceeded ${maximumBytes} bytes for ${method}`, new ClaudeFailureCause({ reason: `${label}-limit-exceeded` })))
|
|
10
|
-
: Effect.succeed({ chunks: [...collected.chunks, chunk], size });
|
|
11
|
-
}), Effect.flatMap((collected) => Stream.fromIterable(collected.chunks).pipe(Stream.decodeText(), Stream.mkString, Effect.mapError((cause) => transportFailure("process", `Claude CLI ${label} was not valid UTF-8 for ${method}`, cause)))));
|
|
7
|
+
const collectBounded = (source, maximumBytes, label, method) => collectBoundedText(source.pipe(Stream.mapError((cause) => transportFailure("process", `Failed while reading Claude CLI ${label} for ${method}`, cause))), maximumBytes).pipe(Effect.catchTag("ByteLimitExceeded", () => Effect.fail(transportFailure("process", `Claude CLI ${label} exceeded ${maximumBytes} bytes for ${method}`, new ClaudeFailureCause({ reason: `${label}-limit-exceeded` })))));
|
|
12
8
|
const redactDiagnostic = (diagnostic, cwd) => {
|
|
13
9
|
const safeLines = diagnostic.split("\n").map((line) => {
|
|
14
10
|
const lower = line.toLowerCase();
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAuB,eAAe,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGtF,OAAO,EAAqB,kBAAkB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knpkv/ai-claude",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"description": "Effect AI language model backed by the local Claude CLI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "knpkv",
|
|
@@ -47,6 +47,9 @@
|
|
|
47
47
|
"claude",
|
|
48
48
|
"cli"
|
|
49
49
|
],
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@knpkv/bounded-io": "^0.2.0"
|
|
52
|
+
},
|
|
50
53
|
"scripts": {
|
|
51
54
|
"build": "rimraf dist && tsc && node scripts/validate-dist.mjs",
|
|
52
55
|
"check": "tsc --noEmit && tsc --noEmit -p test/tsconfig.json",
|