diff --git a/Cargo.lock b/Cargo.lock index cabebd587..5236a52e1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,7 +40,7 @@ dependencies = [ "async-trait", "futures", "lru", - "rand", + "rand 0.8.6", "schemars 1.2.1", "serde", "serde_json", @@ -104,6 +104,43 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04" +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anthropic-agent-sdk" +version = "0.2.75" +dependencies = [ + "anyhow", + "async-stream", + "async-trait", + "base64", + "chrono", + "dirs 6.0.0", + "futures", + "reqwest", + "rmcp", + "schemars 1.2.1", + "serde", + "serde_json", + "sha2", + "tempfile", + "thiserror 2.0.18", + "tokio", + "tokio-test", + "tokio-util", + "tracing", + "tracing-subscriber", + "typed-builder", + "which 8.0.2", +] + [[package]] name = "anyhow" version = "1.0.102" @@ -139,7 +176,7 @@ dependencies = [ "enumflags2", "futures-channel", "futures-util", - "rand", + "rand 0.8.6", "serde", "serde_repr", "url", @@ -282,6 +319,28 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "async-stream" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" +dependencies = [ + "async-stream-impl", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-stream-impl" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "async-task" version = "4.7.1" @@ -481,6 +540,20 @@ dependencies = [ "libc", ] +[[package]] +name = "chrono" +version = "0.4.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" +dependencies = [ + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "wasm-bindgen", + "windows-link", +] + [[package]] name = "clang-sys" version = "1.8.1" @@ -521,6 +594,26 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "copilot-sdk" +version = "0.1.17" +dependencies = [ + "chrono", + "futures", + "pretty_assertions", + "rand 0.8.6", + "schemars 0.8.22", + "serde", + "serde_json", + "serde_yaml", + "tempfile", + "thiserror 2.0.18", + "tokio", + "tokio-test", + "tracing", + "which 7.0.3", +] + [[package]] name = "core-foundation" version = "0.9.4" @@ -620,12 +713,52 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" +[[package]] +name = "darling" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" +dependencies = [ + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" +dependencies = [ + "darling_core", + "quote", + "syn", +] + [[package]] name = "deunicode" version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "abd57806937c9cc163efc8ea3910e00a62e2aeb0b8119f1793a978088f8f6b04" +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + [[package]] name = "digest" version = "0.10.7" @@ -642,7 +775,16 @@ version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", +] + +[[package]] +name = "dirs" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" +dependencies = [ + "dirs-sys 0.5.0", ] [[package]] @@ -653,10 +795,22 @@ checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" dependencies = [ "libc", "option-ext", - "redox_users", + "redox_users 0.4.6", "windows-sys 0.48.0", ] +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users 0.5.2", + "windows-sys 0.61.2", +] + [[package]] name = "dispatch" version = "0.2.0" @@ -755,6 +909,12 @@ dependencies = [ "syn", ] +[[package]] +name = "env_home" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7f84e12ccf0a7ddc17a6c41c93326024c42920d7ee630d04950e6926645c0fe" + [[package]] name = "equivalent" version = "1.0.2" @@ -1010,8 +1170,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", ] [[package]] @@ -1021,9 +1183,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", + "js-sys", "libc", "r-efi 5.3.0", "wasip2", + "wasm-bindgen", ] [[package]] @@ -1210,14 +1374,135 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] -name = "icu_collections" -version = "2.2.0" +name = "http" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c" +checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" +dependencies = [ + "bytes", + "itoa", +] + +[[package]] +name = "http-body" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" +dependencies = [ + "bytes", + "futures-core", + "http", + "http-body", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" + +[[package]] +name = "hyper" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca" +dependencies = [ + "atomic-waker", + "bytes", + "futures-channel", + "futures-core", + "http", + "http-body", + "httparse", + "itoa", + "pin-project-lite", + "smallvec", + "tokio", + "want", +] + +[[package]] +name = "hyper-rustls" +version = "0.27.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" +dependencies = [ + "http", + "hyper", + "hyper-util", + "rustls", + "tokio", + "tokio-rustls", + "tower-service", + "webpki-roots", +] + +[[package]] +name = "hyper-util" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-util", + "http", + "http-body", + "hyper", + "ipnet", + "libc", + "percent-encoding", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e31bc9ad994ba00e440a8aa5c9ef0ec67d5cb5e5cb0cc7f8b744a35b389cc470" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "log", + "wasm-bindgen", + "windows-core 0.62.2", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "icu_collections" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", - "utf8_iter", "yoke", "zerofrom", "zerovec", @@ -1225,9 +1510,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -1238,9 +1523,9 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ "icu_collections", "icu_normalizer_data", @@ -1252,15 +1537,15 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de" +checksum = "020bfc02fe870ec3a66d93e677ccca0562506e5872c650f893269e08615d74ec" dependencies = [ "icu_collections", "icu_locale_core", @@ -1272,15 +1557,15 @@ dependencies = [ [[package]] name = "icu_properties_data" -version = "2.2.0" +version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14" +checksum = "616c294cf8d725c6afcd8f55abc17c56464ef6211f9ed59cccffe534129c77af" [[package]] name = "icu_provider" -version = "2.2.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", @@ -1297,6 +1582,12 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954" +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "1.1.0" @@ -1310,9 +1601,9 @@ dependencies = [ [[package]] name = "idna_adapter" -version = "1.2.2" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +checksum = "3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344" dependencies = [ "icu_normalizer", "icu_properties", @@ -1341,6 +1632,12 @@ dependencies = [ "serde_core", ] +[[package]] +name = "ipnet" +version = "2.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98f6fed1fde3f8c21bc40a1abb88dd75e67924f9cffc3ef95607bad8017f8e2" + [[package]] name = "itertools" version = "0.13.0" @@ -1574,6 +1871,15 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0" +[[package]] +name = "lock_api" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" +dependencies = [ + "scopeguard", +] + [[package]] name = "log" version = "0.4.29" @@ -1589,6 +1895,12 @@ dependencies = [ "hashbrown 0.17.0", ] +[[package]] +name = "lru-slab" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" + [[package]] name = "malloc_buf" version = "0.0.6" @@ -1701,6 +2013,18 @@ dependencies = [ "memoffset", ] +[[package]] +name = "nix" +version = "0.31.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf20d2fde8ff38632c426f1165ed7436270b44f199fc55284c38276f9db47c3d" +dependencies = [ + "bitflags 2.11.1", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -2052,7 +2376,7 @@ version = "0.1.0" dependencies = [ "agent", "async-trait", - "dirs", + "dirs 5.0.1", "futures", "glam", "jian-core", @@ -2160,6 +2484,35 @@ version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" +[[package]] +name = "parking_lot" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.18", + "smallvec", + "windows-link", +] + +[[package]] +name = "pastey" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5a797f0e07bdf071d15742978fc3128ec6c22891c31a3a931513263904c982a" + [[package]] name = "pen-codegen" version = "0.1.0" @@ -2295,6 +2648,16 @@ dependencies = [ "zerocopy", ] +[[package]] +name = "pretty_assertions" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" +dependencies = [ + "diff", + "yansi", +] + [[package]] name = "prettyplease" version = "0.2.37" @@ -2323,6 +2686,20 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "process-wrap" +version = "9.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e842efad9119158434d193c6682e2ebee4b44d6ad801d7b349623b3f57cdf55" +dependencies = [ + "futures", + "indexmap 2.14.0", + "nix 0.31.3", + "tokio", + "tracing", + "windows 0.62.2", +] + [[package]] name = "quick-xml" version = "0.39.3" @@ -2332,6 +2709,61 @@ dependencies = [ "memchr", ] +[[package]] +name = "quinn" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20" +dependencies = [ + "bytes", + "cfg_aliases", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "socket2", + "thiserror 2.0.18", + "tokio", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-proto" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "434b42fec591c96ef50e21e886936e66d3cc3f737104fdb9b737c40ffb94c098" +dependencies = [ + "bytes", + "getrandom 0.3.4", + "lru-slab", + "rand 0.9.4", + "ring", + "rustc-hash", + "rustls", + "rustls-pki-types", + "slab", + "thiserror 2.0.18", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd" +dependencies = [ + "cfg_aliases", + "libc", + "once_cell", + "socket2", + "tracing", + "windows-sys 0.59.0", +] + [[package]] name = "quote" version = "1.0.45" @@ -2360,8 +2792,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", ] [[package]] @@ -2371,7 +2813,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", ] [[package]] @@ -2383,6 +2835,15 @@ dependencies = [ "getrandom 0.2.17", ] +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -2418,6 +2879,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "redox_syscall" +version = "0.5.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" +dependencies = [ + "bitflags 2.11.1", +] + [[package]] name = "redox_syscall" version = "0.7.4" @@ -2438,6 +2908,17 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom 0.2.17", + "libredox", + "thiserror 2.0.18", +] + [[package]] name = "ref-cast" version = "1.0.25" @@ -2487,6 +2968,47 @@ version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a" +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64", + "bytes", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tokio-util", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "wasm-streams", + "web-sys", + "webpki-roots", +] + [[package]] name = "rfd" version = "0.14.1" @@ -2510,6 +3032,65 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "ring" +version = "0.17.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" +dependencies = [ + "cc", + "cfg-if", + "getrandom 0.2.17", + "libc", + "untrusted", + "windows-sys 0.52.0", +] + +[[package]] +name = "rmcp" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528d42f8176e6e5e71ea69182b17d1d0a19a6b3b894b564678b74cd7cab13cfa" +dependencies = [ + "async-trait", + "base64", + "bytes", + "chrono", + "futures", + "http", + "http-body", + "http-body-util", + "pastey", + "pin-project-lite", + "process-wrap", + "rand 0.9.4", + "rmcp-macros", + "schemars 1.2.1", + "serde", + "serde_json", + "sse-stream", + "thiserror 2.0.18", + "tokio", + "tokio-stream", + "tokio-util", + "tower-service", + "tracing", + "uuid", +] + +[[package]] +name = "rmcp-macros" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3f81daaa494eb8e985c9462f7d6ce1ab05e5299f48aafd76cdd3d8b060e6f59" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "serde_json", + "syn", +] + [[package]] name = "rstar" version = "0.12.2" @@ -2562,12 +3143,53 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "rustls" +version = "0.23.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef86cd5876211988985292b91c96a8f2d298df24e75989a43a3c73f2d4d8168b" +dependencies = [ + "once_cell", + "ring", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + +[[package]] +name = "rustls-pki-types" +version = "1.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30a7197ae7eb376e574fe940d068c30fe0462554a3ddbe4eca7838e049c937a9" +dependencies = [ + "web-time", + "zeroize", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "rustversion" version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" +[[package]] +name = "ryu" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" + [[package]] name = "same-file" version = "1.0.6" @@ -2596,6 +3218,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ + "chrono", "dyn-clone", "ref-cast", "schemars_derive 1.2.1", @@ -2733,6 +3356,31 @@ dependencies = [ "serde_core", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_yaml" +version = "0.9.34+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" +dependencies = [ + "indexmap 2.14.0", + "itoa", + "ryu", + "serde", + "unsafe-libyaml", +] + [[package]] name = "sha1" version = "0.10.6" @@ -2744,6 +3392,17 @@ dependencies = [ "digest", ] +[[package]] +name = "sha2" +version = "0.10.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + [[package]] name = "sharded-slab" version = "0.1.7" @@ -2879,6 +3538,19 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "sse-stream" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3962b63f038885f15bce2c6e02c0e7925c072f1ac86bb60fd44c5c6b762fb72" +dependencies = [ + "bytes", + "futures-util", + "http-body", + "http-body-util", + "pin-project-lite", +] + [[package]] name = "stable_deref_trait" version = "1.2.1" @@ -2897,6 +3569,18 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + [[package]] name = "syn" version = "2.0.117" @@ -2908,6 +3592,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" +dependencies = [ + "futures-core", +] + [[package]] name = "synstructure" version = "0.13.2" @@ -2931,7 +3624,7 @@ dependencies = [ "ntapi", "once_cell", "rayon", - "windows", + "windows 0.52.0", ] [[package]] @@ -2965,7 +3658,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", "rustix 1.1.4", "windows-sys 0.61.2", @@ -3055,6 +3748,21 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tinyvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e61e67053d25a4e82c844e8424039d9745781b3fc4f32b8d55ed50f5f667ef3" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + [[package]] name = "tokio" version = "1.52.3" @@ -3064,6 +3772,7 @@ dependencies = [ "bytes", "libc", "mio", + "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", @@ -3082,6 +3791,38 @@ dependencies = [ "syn", ] +[[package]] +name = "tokio-rustls" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" +dependencies = [ + "rustls", + "tokio", +] + +[[package]] +name = "tokio-stream" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-test" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6d24790a10a7af737693a3e8f1d03faef7e6ca0cc99aae5066f533766de545" +dependencies = [ + "futures-core", + "tokio", + "tokio-stream", +] + [[package]] name = "tokio-util" version = "0.7.18" @@ -3147,6 +3888,51 @@ version = "1.1.1+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db" +[[package]] +name = "tower" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" +dependencies = [ + "futures-core", + "futures-util", + "pin-project-lite", + "sync_wrapper", + "tokio", + "tower-layer", + "tower-service", +] + +[[package]] +name = "tower-http" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68d6fdd9f81c2819c9a8b0e0cd91660e7746a8e6ea2ba7c6b2b057985f6bcb51" +dependencies = [ + "bitflags 2.11.1", + "bytes", + "futures-util", + "http", + "http-body", + "pin-project-lite", + "tower", + "tower-layer", + "tower-service", + "url", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + +[[package]] +name = "tower-service" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" + [[package]] name = "tracing" version = "0.1.44" @@ -3229,12 +4015,38 @@ dependencies = [ "syn", ] +[[package]] +name = "try-lock" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" + [[package]] name = "ttf-parser" version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" +[[package]] +name = "typed-builder" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce63bcaf7e9806c206f7d7b9c1f38e0dce8bb165a80af0898161058b19248534" +dependencies = [ + "typed-builder-macro", +] + +[[package]] +name = "typed-builder-macro" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60d8d828da2a3d759d3519cdf29a5bac49c77d039ad36d0782edadbf9cd5415b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "typenum" version = "1.20.0" @@ -3270,6 +4082,18 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "unsafe-libyaml" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" + +[[package]] +name = "untrusted" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" + [[package]] name = "url" version = "2.5.8" @@ -3329,6 +4153,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "want" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" +dependencies = [ + "try-lock", +] + [[package]] name = "wasi" version = "0.11.1+wasi-snapshot-preview1" @@ -3439,6 +4272,19 @@ dependencies = [ "wasmparser", ] +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "wasmparser" version = "0.244.0" @@ -3580,6 +4426,36 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webpki-roots" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52f5ee44c96cf55f1b349600768e3ece3a8f26010c05265ab73f945bb1a2eb9d" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "which" +version = "7.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d643ce3fd3e5b54854602a080f34fb10ab75e0b813ee32d00ca2b44fa74762" +dependencies = [ + "either", + "env_home", + "rustix 1.1.4", + "winsafe", +] + +[[package]] +name = "which" +version = "8.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81995fafaaaf6ae47a7d0cc83c67caf92aeb7e5331650ae6ff856f7c0c60c459" +dependencies = [ + "libc", +] + [[package]] name = "winapi" version = "0.3.9" @@ -3617,10 +4493,31 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ - "windows-core", + "windows-core 0.52.0", "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +dependencies = [ + "windows-collections", + "windows-core 0.62.2", + "windows-future", + "windows-numerics", +] + +[[package]] +name = "windows-collections" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +dependencies = [ + "windows-core 0.62.2", +] + [[package]] name = "windows-core" version = "0.52.0" @@ -3630,12 +4527,86 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" +dependencies = [ + "windows-implement", + "windows-interface", + "windows-link", + "windows-result", + "windows-strings", +] + +[[package]] +name = "windows-future" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +dependencies = [ + "windows-core 0.62.2", + "windows-link", + "windows-threading", +] + +[[package]] +name = "windows-implement" +version = "0.60.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "windows-interface" +version = "0.59.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "windows-link" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" +[[package]] +name = "windows-numerics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +dependencies = [ + "windows-core 0.62.2", + "windows-link", +] + +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link", +] + +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -3703,6 +4674,15 @@ dependencies = [ "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows-threading" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" +dependencies = [ + "windows-link", +] + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -3854,6 +4834,12 @@ dependencies = [ "memchr", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "wit-bindgen" version = "0.51.0" @@ -4037,6 +5023,12 @@ version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" +[[package]] +name = "yansi" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" + [[package]] name = "yoke" version = "0.8.2" @@ -4082,9 +5074,9 @@ dependencies = [ "futures-sink", "futures-util", "hex", - "nix", + "nix 0.29.0", "ordered-stream", - "rand", + "rand 0.8.6", "serde", "serde_repr", "sha1", @@ -4163,6 +5155,12 @@ dependencies = [ "synstructure", ] +[[package]] +name = "zeroize" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" + [[package]] name = "zerotrie" version = "0.2.4" diff --git a/Cargo.toml b/Cargo.toml index 386bc554c..9c4a4c13c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,13 +8,6 @@ exclude = [ "vendor/agent", "vendor/jian", "vendor/skia-safe-op", - # Vendored Claude Code SDK from bartolli/anthropic-agent-sdk + the - # community Copilot SDK from copilot-community-sdk/copilot-sdk-rust. - # Both stay out of OP's `--workspace` build because they ship `edition - # = "2024"` (OP root pins 2021) and their test/dev dep sets diverge - # from ours. openpencil-desktop consumes them via direct path deps. - "vendor/anthropic-agent-sdk", - "vendor/copilot-sdk-rust", "node_modules", ] diff --git a/vendor/anthropic-agent-sdk/.cargo/config.toml b/crates/anthropic-agent-sdk/.cargo/config.toml similarity index 100% rename from vendor/anthropic-agent-sdk/.cargo/config.toml rename to crates/anthropic-agent-sdk/.cargo/config.toml diff --git a/vendor/anthropic-agent-sdk/.codannaignore b/crates/anthropic-agent-sdk/.codannaignore similarity index 100% rename from vendor/anthropic-agent-sdk/.codannaignore rename to crates/anthropic-agent-sdk/.codannaignore diff --git a/vendor/anthropic-agent-sdk/.gitignore b/crates/anthropic-agent-sdk/.gitignore similarity index 100% rename from vendor/anthropic-agent-sdk/.gitignore rename to crates/anthropic-agent-sdk/.gitignore diff --git a/vendor/anthropic-agent-sdk/CHANGELOG.md b/crates/anthropic-agent-sdk/CHANGELOG.md similarity index 100% rename from vendor/anthropic-agent-sdk/CHANGELOG.md rename to crates/anthropic-agent-sdk/CHANGELOG.md diff --git a/vendor/anthropic-agent-sdk/Cargo.lock b/crates/anthropic-agent-sdk/Cargo.lock similarity index 100% rename from vendor/anthropic-agent-sdk/Cargo.lock rename to crates/anthropic-agent-sdk/Cargo.lock diff --git a/vendor/anthropic-agent-sdk/Cargo.toml b/crates/anthropic-agent-sdk/Cargo.toml similarity index 90% rename from vendor/anthropic-agent-sdk/Cargo.toml rename to crates/anthropic-agent-sdk/Cargo.toml index 1e7859ab0..8b14bd621 100644 --- a/vendor/anthropic-agent-sdk/Cargo.toml +++ b/crates/anthropic-agent-sdk/Cargo.toml @@ -40,7 +40,15 @@ serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Official Anthropic MCP SDK (optional - for SDK MCP servers) -rmcp = { version = "0.12.0", optional = true, features = ["server", "client", "transport-io", "transport-child-process", "transport-streamable-http-server", "transport-worker", "macros"] } +rmcp = { version = "0.12.0", optional = true, features = [ + "server", + "client", + "transport-io", + "transport-child-process", + "transport-streamable-http-server", + "transport-worker", + "macros", +] } # Error handling thiserror = "2.0.17" @@ -70,7 +78,11 @@ tracing = "0.1.44" schemars = { version = "1.1.0", optional = true } sha2 = "0.10.9" base64 = "0.22.1" -reqwest = { version = "0.12.28", default-features = false, features = ["rustls-tls", "json", "stream"] } +reqwest = { version = "0.12.28", default-features = false, features = [ + "rustls-tls", + "json", + "stream", +] } [dev-dependencies] anyhow = "1.0" diff --git a/vendor/anthropic-agent-sdk/LICENSE b/crates/anthropic-agent-sdk/LICENSE similarity index 100% rename from vendor/anthropic-agent-sdk/LICENSE rename to crates/anthropic-agent-sdk/LICENSE diff --git a/vendor/anthropic-agent-sdk/README.md b/crates/anthropic-agent-sdk/README.md similarity index 100% rename from vendor/anthropic-agent-sdk/README.md rename to crates/anthropic-agent-sdk/README.md diff --git a/vendor/anthropic-agent-sdk/README_API.md b/crates/anthropic-agent-sdk/README_API.md similarity index 100% rename from vendor/anthropic-agent-sdk/README_API.md rename to crates/anthropic-agent-sdk/README_API.md diff --git a/vendor/anthropic-agent-sdk/SECURITY.md b/crates/anthropic-agent-sdk/SECURITY.md similarity index 100% rename from vendor/anthropic-agent-sdk/SECURITY.md rename to crates/anthropic-agent-sdk/SECURITY.md diff --git a/vendor/anthropic-agent-sdk/src/auth/mod.rs b/crates/anthropic-agent-sdk/src/auth/mod.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/auth/mod.rs rename to crates/anthropic-agent-sdk/src/auth/mod.rs diff --git a/vendor/anthropic-agent-sdk/src/auth/oauth.rs b/crates/anthropic-agent-sdk/src/auth/oauth.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/auth/oauth.rs rename to crates/anthropic-agent-sdk/src/auth/oauth.rs diff --git a/vendor/anthropic-agent-sdk/src/auth/token.rs b/crates/anthropic-agent-sdk/src/auth/token.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/auth/token.rs rename to crates/anthropic-agent-sdk/src/auth/token.rs diff --git a/vendor/anthropic-agent-sdk/src/callbacks.rs b/crates/anthropic-agent-sdk/src/callbacks.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/callbacks.rs rename to crates/anthropic-agent-sdk/src/callbacks.rs diff --git a/vendor/anthropic-agent-sdk/src/client.rs b/crates/anthropic-agent-sdk/src/client.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/client.rs rename to crates/anthropic-agent-sdk/src/client.rs diff --git a/vendor/anthropic-agent-sdk/src/control/mod.rs b/crates/anthropic-agent-sdk/src/control/mod.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/control/mod.rs rename to crates/anthropic-agent-sdk/src/control/mod.rs diff --git a/vendor/anthropic-agent-sdk/src/control/protocol.rs b/crates/anthropic-agent-sdk/src/control/protocol.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/control/protocol.rs rename to crates/anthropic-agent-sdk/src/control/protocol.rs diff --git a/vendor/anthropic-agent-sdk/src/error.rs b/crates/anthropic-agent-sdk/src/error.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/error.rs rename to crates/anthropic-agent-sdk/src/error.rs diff --git a/vendor/anthropic-agent-sdk/src/hooks.rs b/crates/anthropic-agent-sdk/src/hooks.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/hooks.rs rename to crates/anthropic-agent-sdk/src/hooks.rs diff --git a/vendor/anthropic-agent-sdk/src/lib.rs b/crates/anthropic-agent-sdk/src/lib.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/lib.rs rename to crates/anthropic-agent-sdk/src/lib.rs diff --git a/vendor/anthropic-agent-sdk/src/mcp/mod.rs b/crates/anthropic-agent-sdk/src/mcp/mod.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/mcp/mod.rs rename to crates/anthropic-agent-sdk/src/mcp/mod.rs diff --git a/vendor/anthropic-agent-sdk/src/mcp/sdk.rs b/crates/anthropic-agent-sdk/src/mcp/sdk.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/mcp/sdk.rs rename to crates/anthropic-agent-sdk/src/mcp/sdk.rs diff --git a/vendor/anthropic-agent-sdk/src/message/mod.rs b/crates/anthropic-agent-sdk/src/message/mod.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/message/mod.rs rename to crates/anthropic-agent-sdk/src/message/mod.rs diff --git a/vendor/anthropic-agent-sdk/src/message/parser.rs b/crates/anthropic-agent-sdk/src/message/parser.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/message/parser.rs rename to crates/anthropic-agent-sdk/src/message/parser.rs diff --git a/vendor/anthropic-agent-sdk/src/permissions.rs b/crates/anthropic-agent-sdk/src/permissions.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/permissions.rs rename to crates/anthropic-agent-sdk/src/permissions.rs diff --git a/vendor/anthropic-agent-sdk/src/query.rs b/crates/anthropic-agent-sdk/src/query.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/query.rs rename to crates/anthropic-agent-sdk/src/query.rs diff --git a/vendor/anthropic-agent-sdk/src/transport/mod.rs b/crates/anthropic-agent-sdk/src/transport/mod.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/transport/mod.rs rename to crates/anthropic-agent-sdk/src/transport/mod.rs diff --git a/vendor/anthropic-agent-sdk/src/transport/subprocess.rs b/crates/anthropic-agent-sdk/src/transport/subprocess.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/transport/subprocess.rs rename to crates/anthropic-agent-sdk/src/transport/subprocess.rs diff --git a/vendor/anthropic-agent-sdk/src/types/hooks.rs b/crates/anthropic-agent-sdk/src/types/hooks.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/hooks.rs rename to crates/anthropic-agent-sdk/src/types/hooks.rs diff --git a/vendor/anthropic-agent-sdk/src/types/identifiers.rs b/crates/anthropic-agent-sdk/src/types/identifiers.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/identifiers.rs rename to crates/anthropic-agent-sdk/src/types/identifiers.rs diff --git a/vendor/anthropic-agent-sdk/src/types/introspection.rs b/crates/anthropic-agent-sdk/src/types/introspection.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/introspection.rs rename to crates/anthropic-agent-sdk/src/types/introspection.rs diff --git a/vendor/anthropic-agent-sdk/src/types/mcp.rs b/crates/anthropic-agent-sdk/src/types/mcp.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/mcp.rs rename to crates/anthropic-agent-sdk/src/types/mcp.rs diff --git a/vendor/anthropic-agent-sdk/src/types/messages.rs b/crates/anthropic-agent-sdk/src/types/messages.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/messages.rs rename to crates/anthropic-agent-sdk/src/types/messages.rs diff --git a/vendor/anthropic-agent-sdk/src/types/mod.rs b/crates/anthropic-agent-sdk/src/types/mod.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/mod.rs rename to crates/anthropic-agent-sdk/src/types/mod.rs diff --git a/vendor/anthropic-agent-sdk/src/types/options.rs b/crates/anthropic-agent-sdk/src/types/options.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/options.rs rename to crates/anthropic-agent-sdk/src/types/options.rs diff --git a/vendor/anthropic-agent-sdk/src/types/permissions.rs b/crates/anthropic-agent-sdk/src/types/permissions.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/permissions.rs rename to crates/anthropic-agent-sdk/src/types/permissions.rs diff --git a/vendor/anthropic-agent-sdk/src/types/usage.rs b/crates/anthropic-agent-sdk/src/types/usage.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/types/usage.rs rename to crates/anthropic-agent-sdk/src/types/usage.rs diff --git a/vendor/anthropic-agent-sdk/src/utils.rs b/crates/anthropic-agent-sdk/src/utils.rs similarity index 100% rename from vendor/anthropic-agent-sdk/src/utils.rs rename to crates/anthropic-agent-sdk/src/utils.rs diff --git a/vendor/copilot-sdk-rust/.gitattributes b/crates/copilot-sdk/.gitattributes similarity index 100% rename from vendor/copilot-sdk-rust/.gitattributes rename to crates/copilot-sdk/.gitattributes diff --git a/vendor/copilot-sdk-rust/.githooks/pre-commit b/crates/copilot-sdk/.githooks/pre-commit similarity index 100% rename from vendor/copilot-sdk-rust/.githooks/pre-commit rename to crates/copilot-sdk/.githooks/pre-commit diff --git a/vendor/copilot-sdk-rust/.github/dependabot.yml b/crates/copilot-sdk/.github/dependabot.yml similarity index 100% rename from vendor/copilot-sdk-rust/.github/dependabot.yml rename to crates/copilot-sdk/.github/dependabot.yml diff --git a/vendor/copilot-sdk-rust/.github/workflows/ci.yml b/crates/copilot-sdk/.github/workflows/ci.yml similarity index 100% rename from vendor/copilot-sdk-rust/.github/workflows/ci.yml rename to crates/copilot-sdk/.github/workflows/ci.yml diff --git a/vendor/copilot-sdk-rust/.gitignore b/crates/copilot-sdk/.gitignore similarity index 100% rename from vendor/copilot-sdk-rust/.gitignore rename to crates/copilot-sdk/.gitignore diff --git a/vendor/copilot-sdk-rust/AGENTS.md b/crates/copilot-sdk/AGENTS.md similarity index 100% rename from vendor/copilot-sdk-rust/AGENTS.md rename to crates/copilot-sdk/AGENTS.md diff --git a/crates/copilot-sdk/Cargo.toml b/crates/copilot-sdk/Cargo.toml new file mode 100644 index 000000000..086fb46ab --- /dev/null +++ b/crates/copilot-sdk/Cargo.toml @@ -0,0 +1,59 @@ +[package] +name = "copilot-sdk" +version = "0.1.17" +edition = "2021" +rust-version = "1.85" +license = "MIT" +description = "Rust SDK for GitHub Copilot CLI" +repository = "https://github.com/github-community/copilot-sdk-rust" +documentation = "https://docs.rs/copilot-sdk" +readme = "README.md" +keywords = ["copilot", "github", "ai", "sdk"] +categories = ["api-bindings", "asynchronous"] + +[dependencies] +# Async runtime +tokio = { version = "1", features = [ + "rt-multi-thread", + "net", + "process", + "sync", + "io-util", + "macros", + "time", +] } + +# JSON serialization +serde = { version = "1", features = ["derive"] } +serde_json = "1" + +# Error handling +thiserror = "2" + +# DateTime handling +chrono = { version = "0.4", features = ["serde"] } + +# Logging +tracing = "0.1" + +# Executable finding +which = "7" + +schemars = { version = "0.8", optional = true, features = ["derive"] } + +[dev-dependencies] +tokio-test = "0.4" +pretty_assertions = "1" +tempfile = "3" +futures = "0.3" +rand = "0.8" +serde_yaml = "0.9" + +[features] +default = [] +e2e = [] # Enable E2E tests that require real Copilot CLI +snapshots = [] # Enable snapshot-based conformance tests +schemars = ["dep:schemars"] # Derive tool JSON schemas from Rust types + +[package.metadata.docs.rs] +rustdoc-args = ["--cfg", "docsrs"] diff --git a/vendor/copilot-sdk-rust/LICENSE b/crates/copilot-sdk/LICENSE similarity index 100% rename from vendor/copilot-sdk-rust/LICENSE rename to crates/copilot-sdk/LICENSE diff --git a/vendor/copilot-sdk-rust/README.md b/crates/copilot-sdk/README.md similarity index 100% rename from vendor/copilot-sdk-rust/README.md rename to crates/copilot-sdk/README.md diff --git a/vendor/copilot-sdk-rust/rust-toolchain.toml b/crates/copilot-sdk/rust-toolchain.toml similarity index 100% rename from vendor/copilot-sdk-rust/rust-toolchain.toml rename to crates/copilot-sdk/rust-toolchain.toml diff --git a/vendor/copilot-sdk-rust/src/client.rs b/crates/copilot-sdk/src/client.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/client.rs rename to crates/copilot-sdk/src/client.rs diff --git a/vendor/copilot-sdk-rust/src/error.rs b/crates/copilot-sdk/src/error.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/error.rs rename to crates/copilot-sdk/src/error.rs diff --git a/vendor/copilot-sdk-rust/src/events.rs b/crates/copilot-sdk/src/events.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/events.rs rename to crates/copilot-sdk/src/events.rs diff --git a/vendor/copilot-sdk-rust/src/jsonrpc.rs b/crates/copilot-sdk/src/jsonrpc.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/jsonrpc.rs rename to crates/copilot-sdk/src/jsonrpc.rs diff --git a/vendor/copilot-sdk-rust/src/lib.rs b/crates/copilot-sdk/src/lib.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/lib.rs rename to crates/copilot-sdk/src/lib.rs diff --git a/vendor/copilot-sdk-rust/src/process.rs b/crates/copilot-sdk/src/process.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/process.rs rename to crates/copilot-sdk/src/process.rs diff --git a/vendor/copilot-sdk-rust/src/session.rs b/crates/copilot-sdk/src/session.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/session.rs rename to crates/copilot-sdk/src/session.rs diff --git a/vendor/copilot-sdk-rust/src/tools.rs b/crates/copilot-sdk/src/tools.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/tools.rs rename to crates/copilot-sdk/src/tools.rs diff --git a/vendor/copilot-sdk-rust/src/transport.rs b/crates/copilot-sdk/src/transport.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/transport.rs rename to crates/copilot-sdk/src/transport.rs diff --git a/vendor/copilot-sdk-rust/src/types.rs b/crates/copilot-sdk/src/types.rs similarity index 100% rename from vendor/copilot-sdk-rust/src/types.rs rename to crates/copilot-sdk/src/types.rs diff --git a/crates/openpencil-desktop/Cargo.toml b/crates/openpencil-desktop/Cargo.toml index 8372a6a85..a42cd5ac3 100644 --- a/crates/openpencil-desktop/Cargo.toml +++ b/crates/openpencil-desktop/Cargo.toml @@ -87,5 +87,7 @@ tokio = { version = "1", default-features = false, features = [ "sync", "io-util", "process", + "net", + "time", ] } futures = { version = "0.3", default-features = false, features = ["std"] } diff --git a/vendor/copilot-sdk-rust/Cargo.toml b/vendor/copilot-sdk-rust/Cargo.toml deleted file mode 100644 index 772e82ebc..000000000 --- a/vendor/copilot-sdk-rust/Cargo.toml +++ /dev/null @@ -1,147 +0,0 @@ -[package] -name = "copilot-sdk" -version = "0.1.17" -edition = "2021" -rust-version = "1.85" -license = "MIT" -description = "Rust SDK for GitHub Copilot CLI" -repository = "https://github.com/github-community/copilot-sdk-rust" -documentation = "https://docs.rs/copilot-sdk" -readme = "README.md" -keywords = ["copilot", "github", "ai", "sdk"] -categories = ["api-bindings", "asynchronous"] - -[dependencies] -# Async runtime -tokio = { version = "1", features = [ - "rt-multi-thread", - "net", - "process", - "sync", - "io-util", - "macros", - "time", -] } - -# JSON serialization -serde = { version = "1", features = ["derive"] } -serde_json = "1" - -# Error handling -thiserror = "2" - -# DateTime handling -chrono = { version = "0.4", features = ["serde"] } - -# Logging -tracing = "0.1" - -# Executable finding -which = "7" - -schemars = { version = "0.8", optional = true, features = ["derive"] } - -[dev-dependencies] -tokio-test = "0.4" -pretty_assertions = "1" -tempfile = "3" -futures = "0.3" -rand = "0.8" -serde_yaml = "0.9" - -[features] -default = [] -e2e = [] # Enable E2E tests that require real Copilot CLI -snapshots = [] # Enable snapshot-based conformance tests -schemars = ["dep:schemars"] # Derive tool JSON schemas from Rust types - -[package.metadata.docs.rs] -rustdoc-args = ["--cfg", "docsrs"] - -[[example]] -name = "basic_chat" -path = "examples/basic_chat.rs" - -[[example]] -name = "tool_usage" -path = "examples/tool_usage.rs" - -[[example]] -name = "streaming" -path = "examples/streaming.rs" - -[[example]] -name = "multi_turn" -path = "examples/multi_turn.rs" - -[[example]] -name = "byok" -path = "examples/byok.rs" - -[[example]] -name = "system_prompt" -path = "examples/system_prompt.rs" - -[[example]] -name = "custom_agents" -path = "examples/custom_agents.rs" - -[[example]] -name = "mcp_servers" -path = "examples/mcp_servers.rs" - -[[example]] -name = "attachments" -path = "examples/attachments.rs" - -[[example]] -name = "permission_callback" -path = "examples/permission_callback.rs" - -[[example]] -name = "resume_with_tools" -path = "examples/resume_with_tools.rs" - -[[example]] -name = "multi_tools" -path = "examples/multi_tools.rs" - -[[example]] -name = "yolo" -path = "examples/yolo.rs" - -[[example]] -name = "debug_pipe" -path = "examples/debug_pipe.rs" - -[[example]] -name = "escape_room" -path = "examples/escape_room.rs" - -[[example]] -name = "rscopilot-cli" -path = "examples/rscopilot_cli.rs" - -[[example]] -name = "set_model" -path = "examples/set_model.rs" - -[[example]] -name = "mode_switching" -path = "examples/mode_switching.rs" - -[[example]] -name = "plan_ops" -path = "examples/plan_ops.rs" - -[[example]] -name = "agent_management" -path = "examples/agent_management.rs" - -[[example]] -name = "telemetry" -path = "examples/telemetry.rs" - -[[example]] -name = "shell_exec" -path = "examples/shell_exec.rs"