0xkobold 0.7.2 → 0.8.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.
Files changed (252) hide show
  1. package/HEARTBEAT.md +239 -0
  2. package/IDENTITY.md +12 -0
  3. package/README.md +138 -4
  4. package/SOUL.md +21 -0
  5. package/dist/package.json +10 -5
  6. package/dist/src/agent/bootstrap-loader.js +295 -66
  7. package/dist/src/agent/bootstrap-loader.js.map +1 -1
  8. package/dist/src/agent/context-pruning.js +10 -5
  9. package/dist/src/agent/context-pruning.js.map +1 -1
  10. package/dist/src/agent/embedded-runner.js +29 -15
  11. package/dist/src/agent/embedded-runner.js.map +1 -1
  12. package/dist/src/agent/index.js +5 -2
  13. package/dist/src/agent/index.js.map +1 -1
  14. package/dist/src/agent/system-prompt.js +167 -20
  15. package/dist/src/agent/system-prompt.js.map +1 -1
  16. package/dist/src/agent/tools/spawn-agent.js +72 -5
  17. package/dist/src/agent/tools/spawn-agent.js.map +1 -1
  18. package/dist/src/channels/slack/webhook.js +2 -2
  19. package/dist/src/channels/slack/webhook.js.map +1 -1
  20. package/dist/src/channels/telegram/bot.js +4 -4
  21. package/dist/src/channels/telegram/bot.js.map +1 -1
  22. package/dist/src/channels/whatsapp/integration.js +4 -4
  23. package/dist/src/channels/whatsapp/integration.js.map +1 -1
  24. package/dist/src/cli/commands/gateway.js +9 -10
  25. package/dist/src/cli/commands/gateway.js.map +1 -1
  26. package/dist/src/cli/commands/init.js +90 -0
  27. package/dist/src/cli/commands/init.js.map +1 -1
  28. package/dist/src/cli/commands/setup.js +53 -0
  29. package/dist/src/cli/commands/setup.js.map +1 -1
  30. package/dist/src/cli/index.js +0 -0
  31. package/dist/src/config/unified-config.js +5 -0
  32. package/dist/src/config/unified-config.js.map +1 -1
  33. package/dist/src/cron/index.js +2 -0
  34. package/dist/src/cron/index.js.map +1 -1
  35. package/dist/src/cron/nl-parser.js +522 -0
  36. package/dist/src/cron/nl-parser.js.map +1 -0
  37. package/dist/src/cron/runner.js +6 -31
  38. package/dist/src/cron/runner.js.map +1 -1
  39. package/dist/src/event-bus/index.js.map +1 -1
  40. package/dist/src/extensions/core/agent-orchestrator-extension.js +200 -148
  41. package/dist/src/extensions/core/agent-orchestrator-extension.js.map +1 -1
  42. package/dist/src/extensions/core/diagnostics-extension.js +93 -56
  43. package/dist/src/extensions/core/diagnostics-extension.js.map +1 -1
  44. package/dist/src/extensions/core/draconic-safety-extension.js +256 -3
  45. package/dist/src/extensions/core/draconic-safety-extension.js.map +1 -1
  46. package/dist/src/extensions/core/heartbeat-extension.js +416 -150
  47. package/dist/src/extensions/core/heartbeat-extension.js.map +1 -1
  48. package/dist/src/extensions/core/{generative-agents-extension.js → learning-extension.js} +90 -128
  49. package/dist/src/extensions/core/learning-extension.js.map +1 -0
  50. package/dist/src/extensions/core/perennial-memory-extension.js +884 -87
  51. package/dist/src/extensions/core/perennial-memory-extension.js.map +1 -1
  52. package/dist/src/extensions/core/routed-ollama-extension.js +345 -0
  53. package/dist/src/extensions/core/routed-ollama-extension.js.map +1 -0
  54. package/dist/src/extensions/core/task-manager-extension.js +25 -2
  55. package/dist/src/extensions/core/task-manager-extension.js.map +1 -1
  56. package/dist/src/extensions/core/websearch-enhanced-extension.js +81 -23
  57. package/dist/src/extensions/core/websearch-enhanced-extension.js.map +1 -1
  58. package/dist/src/extensions/core/workspace-footer-extension.js +40 -63
  59. package/dist/src/extensions/core/workspace-footer-extension.js.map +1 -1
  60. package/dist/src/extensions/loader.js +5 -1
  61. package/dist/src/extensions/loader.js.map +1 -1
  62. package/dist/src/gateway/gateway-server.js +74 -3
  63. package/dist/src/gateway/gateway-server.js.map +1 -1
  64. package/dist/src/gateway/index.js +2 -2
  65. package/dist/src/gateway/index.js.map +1 -1
  66. package/dist/src/gateway/methods/agent.js +1 -1
  67. package/dist/src/gateway/methods/agent.js.map +1 -1
  68. package/dist/src/gateway/methods/index.js +4 -0
  69. package/dist/src/gateway/methods/index.js.map +1 -1
  70. package/dist/src/gateway/methods/node.js +261 -0
  71. package/dist/src/gateway/methods/node.js.map +1 -0
  72. package/dist/src/gateway/queue-modes.js +356 -0
  73. package/dist/src/gateway/queue-modes.js.map +1 -0
  74. package/dist/src/index.js +47 -6
  75. package/dist/src/index.js.map +1 -1
  76. package/dist/src/llm/community-analytics.js +569 -0
  77. package/dist/src/llm/community-analytics.js.map +1 -0
  78. package/dist/src/llm/index.js +28 -4
  79. package/dist/src/llm/index.js.map +1 -1
  80. package/dist/src/llm/model-discovery.js +335 -0
  81. package/dist/src/llm/model-discovery.js.map +1 -0
  82. package/dist/src/llm/model-popularity.js +566 -0
  83. package/dist/src/llm/model-popularity.js.map +1 -0
  84. package/dist/src/llm/model-scoring-db.js +553 -0
  85. package/dist/src/llm/model-scoring-db.js.map +1 -0
  86. package/dist/src/llm/multi-provider.js +258 -0
  87. package/dist/src/llm/multi-provider.js.map +1 -0
  88. package/dist/src/llm/ollama.js +133 -187
  89. package/dist/src/llm/ollama.js.map +1 -1
  90. package/dist/src/llm/router-commands.js +773 -0
  91. package/dist/src/llm/router-commands.js.map +1 -0
  92. package/dist/src/llm/router-core.js +600 -0
  93. package/dist/src/llm/router-core.js.map +1 -0
  94. package/dist/src/memory/checkpoint-manager.js +278 -0
  95. package/dist/src/memory/checkpoint-manager.js.map +1 -0
  96. package/dist/src/memory/conflict-detector.js +279 -0
  97. package/dist/src/memory/conflict-detector.js.map +1 -0
  98. package/dist/src/memory/context-graph.js +360 -0
  99. package/dist/src/memory/context-graph.js.map +1 -0
  100. package/dist/src/memory/dialectic/benchmark-cli.js +200 -0
  101. package/dist/src/memory/dialectic/benchmark-cli.js.map +1 -0
  102. package/dist/src/memory/dialectic/debug-reasoning.js +37 -0
  103. package/dist/src/memory/dialectic/debug-reasoning.js.map +1 -0
  104. package/dist/src/memory/dialectic/index.js +135 -0
  105. package/dist/src/memory/dialectic/index.js.map +1 -0
  106. package/dist/src/memory/dialectic/nudges.js +380 -0
  107. package/dist/src/memory/dialectic/nudges.js.map +1 -0
  108. package/dist/src/memory/dialectic/reasoning-engine.js +607 -0
  109. package/dist/src/memory/dialectic/reasoning-engine.js.map +1 -0
  110. package/dist/src/memory/dialectic/reasoning.js +390 -0
  111. package/dist/src/memory/dialectic/reasoning.js.map +1 -0
  112. package/dist/src/memory/dialectic/skill-creation.js +481 -0
  113. package/dist/src/memory/dialectic/skill-creation.js.map +1 -0
  114. package/dist/src/memory/dialectic/store.js +663 -0
  115. package/dist/src/memory/dialectic/store.js.map +1 -0
  116. package/dist/src/memory/dialectic/types.js +11 -0
  117. package/dist/src/memory/dialectic/types.js.map +1 -0
  118. package/dist/src/memory/index.js +24 -2
  119. package/dist/src/memory/index.js.map +1 -1
  120. package/dist/src/memory/memory-decay.js +350 -0
  121. package/dist/src/memory/memory-decay.js.map +1 -0
  122. package/dist/src/memory/memory-integration.js +5 -5
  123. package/dist/src/memory/memory-integration.js.map +1 -1
  124. package/dist/src/memory/migrate-memory-stream.js +97 -0
  125. package/dist/src/memory/migrate-memory-stream.js.map +1 -0
  126. package/dist/src/memory/session-memory-bridge.js +49 -5
  127. package/dist/src/memory/session-memory-bridge.js.map +1 -1
  128. package/dist/src/memory/session-store.js +123 -0
  129. package/dist/src/memory/session-store.js.map +1 -1
  130. package/dist/src/memory/smart-write-rules.js +164 -0
  131. package/dist/src/memory/smart-write-rules.js.map +1 -0
  132. package/dist/src/memory/tiered-memory.js +436 -0
  133. package/dist/src/memory/tiered-memory.js.map +1 -0
  134. package/dist/src/memory/types.js +6 -0
  135. package/dist/src/memory/types.js.map +1 -0
  136. package/dist/src/memory/verify-migration.js +99 -0
  137. package/dist/src/memory/verify-migration.js.map +1 -0
  138. package/dist/src/pi-config.js +11 -9
  139. package/dist/src/pi-config.js.map +1 -1
  140. package/dist/src/skills/conditional-skills.js +464 -0
  141. package/dist/src/skills/conditional-skills.js.map +1 -0
  142. package/dist/src/skills/index.js +5 -0
  143. package/dist/src/skills/index.js.map +1 -1
  144. package/dist/src/skills/loader.js +56 -0
  145. package/dist/src/skills/loader.js.map +1 -1
  146. package/dist/src/skills/skill-manage.js +417 -0
  147. package/dist/src/skills/skill-manage.js.map +1 -0
  148. package/dist/src/tui/commands/orchestration-commands.js +62 -0
  149. package/dist/src/tui/commands/orchestration-commands.js.map +1 -1
  150. package/package.json +10 -5
  151. package/skills/model-router-test.ts +65 -0
  152. package/dist/src/extensions/core/auto-security-scan-extension.js +0 -41
  153. package/dist/src/extensions/core/auto-security-scan-extension.js.map +0 -1
  154. package/dist/src/extensions/core/cloudflare-browser-extension.js +0 -389
  155. package/dist/src/extensions/core/cloudflare-browser-extension.js.map +0 -1
  156. package/dist/src/extensions/core/compaction-safeguard.js +0 -223
  157. package/dist/src/extensions/core/compaction-safeguard.js.map +0 -1
  158. package/dist/src/extensions/core/generative-agents-extension.js.map +0 -1
  159. package/dist/src/extensions/core/obsidian-bridge-extension.js +0 -488
  160. package/dist/src/extensions/core/obsidian-bridge-extension.js.map +0 -1
  161. package/dist/src/llm/router.js +0 -145
  162. package/dist/src/llm/router.js.map +0 -1
  163. package/skills/kobold-scan-skill/node_modules/.package-lock.json +0 -172
  164. package/skills/kobold-scan-skill/node_modules/ansi-styles/index.d.ts +0 -345
  165. package/skills/kobold-scan-skill/node_modules/ansi-styles/index.js +0 -163
  166. package/skills/kobold-scan-skill/node_modules/ansi-styles/license +0 -9
  167. package/skills/kobold-scan-skill/node_modules/ansi-styles/package.json +0 -56
  168. package/skills/kobold-scan-skill/node_modules/ansi-styles/readme.md +0 -152
  169. package/skills/kobold-scan-skill/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  170. package/skills/kobold-scan-skill/node_modules/balanced-match/LICENSE.md +0 -21
  171. package/skills/kobold-scan-skill/node_modules/balanced-match/README.md +0 -97
  172. package/skills/kobold-scan-skill/node_modules/balanced-match/index.js +0 -62
  173. package/skills/kobold-scan-skill/node_modules/balanced-match/package.json +0 -48
  174. package/skills/kobold-scan-skill/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  175. package/skills/kobold-scan-skill/node_modules/brace-expansion/LICENSE +0 -21
  176. package/skills/kobold-scan-skill/node_modules/brace-expansion/README.md +0 -135
  177. package/skills/kobold-scan-skill/node_modules/brace-expansion/index.js +0 -203
  178. package/skills/kobold-scan-skill/node_modules/brace-expansion/package.json +0 -49
  179. package/skills/kobold-scan-skill/node_modules/chalk/index.d.ts +0 -415
  180. package/skills/kobold-scan-skill/node_modules/chalk/license +0 -9
  181. package/skills/kobold-scan-skill/node_modules/chalk/package.json +0 -68
  182. package/skills/kobold-scan-skill/node_modules/chalk/readme.md +0 -341
  183. package/skills/kobold-scan-skill/node_modules/chalk/source/index.js +0 -229
  184. package/skills/kobold-scan-skill/node_modules/chalk/source/templates.js +0 -134
  185. package/skills/kobold-scan-skill/node_modules/chalk/source/util.js +0 -39
  186. package/skills/kobold-scan-skill/node_modules/color-convert/CHANGELOG.md +0 -54
  187. package/skills/kobold-scan-skill/node_modules/color-convert/LICENSE +0 -21
  188. package/skills/kobold-scan-skill/node_modules/color-convert/README.md +0 -68
  189. package/skills/kobold-scan-skill/node_modules/color-convert/conversions.js +0 -839
  190. package/skills/kobold-scan-skill/node_modules/color-convert/index.js +0 -81
  191. package/skills/kobold-scan-skill/node_modules/color-convert/package.json +0 -48
  192. package/skills/kobold-scan-skill/node_modules/color-convert/route.js +0 -97
  193. package/skills/kobold-scan-skill/node_modules/color-name/LICENSE +0 -8
  194. package/skills/kobold-scan-skill/node_modules/color-name/README.md +0 -11
  195. package/skills/kobold-scan-skill/node_modules/color-name/index.js +0 -152
  196. package/skills/kobold-scan-skill/node_modules/color-name/package.json +0 -28
  197. package/skills/kobold-scan-skill/node_modules/commander/LICENSE +0 -22
  198. package/skills/kobold-scan-skill/node_modules/commander/Readme.md +0 -1129
  199. package/skills/kobold-scan-skill/node_modules/commander/esm.mjs +0 -16
  200. package/skills/kobold-scan-skill/node_modules/commander/index.js +0 -27
  201. package/skills/kobold-scan-skill/node_modules/commander/lib/argument.js +0 -147
  202. package/skills/kobold-scan-skill/node_modules/commander/lib/command.js +0 -2179
  203. package/skills/kobold-scan-skill/node_modules/commander/lib/error.js +0 -45
  204. package/skills/kobold-scan-skill/node_modules/commander/lib/help.js +0 -461
  205. package/skills/kobold-scan-skill/node_modules/commander/lib/option.js +0 -326
  206. package/skills/kobold-scan-skill/node_modules/commander/lib/suggestSimilar.js +0 -100
  207. package/skills/kobold-scan-skill/node_modules/commander/package-support.json +0 -16
  208. package/skills/kobold-scan-skill/node_modules/commander/package.json +0 -80
  209. package/skills/kobold-scan-skill/node_modules/commander/typings/index.d.ts +0 -891
  210. package/skills/kobold-scan-skill/node_modules/fs.realpath/LICENSE +0 -43
  211. package/skills/kobold-scan-skill/node_modules/fs.realpath/README.md +0 -33
  212. package/skills/kobold-scan-skill/node_modules/fs.realpath/index.js +0 -66
  213. package/skills/kobold-scan-skill/node_modules/fs.realpath/old.js +0 -303
  214. package/skills/kobold-scan-skill/node_modules/fs.realpath/package.json +0 -26
  215. package/skills/kobold-scan-skill/node_modules/glob/LICENSE +0 -15
  216. package/skills/kobold-scan-skill/node_modules/glob/README.md +0 -399
  217. package/skills/kobold-scan-skill/node_modules/glob/common.js +0 -244
  218. package/skills/kobold-scan-skill/node_modules/glob/glob.js +0 -790
  219. package/skills/kobold-scan-skill/node_modules/glob/package.json +0 -55
  220. package/skills/kobold-scan-skill/node_modules/glob/sync.js +0 -486
  221. package/skills/kobold-scan-skill/node_modules/has-flag/index.d.ts +0 -39
  222. package/skills/kobold-scan-skill/node_modules/has-flag/index.js +0 -8
  223. package/skills/kobold-scan-skill/node_modules/has-flag/license +0 -9
  224. package/skills/kobold-scan-skill/node_modules/has-flag/package.json +0 -46
  225. package/skills/kobold-scan-skill/node_modules/has-flag/readme.md +0 -89
  226. package/skills/kobold-scan-skill/node_modules/inflight/LICENSE +0 -15
  227. package/skills/kobold-scan-skill/node_modules/inflight/README.md +0 -37
  228. package/skills/kobold-scan-skill/node_modules/inflight/inflight.js +0 -54
  229. package/skills/kobold-scan-skill/node_modules/inflight/package.json +0 -29
  230. package/skills/kobold-scan-skill/node_modules/inherits/LICENSE +0 -16
  231. package/skills/kobold-scan-skill/node_modules/inherits/README.md +0 -42
  232. package/skills/kobold-scan-skill/node_modules/inherits/inherits.js +0 -9
  233. package/skills/kobold-scan-skill/node_modules/inherits/inherits_browser.js +0 -27
  234. package/skills/kobold-scan-skill/node_modules/inherits/package.json +0 -29
  235. package/skills/kobold-scan-skill/node_modules/minimatch/LICENSE +0 -15
  236. package/skills/kobold-scan-skill/node_modules/minimatch/README.md +0 -259
  237. package/skills/kobold-scan-skill/node_modules/minimatch/lib/path.js +0 -4
  238. package/skills/kobold-scan-skill/node_modules/minimatch/minimatch.js +0 -944
  239. package/skills/kobold-scan-skill/node_modules/minimatch/package.json +0 -35
  240. package/skills/kobold-scan-skill/node_modules/once/LICENSE +0 -15
  241. package/skills/kobold-scan-skill/node_modules/once/README.md +0 -79
  242. package/skills/kobold-scan-skill/node_modules/once/once.js +0 -42
  243. package/skills/kobold-scan-skill/node_modules/once/package.json +0 -33
  244. package/skills/kobold-scan-skill/node_modules/supports-color/browser.js +0 -5
  245. package/skills/kobold-scan-skill/node_modules/supports-color/index.js +0 -135
  246. package/skills/kobold-scan-skill/node_modules/supports-color/license +0 -9
  247. package/skills/kobold-scan-skill/node_modules/supports-color/package.json +0 -53
  248. package/skills/kobold-scan-skill/node_modules/supports-color/readme.md +0 -76
  249. package/skills/kobold-scan-skill/node_modules/wrappy/LICENSE +0 -15
  250. package/skills/kobold-scan-skill/node_modules/wrappy/README.md +0 -36
  251. package/skills/kobold-scan-skill/node_modules/wrappy/package.json +0 -29
  252. package/skills/kobold-scan-skill/node_modules/wrappy/wrappy.js +0 -33
