@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
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Standalone Workflow Templates
|
|
3
|
+
*
|
|
4
|
+
* Composable workflow templates (withApproval, withSchedule) that work
|
|
5
|
+
* with any Agent instance. No special DurableAgent required.
|
|
6
|
+
*/
|
|
7
|
+
import { createLogger } from '@agntk/logger';
|
|
8
|
+
import { checkWorkflowAvailability, parseDuration } from './utils.js';
|
|
9
|
+
const log = createLogger('@agntk/core:workflow:templates');
|
|
10
|
+
// ============================================================================
|
|
11
|
+
// withApproval
|
|
12
|
+
// ============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Run an agent with a human-in-the-loop approval workflow.
|
|
15
|
+
*
|
|
16
|
+
* 1. Agent generates a draft response
|
|
17
|
+
* 2. Execution pauses waiting for webhook approval (zero compute)
|
|
18
|
+
* 3. If approved, finalizes; if rejected, throws with feedback
|
|
19
|
+
*
|
|
20
|
+
* Requires the workflow package when running under the Workflow runtime.
|
|
21
|
+
* Falls back to auto-approve when the runtime is not available.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const result = await withApproval(agent, 'Draft a press release', {
|
|
26
|
+
* webhookPath: '/api/approve',
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export async function withApproval(agent, prompt, options) {
|
|
31
|
+
log.info('withApproval started', { prompt: prompt.slice(0, 100), webhookPath: options.webhookPath });
|
|
32
|
+
// Step 1: Generate draft
|
|
33
|
+
const draftResult = await agent.generate({ prompt });
|
|
34
|
+
const draftText = draftResult.text ?? '';
|
|
35
|
+
// Step 2: Wait for approval
|
|
36
|
+
log.info('Waiting for approval webhook');
|
|
37
|
+
let approval;
|
|
38
|
+
const isWorkflowAvailable = await checkWorkflowAvailability();
|
|
39
|
+
if (isWorkflowAvailable) {
|
|
40
|
+
// Under the workflow runtime, this step would suspend and resume on webhook
|
|
41
|
+
// For now, the workflow runtime handles the suspension mechanism
|
|
42
|
+
approval = { approved: true };
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// Without workflow runtime, auto-approve (useful for development)
|
|
46
|
+
log.debug('No workflow runtime — auto-approving');
|
|
47
|
+
approval = { approved: true };
|
|
48
|
+
}
|
|
49
|
+
if (!approval.approved) {
|
|
50
|
+
log.warn('Approval rejected', { feedback: approval.feedback });
|
|
51
|
+
throw new Error(`Approval rejected: ${approval.feedback || 'No reason provided'}`);
|
|
52
|
+
}
|
|
53
|
+
// Step 3: Finalize
|
|
54
|
+
const finalPrompt = approval.modifiedContent
|
|
55
|
+
? `Finalize with modifications: ${approval.modifiedContent}. Original: ${draftText}`
|
|
56
|
+
: prompt;
|
|
57
|
+
const finalResult = await agent.generate({ prompt: finalPrompt });
|
|
58
|
+
const finalText = finalResult.text ?? '';
|
|
59
|
+
const usage = finalResult.totalUsage
|
|
60
|
+
? {
|
|
61
|
+
promptTokens: (finalResult.totalUsage.inputTokens ?? 0) + (draftResult.totalUsage?.inputTokens ?? 0),
|
|
62
|
+
completionTokens: (finalResult.totalUsage.outputTokens ?? 0) + (draftResult.totalUsage?.outputTokens ?? 0),
|
|
63
|
+
totalTokens: (finalResult.totalUsage.totalTokens ?? 0) + (draftResult.totalUsage?.totalTokens ?? 0),
|
|
64
|
+
}
|
|
65
|
+
: undefined;
|
|
66
|
+
return {
|
|
67
|
+
text: finalText,
|
|
68
|
+
steps: [
|
|
69
|
+
{ name: 'llm-draft', status: 'completed' },
|
|
70
|
+
{ name: 'webhook-approval', status: 'completed' },
|
|
71
|
+
{ name: 'llm-finalize', status: 'completed' },
|
|
72
|
+
],
|
|
73
|
+
usage,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
// ============================================================================
|
|
77
|
+
// withSchedule
|
|
78
|
+
// ============================================================================
|
|
79
|
+
/**
|
|
80
|
+
* Schedule an agent execution after a delay.
|
|
81
|
+
*
|
|
82
|
+
* Under the Workflow runtime, uses durable sleep (zero compute during delay).
|
|
83
|
+
* Without the runtime, falls back to setTimeout.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const result = await withSchedule(agent, 'Send reminder email', {
|
|
88
|
+
* delay: '1h',
|
|
89
|
+
* });
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export async function withSchedule(agent, prompt, options) {
|
|
93
|
+
log.info('withSchedule started', { delay: options.delay });
|
|
94
|
+
// Step 1: Sleep
|
|
95
|
+
const isWorkflowAvailable = await checkWorkflowAvailability();
|
|
96
|
+
if (isWorkflowAvailable) {
|
|
97
|
+
try {
|
|
98
|
+
const wf = await import('workflow');
|
|
99
|
+
await wf.sleep(options.delay);
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
const ms = parseDuration(options.delay);
|
|
103
|
+
log.warn('Workflow sleep failed, using setTimeout fallback', { ms });
|
|
104
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
const ms = parseDuration(options.delay);
|
|
109
|
+
log.debug('No workflow runtime — using setTimeout', { ms });
|
|
110
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
111
|
+
}
|
|
112
|
+
log.info('Sleep completed, executing agent');
|
|
113
|
+
// Step 2: Generate
|
|
114
|
+
const result = await agent.generate({ prompt });
|
|
115
|
+
const text = result.text ?? '';
|
|
116
|
+
const usage = result.totalUsage
|
|
117
|
+
? {
|
|
118
|
+
promptTokens: result.totalUsage.inputTokens ?? 0,
|
|
119
|
+
completionTokens: result.totalUsage.outputTokens ?? 0,
|
|
120
|
+
totalTokens: result.totalUsage.totalTokens ?? 0,
|
|
121
|
+
}
|
|
122
|
+
: undefined;
|
|
123
|
+
return {
|
|
124
|
+
text,
|
|
125
|
+
steps: [
|
|
126
|
+
{ name: 'sleep', status: 'completed' },
|
|
127
|
+
{ name: 'llm-generate', status: 'completed' },
|
|
128
|
+
],
|
|
129
|
+
usage,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/workflow/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow/utils.d.ts
CHANGED
|
@@ -1,29 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Workflow Utilities
|
|
3
|
-
*
|
|
4
|
-
* Shared utilities for workflow durability features:
|
|
5
|
-
* - Runtime detection (checkWorkflowAvailability)
|
|
6
|
-
* - Duration parsing/formatting
|
|
7
|
-
*
|
|
8
|
-
* @see https://useworkflow.dev
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Check if the Workflow DevKit runtime is available.
|
|
12
|
-
* Result is cached after first check.
|
|
13
|
-
*/
|
|
14
1
|
export declare function checkWorkflowAvailability(): Promise<boolean>;
|
|
15
|
-
/**
|
|
16
|
-
* Reset workflow availability cache (for testing).
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
2
|
export declare function _resetWorkflowCache(): void;
|
|
20
|
-
/**
|
|
21
|
-
* Parse a duration string into milliseconds.
|
|
22
|
-
* Supports: 30s, 5m, 1h, 1d
|
|
23
|
-
*/
|
|
24
3
|
export declare function parseDuration(duration: string): number;
|
|
25
|
-
/**
|
|
26
|
-
* Format milliseconds as a human-readable duration.
|
|
27
|
-
*/
|
|
28
4
|
export declare function formatDuration(ms: number): string;
|
|
29
5
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/workflow/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/workflow/utils.ts"],"names":[],"mappings":"AAMA,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,OAAO,CAAC,CAalE;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBtD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAMjD"}
|
package/dist/workflow/utils.js
CHANGED
|
@@ -1,23 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Workflow Utilities
|
|
3
|
-
*
|
|
4
|
-
* Shared utilities for workflow durability features:
|
|
5
|
-
* - Runtime detection (checkWorkflowAvailability)
|
|
6
|
-
* - Duration parsing/formatting
|
|
7
|
-
*
|
|
8
|
-
* @see https://useworkflow.dev
|
|
9
|
-
*/
|
|
10
1
|
import { createLogger } from '@agntk/logger';
|
|
11
2
|
const log = createLogger('@agntk/core:workflow:utils');
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// Workflow Runtime Detection
|
|
14
|
-
// ============================================================================
|
|
15
|
-
/** Cached availability result */
|
|
16
3
|
let _workflowAvailable = null;
|
|
17
|
-
/**
|
|
18
|
-
* Check if the Workflow DevKit runtime is available.
|
|
19
|
-
* Result is cached after first check.
|
|
20
|
-
*/
|
|
21
4
|
export async function checkWorkflowAvailability() {
|
|
22
5
|
if (_workflowAvailable !== null)
|
|
23
6
|
return _workflowAvailable;
|
|
@@ -27,26 +10,15 @@ export async function checkWorkflowAvailability() {
|
|
|
27
10
|
log.info('Workflow runtime detected');
|
|
28
11
|
return true;
|
|
29
12
|
}
|
|
30
|
-
catch
|
|
13
|
+
catch {
|
|
31
14
|
_workflowAvailable = false;
|
|
32
15
|
log.debug('Workflow runtime not available — durable features disabled');
|
|
33
16
|
return false;
|
|
34
17
|
}
|
|
35
18
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Reset workflow availability cache (for testing).
|
|
38
|
-
* @internal
|
|
39
|
-
*/
|
|
40
19
|
export function _resetWorkflowCache() {
|
|
41
20
|
_workflowAvailable = null;
|
|
42
21
|
}
|
|
43
|
-
// ============================================================================
|
|
44
|
-
// Duration Helpers
|
|
45
|
-
// ============================================================================
|
|
46
|
-
/**
|
|
47
|
-
* Parse a duration string into milliseconds.
|
|
48
|
-
* Supports: 30s, 5m, 1h, 1d
|
|
49
|
-
*/
|
|
50
22
|
export function parseDuration(duration) {
|
|
51
23
|
const match = duration.match(/^(\d+)(s|m|h|d)$/);
|
|
52
24
|
if (!match) {
|
|
@@ -67,9 +39,6 @@ export function parseDuration(duration) {
|
|
|
67
39
|
throw new Error(`Unknown duration unit: ${unit}`);
|
|
68
40
|
}
|
|
69
41
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Format milliseconds as a human-readable duration.
|
|
72
|
-
*/
|
|
73
42
|
export function formatDuration(ms) {
|
|
74
43
|
if (ms < 1000)
|
|
75
44
|
return `${ms}ms`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/workflow/utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/workflow/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,GAAG,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AAEvD,IAAI,kBAAkB,GAAmB,IAAI,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,yBAAyB;IAC7C,IAAI,kBAAkB,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC;IAE3D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,kBAAkB,GAAG,IAAI,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,kBAAkB,GAAG,KAAK,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,kBAAkB,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,2CAA2C,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,IAAI,CAAC;QACtB,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrC;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,IAAI,CAAC;IAChC,IAAI,EAAE,GAAG,KAAK;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;IACnD,IAAI,EAAE,GAAG,OAAO;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC;IACtD,IAAI,EAAE,GAAG,QAAQ;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IACzD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC;AACzC,CAAC"}
|
|
@@ -1,35 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Best-of-N Test-Time Scaling
|
|
3
|
-
*
|
|
4
|
-
* Run an agent N times and pick the best output via LLM judge.
|
|
5
|
-
* Supports parallel/sequential execution, list-wise/pair-wise judging,
|
|
6
|
-
* and budget caps via UsageLimits.
|
|
7
|
-
*/
|
|
8
1
|
import type { LanguageModel } from 'ai';
|
|
9
2
|
import type { Agent } from '../types/agent.js';
|
|
10
3
|
import type { UsageLimits } from '../usage-limits.js';
|
|
11
4
|
export interface BestOfNConfig {
|
|
12
|
-
/** Number of times to run the agent. */
|
|
13
5
|
n: number;
|
|
14
|
-
/** Judge model for ranking outputs. */
|
|
15
6
|
judgeModel: LanguageModel;
|
|
16
|
-
/** Judging strategy. 'list-wise' ranks all at once; 'pair-wise' does tournament. Default: 'list-wise'. */
|
|
17
7
|
strategy?: 'list-wise' | 'pair-wise';
|
|
18
|
-
/** Run agent instances in parallel or sequentially. Default: 'parallel'. */
|
|
19
8
|
execution?: 'parallel' | 'sequential';
|
|
20
|
-
/** Criteria for the judge to evaluate outputs against. */
|
|
21
9
|
criteria: string;
|
|
22
|
-
/** Optional budget cap. Stops early if total tokens across all runs exceed this. */
|
|
23
10
|
budget?: UsageLimits;
|
|
24
11
|
}
|
|
25
12
|
export interface BestOfNCandidate {
|
|
26
|
-
/** The output text from this run. */
|
|
27
13
|
text: string;
|
|
28
|
-
/** The score assigned by the judge (higher is better). */
|
|
29
14
|
score: number;
|
|
30
|
-
/** Index of this candidate (0-based). */
|
|
31
15
|
index: number;
|
|
32
|
-
/** Token usage for this run. */
|
|
33
16
|
usage?: {
|
|
34
17
|
inputTokens: number;
|
|
35
18
|
outputTokens: number;
|
|
@@ -37,33 +20,15 @@ export interface BestOfNCandidate {
|
|
|
37
20
|
};
|
|
38
21
|
}
|
|
39
22
|
export interface BestOfNResult {
|
|
40
|
-
/** The winning candidate. */
|
|
41
23
|
best: BestOfNCandidate;
|
|
42
|
-
/** All candidates with scores. */
|
|
43
24
|
candidates: BestOfNCandidate[];
|
|
44
|
-
/** Total token usage across all agent runs. */
|
|
45
25
|
totalUsage: {
|
|
46
26
|
inputTokens: number;
|
|
47
27
|
outputTokens: number;
|
|
48
28
|
totalTokens: number;
|
|
49
29
|
};
|
|
50
|
-
/** Whether the run was stopped early due to budget. */
|
|
51
30
|
budgetExceeded: boolean;
|
|
52
|
-
/** Number of candidates actually generated (may be < n if budget exceeded). */
|
|
53
31
|
runsCompleted: number;
|
|
54
32
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Run an agent N times and pick the best output via LLM judge.
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```typescript
|
|
60
|
-
* const result = await withBestOfN(agent, 'Write a haiku about coding', {
|
|
61
|
-
* n: 3,
|
|
62
|
-
* judgeModel: myModel,
|
|
63
|
-
* criteria: 'Quality, creativity, and adherence to haiku format',
|
|
64
|
-
* });
|
|
65
|
-
* console.log(result.best.text); // Best haiku
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
33
|
export declare function withBestOfN(agent: Agent, prompt: string, config: BestOfNConfig): Promise<BestOfNResult>;
|
|
69
34
|
//# sourceMappingURL=best-of-n.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"best-of-n.d.ts","sourceRoot":"","sources":["../../src/wrappers/best-of-n.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"best-of-n.d.ts","sourceRoot":"","sources":["../../src/wrappers/best-of-n.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInD,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IAEV,UAAU,EAAE,aAAa,CAAC;IAE1B,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,CAAC;IAErC,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IAEtC,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5E;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IAEvB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAE/B,UAAU,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAE/E,cAAc,EAAE,OAAO,CAAC;IAExB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CA2FxB"}
|
|
@@ -1,32 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Best-of-N Test-Time Scaling
|
|
3
|
-
*
|
|
4
|
-
* Run an agent N times and pick the best output via LLM judge.
|
|
5
|
-
* Supports parallel/sequential execution, list-wise/pair-wise judging,
|
|
6
|
-
* and budget caps via UsageLimits.
|
|
7
|
-
*/
|
|
8
1
|
import { createLogger } from '@agntk/logger';
|
|
9
2
|
const log = createLogger('@agntk/core:best-of-n');
|
|
10
|
-
// ============================================================================
|
|
11
|
-
// Core Implementation
|
|
12
|
-
// ============================================================================
|
|
13
|
-
/**
|
|
14
|
-
* Run an agent N times and pick the best output via LLM judge.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const result = await withBestOfN(agent, 'Write a haiku about coding', {
|
|
19
|
-
* n: 3,
|
|
20
|
-
* judgeModel: myModel,
|
|
21
|
-
* criteria: 'Quality, creativity, and adherence to haiku format',
|
|
22
|
-
* });
|
|
23
|
-
* console.log(result.best.text); // Best haiku
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
3
|
export async function withBestOfN(agent, prompt, config) {
|
|
27
4
|
const { n, judgeModel, strategy = 'list-wise', execution = 'parallel', criteria, budget, } = config;
|
|
28
5
|
log.info('Starting best-of-N', { n, strategy, execution, criteria: criteria.slice(0, 50) });
|
|
29
|
-
// Generate candidates
|
|
30
6
|
const candidates = [];
|
|
31
7
|
const totalUsage = { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
|
|
32
8
|
let budgetExceeded = false;
|
|
@@ -45,7 +21,6 @@ export async function withBestOfN(agent, prompt, config) {
|
|
|
45
21
|
}
|
|
46
22
|
}
|
|
47
23
|
else {
|
|
48
|
-
// Sequential with budget check
|
|
49
24
|
for (let i = 0; i < n; i++) {
|
|
50
25
|
if (budget && isOverBudget(totalUsage, budget)) {
|
|
51
26
|
budgetExceeded = true;
|
|
@@ -76,7 +51,6 @@ export async function withBestOfN(agent, prompt, config) {
|
|
|
76
51
|
runsCompleted: candidates.length,
|
|
77
52
|
};
|
|
78
53
|
}
|
|
79
|
-
// Judge candidates
|
|
80
54
|
log.info('Judging candidates', { count: candidates.length, strategy });
|
|
81
55
|
let scoredCandidates;
|
|
82
56
|
if (strategy === 'pair-wise') {
|
|
@@ -85,7 +59,6 @@ export async function withBestOfN(agent, prompt, config) {
|
|
|
85
59
|
else {
|
|
86
60
|
scoredCandidates = await listWiseJudge(candidates, judgeModel, criteria);
|
|
87
61
|
}
|
|
88
|
-
// Sort by score descending
|
|
89
62
|
scoredCandidates.sort((a, b) => b.score - a.score);
|
|
90
63
|
const result = {
|
|
91
64
|
best: scoredCandidates[0],
|
|
@@ -101,15 +74,13 @@ export async function withBestOfN(agent, prompt, config) {
|
|
|
101
74
|
});
|
|
102
75
|
return result;
|
|
103
76
|
}
|
|
104
|
-
// ============================================================================
|
|
105
|
-
// Candidate Generation
|
|
106
|
-
// ============================================================================
|
|
107
77
|
async function generateCandidate(agent, prompt, index) {
|
|
108
78
|
try {
|
|
109
79
|
const result = await agent.stream({ prompt });
|
|
110
|
-
// Consume the stream to get the final text
|
|
111
80
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
112
|
-
for await (const _chunk of result.fullStream) {
|
|
81
|
+
for await (const _chunk of result.fullStream) {
|
|
82
|
+
void 0;
|
|
83
|
+
}
|
|
113
84
|
const text = await result.text;
|
|
114
85
|
const usage = await result.usage;
|
|
115
86
|
return {
|
|
@@ -130,13 +101,6 @@ async function generateCandidate(agent, prompt, index) {
|
|
|
130
101
|
return null;
|
|
131
102
|
}
|
|
132
103
|
}
|
|
133
|
-
// ============================================================================
|
|
134
|
-
// List-Wise Judge
|
|
135
|
-
// ============================================================================
|
|
136
|
-
/**
|
|
137
|
-
* Rank all candidates at once using a single LLM call.
|
|
138
|
-
* Returns candidates with scores assigned.
|
|
139
|
-
*/
|
|
140
104
|
async function listWiseJudge(candidates, model, criteria) {
|
|
141
105
|
const { generateText } = await import('ai');
|
|
142
106
|
const outputList = candidates
|
|
@@ -166,7 +130,7 @@ Where SCORE is 1-10 (10 = best). Example for 3 outputs:
|
|
|
166
130
|
for (const line of lines) {
|
|
167
131
|
const match = line.match(/(\d+)\s*:\s*(\d+)/);
|
|
168
132
|
if (match) {
|
|
169
|
-
const outputNum = parseInt(match[1], 10) - 1;
|
|
133
|
+
const outputNum = parseInt(match[1], 10) - 1;
|
|
170
134
|
const score = parseInt(match[2], 10);
|
|
171
135
|
if (outputNum >= 0 && outputNum < scored.length) {
|
|
172
136
|
scored[outputNum].score = score;
|
|
@@ -177,27 +141,18 @@ Where SCORE is 1-10 (10 = best). Example for 3 outputs:
|
|
|
177
141
|
}
|
|
178
142
|
catch (error) {
|
|
179
143
|
log.error('List-wise judge failed', { error: String(error) });
|
|
180
|
-
// Fallback: assign equal scores
|
|
181
144
|
return candidates.map((c) => ({ ...c, score: 5 }));
|
|
182
145
|
}
|
|
183
146
|
}
|
|
184
|
-
// ============================================================================
|
|
185
|
-
// Pair-Wise Judge
|
|
186
|
-
// ============================================================================
|
|
187
|
-
/**
|
|
188
|
-
* Tournament-style judging: compare pairs and accumulate wins as scores.
|
|
189
|
-
*/
|
|
190
147
|
async function pairWiseJudge(candidates, model, criteria) {
|
|
191
148
|
const { generateText } = await import('ai');
|
|
192
149
|
const scores = new Array(candidates.length).fill(0);
|
|
193
|
-
// Compare all pairs
|
|
194
150
|
const comparisons = [];
|
|
195
151
|
for (let i = 0; i < candidates.length; i++) {
|
|
196
152
|
for (let j = i + 1; j < candidates.length; j++) {
|
|
197
153
|
comparisons.push([i, j]);
|
|
198
154
|
}
|
|
199
155
|
}
|
|
200
|
-
// Run comparisons in parallel
|
|
201
156
|
await Promise.all(comparisons.map(async ([i, j]) => {
|
|
202
157
|
try {
|
|
203
158
|
const result = await generateText({
|
|
@@ -225,16 +180,12 @@ Which output is better based on the criteria? Respond with EXACTLY one word: "A"
|
|
|
225
180
|
}
|
|
226
181
|
catch (error) {
|
|
227
182
|
log.error('Pair-wise comparison failed', { i, j, error: String(error) });
|
|
228
|
-
// Tie — both get a point
|
|
229
183
|
scores[i] += 0.5;
|
|
230
184
|
scores[j] += 0.5;
|
|
231
185
|
}
|
|
232
186
|
}));
|
|
233
187
|
return candidates.map((c, i) => ({ ...c, score: scores[i] }));
|
|
234
188
|
}
|
|
235
|
-
// ============================================================================
|
|
236
|
-
// Budget Check
|
|
237
|
-
// ============================================================================
|
|
238
189
|
function isOverBudget(usage, limits) {
|
|
239
190
|
if (limits.maxTotalTokens && usage.totalTokens >= limits.maxTotalTokens)
|
|
240
191
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"best-of-n.js","sourceRoot":"","sources":["../../src/wrappers/best-of-n.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"best-of-n.js","sourceRoot":"","sources":["../../src/wrappers/best-of-n.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { LanguageModel } from 'ai';
|
|
2
|
+
import type { Agent } from '../types/agent.js';
|
|
3
|
+
export interface RefineLoopConfig {
|
|
4
|
+
judgeModel?: LanguageModel;
|
|
5
|
+
criteria: string;
|
|
6
|
+
threshold?: number;
|
|
7
|
+
maxIterations?: number;
|
|
8
|
+
evaluator?: (output: string) => Promise<EvaluationResult>;
|
|
9
|
+
}
|
|
10
|
+
export interface EvaluationResult {
|
|
11
|
+
score: number;
|
|
12
|
+
critique: string;
|
|
13
|
+
strengths?: string[];
|
|
14
|
+
weaknesses?: string[];
|
|
15
|
+
}
|
|
16
|
+
export interface RefineLoopAttempt {
|
|
17
|
+
text: string;
|
|
18
|
+
score: number;
|
|
19
|
+
critique: string;
|
|
20
|
+
strengths?: string[];
|
|
21
|
+
weaknesses?: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface RefineLoopResult {
|
|
24
|
+
text: string;
|
|
25
|
+
score: number;
|
|
26
|
+
iterations: number;
|
|
27
|
+
history: RefineLoopAttempt[];
|
|
28
|
+
usage: {
|
|
29
|
+
inputTokens: number;
|
|
30
|
+
outputTokens: number;
|
|
31
|
+
totalTokens: number;
|
|
32
|
+
};
|
|
33
|
+
thresholdMet: boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function withRefineLoop(agent: Agent, prompt: string, config: RefineLoopConfig): Promise<RefineLoopResult>;
|
|
36
|
+
//# sourceMappingURL=refine-loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refine-loop.d.ts","sourceRoot":"","sources":["../../src/wrappers/refine-loop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAsB,MAAM,IAAI,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAK5C,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAE7B,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAE1E,YAAY,EAAE,OAAO,CAAC;CACvB;AASD,wBAAsB,cAAc,CAClC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CA+E3B"}
|