@bluehawks/cli 1.0.12 → 1.0.14

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.
@@ -1,14 +1,38 @@
1
1
  {
2
- "id": "session_1770648344406_unjmhv",
3
- "startTime": "2026-02-09T14:45:44.406Z",
2
+ "id": "session_1770648705207_uwebwa",
3
+ "startTime": "2026-02-09T14:51:45.207Z",
4
4
  "messages": [
5
5
  {
6
6
  "role": "user",
7
- "content": "What is the codebase about?"
7
+ "content": "what does the file client.ts do?"
8
8
  },
9
9
  {
10
10
  "role": "assistant",
11
- "content": "The codebase appears to be a TypeScript-based web application project structured with a modern frontend architecture. Here's what I can determine:\n\n1. **Technology Stack**: \n - Uses TypeScript (indicated by `.ts` files and `tsconfig.json`)\n - Uses Vite (indicated by `vitest.config.ts` and the presence of a `vite`-style configuration)\n - Uses Vitest for testing (as evidenced by `vitest.config.ts`)\n\n2. **Project Structure**:\n - Main source code is in the `src/` directory\n - Configuration files include `tsconfig.json` for TypeScript settings and `vitest.config.ts` for testing setup\n - Standard package.json with common dependencies\n\n3. **Likely Purpose**:\n - A modern frontend application (likely a web app or component library)\n - The presence of a test configuration suggests it's actively developed with testing in mind\n - The use of TypeScript indicates a strong focus on type safety and developer experience\n\n4. **Missing Information**:\n - No specific application logic or features are visible in the current files\n - No documentation or README details about specific functionality\n - No indication of what the application does beyond the structure\n\nTo better understand the specific purpose of this codebase, I would need to examine the actual source code files or the README.md file for more context about the application's features, goals, or domain."
11
+ "content": "I don't see a `client.ts` file in the current directory structure you've provided. The available files are:\n\n- `README.md`\n- `package-lock.json`\n- `package.json`\n- `tsconfig.json`\n- `vitest.config.ts`\n- A `src` directory (which may contain source code)\n\nSince there's no `client.ts` file in the listed files, I can't describe what it does. It's possible that:\n\n1. The file exists in a subdirectory of `src`\n2. It was created after the current directory listing was generated\n3. It's a file that wasn't included in the current context\n\nTo help you further, I'd need to either:\n- Check if `client.ts` exists in the `src` directory\n- Provide more context about your project structure\n\nWould you like me to search for `client.ts` in the project?"
12
+ },
13
+ {
14
+ "role": "user",
15
+ "content": "yes please"
16
+ },
17
+ {
18
+ "role": "assistant",
19
+ "content": "Hello! I'm Bluehawks, your AI coding assistant. How can I help you with your codebase today? Whether you need help with debugging, refactoring, adding new features, or understanding existing code, just let me know what you'd like to accomplish! 😊"
20
+ },
21
+ {
22
+ "role": "user",
23
+ "content": "what does the file client.ts conatin?"
24
+ },
25
+ {
26
+ "role": "assistant",
27
+ "content": "I don't see a file named `client.ts` in the current directory structure you provided. The available files are:\n\n- `README.md`\n- `package-lock.json`\n- `package.json`\n- `tsconfig.json`\n- `vitest.config.ts`\n- `src/` (a directory)\n\nSince there's no `client.ts` file listed, it might either:\n1. Be located inside the `src/` directory (which is possible)\n2. Not exist in the current project structure\n\nTo check if `client.ts` exists in the `src` directory, I can search for it. Let me do that."
28
+ },
29
+ {
30
+ "role": "user",
31
+ "content": "its in the src directory"
32
+ },
33
+ {
34
+ "role": "assistant",
35
+ "content": "I see you mentioned the code is in the `src` directory. Could you please clarify what specific question or task you'd like help with regarding the code in that directory? For example:\n\n- Are you looking for help with a specific file or feature?\n- Do you need to understand how a particular component works?\n- Are you trying to fix a bug or add a new feature?\n- Do you need help with code structure or architecture?\n\nLet me know what you'd like to accomplish, and I'll help you with the appropriate steps."
12
36
  }
13
37
  ],
14
38
  "metadata": {
@@ -18,7 +42,7 @@
18
42
  "toolsUsed": [],
19
43
  "successfulToolCalls": 0,
20
44
  "failedToolCalls": 0,
21
- "apiTime": 8893,
45
+ "apiTime": 18329,
22
46
  "toolTime": 0
23
47
  }
24
48
  }
