You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
• Use model parameter instead of hardcoded Claude model in AnthropicProvider
• Add error logging for Anthropic API failures with context
• Improve error wrapping in daemon run command with descriptive messages
• Fix nil error handling in message feed to prevent panics
• Fix cmd.Printf to fmt.Fprintf in daemon install for consistent output
• Refactor connection check to reuse API client instead of creating new one
• Update daemon install test expectations for new output format and error messages
• Clean up test mocks to remove unnecessary model provider data
Co-authored-by: construct-agent <noreply@construct.sh>
Stdout: conv.Ptr(" ✓ Socket file written to /etc/systemd/system/construct.socket\n ✓ Service file written to /etc/systemd/system/construct.service\n ✓ Systemd daemon reloaded\n ✓ Socket enabled\n✓ Context 'default' created\n✓ Daemon installed successfully\n→ Next: Create a model provider with 'construct modelprovider create'\n"),
39
+
Stdout: conv.Ptr("✔ Socket file written to /etc/systemd/system/construct.socket\n✔ Service file written to /etc/systemd/system/construct.service\n✔ Systemd daemon reloaded\n✔ Socket enabled\n✔ Context 'default' created\n\r\x1b[K✔ Daemon is responding to requests\n✔ Daemon installed successfully\n➡️ Next: Create a model provider with 'construct modelprovider create'\n"),
Stdout: conv.Ptr(" ✓ Service file written to /Users/testuser/Library/LaunchAgents/construct-default.plist\n✓ Launchd service loaded\n✓ Context 'default' created\n✓ Daemon installed successfully\n→ Next: Create a model provider with 'construct modelprovider create'\n"),
61
+
Stdout: conv.Ptr(" ✔ Service file written to /Users/testuser/Library/LaunchAgents/construct-default.plist\n✔ Launchd service loaded\n✔ Context 'default' created\n\r\x1b[K✔ Daemon is responding to requests\n✔ Daemon installed successfully\n➡️ Next: Create a model provider with 'construct modelprovider create'\n"),
Stdout: conv.Ptr(" ✓ Socket file written to /etc/systemd/system/construct.socket\n ✓ Service file written to /etc/systemd/system/construct.service\n ✓ Systemd daemon reloaded\n ✓ Socket enabled\n✓ Context 'default' created\n✓ Daemon installed successfully\n→ Next: Create a model provider with 'construct modelprovider create'\n"),
82
+
Stdout: conv.Ptr("✔ Socket file written to /etc/systemd/system/construct.socket\n✔ Service file written to /etc/systemd/system/construct.service\n✔ Systemd daemon reloaded\n✔ Socket enabled\n✔ Context 'default' created\n\r\x1b[K✔ Daemon is responding to requests\n✔ Daemon installed successfully\n➡️ Next: Create a model provider with 'construct modelprovider create'\n"),
Stdout: conv.Ptr(" ✓ Socket file written to /etc/systemd/system/construct.socket\n ✓ Service file written to /etc/systemd/system/construct.service\n ✓ Systemd daemon reloaded\n ✓ Socket enabled\n✓ Context 'production' created\n✓ Daemon installed successfully\n→ Next: Create a model provider with 'construct modelprovider create'\n"),
103
+
Stdout: conv.Ptr("✔ Socket file written to /etc/systemd/system/construct.socket\n✔ Service file written to /etc/systemd/system/construct.service\n✔ Systemd daemon reloaded\n✔ Socket enabled\n✔ Context 'production' created\n\r\x1b[K✔ Daemon is responding to requests\n✔ Daemon installed successfully\n➡️ Next: Create a model provider with 'construct modelprovider create'\n"),
Stdout: conv.Ptr(" ✓ Socket file written to /etc/systemd/system/construct.socket\n ✓ Service file written to /etc/systemd/system/construct.service\n ✓ Systemd daemon reloaded\n ✓ Socket enabled\n✓ Context 'default' created\n✓ Daemon installed successfully\n→ Next: Create a model provider with 'construct modelprovider create'\n"),
127
+
Stdout: conv.Ptr("✔ Socket file written to /etc/systemd/system/construct.socket\n✔ Service file written to /etc/systemd/system/construct.service\n✔ Systemd daemon reloaded\n✔ Socket enabled\n✔ Context 'default' created\n\r\x1b[K✔ Daemon is responding to requests\n✔ Daemon installed successfully\n➡️ Next: Create a model provider with 'construct modelprovider create'\n"),
Error: "Construct daemon is already installed on this system\n\nTroubleshooting steps:\n 1. Use '--force' flag to overwrite: construct daemon install --force\n 2. Uninstall first: construct daemon uninstall && construct daemon install\n 3. Use '--name' flag to create a separate daemon instance (advanced)\n\nTechnical details:\nService file exists at: /etc/systemd/system/construct.socket\nIf the problem persists:\n→ https://docs.construct.sh/daemon/troubleshooting#already-installed\n→ https://github.com/furisto/construct/issues/new\n",
Error: "Command failed: systemctl daemon-reload\n\nTroubleshooting steps:\n 1. Check if the required system service is running\n 2. Verify you have permission to manage system services\n 3. Check system logs for more details\n 4. Try running the command manually to diagnose the issue\n\nTechnical details:\nCommand 'systemctl daemon-reload ' failed: systemctl error\nOutput: Failed to reload\nIf the problem persists:\n→ https://docs.construct.sh/daemon/troubleshooting#command-failed\n→ https://github.com/furisto/construct/issues/new\n",
Error: "Connection to daemon failed: failed to check connection: connection failed",
202
+
Error: "Connection to daemon failed: failed to check connection: connection failed\n\nTroubleshooting steps:\n 1. Check if the daemon socket is active:\n systemctl --user status construct.socket\n systemctl --user status construct.service\n\n 2. Check service logs:\n journalctl --user -u construct.service --no-pager -n 20\n journalctl --user -u construct.socket --no-pager -n 20\n\n 3. Try manually starting the socket:\n systemctl --user start construct.socket\n systemctl --user start construct.service\n\n 4. Verify the daemon endpoint:\n Address: /tmp/construct-default.sock\n Type: unix\n Check if socket file exists and has correct permissions:\n ls -la /tmp/construct.sock\n\n 5. Check for permission issues:\n # Check if systemd files exist:\n ls -la /etc/systemd/system/construct.*\n\n 6. Try reinstalling the daemon:\n construct daemon uninstall\n construct daemon install\n\n 7. For additional help:\n - Check if the construct binary is accessible and executable\n - Verify system resources (disk space, memory)\n - Run 'construct daemon run' manually to see direct error output\n\n\nIf the problem persists:\n→ https://docs.construct.sh/daemon/troubleshooting\n",
0 commit comments