@easynet/agent-tool 1.0.24 → 1.0.25

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 (46) hide show
  1. package/dist/api/extension/createExtension.d.ts +38 -0
  2. package/dist/api/extension/createExtension.d.ts.map +1 -0
  3. package/dist/api/extension/dynamicImportAdapter.d.ts +3 -2
  4. package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -1
  5. package/dist/api/extension/generateExtensionManifest.d.ts +24 -0
  6. package/dist/api/extension/generateExtensionManifest.d.ts.map +1 -0
  7. package/dist/api/extension/index.d.ts +4 -0
  8. package/dist/api/extension/index.d.ts.map +1 -1
  9. package/dist/api/extension/registerExtension.d.ts +6 -5
  10. package/dist/api/extension/registerExtension.d.ts.map +1 -1
  11. package/dist/api/extension/registerFromManifest.d.ts +2 -2
  12. package/dist/api/extension/registerFromManifest.d.ts.map +1 -1
  13. package/dist/api/main.cjs +14 -14
  14. package/dist/api/main.js +3 -3
  15. package/dist/api/runtimeFromConfig.d.ts +8 -8
  16. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  17. package/dist/{chunk-AT3N7SQK.cjs → chunk-5CDN24FP.cjs} +11 -10
  18. package/dist/chunk-5CDN24FP.cjs.map +1 -0
  19. package/dist/{chunk-ZRDI2RKU.js → chunk-AO2RY5AI.js} +3 -3
  20. package/dist/{chunk-ZRDI2RKU.js.map → chunk-AO2RY5AI.js.map} +1 -1
  21. package/dist/{chunk-AH4NI4GN.cjs → chunk-AOEZBP6L.cjs} +18 -46
  22. package/dist/chunk-AOEZBP6L.cjs.map +1 -0
  23. package/dist/{chunk-P2LVZGZ4.cjs → chunk-B5CAENK6.cjs} +7 -7
  24. package/dist/{chunk-P2LVZGZ4.cjs.map → chunk-B5CAENK6.cjs.map} +1 -1
  25. package/dist/{chunk-QP5FIRC2.js → chunk-JEP26OIY.js} +3 -3
  26. package/dist/{chunk-QP5FIRC2.js.map → chunk-JEP26OIY.js.map} +1 -1
  27. package/dist/{chunk-FWIMPZC2.cjs → chunk-NA2YBWZJ.cjs} +14 -14
  28. package/dist/{chunk-FWIMPZC2.cjs.map → chunk-NA2YBWZJ.cjs.map} +1 -1
  29. package/dist/{chunk-BOMOGAFZ.js → chunk-P5YQNWQT.js} +5 -4
  30. package/dist/chunk-P5YQNWQT.js.map +1 -0
  31. package/dist/{chunk-BPHY6UVK.js → chunk-SO32CIHJ.js} +17 -45
  32. package/dist/chunk-SO32CIHJ.js.map +1 -0
  33. package/dist/index.cjs +166 -73
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +112 -21
  38. package/dist/index.js.map +1 -1
  39. package/dist/tools/function/scanner.d.ts.map +1 -1
  40. package/dist/utils/cli/index.cjs +17 -17
  41. package/dist/utils/cli/index.js +3 -3
  42. package/package.json +1 -1
  43. package/dist/chunk-AH4NI4GN.cjs.map +0 -1
  44. package/dist/chunk-AT3N7SQK.cjs.map +0 -1
  45. package/dist/chunk-BOMOGAFZ.js.map +0 -1
  46. package/dist/chunk-BPHY6UVK.js.map +0 -1
@@ -0,0 +1,38 @@
1
+ import type { ToolAdapter } from "../../core/types/ToolSpec.js";
2
+ import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
3
+ import type { ExtensionToolContext } from "./types.js";
4
+ /** Pass import.meta so the framework derives packagePath (extension entry does not need path/fileURLToPath). */
5
+ export interface ImportMetaLike {
6
+ url: string;
7
+ }
8
+ /** Options when config is built from userConfig (buildConfig). */
9
+ export interface CreateExtensionOptionsWithBuild<TConfig, TUserConfig> {
10
+ packagePath?: string;
11
+ importMeta?: ImportMetaLike;
12
+ kind?: string;
13
+ buildConfig: (userConfig: TUserConfig) => TConfig;
14
+ }
15
+ /** Options when config is per-tool only (each tool's tool.yaml). */
16
+ export interface CreateExtensionOptionsDefaultOnly {
17
+ packagePath?: string;
18
+ importMeta?: ImportMetaLike;
19
+ kind?: string;
20
+ }
21
+ /** Register opts when using per-tool config only: filter tools by name. */
22
+ export interface RegisterOptionsDefaultOnly {
23
+ only?: string[];
24
+ namePrefixes?: string[];
25
+ }
26
+ export type CreateExtensionOptions<TConfig, TUserConfig> = CreateExtensionOptionsWithBuild<TConfig, TUserConfig> | (CreateExtensionOptionsDefaultOnly & {
27
+ buildConfig?: never;
28
+ });
29
+ export interface CreateExtensionResult<TConfig, TUserConfig> {
30
+ register(registry: ToolRegistry, userConfigOrOpts: TUserConfig, options?: {
31
+ only?: string[];
32
+ namePrefixes?: string[];
33
+ }): ToolAdapter;
34
+ getContext(): ExtensionToolContext<TConfig>;
35
+ runWith<T>(ctx: ExtensionToolContext<TConfig>, fn: () => Promise<T>): Promise<T>;
36
+ }
37
+ export declare function createExtension<TConfig = Record<string, unknown>, TUserConfig = RegisterOptionsDefaultOnly>(options: CreateExtensionOptions<TConfig, TUserConfig>): CreateExtensionResult<TConfig, TUserConfig>;
38
+ //# sourceMappingURL=createExtension.d.ts.map
@@ -0,0 +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,4 +1,4 @@
1
- import type { ToolAdapter } from "../../core/types/ToolSpec.js";
1
+ import type { ToolAdapter, ToolSpec } from "../../core/types/ToolSpec.js";
2
2
  import type { ExecContext } from "../../core/types/ToolIntent.js";
3
3
  import type { Evidence } from "../../core/types/ToolResult.js";
