vexp-mcp 1.2.24 → 1.2.26
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/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/license.d.ts +3 -0
- package/dist/license.d.ts.map +1 -0
- package/dist/license.js +37 -0
- package/dist/license.js.map +1 -0
- package/dist/tools/coerce.d.ts +7 -0
- package/dist/tools/coerce.d.ts.map +1 -0
- package/dist/tools/coerce.js +7 -0
- package/dist/tools/coerce.js.map +1 -0
- package/dist/tools/get-context-capsule.d.ts +8 -8
- package/dist/tools/get-context-capsule.d.ts.map +1 -1
- package/dist/tools/get-context-capsule.js +6 -5
- package/dist/tools/get-context-capsule.js.map +1 -1
- package/dist/tools/get-impact-graph.d.ts +4 -4
- package/dist/tools/get-impact-graph.d.ts.map +1 -1
- package/dist/tools/get-impact-graph.js +3 -2
- package/dist/tools/get-impact-graph.js.map +1 -1
- package/dist/tools/get-session-context.d.ts +6 -6
- package/dist/tools/get-session-context.d.ts.map +1 -1
- package/dist/tools/get-session-context.js +4 -3
- package/dist/tools/get-session-context.js.map +1 -1
- package/dist/tools/get-skeleton.d.ts +2 -2
- package/dist/tools/get-skeleton.d.ts.map +1 -1
- package/dist/tools/get-skeleton.js +9 -7
- package/dist/tools/get-skeleton.js.map +1 -1
- package/dist/tools/run-pipeline.d.ts +8 -8
- package/dist/tools/run-pipeline.d.ts.map +1 -1
- package/dist/tools/run-pipeline.js +10 -9
- package/dist/tools/run-pipeline.js.map +1 -1
- package/dist/tools/save-observation.d.ts +2 -2
- package/dist/tools/save-observation.d.ts.map +1 -1
- package/dist/tools/save-observation.js +2 -1
- package/dist/tools/save-observation.js.map +1 -1
- package/dist/tools/search-logic-flow.d.ts +4 -4
- package/dist/tools/search-logic-flow.d.ts.map +1 -1
- package/dist/tools/search-logic-flow.js +3 -2
- package/dist/tools/search-logic-flow.js.map +1 -1
- package/dist/tools/search-memory.d.ts +6 -6
- package/dist/tools/search-memory.d.ts.map +1 -1
- package/dist/tools/search-memory.js +4 -3
- package/dist/tools/search-memory.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -1
- package/src/license.ts +48 -0
- package/src/tools/coerce.ts +11 -0
- package/src/tools/get-context-capsule.ts +6 -5
- package/src/tools/get-impact-graph.ts +3 -2
- package/src/tools/get-session-context.ts +4 -3
- package/src/tools/get-skeleton.ts +9 -7
- package/src/tools/run-pipeline.ts +10 -9
- package/src/tools/save-observation.ts +2 -1
- package/src/tools/search-logic-flow.ts +3 -2
- package/src/tools/search-memory.ts +4 -3
package/dist/index.js
CHANGED
|
@@ -39,7 +39,8 @@ const FREE_TOOL_NAMES = new Set([
|
|
|
39
39
|
"search_memory",
|
|
40
40
|
"save_observation",
|
|
41
41
|
]);
|
|
42
|
-
|
|
42
|
+
import { isAllToolsEnabled } from "./license.js";
|
|
43
|
+
const allToolsEnabled = isAllToolsEnabled();
|
|
43
44
|
/** FNV-1a 64-bit hash — must match vexp-core/src/utils.rs md5_hash() */
|
|
44
45
|
function fnvHash(input) {
|
|
45
46
|
let hash = BigInt("0xcbf29ce484222325");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,oBAAoB,GAAG;IAC3B,uBAAuB;IACvB,8BAA8B;IAC9B,2BAA2B;IAC3B,4BAA4B;IAC5B,uBAAuB;IACvB,uBAAuB;IACvB,0BAA0B;IAC1B,8BAA8B;IAC9B,wBAAwB;IACxB,2BAA2B;CAC5B,CAAC;AAEF,qEAAqE;AACrE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,cAAc;IACd,qBAAqB;IACrB,cAAc;IACd,cAAc;IACd,qBAAqB;IACrB,eAAe;IACf,kBAAkB;CACnB,CAAC,CAAC;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAaA,4EAA4E;AAC5E,wBAAgB,iBAAiB,IAAI,OAAO,CAiC3C"}
|
package/dist/license.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as crypto from "crypto";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import * as os from "os";
|
|
5
|
+
const VEXP_LICENSE_PUBLIC_KEY = "MCowBQYDK2VwAyEApwiWYGCyhCaGHAHWn/RTBSGo/1MNmGyZUgSNBQ5YE4g=";
|
|
6
|
+
/** Check if all tools should be enabled based on a verified license JWT. */
|
|
7
|
+
export function isAllToolsEnabled() {
|
|
8
|
+
try {
|
|
9
|
+
const jwt = fs
|
|
10
|
+
.readFileSync(path.join(os.homedir(), ".vexp", "license.jwt"), "utf-8")
|
|
11
|
+
.trim();
|
|
12
|
+
if (!jwt)
|
|
13
|
+
return false;
|
|
14
|
+
const parts = jwt.split(".");
|
|
15
|
+
if (parts.length !== 3)
|
|
16
|
+
return false;
|
|
17
|
+
const [headerB64, payloadB64, signatureB64] = parts;
|
|
18
|
+
const signingInput = `${headerB64}.${payloadB64}`;
|
|
19
|
+
const signature = Buffer.from(signatureB64, "base64url");
|
|
20
|
+
const publicKey = crypto.createPublicKey({
|
|
21
|
+
key: Buffer.from(VEXP_LICENSE_PUBLIC_KEY, "base64"),
|
|
22
|
+
format: "der",
|
|
23
|
+
type: "spki",
|
|
24
|
+
});
|
|
25
|
+
const valid = crypto.verify(null, Buffer.from(signingInput), publicKey, signature);
|
|
26
|
+
if (!valid)
|
|
27
|
+
return false;
|
|
28
|
+
const claims = JSON.parse(Buffer.from(payloadB64, "base64url").toString());
|
|
29
|
+
if (claims.exp * 1000 < Date.now())
|
|
30
|
+
return false;
|
|
31
|
+
return claims.plan === "pro" || claims.plan === "team";
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=license.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.js","sourceRoot":"","sources":["../src/license.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,uBAAuB,GAC3B,8DAA8D,CAAC;AAOjE,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE;aACX,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC;aACtE,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAErC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;QACpD,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;YACvC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC;YACnD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACnF,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,MAAM,GAAkB,IAAI,CAAC,KAAK,CACtC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,EAAE,CAChD,CAAC;QAEF,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,KAAK,CAAC;QAEjD,OAAO,MAAM,CAAC,IAAI,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Coerce a string to a single-element array. LLMs sometimes pass "file.ts" instead of ["file.ts"]. */
|
|
2
|
+
export declare const coerceArray: (val: unknown) => unknown;
|
|
3
|
+
/** Coerce string "true"/"false" to boolean. LLMs sometimes stringify booleans. */
|
|
4
|
+
export declare const coerceBool: (val: unknown) => unknown;
|
|
5
|
+
/** Coerce numeric string to number. LLMs sometimes pass "10000" instead of 10000. */
|
|
6
|
+
export declare const coerceNumber: (val: unknown) => unknown;
|
|
7
|
+
//# sourceMappingURL=coerce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce.d.ts","sourceRoot":"","sources":["../../src/tools/coerce.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,KAAG,OACJ,CAAC;AAExC,kFAAkF;AAClF,eAAO,MAAM,UAAU,GAAI,KAAK,OAAO,KAAG,OACa,CAAC;AAExD,qFAAqF;AACrF,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,KAAG,OAC6C,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Coerce a string to a single-element array. LLMs sometimes pass "file.ts" instead of ["file.ts"]. */
|
|
2
|
+
export const coerceArray = (val) => typeof val === "string" ? [val] : val;
|
|
3
|
+
/** Coerce string "true"/"false" to boolean. LLMs sometimes stringify booleans. */
|
|
4
|
+
export const coerceBool = (val) => val === "true" ? true : val === "false" ? false : val;
|
|
5
|
+
/** Coerce numeric string to number. LLMs sometimes pass "10000" instead of 10000. */
|
|
6
|
+
export const coerceNumber = (val) => typeof val === "string" && val.trim() !== "" && !isNaN(Number(val)) ? Number(val) : val;
|
|
7
|
+
//# sourceMappingURL=coerce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coerce.js","sourceRoot":"","sources":["../../src/tools/coerce.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CACnD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAExC,kFAAkF;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAY,EAAW,EAAE,CAClD,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAExD,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAY,EAAW,EAAE,CACpD,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC"}
|
|
@@ -2,10 +2,10 @@ import { z } from "zod";
|
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
3
|
export declare const GetContextCapsuleSchema: z.ZodObject<{
|
|
4
4
|
query: z.ZodString;
|
|
5
|
-
repos: z.ZodOptional<z.ZodArray<z.ZodString, "many"
|
|
6
|
-
max_tokens: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
7
|
-
pivot_depth: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
8
|
-
include_tests: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
5
|
+
repos: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodString, "many">>, string[] | undefined, unknown>;
|
|
6
|
+
max_tokens: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
7
|
+
pivot_depth: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
8
|
+
include_tests: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
9
9
|
skeleton_detail: z.ZodDefault<z.ZodOptional<z.ZodEnum<["minimal", "standard", "detailed"]>>>;
|
|
10
10
|
}, "strip", z.ZodTypeAny, {
|
|
11
11
|
query: string;
|
|
@@ -16,10 +16,10 @@ export declare const GetContextCapsuleSchema: z.ZodObject<{
|
|
|
16
16
|
repos?: string[] | undefined;
|
|
17
17
|
}, {
|
|
18
18
|
query: string;
|
|
19
|
-
repos?:
|
|
20
|
-
max_tokens?:
|
|
21
|
-
pivot_depth?:
|
|
22
|
-
include_tests?:
|
|
19
|
+
repos?: unknown;
|
|
20
|
+
max_tokens?: unknown;
|
|
21
|
+
pivot_depth?: unknown;
|
|
22
|
+
include_tests?: unknown;
|
|
23
23
|
skeleton_detail?: "minimal" | "standard" | "detailed" | undefined;
|
|
24
24
|
}>;
|
|
25
25
|
export type GetContextCapsuleParams = z.infer<typeof GetContextCapsuleSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-context-capsule.d.ts","sourceRoot":"","sources":["../../src/tools/get-context-capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-context-capsule.d.ts","sourceRoot":"","sources":["../../src/tools/get-context-capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuB1C,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceArray, coerceBool, coerceNumber } from "./coerce.js";
|
|
2
3
|
export const GetContextCapsuleSchema = z.object({
|
|
3
4
|
query: z.string().describe("Description of the task or what you need context for"),
|
|
4
|
-
repos: z.array(z.string()).optional().describe("Repo aliases to query (default: all)"),
|
|
5
|
-
max_tokens: z.number().optional().default(8000).describe("Max tokens for the capsule"),
|
|
6
|
-
pivot_depth: z.number().optional().default(2).describe("BFS depth from pivot nodes"),
|
|
7
|
-
include_tests: z.boolean().optional().default(false).describe("Include test files"),
|
|
5
|
+
repos: z.preprocess(coerceArray, z.array(z.string()).optional()).describe("Repo aliases to query (default: all)"),
|
|
6
|
+
max_tokens: z.preprocess(coerceNumber, z.number().optional().default(8000)).describe("Max tokens for the capsule"),
|
|
7
|
+
pivot_depth: z.preprocess(coerceNumber, z.number().optional().default(2)).describe("BFS depth from pivot nodes"),
|
|
8
|
+
include_tests: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Include test files"),
|
|
8
9
|
skeleton_detail: z.enum(["minimal", "standard", "detailed"]).optional().default("standard"),
|
|
9
10
|
});
|
|
10
11
|
export const GET_CONTEXT_CAPSULE_DEFINITION = {
|
|
@@ -12,7 +13,7 @@ export const GET_CONTEXT_CAPSULE_DEFINITION = {
|
|
|
12
13
|
description: "Lightweight context search — finds relevant code via semantic + graph search. " +
|
|
13
14
|
"NOTE: For most tasks, prefer run_pipeline instead — it includes this capsule plus impact analysis " +
|
|
14
15
|
"and memory in a single call with fewer tokens. " +
|
|
15
|
-
"Use get_context_capsule only for quick, simple lookups where you don't need impact analysis or memory recall.",
|
|
16
|
+
"Use get_context_capsule only for quick, simple lookups where you don't need impact analysis or memory recall, or when you want a lighter, faster response.",
|
|
16
17
|
inputSchema: {
|
|
17
18
|
type: "object",
|
|
18
19
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-context-capsule.js","sourceRoot":"","sources":["../../src/tools/get-context-capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"get-context-capsule.js","sourceRoot":"","sources":["../../src/tools/get-context-capsule.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { z } from "zod";
|
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
3
|
export declare const GetImpactGraphSchema: z.ZodObject<{
|
|
4
4
|
symbol_fqn: z.ZodString;
|
|
5
|
-
depth: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
6
|
-
cross_repo: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
5
|
+
depth: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
6
|
+
cross_repo: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
7
7
|
format: z.ZodDefault<z.ZodOptional<z.ZodEnum<["list", "tree", "mermaid"]>>>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
9
|
symbol_fqn: string;
|
|
@@ -12,8 +12,8 @@ export declare const GetImpactGraphSchema: z.ZodObject<{
|
|
|
12
12
|
format: "list" | "tree" | "mermaid";
|
|
13
13
|
}, {
|
|
14
14
|
symbol_fqn: string;
|
|
15
|
-
depth?:
|
|
16
|
-
cross_repo?:
|
|
15
|
+
depth?: unknown;
|
|
16
|
+
cross_repo?: unknown;
|
|
17
17
|
format?: "list" | "tree" | "mermaid" | undefined;
|
|
18
18
|
}>;
|
|
19
19
|
export type GetImpactGraphParams = z.infer<typeof GetImpactGraphSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-impact-graph.d.ts","sourceRoot":"","sources":["../../src/tools/get-impact-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-impact-graph.d.ts","sourceRoot":"","sources":["../../src/tools/get-impact-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvC,CAAC;AAsBF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceBool, coerceNumber } from "./coerce.js";
|
|
2
3
|
export const GetImpactGraphSchema = z.object({
|
|
3
4
|
symbol_fqn: z.string().describe("Fully qualified name of the symbol (e.g. 'src/auth/auth.ts::validateToken')"),
|
|
4
|
-
depth: z.number().optional().default(5).describe("BFS depth for impact traversal"),
|
|
5
|
-
cross_repo: z.boolean().optional().default(false).describe("Include cross-repo dependencies"),
|
|
5
|
+
depth: z.preprocess(coerceNumber, z.number().optional().default(5)).describe("BFS depth for impact traversal"),
|
|
6
|
+
cross_repo: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Include cross-repo dependencies"),
|
|
6
7
|
format: z.enum(["list", "tree", "mermaid"]).optional().default("tree"),
|
|
7
8
|
});
|
|
8
9
|
export const GET_IMPACT_GRAPH_DEFINITION = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-impact-graph.js","sourceRoot":"","sources":["../../src/tools/get-impact-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"get-impact-graph.js","sourceRoot":"","sources":["../../src/tools/get-impact-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
3
|
export declare const GetSessionContextSchema: z.ZodObject<{
|
|
4
|
-
include_previous: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
5
|
-
max_results: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
6
|
-
types: z.ZodOptional<z.ZodArray<z.ZodString, "many"
|
|
4
|
+
include_previous: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
5
|
+
max_results: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
6
|
+
types: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodString, "many">>, string[] | undefined, unknown>;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
8
8
|
include_previous: boolean;
|
|
9
9
|
max_results: number;
|
|
10
10
|
types?: string[] | undefined;
|
|
11
11
|
}, {
|
|
12
|
-
include_previous?:
|
|
13
|
-
max_results?:
|
|
14
|
-
types?:
|
|
12
|
+
include_previous?: unknown;
|
|
13
|
+
max_results?: unknown;
|
|
14
|
+
types?: unknown;
|
|
15
15
|
}>;
|
|
16
16
|
export type GetSessionContextParams = z.infer<typeof GetSessionContextSchema>;
|
|
17
17
|
export declare const GET_SESSION_CONTEXT_DEFINITION: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-session-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-session-context.d.ts","sourceRoot":"","sources":["../../src/tools/get-session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;EAIlC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;CAqB1C,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceArray, coerceBool, coerceNumber } from "./coerce.js";
|
|
2
3
|
export const GetSessionContextSchema = z.object({
|
|
3
|
-
include_previous: z.boolean().optional().default(false).describe("Include observations from previous sessions"),
|
|
4
|
-
max_results: z.number().optional().default(20).describe("Max observations to return"),
|
|
5
|
-
types: z.array(z.string()).optional().describe("Filter by observation type"),
|
|
4
|
+
include_previous: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Include observations from previous sessions"),
|
|
5
|
+
max_results: z.preprocess(coerceNumber, z.number().optional().default(20)).describe("Max observations to return"),
|
|
6
|
+
types: z.preprocess(coerceArray, z.array(z.string()).optional()).describe("Filter by observation type"),
|
|
6
7
|
});
|
|
7
8
|
export const GET_SESSION_CONTEXT_DEFINITION = {
|
|
8
9
|
name: "get_session_context",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-session-context.js","sourceRoot":"","sources":["../../src/tools/get-session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"get-session-context.js","sourceRoot":"","sources":["../../src/tools/get-session-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,gBAAgB,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACzI,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACjH,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACxG,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,sEAAsE;QACtE,gFAAgF;QAChF,mEAAmE;QACnE,sEAAsE;QACtE,4FAA4F;IAC9F,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8DAA8D,EAAE;YAClH,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;YACxF,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;gBACxF,WAAW,EAAE,4BAA4B;aAC1C;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAe,EACf,MAAoB;IAEpB,MAAM,SAAS,GAAG,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAyB,CAAC;IAC3F,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAgBD,SAAS,oBAAoB,CAAC,MAA4B;IACxD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,UAAU,MAAM,MAAM,CAAC,KAAK,eAAe,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACvM,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,GAAG,QAAQ,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
3
|
export declare const GetSkeletonSchema: z.ZodObject<{
|
|
4
|
-
files: z.ZodArray<z.ZodString, "many">;
|
|
4
|
+
files: z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], unknown>;
|
|
5
5
|
detail: z.ZodDefault<z.ZodOptional<z.ZodEnum<["minimal", "standard", "detailed"]>>>;
|
|
6
6
|
repo: z.ZodOptional<z.ZodString>;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -9,7 +9,7 @@ export declare const GetSkeletonSchema: z.ZodObject<{
|
|
|
9
9
|
detail: "minimal" | "standard" | "detailed";
|
|
10
10
|
repo?: string | undefined;
|
|
11
11
|
}, {
|
|
12
|
-
files
|
|
12
|
+
files?: unknown;
|
|
13
13
|
detail?: "minimal" | "standard" | "detailed" | undefined;
|
|
14
14
|
repo?: string | undefined;
|
|
15
15
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-skeleton.d.ts","sourceRoot":"","sources":["../../src/tools/get-skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-skeleton.d.ts","sourceRoot":"","sources":["../../src/tools/get-skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnC,CAAC;AAWF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CASjB"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceArray } from "./coerce.js";
|
|
2
3
|
export const GetSkeletonSchema = z.object({
|
|
3
|
-
files: z.array(z.string()).describe("File paths to skeletonize (relative to repo root)"),
|
|
4
|
+
files: z.preprocess(coerceArray, z.array(z.string())).describe("File paths to skeletonize (relative to repo root)"),
|
|
4
5
|
detail: z.enum(["minimal", "standard", "detailed"]).optional().default("standard"),
|
|
5
6
|
repo: z.string().optional().describe("Repo alias (default: current)"),
|
|
6
7
|
});
|
|
7
8
|
export const GET_SKELETON_DEFINITION = {
|
|
8
9
|
name: "get_skeleton",
|
|
9
|
-
description: "
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"(
|
|
13
|
-
"(
|
|
14
|
-
"
|
|
10
|
+
description: "PREFERRED way to inspect files — returns signatures, class declarations, and type definitions " +
|
|
11
|
+
"at three detail levels (70-90% token savings vs Read). " +
|
|
12
|
+
"Detail levels: minimal = exports and top-level signatures only. standard = all declarations with doc comments. detailed = full bodies for short functions, signatures for long ones. " +
|
|
13
|
+
"WHEN TO USE: (1) ALWAYS prefer this over Read — use get_skeleton first, only fall back to Read if you truly need exact raw content to edit a specific line. " +
|
|
14
|
+
"(2) After run_pipeline when you need to drill deeper into a file from the results. " +
|
|
15
|
+
"(3) When asked to understand, list, or explore functions/classes in a file. " +
|
|
16
|
+
"(4) When you need more context on a supporting file from capsule results.",
|
|
15
17
|
inputSchema: {
|
|
16
18
|
type: "object",
|
|
17
19
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-skeleton.js","sourceRoot":"","sources":["../../src/tools/get-skeleton.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"get-skeleton.js","sourceRoot":"","sources":["../../src/tools/get-skeleton.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ export declare const RunPipelineSchema: z.ZodObject<{
|
|
|
13
13
|
tool: "save_observation" | "capsule" | "impact" | "flow" | "skeleton" | "memory_search";
|
|
14
14
|
params?: Record<string, unknown> | undefined;
|
|
15
15
|
}>, "many">>;
|
|
16
|
-
max_tokens: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
17
|
-
include_tests: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
18
|
-
include_file_content: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
19
|
-
repos: z.ZodOptional<z.ZodArray<z.ZodString, "many"
|
|
16
|
+
max_tokens: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
17
|
+
include_tests: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
18
|
+
include_file_content: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
19
|
+
repos: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodString, "many">>, string[] | undefined, unknown>;
|
|
20
20
|
observation: z.ZodOptional<z.ZodString>;
|
|
21
21
|
}, "strip", z.ZodTypeAny, {
|
|
22
22
|
max_tokens: number;
|
|
@@ -32,15 +32,15 @@ export declare const RunPipelineSchema: z.ZodObject<{
|
|
|
32
32
|
observation?: string | undefined;
|
|
33
33
|
}, {
|
|
34
34
|
task: string;
|
|
35
|
-
repos?:
|
|
36
|
-
max_tokens?:
|
|
37
|
-
include_tests?:
|
|
35
|
+
repos?: unknown;
|
|
36
|
+
max_tokens?: unknown;
|
|
37
|
+
include_tests?: unknown;
|
|
38
38
|
preset?: "auto" | "explore" | "modify" | "debug" | "refactor" | undefined;
|
|
39
39
|
steps?: {
|
|
40
40
|
tool: "save_observation" | "capsule" | "impact" | "flow" | "skeleton" | "memory_search";
|
|
41
41
|
params?: Record<string, unknown> | undefined;
|
|
42
42
|
}[] | undefined;
|
|
43
|
-
include_file_content?:
|
|
43
|
+
include_file_content?: unknown;
|
|
44
44
|
observation?: string | undefined;
|
|
45
45
|
}>;
|
|
46
46
|
export type RunPipelineParams = z.infer<typeof RunPipelineSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8C5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEnC,CAAC;AAWF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceArray, coerceBool, coerceNumber } from "./coerce.js";
|
|
2
3
|
export const RunPipelineSchema = z.object({
|
|
3
4
|
task: z.string().describe("Description of your task"),
|
|
4
5
|
preset: z
|
|
@@ -20,24 +21,24 @@ export const RunPipelineSchema = z.object({
|
|
|
20
21
|
}))
|
|
21
22
|
.optional()
|
|
22
23
|
.describe("Advanced: explicit pipeline steps (overrides preset)"),
|
|
23
|
-
max_tokens: z
|
|
24
|
+
max_tokens: z.preprocess(coerceNumber, z
|
|
24
25
|
.number()
|
|
25
26
|
.optional()
|
|
26
|
-
.default(10000)
|
|
27
|
+
.default(10000))
|
|
27
28
|
.describe("Total token budget for the entire pipeline output"),
|
|
28
|
-
include_tests: z
|
|
29
|
+
include_tests: z.preprocess(coerceBool, z
|
|
29
30
|
.boolean()
|
|
30
31
|
.optional()
|
|
31
|
-
.default(false)
|
|
32
|
+
.default(false))
|
|
32
33
|
.describe("Include test files"),
|
|
33
|
-
include_file_content: z
|
|
34
|
+
include_file_content: z.preprocess(coerceBool, z
|
|
34
35
|
.boolean()
|
|
35
36
|
.optional()
|
|
36
|
-
.default(true)
|
|
37
|
+
.default(true))
|
|
37
38
|
.describe("Include full file content for pivot files from index"),
|
|
38
|
-
repos: z
|
|
39
|
+
repos: z.preprocess(coerceArray, z
|
|
39
40
|
.array(z.string())
|
|
40
|
-
.optional()
|
|
41
|
+
.optional())
|
|
41
42
|
.describe("Repo aliases to query (default: all)"),
|
|
42
43
|
observation: z
|
|
43
44
|
.string()
|
|
@@ -57,7 +58,7 @@ export const RUN_PIPELINE_DEFINITION = {
|
|
|
57
58
|
"ALWAYS prefer this over Read, Grep, Glob, or get_context_capsule — " +
|
|
58
59
|
"it provides the same results plus impact analysis in a single call with ~60% fewer tokens. " +
|
|
59
60
|
"Auto-detects intent (debug/modify/refactor/explore) from your task description. " +
|
|
60
|
-
"Includes full file content for pivot files
|
|
61
|
+
"Includes full file content for pivot files. If you need more detail on a specific file, use get_skeleton (detail: minimal/standard/detailed) instead of Read — it saves 70-90% tokens.",
|
|
61
62
|
inputSchema: {
|
|
62
63
|
type: "object",
|
|
63
64
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-pipeline.js","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"run-pipeline.js","sourceRoot":"","sources":["../../src/tools/run-pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { DaemonClient } from "../daemon-client.js";
|
|
|
3
3
|
export declare const SaveObservationSchema: z.ZodObject<{
|
|
4
4
|
content: z.ZodString;
|
|
5
5
|
type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["insight", "decision", "error"]>>>;
|
|
6
|
-
linked_symbols: z.ZodOptional<z.ZodArray<z.ZodString, "many"
|
|
6
|
+
linked_symbols: z.ZodEffects<z.ZodOptional<z.ZodArray<z.ZodString, "many">>, string[] | undefined, unknown>;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
8
8
|
type: "error" | "insight" | "decision";
|
|
9
9
|
content: string;
|
|
@@ -11,7 +11,7 @@ export declare const SaveObservationSchema: z.ZodObject<{
|
|
|
11
11
|
}, {
|
|
12
12
|
content: string;
|
|
13
13
|
type?: "error" | "insight" | "decision" | undefined;
|
|
14
|
-
linked_symbols?:
|
|
14
|
+
linked_symbols?: unknown;
|
|
15
15
|
}>;
|
|
16
16
|
export type SaveObservationParams = z.infer<typeof SaveObservationSchema>;
|
|
17
17
|
export declare const SAVE_OBSERVATION_DEFINITION: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-observation.d.ts","sourceRoot":"","sources":["../../src/tools/save-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"save-observation.d.ts","sourceRoot":"","sources":["../../src/tools/save-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceArray } from "./coerce.js";
|
|
2
3
|
export const SaveObservationSchema = z.object({
|
|
3
4
|
content: z.string().describe("The observation text (keep concise, 1-2 sentences)"),
|
|
4
5
|
type: z.enum(["insight", "decision", "error"]).optional().default("insight"),
|
|
5
|
-
linked_symbols: z.array(z.string()).optional().describe("FQNs of related code symbols for staleness tracking"),
|
|
6
|
+
linked_symbols: z.preprocess(coerceArray, z.array(z.string()).optional()).describe("FQNs of related code symbols for staleness tracking"),
|
|
6
7
|
});
|
|
7
8
|
export const SAVE_OBSERVATION_DEFINITION = {
|
|
8
9
|
name: "save_observation",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-observation.js","sourceRoot":"","sources":["../../src/tools/save-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"save-observation.js","sourceRoot":"","sources":["../../src/tools/save-observation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAClF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5E,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CAC1I,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,kFAAkF;QAClF,kFAAkF;QAClF,oFAAoF;QACpF,4FAA4F;QAC5F,4EAA4E;QAC5E,gEAAgE;IAClE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;YAC9F,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;gBACtC,WAAW,EAAE,qCAAqC;aACnD;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,kFAAkF;aAChG;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAe,EACf,MAAoB;IAEpB,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAe,CAAC;IAC9E,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AASD,SAAS,gBAAgB,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,EAAE,WAAW,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IACzE,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,cAAc,uDAAuD,CAAC,CAAC;IACxG,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -3,8 +3,8 @@ import type { DaemonClient } from "../daemon-client.js";
|
|
|
3
3
|
export declare const SearchLogicFlowSchema: z.ZodObject<{
|
|
4
4
|
start: z.ZodString;
|
|
5
5
|
end: z.ZodString;
|
|
6
|
-
max_paths: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
7
|
-
cross_repo: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
6
|
+
max_paths: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
7
|
+
cross_repo: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
9
|
end: string;
|
|
10
10
|
cross_repo: boolean;
|
|
@@ -13,8 +13,8 @@ export declare const SearchLogicFlowSchema: z.ZodObject<{
|
|
|
13
13
|
}, {
|
|
14
14
|
end: string;
|
|
15
15
|
start: string;
|
|
16
|
-
cross_repo?:
|
|
17
|
-
max_paths?:
|
|
16
|
+
cross_repo?: unknown;
|
|
17
|
+
max_paths?: unknown;
|
|
18
18
|
}>;
|
|
19
19
|
export type SearchLogicFlowParams = z.infer<typeof SearchLogicFlowSchema>;
|
|
20
20
|
export declare const SEARCH_LOGIC_FLOW_DEFINITION: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-logic-flow.d.ts","sourceRoot":"","sources":["../../src/tools/search-logic-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"search-logic-flow.d.ts","sourceRoot":"","sources":["../../src/tools/search-logic-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;EAKhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;CAkBxC,CAAC;AAiCF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAUjB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceBool, coerceNumber } from "./coerce.js";
|
|
2
3
|
export const SearchLogicFlowSchema = z.object({
|
|
3
4
|
start: z.string().describe("FQN of the starting symbol"),
|
|
4
5
|
end: z.string().describe("FQN of the ending symbol"),
|
|
5
|
-
max_paths: z.number().optional().default(3).describe("Max number of paths to return"),
|
|
6
|
-
cross_repo: z.boolean().optional().default(false).describe("Allow cross-repo traversal"),
|
|
6
|
+
max_paths: z.preprocess(coerceNumber, z.number().optional().default(3)).describe("Max number of paths to return"),
|
|
7
|
+
cross_repo: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Allow cross-repo traversal"),
|
|
7
8
|
});
|
|
8
9
|
export const SEARCH_LOGIC_FLOW_DEFINITION = {
|
|
9
10
|
name: "search_logic_flow",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-logic-flow.js","sourceRoot":"","sources":["../../src/tools/search-logic-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"search-logic-flow.js","sourceRoot":"","sources":["../../src/tools/search-logic-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import { z } from "zod";
|
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
3
|
export declare const SearchMemorySchema: z.ZodObject<{
|
|
4
4
|
query: z.ZodString;
|
|
5
|
-
max_results: z.ZodDefault<z.ZodOptional<z.ZodNumber
|
|
6
|
-
include_stale: z.ZodDefault<z.ZodOptional<z.ZodBoolean
|
|
7
|
-
time_range_days: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
max_results: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
|
|
6
|
+
include_stale: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodBoolean>>, boolean, unknown>;
|
|
7
|
+
time_range_days: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
8
8
|
session_filter: z.ZodOptional<z.ZodString>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
10
|
query: string;
|
|
@@ -14,9 +14,9 @@ export declare const SearchMemorySchema: z.ZodObject<{
|
|
|
14
14
|
session_filter?: string | undefined;
|
|
15
15
|
}, {
|
|
16
16
|
query: string;
|
|
17
|
-
max_results?:
|
|
18
|
-
include_stale?:
|
|
19
|
-
time_range_days?:
|
|
17
|
+
max_results?: unknown;
|
|
18
|
+
include_stale?: unknown;
|
|
19
|
+
time_range_days?: unknown;
|
|
20
20
|
session_filter?: string | undefined;
|
|
21
21
|
}>;
|
|
22
22
|
export type SearchMemoryParams = z.infer<typeof SearchMemorySchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-memory.d.ts","sourceRoot":"","sources":["../../src/tools/search-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"search-memory.d.ts","sourceRoot":"","sources":["../../src/tools/search-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBpC,CAAC;AAEF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { coerceBool, coerceNumber } from "./coerce.js";
|
|
2
3
|
export const SearchMemorySchema = z.object({
|
|
3
4
|
query: z.string().describe("Search query for memories"),
|
|
4
|
-
max_results: z.number().optional().default(10).describe("Max results"),
|
|
5
|
-
include_stale: z.boolean().optional().default(true).describe("Include stale observations (demoted but shown)"),
|
|
6
|
-
time_range_days: z.number().optional().describe("Only search last N days (default: 30)"),
|
|
5
|
+
max_results: z.preprocess(coerceNumber, z.number().optional().default(10)).describe("Max results"),
|
|
6
|
+
include_stale: z.preprocess(coerceBool, z.boolean().optional().default(true)).describe("Include stale observations (demoted but shown)"),
|
|
7
|
+
time_range_days: z.preprocess(coerceNumber, z.number().optional()).describe("Only search last N days (default: 30)"),
|
|
7
8
|
session_filter: z.string().optional().describe("Filter to specific session ID"),
|
|
8
9
|
});
|
|
9
10
|
export const SEARCH_MEMORY_DEFINITION = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-memory.js","sourceRoot":"","sources":["../../src/tools/search-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"search-memory.js","sourceRoot":"","sources":["../../src/tools/search-memory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -75,7 +75,9 @@ const FREE_TOOL_NAMES = new Set([
|
|
|
75
75
|
"save_observation",
|
|
76
76
|
]);
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
import { isAllToolsEnabled } from "./license.js";
|
|
79
|
+
|
|
80
|
+
const allToolsEnabled = isAllToolsEnabled();
|
|
79
81
|
|
|
80
82
|
/** FNV-1a 64-bit hash — must match vexp-core/src/utils.rs md5_hash() */
|
|
81
83
|
function fnvHash(input: string): string {
|
package/src/license.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as crypto from "crypto";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import * as os from "os";
|
|
5
|
+
|
|
6
|
+
const VEXP_LICENSE_PUBLIC_KEY =
|
|
7
|
+
"MCowBQYDK2VwAyEApwiWYGCyhCaGHAHWn/RTBSGo/1MNmGyZUgSNBQ5YE4g=";
|
|
8
|
+
|
|
9
|
+
interface LicenseClaims {
|
|
10
|
+
plan: string;
|
|
11
|
+
exp: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** Check if all tools should be enabled based on a verified license JWT. */
|
|
15
|
+
export function isAllToolsEnabled(): boolean {
|
|
16
|
+
try {
|
|
17
|
+
const jwt = fs
|
|
18
|
+
.readFileSync(path.join(os.homedir(), ".vexp", "license.jwt"), "utf-8")
|
|
19
|
+
.trim();
|
|
20
|
+
if (!jwt) return false;
|
|
21
|
+
|
|
22
|
+
const parts = jwt.split(".");
|
|
23
|
+
if (parts.length !== 3) return false;
|
|
24
|
+
|
|
25
|
+
const [headerB64, payloadB64, signatureB64] = parts;
|
|
26
|
+
const signingInput = `${headerB64}.${payloadB64}`;
|
|
27
|
+
const signature = Buffer.from(signatureB64, "base64url");
|
|
28
|
+
|
|
29
|
+
const publicKey = crypto.createPublicKey({
|
|
30
|
+
key: Buffer.from(VEXP_LICENSE_PUBLIC_KEY, "base64"),
|
|
31
|
+
format: "der",
|
|
32
|
+
type: "spki",
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const valid = crypto.verify(null, Buffer.from(signingInput), publicKey, signature);
|
|
36
|
+
if (!valid) return false;
|
|
37
|
+
|
|
38
|
+
const claims: LicenseClaims = JSON.parse(
|
|
39
|
+
Buffer.from(payloadB64, "base64url").toString()
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
if (claims.exp * 1000 < Date.now()) return false;
|
|
43
|
+
|
|
44
|
+
return claims.plan === "pro" || claims.plan === "team";
|
|
45
|
+
} catch {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Coerce a string to a single-element array. LLMs sometimes pass "file.ts" instead of ["file.ts"]. */
|
|
2
|
+
export const coerceArray = (val: unknown): unknown =>
|
|
3
|
+
typeof val === "string" ? [val] : val;
|
|
4
|
+
|
|
5
|
+
/** Coerce string "true"/"false" to boolean. LLMs sometimes stringify booleans. */
|
|
6
|
+
export const coerceBool = (val: unknown): unknown =>
|
|
7
|
+
val === "true" ? true : val === "false" ? false : val;
|
|
8
|
+
|
|
9
|
+
/** Coerce numeric string to number. LLMs sometimes pass "10000" instead of 10000. */
|
|
10
|
+
export const coerceNumber = (val: unknown): unknown =>
|
|
11
|
+
typeof val === "string" && val.trim() !== "" && !isNaN(Number(val)) ? Number(val) : val;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceArray, coerceBool, coerceNumber } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const GetContextCapsuleSchema = z.object({
|
|
5
6
|
query: z.string().describe("Description of the task or what you need context for"),
|
|
6
|
-
repos: z.array(z.string()).optional().describe("Repo aliases to query (default: all)"),
|
|
7
|
-
max_tokens: z.number().optional().default(8000).describe("Max tokens for the capsule"),
|
|
8
|
-
pivot_depth: z.number().optional().default(2).describe("BFS depth from pivot nodes"),
|
|
9
|
-
include_tests: z.boolean().optional().default(false).describe("Include test files"),
|
|
7
|
+
repos: z.preprocess(coerceArray, z.array(z.string()).optional()).describe("Repo aliases to query (default: all)"),
|
|
8
|
+
max_tokens: z.preprocess(coerceNumber, z.number().optional().default(8000)).describe("Max tokens for the capsule"),
|
|
9
|
+
pivot_depth: z.preprocess(coerceNumber, z.number().optional().default(2)).describe("BFS depth from pivot nodes"),
|
|
10
|
+
include_tests: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Include test files"),
|
|
10
11
|
skeleton_detail: z.enum(["minimal", "standard", "detailed"]).optional().default("standard"),
|
|
11
12
|
});
|
|
12
13
|
|
|
@@ -18,7 +19,7 @@ export const GET_CONTEXT_CAPSULE_DEFINITION = {
|
|
|
18
19
|
"Lightweight context search — finds relevant code via semantic + graph search. " +
|
|
19
20
|
"NOTE: For most tasks, prefer run_pipeline instead — it includes this capsule plus impact analysis " +
|
|
20
21
|
"and memory in a single call with fewer tokens. " +
|
|
21
|
-
"Use get_context_capsule only for quick, simple lookups where you don't need impact analysis or memory recall.",
|
|
22
|
+
"Use get_context_capsule only for quick, simple lookups where you don't need impact analysis or memory recall, or when you want a lighter, faster response.",
|
|
22
23
|
inputSchema: {
|
|
23
24
|
type: "object" as const,
|
|
24
25
|
properties: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceBool, coerceNumber } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const GetImpactGraphSchema = z.object({
|
|
5
6
|
symbol_fqn: z.string().describe("Fully qualified name of the symbol (e.g. 'src/auth/auth.ts::validateToken')"),
|
|
6
|
-
depth: z.number().optional().default(5).describe("BFS depth for impact traversal"),
|
|
7
|
-
cross_repo: z.boolean().optional().default(false).describe("Include cross-repo dependencies"),
|
|
7
|
+
depth: z.preprocess(coerceNumber, z.number().optional().default(5)).describe("BFS depth for impact traversal"),
|
|
8
|
+
cross_repo: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Include cross-repo dependencies"),
|
|
8
9
|
format: z.enum(["list", "tree", "mermaid"]).optional().default("tree"),
|
|
9
10
|
});
|
|
10
11
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceArray, coerceBool, coerceNumber } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const GetSessionContextSchema = z.object({
|
|
5
|
-
include_previous: z.boolean().optional().default(false).describe("Include observations from previous sessions"),
|
|
6
|
-
max_results: z.number().optional().default(20).describe("Max observations to return"),
|
|
7
|
-
types: z.array(z.string()).optional().describe("Filter by observation type"),
|
|
6
|
+
include_previous: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Include observations from previous sessions"),
|
|
7
|
+
max_results: z.preprocess(coerceNumber, z.number().optional().default(20)).describe("Max observations to return"),
|
|
8
|
+
types: z.preprocess(coerceArray, z.array(z.string()).optional()).describe("Filter by observation type"),
|
|
8
9
|
});
|
|
9
10
|
|
|
10
11
|
export type GetSessionContextParams = z.infer<typeof GetSessionContextSchema>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceArray } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const GetSkeletonSchema = z.object({
|
|
5
|
-
files: z.array(z.string()).describe("File paths to skeletonize (relative to repo root)"),
|
|
6
|
+
files: z.preprocess(coerceArray, z.array(z.string())).describe("File paths to skeletonize (relative to repo root)"),
|
|
6
7
|
detail: z.enum(["minimal", "standard", "detailed"]).optional().default("standard"),
|
|
7
8
|
repo: z.string().optional().describe("Repo alias (default: current)"),
|
|
8
9
|
});
|
|
@@ -12,12 +13,13 @@ export type GetSkeletonParams = z.infer<typeof GetSkeletonSchema>;
|
|
|
12
13
|
export const GET_SKELETON_DEFINITION = {
|
|
13
14
|
name: "get_skeleton",
|
|
14
15
|
description:
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"(
|
|
19
|
-
"(
|
|
20
|
-
"
|
|
16
|
+
"PREFERRED way to inspect files — returns signatures, class declarations, and type definitions " +
|
|
17
|
+
"at three detail levels (70-90% token savings vs Read). " +
|
|
18
|
+
"Detail levels: minimal = exports and top-level signatures only. standard = all declarations with doc comments. detailed = full bodies for short functions, signatures for long ones. " +
|
|
19
|
+
"WHEN TO USE: (1) ALWAYS prefer this over Read — use get_skeleton first, only fall back to Read if you truly need exact raw content to edit a specific line. " +
|
|
20
|
+
"(2) After run_pipeline when you need to drill deeper into a file from the results. " +
|
|
21
|
+
"(3) When asked to understand, list, or explore functions/classes in a file. " +
|
|
22
|
+
"(4) When you need more context on a supporting file from capsule results.",
|
|
21
23
|
inputSchema: {
|
|
22
24
|
type: "object" as const,
|
|
23
25
|
properties: {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceArray, coerceBool, coerceNumber } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const RunPipelineSchema = z.object({
|
|
5
6
|
task: z.string().describe("Description of your task"),
|
|
@@ -24,24 +25,24 @@ export const RunPipelineSchema = z.object({
|
|
|
24
25
|
)
|
|
25
26
|
.optional()
|
|
26
27
|
.describe("Advanced: explicit pipeline steps (overrides preset)"),
|
|
27
|
-
max_tokens: z
|
|
28
|
+
max_tokens: z.preprocess(coerceNumber, z
|
|
28
29
|
.number()
|
|
29
30
|
.optional()
|
|
30
|
-
.default(10000)
|
|
31
|
+
.default(10000))
|
|
31
32
|
.describe("Total token budget for the entire pipeline output"),
|
|
32
|
-
include_tests: z
|
|
33
|
+
include_tests: z.preprocess(coerceBool, z
|
|
33
34
|
.boolean()
|
|
34
35
|
.optional()
|
|
35
|
-
.default(false)
|
|
36
|
+
.default(false))
|
|
36
37
|
.describe("Include test files"),
|
|
37
|
-
include_file_content: z
|
|
38
|
+
include_file_content: z.preprocess(coerceBool, z
|
|
38
39
|
.boolean()
|
|
39
40
|
.optional()
|
|
40
|
-
.default(true)
|
|
41
|
+
.default(true))
|
|
41
42
|
.describe("Include full file content for pivot files from index"),
|
|
42
|
-
repos: z
|
|
43
|
+
repos: z.preprocess(coerceArray, z
|
|
43
44
|
.array(z.string())
|
|
44
|
-
.optional()
|
|
45
|
+
.optional())
|
|
45
46
|
.describe("Repo aliases to query (default: all)"),
|
|
46
47
|
observation: z
|
|
47
48
|
.string()
|
|
@@ -65,7 +66,7 @@ export const RUN_PIPELINE_DEFINITION = {
|
|
|
65
66
|
"ALWAYS prefer this over Read, Grep, Glob, or get_context_capsule — " +
|
|
66
67
|
"it provides the same results plus impact analysis in a single call with ~60% fewer tokens. " +
|
|
67
68
|
"Auto-detects intent (debug/modify/refactor/explore) from your task description. " +
|
|
68
|
-
"Includes full file content for pivot files
|
|
69
|
+
"Includes full file content for pivot files. If you need more detail on a specific file, use get_skeleton (detail: minimal/standard/detailed) instead of Read — it saves 70-90% tokens.",
|
|
69
70
|
inputSchema: {
|
|
70
71
|
type: "object" as const,
|
|
71
72
|
properties: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceArray } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const SaveObservationSchema = z.object({
|
|
5
6
|
content: z.string().describe("The observation text (keep concise, 1-2 sentences)"),
|
|
6
7
|
type: z.enum(["insight", "decision", "error"]).optional().default("insight"),
|
|
7
|
-
linked_symbols: z.array(z.string()).optional().describe("FQNs of related code symbols for staleness tracking"),
|
|
8
|
+
linked_symbols: z.preprocess(coerceArray, z.array(z.string()).optional()).describe("FQNs of related code symbols for staleness tracking"),
|
|
8
9
|
});
|
|
9
10
|
|
|
10
11
|
export type SaveObservationParams = z.infer<typeof SaveObservationSchema>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceBool, coerceNumber } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const SearchLogicFlowSchema = z.object({
|
|
5
6
|
start: z.string().describe("FQN of the starting symbol"),
|
|
6
7
|
end: z.string().describe("FQN of the ending symbol"),
|
|
7
|
-
max_paths: z.number().optional().default(3).describe("Max number of paths to return"),
|
|
8
|
-
cross_repo: z.boolean().optional().default(false).describe("Allow cross-repo traversal"),
|
|
8
|
+
max_paths: z.preprocess(coerceNumber, z.number().optional().default(3)).describe("Max number of paths to return"),
|
|
9
|
+
cross_repo: z.preprocess(coerceBool, z.boolean().optional().default(false)).describe("Allow cross-repo traversal"),
|
|
9
10
|
});
|
|
10
11
|
|
|
11
12
|
export type SearchLogicFlowParams = z.infer<typeof SearchLogicFlowSchema>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { DaemonClient } from "../daemon-client.js";
|
|
3
|
+
import { coerceBool, coerceNumber } from "./coerce.js";
|
|
3
4
|
|
|
4
5
|
export const SearchMemorySchema = z.object({
|
|
5
6
|
query: z.string().describe("Search query for memories"),
|
|
6
|
-
max_results: z.number().optional().default(10).describe("Max results"),
|
|
7
|
-
include_stale: z.boolean().optional().default(true).describe("Include stale observations (demoted but shown)"),
|
|
8
|
-
time_range_days: z.number().optional().describe("Only search last N days (default: 30)"),
|
|
7
|
+
max_results: z.preprocess(coerceNumber, z.number().optional().default(10)).describe("Max results"),
|
|
8
|
+
include_stale: z.preprocess(coerceBool, z.boolean().optional().default(true)).describe("Include stale observations (demoted but shown)"),
|
|
9
|
+
time_range_days: z.preprocess(coerceNumber, z.number().optional()).describe("Only search last N days (default: 30)"),
|
|
9
10
|
session_filter: z.string().optional().describe("Filter to specific session ID"),
|
|
10
11
|
});
|
|
11
12
|
|