Skip to content

Moving files into the correct locations#84

Merged
patniko merged 2 commits intogithub:mainfrom
aaronpowell:restructure
Jan 22, 2026
Merged

Moving files into the correct locations#84
patniko merged 2 commits intogithub:mainfrom
aaronpowell:restructure

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants