Skip to content

Conversation

@aaronpowell
Copy link
Contributor

No description provided.

@aaronpowell aaronpowell requested a review from a team as a code owner January 22, 2026 02:22
Copilot AI review requested due to automatic review settings January 22, 2026 02:22
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR appears to reorganize/add the Python SDK packaging + tests (unit + E2E harness) and add NodeJS test/TS config, along with a new uv.lock for Python dependency locking.

Changes:

  • Add Python packaging metadata (pyproject.toml, setup.py, uv.lock) and test dependencies (test-requirements.txt).
  • Add a Python E2E test harness (proxy/context/helpers) and multiple E2E + unit tests.
  • Add/relocate core SDK Python modules (copilot/*) and NodeJS TypeScript/Vitest config.

Reviewed changes

Copilot reviewed 12 out of 166 changed files in this pull request and generated no comments.

Show a summary per file
File Description
python/uv.lock Adds uv lockfile capturing resolved Python dependencies.
python/test_jsonrpc.py Adds unit tests for JSON-RPC short-read handling and large payload parsing.
python/test_event_forward_compatibility.py Adds unit tests asserting unknown session event types map to UNKNOWN and malformed data raises.
python/test_client.py Adds tests for tool-call error handling and cli_url parsing.
python/test-requirements.txt Adds pip requirements for running Python tests.
python/setup.py Adds setuptools-based packaging entrypoint.
python/pyproject.toml Adds PEP 621 project metadata and pytest/ruff/ty configuration.
python/e2e/testharness/proxy.py Adds a replaying proxy process wrapper for E2E tests.
python/e2e/testharness/helper.py Adds E2E helper utilities for awaiting messages/events and file helpers.
python/e2e/testharness/context.py Adds E2E context to manage temp dirs, proxy config, and shared client.
python/e2e/testharness/init.py Exposes E2E harness exports (context/helpers/proxy).
python/e2e/test_tools_unit.py Adds unit tests for define_tool and _normalize_result.
python/e2e/test_tools.py Adds E2E tests validating built-in tools and custom tool calling.
python/e2e/test_skills.py Adds E2E tests for skills loading and disabling.
python/e2e/test_session.py Adds extensive E2E coverage for session lifecycle and session options.
python/e2e/test_permissions.py Adds E2E tests for permission callbacks (sync/async/deny/error cases).
python/e2e/test_mcp_and_agents.py Adds E2E tests for MCP server config and custom agent config on create/resume.
python/e2e/test_client.py Adds E2E tests for client start/stop over stdio and TCP, and cleanup failure behavior.
python/e2e/conftest.py Adds shared pytest fixtures for E2E tests and per-test proxy configuration.
python/e2e/init.py Marks e2e as a package for Python tests.
python/copilot/types.py Adds/defines SDK public types, including Tool/Session configs, MCP, agents, permissions.
python/copilot/tools.py Adds define_tool decorator/function and result normalization.
python/copilot/session.py Adds session implementation (event subscription, send/send_and_wait, tools, permissions).
python/copilot/sdk_protocol_version.py Adds SDK protocol version constant + getter.
python/copilot/py.typed Marks package as typed (PEP 561).
python/copilot/generated/init.py Introduces generated package init file.
python/copilot/init.py Exposes the public Python SDK surface area.
nodejs/vitest.config.ts Adds Vitest configuration for NodeJS tests.
nodejs/tsconfig.json Adds TypeScript compiler configuration for NodeJS.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@patniko patniko enabled auto-merge January 22, 2026 03:03
@patniko patniko added this pull request to the merge queue Jan 22, 2026
Merged via the queue into github:main with commit 2005d79 Jan 22, 2026
0 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants