@easynet/agent-tool 1.0.48 → 1.0.50

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 (42) hide show
  1. package/dist/api/extension/dynamicImportAdapter.d.ts.map +1 -1
  2. package/dist/api/extension/registerFromManifest.d.ts.map +1 -1
  3. package/dist/api/main.cjs +15 -15
  4. package/dist/api/main.js +4 -4
  5. package/dist/api/runtimeFromConfig.d.ts.map +1 -1
  6. package/dist/{chunk-A5B6Q6EG.cjs → chunk-3GK6IK3N.cjs} +72 -38
  7. package/dist/chunk-3GK6IK3N.cjs.map +1 -0
  8. package/dist/{chunk-IAEVDXWS.cjs → chunk-E3JK57SR.cjs} +15 -15
  9. package/dist/{chunk-IAEVDXWS.cjs.map → chunk-E3JK57SR.cjs.map} +1 -1
  10. package/dist/{chunk-ZRHPGW7W.js → chunk-FCYBA7PR.js} +3 -3
  11. package/dist/{chunk-ZRHPGW7W.js.map → chunk-FCYBA7PR.js.map} +1 -1
  12. package/dist/{chunk-KYBIKD5R.js → chunk-H4RZJVNS.js} +3 -3
  13. package/dist/{chunk-KYBIKD5R.js.map → chunk-H4RZJVNS.js.map} +1 -1
  14. package/dist/{chunk-64ZQQV5C.js → chunk-NYUSA2YV.js} +4 -4
  15. package/dist/{chunk-64ZQQV5C.js.map → chunk-NYUSA2YV.js.map} +1 -1
  16. package/dist/{chunk-KDB3MY2H.js → chunk-ODEHUAR4.js} +2 -2
  17. package/dist/chunk-ODEHUAR4.js.map +1 -0
  18. package/dist/{chunk-DYDNPIV2.cjs → chunk-QEJF3KDV.cjs} +2 -2
  19. package/dist/chunk-QEJF3KDV.cjs.map +1 -0
  20. package/dist/{chunk-MDPU7EIO.cjs → chunk-QEZLUBAL.cjs} +11 -11
  21. package/dist/{chunk-MDPU7EIO.cjs.map → chunk-QEZLUBAL.cjs.map} +1 -1
  22. package/dist/{chunk-TOSPHMYU.cjs → chunk-WQMHMPNC.cjs} +7 -7
  23. package/dist/{chunk-TOSPHMYU.cjs.map → chunk-WQMHMPNC.cjs.map} +1 -1
  24. package/dist/{chunk-2ZPDD7ZO.js → chunk-ZWYRMANX.js} +48 -14
  25. package/dist/chunk-ZWYRMANX.js.map +1 -0
  26. package/dist/core/index.cjs +4 -4
  27. package/dist/core/index.js +1 -1
  28. package/dist/core/runtime.cjs +6 -6
  29. package/dist/core/runtime.js +2 -2
  30. package/dist/core/types/ToolSpec.d.ts +2 -0
  31. package/dist/core/types/ToolSpec.d.ts.map +1 -1
  32. package/dist/index.cjs +42 -40
  33. package/dist/index.cjs.map +1 -1
  34. package/dist/index.js +11 -9
  35. package/dist/index.js.map +1 -1
  36. package/dist/utils/cli/index.cjs +18 -18
  37. package/dist/utils/cli/index.js +4 -4
  38. package/package.json +1 -1
  39. package/dist/chunk-2ZPDD7ZO.js.map +0 -1
  40. package/dist/chunk-A5B6Q6EG.cjs.map +0 -1
  41. package/dist/chunk-DYDNPIV2.cjs.map +0 -1
  42. package/dist/chunk-KDB3MY2H.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/types/ToolSpec.ts"],"names":[],"mappings":";AAsFO,SAAS,kBAAkB,IAAA,EAAsB;AACtD,EAAA,IAAI,OAAO,IAAA,KAAS,QAAA,IAAY,CAAC,MAAM,OAAO,IAAA;AAC9C,EAAA,OAAO,KACJ,OAAA,CAAQ,eAAA,EAAiB,GAAG,CAAA,CAC5B,OAAA,CAAQ,QAAQ,GAAG,CAAA;AACxB;AAGO,IAAM,oBAAA,GAA+B;AAAA,EAC1C,IAAA,EAAM,QAAA;AAAA,EACN,oBAAA,EAAsB;AACxB;AAGO,IAAM,qBAAA,GAAgC;AAAA,EAC3C,IAAA,EAAM,QAAA;AAAA,EACN,oBAAA,EAAsB;AACxB;AA2BO,SAAS,eAAe,IAAA,EAAuC;AACpE,EAAA,MAAM,UAAA,GAAa,KAAK,UAAA,IAAc,MAAA;AACtC,EAAA,MAAM,IAAA,GAAO,iBAAA,CAAkB,IAAA,CAAK,IAAI,CAAA;AACxC,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,OAAA,EAAS,KAAK,OAAA,IAAW,OAAA;AAAA,IACzB,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,aAAa,IAAA,CAAK,WAAA;AAAA,IAClB,MAAM,IAAA,CAAK,IAAA;AAAA,IACX,WAAA,EAAa,KAAK,WAAA,IAAe,oBAAA;AAAA,IACjC,YAAA,EAAc,KAAK,YAAA,IAAgB,qBAAA;AAAA,IACnC,cAAc,IAAA,CAAK,YAAA;AAAA,IACnB,WAAW,IAAA,CAAK,SAAA;AAAA,IAChB,KAAA,EAAO,EAAE,IAAA,EAAM,EAAE,YAAW;AAAE,GAChC;AACF","file":"chunk-KDB3MY2H.js","sourcesContent":["/**\n * Unified tool kinds supported by the tools package.\n */\nexport type ToolKind = \"mcp\" | \"langchain\" | \"n8n\" | \"comfyui\" | \"skill\" | \"function\" | \"core\" | \"example\";\n\n/**\n * Capability declarations for tools.\n * Used by PolicyEngine for permission gating.\n */\nexport type Capability =\n | \"read:web\"\n | \"read:fs\"\n | \"write:fs\"\n | \"read:db\"\n | \"write:db\"\n | \"network\"\n | \"gpu\"\n | \"workflow\"\n | \"danger:destructive\"\n | \"exec\";\n\n/**\n * HITL (Human-in-the-Loop) side-effect classification.\n * Used to gate execution: external_write / destructive require human approval when onApprovalRequired is set.\n */\nexport type HitlSideEffect = \"none\" | \"local_write\" | \"external_write\" | \"destructive\";\n\n/**\n * Cost hints for tools, used by Budget and routing.\n */\nexport interface CostHints {\n latencyMsP50?: number;\n latencyMsP95?: number;\n isAsync?: boolean;\n}\n\n/**\n * Unified tool specification.\n * All tool types (MCP, LangChain, n8n, SKILL) are described by this interface.\n *\n * Safety: each tool declares capabilities (permission gating) and _meta.hitl.sideEffect\n * (HITL approval for external_write/destructive). Caller uses these to decide handling.\n */\nexport interface ToolSpec {\n /** Globally unique name, recommended format: namespace/name */\n name: string;\n /** Semver version */\n version: string;\n /** Tool kind determines which adapter handles execution */\n kind: ToolKind;\n\n description?: string;\n tags?: string[];\n\n /** JSON Schema for input validation */\n inputSchema: object;\n /** JSON Schema for output validation */\n outputSchema: object;\n\n /** Required capabilities for this tool (safety: PolicyEngine gates by ExecContext.permissions) */\n capabilities: Capability[];\n costHints?: CostHints;\n\n /** HITL and adapter-specific metadata. Adapters may use _meta.sourcePath, _meta.exportName, _meta.projectPath (function), etc. */\n _meta?: {\n hitl?: { sideEffect?: HitlSideEffect };\n /** Function kind: path to source file relative to projectPath */\n sourcePath?: string;\n /** Function kind: export name of the handler */\n exportName?: string;\n /** Function/skill kind: project root for resolving sourcePath */\n projectPath?: string;\n };\n\n /** Adapter-specific: endpoint URL (MCP/n8n) */\n endpoint?: string;\n /** Adapter-specific: resource identifier (workflowId, promptId, etc.) */\n resourceId?: string;\n /** Adapter-specific: implementation reference (LangChain Tool instance, skill handler) */\n impl?: unknown;\n}\n\n/**\n * Normalize tool name: only [a-zA-Z0-9] and \".\" allowed; all other characters become \".\".\n * Consecutive dots are collapsed to one. Used for registry lookup and storage.\n */\nexport function normalizeToolName(name: string): string {\n if (typeof name !== \"string\" || !name) return name;\n return name\n .replace(/[^a-zA-Z0-9]/g, \".\")\n .replace(/\\.+/g, \".\");\n}\n\n/** Default permissive input schema when not provided (framework supports auto-derived schema). */\nexport const DEFAULT_INPUT_SCHEMA: object = {\n type: \"object\",\n additionalProperties: true,\n};\n\n/** Default permissive output schema when not provided (framework supports auto-derived schema). */\nexport const DEFAULT_OUTPUT_SCHEMA: object = {\n type: \"object\",\n additionalProperties: true,\n};\n\n/**\n * Minimal options to build a ToolSpec. Use with @effect in JSDoc for HITL sideEffect.\n * Framework fills _meta.hitl.sideEffect from the sideEffect parameter (matches @effect annotation).\n * inputSchema/outputSchema are optional: when omitted, permissive defaults are used (framework supports auto-derived schema at build time in scan/mcp-build).\n */\nexport interface CreateToolSpecOptions {\n name: string;\n version?: string;\n kind: ToolKind;\n description?: string;\n tags?: string[];\n /** Optional: when omitted, DEFAULT_INPUT_SCHEMA is used. Codegen can derive from handler params. */\n inputSchema?: object;\n /** Optional: when omitted, DEFAULT_OUTPUT_SCHEMA is used. Codegen can derive from handler return type. */\n outputSchema?: object;\n capabilities: Capability[];\n costHints?: CostHints;\n /** HITL: from @effect annotation (none | local_write | external_write | destructive). Default \"none\". */\n sideEffect?: HitlSideEffect;\n}\n\n/**\n * Build a ToolSpec from minimal options. Use @effect in handler JSDoc as annotation; pass same value as sideEffect.\n * When inputSchema/outputSchema are omitted, permissive defaults are used (schema can be auto-derived at build time).\n */\nexport function createToolSpec(opts: CreateToolSpecOptions): ToolSpec {\n const sideEffect = opts.sideEffect ?? \"none\";\n const name = normalizeToolName(opts.name);\n return {\n name,\n version: opts.version ?? \"1.0.0\",\n kind: opts.kind,\n description: opts.description,\n tags: opts.tags,\n inputSchema: opts.inputSchema ?? DEFAULT_INPUT_SCHEMA,\n outputSchema: opts.outputSchema ?? DEFAULT_OUTPUT_SCHEMA,\n capabilities: opts.capabilities,\n costHints: opts.costHints,\n _meta: { hitl: { sideEffect } },\n };\n}\n\n/**\n * Unified adapter interface.\n * PTCRuntime looks up adapter by spec.kind and calls adapter.invoke(spec, args, ctx).\n * spec.name is always the single canonical name (the long name); there is no short name.\n */\nexport interface ToolAdapter {\n kind: ToolKind;\n /** Optional: supports dynamic tool discovery */\n listTools?(): Promise<ToolSpec[]>;\n /** Execute the tool with validated args. spec.name is the canonical (long) name. */\n invoke(\n spec: ToolSpec,\n args: unknown,\n ctx: import(\"./ToolIntent.js\").ExecContext,\n ): Promise<{ result: unknown; raw?: unknown }>;\n}\n"]}