@easynet/agent-tool 1.0.102 → 1.0.104

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.
Files changed (63) hide show
  1. package/README.md +33 -35
  2. package/config/build/build.sh +182 -0
  3. package/config/build/tsconfig.dts.json +34 -0
  4. package/config/build/tsup.config.ts +19 -0
  5. package/config/build/vitest.config.ts +29 -0
  6. package/config/tool.yaml +1 -0
  7. package/dist/api/adapters/LangChainToolsHub.d.ts +1 -0
  8. package/dist/api/adapters/LangChainToolsHub.d.ts.map +1 -1
  9. package/dist/api/extension/createExtension.d.ts +1 -1
  10. package/dist/api/extension/createExtension.d.ts.map +1 -1
  11. package/dist/api/extension/index.d.ts +3 -3
  12. package/dist/api/extension/index.d.ts.map +1 -1
  13. package/dist/api/extension/support/groupPrefix.d.ts.map +1 -0
  14. package/dist/api/extension/{types.d.ts → support/types.d.ts} +3 -3
  15. package/dist/api/extension/support/types.d.ts.map +1 -0
  16. package/dist/api/resolveAgentSkillRoots.d.ts +7 -0
  17. package/dist/api/resolveAgentSkillRoots.d.ts.map +1 -0
  18. package/dist/api/runtimeFromConfig.d.ts +2 -65
  19. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  20. package/dist/api/runtimeFromConfig.types.d.ts +37 -0
  21. package/dist/api/runtimeFromConfig.types.d.ts.map +1 -0
  22. package/dist/build.cjs +5 -5
  23. package/dist/build.js +2 -2
  24. package/dist/{chunk-34SBJLFZ.js → chunk-2MSEJB6X.js} +82 -19
  25. package/dist/chunk-2MSEJB6X.js.map +1 -0
  26. package/dist/{chunk-YBMF3C6F.cjs → chunk-2THI5UWA.cjs} +90 -21
  27. package/dist/chunk-2THI5UWA.cjs.map +1 -0
  28. package/dist/{chunk-POUTZDWB.js → chunk-2Y6T67HJ.js} +3 -3
  29. package/dist/chunk-2Y6T67HJ.js.map +1 -0
  30. package/dist/{chunk-VLV5F6HX.cjs → chunk-45MCEW2Y.cjs} +3 -3
  31. package/dist/chunk-45MCEW2Y.cjs.map +1 -0
  32. package/dist/{chunk-34SG3EMW.js → chunk-WNWMAS7C.js} +3 -3
  33. package/dist/{chunk-34SG3EMW.js.map → chunk-WNWMAS7C.js.map} +1 -1
  34. package/dist/{chunk-XUIGSBWG.cjs → chunk-YAIP4AYQ.cjs} +7 -7
  35. package/dist/{chunk-XUIGSBWG.cjs.map → chunk-YAIP4AYQ.cjs.map} +1 -1
  36. package/dist/core/runtime/PTCRuntimePipeline.d.ts.map +1 -1
  37. package/dist/index.cjs +120 -17
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +112 -11
  42. package/dist/index.js.map +1 -1
  43. package/dist/sdk.cjs +1 -1
  44. package/dist/sdk.cjs.map +1 -1
  45. package/dist/sdk.js +1 -1
  46. package/dist/sdk.js.map +1 -1
  47. package/dist/tools/mcp/index.d.ts +1 -0
  48. package/dist/tools/mcp/index.d.ts.map +1 -1
  49. package/dist/tools/mcp/support/types.d.ts.map +1 -0
  50. package/dist/tools/util/toolConfig.d.ts +7 -0
  51. package/dist/tools/util/toolConfig.d.ts.map +1 -1
  52. package/dist/utils/cli/index.cjs +19 -19
  53. package/dist/utils/cli/index.js +3 -3
  54. package/package.json +4 -4
  55. package/dist/api/extension/groupPrefix.d.ts.map +0 -1
  56. package/dist/api/extension/types.d.ts.map +0 -1
  57. package/dist/chunk-34SBJLFZ.js.map +0 -1
  58. package/dist/chunk-POUTZDWB.js.map +0 -1
  59. package/dist/chunk-VLV5F6HX.cjs.map +0 -1
  60. package/dist/chunk-YBMF3C6F.cjs.map +0 -1
  61. package/dist/tools/mcp/types.d.ts.map +0 -1
  62. /package/dist/api/extension/{groupPrefix.d.ts → support/groupPrefix.d.ts} +0 -0
  63. /package/dist/tools/mcp/{types.d.ts → support/types.d.ts} +0 -0
package/README.md CHANGED
@@ -4,41 +4,19 @@
4
4
 
5
5
  `@easynet/agent-tool` loads `tool.yaml`, resolves tool extensions into LangChain-compatible tools, and registers them into the default `AgentContext`.
6
6
 
7
- ## Exposed SDK
7
+ ## Exposed Interfaces
8
8
 
9
9
  | Export | Type | Purpose |
10
10
  | --- | --- | --- |
11
- | `createAgentTools` | root function | Loads tools asynchronously from config. Preferred initializer for application bootstrap. |
12
- | `@easynet/agent-tool/sdk` | subpath | SDK entry for building custom tool extensions. |
13
- | `ToolRegistry` | sdk export | Registry used to register tool definitions. |
14
- | `createExtension` | sdk export | Creates an extension package entry. |
15
- | `registerExtension` | sdk export | Registers an extension into the runtime. |
16
- | `registerToolsFromManifest` | sdk export | Registers tools from a generated manifest. |
17
- | `loadToolYaml` | sdk export | Loads and parses `tool.yaml`. |
18
- | `resolveSandboxedPath` | sdk export | Resolves paths under sandbox constraints. |
19
- | `validateUrl` | sdk export | Validates outbound URLs for HTTP tools. |
20
-
21
- ## Usage
22
-
23
- ```bash
24
- npm i @easynet/agent-tool
25
- ```
26
-
27
- ```ts
28
- import { createAgentTools } from "@easynet/agent-tool";
29
-
30
- const tools = await createAgentTools("./config/tool.yaml");
31
-
32
- console.log(tools.map((tool) => tool.name));
33
- ```
34
-
35
- Use `createAgentTools()` as the default application initializer. It matches the other async registration APIs (`createAgentModel`, `createAgentMemory`, `createAgentSkills`) and works cleanly with async extension loading.
36
-
37
- If you are building your own tool extension, use the SDK subpath:
38
-
39
- ```ts
40
- import { createExtension } from "@easynet/agent-tool/sdk";
41
- ```
11
+ | `createAgentTools` | root function | Load tools asynchronously from `tool.yaml`. |
12
+ | `@easynet/agent-tool/sdk` | subpath | SDK for building tool extensions. |
13
+ | `ToolRegistry` | sdk export | Minimal registry for tool definitions. |
14
+ | `createExtension` | sdk export | Create an extension package entry. |
15
+ | `registerExtension` | sdk export | Register an extension into a runtime. |
16
+ | `registerToolsFromManifest` | sdk export | Register tools from a manifest. |
17
+ | `loadToolYaml` | sdk export | Load and parse `tool.yaml`. |
18
+ | `resolveSandboxedPath` | sdk export | Resolve sandboxed filesystem paths. |
19
+ | `validateUrl` | sdk export | Validate outbound URLs. |
42
20
 
43
21
  ## Configuration
44
22
 
@@ -59,9 +37,29 @@ spec:
59
37
 
60
38
  Key fields:
61
39
 
62
- - `spec.sandboxedPath`: filesystem root accessible to tools
40
+ - `spec.sandboxedPath`: filesystem root exposed to tools
63
41
  - `spec.allowedHosts`: HTTP allowlist
64
42
  - `spec.blockedHosts`: HTTP denylist
65
- - `spec.tools`: extensions to load
43
+ - `spec.tools`: extension descriptors to load
66
44
 
67
- `npm:@easynet/agent-tool-buildin: {}` loads the built-in tool extension package.
45
+ ## Usage
46
+
47
+ ```bash
48
+ npm i @easynet/agent-tool
49
+ ```
50
+
51
+ ```ts
52
+ import { createAgentTools } from "@easynet/agent-tool";
53
+
54
+ const tools = await createAgentTools("./config/tool.yaml");
55
+
56
+ console.log(tools.map((tool) => tool.name));
57
+ ```
58
+
59
+ Use `createAgentTools()` as the default application initializer. It matches the other async registration APIs (`createAgentModel`, `createAgentMemory`, runtime config loaders) and works cleanly with async extension loading.
60
+
61
+ If you are building your own tool extension, use the SDK subpath:
62
+
63
+ ```ts
64
+ import { createExtension } from "@easynet/agent-tool/sdk";
65
+ ```
@@ -0,0 +1,182 @@
1
+ #!/bin/bash
2
+
3
+ # Build script for @easynet/agent-tool
4
+ # This script builds the package and creates a zip file for distribution
5
+
6
+ set -e # Exit on error
7
+
8
+ # Colors for output
9
+ RED='\033[0;31m'
10
+ GREEN='\033[0;32m'
11
+ YELLOW='\033[1;33m'
12
+ NC='\033[0m' # No Color
13
+
14
+ # Get version from package.json
15
+ VERSION=$(node -p "require('./package.json').version")
16
+ PACKAGE_NAME=$(node -p "require('./package.json').name")
17
+ ZIP_NAME="${PACKAGE_NAME}-${VERSION}.zip"
18
+ BUILD_DIR="build"
19
+ TEMP_DIR="${BUILD_DIR}/package"
20
+
21
+ echo -e "${GREEN}Building ${PACKAGE_NAME} v${VERSION}...${NC}"
22
+
23
+ # Clean previous builds
24
+ echo -e "${YELLOW}Cleaning previous builds...${NC}"
25
+ rm -rf "${BUILD_DIR}"
26
+ rm -f "${ZIP_NAME}"
27
+ npm run clean
28
+
29
+ # Build the project
30
+ echo -e "${YELLOW}Building TypeScript...${NC}"
31
+ npm run build
32
+
33
+ # Verify build output
34
+ if [ ! -d "dist" ]; then
35
+ echo -e "${RED}Error: dist directory not found after build${NC}"
36
+ exit 1
37
+ fi
38
+
39
+ # Create temporary package directory
40
+ echo -e "${YELLOW}Preparing package...${NC}"
41
+ mkdir -p "${TEMP_DIR}"
42
+
43
+ # Copy necessary files
44
+ echo -e "${YELLOW}Copying files...${NC}"
45
+ cp -r dist "${TEMP_DIR}/"
46
+ cp README.md "${TEMP_DIR}/"
47
+ cp tool.yaml "${TEMP_DIR}/" 2>/dev/null || true
48
+ cp agent.yaml.example "${TEMP_DIR}/" 2>/dev/null || true
49
+ mkdir -p "${TEMP_DIR}/extensions" && cp -r extensions/examples "${TEMP_DIR}/extensions/" 2>/dev/null || true
50
+ mkdir -p "${TEMP_DIR}/scripts"
51
+ cp scripts/dump-tools.mjs "${TEMP_DIR}/scripts/" 2>/dev/null || true
52
+
53
+ # Create a modified package.json for distribution (dump:tools doesn't need to build)
54
+ # Copy package.json first, then modify the dump:tools script
55
+ cp package.json "${TEMP_DIR}/package.json"
56
+ # Use node to modify the package.json
57
+ node -e "const fs=require('fs');const p=fs.readFileSync('${TEMP_DIR}/package.json','utf8');const j=JSON.parse(p);j.scripts=j.scripts||{};j.scripts['dump:tools']='node scripts/dump-tools.mjs';fs.writeFileSync('${TEMP_DIR}/package.json',JSON.stringify(j,null,2)+'\n');"
58
+
59
+ # Create package.json for installation (optional: could include install instructions)
60
+ cat > "${TEMP_DIR}/INSTALL.md" << 'EOF'
61
+ # Installation Instructions
62
+
63
+ ## Important: Extract First!
64
+
65
+ **npm cannot install directly from zip files.** You must extract the zip file first.
66
+
67
+ ## Installation Steps
68
+
69
+ ### Option 1: Local Installation (Recommended)
70
+
71
+ 1. **Extract the zip file:**
72
+ ```bash
73
+ unzip agent-tool-0.0.1.zip
74
+ ```
75
+
76
+ 2. **Navigate to the extracted directory:**
77
+ ```bash
78
+ cd package
79
+ ```
80
+
81
+ 3. **Install dependencies:**
82
+ ```bash
83
+ npm install
84
+ ```
85
+
86
+ 4. **Install peer dependencies (if needed):**
87
+ ```bash
88
+ npm install @langchain/core @modelcontextprotocol/sdk
89
+ ```
90
+
91
+ ### Option 2: Global Installation
92
+
93
+ 1. **Extract the zip file:**
94
+ ```bash
95
+ unzip agent-tool-0.0.1.zip
96
+ ```
97
+
98
+ 2. **Install globally from the extracted directory:**
99
+ ```bash
100
+ npm install -g ./package
101
+ ```
102
+
103
+ Or if you're already in the extracted `package` directory:
104
+ ```bash
105
+ npm install -g .
106
+ ```
107
+
108
+ ### Option 3: Install as Dependency in Another Project
109
+
110
+ 1. **Extract the zip file to a location of your choice**
111
+
112
+ 2. **In your project, install from the extracted path:**
113
+ ```bash
114
+ npm install /path/to/extracted/package
115
+ ```
116
+
117
+ ## Dependencies
118
+
119
+ This package requires:
120
+ - Node.js >= 18.0.0
121
+ - Optional peer dependencies:
122
+ - `@langchain/core` (>=0.3.0) - for LangChain tool support
123
+ - `@modelcontextprotocol/sdk` (>=1.0.0) - for MCP tool support
124
+
125
+ Install peer dependencies as needed:
126
+ ```bash
127
+ npm install @langchain/core @modelcontextprotocol/sdk
128
+ ```
129
+
130
+ ## Usage
131
+
132
+ See README.md for usage instructions and examples.
133
+
134
+ ## Available Scripts
135
+
136
+ After installation, you can use:
137
+
138
+ - `npm run dump:tools` - Dump all discovered tools to JSON (requires tool.yaml in the current directory)
139
+
140
+ **Note:** Make sure you're in the extracted `package/` directory when running npm scripts.
141
+ EOF
142
+
143
+ # Create zip file
144
+ echo -e "${YELLOW}Creating zip file: ${ZIP_NAME}...${NC}"
145
+ cd "${BUILD_DIR}"
146
+ zip -r "../${ZIP_NAME}" package -q
147
+ cd ..
148
+
149
+ # Clean up temporary directory
150
+ rm -rf "${BUILD_DIR}"
151
+
152
+ # Display results
153
+ FILE_SIZE=$(du -h "${ZIP_NAME}" | cut -f1)
154
+ echo -e "${GREEN}✓ Build complete!${NC}"
155
+ echo -e "${GREEN} Package: ${ZIP_NAME}${NC}"
156
+ echo -e "${GREEN} Size: ${FILE_SIZE}${NC}"
157
+ echo ""
158
+ echo -e "${YELLOW}Package contents:${NC}"
159
+ echo " - dist/ (compiled JavaScript)"
160
+ echo " - package.json"
161
+ echo " - README.md"
162
+ echo " - tool.yaml, agent.yaml.example (example config)"
163
+ echo " - extensions/examples/ (example scripts and reference content)"
164
+ echo " - scripts/ (utility scripts)"
165
+ echo " - INSTALL.md (installation instructions)"
166
+ echo ""
167
+ echo -e "${GREEN}Installation Instructions:${NC}"
168
+ echo ""
169
+ echo -e "${YELLOW}⚠️ IMPORTANT: npm cannot install directly from zip files!${NC}"
170
+ echo -e "${YELLOW} You must extract the zip file first.${NC}"
171
+ echo ""
172
+ echo -e "${GREEN}To install:${NC}"
173
+ echo " 1. Extract: unzip ${ZIP_NAME}"
174
+ echo " 2. Navigate: cd package"
175
+ echo " 3. Install: npm install"
176
+ echo " 4. (Optional) Install peers: npm install @langchain/core @modelcontextprotocol/sdk"
177
+ echo ""
178
+ echo -e "${GREEN}For global installation:${NC}"
179
+ echo " 1. Extract: unzip ${ZIP_NAME}"
180
+ echo " 2. Install: npm install -g ./package"
181
+ echo ""
182
+ echo -e "${YELLOW}See INSTALL.md in the package for detailed instructions.${NC}"
@@ -0,0 +1,34 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "lib": [
7
+ "ES2022"
8
+ ],
9
+ "strict": true,
10
+ "skipLibCheck": true,
11
+ "esModuleInterop": true,
12
+ "allowSyntheticDefaultImports": true,
13
+ "forceConsistentCasingInFileNames": true,
14
+ "declaration": true,
15
+ "declarationMap": true,
16
+ "emitDeclarationOnly": true,
17
+ "outDir": "../../dist",
18
+ "rootDir": "../../src",
19
+ "resolveJsonModule": true,
20
+ "isolatedModules": true,
21
+ "baseUrl": "../..",
22
+ "paths": {}
23
+ },
24
+ "include": [
25
+ "../../src/**/*.ts"
26
+ ],
27
+ "exclude": [
28
+ "../../node_modules",
29
+ "../../dist",
30
+ "../../test",
31
+ "../../**/*.test.ts",
32
+ "../../extensions"
33
+ ]
34
+ }
@@ -0,0 +1,19 @@
1
+ import { defineConfig } from "tsup";
2
+
3
+ export default defineConfig({
4
+ entry: [
5
+ "src/index.ts",
6
+ "src/build.ts",
7
+ "src/sdk.ts",
8
+ "src/utils/cli/index.ts",
9
+ ],
10
+ format: ["esm", "cjs"],
11
+ dts: false,
12
+ splitting: true,
13
+ sourcemap: true,
14
+ clean: false,
15
+ treeshake: true,
16
+ target: "node18",
17
+ outDir: "dist",
18
+ external: ["langchain", "zod"],
19
+ });
@@ -0,0 +1,29 @@
1
+ import { defineConfig } from "vitest/config";
2
+ import { fileURLToPath } from "node:url";
3
+ import path from "node:path";
4
+
5
+ const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");
6
+
7
+ // Keep package self-references resolved to local dist build for tests.
8
+ export default defineConfig({
9
+ test: {
10
+ globals: true,
11
+ environment: "node",
12
+ // CI runners can be slower; avoid flaky 5s default timeouts on integration tests.
13
+ testTimeout: 20_000,
14
+ include: ["test/**/*.test.ts"],
15
+ coverage: {
16
+ provider: "v8",
17
+ include: ["src/**/*.ts"],
18
+ exclude: ["src/**/*.d.ts", "**/node_modules/**", "**/test/**"],
19
+ },
20
+ },
21
+ resolve: {
22
+ extensions: [".ts", ".js"],
23
+ preserveSymlinks: true,
24
+ alias: {
25
+ "@easynet/agent-tool": path.join(root, "dist/index.js"),
26
+ "@easynet/agent-tool/sdk": path.join(root, "dist/sdk.js"),
27
+ },
28
+ },
29
+ });
package/config/tool.yaml CHANGED
@@ -4,6 +4,7 @@ metadata:
4
4
  name: agent-tool-default
