@phuetz/code-buddy 0.1.18 → 0.1.20

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 (355) hide show
  1. package/dist/agent/background-tasks.d.ts +49 -0
  2. package/dist/agent/background-tasks.js +153 -0
  3. package/dist/agent/background-tasks.js.map +1 -0
  4. package/dist/agent/definitions/agent-definition-loader.d.ts +21 -0
  5. package/dist/agent/definitions/agent-definition-loader.js +161 -0
  6. package/dist/agent/definitions/agent-definition-loader.js.map +1 -0
  7. package/dist/agent/definitions/index.d.ts +1 -0
  8. package/dist/agent/definitions/index.js +2 -0
  9. package/dist/agent/definitions/index.js.map +1 -0
  10. package/dist/agent/extended-thinking.d.ts +64 -0
  11. package/dist/agent/extended-thinking.js +103 -0
  12. package/dist/agent/extended-thinking.js.map +1 -0
  13. package/dist/agent/prompt-suggestions.d.ts +55 -0
  14. package/dist/agent/prompt-suggestions.js +125 -0
  15. package/dist/agent/prompt-suggestions.js.map +1 -0
  16. package/dist/agent/rewind-manager.d.ts +59 -0
  17. package/dist/agent/rewind-manager.js +124 -0
  18. package/dist/agent/rewind-manager.js.map +1 -0
  19. package/dist/agent/teams/agent-team.d.ts +54 -0
  20. package/dist/agent/teams/agent-team.js +114 -0
  21. package/dist/agent/teams/agent-team.js.map +1 -0
  22. package/dist/agent/teams/index.d.ts +1 -0
  23. package/dist/agent/teams/index.js +2 -0
  24. package/dist/agent/teams/index.js.map +1 -0
  25. package/dist/agent/teams/team-v2.d.ts +166 -0
  26. package/dist/agent/teams/team-v2.js +376 -0
  27. package/dist/agent/teams/team-v2.js.map +1 -0
  28. package/dist/analytics/dashboard.js +1 -1
  29. package/dist/analytics/dashboard.js.map +1 -1
  30. package/dist/channels/imessage/index.d.ts +40 -0
  31. package/dist/channels/imessage/index.js +69 -0
  32. package/dist/channels/imessage/index.js.map +1 -0
  33. package/dist/channels/line/index.d.ts +36 -0
  34. package/dist/channels/line/index.js +71 -0
  35. package/dist/channels/line/index.js.map +1 -0
  36. package/dist/channels/mattermost/index.d.ts +34 -0
  37. package/dist/channels/mattermost/index.js +56 -0
  38. package/dist/channels/mattermost/index.js.map +1 -0
  39. package/dist/channels/nextcloud-talk/index.d.ts +37 -0
  40. package/dist/channels/nextcloud-talk/index.js +67 -0
  41. package/dist/channels/nextcloud-talk/index.js.map +1 -0
  42. package/dist/channels/niche-channels.d.ts +61 -0
  43. package/dist/channels/niche-channels.js +131 -0
  44. package/dist/channels/niche-channels.js.map +1 -0
  45. package/dist/channels/nostr/index.d.ts +30 -0
  46. package/dist/channels/nostr/index.js +68 -0
  47. package/dist/channels/nostr/index.js.map +1 -0
  48. package/dist/channels/twilio-voice/index.d.ts +37 -0
  49. package/dist/channels/twilio-voice/index.js +76 -0
  50. package/dist/channels/twilio-voice/index.js.map +1 -0
  51. package/dist/channels/whatsapp/index.js +0 -1
  52. package/dist/channels/whatsapp/index.js.map +1 -1
  53. package/dist/channels/zalo/index.d.ts +28 -0
  54. package/dist/channels/zalo/index.js +53 -0
  55. package/dist/channels/zalo/index.js.map +1 -0
  56. package/dist/cloud/cloud-sessions.d.ts +56 -0
  57. package/dist/cloud/cloud-sessions.js +187 -0
  58. package/dist/cloud/cloud-sessions.js.map +1 -0
  59. package/dist/codebuddy/tool-definitions/advanced-tools.d.ts +1 -0
  60. package/dist/codebuddy/tool-definitions/advanced-tools.js +24 -0
  61. package/dist/codebuddy/tool-definitions/advanced-tools.js.map +1 -1
  62. package/dist/codebuddy/tool-definitions/index.d.ts +1 -1
  63. package/dist/codebuddy/tool-definitions/index.js +1 -1
  64. package/dist/codebuddy/tool-definitions/index.js.map +1 -1
  65. package/dist/commands/delegate.js +2 -2
  66. package/dist/commands/delegate.js.map +1 -1
  67. package/dist/commands/features.d.ts +1 -1
  68. package/dist/commands/features.js +1 -1
  69. package/dist/commands/handlers/auth-handler.d.ts +32 -0
  70. package/dist/commands/handlers/auth-handler.js +137 -0
  71. package/dist/commands/handlers/auth-handler.js.map +1 -0
  72. package/dist/commands/handlers/context-handler.d.ts +46 -0
  73. package/dist/commands/handlers/context-handler.js +102 -0
  74. package/dist/commands/handlers/context-handler.js.map +1 -0
  75. package/dist/commands/handlers/core-handlers.js +1 -1
  76. package/dist/commands/handlers/core-handlers.js.map +1 -1
  77. package/dist/commands/handlers/keybindings-handler.d.ts +30 -0
  78. package/dist/commands/handlers/keybindings-handler.js +124 -0
  79. package/dist/commands/handlers/keybindings-handler.js.map +1 -0
  80. package/dist/commands/handlers/missing-handlers.js +15 -14
  81. package/dist/commands/handlers/missing-handlers.js.map +1 -1
  82. package/dist/commands/handlers/session-commands.d.ts +17 -0
  83. package/dist/commands/handlers/session-commands.js +119 -0
  84. package/dist/commands/handlers/session-commands.js.map +1 -0
  85. package/dist/commands/handlers/worktree-handlers.d.ts +1 -1
  86. package/dist/commands/handlers/worktree-handlers.js +2 -2
  87. package/dist/commands/slash/builtin-commands.js +2 -2
  88. package/dist/commands/slash/builtin-commands.js.map +1 -1
  89. package/dist/config/admin-config.d.ts +54 -0
  90. package/dist/config/admin-config.js +144 -0
  91. package/dist/config/admin-config.js.map +1 -0
  92. package/dist/config/advanced-config.d.ts +118 -0
  93. package/dist/config/advanced-config.js +364 -0
  94. package/dist/config/advanced-config.js.map +1 -0
  95. package/dist/config/constants.d.ts +2 -2
  96. package/dist/config/constants.js +2 -2
  97. package/dist/config/constants.js.map +1 -1
  98. package/dist/config/managed-policies.d.ts +50 -0
  99. package/dist/config/managed-policies.js +120 -0
  100. package/dist/config/managed-policies.js.map +1 -0
  101. package/dist/config/settings-hierarchy.d.ts +59 -0
  102. package/dist/config/settings-hierarchy.js +188 -0
  103. package/dist/config/settings-hierarchy.js.map +1 -0
  104. package/dist/config/toml-config.js +1 -1
  105. package/dist/config/toml-config.js.map +1 -1
  106. package/dist/config/tool-profiles.d.ts +37 -0
  107. package/dist/config/tool-profiles.js +150 -0
  108. package/dist/config/tool-profiles.js.map +1 -0
  109. package/dist/config/user-settings.d.ts +31 -0
  110. package/dist/config/user-settings.js +66 -0
  111. package/dist/config/user-settings.js.map +1 -0
  112. package/dist/context/context-files.d.ts +1 -1
  113. package/dist/context/context-files.js +3 -3
  114. package/dist/context/context-files.js.map +1 -1
  115. package/dist/context/partial-summarizer.d.ts +32 -0
  116. package/dist/context/partial-summarizer.js +144 -0
  117. package/dist/context/partial-summarizer.js.map +1 -0
  118. package/dist/desktop/desktop-app.d.ts +44 -0
  119. package/dist/desktop/desktop-app.js +136 -0
  120. package/dist/desktop/desktop-app.js.map +1 -0
  121. package/dist/features/index.d.ts +1 -1
  122. package/dist/features/index.js +2 -2
  123. package/dist/features/index.js.map +1 -1
  124. package/dist/git/worktree-sessions.d.ts +24 -0
  125. package/dist/git/worktree-sessions.js +93 -0
  126. package/dist/git/worktree-sessions.js.map +1 -0
  127. package/dist/hooks/advanced-hooks.d.ts +110 -0
  128. package/dist/hooks/advanced-hooks.js +256 -0
  129. package/dist/hooks/advanced-hooks.js.map +1 -0
  130. package/dist/hooks/async-hooks.d.ts +73 -0
  131. package/dist/hooks/async-hooks.js +213 -0
  132. package/dist/hooks/async-hooks.js.map +1 -0
  133. package/dist/hooks/env-persistence.d.ts +58 -0
  134. package/dist/hooks/env-persistence.js +195 -0
  135. package/dist/hooks/env-persistence.js.map +1 -0
  136. package/dist/hooks/hook-events.d.ts +36 -0
  137. package/dist/hooks/hook-events.js +55 -0
  138. package/dist/hooks/hook-events.js.map +1 -0
  139. package/dist/hooks/hook-system.js +1 -1
  140. package/dist/hooks/hook-system.js.map +1 -1
  141. package/dist/hooks/smart-hooks.d.ts +85 -0
  142. package/dist/hooks/smart-hooks.js +199 -0
  143. package/dist/hooks/smart-hooks.js.map +1 -0
  144. package/dist/ide/jetbrains-plugin.d.ts +55 -0
  145. package/dist/ide/jetbrains-plugin.js +156 -0
  146. package/dist/ide/jetbrains-plugin.js.map +1 -0
  147. package/dist/ide/vscode-extension.d.ts +94 -0
  148. package/dist/ide/vscode-extension.js +229 -0
  149. package/dist/ide/vscode-extension.js.map +1 -0
  150. package/dist/index.js +77 -3
  151. package/dist/index.js.map +1 -1
  152. package/dist/input/file-autocomplete.d.ts +42 -0
  153. package/dist/input/file-autocomplete.js +154 -0
  154. package/dist/input/file-autocomplete.js.map +1 -0
  155. package/dist/integrations/chrome-bridge.d.ts +90 -0
  156. package/dist/integrations/chrome-bridge.js +151 -0
  157. package/dist/integrations/chrome-bridge.js.map +1 -0
  158. package/dist/integrations/github-action-runner.d.ts +40 -0
  159. package/dist/integrations/github-action-runner.js +163 -0
  160. package/dist/integrations/github-action-runner.js.map +1 -0
  161. package/dist/integrations/github-actions.js +1 -1
  162. package/dist/integrations/github-actions.js.map +1 -1
  163. package/dist/integrations/gitlab-ci-runner.d.ts +34 -0
  164. package/dist/integrations/gitlab-ci-runner.js +104 -0
  165. package/dist/integrations/gitlab-ci-runner.js.map +1 -0
  166. package/dist/integrations/pr-session-linker.d.ts +44 -0
  167. package/dist/integrations/pr-session-linker.js +103 -0
  168. package/dist/integrations/pr-session-linker.js.map +1 -0
  169. package/dist/integrations/tailscale.d.ts +36 -0
  170. package/dist/integrations/tailscale.js +101 -0
  171. package/dist/integrations/tailscale.js.map +1 -0
  172. package/dist/lsp/lsp-client.d.ts +68 -0
  173. package/dist/lsp/lsp-client.js +182 -0
  174. package/dist/lsp/lsp-client.js.map +1 -0
  175. package/dist/lsp/server.js +3 -3
  176. package/dist/lsp/server.js.map +1 -1
  177. package/dist/mcp/connectors.d.ts +28 -0
  178. package/dist/mcp/connectors.js +148 -0
  179. package/dist/mcp/connectors.js.map +1 -0
  180. package/dist/mcp/index.d.ts +7 -4
  181. package/dist/mcp/index.js +7 -4
  182. package/dist/mcp/index.js.map +1 -1
  183. package/dist/mcp/mcp-auto-discovery.d.ts +49 -0
  184. package/dist/mcp/mcp-auto-discovery.js +104 -0
  185. package/dist/mcp/mcp-auto-discovery.js.map +1 -0
  186. package/dist/mcp/mcp-server.d.ts +70 -0
  187. package/dist/mcp/mcp-server.js +374 -0
  188. package/dist/mcp/mcp-server.js.map +1 -0
  189. package/dist/memory/auto-memory.d.ts +53 -0
  190. package/dist/memory/auto-memory.js +250 -0
  191. package/dist/memory/auto-memory.js.map +1 -0
  192. package/dist/memory/hybrid-search.d.ts +51 -0
  193. package/dist/memory/hybrid-search.js +199 -0
  194. package/dist/memory/hybrid-search.js.map +1 -0
  195. package/dist/memory/memory-flush.d.ts +51 -0
  196. package/dist/memory/memory-flush.js +102 -0
  197. package/dist/memory/memory-flush.js.map +1 -0
  198. package/dist/memory/subagent-memory.d.ts +73 -0
  199. package/dist/memory/subagent-memory.js +172 -0
  200. package/dist/memory/subagent-memory.js.map +1 -0
  201. package/dist/nodes/device-node.d.ts +40 -0
  202. package/dist/nodes/device-node.js +117 -0
  203. package/dist/nodes/device-node.js.map +1 -0
  204. package/dist/observability/dashboard.d.ts +1 -1
  205. package/dist/observability/dashboard.js +2 -2
  206. package/dist/observability/dashboard.js.map +1 -1
  207. package/dist/offline/offline-mode.d.ts +1 -1
  208. package/dist/offline/offline-mode.js +1 -1
  209. package/dist/output/json-schema-output.d.ts +67 -0
  210. package/dist/output/json-schema-output.js +273 -0
  211. package/dist/output/json-schema-output.js.map +1 -0
  212. package/dist/persistence/session-picker.d.ts +22 -0
  213. package/dist/persistence/session-picker.js +47 -0
  214. package/dist/persistence/session-picker.js.map +1 -0
  215. package/dist/persistence/session-store.d.ts +11 -0
  216. package/dist/persistence/session-store.js +17 -0
  217. package/dist/persistence/session-store.js.map +1 -1
  218. package/dist/plugins/git-pinned-marketplace.d.ts +39 -0
  219. package/dist/plugins/git-pinned-marketplace.js +152 -0
  220. package/dist/plugins/git-pinned-marketplace.js.map +1 -0
  221. package/dist/plugins/marketplace.d.ts +1 -1
  222. package/dist/plugins/marketplace.js +1 -1
  223. package/dist/plugins/plugin-manifest.d.ts +116 -0
  224. package/dist/plugins/plugin-manifest.js +283 -0
  225. package/dist/plugins/plugin-manifest.js.map +1 -0
  226. package/dist/prompts/index.d.ts +1 -1
  227. package/dist/prompts/index.js +1 -1
  228. package/dist/providers/local-llm-provider.d.ts +1 -1
  229. package/dist/providers/local-llm-provider.js +1 -1
  230. package/dist/sandbox/os-sandbox.d.ts +49 -1
  231. package/dist/sandbox/os-sandbox.js +347 -6
  232. package/dist/sandbox/os-sandbox.js.map +1 -1
  233. package/dist/scripting/codebuddy-bindings.js +1 -1
  234. package/dist/scripting/codebuddy-bindings.js.map +1 -1
  235. package/dist/sdk/agent-sdk.d.ts +61 -0
  236. package/dist/sdk/agent-sdk.js +90 -0
  237. package/dist/sdk/agent-sdk.js.map +1 -0
  238. package/dist/security/index.d.ts +1 -1
  239. package/dist/security/index.js +1 -1
  240. package/dist/security/permission-modes.d.ts +76 -0
  241. package/dist/security/permission-modes.js +195 -0
  242. package/dist/security/permission-modes.js.map +1 -0
  243. package/dist/security/permission-patterns.d.ts +61 -0
  244. package/dist/security/permission-patterns.js +171 -0
  245. package/dist/security/permission-patterns.js.map +1 -0
  246. package/dist/security/safe-binaries.d.ts +23 -0
  247. package/dist/security/safe-binaries.js +96 -0
  248. package/dist/security/safe-binaries.js.map +1 -0
  249. package/dist/security/sender-policies.d.ts +46 -0
  250. package/dist/security/sender-policies.js +90 -0
  251. package/dist/security/sender-policies.js.map +1 -0
  252. package/dist/server/dashboard.d.ts +53 -0
  253. package/dist/server/dashboard.js +93 -0
  254. package/dist/server/dashboard.js.map +1 -0
  255. package/dist/services/system-prompt-override.d.ts +34 -0
  256. package/dist/services/system-prompt-override.js +64 -0
  257. package/dist/services/system-prompt-override.js.map +1 -0
  258. package/dist/skills/skill-enhancements.d.ts +37 -0
  259. package/dist/skills/skill-enhancements.js +69 -0
  260. package/dist/skills/skill-enhancements.js.map +1 -0
  261. package/dist/telemetry/otel-tracer.d.ts +98 -0
  262. package/dist/telemetry/otel-tracer.js +245 -0
  263. package/dist/telemetry/otel-tracer.js.map +1 -0
  264. package/dist/templates/export/html.template.js +2 -2
  265. package/dist/templates/export/markdown.template.js +1 -1
  266. package/dist/templates/export/markdown.template.js.map +1 -1
  267. package/dist/themes/default-themes.d.ts +1 -1
  268. package/dist/themes/default-themes.js +1 -1
  269. package/dist/themes/index.d.ts +1 -1
  270. package/dist/themes/index.js +1 -1
  271. package/dist/themes/theme-manager.d.ts +1 -1
  272. package/dist/themes/theme-manager.js +1 -1
  273. package/dist/themes/theme.d.ts +1 -1
  274. package/dist/themes/theme.js +1 -1
  275. package/dist/tools/browser-stub.d.ts +61 -0
  276. package/dist/tools/browser-stub.js +184 -0
  277. package/dist/tools/browser-stub.js.map +1 -0
  278. package/dist/tools/gateway-tool.d.ts +43 -0
  279. package/dist/tools/gateway-tool.js +92 -0
  280. package/dist/tools/gateway-tool.js.map +1 -0
  281. package/dist/tools/image-stub.d.ts +32 -0
  282. package/dist/tools/image-stub.js +97 -0
  283. package/dist/tools/image-stub.js.map +1 -0
  284. package/dist/tools/js-repl.d.ts +78 -0
  285. package/dist/tools/js-repl.js +280 -0
  286. package/dist/tools/js-repl.js.map +1 -0
  287. package/dist/tools/message-tool.d.ts +42 -0
  288. package/dist/tools/message-tool.js +113 -0
  289. package/dist/tools/message-tool.js.map +1 -0
  290. package/dist/types/errors.d.ts +1 -1
  291. package/dist/types/errors.js +1 -1
  292. package/dist/ui/app.js +1 -1
  293. package/dist/ui/app.js.map +1 -1
  294. package/dist/ui/cli-enhancements.d.ts +178 -0
  295. package/dist/ui/cli-enhancements.js +430 -0
  296. package/dist/ui/cli-enhancements.js.map +1 -0
  297. package/dist/ui/components/HelpSystem.d.ts +1 -1
  298. package/dist/ui/components/HelpSystem.js +1 -1
  299. package/dist/ui/context/theme-context.d.ts +1 -1
  300. package/dist/ui/context/theme-context.js +1 -1
  301. package/dist/ui/dashboard/dashboard.js +1 -1
  302. package/dist/ui/dashboard/dashboard.js.map +1 -1
  303. package/dist/ui/status-line.d.ts +90 -0
  304. package/dist/ui/status-line.js +160 -0
  305. package/dist/ui/status-line.js.map +1 -0
  306. package/dist/ui/terminal-enhancements.d.ts +34 -0
  307. package/dist/ui/terminal-enhancements.js +97 -0
  308. package/dist/ui/terminal-enhancements.js.map +1 -0
  309. package/dist/ui/ui-enhancements.d.ts +38 -0
  310. package/dist/ui/ui-enhancements.js +116 -0
  311. package/dist/ui/ui-enhancements.js.map +1 -0
  312. package/dist/undo/checkpoint-manager.d.ts +1 -1
  313. package/dist/undo/checkpoint-manager.js +1 -1
  314. package/dist/utils/codebuddy-home.d.ts +1 -1
  315. package/dist/utils/codebuddy-home.js +1 -1
  316. package/dist/utils/conversation-export.js +3 -3
  317. package/dist/utils/conversation-export.js.map +1 -1
  318. package/dist/utils/custom-commands.js +1 -1
  319. package/dist/utils/custom-instructions.js +4 -1
  320. package/dist/utils/custom-instructions.js.map +1 -1
  321. package/dist/utils/debug-logger.d.ts +1 -1
  322. package/dist/utils/debug-logger.js +1 -1
  323. package/dist/utils/errors.d.ts +2 -2
  324. package/dist/utils/errors.js +2 -2
  325. package/dist/utils/export-manager.js +3 -3
  326. package/dist/utils/export-manager.js.map +1 -1
  327. package/dist/utils/headless-output.js +1 -1
  328. package/dist/utils/headless-output.js.map +1 -1
  329. package/dist/utils/init-project.d.ts +1 -1
  330. package/dist/utils/init-project.js +20 -20
  331. package/dist/utils/init-project.js.map +1 -1
  332. package/dist/utils/logger.d.ts +1 -1
  333. package/dist/utils/logger.js +1 -1
  334. package/dist/utils/output-schema-validator.d.ts +40 -0
  335. package/dist/utils/output-schema-validator.js +137 -0
  336. package/dist/utils/output-schema-validator.js.map +1 -0
  337. package/dist/utils/safety-misc.d.ts +24 -0
  338. package/dist/utils/safety-misc.js +91 -0
  339. package/dist/utils/safety-misc.js.map +1 -0
  340. package/dist/utils/session-enhancements.d.ts +40 -0
  341. package/dist/utils/session-enhancements.js +118 -0
  342. package/dist/utils/session-enhancements.js.map +1 -0
  343. package/dist/utils/shell-completions.js +6 -6
  344. package/dist/utils/shell-snapshot.d.ts +38 -0
  345. package/dist/utils/shell-snapshot.js +323 -0
  346. package/dist/utils/shell-snapshot.js.map +1 -0
  347. package/dist/utils/stream-json-formatter.d.ts +77 -0
  348. package/dist/utils/stream-json-formatter.js +61 -0
  349. package/dist/utils/stream-json-formatter.js.map +1 -0
  350. package/dist/utils/terminal-notifications.js +1 -1
  351. package/dist/utils/terminal-notifications.js.map +1 -1
  352. package/dist/workflows/lobster-engine.d.ts +43 -0
  353. package/dist/workflows/lobster-engine.js +167 -0
  354. package/dist/workflows/lobster-engine.js.map +1 -0
  355. package/package.json +3 -6
