devrev-Python-SDK 2.10.1__tar.gz → 2.11.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/bug-fixer.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/builder.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/documentation.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/foreman.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/pr-review-boss.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/release-manager.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/simplifier.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/agents/tester.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/commands/foreman-work.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/commands/release-prepare.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/commands/review-start.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/commands/simplify-code.md +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/api-check.yml +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/deploy.yml +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/docs.yml +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/release.yml +2 -2
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/PKG-INFO +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/changelog.md +13 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/mcp/tools-reference.md +8 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/llms-mcp.txt +10 -3
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/llms.txt +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/pyproject.toml +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/articles.py +81 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/parts.py +16 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/articles.py +52 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/server.py +3 -2
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/articles.py +60 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/parts.py +10 -0
- devrev_python_sdk-2.11.0/src/devrev_mcp/tools/question_answers.py +151 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/conftest.py +8 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_articles.py +170 -16
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_parts.py +89 -0
- devrev_python_sdk-2.11.0/tests/unit/mcp/test_tools_question_answers.py +283 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_articles.py +83 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/uv.lock +1 -1
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/code-quality.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/data-modeling.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/devrev-sdk.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/git-workflow.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/pull-requests.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/python-development.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/security.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.augment/rules/testing.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.dockerignore +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.env.sample +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/ISSUE_TEMPLATE/article-artifact-simplification.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/ISSUE_TEMPLATE/question.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/dependabot.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/pull_request_template.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/ci.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/claude-code-review.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/claude.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/integration-tests.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.github/workflows/sync-openapi.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.gitignore +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/.pre-commit-config.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/CLAUDE.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/CODE_OF_CONDUCT.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/CONTRIBUTING.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/DEPRECATIONS.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/Dockerfile +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/KNOWN_ISSUES.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/OPENAPI_SPEC_DISCREPANCIES.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/SECURITY.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/augment-mcp-config-remote.json +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/augment-mcp-config.json +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/augment-settings.json +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/benchmarks/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/benchmarks/bench_http_client.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/benchmarks/bench_models.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/benchmarks/bench_pagination.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/benchmarks/conftest.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/context7.json +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/audit-logging-setup.sh +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/cloudbuild.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/monitoring/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/monitoring/alert-policies.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/monitoring/dashboard.json +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/monitoring/validate-config.sh +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/deploy/service.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docker-compose.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/brands.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/engagements.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/incidents.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/question-answers.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/recommendations.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/search.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta/uoms.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/beta-api-differences.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/client.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/config.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/exceptions.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/models/accounts.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/models/base.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/models/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/models/users.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/models/works.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/accounts.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/articles.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/code-changes.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/conversations.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/dev-users.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/groups.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/links.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/parts.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/rev-users.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/slas.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/tags.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/timeline-entries.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/webhooks.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/api/services/works.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/examples/advanced.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/examples/basic.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/examples/beta-features.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/examples/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/examples/integrations.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/getting-started/authentication.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/getting-started/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/getting-started/installation.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/getting-started/quickstart.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/beta-api.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/compatibility.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/configuration.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/error-handling.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/github-actions-setup.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/logging.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/pagination.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/sync-vs-async.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/testing.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/version-support.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/guides/write-integration-testing-strategy.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/hooks/copy_llms.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/mcp/deployment.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/mcp/index.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/mcp/quickstart.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/docs/stylesheets/extra.css +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/async_example.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/create_work.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/error_handling.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/list_accounts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/pagination.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/basic/search_users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/cloud_functions/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/cloud_functions/main.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/cloud_functions/requirements.txt +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/fastapi/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/fastapi/main.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/fastapi/requirements.txt +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/flask/README.md +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/flask/app.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/examples/integrations/flask/requirements.txt +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/llms-ctx-full.txt +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/llms-ctx.txt +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/mkdocs.yml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/openapi-beta.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/openapi-public.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/openapi-spec-corrections.yaml +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/scripts/build_ai_docs.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/scripts/debug_articles.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/scripts/setup-github-secrets.sh +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/client.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/config.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/exceptions.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/accounts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/artifacts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/base.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/brands.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/code_changes.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/conversations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/dev_users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/engagements.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/groups.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/incidents.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/links.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/notifications.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/preferences.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/question_answers.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/recommendations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/rev_users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/search.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/slas.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/sync.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/tags.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/tasks.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/timeline_entries.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/timeline_events.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/track_events.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/uoms.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/webhooks.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/widgets.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/models/works.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/py.typed +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/accounts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/artifacts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/base.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/brands.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/code_changes.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/conversations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/dev_users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/engagements.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/groups.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/incidents.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/links.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/notifications.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/parts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/preferences.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/question_answers.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/recommendations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/rev_users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/search.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/slas.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/tags.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/timeline_entries.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/track_events.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/uoms.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/webhooks.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/services/works.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/utils/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/utils/content_converter.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/utils/deprecation.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/utils/http.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/utils/logging.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev/utils/pagination.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/__main__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/config.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/middleware/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/middleware/audit.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/middleware/auth.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/middleware/health.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/middleware/rate_limit.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/prompts/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/prompts/escalation.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/prompts/investigate.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/prompts/response.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/prompts/summarize.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/prompts/triage.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/account.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/article.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/conversation.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/part.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/server_info.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/ticket.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/resources/user.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/accounts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/conversations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/engagements.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/groups.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/incidents.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/links.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/recommendations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/search.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/server_info.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/slas.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/tags.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/timeline.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/tools/works.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/utils/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/utils/errors.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/utils/formatting.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/src/devrev_mcp/utils/pagination.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/conftest.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/conftest.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_accounts_e2e.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_all_readonly_endpoints.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_articles_lifecycle.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_backwards_compatibility.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_contacts_e2e.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_core_services_phase1.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_extended_services_phase2.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_get_endpoints.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_issues_e2e.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_kb_articles_e2e.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_mcp_articles.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_ping.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_question_answers_e2e.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_readonly_endpoints.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_specialized_services_phase3.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_tickets_e2e.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/test_write_operations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/utils/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/utils/cleanup.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/utils/constants.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/integration/utils/data_manager.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/performance/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/performance/test_articles_performance.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_audit.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_config.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_phase4_transport.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_prompts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_resources.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_server_info.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_accounts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_conversations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_engagements.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_groups.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_incidents.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_links.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_recommendations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_search.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_slas.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_tags.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_timeline.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_users.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_tools_works.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/mcp/test_utils.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/models/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/models/test_user_state_regression.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/__init__.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/conftest.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_async_services.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_brands.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_code_changes.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_conversations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_engagements.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_groups.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_incidents.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_links.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_notifications.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_parts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_preferences.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_question_answers.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_recommendations.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_search.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_slas.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_tags.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_timeline_entries.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_track_events.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_uoms.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_webhooks.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/services/test_works.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_articles_unified.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_artifacts.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_backward_compatibility.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_base_service.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_client.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_config.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_content_converter.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_deprecation.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_error_handling.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_exceptions.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_http.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_logging.py +0 -0
- {devrev_python_sdk-2.10.1 → devrev_python_sdk-2.11.0}/tests/unit/test_pagination.py +0 -0
|
@@ -32,7 +32,7 @@ jobs:
|
|
|
32
32
|
python-version: '3.12'
|
|
33
33
|
|
|
34
34
|
- name: Install uv
|
|
35
|
-
uses: astral-sh/setup-uv@
|
|
35
|
+
uses: astral-sh/setup-uv@v7
|
|
36
36
|
|
|
37
37
|
- name: Install dependencies
|
|
38
38
|
run: uv sync --frozen --all-extras
|
|
@@ -77,7 +77,7 @@ jobs:
|
|
|
77
77
|
python -c "import devrev; print(f'Installed: devrev')"
|
|
78
78
|
|
|
79
79
|
- name: Upload artifacts
|
|
80
|
-
uses: actions/upload-artifact@
|
|
80
|
+
uses: actions/upload-artifact@v7
|
|
81
81
|
with:
|
|
82
82
|
name: dist
|
|
83
83
|
path: dist/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devrev-Python-SDK
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.11.0
|
|
4
4
|
Summary: A modern, type-safe Python SDK for the DevRev API
|
|
5
5
|
Project-URL: Homepage, https://github.com/mgmonteleone/py-dev-rev
|
|
6
6
|
Project-URL: Documentation, https://github.com/mgmonteleone/py-dev-rev
|
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [2.10.2] - 2026-03-11
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- **Parts API missing parameters** (#158) — Added `owned_by`, `parent_part`, and `tags` parameters to `devrev_parts_create` MCP tool for full API compatibility.
|
|
15
|
+
- **Article API missing properties** (#159) — Added missing `access_level`, `authored_by`, `extracted_content`, `owned_by`, `published_at`, `scope`, `shared_with`, `tags`, and `verified_by` fields to article models.
|
|
16
|
+
|
|
17
|
+
### Maintenance
|
|
18
|
+
|
|
19
|
+
- **Dependency updates** (#182) — Consolidated Dependabot updates (March 2026):
|
|
20
|
+
- Multiple dependency version updates via automated security scanning
|
|
21
|
+
- **Documentation** — Updated `llms.txt` and `llms-mcp.txt` version references to 2.10.1.
|
|
22
|
+
|
|
10
23
|
## [2.10.1] - 2026-03-10
|
|
11
24
|
|
|
12
25
|
### Fixed
|
|
@@ -6,7 +6,7 @@ icon: material/tools
|
|
|
6
6
|
|
|
7
7
|
Complete reference of all MCP capabilities provided by the DevRev MCP Server.
|
|
8
8
|
|
|
9
|
-
## Tools (
|
|
9
|
+
## Tools (83+)
|
|
10
10
|
|
|
11
11
|
Tools are the primary way AI assistants interact with DevRev. Each tool maps to one or more DevRev API endpoints.
|
|
12
12
|
|
|
@@ -139,6 +139,13 @@ Tools are the primary way AI assistants interact with DevRev. Each tool maps to
|
|
|
139
139
|
| `devrev_incidents_get` | Get incident details |
|
|
140
140
|
| `devrev_engagements_list` | List customer engagements |
|
|
141
141
|
| `devrev_engagements_get` | Get engagement details |
|
|
142
|
+
| `devrev_question_answers_list` | List question-answer entries |
|
|
143
|
+
| `devrev_question_answers_get` | Get a question-answer by ID |
|
|
144
|
+
| `devrev_question_answers_create` | Create a new Q&A entry ¹ |
|
|
145
|
+
| `devrev_question_answers_update` | Update a Q&A entry ¹ |
|
|
146
|
+
| `devrev_question_answers_delete` | Delete a Q&A entry ¹ |
|
|
147
|
+
|
|
148
|
+
¹ Also requires `MCP_ENABLE_DESTRUCTIVE_TOOLS=true`
|
|
142
149
|
|
|
143
150
|
---
|
|
144
151
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
**Install**: `pip install devrev-python-sdk[mcp]`
|
|
6
6
|
**Run**: `devrev-mcp-server`
|
|
7
7
|
**Docs**: https://mgmonteleone.github.io/py-dev-rev/mcp/
|
|
8
|
-
**Version**: 2.
|
|
8
|
+
**Version**: 2.10.1
|
|
9
9
|
**Protocol**: MCP 2025-06-18
|
|
10
10
|
|
|
11
11
|
## Quick Setup
|
|
@@ -163,6 +163,13 @@ devrev-mcp-server
|
|
|
163
163
|
- `devrev_incidents_list` — List incidents
|
|
164
164
|
- `devrev_incidents_get` — Get incident by ID
|
|
165
165
|
|
|
166
|
+
### Question Answers (Beta)
|
|
167
|
+
- `devrev_question_answers_list` — List Q&A entries
|
|
168
|
+
- `devrev_question_answers_get` — Get Q&A by ID
|
|
169
|
+
- `devrev_question_answers_create` — Create a new Q&A entry (destructive)
|
|
170
|
+
- `devrev_question_answers_update` — Update a Q&A entry (destructive)
|
|
171
|
+
- `devrev_question_answers_delete` — Delete a Q&A entry (destructive)
|
|
172
|
+
|
|
166
173
|
### Search (Beta)
|
|
167
174
|
- `devrev_search` — Hybrid search across DevRev objects
|
|
168
175
|
|
|
@@ -202,8 +209,8 @@ Pre-built workflow prompts for common support operations:
|
|
|
202
209
|
1. **IDs are DON format**: `don:core:dvrv-us-1:devo/1:ticket/123`
|
|
203
210
|
2. **Pagination**: Cursor-based using `cursor` and `limit` parameters
|
|
204
211
|
3. **Creating tickets**: Requires `type` (ticket/issue), `title`, and `applies_to_part`
|
|
205
|
-
4. **Beta tools**: Require `MCP_ENABLE_BETA_TOOLS=true` (search, recommendations, incidents, engagements)
|
|
206
|
-
5. **Destructive tools**: Require `MCP_ENABLE_DESTRUCTIVE_TOOLS=true` (delete operations)
|
|
212
|
+
4. **Beta tools**: Require `MCP_ENABLE_BETA_TOOLS=true` (search, recommendations, incidents, engagements, question answers)
|
|
213
|
+
5. **Destructive tools**: Require `MCP_ENABLE_DESTRUCTIVE_TOOLS=true` (create/update/delete operations)
|
|
207
214
|
6. **Auth for teams**: Use `MCP_AUTH_MODE=devrev-pat` — each user sends their own DevRev PAT as Bearer token
|
|
208
215
|
7. **Transports**: stdio for local dev, streamable-http for production, sse for legacy
|
|
209
216
|
|
|
@@ -10,7 +10,7 @@ Key information:
|
|
|
10
10
|
- Both sync and async clients available (DevRevClient, AsyncDevRevClient)
|
|
11
11
|
- Uses Pydantic v2 for all request/response models
|
|
12
12
|
- MCP Server command: `devrev-mcp-server`
|
|
13
|
-
- Version 2.
|
|
13
|
+
- Version 2.10.1 (current)
|
|
14
14
|
|
|
15
15
|
## SDK Quick Start
|
|
16
16
|
|
|
@@ -94,6 +94,29 @@ class ArticleParentSummary(DevRevResponseModel):
|
|
|
94
94
|
display_id: str | None = Field(default=None, description="Display ID")
|
|
95
95
|
|
|
96
96
|
|
|
97
|
+
class ArtifactSummary(DevRevResponseModel):
|
|
98
|
+
"""Summary of an artifact (used for extracted_content)."""
|
|
99
|
+
|
|
100
|
+
id: str = Field(..., description="Artifact DON ID")
|
|
101
|
+
display_id: str | None = Field(default=None, description="Display ID")
|
|
102
|
+
file: dict[str, Any] | None = Field(default=None, description="File metadata")
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class SyncMetadata(DevRevResponseModel):
|
|
106
|
+
"""Sync information for records synced into/from DevRev."""
|
|
107
|
+
|
|
108
|
+
external_reference: str | None = Field(default=None, description="External record URL")
|
|
109
|
+
origin_system: str | None = Field(
|
|
110
|
+
default=None, description="Where the record was first created"
|
|
111
|
+
)
|
|
112
|
+
last_sync_in: dict[str, Any] | None = Field(
|
|
113
|
+
default=None, description="Information about the sync to DevRev"
|
|
114
|
+
)
|
|
115
|
+
last_sync_out: dict[str, Any] | None = Field(
|
|
116
|
+
default=None, description="Information about the sync from DevRev"
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
|
|
97
120
|
class Article(DevRevResponseModel):
|
|
98
121
|
"""DevRev Article model.
|
|
99
122
|
|
|
@@ -106,13 +129,29 @@ class Article(DevRevResponseModel):
|
|
|
106
129
|
title: str = Field(..., description="Article title")
|
|
107
130
|
description: str | None = Field(default=None, description="Article description/body")
|
|
108
131
|
status: ArticleStatus | None = Field(default=None, description="Article status")
|
|
132
|
+
access_level: ArticleAccessLevel | None = Field(
|
|
133
|
+
default=None, description="Access level (external, internal, private, public, restricted)"
|
|
134
|
+
)
|
|
135
|
+
aliases: list[str] | None = Field(default=None, description="Aliases of the article")
|
|
109
136
|
article_type: str | None = Field(default=None, description="Article type (article, page, etc.)")
|
|
110
137
|
authored_by: list[UserSummary] | None = Field(
|
|
111
138
|
default=None, description="Authors of the article (API returns array, not single object)"
|
|
112
139
|
)
|
|
140
|
+
brand: dict[str, Any] | None = Field(
|
|
141
|
+
default=None, description="Brand associated with the article"
|
|
142
|
+
)
|
|
113
143
|
owned_by: list[UserSummary] | None = Field(default=None, description="Owners of the article")
|
|
114
144
|
created_date: datetime | None = Field(default=None, description="Creation date")
|
|
115
145
|
modified_date: datetime | None = Field(default=None, description="Last modified")
|
|
146
|
+
extracted_content: list[ArtifactSummary] | None = Field(
|
|
147
|
+
default=None, description="Extracted content artifacts"
|
|
148
|
+
)
|
|
149
|
+
num_downvotes: int | None = Field(
|
|
150
|
+
default=None, description="Number of downvotes on the article"
|
|
151
|
+
)
|
|
152
|
+
num_upvotes: int | None = Field(default=None, description="Number of upvotes on the article")
|
|
153
|
+
published_at: datetime | None = Field(default=None, description="Published date of the article")
|
|
154
|
+
rank: str | None = Field(default=None, description="Rank of the article")
|
|
116
155
|
resource: dict[str, Any] | None = Field(
|
|
117
156
|
default=None, description="Resource configuration including artifact references"
|
|
118
157
|
)
|
|
@@ -122,6 +161,9 @@ class Article(DevRevResponseModel):
|
|
|
122
161
|
scope: ArticleScope | None = Field(
|
|
123
162
|
default=None, description="Visibility scope (internal/external)"
|
|
124
163
|
)
|
|
164
|
+
sync_metadata: SyncMetadata | None = Field(
|
|
165
|
+
default=None, description="Sync information for records synced into/from DevRev"
|
|
166
|
+
)
|
|
125
167
|
tags: list[ArticleTagWithValue] | None = Field(
|
|
126
168
|
default=None, description="Tags applied to the article"
|
|
127
169
|
)
|
|
@@ -129,6 +171,7 @@ class Article(DevRevResponseModel):
|
|
|
129
171
|
default=None, description="Parent directory/collection"
|
|
130
172
|
)
|
|
131
173
|
language: str | None = Field(default=None, description="Language code (e.g., 'en')")
|
|
174
|
+
url: str | None = Field(default=None, description="URL of the external article")
|
|
132
175
|
|
|
133
176
|
|
|
134
177
|
class ArticleSummary(DevRevResponseModel):
|
|
@@ -168,6 +211,28 @@ class ArticlesCreateRequest(DevRevBaseModel):
|
|
|
168
211
|
title: str = Field(..., description="Article title")
|
|
169
212
|
description: str | None = Field(default=None, description="Article description/body")
|
|
170
213
|
status: ArticleStatus | None = Field(default=None, description="Article status")
|
|
214
|
+
access_level: ArticleAccessLevel | None = Field(
|
|
215
|
+
default=None, description="Access level (external, internal, private, public, restricted)"
|
|
216
|
+
)
|
|
217
|
+
aliases: list[str] | None = Field(default=None, description="Aliases of the article (max 5)")
|
|
218
|
+
authored_by: list[str] | None = Field(
|
|
219
|
+
default=None, description="List of user IDs who author the article"
|
|
220
|
+
)
|
|
221
|
+
brand: str | None = Field(default=None, description="Brand ID associated with the article")
|
|
222
|
+
content_format: ArticleContentFormat | None = Field(
|
|
223
|
+
default=None, description="Content format (drdfv2, rt)"
|
|
224
|
+
)
|
|
225
|
+
custom_fields: dict[str, Any] | None = Field(
|
|
226
|
+
default=None, description="Application-defined custom fields"
|
|
227
|
+
)
|
|
228
|
+
custom_schema_spec: CustomSchemaSpec | None = Field(
|
|
229
|
+
default=None, description="Custom schema spec"
|
|
230
|
+
)
|
|
231
|
+
extracted_content: list[str] | None = Field(
|
|
232
|
+
default=None, description="IDs of extracted content artifacts"
|
|
233
|
+
)
|
|
234
|
+
language: str | None = Field(default=None, description="Language of the article")
|
|
235
|
+
notify: bool | None = Field(default=None, description="Whether to notify users when published")
|
|
171
236
|
owned_by: list[str] = Field(..., description="List of dev user IDs who own the article")
|
|
172
237
|
resource: dict[str, Any] = Field(
|
|
173
238
|
default_factory=dict, description="Resource configuration for the article"
|
|
@@ -176,6 +241,9 @@ class ArticlesCreateRequest(DevRevBaseModel):
|
|
|
176
241
|
default=None, description="List of part IDs this article applies to"
|
|
177
242
|
)
|
|
178
243
|
scope: int | None = Field(default=None, description="Visibility scope: 1=internal, 2=external")
|
|
244
|
+
shared_with: list[SetSharedWithMembership] | None = Field(
|
|
245
|
+
default=None, description="Users/groups to share the article with"
|
|
246
|
+
)
|
|
179
247
|
tags: list[SetTagWithValue] | None = Field(
|
|
180
248
|
default=None, description="Tags to apply (list of {'id': 'tag_id', 'value': ...})"
|
|
181
249
|
)
|
|
@@ -183,6 +251,8 @@ class ArticlesCreateRequest(DevRevBaseModel):
|
|
|
183
251
|
article_type: str | None = Field(
|
|
184
252
|
default=None, description="Article type: 'article' (default), 'page', 'content_block'"
|
|
185
253
|
)
|
|
254
|
+
published_at: datetime | None = Field(default=None, description="Published date of the article")
|
|
255
|
+
release_notes: str | None = Field(default=None, description="Release notes for the article")
|
|
186
256
|
|
|
187
257
|
|
|
188
258
|
class ArticlesGetRequest(DevRevBaseModel):
|
|
@@ -258,6 +328,14 @@ class ArticlesUpdateRequestTags(DevRevBaseModel):
|
|
|
258
328
|
set: list[SetTagWithValue] | None = Field(default=None, description="Set tags")
|
|
259
329
|
|
|
260
330
|
|
|
331
|
+
class ArticlesUpdateRequestSharedWith(DevRevBaseModel):
|
|
332
|
+
"""Shared-with update for articles."""
|
|
333
|
+
|
|
334
|
+
set: list[SetSharedWithMembership] | None = Field(
|
|
335
|
+
default=None, description="Set shared-with memberships"
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
|
|
261
339
|
class ArticlesUpdateRequest(DevRevBaseModel):
|
|
262
340
|
"""Request to update an article."""
|
|
263
341
|
|
|
@@ -287,6 +365,9 @@ class ArticlesUpdateRequest(DevRevBaseModel):
|
|
|
287
365
|
parent: str | None = Field(default=None, description="New parent article ID")
|
|
288
366
|
published_version: str | None = Field(default=None, description="Published version")
|
|
289
367
|
release_notes: str | None = Field(default=None, description="New release notes")
|
|
368
|
+
shared_with: ArticlesUpdateRequestSharedWith | None = Field(
|
|
369
|
+
default=None, description="New shared-with memberships"
|
|
370
|
+
)
|
|
290
371
|
artifacts: dict[str, Any] | None = Field(
|
|
291
372
|
default=None,
|
|
292
373
|
description="Artifacts update using set wrapper, e.g. {'set': ['artifact_id']}",
|
|
@@ -53,11 +53,26 @@ class PartSummary(DevRevResponseModel):
|
|
|
53
53
|
|
|
54
54
|
|
|
55
55
|
class PartsCreateRequest(DevRevBaseModel):
|
|
56
|
-
"""Request to create a part.
|
|
56
|
+
"""Request to create a part.
|
|
57
|
+
|
|
58
|
+
For non-product parts (capability, feature, enhancement), the parent_part
|
|
59
|
+
parameter is required to specify the parent part in the hierarchy.
|
|
60
|
+
"""
|
|
57
61
|
|
|
58
62
|
name: str = Field(..., description="Part name")
|
|
59
63
|
type: PartType = Field(..., description="Part type")
|
|
60
64
|
description: str | None = Field(default=None, description="Description")
|
|
65
|
+
owned_by: list[str] | None = Field(
|
|
66
|
+
default=None,
|
|
67
|
+
description="List of owner user IDs (e.g., ['DEVU-4'] or full DON IDs)",
|
|
68
|
+
)
|
|
69
|
+
parent_part: list[str] | None = Field(
|
|
70
|
+
default=None,
|
|
71
|
+
description="Parent part ID (required for capability/feature/enhancement). "
|
|
72
|
+
"Array with at most 1 element.",
|
|
73
|
+
max_length=1,
|
|
74
|
+
)
|
|
75
|
+
tags: list[str] | None = Field(default=None, description="List of tag IDs")
|
|
61
76
|
|
|
62
77
|
|
|
63
78
|
class PartsGetRequest(DevRevBaseModel):
|