From 29f971c22d8afb9b1a3e753f9a8dcb790a12aafd Mon Sep 17 00:00:00 2001 From: "a.tolmachev" Date: Thu, 7 May 2026 20:44:58 +0000 Subject: [PATCH] community: remove premium protocols and streaming surface --- Cargo.lock | 426 ----------- Cargo.toml | 1 - TASKS.md | 6 +- apps/admin-api/Dockerfile | 19 +- apps/admin-api/src/app.rs | 17 +- apps/admin-api/src/routes/streaming.rs | 119 +-- apps/mcp-server/Cargo.toml | 1 - apps/mcp-server/Dockerfile | 19 +- apps/ui/html/async-jobs.html | 106 --- apps/ui/html/stream-sessions.html | 111 --- apps/ui/index.html | 4 +- apps/ui/js/api.js | 21 - apps/ui/js/async-jobs.js | 232 ------ apps/ui/js/config.js | 2 - apps/ui/js/stream-sessions.js | 211 ------ apps/ui/nginx.conf | 16 - apps/ui/scripts/build.js | 14 - apps/ui/scripts/playwright-stack.sh | 31 - apps/ui/scripts/playwright-ui-server.js | 14 - apps/ui/scripts/stream-fixture-server.js | 234 ------ .../tests/e2e/staging-authenticated.spec.js | 2 - apps/ui/tests/e2e/streaming.spec.js | 125 ---- crates/crank-adapter-graphql/Cargo.toml | 18 - crates/crank-adapter-graphql/src/client.rs | 264 ------- crates/crank-adapter-graphql/src/error.rs | 24 - crates/crank-adapter-graphql/src/lib.rs | 7 - crates/crank-adapter-graphql/src/model.rs | 22 - crates/crank-adapter-grpc/Cargo.toml | 30 - crates/crank-adapter-grpc/build.rs | 17 - .../examples/stream_fixture.rs | 22 - crates/crank-adapter-grpc/proto/echo.proto | 16 - crates/crank-adapter-grpc/src/client.rs | 314 -------- crates/crank-adapter-grpc/src/codec.rs | 72 -- crates/crank-adapter-grpc/src/error.rs | 52 -- crates/crank-adapter-grpc/src/lib.rs | 11 - crates/crank-adapter-grpc/src/model.rs | 37 - crates/crank-adapter-grpc/src/test_support.rs | 178 ----- crates/crank-adapter-soap/Cargo.toml | 19 - crates/crank-adapter-soap/src/client.rs | 326 -------- crates/crank-adapter-soap/src/error.rs | 28 - crates/crank-adapter-soap/src/lib.rs | 12 - crates/crank-adapter-soap/src/model.rs | 40 - crates/crank-adapter-soap/src/wsdl.rs | 165 ---- crates/crank-adapter-soap/src/xml.rs | 319 -------- crates/crank-adapter-websocket/Cargo.toml | 19 - crates/crank-adapter-websocket/src/client.rs | 537 -------------- crates/crank-adapter-websocket/src/error.rs | 30 - crates/crank-adapter-websocket/src/lib.rs | 35 - crates/crank-adapter-websocket/src/session.rs | 21 - crates/crank-proto/Cargo.toml | 15 - crates/crank-proto/src/convert/mod.rs | 1 - crates/crank-proto/src/convert/to_schema.rs | 381 ---------- crates/crank-proto/src/errors.rs | 11 - crates/crank-proto/src/lib.rs | 142 ---- crates/crank-proto/src/model/field.rs | 54 -- crates/crank-proto/src/model/message.rs | 16 - crates/crank-proto/src/model/method.rs | 18 - crates/crank-proto/src/model/mod.rs | 11 - crates/crank-proto/src/model/service.rs | 16 - docs/authenticated-staging-pass.md | 4 - docs/community-source-whitelist.md | 9 +- docs/deploy-and-staging-smoke.md | 5 - docs/diagrams.md | 8 - docs/module-decomposition.md | 35 +- docs/protocols/graphql.md | 109 --- docs/protocols/grpc.md | 110 --- docs/protocols/soap.md | 162 ---- docs/protocols/websocket.md | 159 ---- docs/rust-design.md | 5 - docs/streaming-admin-api.md | 641 ---------------- docs/streaming-implementation-spec.md | 584 --------------- docs/streaming-mcp-plan.md | 702 ------------------ docs/streaming-runtime-design.md | 580 --------------- docs/streaming-ui-contract.md | 442 ----------- docs/testing-strategy.md | 14 +- .../graphql-countries.operation.json | 131 ---- .../mcp-smoke/grpc-grpcb-add.operation.json | 100 --- examples/mcp-smoke/grpc-grpcb-addsvc.proto | 28 - 78 files changed, 21 insertions(+), 8838 deletions(-) delete mode 100644 apps/ui/html/async-jobs.html delete mode 100644 apps/ui/html/stream-sessions.html delete mode 100644 apps/ui/js/async-jobs.js delete mode 100644 apps/ui/js/stream-sessions.js delete mode 100644 apps/ui/scripts/stream-fixture-server.js delete mode 100644 apps/ui/tests/e2e/streaming.spec.js delete mode 100644 crates/crank-adapter-graphql/Cargo.toml delete mode 100644 crates/crank-adapter-graphql/src/client.rs delete mode 100644 crates/crank-adapter-graphql/src/error.rs delete mode 100644 crates/crank-adapter-graphql/src/lib.rs delete mode 100644 crates/crank-adapter-graphql/src/model.rs delete mode 100644 crates/crank-adapter-grpc/Cargo.toml delete mode 100644 crates/crank-adapter-grpc/build.rs delete mode 100644 crates/crank-adapter-grpc/examples/stream_fixture.rs delete mode 100644 crates/crank-adapter-grpc/proto/echo.proto delete mode 100644 crates/crank-adapter-grpc/src/client.rs delete mode 100644 crates/crank-adapter-grpc/src/codec.rs delete mode 100644 crates/crank-adapter-grpc/src/error.rs delete mode 100644 crates/crank-adapter-grpc/src/lib.rs delete mode 100644 crates/crank-adapter-grpc/src/model.rs delete mode 100644 crates/crank-adapter-grpc/src/test_support.rs delete mode 100644 crates/crank-adapter-soap/Cargo.toml delete mode 100644 crates/crank-adapter-soap/src/client.rs delete mode 100644 crates/crank-adapter-soap/src/error.rs delete mode 100644 crates/crank-adapter-soap/src/lib.rs delete mode 100644 crates/crank-adapter-soap/src/model.rs delete mode 100644 crates/crank-adapter-soap/src/wsdl.rs delete mode 100644 crates/crank-adapter-soap/src/xml.rs delete mode 100644 crates/crank-adapter-websocket/Cargo.toml delete mode 100644 crates/crank-adapter-websocket/src/client.rs delete mode 100644 crates/crank-adapter-websocket/src/error.rs delete mode 100644 crates/crank-adapter-websocket/src/lib.rs delete mode 100644 crates/crank-adapter-websocket/src/session.rs delete mode 100644 crates/crank-proto/Cargo.toml delete mode 100644 crates/crank-proto/src/convert/mod.rs delete mode 100644 crates/crank-proto/src/convert/to_schema.rs delete mode 100644 crates/crank-proto/src/errors.rs delete mode 100644 crates/crank-proto/src/lib.rs delete mode 100644 crates/crank-proto/src/model/field.rs delete mode 100644 crates/crank-proto/src/model/message.rs delete mode 100644 crates/crank-proto/src/model/method.rs delete mode 100644 crates/crank-proto/src/model/mod.rs delete mode 100644 crates/crank-proto/src/model/service.rs delete mode 100644 docs/protocols/graphql.md delete mode 100644 docs/protocols/grpc.md delete mode 100644 docs/protocols/soap.md delete mode 100644 docs/protocols/websocket.md delete mode 100644 docs/streaming-admin-api.md delete mode 100644 docs/streaming-implementation-spec.md delete mode 100644 docs/streaming-mcp-plan.md delete mode 100644 docs/streaming-runtime-design.md delete mode 100644 docs/streaming-ui-contract.md delete mode 100644 examples/mcp-smoke/graphql-countries.operation.json delete mode 100644 examples/mcp-smoke/grpc-grpcb-add.operation.json delete mode 100644 examples/mcp-smoke/grpc-grpcb-addsvc.proto diff --git a/Cargo.lock b/Cargo.lock index 3b6c895..73a6448 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -380,27 +380,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crank-adapter-grpc" -version = "0.1.0" -dependencies = [ - "base64", - "crank-core", - "crank-proto", - "futures-util", - "prost", - "prost-reflect", - "prost-types", - "protoc-bin-vendored", - "serde", - "serde_json", - "thiserror", - "tokio", - "tonic", - "tonic-prost", - "tonic-prost-build", -] - [[package]] name = "crank-adapter-rest" version = "0.1.0" @@ -438,19 +417,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "crank-proto" -version = "0.1.0" -dependencies = [ - "crank-core", - "crank-schema", - "prost", - "prost-reflect", - "prost-types", - "serde", - "thiserror", -] - [[package]] name = "crank-registry" version = "0.1.0" @@ -627,16 +593,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" -[[package]] -name = "errno" -version = "0.3.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" -dependencies = [ - "libc", - "windows-sys 0.61.2", -] - [[package]] name = "etcetera" version = "0.8.0" @@ -671,12 +627,6 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" -[[package]] -name = "fixedbitset" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99" - [[package]] name = "flume" version = "0.11.1" @@ -688,12 +638,6 @@ dependencies = [ "spin", ] -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - [[package]] name = "foldhash" version = "0.1.5" @@ -852,25 +796,6 @@ dependencies = [ "polyval", ] -[[package]] -name = "h2" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54" -dependencies = [ - "atomic-waker", - "bytes", - "fnv", - "futures-core", - "futures-sink", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - [[package]] name = "hashbrown" version = "0.15.5" @@ -991,7 +916,6 @@ dependencies = [ "bytes", "futures-channel", "futures-core", - "h2", "http", "http-body", "httparse", @@ -1021,19 +945,6 @@ dependencies = [ "webpki-roots 1.0.6", ] -[[package]] -name = "hyper-timeout" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" -dependencies = [ - "hyper", - "hyper-util", - "pin-project-lite", - "tokio", - "tower-service", -] - [[package]] name = "hyper-util" version = "0.1.20" @@ -1202,15 +1113,6 @@ dependencies = [ "serde", ] -[[package]] -name = "itertools" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" -dependencies = [ - "either", -] - [[package]] name = "itoa" version = "1.0.18" @@ -1276,12 +1178,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "linux-raw-sys" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" - [[package]] name = "litemap" version = "0.8.1" @@ -1337,7 +1233,6 @@ dependencies = [ "async-trait", "axum", "base64", - "crank-adapter-grpc", "crank-core", "crank-mapping", "crank-registry", @@ -1390,12 +1285,6 @@ dependencies = [ "windows-sys 0.61.2", ] -[[package]] -name = "multimap" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084" - [[package]] name = "nu-ansi-term" version = "0.50.3" @@ -1479,15 +1368,6 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "ordered-float" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" -dependencies = [ - "num-traits", -] - [[package]] name = "parking" version = "2.2.1" @@ -1543,37 +1423,6 @@ version = "2.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" -[[package]] -name = "petgraph" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455" -dependencies = [ - "fixedbitset", - "hashbrown 0.15.5", - "indexmap", -] - -[[package]] -name = "pin-project" -version = "1.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "pin-project-lite" version = "0.2.17" @@ -1674,136 +1523,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "prost" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7" -dependencies = [ - "heck", - "itertools", - "log", - "multimap", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "pulldown-cmark", - "pulldown-cmark-to-cmark", - "regex", - "syn", - "tempfile", -] - -[[package]] -name = "prost-derive" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "prost-reflect" -version = "0.16.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b89455ef41ed200cafc47c76c552ee7792370ac420497e551f16123a9135f76e" -dependencies = [ - "base64", - "prost", - "prost-types", - "serde", - "serde-value", -] - -[[package]] -name = "prost-types" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7" -dependencies = [ - "prost", -] - -[[package]] -name = "protoc-bin-vendored" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1c381df33c98266b5f08186583660090a4ffa0889e76c7e9a5e175f645a67fa" -dependencies = [ - "protoc-bin-vendored-linux-aarch_64", - "protoc-bin-vendored-linux-ppcle_64", - "protoc-bin-vendored-linux-s390_64", - "protoc-bin-vendored-linux-x86_32", - "protoc-bin-vendored-linux-x86_64", - "protoc-bin-vendored-macos-aarch_64", - "protoc-bin-vendored-macos-x86_64", - "protoc-bin-vendored-win32", -] - -[[package]] -name = "protoc-bin-vendored-linux-aarch_64" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c350df4d49b5b9e3ca79f7e646fde2377b199e13cfa87320308397e1f37e1a4c" - -[[package]] -name = "protoc-bin-vendored-linux-ppcle_64" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55a63e6c7244f19b5c6393f025017eb5d793fd5467823a099740a7a4222440c" - -[[package]] -name = "protoc-bin-vendored-linux-s390_64" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1dba5565db4288e935d5330a07c264a4ee8e4a5b4a4e6f4e83fad824cc32f3b0" - -[[package]] -name = "protoc-bin-vendored-linux-x86_32" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8854774b24ee28b7868cd71dccaae8e02a2365e67a4a87a6cd11ee6cdbdf9cf5" - -[[package]] -name = "protoc-bin-vendored-linux-x86_64" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b38b07546580df720fa464ce124c4b03630a6fb83e05c336fea2a241df7e5d78" - -[[package]] -name = "protoc-bin-vendored-macos-aarch_64" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89278a9926ce312e51f1d999fee8825d324d603213344a9a706daa009f1d8092" - -[[package]] -name = "protoc-bin-vendored-macos-x86_64" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81745feda7ccfb9471d7a4de888f0652e806d5795b61480605d4943176299756" - -[[package]] -name = "protoc-bin-vendored-win32" -version = "3.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95067976aca6421a523e491fce939a3e65249bac4b977adee0ee9771568e8aa3" - [[package]] name = "psl-types" version = "2.0.11" @@ -1820,26 +1539,6 @@ dependencies = [ "psl-types", ] -[[package]] -name = "pulldown-cmark" -version = "0.13.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c3a14896dfa883796f1cb410461aef38810ea05f2b2c33c5aded3649095fdad" -dependencies = [ - "bitflags", - "memchr", - "unicase", -] - -[[package]] -name = "pulldown-cmark-to-cmark" -version = "22.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50793def1b900256624a709439404384204a5dc3a6ec580281bfaac35e882e90" -dependencies = [ - "pulldown-cmark", -] - [[package]] name = "quinn" version = "0.11.9" @@ -2017,18 +1716,6 @@ dependencies = [ "bitflags", ] -[[package]] -name = "regex" -version = "1.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - [[package]] name = "regex-automata" version = "0.4.14" @@ -2129,19 +1816,6 @@ version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" -[[package]] -name = "rustix" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.61.2", -] - [[package]] name = "rustls" version = "0.23.37" @@ -2226,16 +1900,6 @@ dependencies = [ "serde_derive", ] -[[package]] -name = "serde-value" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" -dependencies = [ - "ordered-float", - "serde", -] - [[package]] name = "serde_core" version = "1.0.228" @@ -2686,19 +2350,6 @@ dependencies = [ "syn", ] -[[package]] -name = "tempfile" -version = "3.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" -dependencies = [ - "fastrand", - "getrandom 0.4.2", - "once_cell", - "rustix", - "windows-sys 0.61.2", -] - [[package]] name = "thiserror" version = "2.0.18" @@ -2844,74 +2495,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "tonic" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec" -dependencies = [ - "async-trait", - "axum", - "base64", - "bytes", - "h2", - "http", - "http-body", - "http-body-util", - "hyper", - "hyper-timeout", - "hyper-util", - "percent-encoding", - "pin-project", - "socket2 0.6.3", - "sync_wrapper", - "tokio", - "tokio-stream", - "tower", - "tower-layer", - "tower-service", - "tracing", -] - -[[package]] -name = "tonic-build" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1882ac3bf5ef12877d7ed57aad87e75154c11931c2ba7e6cde5e22d63522c734" -dependencies = [ - "prettyplease", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tonic-prost" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a55376a0bbaa4975a3f10d009ad763d8f4108f067c7c2e74f3001fb49778d309" -dependencies = [ - "bytes", - "prost", - "tonic", -] - -[[package]] -name = "tonic-prost-build" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3144df636917574672e93d0f56d7edec49f90305749c668df5101751bb8f95a" -dependencies = [ - "prettyplease", - "proc-macro2", - "prost-build", - "prost-types", - "quote", - "syn", - "tempfile", - "tonic-build", -] - [[package]] name = "tower" version = "0.5.3" @@ -2920,12 +2503,9 @@ checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" dependencies = [ "futures-core", "futures-util", - "indexmap", "pin-project-lite", - "slab", "sync_wrapper", "tokio", - "tokio-util", "tower-layer", "tower-service", "tracing", @@ -3035,12 +2615,6 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" -[[package]] -name = "unicase" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142" - [[package]] name = "unicode-bidi" version = "0.3.18" diff --git a/Cargo.toml b/Cargo.toml index f0ec781..ffd40fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,6 @@ members = [ "crates/crank-core", "crates/crank-schema", "crates/crank-mapping", - "crates/crank-proto", "crates/crank-registry", "crates/crank-runtime", "crates/crank-adapter-rest", diff --git a/TASKS.md b/TASKS.md index 8709b8d..42ce889 100644 --- a/TASKS.md +++ b/TASKS.md @@ -60,10 +60,10 @@ Progress: - `crank-runtime` now has protocol feature seams, and the runtime crate compiles with `--no-default-features` as a `REST-only` base - pending: - implement the whitelist from `docs/community-source-whitelist.md` - - make Community workspace compile and run without premium protocol crates - - make Community UI export stop depending on premium wizard and streaming surfaces - - only after that, perform a clean whitelist-based force-push into `crank-community` + - make Community copy/docs pass finish the remaining premium string cleanup in `catalog`, `agents`, `settings`, `workspace-setup`, and `i18n` + - decide whether legacy streaming internals in `admin-api` stay dormant until `enterprise/cloud` extraction or move out before the next Community release cut - continue physical split by isolating `enterprise/cloud` delta away from the extracted Community base + - only after that, perform a clean whitelist-based force-push into `crank-community` ## Planned diff --git a/apps/admin-api/Dockerfile b/apps/admin-api/Dockerfile index 5542703..a80dab9 100644 --- a/apps/admin-api/Dockerfile +++ b/apps/admin-api/Dockerfile @@ -9,16 +9,9 @@ COPY apps/mcp-server/Cargo.toml apps/mcp-server/Cargo.toml COPY crates/crank-core/Cargo.toml crates/crank-core/Cargo.toml COPY crates/crank-schema/Cargo.toml crates/crank-schema/Cargo.toml COPY crates/crank-mapping/Cargo.toml crates/crank-mapping/Cargo.toml -COPY crates/crank-proto/Cargo.toml crates/crank-proto/Cargo.toml COPY crates/crank-registry/Cargo.toml crates/crank-registry/Cargo.toml COPY crates/crank-runtime/Cargo.toml crates/crank-runtime/Cargo.toml COPY crates/crank-adapter-rest/Cargo.toml crates/crank-adapter-rest/Cargo.toml -COPY crates/crank-adapter-graphql/Cargo.toml crates/crank-adapter-graphql/Cargo.toml -COPY crates/crank-adapter-grpc/Cargo.toml crates/crank-adapter-grpc/Cargo.toml -COPY crates/crank-adapter-grpc/build.rs crates/crank-adapter-grpc/build.rs -COPY crates/crank-adapter-grpc/proto crates/crank-adapter-grpc/proto -COPY crates/crank-adapter-websocket/Cargo.toml crates/crank-adapter-websocket/Cargo.toml -COPY crates/crank-adapter-soap/Cargo.toml crates/crank-adapter-soap/Cargo.toml RUN mkdir -p \ apps/admin-api/src \ @@ -26,27 +19,17 @@ RUN mkdir -p \ crates/crank-core/src \ crates/crank-schema/src \ crates/crank-mapping/src \ - crates/crank-proto/src \ crates/crank-registry/src \ crates/crank-runtime/src \ crates/crank-adapter-rest/src \ - crates/crank-adapter-graphql/src \ - crates/crank-adapter-grpc/src \ - crates/crank-adapter-websocket/src \ - crates/crank-adapter-soap/src \ && printf 'fn main() {}\n' > apps/admin-api/src/main.rs \ && printf 'fn main() {}\n' > apps/mcp-server/src/main.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-core/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-schema/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-mapping/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-proto/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-registry/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-runtime/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-graphql/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-grpc/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-websocket/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-soap/src/lib.rs + && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs RUN --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git/db \ diff --git a/apps/admin-api/src/app.rs b/apps/admin-api/src/app.rs index 103fdd9..f9c959a 100644 --- a/apps/admin-api/src/app.rs +++ b/apps/admin-api/src/app.rs @@ -26,6 +26,7 @@ use crate::{ capabilities::get_capabilities, machine_auth::{issue_agent_token, issue_one_time_agent_token}, observability::{get_agent_usage, get_log, get_operation_usage, get_usage, list_logs}, + streaming::list_protocol_capabilities, operations::{ archive_operation, create_operation, create_version, delete_operation, export_operation, generate_draft, get_operation, get_operation_version, @@ -33,10 +34,6 @@ use crate::{ upload_output_json, }, secrets::{create_secret, delete_secret, get_secret, list_secrets, rotate_secret}, - streaming::{ - cancel_async_job, get_async_job, get_async_job_result, get_stream_session, - list_async_jobs, list_protocol_capabilities, list_stream_sessions, stop_stream_session, - }, workspaces::{create_workspace, get_workspace, list_workspaces, update_workspace}, }, state::AppState, @@ -131,17 +128,7 @@ pub fn build_app(state: AppState) -> Router { .route("/usage", get(get_usage)) .route("/usage/operations/{operation_id}", get(get_operation_usage)) .route("/usage/agents/{agent_id}", get(get_agent_usage)) - .route("/protocol-capabilities", get(list_protocol_capabilities)) - .route("/stream-sessions", get(list_stream_sessions)) - .route("/stream-sessions/{session_id}", get(get_stream_session)) - .route( - "/stream-sessions/{session_id}/stop", - post(stop_stream_session), - ) - .route("/async-jobs", get(list_async_jobs)) - .route("/async-jobs/{job_id}", get(get_async_job)) - .route("/async-jobs/{job_id}/cancel", post(cancel_async_job)) - .route("/async-jobs/{job_id}/result", get(get_async_job_result)); + .route("/protocol-capabilities", get(list_protocol_capabilities)); let workspace_root_router = Router::new() .route("/capabilities", get(get_capabilities)) diff --git a/apps/admin-api/src/routes/streaming.rs b/apps/admin-api/src/routes/streaming.rs index fae361f..0b4624b 100644 --- a/apps/admin-api/src/routes/streaming.rs +++ b/apps/admin-api/src/routes/streaming.rs @@ -1,28 +1,15 @@ use axum::{ Json, - extract::{Path, Query, State}, + extract::{Path, State}, }; use serde_json::{Value, json}; use crate::{ error::ApiError, routes::access::WorkspacePath, - service::{AsyncJobsQuery, StreamSessionsQuery}, state::AppState, }; -#[derive(serde::Deserialize)] -pub struct WorkspaceStreamSessionPath { - pub workspace_id: String, - pub session_id: String, -} - -#[derive(serde::Deserialize)] -pub struct WorkspaceAsyncJobPath { - pub workspace_id: String, - pub job_id: String, -} - pub async fn list_protocol_capabilities( Path(_path): Path, State(state): State, @@ -31,107 +18,3 @@ pub async fn list_protocol_capabilities( "items": state.service.list_protocol_capabilities().await }))) } - -pub async fn list_stream_sessions( - Path(path): Path, - Query(query): Query, - State(state): State, -) -> Result, ApiError> { - let page = state - .service - .list_stream_sessions(&path.workspace_id.as_str().into(), query.clone()) - .await?; - Ok(Json(json!({ - "items": page.items, - "page": query.page.unwrap_or(1), - "page_size": query.page_size.unwrap_or(20), - "total": page.total, - }))) -} - -pub async fn get_stream_session( - Path(path): Path, - State(state): State, -) -> Result, ApiError> { - let session = state - .service - .get_stream_session( - &path.workspace_id.as_str().into(), - &path.session_id.as_str().into(), - ) - .await?; - Ok(Json(json!(session))) -} - -pub async fn stop_stream_session( - Path(path): Path, - State(state): State, -) -> Result, ApiError> { - let session = state - .service - .stop_stream_session( - &path.workspace_id.as_str().into(), - &path.session_id.as_str().into(), - ) - .await?; - Ok(Json(json!(session))) -} - -pub async fn list_async_jobs( - Path(path): Path, - Query(query): Query, - State(state): State, -) -> Result, ApiError> { - let page = state - .service - .list_async_jobs(&path.workspace_id.as_str().into(), query.clone()) - .await?; - Ok(Json(json!({ - "items": page.items, - "page": query.page.unwrap_or(1), - "page_size": query.page_size.unwrap_or(20), - "total": page.total, - }))) -} - -pub async fn get_async_job( - Path(path): Path, - State(state): State, -) -> Result, ApiError> { - let job = state - .service - .get_async_job( - &path.workspace_id.as_str().into(), - &path.job_id.as_str().into(), - ) - .await?; - Ok(Json(json!(job))) -} - -pub async fn cancel_async_job( - Path(path): Path, - State(state): State, -) -> Result, ApiError> { - let job = state - .service - .cancel_async_job( - &path.workspace_id.as_str().into(), - &path.job_id.as_str().into(), - ) - .await?; - Ok(Json(json!(job))) -} - -pub async fn get_async_job_result( - Path(path): Path, - State(state): State, -) -> Result, ApiError> { - let result = state - .service - .get_async_job_result( - &path.workspace_id.as_str().into(), - &path.job_id.as_str().into(), - ) - .await?; - Ok(Json(json!(result))) -} diff --git a/apps/mcp-server/Cargo.toml b/apps/mcp-server/Cargo.toml index 345aa30..2e8cef1 100644 --- a/apps/mcp-server/Cargo.toml +++ b/apps/mcp-server/Cargo.toml @@ -26,7 +26,6 @@ tracing-subscriber.workspace = true uuid.workspace = true [dev-dependencies] -crank-adapter-grpc = { path = "../../crates/crank-adapter-grpc", features = ["test-support"] } crank-mapping = { path = "../../crates/crank-mapping" } crank-schema = { path = "../../crates/crank-schema" } reqwest.workspace = true diff --git a/apps/mcp-server/Dockerfile b/apps/mcp-server/Dockerfile index ea82dc6..7db7650 100644 --- a/apps/mcp-server/Dockerfile +++ b/apps/mcp-server/Dockerfile @@ -9,16 +9,9 @@ COPY apps/mcp-server/Cargo.toml apps/mcp-server/Cargo.toml COPY crates/crank-core/Cargo.toml crates/crank-core/Cargo.toml COPY crates/crank-schema/Cargo.toml crates/crank-schema/Cargo.toml COPY crates/crank-mapping/Cargo.toml crates/crank-mapping/Cargo.toml -COPY crates/crank-proto/Cargo.toml crates/crank-proto/Cargo.toml COPY crates/crank-registry/Cargo.toml crates/crank-registry/Cargo.toml COPY crates/crank-runtime/Cargo.toml crates/crank-runtime/Cargo.toml COPY crates/crank-adapter-rest/Cargo.toml crates/crank-adapter-rest/Cargo.toml -COPY crates/crank-adapter-graphql/Cargo.toml crates/crank-adapter-graphql/Cargo.toml -COPY crates/crank-adapter-grpc/Cargo.toml crates/crank-adapter-grpc/Cargo.toml -COPY crates/crank-adapter-grpc/build.rs crates/crank-adapter-grpc/build.rs -COPY crates/crank-adapter-grpc/proto crates/crank-adapter-grpc/proto -COPY crates/crank-adapter-websocket/Cargo.toml crates/crank-adapter-websocket/Cargo.toml -COPY crates/crank-adapter-soap/Cargo.toml crates/crank-adapter-soap/Cargo.toml RUN mkdir -p \ apps/admin-api/src \ @@ -26,27 +19,17 @@ RUN mkdir -p \ crates/crank-core/src \ crates/crank-schema/src \ crates/crank-mapping/src \ - crates/crank-proto/src \ crates/crank-registry/src \ crates/crank-runtime/src \ crates/crank-adapter-rest/src \ - crates/crank-adapter-graphql/src \ - crates/crank-adapter-grpc/src \ - crates/crank-adapter-websocket/src \ - crates/crank-adapter-soap/src \ && printf 'fn main() {}\n' > apps/admin-api/src/main.rs \ && printf 'fn main() {}\n' > apps/mcp-server/src/main.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-core/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-schema/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-mapping/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-proto/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-registry/src/lib.rs \ && printf 'pub fn placeholder() {}\n' > crates/crank-runtime/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-graphql/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-grpc/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-websocket/src/lib.rs \ - && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-soap/src/lib.rs + && printf 'pub fn placeholder() {}\n' > crates/crank-adapter-rest/src/lib.rs RUN --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git/db \ diff --git a/apps/ui/html/async-jobs.html b/apps/ui/html/async-jobs.html deleted file mode 100644 index 768d55a..0000000 --- a/apps/ui/html/async-jobs.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - Crank — Async Jobs - - - - - - - - - - - -
- - -
-
-
-
- -
-
- -
-
-
-
-
-
- - - - diff --git a/apps/ui/html/stream-sessions.html b/apps/ui/html/stream-sessions.html deleted file mode 100644 index 1a751db..0000000 --- a/apps/ui/html/stream-sessions.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - Crank — Stream Sessions - - - - - - - - - - - -
- - -
-
-
-
- - -
-
- -
-
-
-
-
-
- - - - diff --git a/apps/ui/index.html b/apps/ui/index.html index d0ee848..40fb800 100644 --- a/apps/ui/index.html +++ b/apps/ui/index.html @@ -173,13 +173,13 @@