@vinhnt-sdk/core 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/agent-factory.d.ts +11 -0
- package/dist/agent/agent-factory.d.ts.map +1 -1
- package/dist/agent/agent-factory.js +11 -2
- package/dist/agent/agent-factory.js.map +1 -1
- package/dist/agent/agent-registry.d.ts +3 -0
- package/dist/agent/agent-registry.d.ts.map +1 -1
- package/dist/agent/agent-registry.js.map +1 -1
- package/dist/agent/create-agent-tool.d.ts +13 -13
- package/dist/agent/create-agent-tool.d.ts.map +1 -1
- package/dist/agent/delegate-batch-tool.d.ts.map +1 -1
- package/dist/agent/delegate-batch-tool.js +1 -1
- package/dist/agent/delegate-batch-tool.js.map +1 -1
- package/dist/agent/delegate-tool.js +1 -1
- package/dist/agent/delegate-tool.js.map +1 -1
- package/dist/agent/execution-engine.d.ts +1 -1
- package/dist/agent/execution-engine.d.ts.map +1 -1
- package/dist/agent/spawn-agent-tool.d.ts +10 -10
- package/dist/agent/spawn-agent-tool.d.ts.map +1 -1
- package/dist/event-bus/bridge.d.ts +2 -3
- package/dist/event-bus/bridge.d.ts.map +1 -1
- package/dist/event-bus/bridge.js +12 -5
- package/dist/event-bus/bridge.js.map +1 -1
- package/dist/fakes/fake-approval-store.d.ts +2 -2
- package/dist/fakes/fake-approval-store.d.ts.map +1 -1
- package/dist/fakes/fake-approval-store.js +28 -6
- package/dist/fakes/fake-approval-store.js.map +1 -1
- package/dist/fakes/fake-model.d.ts.map +1 -1
- package/dist/fakes/fake-model.js +2 -1
- package/dist/fakes/fake-model.js.map +1 -1
- package/dist/fakes/fake-store.d.ts +4 -1
- package/dist/fakes/fake-store.d.ts.map +1 -1
- package/dist/fakes/fake-store.js +33 -0
- package/dist/fakes/fake-store.js.map +1 -1
- package/dist/index.d.ts +20 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/kernel/approval-handler.d.ts +1 -1
- package/dist/kernel/approval-handler.d.ts.map +1 -1
- package/dist/kernel/approval-handler.js +5 -1
- package/dist/kernel/approval-handler.js.map +1 -1
- package/dist/kernel/circuit-breaker.d.ts.map +1 -1
- package/dist/kernel/circuit-breaker.js +4 -1
- package/dist/kernel/circuit-breaker.js.map +1 -1
- package/dist/kernel/kernel-error.d.ts +1 -2
- package/dist/kernel/kernel-error.d.ts.map +1 -1
- package/dist/kernel/kernel-error.js +2 -3
- package/dist/kernel/kernel-error.js.map +1 -1
- package/dist/kernel/kernel-session.d.ts +13 -5
- package/dist/kernel/kernel-session.d.ts.map +1 -1
- package/dist/kernel/kernel-session.js +71 -13
- package/dist/kernel/kernel-session.js.map +1 -1
- package/dist/kernel/kernel-types.d.ts +6 -8
- package/dist/kernel/kernel-types.d.ts.map +1 -1
- package/dist/kernel/kernel-types.js.map +1 -1
- package/dist/kernel/kernel.d.ts +60 -16
- package/dist/kernel/kernel.d.ts.map +1 -1
- package/dist/kernel/kernel.js +428 -76
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/kernel/model-caller.d.ts +28 -2
- package/dist/kernel/model-caller.d.ts.map +1 -1
- package/dist/kernel/model-caller.js +47 -12
- package/dist/kernel/model-caller.js.map +1 -1
- package/dist/kernel/permission-gate.d.ts +6 -4
- package/dist/kernel/permission-gate.d.ts.map +1 -1
- package/dist/kernel/permission-gate.js +16 -6
- package/dist/kernel/permission-gate.js.map +1 -1
- package/dist/kernel/run-context.d.ts +26 -0
- package/dist/kernel/run-context.d.ts.map +1 -0
- package/dist/kernel/run-context.js +13 -0
- package/dist/kernel/run-context.js.map +1 -0
- package/dist/kernel/run-loop.d.ts +35 -14
- package/dist/kernel/run-loop.d.ts.map +1 -1
- package/dist/kernel/run-loop.js +295 -87
- package/dist/kernel/run-loop.js.map +1 -1
- package/dist/kernel/self-correction.d.ts +2 -2
- package/dist/kernel/self-correction.d.ts.map +1 -1
- package/dist/kernel/self-correction.js +3 -2
- package/dist/kernel/self-correction.js.map +1 -1
- package/dist/kernel/state-machine.d.ts +2 -0
- package/dist/kernel/state-machine.d.ts.map +1 -1
- package/dist/kernel/state-machine.js +2 -0
- package/dist/kernel/state-machine.js.map +1 -1
- package/dist/kernel/step-executor.d.ts +11 -3
- package/dist/kernel/step-executor.d.ts.map +1 -1
- package/dist/kernel/step-executor.js +54 -24
- package/dist/kernel/step-executor.js.map +1 -1
- package/dist/kernel/sub-agent-runner.d.ts +10 -7
- package/dist/kernel/sub-agent-runner.d.ts.map +1 -1
- package/dist/kernel/sub-agent-runner.js +105 -31
- package/dist/kernel/sub-agent-runner.js.map +1 -1
- package/dist/kernel/tool-context-builder.d.ts +7 -2
- package/dist/kernel/tool-context-builder.d.ts.map +1 -1
- package/dist/kernel/tool-context-builder.js +23 -6
- package/dist/kernel/tool-context-builder.js.map +1 -1
- package/dist/kernel/tool-error-router.d.ts +1 -1
- package/dist/kernel/tool-error-router.d.ts.map +1 -1
- package/dist/kernel/tool-error-router.js +4 -3
- package/dist/kernel/tool-error-router.js.map +1 -1
- package/dist/logger.d.ts +5 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +3 -0
- package/dist/logger.js.map +1 -1
- package/dist/model.d.ts +3 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +2 -0
- package/dist/model.js.map +1 -1
- package/dist/plugin/manager.d.ts +3 -1
- package/dist/plugin/manager.d.ts.map +1 -1
- package/dist/plugin/manager.js +51 -3
- package/dist/plugin/manager.js.map +1 -1
- package/dist/plugin/plugin-file-loader.js +2 -2
- package/dist/plugin/plugin-file-loader.js.map +1 -1
- package/dist/plugin.d.ts +50 -4
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +14 -1
- package/dist/plugin.js.map +1 -1
- package/dist/session/null-store.d.ts +1 -0
- package/dist/session/null-store.d.ts.map +1 -1
- package/dist/session/null-store.js +7 -0
- package/dist/session/null-store.js.map +1 -1
- package/dist/session/run-coordinator.d.ts +9 -3
- package/dist/session/run-coordinator.d.ts.map +1 -1
- package/dist/session/run-coordinator.js +4 -0
- package/dist/session/run-coordinator.js.map +1 -1
- package/dist/skill/create-skill-tool.d.ts +5 -4
- package/dist/skill/create-skill-tool.d.ts.map +1 -1
- package/dist/skill/create-skill-tool.js +8 -5
- package/dist/skill/create-skill-tool.js.map +1 -1
- package/dist/skill/skill-def-registry.d.ts +6 -0
- package/dist/skill/skill-def-registry.d.ts.map +1 -1
- package/dist/skill/skill-def-registry.js +4 -0
- package/dist/skill/skill-def-registry.js.map +1 -1
- package/dist/tool/bridge.d.ts +7 -1
- package/dist/tool/bridge.d.ts.map +1 -1
- package/dist/tool/bridge.js +5 -0
- package/dist/tool/bridge.js.map +1 -1
- package/dist/tool/builtin-provider.d.ts +35 -0
- package/dist/tool/builtin-provider.d.ts.map +1 -0
- package/dist/tool/builtin-provider.js +75 -0
- package/dist/tool/builtin-provider.js.map +1 -0
- package/dist/tool/index.d.ts +21 -23
- package/dist/tool/index.d.ts.map +1 -1
- package/dist/tool/index.js +19 -18
- package/dist/tool/index.js.map +1 -1
- package/dist/tool/provider-helpers.d.ts.map +1 -1
- package/dist/tool/provider-helpers.js +3 -2
- package/dist/tool/provider-helpers.js.map +1 -1
- package/dist/tool/runtime.d.ts +23 -2
- package/dist/tool/runtime.d.ts.map +1 -1
- package/dist/tool/runtime.js +20 -16
- package/dist/tool/runtime.js.map +1 -1
- package/dist/tracer.d.ts +5 -0
- package/dist/tracer.d.ts.map +1 -1
- package/dist/tracer.js +4 -0
- package/dist/tracer.js.map +1 -1
- package/dist/workflow/agent-graph.js +3 -3
- package/dist/workflow/agent-graph.js.map +1 -1
- package/dist/workflow/workflow-helpers.js +2 -2
- package/dist/workflow/workflow-helpers.js.map +1 -1
- package/dist/workspace.d.ts +7 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +4 -0
- package/dist/workspace.js.map +1 -1
- package/package.json +16 -7
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createReadFileTool, createWriteFileTool, createEditFileTool, createApplyPatchTool, createListDirectoryTool, createReadImageTool, } from "@vinhnt-sdk/tools";
|
|
2
|
+
import { createShellTool } from "@vinhnt-sdk/tools";
|
|
3
|
+
import { createGlobFilesTool, createGrepFilesTool } from "@vinhnt-sdk/tools";
|
|
4
|
+
import { createWebFetchTool, createWebSearchTool, TavilySearchProvider } from "@vinhnt-sdk/tools";
|
|
5
|
+
import { createGitStatusTool, createGitDiffTool, createGitLogTool, createGitCommitTool } from "@vinhnt-sdk/tools";
|
|
6
|
+
import { createTodoWriteTool, createQuestionTool } from "@vinhnt-sdk/tools";
|
|
7
|
+
/**
|
|
8
|
+
* BuiltinToolProvider — Provides all built-in coding tools.
|
|
9
|
+
*
|
|
10
|
+
* These tools are always available and can be overridden
|
|
11
|
+
* by user tools in .vnt/tools/ or ~/.vnt/tools/.
|
|
12
|
+
*/
|
|
13
|
+
export class BuiltinToolProvider {
|
|
14
|
+
id = "builtin";
|
|
15
|
+
name = "Built-in Tools";
|
|
16
|
+
description = "Core coding tools: file operations, shell, search, git, web";
|
|
17
|
+
_tools = null;
|
|
18
|
+
config;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.config = config;
|
|
21
|
+
}
|
|
22
|
+
get tools() {
|
|
23
|
+
if (this._tools === null) {
|
|
24
|
+
this._tools = this.createTools();
|
|
25
|
+
}
|
|
26
|
+
return this._tools;
|
|
27
|
+
}
|
|
28
|
+
createTools() {
|
|
29
|
+
const { workspaceRoot, shell } = this.config;
|
|
30
|
+
const tools = [
|
|
31
|
+
// File tools
|
|
32
|
+
createReadFileTool(workspaceRoot),
|
|
33
|
+
createWriteFileTool(workspaceRoot),
|
|
34
|
+
createEditFileTool(workspaceRoot),
|
|
35
|
+
createApplyPatchTool(workspaceRoot),
|
|
36
|
+
createListDirectoryTool(workspaceRoot),
|
|
37
|
+
// Shell tool
|
|
38
|
+
createShellTool(shell),
|
|
39
|
+
// Search tools
|
|
40
|
+
createGlobFilesTool(workspaceRoot),
|
|
41
|
+
createGrepFilesTool(workspaceRoot),
|
|
42
|
+
// Web tools
|
|
43
|
+
createWebFetchTool(),
|
|
44
|
+
...this.createWebSearchTool(),
|
|
45
|
+
// Git tools
|
|
46
|
+
createGitStatusTool(workspaceRoot),
|
|
47
|
+
createGitDiffTool(workspaceRoot),
|
|
48
|
+
createGitLogTool(workspaceRoot),
|
|
49
|
+
createGitCommitTool(workspaceRoot),
|
|
50
|
+
// Utility tools
|
|
51
|
+
createTodoWriteTool(),
|
|
52
|
+
createQuestionTool(),
|
|
53
|
+
createReadImageTool(workspaceRoot),
|
|
54
|
+
];
|
|
55
|
+
return tools;
|
|
56
|
+
}
|
|
57
|
+
createWebSearchTool() {
|
|
58
|
+
const { webSearchProvider, webSearchApiKey } = this.config;
|
|
59
|
+
if (webSearchProvider) {
|
|
60
|
+
return [createWebSearchTool({ provider: webSearchProvider })];
|
|
61
|
+
}
|
|
62
|
+
if (webSearchApiKey) {
|
|
63
|
+
const apiKey = typeof webSearchApiKey === "function" ? webSearchApiKey() : webSearchApiKey;
|
|
64
|
+
if (apiKey) {
|
|
65
|
+
return [createWebSearchTool({
|
|
66
|
+
provider: new TavilySearchProvider({ apiKey }),
|
|
67
|
+
})];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return [];
|
|
71
|
+
}
|
|
72
|
+
register(_registry) { }
|
|
73
|
+
unregister(_registry) { }
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=builtin-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin-provider.js","sourceRoot":"","sources":["../../src/tool/builtin-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,uBAAuB,EAC1G,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAA0B,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC1H,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAe5E;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IACrB,EAAE,GAAG,SAAS,CAAC;IACf,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,6DAA6D,CAAC;IAE7E,MAAM,GAA4B,IAAI,CAAC;IAC9B,MAAM,CAAoB;IAE3C,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7C,MAAM,KAAK,GAAqB;YAC9B,aAAa;YACb,kBAAkB,CAAC,aAAa,CAAC;YACjC,mBAAmB,CAAC,aAAa,CAAC;YAClC,kBAAkB,CAAC,aAAa,CAAC;YACjC,oBAAoB,CAAC,aAAa,CAAC;YACnC,uBAAuB,CAAC,aAAa,CAAC;YAEtC,aAAa;YACb,eAAe,CAAC,KAAK,CAAC;YAEtB,eAAe;YACf,mBAAmB,CAAC,aAAa,CAAC;YAClC,mBAAmB,CAAC,aAAa,CAAC;YAElC,YAAY;YACZ,kBAAkB,EAAE;YACpB,GAAG,IAAI,CAAC,mBAAmB,EAAE;YAE7B,YAAY;YACZ,mBAAmB,CAAC,aAAa,CAAC;YAClC,iBAAiB,CAAC,aAAa,CAAC;YAChC,gBAAgB,CAAC,aAAa,CAAC;YAC/B,mBAAmB,CAAC,aAAa,CAAC;YAElC,gBAAgB;YAChB,mBAAmB,EAAE;YACrB,kBAAkB,EAAE;YACpB,mBAAmB,CAAC,aAAa,CAAC;SACnC,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB;QACzB,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3D,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YAC3F,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,mBAAmB,CAAC;wBAC1B,QAAQ,EAAE,IAAI,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;qBAC/C,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,SAAuB,IAAS,CAAC;IAC1C,UAAU,CAAC,SAAuB,IAAS,CAAC;CAC7C"}
|
package/dist/tool/index.d.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
export { createReadFileTool, createWriteFileTool, createEditFileTool, createApplyPatchTool, createListDirectoryTool } from "@vinhnt-sdk/tools";
|
|
2
|
-
export { createShellTool } from "@vinhnt-sdk/tools";
|
|
3
|
-
export type { ShellToolConfig } from "@vinhnt-sdk/tools";
|
|
4
|
-
export { createGitStatusTool, createGitDiffTool, createGitLogTool, createGitCommitTool } from "@vinhnt-sdk/tools";
|
|
5
|
-
export { createGlobFilesTool, createGrepFilesTool } from "@vinhnt-sdk/tools";
|
|
6
|
-
export { createWebFetchTool } from "@vinhnt-sdk/tools";
|
|
7
1
|
export { ToolRegistry } from "@vinhnt-sdk/tools";
|
|
8
2
|
export type { ToolPermissionRule, ToolMaterialization } from "@vinhnt-sdk/tools";
|
|
9
3
|
export { createCodingDomain } from "@vinhnt-sdk/tools";
|
|
@@ -13,28 +7,32 @@ export type { Tool, ToolConfig } from "@vinhnt-sdk/tools";
|
|
|
13
7
|
export { LazyToolRegistry } from "@vinhnt-sdk/tools";
|
|
14
8
|
export type { LazyToolEntry } from "@vinhnt-sdk/tools";
|
|
15
9
|
export type { ApprovalHandler } from "@vinhnt-sdk/tools";
|
|
16
|
-
export { ToolSandbox, signalToToolContext } from "@vinhnt-sdk/tools";
|
|
17
|
-
export type { SandboxConfig } from "@vinhnt-sdk/tools";
|
|
18
|
-
export { FileReadTracker } from "@vinhnt-sdk/tools";
|
|
19
10
|
export { generateDiff } from "@vinhnt-sdk/tools";
|
|
20
11
|
export type { UnifiedDiff } from "@vinhnt-sdk/tools";
|
|
21
|
-
export { InMemoryFileHistory } from "@vinhnt-sdk/tools";
|
|
22
|
-
export { createFileHistoryHook } from "@vinhnt-sdk/tools";
|
|
23
|
-
export { readImageToContentParts, createReadImageTool } from "@vinhnt-sdk/tools";
|
|
24
|
-
export { createQuestionTool } from "@vinhnt-sdk/tools";
|
|
25
|
-
export type { QuestionInput, QuestionHandler } from "@vinhnt-sdk/tools";
|
|
26
|
-
export { createTodoWriteTool } from "@vinhnt-sdk/tools";
|
|
27
|
-
export { createWebSearchTool } from "@vinhnt-sdk/tools";
|
|
28
|
-
export type { WebSearchToolConfig } from "@vinhnt-sdk/tools";
|
|
29
|
-
export { createToolSearchTool } from "@vinhnt-sdk/tools";
|
|
30
|
-
export type { ToolSearchInput, ToolSearchResult } from "@vinhnt-sdk/tools";
|
|
31
12
|
export { ToolProviderRegistry } from "@vinhnt-sdk/tools";
|
|
32
13
|
export type { ToolProvider } from "@vinhnt-sdk/tools";
|
|
33
|
-
export {
|
|
34
|
-
export type {
|
|
35
|
-
export {
|
|
14
|
+
export type { ToolRisk, ToolDefinition, ToolDefinitionLike } from "@vinhnt-sdk/tools";
|
|
15
|
+
export type { ToolContext, ToolHook, PermissionReply, ToolExecutionResult } from "@vinhnt-sdk/tools";
|
|
16
|
+
export { ToolFileProvider, ToolFileLoader } from "@vinhnt-sdk/tools";
|
|
17
|
+
export { createReadFileTool, createWriteFileTool, createEditFileTool, createApplyPatchTool, createListDirectoryTool, createReadImageTool, readImageToContentParts, FileReadTracker, InMemoryFileHistory, createFileHistoryHook, } from "@vinhnt-sdk/tools";
|
|
18
|
+
export type { FileHistory, FileVersion, UndoEntry } from "@vinhnt-sdk/tools";
|
|
19
|
+
export { createShellTool, ToolSandbox, signalToToolContext, createSandbox } from "@vinhnt-sdk/tools";
|
|
20
|
+
export type { ShellToolConfig } from "@vinhnt-sdk/tools";
|
|
21
|
+
export type { SandboxConfig } from "@vinhnt-sdk/sandbox";
|
|
22
|
+
export { killProcessTree, isPidAlive, treeKillSpawnOptions } from "@vinhnt-sdk/sandbox";
|
|
23
|
+
export type { SandboxScope, ProcessSandbox, SandboxResult } from "@vinhnt-sdk/sandbox";
|
|
24
|
+
export { SandboxUnavailableError } from "@vinhnt-sdk/sandbox";
|
|
25
|
+
export { createWebFetchTool, createWebSearchTool, TavilySearchProvider, SerperSearchProvider } from "@vinhnt-sdk/tools";
|
|
26
|
+
export type { WebSearchToolConfig, WebSearchProvider } from "@vinhnt-sdk/tools";
|
|
27
|
+
export { createGitStatusTool, createGitDiffTool, createGitLogTool, createGitCommitTool } from "@vinhnt-sdk/tools";
|
|
28
|
+
export { createGlobFilesTool, createGrepFilesTool, createToolSearchTool } from "@vinhnt-sdk/tools";
|
|
29
|
+
export type { ToolSearchInput, ToolSearchResult } from "@vinhnt-sdk/tools";
|
|
30
|
+
export { createQuestionTool, createTodoWriteTool, AgentToolProvider, SkillToolProvider } from "@vinhnt-sdk/tools";
|
|
31
|
+
export type { QuestionInput, QuestionHandler } from "@vinhnt-sdk/tools";
|
|
32
|
+
export { BuiltinToolProvider } from "./builtin-provider.js";
|
|
33
|
+
export type { BuiltinToolConfig } from "./builtin-provider.js";
|
|
36
34
|
export { ToolRuntime } from "./runtime.js";
|
|
37
35
|
export type { ToolRuntimeConfig } from "./runtime.js";
|
|
38
36
|
export { createKernelTools, createPluginToolHook } from "./bridge.js";
|
|
39
|
-
export { registerProviderTools } from "./provider-helpers.js";
|
|
37
|
+
export { createToolProviderRegistry, createToolProvider, registerProviderTools } from "./provider-helpers.js";
|
|
40
38
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/tool/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tool/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tool/index.ts"],"names":[],"mappings":"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"}
|
package/dist/tool/index.js
CHANGED
|
@@ -1,28 +1,29 @@
|
|
|
1
|
-
// Re-export from @vinhnt-sdk/tools
|
|
2
|
-
export { createReadFileTool, createWriteFileTool, createEditFileTool, createApplyPatchTool, createListDirectoryTool } from "@vinhnt-sdk/tools";
|
|
3
|
-
export { createShellTool } from "@vinhnt-sdk/tools";
|
|
4
|
-
export { createGitStatusTool, createGitDiffTool, createGitLogTool, createGitCommitTool } from "@vinhnt-sdk/tools";
|
|
5
|
-
export { createGlobFilesTool, createGrepFilesTool } from "@vinhnt-sdk/tools";
|
|
6
|
-
export { createWebFetchTool } from "@vinhnt-sdk/tools";
|
|
1
|
+
// Re-export core tool infra from @vinhnt-sdk/tools
|
|
7
2
|
export { ToolRegistry } from "@vinhnt-sdk/tools";
|
|
8
3
|
export { createCodingDomain } from "@vinhnt-sdk/tools";
|
|
9
4
|
export { defineTool, toolToDefinition, zodSchemaToNestedJsonSchema } from "@vinhnt-sdk/tools";
|
|
10
5
|
export { LazyToolRegistry } from "@vinhnt-sdk/tools";
|
|
11
|
-
export { ToolSandbox, signalToToolContext } from "@vinhnt-sdk/tools";
|
|
12
|
-
export { FileReadTracker } from "@vinhnt-sdk/tools";
|
|
13
6
|
export { generateDiff } from "@vinhnt-sdk/tools";
|
|
14
|
-
export { InMemoryFileHistory } from "@vinhnt-sdk/tools";
|
|
15
|
-
export { createFileHistoryHook } from "@vinhnt-sdk/tools";
|
|
16
|
-
export { readImageToContentParts, createReadImageTool } from "@vinhnt-sdk/tools";
|
|
17
|
-
export { createQuestionTool } from "@vinhnt-sdk/tools";
|
|
18
|
-
export { createTodoWriteTool } from "@vinhnt-sdk/tools";
|
|
19
|
-
export { createWebSearchTool } from "@vinhnt-sdk/tools";
|
|
20
|
-
export { createToolSearchTool } from "@vinhnt-sdk/tools";
|
|
21
7
|
export { ToolProviderRegistry } from "@vinhnt-sdk/tools";
|
|
22
|
-
export {
|
|
23
|
-
|
|
8
|
+
export { ToolFileProvider, ToolFileLoader } from "@vinhnt-sdk/tools";
|
|
9
|
+
// File-system tool family
|
|
10
|
+
export { createReadFileTool, createWriteFileTool, createEditFileTool, createApplyPatchTool, createListDirectoryTool, createReadImageTool, readImageToContentParts, FileReadTracker, InMemoryFileHistory, createFileHistoryHook, } from "@vinhnt-sdk/tools";
|
|
11
|
+
// Shell tool family
|
|
12
|
+
export { createShellTool, ToolSandbox, signalToToolContext, createSandbox } from "@vinhnt-sdk/tools";
|
|
13
|
+
export { killProcessTree, isPidAlive, treeKillSpawnOptions } from "@vinhnt-sdk/sandbox";
|
|
14
|
+
export { SandboxUnavailableError } from "@vinhnt-sdk/sandbox";
|
|
15
|
+
// Web tool family
|
|
16
|
+
export { createWebFetchTool, createWebSearchTool, TavilySearchProvider, SerperSearchProvider } from "@vinhnt-sdk/tools";
|
|
17
|
+
// Git tool family
|
|
18
|
+
export { createGitStatusTool, createGitDiffTool, createGitLogTool, createGitCommitTool } from "@vinhnt-sdk/tools";
|
|
19
|
+
// Search tool family
|
|
20
|
+
export { createGlobFilesTool, createGrepFilesTool, createToolSearchTool } from "@vinhnt-sdk/tools";
|
|
21
|
+
// Agent tool family
|
|
22
|
+
export { createQuestionTool, createTodoWriteTool, AgentToolProvider, SkillToolProvider } from "@vinhnt-sdk/tools";
|
|
23
|
+
// Aggregator (composition root lives in core)
|
|
24
|
+
export { BuiltinToolProvider } from "./builtin-provider.js";
|
|
24
25
|
// Core-only: kernel integration
|
|
25
26
|
export { ToolRuntime } from "./runtime.js";
|
|
26
27
|
export { createKernelTools, createPluginToolHook } from "./bridge.js";
|
|
27
|
-
export { registerProviderTools } from "./provider-helpers.js";
|
|
28
|
+
export { createToolProviderRegistry, createToolProvider, registerProviderTools } from "./provider-helpers.js";
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
package/dist/tool/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tool/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tool/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAE9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAErE,0BAA0B;AAC1B,OAAO,EACL,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EACjF,uBAAuB,EAAE,mBAAmB,EAAE,uBAAuB,EACrE,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,GAC5D,MAAM,mBAAmB,CAAC;AAG3B,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrG,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAExF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGxH,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAElH,qBAAqB;AACrB,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGnG,oBAAoB;AACpB,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGlH,8CAA8C;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,gCAAgC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-helpers.d.ts","sourceRoot":"","sources":["../../src/tool/provider-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"provider-helpers.d.ts","sourceRoot":"","sources":["../../src/tool/provider-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;QACvC,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;CAC3C,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAwBhC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,cAAc,EAAE,GACtB,YAAY,CAQd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,oBAAoB,GAC7B,IAAI,CAIN"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ToolProviderRegistry
|
|
1
|
+
import { ToolProviderRegistry } from "@vinhnt-sdk/tools";
|
|
2
|
+
import { BuiltinToolProvider } from "./builtin-provider.js";
|
|
2
3
|
/**
|
|
3
4
|
* Create a ToolProviderRegistry with all built-in providers.
|
|
4
5
|
*
|
|
@@ -13,7 +14,7 @@ export async function createToolProviderRegistry(config) {
|
|
|
13
14
|
const builtinProvider = new BuiltinToolProvider({
|
|
14
15
|
workspaceRoot: config.workspaceRoot,
|
|
15
16
|
shell: config.shell,
|
|
16
|
-
webSearchApiKey: config.webSearchApiKey,
|
|
17
|
+
...(config.webSearchApiKey !== undefined ? { webSearchApiKey: config.webSearchApiKey } : {}),
|
|
17
18
|
});
|
|
18
19
|
registry.registerProvider(builtinProvider);
|
|
19
20
|
// 2. Load user tools from .vnt/tools/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-helpers.js","sourceRoot":"","sources":["../../src/tool/provider-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"provider-helpers.js","sourceRoot":"","sources":["../../src/tool/provider-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAShD;IACC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE5C,oCAAoC;IACpC,MAAM,eAAe,GAAG,IAAI,mBAAmB,CAAC;QAC9C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7F,CAAC,CAAC;IACH,QAAQ,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAE3C,sCAAsC;IACtC,IAAI,CAAC;QACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAU,EACV,IAAY,EACZ,KAAuB;IAEvB,OAAO;QACL,EAAE;QACF,IAAI;QACJ,KAAK;QACL,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC;QAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAmB,EACnB,QAA8B;IAE9B,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC"}
|
package/dist/tool/runtime.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { ToolDefinition, ToolContext } from "@vinhnt-sdk/tools";
|
|
2
2
|
import { ToolRegistry } from "@vinhnt-sdk/tools";
|
|
3
3
|
import { ToolSandbox } from "@vinhnt-sdk/tools";
|
|
4
|
-
import { PermissionGate
|
|
4
|
+
import type { PermissionGate } from "@vinhnt-sdk/step-executor";
|
|
5
|
+
import { type DynamicRule } from "@vinhnt-sdk/step-executor";
|
|
5
6
|
import type { ApprovalHandler } from "@vinhnt-sdk/tools";
|
|
7
|
+
/**
|
|
8
|
+
* Result of executing a tool through {@link ToolRuntime}.
|
|
9
|
+
* `success` carries the tool output, `denied` a policy/approval reason,
|
|
10
|
+
* `error` a thrown/validation error message.
|
|
11
|
+
*/
|
|
6
12
|
export type ToolExecutionResult = {
|
|
7
13
|
status: "success";
|
|
8
14
|
output: unknown;
|
|
@@ -13,6 +19,11 @@ export type ToolExecutionResult = {
|
|
|
13
19
|
status: "error";
|
|
14
20
|
error: string;
|
|
15
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Lifecycle hook around tool execution.
|
|
24
|
+
* `pre` can rewrite the input or deny execution; `post` can rewrite the result
|
|
25
|
+
* (hooks run in reverse order on the post phase).
|
|
26
|
+
*/
|
|
16
27
|
export interface ToolHook {
|
|
17
28
|
readonly id: string;
|
|
18
29
|
pre?(params: {
|
|
@@ -31,15 +42,25 @@ export interface ToolHook {
|
|
|
31
42
|
result: ToolExecutionResult;
|
|
32
43
|
}): Promise<ToolExecutionResult | null>;
|
|
33
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Configuration for {@link ToolRuntime}.
|
|
47
|
+
* `permissionGate` enforces tool policy — REQUIRED for execution (fail-closed:
|
|
48
|
+
* without a gate, every execution is denied), `approvalHandler` drives
|
|
49
|
+
* interactive approvals, and `sandbox` executes tools (defaults to an
|
|
50
|
+
* in-process {@link ToolSandbox}).
|
|
51
|
+
*/
|
|
34
52
|
export interface ToolRuntimeConfig {
|
|
35
53
|
permissionGate?: PermissionGate;
|
|
36
54
|
approvalHandler?: ApprovalHandler;
|
|
37
55
|
sandbox?: ToolSandbox;
|
|
38
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Runtime that registers tool definitions and executes them through the
|
|
59
|
+
* permission gate (deny/approve) and lifecycle hooks, isolated in a sandbox.
|
|
60
|
+
*/
|
|
39
61
|
export declare class ToolRuntime {
|
|
40
62
|
readonly registry: ToolRegistry;
|
|
41
63
|
private readonly permissionGate;
|
|
42
|
-
private readonly hasExplicitGate;
|
|
43
64
|
private approvalHandler;
|
|
44
65
|
private readonly sandbox;
|
|
45
66
|
private readonly hooks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/tool/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/tool/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAC,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GACnE,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,GACjG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,eAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAE5B,MAAM,CAAC,EAAE,iBAAiB;IAMtC,qDAAqD;IACrD,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAIlD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI;IAItD,QAAQ,IAAI,SAAS,cAAc,EAAE;IAIrC,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAI7B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK5B,8DAA8D;IAC9D,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIvC,0DAA0D;IAC1D,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAIzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAiE/F"}
|
package/dist/tool/runtime.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { ToolPermissionDenied } from "@vinhnt-sdk/schema";
|
|
2
2
|
import { ToolRegistry } from "@vinhnt-sdk/tools";
|
|
3
3
|
import { ToolSandbox, signalToToolContext } from "@vinhnt-sdk/tools";
|
|
4
|
+
/**
|
|
5
|
+
* Runtime that registers tool definitions and executes them through the
|
|
6
|
+
* permission gate (deny/approve) and lifecycle hooks, isolated in a sandbox.
|
|
7
|
+
*/
|
|
4
8
|
export class ToolRuntime {
|
|
5
9
|
registry = new ToolRegistry();
|
|
6
10
|
permissionGate;
|
|
7
|
-
hasExplicitGate;
|
|
8
11
|
approvalHandler;
|
|
9
12
|
sandbox;
|
|
10
13
|
hooks = [];
|
|
11
14
|
constructor(config) {
|
|
12
|
-
this.hasExplicitGate = config?.permissionGate !== undefined;
|
|
13
15
|
this.permissionGate = config?.permissionGate;
|
|
14
16
|
this.approvalHandler = config?.approvalHandler;
|
|
15
17
|
this.sandbox = config?.sandbox ?? new ToolSandbox();
|
|
@@ -45,23 +47,25 @@ export class ToolRuntime {
|
|
|
45
47
|
if (!tool) {
|
|
46
48
|
return { status: "error", error: `Tool "${toolId}" not found` };
|
|
47
49
|
}
|
|
48
|
-
//
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return { status: "denied", reason: `Tool "${tool.id}" was rejected by user` };
|
|
59
|
-
}
|
|
50
|
+
// RV-41: fail-closed — the permission gate is required for execution. A
|
|
51
|
+
// runtime without a gate must deny, never silently execute ungated tools.
|
|
52
|
+
if (!this.permissionGate) {
|
|
53
|
+
return { status: "denied", reason: `Tool "${tool.id}" could not be executed: no permission gate configured (fail-closed)` };
|
|
54
|
+
}
|
|
55
|
+
const permissionResult = this.permissionGate.checkTool(tool.id, tool.risk, input);
|
|
56
|
+
if (!permissionResult.allowed) {
|
|
57
|
+
if (permissionResult.needsApproval) {
|
|
58
|
+
if (!this.approvalHandler) {
|
|
59
|
+
return { status: "denied", reason: `Tool "${tool.id}" requires approval but no handler configured` };
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
const approved = await this.approvalHandler.requestApproval(tool, input);
|
|
62
|
+
if (!approved) {
|
|
63
|
+
return { status: "denied", reason: `Tool "${tool.id}" was rejected by user` };
|
|
63
64
|
}
|
|
64
65
|
}
|
|
66
|
+
else {
|
|
67
|
+
return { status: "denied", reason: permissionResult.reason ?? `Tool "${tool.id}" (risk: ${tool.risk}) is denied by policy` };
|
|
68
|
+
}
|
|
65
69
|
}
|
|
66
70
|
// Pre-hooks: can modify input or deny
|
|
67
71
|
let currentInput = input;
|
package/dist/tool/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tool/runtime.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/tool/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/tracer.d.ts
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import type { RequestContext } from "@vinhnt-sdk/schema";
|
|
2
|
+
/** A value augmented with the {@link RequestContext} it was produced under. */
|
|
2
3
|
export type Traceable<T> = T & {
|
|
3
4
|
readonly ctx: RequestContext;
|
|
4
5
|
};
|
|
5
6
|
export { type RequestContext };
|
|
7
|
+
/**
|
|
8
|
+
* Lightweight trace span manager: creates child contexts, tracks span
|
|
9
|
+
* timing, and wraps async work so results carry the current context.
|
|
10
|
+
*/
|
|
6
11
|
export declare class Tracer {
|
|
7
12
|
private readonly baseCtx?;
|
|
8
13
|
private spanStack;
|
package/dist/tracer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AAG7E,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAC7B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,OAAO,EAAE,KAAK,cAAc,EAAE,CAAC;AAE/B,qBAAa,MAAM;IAQf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAP3B,OAAO,CAAC,SAAS,CAIT;gBAGW,OAAO,CAAC,EAAE,cAAc,YAAA;IAG3C,WAAW,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,cAAc;IAUjD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI;IAQnD,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IAU3E,IAAI,UAAU,IAAI,cAAc,CAI/B;IAED,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAgBxF,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc;CAGvC"}
|
|
1
|
+
{"version":3,"file":"tracer.d.ts","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,oBAAoB,CAAC;AAG7E,+EAA+E;AAC/E,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAC7B,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,OAAO,EAAE,KAAK,cAAc,EAAE,CAAC;AAE/B;;;GAGG;AACH,qBAAa,MAAM;IAQf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAP3B,OAAO,CAAC,SAAS,CAIT;gBAGW,OAAO,CAAC,EAAE,cAAc,YAAA;IAG3C,WAAW,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,cAAc;IAUjD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,IAAI;IAQnD,OAAO,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IAU3E,IAAI,UAAU,IAAI,cAAc,CAI/B;IAED,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAgBxF,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc;CAGvC"}
|
package/dist/tracer.js
CHANGED
package/dist/tracer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tracer.js","sourceRoot":"","sources":["../src/tracer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS1D;;;GAGG;AACH,MAAM,OAAO,MAAM;IAQE;IAPX,SAAS,GAIZ,EAAE,CAAC;IAER,YACmB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IACxC,CAAC;IAEJ,WAAW,CAAC,GAAoB;QAC9B,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC;QACtC,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,UAAU,EAAe;YAC3C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,GAAoB;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAClB,IAAI;YACJ,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;YACjB,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,GAAG;YAChD,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,CAAI,IAAY,EAAE,EAAoB,EAAE,GAAoB;QAC9D,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE9B,OAAO,EAAE,EAAE,CAAC,IAAI,CACd,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAkB,CAAC;QACrD,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,GAAY;QACnB,OAAO,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC3D,CAAC;CACF;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,UAAU,EAAe;QAC3C,OAAO,EAAE,MAAM,CAAC,UAAU,EAAa;QACvC,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,SAAS;KACF,CAAC;AACtB,CAAC"}
|
|
@@ -17,7 +17,7 @@ export class AgentGraph {
|
|
|
17
17
|
}
|
|
18
18
|
/** Add an edge between nodes. */
|
|
19
19
|
addEdge(from, to, label) {
|
|
20
|
-
this.edges.push({ from, to, label });
|
|
20
|
+
this.edges.push({ from, to, ...(label !== undefined ? { label } : {}) });
|
|
21
21
|
return this;
|
|
22
22
|
}
|
|
23
23
|
/** Set the entry node. */
|
|
@@ -33,7 +33,7 @@ export class AgentGraph {
|
|
|
33
33
|
return {
|
|
34
34
|
id: this.id,
|
|
35
35
|
name: this.name,
|
|
36
|
-
description: this.description,
|
|
36
|
+
...(this.description !== undefined ? { description: this.description } : {}),
|
|
37
37
|
entryNode: this.entryNode,
|
|
38
38
|
nodes: [...this.nodes.values()],
|
|
39
39
|
edges: [...this.edges],
|
|
@@ -118,7 +118,7 @@ export class AgentGraph {
|
|
|
118
118
|
results.push({
|
|
119
119
|
nodeId,
|
|
120
120
|
status,
|
|
121
|
-
output,
|
|
121
|
+
...(output !== undefined ? { output } : {}),
|
|
122
122
|
durationMs: Date.now() - startTime,
|
|
123
123
|
});
|
|
124
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-graph.js","sourceRoot":"","sources":["../../src/workflow/agent-graph.ts"],"names":[],"mappings":"AAmBA,MAAM,OAAO,UAAU;IAMF;IACA;IACA;IAPF,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC3C,KAAK,GAAmB,EAAE,CAAC;IACpC,SAAS,CAAqB;IAEtC,YACmB,EAAU,EACV,IAAY,EACZ,WAAoB;QAFpB,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,gBAAW,GAAX,WAAW,CAAS;IACpC,CAAC;IAEJ,+BAA+B;IAC/B,OAAO,CAAC,IAAqB;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,OAAO,CAAC,IAAY,EAAE,EAAU,EAAE,KAAc;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-graph.js","sourceRoot":"","sources":["../../src/workflow/agent-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export function createSequentialWorkflow(id, name, steps) {
|
|
|
19
19
|
id: nodeId,
|
|
20
20
|
type: "agent",
|
|
21
21
|
agentId: step.agentId,
|
|
22
|
-
inputTemplate: step.inputTemplate,
|
|
22
|
+
...(step.inputTemplate !== undefined ? { inputTemplate: step.inputTemplate } : {}),
|
|
23
23
|
});
|
|
24
24
|
if (index > 0) {
|
|
25
25
|
graph.addEdge(`step-${index - 1}`, nodeId);
|
|
@@ -56,7 +56,7 @@ export function createParallelWorkflow(id, name, branches) {
|
|
|
56
56
|
id: nodeId,
|
|
57
57
|
type: "agent",
|
|
58
58
|
agentId: branch.agentId,
|
|
59
|
-
inputTemplate: branch.inputTemplate,
|
|
59
|
+
...(branch.inputTemplate !== undefined ? { inputTemplate: branch.inputTemplate } : {}),
|
|
60
60
|
});
|
|
61
61
|
graph.addEdge(parallelNodeId, nodeId);
|
|
62
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-helpers.js","sourceRoot":"","sources":["../../src/workflow/workflow-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAU,EACV,IAAY,EACZ,KAAqD;IAErD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,QAAQ,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC;YACZ,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"workflow-helpers.js","sourceRoot":"","sources":["../../src/workflow/workflow-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAU,EACV,IAAY,EACZ,KAAqD;IAErD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,QAAQ,KAAK,EAAE,CAAC;QAC/B,KAAK,CAAC,OAAO,CAAC;YACZ,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnF,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAU,EACV,IAAY,EACZ,QAAwD;IAExD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEvC,MAAM,cAAc,GAAG,eAAe,CAAC;IACvC,KAAK,CAAC,OAAO,CAAC;QACZ,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;KACxD,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjC,MAAM,MAAM,GAAG,UAAU,KAAK,EAAE,CAAC;QACjC,KAAK,CAAC,OAAO,CAAC;YACZ,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvF,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC/B,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { WorkspaceId } from "@vinhnt-sdk/schema";
|
|
2
|
+
/** A registered workspace directory. */
|
|
2
3
|
export interface Workspace {
|
|
3
4
|
readonly id: WorkspaceId;
|
|
4
5
|
readonly root: string;
|
|
@@ -6,12 +7,18 @@ export interface Workspace {
|
|
|
6
7
|
readonly addedAt: number;
|
|
7
8
|
isActive: boolean;
|
|
8
9
|
}
|
|
10
|
+
/** Lifecycle events emitted by {@link WorkspaceManager}. */
|
|
9
11
|
export type WorkspaceEventType = "workspace.added" | "workspace.removed" | "workspace.activated" | "workspace.deactivated";
|
|
12
|
+
/** Event emitted by {@link WorkspaceManager} on workspace lifecycle changes. */
|
|
10
13
|
export interface WorkspaceEvent {
|
|
11
14
|
readonly type: WorkspaceEventType;
|
|
12
15
|
readonly root: string;
|
|
13
16
|
readonly data: Record<string, unknown>;
|
|
14
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Tracks registered workspace directories, manages the single active
|
|
20
|
+
* workspace, and emits lifecycle events to listeners.
|
|
21
|
+
*/
|
|
15
22
|
export declare class WorkspaceManager {
|
|
16
23
|
private readonly workspaces;
|
|
17
24
|
private activeRoot;
|
package/dist/workspace.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE3H,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IAExE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAoB1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAY7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAe/B,UAAU,IAAI,IAAI;IASlB,SAAS,IAAI,SAAS,GAAG,IAAI;IAK7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC,IAAI,IAAI,SAAS,SAAS,EAAE;IAI5B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;IAK9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAwBrC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,IAAI;CAKb"}
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,wCAAwC;AACxC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE3H,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IAExE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAoB1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAY7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAe/B,UAAU,IAAI,IAAI;IASlB,SAAS,IAAI,SAAS,GAAG,IAAI;IAK7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIxC,IAAI,IAAI,SAAS,SAAS,EAAE;IAI5B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;IAK9D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAwBrC,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,IAAI;CAKb"}
|
package/dist/workspace.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
2
2
|
import { join, resolve } from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* Tracks registered workspace directories, manages the single active
|
|
5
|
+
* workspace, and emits lifecycle events to listeners.
|
|
6
|
+
*/
|
|
3
7
|
export class WorkspaceManager {
|
|
4
8
|
workspaces = new Map();
|
|
5
9
|
activeRoot = null;
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|