@agntk/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +227 -0
- package/dist/advanced/index.d.ts +35 -0
- package/dist/advanced/index.d.ts.map +1 -0
- package/dist/advanced/index.js +52 -0
- package/dist/advanced/index.js.map +1 -0
- package/dist/agent.d.ts +46 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +381 -0
- package/dist/agent.js.map +1 -0
- package/dist/config/defaults.d.ts +10 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +34 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +54 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +222 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schema.d.ts +912 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +119 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/constants.d.ts +17 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/evals/assertions.d.ts +54 -0
- package/dist/evals/assertions.d.ts.map +1 -0
- package/dist/evals/assertions.js +200 -0
- package/dist/evals/assertions.js.map +1 -0
- package/dist/evals/index.d.ts +9 -0
- package/dist/evals/index.d.ts.map +1 -0
- package/dist/evals/index.js +8 -0
- package/dist/evals/index.js.map +1 -0
- package/dist/evals/runner.d.ts +34 -0
- package/dist/evals/runner.d.ts.map +1 -0
- package/dist/evals/runner.js +186 -0
- package/dist/evals/runner.js.map +1 -0
- package/dist/evals/types.d.ts +68 -0
- package/dist/evals/types.d.ts.map +1 -0
- package/dist/evals/types.js +5 -0
- package/dist/evals/types.js.map +1 -0
- package/dist/guardrails/built-ins.d.ts +48 -0
- package/dist/guardrails/built-ins.d.ts.map +1 -0
- package/dist/guardrails/built-ins.js +149 -0
- package/dist/guardrails/built-ins.js.map +1 -0
- package/dist/guardrails/index.d.ts +8 -0
- package/dist/guardrails/index.d.ts.map +1 -0
- package/dist/guardrails/index.js +7 -0
- package/dist/guardrails/index.js.map +1 -0
- package/dist/guardrails/runner.d.ts +49 -0
- package/dist/guardrails/runner.d.ts.map +1 -0
- package/dist/guardrails/runner.js +148 -0
- package/dist/guardrails/runner.js.map +1 -0
- package/dist/guardrails/types.d.ts +63 -0
- package/dist/guardrails/types.d.ts.map +1 -0
- package/dist/guardrails/types.js +22 -0
- package/dist/guardrails/types.js.map +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/engine.d.ts +130 -0
- package/dist/memory/engine.d.ts.map +1 -0
- package/dist/memory/engine.js +227 -0
- package/dist/memory/engine.js.map +1 -0
- package/dist/memory/extraction.d.ts +24 -0
- package/dist/memory/extraction.d.ts.map +1 -0
- package/dist/memory/extraction.js +130 -0
- package/dist/memory/extraction.js.map +1 -0
- package/dist/memory/loader.d.ts +20 -0
- package/dist/memory/loader.d.ts.map +1 -0
- package/dist/memory/loader.js +73 -0
- package/dist/memory/loader.js.map +1 -0
- package/dist/memory/store.d.ts +42 -0
- package/dist/memory/store.d.ts.map +1 -0
- package/dist/memory/store.js +120 -0
- package/dist/memory/store.js.map +1 -0
- package/dist/memory/tools.d.ts +39 -0
- package/dist/memory/tools.d.ts.map +1 -0
- package/dist/memory/tools.js +225 -0
- package/dist/memory/tools.js.map +1 -0
- package/dist/memory/types.d.ts +46 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +8 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/memory/vectra-store.d.ts +31 -0
- package/dist/memory/vectra-store.d.ts.map +1 -0
- package/dist/memory/vectra-store.js +122 -0
- package/dist/memory/vectra-store.js.map +1 -0
- package/dist/models.d.ts +37 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +131 -0
- package/dist/models.js.map +1 -0
- package/dist/observability/index.d.ts +6 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +5 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/langfuse.d.ts +47 -0
- package/dist/observability/langfuse.d.ts.map +1 -0
- package/dist/observability/langfuse.js +112 -0
- package/dist/observability/langfuse.js.map +1 -0
- package/dist/observability/types.d.ts +37 -0
- package/dist/observability/types.d.ts.map +1 -0
- package/dist/observability/types.js +5 -0
- package/dist/observability/types.js.map +1 -0
- package/dist/pool/index.d.ts +7 -0
- package/dist/pool/index.d.ts.map +1 -0
- package/dist/pool/index.js +6 -0
- package/dist/pool/index.js.map +1 -0
- package/dist/pool/specialist-pool.d.ts +59 -0
- package/dist/pool/specialist-pool.d.ts.map +1 -0
- package/dist/pool/specialist-pool.js +224 -0
- package/dist/pool/specialist-pool.js.map +1 -0
- package/dist/pool/tools.d.ts +63 -0
- package/dist/pool/tools.d.ts.map +1 -0
- package/dist/pool/tools.js +83 -0
- package/dist/pool/tools.js.map +1 -0
- package/dist/pool/types.d.ts +79 -0
- package/dist/pool/types.d.ts.map +1 -0
- package/dist/pool/types.js +5 -0
- package/dist/pool/types.js.map +1 -0
- package/dist/presets/index.d.ts +5 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/role-registry.d.ts +41 -0
- package/dist/presets/role-registry.d.ts.map +1 -0
- package/dist/presets/role-registry.js +213 -0
- package/dist/presets/role-registry.js.map +1 -0
- package/dist/presets/roles.d.ts +105 -0
- package/dist/presets/roles.d.ts.map +1 -0
- package/dist/presets/roles.js +207 -0
- package/dist/presets/roles.js.map +1 -0
- package/dist/presets/sub-agent-configs.d.ts +19 -0
- package/dist/presets/sub-agent-configs.d.ts.map +1 -0
- package/dist/presets/sub-agent-configs.js +71 -0
- package/dist/presets/sub-agent-configs.js.map +1 -0
- package/dist/presets/tool-preset-registry.d.ts +34 -0
- package/dist/presets/tool-preset-registry.d.ts.map +1 -0
- package/dist/presets/tool-preset-registry.js +107 -0
- package/dist/presets/tool-preset-registry.js.map +1 -0
- package/dist/presets/tools.d.ts +278 -0
- package/dist/presets/tools.d.ts.map +1 -0
- package/dist/presets/tools.js +108 -0
- package/dist/presets/tools.js.map +1 -0
- package/dist/prompts/context.d.ts +47 -0
- package/dist/prompts/context.d.ts.map +1 -0
- package/dist/prompts/context.js +187 -0
- package/dist/prompts/context.js.map +1 -0
- package/dist/prompts/template.d.ts +17 -0
- package/dist/prompts/template.d.ts.map +1 -0
- package/dist/prompts/template.js +32 -0
- package/dist/prompts/template.js.map +1 -0
- package/dist/prompts/templates.d.ts +11 -0
- package/dist/prompts/templates.d.ts.map +1 -0
- package/dist/prompts/templates.js +115 -0
- package/dist/prompts/templates.js.map +1 -0
- package/dist/reflection.d.ts +48 -0
- package/dist/reflection.d.ts.map +1 -0
- package/dist/reflection.js +91 -0
- package/dist/reflection.js.map +1 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +5 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/loader.d.ts +84 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +400 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/types.d.ts +66 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +6 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/streaming/data-parts.d.ts +163 -0
- package/dist/streaming/data-parts.d.ts.map +1 -0
- package/dist/streaming/data-parts.js +14 -0
- package/dist/streaming/data-parts.js.map +1 -0
- package/dist/streaming/index.d.ts +8 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +10 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/streaming/transient.d.ts +136 -0
- package/dist/streaming/transient.d.ts.map +1 -0
- package/dist/streaming/transient.js +201 -0
- package/dist/streaming/transient.js.map +1 -0
- package/dist/tools/approval.d.ts +67 -0
- package/dist/tools/approval.d.ts.map +1 -0
- package/dist/tools/approval.js +113 -0
- package/dist/tools/approval.js.map +1 -0
- package/dist/tools/ast-grep/cli.d.ts +16 -0
- package/dist/tools/ast-grep/cli.d.ts.map +1 -0
- package/dist/tools/ast-grep/cli.js +198 -0
- package/dist/tools/ast-grep/cli.js.map +1 -0
- package/dist/tools/ast-grep/constants.d.ts +24 -0
- package/dist/tools/ast-grep/constants.d.ts.map +1 -0
- package/dist/tools/ast-grep/constants.js +247 -0
- package/dist/tools/ast-grep/constants.js.map +1 -0
- package/dist/tools/ast-grep/downloader.d.ts +6 -0
- package/dist/tools/ast-grep/downloader.d.ts.map +1 -0
- package/dist/tools/ast-grep/downloader.js +137 -0
- package/dist/tools/ast-grep/downloader.js.map +1 -0
- package/dist/tools/ast-grep/index.d.ts +7 -0
- package/dist/tools/ast-grep/index.d.ts.map +1 -0
- package/dist/tools/ast-grep/index.js +6 -0
- package/dist/tools/ast-grep/index.js.map +1 -0
- package/dist/tools/ast-grep/tools.d.ts +33 -0
- package/dist/tools/ast-grep/tools.d.ts.map +1 -0
- package/dist/tools/ast-grep/tools.js +140 -0
- package/dist/tools/ast-grep/tools.js.map +1 -0
- package/dist/tools/ast-grep/types.d.ts +68 -0
- package/dist/tools/ast-grep/types.d.ts.map +1 -0
- package/dist/tools/ast-grep/types.js +2 -0
- package/dist/tools/ast-grep/types.js.map +1 -0
- package/dist/tools/ast-grep/utils.d.ts +4 -0
- package/dist/tools/ast-grep/utils.d.ts.map +1 -0
- package/dist/tools/ast-grep/utils.js +55 -0
- package/dist/tools/ast-grep/utils.js.map +1 -0
- package/dist/tools/browser/index.d.ts +6 -0
- package/dist/tools/browser/index.d.ts.map +1 -0
- package/dist/tools/browser/index.js +5 -0
- package/dist/tools/browser/index.js.map +1 -0
- package/dist/tools/browser/stream.d.ts +112 -0
- package/dist/tools/browser/stream.d.ts.map +1 -0
- package/dist/tools/browser/stream.js +228 -0
- package/dist/tools/browser/stream.js.map +1 -0
- package/dist/tools/browser/tool.d.ts +144 -0
- package/dist/tools/browser/tool.d.ts.map +1 -0
- package/dist/tools/browser/tool.js +214 -0
- package/dist/tools/browser/tool.js.map +1 -0
- package/dist/tools/browser/types.d.ts +216 -0
- package/dist/tools/browser/types.d.ts.map +1 -0
- package/dist/tools/browser/types.js +146 -0
- package/dist/tools/browser/types.js.map +1 -0
- package/dist/tools/deep-reasoning/constants.d.ts +11 -0
- package/dist/tools/deep-reasoning/constants.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/constants.js +35 -0
- package/dist/tools/deep-reasoning/constants.js.map +1 -0
- package/dist/tools/deep-reasoning/engine.d.ts +20 -0
- package/dist/tools/deep-reasoning/engine.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/engine.js +77 -0
- package/dist/tools/deep-reasoning/engine.js.map +1 -0
- package/dist/tools/deep-reasoning/index.d.ts +5 -0
- package/dist/tools/deep-reasoning/index.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/index.js +7 -0
- package/dist/tools/deep-reasoning/index.js.map +1 -0
- package/dist/tools/deep-reasoning/tools.d.ts +12 -0
- package/dist/tools/deep-reasoning/tools.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/tools.js +23 -0
- package/dist/tools/deep-reasoning/tools.js.map +1 -0
- package/dist/tools/deep-reasoning/types.d.ts +66 -0
- package/dist/tools/deep-reasoning/types.d.ts.map +1 -0
- package/dist/tools/deep-reasoning/types.js +13 -0
- package/dist/tools/deep-reasoning/types.js.map +1 -0
- package/dist/tools/factory.d.ts +109 -0
- package/dist/tools/factory.d.ts.map +1 -0
- package/dist/tools/factory.js +166 -0
- package/dist/tools/factory.js.map +1 -0
- package/dist/tools/file/index.d.ts +8 -0
- package/dist/tools/file/index.d.ts.map +1 -0
- package/dist/tools/file/index.js +8 -0
- package/dist/tools/file/index.js.map +1 -0
- package/dist/tools/file/tools.d.ts +45 -0
- package/dist/tools/file/tools.d.ts.map +1 -0
- package/dist/tools/file/tools.js +206 -0
- package/dist/tools/file/tools.js.map +1 -0
- package/dist/tools/glob/cli.d.ts +8 -0
- package/dist/tools/glob/cli.d.ts.map +1 -0
- package/dist/tools/glob/cli.js +168 -0
- package/dist/tools/glob/cli.js.map +1 -0
- package/dist/tools/glob/constants.d.ts +7 -0
- package/dist/tools/glob/constants.d.ts.map +1 -0
- package/dist/tools/glob/constants.js +17 -0
- package/dist/tools/glob/constants.js.map +1 -0
- package/dist/tools/glob/index.d.ts +6 -0
- package/dist/tools/glob/index.d.ts.map +1 -0
- package/dist/tools/glob/index.js +5 -0
- package/dist/tools/glob/index.js.map +1 -0
- package/dist/tools/glob/tools.d.ts +15 -0
- package/dist/tools/glob/tools.d.ts.map +1 -0
- package/dist/tools/glob/tools.js +74 -0
- package/dist/tools/glob/tools.js.map +1 -0
- package/dist/tools/glob/types.d.ts +20 -0
- package/dist/tools/glob/types.d.ts.map +1 -0
- package/dist/tools/glob/types.js +2 -0
- package/dist/tools/glob/types.js.map +1 -0
- package/dist/tools/glob/utils.d.ts +3 -0
- package/dist/tools/glob/utils.d.ts.map +1 -0
- package/dist/tools/glob/utils.js +20 -0
- package/dist/tools/glob/utils.js.map +1 -0
- package/dist/tools/grep/cli.d.ts +4 -0
- package/dist/tools/grep/cli.d.ts.map +1 -0
- package/dist/tools/grep/cli.js +224 -0
- package/dist/tools/grep/cli.js.map +1 -0
- package/dist/tools/grep/constants.d.ts +19 -0
- package/dist/tools/grep/constants.d.ts.map +1 -0
- package/dist/tools/grep/constants.js +115 -0
- package/dist/tools/grep/constants.js.map +1 -0
- package/dist/tools/grep/downloader.d.ts +3 -0
- package/dist/tools/grep/downloader.d.ts.map +1 -0
- package/dist/tools/grep/downloader.js +164 -0
- package/dist/tools/grep/downloader.js.map +1 -0
- package/dist/tools/grep/index.d.ts +7 -0
- package/dist/tools/grep/index.d.ts.map +1 -0
- package/dist/tools/grep/index.js +6 -0
- package/dist/tools/grep/index.js.map +1 -0
- package/dist/tools/grep/tools.d.ts +19 -0
- package/dist/tools/grep/tools.d.ts.map +1 -0
- package/dist/tools/grep/tools.js +82 -0
- package/dist/tools/grep/tools.js.map +1 -0
- package/dist/tools/grep/types.d.ts +37 -0
- package/dist/tools/grep/types.d.ts.map +1 -0
- package/dist/tools/grep/types.js +2 -0
- package/dist/tools/grep/types.js.map +1 -0
- package/dist/tools/grep/utils.d.ts +4 -0
- package/dist/tools/grep/utils.d.ts.map +1 -0
- package/dist/tools/grep/utils.js +41 -0
- package/dist/tools/grep/utils.js.map +1 -0
- package/dist/tools/index.d.ts +21 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +33 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/model-retry.d.ts +54 -0
- package/dist/tools/model-retry.d.ts.map +1 -0
- package/dist/tools/model-retry.js +110 -0
- package/dist/tools/model-retry.js.map +1 -0
- package/dist/tools/plan/constants.d.ts +18 -0
- package/dist/tools/plan/constants.d.ts.map +1 -0
- package/dist/tools/plan/constants.js +13 -0
- package/dist/tools/plan/constants.js.map +1 -0
- package/dist/tools/plan/index.d.ts +5 -0
- package/dist/tools/plan/index.d.ts.map +1 -0
- package/dist/tools/plan/index.js +7 -0
- package/dist/tools/plan/index.js.map +1 -0
- package/dist/tools/plan/tools.d.ts +16 -0
- package/dist/tools/plan/tools.d.ts.map +1 -0
- package/dist/tools/plan/tools.js +217 -0
- package/dist/tools/plan/tools.js.map +1 -0
- package/dist/tools/plan/types.d.ts +75 -0
- package/dist/tools/plan/types.d.ts.map +1 -0
- package/dist/tools/plan/types.js +16 -0
- package/dist/tools/plan/types.js.map +1 -0
- package/dist/tools/plan/utils.d.ts +9 -0
- package/dist/tools/plan/utils.d.ts.map +1 -0
- package/dist/tools/plan/utils.js +27 -0
- package/dist/tools/plan/utils.js.map +1 -0
- package/dist/tools/progress/index.d.ts +53 -0
- package/dist/tools/progress/index.d.ts.map +1 -0
- package/dist/tools/progress/index.js +144 -0
- package/dist/tools/progress/index.js.map +1 -0
- package/dist/tools/provider.d.ts +97 -0
- package/dist/tools/provider.d.ts.map +1 -0
- package/dist/tools/provider.js +178 -0
- package/dist/tools/provider.js.map +1 -0
- package/dist/tools/search-skills.d.ts +44 -0
- package/dist/tools/search-skills.d.ts.map +1 -0
- package/dist/tools/search-skills.js +134 -0
- package/dist/tools/search-skills.js.map +1 -0
- package/dist/tools/shell/background.d.ts +38 -0
- package/dist/tools/shell/background.d.ts.map +1 -0
- package/dist/tools/shell/background.js +229 -0
- package/dist/tools/shell/background.js.map +1 -0
- package/dist/tools/shell/constants.d.ts +10 -0
- package/dist/tools/shell/constants.d.ts.map +1 -0
- package/dist/tools/shell/constants.js +55 -0
- package/dist/tools/shell/constants.js.map +1 -0
- package/dist/tools/shell/index.d.ts +7 -0
- package/dist/tools/shell/index.d.ts.map +1 -0
- package/dist/tools/shell/index.js +5 -0
- package/dist/tools/shell/index.js.map +1 -0
- package/dist/tools/shell/tools.d.ts +22 -0
- package/dist/tools/shell/tools.d.ts.map +1 -0
- package/dist/tools/shell/tools.js +70 -0
- package/dist/tools/shell/tools.js.map +1 -0
- package/dist/tools/shell/types.d.ts +30 -0
- package/dist/tools/shell/types.d.ts.map +1 -0
- package/dist/tools/shell/types.js +10 -0
- package/dist/tools/shell/types.js.map +1 -0
- package/dist/tools/shell/utils.d.ts +7 -0
- package/dist/tools/shell/utils.d.ts.map +1 -0
- package/dist/tools/shell/utils.js +26 -0
- package/dist/tools/shell/utils.js.map +1 -0
- package/dist/tools/spawn-agent/index.d.ts +96 -0
- package/dist/tools/spawn-agent/index.d.ts.map +1 -0
- package/dist/tools/spawn-agent/index.js +168 -0
- package/dist/tools/spawn-agent/index.js.map +1 -0
- package/dist/tools/utils/errors.d.ts +21 -0
- package/dist/tools/utils/errors.d.ts.map +1 -0
- package/dist/tools/utils/errors.js +29 -0
- package/dist/tools/utils/errors.js.map +1 -0
- package/dist/tools/utils/shell.d.ts +23 -0
- package/dist/tools/utils/shell.d.ts.map +1 -0
- package/dist/tools/utils/shell.js +99 -0
- package/dist/tools/utils/shell.js.map +1 -0
- package/dist/tools/utils/tool-result.d.ts +6 -0
- package/dist/tools/utils/tool-result.d.ts.map +1 -0
- package/dist/tools/utils/tool-result.js +22 -0
- package/dist/tools/utils/tool-result.js.map +1 -0
- package/dist/types/agent.d.ts +218 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +6 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lifecycle.d.ts +218 -0
- package/dist/types/lifecycle.d.ts.map +1 -0
- package/dist/types/lifecycle.js +99 -0
- package/dist/types/lifecycle.js.map +1 -0
- package/dist/types/streaming.d.ts +120 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/types/streaming.js +6 -0
- package/dist/types/streaming.js.map +1 -0
- package/dist/usage-limits.d.ts +63 -0
- package/dist/usage-limits.d.ts.map +1 -0
- package/dist/usage-limits.js +88 -0
- package/dist/usage-limits.js.map +1 -0
- package/dist/utils/logger.d.ts +35 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +149 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/workflow/builders/adapt.d.ts +20 -0
- package/dist/workflow/builders/adapt.d.ts.map +1 -0
- package/dist/workflow/builders/adapt.js +33 -0
- package/dist/workflow/builders/adapt.js.map +1 -0
- package/dist/workflow/builders/index.d.ts +8 -0
- package/dist/workflow/builders/index.d.ts.map +1 -0
- package/dist/workflow/builders/index.js +7 -0
- package/dist/workflow/builders/index.js.map +1 -0
- package/dist/workflow/builders/parallel.d.ts +25 -0
- package/dist/workflow/builders/parallel.d.ts.map +1 -0
- package/dist/workflow/builders/parallel.js +60 -0
- package/dist/workflow/builders/parallel.js.map +1 -0
- package/dist/workflow/builders/pipeline.d.ts +22 -0
- package/dist/workflow/builders/pipeline.d.ts.map +1 -0
- package/dist/workflow/builders/pipeline.js +48 -0
- package/dist/workflow/builders/pipeline.js.map +1 -0
- package/dist/workflow/builders/types.d.ts +54 -0
- package/dist/workflow/builders/types.d.ts.map +1 -0
- package/dist/workflow/builders/types.js +5 -0
- package/dist/workflow/builders/types.js.map +1 -0
- package/dist/workflow/durable-agent.d.ts +128 -0
- package/dist/workflow/durable-agent.d.ts.map +1 -0
- package/dist/workflow/durable-agent.js +323 -0
- package/dist/workflow/durable-agent.js.map +1 -0
- package/dist/workflow/durable-tool.d.ts +103 -0
- package/dist/workflow/durable-tool.d.ts.map +1 -0
- package/dist/workflow/durable-tool.js +173 -0
- package/dist/workflow/durable-tool.js.map +1 -0
- package/dist/workflow/hooks.d.ts +318 -0
- package/dist/workflow/hooks.d.ts.map +1 -0
- package/dist/workflow/hooks.js +629 -0
- package/dist/workflow/hooks.js.map +1 -0
- package/dist/workflow/index.d.ts +17 -0
- package/dist/workflow/index.d.ts.map +1 -0
- package/dist/workflow/index.js +24 -0
- package/dist/workflow/index.js.map +1 -0
- package/dist/workflow/schedulers.d.ts +231 -0
- package/dist/workflow/schedulers.d.ts.map +1 -0
- package/dist/workflow/schedulers.js +250 -0
- package/dist/workflow/schedulers.js.map +1 -0
- package/dist/workflow/team/create-team.d.ts +34 -0
- package/dist/workflow/team/create-team.d.ts.map +1 -0
- package/dist/workflow/team/create-team.js +242 -0
- package/dist/workflow/team/create-team.js.map +1 -0
- package/dist/workflow/team/index.d.ts +9 -0
- package/dist/workflow/team/index.d.ts.map +1 -0
- package/dist/workflow/team/index.js +8 -0
- package/dist/workflow/team/index.js.map +1 -0
- package/dist/workflow/team/machines.d.ts +152 -0
- package/dist/workflow/team/machines.d.ts.map +1 -0
- package/dist/workflow/team/machines.js +197 -0
- package/dist/workflow/team/machines.js.map +1 -0
- package/dist/workflow/team/task-board.d.ts +47 -0
- package/dist/workflow/team/task-board.d.ts.map +1 -0
- package/dist/workflow/team/task-board.js +111 -0
- package/dist/workflow/team/task-board.js.map +1 -0
- package/dist/workflow/team/tools.d.ts +66 -0
- package/dist/workflow/team/tools.d.ts.map +1 -0
- package/dist/workflow/team/tools.js +100 -0
- package/dist/workflow/team/tools.js.map +1 -0
- package/dist/workflow/team/types.d.ts +109 -0
- package/dist/workflow/team/types.d.ts.map +1 -0
- package/dist/workflow/team/types.js +5 -0
- package/dist/workflow/team/types.js.map +1 -0
- package/dist/workflow/templates.d.ts +71 -0
- package/dist/workflow/templates.d.ts.map +1 -0
- package/dist/workflow/templates.js +132 -0
- package/dist/workflow/templates.js.map +1 -0
- package/dist/workflow/utils.d.ts +29 -0
- package/dist/workflow/utils.d.ts.map +1 -0
- package/dist/workflow/utils.js +84 -0
- package/dist/workflow/utils.js.map +1 -0
- package/dist/wrappers/best-of-n.d.ts +69 -0
- package/dist/wrappers/best-of-n.d.ts.map +1 -0
- package/dist/wrappers/best-of-n.js +242 -0
- package/dist/wrappers/best-of-n.js.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Type exports for @agntk/core
|
|
3
|
+
*/
|
|
4
|
+
export type { AgentOptions, AgentRole, ModelProvider, ToolPreset, StopFunction, StopContext, AskUserHandler, StepFinishCallback, StreamEventCallback, StreamEvent, SubAgentConfig, WorkflowOptions, MemoryOptions, } from './agent.js';
|
|
5
|
+
export { ToolErrorType, ToolError, } from './lifecycle.js';
|
|
6
|
+
export type { ToolLifecycle, ToolContext, ValidationResult, BypassResult, DurabilityConfig, LifecycleToolConfig, ToolExecuteFn, InferToolInput, InferToolOutput, StreamWriter, } from './lifecycle.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,aAAa,EACb,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,GACb,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,uBAAuB;AACvB,OAAO,EACL,aAAa,EACb,SAAS,GACV,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool lifecycle types for hook-based tool execution.
|
|
3
|
+
* Extends patterns from packages/core/src/tools/middleware/lifecycle.ts with
|
|
4
|
+
* new streaming and durability features.
|
|
5
|
+
*
|
|
6
|
+
* Hook execution order:
|
|
7
|
+
* 1. shouldBypass → If returns { bypass: true }, skip execution and return cached result
|
|
8
|
+
* 2. beforeExecute → Transform/enrich input before validation
|
|
9
|
+
* 3. validate → Validate transformed input, throw on failure
|
|
10
|
+
* 4. execute → Core tool logic (with onStream callbacks)
|
|
11
|
+
* 5. afterExecute → Transform output before returning
|
|
12
|
+
* 6. cleanup → Always runs (finally block), regardless of success/failure
|
|
13
|
+
*
|
|
14
|
+
* Error handling:
|
|
15
|
+
* - onError is called if execute or any step before it throws
|
|
16
|
+
* - cleanup always runs
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Interface for stream writers that can write typed data parts.
|
|
20
|
+
* Compatible with AI SDK's various stream writer types.
|
|
21
|
+
*/
|
|
22
|
+
export interface StreamWriter {
|
|
23
|
+
write(data: unknown): void;
|
|
24
|
+
writeData?(data: unknown): void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Lifecycle hooks for tool execution.
|
|
28
|
+
* @template TInput - Input parameter type for the tool
|
|
29
|
+
* @template TOutput - Output/return type for the tool
|
|
30
|
+
*/
|
|
31
|
+
export interface ToolLifecycle<TInput, TOutput> {
|
|
32
|
+
/**
|
|
33
|
+
* Transform input before validation.
|
|
34
|
+
* Use for normalization, defaults, or enrichment.
|
|
35
|
+
*/
|
|
36
|
+
beforeExecute?: (input: TInput, ctx: ToolContext) => Promise<TInput> | TInput;
|
|
37
|
+
/**
|
|
38
|
+
* Validate input after beforeExecute.
|
|
39
|
+
* Return { valid: false } to reject execution.
|
|
40
|
+
*/
|
|
41
|
+
validate?: (input: TInput, ctx: ToolContext) => Promise<ValidationResult> | ValidationResult;
|
|
42
|
+
/**
|
|
43
|
+
* Transform output after successful execution.
|
|
44
|
+
* Use for formatting, sanitization, or enrichment.
|
|
45
|
+
*/
|
|
46
|
+
afterExecute?: (input: TInput, output: TOutput, ctx: ToolContext) => Promise<TOutput> | TOutput;
|
|
47
|
+
/**
|
|
48
|
+
* Handle errors during execution.
|
|
49
|
+
* Return a fallback value or 'throw' to re-throw.
|
|
50
|
+
*/
|
|
51
|
+
onError?: (error: ToolError, input: TInput, ctx: ToolContext) => Promise<TOutput | 'throw'> | TOutput | 'throw';
|
|
52
|
+
/**
|
|
53
|
+
* Cleanup after execution (always called).
|
|
54
|
+
* Runs in finally block regardless of success/failure.
|
|
55
|
+
*/
|
|
56
|
+
cleanup?: (input: TInput, didSucceed: boolean, ctx: ToolContext) => Promise<void> | void;
|
|
57
|
+
/**
|
|
58
|
+
* Stream data during execution for transient display.
|
|
59
|
+
* Called periodically during long-running operations.
|
|
60
|
+
*/
|
|
61
|
+
onStream?: (data: unknown, ctx: ToolContext) => void;
|
|
62
|
+
/**
|
|
63
|
+
* Check if execution can be bypassed (caching, memoization).
|
|
64
|
+
* Return { bypass: true, result: cachedValue } to skip execution.
|
|
65
|
+
*/
|
|
66
|
+
shouldBypass?: (input: TInput, ctx: ToolContext) => Promise<BypassResult<TOutput>> | BypassResult<TOutput>;
|
|
67
|
+
/**
|
|
68
|
+
* Configuration for workflow durability.
|
|
69
|
+
* When enabled, tool execution is wrapped in a "use step" directive.
|
|
70
|
+
*/
|
|
71
|
+
durability?: DurabilityConfig;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Context passed to lifecycle hooks.
|
|
75
|
+
*/
|
|
76
|
+
export interface ToolContext {
|
|
77
|
+
/** Stream writer for transient data streaming. */
|
|
78
|
+
writer?: StreamWriter;
|
|
79
|
+
/** Unique identifier for the current agent instance. */
|
|
80
|
+
agentId: string;
|
|
81
|
+
/** Current step number in the agent execution. */
|
|
82
|
+
stepNumber: number;
|
|
83
|
+
/** ID of parent agent if this is a sub-agent tool. */
|
|
84
|
+
parentAgentId?: string;
|
|
85
|
+
/** Workflow run ID for resumable executions. */
|
|
86
|
+
workflowRunId?: string;
|
|
87
|
+
/** Workspace root directory for path resolution. */
|
|
88
|
+
workspaceRoot?: string;
|
|
89
|
+
/** Additional metadata passed from agent options. */
|
|
90
|
+
metadata?: Record<string, unknown>;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Result of input validation.
|
|
94
|
+
*/
|
|
95
|
+
export interface ValidationResult {
|
|
96
|
+
/** Whether validation passed. */
|
|
97
|
+
valid: boolean;
|
|
98
|
+
/** Error message if validation failed. */
|
|
99
|
+
error?: string;
|
|
100
|
+
/** Error type for categorization. */
|
|
101
|
+
errorType?: ToolErrorType;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Result of bypass check.
|
|
105
|
+
*/
|
|
106
|
+
export interface BypassResult<TOutput> {
|
|
107
|
+
/** Whether to bypass execution. */
|
|
108
|
+
bypass: boolean;
|
|
109
|
+
/** Cached result to return if bypassing. */
|
|
110
|
+
result?: TOutput;
|
|
111
|
+
/** Reason for bypass (for logging/debugging). */
|
|
112
|
+
reason?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Configuration for workflow durability.
|
|
116
|
+
*/
|
|
117
|
+
export interface DurabilityConfig {
|
|
118
|
+
/** Enable durable execution for this tool. Default: true */
|
|
119
|
+
enabled: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Whether this tool is independent (can run in parallel with other independent tools).
|
|
122
|
+
* If true, uses "use step" without blocking.
|
|
123
|
+
*/
|
|
124
|
+
independent: boolean;
|
|
125
|
+
/** Number of retry attempts on failure. Default: 3 */
|
|
126
|
+
retryCount?: number;
|
|
127
|
+
/** Timeout for execution. Format: "30s", "5m", "1h". Default: "5m" */
|
|
128
|
+
timeout?: string;
|
|
129
|
+
/** Custom step name for workflow state. */
|
|
130
|
+
stepName?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Error types for tool execution failures.
|
|
134
|
+
*/
|
|
135
|
+
export declare enum ToolErrorType {
|
|
136
|
+
/** Requested file or directory not found. */
|
|
137
|
+
FILE_NOT_FOUND = "FILE_NOT_FOUND",
|
|
138
|
+
/** Path is outside allowed workspace. */
|
|
139
|
+
PATH_NOT_IN_WORKSPACE = "PATH_NOT_IN_WORKSPACE",
|
|
140
|
+
/** Expected directory but found file. */
|
|
141
|
+
PATH_IS_NOT_A_DIRECTORY = "PATH_IS_NOT_A_DIRECTORY",
|
|
142
|
+
/** Expected file but found directory. */
|
|
143
|
+
PATH_IS_NOT_A_FILE = "PATH_IS_NOT_A_FILE",
|
|
144
|
+
/** Insufficient permissions. */
|
|
145
|
+
PERMISSION_DENIED = "PERMISSION_DENIED",
|
|
146
|
+
/** Operation exceeded timeout. */
|
|
147
|
+
TIMEOUT = "TIMEOUT",
|
|
148
|
+
/** Input validation failed. */
|
|
149
|
+
INVALID_INPUT = "INVALID_INPUT",
|
|
150
|
+
/** Shell command blocked by security filter. */
|
|
151
|
+
COMMAND_BLOCKED = "COMMAND_BLOCKED",
|
|
152
|
+
/** Content exceeds size limit. */
|
|
153
|
+
CONTENT_TOO_LARGE = "CONTENT_TOO_LARGE",
|
|
154
|
+
/** General operation failure. */
|
|
155
|
+
OPERATION_FAILED = "OPERATION_FAILED",
|
|
156
|
+
/** Network/HTTP request failed. */
|
|
157
|
+
NETWORK_ERROR = "NETWORK_ERROR",
|
|
158
|
+
/** Rate limit exceeded. */
|
|
159
|
+
RATE_LIMITED = "RATE_LIMITED"
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Structured error class for tool failures.
|
|
163
|
+
*/
|
|
164
|
+
export declare class ToolError extends Error {
|
|
165
|
+
readonly type: ToolErrorType;
|
|
166
|
+
readonly details?: Record<string, unknown>;
|
|
167
|
+
constructor(message: string, type: ToolErrorType, details?: Record<string, unknown>);
|
|
168
|
+
/**
|
|
169
|
+
* Serialize error for tool response.
|
|
170
|
+
*/
|
|
171
|
+
toJSON(): Record<string, unknown>;
|
|
172
|
+
/**
|
|
173
|
+
* Create a FILE_NOT_FOUND error.
|
|
174
|
+
*/
|
|
175
|
+
static fileNotFound(path: string): ToolError;
|
|
176
|
+
/**
|
|
177
|
+
* Create a PATH_NOT_IN_WORKSPACE error.
|
|
178
|
+
*/
|
|
179
|
+
static pathNotInWorkspace(path: string, workspaceRoot: string): ToolError;
|
|
180
|
+
/**
|
|
181
|
+
* Create an INVALID_INPUT error.
|
|
182
|
+
*/
|
|
183
|
+
static invalidInput(message: string, details?: Record<string, unknown>): ToolError;
|
|
184
|
+
/**
|
|
185
|
+
* Create a TIMEOUT error.
|
|
186
|
+
*/
|
|
187
|
+
static timeout(operation: string, timeoutMs: number): ToolError;
|
|
188
|
+
}
|
|
189
|
+
import type { z } from 'zod';
|
|
190
|
+
/**
|
|
191
|
+
* Configuration for creating a lifecycle-enabled tool.
|
|
192
|
+
*/
|
|
193
|
+
export interface LifecycleToolConfig<TSchema extends z.ZodType, TOutput> {
|
|
194
|
+
/** Tool name for logging and identification. */
|
|
195
|
+
name: string;
|
|
196
|
+
/** Description shown to the LLM. */
|
|
197
|
+
description: string;
|
|
198
|
+
/** Zod schema for input validation. */
|
|
199
|
+
inputSchema: TSchema;
|
|
200
|
+
/** Lifecycle hooks including the core execute function. */
|
|
201
|
+
lifecycle: ToolLifecycle<z.infer<TSchema>, TOutput> & {
|
|
202
|
+
/** Core execution logic (required). */
|
|
203
|
+
execute: (input: z.infer<TSchema>, ctx: ToolContext) => Promise<TOutput>;
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Type for a tool execute function with context.
|
|
208
|
+
*/
|
|
209
|
+
export type ToolExecuteFn<TInput, TOutput> = (input: TInput, ctx: ToolContext) => Promise<TOutput>;
|
|
210
|
+
/**
|
|
211
|
+
* Infer the input type from a LifecycleToolConfig.
|
|
212
|
+
*/
|
|
213
|
+
export type InferToolInput<T> = T extends LifecycleToolConfig<infer TSchema, unknown> ? z.infer<TSchema> : never;
|
|
214
|
+
/**
|
|
215
|
+
* Infer the output type from a LifecycleToolConfig.
|
|
216
|
+
*/
|
|
217
|
+
export type InferToolOutput<T> = T extends LifecycleToolConfig<z.ZodType, infer TOutput> ? TOutput : never;
|
|
218
|
+
//# sourceMappingURL=lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/types/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Tool lifecycle types for hook-based tool execution.
|
|
3
|
+
* Extends patterns from packages/core/src/tools/middleware/lifecycle.ts with
|
|
4
|
+
* new streaming and durability features.
|
|
5
|
+
*
|
|
6
|
+
* Hook execution order:
|
|
7
|
+
* 1. shouldBypass → If returns { bypass: true }, skip execution and return cached result
|
|
8
|
+
* 2. beforeExecute → Transform/enrich input before validation
|
|
9
|
+
* 3. validate → Validate transformed input, throw on failure
|
|
10
|
+
* 4. execute → Core tool logic (with onStream callbacks)
|
|
11
|
+
* 5. afterExecute → Transform output before returning
|
|
12
|
+
* 6. cleanup → Always runs (finally block), regardless of success/failure
|
|
13
|
+
*
|
|
14
|
+
* Error handling:
|
|
15
|
+
* - onError is called if execute or any step before it throws
|
|
16
|
+
* - cleanup always runs
|
|
17
|
+
*/
|
|
18
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
19
|
+
// Error Types
|
|
20
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
21
|
+
/**
|
|
22
|
+
* Error types for tool execution failures.
|
|
23
|
+
*/
|
|
24
|
+
export var ToolErrorType;
|
|
25
|
+
(function (ToolErrorType) {
|
|
26
|
+
/** Requested file or directory not found. */
|
|
27
|
+
ToolErrorType["FILE_NOT_FOUND"] = "FILE_NOT_FOUND";
|
|
28
|
+
/** Path is outside allowed workspace. */
|
|
29
|
+
ToolErrorType["PATH_NOT_IN_WORKSPACE"] = "PATH_NOT_IN_WORKSPACE";
|
|
30
|
+
/** Expected directory but found file. */
|
|
31
|
+
ToolErrorType["PATH_IS_NOT_A_DIRECTORY"] = "PATH_IS_NOT_A_DIRECTORY";
|
|
32
|
+
/** Expected file but found directory. */
|
|
33
|
+
ToolErrorType["PATH_IS_NOT_A_FILE"] = "PATH_IS_NOT_A_FILE";
|
|
34
|
+
/** Insufficient permissions. */
|
|
35
|
+
ToolErrorType["PERMISSION_DENIED"] = "PERMISSION_DENIED";
|
|
36
|
+
/** Operation exceeded timeout. */
|
|
37
|
+
ToolErrorType["TIMEOUT"] = "TIMEOUT";
|
|
38
|
+
/** Input validation failed. */
|
|
39
|
+
ToolErrorType["INVALID_INPUT"] = "INVALID_INPUT";
|
|
40
|
+
/** Shell command blocked by security filter. */
|
|
41
|
+
ToolErrorType["COMMAND_BLOCKED"] = "COMMAND_BLOCKED";
|
|
42
|
+
/** Content exceeds size limit. */
|
|
43
|
+
ToolErrorType["CONTENT_TOO_LARGE"] = "CONTENT_TOO_LARGE";
|
|
44
|
+
/** General operation failure. */
|
|
45
|
+
ToolErrorType["OPERATION_FAILED"] = "OPERATION_FAILED";
|
|
46
|
+
/** Network/HTTP request failed. */
|
|
47
|
+
ToolErrorType["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
48
|
+
/** Rate limit exceeded. */
|
|
49
|
+
ToolErrorType["RATE_LIMITED"] = "RATE_LIMITED";
|
|
50
|
+
})(ToolErrorType || (ToolErrorType = {}));
|
|
51
|
+
/**
|
|
52
|
+
* Structured error class for tool failures.
|
|
53
|
+
*/
|
|
54
|
+
export class ToolError extends Error {
|
|
55
|
+
type;
|
|
56
|
+
details;
|
|
57
|
+
constructor(message, type, details) {
|
|
58
|
+
super(message);
|
|
59
|
+
this.name = 'ToolError';
|
|
60
|
+
this.type = type;
|
|
61
|
+
this.details = details;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Serialize error for tool response.
|
|
65
|
+
*/
|
|
66
|
+
toJSON() {
|
|
67
|
+
return {
|
|
68
|
+
success: false,
|
|
69
|
+
error: this.message,
|
|
70
|
+
errorType: this.type,
|
|
71
|
+
...this.details,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Create a FILE_NOT_FOUND error.
|
|
76
|
+
*/
|
|
77
|
+
static fileNotFound(path) {
|
|
78
|
+
return new ToolError(`File not found: ${path}`, ToolErrorType.FILE_NOT_FOUND, { path });
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create a PATH_NOT_IN_WORKSPACE error.
|
|
82
|
+
*/
|
|
83
|
+
static pathNotInWorkspace(path, workspaceRoot) {
|
|
84
|
+
return new ToolError(`Path is outside workspace: ${path}`, ToolErrorType.PATH_NOT_IN_WORKSPACE, { path, workspaceRoot });
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Create an INVALID_INPUT error.
|
|
88
|
+
*/
|
|
89
|
+
static invalidInput(message, details) {
|
|
90
|
+
return new ToolError(message, ToolErrorType.INVALID_INPUT, details);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create a TIMEOUT error.
|
|
94
|
+
*/
|
|
95
|
+
static timeout(operation, timeoutMs) {
|
|
96
|
+
return new ToolError(`Operation timed out: ${operation}`, ToolErrorType.TIMEOUT, { operation, timeoutMs });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/types/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA0LH,kFAAkF;AAClF,cAAc;AACd,kFAAkF;AAElF;;GAEG;AACH,MAAM,CAAN,IAAY,aAoCX;AApCD,WAAY,aAAa;IACvB,6CAA6C;IAC7C,kDAAiC,CAAA;IAEjC,yCAAyC;IACzC,gEAA+C,CAAA;IAE/C,yCAAyC;IACzC,oEAAmD,CAAA;IAEnD,yCAAyC;IACzC,0DAAyC,CAAA;IAEzC,gCAAgC;IAChC,wDAAuC,CAAA;IAEvC,kCAAkC;IAClC,oCAAmB,CAAA;IAEnB,+BAA+B;IAC/B,gDAA+B,CAAA;IAE/B,gDAAgD;IAChD,oDAAmC,CAAA;IAEnC,kCAAkC;IAClC,wDAAuC,CAAA;IAEvC,iCAAiC;IACjC,sDAAqC,CAAA;IAErC,mCAAmC;IACnC,gDAA+B,CAAA;IAE/B,2BAA2B;IAC3B,8CAA6B,CAAA;AAC/B,CAAC,EApCW,aAAa,KAAb,aAAa,QAoCxB;AAED;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClB,IAAI,CAAgB;IACpB,OAAO,CAA2B;IAElD,YACE,OAAe,EACf,IAAmB,EACnB,OAAiC;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,SAAS,EAAE,IAAI,CAAC,IAAI;YACpB,GAAG,IAAI,CAAC,OAAO;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,IAAY;QAC9B,OAAO,IAAI,SAAS,CAAC,mBAAmB,IAAI,EAAE,EAAE,aAAa,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,IAAY,EAAE,aAAqB;QAC3D,OAAO,IAAI,SAAS,CAClB,8BAA8B,IAAI,EAAE,EACpC,aAAa,CAAC,qBAAqB,EACnC,EAAE,IAAI,EAAE,aAAa,EAAE,CACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAe,EAAE,OAAiC;QACpE,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,SAAiB,EAAE,SAAiB;QACjD,OAAO,IAAI,SAAS,CAClB,wBAAwB,SAAS,EAAE,EACnC,aAAa,CAAC,OAAO,EACrB,EAAE,SAAS,EAAE,SAAS,EAAE,CACzB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Streaming Types
|
|
3
|
+
* Standalone streaming event types for agent communication
|
|
4
|
+
*/
|
|
5
|
+
export type StreamEventType = 'session:start' | 'step:start' | 'step:finish' | 'text:delta' | 'text:finish' | 'reasoning:delta' | 'reasoning:finish' | 'tool:call' | 'tool:result' | 'sources:add' | 'error' | 'complete';
|
|
6
|
+
export interface SessionStartData {
|
|
7
|
+
sessionId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface StepStartData {
|
|
10
|
+
stepIndex: number;
|
|
11
|
+
}
|
|
12
|
+
export interface StepFinishData {
|
|
13
|
+
stepIndex: number;
|
|
14
|
+
durationMs: number;
|
|
15
|
+
}
|
|
16
|
+
export interface TextDeltaData {
|
|
17
|
+
delta: string;
|
|
18
|
+
stepIndex: number;
|
|
19
|
+
}
|
|
20
|
+
export interface TextFinishData {
|
|
21
|
+
text: string;
|
|
22
|
+
stepIndex: number;
|
|
23
|
+
}
|
|
24
|
+
export interface ReasoningDeltaData {
|
|
25
|
+
delta: string;
|
|
26
|
+
stepIndex: number;
|
|
27
|
+
}
|
|
28
|
+
export interface ReasoningFinishData {
|
|
29
|
+
reasoning: string;
|
|
30
|
+
durationMs: number;
|
|
31
|
+
stepIndex: number;
|
|
32
|
+
}
|
|
33
|
+
export interface ToolCallData {
|
|
34
|
+
toolCallId: string;
|
|
35
|
+
toolName: string;
|
|
36
|
+
args: Record<string, unknown>;
|
|
37
|
+
stepIndex: number;
|
|
38
|
+
}
|
|
39
|
+
export interface ToolResultData {
|
|
40
|
+
toolCallId: string;
|
|
41
|
+
toolName: string;
|
|
42
|
+
result: unknown;
|
|
43
|
+
durationMs: number;
|
|
44
|
+
stepIndex: number;
|
|
45
|
+
}
|
|
46
|
+
export interface SourceData {
|
|
47
|
+
id: string;
|
|
48
|
+
title: string;
|
|
49
|
+
url?: string;
|
|
50
|
+
snippet?: string;
|
|
51
|
+
}
|
|
52
|
+
export interface ErrorData {
|
|
53
|
+
message: string;
|
|
54
|
+
code?: string;
|
|
55
|
+
stepIndex?: number;
|
|
56
|
+
}
|
|
57
|
+
export interface CompleteData {
|
|
58
|
+
text: string;
|
|
59
|
+
completed: boolean;
|
|
60
|
+
needsInput: boolean;
|
|
61
|
+
pendingQuestion?: string;
|
|
62
|
+
stepsUsed: number;
|
|
63
|
+
toolsUsed: string[];
|
|
64
|
+
}
|
|
65
|
+
export type StreamEventDataMap = {
|
|
66
|
+
'session:start': SessionStartData;
|
|
67
|
+
'step:start': StepStartData;
|
|
68
|
+
'step:finish': StepFinishData;
|
|
69
|
+
'text:delta': TextDeltaData;
|
|
70
|
+
'text:finish': TextFinishData;
|
|
71
|
+
'reasoning:delta': ReasoningDeltaData;
|
|
72
|
+
'reasoning:finish': ReasoningFinishData;
|
|
73
|
+
'tool:call': ToolCallData;
|
|
74
|
+
'tool:result': ToolResultData;
|
|
75
|
+
'sources:add': SourceData;
|
|
76
|
+
error: ErrorData;
|
|
77
|
+
complete: CompleteData;
|
|
78
|
+
};
|
|
79
|
+
export interface StreamEvent<T extends StreamEventType = StreamEventType> {
|
|
80
|
+
type: T;
|
|
81
|
+
data: StreamEventDataMap[T];
|
|
82
|
+
timestamp: number;
|
|
83
|
+
}
|
|
84
|
+
export type StreamEventCallback = (event: StreamEvent) => void | Promise<void>;
|
|
85
|
+
export type MessagePartType = 'text' | 'reasoning' | 'tool-call' | 'tool-result' | 'source';
|
|
86
|
+
export interface MessagePart {
|
|
87
|
+
type: MessagePartType;
|
|
88
|
+
content: string;
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
}
|
|
91
|
+
export interface ToolCallInfo {
|
|
92
|
+
toolCallId: string;
|
|
93
|
+
toolName: string;
|
|
94
|
+
args: Record<string, unknown>;
|
|
95
|
+
status: 'pending' | 'running' | 'complete' | 'error';
|
|
96
|
+
result?: unknown;
|
|
97
|
+
durationMs?: number;
|
|
98
|
+
stepIndex?: number;
|
|
99
|
+
}
|
|
100
|
+
export interface SourceInfo {
|
|
101
|
+
id: string;
|
|
102
|
+
title: string;
|
|
103
|
+
url?: string;
|
|
104
|
+
snippet?: string;
|
|
105
|
+
}
|
|
106
|
+
export interface StreamingMessage {
|
|
107
|
+
id: string;
|
|
108
|
+
role: 'assistant';
|
|
109
|
+
parts: MessagePart[];
|
|
110
|
+
status: 'streaming' | 'complete';
|
|
111
|
+
stepIndex: number;
|
|
112
|
+
text: string;
|
|
113
|
+
reasoning?: {
|
|
114
|
+
content: string;
|
|
115
|
+
durationMs?: number;
|
|
116
|
+
};
|
|
117
|
+
toolCalls: ToolCallInfo[];
|
|
118
|
+
sources: SourceInfo[];
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Usage Limits
|
|
3
|
+
*
|
|
4
|
+
* Token and request caps for agents. Prevents runaway loops from
|
|
5
|
+
* burning API budget by enforcing maxRequests, maxInputTokens,
|
|
6
|
+
* maxOutputTokens, and maxTotalTokens.
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolSet, StepResult } from 'ai';
|
|
9
|
+
/** Usage limits for an agent run. All fields are optional — only set limits are enforced. */
|
|
10
|
+
export interface UsageLimits {
|
|
11
|
+
/** Maximum number of LLM round-trips (steps). */
|
|
12
|
+
maxRequests?: number;
|
|
13
|
+
/** Maximum cumulative input tokens across all steps. */
|
|
14
|
+
maxInputTokens?: number;
|
|
15
|
+
/** Maximum cumulative output tokens across all steps. */
|
|
16
|
+
maxOutputTokens?: number;
|
|
17
|
+
/** Maximum cumulative total tokens (input + output) across all steps. */
|
|
18
|
+
maxTotalTokens?: number;
|
|
19
|
+
}
|
|
20
|
+
/** Which limit was exceeded. */
|
|
21
|
+
export type UsageLimitType = 'maxRequests' | 'maxInputTokens' | 'maxOutputTokens' | 'maxTotalTokens';
|
|
22
|
+
/** Current usage snapshot at the time a limit was exceeded. */
|
|
23
|
+
export interface UsageSnapshot {
|
|
24
|
+
requests: number;
|
|
25
|
+
inputTokens: number;
|
|
26
|
+
outputTokens: number;
|
|
27
|
+
totalTokens: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Thrown when an agent exceeds a configured usage limit.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* try {
|
|
35
|
+
* await agent.generate({ prompt: 'do something' });
|
|
36
|
+
* } catch (error) {
|
|
37
|
+
* if (error instanceof UsageLimitExceeded) {
|
|
38
|
+
* console.log(`Hit ${error.limitType}: ${error.currentValue}/${error.limitValue}`);
|
|
39
|
+
* }
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare class UsageLimitExceeded extends Error {
|
|
44
|
+
readonly name = "UsageLimitExceeded";
|
|
45
|
+
readonly limitType: UsageLimitType;
|
|
46
|
+
readonly limitValue: number;
|
|
47
|
+
readonly currentValue: number;
|
|
48
|
+
readonly usage: UsageSnapshot;
|
|
49
|
+
constructor(limitType: UsageLimitType, limitValue: number, currentValue: number, usage: UsageSnapshot);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a StopCondition that checks usage limits after each step.
|
|
53
|
+
*
|
|
54
|
+
* Compatible with AI SDK's `stopWhen` array — combine with `stepCountIs()`.
|
|
55
|
+
*
|
|
56
|
+
* When a limit is exceeded, the condition throws `UsageLimitExceeded`
|
|
57
|
+
* rather than returning `true`, because returning `true` would silently
|
|
58
|
+
* stop the agent. Throwing gives the caller a clear signal with details.
|
|
59
|
+
*/
|
|
60
|
+
export declare function usageLimitStop<TOOLS extends ToolSet>(limits: UsageLimits): (options: {
|
|
61
|
+
steps: Array<StepResult<TOOLS>>;
|
|
62
|
+
}) => boolean;
|
|
63
|
+
//# sourceMappingURL=usage-limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-limits.d.ts","sourceRoot":"","sources":["../src/usage-limits.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAM9C,6FAA6F;AAC7F,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAErG,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,SAAkB,IAAI,wBAAwB;IAC9C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;gBAG5B,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,aAAa;CAUvB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,KAAK,SAAS,OAAO,EAClD,MAAM,EAAE,WAAW,GAClB,CAAC,OAAO,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;CAAE,KAAK,OAAO,CAsB3D"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - Usage Limits
|
|
3
|
+
*
|
|
4
|
+
* Token and request caps for agents. Prevents runaway loops from
|
|
5
|
+
* burning API budget by enforcing maxRequests, maxInputTokens,
|
|
6
|
+
* maxOutputTokens, and maxTotalTokens.
|
|
7
|
+
*/
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Error
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Thrown when an agent exceeds a configured usage limit.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* try {
|
|
17
|
+
* await agent.generate({ prompt: 'do something' });
|
|
18
|
+
* } catch (error) {
|
|
19
|
+
* if (error instanceof UsageLimitExceeded) {
|
|
20
|
+
* console.log(`Hit ${error.limitType}: ${error.currentValue}/${error.limitValue}`);
|
|
21
|
+
* }
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class UsageLimitExceeded extends Error {
|
|
26
|
+
name = 'UsageLimitExceeded';
|
|
27
|
+
limitType;
|
|
28
|
+
limitValue;
|
|
29
|
+
currentValue;
|
|
30
|
+
usage;
|
|
31
|
+
constructor(limitType, limitValue, currentValue, usage) {
|
|
32
|
+
super(`Usage limit exceeded: ${limitType} = ${currentValue} (limit: ${limitValue})`);
|
|
33
|
+
this.limitType = limitType;
|
|
34
|
+
this.limitValue = limitValue;
|
|
35
|
+
this.currentValue = currentValue;
|
|
36
|
+
this.usage = usage;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Stop Condition Factory
|
|
41
|
+
// ============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Create a StopCondition that checks usage limits after each step.
|
|
44
|
+
*
|
|
45
|
+
* Compatible with AI SDK's `stopWhen` array — combine with `stepCountIs()`.
|
|
46
|
+
*
|
|
47
|
+
* When a limit is exceeded, the condition throws `UsageLimitExceeded`
|
|
48
|
+
* rather than returning `true`, because returning `true` would silently
|
|
49
|
+
* stop the agent. Throwing gives the caller a clear signal with details.
|
|
50
|
+
*/
|
|
51
|
+
export function usageLimitStop(limits) {
|
|
52
|
+
return ({ steps }) => {
|
|
53
|
+
const usage = computeUsage(steps);
|
|
54
|
+
if (limits.maxRequests !== undefined && usage.requests > limits.maxRequests) {
|
|
55
|
+
throw new UsageLimitExceeded('maxRequests', limits.maxRequests, usage.requests, usage);
|
|
56
|
+
}
|
|
57
|
+
if (limits.maxInputTokens !== undefined && usage.inputTokens > limits.maxInputTokens) {
|
|
58
|
+
throw new UsageLimitExceeded('maxInputTokens', limits.maxInputTokens, usage.inputTokens, usage);
|
|
59
|
+
}
|
|
60
|
+
if (limits.maxOutputTokens !== undefined && usage.outputTokens > limits.maxOutputTokens) {
|
|
61
|
+
throw new UsageLimitExceeded('maxOutputTokens', limits.maxOutputTokens, usage.outputTokens, usage);
|
|
62
|
+
}
|
|
63
|
+
if (limits.maxTotalTokens !== undefined && usage.totalTokens > limits.maxTotalTokens) {
|
|
64
|
+
throw new UsageLimitExceeded('maxTotalTokens', limits.maxTotalTokens, usage.totalTokens, usage);
|
|
65
|
+
}
|
|
66
|
+
return false; // Don't stop — limits not reached
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// ============================================================================
|
|
70
|
+
// Helpers
|
|
71
|
+
// ============================================================================
|
|
72
|
+
function computeUsage(steps) {
|
|
73
|
+
let inputTokens = 0;
|
|
74
|
+
let outputTokens = 0;
|
|
75
|
+
let totalTokens = 0;
|
|
76
|
+
for (const step of steps) {
|
|
77
|
+
inputTokens += step.usage?.inputTokens ?? 0;
|
|
78
|
+
outputTokens += step.usage?.outputTokens ?? 0;
|
|
79
|
+
totalTokens += step.usage?.totalTokens ?? 0;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
requests: steps.length,
|
|
83
|
+
inputTokens,
|
|
84
|
+
outputTokens,
|
|
85
|
+
totalTokens,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=usage-limits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-limits.js","sourceRoot":"","sources":["../src/usage-limits.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA+BH,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACzB,IAAI,GAAG,oBAAoB,CAAC;IACrC,SAAS,CAAiB;IAC1B,UAAU,CAAS;IACnB,YAAY,CAAS;IACrB,KAAK,CAAgB;IAE9B,YACE,SAAyB,EACzB,UAAkB,EAClB,YAAoB,EACpB,KAAoB;QAEpB,KAAK,CACH,yBAAyB,SAAS,MAAM,YAAY,YAAY,UAAU,GAAG,CAC9E,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAmB;IAEnB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5E,MAAM,IAAI,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACrF,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YACxF,MAAM,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACrG,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;YACrF,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAClG,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,kCAAkC;IAClD,CAAC,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E,SAAS,YAAY,CAAwB,KAA+B;IAC1E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QAC5C,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;QAC9C,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,WAAW;QACX,YAAY;QACZ,WAAW;KACZ,CAAC;AACJ,CAAC"}
|