@vinhnt-sdk/tools 0.1.2 → 0.1.3
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/agent-provider.d.ts +30 -0
- package/dist/agent-provider.d.ts.map +1 -0
- package/dist/agent-provider.js +35 -0
- package/dist/agent-provider.js.map +1 -0
- package/dist/define-tool.d.ts +6 -1
- package/dist/define-tool.d.ts.map +1 -1
- package/dist/define-tool.js +8 -5
- package/dist/define-tool.js.map +1 -1
- package/dist/definitions.d.ts +12 -1
- package/dist/definitions.d.ts.map +1 -1
- package/dist/definitions.js +2 -1
- package/dist/definitions.js.map +1 -1
- package/dist/description-lint.d.ts +2 -0
- package/dist/description-lint.d.ts.map +1 -1
- package/dist/description-lint.js.map +1 -1
- package/dist/diff.d.ts +2 -0
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +1 -0
- package/dist/diff.js.map +1 -1
- package/dist/file-history.d.ts +4 -0
- package/dist/file-history.d.ts.map +1 -1
- package/dist/file-history.js +1 -0
- package/dist/file-history.js.map +1 -1
- package/dist/file-tools.d.ts +45 -12
- package/dist/file-tools.d.ts.map +1 -1
- package/dist/file-tools.js +104 -30
- package/dist/file-tools.js.map +1 -1
- package/dist/git-tools.d.ts +5 -1
- package/dist/git-tools.d.ts.map +1 -1
- package/dist/git-tools.js +7 -2
- package/dist/git-tools.js.map +1 -1
- package/dist/history-hook.d.ts +2 -1
- package/dist/history-hook.d.ts.map +1 -1
- package/dist/history-hook.js +4 -3
- package/dist/history-hook.js.map +1 -1
- package/dist/image-tools.d.ts +13 -3
- package/dist/image-tools.d.ts.map +1 -1
- package/dist/image-tools.js +62 -13
- package/dist/image-tools.js.map +1 -1
- package/dist/index.d.ts +38 -230
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -131
- package/dist/index.js.map +1 -1
- package/dist/json-schema.d.ts +3 -0
- package/dist/json-schema.d.ts.map +1 -1
- package/dist/kill-tree.d.ts +36 -0
- package/dist/kill-tree.d.ts.map +1 -0
- package/dist/kill-tree.js +80 -0
- package/dist/kill-tree.js.map +1 -0
- package/dist/lazy-registry.d.ts +5 -3
- package/dist/lazy-registry.d.ts.map +1 -1
- package/dist/lazy-registry.js +1 -0
- package/dist/lazy-registry.js.map +1 -1
- package/dist/policy.d.ts +1 -0
- package/dist/policy.d.ts.map +1 -1
- package/dist/providers/builtin-provider.d.ts.map +1 -1
- package/dist/providers/builtin-provider.js +1 -4
- package/dist/providers/builtin-provider.js.map +1 -1
- package/dist/providers/file-loader.d.ts +20 -2
- package/dist/providers/file-loader.d.ts.map +1 -1
- package/dist/providers/file-loader.js +46 -6
- package/dist/providers/file-loader.js.map +1 -1
- package/dist/providers/index.d.ts +0 -4
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +0 -3
- package/dist/providers/index.js.map +1 -1
- package/dist/question-tool.d.ts +9 -3
- package/dist/question-tool.d.ts.map +1 -1
- package/dist/question-tool.js +5 -1
- package/dist/question-tool.js.map +1 -1
- package/dist/read-tracker.d.ts +10 -1
- package/dist/read-tracker.d.ts.map +1 -1
- package/dist/read-tracker.js +38 -8
- package/dist/read-tracker.js.map +1 -1
- package/dist/registry.d.ts +3 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +8 -2
- package/dist/registry.js.map +1 -1
- package/dist/saga.d.ts +32 -0
- package/dist/saga.d.ts.map +1 -0
- package/dist/saga.js +65 -0
- package/dist/saga.js.map +1 -0
- package/dist/sandbox.d.ts +2 -0
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +10 -43
- package/dist/sandbox.js.map +1 -1
- package/dist/search-tools.d.ts +3 -1
- package/dist/search-tools.d.ts.map +1 -1
- package/dist/search-tools.js +7 -3
- package/dist/search-tools.js.map +1 -1
- package/dist/shell-parser.js +1 -0
- package/dist/shell-parser.js.map +1 -1
- package/dist/shell-tool.d.ts +11 -4
- package/dist/shell-tool.d.ts.map +1 -1
- package/dist/shell-tool.js +16 -9
- package/dist/shell-tool.js.map +1 -1
- package/dist/skill-provider.d.ts +21 -0
- package/dist/skill-provider.d.ts.map +1 -0
- package/dist/skill-provider.js +28 -0
- package/dist/skill-provider.js.map +1 -0
- package/dist/todo-tool.d.ts +2 -1
- package/dist/todo-tool.d.ts.map +1 -1
- package/dist/todo-tool.js +2 -1
- package/dist/todo-tool.js.map +1 -1
- package/dist/tool-sandbox.d.ts +19 -0
- package/dist/tool-sandbox.d.ts.map +1 -0
- package/dist/tool-sandbox.js +100 -0
- package/dist/tool-sandbox.js.map +1 -0
- package/dist/tool-search.d.ts +6 -3
- package/dist/tool-search.d.ts.map +1 -1
- package/dist/tool-search.js +2 -1
- package/dist/tool-search.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validate.d.ts +4 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +3 -0
- package/dist/validate.js.map +1 -1
- package/dist/web-search-tool.d.ts +10 -5
- package/dist/web-search-tool.d.ts.map +1 -1
- package/dist/web-search-tool.js +5 -3
- package/dist/web-search-tool.js.map +1 -1
- package/dist/web-tools.d.ts +8 -3
- package/dist/web-tools.d.ts.map +1 -1
- package/dist/web-tools.js +5 -1
- package/dist/web-tools.js.map +1 -1
- package/package.json +10 -9
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ToolProvider, ToolDefinition, ToolRegistry } from "@vinhnt-sdk/tools";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal kernel interface for tool registration.
|
|
4
|
+
* Avoids circular dependency with @vinhnt-sdk/core.
|
|
5
|
+
*/
|
|
6
|
+
export interface KernelLike {
|
|
7
|
+
registerTool(tool: ToolDefinition): void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* AgentToolProvider — Provides agent-related tools.
|
|
11
|
+
*
|
|
12
|
+
* Tools are lazily created after the kernel is initialized
|
|
13
|
+
* to avoid circular dependencies.
|
|
14
|
+
*/
|
|
15
|
+
export declare class AgentToolProvider implements ToolProvider {
|
|
16
|
+
readonly id = "agents";
|
|
17
|
+
readonly name = "Agent Tools";
|
|
18
|
+
readonly description = "Agent management tools: spawn, delegate, list, create";
|
|
19
|
+
private kernel;
|
|
20
|
+
private _tools;
|
|
21
|
+
/**
|
|
22
|
+
* Set the kernel instance (call after kernel is created).
|
|
23
|
+
*/
|
|
24
|
+
setKernel(kernel: KernelLike): void;
|
|
25
|
+
get tools(): ToolDefinition[];
|
|
26
|
+
private createTools;
|
|
27
|
+
register(_registry: ToolRegistry): void;
|
|
28
|
+
unregister(_registry: ToolRegistry): void;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=agent-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-provider.d.ts","sourceRoot":"","sources":["../src/agent-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEpF;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CAC1C;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,YAAY;IACpD,QAAQ,CAAC,EAAE,YAAY;IACvB,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,2DAA2D;IAE/E,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAAwB;IAEtC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,IAAI,KAAK,IAAI,cAAc,EAAE,CAE5B;IAED,OAAO,CAAC,WAAW;IAKnB,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIvC,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;CAG1C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentToolProvider — Provides agent-related tools.
|
|
3
|
+
*
|
|
4
|
+
* Tools are lazily created after the kernel is initialized
|
|
5
|
+
* to avoid circular dependencies.
|
|
6
|
+
*/
|
|
7
|
+
export class AgentToolProvider {
|
|
8
|
+
id = "agents";
|
|
9
|
+
name = "Agent Tools";
|
|
10
|
+
description = "Agent management tools: spawn, delegate, list, create";
|
|
11
|
+
kernel = null;
|
|
12
|
+
_tools = [];
|
|
13
|
+
/**
|
|
14
|
+
* Set the kernel instance (call after kernel is created).
|
|
15
|
+
*/
|
|
16
|
+
setKernel(kernel) {
|
|
17
|
+
this.kernel = kernel;
|
|
18
|
+
this._tools = this.createTools();
|
|
19
|
+
}
|
|
20
|
+
get tools() {
|
|
21
|
+
return this._tools;
|
|
22
|
+
}
|
|
23
|
+
createTools() {
|
|
24
|
+
if (!this.kernel)
|
|
25
|
+
return [];
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
register(_registry) {
|
|
29
|
+
// Registration is handled by ToolProviderRegistry
|
|
30
|
+
}
|
|
31
|
+
unregister(_registry) {
|
|
32
|
+
this._tools = [];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=agent-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-provider.js","sourceRoot":"","sources":["../src/agent-provider.ts"],"names":[],"mappings":"AAUA;;;;;GAKG;AACH,MAAM,OAAO,iBAAiB;IACnB,EAAE,GAAG,QAAQ,CAAC;IACd,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAAG,uDAAuD,CAAC;IAEvE,MAAM,GAAsB,IAAI,CAAC;IACjC,MAAM,GAAqB,EAAE,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,MAAkB;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,SAAuB;QAC9B,kDAAkD;IACpD,CAAC;IAED,UAAU,CAAC,SAAuB;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;CACF"}
|
package/dist/define-tool.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import type { z } from "zod";
|
|
2
2
|
import type { ToolDefinition, ToolContext, ToolRisk } from "./definitions.js";
|
|
3
3
|
import type { NestedJsonSchema } from "./json-schema.js";
|
|
4
4
|
/**
|
|
@@ -21,24 +21,29 @@ export interface ToolConfig<TInput = unknown, TOutput = unknown> {
|
|
|
21
21
|
timeoutMs?: number;
|
|
22
22
|
/** Permission action key for the gate (e.g. "edit", "shell"). Optional; defaults to risk. */
|
|
23
23
|
permissionAction?: string;
|
|
24
|
+
/** If true, tool prompts its own permission via `ctx.ask` (kernel gate defers). */
|
|
25
|
+
selfApproving?: boolean;
|
|
24
26
|
/** Optional LLM-facing JSON Schema override (e.g. to advertise `path` aliases). */
|
|
25
27
|
jsonSchema?: NestedJsonSchema;
|
|
26
28
|
/** Coerce raw model-agnostic input before validation (e.g. snake_case aliases). */
|
|
27
29
|
normalize?(raw: unknown): unknown;
|
|
28
30
|
execute(input: TInput, ctx: ToolContext): Promise<TOutput>;
|
|
29
31
|
}
|
|
32
|
+
/** A schema-first tool: owns its validation schema and derives its definition. */
|
|
30
33
|
export interface Tool<TInput = unknown, TOutput = unknown> {
|
|
31
34
|
readonly name: string;
|
|
32
35
|
readonly description: string;
|
|
33
36
|
readonly risk: ToolRisk;
|
|
34
37
|
readonly timeoutMs?: number;
|
|
35
38
|
readonly permissionAction?: string;
|
|
39
|
+
readonly selfApproving?: boolean;
|
|
36
40
|
readonly input: z.ZodType<TInput>;
|
|
37
41
|
/** Derive the provider-facing ToolDefinition (registers as `name`). */
|
|
38
42
|
toDefinition(): ToolDefinition<TInput, TOutput>;
|
|
39
43
|
}
|
|
40
44
|
/** Map a Zod schema to the codebase's `NestedJsonSchema` shape (best effort). */
|
|
41
45
|
export declare function zodSchemaToNestedJsonSchema(schema: z.ZodTypeAny): NestedJsonSchema | undefined;
|
|
46
|
+
/** Build a schema-first {@link Tool} from its config. */
|
|
42
47
|
export declare function defineTool<TInput = unknown, TOutput = unknown>(config: ToolConfig<TInput, TOutput>): Tool<TInput, TOutput>;
|
|
43
48
|
/** Convenience: build a ToolDefinition directly from a ToolConfig. */
|
|
44
49
|
export declare function toolToDefinition<TInput = unknown, TOutput = unknown>(config: ToolConfig<TInput, TOutput>): ToolDefinition<TInput, TOutput>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-tool.d.ts","sourceRoot":"","sources":["../src/define-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"define-tool.d.ts","sourceRoot":"","sources":["../src/define-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGzD;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC7D,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,yEAAyE;IACzE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,yCAAyC;IACzC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,mFAAmF;IACnF,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,mFAAmF;IACnF,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,kFAAkF;AAClF,MAAM,WAAW,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,uEAAuE;IACvE,YAAY,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAID,iFAAiF;AACjF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,gBAAgB,GAAG,SAAS,CAI9F;AAgFD,yDAAyD;AACzD,wBAAgB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAC5D,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAgCvB;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAClE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAEjC"}
|
package/dist/define-tool.js
CHANGED
|
@@ -82,13 +82,15 @@ function convert(schema) {
|
|
|
82
82
|
return base;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
+
/** Build a schema-first {@link Tool} from its config. */
|
|
85
86
|
export function defineTool(config) {
|
|
86
87
|
return {
|
|
87
88
|
name: config.name,
|
|
88
89
|
description: config.description,
|
|
89
90
|
risk: config.risk,
|
|
90
|
-
timeoutMs: config.timeoutMs,
|
|
91
|
-
permissionAction: config.permissionAction,
|
|
91
|
+
...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),
|
|
92
|
+
...(config.permissionAction !== undefined ? { permissionAction: config.permissionAction } : {}),
|
|
93
|
+
...(config.selfApproving !== undefined ? { selfApproving: config.selfApproving } : {}),
|
|
92
94
|
input: config.input,
|
|
93
95
|
toDefinition() {
|
|
94
96
|
return {
|
|
@@ -96,10 +98,11 @@ export function defineTool(config) {
|
|
|
96
98
|
description: config.description,
|
|
97
99
|
risk: config.risk,
|
|
98
100
|
inputSchema: config.jsonSchema ?? zodSchemaToNestedJsonSchema(config.input),
|
|
99
|
-
timeoutMs: config.timeoutMs,
|
|
100
|
-
permissionAction: config.permissionAction,
|
|
101
|
+
...(config.timeoutMs !== undefined ? { timeoutMs: config.timeoutMs } : {}),
|
|
102
|
+
...(config.permissionAction !== undefined ? { permissionAction: config.permissionAction } : {}),
|
|
103
|
+
...(config.selfApproving !== undefined ? { selfApproving: config.selfApproving } : {}),
|
|
101
104
|
inputZodSchema: config.input,
|
|
102
|
-
outputZodSchema: config.output,
|
|
105
|
+
...(config.output !== undefined ? { outputZodSchema: config.output } : {}),
|
|
103
106
|
async execute(raw, ctx) {
|
|
104
107
|
const normalized = config.normalize ? config.normalize(raw) : raw;
|
|
105
108
|
const input = validateInput(config.name, config.input, normalized);
|
package/dist/define-tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-tool.js","sourceRoot":"","sources":["../src/define-tool.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"define-tool.js","sourceRoot":"","sources":["../src/define-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/definitions.d.ts
CHANGED
|
@@ -3,7 +3,11 @@ import type { ToolDefinitionLike } from "@vinhnt-sdk/schema";
|
|
|
3
3
|
import type { ToolContext } from "./context.js";
|
|
4
4
|
export type { ToolContext };
|
|
5
5
|
import type { NestedJsonSchema } from "./json-schema.js";
|
|
6
|
-
|
|
6
|
+
/** Known tool risk levels. Use as reference, not exhaustive. */
|
|
7
|
+
export declare const KNOWN_TOOL_RISKS: readonly ["read", "write", "destructive", "external"];
|
|
8
|
+
/** Tool risk level — open string for extensibility. */
|
|
9
|
+
export type ToolRisk = string;
|
|
10
|
+
/** Provider-facing tool definition: schema, risk and execute. */
|
|
7
11
|
export interface ToolDefinition<TInput = unknown, TOutput = unknown> extends ToolDefinitionLike {
|
|
8
12
|
readonly inputSchema?: NestedJsonSchema | undefined;
|
|
9
13
|
readonly risk: ToolRisk;
|
|
@@ -11,6 +15,12 @@ export interface ToolDefinition<TInput = unknown, TOutput = unknown> extends Too
|
|
|
11
15
|
readonly timeoutMs?: number;
|
|
12
16
|
/** Permission action key for the gate (e.g. "edit", "shell"). Optional; defaults to risk. */
|
|
13
17
|
readonly permissionAction?: string;
|
|
18
|
+
/**
|
|
19
|
+
* If true, the tool prompts its own permission dialog via `ctx.ask` during
|
|
20
|
+
* execute (with `savePatterns`). The kernel gate must NOT double-approve —
|
|
21
|
+
* it defers to the tool's single ask and only checks allow/deny rules.
|
|
22
|
+
*/
|
|
23
|
+
readonly selfApproving?: boolean;
|
|
14
24
|
/** Zod schema for runtime input validation (carried from defineTool). */
|
|
15
25
|
readonly inputZodSchema?: z.ZodType<TInput>;
|
|
16
26
|
/** Zod schema for runtime output validation (carried from defineTool). */
|
|
@@ -19,6 +29,7 @@ export interface ToolDefinition<TInput = unknown, TOutput = unknown> extends Too
|
|
|
19
29
|
readonly deferred?: boolean;
|
|
20
30
|
/** Tags for tool search (e.g. ["file", "read", "search"]). */
|
|
21
31
|
readonly tags?: readonly string[];
|
|
32
|
+
readonly metadata?: Record<string, unknown>;
|
|
22
33
|
execute(input: TInput, ctx: ToolContext): Promise<TOutput>;
|
|
23
34
|
}
|
|
24
35
|
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,uDAAwD,CAAC;AAEtF,uDAAuD;AACvD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,iEAAiE;AACjE,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CAAE,SAAQ,kBAAkB;IAC7F,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,6FAA6F;IAC7F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,yEAAyE;IACzE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,sFAAsF;IACtF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D"}
|
package/dist/definitions.js
CHANGED
package/dist/definitions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"AAMA,gEAAgE;AAChE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAU,CAAC"}
|
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
* CI can catch them early, mirroring API-doc review practices.
|
|
7
7
|
*/
|
|
8
8
|
export type DescriptionIssueCode = "empty" | "too-short" | "no-verb" | "vague" | "placeholder" | "too-long";
|
|
9
|
+
/** A single description-lint problem found. */
|
|
9
10
|
export interface ToolDescriptionIssue {
|
|
10
11
|
readonly code: DescriptionIssueCode;
|
|
11
12
|
readonly message: string;
|
|
12
13
|
}
|
|
14
|
+
/** Lint report for one tool description. */
|
|
13
15
|
export interface ToolDescriptionReport {
|
|
14
16
|
readonly tool: string;
|
|
15
17
|
readonly description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description-lint.d.ts","sourceRoot":"","sources":["../src/description-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAE5G,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD;AAwCD,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,qBAAqB,CA6C5F;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,GAC1D,qBAAqB,EAAE,CAIzB"}
|
|
1
|
+
{"version":3,"file":"description-lint.d.ts","sourceRoot":"","sources":["../src/description-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAE5G,+CAA+C;AAC/C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,4CAA4C;AAC5C,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAClD;AAwCD,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,qBAAqB,CA6C5F;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAE,GAC1D,qBAAqB,EAAE,CAIzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"description-lint.js","sourceRoot":"","sources":["../src/description-lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"description-lint.js","sourceRoot":"","sources":["../src/description-lint.ts"],"names":[],"mappings":"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"}
|
package/dist/diff.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/** Line-level unified diff with add/remove counts. */
|
|
1
2
|
export interface UnifiedDiff {
|
|
2
3
|
readonly diff: string;
|
|
3
4
|
readonly additions: number;
|
|
4
5
|
readonly removals: number;
|
|
5
6
|
}
|
|
7
|
+
/** Generate a line-level diff between old and new content for a file. */
|
|
6
8
|
export declare function generateDiff(filePath: string, oldContent: string, newContent: string): UnifiedDiff;
|
|
7
9
|
//# sourceMappingURL=diff.d.ts.map
|
package/dist/diff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,WAAW,CA6Bb"}
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,yEAAyE;AACzE,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,WAAW,CA6Bb"}
|
package/dist/diff.js
CHANGED
package/dist/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAOA,yEAAyE;AACzE,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,UAAkB,EAClB,UAAkB;IAElB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBACrC,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;gBACrC,SAAS,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IACpC,MAAM,CAAC,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IAEpC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC"}
|
package/dist/file-history.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** A recorded file change (before/after content) attributed to a session and tool. */
|
|
1
2
|
export interface FileVersion {
|
|
2
3
|
readonly filePath: string;
|
|
3
4
|
readonly sessionId: string;
|
|
@@ -6,6 +7,7 @@ export interface FileVersion {
|
|
|
6
7
|
readonly timestamp: number;
|
|
7
8
|
readonly toolName: string;
|
|
8
9
|
}
|
|
10
|
+
/** A single undo/redo step referencing the file content swap. */
|
|
9
11
|
export interface UndoEntry {
|
|
10
12
|
readonly filePath: string;
|
|
11
13
|
readonly originalContent: string;
|
|
@@ -14,6 +16,7 @@ export interface UndoEntry {
|
|
|
14
16
|
readonly timestamp: number;
|
|
15
17
|
readonly versionId: number;
|
|
16
18
|
}
|
|
19
|
+
/** Versioned file history contract with undo/redo and rollback support. */
|
|
17
20
|
export interface FileHistory {
|
|
18
21
|
recordVersion(version: Omit<FileVersion, "timestamp"> & {
|
|
19
22
|
timestamp?: number;
|
|
@@ -25,6 +28,7 @@ export interface FileHistory {
|
|
|
25
28
|
undo(): Promise<UndoEntry | null>;
|
|
26
29
|
redo(): Promise<UndoEntry | null>;
|
|
27
30
|
}
|
|
31
|
+
/** In-memory {@link FileHistory} keeping an ordered version log plus undo/redo stacks. */
|
|
28
32
|
export declare class InMemoryFileHistory implements FileHistory {
|
|
29
33
|
private versions;
|
|
30
34
|
private undoStack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-history.d.ts","sourceRoot":"","sources":["../src/file-history.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAChE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CACnC;AAED,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAK;IAErB,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAI/D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK/D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnE,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAIhD,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAOjC,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAMxC"}
|
|
1
|
+
{"version":3,"file":"file-history.d.ts","sourceRoot":"","sources":["../src/file-history.ts"],"names":[],"mappings":"AAEA,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,iEAAiE;AACjE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAChE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAChE,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACjD,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAClC,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CACnC;AAED,0FAA0F;AAC1F,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,cAAc,CAAK;IAErB,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9F,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAI/D,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK/D,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQnE,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAIhD,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAOjC,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAMxC"}
|
package/dist/file-history.js
CHANGED
package/dist/file-history.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-history.js","sourceRoot":"","sources":["../src/file-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"file-history.js","sourceRoot":"","sources":["../src/file-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiCrD,0FAA0F;AAC1F,MAAM,OAAO,mBAAmB;IACtB,QAAQ,GAAkB,EAAE,CAAC;IAC7B,SAAS,GAAgB,EAAE,CAAC;IAC5B,SAAS,GAAgB,EAAE,CAAC;IAC5B,cAAc,GAAG,CAAC,CAAC;IAE3B,KAAK,CAAC,aAAa,CAAC,OAAgE;QAClF,MAAM,KAAK,GAAgB;YACzB,GAAG,OAAO;YACV,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;SAC5B,CAAC;QACjB,KAA2B,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE;SACjC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACrE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,YAAoB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACrE,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACvD,MAAM,IAAI,eAAe,CAAC,iBAAiB,YAAY,oBAAoB,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACpG,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAE,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
package/dist/file-tools.d.ts
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { ToolContext } from "@vinhnt-sdk/tools";
|
|
2
|
+
import type { FileReadTracker } from "./read-tracker.js";
|
|
3
|
+
import { generateDiff } from "@vinhnt-sdk/tools";
|
|
3
4
|
type RootGetter = string | (() => string);
|
|
4
|
-
|
|
5
|
+
declare function resolveRoot(r: RootGetter): string;
|
|
6
|
+
export { resolveRoot, type RootGetter };
|
|
7
|
+
declare function isWithinWorkspace(target: string, workspace: string): boolean;
|
|
8
|
+
export { isWithinWorkspace };
|
|
9
|
+
/**
|
|
10
|
+
* Verify `target` stays inside the (realpath'd) workspace and return the real
|
|
11
|
+
* path to use for I/O. Symlink/junction escapes are always rejected — even
|
|
12
|
+
* when `externalDirAccess` is enabled — because the caller asked for a path
|
|
13
|
+
* inside the workspace; escaping it silently would bypass containment.
|
|
14
|
+
*/
|
|
15
|
+
declare function ensurePathAccess(target: string, root: string, pathLabel: string, ctx: ToolContext, externalDirAccess?: boolean): Promise<string>;
|
|
16
|
+
export { ensurePathAccess };
|
|
17
|
+
/**
|
|
18
|
+
* Create the `read_file` tool. Reads a file relative to the workspace root,
|
|
19
|
+
* enforcing workspace boundaries and optionally tracking reads for the
|
|
20
|
+
* kernel's file-history features.
|
|
21
|
+
*/
|
|
22
|
+
export declare function createReadFileTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean, maxFileSize?: number): import("@vinhnt-sdk/tools").ToolDefinition<{
|
|
5
23
|
filePath: string;
|
|
6
24
|
stripTrailingNewline?: boolean;
|
|
7
25
|
}, string>;
|
|
8
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Create the `write_file` tool. Writes content to a file, creating parent
|
|
28
|
+
* directories as needed and returning a diff of the change.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createWriteFileTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean): import("@vinhnt-sdk/tools").ToolDefinition<{
|
|
9
31
|
filePath: string;
|
|
10
32
|
content: string;
|
|
11
33
|
}, {
|
|
@@ -15,22 +37,30 @@ export declare function createWriteFileTool(workspaceRoot: RootGetter, tracker?:
|
|
|
15
37
|
additions: number;
|
|
16
38
|
removals: number;
|
|
17
39
|
}>;
|
|
18
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Create the `edit_file` tool. Applies exact/fuzzy search-and-replace edits
|
|
42
|
+
* (one hunk or a multi-hunk `edits[]` array) to an existing file.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createEditFileTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean): import("@vinhnt-sdk/tools").ToolDefinition<{
|
|
19
45
|
filePath: string;
|
|
20
|
-
oldString?: string;
|
|
21
|
-
newString?: string;
|
|
46
|
+
oldString?: string | undefined;
|
|
47
|
+
newString?: string | undefined;
|
|
22
48
|
edits?: readonly {
|
|
23
49
|
oldString: string;
|
|
24
50
|
newString: string;
|
|
25
|
-
}[];
|
|
51
|
+
}[] | undefined;
|
|
26
52
|
}, {
|
|
27
53
|
edited: string;
|
|
28
54
|
diff: string;
|
|
29
|
-
hunkCount?: number;
|
|
55
|
+
hunkCount?: number | undefined;
|
|
30
56
|
additions: number;
|
|
31
57
|
removals: number;
|
|
32
58
|
}>;
|
|
33
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Create the `apply_patch` tool. Applies a SEARCH/REPLACE block patch where
|
|
61
|
+
* each search string must match exactly once in the target file.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createApplyPatchTool(workspaceRoot: RootGetter, tracker?: FileReadTracker, externalDirAccess?: boolean): import("@vinhnt-sdk/tools").ToolDefinition<{
|
|
34
64
|
filePath: string;
|
|
35
65
|
patch: string;
|
|
36
66
|
}, {
|
|
@@ -45,12 +75,15 @@ export declare function createApplyPatchTool(workspaceRoot: RootGetter, tracker?
|
|
|
45
75
|
* User tự extend: `config.excludedDirs = [...DEFAULT_EXCLUDED_DIRS, "my-dir"]`
|
|
46
76
|
*/
|
|
47
77
|
export declare const DEFAULT_EXCLUDED_DIRS: string[];
|
|
48
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Create the `list_directory` tool. Lists a directory's entries
|
|
80
|
+
* (non-recursive), skipping `excludedDirs` (defaults to node_modules/.git).
|
|
81
|
+
*/
|
|
82
|
+
export declare function createListDirectoryTool(workspaceRoot: RootGetter, externalDirAccess?: boolean, excludedDirs?: string[]): import("@vinhnt-sdk/tools").ToolDefinition<{
|
|
49
83
|
dirPath: string;
|
|
50
84
|
}, {
|
|
51
85
|
name: string;
|
|
52
86
|
type: string;
|
|
53
87
|
path: string;
|
|
54
88
|
}[]>;
|
|
55
|
-
export {};
|
|
56
89
|
//# sourceMappingURL=file-tools.d.ts.map
|
package/dist/file-tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-tools.d.ts","sourceRoot":"","sources":["../src/file-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-tools.d.ts","sourceRoot":"","sources":["../src/file-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAmF7D,KAAK,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;AAE1C,iBAAS,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAE1C;AAED,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,CAAC;AAoBxC,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC;AA+B7B;;;;;GAKG;AACH,iBAAe,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB/I;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAwB5B;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM;cAC1G,MAAM;2BAAyB,OAAO;WAqBrE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO;cACrF,MAAM;aAAW,MAAM;;aAC1C,MAAM;WAAS,MAAM;UACxB,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC;eAClC,MAAM;cAAY,MAAM;GA0BtC;AAgPD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO;cACpF,MAAM;gBAAc,MAAM,GAAG,SAAS;gBAAc,MAAM,GAAG,SAAS;YAAU,SAAS;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,SAAS;;YACnK,MAAM;UAAQ,MAAM;gBAChB,MAAM,GAAG,SAAS;eAAa,MAAM;cAAY,MAAM;GAsCtE;AAeD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,OAAO;cACtF,MAAM;WAAS,MAAM;;aACxC,MAAM;YAAU,MAAM;UAAQ,MAAM;eAAa,MAAM;cAAY,MAAM;GAqDrF;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,UAA2B,CAAC;AAE9D;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE;aAGxF,MAAM;;UAAY,MAAM;UAAQ,MAAM;UAAQ,MAAM;KAoBlF"}
|