Commit graph

6 commits

Author SHA1 Message Date
MinaSaad1
8b7bef9e6d fix: resolve CI failures from _ensure_ready removal
- connection.py: move skills_cmd import to module level (fixes ruff I001)
- setup_cmd.py: remove dead _ensure_ready import and call (fixes mypy attr-defined)
- tests/conftest.py: remove _ensure_ready monkeypatch (function no longer exists)
- tests/test_commands/test_setup.py: remove _ensure_ready patch
2026-04-05 22:27:40 +02:00
MinaSaad1
3f3fc7bdf1 fix: format remaining 6 files flagged by ruff format 2026-03-27 07:30:21 +02:00
MinaSaad1
b777adec55 feat: v2.0.0 - replace MCP server with direct pythonnet/.NET TOM interop
Remove the MCP server binary dependency entirely. All 22 command groups now
connect directly to Power BI Desktop's Analysis Services engine via pythonnet
and bundled Microsoft.AnalysisServices DLLs (~20MB, in-process).

- Direct .NET TOM/ADOMD.NET interop for sub-second command execution
- 7 Claude Code skills (added Diagnostics and Partitions & Expressions)
- New commands: trace, transaction, calendar, expression, partition, advanced culture
- 91 tests passing, all skills updated, README/CHANGELOG rewritten
2026-03-27 07:19:21 +02:00
MinaSaad1
62b2305909 fix: patch _ensure_ready in tests to prevent real downloads in CI 2026-03-26 16:31:34 +02:00
MinaSaad1
11691c8d92 fix: resolve mypy and ruff CI errors across all source and test files
- Fix Traversable import with TYPE_CHECKING guard for Python 3.10-3.14 compat
- Add explicit dict[str, object] type annotations to all request dicts
- Fix unused variable and import warnings in connection.py and test files
- Break long lines to satisfy ruff E501 (100-char limit)
- Fix click.MultiCommand -> click.Group for mypy arg-type in repl.py
- Wrap binary_manager return in str() for mypy no-any-return
2026-03-26 14:51:35 +02:00
MinaSaad1
51a23668a7 feat: add REPL mode, test suite, CI/CD, and Claude Skills (Sprints 6-8)
Sprint 6 - REPL Mode + Polish:
- Error hierarchy (PbiCliError, McpToolError, etc.) for clean REPL error handling
- Interactive REPL with prompt-toolkit (persistent MCP connection, command completion, history)
- REPL-aware run_tool() and connection commands that reuse shared client
- README.md and CHANGELOG.md

Sprint 7 - Tests + CI/CD:
- 120 tests across unit, command, and e2e test files (79% coverage)
- MockPbiMcpClient with canned responses for test isolation
- GitHub Actions CI (lint + typecheck + test matrix: 3 OS x 3 Python)
- GitHub Actions release workflow for PyPI trusted publishing

Sprint 8 - Claude Skills + Installer:
- 5 bundled SKILL.md files (modeling, dax, deployment, security, docs)
- `pbi skills install/list/uninstall` command for Claude Code discovery
- Skills packaged with wheel via setuptools package-data
2026-03-26 13:54:24 +02:00