Commit Graph
100 Commits
Author SHA1 Message Date
fluzzi32 7967c413c9 feat: simplify node selection, enhance gRPC execution logic, and improve CLI aggregate summaries 2026-04-30 14:18:41 -03:00
fluzzi32 96049b4028 feat: Implement Smart Tunnel async architecture (v6.0.0b1)
- Replaced blocking pexpect interact with asyncio-based multiplexing.
- Implemented LocalStream and RemoteStream for agnostic I/O handling.
- Real-time SIGWINCH window resizing support.
- 'Ghost buffer' mitigation for clean, artifact-free session handovers.
- Upgraded _logclean into a mini terminal emulator to accurately process ANSI, backspaces, and inline clears.
- Continuous auto-saving for logs without blocking the main thread.
- Bumped version to 6.0.0b1 and regenerated pdoc documentation.
2026-04-27 15:12:28 -03:00
fluzzi32 1c814eb9fd refactor: Major upgrade to v5.1b6 - AWS SSM support & Distributed Architecture
Core & Protocols:
- Native AWS SSM support added (aws ssm start-session).
- Improved Pexpect logic for ssm, kubectl, and docker.
- Cleaned connection success messages (omitting ports for non-IP protocols).

gRPC Layer:
- Migrated gRPC modules to 'connpy/grpc_layer/'.
- Implemented dynamic node naming (e.g. ssm-i-xxxx@aws) for accurate server-side logging.
- Added automatic sys.path resolution for gRPC generated modules.
- Enhanced InteractNode response with initial connection status.

Printer & Concurrency:
- Implemented ThreadLocalStream for isolated thread-safe output.
- Self-healing Console objects to prevent 'closed file' errors in test/async environments.
- Capture clean plugin output in remote executions.

AI & Services:
- Improved tool registration and debug visualization.
- Restored native dictionary returns for AI tools to fix Web UI rendering.
- Increased backup retention to 100 copies in SyncService.
- Silenced noisy auto-sync CLI messages.