@@ -0,0 +1,64 @@
1
+ /**
2
+ * System Prompt Override
3
+ *
4
+ * Handles CLI flags for replacing or appending to the system prompt:
5
+ * - --system-prompt <text> → replace entire prompt
6
+ * - --system-prompt-file <path> → replace from file
7
+ * - --append-system-prompt <text> → append text to default prompt
8
+ * - --append-system-prompt-file <path> → append file contents
9
+ */
10
+ import * as fs from 'fs';
11
+ import { logger } from '../utils/logger.js';
12
+ // ============================================================================
13
+ // Implementation
14
+ // ============================================================================
15
+ export class SystemPromptOverride {
16
+ /**
17
+ * Apply override options to a base system prompt.
18
+ *
19
+ * - If systemPrompt or systemPromptFile is set, the base prompt is REPLACED.
20
+ * - If appendSystemPrompt or appendSystemPromptFile is set, content is APPENDED.
21
+ * - Cannot use both replace and append simultaneously.
22
+ * - If no overrides, returns the base prompt unchanged.
23
+ */
24
+ apply(basePrompt, options) {
25
+ const hasReplace = options.systemPrompt !== undefined || options.systemPromptFile !== undefined;
26
+ const hasAppend = options.appendSystemPrompt !== undefined || options.appendSystemPromptFile !== undefined;
27
+ // Validate: can't use both replace and append simultaneously
28
+ if (hasReplace && hasAppend) {
29
+ throw new Error('Cannot use both replace (--system-prompt / --system-prompt-file) and append (--append-system-prompt / --append-system-prompt-file) simultaneously');
30
+ }
31
+ // No overrides — return base prompt unchanged
32
+ if (!hasReplace && !hasAppend) {
33
+ return basePrompt;
34
+ }
35
+ // Replace mode
36
+ if (hasReplace) {
37
+ if (options.systemPromptFile) {
38
+ return this.readFile(options.systemPromptFile);
39
+ }
40
+ return options.systemPrompt;
41
+ }
42
+ // Append mode
43
+ let result = basePrompt;
44
+ if (options.appendSystemPrompt) {
45
+ result += '\n\n' + options.appendSystemPrompt;
46
+ }
47
+ if (options.appendSystemPromptFile) {
48
+ const fileContent = this.readFile(options.appendSystemPromptFile);
49
+ result += '\n\n' + fileContent;
50
+ }
51
+ return result;
52
+ }
53
+ /**
54
+ * Read a file from disk. Throws if the file does not exist.
55
+ */
56
+ readFile(filePath) {
57
+ if (!fs.existsSync(filePath)) {
58
+ throw new Error(`System prompt file not found: ${filePath}`);
59
+ }
60
+ logger.debug('Reading system prompt file', { path: filePath });
61
+ return fs.readFileSync(filePath, 'utf-8');
62
+ }
63
+ }
64
+ //# sourceMappingURL=system-prompt-override.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-prompt-override.js","sourceRoot":"","sources":["../../src/services/system-prompt-override.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAiB5C,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,OAAO,oBAAoB;IAC/B;;;;;;;OAOG;IACH,KAAK,CAAC,UAAkB,EAAE,OAAwB;QAChD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC;QAChG,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB,KAAK,SAAS,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS,CAAC;QAE3G,6DAA6D;QAC7D,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,mJAAmJ,CACpJ,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,eAAe;QACf,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,OAAO,CAAC,YAAa,CAAC;QAC/B,CAAC;QAED,cAAc;QACd,IAAI,MAAM,GAAG,UAAU,CAAC;QAExB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,IAAI,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAClE,MAAM,IAAI,MAAM,GAAG,WAAW,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,QAAgB;QAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Skill Enhancements
3
+ *
4
+ * SkillVariableResolver: replaces template variables ($ARGUMENTS, $WORKING_DIR, etc.)
5
+ * SkillBudgetCalculator: computes char budgets for skill content injection
6
+ */
7
+ export interface SkillContext {
8
+ arguments?: string[];
9
+ sessionId?: string;
10
+ workingDir?: string;
11
+ gitBranch?: string;
12
+ }
13
+ export declare class SkillVariableResolver {
14
+ /**
15
+ * Parse indexed argument reference like $ARGUMENTS[0]
16
+ * Returns the index or -1 if not an indexed reference
17
+ */
18
+ parseIndexedArgument(varRef: string): number;
19
+ /**
20
+ * Resolve template variables in a skill template string
21
+ */
22
+ resolve(template: string, context: SkillContext): string;
23
+ }
24
+ export declare class SkillBudgetCalculator {
25
+ /**
26
+ * Calculate budget as 2% of context window size (in characters)
27
+ */
28
+ calculateBudget(contextWindowSize: number): number;
29
+ /**
30
+ * Truncate content to fit within the character budget
31
+ */
32
+ truncateToLimit(content: string, budget: number): string;
33
+ /**
34
+ * Get default budget for 200k context window
35
+ */
36
+ getDefaultBudget(): number;
37
+ }
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Skill Enhancements
3
+ *
4
+ * SkillVariableResolver: replaces template variables ($ARGUMENTS, $WORKING_DIR, etc.)
5
+ * SkillBudgetCalculator: computes char budgets for skill content injection
6
+ */
7
+ import { logger } from '../utils/logger.js';
8
+ // ============================================================================
9
+ // SkillVariableResolver
10
+ // ============================================================================
11
+ export class SkillVariableResolver {
12
+ /**
13
+ * Parse indexed argument reference like $ARGUMENTS[0]
14
+ * Returns the index or -1 if not an indexed reference
15
+ */
16
+ parseIndexedArgument(varRef) {
17
+ const match = varRef.match(/^\$ARGUMENTS\[(\d+)\]$/);
18
+ if (match) {
19
+ return parseInt(match[1], 10);
20
+ }
21
+ return -1;
22
+ }
23
+ /**
24
+ * Resolve template variables in a skill template string
25
+ */
26
+ resolve(template, context) {
27
+ let result = template;
28
+ // Replace indexed arguments first: $ARGUMENTS[0], $ARGUMENTS[1], etc.
29
+ result = result.replace(/\$ARGUMENTS\[(\d+)\]/g, (_match, indexStr) => {
30
+ const index = parseInt(indexStr, 10);
31
+ const args = context.arguments || [];
32
+ return index < args.length ? args[index] : '';
33
+ });
34
+ // Replace $ARGUMENTS with all arguments joined
35
+ result = result.replace(/\$ARGUMENTS/g, (context.arguments || []).join(' '));
36
+ // Replace other variables
37
+ result = result.replace(/\$CLAUDE_SESSION_ID/g, context.sessionId || '');
38
+ result = result.replace(/\$WORKING_DIR/g, context.workingDir || process.cwd());
39
+ result = result.replace(/\$GIT_BRANCH/g, context.gitBranch || 'main');
40
+ logger.debug('Skill variables resolved');
41
+ return result;
42
+ }
43
+ }
44
+ // ============================================================================
45
+ // SkillBudgetCalculator
46
+ // ============================================================================
47
+ export class SkillBudgetCalculator {
48
+ /**
49
+ * Calculate budget as 2% of context window size (in characters)
50
+ */
51
+ calculateBudget(contextWindowSize) {
52
+ return Math.floor(contextWindowSize * 0.02);
53
+ }
54
+ /**
55
+ * Truncate content to fit within the character budget
56
+ */
57
+ truncateToLimit(content, budget) {
58
+ if (content.length <= budget)
59
+ return content;
60
+ return content.slice(0, budget - 3) + '...';
61
+ }
62
+ /**
63
+ * Get default budget for 200k context window
64
+ */
65
+ getDefaultBudget() {
66
+ return this.calculateBudget(200000);
67
+ }
68
+ }
69
+ //# sourceMappingURL=skill-enhancements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-enhancements.js","sourceRoot":"","sources":["../../src/skills/skill-enhancements.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAa5C,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,OAAO,qBAAqB;IAChC;;;OAGG;IACH,oBAAoB,CAAC,MAAc;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,QAAgB,EAAE,OAAqB;QAC7C,IAAI,MAAM,GAAG,QAAQ,CAAC;QAEtB,sEAAsE;QACtE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;YACpE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;YACrC,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7E,0BAA0B;QAC1B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACzE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QAEtE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACH,eAAe,CAAC,iBAAyB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAe,EAAE,MAAc;QAC7C,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC;QAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * OpenTelemetry Tracer (Lightweight)
3
+ *
4
+ * Manual OTLP HTTP JSON exporter without @opentelemetry/* dependencies.
5
+ * Buffers spans in memory and flushes them to an OTLP-compatible endpoint.
6
+ *
7
+ * Enable via:
8
+ * - OTEL_ENDPOINT env var
9
+ * - --otel-endpoint CLI flag
10
+ * - Constructor config
11
+ */
12
+ export interface OtelAttribute {
13
+ key: string;
14
+ value: {
15
+ stringValue?: string;
16
+ intValue?: number;
17
+ boolValue?: boolean;
18
+ };
19
+ }
20
+ export interface OtelSpanStatus {
21
+ code: number;
22
+ message?: string;
23
+ }
24
+ export interface OtelSpan {
25
+ traceId: string;
26
+ spanId: string;
27
+ parentSpanId?: string;
28
+ name: string;
29
+ kind: number;
30
+ startTimeUnixNano: string;
31
+ endTimeUnixNano: string;
32
+ attributes: OtelAttribute[];
33
+ status: OtelSpanStatus;
34
+ }
35
+ export interface OtelTracerConfig {
36
+ /** OTLP HTTP endpoint (e.g., http://localhost:4318/v1/traces) */
37
+ endpoint?: string;
38
+ /** Service name reported in telemetry */
39
+ serviceName?: string;
40
+ /** Enable/disable the tracer */
41
+ enabled?: boolean;
42
+ /** Flush interval in milliseconds (default: 30000) */
43
+ flushIntervalMs?: number;
44
+ /** Maximum buffer size before auto-flush (default: 100) */
45
+ maxBufferSize?: number;
46
+ }
47
+ export declare class OtelTracer {
48
+ private readonly endpoint;
49
+ private readonly serviceName;
50
+ private readonly enabled;
51
+ private readonly maxBufferSize;
52
+ private buffer;
53
+ private flushTimer;
54
+ private currentTraceId;
55
+ constructor(config?: OtelTracerConfig);
56
+ /**
57
+ * Start a new span. Call endSpan() when the operation completes.
58
+ */
59
+ startSpan(name: string, attributes?: Record<string, string | number | boolean>): OtelSpan;
60
+ /**
61
+ * End a span and add it to the buffer for flushing.
62
+ */
63
+ endSpan(span: OtelSpan, status?: OtelSpanStatus): void;
64
+ /**
65
+ * Flush buffered spans to the OTLP endpoint.
66
+ */
67
+ flush(): Promise<void>;
68
+ /**
69
+ * Trace an LLM API call.
70
+ */
71
+ traceApiCall(model: string, tokens: number, duration: number): void;
72
+ /**
73
+ * Trace a tool execution.
74
+ */
75
+ traceToolExecution(toolName: string, duration: number, success: boolean): void;
76
+ /**
77
+ * Trace a conversation turn.
78
+ */
79
+ traceConversation(sessionId: string, messageCount: number): void;
80
+ /**
81
+ * Start a new trace (generates a new traceId).
82
+ */
83
+ newTrace(): string;
84
+ /**
85
+ * Get the number of buffered spans.
86
+ */
87
+ get pendingSpans(): number;
88
+ /**
89
+ * Check if the tracer is enabled.
90
+ */
91
+ get isEnabled(): boolean;
92
+ /**
93
+ * Dispose the tracer, flushing remaining spans.
94
+ */
95
+ dispose(): Promise<void>;
96
+ }
97
+ export declare function getOtelTracer(config?: OtelTracerConfig): OtelTracer;
98
+ export declare function resetOtelTracer(): void;
@@ -0,0 +1,245 @@
1
+ /**
2
+ * OpenTelemetry Tracer (Lightweight)
3
+ *
4
+ * Manual OTLP HTTP JSON exporter without @opentelemetry/* dependencies.
5
+ * Buffers spans in memory and flushes them to an OTLP-compatible endpoint.
6
+ *
7
+ * Enable via:
8
+ * - OTEL_ENDPOINT env var
9
+ * - --otel-endpoint CLI flag
10
+ * - Constructor config
11
+ */
12
+ import * as crypto from 'crypto';
13
+ import { logger } from '../utils/logger.js';
14
+ // ============================================================================
15
+ // Helpers
16
+ // ============================================================================
17
+ function generateId(bytes) {
18
+ return crypto.randomBytes(bytes).toString('hex');
19
+ }
20
+ function nowNano() {
21
+ const [sec, nsec] = process.hrtime();
22
+ const ms = Date.now();
23
+ // Combine wall-clock ms with hrtime nanoseconds for sub-ms precision
24
+ const nanos = BigInt(ms) * BigInt(1_000_000) + BigInt(nsec % 1_000_000);
25
+ return nanos.toString();
26
+ }
27
+ function toAttribute(key, value) {
28
+ if (typeof value === 'string') {
29
+ return { key, value: { stringValue: value } };
30
+ }
31
+ if (typeof value === 'number') {
32
+ return { key, value: { intValue: value } };
33
+ }
34
+ return { key, value: { boolValue: value } };
35
+ }
36
+ // ============================================================================
37
+ // OtelTracer
38
+ // ============================================================================
39
+ export class OtelTracer {
40
+ endpoint;
41
+ serviceName;
42
+ enabled;
43
+ maxBufferSize;
44
+ buffer = [];
45
+ flushTimer = null;
46
+ currentTraceId;
47
+ constructor(config = {}) {
48
+ this.endpoint = config.endpoint
49
+ ?? process.env['OTEL_ENDPOINT']
50
+ ?? '';
51
+ this.serviceName = config.serviceName ?? 'codebuddy';
52
+ this.enabled = config.enabled ?? (this.endpoint.length > 0);
53
+ this.maxBufferSize = config.maxBufferSize ?? 100;
54
+ this.currentTraceId = generateId(16);
55
+ if (this.enabled && this.endpoint) {
56
+ const interval = config.flushIntervalMs ?? 30_000;
57
+ this.flushTimer = setInterval(() => {
58
+ this.flush().catch((err) => {
59
+ logger.warn('OTEL flush failed', { error: String(err) });
60
+ });
61
+ }, interval);
62
+ // Unref so the timer does not prevent process exit
63
+ if (this.flushTimer && typeof this.flushTimer.unref === 'function') {
64
+ this.flushTimer.unref();
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * Start a new span. Call endSpan() when the operation completes.
70
+ */
71
+ startSpan(name, attributes) {
72
+ const span = {
73
+ traceId: this.currentTraceId,
74
+ spanId: generateId(8),
75
+ name,
76
+ kind: 0, // INTERNAL
77
+ startTimeUnixNano: nowNano(),
78
+ endTimeUnixNano: '0',
79
+ attributes: [],
80
+ status: { code: 0 },
81
+ };
82
+ if (attributes) {
83
+ for (const [key, val] of Object.entries(attributes)) {
84
+ span.attributes.push(toAttribute(key, val));
85
+ }
86
+ }
87
+ return span;
88
+ }
89
+ /**
90
+ * End a span and add it to the buffer for flushing.
91
+ */
92
+ endSpan(span, status) {
93
+ span.endTimeUnixNano = nowNano();
94
+ if (status) {
95
+ span.status = status;
96
+ }
97
+ if (!this.enabled) {
98
+ return;
99
+ }
100
+ this.buffer.push(span);
101
+ if (this.buffer.length >= this.maxBufferSize) {
102
+ this.flush().catch((err) => {
103
+ logger.warn('OTEL auto-flush failed', { error: String(err) });
104
+ });
105
+ }
106
+ }
107
+ /**
108
+ * Flush buffered spans to the OTLP endpoint.
109
+ */
110
+ async flush() {
111
+ if (!this.enabled || !this.endpoint || this.buffer.length === 0) {
112
+ return;
113
+ }
114
+ const spans = this.buffer.splice(0);
115
+ const payload = {
116
+ resourceSpans: [
117
+ {
118
+ resource: {
119
+ attributes: [
120
+ toAttribute('service.name', this.serviceName),
121
+ ],
122
+ },
123
+ scopeSpans: [
124
+ {
125
+ scope: { name: 'codebuddy-tracer', version: '1.0.0' },
126
+ spans,
127
+ },
128
+ ],
129
+ },
130
+ ],
131
+ };
132
+ try {
133
+ const response = await fetch(this.endpoint, {
134
+ method: 'POST',
135
+ headers: {
136
+ 'Content-Type': 'application/json',
137
+ },
138
+ body: JSON.stringify(payload),
139
+ });
140
+ if (!response.ok) {
141
+ logger.warn(`OTEL export failed: HTTP ${response.status}`);
142
+ // Put spans back for retry
143
+ this.buffer.unshift(...spans);
144
+ }
145
+ }
146
+ catch (error) {
147
+ logger.warn('OTEL export error', { error: String(error) });
148
+ // Put spans back for retry (cap buffer to avoid unbounded growth)
149
+ if (this.buffer.length < this.maxBufferSize * 2) {
150
+ this.buffer.unshift(...spans);
151
+ }
152
+ }
153
+ }
154
+ /**
155
+ * Trace an LLM API call.
156
+ */
157
+ traceApiCall(model, tokens, duration) {
158
+ const span = this.startSpan('llm.api_call', {
159
+ 'llm.model': model,
160
+ 'llm.tokens': tokens,
161
+ 'llm.duration_ms': duration,
162
+ });
163
+ span.kind = 2; // CLIENT
164
+ span.endTimeUnixNano = nowNano();
165
+ span.status = { code: 1 }; // OK
166
+ if (this.enabled) {
167
+ this.buffer.push(span);
168
+ }
169
+ }
170
+ /**
171
+ * Trace a tool execution.
172
+ */
173
+ traceToolExecution(toolName, duration, success) {
174
+ const span = this.startSpan('tool.execute', {
175
+ 'tool.name': toolName,
176
+ 'tool.duration_ms': duration,
177
+ 'tool.success': success ? 'true' : 'false',
178
+ });
179
+ span.endTimeUnixNano = nowNano();
180
+ span.status = { code: success ? 1 : 2, message: success ? undefined : 'Tool execution failed' };
181
+ if (this.enabled) {
182
+ this.buffer.push(span);
183
+ }
184
+ }
185
+ /**
186
+ * Trace a conversation turn.
187
+ */
188
+ traceConversation(sessionId, messageCount) {
189
+ const span = this.startSpan('conversation.turn', {
190
+ 'session.id': sessionId,
191
+ 'conversation.message_count': messageCount,
192
+ });
193
+ span.endTimeUnixNano = nowNano();
194
+ span.status = { code: 1 };
195
+ if (this.enabled) {
196
+ this.buffer.push(span);
197
+ }
198
+ }
199
+ /**
200
+ * Start a new trace (generates a new traceId).
201
+ */
202
+ newTrace() {
203
+ this.currentTraceId = generateId(16);
204
+ return this.currentTraceId;
205
+ }
206
+ /**
207
+ * Get the number of buffered spans.
208
+ */
209
+ get pendingSpans() {
210
+ return this.buffer.length;
211
+ }
212
+ /**
213
+ * Check if the tracer is enabled.
214
+ */
215
+ get isEnabled() {
216
+ return this.enabled;
217
+ }
218
+ /**
219
+ * Dispose the tracer, flushing remaining spans.
220
+ */
221
+ async dispose() {
222
+ if (this.flushTimer) {
223
+ clearInterval(this.flushTimer);
224
+ this.flushTimer = null;
225
+ }
226
+ await this.flush();
227
+ }
228
+ }
229
+ // ============================================================================
230
+ // Singleton
231
+ // ============================================================================
232
+ let tracerInstance = null;
233
+ export function getOtelTracer(config) {
234
+ if (!tracerInstance) {
235
+ tracerInstance = new OtelTracer(config);
236
+ }
237
+ return tracerInstance;
238
+ }
239
+ export function resetOtelTracer() {
240
+ if (tracerInstance) {
241
+ tracerInstance.dispose().catch(() => { });
242
+ }
243
+ tracerInstance = null;
244
+ }
245
+ //# sourceMappingURL=otel-tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otel-tracer.js","sourceRoot":"","sources":["../../src/telemetry/otel-tracer.ts"],"names":[],"mappings":"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"}
@@ -337,7 +337,7 @@ export function htmlTemplate(data, options) {
337
337
  <body>
338
338
  <header>
339
339
  <h1>${escapeHTML(title)}</h1>
340
- <div class="subtitle">Session exported from Grok CLI</div>
340
+ <div class="subtitle">Session exported from Code Buddy</div>
341
341
  </header>
342
342
 
343
343
  ${metadataHTML}
@@ -348,7 +348,7 @@ export function htmlTemplate(data, options) {
348
348
 
349
349
  <footer>
350
350
  <p>Exported on ${new Date().toLocaleString()}</p>
351
- <p>Generated by <strong>Grok CLI</strong></p>
351
+ <p>Generated by <strong>Code Buddy</strong></p>
352
352
  </footer>
353
353
  </body>
354
354
  </html>`;
@@ -104,7 +104,7 @@ export function markdownTemplate(data, options) {
104
104
  }
105
105
  // Footer
106
106
  lines.push('');
107
- lines.push(`*Exported from Grok CLI on ${new Date().toLocaleString()}*`);
107
+ lines.push(`*Exported from Code Buddy on ${new Date().toLocaleString()}*`);
108
108
  return lines.join('\n');
109
109
  }
110
110
  //# sourceMappingURL=markdown.template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.template.js","sourceRoot":"","sources":["../../../src/templates/export/markdown.template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.template.js","sourceRoot":"","sources":["../../../src/templates/export/markdown.template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8BH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAiB,EAAE,OAAsB;IACxE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,mBAAmB;IACnB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACtE,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjG,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,WAAW;IACX,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,IAAI;YACf,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;SACX,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEZ,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,IAAI,GAAG,CAAC,SAAS;YAC1D,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,IAAI;YACxD,CAAC,CAAC,EAAE,CAAC;QAEP,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,IAAI,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,UAAU;QACV,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC1B,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACrD,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAClD,OAAO,IAAI,2BAA2B,CAAC;YACzC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,aAAa;QACb,IAAI,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;gBAC3D,KAAK,CAAC,IAAI,CAAC,OAAO,QAAQ,IAAI,CAAC,CAAC;gBAEhC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ;wBAC3C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC;wBAC1B,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS;4BACxB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;4BACnC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC;oBAEjB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,cAAc;QACd,IAAI,OAAO,CAAC,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IAE3E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Built-in themes for Grok CLI
2
+ * Built-in themes for Code Buddy
3
3
  */
4
4
  import { Theme } from './theme.js';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Built-in themes for Grok CLI
2
+ * Built-in themes for Code Buddy
3
3
  */
4
4
  import { DEFAULT_AVATARS, EMOJI_AVATARS, HACKER_AVATARS, SPACE_AVATARS, MINIMAL_AVATARS } from './theme.js';
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme system exports for Grok CLI
2
+ * Theme system exports for Code Buddy
3
3
  */
4
4
  export { Theme, ThemeColor, ThemeColors, AvatarConfig, ThemePreferences, AvatarPreset, DEFAULT_AVATARS, EMOJI_AVATARS, MINIMAL_AVATARS, FUN_AVATARS, HACKER_AVATARS, SPACE_AVATARS, ANIMAL_AVATARS, AVATAR_PRESETS, } from './theme.js';
5
5
  export { DEFAULT_THEME, DARK_THEME, NEON_THEME, PASTEL_THEME, HIGH_CONTRAST_THEME, MATRIX_THEME, OCEAN_THEME, SUNSET_THEME, MINIMAL_THEME, BUILTIN_THEMES, getBuiltinTheme, } from './default-themes.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme system exports for Grok CLI
2
+ * Theme system exports for Code Buddy
3
3
  */
4
4
  // Types and interfaces
5
5
  export { DEFAULT_AVATARS, EMOJI_AVATARS, MINIMAL_AVATARS, FUN_AVATARS, HACKER_AVATARS, SPACE_AVATARS, ANIMAL_AVATARS, AVATAR_PRESETS, } from './theme.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme Manager for Grok CLI
2
+ * Theme Manager for Code Buddy
3
3
  * Handles loading, saving, and managing themes and avatars
4
4
  */
5
5
  import { Theme, ThemeColor, ThemeColors, AvatarConfig, AvatarPreset } from './theme.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme Manager for Grok CLI
2
+ * Theme Manager for Code Buddy
3
3
  * Handles loading, saving, and managing themes and avatars
4
4
  */
5
5
  import * as fs from 'fs';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme system for Grok CLI
2
+ * Theme system for Code Buddy
3
3
  * Provides customizable color themes and visual styling
4
4
  */
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Theme system for Grok CLI
2
+ * Theme system for Code Buddy
3
3
  * Provides customizable color themes and visual styling
4
4
  */
5
5
  /**