@@ -1,138 +1,367 @@
1
1
  /**
2
- * Bootstrap Loader - v0.2.0
2
+ * Bootstrap Loader - v0.4.0
3
3
  *
4
- * Loads bootstrap personality files (SOUL.md, IDENTITY.md, etc.)
5
- * and prepares them for system prompt injection.
4
+ * HERMES-STYLE IDENTITY LOADING:
5
+ * - SOUL.md lives ONLY in KOBOLD_HOME (instance-level, not repo-local)
6
+ * - Personalities are session-level overlays (/personality command)
7
+ * - AGENTS.md is project-local (hierarchical discovery)
8
+ * - No per-agent SOUL/IDENTITY - subagents share instance identity
9
+ *
10
+ * Inspired by Hermes Agent: https://hermes-agent.nousresearch.com
6
11
  */
7
12
  import * as fs from "node:fs/promises";
8
13
  import * as path from "node:path";
9
14
  import { existsSync } from "node:fs";
10
- export const DEFAULT_BOOTSTRAP_FILES = [
11
- "SOUL.md",
12
- "IDENTITY.md",
13
- "USER.md",
14
- "AGENTS.md",
15
- "TOOLS.md",
16
- "HEARTBEAT.md",
17
- "MEMORY.md",
15
+ /**
16
+ * Files loaded from KOBOLD_HOME (instance-level identity)
17
+ * These follow you everywhere - your baseline personality
18
+ */
19
+ export const INSTANCE_FILES = ["SOUL.md", "IDENTITY.md", "USER.md", "HEARTBEAT.md"];
20
+ /**
21
+ * Files discovered from working directory (project-specific)
22
+ */
23
+ export const PROJECT_FILES = ["AGENTS.md", ".cursorrules", ".cursor/rules"];
24
+ /**
25
+ * Security: Prompt injection patterns (Hermes-style)
26
+ */
27
+ const INJECTION_PATTERNS = [
28
+ /ignore\s+(previous|all|your)\s+(instructions?|rules?|directives?)/gi,
29
+ /disregard\s+(your|all|previous)\s+(instructions?|rules?)/gi,
30
+ /forget\s+(your|all|previous)\s+(instructions?|programming)/gi,
31
+ /system\s*prompt\s*override/gi,
32
+ /new\s+(system|developer|admin)\s+(prompt|instructions?)/gi,
33
+ /you\s+are\s+now\s+(a|an)\s+/gi,
34
+ /<\s*!--.*?-->/gs,
35
+ /<div[^>]*style\s*=\s*["']display\s*:\s*none[^>]*>/gi,
36
+ /(?:api[_-]?key|token|secret|password|credential)\s*[:=]/gi,
37
+ /curl\s+.*?\$(?:API_KEY|TOKEN|SECRET)/gi,
38
+ /cat\s+\.env/gi,
39
+ /[\u200B-\u200F\u2028-\u202F\u205F-\u206F]/g,
18
40
  ];
19
- const DEFAULT_CONFIG = {
20
- maxFileSize: 20000,
21
- maxTotalSize: 150000,
22
- files: DEFAULT_BOOTSTRAP_FILES,
23
- };
24
41
  /**
25
- * Load bootstrap files from workspace
42
+ * Get the Kobold home directory
43
+ * Like HERMES_HOME, this is where instance-level files live
26
44
  */
27
- export async function loadBootstrapFiles(workspaceDir, config = {}) {
28
- const mergedConfig = { ...DEFAULT_CONFIG, ...config };
45
+ export function getKoboldHome() {
46
+ return process.env.KOBOLD_HOME ||
47
+ process.env.KOBOLD_WORKSPACE ||
48
+ path.join(process.env.HOME || "", ".0xkobold");
49
+ }
50
+ /**
51
+ * Scan content for prompt injection patterns
52
+ */
53
+ function detectInjection(content) {
54
+ for (const pattern of INJECTION_PATTERNS) {
55
+ if (pattern.test(content)) {
56
+ return {
57
+ safe: false,
58
+ reason: `Potential prompt injection detected`
59
+ };
60
+ }
61
+ }
62
+ return { safe: true };
63
+ }
64
+ /**
65
+ * Truncate with head/tail preservation (Hermes style)
66
+ * 70% head, 20% tail, 10% marker
67
+ */
68
+ function truncateWithHeadTail(content, maxSize) {
69
+ if (content.length <= maxSize)
70
+ return content;
71
+ const headSize = Math.floor(maxSize * 0.70);
72
+ const tailSize = Math.floor(maxSize * 0.20);
73
+ const head = content.slice(0, headSize);
74
+ const tail = content.slice(-tailSize);
75
+ const marker = `\n\n[...truncated: kept ${headSize}+${tailSize} of ${content.length} chars. Use file tools to read full content.]\n\n`;
76
+ return head + marker + tail;
77
+ }
78
+ /**
79
+ * Load instance-level files (SOUL.md, IDENTITY.md, USER.md)
80
+ * These come from KOBOLD_HOME ONLY - never from working directory
81
+ * This is the Hermes philosophy: stable instance-level identity
82
+ */
83
+ export async function loadInstanceFiles(config = {}) {
84
+ const home = config.homeDir || getKoboldHome();
29
85
  const results = [];
30
- let totalSize = 0;
31
- for (const filename of mergedConfig.files) {
32
- const filePath = path.join(workspaceDir, filename);
86
+ for (const filename of INSTANCE_FILES) {
87
+ const filePath = path.join(home, filename);
33
88
  if (!existsSync(filePath)) {
34
89
  results.push({
35
90
  name: filename,
36
- content: ``,
91
+ content: "",
37
92
  exists: false,
38
93
  size: 0,
94
+ source: "instance",
39
95
  });
40
96
  continue;
41
97
  }
42
98
  try {
43
- const content = await fs.readFile(filePath, "utf-8");
44
- // Truncate if too large
45
- let finalContent = content;
46
- if (content.length > mergedConfig.maxFileSize) {
47
- finalContent = content.slice(0, mergedConfig.maxFileSize) +
48
- "\n\n[... truncated, read file for full content]";
99
+ let content = await fs.readFile(filePath, "utf-8");
100
+ // Security scan
101
+ if (config.enableInjectionProtection !== false) {
102
+ const scan = detectInjection(content);
103
+ if (!scan.safe) {
104
+ console.warn(`[Bootstrap] BLOCKED: ${filename} - ${scan.reason}`);
105
+ results.push({
106
+ name: filename,
107
+ content: `[BLOCKED: ${filename} contained ${scan.reason}]`,
108
+ exists: true,
109
+ size: 0,
110
+ source: "instance",
111
+ blocked: true,
112
+ blockReason: scan.reason,
113
+ });
114
+ continue;
115
+ }
49
116
  }
117
+ // Truncate if needed
118
+ const maxSize = config.maxFileSize || 20000;
119
+ const finalContent = truncateWithHeadTail(content, maxSize);
50
120
  results.push({
51
121
  name: filename,
52
122
  content: finalContent,
53
123
  exists: true,
54
124
  size: finalContent.length,
125
+ source: "instance",
55
126
  });
56
- totalSize += finalContent.length;
57
- // Check total limit
58
- if (totalSize > mergedConfig.maxTotalSize) {
59
- console.warn(`[Bootstrap] Total size exceeded ${mergedConfig.maxTotalSize}, stopping`);
60
- break;
61
- }
62
127
  }
63
128
  catch (error) {
64
129
  results.push({
65
130
  name: filename,
66
- content: ``,
131
+ content: "",
67
132
  exists: false,
68
133
  size: 0,
134
+ source: "instance",
69
135
  });
70
136
  }
71
137
  }
72
138
  return results;
73
139
  }
140
+ /**
141
+ * Hierarchical AGENTS.md discovery (Hermes style)
142
+ * Walks directory tree starting from working directory
143
+ * This is project-specific context that SHOULD vary by project
144
+ */
145
+ export async function discoverProjectFiles(workingDir, config = {}) {
146
+ const workDir = workingDir || config.workingDir || process.cwd();
147
+ const results = [];
148
+ const skipDirs = new Set([
149
+ "node_modules", ".git", "dist", "build", "__pycache__",
150
+ ".venv", "venv", "vendor", ".next", ".nuxt", "target", "vendor"
151
+ ]);
152
+ async function walk(dir, depth) {
153
+ if (depth > 10)
154
+ return; // Max depth
155
+ // Check for AGENTS.md
156
+ const agentsPath = path.join(dir, "AGENTS.md");
157
+ if (existsSync(agentsPath)) {
158
+ try {
159
+ let content = await fs.readFile(agentsPath, "utf-8");
160
+ // Security scan
161
+ if (config.enableInjectionProtection !== false) {
162
+ const scan = detectInjection(content);
163
+ if (!scan.safe) {
164
+ results.push({
165
+ name: `AGENTS.md (${path.relative(workDir, dir) || "."})`,
166
+ content: `[BLOCKED: prompt injection detected]`,
167
+ exists: true,
168
+ size: 0,
169
+ source: "project",
170
+ blocked: true,
171
+ blockReason: scan.reason,
172
+ });
173
+ return;
174
+ }
175
+ }
176
+ const maxSize = config.maxFileSize || 20000;
177
+ const finalContent = truncateWithHeadTail(content, maxSize);
178
+ results.push({
179
+ name: `AGENTS.md (${path.relative(workDir, dir) || "."})`,
180
+ content: finalContent,
181
+ exists: true,
182
+ size: finalContent.length,
183
+ source: "project",
184
+ });
185
+ }
186
+ catch { }
187
+ }
188
+ // Walk subdirectories
189
+ try {
190
+ const entries = await fs.readdir(dir, { withFileTypes: true });
191
+ for (const entry of entries) {
192
+ if (!entry.isDirectory() || skipDirs.has(entry.name) || entry.name.startsWith(".")) {
193
+ continue;
194
+ }
195
+ await walk(path.join(dir, entry.name), depth + 1);
196
+ }
197
+ }
198
+ catch { }
199
+ }
200
+ await walk(workDir, 0);
201
+ // Sort shallowest first (closest to working directory)
202
+ return results;
203
+ }
204
+ /**
205
+ * Load personality overlay (session-level mode switch)
206
+ * Like Hermes /personality command
207
+ */
208
+ export async function loadPersonalityOverlay(personalityName, config = {}) {
209
+ const home = config.homeDir || getKoboldHome();
210
+ const personalityPath = path.join(home, "personalities", `${personalityName}.md`);
211
+ if (!existsSync(personalityPath)) {
212
+ return null;
213
+ }
214
+ try {
215
+ let content = await fs.readFile(personalityPath, "utf-8");
216
+ // Security scan
217
+ if (config.enableInjectionProtection !== false) {
218
+ const scan = detectInjection(content);
219
+ if (!scan.safe) {
220
+ console.warn(`[Bootstrap] Personality '${personalityName}' blocked: ${scan.reason}`);
221
+ return null;
222
+ }
223
+ }
224
+ return { name: personalityName, content };
225
+ }
226
+ catch {
227
+ return null;
228
+ }
229
+ }
74
230
  /**
75
231
  * Format bootstrap files for system prompt
232
+ * Hermes style: inject content directly, no wrapper explanations
76
233
  */
77
- export function formatBootstrapForPrompt(files) {
78
- const existingFiles = files.filter(f => f.exists);
79
- if (existingFiles.length === 0) {
80
- return "<!-- No bootstrap context files present -->";
234
+ export function formatBootstrapForPrompt(instanceFiles, projectFiles = [], personalityOverlay) {
235
+ const parts = [];
236
+ // 1. Instance-level identity (SOUL.md, IDENTITY.md, USER.md)
237
+ // These are your baseline personality - follows you everywhere
238
+ const validInstance = instanceFiles.filter(f => f.exists && !f.blocked);
239
+ if (validInstance.length > 0) {
240
+ for (const file of validInstance) {
241
+ // Inject directly (Hermes style: no "If SOUL.md is present..." wrapper)
242
+ parts.push(file.content);
243
+ }
244
+ }
245
+ // 2. Project context (AGENTS.md)
246
+ // This varies by project - discovered from working directory
247
+ const validProject = projectFiles.filter(f => f.exists && !f.blocked);
248
+ if (validProject.length > 0) {
249
+ parts.push("");
250
+ parts.push("<!-- Project Context -->");
251
+ for (const file of validProject) {
252
+ parts.push(`<!-- ${file.name} (${file.size} chars) -->`);
253
+ parts.push(file.content);
254
+ }
255
+ }
256
+ // 3. Personality overlay (session-level mode switch)
257
+ // Like Hermes /personality command - temporary overlay
258
+ if (personalityOverlay) {
259
+ parts.push("");
260
+ parts.push(`<!-- Personality: ${personalityOverlay.name} -->`);
261
+ parts.push(personalityOverlay.content);
81
262
  }
82
- const sections = existingFiles.map(file => `<!-- ${file.name} (${file.size} chars) -->\n${file.content}`);
83
- return [
84
- "<!-- Bootstrap Context (auto-loaded on session start) -->",
85
- ...sections,
86
- ].join("\n\n---\n\n");
263
+ return parts.join("\n\n");
87
264
  }
88
265
  /**
89
- * Create default SOUL.md if missing
266
+ * Load all bootstrap context (Hermes-style)
90
267
  */
91
- export async function ensureDefaultBootstrap(workspaceDir) {
92
- const soulPath = path.join(workspaceDir, "SOUL.md");
93
- const identityPath = path.join(workspaceDir, "IDENTITY.md");
268
+ export async function loadBootstrap(config = {}) {
269
+ const instanceFiles = await loadInstanceFiles(config);
270
+ const projectFiles = await discoverProjectFiles(config.workingDir, config);
271
+ return { instanceFiles, projectFiles };
272
+ }
273
+ /**
274
+ * Ensure default SOUL.md exists (Hermes style)
275
+ */
276
+ export async function ensureDefaultFiles(config = {}) {
277
+ const home = config.homeDir || getKoboldHome();
278
+ const soulPath = path.join(home, "SOUL.md");
279
+ const identityPath = path.join(home, "IDENTITY.md");
280
+ const personalitiesDir = path.join(home, "personalities");
281
+ // Create default SOUL.md if missing
94
282
  if (!existsSync(soulPath)) {
95
- const defaultSoul = `# SOUL - Agent Personality
283
+ const defaultSoul = `# SOUL
96
284
 
97
- ## Identity
98
285
  **Name:** 0xKobold
286
+ **Emoji:** 🐉
99
287
  **Role:** Your digital familiar
100
- **Vibe:** Friendly, curious, and helpful
288
+
289
+ ## Identity
290
+ You're a helpful AI coding assistant. Your purpose is to assist with coding tasks,
291
+ answer questions, and act as a companion in development workflows.
101
292
 
102
293
  ## Tone
103
- - Style: Clear and conversational
104
- - Formality: Casual but respectful
105
- - Humor: Light and appropriate
294
+ - Clear and conversational
295
+ - Direct but kind
296
+ - Practical over theoretical
297
+ - Celebrates wins, owns mistakes
106
298
 
107
- ## Core Values
108
- - **Helpfulness:** Always assist the user
299
+ ## Values
300
+ - **Helpfulness:** Assist effectively
109
301
  - **Honesty:** Be truthful about capabilities
110
- - **Learning:** Improve from every interaction
302
+ - **Learning:** Improve continuously
111
303
 
112
304
  ## Guidelines
113
305
  - Ask clarifying questions when needed
114
306
  - Provide examples when helpful
115
- - Admit when unsure or need more info
307
+ - Admit when unsure
308
+ - Test your changes when possible
116
309
  `;
310
+ await fs.mkdir(home, { recursive: true });
117
311
  await fs.writeFile(soulPath, defaultSoul);
118
- console.log("[Bootstrap] Created default SOUL.md");
312
+ console.log("[Bootstrap] Created default SOUL.md in", home);
119
313
  }
314
+ // Create default IDENTITY.md if missing
120
315
  if (!existsSync(identityPath)) {
121
316
  const defaultIdentity = `# IDENTITY
122
317
 
123
318
  **Name:** 0xKobold
124
319
  **Emoji:** 🐉
125
- **Tagline:** Your digital familiar
126
320
  **Role:** AI companion and coding assistant
127
321
 
128
- ## Tone
129
- - Conversational and warm
130
- - Uses emojis occasionally 🎉
131
- - Celebrates wins with enthusiasm
132
- - Gentle with mistakes
322
+ ## Capabilities
323
+ - Read, write, and edit files
324
+ - Execute commands
325
+ - Search codebase
326
+ - Access web resources
327
+ - Remember context across sessions
133
328
  `;
134
329
  await fs.writeFile(identityPath, defaultIdentity);
135
330
  console.log("[Bootstrap] Created default IDENTITY.md");
136
331
  }
332
+ // Create personalities directory with defaults
333
+ if (!existsSync(personalitiesDir)) {
334
+ await fs.mkdir(personalitiesDir, { recursive: true });
335
+ const defaultPersonalities = {
336
+ concise: "# Personality: Concise\n\nBe brief and direct. Skip pleasantries.\nFocus on information density.\nOne sentence if that's all it takes.\nNo filler. No \"great question.\"",
337
+ technical: "# Personality: Technical\n\nBe detailed and precise.\nExplain technical reasoning clearly.\nInclude code examples when helpful.\nUse proper terminology.\nConsider edge cases explicitly.",
338
+ teacher: "# Personality: Teacher\n\nExplain concepts clearly for learning.\nUse analogies and examples liberally.\nCheck understanding by asking follow-ups.\nBe patient with questions.\nBuild up from fundamentals.",
339
+ };
340
+ for (const [name, content] of Object.entries(defaultPersonalities)) {
341
+ await fs.writeFile(path.join(personalitiesDir, `${name}.md`), content);
342
+ }
343
+ console.log("[Bootstrap] Created default personalities");
344
+ }
137
345
  }
346
+ /**
347
+ * Get summary for diagnostics
348
+ */
349
+ export function getBootstrapSummary(instanceFiles, projectFiles) {
350
+ return {
351
+ instanceLoaded: instanceFiles.filter(f => f.exists && !f.blocked).map(f => f.name),
352
+ projectLoaded: projectFiles.filter(f => f.exists && !f.blocked).map(f => f.name),
353
+ blocked: [...instanceFiles, ...projectFiles].filter(f => f.blocked).map(f => f.name),
354
+ totalChars: [...instanceFiles, ...projectFiles].reduce((sum, f) => sum + f.size, 0),
355
+ };
356
+ }
357
+ export default {
358
+ loadInstanceFiles,
359
+ discoverProjectFiles,
360
+ loadPersonalityOverlay,
361
+ loadBootstrap,
362
+ formatBootstrapForPrompt,
363
+ ensureDefaultFiles,
364
+ getBootstrapSummary,
365
+ getKoboldHome,
366
+ };
138
367
  //# sourceMappingURL=bootstrap-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-loader.js","sourceRoot":"","sources":["../../../src/agent/bootstrap-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap-loader.js","sourceRoot":"","sources":["../../../src/agent/bootstrap-loader.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,20 @@
6
6
  */
7
7
  export const DEFAULT_BUDGET = {
8
8
  maxTokens: 128000, // Default for high-context models
9
- warningThreshold: 80,
10
- criticalThreshold: 95,
9
+ warningThreshold: 75, // Warning at 75% to leave buffer
10
+ criticalThreshold: 90, // Critical at 90% to safely compact before hitting limits
11
11
  };
12
+ // Safety buffer to prevent "exceeded max context length" errors
13
+ // This accounts for estimation inaccuracy (~5%) and system overhead
14
+ const SAFETY_BUFFER_TOKENS = 1000;
12
15
  /**
13
- * Token estimation (rough approximation)
16
+ * Token estimation (improved accuracy)
14
17
  */
15
18
  export function estimateTokens(text) {
16
- // ~4 chars per token on average
17
- return Math.ceil(text.length / 4);
19
+ // ~3.5 chars per token is more accurate for most LLMs
20
+ // Add 10% buffer for special tokens, formatting overhead
21
+ const base = text.length / 3.5;
22
+ return Math.ceil(base * 1.1); // 10% overhead for safety
18
23
  }
19
24
  /**
20
25
  * Calculate current token usage
@@ -1 +1 @@
1
- {"version":3,"file":"context-pruning.js","sourceRoot":"","sources":["../../../src/agent/context-pruning.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-pruning.js","sourceRoot":"","sources":["../../../src/agent/context-pruning.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  /**
2
- * Embedded Agent Runner - v0.3.0
2
+ * Embedded Agent Runner - v0.4.0
3
3
  *
4
4
  * Wraps pi-coding-agent with full TUI settings sharing.
5
5
  * Shares: extensions, model config, persona from IDENTITY.md/SOUL.md
6
+ *
7
+ * HERMES-STYLE: Loads instance identity from KOBOLD_HOME only
6
8
  */
7
- import { loadBootstrapFiles, ensureDefaultBootstrap } from "./bootstrap-loader.js";
8
- import { buildSystemPrompt } from "./system-prompt.js";
9
+ import { loadBootstrap, ensureDefaultFiles } from "./bootstrap-loader.js";
10
+ import { buildSystemPromptAsync } from "./system-prompt.js";
9
11
  import { config as piConfig } from "../pi-config.js";
10
12
  import { getConfigValue } from "../config/loader.js";
13
+ import * as path from "node:path";
14
+ import { homedir } from "node:os";
11
15
  /**
12
16
  * Run agent with embedded mode (shares TUI settings)
13
17
  *
@@ -59,18 +63,24 @@ export async function runEmbeddedAgent(config) {
59
63
  console.log("[Embedded] Using standalone mode (no TUI settings)");
60
64
  model = config.model || process.env.KOBOLD_MODEL || "ollama/kimi-k2.5:cloud";
61
65
  }
62
- // 1. Ensure bootstrap files exist (checks global ~/.0xkobold/ first)
63
- await ensureDefaultBootstrap(workspaceDir);
64
- // 2. Load bootstrap files (SOUL.md, IDENTITY.md, etc.)
65
- const bootstrapFiles = await loadBootstrapFiles(workspaceDir);
66
- console.log(`[Embedded] Loaded ${bootstrapFiles.filter(f => f.exists).length} bootstrap files`);
66
+ // 1. Ensure default files exist (creates SOUL.md if missing)
67
+ const homeDir = process.env.KOBOLD_HOME || path.join(homedir(), ".0xkobold");
68
+ await ensureDefaultFiles({ homeDir });
69
+ // 2. Load instance identity (Hermes-style: from KOBOLD_HOME only)
70
+ const { instanceFiles, projectFiles } = await loadBootstrap({
71
+ homeDir,
72
+ workingDir: workspaceDir,
73
+ });
74
+ console.log(`[Embedded] Loaded ${instanceFiles.filter(f => f.exists).length} instance files`);
75
+ console.log(`[Embedded] Loaded ${projectFiles.filter(f => f.exists).length} project files`);
67
76
  // 3. Build custom system prompt with persona context
68
- const systemPrompt = buildSystemPrompt({
69
- basePrompt: undefined,
70
- bootstrapFiles,
77
+ const systemPrompt = await buildSystemPromptAsync({
78
+ instanceFiles,
79
+ projectFiles,
71
80
  workspace: workspaceDir,
72
81
  mode: config.mode,
73
82
  tools: [],
83
+ extraSystemPrompt: config.extraSystemPrompt,
74
84
  });
75
85
  console.log(`[Embedded] System prompt: ${systemPrompt.length} chars`);
76
86
  // 4. Try to integrate with pi-coding-agent SDK
@@ -113,11 +123,14 @@ export async function runEmbeddedAgent(config) {
113
123
  console.log('[Embedded] Running in simulation mode (SDK not available)');
114
124
  const simulatedResult = {
115
125
  text: `[Embedded mode simulation]\n\n` +
116
- `Bootstrap files loaded:\n` +
117
- bootstrapFiles
126
+ `Instance identity loaded:\n` +
127
+ instanceFiles
118
128
  .filter(f => f.exists)
119
129
  .map(f => `- ${f.name} (${f.size} chars)`)
120
130
  .join("\n") +
131
+ (projectFiles.length > 0
132
+ ? `\n\nProject context:\n` + projectFiles.filter(f => f.exists).map(f => `- ${f.name}`).join("\n")
133
+ : '') +
121
134
  (model ? `\n\nModel: ${model}` : '') +
122
135
  (extensions.length > 0 ? `\nExtensions: ${extensions.length}` : ''),
123
136
  toolCalls: [],
@@ -160,7 +173,8 @@ export async function isEmbeddedModeAvailable() {
160
173
  * Sets up directories and default files
161
174
  */
162
175
  export async function initEmbeddedMode(workspaceDir) {
163
- await ensureDefaultBootstrap(workspaceDir);
164
- console.log("[Embedded] Initialized workspace with bootstrap files");
176
+ const homeDir = process.env.KOBOLD_HOME || path.join(homedir(), ".0xkobold");
177
+ await ensureDefaultFiles({ homeDir });
178
+ console.log("[Embedded] Initialized with default identity files");
165
179
  }
166
180
  //# sourceMappingURL=embedded-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-runner.js","sourceRoot":"","sources":["../../../src/agent/embedded-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAA8B,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAc,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAqCjE;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAyB;IAEzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,GAAG,CAAC;IAEvD,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;IAE5D,oCAAoC;IACpC,IAAI,UAAU,GAAa,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACnD,IAAI,KAAK,GAAW,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IAEvC,IAAI,MAAM,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAEzD,iCAAiC;QACjC,IAAI,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE;YACpD,qCAAqC;YACrC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBAC9B,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnB,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,qBAAqB,UAAU,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAClF,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,cAAc,CAAS,uBAAuB,CAAC;oBAC5D,OAAO,CAAC,GAAG,CAAC,YAAY;oBACxB,wBAAwB,CAAC;gBACjC,KAAK,GAAG,YAAY,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,wBAAwB,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,wBAAwB,CAAC;IAC/E,CAAC;IAED,qEAAqE;IACrE,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAE3C,uDAAuD;IACvD,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,kBAAkB,CAAC,CAAC;IAEhG,qDAAqD;IACrD,MAAM,YAAY,GAAG,iBAAiB,CAAC;QACrC,UAAU,EAAE,SAAS;QACrB,cAAc;QACd,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,EAAE;KACV,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,6BAA6B,YAAY,CAAC,MAAM,QAAQ,CAAC,CAAC;IAEtE,+CAA+C;IAC/C,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzH,IAAI,kBAAkB,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAEpD,4CAA4C;YAC5C,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;gBAC3C,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,YAAY,EAAE,YAAY;gBAC1B,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAC1D,KAAK,EAAE,KAAK,EAAE,wBAAwB;gBACtC,QAAQ,EAAE;oBACR,GAAG,QAAQ,CAAC,QAAQ;oBACpB,mBAAmB,EAAE,IAAI;oBACzB,eAAe,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;iBAC1C;aACF,CAAC,CAAC;YAEH,iBAAiB;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAElE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAExC,OAAO;gBACL,IAAI,EAAE,MAAM,IAAI,aAAa;gBAC7B,SAAS,EAAE,EAAE;gBACb,QAAQ,EAAE;oBACR,QAAQ;oBACR,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;oBAC/B,KAAK;oBACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;iBAC3D;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,QAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,gEAAgE,EAAG,QAAkB,CAAC,OAAO,CAAC,CAAC;IAC7G,CAAC;IAED,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,MAAM,eAAe,GAAsB;QACzC,IAAI,EAAE,gCAAgC;YAChC,2BAA2B;YAC3B,cAAc;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBACrB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC;iBACzC,IAAI,CAAC,IAAI,CAAC;YACb,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAChC,MAAM,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;YAC/B,KAAK;YACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC3D;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,2BAA2B,eAAe,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;IAE9E,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB;IAC3C,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;QAE7E,yBAAyB;QACzB,MAAM,aAAa,GAAG,OAAO,kBAAkB,KAAK,UAAU,CAAC;QAE/D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,6EAA6E,CAAC,CAAC;YAC3F,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,2CAA2C,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,YAAoB;IACzD,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"embedded-runner.js","sourceRoot":"","sources":["../../../src/agent/embedded-runner.ts"],"names":[],"mappings":"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"}