4
4
  export interface ExtensionToolResult {
@@ -8,7 +8,8 @@ export interface ExtensionToolResult {
8
8
  export interface DynamicImportAdapterOptions<TContext> {
9
9
  kind: string;
10
10
  packageRoot: string;
11
- getExtensionContext: (execCtx: ExecContext) => TContext;
11
+ /** Build context from execCtx and (optional) tool spec. When spec is provided, config can be merged from spec._meta.defaultArgs. */
12
+ getExtensionContext: (execCtx: ExecContext, spec: ToolSpec) => TContext;
12
13
  contextRunner: {
13
14
  runWith(ctx: TContext, fn: () => Promise<ExtensionToolResult>): Promise<ExtensionToolResult>;
14
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dynamicImportAdapter.d.ts","sourceRoot":"","sources":["../../../src/api/extension/dynamicImportAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B,CAAC,QAAQ;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,QAAQ,CAAC;IACxD,aAAa,EAAE;QAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;KAAE,CAAC;CACjH;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EACjD,OAAO,EAAE,2BAA2B,CAAC,QAAQ,CAAC,GAC7C,WAAW,CAqCb"}
1
+ {"version":3,"file":"dynamicImportAdapter.d.ts","sourceRoot":"","sources":["../../../src/api/extension/dynamicImportAdapter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B,CAAC,QAAQ;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oIAAoI;IACpI,mBAAmB,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;IACxE,aAAa,EAAE;QAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;KAAE,CAAC;CACjH;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EACjD,OAAO,EAAE,2BAA2B,CAAC,QAAQ,CAAC,GAC7C,WAAW,CAqCb"}
@@ -0,0 +1,24 @@
1
+ export interface GenerateExtensionManifestOptions {
2
+ /** Project root (default: process.cwd()). */
3
+ projectRoot?: string;
4
+ /** Output directory for manifest and copied tool.yaml (default: projectRoot/dist). */
5
+ outDir?: string;
6
+ /** Manifest kind (default: "core"). */
7
+ kind?: string;
8
+ /** Include globs for TS files (default: all .ts). */
9
+ include?: string[];
10
+ /** Path to tsconfig (default: projectRoot/tsconfig.json). */
11
+ tsconfigPath?: string;
12
+ /** Subdirs to copy *.tool.yaml from (default: all dirs under projectRoot that contain .tool.yaml). */
13
+ copyToolYamlDirs?: string[];
14
+ }
15
+ /**
16
+ * Scan project for @tool, write core-tools-manifest.json and copy *.tool.yaml to outDir.
17
+ * Returns the written manifest path and number of tools.
18
+ */
19
+ export declare function generateExtensionManifest(projectRoot?: string, options?: GenerateExtensionManifestOptions): {
20
+ manifestPath: string;
21
+ toolsCount: number;
22
+ toolYamlCopied: number;
23
+ };
24
+ //# sourceMappingURL=generateExtensionManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateExtensionManifest.d.ts","sourceRoot":"","sources":["../../../src/api/extension/generateExtensionManifest.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,gCAAgC;IAC/C,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,GAAE,MAAsB,EACnC,OAAO,GAAE,gCAAqC,GAC7C;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CA6DtE"}
@@ -4,6 +4,10 @@
4
4
  */
5
5
  export { createContextRunner } from "./contextRunner.js";
6
6
  export type { ContextRunner } from "./contextRunner.js";
7
+ export { createExtension } from "./createExtension.js";
8
+ export type { CreateExtensionOptions, CreateExtensionResult, ImportMetaLike, RegisterOptionsDefaultOnly, } from "./createExtension.js";
9
+ export { generateExtensionManifest } from "./generateExtensionManifest.js";
10
+ export type { GenerateExtensionManifestOptions } from "./generateExtensionManifest.js";
7
11
  export { createDynamicImportAdapter } from "./dynamicImportAdapter.js";
8
12
  export type { DynamicImportAdapterOptions, ExtensionToolResult, } from "./dynamicImportAdapter.js";
9
13
  export type { ExtensionToolContext, ExtensionToolHandler, } from "./types.js";
@@ -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,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,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,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,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,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  /**
2
- * One-shot: load manifest from package (dynamic scan), register all specs, create adapter.
3
- * Framework reads manifest (kind + tools); extension only passes packagePath, config, getContextRunner.
2
+ * One-shot: load pre-built manifest from package, register all specs, create adapter.
3
+ * Framework does NOT scan source for @tool; it reads manifest (e.g. core-tools-manifest.json)
4
+ * produced by the extension's build. Extension passes packagePath, config, getContextRunner.
4
5
  */
5
6
  import type { ToolAdapter } from "../../core/types/ToolSpec.js";
6
7
  import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
@@ -11,8 +12,8 @@ export interface RegisterExtensionOptions<TContext> {
11
12
  packagePath: string;
12
13
  /** Tool kind; if omitted, uses manifest.kind or "extension". */
13
14
  kind?: string;
14
- /** Extension config; passed into context as { execCtx, config }. */
15
- config: unknown;
15
+ /** Optional default config; merged with each tool's tool.yaml (spec._meta.defaultArgs). Context config = { ...config, ...toolDefaultArgs }. */
16
+ config?: unknown;
16
17
  /** Returns the context runner (extension's createContextRunner()). */
17
18
  getContextRunner: () => ContextRunner<TContext>;
18
19
  /** Filter: only register these tool names. */
@@ -21,7 +22,7 @@ export interface RegisterExtensionOptions<TContext> {
21
22
  namePrefixes?: string[];
22
23
  }
23
24
  /**
24
- * Load manifest from package (dynamic: kind + tools from file), register all specs, create and return adapter.
25
+ * Load manifest from package (pre-built JSON; no @tool scanning). Register all specs, create and return adapter.
25
26
  */
26
27
  export declare function registerExtension<TContext extends {
27
28
  execCtx: ExecContext;
@@ -1 +1 @@
1
- {"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerExtension.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,wBAAwB,CAAC,QAAQ;IAChD,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAC1F,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAC1C,WAAW,CA0Bb"}
1
+ {"version":3,"file":"registerExtension.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerExtension.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,MAAM,WAAW,wBAAwB,CAAC,QAAQ;IAChD,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+IAA+I;IAC/I,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,EAC1F,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GAC1C,WAAW,CAgCb"}
@@ -1,6 +1,6 @@
1
1
  import type { ToolSpec, HitlSideEffect } from "../../core/types/ToolSpec.js";
2
2
  import type { ToolRegistry } from "../../core/registry/ToolRegistry.js";
3
- /** Manifest entry shape (convention for @tool scan output). */
3
+ /** Manifest entry shape (convention: extension build emits this, e.g. from @tool scan). */
4
4
  export interface ExtensionManifestEntry {
5
5
  coreName: string;
6
6
  description: string;
@@ -34,7 +34,7 @@ export interface RegisterFromManifestOptions {
34
34
  export declare function loadExtensionManifest(manifestPathOrDir: string): LoadedExtensionManifest;
35
35
  /**
36
36
  * Register tools from a manifest with the registry. Returns the list of registered specs.
37
- * Extension packages call this from their registerCoreTools (or equivalent) with their package root.
37
+ * Extension packages call this from their register (or equivalent) with their package root.
38
38
  */
39
39
  export declare function registerToolsFromManifest(registry: ToolRegistry, options: RegisterFromManifestOptions): ToolSpec[];
40
40
  //# sourceMappingURL=registerFromManifest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerFromManifest.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerFromManifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mHAAmH;IACnH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,GAAG,uBAAuB,CAgBxF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,2BAA2B,GACnC,QAAQ,EAAE,CAqCZ"}
1
+ {"version":3,"file":"registerFromManifest.d.ts","sourceRoot":"","sources":["../../../src/api/extension/registerFromManifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,2FAA2F;AAC3F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,sBAAsB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,2BAA2B;IAC1C,gFAAgF;IAChF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mHAAmH;IACnH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,GAAG,uBAAuB,CAgBxF;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,2BAA2B,GACnC,QAAQ,EAAE,CAqCZ"}
package/dist/api/main.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunkFWIMPZC2_cjs = require('../chunk-FWIMPZC2.cjs');
4
- var chunkP2LVZGZ4_cjs = require('../chunk-P2LVZGZ4.cjs');
5
- var chunkAH4NI4GN_cjs = require('../chunk-AH4NI4GN.cjs');
3
+ var chunkNA2YBWZJ_cjs = require('../chunk-NA2YBWZJ.cjs');
4
+ var chunkB5CAENK6_cjs = require('../chunk-B5CAENK6.cjs');
5
+ var chunkAOEZBP6L_cjs = require('../chunk-AOEZBP6L.cjs');
6
6
  require('../chunk-TOSPHMYU.cjs');
7
7
  require('../chunk-4KTWJQ32.cjs');
8
8
  require('../chunk-DYDNPIV2.cjs');
@@ -11,47 +11,47 @@ require('../chunk-DYDNPIV2.cjs');
11
11
 
12
12
  Object.defineProperty(exports, "createAgentTools", {
13
13
  enumerable: true,
14
- get: function () { return chunkFWIMPZC2_cjs.createAgentTools; }
14
+ get: function () { return chunkNA2YBWZJ_cjs.createAgentTools; }
15
15
  });
16
16
  Object.defineProperty(exports, "createLangChainToolsAsync", {
17
17
  enumerable: true,
18
- get: function () { return chunkFWIMPZC2_cjs.createLangChainToolsAsync; }
18
+ get: function () { return chunkNA2YBWZJ_cjs.createLangChainToolsAsync; }
19
19
  });
20
20
  Object.defineProperty(exports, "createHttpService", {
21
21
  enumerable: true,
22
- get: function () { return chunkP2LVZGZ4_cjs.createHttpService; }
22
+ get: function () { return chunkB5CAENK6_cjs.createHttpService; }
23
23
  });
24
24
  Object.defineProperty(exports, "createMCPServer", {
25
25
  enumerable: true,
26
- get: function () { return chunkP2LVZGZ4_cjs.createMCPServer; }
26
+ get: function () { return chunkB5CAENK6_cjs.createMCPServer; }
27
27
  });
28
28
  Object.defineProperty(exports, "createMCPServerStreamableHttp", {
29
29
  enumerable: true,
30
- get: function () { return chunkP2LVZGZ4_cjs.createMCPServerStreamableHttp; }
30
+ get: function () { return chunkB5CAENK6_cjs.createMCPServerStreamableHttp; }
31
31
  });
32
32
  Object.defineProperty(exports, "createMCPStreamableHttpHandler", {
33
33
  enumerable: true,
34
- get: function () { return chunkP2LVZGZ4_cjs.createMCPStreamableHttpHandler; }
34
+ get: function () { return chunkB5CAENK6_cjs.createMCPStreamableHttpHandler; }
35
35
  });
36
36
  Object.defineProperty(exports, "createOpenAPIServer", {
37
37
  enumerable: true,
38
- get: function () { return chunkP2LVZGZ4_cjs.createHttpService; }
38
+ get: function () { return chunkB5CAENK6_cjs.createHttpService; }
39
39
  });
40
40
  Object.defineProperty(exports, "runMCPServerOverStdio", {
41
41
  enumerable: true,
42
- get: function () { return chunkP2LVZGZ4_cjs.runMCPServerOverStdio; }
42
+ get: function () { return chunkB5CAENK6_cjs.runMCPServerOverStdio; }
43
43
  });
44
44
  Object.defineProperty(exports, "PTCRuntime", {
45
45
  enumerable: true,
46
- get: function () { return chunkAH4NI4GN_cjs.PTCRuntime; }
46
+ get: function () { return chunkAOEZBP6L_cjs.PTCRuntime; }
47
47
  });
48
48
  Object.defineProperty(exports, "createRuntimeFromConfig", {
49
49
  enumerable: true,
50
- get: function () { return chunkAH4NI4GN_cjs.createRuntimeFromConfig; }
50
+ get: function () { return chunkAOEZBP6L_cjs.createRuntimeFromConfig; }
51
51
  });
52
52
  Object.defineProperty(exports, "createRuntimeFromConfigSync", {
53
53
  enumerable: true,
54
- get: function () { return chunkAH4NI4GN_cjs.createRuntimeFromConfigSync; }
54
+ get: function () { return chunkAOEZBP6L_cjs.createRuntimeFromConfigSync; }
55
55
  });
56
56
  //# sourceMappingURL=main.cjs.map
57
57
  //# sourceMappingURL=main.cjs.map
package/dist/api/main.js CHANGED
@@ -1,6 +1,6 @@
1
- export { createAgentTools, createLangChainToolsAsync } from '../chunk-ZRDI2RKU.js';
2
- export { createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, runMCPServerOverStdio } from '../chunk-QP5FIRC2.js';
3
- export { PTCRuntime, createRuntimeFromConfig, createRuntimeFromConfigSync } from '../chunk-BPHY6UVK.js';
1
+ export { createAgentTools, createLangChainToolsAsync } from '../chunk-AO2RY5AI.js';
2
+ export { createHttpService, createMCPServer, createMCPServerStreamableHttp, createMCPStreamableHttpHandler, createHttpService as createOpenAPIServer, runMCPServerOverStdio } from '../chunk-JEP26OIY.js';
3
+ export { PTCRuntime, createRuntimeFromConfig, createRuntimeFromConfigSync } from '../chunk-SO32CIHJ.js';
4
4
  import '../chunk-ZRHPGW7W.js';
5
5
  import '../chunk-3MUOBLNB.js';
6
6
  import '../chunk-KDB3MY2H.js';
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * Create PTCRuntime + ToolRegistry from config (sync or async).
3
- * Registers extension adapters when coreTools/exampleTools options are provided.
4
- * Extensions are optional; the project does not depend on any specific extension.
5
- * When configFilePath (tool.yaml) lists npm:@scope/pkg, that package is loaded from
6
- * cache or node_modules if it exports registerCoreTools. For testing, a default list
7
- * is used when loading from node_modules without tool.yaml.
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
8
  */
9
9
  import { ToolRegistry } from "../core/registry/ToolRegistry.js";
10
10
  import { PTCRuntime } from "../core/runtime/PTCRuntime.js";
11
11
  /**
12
12
  * Default package names tried when loading an extension from node_modules (no tool.yaml).
13
- * Used only for testing (e.g. @easynet/agent-tool-buildin). tool.yaml is the source of truth
14
- * for which extensions to load; any npm: entry there is loaded without an allowlist.
13
+ * Empty by default so agent-tool does not depend on any specific extension package.
14
+ * Extensions are loaded only via tool.yaml (npm: entries) or when explicitly configured.
15
15
  */
16
16
  export declare const DEFAULT_EXTENSION_PACKAGES: string[];
17
- /** Config for the extension that provides registerCoreTools (e.g. FS, HTTP, util tools). */
17
+ /** Config passed to extension's register(registry, options). */
18
18
  export interface CoreToolsUserConfig {
19
19
  sandboxRoot?: string;
20
20
  /** Allowed hosts (e.g. ["*"] or ["api.github.com"]). Merged with tool.yaml. */
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAgB3D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,UAItC,CAAC;AAEF,4FAA4F;AAC5F,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+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;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,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;AA6ED,qKAAqK;AACrK,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQjG;AAsFD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CA6DnG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAiB9B"}
1
+ {"version":3,"file":"runtimeFromConfig.d.ts","sourceRoot":"","sources":["../../src/api/runtimeFromConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAgB3D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAAM,EAAO,CAAC;AAEvD,gEAAgE;AAChE,MAAM,WAAW,mBAAmB;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+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;CACzB;AAED,uDAAuD;AACvD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,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;AAqFD,qKAAqK;AACrK,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQjG;AAgFD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAqCnG;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAiB9B"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkAH4NI4GN_cjs = require('./chunk-AH4NI4GN.cjs');
3
+ var chunkAOEZBP6L_cjs = require('./chunk-AOEZBP6L.cjs');
4
4
  var chunkDYDNPIV2_cjs = require('./chunk-DYDNPIV2.cjs');
5
5
  var fs3 = require('fs/promises');
6
6
  var path9 = require('path');
@@ -443,7 +443,8 @@ function getExportedFunctionDeclaration(node, _sourceFile) {
443
443
  const exported = (ts2__namespace.getModifiers(node) ?? []).some((m) => m.kind === ts2__namespace.SyntaxKind.ExportKeyword);
444
444
  if (!exported) return null;
445
445
  for (const decl of node.declarationList.declarations) {
446
- const init = decl.initializer;
446
+ let init = decl.initializer;
447
+ if (init && ts2__namespace.isParenthesizedExpression(init)) init = init.expression;
447
448
  if (init && ts2__namespace.isArrowFunction(init)) {
448
449
  const name = decl.name.getText();
449
450
  return { func: init, name };
@@ -969,7 +970,7 @@ async function scan4(projectPath, options = {}) {
969
970
  });
970
971
  return { specs: [], errors };
971
972
  }
972
- const filtered = specs.filter((s) => s.kind === chunkAH4NI4GN_cjs.MCP_KIND);
973
+ const filtered = specs.filter((s) => s.kind === chunkAOEZBP6L_cjs.MCP_KIND);
973
974
  return { specs: filtered, errors };
974
975
  }
975
976
  async function scan5(projectPath, options = {}) {
@@ -995,7 +996,7 @@ async function scan5(projectPath, options = {}) {
995
996
  });
996
997
  return { specs: [], errors };
997
998
  }
998
- const filtered = specs.filter((s) => s.kind === chunkAH4NI4GN_cjs.LANGCHAIN_KIND);
999
+ const filtered = specs.filter((s) => s.kind === chunkAOEZBP6L_cjs.LANGCHAIN_KIND);
999
1000
  return { specs: filtered, errors };
1000
1001
  }
1001
1002
  async function loadLangChainTool(dirPath, manifest, extensions) {
@@ -1412,7 +1413,7 @@ var DirectoryScanner = class {
1412
1413
  false,
1413
1414
  namespace,
1414
1415
  this.extensions,
1415
- chunkAH4NI4GN_cjs.LANGCHAIN_DIR_NAME,
1416
+ chunkAOEZBP6L_cjs.LANGCHAIN_DIR_NAME,
1416
1417
  (loaded3, nameHint, dp, ns) => this.toToolSpec(loaded3, nameHint, dp, ns),
1417
1418
  this.onError
1418
1419
  );
@@ -1448,7 +1449,7 @@ var DirectoryScanner = class {
1448
1449
  true,
1449
1450
  namespace,
1450
1451
  this.extensions,
1451
- chunkAH4NI4GN_cjs.LANGCHAIN_DIR_NAME,
1452
+ chunkAOEZBP6L_cjs.LANGCHAIN_DIR_NAME,
1452
1453
  (loaded2, nameHint, dp, ns) => this.toToolSpec(loaded2, nameHint, dp, ns),
1453
1454
  this.onError
1454
1455
  );
@@ -1467,7 +1468,7 @@ var DirectoryScanner = class {
1467
1468
  for (const m of DIRECTORY_KIND_MARKERS) {
1468
1469
  if (await this.fileExists(path9.join(dirPath, m.markerFile))) kinds.push(m.kind);
1469
1470
  }
1470
- const isLangchainDir = dirName === chunkAH4NI4GN_cjs.LANGCHAIN_DIR_NAME;
1471
+ const isLangchainDir = dirName === chunkAOEZBP6L_cjs.LANGCHAIN_DIR_NAME;
1471
1472
  const hasLangchain = isLangchainDir ? (await listLangchainEntryFiles(dirPath, this.extensions)).length > 0 : dirName !== SKILL_DIR_NAME && await this.hasEntryPoint(dirPath, "index");
1472
1473
  if (hasLangchain) kinds.push("langchain");
1473
1474
  if (kinds.length === 0) return null;
@@ -1606,7 +1607,7 @@ async function scanForAllTools(projectPath, options = {}) {
1606
1607
  const warnings = results.flatMap((r) => r.warnings ?? []);
1607
1608
  return { specs, errors, warnings };
1608
1609
  }
1609
- var __dirname$1 = path9__namespace.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-AT3N7SQK.cjs', document.baseURI).href))));
1610
+ var __dirname$1 = path9__namespace.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-5CDN24FP.cjs', document.baseURI).href))));
1610
1611
  async function loadTemplate(name) {
1611
1612
  for (const dir of [
1612
1613
  path9__namespace.join(__dirname$1, "templates"),
@@ -1820,5 +1821,5 @@ exports.scan = scan;
1820
1821
  exports.scanForTools = scanForTools;
1821
1822
  exports.scanSkillResources = scanSkillResources;
1822
1823
  exports.validateFrontmatter = validateFrontmatter;
1823
- //# sourceMappingURL=chunk-AT3N7SQK.cjs.map
1824
- //# sourceMappingURL=chunk-AT3N7SQK.cjs.map
1824
+ //# sourceMappingURL=chunk-5CDN24FP.cjs.map
1825
+ //# sourceMappingURL=chunk-5CDN24FP.cjs.map