@phuetz/code-buddy 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebuddy/skills/bundled/brave-search/SKILL.md +490 -0
- package/.codebuddy/skills/bundled/exa-search/SKILL.md +1122 -0
- package/.codebuddy/skills/bundled/perplexity/SKILL.md +748 -0
- package/.codebuddy/skills/bundled/playwright/SKILL.md +520 -0
- package/.codebuddy/skills/bundled/puppeteer/SKILL.md +708 -0
- package/.codebuddy/skills/bundled/web-fetch/SKILL.md +1003 -0
- package/README.md +56 -0
- package/dist/agent/agent-state.d.ts +3 -3
- package/dist/agent/agent-state.js +6 -6
- package/dist/agent/agent-state.js.map +1 -1
- package/dist/agent/base-agent.d.ts +4 -4
- package/dist/agent/base-agent.js +22 -9
- package/dist/agent/base-agent.js.map +1 -1
- package/dist/agent/cache-trace.d.ts +56 -0
- package/dist/agent/cache-trace.js +98 -0
- package/dist/agent/cache-trace.js.map +1 -0
- package/dist/agent/codebuddy-agent.js +4 -2
- package/dist/agent/codebuddy-agent.js.map +1 -1
- package/dist/agent/execution/agent-executor.d.ts +4 -4
- package/dist/agent/execution/agent-executor.js +46 -14
- package/dist/agent/execution/agent-executor.js.map +1 -1
- package/dist/agent/facades/agent-context-facade.js +1 -3
- package/dist/agent/facades/agent-context-facade.js.map +1 -1
- package/dist/agent/facades/message-history-manager.js +14 -12
- package/dist/agent/facades/message-history-manager.js.map +1 -1
- package/dist/agent/facades/session-facade.d.ts +3 -3
- package/dist/agent/facades/session-facade.js +6 -6
- package/dist/agent/facades/session-facade.js.map +1 -1
- package/dist/agent/history-repair.d.ts +37 -0
- package/dist/agent/history-repair.js +124 -0
- package/dist/agent/history-repair.js.map +1 -0
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.js +3 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/isolation/agent-workspace.d.ts +1 -0
- package/dist/agent/isolation/agent-workspace.js +10 -0
- package/dist/agent/isolation/agent-workspace.js.map +1 -1
- package/dist/agent/specialized/archive-agent.d.ts +3 -0
- package/dist/agent/specialized/archive-agent.js +71 -31
- package/dist/agent/specialized/archive-agent.js.map +1 -1
- package/dist/agent/specialized/index.d.ts +9 -8
- package/dist/agent/specialized/index.js +16 -8
- package/dist/agent/specialized/index.js.map +1 -1
- package/dist/agent/specialized/security-review/agent.js +19 -8
- package/dist/agent/specialized/security-review/agent.js.map +1 -1
- package/dist/agent/tool-executor.js +5 -0
- package/dist/agent/tool-executor.js.map +1 -1
- package/dist/agent/turn-diff-tracker.d.ts +79 -0
- package/dist/agent/turn-diff-tracker.js +195 -0
- package/dist/agent/turn-diff-tracker.js.map +1 -0
- package/dist/browser/controller.js +8 -4
- package/dist/browser/controller.js.map +1 -1
- package/dist/browser-automation/browser-manager.js +8 -1
- package/dist/browser-automation/browser-manager.js.map +1 -1
- package/dist/checkpoints/checkpoint-versioning.js +78 -20
- package/dist/checkpoints/checkpoint-versioning.js.map +1 -1
- package/dist/cli/config-loader.js +2 -4
- package/dist/cli/config-loader.js.map +1 -1
- package/dist/codebuddy/client.js +70 -11
- package/dist/codebuddy/client.js.map +1 -1
- package/dist/codebuddy/tools.d.ts +1 -7
- package/dist/codebuddy/tools.js +2 -30
- package/dist/codebuddy/tools.js.map +1 -1
- package/dist/commands/cli/daemon-commands.d.ts +14 -0
- package/dist/commands/cli/daemon-commands.js +166 -0
- package/dist/commands/cli/daemon-commands.js.map +1 -0
- package/dist/commands/cli/speak-command.d.ts +10 -0
- package/dist/commands/cli/speak-command.js +97 -0
- package/dist/commands/cli/speak-command.js.map +1 -0
- package/dist/commands/cli/utility-commands.d.ts +10 -0
- package/dist/commands/cli/utility-commands.js +88 -0
- package/dist/commands/cli/utility-commands.js.map +1 -0
- package/dist/commands/handlers/fcs-handlers.js +1 -1
- package/dist/commands/handlers/fcs-handlers.js.map +1 -1
- package/dist/commands/handlers/memory-handlers.js +2 -1
- package/dist/commands/handlers/memory-handlers.js.map +1 -1
- package/dist/commands/handlers/vibe-handlers.js +0 -1
- package/dist/commands/handlers/vibe-handlers.js.map +1 -1
- package/dist/commands/handlers/worktree-handlers.js +11 -0
- package/dist/commands/handlers/worktree-handlers.js.map +1 -1
- package/dist/commands/index.d.ts +8 -7
- package/dist/commands/index.js +10 -8
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -0
- package/dist/commands/mcp.js +66 -7
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/pipeline.js +25 -13
- package/dist/commands/pipeline.js.map +1 -1
- package/dist/config/hot-reload/watcher.js +4 -4
- package/dist/config/hot-reload/watcher.js.map +1 -1
- package/dist/config/model-tools.d.ts +41 -0
- package/dist/config/model-tools.js +194 -0
- package/dist/config/model-tools.js.map +1 -0
- package/dist/context/context-manager-v2.d.ts +2 -1
- package/dist/context/context-manager-v2.js +34 -5
- package/dist/context/context-manager-v2.js.map +1 -1
- package/dist/context/index.d.ts +12 -12
- package/dist/context/index.js +25 -12
- package/dist/context/index.js.map +1 -1
- package/dist/daemon/daemon-manager.js +23 -19
- package/dist/daemon/daemon-manager.js.map +1 -1
- package/dist/database/database-manager.d.ts +4 -0
- package/dist/database/database-manager.js +16 -7
- package/dist/database/database-manager.js.map +1 -1
- package/dist/desktop-automation/nutjs-provider.js +89 -0
- package/dist/desktop-automation/nutjs-provider.js.map +1 -1
- package/dist/errors/index.d.ts +4 -4
- package/dist/errors/index.js +8 -4
- package/dist/errors/index.js.map +1 -1
- package/dist/fcs/builtins.d.ts +2 -6
- package/dist/fcs/builtins.js +2 -568
- package/dist/fcs/builtins.js.map +1 -1
- package/dist/fcs/codebuddy-bindings.d.ts +3 -43
- package/dist/fcs/codebuddy-bindings.js +2 -606
- package/dist/fcs/codebuddy-bindings.js.map +1 -1
- package/dist/fcs/index.d.ts +2 -27
- package/dist/fcs/index.js +2 -53
- package/dist/fcs/index.js.map +1 -1
- package/dist/fcs/lexer.d.ts +2 -37
- package/dist/fcs/lexer.js +2 -459
- package/dist/fcs/lexer.js.map +1 -1
- package/dist/fcs/parser.d.ts +2 -68
- package/dist/fcs/parser.js +2 -893
- package/dist/fcs/parser.js.map +1 -1
- package/dist/fcs/runtime.d.ts +2 -59
- package/dist/fcs/runtime.js +2 -623
- package/dist/fcs/runtime.js.map +1 -1
- package/dist/fcs/script-registry.d.ts +3 -69
- package/dist/fcs/script-registry.js +2 -219
- package/dist/fcs/script-registry.js.map +1 -1
- package/dist/fcs/sync-bindings.d.ts +3 -101
- package/dist/fcs/sync-bindings.js +2 -410
- package/dist/fcs/sync-bindings.js.map +1 -1
- package/dist/fcs/types.d.ts +2 -285
- package/dist/fcs/types.js +2 -103
- package/dist/fcs/types.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/index.js +4 -4
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-input-handler.d.ts +1 -1
- package/dist/index.js +20 -330
- package/dist/index.js.map +1 -1
- package/dist/input/voice-control.js +11 -5
- package/dist/input/voice-control.js.map +1 -1
- package/dist/integrations/json-rpc/server.d.ts +9 -0
- package/dist/integrations/json-rpc/server.js +43 -13
- package/dist/integrations/json-rpc/server.js.map +1 -1
- package/dist/integrations/mcp/mcp-server.js +1 -1
- package/dist/integrations/mcp/mcp-server.js.map +1 -1
- package/dist/integrations/notification-integrations.d.ts +1 -0
- package/dist/integrations/notification-integrations.js +6 -1
- package/dist/integrations/notification-integrations.js.map +1 -1
- package/dist/mcp/client.js +2 -1
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.js +89 -5
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/mcp-client.js +65 -14
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/transports.d.ts +0 -1
- package/dist/mcp/transports.js +1 -5
- package/dist/mcp/transports.js.map +1 -1
- package/dist/mcp/types.d.ts +2 -0
- package/dist/memory/index.d.ts +2 -2
- package/dist/memory/index.js +2 -2
- package/dist/memory/index.js.map +1 -1
- package/dist/persistence/session-lock.d.ts +42 -0
- package/dist/persistence/session-lock.js +165 -0
- package/dist/persistence/session-lock.js.map +1 -0
- package/dist/persistence/session-store.d.ts +18 -3
- package/dist/persistence/session-store.js +90 -21
- package/dist/persistence/session-store.js.map +1 -1
- package/dist/plugins/conflict-detection.js +2 -1
- package/dist/plugins/conflict-detection.js.map +1 -1
- package/dist/plugins/index.d.ts +3 -3
- package/dist/plugins/index.js +3 -3
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/isolated-plugin-runner.d.ts +6 -0
- package/dist/plugins/isolated-plugin-runner.js +19 -1
- package/dist/plugins/isolated-plugin-runner.js.map +1 -1
- package/dist/providers/local-llm-provider.js +28 -8
- package/dist/providers/local-llm-provider.js.map +1 -1
- package/dist/sandbox/docker-sandbox.js +7 -4
- package/dist/sandbox/docker-sandbox.js.map +1 -1
- package/dist/scripting/builtins.d.ts +8 -3
- package/dist/scripting/builtins.js +506 -355
- package/dist/scripting/builtins.js.map +1 -1
- package/dist/scripting/codebuddy-bindings.d.ts +47 -0
- package/dist/scripting/codebuddy-bindings.js +488 -0
- package/dist/scripting/codebuddy-bindings.js.map +1 -0
- package/dist/scripting/index.d.ts +33 -30
- package/dist/scripting/index.js +41 -36
- package/dist/scripting/index.js.map +1 -1
- package/dist/scripting/lexer.d.ts +31 -13
- package/dist/scripting/lexer.js +379 -292
- package/dist/scripting/lexer.js.map +1 -1
- package/dist/scripting/parser.d.ts +63 -44
- package/dist/scripting/parser.js +700 -473
- package/dist/scripting/parser.js.map +1 -1
- package/dist/scripting/runtime.d.ts +55 -24
- package/dist/scripting/runtime.js +600 -288
- package/dist/scripting/runtime.js.map +1 -1
- package/dist/scripting/script-registry.d.ts +54 -0
- package/dist/scripting/script-registry.js +202 -0
- package/dist/scripting/script-registry.js.map +1 -0
- package/dist/scripting/sync-bindings.d.ts +105 -0
- package/dist/scripting/sync-bindings.js +353 -0
- package/dist/scripting/sync-bindings.js.map +1 -0
- package/dist/scripting/types.d.ts +297 -199
- package/dist/scripting/types.js +86 -60
- package/dist/scripting/types.js.map +1 -1
- package/dist/search/usearch-index.js +42 -7
- package/dist/search/usearch-index.js.map +1 -1
- package/dist/security/bash-parser.d.ts +51 -0
- package/dist/security/bash-parser.js +327 -0
- package/dist/security/bash-parser.js.map +1 -0
- package/dist/security/index.d.ts +7 -5
- package/dist/security/index.js +8 -7
- package/dist/security/index.js.map +1 -1
- package/dist/security/skill-scanner.d.ts +36 -0
- package/dist/security/skill-scanner.js +149 -0
- package/dist/security/skill-scanner.js.map +1 -0
- package/dist/security/trust-folders.d.ts +1 -0
- package/dist/security/trust-folders.js +19 -1
- package/dist/security/trust-folders.js.map +1 -1
- package/dist/server/auth/index.d.ts +2 -2
- package/dist/server/auth/index.js +2 -2
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/middleware/index.d.ts +5 -5
- package/dist/server/middleware/index.js +5 -5
- package/dist/server/middleware/index.js.map +1 -1
- package/dist/server/middleware/rate-limit.js +15 -3
- package/dist/server/middleware/rate-limit.js.map +1 -1
- package/dist/server/websocket/handler.js +54 -6
- package/dist/server/websocket/handler.js.map +1 -1
- package/dist/skills/eligibility.js +26 -4
- package/dist/skills/eligibility.js.map +1 -1
- package/dist/tasks/background-tasks.js +5 -1
- package/dist/tasks/background-tasks.js.map +1 -1
- package/dist/tools/apply-patch.d.ts +55 -0
- package/dist/tools/apply-patch.js +273 -0
- package/dist/tools/apply-patch.js.map +1 -0
- package/dist/tools/hooks/default-hooks.d.ts +1 -1
- package/dist/tools/hooks/default-hooks.js +2 -1
- package/dist/tools/hooks/default-hooks.js.map +1 -1
- package/dist/tools/index.d.ts +10 -10
- package/dist/tools/index.js +11 -11
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/registry/bash-tools.js +6 -3
- package/dist/tools/registry/bash-tools.js.map +1 -1
- package/dist/tools/registry/misc-tools.js +1 -2
- package/dist/tools/registry/misc-tools.js.map +1 -1
- package/dist/tools/registry/search-tools.js +1 -1
- package/dist/tools/registry/search-tools.js.map +1 -1
- package/dist/tools/registry/text-editor-tools.js +1 -1
- package/dist/tools/registry/text-editor-tools.js.map +1 -1
- package/dist/tools/registry/todo-tools.js +37 -5
- package/dist/tools/registry/todo-tools.js.map +1 -1
- package/dist/tools/registry/tool-registry.js +5 -4
- package/dist/tools/registry/tool-registry.js.map +1 -1
- package/dist/tools/registry/web-tools.d.ts +1 -1
- package/dist/tools/registry/web-tools.js +28 -8
- package/dist/tools/registry/web-tools.js.map +1 -1
- package/dist/tools/text-editor.d.ts +1 -1
- package/dist/tools/text-editor.js +23 -5
- package/dist/tools/text-editor.js.map +1 -1
- package/dist/tools/web-search.d.ts +52 -37
- package/dist/tools/web-search.js +368 -163
- package/dist/tools/web-search.js.map +1 -1
- package/dist/types/errors.d.ts +1 -1
- package/dist/types/errors.js +2 -8
- package/dist/types/errors.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.js +1 -2
- package/dist/types/index.js.map +1 -1
- package/dist/ui/components/ChatInterface.d.ts +1 -1
- package/dist/ui/index.d.ts +17 -21
- package/dist/ui/index.js +25 -22
- package/dist/ui/index.js.map +1 -1
- package/dist/utils/config-validation/schema.d.ts +15 -15
- package/dist/utils/head-tail-truncation.d.ts +34 -0
- package/dist/utils/head-tail-truncation.js +98 -0
- package/dist/utils/head-tail-truncation.js.map +1 -0
- package/dist/utils/logger.js +3 -9
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/sanitize.d.ts +5 -0
- package/dist/utils/sanitize.js +19 -0
- package/dist/utils/sanitize.js.map +1 -1
- package/dist/utils/settings-manager.js +4 -4
- package/dist/utils/settings-manager.js.map +1 -1
- package/dist/workflows/index.d.ts +4 -279
- package/dist/workflows/index.js +8 -822
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/state-manager.d.ts +77 -0
- package/dist/workflows/state-manager.js +198 -0
- package/dist/workflows/state-manager.js.map +1 -0
- package/dist/workflows/step-manager.d.ts +39 -0
- package/dist/workflows/step-manager.js +196 -0
- package/dist/workflows/step-manager.js.map +1 -0
- package/dist/workflows/types.d.ts +87 -0
- package/dist/workflows/types.js +5 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/workflow-engine.d.ts +34 -0
- package/dist/workflows/workflow-engine.js +354 -0
- package/dist/workflows/workflow-engine.js.map +1 -0
- package/package.json +5 -1
package/dist/index.js
CHANGED
|
@@ -6,6 +6,10 @@ import { program } from "commander";
|
|
|
6
6
|
import { logger } from "./utils/logger.js";
|
|
7
7
|
// Import graceful shutdown for clean application termination
|
|
8
8
|
import { initializeGracefulShutdown, getShutdownManager, } from "./utils/graceful-shutdown.js";
|
|
9
|
+
// Import extracted CLI command modules
|
|
10
|
+
import { registerDaemonCommands, registerTriggerCommands } from "./commands/cli/daemon-commands.js";
|
|
11
|
+
import { registerSpeakCommand } from "./commands/cli/speak-command.js";
|
|
12
|
+
import { registerUtilityCommands } from "./commands/cli/utility-commands.js";
|
|
9
13
|
// Startup timing (enabled via PERF_TIMING=true or DEBUG=true)
|
|
10
14
|
const PERF_TIMING = process.env.PERF_TIMING === 'true' || process.env.DEBUG === 'true';
|
|
11
15
|
const startupPhases = [];
|
|
@@ -273,7 +277,7 @@ async function saveCommandLineSettings(apiKey, baseURL) {
|
|
|
273
277
|
}
|
|
274
278
|
else {
|
|
275
279
|
console.log("✅ API key saved to ~/.codebuddy/credentials.enc");
|
|
276
|
-
console.
|
|
280
|
+
console.error("⚠️ Consider enabling encryption for better security");
|
|
277
281
|
}
|
|
278
282
|
}
|
|
279
283
|
// Save base URL to settings (not sensitive)
|
|
@@ -639,7 +643,7 @@ program
|
|
|
639
643
|
directory: process.cwd(),
|
|
640
644
|
});
|
|
641
645
|
if (options.allowOutside) {
|
|
642
|
-
console.
|
|
646
|
+
console.error("Warning: Workspace isolation DISABLED - file access is unrestricted");
|
|
643
647
|
}
|
|
644
648
|
try {
|
|
645
649
|
// Get API key from options, environment, or user settings
|
|
@@ -658,14 +662,14 @@ program
|
|
|
658
662
|
// Enable force-tools mode for local models
|
|
659
663
|
if (options.forceTools) {
|
|
660
664
|
process.env.GROK_FORCE_TOOLS = 'true';
|
|
661
|
-
console.
|
|
665
|
+
console.error("🔧 Force tools: ENABLED (function calling for local models)");
|
|
662
666
|
}
|
|
663
667
|
// Handle auto-approve mode (like mistral-vibe)
|
|
664
668
|
if (options.autoApprove) {
|
|
665
669
|
const { ConfirmationService } = await import("./utils/confirmation-service.js");
|
|
666
670
|
const confirmationService = ConfirmationService.getInstance();
|
|
667
671
|
confirmationService.setSessionFlag("allOperations", true);
|
|
668
|
-
console.
|
|
672
|
+
console.error("✅ Auto-approve: ENABLED (all tool executions will be approved)");
|
|
669
673
|
}
|
|
670
674
|
// Handle --dangerously-skip-permissions (like Claude Code)
|
|
671
675
|
if (options.dangerouslySkipPermissions) {
|
|
@@ -675,8 +679,8 @@ program
|
|
|
675
679
|
confirmationService.setSessionFlag("fileOperations", true);
|
|
676
680
|
confirmationService.setSessionFlag("bashCommands", true);
|
|
677
681
|
process.env.GROK_SKIP_PERMISSIONS = 'true';
|
|
678
|
-
console.
|
|
679
|
-
console.
|
|
682
|
+
console.error("⚠️ DANGEROUS: All permission checks BYPASSED");
|
|
683
|
+
console.error(" Only use this in trusted containers without network access!");
|
|
680
684
|
}
|
|
681
685
|
// Handle --allowed-tools (like Claude Code --allowedTools)
|
|
682
686
|
if (options.allowedTools) {
|
|
@@ -684,12 +688,12 @@ program
|
|
|
684
688
|
setToolFilter(createToolFilter({
|
|
685
689
|
enabledTools: options.allowedTools,
|
|
686
690
|
}));
|
|
687
|
-
console.
|
|
691
|
+
console.error(`🔧 Allowed tools: ${options.allowedTools}`);
|
|
688
692
|
}
|
|
689
693
|
// Handle --mcp-debug
|
|
690
694
|
if (options.mcpDebug) {
|
|
691
695
|
process.env.MCP_DEBUG = 'true';
|
|
692
|
-
console.
|
|
696
|
+
console.error("🔍 MCP debug: ENABLED");
|
|
693
697
|
}
|
|
694
698
|
// Set max-price for cost limit (like mistral-vibe)
|
|
695
699
|
const maxPrice = parseFloat(options.maxPrice) || 10.0;
|
|
@@ -703,15 +707,14 @@ program
|
|
|
703
707
|
disabledTools: options.disabledTools,
|
|
704
708
|
});
|
|
705
709
|
setToolFilter(filter);
|
|
706
|
-
// Use getAllCodeBuddyTools() instead of deprecated CODEBUDDY_TOOLS array
|
|
707
710
|
const allTools = await getAllCodeBuddyTools();
|
|
708
711
|
const result = filterTools(allTools, filter);
|
|
709
|
-
console.
|
|
712
|
+
console.error(formatFilterResult(result));
|
|
710
713
|
}
|
|
711
714
|
// Handle vim mode
|
|
712
715
|
if (options.vim) {
|
|
713
716
|
process.env.GROK_VIM_MODE = 'true';
|
|
714
|
-
console.
|
|
717
|
+
console.error("Vim mode: ENABLED");
|
|
715
718
|
}
|
|
716
719
|
// Check for piped input (like mistral-vibe: cat file.txt | grok)
|
|
717
720
|
let pipedInput = '';
|
|
@@ -732,7 +735,7 @@ program
|
|
|
732
735
|
// Headless mode: process prompt and exit (if prompt, message, or piped input provided)
|
|
733
736
|
if (combinedPrompt && (options.prompt || pipedInput)) {
|
|
734
737
|
await processPromptHeadless(combinedPrompt, apiKey, baseURL, model, maxToolRounds, options.selfHeal !== false);
|
|
735
|
-
|
|
738
|
+
process.exit(0);
|
|
736
739
|
}
|
|
737
740
|
// Initialize rendering system (lazy load)
|
|
738
741
|
const { initializeRenderers, configureRenderContext } = await lazyImport.renderers();
|
|
@@ -968,323 +971,10 @@ program
|
|
|
968
971
|
const args = process.argv.slice(2);
|
|
969
972
|
pipelineCmd.parse(args, { from: 'user' });
|
|
970
973
|
});
|
|
971
|
-
//
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
.command("start")
|
|
977
|
-
.description("Start the daemon")
|
|
978
|
-
.option("--detach", "run daemon in background", true)
|
|
979
|
-
.option("--port <port>", "server port", "3000")
|
|
980
|
-
.action(async (options) => {
|
|
981
|
-
const { getDaemonManager } = await import("./daemon/index.js");
|
|
982
|
-
const manager = getDaemonManager({ port: parseInt(options.port) });
|
|
983
|
-
try {
|
|
984
|
-
await manager.start(options.detach);
|
|
985
|
-
const status = await manager.status();
|
|
986
|
-
console.log(`Daemon started (PID: ${status.pid})`);
|
|
987
|
-
}
|
|
988
|
-
catch (error) {
|
|
989
|
-
console.error(`Failed to start daemon: ${error instanceof Error ? error.message : error}`);
|
|
990
|
-
process.exit(1);
|
|
991
|
-
}
|
|
992
|
-
});
|
|
993
|
-
daemonCommand
|
|
994
|
-
.command("stop")
|
|
995
|
-
.description("Stop the daemon")
|
|
996
|
-
.action(async () => {
|
|
997
|
-
const { getDaemonManager } = await import("./daemon/index.js");
|
|
998
|
-
const manager = getDaemonManager();
|
|
999
|
-
try {
|
|
1000
|
-
await manager.stop();
|
|
1001
|
-
console.log("Daemon stopped");
|
|
1002
|
-
}
|
|
1003
|
-
catch (error) {
|
|
1004
|
-
console.error(`Failed to stop daemon: ${error instanceof Error ? error.message : error}`);
|
|
1005
|
-
process.exit(1);
|
|
1006
|
-
}
|
|
1007
|
-
});
|
|
1008
|
-
daemonCommand
|
|
1009
|
-
.command("restart")
|
|
1010
|
-
.description("Restart the daemon")
|
|
1011
|
-
.action(async () => {
|
|
1012
|
-
const { getDaemonManager } = await import("./daemon/index.js");
|
|
1013
|
-
const manager = getDaemonManager();
|
|
1014
|
-
try {
|
|
1015
|
-
await manager.restart();
|
|
1016
|
-
console.log("Daemon restarted");
|
|
1017
|
-
}
|
|
1018
|
-
catch (error) {
|
|
1019
|
-
console.error(`Failed to restart daemon: ${error instanceof Error ? error.message : error}`);
|
|
1020
|
-
process.exit(1);
|
|
1021
|
-
}
|
|
1022
|
-
});
|
|
1023
|
-
daemonCommand
|
|
1024
|
-
.command("status")
|
|
1025
|
-
.description("Show daemon status")
|
|
1026
|
-
.action(async () => {
|
|
1027
|
-
const { getDaemonManager } = await import("./daemon/index.js");
|
|
1028
|
-
const manager = getDaemonManager();
|
|
1029
|
-
const status = await manager.status();
|
|
1030
|
-
if (status.running) {
|
|
1031
|
-
console.log(`Daemon: RUNNING (PID: ${status.pid})`);
|
|
1032
|
-
if (status.uptime) {
|
|
1033
|
-
console.log(`Uptime: ${Math.round(status.uptime / 1000)}s`);
|
|
1034
|
-
}
|
|
1035
|
-
if (status.services.length > 0) {
|
|
1036
|
-
console.log("Services:");
|
|
1037
|
-
for (const svc of status.services) {
|
|
1038
|
-
console.log(` ${svc.running ? "+" : "-"} ${svc.name}`);
|
|
1039
|
-
}
|
|
1040
|
-
}
|
|
1041
|
-
}
|
|
1042
|
-
else {
|
|
1043
|
-
console.log("Daemon: STOPPED");
|
|
1044
|
-
}
|
|
1045
|
-
});
|
|
1046
|
-
daemonCommand
|
|
1047
|
-
.command("logs")
|
|
1048
|
-
.description("Show daemon logs")
|
|
1049
|
-
.option("-n, --lines <count>", "number of lines", "50")
|
|
1050
|
-
.action(async (options) => {
|
|
1051
|
-
const { getDaemonManager } = await import("./daemon/index.js");
|
|
1052
|
-
const manager = getDaemonManager();
|
|
1053
|
-
const logs = await manager.logs(parseInt(options.lines));
|
|
1054
|
-
console.log(logs);
|
|
1055
|
-
});
|
|
1056
|
-
// Trigger command - manage event triggers
|
|
1057
|
-
const triggerCommand = program
|
|
1058
|
-
.command("trigger")
|
|
1059
|
-
.description("Manage event triggers for automated agent responses");
|
|
1060
|
-
triggerCommand
|
|
1061
|
-
.command("list")
|
|
1062
|
-
.description("List all triggers")
|
|
1063
|
-
.action(async () => {
|
|
1064
|
-
const { getEventTriggerManager } = await import("./agent/observer/index.js");
|
|
1065
|
-
const { TriggerRegistry } = await import("./agent/observer/trigger-registry.js");
|
|
1066
|
-
const manager = getEventTriggerManager();
|
|
1067
|
-
const registry = new TriggerRegistry(manager);
|
|
1068
|
-
await registry.load();
|
|
1069
|
-
const triggers = manager.listTriggers();
|
|
1070
|
-
if (triggers.length === 0) {
|
|
1071
|
-
console.log("No triggers configured.");
|
|
1072
|
-
console.log("Use 'codebuddy trigger add' to create one.");
|
|
1073
|
-
}
|
|
1074
|
-
else {
|
|
1075
|
-
for (const t of triggers) {
|
|
1076
|
-
const status = t.enabled ? "+" : "-";
|
|
1077
|
-
console.log(` ${status} [${t.id.slice(0, 8)}] ${t.name} (${t.type}: ${t.condition})`);
|
|
1078
|
-
}
|
|
1079
|
-
}
|
|
1080
|
-
});
|
|
1081
|
-
triggerCommand
|
|
1082
|
-
.command("add <spec>")
|
|
1083
|
-
.description("Add a trigger (format: type:condition action:target)")
|
|
1084
|
-
.action(async (spec) => {
|
|
1085
|
-
const { getEventTriggerManager } = await import("./agent/observer/index.js");
|
|
1086
|
-
const { TriggerRegistry } = await import("./agent/observer/trigger-registry.js");
|
|
1087
|
-
const manager = getEventTriggerManager();
|
|
1088
|
-
const registry = new TriggerRegistry(manager);
|
|
1089
|
-
await registry.load();
|
|
1090
|
-
// Parse spec: "file_change:src/**/*.ts" "notify:cli"
|
|
1091
|
-
const parts = spec.split(/\s+/);
|
|
1092
|
-
const [typeCondition, actionTarget] = parts;
|
|
1093
|
-
const [type, ...condParts] = (typeCondition || '').split(':');
|
|
1094
|
-
const condition = condParts.join(':') || '*';
|
|
1095
|
-
const [actionType, target] = (actionTarget || 'notify:cli').split(':');
|
|
1096
|
-
const trigger = await registry.create({
|
|
1097
|
-
name: `${type} trigger`,
|
|
1098
|
-
type: type,
|
|
1099
|
-
condition,
|
|
1100
|
-
action: { type: (actionType || 'notify'), target: target || 'cli' },
|
|
1101
|
-
});
|
|
1102
|
-
console.log(`Trigger created: ${trigger.id.slice(0, 8)} (${trigger.type}: ${trigger.condition})`);
|
|
1103
|
-
});
|
|
1104
|
-
triggerCommand
|
|
1105
|
-
.command("remove <id>")
|
|
1106
|
-
.description("Remove a trigger by ID")
|
|
1107
|
-
.action(async (id) => {
|
|
1108
|
-
const { getEventTriggerManager } = await import("./agent/observer/index.js");
|
|
1109
|
-
const { TriggerRegistry } = await import("./agent/observer/trigger-registry.js");
|
|
1110
|
-
const manager = getEventTriggerManager();
|
|
1111
|
-
const registry = new TriggerRegistry(manager);
|
|
1112
|
-
await registry.load();
|
|
1113
|
-
// Support partial ID matching
|
|
1114
|
-
const triggers = manager.listTriggers();
|
|
1115
|
-
const match = triggers.find(t => t.id.startsWith(id));
|
|
1116
|
-
if (match) {
|
|
1117
|
-
await registry.delete(match.id);
|
|
1118
|
-
console.log(`Trigger removed: ${match.id.slice(0, 8)}`);
|
|
1119
|
-
}
|
|
1120
|
-
else {
|
|
1121
|
-
console.error(`Trigger not found: ${id}`);
|
|
1122
|
-
process.exit(1);
|
|
1123
|
-
}
|
|
1124
|
-
});
|
|
1125
|
-
// ============================================================================
|
|
1126
|
-
// Speak Command
|
|
1127
|
-
// ============================================================================
|
|
1128
|
-
const speakCommand = program
|
|
1129
|
-
.command("speak [text...]")
|
|
1130
|
-
.description("Synthesize speech using AudioReader TTS")
|
|
1131
|
-
.option("--voice <voice>", "Voice ID to use (e.g., af_bella, ff_siwis)")
|
|
1132
|
-
.option("--list-voices", "List available voices")
|
|
1133
|
-
.option("--speed <speed>", "Speaking speed (0.25-4.0)", "1.0")
|
|
1134
|
-
.option("--format <format>", "Output format (wav, mp3)", "wav")
|
|
1135
|
-
.option("--url <url>", "AudioReader API URL", "http://localhost:8000")
|
|
1136
|
-
.action(async (textParts, opts) => {
|
|
1137
|
-
const { AudioReaderTTSProvider } = await import("./talk-mode/providers/audioreader-tts.js");
|
|
1138
|
-
const provider = new AudioReaderTTSProvider();
|
|
1139
|
-
await provider.initialize({
|
|
1140
|
-
provider: 'audioreader',
|
|
1141
|
-
enabled: true,
|
|
1142
|
-
priority: 1,
|
|
1143
|
-
settings: {
|
|
1144
|
-
baseURL: opts.url,
|
|
1145
|
-
defaultVoice: opts.voice,
|
|
1146
|
-
speed: parseFloat(opts.speed),
|
|
1147
|
-
format: opts.format,
|
|
1148
|
-
},
|
|
1149
|
-
});
|
|
1150
|
-
const available = await provider.isAvailable();
|
|
1151
|
-
if (!available) {
|
|
1152
|
-
console.error("AudioReader is not running at " + opts.url);
|
|
1153
|
-
console.error("Start it with: cd ~/claude/AudioReader && python main.py");
|
|
1154
|
-
process.exit(1);
|
|
1155
|
-
}
|
|
1156
|
-
if (opts.listVoices) {
|
|
1157
|
-
const voices = await provider.listVoices();
|
|
1158
|
-
console.log("Available voices:\n");
|
|
1159
|
-
for (const v of voices) {
|
|
1160
|
-
const marker = v.isDefault ? " (default)" : "";
|
|
1161
|
-
console.log(` ${v.providerId.padEnd(14)} ${v.name.padEnd(10)} ${v.language} ${v.gender}${marker}`);
|
|
1162
|
-
}
|
|
1163
|
-
return;
|
|
1164
|
-
}
|
|
1165
|
-
const text = textParts.join(" ");
|
|
1166
|
-
if (!text) {
|
|
1167
|
-
console.error("No text provided. Usage: buddy speak \"Hello world\"");
|
|
1168
|
-
process.exit(1);
|
|
1169
|
-
}
|
|
1170
|
-
const result = await provider.synthesize(text, {
|
|
1171
|
-
voice: opts.voice,
|
|
1172
|
-
rate: parseFloat(opts.speed),
|
|
1173
|
-
format: opts.format,
|
|
1174
|
-
});
|
|
1175
|
-
// Write audio to stdout for piping, or play directly
|
|
1176
|
-
const { execSync } = await import("child_process");
|
|
1177
|
-
const { writeFileSync, unlinkSync } = await import("fs");
|
|
1178
|
-
const { tmpdir } = await import("os");
|
|
1179
|
-
const { join } = await import("path");
|
|
1180
|
-
const tmpFile = join(tmpdir(), `codebuddy-speak-${Date.now()}.${result.format}`);
|
|
1181
|
-
writeFileSync(tmpFile, result.audio);
|
|
1182
|
-
try {
|
|
1183
|
-
// Try common audio players
|
|
1184
|
-
const players = process.platform === 'darwin'
|
|
1185
|
-
? ['afplay']
|
|
1186
|
-
: ['aplay', 'paplay', 'play', 'mpv', 'ffplay'];
|
|
1187
|
-
let played = false;
|
|
1188
|
-
for (const player of players) {
|
|
1189
|
-
try {
|
|
1190
|
-
const args = player === 'ffplay' ? '-nodisp -autoexit' : '';
|
|
1191
|
-
execSync(`${player} ${args} "${tmpFile}"`, { stdio: 'inherit' });
|
|
1192
|
-
played = true;
|
|
1193
|
-
break;
|
|
1194
|
-
}
|
|
1195
|
-
catch {
|
|
1196
|
-
continue;
|
|
1197
|
-
}
|
|
1198
|
-
}
|
|
1199
|
-
if (!played) {
|
|
1200
|
-
console.log(`Audio saved to: ${tmpFile}`);
|
|
1201
|
-
console.error("No audio player found. Install aplay, mpv, or ffplay.");
|
|
1202
|
-
return;
|
|
1203
|
-
}
|
|
1204
|
-
}
|
|
1205
|
-
finally {
|
|
1206
|
-
try {
|
|
1207
|
-
unlinkSync(tmpFile);
|
|
1208
|
-
}
|
|
1209
|
-
catch { /* ignore */ }
|
|
1210
|
-
}
|
|
1211
|
-
});
|
|
1212
|
-
// Doctor command - diagnose environment and dependencies
|
|
1213
|
-
program
|
|
1214
|
-
.command('doctor')
|
|
1215
|
-
.description('Diagnose Code Buddy environment, dependencies, and configuration')
|
|
1216
|
-
.option('-v, --verbose', 'Show all checks including passing ones')
|
|
1217
|
-
.action(async (options) => {
|
|
1218
|
-
const { runDoctorChecks } = await import('./doctor/index.js');
|
|
1219
|
-
const checks = await runDoctorChecks(process.cwd());
|
|
1220
|
-
console.log('\n🔍 Code Buddy Doctor\n');
|
|
1221
|
-
const icons = { ok: '✅', warn: '⚠️', error: '❌' };
|
|
1222
|
-
for (const check of checks) {
|
|
1223
|
-
if (options.verbose || check.status !== 'ok') {
|
|
1224
|
-
console.log(` ${icons[check.status]} ${check.name}: ${check.message}`);
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
const errors = checks.filter(c => c.status === 'error').length;
|
|
1228
|
-
const warns = checks.filter(c => c.status === 'warn').length;
|
|
1229
|
-
const oks = checks.filter(c => c.status === 'ok').length;
|
|
1230
|
-
console.log(`\n Summary: ${oks} passed, ${warns} warnings, ${errors} errors\n`);
|
|
1231
|
-
if (errors > 0)
|
|
1232
|
-
process.exit(1);
|
|
1233
|
-
});
|
|
1234
|
-
// Onboard command - interactive setup wizard
|
|
1235
|
-
program
|
|
1236
|
-
.command('onboard')
|
|
1237
|
-
.description('Interactive setup wizard for Code Buddy')
|
|
1238
|
-
.action(async () => {
|
|
1239
|
-
const { runOnboarding } = await import('./wizard/onboarding.js');
|
|
1240
|
-
await runOnboarding();
|
|
1241
|
-
});
|
|
1242
|
-
// Webhook command
|
|
1243
|
-
const webhookCommand = program
|
|
1244
|
-
.command('webhook')
|
|
1245
|
-
.description('Manage webhook triggers');
|
|
1246
|
-
webhookCommand
|
|
1247
|
-
.command('list')
|
|
1248
|
-
.description('List registered webhooks')
|
|
1249
|
-
.action(async () => {
|
|
1250
|
-
const { WebhookManager } = await import('./webhooks/webhook-manager.js');
|
|
1251
|
-
const mgr = new WebhookManager();
|
|
1252
|
-
const hooks = mgr.list();
|
|
1253
|
-
if (hooks.length === 0) {
|
|
1254
|
-
console.log('No webhooks registered.');
|
|
1255
|
-
return;
|
|
1256
|
-
}
|
|
1257
|
-
console.log('\nRegistered webhooks:\n');
|
|
1258
|
-
for (const h of hooks) {
|
|
1259
|
-
const status = h.enabled ? 'ON' : 'OFF';
|
|
1260
|
-
console.log(` [${status}] ${h.name} (${h.id})`);
|
|
1261
|
-
console.log(` Message: ${h.agentMessage}`);
|
|
1262
|
-
console.log(` Secret: ${h.secret ? 'yes' : 'no'}\n`);
|
|
1263
|
-
}
|
|
1264
|
-
});
|
|
1265
|
-
webhookCommand
|
|
1266
|
-
.command('add <name> <message>')
|
|
1267
|
-
.description('Register a new webhook')
|
|
1268
|
-
.option('-s, --secret <secret>', 'HMAC secret for signature verification')
|
|
1269
|
-
.action(async (name, message, opts) => {
|
|
1270
|
-
const { WebhookManager } = await import('./webhooks/webhook-manager.js');
|
|
1271
|
-
const mgr = new WebhookManager();
|
|
1272
|
-
const hook = mgr.register(name, message, opts.secret);
|
|
1273
|
-
console.log(`\nWebhook registered: ${hook.id}`);
|
|
1274
|
-
console.log(`Trigger URL: POST /api/webhooks/${hook.id}/trigger\n`);
|
|
1275
|
-
});
|
|
1276
|
-
webhookCommand
|
|
1277
|
-
.command('remove <id>')
|
|
1278
|
-
.description('Remove a webhook')
|
|
1279
|
-
.action(async (id) => {
|
|
1280
|
-
const { WebhookManager } = await import('./webhooks/webhook-manager.js');
|
|
1281
|
-
const mgr = new WebhookManager();
|
|
1282
|
-
if (mgr.remove(id)) {
|
|
1283
|
-
console.log('Webhook removed.');
|
|
1284
|
-
}
|
|
1285
|
-
else {
|
|
1286
|
-
console.log('Webhook not found.');
|
|
1287
|
-
}
|
|
1288
|
-
});
|
|
974
|
+
// Register extracted CLI command modules
|
|
975
|
+
registerDaemonCommands(program);
|
|
976
|
+
registerTriggerCommands(program);
|
|
977
|
+
registerSpeakCommand(program);
|
|
978
|
+
registerUtilityCommands(program);
|
|
1289
979
|
program.parse();
|
|
1290
980
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import fs from 'fs-extra';
|
|
|
17
17
|
import * as path from 'path';
|
|
18
18
|
import * as os from 'os';
|
|
19
19
|
import { WakeWordDetector } from '../voice/wake-word.js';
|
|
20
|
+
import { logger } from '../utils/logger.js';
|
|
20
21
|
const DEFAULT_CONFIG = {
|
|
21
22
|
enabled: false,
|
|
22
23
|
wakeWord: 'hey grok',
|
|
@@ -347,12 +348,17 @@ export class VoiceControl extends EventEmitter {
|
|
|
347
348
|
}
|
|
348
349
|
});
|
|
349
350
|
vadProcess.on('close', async () => {
|
|
350
|
-
|
|
351
|
-
|
|
351
|
+
try {
|
|
352
|
+
if (this.audioBuffer.length > 0) {
|
|
353
|
+
await this.processAudioBuffer();
|
|
354
|
+
}
|
|
355
|
+
// Restart if still in continuous mode
|
|
356
|
+
if (this.state.isListening && this.config.continuousListening) {
|
|
357
|
+
setTimeout(() => this.startContinuousListening(), 100);
|
|
358
|
+
}
|
|
352
359
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
setTimeout(() => this.startContinuousListening(), 100);
|
|
360
|
+
catch (error) {
|
|
361
|
+
logger.error('Error processing audio buffer on VAD close:', { error: String(error) });
|
|
356
362
|
}
|
|
357
363
|
});
|
|
358
364
|
vadProcess.on('error', (error) => {
|