{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/E,mBAAmB;AACnB,qBAAa,WAAW;IACvB,OAAO,CAAC,MAAM,CAAoB;IAElC,YAAY,MAAM,EAAE,iBAAiB,EAEpC;IAED;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAapE;IAED;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKzC;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO9C;IAED;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/C;CACD","sourcesContent":["/**\n * Agent Runner - Executes AI agents with session management\n *\n * Wraps pi-agent-core with OpenClaw-specific functionality:\n * - Bootstrap context loading (AGENTS.md, SOUL.md, etc.)\n * - Memory management\n * - Tool policy enforcement\n * - Sandbox execution\n */\n\nimport type { AgentContext, AgentResult, AgentRunnerConfig } from \"./types.js\";\n\n/** Agent runner */\nexport class AgentRunner {\n\tprivate config: AgentRunnerConfig;\n\n\tconstructor(config: AgentRunnerConfig) {\n\t\tthis.config = config;\n\t}\n\n\t/**\n\t * Run agent with user input\n\t */\n\tasync run(context: AgentContext, input: string): Promise<AgentResult> {\n\t\t// TODO: Integrate with pi-agent-core\n\t\t// This is a placeholder implementation\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tcontent: `Agent response to: ${input}`,\n\t\t\tusage: {\n\t\t\t\tinputTokens: input.length / 4,\n\t\t\t\toutputTokens: 100,\n\t\t\t\ttotalTokens: input.length / 4 + 100,\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Build system prompt with bootstrap context\n\t */\n\tasync buildSystemPrompt(): Promise<string> {\n\t\tconst files = this.config.bootstrapFiles ?? [\"AGENTS.md\", \"SOUL.md\", \"USER.md\", \"IDENTITY.md\", \"TOOLS.md\"];\n\n\t\t// TODO: Load and concatenate bootstrap files\n\t\treturn `You are ${this.config.agent.name}.\\n\\nBootstrap files: ${files.join(\", \")}`;\n\t}\n\n\t/**\n\t * Load memory for context\n\t */\n\tasync loadMemory(): Promise<string | undefined> {\n\t\tif (!this.config.memory?.enabled) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// TODO: Load MEMORY.md and daily logs\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * Save memory\n\t */\n\tasync saveMemory(content: string): Promise<void> {\n\t\tif (!this.config.memory?.enabled) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: Append to daily log or update MEMORY.md\n\t\tconsole.log(`Saving memory: ${content.substring(0, 100)}...`);\n\t}\n}\n"]}