Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
113 changes: 113 additions & 0 deletions rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,25 @@ include = [
[lib]
name = "github_copilot_sdk"

# This manifest is both the root package and the workspace root. The standalone
# `github-copilot-shell-tasks` crate is a member so it builds/tests with the
# workspace and can be depended on by path above.
[workspace]
members = ["crates/github-copilot-shell-tasks"]
resolver = "3"
Comment on lines +33 to +35

[features]
default = ["bundled-cli"]
bundled-cli = ["dep:tar", "dep:flate2", "dep:zip"]
bundled-in-process = ["bundled-cli", "dep:libloading"]
derive = ["dep:schemars"]
test-support = []
# Shared `Windows.UI.Shell.Tasks` ("Forerunner" / taskbar presence) integration,
# re-exported as the `shell_tasks` module. Off by default to keep the base SDK
# lean. Enabling it pulls the standalone, build.rs-free
# `github-copilot-shell-tasks` crate (its `windows` / `windows-core` deps only
# activate on Windows), mirroring how `bundled-cli` gates its optional `zip`.
shell-tasks = ["dep:github-copilot-shell-tasks"]

# Build docs.rs documentation with all features so feature-gated APIs
# (e.g. `define_tool`, `schema_for`) appear and intra-doc links resolve.
Expand All @@ -59,6 +72,10 @@ getrandom = "0.2"
uuid = { version = "1", default-features = false, features = ["v4"] }
flate2 = { version = "1", optional = true }
tar = { version = "0.4", optional = true }
# Shared Windows.UI.Shell.Tasks integration, re-exported as `shell_tasks` behind
# the `shell-tasks` feature. Standalone + build.rs-free so enabling it does not
# perturb the base SDK; its Windows-only WinRT deps activate only on Windows.
github-copilot-shell-tasks = { version = "0.0.0-dev", path = "crates/github-copilot-shell-tasks", optional = true }
# LLM inference callback transport: idiomatic HTTP/WebSocket forwarding for the
# `CopilotRequestHandler`, plus base64/byte/stream plumbing for the chunk protocol.
base64 = "0.22"
Expand Down
34 changes: 34 additions & 0 deletions rust/crates/github-copilot-shell-tasks/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
[package]
name = "github-copilot-shell-tasks"
version = "0.0.0-dev"

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

is this right versioning scheme ? Can you look at other crates and check the recommended versioning

edition = "2024"
rust-version = "1.94.0"
description = "Shared Windows.UI.Shell.Tasks (Forerunner / taskbar presence) integration for GitHub Copilot, consumable by the desktop app and CLI without the full SDK client."
keywords = ["copilot", "github", "windows", "taskbar", "forerunner"]
categories = ["os::windows-apis", "api-bindings"]
repository = "https://github.com/github/copilot-sdk"
homepage = "https://github.com/github/copilot-sdk"
license = "MIT"

[lib]
name = "github_copilot_shell_tasks"

# Intentionally lightweight: no build.rs, and the only dependencies are the
# Windows-only WinRT crates. This lets a napi addon (CLI) or Tauri backend (app)
# depend on the shared integration without dragging in the `github-copilot-sdk`
# client crate (JSON-RPC, tokio, and its network-touching build.rs).
[dependencies]

# `Foundation` covers the projection's `DateTime`/`IReference`/`Uri`;
# `ApplicationModel` + `Management_Deployment` + `Win32_System_Com` back the
# sparse-identity registrar (`sparse`); `windows-core` provides the WinRT
# runtime. Declared under `cfg(windows)` so non-Windows builds pull neither
# crate and the whole crate compiles as a pure-`std` no-op.
[target.'cfg(windows)'.dependencies]
windows = { version = "0.62", features = [
"Foundation",
"ApplicationModel",
"Management_Deployment",
"Win32_System_Com",
] }
windows-core = "0.62"
Loading
Loading