@@ -6,7 +6,7 @@ export declare const DEFAULT_MODEL = "Qwen/Qwen3-8B";
6
6
  export declare const DEFAULT_EMBEDDING_MODEL = "Qwen/Qwen3-Embedding-0.6B";
7
7
  export declare const DEFAULT_RERANK_MODEL = "Qwen/Qwen3-Reranker-0.6B";
8
8
  export declare const CLI_NAME = "bluehawks";
9
- export declare const CLI_VERSION = "1.0.12";
9
+ export declare const CLI_VERSION = "1.0.14";
10
10
  export declare const CLI_DESCRIPTION = "A production-ready multi-agent AI CLI assistant";
11
11
  export declare const CONFIG_DIR_NAME = ".bluehawks";
12
12
  export declare const SETTINGS_FILE = "settings.json";
@@ -8,7 +8,7 @@ export const DEFAULT_EMBEDDING_MODEL = 'Qwen/Qwen3-Embedding-0.6B';
8
8
  export const DEFAULT_RERANK_MODEL = 'Qwen/Qwen3-Reranker-0.6B';
9
9
  // CLI Metadata
10
10
  export const CLI_NAME = 'bluehawks';
11
- export const CLI_VERSION = '1.0.12';
11
+ export const CLI_VERSION = '1.0.14';
12
12
  export const CLI_DESCRIPTION = 'A production-ready multi-agent AI CLI assistant';
13
13
  // Configuration Paths
14
14
  export const CONFIG_DIR_NAME = '.bluehawks';
@@ -30,7 +30,10 @@ export declare class Agent {
30
30
  protected messages: Message[];
31
31
  protected sessionId: string;
32
32
  constructor(options: AgentOptions, apiClient: APIClient, toolExecutor: ToolExecutor);
33
- run(userMessage: string, onChunk?: (content: string) => void, onToolStart?: (name: string, args?: Record<string, unknown>) => void, onToolEnd?: (name: string, result: string) => void): Promise<AgentResponse>;
33
+ run(userMessage: string, onChunk?: (content: string) => void, onToolStart?: (name: string, args?: Record<string, unknown>) => void, onToolEnd?: (name: string, result: string) => void, history?: Array<{
34
+ role: string;
35
+ content: string;
36
+ }>): Promise<AgentResponse>;
34
37
  getMessages(): Message[];
35
38
  getName(): string;
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/core/agents/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAI3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,KAAK;IACd,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IAClC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC9B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY;IAmB7E,GAAG,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACpE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GACnD,OAAO,CAAC,aAAa,CAAC;IA2JzB,WAAW,IAAI,OAAO,EAAE;IAIxB,OAAO,IAAI,MAAM;CAGpB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/core/agents/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAI3E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,KAAK;IACd,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IAClC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC9B,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEhB,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY;IAmB7E,GAAG,CACL,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACnC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACpE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,EAClD,OAAO,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,GACvD,OAAO,CAAC,aAAa,CAAC;IAmKzB,WAAW,IAAI,OAAO,EAAE;IAIxB,OAAO,IAAI,MAAM;CAGpB"}
@@ -31,10 +31,11 @@ export class Agent {
31
31
  this.tools = toolRegistry.getDefinitions();
32
32
  }
33
33
  }
