pal-mcp-server 10.4.3__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.
- pal_mcp_server-10.4.3/.claude/commands/fix-github-issue.md +14 -0
- pal_mcp_server-10.4.3/.claude/settings.json +81 -0
- pal_mcp_server-10.4.3/.coveragerc +24 -0
- pal_mcp_server-10.4.3/.dockerignore +64 -0
- pal_mcp_server-10.4.3/.env.example +249 -0
- pal_mcp_server-10.4.3/.gitattributes +27 -0
- pal_mcp_server-10.4.3/.github/FUNDING.yml +3 -0
- pal_mcp_server-10.4.3/.github/ISSUE_TEMPLATE/bug_report.yml +62 -0
- pal_mcp_server-10.4.3/.github/ISSUE_TEMPLATE/config.yml +12 -0
- pal_mcp_server-10.4.3/.github/ISSUE_TEMPLATE/documentation.yml +60 -0
- pal_mcp_server-10.4.3/.github/ISSUE_TEMPLATE/feature_request.yml +52 -0
- pal_mcp_server-10.4.3/.github/ISSUE_TEMPLATE/tool_addition.yml +75 -0
- pal_mcp_server-10.4.3/.github/pull_request_template.md +85 -0
- pal_mcp_server-10.4.3/.github/workflows/claude-code-review.yml +26 -0
- pal_mcp_server-10.4.3/.github/workflows/claude.yml +39 -0
- pal_mcp_server-10.4.3/.github/workflows/clear-autorelease-labels.yml +29 -0
- pal_mcp_server-10.4.3/.github/workflows/container.yml +66 -0
- pal_mcp_server-10.4.3/.github/workflows/enforce-conventional-commits.yml +93 -0
- pal_mcp_server-10.4.3/.github/workflows/quality.yml +36 -0
- pal_mcp_server-10.4.3/.github/workflows/release-lock.yml +97 -0
- pal_mcp_server-10.4.3/.github/workflows/release-please.yml +71 -0
- pal_mcp_server-10.4.3/.github/workflows/renovate.yml +41 -0
- pal_mcp_server-10.4.3/.github/workflows/security.yml +51 -0
- pal_mcp_server-10.4.3/.github/workflows/test.yml +88 -0
- pal_mcp_server-10.4.3/.gitignore +191 -0
- pal_mcp_server-10.4.3/.pre-commit-config.yaml +33 -0
- pal_mcp_server-10.4.3/.python-version +1 -0
- pal_mcp_server-10.4.3/.release-please-manifest.json +3 -0
- pal_mcp_server-10.4.3/AGENTS.md +77 -0
- pal_mcp_server-10.4.3/CHANGELOG.md +1604 -0
- pal_mcp_server-10.4.3/CLAUDE.md +274 -0
- pal_mcp_server-10.4.3/Dockerfile +84 -0
- pal_mcp_server-10.4.3/LICENSE +197 -0
- pal_mcp_server-10.4.3/PKG-INFO +12 -0
- pal_mcp_server-10.4.3/README.md +285 -0
- pal_mcp_server-10.4.3/SECURITY.md +81 -0
- pal_mcp_server-10.4.3/claude_config_example.json +11 -0
- pal_mcp_server-10.4.3/clink/__init__.py +7 -0
- pal_mcp_server-10.4.3/clink/agents/__init__.py +30 -0
- pal_mcp_server-10.4.3/clink/agents/base.py +239 -0
- pal_mcp_server-10.4.3/clink/agents/claude.py +49 -0
- pal_mcp_server-10.4.3/clink/agents/codex.py +41 -0
- pal_mcp_server-10.4.3/clink/agents/gemini.py +86 -0
- pal_mcp_server-10.4.3/clink/constants.py +48 -0
- pal_mcp_server-10.4.3/clink/models.py +99 -0
- pal_mcp_server-10.4.3/clink/parsers/__init__.py +30 -0
- pal_mcp_server-10.4.3/clink/parsers/base.py +27 -0
- pal_mcp_server-10.4.3/clink/parsers/claude.py +137 -0
- pal_mcp_server-10.4.3/clink/parsers/codex.py +63 -0
- pal_mcp_server-10.4.3/clink/parsers/gemini.py +98 -0
- pal_mcp_server-10.4.3/clink/registry.py +255 -0
- pal_mcp_server-10.4.3/code_quality_checks.ps1 +260 -0
- pal_mcp_server-10.4.3/code_quality_checks.sh +111 -0
- pal_mcp_server-10.4.3/communication_simulator_test.py +556 -0
- pal_mcp_server-10.4.3/conf/__init__.py +1 -0
- pal_mcp_server-10.4.3/conf/azure_models.json +48 -0
- pal_mcp_server-10.4.3/conf/cli_clients/claude.json +25 -0
- pal_mcp_server-10.4.3/conf/cli_clients/codex.json +25 -0
- pal_mcp_server-10.4.3/conf/cli_clients/gemini.json +23 -0
- pal_mcp_server-10.4.3/conf/custom_models.json +41 -0
- pal_mcp_server-10.4.3/conf/dial_models.json +169 -0
- pal_mcp_server-10.4.3/conf/gemini_models.json +195 -0
- pal_mcp_server-10.4.3/conf/openai_models.json +368 -0
- pal_mcp_server-10.4.3/conf/opencode_go_models.json +357 -0
- pal_mcp_server-10.4.3/conf/openrouter_models.json +669 -0
- pal_mcp_server-10.4.3/conf/xai_models.json +72 -0
- pal_mcp_server-10.4.3/config.py +178 -0
- pal_mcp_server-10.4.3/docker/README.md +362 -0
- pal_mcp_server-10.4.3/docker/scripts/build.ps1 +70 -0
- pal_mcp_server-10.4.3/docker/scripts/build.sh +41 -0
- pal_mcp_server-10.4.3/docker/scripts/deploy.ps1 +211 -0
- pal_mcp_server-10.4.3/docker/scripts/deploy.sh +99 -0
- pal_mcp_server-10.4.3/docker/scripts/healthcheck.py +115 -0
- pal_mcp_server-10.4.3/docker-compose.yml +101 -0
- pal_mcp_server-10.4.3/docs/adding_providers.md +377 -0
- pal_mcp_server-10.4.3/docs/adding_tools.md +163 -0
- pal_mcp_server-10.4.3/docs/advanced-usage.md +475 -0
- pal_mcp_server-10.4.3/docs/ai-collaboration.md +99 -0
- pal_mcp_server-10.4.3/docs/ai_banter.md +140 -0
- pal_mcp_server-10.4.3/docs/architecture.md +245 -0
- pal_mcp_server-10.4.3/docs/azure_openai.md +69 -0
- pal_mcp_server-10.4.3/docs/configuration.md +340 -0
- pal_mcp_server-10.4.3/docs/context-revival.md +110 -0
- pal_mcp_server-10.4.3/docs/contributions.md +231 -0
- pal_mcp_server-10.4.3/docs/custom_models.md +298 -0
- pal_mcp_server-10.4.3/docs/docker-deployment.md +500 -0
- pal_mcp_server-10.4.3/docs/gemini-setup.md +43 -0
- pal_mcp_server-10.4.3/docs/getting-started.md +534 -0
- pal_mcp_server-10.4.3/docs/index.md +19 -0
- pal_mcp_server-10.4.3/docs/locale-configuration.md +196 -0
- pal_mcp_server-10.4.3/docs/logging.md +69 -0
- pal_mcp_server-10.4.3/docs/model_ranking.md +69 -0
- pal_mcp_server-10.4.3/docs/name-change.md +5 -0
- pal_mcp_server-10.4.3/docs/testing.md +154 -0
- pal_mcp_server-10.4.3/docs/tools/analyze.md +197 -0
- pal_mcp_server-10.4.3/docs/tools/apilookup.md +120 -0
- pal_mcp_server-10.4.3/docs/tools/challenge.md +35 -0
- pal_mcp_server-10.4.3/docs/tools/chat.md +140 -0
- pal_mcp_server-10.4.3/docs/tools/clink.md +178 -0
- pal_mcp_server-10.4.3/docs/tools/codereview.md +172 -0
- pal_mcp_server-10.4.3/docs/tools/consensus.md +154 -0
- pal_mcp_server-10.4.3/docs/tools/debug.md +209 -0
- pal_mcp_server-10.4.3/docs/tools/docgen.md +204 -0
- pal_mcp_server-10.4.3/docs/tools/jules.md +49 -0
- pal_mcp_server-10.4.3/docs/tools/listmodels.md +105 -0
- pal_mcp_server-10.4.3/docs/tools/planner.md +83 -0
- pal_mcp_server-10.4.3/docs/tools/precommit.md +251 -0
- pal_mcp_server-10.4.3/docs/tools/refactor.md +200 -0
- pal_mcp_server-10.4.3/docs/tools/secaudit.md +220 -0
- pal_mcp_server-10.4.3/docs/tools/testgen.md +219 -0
- pal_mcp_server-10.4.3/docs/tools/thinkdeep.md +96 -0
- pal_mcp_server-10.4.3/docs/tools/tracer.md +170 -0
- pal_mcp_server-10.4.3/docs/tools/version.md +127 -0
- pal_mcp_server-10.4.3/docs/troubleshooting.md +120 -0
- pal_mcp_server-10.4.3/docs/vcr-testing.md +128 -0
- pal_mcp_server-10.4.3/docs/wsl-setup.md +82 -0
- pal_mcp_server-10.4.3/examples/claude_config_macos.json +11 -0
- pal_mcp_server-10.4.3/examples/claude_config_wsl.json +14 -0
- pal_mcp_server-10.4.3/pal-mcp-server +11 -0
- pal_mcp_server-10.4.3/pal_mcp_server.egg-info/PKG-INFO +12 -0
- pal_mcp_server-10.4.3/pal_mcp_server.egg-info/SOURCES.txt +397 -0
- pal_mcp_server-10.4.3/pal_mcp_server.egg-info/dependency_links.txt +1 -0
- pal_mcp_server-10.4.3/pal_mcp_server.egg-info/entry_points.txt +2 -0
- pal_mcp_server-10.4.3/pal_mcp_server.egg-info/requires.txt +5 -0
- pal_mcp_server-10.4.3/pal_mcp_server.egg-info/top_level.txt +8 -0
- pal_mcp_server-10.4.3/providers/__init__.py +22 -0
- pal_mcp_server-10.4.3/providers/azure_openai.py +333 -0
- pal_mcp_server-10.4.3/providers/base.py +445 -0
- pal_mcp_server-10.4.3/providers/custom.py +222 -0
- pal_mcp_server-10.4.3/providers/dial.py +225 -0
- pal_mcp_server-10.4.3/providers/gemini.py +430 -0
- pal_mcp_server-10.4.3/providers/openai.py +176 -0
- pal_mcp_server-10.4.3/providers/openai_compatible.py +563 -0
- pal_mcp_server-10.4.3/providers/opencode_go.py +89 -0
- pal_mcp_server-10.4.3/providers/openrouter.py +218 -0
- pal_mcp_server-10.4.3/providers/registries/__init__.py +19 -0
- pal_mcp_server-10.4.3/providers/registries/azure.py +45 -0
- pal_mcp_server-10.4.3/providers/registries/base.py +246 -0
- pal_mcp_server-10.4.3/providers/registries/custom.py +25 -0
- pal_mcp_server-10.4.3/providers/registries/dial.py +19 -0
- pal_mcp_server-10.4.3/providers/registries/gemini.py +19 -0
- pal_mcp_server-10.4.3/providers/registries/openai.py +19 -0
- pal_mcp_server-10.4.3/providers/registries/opencode_go.py +19 -0
- pal_mcp_server-10.4.3/providers/registries/openrouter.py +38 -0
- pal_mcp_server-10.4.3/providers/registries/xai.py +19 -0
- pal_mcp_server-10.4.3/providers/registry.py +554 -0
- pal_mcp_server-10.4.3/providers/registry_provider_mixin.py +84 -0
- pal_mcp_server-10.4.3/providers/shared/__init__.py +21 -0
- pal_mcp_server-10.4.3/providers/shared/model_capabilities.py +168 -0
- pal_mcp_server-10.4.3/providers/shared/model_response.py +26 -0
- pal_mcp_server-10.4.3/providers/shared/provider_type.py +18 -0
- pal_mcp_server-10.4.3/providers/shared/temperature.py +187 -0
- pal_mcp_server-10.4.3/providers/xai.py +89 -0
- pal_mcp_server-10.4.3/pyproject.toml +132 -0
- pal_mcp_server-10.4.3/release-please-config.json +22 -0
- pal_mcp_server-10.4.3/run-server.ps1 +2325 -0
- pal_mcp_server-10.4.3/run-server.sh +346 -0
- pal_mcp_server-10.4.3/run_integration_tests.ps1 +229 -0
- pal_mcp_server-10.4.3/run_integration_tests.sh +103 -0
- pal_mcp_server-10.4.3/server.py +1402 -0
- pal_mcp_server-10.4.3/setup.cfg +4 -0
- pal_mcp_server-10.4.3/simulator_tests/__init__.py +119 -0
- pal_mcp_server-10.4.3/simulator_tests/base_test.py +356 -0
- pal_mcp_server-10.4.3/simulator_tests/conversation_base_test.py +252 -0
- pal_mcp_server-10.4.3/simulator_tests/log_utils.py +313 -0
- pal_mcp_server-10.4.3/simulator_tests/test_analyze_validation.py +1071 -0
- pal_mcp_server-10.4.3/simulator_tests/test_basic_conversation.py +89 -0
- pal_mcp_server-10.4.3/simulator_tests/test_chat_simple_validation.py +508 -0
- pal_mcp_server-10.4.3/simulator_tests/test_codereview_validation.py +1024 -0
- pal_mcp_server-10.4.3/simulator_tests/test_consensus_conversation.py +237 -0
- pal_mcp_server-10.4.3/simulator_tests/test_consensus_three_models.py +145 -0
- pal_mcp_server-10.4.3/simulator_tests/test_consensus_workflow_accurate.py +226 -0
- pal_mcp_server-10.4.3/simulator_tests/test_content_validation.py +188 -0
- pal_mcp_server-10.4.3/simulator_tests/test_conversation_chain_validation.py +379 -0
- pal_mcp_server-10.4.3/simulator_tests/test_cross_tool_comprehensive.py +332 -0
- pal_mcp_server-10.4.3/simulator_tests/test_cross_tool_continuation.py +234 -0
- pal_mcp_server-10.4.3/simulator_tests/test_debug_certain_confidence.py +566 -0
- pal_mcp_server-10.4.3/simulator_tests/test_debug_validation.py +959 -0
- pal_mcp_server-10.4.3/simulator_tests/test_line_number_validation.py +179 -0
- pal_mcp_server-10.4.3/simulator_tests/test_logs_validation.py +101 -0
- pal_mcp_server-10.4.3/simulator_tests/test_model_thinking_config.py +177 -0
- pal_mcp_server-10.4.3/simulator_tests/test_o3_model_selection.py +351 -0
- pal_mcp_server-10.4.3/simulator_tests/test_o3_pro_expensive.py +122 -0
- pal_mcp_server-10.4.3/simulator_tests/test_ollama_custom_url.py +343 -0
- pal_mcp_server-10.4.3/simulator_tests/test_openrouter_fallback.py +238 -0
- pal_mcp_server-10.4.3/simulator_tests/test_openrouter_models.py +251 -0
- pal_mcp_server-10.4.3/simulator_tests/test_per_tool_deduplication.py +219 -0
- pal_mcp_server-10.4.3/simulator_tests/test_planner_continuation_history.py +363 -0
- pal_mcp_server-10.4.3/simulator_tests/test_planner_validation.py +716 -0
- pal_mcp_server-10.4.3/simulator_tests/test_planner_validation_old.py +438 -0
- pal_mcp_server-10.4.3/simulator_tests/test_precommitworkflow_validation.py +1072 -0
- pal_mcp_server-10.4.3/simulator_tests/test_prompt_size_limit_bug.py +206 -0
- pal_mcp_server-10.4.3/simulator_tests/test_refactor_validation.py +1028 -0
- pal_mcp_server-10.4.3/simulator_tests/test_secaudit_validation.py +610 -0
- pal_mcp_server-10.4.3/simulator_tests/test_testgen_validation.py +832 -0
- pal_mcp_server-10.4.3/simulator_tests/test_thinkdeep_validation.py +948 -0
- pal_mcp_server-10.4.3/simulator_tests/test_token_allocation_validation.py +350 -0
- pal_mcp_server-10.4.3/simulator_tests/test_vision_capability.py +163 -0
- pal_mcp_server-10.4.3/simulator_tests/test_xai_models.py +221 -0
- pal_mcp_server-10.4.3/systemprompts/__init__.py +37 -0
- pal_mcp_server-10.4.3/systemprompts/analyze_prompt.py +87 -0
- pal_mcp_server-10.4.3/systemprompts/chat_prompt.py +57 -0
- pal_mcp_server-10.4.3/systemprompts/clink/codex_codereviewer.txt +8 -0
- pal_mcp_server-10.4.3/systemprompts/clink/default.txt +8 -0
- pal_mcp_server-10.4.3/systemprompts/clink/default_codereviewer.txt +8 -0
- pal_mcp_server-10.4.3/systemprompts/clink/default_planner.txt +7 -0
- pal_mcp_server-10.4.3/systemprompts/codereview_prompt.py +91 -0
- pal_mcp_server-10.4.3/systemprompts/consensus_prompt.py +120 -0
- pal_mcp_server-10.4.3/systemprompts/debug_prompt.py +150 -0
- pal_mcp_server-10.4.3/systemprompts/docgen_prompt.py +252 -0
- pal_mcp_server-10.4.3/systemprompts/generate_code_prompt.py +181 -0
- pal_mcp_server-10.4.3/systemprompts/jules_prompt.py +34 -0
- pal_mcp_server-10.4.3/systemprompts/planner_prompt.py +127 -0
- pal_mcp_server-10.4.3/systemprompts/precommit_prompt.py +179 -0
- pal_mcp_server-10.4.3/systemprompts/refactor_prompt.py +323 -0
- pal_mcp_server-10.4.3/systemprompts/secaudit_prompt.py +420 -0
- pal_mcp_server-10.4.3/systemprompts/testgen_prompt.py +133 -0
- pal_mcp_server-10.4.3/systemprompts/thinkdeep_prompt.py +55 -0
- pal_mcp_server-10.4.3/systemprompts/tracer_prompt.py +145 -0
- pal_mcp_server-10.4.3/tests/CASSETTE_MAINTENANCE.md +266 -0
- pal_mcp_server-10.4.3/tests/__init__.py +1 -0
- pal_mcp_server-10.4.3/tests/conftest.py +275 -0
- pal_mcp_server-10.4.3/tests/gemini_cassettes/chat_codegen/gemini25_pro_calculator/mldev.json +133 -0
- pal_mcp_server-10.4.3/tests/gemini_cassettes/chat_cross/step1_gemini25_flash_number/mldev.json +133 -0
- pal_mcp_server-10.4.3/tests/gemini_cassettes/consensus/step2_gemini25_flash_against/mldev.json +133 -0
- pal_mcp_server-10.4.3/tests/http_transport_recorder.py +435 -0
- pal_mcp_server-10.4.3/tests/mock_helpers.py +41 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/chat_cross_step2_gpt5_reminder.json +82 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/chat_gpt5_continuation.json +160 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/chat_gpt5_moon_distance.json +82 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/consensus_step1_gpt51_for.json +82 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/consensus_step1_gpt52_for.json +82 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/consensus_step1_gpt5_for.json +82 -0
- pal_mcp_server-10.4.3/tests/openai_cassettes/o3_pro_basic_math.json +90 -0
- pal_mcp_server-10.4.3/tests/pii_sanitizer.py +290 -0
- pal_mcp_server-10.4.3/tests/sanitize_cassettes.py +110 -0
- pal_mcp_server-10.4.3/tests/test_alias_target_restrictions.py +391 -0
- pal_mcp_server-10.4.3/tests/test_async_concurrency.py +150 -0
- pal_mcp_server-10.4.3/tests/test_auto_mode.py +333 -0
- pal_mcp_server-10.4.3/tests/test_auto_mode_comprehensive.py +547 -0
- pal_mcp_server-10.4.3/tests/test_auto_mode_custom_provider_only.py +208 -0
- pal_mcp_server-10.4.3/tests/test_auto_mode_model_listing.py +230 -0
- pal_mcp_server-10.4.3/tests/test_auto_mode_provider_selection.py +344 -0
- pal_mcp_server-10.4.3/tests/test_auto_model_planner_fix.py +218 -0
- pal_mcp_server-10.4.3/tests/test_azure_openai_provider.py +145 -0
- pal_mcp_server-10.4.3/tests/test_buggy_behavior_prevention.py +284 -0
- pal_mcp_server-10.4.3/tests/test_cassette_semantic_matching.py +125 -0
- pal_mcp_server-10.4.3/tests/test_challenge.py +200 -0
- pal_mcp_server-10.4.3/tests/test_chat_codegen_integration.py +118 -0
- pal_mcp_server-10.4.3/tests/test_chat_cross_model_continuation.py +204 -0
- pal_mcp_server-10.4.3/tests/test_chat_openai_integration.py +177 -0
- pal_mcp_server-10.4.3/tests/test_chat_simple.py +464 -0
- pal_mcp_server-10.4.3/tests/test_clink_claude_agent.py +111 -0
- pal_mcp_server-10.4.3/tests/test_clink_claude_parser.py +70 -0
- pal_mcp_server-10.4.3/tests/test_clink_codex_agent.py +75 -0
- pal_mcp_server-10.4.3/tests/test_clink_gemini_agent.py +81 -0
- pal_mcp_server-10.4.3/tests/test_clink_gemini_parser.py +48 -0
- pal_mcp_server-10.4.3/tests/test_clink_integration.py +82 -0
- pal_mcp_server-10.4.3/tests/test_clink_parsers.py +22 -0
- pal_mcp_server-10.4.3/tests/test_clink_progress.py +105 -0
- pal_mcp_server-10.4.3/tests/test_clink_tool.py +187 -0
- pal_mcp_server-10.4.3/tests/test_collaboration.py +543 -0
- pal_mcp_server-10.4.3/tests/test_config.py +40 -0
- pal_mcp_server-10.4.3/tests/test_consensus.py +414 -0
- pal_mcp_server-10.4.3/tests/test_consensus_integration.py +300 -0
- pal_mcp_server-10.4.3/tests/test_consensus_schema.py +24 -0
- pal_mcp_server-10.4.3/tests/test_context_builder.py +134 -0
- pal_mcp_server-10.4.3/tests/test_conversation_continuation_integration.py +40 -0
- pal_mcp_server-10.4.3/tests/test_conversation_field_mapping.py +200 -0
- pal_mcp_server-10.4.3/tests/test_conversation_file_features.py +545 -0
- pal_mcp_server-10.4.3/tests/test_conversation_memory.py +928 -0
- pal_mcp_server-10.4.3/tests/test_conversation_missing_files.py +64 -0
- pal_mcp_server-10.4.3/tests/test_custom_openai_temperature_fix.py +284 -0
- pal_mcp_server-10.4.3/tests/test_custom_provider.py +321 -0
- pal_mcp_server-10.4.3/tests/test_debug.py +83 -0
- pal_mcp_server-10.4.3/tests/test_deploy_scripts.py +311 -0
- pal_mcp_server-10.4.3/tests/test_dial_provider.py +273 -0
- pal_mcp_server-10.4.3/tests/test_directory_expansion_tracking.py +321 -0
- pal_mcp_server-10.4.3/tests/test_disabled_tools.py +140 -0
- pal_mcp_server-10.4.3/tests/test_docker_claude_desktop_integration.py +310 -0
- pal_mcp_server-10.4.3/tests/test_docker_config_complete.py +239 -0
- pal_mcp_server-10.4.3/tests/test_docker_healthcheck.py +181 -0
- pal_mcp_server-10.4.3/tests/test_docker_implementation.py +361 -0
- pal_mcp_server-10.4.3/tests/test_docker_mcp_validation.py +183 -0
- pal_mcp_server-10.4.3/tests/test_docker_security.py +235 -0
- pal_mcp_server-10.4.3/tests/test_docker_volume_persistence.py +158 -0
- pal_mcp_server-10.4.3/tests/test_file_protection.py +319 -0
- pal_mcp_server-10.4.3/tests/test_file_size_gate.py +225 -0
- pal_mcp_server-10.4.3/tests/test_gemini_token_usage.py +105 -0
- pal_mcp_server-10.4.3/tests/test_image_support_integration.py +522 -0
- pal_mcp_server-10.4.3/tests/test_image_validation.py +261 -0
- pal_mcp_server-10.4.3/tests/test_integration_utf8.py +481 -0
- pal_mcp_server-10.4.3/tests/test_intelligent_fallback.py +231 -0
- pal_mcp_server-10.4.3/tests/test_issue_245_simple.py +78 -0
- pal_mcp_server-10.4.3/tests/test_jules.py +242 -0
- pal_mcp_server-10.4.3/tests/test_large_prompt_handling.py +727 -0
- pal_mcp_server-10.4.3/tests/test_line_numbers_integration.py +49 -0
- pal_mcp_server-10.4.3/tests/test_listmodels.py +185 -0
- pal_mcp_server-10.4.3/tests/test_listmodels_restrictions.py +321 -0
- pal_mcp_server-10.4.3/tests/test_mcp_error_handling.py +64 -0
- pal_mcp_server-10.4.3/tests/test_model_enumeration.py +239 -0
- pal_mcp_server-10.4.3/tests/test_model_metadata_continuation.py +239 -0
- pal_mcp_server-10.4.3/tests/test_model_resolution.py +191 -0
- pal_mcp_server-10.4.3/tests/test_model_resolution_bug.py +129 -0
- pal_mcp_server-10.4.3/tests/test_model_restrictions.py +793 -0
- pal_mcp_server-10.4.3/tests/test_o3_pro_output_text_fix.py +131 -0
- pal_mcp_server-10.4.3/tests/test_o3_temperature_fix_simple.py +241 -0
- pal_mcp_server-10.4.3/tests/test_openai_compatible_token_usage.py +138 -0
- pal_mcp_server-10.4.3/tests/test_openai_provider.py +392 -0
- pal_mcp_server-10.4.3/tests/test_opencode_go_provider.py +185 -0
- pal_mcp_server-10.4.3/tests/test_openrouter_provider.py +399 -0
- pal_mcp_server-10.4.3/tests/test_openrouter_registry.py +244 -0
- pal_mcp_server-10.4.3/tests/test_openrouter_store_parameter.py +122 -0
- pal_mcp_server-10.4.3/tests/test_parse_model_option.py +79 -0
- pal_mcp_server-10.4.3/tests/test_path_policy_pseudofs.py +100 -0
- pal_mcp_server-10.4.3/tests/test_path_traversal_security.py +149 -0
- pal_mcp_server-10.4.3/tests/test_per_tool_model_defaults.py +547 -0
- pal_mcp_server-10.4.3/tests/test_pii_sanitizer.py +143 -0
- pal_mcp_server-10.4.3/tests/test_planner.py +458 -0
- pal_mcp_server-10.4.3/tests/test_precommit_workflow.py +207 -0
- pal_mcp_server-10.4.3/tests/test_progress.py +331 -0
- pal_mcp_server-10.4.3/tests/test_prompt_regression.py +442 -0
- pal_mcp_server-10.4.3/tests/test_prompt_size_limit_bug_fix.py +122 -0
- pal_mcp_server-10.4.3/tests/test_provider_contract.py +204 -0
- pal_mcp_server-10.4.3/tests/test_provider_from_env.py +208 -0
- pal_mcp_server-10.4.3/tests/test_provider_metadata.py +113 -0
- pal_mcp_server-10.4.3/tests/test_provider_metadata_characterization.py +514 -0
- pal_mcp_server-10.4.3/tests/test_provider_retry_logic.py +79 -0
- pal_mcp_server-10.4.3/tests/test_provider_routing_bugs.py +403 -0
- pal_mcp_server-10.4.3/tests/test_provider_utf8.py +382 -0
- pal_mcp_server-10.4.3/tests/test_providers.py +241 -0
- pal_mcp_server-10.4.3/tests/test_rate_limit_patterns.py +140 -0
- pal_mcp_server-10.4.3/tests/test_refactor.py +391 -0
- pal_mcp_server-10.4.3/tests/test_secaudit.py +451 -0
- pal_mcp_server-10.4.3/tests/test_server.py +107 -0
- pal_mcp_server-10.4.3/tests/test_supported_models_aliases.py +223 -0
- pal_mcp_server-10.4.3/tests/test_systemprompts.py +187 -0
- pal_mcp_server-10.4.3/tests/test_thinking_modes.py +441 -0
- pal_mcp_server-10.4.3/tests/test_tools.py +517 -0
- pal_mcp_server-10.4.3/tests/test_tracer.py +169 -0
- pal_mcp_server-10.4.3/tests/test_utf8_localization.py +357 -0
- pal_mcp_server-10.4.3/tests/test_utils.py +223 -0
- pal_mcp_server-10.4.3/tests/test_uvx_resource_packaging.py +126 -0
- pal_mcp_server-10.4.3/tests/test_uvx_support.py +184 -0
- pal_mcp_server-10.4.3/tests/test_workflow_file_embedding.py +225 -0
- pal_mcp_server-10.4.3/tests/test_workflow_metadata.py +337 -0
- pal_mcp_server-10.4.3/tests/test_workflow_prompt_size_validation_simple.py +74 -0
- pal_mcp_server-10.4.3/tests/test_workflow_utf8.py +319 -0
- pal_mcp_server-10.4.3/tests/test_xai_provider.py +356 -0
- pal_mcp_server-10.4.3/tests/transport_helpers.py +47 -0
- pal_mcp_server-10.4.3/tests/triangle.png +0 -0
- pal_mcp_server-10.4.3/tools/__init__.py +45 -0
- pal_mcp_server-10.4.3/tools/analyze.py +583 -0
- pal_mcp_server-10.4.3/tools/apilookup.py +131 -0
- pal_mcp_server-10.4.3/tools/challenge.py +198 -0
- pal_mcp_server-10.4.3/tools/chat.py +482 -0
- pal_mcp_server-10.4.3/tools/clink.py +463 -0
- pal_mcp_server-10.4.3/tools/codereview.py +724 -0
- pal_mcp_server-10.4.3/tools/consensus.py +842 -0
- pal_mcp_server-10.4.3/tools/debug.py +582 -0
- pal_mcp_server-10.4.3/tools/docgen.py +575 -0
- pal_mcp_server-10.4.3/tools/jules.py +421 -0
- pal_mcp_server-10.4.3/tools/listmodels.py +429 -0
- pal_mcp_server-10.4.3/tools/models.py +371 -0
- pal_mcp_server-10.4.3/tools/planner.py +531 -0
- pal_mcp_server-10.4.3/tools/precommit.py +774 -0
- pal_mcp_server-10.4.3/tools/refactor.py +645 -0
- pal_mcp_server-10.4.3/tools/secaudit.py +685 -0
- pal_mcp_server-10.4.3/tools/shared/__init__.py +19 -0
- pal_mcp_server-10.4.3/tools/shared/base_models.py +160 -0
- pal_mcp_server-10.4.3/tools/shared/base_tool.py +1554 -0
- pal_mcp_server-10.4.3/tools/shared/exceptions.py +20 -0
- pal_mcp_server-10.4.3/tools/shared/schema_builders.py +159 -0
- pal_mcp_server-10.4.3/tools/simple/__init__.py +18 -0
- pal_mcp_server-10.4.3/tools/simple/base.py +1058 -0
- pal_mcp_server-10.4.3/tools/testgen.py +513 -0
- pal_mcp_server-10.4.3/tools/thinkdeep.py +580 -0
- pal_mcp_server-10.4.3/tools/tracer.py +759 -0
- pal_mcp_server-10.4.3/tools/version.py +369 -0
- pal_mcp_server-10.4.3/tools/workflow/__init__.py +22 -0
- pal_mcp_server-10.4.3/tools/workflow/base.py +448 -0
- pal_mcp_server-10.4.3/tools/workflow/schema_builders.py +169 -0
- pal_mcp_server-10.4.3/tools/workflow/workflow_mixin.py +1642 -0
- pal_mcp_server-10.4.3/utils/__init__.py +21 -0
- pal_mcp_server-10.4.3/utils/client_info.py +293 -0
- pal_mcp_server-10.4.3/utils/context_builder.py +68 -0
- pal_mcp_server-10.4.3/utils/conversation_memory.py +1185 -0
- pal_mcp_server-10.4.3/utils/env.py +111 -0
- pal_mcp_server-10.4.3/utils/file_types.py +271 -0
- pal_mcp_server-10.4.3/utils/file_utils.py +960 -0
- pal_mcp_server-10.4.3/utils/image_utils.py +94 -0
- pal_mcp_server-10.4.3/utils/model_context.py +224 -0
- pal_mcp_server-10.4.3/utils/model_resolution.py +142 -0
- pal_mcp_server-10.4.3/utils/model_restrictions.py +310 -0
- pal_mcp_server-10.4.3/utils/progress.py +249 -0
- pal_mcp_server-10.4.3/utils/security_config.py +184 -0
- pal_mcp_server-10.4.3/utils/storage_backend.py +113 -0
- pal_mcp_server-10.4.3/utils/token_utils.py +54 -0
- pal_mcp_server-10.4.3/uv.lock +1384 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Please analyze and fix the GitHub issue: $ARGUMENTS.
|
|
2
|
+
|
|
3
|
+
Follow these steps:
|
|
4
|
+
|
|
5
|
+
1. Use `gh issue view` to get the issue details
|
|
6
|
+
2. Understand the problem described in the issue
|
|
7
|
+
3. Search the codebase for relevant files
|
|
8
|
+
4. Implement the necessary changes to fix the issue
|
|
9
|
+
5. Write and run tests to verify the fix
|
|
10
|
+
6. Ensure code passes linting and type checking
|
|
11
|
+
7. Create a descriptive commit message
|
|
12
|
+
8. Push and create a PR
|
|
13
|
+
|
|
14
|
+
Remember to use the GitHub CLI (`gh`) for all GitHub-related tasks.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"CronCreate",
|
|
5
|
+
"CronDelete",
|
|
6
|
+
"CronList",
|
|
7
|
+
"PushNotification",
|
|
8
|
+
"RemoteTrigger",
|
|
9
|
+
"ScheduleWakeup",
|
|
10
|
+
"Bash(git:*)",
|
|
11
|
+
"Bash(gh:*)",
|
|
12
|
+
"Bash(pre-commit:*)",
|
|
13
|
+
"Bash(gitleaks:*)",
|
|
14
|
+
"Bash(python3:*)",
|
|
15
|
+
"Bash(uv:*)",
|
|
16
|
+
"Bash(uvx:*)",
|
|
17
|
+
"Bash(ruff:*)",
|
|
18
|
+
"Bash(ty:*)",
|
|
19
|
+
"Bash(pytest:*)"
|
|
20
|
+
],
|
|
21
|
+
"deny": []
|
|
22
|
+
},
|
|
23
|
+
"extraKnownMarketplaces": {
|
|
24
|
+
"claude-plugins": {
|
|
25
|
+
"source": {
|
|
26
|
+
"source": "github",
|
|
27
|
+
"repo": "laurigates/claude-plugins"
|
|
28
|
+
},
|
|
29
|
+
"autoUpdate": true
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"enabledPlugins": {
|
|
33
|
+
"accessibility-plugin@claude-plugins": false,
|
|
34
|
+
"agent-patterns-plugin@claude-plugins": false,
|
|
35
|
+
"agents-plugin@claude-plugins": false,
|
|
36
|
+
"api-plugin@claude-plugins": false,
|
|
37
|
+
"bevy-plugin@claude-plugins": false,
|
|
38
|
+
"blog-plugin@claude-plugins": false,
|
|
39
|
+
"blueprint-plugin@claude-plugins": false,
|
|
40
|
+
"code-quality-plugin@claude-plugins": true,
|
|
41
|
+
"codebase-attributes-plugin@claude-plugins": false,
|
|
42
|
+
"communication-plugin@claude-plugins": false,
|
|
43
|
+
"component-patterns-plugin@claude-plugins": false,
|
|
44
|
+
"configure-plugin@claude-plugins": true,
|
|
45
|
+
"container-plugin@claude-plugins": true,
|
|
46
|
+
"css-plugin@claude-plugins": false,
|
|
47
|
+
"documentation-plugin@claude-plugins": false,
|
|
48
|
+
"evaluate-plugin@claude-plugins": false,
|
|
49
|
+
"feedback-plugin@claude-plugins": false,
|
|
50
|
+
"finops-plugin@claude-plugins": false,
|
|
51
|
+
"git-plugin@claude-plugins": true,
|
|
52
|
+
"github-actions-plugin@claude-plugins": true,
|
|
53
|
+
"health-plugin@claude-plugins": true,
|
|
54
|
+
"home-assistant-plugin@claude-plugins": false,
|
|
55
|
+
"hooks-plugin@claude-plugins": true,
|
|
56
|
+
"kubernetes-plugin@claude-plugins": false,
|
|
57
|
+
"langchain-plugin@claude-plugins": false,
|
|
58
|
+
"macos-plugin@claude-plugins": false,
|
|
59
|
+
"migration-patterns-plugin@claude-plugins": false,
|
|
60
|
+
"networking-plugin@claude-plugins": false,
|
|
61
|
+
"obsidian-plugin@claude-plugins": false,
|
|
62
|
+
"project-plugin@claude-plugins": false,
|
|
63
|
+
"prompt-engineering-plugin@claude-plugins": false,
|
|
64
|
+
"prose-plugin@claude-plugins": false,
|
|
65
|
+
"python-plugin@claude-plugins": true,
|
|
66
|
+
"rust-plugin@claude-plugins": false,
|
|
67
|
+
"taskwarrior-plugin@claude-plugins": false,
|
|
68
|
+
"terraform-plugin@claude-plugins": false,
|
|
69
|
+
"testing-plugin@claude-plugins": true,
|
|
70
|
+
"tools-plugin@claude-plugins": false,
|
|
71
|
+
"typescript-plugin@claude-plugins": false,
|
|
72
|
+
"workflow-orchestration-plugin@claude-plugins": false,
|
|
73
|
+
|
|
74
|
+
"clangd@claude-plugins-official": false,
|
|
75
|
+
"gopls@claude-plugins-official": false,
|
|
76
|
+
"pyright@claude-plugins-official": true,
|
|
77
|
+
"rust-analyzer@claude-plugins-official": false,
|
|
78
|
+
"swift-language-server@claude-plugins-official": false,
|
|
79
|
+
"typescript-language-server@claude-plugins-official": false
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
[run]
|
|
2
|
+
source = gemini_server
|
|
3
|
+
omit =
|
|
4
|
+
*/tests/*
|
|
5
|
+
*/venv/*
|
|
6
|
+
*/__pycache__/*
|
|
7
|
+
*/site-packages/*
|
|
8
|
+
|
|
9
|
+
[report]
|
|
10
|
+
exclude_lines =
|
|
11
|
+
pragma: no cover
|
|
12
|
+
def __repr__
|
|
13
|
+
if self.debug:
|
|
14
|
+
if settings.DEBUG
|
|
15
|
+
raise AssertionError
|
|
16
|
+
raise NotImplementedError
|
|
17
|
+
if 0:
|
|
18
|
+
if __name__ == .__main__.:
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
class .*\bProtocol\):
|
|
21
|
+
@(abc\.)?abstractmethod
|
|
22
|
+
|
|
23
|
+
[html]
|
|
24
|
+
directory = htmlcov
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Git
|
|
2
|
+
.git
|
|
3
|
+
.gitignore
|
|
4
|
+
|
|
5
|
+
# Python
|
|
6
|
+
__pycache__/
|
|
7
|
+
*.py[cod]
|
|
8
|
+
*$py.class
|
|
9
|
+
*.so
|
|
10
|
+
.Python
|
|
11
|
+
env/
|
|
12
|
+
venv/
|
|
13
|
+
.venv/
|
|
14
|
+
.pal_venv/
|
|
15
|
+
ENV/
|
|
16
|
+
env.bak/
|
|
17
|
+
venv.bak/
|
|
18
|
+
|
|
19
|
+
# IDE
|
|
20
|
+
.vscode/
|
|
21
|
+
.idea/
|
|
22
|
+
*.swp
|
|
23
|
+
*.swo
|
|
24
|
+
|
|
25
|
+
# OS
|
|
26
|
+
.DS_Store
|
|
27
|
+
Thumbs.db
|
|
28
|
+
|
|
29
|
+
# Logs
|
|
30
|
+
logs/*.log*
|
|
31
|
+
*.log
|
|
32
|
+
|
|
33
|
+
# Docker
|
|
34
|
+
Dockerfile*
|
|
35
|
+
docker-compose*
|
|
36
|
+
.dockerignore
|
|
37
|
+
|
|
38
|
+
# Documentation
|
|
39
|
+
docs/
|
|
40
|
+
README.md
|
|
41
|
+
*.md
|
|
42
|
+
|
|
43
|
+
# Tests
|
|
44
|
+
tests/
|
|
45
|
+
simulator_tests/
|
|
46
|
+
test_simulation_files/
|
|
47
|
+
pytest.ini
|
|
48
|
+
|
|
49
|
+
# Development
|
|
50
|
+
.env
|
|
51
|
+
.env.local
|
|
52
|
+
examples/
|
|
53
|
+
code_quality_checks.sh
|
|
54
|
+
run_integration_tests.sh
|
|
55
|
+
|
|
56
|
+
# Security - Sensitive files
|
|
57
|
+
*.key
|
|
58
|
+
*.pem
|
|
59
|
+
*.p12
|
|
60
|
+
*.pfx
|
|
61
|
+
*.crt
|
|
62
|
+
*.csr
|
|
63
|
+
secrets/
|
|
64
|
+
private/
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# PAL MCP Server Environment Configuration
|
|
2
|
+
# Copy this file to .env and fill in your values
|
|
3
|
+
|
|
4
|
+
# API Keys - At least one is required
|
|
5
|
+
#
|
|
6
|
+
# IMPORTANT: Choose ONE approach:
|
|
7
|
+
# - Native APIs (Gemini/OpenAI/XAI) for direct access
|
|
8
|
+
# - DIAL for unified enterprise access
|
|
9
|
+
# - OpenRouter for unified cloud access
|
|
10
|
+
# Having multiple unified providers creates ambiguity about which serves each model.
|
|
11
|
+
#
|
|
12
|
+
# Option 1: Use native APIs (recommended for direct access)
|
|
13
|
+
# Get your Gemini API key from: https://makersuite.google.com/app/apikey
|
|
14
|
+
GEMINI_API_KEY=your_gemini_api_key_here
|
|
15
|
+
# GEMINI_BASE_URL= # Optional: Custom Gemini endpoint (defaults to Google's API)
|
|
16
|
+
|
|
17
|
+
# Get your OpenAI API key from: https://platform.openai.com/api-keys
|
|
18
|
+
OPENAI_API_KEY=your_openai_api_key_here
|
|
19
|
+
|
|
20
|
+
# Azure OpenAI mirrors OpenAI models through Azure-hosted deployments
|
|
21
|
+
# Set the endpoint from Azure Portal. Models are defined in conf/azure_models.json
|
|
22
|
+
# (or the file referenced by AZURE_MODELS_CONFIG_PATH).
|
|
23
|
+
AZURE_OPENAI_API_KEY=your_azure_openai_key_here
|
|
24
|
+
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
|
|
25
|
+
# AZURE_OPENAI_API_VERSION=2024-02-15-preview
|
|
26
|
+
# AZURE_OPENAI_ALLOWED_MODELS=gpt-4o,gpt-4o-mini
|
|
27
|
+
# AZURE_MODELS_CONFIG_PATH=/absolute/path/to/custom_azure_models.json
|
|
28
|
+
|
|
29
|
+
# Get your X.AI API key from: https://console.x.ai/
|
|
30
|
+
XAI_API_KEY=your_xai_api_key_here
|
|
31
|
+
|
|
32
|
+
# Get your DIAL API key and configure host URL
|
|
33
|
+
# DIAL provides unified access to multiple AI models through a single API
|
|
34
|
+
DIAL_API_KEY=your_dial_api_key_here
|
|
35
|
+
# DIAL_API_HOST=https://core.dialx.ai # Optional: Base URL without /openai suffix (auto-appended)
|
|
36
|
+
# DIAL_API_VERSION=2025-01-01-preview # Optional: API version header for DIAL requests
|
|
37
|
+
|
|
38
|
+
# OpenCode Go: flat-rate subscription gateway for open-source coding models
|
|
39
|
+
# (GLM, Kimi, DeepSeek, Qwen, MiniMax, MiMo) over an OpenAI-compatible API.
|
|
40
|
+
# Subscribe and create a key at: https://opencode.ai/auth (docs: https://opencode.ai/docs/go/)
|
|
41
|
+
OPENCODE_API_KEY=your_opencode_api_key_here
|
|
42
|
+
# Optional: restrict which Go models are usable
|
|
43
|
+
# OPENCODE_GO_ALLOWED_MODELS=glm-5.2,deepseek-v4-pro,deepseek-v4-flash
|
|
44
|
+
# Optional: override the bundled model catalogue
|
|
45
|
+
# OPENCODE_GO_MODELS_CONFIG_PATH=/absolute/path/to/custom_opencode_go_models.json
|
|
46
|
+
|
|
47
|
+
# Google Jules: asynchronous AI coding agent (create a session, poll for a PR).
|
|
48
|
+
# Exposed via the `jules` tool, not as a model provider. Requires the Jules
|
|
49
|
+
# GitHub app installed so repos appear as sources.
|
|
50
|
+
# Create an API key at: https://jules.google.com/settings#api
|
|
51
|
+
JULES_API_KEY=your_jules_api_key_here
|
|
52
|
+
|
|
53
|
+
# Option 2: Use OpenRouter for access to multiple models through one API
|
|
54
|
+
# Get your OpenRouter API key from: https://openrouter.ai/
|
|
55
|
+
# If using OpenRouter, comment out the native API keys above
|
|
56
|
+
OPENROUTER_API_KEY=your_openrouter_api_key_here
|
|
57
|
+
|
|
58
|
+
# Option 3: Use custom API endpoints for local models (Ollama, vLLM, LM Studio, etc.)
|
|
59
|
+
# CUSTOM_API_URL=http://localhost:11434/v1 # Ollama example
|
|
60
|
+
# CUSTOM_API_KEY= # Empty for Ollama (no auth needed)
|
|
61
|
+
# CUSTOM_MODEL_NAME=llama3.2 # Default model name
|
|
62
|
+
# CUSTOM_ALLOWED_MODELS=llama3.2,mistral # Restrict which custom models are usable
|
|
63
|
+
|
|
64
|
+
# Optional: HTTP timeout tuning for OpenAI-compatible endpoints (OpenRouter/custom/local)
|
|
65
|
+
# Values are seconds; defaults are 45s connect / 900s read/write/pool for remote URLs
|
|
66
|
+
# and 60s/1800s when pointing at localhost. Raise these if long-running models time out.
|
|
67
|
+
# CUSTOM_CONNECT_TIMEOUT=45.0
|
|
68
|
+
# CUSTOM_READ_TIMEOUT=900.0
|
|
69
|
+
# CUSTOM_WRITE_TIMEOUT=900.0
|
|
70
|
+
# CUSTOM_POOL_TIMEOUT=900.0
|
|
71
|
+
|
|
72
|
+
# Optional: Default model to use
|
|
73
|
+
# Options: 'auto' (Claude picks best model), 'pro', 'flash', 'o3', 'o3-mini', 'o4-mini', 'o4-mini-high',
|
|
74
|
+
# 'gpt-5.2', 'gpt-5.1-codex', 'gpt-5.1-codex-mini', 'gpt-5', 'gpt-5-mini', 'grok',
|
|
75
|
+
# 'opus-4.1', 'sonnet-4.1', or any DIAL model if DIAL is configured
|
|
76
|
+
# When set to 'auto', Claude will select the best model for each task
|
|
77
|
+
# Defaults to 'auto' if not specified
|
|
78
|
+
DEFAULT_MODEL=auto
|
|
79
|
+
|
|
80
|
+
# Optional: Default thinking mode for ThinkDeep tool
|
|
81
|
+
# NOTE: Only applies to models that support extended thinking (e.g., Gemini 2.5 Pro, GPT-5 models)
|
|
82
|
+
# Flash models (2.0) will use system prompt engineering instead
|
|
83
|
+
# Token consumption per mode:
|
|
84
|
+
# minimal: 128 tokens - Quick analysis, fastest response
|
|
85
|
+
# low: 2,048 tokens - Light reasoning tasks
|
|
86
|
+
# medium: 8,192 tokens - Balanced reasoning (good for most cases)
|
|
87
|
+
# high: 16,384 tokens - Complex analysis (recommended for thinkdeep)
|
|
88
|
+
# max: 32,768 tokens - Maximum reasoning depth, slowest but most thorough
|
|
89
|
+
# Defaults to 'high' if not specified
|
|
90
|
+
DEFAULT_THINKING_MODE_THINKDEEP=high
|
|
91
|
+
|
|
92
|
+
# Optional: Model usage restrictions
|
|
93
|
+
# Limit which models can be used from each provider for cost control, compliance, or standardization
|
|
94
|
+
# Format: Comma-separated list of allowed model names (case-insensitive, whitespace tolerant)
|
|
95
|
+
# Empty or unset = all models allowed (default behavior)
|
|
96
|
+
# If you want to disable a provider entirely, don't set its API key
|
|
97
|
+
#
|
|
98
|
+
# Supported OpenAI models:
|
|
99
|
+
# - gpt-5.2 (400K context, 128K output, reasoning tokens, streaming enabled)
|
|
100
|
+
# - gpt-5.2-pro (400K context, 272K output, highest reasoning quality, Responses API only)
|
|
101
|
+
# - gpt-5.1-codex (400K context, 128K output, coding specialization, Responses API only)
|
|
102
|
+
# - gpt-5.1-codex-mini (400K context, 128K output, cost-efficient Codex with streaming)
|
|
103
|
+
# - gpt-5 (400K context, 128K output, reasoning tokens)
|
|
104
|
+
# - gpt-5-mini (400K context, 128K output, reasoning tokens)
|
|
105
|
+
# - o3 (200K context, high reasoning)
|
|
106
|
+
# - o3-mini (200K context, balanced)
|
|
107
|
+
# - o4-mini (200K context, latest balanced, temperature=1.0 only)
|
|
108
|
+
# - o4-mini-high (200K context, enhanced reasoning, temperature=1.0 only)
|
|
109
|
+
# - mini (shorthand for o4-mini)
|
|
110
|
+
#
|
|
111
|
+
# Supported Google/Gemini models:
|
|
112
|
+
# - gemini-2.5-flash (1M context, fast, supports thinking)
|
|
113
|
+
# - gemini-2.5-pro (1M context, powerful, supports thinking)
|
|
114
|
+
# - flash (shorthand for gemini-2.5-flash)
|
|
115
|
+
# - pro (shorthand for gemini-2.5-pro)
|
|
116
|
+
#
|
|
117
|
+
# Supported X.AI GROK models:
|
|
118
|
+
# - grok-3 (131K context, advanced reasoning)
|
|
119
|
+
# - grok-3-fast (131K context, higher performance but more expensive)
|
|
120
|
+
# - grok (shorthand for grok-3)
|
|
121
|
+
# - grok3 (shorthand for grok-3)
|
|
122
|
+
# - grokfast (shorthand for grok-3-fast)
|
|
123
|
+
#
|
|
124
|
+
# Supported DIAL models (when available in your DIAL deployment):
|
|
125
|
+
# - o3-2025-04-16 (200K context, latest O3 release)
|
|
126
|
+
# - o4-mini-2025-04-16 (200K context, latest O4 mini)
|
|
127
|
+
# - o3 (shorthand for o3-2025-04-16)
|
|
128
|
+
# - o4-mini (shorthand for o4-mini-2025-04-16)
|
|
129
|
+
# - anthropic.claude-sonnet-4.1-20250805-v1:0 (200K context, Claude 4.1 Sonnet)
|
|
130
|
+
# - anthropic.claude-sonnet-4.1-20250805-v1:0-with-thinking (200K context, Claude 4.1 Sonnet with thinking mode)
|
|
131
|
+
# - anthropic.claude-opus-4.1-20250805-v1:0 (200K context, Claude 4.1 Opus)
|
|
132
|
+
# - anthropic.claude-opus-4.1-20250805-v1:0-with-thinking (200K context, Claude 4.1 Opus with thinking mode)
|
|
133
|
+
# - sonnet-4.1 (shorthand for Claude 4.1 Sonnet)
|
|
134
|
+
# - sonnet-4.1-thinking (shorthand for Claude 4.1 Sonnet with thinking)
|
|
135
|
+
# - opus-4.1 (shorthand for Claude 4.1 Opus)
|
|
136
|
+
# - opus-4.1-thinking (shorthand for Claude 4.1 Opus with thinking)
|
|
137
|
+
# - gemini-2.5-pro-preview-03-25-google-search (1M context, with Google Search)
|
|
138
|
+
# - gemini-2.5-pro-preview-05-06 (1M context, latest preview)
|
|
139
|
+
# - gemini-2.5-flash-preview-05-20 (1M context, latest flash preview)
|
|
140
|
+
# - gemini-2.5-pro (shorthand for gemini-2.5-pro-preview-05-06)
|
|
141
|
+
# - gemini-2.5-pro-search (shorthand for gemini-2.5-pro-preview-03-25-google-search)
|
|
142
|
+
# - gemini-2.5-flash (shorthand for gemini-2.5-flash-preview-05-20)
|
|
143
|
+
#
|
|
144
|
+
# Examples:
|
|
145
|
+
# OPENAI_ALLOWED_MODELS=o3-mini,o4-mini,mini # Only allow mini models (cost control)
|
|
146
|
+
# OPENAI_ALLOWED_MODELS=gpt-5.2,gpt-5.1-codex # Pin to flagship GPT-5 family
|
|
147
|
+
# GOOGLE_ALLOWED_MODELS=flash # Only allow Flash (fast responses)
|
|
148
|
+
# XAI_ALLOWED_MODELS=grok-3 # Only allow standard GROK (not fast variant)
|
|
149
|
+
# OPENAI_ALLOWED_MODELS=o4-mini # Single model standardization
|
|
150
|
+
# GOOGLE_ALLOWED_MODELS=flash,pro # Allow both Gemini models
|
|
151
|
+
# XAI_ALLOWED_MODELS=grok,grok-3-fast # Allow both GROK variants
|
|
152
|
+
# DIAL_ALLOWED_MODELS=o3,o4-mini # Only allow O3/O4 models via DIAL
|
|
153
|
+
# DIAL_ALLOWED_MODELS=opus-4.1,sonnet-4.1 # Only Claude 4.1 models (without thinking)
|
|
154
|
+
# DIAL_ALLOWED_MODELS=opus-4.1-thinking,sonnet-4.1-thinking # Only Claude 4.1 with thinking mode
|
|
155
|
+
# DIAL_ALLOWED_MODELS=gemini-2.5-pro,gemini-2.5-flash # Only Gemini 2.5 models via DIAL
|
|
156
|
+
#
|
|
157
|
+
# Note: These restrictions apply even in 'auto' mode - Claude will only pick from allowed models
|
|
158
|
+
# OPENAI_ALLOWED_MODELS=
|
|
159
|
+
# GOOGLE_ALLOWED_MODELS=
|
|
160
|
+
# XAI_ALLOWED_MODELS=
|
|
161
|
+
# DIAL_ALLOWED_MODELS=
|
|
162
|
+
|
|
163
|
+
# Optional: Custom model configuration file path
|
|
164
|
+
# Override the default location of custom_models.json
|
|
165
|
+
# CUSTOM_MODELS_CONFIG_PATH=/path/to/your/custom_models.json
|
|
166
|
+
|
|
167
|
+
# Note: Conversations are stored in memory during the session
|
|
168
|
+
|
|
169
|
+
# Optional: Conversation timeout (hours)
|
|
170
|
+
# How long AI-to-AI conversation threads persist before expiring
|
|
171
|
+
# Longer timeouts use more memory but allow resuming conversations later
|
|
172
|
+
# Defaults to 24 hours if not specified
|
|
173
|
+
CONVERSATION_TIMEOUT_HOURS=24
|
|
174
|
+
|
|
175
|
+
# Optional: Max conversation turns
|
|
176
|
+
# Maximum number of turns allowed in an AI-to-AI conversation thread
|
|
177
|
+
# Each exchange (Claude asks, Gemini responds) counts as 2 turns
|
|
178
|
+
# So 20 turns = 10 exchanges. Defaults to 40 if not specified
|
|
179
|
+
MAX_CONVERSATION_TURNS=40
|
|
180
|
+
|
|
181
|
+
# Optional: Logging level (DEBUG, INFO, WARNING, ERROR)
|
|
182
|
+
# DEBUG: Shows detailed operational messages for troubleshooting (default)
|
|
183
|
+
# INFO: Shows general operational messages
|
|
184
|
+
# WARNING: Shows only warnings and errors
|
|
185
|
+
# ERROR: Shows only errors
|
|
186
|
+
LOG_LEVEL=DEBUG
|
|
187
|
+
|
|
188
|
+
# Optional: Tool Selection
|
|
189
|
+
# Comma-separated list of tools to disable. If not set, all tools are enabled.
|
|
190
|
+
# Essential tools (version, listmodels) cannot be disabled.
|
|
191
|
+
# Available tools: chat, thinkdeep, planner, consensus, codereview, precommit,
|
|
192
|
+
# debug, docgen, analyze, refactor, tracer, testgen, challenge, secaudit
|
|
193
|
+
#
|
|
194
|
+
# DEFAULT CONFIGURATION: To optimize context window usage, non-essential tools
|
|
195
|
+
# are disabled by default. Only the essential tools remain enabled:
|
|
196
|
+
# - chat, thinkdeep, planner, consensus (collaboration tools)
|
|
197
|
+
# - codereview, precommit, debug (code quality tools)
|
|
198
|
+
# - challenge (critical thinking utility)
|
|
199
|
+
#
|
|
200
|
+
# To enable additional tools, remove them from the DISABLED_TOOLS list below.
|
|
201
|
+
DISABLED_TOOLS=analyze,refactor,testgen,secaudit,docgen,tracer
|
|
202
|
+
|
|
203
|
+
# Optional: Language/Locale for AI responses
|
|
204
|
+
# When set, all AI tools will respond in the specified language
|
|
205
|
+
# while maintaining their analytical capabilities
|
|
206
|
+
# Examples: "fr-FR", "en-US", "zh-CN", "zh-TW", "ja-JP", "ko-KR", "es-ES"
|
|
207
|
+
# Leave empty for default language (English)
|
|
208
|
+
# LOCALE=fr-FR
|
|
209
|
+
|
|
210
|
+
# ===========================================
|
|
211
|
+
# PAL MCP Server Configuration
|
|
212
|
+
# ===========================================
|
|
213
|
+
|
|
214
|
+
# Force .env file values to override system environment variables
|
|
215
|
+
# This prevents issues where different AI tools (Claude Code, etc.) pass
|
|
216
|
+
# conflicting or cached environment variables that override each other
|
|
217
|
+
#
|
|
218
|
+
# When enabled (true):
|
|
219
|
+
# - .env file values take absolute precedence
|
|
220
|
+
# - Prevents MCP clients from passing outdated/cached API keys
|
|
221
|
+
# - Ensures consistent configuration across different AI tool integrations
|
|
222
|
+
# - Solves environment variable conflicts between multiple AI applications
|
|
223
|
+
#
|
|
224
|
+
# When disabled (false):
|
|
225
|
+
# - System environment variables take precedence (standard behavior)
|
|
226
|
+
# - Suitable for production deployments with secure environment injection
|
|
227
|
+
# - Respects container orchestrator and CI/CD pipeline configurations
|
|
228
|
+
#
|
|
229
|
+
# Recommended settings:
|
|
230
|
+
# Development with multiple AI tools: true (prevents tool conflicts)
|
|
231
|
+
# Production/Container deployments: false (preserves security practices)
|
|
232
|
+
# CI/CD environments: false (respects pipeline secrets)
|
|
233
|
+
PAL_MCP_FORCE_ENV_OVERRIDE=false
|
|
234
|
+
|
|
235
|
+
# ===========================================
|
|
236
|
+
# Docker Configuration
|
|
237
|
+
# ===========================================
|
|
238
|
+
|
|
239
|
+
# Container name for Docker Compose
|
|
240
|
+
# Used when running with docker-compose.yml
|
|
241
|
+
COMPOSE_PROJECT_NAME=pal-mcp
|
|
242
|
+
|
|
243
|
+
# Timezone for Docker containers
|
|
244
|
+
# Ensures consistent time handling in containerized environments
|
|
245
|
+
TZ=UTC
|
|
246
|
+
|
|
247
|
+
# Maximum log file size (default: 10MB)
|
|
248
|
+
# Applicable when using file-based logging
|
|
249
|
+
LOG_MAX_SIZE=10MB
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Ensure shell scripts always have LF line endings on checkout
|
|
2
|
+
*.sh text eol=lf
|
|
3
|
+
*.bash text eol=lf
|
|
4
|
+
|
|
5
|
+
# Python files
|
|
6
|
+
*.py text eol=lf
|
|
7
|
+
|
|
8
|
+
# Shell script without extension
|
|
9
|
+
run-server text eol=lf
|
|
10
|
+
code_quality_checks text eol=lf
|
|
11
|
+
run_integration_tests text eol=lf
|
|
12
|
+
|
|
13
|
+
# General text files
|
|
14
|
+
*.md text
|
|
15
|
+
*.txt text
|
|
16
|
+
*.yml text
|
|
17
|
+
*.yaml text
|
|
18
|
+
*.json text
|
|
19
|
+
*.xml text
|
|
20
|
+
|
|
21
|
+
# Binary files
|
|
22
|
+
*.png binary
|
|
23
|
+
*.jpg binary
|
|
24
|
+
*.jpeg binary
|
|
25
|
+
*.gif binary
|
|
26
|
+
*.ico binary
|
|
27
|
+
*.pdf binary
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
name: 🐞 Bug Report
|
|
2
|
+
description: Create a report to help us improve
|
|
3
|
+
labels: ["bug", "needs-triage"]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
Thank you for taking the time to file a bug report! Please provide as much detail as possible to help us reproduce and fix the issue.
|
|
9
|
+
|
|
10
|
+
- type: input
|
|
11
|
+
id: version
|
|
12
|
+
attributes:
|
|
13
|
+
label: Project Version
|
|
14
|
+
description: "Which version are you using? (To see version: ./run-server.sh -v)"
|
|
15
|
+
placeholder: "e.g., 9.4.1"
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: description
|
|
21
|
+
attributes:
|
|
22
|
+
label: Bug Description
|
|
23
|
+
description: A clear and concise description of what the bug is.
|
|
24
|
+
placeholder: "When I run the `codereview` nothing happens"
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
|
|
28
|
+
- type: textarea
|
|
29
|
+
id: logs
|
|
30
|
+
attributes:
|
|
31
|
+
label: Relevant Log Output
|
|
32
|
+
description: "Please copy and paste any relevant log output. Logs are stored under the `logs` folder in the pal folder. You an also use `./run-server.sh -f` to see logs"
|
|
33
|
+
render: shell
|
|
34
|
+
|
|
35
|
+
- type: dropdown
|
|
36
|
+
id: environment
|
|
37
|
+
attributes:
|
|
38
|
+
label: Operating System
|
|
39
|
+
description: What operating system are you running the Docker client on?
|
|
40
|
+
options:
|
|
41
|
+
- macOS
|
|
42
|
+
- Windows
|
|
43
|
+
- Linux
|
|
44
|
+
validations:
|
|
45
|
+
required: true
|
|
46
|
+
|
|
47
|
+
- type: checkboxes
|
|
48
|
+
id: no-duplicate-issues
|
|
49
|
+
attributes:
|
|
50
|
+
label: Sanity Checks
|
|
51
|
+
description: "Before submitting, please confirm the following:"
|
|
52
|
+
options:
|
|
53
|
+
- label: I have searched the existing issues and this is not a duplicate.
|
|
54
|
+
required: true
|
|
55
|
+
- label: I am using `GEMINI_API_KEY`
|
|
56
|
+
required: true
|
|
57
|
+
- label: I am using `OPENAI_API_KEY`
|
|
58
|
+
required: true
|
|
59
|
+
- label: I am using `OPENROUTER_API_KEY`
|
|
60
|
+
required: true
|
|
61
|
+
- label: I am using `CUSTOM_API_URL`
|
|
62
|
+
required: true
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: 💬 General Discussion
|
|
4
|
+
url: https://github.com/BeehiveInnovations/pal-mcp-server/discussions
|
|
5
|
+
about: Ask questions, share ideas, or discuss usage patterns with the community
|
|
6
|
+
- name: 📚 Documentation
|
|
7
|
+
url: https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/README.md
|
|
8
|
+
about: Check the README for setup instructions and usage examples
|
|
9
|
+
- name: 🤝 Contributing Guide
|
|
10
|
+
url: https://github.com/BeehiveInnovations/pal-mcp-server/blob/main/CONTRIBUTING.md
|
|
11
|
+
about: Learn how to contribute to the project
|
|
12
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
name: 📖 Documentation Improvement
|
|
2
|
+
description: Report an issue or suggest an improvement for the documentation
|
|
3
|
+
labels: ["documentation", "good first issue"]
|
|
4
|
+
body:
|
|
5
|
+
- type: input
|
|
6
|
+
id: location
|
|
7
|
+
attributes:
|
|
8
|
+
label: Documentation Location
|
|
9
|
+
description: "Which file or page has the issue? (e.g., README.md, CONTRIBUTING.md, CLAUDE.md)"
|
|
10
|
+
placeholder: "e.g., README.md"
|
|
11
|
+
validations:
|
|
12
|
+
required: true
|
|
13
|
+
|
|
14
|
+
- type: dropdown
|
|
15
|
+
id: issue-type
|
|
16
|
+
attributes:
|
|
17
|
+
label: Type of Documentation Issue
|
|
18
|
+
description: What kind of documentation improvement is this?
|
|
19
|
+
options:
|
|
20
|
+
- Typo or grammar error
|
|
21
|
+
- Unclear or confusing explanation
|
|
22
|
+
- Outdated information
|
|
23
|
+
- Missing information
|
|
24
|
+
- Code example doesn't work
|
|
25
|
+
- Installation/setup instructions unclear
|
|
26
|
+
- Tool usage examples need improvement
|
|
27
|
+
- Other
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
|
|
31
|
+
- type: textarea
|
|
32
|
+
id: problem
|
|
33
|
+
attributes:
|
|
34
|
+
label: What is wrong with the documentation?
|
|
35
|
+
description: "Please describe the problem. Be specific about what is unclear, incorrect, or missing."
|
|
36
|
+
placeholder: "README is missing some details"
|
|
37
|
+
validations:
|
|
38
|
+
required: true
|
|
39
|
+
|
|
40
|
+
- type: textarea
|
|
41
|
+
id: suggestion
|
|
42
|
+
attributes:
|
|
43
|
+
label: Suggested Improvement
|
|
44
|
+
description: "How can we make it better? If you can, please provide the exact text or changes you'd like to see."
|
|
45
|
+
placeholder: "Please improve...."
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
- type: dropdown
|
|
49
|
+
id: audience
|
|
50
|
+
attributes:
|
|
51
|
+
label: Target Audience
|
|
52
|
+
description: Which audience would benefit most from this improvement?
|
|
53
|
+
options:
|
|
54
|
+
- New users (first-time setup)
|
|
55
|
+
- Developers (contributing to the project)
|
|
56
|
+
- Advanced users (complex workflows)
|
|
57
|
+
- All users
|
|
58
|
+
validations:
|
|
59
|
+
required: true
|
|
60
|
+
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
name: ✨ Feature Request
|
|
2
|
+
description: Suggest an idea for this project
|
|
3
|
+
labels: ["enhancement", "needs-triage"]
|
|
4
|
+
body:
|
|
5
|
+
- type: textarea
|
|
6
|
+
id: problem-description
|
|
7
|
+
attributes:
|
|
8
|
+
label: What problem is this feature trying to solve?
|
|
9
|
+
description: "A clear and concise description of the problem or user need. Why is this change needed?"
|
|
10
|
+
placeholder: "Currently, I can only use one Gemini tool at a time. I want to be able to chain multiple tools together (e.g., analyze -> codereview -> thinkdeep) in a single workflow."
|
|
11
|
+
validations:
|
|
12
|
+
required: true
|
|
13
|
+
|
|
14
|
+
- type: textarea
|
|
15
|
+
id: proposed-solution
|
|
16
|
+
attributes:
|
|
17
|
+
label: Describe the solution you'd like
|
|
18
|
+
description: A clear and concise description of what you want to happen. How would it work from a user's perspective?
|
|
19
|
+
placeholder: "I'd like to be able to specify a workflow like 'analyze src/ then codereview the findings then use thinkdeep to suggest improvements' in a single command or configuration."
|
|
20
|
+
validations:
|
|
21
|
+
required: true
|
|
22
|
+
|
|
23
|
+
- type: textarea
|
|
24
|
+
id: alternatives
|
|
25
|
+
attributes:
|
|
26
|
+
label: Describe alternatives you've considered
|
|
27
|
+
description: A clear and concise description of any alternative solutions or features you've considered.
|
|
28
|
+
placeholder: "I considered manually running each tool sequentially, but automatic workflow chaining would be more efficient and ensure context is preserved between steps."
|
|
29
|
+
|
|
30
|
+
- type: dropdown
|
|
31
|
+
id: feature-type
|
|
32
|
+
attributes:
|
|
33
|
+
label: Feature Category
|
|
34
|
+
description: What type of enhancement is this?
|
|
35
|
+
options:
|
|
36
|
+
- New tool (chat, codereview, debug, etc.)
|
|
37
|
+
- Workflow improvement
|
|
38
|
+
- Integration enhancement
|
|
39
|
+
- Performance optimization
|
|
40
|
+
- User experience improvement
|
|
41
|
+
- Documentation enhancement
|
|
42
|
+
- Other
|
|
43
|
+
validations:
|
|
44
|
+
required: true
|
|
45
|
+
|
|
46
|
+
- type: checkboxes
|
|
47
|
+
id: contribution
|
|
48
|
+
attributes:
|
|
49
|
+
label: Contribution
|
|
50
|
+
options:
|
|
51
|
+
- label: I am willing to submit a Pull Request to implement this feature.
|
|
52
|
+
|