Replace stale team.leader.name access with team.agents[0].name to match
the hierarchical AgentTeam API (no static leader in this mode).
Co-authored-by: Mervin Praison <[email protected]>
- Add InkogTool class with comprehensive security analysis capabilities
- Support for token bombing, prompt injection, recursive tool calling detection
- Multi-format output: JSON, text, HTML, SARIF
- Compliance mapping to EU AI Act, NIST AI RMF, OWASP LLM Top 10
- Support for 21+ frameworks (LangChain, CrewAI, AutoGen, etc.)
- Deep scan with AI orchestrator analysis
- MCP server security auditing
- Skill package vulnerability scanning
- Comprehensive test suite and documentation
- CI/CD integration examples
FixesMervinPraison/PraisonAI#1887
- Replace all result.data references with result.output in docs and example
(ToolResult exposes .output, not .data)
- Add SwarmScoreTool and standalone functions to tools __all__ for wildcard imports
Co-authored-by: Mervin Praison <[email protected]>
* feat: add JIRA watch tools for issue and project monitoring
Port JIRA watch functionality from PraisonAI PR #1875 to the tools package
where external integrations belong.
Co-authored-by: Cursor <[email protected]>
* Stub optional jira module in watch tool unit tests for CI.
* Allow module stub before import in JIRA watch tests.
* fix(jira): sanitize inputs, safe timestamp comparison, guard None fields
- Validate since_timestamp and issue_key to prevent JQL injection / abuse
- Compare timestamps as tz-aware datetimes instead of lexicographic strings
- Guard None derefs on history/comment author, creator, reporter
- Fix recent-activity count/display mismatch and description truncation suffix
- Harden env-isolated auth test; add since_timestamp + validation tests
Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
* fix(jira): detect all in-window changelog entries; isolate URL test
- jira_watch_issue: filter changelog by since_dt over the full history
instead of slicing to the last 3 entries first (fixes silently dropped
in-window field changes); cap display to 10 with a total count.
- test_connection_missing_url: clear JIRA_URL via monkeypatch to avoid
CI flakiness when the var is set.
- Add test asserting all in-window field changes are reported.
Co-authored-by: Mervin Praison <[email protected]>
---------
Co-authored-by: Cursor <[email protected]>
Co-authored-by: MervinPraison <[email protected]>
Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
Co-authored-by: Mervin Praison <[email protected]>
- Added NexusPredictionMarketTool for live Kalshi/Polymarket data access
- Supports free market data queries and paid arbitrage analysis
- Includes comprehensive examples and documentation
- Full test coverage with mocked API responses
- Integrated with PraisonAI agent workflow patterns
Features:
- Real-time prediction market data from NEXUS API
- Arbitrage opportunity detection (paid feature: /bin/bash.02 USDC)
- Agent metadata and capabilities discovery
- Source tracking via X-NEXUS-Source header
- Error handling for network/payment issues
API Endpoints:
- Free: /kalshi?market={market_name}
- Paid: /arb/check?markets={market1,market2}
- Validation: https://agentic.market/validate
Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
Add SwarmScore trust rating integration to PraisonAI-Tools:
- SwarmScoreTool class for loading and verifying agent trust scores
- Standalone utility functions for easy integration
- Comprehensive documentation and examples
- Complete test coverage
- Integration with PraisonAI agent workflows
SwarmScore provides portable, cryptographically signed trust ratings
based on verified execution history and success rates.
Co-authored-by: praisonai-triage-agent[bot] <praisonai-triage-agent[bot]@users.noreply.github.com>
Closes#26. Adds programmatic motion-graphics pipeline under praisonai_tools/video/motion_graphics/ with RenderBackendProtocol, HtmlRenderBackend (Playwright + ffmpeg), create_motion_graphics_agent factory, motion_graphics_team preset, and GitTools toolkit. Zero changes to praisonaiagents core SDK. 87/87 unit tests pass.
* feat: implement langextract tools for interactive text visualization (fixes#24)
- Add langextract_extract and langextract_render_file tools
- Support for highlighting text extractions in interactive HTML
- Lazy imports with graceful degradation when langextract not installed
- Security warnings for file operations
- Comprehensive test suite with mocking
- Usage example with agent integration patterns
- Optional dependency langextract>=0.1.0 in pyproject.toml
Co-authored-by: Mervin Praison <[email protected]>
* fix: correct AnnotatedDocument kwarg from id= to document_id= (fixes#25)
- Fix runtime TypeError in langextract tool
- AnnotatedDocument constructor expects document_id= not id=
- Tests now pass: 16 passed, 0 failed
Co-authored-by: Mervin Praison <[email protected]>
* fix: correct AnnotatedDocument kwarg from intervals= to extractions= (fixes langextract API)
- Changed _create_annotated_document to build Extraction objects instead of CharInterval objects
- Updated AnnotatedDocument constructor to use extractions= kwarg instead of intervals=
- Each Extraction now properly wraps CharInterval as char_interval attribute
- Added extraction metadata (class, text, attributes) as required by langextract API
- All 16 tests now pass (previously 1 failing)
Co-authored-by: Mervin Praison <[email protected]>
* fix: correct langextract tool visualization and test bugs
- Fix Bug 1: lx.visualize() now receives JSONL path instead of HTML path
- Use temporary JSONL file, capture HTML return value, write to output file
- Follows correct langextract API pattern
- Fix Bug 2: test_agent_usage_pattern now asserts success instead of impossible 'not installed' branch
- Fix test mocks: lx.visualize now returns string instead of Mock object
Fixes#25
Co-authored-by: Mervin Praison <[email protected]>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mervin Praison <[email protected]>