Quality & Docs:
- Total tests: 267 (all passing).
- New test suites for gRPC layer and printer concurrency.
- Updated .gitignore to exclude internal planning docs.
- Full technical documentation regenerated with pdoc.
2026-04-24 19:23:00 -03:00
fluzzi32 287acde1e4 chore: release v5.1b5 (optimize startup, fix ai panel) 2026-04-20 12:28:43 -03:00
fluzzi32 5f01d0c757 fix: resolve protobuf version conflict and stabilize API startup (v5.1b4) 2026-04-17 21:10:49 -03:00
fluzzi32 f30e8a991f fix: stabilize API startup and bump version to 5.1b3 2026-04-17 21:04:42 -03:00
fluzzi32 4dd822a921 chore: sync version and build fixes to v5.1b2 2026-04-17 20:05:18 -03:00
fluzzi32 d8c572d2b6 build: update dependencies in requirements.txt and setup.cfg for v5.1b1 2026-04-17 19:45:18 -03:00
fluzzi32 cb926c2b85 feat: major architectural refactor to 5.1b1 - Service Layer, gRPC & Agent evolution (fragmented secrets) 2026-04-17 18:42:08 -03:00
fluzzi32 85b23526cd feat: implement AI session management, fix UI rendering, and release 5.0b6
- Bump version to 5.0b6 and regenerate HTML documentation via pdoc3.
- Add persistent AI chat sessions (list, resume, delete) stored locally.
- Fix 'rich' library console rendering and routing 'error()' to stderr.
- Update Architect UI color theme to medium_purple.
- Sanitize caching metadata (cache_control) for compatibility with non-Anthropic models.
- Fix .folder config path redirection mapping and fzf-wrapper compatibility.
- Ensure context plugin correctly filters node lists upon load.
- Inject config instance directly into API components instead of instantiating globally.
- Fix edge-case in plugin loading preventing startup when folder is missing.
- Add comprehensive test coverage for printer module and AI sessions.
2026-04-06 15:52:09 -03:00
fluzzi32 af85051eb7 fix(config): implement atomic save, validation and recovery for config files and update pdoc 2026-04-04 10:55:05 -03:00
fluzzi32 24f98885c0 feat: fast completion caches, embedded OAuth client, and robust context plugin
- Refactored completion.py to use text caches for near-instant tab-completion.
- Integrated self-healing cache generation in configfile.py for nodes, folders, and profiles.
- Updated bash/zsh completion generation to call completion.py directly via python3.
- Embedded Google OAuth client config in sync.py with split secrets to bypass GitHub scanning.
- Refactored context plugin with property-based configuration and improved safety (default 'all' context, regex fallback).
- Updated unit tests for completion caching and validated context plugin improvements.
- Bumped version to 5.0b4 and regenerated documentation.
2026-04-04 09:20:01 -03:00
fluzzi32 d8f7d4db87 feat: migrate config to YAML, add dual-caching and 0ms fzf wrapper
- Migrated configuration backend from JSON to YAML for better readability.
- Added automatic dual-caching (.config.cache.json) to preserve fast load times with YAML.
- Implemented a new 0ms latency fzf wrapper for bash and zsh (--fzf-wrapper).
- Updated sync plugin to support the new YAML config format and clear caches on extraction.
- Refactored 'completion.py' to gracefully handle fallback config formats.
- Added new test modules (test_capture, test_context, test_sync) covering core plugins.
- Updated existing unit tests to handle YAML config creation and parsing.
- Bumped version to 5.0b3 and regenerated HTML documentation.
2026-04-03 18:47:55 -03:00
fluzzi32 5d8c372f23 docs: bump version to 5.0b2 and regenerate documentation 2026-04-03 17:14:16 -03:00
fluzzi32 cf95befb43 test: add comprehensive unit tests and fix bare excepts
- Added comprehensive unit test suite covering AI, core, plugins, completion, API, and hooks using pytest.
- Replaced bare 'except:' clauses across the codebase with specific exception handling (e.g., ValueError, KeyError, OSError) to prevent swallowing system exit calls.
- Fixed Python 3.8+ AST compatibility in plugins.py (support for ast.Constant).
- Removed deprecated pkg_resources import from __init__.py.
- Fixed missing 'printer' import in configfile.py that caused NameErrors during save failures.
2026-04-03 17:11:45 -03:00
fluzzi32 7de6003435 Merge branch 'main' into publish 2026-04-03 15:13:11 -03:00
fluzzi32 257cb05cc1 feat: complete overhaul of AI subsystem with multi-agent litellm architecture
- Refactored AI module to use litellm, supporting Anthropic, Google, OpenAI, etc.
- Introduced 'Engineer' (execution) and 'Architect' (strategic) AI agents.
- Added real-time streaming responses and interactive chat mode via 'rich'.
- Added CLI arguments for model/key overrides (--engineer-model, --architect-model).
- Replaced 'openai' with 'litellm' in requirements.txt and setup.cfg.
- Updated nodes.run() to support an 'on_complete' callback for live node-status streaming.
- Fixed an undefined variable bug (config.profiles -> self.profiles) in configfile.py.
- Updated README and docstrings with new AI plugin tool registration API.
- Regenerated HTML documentation using pdoc3.
- Bumped version to 5.0b1 for beta release.
2026-04-03 15:11:37 -03:00
fluzzi32 7aefcacd23 Merge branch 'main' into publish 2025-08-13 16:08:28 -03:00
fluzzi32 b2c414485c publish prod version with capture 2025-08-13 16:07:32 -03:00
fluzzi32 100f18f45c Merge branch 'capture' into publish 2025-08-04 11:34:46 -03:00
fluzzi32 c5e70c6070 add capture feature, change printing mechanics for all app, bug fixes 2025-08-04 11:34:22 -03:00
fluzzi32 67df9cf8b6 Merge branch 'main' into publish 2025-07-11 22:32:46 -03:00
fluzzi32 29a6a01015 fix ai 2025-07-11 22:31:42 -03:00
fluzzi32 a7da41abf0 Merge branch 'main' into publish 2025-05-09 17:44:44 -03:00
fluzzi32 485580693d minor bug fixes, add new tags, add bulk using file 2025-05-09 17:44:29 -03:00
fluzzi32 74c11bb5c0 Merge branch 'main' into publish 2025-01-30 18:08:50 -03:00
fluzzi32 3cb6734547 bug fix docker 2025-01-30 17:39:56 -03:00
fluzzi32 b1367562df Merge branch 'main' into publish 2024-07-21 18:40:29 -03:00
fluzzi32 6d53b68d1f change to openai 4o mini and improvements to ai code for new model 2024-07-21 18:39:46 -03:00
fluzzi32 e9a9cc270f Merge branch 'main' into publish 2024-07-15 15:44:46 -03:00
fluzzi32 fcf8ed6859 Add features:
- New protocols: Docker and Kubectl
 - Add contexts to filter the number of nodes
 - Add option to modify the api using plugins
 - Minor bug fixes
2024-07-15 15:38:01 -03:00
fluzzi32 5987919032 Merge branch 'protocols' into publish 2024-07-05 17:50:05 -03:00
fluzzi32 8a672565e4 bug fix 2024-07-05 17:49:53 -03:00
fluzzi32 20a6b2bee6 Merge branch 'protocols' into publish 2024-07-02 16:53:25 -03:00
fluzzi32 c27b2589c2 add contexts and api plugins 2024-07-02 16:53:07 -03:00
fluzzi32 2d640eb892 Merge branch 'protocols' into publish 2024-06-17 16:05:45 -03:00
fluzzi32 e2570eba24 add kubectl and docker support 2024-06-17 15:58:28 -03:00
fluzzi32 2d280108c2 Merge branch 'main' into publish 2024-06-10 15:45:22 -03:00
fluzzi32 1fa47d2248 fix bug list nodes 2024-06-10 15:45:04 -03:00
fluzzi32 85353175bc update for google 2024-05-28 15:15:01 -03:00
fluzzi32 d80982356f Merge branch 'publish' of github.com:fluzzi/connpy_private into publish 2024-05-24 18:26:10 -03:00
fluzzi32 f9196d9d89 Merge branch 'main' into publish 2024-05-24 18:24:54 -03:00
fluzzi32 aa6376884a add private policy 2024-05-24 18:22:30 -03:00
fluzzi32andGitHub f4a9473b95 Update README.md 2024-05-24 18:18:46 -03:00
fluzzi32andGitHub 4780b113b6 Update README.md 2024-05-24 18:13:20 -03:00
fluzzi32 ae60186f24 Merge branch 'main' into publish 2024-05-24 17:57:13 -03:00
fluzzi32 2092a92a46 update version 2024-05-24 17:57:03 -03:00
fluzzi32 323c242caa update license 2024-05-24 17:50:18 -03:00
fluzzi32andGitHub ac0d59fd8d Update README.md 2024-05-24 17:44:22 -03:00
fluzzi32andGitHub 75b3a9f6ef Update README.md 2024-05-24 17:27:08 -03:00
fluzzi32andGitHub 81d3d5e9a8 Update README.md 2024-05-24 17:26:37 -03:00
fluzzi32 e9521041a7 add logo 2024-05-24 17:17:33 -03:00
fluzzi32 c6b98d9df2 add logo 2024-05-24 17:15:15 -03:00
fluzzi32 02b4fa46bb Update readme 2024-05-24 15:53:20 -03:00
fluzzi32 583213a168 Merge branch 'main' into publish 2024-05-03 17:33:11 -03:00
fluzzi32 8ca6d6bcd9 Implement hooking system for classes and methods. Cleanup of code 2024-05-03 17:32:45 -03:00
fluzzi32 e853e97817 Update Hooks functionality 2024-04-22 18:18:21 -03:00
fluzzi32 af7aac4a05 Update hooks functionality 2024-04-22 18:17:11 -03:00
fluzzi32 5b9642d8f9 fix version for publish private 2024-04-17 17:28:31 -03:00
fluzzi32 2ac1756f99 Merge branch 'hooks' into publish 2024-04-17 17:08:55 -03:00
fluzzi32 f5df3991b4 fix setup config for new files 2024-04-17 17:06:12 -03:00
fluzzi32andGitHub ea42e43f1d Update publish.yml 2024-04-17 16:37:12 -03:00
fluzzi32 382eb9a2ff Merge branch 'hooks' into publish 2024-04-17 16:27:30 -03:00
fluzzi32 76a73fa427 add hooks and sync to google 2024-04-17 16:27:02 -03:00
fluzzi32 679960d3cd Merge branch 'main' into publish 2023-12-21 17:38:11 -03:00
fluzzi32 c7ae6d67d5 merge plugin feature, change version and update docs 2023-12-21 17:37:57 -03:00
fluzzi32 29417ab4a8 Merge branch 'plugins' into publish 2023-12-19 18:26:23 -03:00
fluzzi32 75f5ff6833 add update plugin, better completion for plugins 2023-12-19 18:26:09 -03:00
fluzzi32 321e92e76a Merge branch 'plugins' into publish 2023-12-15 12:28:15 -03:00
fluzzi32 79172be898 documentation and completion for plugins 2023-12-15 12:27:51 -03:00
fluzzi32 72ae57882e Merge branch 'plugins' into publish 2023-12-14 18:36:34 -03:00
fluzzi32 3a4fcfe77b bug fix 2023-12-14 18:36:22 -03:00
fluzzi32 cc514d0987 Merge branch 'plugins' into publish 2023-12-14 16:59:24 -03:00
fluzzi32 b995bd04fd Add new plugin feature beta1 2023-12-14 16:56:59 -03:00
fluzzi32 28893da4af Merge branch 'main' into publish 2023-12-06 17:49:05 -03:00
fluzzi32 b3c4186a6c change version and docs 2023-12-06 17:46:39 -03:00
fluzzi32 880da274c9 add docker image to run it in windows 2023-12-06 17:46:10 -03:00
fluzzi32 1e9df6fd19 merge main 2023-12-06 10:54:37 -03:00
fluzzi32 d6db04cdda merge Jumphost, modify license 2023-12-06 10:53:42 -03:00
fluzzi32 e0b168c870 Merge branch 'jumphost' into publish 2023-12-04 11:12:15 -03:00
fluzzi32 6d44fedf1d fixes for jumphost 2023-12-04 11:11:58 -03:00
fluzzi32 06ca8485ef fix version 2023-12-01 18:32:20 -03:00
fluzzi32 6517d75465 Add new jumphost feature to nodes
bug fix when adding a node without name
2023-12-01 18:30:29 -03:00
fluzzi32 c27c9d4ccd bug fixes 2023-12-01 15:31:17 -03:00
fluzzi32 b7e21806df bug fixes 2023-12-01 13:40:49 -03:00
fluzzi32 4a906f4dc1 bug fix 2023-11-03 17:27:04 -03:00
fluzzi32 1a336963cb add sftp option 2023-11-03 11:59:00 -03:00
fluzzi32 f4368906da add completion for new features 2023-10-27 13:34:32 -03:00
fluzzi32 f4ff035da3 Fix:
- Fix not allowing to use some regex symbols when passing arguments.
    - Fix AI requests timing out when list of nodes is big.
    - Fix error when forwarding connpy run commands to a file