5
5
  spec:
6
6
  sandboxedPath: .
7
+ cacheDir: ~/.agent/cache
7
8
  allowedHosts: []
8
9
  blockedHosts: []
9
10
  tools:
@@ -29,6 +29,7 @@ export declare class LangChainToolsHub {
29
29
  * Returns LangChain tools for a subset of tools (by name or query).
30
30
  */
31
31
  getLangChainToolsForNames(toolNames: string[]): StructuredToolInterface[];
32
+ private buildModelToolNames;
32
33
  private specToLangChainTool;
33
34
  }
34
35
  //# sourceMappingURL=LangChainToolsHub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LangChainToolsHub.d.ts","sourceRoot":"","sources":["../../../src/api/adapters/LangChainToolsHub.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA0DlE,MAAM,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC;AAiBnD;;;;GAIG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,OAAO,EAAE,UAAU,EACnB,UAAU,GAAE,kBAAwC;IAGvE;;;OAGG;IACH,iBAAiB,IAAI,uBAAuB,EAAE;IAO9C;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,uBAAuB,EAAE;IAOzE,OAAO,CAAC,mBAAmB;CAmB5B"}
1
+ {"version":3,"file":"LangChainToolsHub.d.ts","sourceRoot":"","sources":["../../../src/api/adapters/LangChainToolsHub.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AA0DlE,MAAM,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC;AAiBnD;;;;GAIG;AACH,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,OAAO,EAAE,UAAU,EACnB,UAAU,GAAE,kBAAwC;IAGvE;;;OAGG;IACH,iBAAiB,IAAI,uBAAuB,EAAE;IAO9C;;OAEG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,uBAAuB,EAAE;IAQzE,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,mBAAmB;CAmB5B"}
@@ -1,6 +1,6 @@
1
1
  import type { ToolAdapter } from "../../core/types/ToolSpec.js";
2
2
  import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
3
- import type { ExtensionToolContext } from "./types.js";
3
+ import type { ExtensionToolContext } from "./support/types.js";
4
4
  /** Pass import.meta so the framework derives packagePath (extension entry does not need path/fileURLToPath). */
5
5
  export interface ImportMetaLike {
6
6
  url: string;
@@ -1 +1 @@
1
- {"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/createExtension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,gHAAgH;AAChH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,kEAAkE;AAClE,MAAM,WAAW,+BAA+B,CAAC,OAAO,EAAE,WAAW;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC;CACnD;AAED,oEAAoE;AACpE,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,IACnD,+BAA+B,CAAC,OAAO,EAAE,WAAW,CAAC,GACrD,CAAC,iCAAiC,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAqB,CAAC,OAAO,EAAE,WAAW;IACzD,QAAQ,CACN,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,WAAW,EAC7B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACrD,WAAW,CAAC;IACf,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClF;AAYD,wBAAgB,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,0BAA0B,EACzG,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,GACpD,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CA4B7C"}
1
+ {"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/createExtension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE/D,gHAAgH;AAChH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,kEAAkE;AAClE,MAAM,WAAW,+BAA+B,CAAC,OAAO,EAAE,WAAW;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,CAAC,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC;CACnD;AAED,oEAAoE;AACpE,MAAM,WAAW,iCAAiC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,IACnD,+BAA+B,CAAC,OAAO,EAAE,WAAW,CAAC,GACrD,CAAC,iCAAiC,GAAG;IAAE,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAElE,MAAM,WAAW,qBAAqB,CAAC,OAAO,EAAE,WAAW;IACzD,QAAQ,CACN,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,WAAW,EAC7B,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACrD,WAAW,CAAC;IACf,UAAU,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAClF;AAYD,wBAAgB,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,0BAA0B,EACzG,OAAO,EAAE,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,GACpD,qBAAqB,CAAC,OAAO,EAAE,WAAW,CAAC,CA4B7C"}
@@ -10,7 +10,7 @@ export { generateExtensionManifest, generateManifest, } from "./generateExtensio
10
10
  export type { GenerateExtensionManifestOptions } from "./generateExtensionManifest.js";
11
11
  export { createDynamicImportAdapter } from "./dynamicImportAdapter.js";
12
12
  export type { DynamicImportAdapterOptions, ExtensionToolResult, } from "./dynamicImportAdapter.js";
13
- export type { ExtensionToolContext, ExtensionToolHandler, } from "./types.js";
13
+ export type { ExtensionToolContext, ExtensionToolHandler, } from "./support/types.js";
14
14
  export { loadToolYaml } from "./loadToolYaml.js";
15
15
  export { registerToolsFromManifest, loadExtensionManifest, } from "./registerFromManifest.js";
16
16
  export { registerExtension } from "./registerExtension.js";
@@ -18,6 +18,6 @@ export type { RegisterExtensionOptions } from "./registerExtension.js";
18
18
  export type { ExtensionManifestEntry, LoadedExtensionManifest, RegisterFromManifestOptions, } from "./registerFromManifest.js";
19
19
  export { resolveExtensionPackageRoot } from "./resolvePackageRoot.js";
20
20
  export { overrideWithConfig } from "./overrideWithConfig.js";
21
- export { getGroupNamePrefixes } from "./groupPrefix.js";
22
- export type { GroupPrefixOptions, ResolvedOnlyNamePrefixes, } from "./groupPrefix.js";
21
+ export { getGroupNamePrefixes } from "./support/groupPrefix.js";
22
+ export type { GroupPrefixOptions, ResolvedOnlyNamePrefixes, } from "./support/groupPrefix.js";
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/extension/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/extension/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,YAAY,EACV,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EACV,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupPrefix.d.ts","sourceRoot":"","sources":["../../../../src/api/extension/support/groupPrefix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,wBAAwB,CAW1F"}
@@ -2,9 +2,9 @@
2
2
  * Generic extension types: context shape, handler signature.
3
3
  * ExtensionToolResult lives in dynamicImportAdapter (same shape).
4
4
  */
5
- import type { ExecContext } from "../../core/types/ToolIntent.js";
6
- import type { ExtensionToolResult } from "./dynamicImportAdapter.js";
7
- export type { ExtensionToolResult } from "./dynamicImportAdapter.js";
5
+ import type { ExecContext } from "../../../core/types/ToolIntent.js";
6
+ import type { ExtensionToolResult } from "../dynamicImportAdapter.js";
7
+ export type { ExtensionToolResult } from "../dynamicImportAdapter.js";
8
8
  /** Generic extension context: execCtx + config. Config type is extension-specific. */
9
9
  export interface ExtensionToolContext<TConfig = unknown> {
10
10
  execCtx: ExecContext;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/api/extension/support/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,sFAAsF;AACtF,MAAM,WAAW,oBAAoB,CAAC,OAAO,GAAG,OAAO;IACrD,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,iFAAiF;AACjF,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface ResolveAgentSkillRootsOptions {
2
+ configFilePath: string;
3
+ skillPath?: string;
4
+ }
5
+ export declare function resolveAgentSkillRoots(options: ResolveAgentSkillRootsOptions): string[];
6
+ export declare const resolveAgentSkillRootsFromToolConfig: typeof resolveAgentSkillRoots;
7
+ //# sourceMappingURL=resolveAgentSkillRoots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveAgentSkillRoots.d.ts","sourceRoot":"","sources":["../../src/api/resolveAgentSkillRoots.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,6BAA6B;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiFD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,6BAA6B,GAAG,MAAM,EAAE,CAUvF;AAED,eAAO,MAAM,oCAAoC,+BAAyB,CAAC"}
@@ -1,69 +1,6 @@
1
- /**
2
- * Create PTCRuntime + ToolRegistry from config (sync or async).
3
- * Registers extension adapters when coreTools options are provided.
4
- * Agent-tool does NOT depend on any specific extension. When configFilePath (tool.yaml)
5
- * lists npm:@scope/pkg, that package is loaded from cache or node_modules. The framework
6
- * calls the package's default export contract: register(registry, options) -> ToolAdapter.
7
- * Extensions implement this contract (e.g. via createExtension from this package).
8
- *
9
- * Npm: we always register npm extensions with a concrete version in the registry (never "latest").
10
- * When the descriptor omits version or uses @latest, we resolve to the actual latest from the
11
- * registry (resolveLatestVersionFromRegistry) and use that version for the registry prefix.
12
- */
13
- import { ToolRegistry } from "../core/registry/ToolRegistry.js";
14
- import { PTCRuntime } from "../core/runtime/PTCRuntime.js";
15
1
  import { parseNpmDescriptor } from "./runtimeFromConfig.helpers.js";
16
- /**
17
- * Default package names tried when loading an extension from node_modules (no tool.yaml).
18
- * Empty by default so agent-tool does not depend on any specific extension package.
19
- * Extensions are loaded only via tool.yaml (npm: entries) or when explicitly configured.
20
- */
21
- export declare const DEFAULT_EXTENSION_PACKAGES: string[];
22
- /** Config passed to extension's register(registry, options). */
23
- export interface CoreToolsUserConfig {
24
- sandboxRoot?: string;
25
- /** Whether to enforce sandbox boundary checks in fs path resolution. Default: false. */
26
- enableSandboxValidation?: boolean;
27
- /** Allowed hosts (e.g. ["*"] or ["api.github.com"]). Merged with tool.yaml. */
28
- allowedHosts?: string[];
29
- /** Block these hosts even if allowed. Merged with tool.yaml. */
30
- blockedHosts?: string[];
31
- /** CIDR ranges to block for HTTP (SSRF). Overrides extension default when set. */
32
- blockedCidrs?: string[];
33
- /** Per-tool config overrides. Keys: short name ("fs.listDir"), package-scoped ("npm.easynet.agent.tool.buildin::fs.listDir", survives version bumps), or full registry name. Use package-scoped or full when different packages share the same short name. */
34
- toolOverrides?: Record<string, Record<string, unknown>>;
35
- /** Package-level defaults. Key = package prefix (e.g. "npm.easynet.agent.tool.buildin"); value = key-value merged into ctx.config for every tool in that package. */
36
- packageDefaults?: Record<string, Record<string, unknown>>;
37
- /** Shared services injected into extension tool context config (e.g. modelHub). */
38
- services?: Record<string, unknown>;
39
- }
40
- /** Config for example-tools extension when present. */
41
- export interface ExampleToolsUserConfig {
42
- allowedHosts?: string[];
43
- }
44
- export interface CreateRuntimeOptions {
45
- /** Path to tool.yaml (optional; used by createAgentTools to select/filter tool list) */
46
- configFilePath?: string;
47
- /** Project path for async tool loading (optional; reserved for future use) */
48
- projectPath?: string;
49
- /** Sandbox / core tools config; when set, core adapter is registered */
50
- coreTools?: CoreToolsUserConfig;
51
- /** Example tools config; when set, example adapter is registered */
52
- exampleTools?: ExampleToolsUserConfig;
53
- /** When set, step messages are written here (e.g. for --verbose CLI). */
54
- stepLog?: (message: string) => void;
55
- }
56
- export interface CreateRuntimeResult {
57
- runtime: PTCRuntime;
58
- registry: ToolRegistry;
59
- }
60
- type RegisterFn = (r: ToolRegistry, c: CoreToolsUserConfig) => unknown;
61
- export type LoadedExtension = {
62
- register: RegisterFn;
63
- descriptor: string;
64
- resolvedVersion: string;
65
- packageRoot: string;
66
- };
2
+ import { type CreateRuntimeOptions, type CreateRuntimeResult, type LoadedExtension } from "./runtimeFromConfig.types.js";
3
+ export { DEFAULT_EXTENSION_PACKAGES, type CoreToolsUserConfig, type ExampleToolsUserConfig, type CreateRuntimeOptions, type CreateRuntimeResult, type LoadedExtension, } from "./runtimeFromConfig.types.js";
67
4
  export { parseNpmDescriptor };
68
5
  /** Load all extensions for npm: entries in tool.yaml (sync). Same package at different versions each get one entry. */
69
6
  export declare function loadAllExtensionsFromToolYamlSync(configFilePath: string, stepLog?: (message: string) => void): LoadedExtension[];
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAgB3D,OAAO,EAML,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAIxC;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAAO,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wFAAwF;IACxF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8PAA8P;IAC9P,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,qKAAqK;IACrK,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,wFAAwF;IACxF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,oEAAoE;IACpE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,yEAAyE;IACzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AA4CzH,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAuH9B,uHAAuH;AACvH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,eAAe,EAAE,CAmBnB;AAsID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAwDnG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAgD9B"}
1
+ {"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AA0BA,OAAO,EAML,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,GACrB,MAAM,8BAA8B,CAAC;AAgDtC,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAuH9B,uHAAuH;AACvH,wBAAgB,iCAAiC,CAC/C,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,eAAe,EAAE,CAmBnB;AAsID;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAwDnG;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAgD9B"}
@@ -0,0 +1,37 @@
1
+ import type { ToolRegistry } from "../core/registry/ToolRegistry.js";
2
+ import type { PTCRuntime } from "../core/runtime/PTCRuntime.js";
3
+ export declare const DEFAULT_EXTENSION_PACKAGES: string[];
4
+ export interface CoreToolsUserConfig {
5
+ sandboxRoot?: string;
6
+ enableSandboxValidation?: boolean;
7
+ allowedHosts?: string[];
8
+ blockedHosts?: string[];
9
+ blockedCidrs?: string[];
10
+ toolOverrides?: Record<string, Record<string, unknown>>;
11
+ packageDefaults?: Record<string, Record<string, unknown>>;
12
+ services?: Record<string, unknown>;
13
+ }
14
+ export interface ExampleToolsUserConfig {
15
+ allowedHosts?: string[];
16
+ }
17
+ export interface CreateRuntimeOptions {
18
+ configFilePath?: string;
19
+ projectPath?: string;
20
+ coreTools?: CoreToolsUserConfig;
21
+ exampleTools?: ExampleToolsUserConfig;
22
+ stepLog?: (message: string) => void;
23
+ }
24
+ export interface CreateRuntimeResult {
25
+ runtime: PTCRuntime;
26
+ registry: ToolRegistry;
27
+ }
28
+ type RegisterFn = (r: ToolRegistry, c: CoreToolsUserConfig) => unknown;
29
+ export type LoadedExtension = {
30
+ register: RegisterFn;
31
+ descriptor: string;
32
+ resolvedVersion: string;
33
+ packageRoot: string;
34
+ };
35
+ export type RuntimeRegisterFn = RegisterFn;
36
+ export {};
37
+ //# sourceMappingURL=runtimeFromConfig.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeFromConfig.types.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAAO,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC;AACvE,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AACzH,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC"}
package/dist/build.cjs CHANGED
@@ -1,22 +1,22 @@
1
1
  'use strict';
2
2
 
3
- var chunkXUIGSBWG_cjs = require('./chunk-XUIGSBWG.cjs');
4
- require('./chunk-VLV5F6HX.cjs');
3
+ var chunkYAIP4AYQ_cjs = require('./chunk-YAIP4AYQ.cjs');
4
+ require('./chunk-45MCEW2Y.cjs');
5
5
  var chunkJW4EMVTE_cjs = require('./chunk-JW4EMVTE.cjs');
6
6
 
7
7
 
8
8
 
9
9
  Object.defineProperty(exports, "buildMCPPackage", {
10
10
  enumerable: true,
11
- get: function () { return chunkXUIGSBWG_cjs.buildMCPPackage; }
11
+ get: function () { return chunkYAIP4AYQ_cjs.buildMCPPackage; }
12
12
  });
13
13
  Object.defineProperty(exports, "initProject", {
14
14
  enumerable: true,
15
- get: function () { return chunkXUIGSBWG_cjs.initProject; }
15
+ get: function () { return chunkYAIP4AYQ_cjs.initProject; }
16
16
  });
17
17
  Object.defineProperty(exports, "runMCPServer", {
18
18
  enumerable: true,
19
- get: function () { return chunkXUIGSBWG_cjs.runMCPServer; }
19
+ get: function () { return chunkYAIP4AYQ_cjs.runMCPServer; }
20
20
  });
21
21
  Object.defineProperty(exports, "scan", {
22
22
  enumerable: true,
package/dist/build.js CHANGED
@@ -1,5 +1,5 @@
1
- export { buildMCPPackage, initProject, runMCPServer } from './chunk-34SG3EMW.js';
2
- import './chunk-POUTZDWB.js';
1
+ export { buildMCPPackage, initProject, runMCPServer } from './chunk-WNWMAS7C.js';
2
+ import './chunk-2Y6T67HJ.js';
3
3
  export { scan, scanForTools } from './chunk-BDUSB6GT.js';
4
4
  //# sourceMappingURL=build.js.map
5
5
  //# sourceMappingURL=build.js.map