@agntk/core 0.1.0
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/README.md +227 -0
- package/dist/advanced/index.d.ts +35 -0
- package/dist/advanced/index.d.ts.map +1 -0
- package/dist/advanced/index.js +52 -0
- package/dist/advanced/index.js.map +1 -0
- package/dist/agent.d.ts +46 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +381 -0
- package/dist/agent.js.map +1 -0
- package/dist/config/defaults.d.ts +10 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +34 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +54 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +222 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +912 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +119 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/constants.d.ts +17 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/evals/assertions.d.ts +54 -0
- package/dist/evals/assertions.d.ts.map +1 -0
- package/dist/evals/assertions.js +200 -0
- package/dist/evals/assertions.js.map +1 -0
- package/dist/evals/index.d.ts +9 -0
- package/dist/evals/index.d.ts.map +1 -0
- package/dist/evals/index.js +8 -0
- package/dist/evals/index.js.map +1 -0
- package/dist/evals/runner.d.ts +34 -0
- package/dist/evals/runner.d.ts.map +1 -0
- package/dist/evals/runner.js +186 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/evals/types.d.ts +68 -0
- package/dist/evals/types.d.ts.map +1 -0
- package/dist/evals/types.js +5 -0
- package/dist/evals/types.js.map +1 -0
- package/dist/guardrails/built-ins.d.ts +48 -0
- package/dist/guardrails/built-ins.d.ts.map +1 -0
- package/dist/guardrails/built-ins.js +149 -0
- package/dist/guardrails/built-ins.js.map +1 -0
- package/dist/guardrails/index.d.ts +8 -0
- package/dist/guardrails/index.d.ts.map +1 -0
- package/dist/guardrails/index.js +7 -0
- package/dist/guardrails/index.js.map +1 -0
- package/dist/guardrails/runner.d.ts +49 -0
- package/dist/guardrails/runner.d.ts.map +1 -0
- package/dist/guardrails/runner.js +148 -0
- package/dist/guardrails/runner.js.map +1 -0
- package/dist/guardrails/types.d.ts +63 -0
- package/dist/guardrails/types.d.ts.map +1 -0
- package/dist/guardrails/types.js +22 -0
- package/dist/guardrails/types.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/engine.d.ts +130 -0
- package/dist/memory/engine.d.ts.map +1 -0
- package/dist/memory/engine.js +227 -0
- package/dist/memory/engine.js.map +1 -0
- package/dist/memory/extraction.d.ts +24 -0
- package/dist/memory/extraction.d.ts.map +1 -0
- package/dist/memory/extraction.js +130 -0
- package/dist/memory/extraction.js.map +1 -0
- package/dist/memory/loader.d.ts +20 -0
- package/dist/memory/loader.d.ts.map +1 -0
- package/dist/memory/loader.js +73 -0
- package/dist/memory/loader.js.map +1 -0
- package/dist/memory/store.d.ts +42 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +120 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/memory/tools.d.ts +39 -0
- package/dist/memory/tools.d.ts.map +1 -0
- package/dist/memory/tools.js +225 -0
- package/dist/memory/tools.js.map +1 -0
- package/dist/memory/types.d.ts +46 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +8 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/vectra-store.d.ts +31 -0
- package/dist/memory/vectra-store.d.ts.map +1 -0
- package/dist/memory/vectra-store.js +122 -0
- package/dist/memory/vectra-store.js.map +1 -0
- package/dist/models.d.ts +37 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +131 -0
- package/dist/models.js.map +1 -0
- package/dist/observability/index.d.ts +6 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/langfuse.d.ts +47 -0
- package/dist/observability/langfuse.d.ts.map +1 -0
- package/dist/observability/langfuse.js +112 -0
- package/dist/observability/langfuse.js.map +1 -0
- package/dist/observability/types.d.ts +37 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +5 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/pool/index.d.ts +7 -0
- package/dist/pool/index.d.ts.map +1 -0
- package/dist/pool/index.js +6 -0
- package/dist/pool/index.js.map +1 -0
- package/dist/pool/specialist-pool.d.ts +59 -0
- package/dist/pool/specialist-pool.d.ts.map +1 -0
- package/dist/pool/specialist-pool.js +224 -0
- package/dist/pool/specialist-pool.js.map +1 -0
- package/dist/pool/tools.d.ts +63 -0
- package/dist/pool/tools.d.ts.map +1 -0
- package/dist/pool/tools.js +83 -0
- package/dist/pool/tools.js.map +1 -0
- package/dist/pool/types.d.ts +79 -0
- package/dist/pool/types.d.ts.map +1 -0
- package/dist/pool/types.js +5 -0
- package/dist/pool/types.js.map +1 -0
- package/dist/presets/index.d.ts +5 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/role-registry.d.ts +41 -0
- package/dist/presets/role-registry.d.ts.map +1 -0
- package/dist/presets/role-registry.js +213 -0
- package/dist/presets/role-registry.js.map +1 -0
- package/dist/presets/roles.d.ts +105 -0
- package/dist/presets/roles.d.ts.map +1 -0
- package/dist/presets/roles.js +207 -0
- package/dist/presets/roles.js.map +1 -0
- package/dist/presets/sub-agent-configs.d.ts +19 -0
- package/dist/presets/sub-agent-configs.d.ts.map +1 -0
- package/dist/presets/sub-agent-configs.js +71 -0
- package/dist/presets/sub-agent-configs.js.map +1 -0
- package/dist/presets/tool-preset-registry.d.ts +34 -0
- package/dist/presets/tool-preset-registry.d.ts.map +1 -0
- package/dist/presets/tool-preset-registry.js +107 -0
- package/dist/presets/tool-preset-registry.js.map +1 -0
- package/dist/presets/tools.d.ts +278 -0
- package/dist/presets/tools.d.ts.map +1 -0
- package/dist/presets/tools.js +108 -0
- package/dist/presets/tools.js.map +1 -0
- package/dist/prompts/context.d.ts +47 -0
- package/dist/prompts/context.d.ts.map +1 -0
- package/dist/prompts/context.js +187 -0
- package/dist/prompts/context.js.map +1 -0
- package/dist/prompts/template.d.ts +17 -0
- package/dist/prompts/template.d.ts.map +1 -0
- package/dist/prompts/template.js +32 -0
- package/dist/prompts/template.js.map +1 -0
- package/dist/prompts/templates.d.ts +11 -0
- package/dist/prompts/templates.d.ts.map +1 -0
- package/dist/prompts/templates.js +115 -0
- package/dist/prompts/templates.js.map +1 -0
- package/dist/reflection.d.ts +48 -0
- package/dist/reflection.d.ts.map +1 -0
- package/dist/reflection.js +91 -0
- package/dist/reflection.js.map +1 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +5 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +84 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +400 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/types.d.ts +66 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +6 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/streaming/data-parts.d.ts +163 -0
- package/dist/streaming/data-parts.d.ts.map +1 -0
- package/dist/streaming/data-parts.js +14 -0
- package/dist/streaming/data-parts.js.map +1 -0
- package/dist/streaming/index.d.ts +8 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +10 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/streaming/transient.d.ts +136 -0
- package/dist/streaming/transient.d.ts.map +1 -0
- package/dist/streaming/transient.js +201 -0
- package/dist/streaming/transient.js.map +1 -0
- package/dist/tools/approval.d.ts +67 -0
- package/dist/tools/approval.d.ts.map +1 -0
- package/dist/tools/approval.js +113 -0
- package/dist/tools/approval.js.map +1 -0
- package/dist/tools/ast-grep/cli.d.ts +16 -0
- package/dist/tools/ast-grep/cli.d.ts.map +1 -0
- package/dist/tools/ast-grep/cli.js +198 -0
- package/dist/tools/ast-grep/cli.js.map +1 -0
- package/dist/tools/ast-grep/constants.d.ts +24 -0
- package/dist/tools/ast-grep/constants.d.ts.map +1 -0
- package/dist/tools/ast-grep/constants.js +247 -0
- package/dist/tools/ast-grep/constants.js.map +1 -0
- package/dist/tools/ast-grep/downloader.d.ts +6 -0
- package/dist/tools/ast-grep/downloader.d.ts.map +1 -0
- package/dist/tools/ast-grep/downloader.js +137 -0
- package/dist/tools/ast-grep/downloader.js.map +1 -0
- package/dist/tools/ast-grep/index.d.ts +7 -0
- package/dist/tools/ast-grep/index.d.ts.map +1 -0
- package/dist/tools/ast-grep/index.js +6 -0
- package/dist/tools/ast-grep/index.js.map +1 -0
- package/dist/tools/ast-grep/tools.d.ts +33 -0
- package/dist/tools/ast-grep/tools.d.ts.map +1 -0
- package/dist/tools/ast-grep/tools.js +140 -0
- package/dist/tools/ast-grep/tools.js.map +1 -0
- package/dist/tools/ast-grep/types.d.ts +68 -0
- package/dist/tools/ast-grep/types.d.ts.map +1 -0
- package/dist/tools/ast-grep/types.js +2 -0
- package/dist/tools/ast-grep/types.js.map +1 -0
- package/dist/tools/ast-grep/utils.d.ts +4 -0
- package/dist/tools/ast-grep/utils.d.ts.map +1 -0
- package/dist/tools/ast-grep/utils.js +55 -0
- package/dist/tools/ast-grep/utils.js.map +1 -0
- package/dist/tools/browser/index.d.ts +6 -0
- package/dist/tools/browser/index.d.ts.map +1 -0
- package/dist/tools/browser/index.js +5 -0
- package/dist/tools/browser/index.js.map +1 -0
- package/dist/tools/browser/stream.d.ts +112 -0
- package/dist/tools/browser/stream.d.ts.map +1 -0
- package/dist/tools/browser/stream.js +228 -0
- package/dist/tools/browser/stream.js.map +1 -0
- package/dist/tools/browser/tool.d.ts +144 -0
- package/dist/tools/browser/tool.d.ts.map +1 -0
- package/dist/tools/browser/tool.js +214 -0
- package/dist/tools/browser/tool.js.map +1 -0
- package/dist/tools/browser/types.d.ts +216 -0
- package/dist/tools/browser/types.d.ts.map +1 -0
- package/dist/tools/browser/types.js +146 -0
- package/dist/tools/browser/types.js.map +1 -0
- package/dist/tools/deep-reasoning/constants.d.ts +11 -0
- package/dist/tools/deep-reasoning/constants.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/constants.js +35 -0
- package/dist/tools/deep-reasoning/constants.js.map +1 -0
- package/dist/tools/deep-reasoning/engine.d.ts +20 -0
- package/dist/tools/deep-reasoning/engine.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/engine.js +77 -0
- package/dist/tools/deep-reasoning/engine.js.map +1 -0
- package/dist/tools/deep-reasoning/index.d.ts +5 -0
- package/dist/tools/deep-reasoning/index.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/index.js +7 -0
- package/dist/tools/deep-reasoning/index.js.map +1 -0
- package/dist/tools/deep-reasoning/tools.d.ts +12 -0
- package/dist/tools/deep-reasoning/tools.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/tools.js +23 -0
- package/dist/tools/deep-reasoning/tools.js.map +1 -0
- package/dist/tools/deep-reasoning/types.d.ts +66 -0
- package/dist/tools/deep-reasoning/types.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/types.js +13 -0
- package/dist/tools/deep-reasoning/types.js.map +1 -0
- package/dist/tools/factory.d.ts +109 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +166 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/file/index.d.ts +8 -0
- package/dist/tools/file/index.d.ts.map +1 -0
- package/dist/tools/file/index.js +8 -0
- package/dist/tools/file/index.js.map +1 -0
- package/dist/tools/file/tools.d.ts +45 -0
- package/dist/tools/file/tools.d.ts.map +1 -0
- package/dist/tools/file/tools.js +206 -0
- package/dist/tools/file/tools.js.map +1 -0
- package/dist/tools/glob/cli.d.ts +8 -0
- package/dist/tools/glob/cli.d.ts.map +1 -0
- package/dist/tools/glob/cli.js +168 -0
- package/dist/tools/glob/cli.js.map +1 -0
- package/dist/tools/glob/constants.d.ts +7 -0
- package/dist/tools/glob/constants.d.ts.map +1 -0
- package/dist/tools/glob/constants.js +17 -0
- package/dist/tools/glob/constants.js.map +1 -0
- package/dist/tools/glob/index.d.ts +6 -0
- package/dist/tools/glob/index.d.ts.map +1 -0
- package/dist/tools/glob/index.js +5 -0
- package/dist/tools/glob/index.js.map +1 -0
- package/dist/tools/glob/tools.d.ts +15 -0
- package/dist/tools/glob/tools.d.ts.map +1 -0
- package/dist/tools/glob/tools.js +74 -0
- package/dist/tools/glob/tools.js.map +1 -0
- package/dist/tools/glob/types.d.ts +20 -0
- package/dist/tools/glob/types.d.ts.map +1 -0
- package/dist/tools/glob/types.js +2 -0
- package/dist/tools/glob/types.js.map +1 -0
- package/dist/tools/glob/utils.d.ts +3 -0
- package/dist/tools/glob/utils.d.ts.map +1 -0
- package/dist/tools/glob/utils.js +20 -0
- package/dist/tools/glob/utils.js.map +1 -0
- package/dist/tools/grep/cli.d.ts +4 -0
- package/dist/tools/grep/cli.d.ts.map +1 -0
- package/dist/tools/grep/cli.js +224 -0
- package/dist/tools/grep/cli.js.map +1 -0
- package/dist/tools/grep/constants.d.ts +19 -0
- package/dist/tools/grep/constants.d.ts.map +1 -0
- package/dist/tools/grep/constants.js +115 -0
- package/dist/tools/grep/constants.js.map +1 -0
- package/dist/tools/grep/downloader.d.ts +3 -0
- package/dist/tools/grep/downloader.d.ts.map +1 -0
- package/dist/tools/grep/downloader.js +164 -0
- package/dist/tools/grep/downloader.js.map +1 -0
- package/dist/tools/grep/index.d.ts +7 -0
- package/dist/tools/grep/index.d.ts.map +1 -0
- package/dist/tools/grep/index.js +6 -0
- package/dist/tools/grep/index.js.map +1 -0
- package/dist/tools/grep/tools.d.ts +19 -0
- package/dist/tools/grep/tools.d.ts.map +1 -0
- package/dist/tools/grep/tools.js +82 -0
- package/dist/tools/grep/tools.js.map +1 -0
- package/dist/tools/grep/types.d.ts +37 -0
- package/dist/tools/grep/types.d.ts.map +1 -0
- package/dist/tools/grep/types.js +2 -0
- package/dist/tools/grep/types.js.map +1 -0
- package/dist/tools/grep/utils.d.ts +4 -0
- package/dist/tools/grep/utils.d.ts.map +1 -0
- package/dist/tools/grep/utils.js +41 -0
- package/dist/tools/grep/utils.js.map +1 -0
- package/dist/tools/index.d.ts +21 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +33 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/model-retry.d.ts +54 -0
- package/dist/tools/model-retry.d.ts.map +1 -0
- package/dist/tools/model-retry.js +110 -0
- package/dist/tools/model-retry.js.map +1 -0
- package/dist/tools/plan/constants.d.ts +18 -0
- package/dist/tools/plan/constants.d.ts.map +1 -0
- package/dist/tools/plan/constants.js +13 -0
- package/dist/tools/plan/constants.js.map +1 -0
- package/dist/tools/plan/index.d.ts +5 -0
- package/dist/tools/plan/index.d.ts.map +1 -0
- package/dist/tools/plan/index.js +7 -0
- package/dist/tools/plan/index.js.map +1 -0
- package/dist/tools/plan/tools.d.ts +16 -0
- package/dist/tools/plan/tools.d.ts.map +1 -0
- package/dist/tools/plan/tools.js +217 -0
- package/dist/tools/plan/tools.js.map +1 -0
- package/dist/tools/plan/types.d.ts +75 -0
- package/dist/tools/plan/types.d.ts.map +1 -0
- package/dist/tools/plan/types.js +16 -0
- package/dist/tools/plan/types.js.map +1 -0
- package/dist/tools/plan/utils.d.ts +9 -0
- package/dist/tools/plan/utils.d.ts.map +1 -0
- package/dist/tools/plan/utils.js +27 -0
- package/dist/tools/plan/utils.js.map +1 -0
- package/dist/tools/progress/index.d.ts +53 -0
- package/dist/tools/progress/index.d.ts.map +1 -0
- package/dist/tools/progress/index.js +144 -0
- package/dist/tools/progress/index.js.map +1 -0
- package/dist/tools/provider.d.ts +97 -0
- package/dist/tools/provider.d.ts.map +1 -0
- package/dist/tools/provider.js +178 -0
- package/dist/tools/provider.js.map +1 -0
- package/dist/tools/search-skills.d.ts +44 -0
- package/dist/tools/search-skills.d.ts.map +1 -0
- package/dist/tools/search-skills.js +134 -0
- package/dist/tools/search-skills.js.map +1 -0
- package/dist/tools/shell/background.d.ts +38 -0
- package/dist/tools/shell/background.d.ts.map +1 -0
- package/dist/tools/shell/background.js +229 -0
- package/dist/tools/shell/background.js.map +1 -0
- package/dist/tools/shell/constants.d.ts +10 -0
- package/dist/tools/shell/constants.d.ts.map +1 -0
- package/dist/tools/shell/constants.js +55 -0
- package/dist/tools/shell/constants.js.map +1 -0
- package/dist/tools/shell/index.d.ts +7 -0
- package/dist/tools/shell/index.d.ts.map +1 -0
- package/dist/tools/shell/index.js +5 -0
- package/dist/tools/shell/index.js.map +1 -0
- package/dist/tools/shell/tools.d.ts +22 -0
- package/dist/tools/shell/tools.d.ts.map +1 -0
- package/dist/tools/shell/tools.js +70 -0
- package/dist/tools/shell/tools.js.map +1 -0
- package/dist/tools/shell/types.d.ts +30 -0
- package/dist/tools/shell/types.d.ts.map +1 -0
- package/dist/tools/shell/types.js +10 -0
- package/dist/tools/shell/types.js.map +1 -0
- package/dist/tools/shell/utils.d.ts +7 -0
- package/dist/tools/shell/utils.d.ts.map +1 -0
- package/dist/tools/shell/utils.js +26 -0
- package/dist/tools/shell/utils.js.map +1 -0
- package/dist/tools/spawn-agent/index.d.ts +96 -0
- package/dist/tools/spawn-agent/index.d.ts.map +1 -0
- package/dist/tools/spawn-agent/index.js +168 -0
- package/dist/tools/spawn-agent/index.js.map +1 -0
- package/dist/tools/utils/errors.d.ts +21 -0
- package/dist/tools/utils/errors.d.ts.map +1 -0
- package/dist/tools/utils/errors.js +29 -0
- package/dist/tools/utils/errors.js.map +1 -0
- package/dist/tools/utils/shell.d.ts +23 -0
- package/dist/tools/utils/shell.d.ts.map +1 -0
- package/dist/tools/utils/shell.js +99 -0
- package/dist/tools/utils/shell.js.map +1 -0
- package/dist/tools/utils/tool-result.d.ts +6 -0
- package/dist/tools/utils/tool-result.d.ts.map +1 -0
- package/dist/tools/utils/tool-result.js +22 -0
- package/dist/tools/utils/tool-result.js.map +1 -0
- package/dist/types/agent.d.ts +218 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +6 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lifecycle.d.ts +218 -0
- package/dist/types/lifecycle.d.ts.map +1 -0
- package/dist/types/lifecycle.js +99 -0
- package/dist/types/lifecycle.js.map +1 -0
- package/dist/types/streaming.d.ts +120 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +6 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/usage-limits.d.ts +63 -0
- package/dist/usage-limits.d.ts.map +1 -0
- package/dist/usage-limits.js +88 -0
- package/dist/usage-limits.js.map +1 -0
- package/dist/utils/logger.d.ts +35 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +149 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/workflow/builders/adapt.d.ts +20 -0
- package/dist/workflow/builders/adapt.d.ts.map +1 -0
- package/dist/workflow/builders/adapt.js +33 -0
- package/dist/workflow/builders/adapt.js.map +1 -0
- package/dist/workflow/builders/index.d.ts +8 -0
- package/dist/workflow/builders/index.d.ts.map +1 -0
- package/dist/workflow/builders/index.js +7 -0
- package/dist/workflow/builders/index.js.map +1 -0
- package/dist/workflow/builders/parallel.d.ts +25 -0
- package/dist/workflow/builders/parallel.d.ts.map +1 -0
- package/dist/workflow/builders/parallel.js +60 -0
- package/dist/workflow/builders/parallel.js.map +1 -0
- package/dist/workflow/builders/pipeline.d.ts +22 -0
- package/dist/workflow/builders/pipeline.d.ts.map +1 -0
- package/dist/workflow/builders/pipeline.js +48 -0
- package/dist/workflow/builders/pipeline.js.map +1 -0
- package/dist/workflow/builders/types.d.ts +54 -0
- package/dist/workflow/builders/types.d.ts.map +1 -0
- package/dist/workflow/builders/types.js +5 -0
- package/dist/workflow/builders/types.js.map +1 -0
- package/dist/workflow/durable-agent.d.ts +128 -0
- package/dist/workflow/durable-agent.d.ts.map +1 -0
- package/dist/workflow/durable-agent.js +323 -0
- package/dist/workflow/durable-agent.js.map +1 -0
- package/dist/workflow/durable-tool.d.ts +103 -0
- package/dist/workflow/durable-tool.d.ts.map +1 -0
- package/dist/workflow/durable-tool.js +173 -0
- package/dist/workflow/durable-tool.js.map +1 -0
- package/dist/workflow/hooks.d.ts +318 -0
- package/dist/workflow/hooks.d.ts.map +1 -0
- package/dist/workflow/hooks.js +629 -0
- package/dist/workflow/hooks.js.map +1 -0
- package/dist/workflow/index.d.ts +17 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +24 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/schedulers.d.ts +231 -0
- package/dist/workflow/schedulers.d.ts.map +1 -0
- package/dist/workflow/schedulers.js +250 -0
- package/dist/workflow/schedulers.js.map +1 -0
- package/dist/workflow/team/create-team.d.ts +34 -0
- package/dist/workflow/team/create-team.d.ts.map +1 -0
- package/dist/workflow/team/create-team.js +242 -0
- package/dist/workflow/team/create-team.js.map +1 -0
- package/dist/workflow/team/index.d.ts +9 -0
- package/dist/workflow/team/index.d.ts.map +1 -0
- package/dist/workflow/team/index.js +8 -0
- package/dist/workflow/team/index.js.map +1 -0
- package/dist/workflow/team/machines.d.ts +152 -0
- package/dist/workflow/team/machines.d.ts.map +1 -0
- package/dist/workflow/team/machines.js +197 -0
- package/dist/workflow/team/machines.js.map +1 -0
- package/dist/workflow/team/task-board.d.ts +47 -0
- package/dist/workflow/team/task-board.d.ts.map +1 -0
- package/dist/workflow/team/task-board.js +111 -0
- package/dist/workflow/team/task-board.js.map +1 -0
- package/dist/workflow/team/tools.d.ts +66 -0
- package/dist/workflow/team/tools.d.ts.map +1 -0
- package/dist/workflow/team/tools.js +100 -0
- package/dist/workflow/team/tools.js.map +1 -0
- package/dist/workflow/team/types.d.ts +109 -0
- package/dist/workflow/team/types.d.ts.map +1 -0
- package/dist/workflow/team/types.js +5 -0
- package/dist/workflow/team/types.js.map +1 -0
- package/dist/workflow/templates.d.ts +71 -0
- package/dist/workflow/templates.d.ts.map +1 -0
- package/dist/workflow/templates.js +132 -0
- package/dist/workflow/templates.js.map +1 -0
- package/dist/workflow/utils.d.ts +29 -0
- package/dist/workflow/utils.d.ts.map +1 -0
- package/dist/workflow/utils.js +84 -0
- package/dist/workflow/utils.js.map +1 -0
- package/dist/wrappers/best-of-n.d.ts +69 -0
- package/dist/wrappers/best-of-n.d.ts.map +1 -0
- package/dist/wrappers/best-of-n.js +242 -0
- package/dist/wrappers/best-of-n.js.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/spawn-agent/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,KAAK;QACJ,MAAM,EAAE,CAAC,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK;YACrC,UAAU,EAAE,aAAa,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,SAAS,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAChE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;SACvB,CAAC;KACH,CAAC;IAEF;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,UAAU,CAAC;CAClC;AAmBD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAIrC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0JD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,iBAAsB;;;;;;;;;;;;;;;qBAI/C,eAAe;EAEnC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Spawn Agent Tool
|
|
3
|
+
* Tool for spawning sub-agents with streaming output
|
|
4
|
+
*/
|
|
5
|
+
import { generateId, generateText } from 'ai';
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { getSubAgentConfig, subAgentRoles } from '../../presets/sub-agent-configs.js';
|
|
8
|
+
import { resolveModel } from '../../models.js';
|
|
9
|
+
const DESCRIPTION = `Spawn a sub-agent for a specific task.
|
|
10
|
+
|
|
11
|
+
Use this tool when you need to delegate complex work that requires:
|
|
12
|
+
- Independent reasoning and decision-making
|
|
13
|
+
- Specialized role focus (coder, researcher, analyst)
|
|
14
|
+
- Autonomous task completion
|
|
15
|
+
|
|
16
|
+
The sub-agent will work independently and stream its output. You will receive a summary of the results.
|
|
17
|
+
|
|
18
|
+
Roles:
|
|
19
|
+
- coder: Code implementation specialist - best for writing, refactoring, debugging code
|
|
20
|
+
- researcher: Research specialist - best for gathering and synthesizing information
|
|
21
|
+
- analyst: Analysis specialist - best for data analysis and insights
|
|
22
|
+
- generic: General-purpose (default)
|
|
23
|
+
|
|
24
|
+
Note: Sub-agents cannot spawn their own sub-agents (prevents infinite recursion).`;
|
|
25
|
+
export const spawnAgentParametersSchema = z.object({
|
|
26
|
+
task: z.string().describe('The task for the sub-agent to accomplish'),
|
|
27
|
+
role: z.enum(subAgentRoles).default('generic').describe('The specialized role for the sub-agent'),
|
|
28
|
+
context: z.string().optional().describe('Additional context to provide to the sub-agent'),
|
|
29
|
+
});
|
|
30
|
+
/**
|
|
31
|
+
* Execute function for spawn agent tool
|
|
32
|
+
*/
|
|
33
|
+
async function executeSpawnAgent(input, options) {
|
|
34
|
+
const { maxSpawnDepth = 1, currentDepth = 0, createAgent, onStream, } = options;
|
|
35
|
+
const { task, role, context } = input;
|
|
36
|
+
// Prevent spawning if at max depth or no factory
|
|
37
|
+
if (currentDepth >= maxSpawnDepth) {
|
|
38
|
+
return {
|
|
39
|
+
success: false,
|
|
40
|
+
error: 'Maximum spawn depth reached. Sub-agents cannot spawn further sub-agents.',
|
|
41
|
+
suggestion: 'Complete this task directly instead of delegating.',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (!createAgent) {
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: 'Agent factory not configured. Sub-agent spawning is disabled.',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const agentId = generateId();
|
|
51
|
+
const roleConfig = getSubAgentConfig(role);
|
|
52
|
+
// Build the sub-agent prompt
|
|
53
|
+
const fullPrompt = context
|
|
54
|
+
? `Context:\n${context}\n\nTask:\n${task}`
|
|
55
|
+
: task;
|
|
56
|
+
// Stream start event
|
|
57
|
+
if (onStream) {
|
|
58
|
+
onStream({
|
|
59
|
+
type: 'sub-agent-stream',
|
|
60
|
+
agentId,
|
|
61
|
+
role,
|
|
62
|
+
text: '',
|
|
63
|
+
status: 'streaming',
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
// Create and run the sub-agent
|
|
68
|
+
const subAgent = createAgent({
|
|
69
|
+
role,
|
|
70
|
+
instructions: roleConfig.instructions,
|
|
71
|
+
tools: roleConfig.tools,
|
|
72
|
+
maxSpawnDepth: 0, // Sub-agents can't spawn further
|
|
73
|
+
});
|
|
74
|
+
const stream = subAgent.stream({ prompt: fullPrompt });
|
|
75
|
+
// Stream sub-agent output
|
|
76
|
+
for await (const chunk of stream.fullStream) {
|
|
77
|
+
if (chunk.type === 'text-delta' && chunk.textDelta) {
|
|
78
|
+
if (onStream) {
|
|
79
|
+
onStream({
|
|
80
|
+
type: 'sub-agent-stream',
|
|
81
|
+
agentId,
|
|
82
|
+
role,
|
|
83
|
+
text: chunk.textDelta,
|
|
84
|
+
status: 'streaming',
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Get final result
|
|
90
|
+
const result = await stream.text;
|
|
91
|
+
// Stream completion event
|
|
92
|
+
if (onStream) {
|
|
93
|
+
onStream({
|
|
94
|
+
type: 'sub-agent-stream',
|
|
95
|
+
agentId,
|
|
96
|
+
role,
|
|
97
|
+
text: result,
|
|
98
|
+
status: 'complete',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// Extract semantic summary using LLM instead of blind truncation
|
|
102
|
+
const summary = await extractSummary(result, role, task);
|
|
103
|
+
return {
|
|
104
|
+
success: true,
|
|
105
|
+
agentId,
|
|
106
|
+
role,
|
|
107
|
+
summary,
|
|
108
|
+
message: `Sub-agent (${role}) completed the task.`,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
113
|
+
// Stream error event
|
|
114
|
+
if (onStream) {
|
|
115
|
+
onStream({
|
|
116
|
+
type: 'sub-agent-stream',
|
|
117
|
+
agentId,
|
|
118
|
+
role,
|
|
119
|
+
text: `Error: ${errorMessage}`,
|
|
120
|
+
status: 'complete',
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
agentId,
|
|
126
|
+
role,
|
|
127
|
+
error: errorMessage,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Extract a semantic summary from sub-agent output using a fast model.
|
|
133
|
+
* Falls back to first 500 chars if the summarization call fails.
|
|
134
|
+
*/
|
|
135
|
+
async function extractSummary(fullOutput, role, originalTask) {
|
|
136
|
+
// Short outputs don't need summarization
|
|
137
|
+
if (fullOutput.length <= 500) {
|
|
138
|
+
return fullOutput;
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
const { text } = await generateText({
|
|
142
|
+
model: resolveModel({ tier: 'fast' }),
|
|
143
|
+
system: `You are summarizing the output of a sub-agent (role: ${role}). Write a clear, actionable summary that captures the key findings, decisions, and results. Be concise but preserve critical details.`,
|
|
144
|
+
prompt: `Original task: ${originalTask}\n\nSub-agent output:\n${fullOutput}`,
|
|
145
|
+
maxRetries: 1,
|
|
146
|
+
});
|
|
147
|
+
return text;
|
|
148
|
+
}
|
|
149
|
+
catch (_e) {
|
|
150
|
+
// Fallback: return the beginning of the output if summarization fails
|
|
151
|
+
return `${fullOutput.slice(0, 500)}...\n[Summary extraction failed, showing first 500 chars]`;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Creates a spawn agent tool definition for use with AI SDK
|
|
156
|
+
*
|
|
157
|
+
* @param options - Spawn options including depth limits, agent factory, and stream callback
|
|
158
|
+
* @returns Tool definition object compatible with AI SDK
|
|
159
|
+
*/
|
|
160
|
+
export function createSpawnAgentTool(options = {}) {
|
|
161
|
+
return {
|
|
162
|
+
description: DESCRIPTION,
|
|
163
|
+
inputSchema: spawnAgentParametersSchema,
|
|
164
|
+
execute: (input) => executeSpawnAgent(input, options),
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
export default createSpawnAgentTool;
|
|
168
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/spawn-agent/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Error utilities
|
|
3
|
+
*/
|
|
4
|
+
export declare enum ToolErrorType {
|
|
5
|
+
COMMAND_BLOCKED = "COMMAND_BLOCKED",
|
|
6
|
+
VALIDATION_FAILED = "VALIDATION_FAILED",
|
|
7
|
+
EXECUTION_FAILED = "EXECUTION_FAILED",
|
|
8
|
+
TIMEOUT = "TIMEOUT",
|
|
9
|
+
NOT_FOUND = "NOT_FOUND"
|
|
10
|
+
}
|
|
11
|
+
export declare class ToolError extends Error {
|
|
12
|
+
readonly type: ToolErrorType;
|
|
13
|
+
readonly context?: Record<string, unknown> | undefined;
|
|
14
|
+
constructor(message: string, type: ToolErrorType, context?: Record<string, unknown> | undefined);
|
|
15
|
+
toJSON(): {
|
|
16
|
+
error: ToolErrorType;
|
|
17
|
+
message: string;
|
|
18
|
+
context: Record<string, unknown> | undefined;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,aAAa;IACvB,eAAe,oBAAoB;IACnC,iBAAiB,sBAAsB;IACvC,gBAAgB,qBAAqB;IACrC,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,qBAAa,SAAU,SAAQ,KAAK;aAGhB,IAAI,EAAE,aAAa;aACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjD,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAMnD,MAAM;;;;;CAOP"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Error utilities
|
|
3
|
+
*/
|
|
4
|
+
export var ToolErrorType;
|
|
5
|
+
(function (ToolErrorType) {
|
|
6
|
+
ToolErrorType["COMMAND_BLOCKED"] = "COMMAND_BLOCKED";
|
|
7
|
+
ToolErrorType["VALIDATION_FAILED"] = "VALIDATION_FAILED";
|
|
8
|
+
ToolErrorType["EXECUTION_FAILED"] = "EXECUTION_FAILED";
|
|
9
|
+
ToolErrorType["TIMEOUT"] = "TIMEOUT";
|
|
10
|
+
ToolErrorType["NOT_FOUND"] = "NOT_FOUND";
|
|
11
|
+
})(ToolErrorType || (ToolErrorType = {}));
|
|
12
|
+
export class ToolError extends Error {
|
|
13
|
+
type;
|
|
14
|
+
context;
|
|
15
|
+
constructor(message, type, context) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.type = type;
|
|
18
|
+
this.context = context;
|
|
19
|
+
this.name = 'ToolError';
|
|
20
|
+
}
|
|
21
|
+
toJSON() {
|
|
22
|
+
return {
|
|
23
|
+
error: this.type,
|
|
24
|
+
message: this.message,
|
|
25
|
+
context: this.context,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/tools/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,oDAAmC,CAAA;IACnC,wDAAuC,CAAA;IACvC,sDAAqC,CAAA;IACrC,oCAAmB,CAAA;IACnB,wCAAuB,CAAA;AACzB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGhB;IACA;IAHlB,YACE,OAAe,EACC,IAAmB,EACnB,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAe;QACnB,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare function isDangerousCommand(command: string): boolean;
|
|
2
|
+
export interface ShellOptions {
|
|
3
|
+
cwd?: string;
|
|
4
|
+
timeout?: number;
|
|
5
|
+
maxBuffer?: number;
|
|
6
|
+
env?: Record<string, string>;
|
|
7
|
+
}
|
|
8
|
+
export interface ShellResult {
|
|
9
|
+
stdout: string;
|
|
10
|
+
stderr: string;
|
|
11
|
+
exitCode: number;
|
|
12
|
+
killed: boolean;
|
|
13
|
+
durationMs: number;
|
|
14
|
+
error?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function executeCommand(command: string, options?: ShellOptions): Promise<ShellResult>;
|
|
17
|
+
export declare function executeCommandSafe(command: string, options?: ShellOptions): Promise<{
|
|
18
|
+
success: boolean;
|
|
19
|
+
result?: ShellResult;
|
|
20
|
+
error?: string;
|
|
21
|
+
blocked?: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA2EtB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC,CAuBD"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
const DANGEROUS_PATTERNS = [
|
|
3
|
+
/rm\s+(-rf?|--recursive)?\s*[\/~]/i,
|
|
4
|
+
/>\s*\/dev\/sd[a-z]/i,
|
|
5
|
+
/mkfs\./i,
|
|
6
|
+
/dd\s+if=/i,
|
|
7
|
+
/:(){ :|:& };:/,
|
|
8
|
+
/\b(sudo|su)\b/i,
|
|
9
|
+
/\b(shutdown|reboot|halt|poweroff)\b/i,
|
|
10
|
+
/\b(curl|wget)\b.*\|\s*(bash|sh|zsh)\b/i,
|
|
11
|
+
/\beval\b/i,
|
|
12
|
+
/\bchmod\s+(-R\s+)?(777|755)\b/i, // Basic check for dangerous permissions
|
|
13
|
+
];
|
|
14
|
+
export function isDangerousCommand(command) {
|
|
15
|
+
return DANGEROUS_PATTERNS.some((pattern) => pattern.test(command));
|
|
16
|
+
}
|
|
17
|
+
export async function executeCommand(command, options = {}) {
|
|
18
|
+
const { cwd = process.cwd(), timeout = 30000, maxBuffer = 1024 * 1024, env, } = options;
|
|
19
|
+
const startTime = performance.now();
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
let stdout = '';
|
|
22
|
+
let stderr = '';
|
|
23
|
+
let killed = false;
|
|
24
|
+
const proc = spawn('bash', ['-c', command], {
|
|
25
|
+
cwd,
|
|
26
|
+
env: { ...process.env, ...env, TERM: 'dumb' },
|
|
27
|
+
});
|
|
28
|
+
const timer = setTimeout(() => {
|
|
29
|
+
killed = true;
|
|
30
|
+
proc.kill('SIGTERM');
|
|
31
|
+
setTimeout(() => {
|
|
32
|
+
try {
|
|
33
|
+
proc.kill('SIGKILL');
|
|
34
|
+
}
|
|
35
|
+
catch (_e) {
|
|
36
|
+
}
|
|
37
|
+
}, 5000);
|
|
38
|
+
}, timeout);
|
|
39
|
+
proc.stdout.on('data', (data) => {
|
|
40
|
+
const chunk = data.toString();
|
|
41
|
+
if (stdout.length + chunk.length <= maxBuffer) {
|
|
42
|
+
stdout += chunk;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
proc.stderr.on('data', (data) => {
|
|
46
|
+
const chunk = data.toString();
|
|
47
|
+
if (stderr.length + chunk.length <= maxBuffer) {
|
|
48
|
+
stderr += chunk;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
proc.stdout.on('error', () => {
|
|
52
|
+
});
|
|
53
|
+
proc.stderr.on('error', () => {
|
|
54
|
+
});
|
|
55
|
+
proc.on('close', (code) => {
|
|
56
|
+
clearTimeout(timer);
|
|
57
|
+
resolve({
|
|
58
|
+
stdout: stdout.trim(),
|
|
59
|
+
stderr: stderr.trim(),
|
|
60
|
+
exitCode: code ?? 1,
|
|
61
|
+
killed,
|
|
62
|
+
durationMs: performance.now() - startTime,
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
proc.on('error', (err) => {
|
|
66
|
+
clearTimeout(timer);
|
|
67
|
+
resolve({
|
|
68
|
+
stdout: '',
|
|
69
|
+
stderr: '',
|
|
70
|
+
exitCode: 1,
|
|
71
|
+
killed: false,
|
|
72
|
+
durationMs: performance.now() - startTime,
|
|
73
|
+
error: err.message,
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
export async function executeCommandSafe(command, options = {}) {
|
|
79
|
+
if (isDangerousCommand(command)) {
|
|
80
|
+
return {
|
|
81
|
+
success: false,
|
|
82
|
+
error: 'Command blocked for safety',
|
|
83
|
+
blocked: true,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const result = await executeCommand(command, options);
|
|
87
|
+
if (result.error) {
|
|
88
|
+
return {
|
|
89
|
+
success: false,
|
|
90
|
+
error: result.error,
|
|
91
|
+
result,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
success: result.exitCode === 0,
|
|
96
|
+
result,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=shell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/tools/utils/shell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Standard tool result formatters.
|
|
3
|
+
*/
|
|
4
|
+
export declare function success<T extends Record<string, unknown>>(data?: T, message?: string): string;
|
|
5
|
+
export declare function error(err: Error | string, context?: Record<string, unknown>): string;
|
|
6
|
+
//# sourceMappingURL=tool-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result.d.ts","sourceRoot":"","sources":["../../../src/tools/utils/tool-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvD,IAAI,CAAC,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CASR;AAED,wBAAgB,KAAK,CACnB,GAAG,EAAE,KAAK,GAAG,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAOR"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Standard tool result formatters.
|
|
3
|
+
*/
|
|
4
|
+
export function success(data, message) {
|
|
5
|
+
const result = { success: true };
|
|
6
|
+
if (data) {
|
|
7
|
+
Object.assign(result, data);
|
|
8
|
+
}
|
|
9
|
+
if (message) {
|
|
10
|
+
result.message = message;
|
|
11
|
+
}
|
|
12
|
+
return JSON.stringify(result);
|
|
13
|
+
}
|
|
14
|
+
export function error(err, context) {
|
|
15
|
+
const message = err instanceof Error ? err.message : err;
|
|
16
|
+
const result = { success: false, error: message };
|
|
17
|
+
if (context) {
|
|
18
|
+
Object.assign(result, context);
|
|
19
|
+
}
|
|
20
|
+
return JSON.stringify(result);
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=tool-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-result.js","sourceRoot":"","sources":["../../../src/tools/utils/tool-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,OAAO,CACrB,IAAQ,EACR,OAAgB;IAEhB,MAAM,MAAM,GAAkD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAChF,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,GAAmB,EACnB,OAAiC;IAEjC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACzD,MAAM,MAAM,GAAyE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACxH,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Core type definitions for AgentOptions and related configuration types.
|
|
3
|
+
* These types define the interface for the createAgent() factory function.
|
|
4
|
+
*/
|
|
5
|
+
import type { LanguageModel, Tool, StepResult, ToolSet } from 'ai';
|
|
6
|
+
import type { SkillsConfig } from '../skills/types.js';
|
|
7
|
+
import type { UsageLimits } from '../usage-limits.js';
|
|
8
|
+
import type { ReflectionConfig } from '../reflection.js';
|
|
9
|
+
import type { ApprovalConfig } from '../tools/approval.js';
|
|
10
|
+
import type { GuardrailsConfig } from '../guardrails/types.js';
|
|
11
|
+
import type { StreamEventCallback } from './streaming.js';
|
|
12
|
+
import type { ObservabilityConfig } from '../observability/types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Configuration options for creating an agent via createAgent().
|
|
15
|
+
*/
|
|
16
|
+
export interface AgentOptions {
|
|
17
|
+
/** System prompt/instructions for the agent. Overrides role-based defaults. */
|
|
18
|
+
systemPrompt?: string;
|
|
19
|
+
/** Context to prepend to the system prompt without overriding role defaults.
|
|
20
|
+
* Useful for injecting environment context (OS, shell, project type, etc.).
|
|
21
|
+
*/
|
|
22
|
+
systemPromptPrefix?: string;
|
|
23
|
+
/** Predefined role with associated system prompt and call options. */
|
|
24
|
+
role?: AgentRole;
|
|
25
|
+
/** Unique identifier for the agent instance. */
|
|
26
|
+
agentId?: string;
|
|
27
|
+
/** Maximum number of tool execution steps. Default: 10 */
|
|
28
|
+
maxSteps?: number;
|
|
29
|
+
/** Token and request caps. Throws UsageLimitExceeded when exceeded.
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const agent = createAgent({
|
|
33
|
+
* usageLimits: { maxRequests: 20, maxTotalTokens: 100_000 },
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
usageLimits?: UsageLimits;
|
|
38
|
+
/** Condition to stop agent execution. */
|
|
39
|
+
stopWhen?: 'task_complete' | 'max_steps' | StopFunction;
|
|
40
|
+
/** Reflection strategy injected between tool steps.
|
|
41
|
+
* 'reflact' injects goal-state reflection after every step.
|
|
42
|
+
* 'periodic' injects reflection every N steps (configurable via frequency).
|
|
43
|
+
* 'none' preserves default behavior (no reflection).
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const agent = createAgent({
|
|
47
|
+
* reflection: { strategy: 'reflact' },
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
reflection?: ReflectionConfig;
|
|
52
|
+
/** Language model instance. Takes precedence over provider/name. */
|
|
53
|
+
model?: LanguageModel;
|
|
54
|
+
/** Model provider to use for automatic model resolution. */
|
|
55
|
+
modelProvider?: ModelProvider;
|
|
56
|
+
/** Model name/identifier within the provider. */
|
|
57
|
+
modelName?: string;
|
|
58
|
+
/** Custom tools to add to the agent. Merged with preset tools. */
|
|
59
|
+
tools?: Record<string, Tool>;
|
|
60
|
+
/** Predefined tool preset to use. Default: 'standard' */
|
|
61
|
+
toolPreset?: ToolPreset;
|
|
62
|
+
/** Specific tools to enable (whitelist). If set, only these tools are active. */
|
|
63
|
+
enableTools?: string[];
|
|
64
|
+
/** Specific tools to disable (blacklist). Removed from preset/custom tools. */
|
|
65
|
+
disableTools?: string[];
|
|
66
|
+
/** Maximum retries per tool when a ModelRetry error is thrown. Default: 3 */
|
|
67
|
+
maxToolRetries?: number;
|
|
68
|
+
/** Require human approval before executing dangerous tools.
|
|
69
|
+
* `true` enables approval for default dangerous tools (shell, browser, file_write, file_edit).
|
|
70
|
+
* Provide an ApprovalConfig object for fine-grained control.
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const agent = createAgent({
|
|
74
|
+
* approval: true, // enable for default dangerous tools
|
|
75
|
+
* });
|
|
76
|
+
* // or
|
|
77
|
+
* const agent = createAgent({
|
|
78
|
+
* approval: { enabled: true, tools: ['shell'], timeout: 30000 },
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
approval?: boolean | ApprovalConfig;
|
|
83
|
+
/** Guardrails for input/output validation.
|
|
84
|
+
* Input guardrails run before the agent; output guardrails run after.
|
|
85
|
+
* Both phases execute their guardrails in parallel with fast-fail.
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const agent = createAgent({
|
|
89
|
+
* guardrails: {
|
|
90
|
+
* output: [contentFilter(), lengthLimit({ maxChars: 5000 })],
|
|
91
|
+
* onBlock: 'retry',
|
|
92
|
+
* },
|
|
93
|
+
* });
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
guardrails?: GuardrailsConfig;
|
|
97
|
+
/** Enable spawn_agent tool for sub-agent delegation. Default: false */
|
|
98
|
+
enableSubAgents?: boolean;
|
|
99
|
+
/** Custom configurations for specific sub-agent roles. */
|
|
100
|
+
subAgentRoles?: Record<string, SubAgentConfig>;
|
|
101
|
+
/** Maximum depth of sub-agent spawning to prevent infinite recursion. Default: 2 */
|
|
102
|
+
maxSpawnDepth?: number;
|
|
103
|
+
/** Enable transient streaming for tool data (file contents, shell output, etc). Default: true */
|
|
104
|
+
enableTransientStreaming?: boolean;
|
|
105
|
+
/** Enable durable workflow wrapping for tool executions. Default: true */
|
|
106
|
+
durable?: boolean;
|
|
107
|
+
/** Configuration for workflow durability. */
|
|
108
|
+
workflowOptions?: WorkflowOptions;
|
|
109
|
+
/** Enable persistent memory for the agent. Default: false
|
|
110
|
+
* When true, creates a MarkdownMemoryStore that reads/writes .agntk/ files.
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* const agent = createAgent({ enableMemory: true });
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
enableMemory?: boolean;
|
|
117
|
+
/** Configuration for memory system. */
|
|
118
|
+
memoryOptions?: MemoryOptions;
|
|
119
|
+
/** Skills to inject into the agent's system prompt.
|
|
120
|
+
* Skills are discovered from SKILL.md files in configured directories.
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const agent = createAgent({
|
|
124
|
+
* skills: { directories: ['.agents/skills'] },
|
|
125
|
+
* });
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
skills?: SkillsConfig;
|
|
129
|
+
/** Root directory for file operations. Used for path security. */
|
|
130
|
+
workspaceRoot?: string;
|
|
131
|
+
/** Handler for agent asking user questions. */
|
|
132
|
+
askUserHandler?: AskUserHandler;
|
|
133
|
+
/** Callback fired after each tool execution step. */
|
|
134
|
+
onStepFinish?: StepFinishCallback;
|
|
135
|
+
/** Callback for streaming events. */
|
|
136
|
+
onEvent?: StreamEventCallback;
|
|
137
|
+
/** Telemetry configuration for OpenTelemetry-based tracing.
|
|
138
|
+
* When provided, initializes observability and passes telemetry settings
|
|
139
|
+
* to the underlying AI SDK ToolLoopAgent.
|
|
140
|
+
*
|
|
141
|
+
* Requires `langfuse-vercel` and `@vercel/otel` as optional peer dependencies.
|
|
142
|
+
* Gracefully degrades (no-op) if not installed.
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```typescript
|
|
146
|
+
* const agent = createAgent({
|
|
147
|
+
* telemetry: {
|
|
148
|
+
* provider: { provider: 'langfuse' },
|
|
149
|
+
* functionId: 'my-agent',
|
|
150
|
+
* },
|
|
151
|
+
* });
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
telemetry?: {
|
|
155
|
+
/** Observability provider config (e.g., Langfuse keys/URL). */
|
|
156
|
+
provider?: ObservabilityConfig;
|
|
157
|
+
/** Identifier for this agent function in traces. Defaults to `agent:<agentId>`. */
|
|
158
|
+
functionId?: string;
|
|
159
|
+
/** Additional metadata to include in traces. */
|
|
160
|
+
metadata?: Record<string, unknown>;
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/** Predefined agent roles with associated configurations. */
|
|
164
|
+
export type AgentRole = 'generic' | 'coder' | 'researcher' | 'analyst';
|
|
165
|
+
/** Supported model providers. */
|
|
166
|
+
export type ModelProvider = 'openrouter' | 'ollama' | 'openai' | (string & {});
|
|
167
|
+
/** Predefined tool presets. */
|
|
168
|
+
export type ToolPreset = 'none' | 'minimal' | 'standard' | 'full';
|
|
169
|
+
/** Custom stop condition function. */
|
|
170
|
+
export type StopFunction = (ctx: StopContext) => boolean;
|
|
171
|
+
/** Context passed to stop condition function. */
|
|
172
|
+
export interface StopContext {
|
|
173
|
+
steps: StepResult<ToolSet>[];
|
|
174
|
+
stepCount: number;
|
|
175
|
+
}
|
|
176
|
+
/** Handler for user interaction requests. */
|
|
177
|
+
export type AskUserHandler = (question: string) => Promise<string>;
|
|
178
|
+
/** Callback for step completion. */
|
|
179
|
+
export type StepFinishCallback = (step: StepResult<ToolSet>, index: number) => void | Promise<void>;
|
|
180
|
+
/**
|
|
181
|
+
* Callback for streaming events.
|
|
182
|
+
* Re-exported from types/streaming.ts — the canonical source with full type safety.
|
|
183
|
+
*/
|
|
184
|
+
export type { StreamEvent, StreamEventCallback } from './streaming.js';
|
|
185
|
+
/** Configuration for a sub-agent role. */
|
|
186
|
+
export interface SubAgentConfig {
|
|
187
|
+
/** Custom instructions for this sub-agent role. */
|
|
188
|
+
instructions?: string;
|
|
189
|
+
/** Tools available to this sub-agent. */
|
|
190
|
+
tools?: string[];
|
|
191
|
+
/** Model name/identifier for this sub-agent. */
|
|
192
|
+
model?: string;
|
|
193
|
+
/** Maximum steps for the sub-agent. Default: 5 */
|
|
194
|
+
maxSteps?: number;
|
|
195
|
+
}
|
|
196
|
+
/** Configuration for workflow durability. */
|
|
197
|
+
export interface WorkflowOptions {
|
|
198
|
+
/** Default retry count for failed tool executions. Default: 3 */
|
|
199
|
+
defaultRetryCount?: number;
|
|
200
|
+
/** Default timeout for tool executions. Format: "30s", "5m", "1h". Default: "5m" */
|
|
201
|
+
defaultTimeout?: string;
|
|
202
|
+
/** Whether independent tools should run in parallel. Default: true */
|
|
203
|
+
parallelIndependent?: boolean;
|
|
204
|
+
/** Storage backend for workflow state. Default: 'memory' */
|
|
205
|
+
storage?: 'vercel' | 'sqlite' | 'memory';
|
|
206
|
+
/** Workflow run ID for resumption. */
|
|
207
|
+
workflowRunId?: string;
|
|
208
|
+
}
|
|
209
|
+
/** Configuration for the markdown-based memory system. */
|
|
210
|
+
export interface MemoryOptions {
|
|
211
|
+
/** Directory for project-local memory files. Default: '.agntk' */
|
|
212
|
+
projectDir?: string;
|
|
213
|
+
/** Directory for global (cross-project) memory files. Default: '~/.agntk' */
|
|
214
|
+
globalDir?: string;
|
|
215
|
+
/** Custom MemoryStore implementation. Overrides file-based defaults. */
|
|
216
|
+
store?: import('../memory/types').MemoryStore;
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/types/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|