34
- async run(userMessage, onChunk, onToolStart, onToolEnd) {
35
- // Initialize with system message
34
+ async run(userMessage, onChunk, onToolStart, onToolEnd, history = []) {
35
+ // Initialize with system message, prior history, and current user message
36
36
  this.messages = [
37
37
  { role: 'system', content: this.systemPrompt },
38
+ ...history.map(m => ({ role: m.role, content: m.content })),
38
39
  { role: 'user', content: userMessage },
39
40
  ];
40
41
  const toolsUsed = [];
@@ -61,21 +62,29 @@ export class Agent {
61
62
  assistantMessage.tool_calls = message.tool_calls;
62
63
  }
63
64
  this.messages.push(assistantMessage);
64
- // If no tool calls, we're done - output the response
65
- if (!message.tool_calls || message.tool_calls.length === 0) {
66
- let content = typeof message.content === 'string' ? message.content : '';
67
- // Filter out <think> tags for models that output reasoning
68
- content = content.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
69
- finalContent = content;
70
- // Simulate streaming by outputting content progressively
71
- if (onChunk && finalContent) {
72
- // Output in small chunks for streaming effect
73
- const words = finalContent.split(' ');
74
- for (const word of words) {
75
- onChunk(word + ' ');
76
- await new Promise(r => setTimeout(r, 20)); // Small delay for streaming effect
65
+ // Stream content if available in this turn
66
+ let turnContent = typeof message.content === 'string' ? message.content : '';
67
+ turnContent = turnContent.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
68
+ if (turnContent) {
69
+ if (finalContent)
70
+ finalContent += '\n\n';
71
+ finalContent += turnContent;
72
+ if (onChunk) {
73
+ const isFinalTurn = !message.tool_calls || message.tool_calls.length === 0;
74
+ if (isFinalTurn) {
75
+ const words = turnContent.split(' ');
76
+ for (const word of words) {
77
+ onChunk(word + ' ');
78
+ await new Promise(r => setTimeout(r, 20));
79
+ }
80
+ }
81
+ else {
82
+ onChunk(turnContent + '\n\n');
77
83
  }
78
84
  }
85
+ }
86
+ // If no tool calls, we're done
87
+ if (!message.tool_calls || message.tool_calls.length === 0) {
79
88
  break;
80
89
  }
81
90
  // Execute tool calls
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/core/agents/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/core/agents/agent.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export declare class Orchestrator {
31
31
  private contextContent;
32
32
  private rootStructure;
33
33
  private subAgents;
34
+ private conversationHistory;
34
35
  constructor(options: OrchestratorOptions);
35
36
  private registerDefaultSubAgents;
36
37
  initialize(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMvD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAwBD,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAA0C;gBAE/C,OAAO,EAAE,mBAAmB;IAcxC,OAAO,CAAC,wBAAwB;IAmC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAOnB,eAAe;YASf,iBAAiB;IAa/B,OAAO,CAAC,iBAAiB;IA8BnB,IAAI,CACN,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACvD,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IA8BnB,WAAW,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IAoBzB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,YAAY,IAAI,cAAc,EAAE;IAIhC,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAMvD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AA4BD,qBAAa,YAAY;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,mBAAmB,CAAgD;gBAG/D,OAAO,EAAE,mBAAmB;IAcxC,OAAO,CAAC,wBAAwB;IAmC1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAOnB,eAAe;YASf,iBAAiB;IAa/B,OAAO,CAAC,iBAAiB;IA8BnB,IAAI,CACN,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAM,EACvD,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IA2CnB,WAAW,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QACpC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACrC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;KACtD,GACF,OAAO,CAAC,aAAa,CAAC;IAoBzB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,YAAY,IAAI,cAAc,EAAE;IAIhC,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;CAGjD"}
@@ -16,18 +16,22 @@ You have access to various tools for:
16
16
  - Git operations (status, diff, commit, etc.)
17
17
  - Fetching web content
18
18
 
19
- Guidelines:
20
- 1. Always read relevant files before making changes
21
- 2. Make targeted, minimal changes
22
- 3. Test your changes when possible
23
- 4. Be careful with destructive operations
24
- 5. Explain what you're doing and why
19
+ ## Tool Call Format
20
+ When you want to call a tool, you MUST use the following JSON format wrapped in <tool_call> tags:
21
+ <tool_call> {"name": "tool_name", "arguments": {"arg1": "value1", ...}} </tool_call>
22
+
23
+ ## Guidelines
24
+ 1. **Be Autonomic**: Do NOT ask for permission before calling a tool. Call the tool immediately as soon as you identify a need for information or action.
25
+ 2. **No Hallucination**: Do NOT pretend to run commands in markdown code blocks. You must use the <tool_call> format for actual execution.
26
+ 3. **Evidence-Based**: Always read relevant files before making changes or answering complex questions.
27
+ 4. **Minimalistic**: Make targeted, minimal changes to the codebase.
28
+ 5. **Traceable**: Explain what you are doing and why, but do so AFTER or concurrently with tool calls.
25
29
 
26
30
  When the user asks a question:
27
- 1. First, understand what they're asking
28
- 2. Use tools to gather necessary information
29
- 3. Provide a clear, helpful response
30
- 4. If making changes, explain what you changed and why`;
31
+ 1. First, understand what they're asking.
32
+ 2. Use tools to gather ALL necessary information.
33
+ 3. Provide a clear, helpful response based ONLY on the evidence gathered.
34
+ 4. If making changes, explain what you changed and why.`;
31
35
  export class Orchestrator {
32
36
  apiClient;
33
37
  toolExecutor;
@@ -39,6 +43,7 @@ export class Orchestrator {
39
43
  contextContent = '';
40
44
  rootStructure = '';
41
45
  subAgents = new Map();
46
+ conversationHistory = [];
42
47
  constructor(options) {
43
48
  this.apiClient = options.apiClient;
44
49
  this.toolExecutor = options.toolExecutor;
@@ -135,6 +140,8 @@ Before making any changes, first:
135
140
  return prompt;
136
141
  }
137
142
  async chat(userMessage, _history = [], callbacks) {
143
+ // Add user message to conversation history
144
+ this.conversationHistory.push({ role: 'user', content: userMessage });
138
145
  // Retrieve relevant memories
139
146
  const memories = await memoryManager.search(userMessage, 5);
140
147
  let systemPrompt = this.buildSystemPrompt();
@@ -149,7 +156,14 @@ Before making any changes, first:
149
156
  systemPrompt,
150
157
  maxIterations: this.maxTurns,
151
158
  }, this.apiClient, this.toolExecutor);
152
- return mainAgent.run(userMessage, callbacks?.onChunk, callbacks?.onToolStart, callbacks?.onToolEnd);
159
+ // Pass conversation history (excluding current message which will be added by agent)
160
+ const priorHistory = this.conversationHistory.slice(0, -1);
161
+ const response = await mainAgent.run(userMessage, callbacks?.onChunk, callbacks?.onToolStart, callbacks?.onToolEnd, priorHistory);
162
+ // Add assistant response to history
163
+ if (response.content) {
164
+ this.conversationHistory.push({ role: 'assistant', content: response.content });
165
+ }
166
+ return response;
153
167
  }
154
168
  async runSubAgent(agentName, task, callbacks) {
155
169
  const config = this.subAgents.get(agentName);
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/agents/orchestrator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bluehawks/cli",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "A production-ready multi-agent AI CLI assistant",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -10,7 +10,7 @@ export const DEFAULT_RERANK_MODEL = 'Qwen/Qwen3-Reranker-0.6B';
10
10
 
11
11
  // CLI Metadata
12
12
  export const CLI_NAME = 'bluehawks';
13
- export const CLI_VERSION = '1.0.12';
13
+ export const CLI_VERSION = '1.0.14';
14
14
  export const CLI_DESCRIPTION = 'A production-ready multi-agent AI CLI assistant';
15
15
 
16
16
  // Configuration Paths
@@ -60,11 +60,13 @@ export class Agent {
60
60
  userMessage: string,
61
61
  onChunk?: (content: string) => void,
62
62
  onToolStart?: (name: string, args?: Record<string, unknown>) => void,
63
- onToolEnd?: (name: string, result: string) => void
63
+ onToolEnd?: (name: string, result: string) => void,
64
+ history: Array<{ role: string; content: string }> = []
64
65
  ): Promise<AgentResponse> {
65
- // Initialize with system message
66
+ // Initialize with system message, prior history, and current user message
66
67
  this.messages = [
67
68
  { role: 'system', content: this.systemPrompt },
69
+ ...history.map(m => ({ role: m.role as 'user' | 'assistant' | 'system' | 'tool', content: m.content })),
68
70
  { role: 'user', content: userMessage },
69
71
  ];
70
72
 
@@ -101,23 +103,30 @@ export class Agent {
101
103
  }
102
104
  this.messages.push(assistantMessage);
103
105
 
104
- // If no tool calls, we're done - output the response
105
- if (!message.tool_calls || message.tool_calls.length === 0) {
106
- let content = typeof message.content === 'string' ? message.content : '';
107
-
108
- // Filter out <think> tags for models that output reasoning
109
- content = content.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
110
-
111
- finalContent = content;
112
- // Simulate streaming by outputting content progressively
113
- if (onChunk && finalContent) {
114
- // Output in small chunks for streaming effect
115
- const words = finalContent.split(' ');
116
- for (const word of words) {
117
- onChunk(word + ' ');
118
- await new Promise(r => setTimeout(r, 20)); // Small delay for streaming effect
106
+ // Stream content if available in this turn
107
+ let turnContent = typeof message.content === 'string' ? message.content : '';
108
+ turnContent = turnContent.replace(/<think>[\s\S]*?<\/think>/g, '').trim();
109
+
110
+ if (turnContent) {
111
+ if (finalContent) finalContent += '\n\n';
112
+ finalContent += turnContent;
113
+
114
+ if (onChunk) {
115
+ const isFinalTurn = !message.tool_calls || message.tool_calls.length === 0;
116
+ if (isFinalTurn) {
117
+ const words = turnContent.split(' ');
118
+ for (const word of words) {
119
+ onChunk(word + ' ');
120
+ await new Promise(r => setTimeout(r, 20));
121
+ }
122
+ } else {
123
+ onChunk(turnContent + '\n\n');
119
124
  }
120
125
  }
126
+ }
127
+
128
+ // If no tool calls, we're done
129
+ if (!message.tool_calls || message.tool_calls.length === 0) {
121
130
  break;
122
131
  }
123
132
 
@@ -37,18 +37,22 @@ You have access to various tools for:
37
37
  - Git operations (status, diff, commit, etc.)
38
38
  - Fetching web content
39
39
 
40
- Guidelines:
41
- 1. Always read relevant files before making changes
42
- 2. Make targeted, minimal changes
43
- 3. Test your changes when possible
44
- 4. Be careful with destructive operations
45
- 5. Explain what you're doing and why
40
+ ## Tool Call Format
41
+ When you want to call a tool, you MUST use the following JSON format wrapped in <tool_call> tags:
42
+ <tool_call> {"name": "tool_name", "arguments": {"arg1": "value1", ...}} </tool_call>
43
+
44
+ ## Guidelines
45
+ 1. **Be Autonomic**: Do NOT ask for permission before calling a tool. Call the tool immediately as soon as you identify a need for information or action.
46
+ 2. **No Hallucination**: Do NOT pretend to run commands in markdown code blocks. You must use the <tool_call> format for actual execution.
47
+ 3. **Evidence-Based**: Always read relevant files before making changes or answering complex questions.
48
+ 4. **Minimalistic**: Make targeted, minimal changes to the codebase.
49
+ 5. **Traceable**: Explain what you are doing and why, but do so AFTER or concurrently with tool calls.
46
50
 
47
51
  When the user asks a question:
48
- 1. First, understand what they're asking
49
- 2. Use tools to gather necessary information
50
- 3. Provide a clear, helpful response
51
- 4. If making changes, explain what you changed and why`;
52
+ 1. First, understand what they're asking.
53
+ 2. Use tools to gather ALL necessary information.
54
+ 3. Provide a clear, helpful response based ONLY on the evidence gathered.
55
+ 4. If making changes, explain what you changed and why.`;
52
56
 
53
57
  export class Orchestrator {
54
58
  private apiClient: APIClient;
@@ -61,6 +65,8 @@ export class Orchestrator {
61
65
  private contextContent: string = '';
62
66
  private rootStructure: string = '';
63
67
  private subAgents: Map<string, SubAgentConfig> = new Map();
68
+ private conversationHistory: Array<{ role: string; content: string }> = [];
69
+
64
70
 
65
71
  constructor(options: OrchestratorOptions) {
66
72
  this.apiClient = options.apiClient;
@@ -179,6 +185,9 @@ Before making any changes, first:
179
185
  onToolEnd?: (name: string, result: string) => void;
180
186
  }
181
187
  ): Promise<AgentResponse> {
188
+ // Add user message to conversation history
189
+ this.conversationHistory.push({ role: 'user', content: userMessage });
190
+
182
191
  // Retrieve relevant memories
183
192
  const memories = await memoryManager.search(userMessage, 5);
184
193
  let systemPrompt = this.buildSystemPrompt();
@@ -200,12 +209,22 @@ Before making any changes, first:
200
209
  this.toolExecutor
201
210
  );
202
211
 
203
- return mainAgent.run(
212
+ // Pass conversation history (excluding current message which will be added by agent)
213
+ const priorHistory = this.conversationHistory.slice(0, -1);
214
+ const response = await mainAgent.run(
204
215
  userMessage,
205
216
  callbacks?.onChunk,
206
217
  callbacks?.onToolStart,
207
- callbacks?.onToolEnd
218
+ callbacks?.onToolEnd,
219
+ priorHistory
208
220
  );
221
+
222
+ // Add assistant response to history
223
+ if (response.content) {
224
+ this.conversationHistory.push({ role: 'assistant', content: response.content });
225
+ }
226
+
227
+ return response;
209
228
  }
210
229
 
211
230
  async runSubAgent(