@agntk/core 0.3.3 → 1.0.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/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.d.ts +2 -35
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +113 -111
- 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 +4 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -31
- package/dist/index.js.map +1 -1
- 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/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/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 +41 -39
- 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/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/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/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 +3 -22
- 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/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 +2 -18
- 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 +44 -51
- package/dist/tools/spawn-agent/index.d.ts.map +1 -1
- package/dist/tools/spawn-agent/index.js +196 -84
- 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.d.ts +1 -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/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/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 +14 -8
package/dist/advanced/index.d.ts
CHANGED
|
@@ -1,42 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
* @agntk/core/advanced — Advanced features.
|
|
3
|
-
*
|
|
4
|
-
* Guardrail runners, approval internals, reflection internals,
|
|
5
|
-
* best-of-n, browser streaming, observability, streaming types,
|
|
6
|
-
* and other power-user features.
|
|
7
|
-
*
|
|
8
|
-
* Import from '@agntk/core/advanced' instead of '@agntk/core'.
|
|
9
|
-
*/
|
|
10
|
-
export { buildReflectionPrompt, createReflectionPrepareStep, estimateReflectionTokens } from '../reflection.js';
|
|
1
|
+
export { buildReflectionPrompt, createReflectionPrepareStep, estimateReflectionTokens, } from '../reflection.js';
|
|
11
2
|
export type { ReflectionStrategy, ReflectionConfig } from '../reflection.js';
|
|
12
3
|
export { contentFilter, topicFilter, lengthLimit, custom } from '../guardrails/built-ins.js';
|
|
13
|
-
export { runGuardrails, wrapWithGuardrails, handleGuardrailResults, buildRetryFeedback } from '../guardrails/runner.js';
|
|
4
|
+
export { runGuardrails, wrapWithGuardrails, handleGuardrailResults, buildRetryFeedback, } from '../guardrails/runner.js';
|
|
14
5
|
export { GuardrailBlockedError } from '../guardrails/types.js';
|
|
15
|
-
export type { Guardrail, GuardrailResult, GuardrailContext, GuardrailsConfig, OnBlockAction } from '../guardrails/types.js';
|
|
16
|
-
export { applyApproval, resolveApprovalConfig, isDangerousTool, DANGEROUS_TOOLS } from '../tools/approval.js';
|
|
6
|
+
export type { Guardrail, GuardrailResult, GuardrailContext, GuardrailsConfig, OnBlockAction, } from '../guardrails/types.js';
|
|
7
|
+
export { applyApproval, resolveApprovalConfig, isDangerousTool, DANGEROUS_TOOLS, } from '../tools/approval.js';
|
|
17
8
|
export type { ApprovalConfig, ApprovalHandler, ApprovalRequest } from '../tools/approval.js';
|
|
18
9
|
export { withBestOfN } from '../wrappers/best-of-n.js';
|
|
19
10
|
export type { BestOfNConfig, BestOfNCandidate, BestOfNResult } from '../wrappers/best-of-n.js';
|
|
20
11
|
export { createBrowserStream, BrowserStreamEmitter } from '../tools/browser/stream.js';
|
|
21
|
-
export type { BrowserStreamConfig, FrameData, InputEvent, BrowserStreamEvent } from '../tools/browser/stream.js';
|
|
22
|
-
export { initObservability, createTelemetrySettings, isObservabilityEnabled, shutdownObservability } from '../observability/index.js';
|
|
12
|
+
export type { BrowserStreamConfig, FrameData, InputEvent, BrowserStreamEvent, } from '../tools/browser/stream.js';
|
|
13
|
+
export { initObservability, createTelemetrySettings, isObservabilityEnabled, shutdownObservability, } from '../observability/index.js';
|
|
23
14
|
export type { ObservabilityConfig, LangfuseConfig, TelemetrySettings } from '../observability/index.js';
|
|
24
15
|
export type { StreamEventType, StreamEventDataMap, SessionStartData, StepStartData, StepFinishData, TextDeltaData, TextFinishData, ReasoningDeltaData, ReasoningFinishData, ToolCallData, ToolResultData, SourceData, ErrorData, CompleteData, MessagePartType, MessagePart, ToolCallInfo, SourceInfo, StreamingMessage, } from '../types/streaming.js';
|
|
25
16
|
export type { ToolLifecycle, ToolContext, ToolError, ToolErrorType } from '../types/lifecycle.js';
|
|
26
|
-
export { buildSystemContext, formatSystemContextBlock, buildDynamicSystemPrompt } from '../prompts/context.js';
|
|
17
|
+
export { buildSystemContext, formatSystemContextBlock, buildDynamicSystemPrompt, } from '../prompts/context.js';
|
|
27
18
|
export type { SystemContext } from '../prompts/context.js';
|
|
28
19
|
export { defineHook, createWebhook, resumeHook, sleep, getHookRegistry, HookRegistry, HookNotFoundError, HookNotPendingError, HookRejectedError, FatalError, RetryableError, } from '../workflow/hooks.js';
|
|
29
20
|
export type { Hook, HookDefinition, HookInstance, HookStatus, WebhookOptions, WebhookResult, SleepOptions, } from '../workflow/hooks.js';
|
|
30
21
|
export { wrapToolAsDurableStep, wrapToolsAsDurable, wrapSelectedToolsAsDurable, } from '../workflow/durable-tool.js';
|
|
31
22
|
export type { DurabilityConfig } from '../workflow/durable-tool.js';
|
|
32
|
-
export { checkWorkflowAvailability, parseDuration, formatDuration
|
|
33
|
-
export {
|
|
34
|
-
export type {
|
|
35
|
-
export { loadSkillsFromPaths, buildSkillsSystemPrompt, searchSkills, filterEligibleSkills, isSkillEligible } from '../skills/index.js';
|
|
23
|
+
export { checkWorkflowAvailability, parseDuration, formatDuration } from '../workflow/utils.js';
|
|
24
|
+
export { withRefineLoop } from '../wrappers/refine-loop.js';
|
|
25
|
+
export type { RefineLoopConfig, RefineLoopResult, RefineLoopAttempt, EvaluationResult, } from '../wrappers/refine-loop.js';
|
|
26
|
+
export { loadSkillsFromPaths, buildSkillsSystemPrompt, searchSkills, filterEligibleSkills, isSkillEligible, } from '../skills/index.js';
|
|
36
27
|
export type { SkillSearchResult } from '../skills/index.js';
|
|
37
28
|
export type { UsageSnapshot } from '../usage-limits.js';
|
|
38
|
-
export {
|
|
39
|
-
export type
|
|
29
|
+
export { AgentRegistry, type AgentRegistryEntry, type AgentStatus, type SpawnErrorType, } from '../tools/spawn-agent/registry.js';
|
|
30
|
+
export { createCheckAgentTool, type CheckAgentResult, type CheckAgentEntry, } from '../tools/spawn-agent/check-agent.js';
|
|
40
31
|
export { createSearchSkillsTool, clearSkillsCache } from '../tools/search-skills.js';
|
|
41
32
|
export type { SearchSkillsToolConfig } from '../tools/search-skills.js';
|
|
42
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/advanced/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/advanced/index.ts"],"names":[],"mappings":"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"}
|
package/dist/advanced/index.js
CHANGED
|
@@ -1,63 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
* @agntk/core/advanced — Advanced features.
|
|
3
|
-
*
|
|
4
|
-
* Guardrail runners, approval internals, reflection internals,
|
|
5
|
-
* best-of-n, browser streaming, observability, streaming types,
|
|
6
|
-
* and other power-user features.
|
|
7
|
-
*
|
|
8
|
-
* Import from '@agntk/core/advanced' instead of '@agntk/core'.
|
|
9
|
-
*/
|
|
10
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
11
|
-
// Reflection (internals)
|
|
12
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
13
|
-
export { buildReflectionPrompt, createReflectionPrepareStep, estimateReflectionTokens } from '../reflection.js';
|
|
14
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
15
|
-
// Guardrails (runners + built-ins)
|
|
16
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
1
|
+
export { buildReflectionPrompt, createReflectionPrepareStep, estimateReflectionTokens, } from '../reflection.js';
|
|
17
2
|
export { contentFilter, topicFilter, lengthLimit, custom } from '../guardrails/built-ins.js';
|
|
18
|
-
export { runGuardrails, wrapWithGuardrails, handleGuardrailResults, buildRetryFeedback } from '../guardrails/runner.js';
|
|
3
|
+
export { runGuardrails, wrapWithGuardrails, handleGuardrailResults, buildRetryFeedback, } from '../guardrails/runner.js';
|
|
19
4
|
export { GuardrailBlockedError } from '../guardrails/types.js';
|
|
20
|
-
|
|
21
|
-
// Approval (internals)
|
|
22
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
23
|
-
export { applyApproval, resolveApprovalConfig, isDangerousTool, DANGEROUS_TOOLS } from '../tools/approval.js';
|
|
24
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
25
|
-
// Best-of-N
|
|
26
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
5
|
+
export { applyApproval, resolveApprovalConfig, isDangerousTool, DANGEROUS_TOOLS, } from '../tools/approval.js';
|
|
27
6
|
export { withBestOfN } from '../wrappers/best-of-n.js';
|
|
28
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
29
|
-
// Browser Streaming
|
|
30
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
31
7
|
export { createBrowserStream, BrowserStreamEmitter } from '../tools/browser/stream.js';
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
35
|
-
export { initObservability, createTelemetrySettings, isObservabilityEnabled, shutdownObservability } from '../observability/index.js';
|
|
36
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
37
|
-
// Prompts (internals)
|
|
38
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
39
|
-
export { buildSystemContext, formatSystemContextBlock, buildDynamicSystemPrompt } from '../prompts/context.js';
|
|
40
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
41
|
-
// Workflow Hooks & Durability
|
|
42
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
8
|
+
export { initObservability, createTelemetrySettings, isObservabilityEnabled, shutdownObservability, } from '../observability/index.js';
|
|
9
|
+
export { buildSystemContext, formatSystemContextBlock, buildDynamicSystemPrompt, } from '../prompts/context.js';
|
|
43
10
|
export { defineHook, createWebhook, resumeHook, sleep, getHookRegistry, HookRegistry, HookNotFoundError, HookNotPendingError, HookRejectedError, FatalError, RetryableError, } from '../workflow/hooks.js';
|
|
44
11
|
export { wrapToolAsDurableStep, wrapToolsAsDurable, wrapSelectedToolsAsDurable, } from '../workflow/durable-tool.js';
|
|
45
|
-
export { checkWorkflowAvailability, parseDuration, formatDuration
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export {
|
|
50
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
51
|
-
// Skills Search (advanced)
|
|
52
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
53
|
-
export { loadSkillsFromPaths, buildSkillsSystemPrompt, searchSkills, filterEligibleSkills, isSkillEligible } from '../skills/index.js';
|
|
54
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
55
|
-
// Memory Tools
|
|
56
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
57
|
-
export { createMemoryTools } from '../memory/tools.js';
|
|
58
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
59
|
-
// Search Skills Tool
|
|
60
|
-
// ═══════════════════════════════════════════════════════════════════════════════
|
|
12
|
+
export { checkWorkflowAvailability, parseDuration, formatDuration } from '../workflow/utils.js';
|
|
13
|
+
export { withRefineLoop } from '../wrappers/refine-loop.js';
|
|
14
|
+
export { loadSkillsFromPaths, buildSkillsSystemPrompt, searchSkills, filterEligibleSkills, isSkillEligible, } from '../skills/index.js';
|
|
15
|
+
export { AgentRegistry, } from '../tools/spawn-agent/registry.js';
|
|
16
|
+
export { createCheckAgentTool, } from '../tools/spawn-agent/check-agent.js';
|
|
61
17
|
export { createSearchSkillsTool, clearSkillsCache } from '../tools/search-skills.js';
|
|
62
|
-
// Pool (SpecialistPool) — removed: replaced by spawn-agent tool
|
|
63
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/advanced/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/advanced/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAS5D,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAQpF,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AA2B1B,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,KAAK,EACL,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,UAAU,EACV,cAAc,GACf,MAAM,mBAAmB,CAAC;AAW3B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,yBAAyB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7F,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQzD,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,eAAe,GAChB,MAAM,WAAW,CAAC;AAKnB,OAAO,EACL,aAAa,GAId,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,GAGrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/agent.d.ts
CHANGED
|
@@ -1,42 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agntk/core - Agent Factory
|
|
3
|
-
*
|
|
4
|
-
* A fully-equipped agent that shows up ready. No roles, no tool presets,
|
|
5
|
-
* no feature flags. You give it a name, tell it what it's doing, and
|
|
6
|
-
* point it at a task. It figures out the rest.
|
|
7
|
-
*
|
|
8
|
-
* Every capability is auto-detected from the environment:
|
|
9
|
-
* - Tools: ALL tools, always (plus any custom tools you pass)
|
|
10
|
-
* - Memory: always on, stored at ~/.agntk/agents/{name}/
|
|
11
|
-
* - Durability: auto-detected (workflow package installed → on)
|
|
12
|
-
* - Telemetry: auto-detected (LANGFUSE_PUBLIC_KEY set → on)
|
|
13
|
-
* - Skills: auto-discovered from standard directories
|
|
14
|
-
* - Sub-agents: always enabled with team coordination
|
|
15
|
-
* - Reflection: always on (reflact strategy)
|
|
16
|
-
* - Guardrails: always on (output: PII content filter)
|
|
17
|
-
* - Model: auto-selected from available API keys
|
|
18
|
-
*/
|
|
19
1
|
import type { AgentOptions, Agent } from './types/agent.js';
|
|
20
|
-
|
|
2
|
+
export declare const AGENT_STATE_BASE = ".agntk/agents";
|
|
3
|
+
export declare function resolveAgentStatePath(name: string): string;
|
|
21
4
|
export interface InternalOptions {
|
|
22
5
|
_spawnDepth?: number;
|
|
23
6
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Create an agent — fully equipped, zero config.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const agent = createAgent({
|
|
30
|
-
* name: 'deploy-bot',
|
|
31
|
-
* instructions: 'You manage deployments for our k8s cluster.',
|
|
32
|
-
* });
|
|
33
|
-
*
|
|
34
|
-
* const result = await agent.stream({ prompt: 'Roll back staging to yesterday' });
|
|
35
|
-
* for await (const chunk of result.fullStream) {
|
|
36
|
-
* if (chunk.type === 'text-delta') process.stdout.write(chunk.text ?? '');
|
|
37
|
-
* }
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
7
|
export declare function createAgent(options: AgentOptions, _internal?: InternalOptions): Agent;
|
|
41
8
|
export default createAgent;
|
|
42
9
|
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAgC5E,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG1D;AAoED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,GAAE,eAAoB,GAAG,KAAK,CA0TzF;AAED,eAAe,WAAW,CAAC"}
|
package/dist/agent.js
CHANGED
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @agntk/core - Agent Factory
|
|
3
|
-
*
|
|
4
|
-
* A fully-equipped agent that shows up ready. No roles, no tool presets,
|
|
5
|
-
* no feature flags. You give it a name, tell it what it's doing, and
|
|
6
|
-
* point it at a task. It figures out the rest.
|
|
7
|
-
*
|
|
8
|
-
* Every capability is auto-detected from the environment:
|
|
9
|
-
* - Tools: ALL tools, always (plus any custom tools you pass)
|
|
10
|
-
* - Memory: always on, stored at ~/.agntk/agents/{name}/
|
|
11
|
-
* - Durability: auto-detected (workflow package installed → on)
|
|
12
|
-
* - Telemetry: auto-detected (LANGFUSE_PUBLIC_KEY set → on)
|
|
13
|
-
* - Skills: auto-discovered from standard directories
|
|
14
|
-
* - Sub-agents: always enabled with team coordination
|
|
15
|
-
* - Reflection: always on (reflact strategy)
|
|
16
|
-
* - Guardrails: always on (output: PII content filter)
|
|
17
|
-
* - Model: auto-selected from available API keys
|
|
18
|
-
*/
|
|
19
|
-
import { resolve } from 'node:path';
|
|
1
|
+
import { resolve, join } from 'node:path';
|
|
20
2
|
import { homedir } from 'node:os';
|
|
21
3
|
import { ToolLoopAgent, stepCountIs } from 'ai';
|
|
22
4
|
import { createLogger } from '@agntk/logger';
|
|
@@ -24,8 +6,11 @@ import { usageLimitStop } from './usage-limits.js';
|
|
|
24
6
|
import { resolveModel } from './models.js';
|
|
25
7
|
import { createToolPreset } from './presets/tools.js';
|
|
26
8
|
import { createSpawnAgentTool } from './tools/spawn-agent/index.js';
|
|
9
|
+
import { createCheckAgentTool } from './tools/spawn-agent/check-agent.js';
|
|
10
|
+
import { AgentRegistry } from './tools/spawn-agent/registry.js';
|
|
27
11
|
import { wrapAllToolsWithRetry } from './tools/model-retry.js';
|
|
28
|
-
import {
|
|
12
|
+
import { wrapAllToolsWithWorkspace } from './tools/workspace-middleware.js';
|
|
13
|
+
import { discoverSkills, filterEligibleSkills, buildSkillsSystemPrompt, loadSkillContent, } from './skills/index.js';
|
|
29
14
|
import { checkWorkflowAvailability } from './workflow/utils.js';
|
|
30
15
|
import { wrapToolsAsDurable } from './workflow/durable-tool.js';
|
|
31
16
|
import { createReflectionPrepareStep } from './reflection.js';
|
|
@@ -34,41 +19,19 @@ import { contentFilter } from './guardrails/built-ins.js';
|
|
|
34
19
|
import { applyApproval, resolveApprovalConfig } from './tools/approval.js';
|
|
35
20
|
import { MarkdownMemoryStore } from './memory/store.js';
|
|
36
21
|
import { loadMemoryContext } from './memory/loader.js';
|
|
37
|
-
import { createMemoryTools } from './memory/tools.js';
|
|
38
22
|
import { initObservability, createTelemetrySettings } from './observability/index.js';
|
|
39
23
|
import { buildDynamicSystemPrompt } from './prompts/context.js';
|
|
40
|
-
// ============================================================================
|
|
41
|
-
// Logger
|
|
42
|
-
// ============================================================================
|
|
43
24
|
const log = createLogger('@agntk/core:agent');
|
|
44
|
-
// ============================================================================
|
|
45
|
-
// Constants
|
|
46
|
-
// ============================================================================
|
|
47
|
-
const DEFAULT_MAX_STEPS = 25;
|
|
48
25
|
const SUB_AGENT_MAX_STEPS = 15;
|
|
49
26
|
const DEFAULT_MAX_SPAWN_DEPTH = 2;
|
|
50
|
-
const AGENT_STATE_BASE = '.agntk/agents';
|
|
51
|
-
|
|
52
|
-
// Helpers
|
|
53
|
-
// ============================================================================
|
|
54
|
-
/**
|
|
55
|
-
* Resolve the persistent state directory for a named agent.
|
|
56
|
-
* ~/.agntk/agents/{name}/
|
|
57
|
-
*/
|
|
58
|
-
function resolveAgentStatePath(name) {
|
|
27
|
+
export const AGENT_STATE_BASE = '.agntk/agents';
|
|
28
|
+
export function resolveAgentStatePath(name) {
|
|
59
29
|
const safeName = name.replace(/[^a-zA-Z0-9_-]/g, '_').toLowerCase();
|
|
60
30
|
return resolve(homedir(), AGENT_STATE_BASE, safeName);
|
|
61
31
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Detect if telemetry should be enabled from env vars.
|
|
64
|
-
*/
|
|
65
32
|
function detectTelemetry() {
|
|
66
|
-
return !!(process.env.LANGFUSE_PUBLIC_KEY &&
|
|
67
|
-
process.env.LANGFUSE_SECRET_KEY);
|
|
33
|
+
return !!(process.env.LANGFUSE_PUBLIC_KEY && process.env.LANGFUSE_SECRET_KEY);
|
|
68
34
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Build the base instructions for the agent.
|
|
71
|
-
*/
|
|
72
35
|
function buildBaseInstructions(name, userInstructions, skillsPrompt) {
|
|
73
36
|
const parts = [];
|
|
74
37
|
parts.push(`You are ${name}, a capable AI agent.`);
|
|
@@ -79,11 +42,9 @@ function buildBaseInstructions(name, userInstructions, skillsPrompt) {
|
|
|
79
42
|
parts.push('');
|
|
80
43
|
parts.push('You have access to a full suite of tools including file operations, ' +
|
|
81
44
|
'shell commands, code search (grep, glob, ast-grep), a browser, ' +
|
|
82
|
-
'deep reasoning, planning, and persistent
|
|
45
|
+
'deep reasoning, planning, and a persistent workspace. ' +
|
|
83
46
|
'You can spawn sub-agents for complex tasks that benefit from delegation. ' +
|
|
84
|
-
|
|
85
|
-
'Use the recall tool to search your memory for relevant context. ' +
|
|
86
|
-
'If the user\'s request is vague or conversational (e.g., greetings, ' +
|
|
47
|
+
"If the user's request is vague or conversational (e.g., greetings, " +
|
|
87
48
|
'"whats up", "hello"), respond conversationally without using tools.');
|
|
88
49
|
if (skillsPrompt) {
|
|
89
50
|
parts.push('');
|
|
@@ -91,65 +52,85 @@ function buildBaseInstructions(name, userInstructions, skillsPrompt) {
|
|
|
91
52
|
}
|
|
92
53
|
return parts.join('\n');
|
|
93
54
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
55
|
+
function buildWorkspaceInstructions(store) {
|
|
56
|
+
const memoryPath = store.getMemoryPath();
|
|
57
|
+
const workspacePath = store.getWorkspacePath();
|
|
58
|
+
const archivePath = store.getArchivePath();
|
|
59
|
+
return `# Agent Workspace
|
|
60
|
+
|
|
61
|
+
You own a persistent workspace. Use it like a desk:
|
|
62
|
+
|
|
63
|
+
**${workspacePath}** — your active working area. Each task gets its own folder.
|
|
64
|
+
\`workspace/current\` points to the active task folder (symlink).
|
|
65
|
+
Write notes, intermediate results, drafts here.
|
|
66
|
+
When done, move the task folder to archive/.
|
|
67
|
+
|
|
68
|
+
**${memoryPath}** — long-term storage. Create files with descriptive names for
|
|
69
|
+
knowledge worth keeping across sessions.
|
|
70
|
+
Name files by topic (e.g. project-setup.md, api-design.md).
|
|
71
|
+
\`decisions.md\` is append-only — log decisions with rationale.
|
|
72
|
+
\`ls memory/\` to see what you already know before creating new files.
|
|
73
|
+
|
|
74
|
+
**${archivePath}** — completed task folders from workspace/, frozen for reference.
|
|
75
|
+
Use \`grep -r "query" archive/\` to search past work.
|
|
76
|
+
|
|
77
|
+
**context.md** — session breadcrumbs. At the end of a session, write a brief
|
|
78
|
+
summary of what was accomplished and what's next.
|
|
79
|
+
|
|
80
|
+
Use your existing file tools (read_file, write_file, glob, grep, shell) to
|
|
81
|
+
interact with workspace. No special memory tools needed.`;
|
|
82
|
+
}
|
|
113
83
|
export function createAgent(options, _internal = {}) {
|
|
114
|
-
const { name, instructions, workspaceRoot = process.cwd()
|
|
84
|
+
const { name, instructions, workspaceRoot = process.cwd() } = options;
|
|
115
85
|
const spawnDepth = _internal._spawnDepth ?? 0;
|
|
116
86
|
const isSubAgent = spawnDepth > 0;
|
|
117
|
-
const maxSteps = options.maxSteps ?? (isSubAgent ? SUB_AGENT_MAX_STEPS :
|
|
87
|
+
const maxSteps = options.maxSteps ?? (isSubAgent ? SUB_AGENT_MAX_STEPS : 0);
|
|
118
88
|
log.info('Creating agent', { name, maxSteps, workspaceRoot, spawnDepth });
|
|
119
|
-
|
|
120
|
-
const model = options.model ??
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
89
|
+
const resolved = options.model ? null : resolveModel({ tier: 'standard' });
|
|
90
|
+
const model = options.model ?? resolved.model;
|
|
91
|
+
const modelId = resolved?.modelId ?? 'custom';
|
|
92
|
+
log.debug('Model resolved', { hasExplicitModel: !!options.model, modelId });
|
|
93
|
+
const agentStatePath = resolveAgentStatePath(name);
|
|
94
|
+
let tools = createToolPreset('full', {
|
|
95
|
+
workspaceRoot,
|
|
96
|
+
fileOptions: { allowedPaths: [agentStatePath] },
|
|
97
|
+
});
|
|
125
98
|
if (options.tools) {
|
|
126
99
|
Object.assign(tools, options.tools);
|
|
127
100
|
}
|
|
128
101
|
log.debug('Base tools built', { count: Object.keys(tools).length });
|
|
129
|
-
// ── 3. Memory — always on ─────────────────────────────────────────────
|
|
130
|
-
const agentStatePath = resolveAgentStatePath(name);
|
|
131
102
|
const memoryStore = new MarkdownMemoryStore({
|
|
132
103
|
projectDir: agentStatePath,
|
|
133
104
|
globalDir: '.agntk',
|
|
134
105
|
workspaceRoot,
|
|
135
106
|
});
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
107
|
+
let currentWorkspacePath = null;
|
|
108
|
+
tools = wrapAllToolsWithWorkspace(tools, {
|
|
109
|
+
getWorkspacePath: () => currentWorkspacePath,
|
|
110
|
+
});
|
|
111
|
+
log.info('Workspace enabled', { agentStatePath });
|
|
112
|
+
const agentRegistry = new AgentRegistry();
|
|
113
|
+
const registryPath = join(agentStatePath, 'registry.json');
|
|
114
|
+
agentRegistry.setPersistPath(registryPath);
|
|
140
115
|
if (spawnDepth < DEFAULT_MAX_SPAWN_DEPTH) {
|
|
141
116
|
const spawnTool = createSpawnAgentTool({
|
|
142
117
|
maxSpawnDepth: DEFAULT_MAX_SPAWN_DEPTH,
|
|
143
118
|
currentDepth: spawnDepth,
|
|
119
|
+
registry: agentRegistry,
|
|
120
|
+
workspacePath: undefined, // set lazily during ensureInit
|
|
144
121
|
createAgent: (subAgentOptions) => {
|
|
145
|
-
const subName = `${name}/${subAgentOptions.
|
|
122
|
+
const subName = `${name}/${subAgentOptions.task.slice(0, 30).replace(/[^a-zA-Z0-9-]/g, '-')}`;
|
|
146
123
|
log.info('Spawning sub-agent', { parentName: name, subName });
|
|
124
|
+
const subResolved = subAgentOptions.model
|
|
125
|
+
? resolveModel({ tier: subAgentOptions.model })
|
|
126
|
+
: null;
|
|
127
|
+
const subModel = subResolved?.model ?? options.model;
|
|
147
128
|
const subAgent = createAgent({
|
|
148
129
|
name: subName,
|
|
149
130
|
instructions: subAgentOptions.instructions,
|
|
150
131
|
workspaceRoot,
|
|
151
132
|
maxSteps: SUB_AGENT_MAX_STEPS,
|
|
152
|
-
model:
|
|
133
|
+
model: subModel,
|
|
153
134
|
}, {
|
|
154
135
|
_spawnDepth: spawnDepth + 1,
|
|
155
136
|
});
|
|
@@ -164,16 +145,17 @@ export function createAgent(options, _internal = {}) {
|
|
|
164
145
|
}
|
|
165
146
|
})(),
|
|
166
147
|
text: streamPromise.then((r) => r.text),
|
|
148
|
+
usage: streamPromise.then((r) => r.usage),
|
|
167
149
|
};
|
|
168
150
|
},
|
|
169
151
|
};
|
|
170
152
|
},
|
|
171
153
|
});
|
|
172
154
|
tools = { ...tools, spawn_agent: spawnTool };
|
|
155
|
+
const checkTool = createCheckAgentTool({ registry: agentRegistry });
|
|
156
|
+
tools = { ...tools, check_agent: checkTool };
|
|
173
157
|
}
|
|
174
|
-
// ── 5. ModelRetry — always on ─────────────────────────────────────────
|
|
175
158
|
tools = wrapAllToolsWithRetry(tools, 3);
|
|
176
|
-
// ── 6. Auto-discover skills ───────────────────────────────────────────
|
|
177
159
|
let skillsPrompt = '';
|
|
178
160
|
try {
|
|
179
161
|
const discovered = discoverSkills(undefined, workspaceRoot);
|
|
@@ -187,35 +169,28 @@ export function createAgent(options, _internal = {}) {
|
|
|
187
169
|
catch (err) {
|
|
188
170
|
log.warn('Skill discovery failed', { error: err instanceof Error ? err.message : String(err) });
|
|
189
171
|
}
|
|
190
|
-
// ── 7. Build system prompt ────────────────────────────────────────────
|
|
191
172
|
let augmentedSystemPrompt = buildBaseInstructions(name, instructions, skillsPrompt);
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
stepCountIs(maxSteps)
|
|
195
|
-
];
|
|
196
|
-
if (options.usageLimits) {
|
|
197
|
-
stopConditions.push(usageLimitStop(options.usageLimits));
|
|
173
|
+
const stopConditions = [];
|
|
174
|
+
if (maxSteps && maxSteps > 0) {
|
|
175
|
+
stopConditions.push(stepCountIs(maxSteps));
|
|
198
176
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// even after memory/context is injected during ensureInit() (fixes DESIGN-001).
|
|
177
|
+
const effectiveLimits = options.usageLimits ?? { maxInputTokens: 4_000_000 };
|
|
178
|
+
stopConditions.push(usageLimitStop(effectiveLimits));
|
|
202
179
|
const prepareStep = createReflectionPrepareStep(() => augmentedSystemPrompt, {
|
|
203
180
|
strategy: 'reflact',
|
|
204
181
|
});
|
|
205
|
-
// ── 10. Guardrails — always on (output: PII content filter) ───────────
|
|
206
182
|
const outputGuardrails = [contentFilter()];
|
|
207
|
-
// ── 11. Apply approval wrapping if requested ───────────────────────────
|
|
208
183
|
const approvalConfig = resolveApprovalConfig(options.approval);
|
|
209
184
|
if (approvalConfig) {
|
|
210
185
|
tools = applyApproval(tools, approvalConfig);
|
|
211
|
-
log.info('Approval system enabled', {
|
|
186
|
+
log.info('Approval system enabled', {
|
|
187
|
+
tools: approvalConfig.tools ?? 'default dangerous tools',
|
|
188
|
+
});
|
|
212
189
|
}
|
|
213
|
-
// ── 12. Telemetry — auto-detect ──────────────────────────────────────
|
|
214
190
|
const telemetryEnabled = detectTelemetry();
|
|
215
191
|
const telemetrySettings = telemetryEnabled
|
|
216
192
|
? createTelemetrySettings({ functionId: `agent:${name}` })
|
|
217
193
|
: undefined;
|
|
218
|
-
// ── 13. Build the ToolLoopAgent ──────────────────────────────────────
|
|
219
194
|
const toolLoopAgent = new ToolLoopAgent({
|
|
220
195
|
model,
|
|
221
196
|
instructions: augmentedSystemPrompt,
|
|
@@ -223,13 +198,14 @@ export function createAgent(options, _internal = {}) {
|
|
|
223
198
|
stopWhen: stopConditions,
|
|
224
199
|
prepareCall: (opts) => ({ ...opts, instructions: augmentedSystemPrompt }),
|
|
225
200
|
prepareStep,
|
|
226
|
-
...(telemetrySettings
|
|
201
|
+
...(telemetrySettings
|
|
202
|
+
? { experimental_telemetry: telemetrySettings }
|
|
203
|
+
: {}),
|
|
227
204
|
});
|
|
228
205
|
log.debug('ToolLoopAgent created', {
|
|
229
206
|
toolCount: Object.keys(tools).length,
|
|
230
207
|
telemetry: !!telemetrySettings,
|
|
231
208
|
});
|
|
232
|
-
// ── Lazy initializers ─────────────────────────────────────────────────
|
|
233
209
|
const agentLog = log.child({ agent: name });
|
|
234
210
|
let initialized = false;
|
|
235
211
|
let initPromise = null;
|
|
@@ -240,7 +216,28 @@ export function createAgent(options, _internal = {}) {
|
|
|
240
216
|
return initPromise;
|
|
241
217
|
initPromise = (async () => {
|
|
242
218
|
try {
|
|
243
|
-
|
|
219
|
+
try {
|
|
220
|
+
await memoryStore.ensureDirectories();
|
|
221
|
+
agentLog.debug('Workspace directories ensured');
|
|
222
|
+
}
|
|
223
|
+
catch (err) {
|
|
224
|
+
agentLog.warn('Directory creation failed', {
|
|
225
|
+
error: err instanceof Error ? err.message : String(err),
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
try {
|
|
229
|
+
currentWorkspacePath = await memoryStore.getCurrentTaskPath();
|
|
230
|
+
agentLog.debug('Workspace path resolved', { currentWorkspacePath });
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
void 0;
|
|
234
|
+
}
|
|
235
|
+
try {
|
|
236
|
+
await agentRegistry.loadFromDisk(registryPath);
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
void 0;
|
|
240
|
+
}
|
|
244
241
|
try {
|
|
245
242
|
const memoryContext = await loadMemoryContext(memoryStore);
|
|
246
243
|
if (memoryContext) {
|
|
@@ -253,7 +250,16 @@ export function createAgent(options, _internal = {}) {
|
|
|
253
250
|
error: err instanceof Error ? err.message : String(err),
|
|
254
251
|
});
|
|
255
252
|
}
|
|
256
|
-
|
|
253
|
+
try {
|
|
254
|
+
const workspaceInstructions = buildWorkspaceInstructions(memoryStore);
|
|
255
|
+
augmentedSystemPrompt = augmentedSystemPrompt + '\n\n' + workspaceInstructions;
|
|
256
|
+
agentLog.debug('Workspace instructions injected');
|
|
257
|
+
}
|
|
258
|
+
catch (err) {
|
|
259
|
+
agentLog.warn('Workspace instructions failed', {
|
|
260
|
+
error: err instanceof Error ? err.message : String(err),
|
|
261
|
+
});
|
|
262
|
+
}
|
|
257
263
|
try {
|
|
258
264
|
augmentedSystemPrompt = await buildDynamicSystemPrompt(augmentedSystemPrompt, {
|
|
259
265
|
workspaceRoot,
|
|
@@ -265,7 +271,6 @@ export function createAgent(options, _internal = {}) {
|
|
|
265
271
|
error: err instanceof Error ? err.message : String(err),
|
|
266
272
|
});
|
|
267
273
|
}
|
|
268
|
-
// Apply durable wrapping if workflow runtime is available
|
|
269
274
|
try {
|
|
270
275
|
const workflowAvailable = await checkWorkflowAvailability();
|
|
271
276
|
if (workflowAvailable) {
|
|
@@ -276,7 +281,6 @@ export function createAgent(options, _internal = {}) {
|
|
|
276
281
|
catch {
|
|
277
282
|
agentLog.debug('Workflow detection failed — skipping durable wrapping');
|
|
278
283
|
}
|
|
279
|
-
// Initialize telemetry if detected
|
|
280
284
|
if (telemetryEnabled) {
|
|
281
285
|
try {
|
|
282
286
|
await initObservability({ provider: 'langfuse' });
|
|
@@ -291,24 +295,22 @@ export function createAgent(options, _internal = {}) {
|
|
|
291
295
|
initialized = true;
|
|
292
296
|
}
|
|
293
297
|
catch (err) {
|
|
294
|
-
// E-5: Reset so callers can retry instead of permanently failing
|
|
295
298
|
initPromise = null;
|
|
296
299
|
throw err;
|
|
297
300
|
}
|
|
298
301
|
})();
|
|
299
302
|
return initPromise;
|
|
300
303
|
}
|
|
301
|
-
// ── Build the agent instance ──────────────────────────────────────────
|
|
302
304
|
const agent = {
|
|
303
305
|
name,
|
|
304
306
|
init: ensureInit,
|
|
305
307
|
getSystemPrompt: () => augmentedSystemPrompt,
|
|
306
308
|
getToolNames: () => Object.keys(tools),
|
|
309
|
+
getModelId: () => modelId,
|
|
307
310
|
stream: async (input) => {
|
|
308
311
|
await ensureInit();
|
|
309
312
|
agentLog.info('stream() called', { promptLength: input.prompt.length });
|
|
310
313
|
const result = await toolLoopAgent.stream({ prompt: input.prompt });
|
|
311
|
-
// Apply output guardrails to the final text
|
|
312
314
|
const guardedText = result.text.then(async (text) => {
|
|
313
315
|
if (!text || outputGuardrails.length === 0)
|
|
314
316
|
return text;
|
|
@@ -343,7 +345,7 @@ export function createAgent(options, _internal = {}) {
|
|
|
343
345
|
name,
|
|
344
346
|
spawnDepth,
|
|
345
347
|
toolCount: Object.keys(tools).length,
|
|
346
|
-
|
|
348
|
+
workspacePath: agentStatePath,
|
|
347
349
|
telemetry: telemetryEnabled,
|
|
348
350
|
});
|
|
349
351
|
return agent;
|