@agntk/core 0.2.0 → 0.3.1
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/agent-v2.d.ts +48 -0
- package/dist/agent-v2.d.ts.map +1 -0
- package/dist/agent-v2.js +365 -0
- package/dist/agent-v2.js.map +1 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +61 -43
- package/dist/agent.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +16 -4
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/loader.d.ts +14 -6
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +38 -16
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +14 -14
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/guardrails/runner.d.ts.map +1 -1
- package/dist/guardrails/runner.js +4 -0
- package/dist/guardrails/runner.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/memory/engine.d.ts +130 -0
- package/dist/memory/engine.d.ts.map +1 -0
- package/dist/memory/engine.js +227 -0
- package/dist/memory/engine.js.map +1 -0
- package/dist/memory/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 +24 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +50 -4
- package/dist/models.js.map +1 -1
- package/dist/pool/index.d.ts +7 -0
- package/dist/pool/index.d.ts.map +1 -0
- package/dist/pool/index.js +6 -0
- package/dist/pool/index.js.map +1 -0
- package/dist/pool/specialist-pool.d.ts +59 -0
- package/dist/pool/specialist-pool.d.ts.map +1 -0
- package/dist/pool/specialist-pool.js +224 -0
- package/dist/pool/specialist-pool.js.map +1 -0
- package/dist/pool/tools.d.ts +63 -0
- package/dist/pool/tools.d.ts.map +1 -0
- package/dist/pool/tools.js +83 -0
- package/dist/pool/tools.js.map +1 -0
- package/dist/pool/types.d.ts +79 -0
- package/dist/pool/types.d.ts.map +1 -0
- package/dist/pool/types.js +5 -0
- package/dist/pool/types.js.map +1 -0
- package/dist/presets/index.d.ts +5 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +5 -0
- package/dist/presets/index.js.map +1 -0
- package/dist/presets/role-registry.d.ts +41 -0
- package/dist/presets/role-registry.d.ts.map +1 -0
- package/dist/presets/role-registry.js +213 -0
- package/dist/presets/role-registry.js.map +1 -0
- package/dist/presets/roles.d.ts +105 -0
- package/dist/presets/roles.d.ts.map +1 -0
- package/dist/presets/roles.js +207 -0
- package/dist/presets/roles.js.map +1 -0
- package/dist/presets/tools.d.ts +2 -2
- package/dist/prompts/templates.d.ts +11 -0
- package/dist/prompts/templates.d.ts.map +1 -0
- package/dist/prompts/templates.js +115 -0
- package/dist/prompts/templates.js.map +1 -0
- package/dist/provider-resolver.d.ts +38 -0
- package/dist/provider-resolver.d.ts.map +1 -0
- package/dist/provider-resolver.js +142 -0
- package/dist/provider-resolver.js.map +1 -0
- package/dist/reflection.d.ts +5 -2
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +8 -3
- package/dist/reflection.js.map +1 -1
- package/dist/skills/loader.d.ts +18 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +58 -2
- package/dist/skills/loader.js.map +1 -1
- package/dist/streaming/data-parts.d.ts +163 -0
- package/dist/streaming/data-parts.d.ts.map +1 -0
- package/dist/streaming/data-parts.js +14 -0
- package/dist/streaming/data-parts.js.map +1 -0
- package/dist/streaming/index.d.ts +8 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +10 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/streaming/transient.d.ts +136 -0
- package/dist/streaming/transient.d.ts.map +1 -0
- package/dist/streaming/transient.js +201 -0
- package/dist/streaming/transient.js.map +1 -0
- package/dist/system-detect.d.ts +59 -0
- package/dist/system-detect.d.ts.map +1 -0
- package/dist/system-detect.js +193 -0
- package/dist/system-detect.js.map +1 -0
- package/dist/tools/browser/tool.d.ts +2 -2
- package/dist/tools/browser/types.d.ts +2 -2
- package/dist/tools/file/tools.d.ts.map +1 -1
- package/dist/tools/file/tools.js +30 -1
- package/dist/tools/file/tools.js.map +1 -1
- package/dist/tools/index.d.ts +0 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +0 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/progress/index.d.ts +1 -1
- package/dist/tools/provider.d.ts +97 -0
- package/dist/tools/provider.d.ts.map +1 -0
- package/dist/tools/provider.js +178 -0
- package/dist/tools/provider.js.map +1 -0
- package/dist/tools/shell/background.d.ts.map +1 -1
- package/dist/tools/shell/background.js +45 -3
- package/dist/tools/shell/background.js.map +1 -1
- package/dist/tools/shell/tools.d.ts.map +1 -1
- package/dist/tools/shell/tools.js +9 -2
- package/dist/tools/shell/tools.js.map +1 -1
- package/dist/tools/utils/shell.d.ts +14 -0
- package/dist/tools/utils/shell.d.ts.map +1 -1
- package/dist/tools/utils/shell.js +171 -12
- package/dist/tools/utils/shell.js.map +1 -1
- package/dist/types/agent-v2.d.ts +83 -0
- package/dist/types/agent-v2.d.ts.map +1 -0
- package/dist/types/agent-v2.js +8 -0
- package/dist/types/agent-v2.js.map +1 -0
- package/dist/types/agent.d.ts +10 -0
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +35 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +149 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/workflow/builders/adapt.d.ts +20 -0
- package/dist/workflow/builders/adapt.d.ts.map +1 -0
- package/dist/workflow/builders/adapt.js +33 -0
- package/dist/workflow/builders/adapt.js.map +1 -0
- package/dist/workflow/builders/index.d.ts +8 -0
- package/dist/workflow/builders/index.d.ts.map +1 -0
- package/dist/workflow/builders/index.js +7 -0
- package/dist/workflow/builders/index.js.map +1 -0
- package/dist/workflow/builders/parallel.d.ts +25 -0
- package/dist/workflow/builders/parallel.d.ts.map +1 -0
- package/dist/workflow/builders/parallel.js +60 -0
- package/dist/workflow/builders/parallel.js.map +1 -0
- package/dist/workflow/builders/pipeline.d.ts +22 -0
- package/dist/workflow/builders/pipeline.d.ts.map +1 -0
- package/dist/workflow/builders/pipeline.js +48 -0
- package/dist/workflow/builders/pipeline.js.map +1 -0
- package/dist/workflow/builders/types.d.ts +54 -0
- package/dist/workflow/builders/types.d.ts.map +1 -0
- package/dist/workflow/builders/types.js +5 -0
- package/dist/workflow/builders/types.js.map +1 -0
- package/dist/workflow/durable-agent.d.ts +128 -0
- package/dist/workflow/durable-agent.d.ts.map +1 -0
- package/dist/workflow/durable-agent.js +323 -0
- package/dist/workflow/durable-agent.js.map +1 -0
- package/dist/workflow/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/package.json +13 -13
- package/LICENSE +0 -22
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - V2 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
|
|
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
|
+
* - Approval: always on for dangerous tools
|
|
17
|
+
* - Model: auto-selected from available API keys
|
|
18
|
+
*/
|
|
19
|
+
import type { AgentOptionsV2, AgentV2 } from './types/agent-v2.js';
|
|
20
|
+
/**
|
|
21
|
+
* Create a v2 agent — fully equipped, zero config.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const agent = createAgentV2({
|
|
26
|
+
* name: 'deploy-bot',
|
|
27
|
+
* instructions: 'You manage deployments for our k8s cluster.',
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* const result = await agent.stream({ prompt: 'Roll back staging to yesterday' });
|
|
31
|
+
* for await (const chunk of result.fullStream) {
|
|
32
|
+
* if (chunk.type === 'text-delta') process.stdout.write(chunk.text ?? '');
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Internal options not exposed in the public API.
|
|
38
|
+
* Used by the factory when recursively creating sub-agents.
|
|
39
|
+
*/
|
|
40
|
+
interface InternalV2Options {
|
|
41
|
+
/** Current spawn depth. 0 = top-level agent. */
|
|
42
|
+
_spawnDepth?: number;
|
|
43
|
+
/** Parent agent name, for naming sub-agents. */
|
|
44
|
+
_parentName?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function createAgentV2(options: AgentOptionsV2, _internal?: InternalV2Options): AgentV2;
|
|
47
|
+
export default createAgentV2;
|
|
48
|
+
//# sourceMappingURL=agent-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-v2.d.ts","sourceRoot":"","sources":["../src/agent-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAuB,MAAM,kBAAkB,CAAC;AAuGrF;;;;;;;;;;;;;;;GAeG;AACH;;;GAGG;AACH,UAAU,iBAAiB;IACzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,GAAE,iBAAsB,GAAG,OAAO,CAkTjG;AAED,eAAe,aAAa,CAAC"}
|
package/dist/agent-v2.js
ADDED
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @agntk/core - V2 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
|
|
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
|
+
* - Approval: always on for dangerous tools
|
|
17
|
+
* - Model: auto-selected from available API keys
|
|
18
|
+
*/
|
|
19
|
+
import { resolve } from 'node:path';
|
|
20
|
+
import { homedir } from 'node:os';
|
|
21
|
+
import { ToolLoopAgent, stepCountIs } from 'ai';
|
|
22
|
+
import { createLogger } from '@agntk/logger';
|
|
23
|
+
import { usageLimitStop } from './usage-limits.js';
|
|
24
|
+
import { resolveModel } from './models.js';
|
|
25
|
+
import { createToolPreset } from './presets/tools.js';
|
|
26
|
+
import { createSpawnAgentTool } from './tools/spawn-agent/index.js';
|
|
27
|
+
import { wrapAllToolsWithRetry } from './tools/model-retry.js';
|
|
28
|
+
import { discoverSkills, filterEligibleSkills, buildSkillsSystemPrompt, loadSkillContent } from './skills/index.js';
|
|
29
|
+
import { checkWorkflowAvailability } from './workflow/utils.js';
|
|
30
|
+
import { wrapToolsAsDurable } from './workflow/durable-tool.js';
|
|
31
|
+
import { createReflectionPrepareStep } from './reflection.js';
|
|
32
|
+
// import { applyApproval } from './tools/approval.js'; // Disabled until approval handler is wired up
|
|
33
|
+
import { runGuardrails, handleGuardrailResults } from './guardrails/runner.js';
|
|
34
|
+
import { contentFilter } from './guardrails/built-ins.js';
|
|
35
|
+
import { MarkdownMemoryStore } from './memory/store.js';
|
|
36
|
+
import { loadMemoryContext } from './memory/loader.js';
|
|
37
|
+
import { createMemoryTools } from './memory/tools.js';
|
|
38
|
+
import { initObservability, createTelemetrySettings } from './observability/index.js';
|
|
39
|
+
import { buildDynamicSystemPrompt } from './prompts/context.js';
|
|
40
|
+
// ============================================================================
|
|
41
|
+
// Logger
|
|
42
|
+
// ============================================================================
|
|
43
|
+
const log = createLogger('@agntk/core:agent-v2');
|
|
44
|
+
// ============================================================================
|
|
45
|
+
// Constants
|
|
46
|
+
// ============================================================================
|
|
47
|
+
const DEFAULT_MAX_STEPS = 25;
|
|
48
|
+
const SUB_AGENT_MAX_STEPS = 15;
|
|
49
|
+
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) {
|
|
59
|
+
// Sanitize name for filesystem
|
|
60
|
+
const safeName = name.replace(/[^a-zA-Z0-9_-]/g, '_').toLowerCase();
|
|
61
|
+
return resolve(homedir(), AGENT_STATE_BASE, safeName);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Detect if telemetry should be enabled from env vars.
|
|
65
|
+
*/
|
|
66
|
+
function detectTelemetry() {
|
|
67
|
+
return !!(process.env.LANGFUSE_PUBLIC_KEY &&
|
|
68
|
+
process.env.LANGFUSE_SECRET_KEY);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Build the base instructions for the agent.
|
|
72
|
+
* Combines user instructions with auto-discovered skills.
|
|
73
|
+
*/
|
|
74
|
+
function buildBaseInstructions(name, userInstructions, skillsPrompt) {
|
|
75
|
+
const parts = [];
|
|
76
|
+
// Core identity
|
|
77
|
+
parts.push(`You are ${name}, a capable AI agent.`);
|
|
78
|
+
// User instructions
|
|
79
|
+
if (userInstructions) {
|
|
80
|
+
parts.push('');
|
|
81
|
+
parts.push(userInstructions);
|
|
82
|
+
}
|
|
83
|
+
// Agent capabilities reminder
|
|
84
|
+
parts.push('');
|
|
85
|
+
parts.push('You have access to a full suite of tools including file operations, ' +
|
|
86
|
+
'shell commands, code search (grep, glob, ast-grep), a browser, ' +
|
|
87
|
+
'deep reasoning, planning, and persistent memory. ' +
|
|
88
|
+
'You can spawn sub-agents for complex tasks that benefit from delegation. ' +
|
|
89
|
+
'Use the remember tool to persist important findings across sessions. ' +
|
|
90
|
+
'Use the recall tool to search your memory for relevant context.');
|
|
91
|
+
// Skills
|
|
92
|
+
if (skillsPrompt) {
|
|
93
|
+
parts.push('');
|
|
94
|
+
parts.push(skillsPrompt);
|
|
95
|
+
}
|
|
96
|
+
return parts.join('\n');
|
|
97
|
+
}
|
|
98
|
+
export function createAgentV2(options, _internal = {}) {
|
|
99
|
+
const { name, instructions, workspaceRoot = process.cwd(), } = options;
|
|
100
|
+
const spawnDepth = _internal._spawnDepth ?? 0;
|
|
101
|
+
const isSubAgent = spawnDepth > 0;
|
|
102
|
+
const maxSteps = options.maxSteps ?? (isSubAgent ? SUB_AGENT_MAX_STEPS : DEFAULT_MAX_STEPS);
|
|
103
|
+
log.info('Creating v2 agent', { name, maxSteps, workspaceRoot, spawnDepth });
|
|
104
|
+
// ── 1. Resolve model ──────────────────────────────────────────────────
|
|
105
|
+
// User override takes priority, otherwise auto-select from available API keys.
|
|
106
|
+
const model = options.model ?? resolveModel({ tier: 'standard' });
|
|
107
|
+
log.debug('Model resolved', { hasExplicitModel: !!options.model });
|
|
108
|
+
// ── 2. Build ALL tools (no presets, no filtering) ─────────────────────
|
|
109
|
+
// The 'full' preset creates every tool we have.
|
|
110
|
+
let tools = createToolPreset('full', { workspaceRoot });
|
|
111
|
+
log.debug('Base tools built', { count: Object.keys(tools).length, tools: Object.keys(tools) });
|
|
112
|
+
// ── 3. Memory — always on ─────────────────────────────────────────────
|
|
113
|
+
// Each named agent gets persistent state at ~/.agntk/agents/{name}/
|
|
114
|
+
const agentStatePath = resolveAgentStatePath(name);
|
|
115
|
+
const memoryStore = new MarkdownMemoryStore({
|
|
116
|
+
projectDir: agentStatePath,
|
|
117
|
+
globalDir: '.agntk', // Global identity/preferences at ~/.agntk/
|
|
118
|
+
workspaceRoot,
|
|
119
|
+
});
|
|
120
|
+
const memoryTools = createMemoryTools({ store: memoryStore, model });
|
|
121
|
+
Object.assign(tools, memoryTools);
|
|
122
|
+
log.info('Memory enabled', {
|
|
123
|
+
agentStatePath,
|
|
124
|
+
projectPath: memoryStore.getProjectPath(),
|
|
125
|
+
globalPath: memoryStore.getGlobalPath(),
|
|
126
|
+
tools: Object.keys(memoryTools),
|
|
127
|
+
});
|
|
128
|
+
// ── 4. Sub-agents — recursive v2 creation ──────────────────────────────
|
|
129
|
+
// Sub-agents are full v2 agents. At max depth, spawn tool is omitted.
|
|
130
|
+
if (spawnDepth < DEFAULT_MAX_SPAWN_DEPTH) {
|
|
131
|
+
const spawnTool = createSpawnAgentTool({
|
|
132
|
+
maxSpawnDepth: DEFAULT_MAX_SPAWN_DEPTH,
|
|
133
|
+
currentDepth: spawnDepth,
|
|
134
|
+
createAgent: (subAgentOptions) => {
|
|
135
|
+
const subName = `${name}/${subAgentOptions.role}`;
|
|
136
|
+
log.info('Spawning sub-agent', { parentName: name, subName, role: subAgentOptions.role });
|
|
137
|
+
// Create a full v2 sub-agent with depth+1.
|
|
138
|
+
// It gets all tools, its own memory under the parent's state dir,
|
|
139
|
+
// and won't get a spawn tool if at max depth.
|
|
140
|
+
const subAgent = createAgentV2({
|
|
141
|
+
name: subName,
|
|
142
|
+
instructions: subAgentOptions.instructions,
|
|
143
|
+
workspaceRoot,
|
|
144
|
+
maxSteps: SUB_AGENT_MAX_STEPS,
|
|
145
|
+
model: options.model, // Inherit parent's model
|
|
146
|
+
}, {
|
|
147
|
+
_spawnDepth: spawnDepth + 1,
|
|
148
|
+
_parentName: name,
|
|
149
|
+
});
|
|
150
|
+
return {
|
|
151
|
+
stream: (input) => {
|
|
152
|
+
const streamPromise = subAgent.stream(input);
|
|
153
|
+
return {
|
|
154
|
+
fullStream: (async function* () {
|
|
155
|
+
const result = await streamPromise;
|
|
156
|
+
for await (const chunk of result.fullStream) {
|
|
157
|
+
yield chunk;
|
|
158
|
+
}
|
|
159
|
+
})(),
|
|
160
|
+
text: streamPromise.then((r) => r.text),
|
|
161
|
+
};
|
|
162
|
+
},
|
|
163
|
+
};
|
|
164
|
+
},
|
|
165
|
+
});
|
|
166
|
+
tools = { ...tools, spawn_agent: spawnTool };
|
|
167
|
+
log.debug('Sub-agents enabled', { maxSpawnDepth: DEFAULT_MAX_SPAWN_DEPTH, currentDepth: spawnDepth });
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
log.debug('Sub-agents disabled (at max spawn depth)', { spawnDepth });
|
|
171
|
+
}
|
|
172
|
+
// ── 5. Approval — off by default ─────────────────────────────────────
|
|
173
|
+
// The v2 agent is run by a person who trusts it. Approval can be
|
|
174
|
+
// re-enabled when we add a proper approval handler to the CLI/SDK.
|
|
175
|
+
// Without a handler, needsApproval: true silently blocks tool execution.
|
|
176
|
+
log.debug('Approval disabled (no handler configured)');
|
|
177
|
+
// ── 6. Durability — auto-detect (deferred to init) ──────────────────
|
|
178
|
+
// Wrapping is only applied if the 'workflow' package is installed.
|
|
179
|
+
// Checked in ensureInit() since the detection is async.
|
|
180
|
+
// ── 7. ModelRetry — always on ─────────────────────────────────────────
|
|
181
|
+
tools = wrapAllToolsWithRetry(tools, 3);
|
|
182
|
+
log.debug('ModelRetry wrapping applied');
|
|
183
|
+
// ── 8. Auto-discover skills ───────────────────────────────────────────
|
|
184
|
+
let skillsPrompt = '';
|
|
185
|
+
try {
|
|
186
|
+
const discovered = discoverSkills(undefined, workspaceRoot);
|
|
187
|
+
const eligible = filterEligibleSkills(discovered);
|
|
188
|
+
if (eligible.length > 0) {
|
|
189
|
+
const loaded = eligible.map((s) => loadSkillContent(s));
|
|
190
|
+
skillsPrompt = buildSkillsSystemPrompt(loaded);
|
|
191
|
+
log.info('Skills discovered', { count: eligible.length, names: eligible.map((s) => s.name) });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
log.warn('Skill discovery failed', { error: err instanceof Error ? err.message : String(err) });
|
|
196
|
+
}
|
|
197
|
+
// ── 9. Build system prompt ────────────────────────────────────────────
|
|
198
|
+
let augmentedSystemPrompt = buildBaseInstructions(name, instructions, skillsPrompt);
|
|
199
|
+
// ── 10. Stop conditions ───────────────────────────────────────────────
|
|
200
|
+
const stopConditions = [
|
|
201
|
+
stepCountIs(maxSteps),
|
|
202
|
+
];
|
|
203
|
+
if (options.usageLimits) {
|
|
204
|
+
stopConditions.push(usageLimitStop(options.usageLimits));
|
|
205
|
+
log.debug('Usage limits configured', { limits: options.usageLimits });
|
|
206
|
+
}
|
|
207
|
+
// ── 11. Reflection — always on (reflact strategy) ─────────────────────
|
|
208
|
+
const prepareStep = createReflectionPrepareStep(augmentedSystemPrompt, {
|
|
209
|
+
strategy: 'reflact',
|
|
210
|
+
});
|
|
211
|
+
log.debug('Reflection enabled', { strategy: 'reflact' });
|
|
212
|
+
// ── 12. Guardrails — always on (output: PII content filter) ──────────
|
|
213
|
+
// Default output guardrails run on the final text to catch PII leaks.
|
|
214
|
+
// Uses 'filter' mode: PII is silently redacted, not blocked.
|
|
215
|
+
const outputGuardrails = [contentFilter()];
|
|
216
|
+
log.debug('Output guardrails enabled', { guards: outputGuardrails.map((g) => g.name) });
|
|
217
|
+
// ── 13. Telemetry — auto-detect ──────────────────────────────────────
|
|
218
|
+
const telemetryEnabled = detectTelemetry();
|
|
219
|
+
const telemetrySettings = telemetryEnabled
|
|
220
|
+
? createTelemetrySettings({ functionId: `agent-v2:${name}` })
|
|
221
|
+
: undefined;
|
|
222
|
+
if (telemetryEnabled) {
|
|
223
|
+
log.debug('Telemetry will be initialized on first call');
|
|
224
|
+
}
|
|
225
|
+
// ── 14. Build the ToolLoopAgent ───────────────────────────────────────
|
|
226
|
+
const toolLoopAgent = new ToolLoopAgent({
|
|
227
|
+
model,
|
|
228
|
+
instructions: augmentedSystemPrompt,
|
|
229
|
+
tools,
|
|
230
|
+
stopWhen: stopConditions,
|
|
231
|
+
// Dynamic system prompt injection — picks up memory context after lazy load
|
|
232
|
+
prepareCall: (opts) => ({ ...opts, instructions: augmentedSystemPrompt }),
|
|
233
|
+
prepareStep,
|
|
234
|
+
...(telemetrySettings ? { experimental_telemetry: telemetrySettings } : {}),
|
|
235
|
+
});
|
|
236
|
+
log.debug('ToolLoopAgent created', {
|
|
237
|
+
promptLength: augmentedSystemPrompt.length,
|
|
238
|
+
toolCount: Object.keys(tools).length,
|
|
239
|
+
telemetry: !!telemetrySettings,
|
|
240
|
+
});
|
|
241
|
+
// ── Lazy initializers ─────────────────────────────────────────────────
|
|
242
|
+
const agentLog = log.child({ agent: name });
|
|
243
|
+
let initialized = false;
|
|
244
|
+
let initPromise = null;
|
|
245
|
+
async function ensureInit() {
|
|
246
|
+
if (initialized)
|
|
247
|
+
return;
|
|
248
|
+
if (initPromise)
|
|
249
|
+
return initPromise;
|
|
250
|
+
initPromise = (async () => {
|
|
251
|
+
// Load memory context into system prompt
|
|
252
|
+
try {
|
|
253
|
+
const memoryContext = await loadMemoryContext(memoryStore);
|
|
254
|
+
if (memoryContext) {
|
|
255
|
+
augmentedSystemPrompt = memoryContext + '\n\n' + augmentedSystemPrompt;
|
|
256
|
+
agentLog.debug('Memory context injected', { chars: memoryContext.length });
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
catch (err) {
|
|
260
|
+
agentLog.warn('Memory context loading failed', {
|
|
261
|
+
error: err instanceof Error ? err.message : String(err),
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
// Inject dynamic environment context (time, platform, workspace)
|
|
265
|
+
try {
|
|
266
|
+
augmentedSystemPrompt = await buildDynamicSystemPrompt(augmentedSystemPrompt, {
|
|
267
|
+
workspaceRoot,
|
|
268
|
+
includeWorkspaceMap: true,
|
|
269
|
+
});
|
|
270
|
+
agentLog.debug('Dynamic context injected');
|
|
271
|
+
}
|
|
272
|
+
catch (err) {
|
|
273
|
+
agentLog.warn('Dynamic context injection failed', {
|
|
274
|
+
error: err instanceof Error ? err.message : String(err),
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
// Apply durable wrapping if workflow runtime is available
|
|
278
|
+
try {
|
|
279
|
+
const workflowAvailable = await checkWorkflowAvailability();
|
|
280
|
+
if (workflowAvailable) {
|
|
281
|
+
tools = wrapToolsAsDurable(tools, { retryCount: 3 });
|
|
282
|
+
agentLog.info('Durable tool wrapping active (workflow package detected)');
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
agentLog.debug('Workflow package not installed — skipping durable wrapping');
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
agentLog.debug('Workflow detection failed — skipping durable wrapping');
|
|
290
|
+
}
|
|
291
|
+
// Initialize telemetry if detected
|
|
292
|
+
if (telemetryEnabled) {
|
|
293
|
+
try {
|
|
294
|
+
await initObservability({
|
|
295
|
+
provider: 'langfuse',
|
|
296
|
+
});
|
|
297
|
+
agentLog.info('Telemetry initialized');
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
agentLog.warn('Telemetry initialization failed', {
|
|
301
|
+
error: err instanceof Error ? err.message : String(err),
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
initialized = true;
|
|
306
|
+
})();
|
|
307
|
+
return initPromise;
|
|
308
|
+
}
|
|
309
|
+
// ── Build the agent instance ──────────────────────────────────────────
|
|
310
|
+
const agent = {
|
|
311
|
+
name,
|
|
312
|
+
init: ensureInit,
|
|
313
|
+
getSystemPrompt: () => augmentedSystemPrompt,
|
|
314
|
+
getToolNames: () => Object.keys(tools),
|
|
315
|
+
stream: async (input) => {
|
|
316
|
+
await ensureInit();
|
|
317
|
+
agentLog.info('stream() called', { promptLength: input.prompt.length });
|
|
318
|
+
const result = await toolLoopAgent.stream({ prompt: input.prompt });
|
|
319
|
+
// Apply output guardrails to the final text (async, runs after stream completes).
|
|
320
|
+
// Uses 'filter' mode — PII is silently redacted, agent is never blocked.
|
|
321
|
+
const guardedText = result.text.then(async (text) => {
|
|
322
|
+
if (!text || outputGuardrails.length === 0)
|
|
323
|
+
return text;
|
|
324
|
+
try {
|
|
325
|
+
const { results, filteredText } = await runGuardrails(outputGuardrails, text, {
|
|
326
|
+
prompt: input.prompt,
|
|
327
|
+
phase: 'output',
|
|
328
|
+
});
|
|
329
|
+
const check = handleGuardrailResults(results, text, filteredText, 'output', 'filter');
|
|
330
|
+
if (check.blocked) {
|
|
331
|
+
agentLog.info('Output guardrails filtered content', {
|
|
332
|
+
guards: results.filter((r) => !r.passed).map((r) => r.name),
|
|
333
|
+
});
|
|
334
|
+
return check.text;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
catch (err) {
|
|
338
|
+
agentLog.warn('Output guardrails failed', {
|
|
339
|
+
error: err instanceof Error ? err.message : String(err),
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
return text;
|
|
343
|
+
});
|
|
344
|
+
return {
|
|
345
|
+
fullStream: result.fullStream,
|
|
346
|
+
text: guardedText,
|
|
347
|
+
usage: result.totalUsage,
|
|
348
|
+
};
|
|
349
|
+
},
|
|
350
|
+
};
|
|
351
|
+
log.info('V2 agent created', {
|
|
352
|
+
name,
|
|
353
|
+
spawnDepth,
|
|
354
|
+
toolCount: Object.keys(tools).length,
|
|
355
|
+
tools: Object.keys(tools),
|
|
356
|
+
memoryPath: agentStatePath,
|
|
357
|
+
durable: 'auto-detect',
|
|
358
|
+
telemetry: telemetryEnabled,
|
|
359
|
+
reflection: 'reflact',
|
|
360
|
+
guardrails: outputGuardrails.map((g) => g.name),
|
|
361
|
+
});
|
|
362
|
+
return agent;
|
|
363
|
+
}
|
|
364
|
+
export default createAgentV2;
|
|
365
|
+
//# sourceMappingURL=agent-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-v2.js","sourceRoot":"","sources":["../src/agent-v2.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAmG5E,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,GAAE,eAAoB,GAAG,KAAK,CAuRzF;AAED,eAAe,WAAW,CAAC"}
|
package/dist/agent.js
CHANGED
|
@@ -31,6 +31,7 @@ import { wrapToolsAsDurable } from './workflow/durable-tool.js';
|
|
|
31
31
|
import { createReflectionPrepareStep } from './reflection.js';
|
|
32
32
|
import { runGuardrails, handleGuardrailResults } from './guardrails/runner.js';
|
|
33
33
|
import { contentFilter } from './guardrails/built-ins.js';
|
|
34
|
+
import { applyApproval, resolveApprovalConfig } from './tools/approval.js';
|
|
34
35
|
import { MarkdownMemoryStore } from './memory/store.js';
|
|
35
36
|
import { loadMemoryContext } from './memory/loader.js';
|
|
36
37
|
import { createMemoryTools } from './memory/tools.js';
|
|
@@ -81,7 +82,9 @@ function buildBaseInstructions(name, userInstructions, skillsPrompt) {
|
|
|
81
82
|
'deep reasoning, planning, and persistent memory. ' +
|
|
82
83
|
'You can spawn sub-agents for complex tasks that benefit from delegation. ' +
|
|
83
84
|
'Use the remember tool to persist important findings across sessions. ' +
|
|
84
|
-
'Use the recall tool to search your memory for relevant context.'
|
|
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, ' +
|
|
87
|
+
'"whats up", "hello"), respond conversationally without using tools.');
|
|
85
88
|
if (skillsPrompt) {
|
|
86
89
|
parts.push('');
|
|
87
90
|
parts.push(skillsPrompt);
|
|
@@ -194,17 +197,25 @@ export function createAgent(options, _internal = {}) {
|
|
|
194
197
|
stopConditions.push(usageLimitStop(options.usageLimits));
|
|
195
198
|
}
|
|
196
199
|
// ── 9. Reflection — always on (reflact strategy) ──────────────────────
|
|
197
|
-
|
|
200
|
+
// Pass a getter so reflection always reads the current augmentedSystemPrompt,
|
|
201
|
+
// even after memory/context is injected during ensureInit() (fixes DESIGN-001).
|
|
202
|
+
const prepareStep = createReflectionPrepareStep(() => augmentedSystemPrompt, {
|
|
198
203
|
strategy: 'reflact',
|
|
199
204
|
});
|
|
200
205
|
// ── 10. Guardrails — always on (output: PII content filter) ───────────
|
|
201
206
|
const outputGuardrails = [contentFilter()];
|
|
202
|
-
// ── 11.
|
|
207
|
+
// ── 11. Apply approval wrapping if requested ───────────────────────────
|
|
208
|
+
const approvalConfig = resolveApprovalConfig(options.approval);
|
|
209
|
+
if (approvalConfig) {
|
|
210
|
+
tools = applyApproval(tools, approvalConfig);
|
|
211
|
+
log.info('Approval system enabled', { tools: approvalConfig.tools ?? 'default dangerous tools' });
|
|
212
|
+
}
|
|
213
|
+
// ── 12. Telemetry — auto-detect ──────────────────────────────────────
|
|
203
214
|
const telemetryEnabled = detectTelemetry();
|
|
204
215
|
const telemetrySettings = telemetryEnabled
|
|
205
216
|
? createTelemetrySettings({ functionId: `agent:${name}` })
|
|
206
217
|
: undefined;
|
|
207
|
-
// ──
|
|
218
|
+
// ── 13. Build the ToolLoopAgent ──────────────────────────────────────
|
|
208
219
|
const toolLoopAgent = new ToolLoopAgent({
|
|
209
220
|
model,
|
|
210
221
|
instructions: augmentedSystemPrompt,
|
|
@@ -228,55 +239,62 @@ export function createAgent(options, _internal = {}) {
|
|
|
228
239
|
if (initPromise)
|
|
229
240
|
return initPromise;
|
|
230
241
|
initPromise = (async () => {
|
|
231
|
-
// Load memory context into system prompt
|
|
232
242
|
try {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
243
|
+
// Load memory context into system prompt
|
|
244
|
+
try {
|
|
245
|
+
const memoryContext = await loadMemoryContext(memoryStore);
|
|
246
|
+
if (memoryContext) {
|
|
247
|
+
augmentedSystemPrompt = memoryContext + '\n\n' + augmentedSystemPrompt;
|
|
248
|
+
agentLog.debug('Memory context injected', { chars: memoryContext.length });
|
|
249
|
+
}
|
|
237
250
|
}
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
// Inject dynamic environment context
|
|
245
|
-
try {
|
|
246
|
-
augmentedSystemPrompt = await buildDynamicSystemPrompt(augmentedSystemPrompt, {
|
|
247
|
-
workspaceRoot,
|
|
248
|
-
includeWorkspaceMap: true,
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
catch (err) {
|
|
252
|
-
agentLog.warn('Dynamic context injection failed', {
|
|
253
|
-
error: err instanceof Error ? err.message : String(err),
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
// Apply durable wrapping if workflow runtime is available
|
|
257
|
-
try {
|
|
258
|
-
const workflowAvailable = await checkWorkflowAvailability();
|
|
259
|
-
if (workflowAvailable) {
|
|
260
|
-
tools = wrapToolsAsDurable(tools, { retryCount: 3 });
|
|
261
|
-
agentLog.info('Durable tool wrapping active');
|
|
251
|
+
catch (err) {
|
|
252
|
+
agentLog.warn('Memory context loading failed', {
|
|
253
|
+
error: err instanceof Error ? err.message : String(err),
|
|
254
|
+
});
|
|
262
255
|
}
|
|
263
|
-
|
|
264
|
-
catch {
|
|
265
|
-
agentLog.debug('Workflow detection failed — skipping durable wrapping');
|
|
266
|
-
}
|
|
267
|
-
// Initialize telemetry if detected
|
|
268
|
-
if (telemetryEnabled) {
|
|
256
|
+
// Inject dynamic environment context
|
|
269
257
|
try {
|
|
270
|
-
await
|
|
271
|
-
|
|
258
|
+
augmentedSystemPrompt = await buildDynamicSystemPrompt(augmentedSystemPrompt, {
|
|
259
|
+
workspaceRoot,
|
|
260
|
+
includeWorkspaceMap: true,
|
|
261
|
+
});
|
|
272
262
|
}
|
|
273
263
|
catch (err) {
|
|
274
|
-
agentLog.warn('
|
|
264
|
+
agentLog.warn('Dynamic context injection failed', {
|
|
275
265
|
error: err instanceof Error ? err.message : String(err),
|
|
276
266
|
});
|
|
277
267
|
}
|
|
268
|
+
// Apply durable wrapping if workflow runtime is available
|
|
269
|
+
try {
|
|
270
|
+
const workflowAvailable = await checkWorkflowAvailability();
|
|
271
|
+
if (workflowAvailable) {
|
|
272
|
+
tools = wrapToolsAsDurable(tools, { retryCount: 3 });
|
|
273
|
+
agentLog.info('Durable tool wrapping active');
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
agentLog.debug('Workflow detection failed — skipping durable wrapping');
|
|
278
|
+
}
|
|
279
|
+
// Initialize telemetry if detected
|
|
280
|
+
if (telemetryEnabled) {
|
|
281
|
+
try {
|
|
282
|
+
await initObservability({ provider: 'langfuse' });
|
|
283
|
+
agentLog.info('Telemetry initialized');
|
|
284
|
+
}
|
|
285
|
+
catch (err) {
|
|
286
|
+
agentLog.warn('Telemetry initialization failed', {
|
|
287
|
+
error: err instanceof Error ? err.message : String(err),
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
initialized = true;
|
|
292
|
+
}
|
|
293
|
+
catch (err) {
|
|
294
|
+
// E-5: Reset so callers can retry instead of permanently failing
|
|
295
|
+
initPromise = null;
|
|
296
|
+
throw err;
|
|
278
297
|
}
|
|
279
|
-
initialized = true;
|
|
280
298
|
})();
|
|
281
299
|
return initPromise;
|
|
282
300
|
}
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|