Commit Graph

170 Commits

Author SHA1 Message Date
giveen
1a54dea061 mcp: allow background connect without registering tools; TUI starts background connect(register=False) 2026-01-21 11:18:56 -07:00
giveen
d29e1f78e6 tui: instantiate MCPManager at startup to auto-connect and register MCP tools 2026-01-21 11:15:21 -07:00
giveen
84203c0435 mcp: auto-connect when configured; add socket control and tools call 2026-01-21 11:13:40 -07:00
giveen
080a32a8fa mcp: add unix socket control + tools call/list via daemon 2026-01-21 11:06:36 -07:00
giveen
f3f3b0956b mcp: add daemon mode + disconnect; harden StdioTransport cleanup 2026-01-21 10:55:30 -07:00
giveen
c5c6fee8da chore(mcp): disable MCP auto-start and auto-connect; document manual install 2026-01-21 09:23:13 -07:00
giveen
c73745304f chore(mcp): add visibility note for mcp-cleanup branch 2026-01-21 09:22:07 -07:00
Masic
bef1c3a52d Merge pull request #20 from giveen/bug-fix
Bug fix
2026-01-20 21:40:15 -07:00
giveen
9de59f1d00 refactor(tui): use persistent header for target display; remove in-chat target duplicates 2026-01-20 12:38:32 -07:00
giveen
0219d8367f fix(tui): avoid mount_before AttributeError by falling back to mount 2026-01-20 12:36:22 -07:00
giveen
cabae0fcd6 feat(tui): add persistent header showing runtime/mode/target and keep it updated 2026-01-20 12:34:08 -07:00
giveen
6b4a568479 fix(tui): clear target and agent state when deactivating workspace 2026-01-20 12:32:33 -07:00
giveen
00a7449293 fix(tui): ensure workspace restores supersede manual target messages 2026-01-20 12:31:48 -07:00
giveen
ea9c69fe22 fix(tui): append agent history when target set/restored so LLM sees changes 2026-01-20 12:26:37 -07:00
giveen
5e6e4cd44c fix: heuristics for flags-only terminal commands; route semantic tools to terminal 2026-01-20 12:18:17 -07:00
giveen
0a79b5d54e WIP: save local edits (tui.py, .gitignore) 2026-01-20 11:46:44 -07:00
Masic
0cd3ecc2b1 Merge pull request #19 from giveen/workspace
feat(workspaces): add unified /workspace lifecycle, target persistence, and workspace-scoped RAG
2026-01-19 21:25:53 -07:00
giveen
40b58f3c83 fix: address Copilot PR review comments
- Fix indentation of except blocks in hexstrike_adapter.py and metasploit_adapter.py
- Remove duplicate for loop in base_agent.py candidate validation
- Correct import section syntax in hexstrike_server.py
- All changes address Copilot review feedback for code correctness and clarity
2026-01-19 13:23:03 -07:00
giveen
4d673261b7 chore: code hygiene - remove redundant imports, clarify except/pass blocks, and improve error logging
- Removed redundant and duplicate imports (re, urllib.parse) in multiple modules
- Clarified or replaced except/pass blocks with comments or logging in TUI, main, and Docker runtime
- Improved notification error handling and logging
- No functional changes; code quality and maintainability improvements only
2026-01-19 13:12:31 -07:00
giveen
37e7be25a4 chore: remove test_*.py scripts from version control (should not be in PR) 2026-01-19 13:05:47 -07:00
giveen
cd1eaedf75 chore: remove unused TargetManager import from base_agent.py 2026-01-19 12:45:18 -07:00
giveen
bdb0b1d908 docs: clarify gather_candidate_targets is shallow, not recursive 2026-01-19 12:37:48 -07:00
giveen
63233dc392 refactor: use workspaces.validation utilities for target extraction and scope checks 2026-01-19 10:39:03 -07:00
giveen
14ec8af4a4 chore: log notifier failures in RAG; notify on MCP atexit failure; add TUI notification tests 2026-01-19 10:37:14 -07:00
giveen
a186b62e8a chore: log and notify on critical exceptions (mcp manager, tui target persistence/display) 2026-01-19 10:35:37 -07:00
giveen
2c82a30b16 test(rag): assert persisted index is loaded (mtime unchanged) 2026-01-19 10:33:38 -07:00
giveen
870cc4a84a test: suppress tarfile DeprecationWarning in import workspace tests 2026-01-19 10:32:54 -07:00
giveen
08e9d53dd8 chore: apply ruff fixes to project files; exclude third_party from ruff 2026-01-19 10:31:57 -07:00
giveen
acb5ca021e chore(workspaces): remove tracked workspaces and ignore user workspace data 2026-01-19 08:43:27 -07:00
giveen
e8ab673a13 feat(workspaces): add unified /workspace lifecycle, target persistence, and workspace-scoped RAG
- Introduce  command for CLI and TUI with create/activate, list, info, note, clear, export, import, and help actions
- Persist workspace state via  marker and enriched  (targets, operator notes, last_active_at, last_target)
- Restore  on workspace activation and sync it to UI banner, agent state, and CLI output
- Enforce target normalization and ensure  always exists in workspace targets
- Route loot output to  when a workspace is active
- Prefer workspace-local knowledge paths for indexing and RAG resolution
- Persist RAG indexes per workspace and load existing indexes before re-indexing
- Add deterministic workspace export/import utilities (excluding caches)
- Integrate workspace handling into TUI slash commands with modal help screen
2026-01-19 08:41:38 -07:00
Masic
50c8ec1936 Merge pull request #18 from giveen/docker/mcp-docker-changes
docker: improve safety, UX, and Metasploit MCP defaults
2026-01-15 18:05:31 -07:00
giveen
0b40471310 chore: remove PR_BODY.md
Why:
- PR_BODY.md was added accidentally and should not be tracked.
- Keep PR body content local; use GitHub PR UI for composing pull requests.
2026-01-15 09:01:07 -07:00
giveen
36350775f9 docker: improve safety, UX, and Metasploit MCP defaults
Why:
- Persist artifacts to /app/loot so container outputs remain available when mounted.
- Avoid mandatory host chown; make chown opt-in via CHOWN_ON_START to prevent accidental ownership changes.
- Bind msfrpcd to 127.0.0.1 by default and add EXPOSE_MSF_RPC opt-in to avoid exposing RPC to host network.
- Replace crashing assertion on missing default model with a friendly CLI/TUI error path.
- Add .dockerignore to reduce build context and avoid copying unnecessary files.
2026-01-15 08:58:06 -07:00
Masic
f136ef6f9d Merge pull request #17 from giveen/hexstrike-ai-integration
MCP: Add Metasploit integration, HexStrike parity, auto-start flags and SSETransport improvements
2026-01-14 20:51:32 -07:00
giveen
6cf1ec43fe mcp: fix LAUNCH_* env handling in MCP manager (hexstrike/metasploit auto-start) 2026-01-14 17:43:41 -07:00
giveen
ff152138e5 mcp: align metasploit-local with HexStrike style; add FORCE_SUBTREE_PULL to .env.example 2026-01-14 17:04:26 -07:00
giveen
171edb2738 docs: add cleaned .env.example grouping MCP/Metasploit settings 2026-01-14 16:58:13 -07:00
giveen
5fd6bd7c11 mcp: wait for SSE endpoint discovery in connect() to avoid writer races 2026-01-14 16:56:21 -07:00
giveen
09723c8ed9 mcp: wait/attempt discovery of POST messages endpoint before POST to avoid 405 2026-01-14 16:53:22 -07:00
giveen
1476b1e117 mcp: add SSE listener + pending request handling to support async 202 flows 2026-01-14 16:52:28 -07:00
giveen
580fc37614 mcp: SSETransport discovers messages POST endpoint from /sse and uses it for POSTs 2026-01-14 16:49:47 -07:00
giveen
b242dc3031 scripts: backup untracked dir and safely add subtree when forced 2026-01-14 16:03:21 -07:00
giveen
a55e01ae54 scripts: detect untracked existing dir and add subtree instead of pull 2026-01-14 16:02:37 -07:00
giveen
019039f65c scripts: handle empty third_party/MetasploitMCP dir by adding subtree 2026-01-14 16:00:48 -07:00
giveen
5ffe5bee07 scripts: add METASPLOIT_SUBTREE_REPO override and improve subtree messaging 2026-01-14 15:59:15 -07:00
giveen
5e2dcbec35 scripts: make add_hexstrike_subtree.sh idempotent; support FORCE_SUBTREE_PULL for updates 2026-01-14 15:54:42 -07:00
giveen
907639df8e scripts: make add_metasploit_subtree.sh idempotent; support FORCE_SUBTREE_PULL for updates 2026-01-14 15:54:22 -07:00
giveen
82aca6a324 fix(mcp): correct indentation and robust /sse URL handling 2026-01-14 15:01:44 -07:00
giveen
f940288a94 mcp: default HTTP MCP transport to /sse endpoint for SSE servers 2026-01-14 14:58:15 -07:00
giveen
83681d5f81 mcp: wait for msfrpcd readiness and log msfrpcd output for debugging 2026-01-14 14:07:41 -07:00