@agntk/core 0.3.5 → 1.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 +39 -38
- package/dist/advanced/index.d.ts +13 -22
- package/dist/advanced/index.d.ts.map +1 -1
- package/dist/advanced/index.js +10 -55
- package/dist/advanced/index.js.map +1 -1
- package/dist/agent-v2.d.ts +48 -0
- package/dist/agent-v2.d.ts.map +1 -0
- package/dist/agent-v2.js +365 -0
- package/dist/agent-v2.js.map +1 -0
- package/dist/agent.d.ts +0 -40
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +103 -99
- package/dist/agent.js.map +1 -1
- package/dist/config/defaults.d.ts +1 -5
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -11
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +5 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -7
- package/dist/config/index.js.map +1 -1
- package/dist/config/loader.d.ts +0 -40
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +3 -80
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +117 -788
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +52 -63
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.d.ts +0 -11
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -17
- package/dist/constants.js.map +1 -1
- package/dist/evals/assertions.d.ts +0 -35
- package/dist/evals/assertions.d.ts.map +1 -1
- package/dist/evals/assertions.js +0 -51
- package/dist/evals/assertions.js.map +1 -1
- package/dist/evals/index.d.ts +0 -5
- package/dist/evals/index.d.ts.map +1 -1
- package/dist/evals/index.js +0 -5
- package/dist/evals/index.js.map +1 -1
- package/dist/evals/runner.d.ts +0 -27
- package/dist/evals/runner.d.ts.map +1 -1
- package/dist/evals/runner.js +3 -45
- package/dist/evals/runner.js.map +1 -1
- package/dist/evals/types.d.ts +0 -14
- package/dist/evals/types.d.ts.map +1 -1
- package/dist/evals/types.js +0 -3
- package/dist/evals/types.js.map +1 -1
- package/dist/guardrails/built-ins.d.ts +0 -28
- package/dist/guardrails/built-ins.d.ts.map +1 -1
- package/dist/guardrails/built-ins.js +21 -47
- package/dist/guardrails/built-ins.js.map +1 -1
- package/dist/guardrails/index.d.ts +1 -4
- package/dist/guardrails/index.d.ts.map +1 -1
- package/dist/guardrails/index.js +1 -4
- package/dist/guardrails/index.js.map +1 -1
- package/dist/guardrails/runner.d.ts +0 -30
- package/dist/guardrails/runner.d.ts.map +1 -1
- package/dist/guardrails/runner.js +1 -46
- package/dist/guardrails/runner.js.map +1 -1
- package/dist/guardrails/types.d.ts +0 -35
- package/dist/guardrails/types.d.ts.map +1 -1
- package/dist/guardrails/types.js +4 -7
- package/dist/guardrails/types.js.map +1 -1
- package/dist/index.d.ts +3 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -27
- package/dist/index.js.map +1 -1
- 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/loader.d.ts +0 -17
- package/dist/memory/loader.d.ts.map +1 -1
- package/dist/memory/loader.js +5 -27
- package/dist/memory/loader.js.map +1 -1
- package/dist/memory/store.d.ts +8 -16
- package/dist/memory/store.d.ts.map +1 -1
- package/dist/memory/store.js +101 -32
- package/dist/memory/store.js.map +1 -1
- package/dist/memory/types.d.ts +10 -30
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/memory/types.js +0 -6
- package/dist/memory/types.js.map +1 -1
- 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 +9 -32
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +25 -68
- package/dist/models.js.map +1 -1
- package/dist/observability/index.d.ts +0 -3
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +0 -3
- package/dist/observability/index.js.map +1 -1
- package/dist/observability/langfuse.d.ts +0 -38
- package/dist/observability/langfuse.d.ts.map +1 -1
- package/dist/observability/langfuse.js +6 -55
- package/dist/observability/langfuse.js.map +1 -1
- package/dist/observability/types.d.ts +0 -21
- package/dist/observability/types.d.ts.map +1 -1
- package/dist/observability/types.js +0 -3
- package/dist/observability/types.js.map +1 -1
- 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/tool-preset-registry.d.ts +0 -21
- package/dist/presets/tool-preset-registry.d.ts.map +1 -1
- package/dist/presets/tool-preset-registry.js +15 -34
- package/dist/presets/tool-preset-registry.js.map +1 -1
- package/dist/presets/tools.d.ts +44 -42
- package/dist/presets/tools.d.ts.map +1 -1
- package/dist/presets/tools.js +46 -40
- package/dist/presets/tools.js.map +1 -1
- package/dist/prompts/context.d.ts +0 -4
- package/dist/prompts/context.d.ts.map +1 -1
- package/dist/prompts/context.js +21 -33
- package/dist/prompts/context.js.map +1 -1
- package/dist/prompts/template.d.ts +0 -11
- package/dist/prompts/template.d.ts.map +1 -1
- package/dist/prompts/template.js +4 -14
- package/dist/prompts/template.js.map +1 -1
- 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/provider-resolver.d.ts +0 -29
- package/dist/provider-resolver.d.ts.map +1 -1
- package/dist/provider-resolver.js +17 -61
- package/dist/provider-resolver.js.map +1 -1
- package/dist/reflection.d.ts +0 -34
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +0 -40
- package/dist/reflection.js.map +1 -1
- package/dist/skills/index.d.ts +0 -3
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +0 -3
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/loader.d.ts +0 -69
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +38 -130
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/types.d.ts +0 -36
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/skills/types.js +0 -4
- package/dist/skills/types.js.map +1 -1
- 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/system-detect.d.ts +0 -57
- package/dist/system-detect.d.ts.map +1 -1
- package/dist/system-detect.js +9 -114
- package/dist/system-detect.js.map +1 -1
- package/dist/tools/approval.d.ts +0 -47
- package/dist/tools/approval.d.ts.map +1 -1
- package/dist/tools/approval.js +0 -46
- package/dist/tools/approval.js.map +1 -1
- package/dist/tools/ast-grep/cli.d.ts.map +1 -1
- package/dist/tools/ast-grep/cli.js +10 -4
- package/dist/tools/ast-grep/cli.js.map +1 -1
- package/dist/tools/ast-grep/constants.d.ts.map +1 -1
- package/dist/tools/ast-grep/constants.js +7 -14
- package/dist/tools/ast-grep/constants.js.map +1 -1
- package/dist/tools/ast-grep/downloader.d.ts.map +1 -1
- package/dist/tools/ast-grep/downloader.js +1 -4
- package/dist/tools/ast-grep/downloader.js.map +1 -1
- package/dist/tools/ast-grep/index.d.ts +2 -2
- package/dist/tools/ast-grep/index.d.ts.map +1 -1
- package/dist/tools/ast-grep/index.js +1 -1
- package/dist/tools/ast-grep/index.js.map +1 -1
- package/dist/tools/ast-grep/tools.d.ts +4 -4
- package/dist/tools/ast-grep/tools.d.ts.map +1 -1
- package/dist/tools/ast-grep/tools.js +2 -8
- package/dist/tools/ast-grep/tools.js.map +1 -1
- package/dist/tools/browser/index.d.ts +4 -4
- package/dist/tools/browser/index.d.ts.map +1 -1
- package/dist/tools/browser/index.js +2 -3
- package/dist/tools/browser/index.js.map +1 -1
- package/dist/tools/browser/stream.d.ts +0 -32
- package/dist/tools/browser/stream.d.ts.map +1 -1
- package/dist/tools/browser/stream.js +0 -53
- package/dist/tools/browser/stream.js.map +1 -1
- package/dist/tools/browser/tool.d.ts +10 -15
- package/dist/tools/browser/tool.d.ts.map +1 -1
- package/dist/tools/browser/tool.js +2 -26
- package/dist/tools/browser/tool.js.map +1 -1
- package/dist/tools/browser/types.d.ts +31 -156
- package/dist/tools/browser/types.d.ts.map +1 -1
- package/dist/tools/browser/types.js +22 -17
- package/dist/tools/browser/types.js.map +1 -1
- package/dist/tools/deep-reasoning/constants.d.ts +0 -6
- package/dist/tools/deep-reasoning/constants.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/constants.js +0 -6
- package/dist/tools/deep-reasoning/constants.js.map +1 -1
- package/dist/tools/deep-reasoning/engine.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/engine.js +0 -1
- package/dist/tools/deep-reasoning/engine.js.map +1 -1
- package/dist/tools/deep-reasoning/index.d.ts +4 -0
- package/dist/tools/deep-reasoning/index.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/index.js +4 -3
- package/dist/tools/deep-reasoning/index.js.map +1 -1
- package/dist/tools/deep-reasoning/tools.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/tools.js +8 -1
- package/dist/tools/deep-reasoning/tools.js.map +1 -1
- package/dist/tools/deep-reasoning/types.d.ts +5 -30
- package/dist/tools/deep-reasoning/types.d.ts.map +1 -1
- package/dist/tools/deep-reasoning/types.js +10 -1
- package/dist/tools/deep-reasoning/types.js.map +1 -1
- 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 +3 -5
- package/dist/tools/file/index.d.ts.map +1 -1
- package/dist/tools/file/index.js +2 -4
- package/dist/tools/file/index.js.map +1 -1
- package/dist/tools/file/tools.d.ts +8 -11
- package/dist/tools/file/tools.d.ts.map +1 -1
- package/dist/tools/file/tools.js +45 -59
- package/dist/tools/file/tools.js.map +1 -1
- package/dist/tools/glob/cli.d.ts.map +1 -1
- package/dist/tools/glob/cli.js +8 -6
- package/dist/tools/glob/cli.js.map +1 -1
- package/dist/tools/glob/tools.d.ts.map +1 -1
- package/dist/tools/glob/tools.js +7 -10
- package/dist/tools/glob/tools.js.map +1 -1
- package/dist/tools/grep/cli.d.ts.map +1 -1
- package/dist/tools/grep/cli.js +0 -2
- package/dist/tools/grep/cli.js.map +1 -1
- package/dist/tools/grep/constants.d.ts.map +1 -1
- package/dist/tools/grep/constants.js +3 -5
- package/dist/tools/grep/constants.js.map +1 -1
- package/dist/tools/grep/downloader.d.ts.map +1 -1
- package/dist/tools/grep/downloader.js +3 -3
- package/dist/tools/grep/downloader.js.map +1 -1
- package/dist/tools/grep/tools.d.ts +2 -2
- package/dist/tools/grep/tools.d.ts.map +1 -1
- package/dist/tools/grep/tools.js +8 -14
- package/dist/tools/grep/tools.js.map +1 -1
- package/dist/tools/index.d.ts +10 -11
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +9 -22
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/model-retry.d.ts +0 -40
- package/dist/tools/model-retry.d.ts.map +1 -1
- package/dist/tools/model-retry.js +1 -49
- package/dist/tools/model-retry.js.map +1 -1
- package/dist/tools/plan/constants.d.ts +0 -6
- package/dist/tools/plan/constants.d.ts.map +1 -1
- package/dist/tools/plan/constants.js +9 -6
- package/dist/tools/plan/constants.js.map +1 -1
- package/dist/tools/plan/index.d.ts +1 -1
- package/dist/tools/plan/index.d.ts.map +1 -1
- package/dist/tools/plan/index.js +1 -4
- package/dist/tools/plan/index.js.map +1 -1
- package/dist/tools/plan/tools.d.ts +2 -2
- package/dist/tools/plan/tools.d.ts.map +1 -1
- package/dist/tools/plan/tools.js +10 -11
- package/dist/tools/plan/tools.js.map +1 -1
- package/dist/tools/plan/types.d.ts +22 -32
- package/dist/tools/plan/types.d.ts.map +1 -1
- package/dist/tools/plan/types.js +11 -3
- package/dist/tools/plan/types.js.map +1 -1
- package/dist/tools/progress/index.d.ts +4 -23
- package/dist/tools/progress/index.d.ts.map +1 -1
- package/dist/tools/progress/index.js +19 -34
- package/dist/tools/progress/index.js.map +1 -1
- 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 +0 -23
- package/dist/tools/search-skills.d.ts.map +1 -1
- package/dist/tools/search-skills.js +3 -32
- package/dist/tools/search-skills.js.map +1 -1
- package/dist/tools/shell/background.d.ts +3 -19
- package/dist/tools/shell/background.d.ts.map +1 -1
- package/dist/tools/shell/background.js +45 -48
- package/dist/tools/shell/background.js.map +1 -1
- package/dist/tools/shell/constants.d.ts +0 -3
- package/dist/tools/shell/constants.d.ts.map +1 -1
- package/dist/tools/shell/constants.js +16 -6
- package/dist/tools/shell/constants.js.map +1 -1
- package/dist/tools/shell/index.d.ts +1 -1
- package/dist/tools/shell/index.d.ts.map +1 -1
- package/dist/tools/shell/index.js +1 -1
- package/dist/tools/shell/index.js.map +1 -1
- package/dist/tools/shell/tools.d.ts +3 -3
- package/dist/tools/shell/tools.d.ts.map +1 -1
- package/dist/tools/shell/tools.js +0 -2
- package/dist/tools/shell/tools.js.map +1 -1
- package/dist/tools/shell/types.d.ts +5 -13
- package/dist/tools/shell/types.d.ts.map +1 -1
- package/dist/tools/shell/types.js +10 -1
- package/dist/tools/shell/types.js.map +1 -1
- package/dist/tools/spawn-agent/check-agent.d.ts +45 -0
- package/dist/tools/spawn-agent/check-agent.d.ts.map +1 -0
- package/dist/tools/spawn-agent/check-agent.js +84 -0
- package/dist/tools/spawn-agent/check-agent.js.map +1 -0
- package/dist/tools/spawn-agent/index.d.ts +52 -53
- package/dist/tools/spawn-agent/index.d.ts.map +1 -1
- package/dist/tools/spawn-agent/index.js +199 -86
- package/dist/tools/spawn-agent/index.js.map +1 -1
- package/dist/tools/spawn-agent/registry.d.ts +36 -0
- package/dist/tools/spawn-agent/registry.d.ts.map +1 -0
- package/dist/tools/spawn-agent/registry.js +88 -0
- package/dist/tools/spawn-agent/registry.js.map +1 -0
- package/dist/tools/utils/errors.d.ts +2 -1
- package/dist/tools/utils/errors.d.ts.map +1 -1
- package/dist/tools/utils/errors.js +2 -1
- package/dist/tools/utils/errors.js.map +1 -1
- package/dist/tools/utils/shell.d.ts +0 -11
- package/dist/tools/utils/shell.d.ts.map +1 -1
- package/dist/tools/utils/shell.js +10 -78
- package/dist/tools/utils/shell.js.map +1 -1
- package/dist/tools/utils/tool-result.d.ts +0 -3
- package/dist/tools/utils/tool-result.d.ts.map +1 -1
- package/dist/tools/utils/tool-result.js +4 -4
- package/dist/tools/utils/tool-result.js.map +1 -1
- package/dist/tools/web-search/index.d.ts +4 -0
- package/dist/tools/web-search/index.d.ts.map +1 -0
- package/dist/tools/web-search/index.js +3 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/tools/web-search/tools.d.ts +17 -0
- package/dist/tools/web-search/tools.d.ts.map +1 -0
- package/dist/tools/web-search/tools.js +81 -0
- package/dist/tools/web-search/tools.js.map +1 -0
- package/dist/tools/web-search/types.d.ts +16 -0
- package/dist/tools/web-search/types.d.ts.map +1 -0
- package/dist/tools/web-search/types.js +29 -0
- package/dist/tools/web-search/types.js.map +1 -0
- package/dist/tools/workspace-middleware.d.ts +14 -0
- package/dist/tools/workspace-middleware.d.ts.map +1 -0
- package/dist/tools/workspace-middleware.js +97 -0
- package/dist/tools/workspace-middleware.js.map +1 -0
- package/dist/types/agent-v2.d.ts +83 -0
- package/dist/types/agent-v2.d.ts.map +1 -0
- package/dist/types/agent-v2.js +8 -0
- package/dist/types/agent-v2.js.map +1 -0
- package/dist/types/agent.d.ts +3 -66
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/agent.js +0 -6
- package/dist/types/agent.js.map +1 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/lifecycle.d.ts +0 -141
- package/dist/types/lifecycle.d.ts.map +1 -1
- package/dist/types/lifecycle.js +4 -54
- package/dist/types/lifecycle.js.map +1 -1
- package/dist/types/streaming.d.ts +0 -4
- package/dist/types/streaming.d.ts.map +1 -1
- package/dist/types/streaming.js +0 -4
- package/dist/types/streaming.js.map +1 -1
- package/dist/usage-limits.d.ts +0 -37
- package/dist/usage-limits.d.ts.map +1 -1
- package/dist/usage-limits.js +1 -40
- package/dist/usage-limits.js.map +1 -1
- 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 +0 -84
- package/dist/workflow/durable-tool.d.ts.map +1 -1
- package/dist/workflow/durable-tool.js +2 -104
- package/dist/workflow/durable-tool.js.map +1 -1
- package/dist/workflow/hooks.d.ts +0 -215
- package/dist/workflow/hooks.d.ts.map +1 -1
- package/dist/workflow/hooks.js +15 -221
- package/dist/workflow/hooks.js.map +1 -1
- package/dist/workflow/index.d.ts +0 -9
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +0 -12
- package/dist/workflow/index.js.map +1 -1
- 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 +0 -24
- package/dist/workflow/utils.d.ts.map +1 -1
- package/dist/workflow/utils.js +1 -32
- package/dist/workflow/utils.js.map +1 -1
- package/dist/wrappers/best-of-n.d.ts +0 -35
- package/dist/wrappers/best-of-n.d.ts.map +1 -1
- package/dist/wrappers/best-of-n.js +4 -53
- package/dist/wrappers/best-of-n.js.map +1 -1
- package/dist/wrappers/refine-loop.d.ts +36 -0
- package/dist/wrappers/refine-loop.d.ts.map +1 -0
- package/dist/wrappers/refine-loop.js +135 -0
- package/dist/wrappers/refine-loop.js.map +1 -0
- package/package.json +13 -7
package/dist/prompts/context.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
2
|
+
* @fileoverview System context and prompt building utilities.
|
|
3
|
+
* Handles gathering of environment information, user preferences, and workspace
|
|
4
|
+
* structure to provide contextual information to the AI model.
|
|
4
5
|
*/
|
|
5
|
-
import { createLogger } from '@agntk/logger';
|
|
6
6
|
import { GEOLOCATION_API_URL, GEOLOCATION_ENABLED_DEFAULT } from '../constants.js';
|
|
7
|
-
const log = createLogger('@agntk/core:context');
|
|
8
|
-
// ============================================================================
|
|
9
|
-
// Runtime Detection
|
|
10
|
-
// ============================================================================
|
|
11
7
|
const isNode = typeof process !== 'undefined' && process.versions?.node;
|
|
12
8
|
async function getNodeInfo() {
|
|
13
9
|
if (!isNode) {
|
|
@@ -30,15 +26,12 @@ function getLocale() {
|
|
|
30
26
|
}
|
|
31
27
|
return 'en-US';
|
|
32
28
|
}
|
|
33
|
-
// ============================================================================
|
|
34
|
-
// Location (Optional)
|
|
35
|
-
// ============================================================================
|
|
36
29
|
async function fetchUserLocation() {
|
|
37
30
|
try {
|
|
38
31
|
const response = await fetch(GEOLOCATION_API_URL);
|
|
39
32
|
if (!response.ok)
|
|
40
33
|
return undefined;
|
|
41
|
-
const data = await response.json();
|
|
34
|
+
const data = (await response.json());
|
|
42
35
|
return {
|
|
43
36
|
city: data.city,
|
|
44
37
|
region: data.regionName,
|
|
@@ -51,9 +44,6 @@ async function fetchUserLocation() {
|
|
|
51
44
|
return undefined;
|
|
52
45
|
}
|
|
53
46
|
}
|
|
54
|
-
// ============================================================================
|
|
55
|
-
// Workspace Map
|
|
56
|
-
// ============================================================================
|
|
57
47
|
async function generateWorkspaceMap(workspaceRoot) {
|
|
58
48
|
if (!isNode)
|
|
59
49
|
return '';
|
|
@@ -64,13 +54,16 @@ async function generateWorkspaceMap(workspaceRoot) {
|
|
|
64
54
|
return '';
|
|
65
55
|
const entries = fs.readdirSync(workspaceRoot);
|
|
66
56
|
const topLevel = entries
|
|
67
|
-
.filter(e => !e.startsWith('.'))
|
|
57
|
+
.filter((e) => !e.startsWith('.'))
|
|
68
58
|
.slice(0, 20)
|
|
69
|
-
.map(e => {
|
|
59
|
+
.map((e) => {
|
|
70
60
|
const fullPath = path.join(workspaceRoot, e);
|
|
71
61
|
const isDir = fs.statSync(fullPath).isDirectory();
|
|
72
62
|
if (isDir) {
|
|
73
|
-
const children = fs
|
|
63
|
+
const children = fs
|
|
64
|
+
.readdirSync(fullPath)
|
|
65
|
+
.filter((c) => !c.startsWith('.'))
|
|
66
|
+
.slice(0, 5);
|
|
74
67
|
return `${e}/: ${children.join(', ')}${children.length >= 5 ? '...' : ''}`;
|
|
75
68
|
}
|
|
76
69
|
return e;
|
|
@@ -81,22 +74,27 @@ async function generateWorkspaceMap(workspaceRoot) {
|
|
|
81
74
|
return '';
|
|
82
75
|
}
|
|
83
76
|
}
|
|
84
|
-
// ============================================================================
|
|
85
|
-
// Context Builder
|
|
86
|
-
// ============================================================================
|
|
87
77
|
export async function buildSystemContext(options = {}) {
|
|
88
78
|
const { workspaceRoot, includeWorkspaceMap = false, userLocation, userPreferences, fetchLocation = GEOLOCATION_ENABLED_DEFAULT, } = options;
|
|
89
79
|
const now = new Date();
|
|
90
80
|
const nodeInfo = await getNodeInfo();
|
|
91
|
-
// Optionally fetch location
|
|
92
81
|
let location = userLocation;
|
|
93
82
|
if (!location && fetchLocation) {
|
|
94
83
|
location = await fetchUserLocation();
|
|
95
84
|
}
|
|
96
85
|
const preferences = userPreferences;
|
|
97
86
|
const context = {
|
|
98
|
-
currentTime: now.toLocaleTimeString('en-US', {
|
|
99
|
-
|
|
87
|
+
currentTime: now.toLocaleTimeString('en-US', {
|
|
88
|
+
hour: '2-digit',
|
|
89
|
+
minute: '2-digit',
|
|
90
|
+
hour12: true,
|
|
91
|
+
}),
|
|
92
|
+
currentDate: now.toLocaleDateString('en-US', {
|
|
93
|
+
weekday: 'long',
|
|
94
|
+
year: 'numeric',
|
|
95
|
+
month: 'long',
|
|
96
|
+
day: 'numeric',
|
|
97
|
+
}),
|
|
100
98
|
timezone: location?.timezone || Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
101
99
|
platform: nodeInfo.platform,
|
|
102
100
|
hostname: nodeInfo.hostname,
|
|
@@ -111,9 +109,6 @@ export async function buildSystemContext(options = {}) {
|
|
|
111
109
|
}
|
|
112
110
|
return context;
|
|
113
111
|
}
|
|
114
|
-
// ============================================================================
|
|
115
|
-
// Formatting
|
|
116
|
-
// ============================================================================
|
|
117
112
|
export function formatSystemContextBlock(context) {
|
|
118
113
|
const lines = [
|
|
119
114
|
'# Current Environment',
|
|
@@ -124,7 +119,6 @@ export function formatSystemContextBlock(context) {
|
|
|
124
119
|
`- **Platform**: ${context.platform}`,
|
|
125
120
|
`- **User**: ${context.username}`,
|
|
126
121
|
];
|
|
127
|
-
// Location
|
|
128
122
|
if (context.userLocation) {
|
|
129
123
|
const loc = context.userLocation;
|
|
130
124
|
const locationParts = [loc.city, loc.region, loc.country].filter(Boolean);
|
|
@@ -132,7 +126,6 @@ export function formatSystemContextBlock(context) {
|
|
|
132
126
|
lines.push(`- **Location**: ${locationParts.join(', ')}`);
|
|
133
127
|
}
|
|
134
128
|
}
|
|
135
|
-
// Workspace
|
|
136
129
|
if (context.workspaceRoot) {
|
|
137
130
|
lines.push(`- **Workspace**: ${context.workspaceRoot}`);
|
|
138
131
|
}
|
|
@@ -143,7 +136,6 @@ export function formatSystemContextBlock(context) {
|
|
|
143
136
|
lines.push(context.workspaceMap);
|
|
144
137
|
lines.push('```');
|
|
145
138
|
}
|
|
146
|
-
// User Preferences
|
|
147
139
|
if (context.userPreferences) {
|
|
148
140
|
const prefs = context.userPreferences;
|
|
149
141
|
lines.push('');
|
|
@@ -169,16 +161,12 @@ export function formatSystemContextBlock(context) {
|
|
|
169
161
|
}
|
|
170
162
|
}
|
|
171
163
|
}
|
|
172
|
-
// Appended profile block (from memory system)
|
|
173
164
|
if (context.userProfileBlock) {
|
|
174
165
|
lines.push('');
|
|
175
166
|
lines.push(context.userProfileBlock);
|
|
176
167
|
}
|
|
177
168
|
return lines.join('\n');
|
|
178
169
|
}
|
|
179
|
-
// ============================================================================
|
|
180
|
-
// Convenience Function
|
|
181
|
-
// ============================================================================
|
|
182
170
|
export async function buildDynamicSystemPrompt(basePrompt, options = {}) {
|
|
183
171
|
const context = await buildSystemContext(options);
|
|
184
172
|
const contextBlock = formatSystemContextBlock(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/prompts/context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/prompts/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Template engine for variable substitution in prompts.
|
|
3
|
-
*/
|
|
4
1
|
interface TemplateContext {
|
|
5
2
|
[key: string]: string | number | boolean | undefined;
|
|
6
3
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Apply template variables to a string.
|
|
9
|
-
* Replaces {{variableName}} with the value from context.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* applyTemplate('Hello {{name}}!', { name: 'World' })
|
|
13
|
-
* // => 'Hello World!'
|
|
14
|
-
*/
|
|
15
4
|
export declare function applyTemplate(template: string, context?: TemplateContext): string;
|
|
16
5
|
export {};
|
|
17
6
|
//# sourceMappingURL=template.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/prompts/template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/prompts/template.ts"],"names":[],"mappings":"AAUA,UAAU,eAAe;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAerF"}
|
package/dist/prompts/template.js
CHANGED
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview
|
|
2
|
+
* @fileoverview Prompt template utilities for the SDK.
|
|
3
|
+
* Provides functions to replace placeholdings in prompt strings with context
|
|
4
|
+
* variables from both internal and configuration sources.
|
|
3
5
|
*/
|
|
4
6
|
import { createLogger } from '@agntk/logger';
|
|
5
7
|
import { getConfig } from '../config/index.js';
|
|
6
8
|
const log = createLogger('@agntk/core:templates');
|
|
7
|
-
// ============================================================================
|
|
8
|
-
// Template Engine
|
|
9
|
-
// ============================================================================
|
|
10
|
-
/**
|
|
11
|
-
* Apply template variables to a string.
|
|
12
|
-
* Replaces {{variableName}} with the value from context.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* applyTemplate('Hello {{name}}!', { name: 'World' })
|
|
16
|
-
* // => 'Hello World!'
|
|
17
|
-
*/
|
|
18
9
|
export function applyTemplate(template, context = {}) {
|
|
19
|
-
// Merge config variables with explicit context (explicit takes precedence)
|
|
20
10
|
const config = getConfig();
|
|
21
11
|
const configVars = config.templates;
|
|
22
12
|
const mergedContext = { ...configVars?.variables, ...context };
|
|
@@ -24,7 +14,7 @@ export function applyTemplate(template, context = {}) {
|
|
|
24
14
|
const value = mergedContext[varName];
|
|
25
15
|
if (value === undefined) {
|
|
26
16
|
log.debug('Template variable not found', { variable: varName });
|
|
27
|
-
return match;
|
|
17
|
+
return match;
|
|
28
18
|
}
|
|
29
19
|
return String(value);
|
|
30
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/prompts/template.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/prompts/template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,GAAG,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAMlD,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,UAA2B,EAAE;IAC3E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAI,MAAkC,CAAC,SAE1C,CAAC;IACd,MAAM,aAAa,GAAG,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,CAAC;IAE/D,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,GAAG,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - System Prompt Templates
|
|
3
|
+
* Core system prompts for agent behavior
|
|
4
|
+
*
|
|
5
|
+
* @deprecated Use `presets/role-registry.ts` instead. That module is the canonical
|
|
6
|
+
* source of truth for role prompts, used by `createAgent()` via `getRole()`.
|
|
7
|
+
* This file is kept for backward compatibility of public exports only.
|
|
8
|
+
*/
|
|
9
|
+
export declare const systemPrompt = "You are an autonomous agent. Your purpose is to accomplish the user's goal using whatever approach makes sense.\n\n# Philosophy\n\nYou have a mind and you have tools. Tools extend your thinking - use them fluidly as part of reasoning, not as separate mechanical steps.\n\nThere is no single correct workflow. Match your approach to the problem:\n- Reason through it, gather information, reason more, then act\n- Act immediately if the path is obvious\n- Start one approach, realize it's wrong, switch to another\n- Call multiple tools in parallel when they don't depend on each other\n\nWhen something doesn't work, adapt. When you need information, go get it. When uncertain, reason carefully. When clear, act directly.\n\nWhen errors occur, read them carefully. The error message usually points to the fix.\n\n# Action\n\nDo things, don't announce them. Instead of \"I'll search for X\", just search.\n\nBe autonomous. Complete tasks without asking permission at every step. Only ask the user when you genuinely need information only they can provide.\n\n# Thinking Out Loud\n\nBefore each action, briefly state:\n- **Goal**: What am I trying to accomplish?\n- **Approach**: Why is this the right tool/action?\n- **Risk**: What could go wrong?\n\nKeep it concise (1-2 sentences each). This helps the user understand your decisions.\n\n# Efficiency\n\nComplete tasks in the fewest steps possible:\n- Think first: What's the most direct path to the goal?\n- Use the right tool: Each tool's description explains when to use it\n- Chain when independent: Call multiple tools in parallel when they don't depend on each other\n- No random exploration: Every action should have a purpose\n\n# Tools\n\nYou have access to consolidated tools with multiple actions. Use the action parameter to specify what to do:\n\n**fs** - All file operations (read, write, edit, list, glob, grep, move, delete, info, mkdir)\n**shell** - Execute shell commands (with allowlisting for repeated commands)\n**web** - Search the internet (search) or fetch page content (fetch)\n**memory** - Knowledge graph operations (add, search, episodes, fact, entity, related)\n\n**delegate** - Parallel work: tool chains (steps), sub-agents (agent), or background processes (background)\n**task** - Manage background tasks (status, output, cancel, list, cleanup)\n\nAdditional tools: plan, ask_user, task_complete\n\nEach tool's description provides detailed guidance on when and how to use it. Read the descriptions to understand capabilities and constraints.\n\n# Delegation\n\nFor complex work, use the delegate tool:\n- **steps**: Execute multiple tool calls in sequence with dependency handling\n- **agent**: Spawn a specialized sub-agent (coder/researcher/analyst)\n- **background**: Start a long-running shell command\n\nAfter delegating, use the task tool to monitor progress and retrieve output.\n\n# Completion\n\nCall task_complete when you have fully accomplished what the user asked for.\n\nOnly call task_complete when truly done - not planned, not partially done, but actually complete.\n";
|
|
10
|
+
export declare const rolePrompts: Record<string, string>;
|
|
11
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,YAAY,+/FAqExB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsC9C,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - System Prompt Templates
|
|
3
|
+
* Core system prompts for agent behavior
|
|
4
|
+
*
|
|
5
|
+
* @deprecated Use `presets/role-registry.ts` instead. That module is the canonical
|
|
6
|
+
* source of truth for role prompts, used by `createAgent()` via `getRole()`.
|
|
7
|
+
* This file is kept for backward compatibility of public exports only.
|
|
8
|
+
*/
|
|
9
|
+
export const systemPrompt = `You are an autonomous agent. Your purpose is to accomplish the user's goal using whatever approach makes sense.
|
|
10
|
+
|
|
11
|
+
# Philosophy
|
|
12
|
+
|
|
13
|
+
You have a mind and you have tools. Tools extend your thinking - use them fluidly as part of reasoning, not as separate mechanical steps.
|
|
14
|
+
|
|
15
|
+
There is no single correct workflow. Match your approach to the problem:
|
|
16
|
+
- Reason through it, gather information, reason more, then act
|
|
17
|
+
- Act immediately if the path is obvious
|
|
18
|
+
- Start one approach, realize it's wrong, switch to another
|
|
19
|
+
- Call multiple tools in parallel when they don't depend on each other
|
|
20
|
+
|
|
21
|
+
When something doesn't work, adapt. When you need information, go get it. When uncertain, reason carefully. When clear, act directly.
|
|
22
|
+
|
|
23
|
+
When errors occur, read them carefully. The error message usually points to the fix.
|
|
24
|
+
|
|
25
|
+
# Action
|
|
26
|
+
|
|
27
|
+
Do things, don't announce them. Instead of "I'll search for X", just search.
|
|
28
|
+
|
|
29
|
+
Be autonomous. Complete tasks without asking permission at every step. Only ask the user when you genuinely need information only they can provide.
|
|
30
|
+
|
|
31
|
+
# Thinking Out Loud
|
|
32
|
+
|
|
33
|
+
Before each action, briefly state:
|
|
34
|
+
- **Goal**: What am I trying to accomplish?
|
|
35
|
+
- **Approach**: Why is this the right tool/action?
|
|
36
|
+
- **Risk**: What could go wrong?
|
|
37
|
+
|
|
38
|
+
Keep it concise (1-2 sentences each). This helps the user understand your decisions.
|
|
39
|
+
|
|
40
|
+
# Efficiency
|
|
41
|
+
|
|
42
|
+
Complete tasks in the fewest steps possible:
|
|
43
|
+
- Think first: What's the most direct path to the goal?
|
|
44
|
+
- Use the right tool: Each tool's description explains when to use it
|
|
45
|
+
- Chain when independent: Call multiple tools in parallel when they don't depend on each other
|
|
46
|
+
- No random exploration: Every action should have a purpose
|
|
47
|
+
|
|
48
|
+
# Tools
|
|
49
|
+
|
|
50
|
+
You have access to consolidated tools with multiple actions. Use the action parameter to specify what to do:
|
|
51
|
+
|
|
52
|
+
**fs** - All file operations (read, write, edit, list, glob, grep, move, delete, info, mkdir)
|
|
53
|
+
**shell** - Execute shell commands (with allowlisting for repeated commands)
|
|
54
|
+
**web** - Search the internet (search) or fetch page content (fetch)
|
|
55
|
+
**memory** - Knowledge graph operations (add, search, episodes, fact, entity, related)
|
|
56
|
+
|
|
57
|
+
**delegate** - Parallel work: tool chains (steps), sub-agents (agent), or background processes (background)
|
|
58
|
+
**task** - Manage background tasks (status, output, cancel, list, cleanup)
|
|
59
|
+
|
|
60
|
+
Additional tools: plan, ask_user, task_complete
|
|
61
|
+
|
|
62
|
+
Each tool's description provides detailed guidance on when and how to use it. Read the descriptions to understand capabilities and constraints.
|
|
63
|
+
|
|
64
|
+
# Delegation
|
|
65
|
+
|
|
66
|
+
For complex work, use the delegate tool:
|
|
67
|
+
- **steps**: Execute multiple tool calls in sequence with dependency handling
|
|
68
|
+
- **agent**: Spawn a specialized sub-agent (coder/researcher/analyst)
|
|
69
|
+
- **background**: Start a long-running shell command
|
|
70
|
+
|
|
71
|
+
After delegating, use the task tool to monitor progress and retrieve output.
|
|
72
|
+
|
|
73
|
+
# Completion
|
|
74
|
+
|
|
75
|
+
Call task_complete when you have fully accomplished what the user asked for.
|
|
76
|
+
|
|
77
|
+
Only call task_complete when truly done - not planned, not partially done, but actually complete.
|
|
78
|
+
`;
|
|
79
|
+
export const rolePrompts = {
|
|
80
|
+
generic: systemPrompt,
|
|
81
|
+
coder: `${systemPrompt}
|
|
82
|
+
|
|
83
|
+
# Specialized Role: Code Implementation
|
|
84
|
+
|
|
85
|
+
You are a code implementation specialist. Your focus areas:
|
|
86
|
+
- Writing clean, maintainable code
|
|
87
|
+
- Following existing patterns in the codebase
|
|
88
|
+
- Making minimal, targeted changes
|
|
89
|
+
- Running tests to verify your changes work
|
|
90
|
+
|
|
91
|
+
Always read relevant code before making changes. Match the existing style.`,
|
|
92
|
+
researcher: `${systemPrompt}
|
|
93
|
+
|
|
94
|
+
# Specialized Role: Research
|
|
95
|
+
|
|
96
|
+
You are a research specialist. Your focus areas:
|
|
97
|
+
- Gathering comprehensive information on topics
|
|
98
|
+
- Evaluating source credibility
|
|
99
|
+
- Synthesizing findings into clear summaries
|
|
100
|
+
- Identifying key insights and patterns
|
|
101
|
+
|
|
102
|
+
Be thorough but efficient. Focus on actionable information.`,
|
|
103
|
+
analyst: `${systemPrompt}
|
|
104
|
+
|
|
105
|
+
# Specialized Role: Analysis
|
|
106
|
+
|
|
107
|
+
You are an analysis specialist. Your focus areas:
|
|
108
|
+
- Breaking down complex problems
|
|
109
|
+
- Identifying patterns and relationships
|
|
110
|
+
- Evaluating trade-offs and options
|
|
111
|
+
- Providing data-driven recommendations
|
|
112
|
+
|
|
113
|
+
Be systematic and logical. Support conclusions with evidence.`,
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/prompts/templates.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE3B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,OAAO,EAAE,YAAY;IAErB,KAAK,EAAE,GAAG,YAAY;;;;;;;;;;2EAUmD;IAEzE,UAAU,EAAE,GAAG,YAAY;;;;;;;;;;4DAU+B;IAE1D,OAAO,EAAE,GAAG,YAAY;;;;;;;;;;8DAUoC;CAC7D,CAAC"}
|
|
@@ -1,42 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Provider auto-resolution cascade.
|
|
3
|
-
*
|
|
4
|
-
* Priority:
|
|
5
|
-
* 1. BYOK: User has OPENROUTER_API_KEY, OPENAI_API_KEY, or CEREBRAS_API_KEY
|
|
6
|
-
* 2. Ollama: Running locally at localhost:11434 (with system-aware model selection)
|
|
7
|
-
* 3. Free tier: agntk proxy at api.agntk.dev backed by Cerebras
|
|
8
|
-
*/
|
|
9
1
|
import { type OllamaModelRecommendation } from './system-detect.js';
|
|
10
2
|
export interface ResolvedProvider {
|
|
11
|
-
/** Provider name matching PROVIDER_CONFIGS key */
|
|
12
3
|
provider: string;
|
|
13
|
-
/** Human-readable explanation of how this was resolved */
|
|
14
4
|
source: string;
|
|
15
|
-
/** Whether this is the free tier (for display/rate-limit messaging) */
|
|
16
5
|
isFree: boolean;
|
|
17
|
-
/** When provider is 'ollama', hardware-aware model recommendations */
|
|
18
6
|
ollamaModels?: OllamaModelRecommendation;
|
|
19
|
-
/** When provider is 'ollama', the list of models actually installed */
|
|
20
7
|
ollamaInstalledModels?: string[];
|
|
21
|
-
/** When Ollama was skipped despite running, explains why (for CLI display) */
|
|
22
8
|
ollamaSkipReason?: string;
|
|
23
9
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Resolve the best available provider.
|
|
26
|
-
*
|
|
27
|
-
* Cascade:
|
|
28
|
-
* 1. BYOK keys (sync, instant)
|
|
29
|
-
* 2. Explicit OLLAMA_ENABLED (sync, instant)
|
|
30
|
-
* 3. Ollama auto-detect probe (async, <=500ms)
|
|
31
|
-
* 4. Free tier fallback (sync, instant)
|
|
32
|
-
*/
|
|
33
10
|
export declare function resolveProvider(): Promise<ResolvedProvider>;
|
|
34
|
-
/**
|
|
35
|
-
* Get the resolved provider, caching for the process lifetime.
|
|
36
|
-
*/
|
|
37
11
|
export declare function getResolvedProvider(): Promise<ResolvedProvider>;
|
|
38
|
-
/**
|
|
39
|
-
* Reset the cached provider (for testing).
|
|
40
|
-
*/
|
|
41
12
|
export declare function resetProviderCache(): void;
|
|
42
13
|
//# sourceMappingURL=provider-resolver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-resolver.d.ts","sourceRoot":"","sources":["../src/provider-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider-resolver.d.ts","sourceRoot":"","sources":["../src/provider-resolver.ts"],"names":[],"mappings":"AASA,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE,OAAO,CAAC;IAEhB,YAAY,CAAC,EAAE,yBAAyB,CAAC;IAEzC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAyGD,wBAAsB,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAajE;AAKD,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAUrE;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @fileoverview Provider auto-resolution cascade.
|
|
2
|
+
* @fileoverview Provider auto-resolution cascade for the SDK.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* 1. BYOK: User has OPENROUTER_API_KEY, OPENAI_API_KEY, or CEREBRAS_API_KEY
|
|
6
|
-
* 2. Ollama: Running locally at localhost:11434 (with system-aware model selection)
|
|
7
|
-
* 3. Free tier: agntk proxy at api.agntk.dev backed by Cerebras
|
|
4
|
+
* Determines which LLM provider to use based on a priority cascade:
|
|
5
|
+
* 1. BYOK: User has OPENROUTER_API_KEY, OPENAI_API_KEY, or CEREBRAS_API_KEY.
|
|
6
|
+
* 2. Ollama: Running locally at localhost:11434 (with system-aware model selection).
|
|
7
|
+
* 3. Free tier: agntk proxy at api.agntk.dev backed by Cerebras.
|
|
8
8
|
*/
|
|
9
9
|
import { createLogger } from '@agntk/logger';
|
|
10
|
-
import { detectSystem, recommendOllamaModels } from './system-detect.js';
|
|
10
|
+
import { detectSystem, recommendOllamaModels, } from './system-detect.js';
|
|
11
11
|
const log = createLogger('@agntk/core:provider-resolver');
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// BYOK Detection (sync, instant)
|
|
14
|
-
// ============================================================================
|
|
15
12
|
const BYOK_KEYS = [
|
|
16
13
|
{ env: 'OPENROUTER_API_KEY', provider: 'openrouter' },
|
|
17
14
|
{ env: 'OPENAI_API_KEY', provider: 'openai' },
|
|
@@ -27,36 +24,22 @@ function checkBYOK() {
|
|
|
27
24
|
}
|
|
28
25
|
return null;
|
|
29
26
|
}
|
|
30
|
-
// ============================================================================
|
|
31
|
-
// Ollama Skip Reason (set by probeOllama, read by getFreeTier)
|
|
32
|
-
// ============================================================================
|
|
33
27
|
let _ollamaSkipReason = null;
|
|
34
|
-
// ============================================================================
|
|
35
|
-
// Ollama Detection
|
|
36
|
-
// ============================================================================
|
|
37
|
-
/**
|
|
38
|
-
* Check if OLLAMA_ENABLED is explicitly set (legacy support).
|
|
39
|
-
* Also detects hardware for model recommendation.
|
|
40
|
-
*/
|
|
41
28
|
function checkOllamaExplicit() {
|
|
42
29
|
if (process.env['OLLAMA_ENABLED'] === 'true') {
|
|
43
30
|
const sysProfile = detectSystem();
|
|
44
31
|
const models = recommendOllamaModels(sysProfile);
|
|
45
32
|
log.info('Ollama explicitly enabled via OLLAMA_ENABLED', { tier: models.tier });
|
|
46
|
-
return {
|
|
33
|
+
return {
|
|
34
|
+
provider: 'ollama',
|
|
35
|
+
source: 'OLLAMA_ENABLED=true',
|
|
36
|
+
isFree: false,
|
|
37
|
+
ollamaModels: models,
|
|
38
|
+
};
|
|
47
39
|
}
|
|
48
40
|
return null;
|
|
49
41
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Probe Ollama at localhost:11434 with a fast health check.
|
|
52
|
-
* If Ollama is running AND has at least one model pulled, detect system
|
|
53
|
-
* hardware and recommend the best available models.
|
|
54
|
-
* Returns within 500ms regardless of whether Ollama is running.
|
|
55
|
-
*/
|
|
56
42
|
async function probeOllama() {
|
|
57
|
-
// Strip trailing path segments (/api, /v1, etc.) — the probe needs the raw Ollama host.
|
|
58
|
-
// Users may set OLLAMA_BASE_URL to "http://localhost:11434/api" or "/v1" for the AI SDK,
|
|
59
|
-
// but the native Ollama API lives at the root (e.g. /api/tags, not /api/api/tags).
|
|
60
43
|
const rawUrl = process.env['OLLAMA_BASE_URL'] || 'http://localhost:11434';
|
|
61
44
|
const baseUrl = rawUrl.replace(/\/(api|v1)\/?$/, '');
|
|
62
45
|
const controller = new AbortController();
|
|
@@ -69,17 +52,14 @@ async function probeOllama() {
|
|
|
69
52
|
clearTimeout(timeout);
|
|
70
53
|
if (!response.ok)
|
|
71
54
|
return null;
|
|
72
|
-
// Parse which models are actually installed
|
|
73
55
|
const data = (await response.json());
|
|
74
56
|
const installedModels = (data.models || []).map((m) => m.name.toLowerCase());
|
|
75
57
|
if (installedModels.length === 0) {
|
|
76
58
|
log.info('Ollama running but no models installed', { baseUrl });
|
|
77
59
|
return null;
|
|
78
60
|
}
|
|
79
|
-
// Detect hardware and recommend the best model from what's actually installed
|
|
80
61
|
const sysProfile = detectSystem();
|
|
81
62
|
const recommendation = recommendOllamaModels(sysProfile, installedModels);
|
|
82
|
-
// If no usable models found (all sub-8b, no cloud), skip Ollama
|
|
83
63
|
if (recommendation.noUsableModels) {
|
|
84
64
|
_ollamaSkipReason =
|
|
85
65
|
'Ollama running but no 8b+ model found.\n' +
|
|
@@ -109,54 +89,33 @@ async function probeOllama() {
|
|
|
109
89
|
return null;
|
|
110
90
|
}
|
|
111
91
|
}
|
|
112
|
-
// ============================================================================
|
|
113
|
-
// Free Tier Fallback
|
|
114
|
-
// ============================================================================
|
|
115
92
|
function getFreeTier() {
|
|
116
93
|
log.info('Using agntk free tier');
|
|
117
|
-
const result = {
|
|
94
|
+
const result = {
|
|
95
|
+
provider: 'agntk-free',
|
|
96
|
+
source: 'free tier (Cerebras)',
|
|
97
|
+
isFree: true,
|
|
98
|
+
};
|
|
118
99
|
if (_ollamaSkipReason) {
|
|
119
100
|
result.ollamaSkipReason = _ollamaSkipReason;
|
|
120
101
|
}
|
|
121
102
|
return result;
|
|
122
103
|
}
|
|
123
|
-
// ============================================================================
|
|
124
|
-
// Main Cascade
|
|
125
|
-
// ============================================================================
|
|
126
|
-
/**
|
|
127
|
-
* Resolve the best available provider.
|
|
128
|
-
*
|
|
129
|
-
* Cascade:
|
|
130
|
-
* 1. BYOK keys (sync, instant)
|
|
131
|
-
* 2. Explicit OLLAMA_ENABLED (sync, instant)
|
|
132
|
-
* 3. Ollama auto-detect probe (async, <=500ms)
|
|
133
|
-
* 4. Free tier fallback (sync, instant)
|
|
134
|
-
*/
|
|
135
104
|
export async function resolveProvider() {
|
|
136
105
|
_ollamaSkipReason = null;
|
|
137
|
-
// 1. BYOK — instant
|
|
138
106
|
const byok = checkBYOK();
|
|
139
107
|
if (byok)
|
|
140
108
|
return byok;
|
|
141
|
-
// 2. Explicit Ollama flag — instant
|
|
142
109
|
const ollamaExplicit = checkOllamaExplicit();
|
|
143
110
|
if (ollamaExplicit)
|
|
144
111
|
return ollamaExplicit;
|
|
145
|
-
// 3. Ollama auto-detect — max 500ms
|
|
146
112
|
const ollamaProbe = await probeOllama();
|
|
147
113
|
if (ollamaProbe)
|
|
148
114
|
return ollamaProbe;
|
|
149
|
-
// 4. Free tier — always available
|
|
150
115
|
return getFreeTier();
|
|
151
116
|
}
|
|
152
|
-
// ============================================================================
|
|
153
|
-
// Caching
|
|
154
|
-
// ============================================================================
|
|
155
117
|
let cachedProvider = null;
|
|
156
118
|
let resolvePromise = null;
|
|
157
|
-
/**
|
|
158
|
-
* Get the resolved provider, caching for the process lifetime.
|
|
159
|
-
*/
|
|
160
119
|
export async function getResolvedProvider() {
|
|
161
120
|
if (cachedProvider)
|
|
162
121
|
return cachedProvider;
|
|
@@ -168,9 +127,6 @@ export async function getResolvedProvider() {
|
|
|
168
127
|
});
|
|
169
128
|
return resolvePromise;
|
|
170
129
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Reset the cached provider (for testing).
|
|
173
|
-
*/
|
|
174
130
|
export function resetProviderCache() {
|
|
175
131
|
cachedProvider = null;
|
|
176
132
|
resolvePromise = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-resolver.js","sourceRoot":"","sources":["../src/provider-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"provider-resolver.js","sourceRoot":"","sources":["../src/provider-resolver.ts"],"names":[],"mappings":"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"}
|