Features:
    - Improve AI response time changing list of devices to list of OS,
      reducing the lenght of request.
    - Update GPT model to last one.
    - Add filtering option to list command, Also format can be passed to
      format the output as needed.
    - Allow to use regular expresions to match nodes in: run command
      (using yaml file or directly), remove command.
    - When there is a connectivity error, now it shows the error number
      plus the protocol error.
2023-10-26 17:33:44 -03:00
fluzzi32 0254cf6ccb Fix completion and save logs during session 2023-10-05 15:21:17 -03:00
fluzzi32 64ea3718f0 Add more export functionalities 2023-09-21 17:28:09 -03:00
fluzzi32 9f7ec176e1 add comlpetion for new import/export 2023-09-13 15:36:06 -03:00
fluzzi32 d08b2e5a2a fix export import with path, add pyfzf as required 2023-09-13 11:17:56 -03:00
fluzzi32 d77778bdcc Add bulk edit with regex and export/import folder 2023-09-12 12:33:33 -03:00
fluzzi32 ef34961222 bug fix chat history in ai 2023-07-31 12:18:10 -03:00
fluzzi32 b4b28110b1 Add More AI functions, migrate AI to openai new function support 2023-07-11 19:33:21 -03:00
fluzzi32 1148ce2129 update 2023-05-24 18:14:01 -03:00
fluzzi32 bf74c77fdd change exceptions 2023-05-24 18:13:38 -03:00
fluzzi32 05fcd5488f bug fixes 2023-05-23 16:15:03 -03:00
fluzzi32 fe985c371c docs 2023-05-22 18:32:49 -03:00