refactor: update kenshell references to proto for improved consistency
ZhenYi committed
Modified lib/deletion/src/lib.rs lib/deletion/src/lib.rs +2 −2 View lib/deletion/src/lib.rs
@@ -2,7 +2,6 @@
22
33use auth::client::error::KenAuthError;
44use export::AppState;
5use kenshell::KenShellClient;
65use models::dir::{dir_overwrite_group, dir_overwrite_users, dirs};
76use models::repo::repos;
87use models::room::rooms;
@@ -17,6 +16,7 @@
1716 user_followers, user_notifications, user_preferences, user_profiles, user_push_subscriptions,
1817 user_recent_mentions, user_saved_messages,
1918};
19use proto::KenShellClient;
2020use sea_orm::{ActiveModelTrait, ColumnTrait, EntityTrait, QueryFilter, QuerySelect, Set};
2121use serde::Serialize;
2222use time::OffsetDateTime;
@@ -60,7 +60,7 @@
6060 }
6161}
6262
63fn ken_shell(error: kenshell::KenShellError) -> DeletionError {
63fn ken_shell(error: proto::KenShellError) -> DeletionError {
6464 DeletionError::KenShell(error.to_string())
6565}
6666
Modified lib/deletion/Cargo.toml lib/deletion/Cargo.toml +1 −1 View lib/deletion/Cargo.toml
@@ -7,7 +7,7 @@
77config = { workspace = true }
88export = { workspace = true }
99auth = { workspace = true }
10kenshell = { workspace = true }
10proto = { workspace = true }
1111models = { workspace = true }
1212sea-orm = { workspace = true }
1313serde = { workspace = true, features = ["derive"] }
Modified lib/git/src/context/facade.rs lib/git/src/context/facade.rs +2 −2 View lib/git/src/context/facade.rs
@@ -3,8 +3,8 @@
33
44use export::AppDatabase;
55use export::cache::CacheClient;
6use kenshell::proto::common::v1::{GitActor, RepositoryRef, WriteOptions};
76use models::repo::repos;
7use proto::kenshell::common::v1::{GitActor, RepositoryRef, WriteOptions};
88use uuid::Uuid;
99
1010#[derive(Clone)]
@@ -14,7 +14,7 @@
1414 pub database: Arc<AppDatabase>,
1515 pub space_name: String,
1616 pub repo_root: PathBuf,
17 pub ks: kenshell::KenShellClient,
17 pub ks: proto::KenShellClient,
1818}
1919
2020impl GitContext {
Modified lib/git/src/rpcgit/api.rs lib/git/src/rpcgit/api.rs +9 −9 View lib/git/src/rpcgit/api.rs
@@ -1,12 +1,12 @@
11use std::path::{Path, PathBuf};
22
3use kenshell::client::Intercepted;
4use kenshell::proto::common::v1::PageRequest;
5use kenshell::proto::v1 as pb;
6use kenshell::proto::v1::commit_service_client::CommitServiceClient;
7use kenshell::proto::v1::diff_service_client::DiffServiceClient;
8use kenshell::proto::v1::ref_service_client::RefServiceClient;
9use kenshell::proto::v1::tree_service_client::TreeServiceClient;
3use proto::client::Intercepted;
4use proto::kenshell::common::v1::PageRequest;
5use proto::kenshell::v1 as pb;
6use proto::kenshell::v1::commit_service_client::CommitServiceClient;
7use proto::kenshell::v1::diff_service_client::DiffServiceClient;
8use proto::kenshell::v1::ref_service_client::RefServiceClient;
9use proto::kenshell::v1::tree_service_client::TreeServiceClient;
1010
1111use crate::rpcgit::GitBaby;
1212use crate::rpcgit::archive::types::{
@@ -168,7 +168,7 @@
168168}
169169
170170impl GitBaby {
171 fn common_ref(&self) -> kenshell::proto::common::v1::RepositoryRef {
171 fn common_ref(&self) -> proto::kenshell::common::v1::RepositoryRef {
172172 self.context().repository_ref()
173173 }
174174
@@ -188,7 +188,7 @@
188188 self.context().ks.diff()
189189 }
190190
191 fn repository_ref_some(&self) -> Option<kenshell::proto::common::v1::RepositoryRef> {
191 fn repository_ref_some(&self) -> Option<proto::kenshell::common::v1::RepositoryRef> {
192192 Some(self.common_ref())
193193 }
194194
Modified lib/git/src/service/archives.rs lib/git/src/service/archives.rs +1 −1 View lib/git/src/service/archives.rs
@@ -1,4 +1,4 @@
1use kenshell::proto::v1 as pb;
1use proto::kenshell::v1 as pb;
22use serde::{Deserialize, Serialize};
33use uuid::Uuid;
44
Modified lib/git/src/service/git_service.rs lib/git/src/service/git_service.rs +1 −1 View lib/git/src/service/git_service.rs
@@ -2,7 +2,7 @@
22use std::time::Duration;
33
44use export::AppState;
5use kenshell::KenShellClient;
5use proto::KenShellClient;
66use sea_orm::DatabaseConnection;
77
88use crate::context::facade::GitContext;
Modified lib/git/src/service/remotes.rs lib/git/src/service/remotes.rs +1 −1 View lib/git/src/service/remotes.rs
@@ -1,4 +1,4 @@
1use kenshell::proto::v1 as pb;
1use proto::kenshell::v1 as pb;
22use serde::{Deserialize, Serialize};
33
44use crate::service::GitService;
Modified lib/git/src/service/rpc.rs lib/git/src/service/rpc.rs +2 −2 View lib/git/src/service/rpc.rs
@@ -1,6 +1,6 @@
11use std::time::Duration;
22
3use kenshell::proto::v1 as pb;
3use proto::kenshell::v1 as pb;
44use tokio::time;
55
66use crate::share::errors::GitError;
@@ -22,7 +22,7 @@
2222}
2323
2424pub(crate) async fn wait_job(
25 ks: &kenshell::KenShellClient,
25 ks: &proto::KenShellClient,
2626 job_id: &str,
2727 timeout: Duration,
2828) -> Result<pb::Job, GitError> {
Modified lib/git/Cargo.toml lib/git/Cargo.toml +1 −1 View lib/git/Cargo.toml
@@ -4,7 +4,7 @@
44edition.workspace = true
55
66[dependencies]
7kenshell = { workspace = true }
7proto = { workspace = true }
88tonic = { workspace = true }
99prost-types = { workspace = true }
1010export = { workspace = true }
Deleted lib/kenshell/src/lib.rs lib/kenshell/src/lib.rs +0 −38
@@ -1,38 +0,0 @@
1pub mod client;
2pub mod error;
3
4// 生成代码里的跨包引用是相对路径(`super::super::common::v1`),因此模块层级必须
5// 与 proto package 完全一致:kenshell.{common,internal,}.v1 与顶层 gitken。
6pub mod kenshell {
7 pub mod common {
8 pub mod v1 {
9 tonic::include_proto!("kenshell.common.v1");
10 }
11 }
12
13 pub mod v1 {
14 tonic::include_proto!("kenshell.v1");
15 }
16
17 pub mod internal {
18 pub mod v1 {
19 tonic::include_proto!("kenshell.internal.v1");
20 }
21 }
22}
23
24#[allow(clippy::all)]
25pub mod gitken {
26 tonic::include_proto!("gitken");
27}
28
29pub mod proto {
30 pub use crate::gitken;
31 pub use crate::kenshell::{common, internal, v1};
32}
33
34pub use client::KenShellClient;
35pub use error::KenShellError;
36
37pub const REQUEST_ID_HEADER: &str = "x-request-id";
38pub const RPC_KEY_HEADER: &str = "x-rpc-key";
Deleted lib/kenshell/build.rs lib/kenshell/build.rs +0 −71
@@ -1,71 +0,0 @@
1use std::path::{Path, PathBuf};
2use std::{env, fs};
3
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5 let manifest_dir = PathBuf::from(env::var("CARGO_MANIFEST_DIR")?);
6 let proto_root = manifest_dir.join("proto");
7
8 println!("cargo:rerun-if-changed=build.rs");
9 if !proto_root.is_dir() {
10 println!("cargo:warning=proto 目录不存在,跳过协议生成");
11 return Ok(());
12 }
13 println!("cargo:rerun-if-changed={}", proto_root.display());
14
15 let sources = collect_protos(&proto_root)?;
16 if sources.is_empty() {
17 println!("cargo:warning=proto 下没有 .proto 文件,跳过协议生成");
18 return Ok(());
19 }
20
21 let cwd = env::current_dir()?;
22 let include_root = relative_path(&cwd, &proto_root);
23 let protos: Vec<PathBuf> = sources
24 .iter()
25 .map(|path| relative_path(&cwd, path))
26 .collect();
27
28 tonic_prost_build::configure()
29 .build_server(false)
30 .build_client(true)
31 .compile_protos(&protos, &[include_root])?;
32
33 Ok(())
34}
35
36fn collect_protos(dir: &Path) -> std::io::Result<Vec<PathBuf>> {
37 let mut found = Vec::new();
38 let mut stack = vec![dir.to_path_buf()];
39 while let Some(dir) = stack.pop() {
40 for entry in fs::read_dir(&dir)? {
41 let path = entry?.path();
42 if path.is_dir() {
43 stack.push(path);
44 } else if path.extension().is_some_and(|ext| ext == "proto") {
45 found.push(path);
46 }
47 }
48 }
49 found.sort();
50 Ok(found)
51}
52
53fn relative_path(base: &Path, target: &Path) -> PathBuf {
54 let base: Vec<_> = base.components().collect();
55 let target: Vec<_> = target.components().collect();
56 let common = base
57 .iter()
58 .zip(target.iter())
59 .take_while(|(a, b)| a == b)
60 .count();
61 if common == 0 {
62 return target.iter().collect();
63 }
64
65 let mut rel = PathBuf::new();
66 for _ in common..base.len() {
67 rel.push("..");
68 }
69 rel.extend(target[common..].iter().map(|c| c.as_os_str()));
70 rel
71}
Deleted lib/kenshell/Cargo.toml lib/kenshell/Cargo.toml +0 −17
@@ -1,17 +0,0 @@
1[package]
2name = "kenshell"
3version.workspace = true
4edition.workspace = true
5
6[dependencies]
7prost = { workspace = true }
8prost-types = { workspace = true }
9thiserror = { workspace = true }
10tonic = { workspace = true }
11tonic-prost = { workspace = true }
12tracing = { workspace = true }
13uuid = { workspace = true }
14tokio = { workspace = true, features = ["time"] }
15
16[build-dependencies]
17tonic-prost-build = { workspace = true }
No newline at end of file
Renamed lib/proto/proto/common/v1/errors.proto → lib/proto/proto/auth/common/v1/errors.proto lib/proto/proto/auth/common/v1/errors.proto +0 −0 View lib/proto/proto/auth/common/v1/errors.proto
No content changes.
Renamed lib/proto/proto/common/v1/types.proto → lib/proto/proto/auth/common/v1/types.proto lib/proto/proto/auth/common/v1/types.proto +0 −0 View lib/proto/proto/auth/common/v1/types.proto
No content changes.
Renamed lib/proto/proto/internal/v1/admin.proto → lib/proto/proto/auth/internal/v1/admin.proto lib/proto/proto/auth/internal/v1/admin.proto +1 −1 View lib/proto/proto/auth/internal/v1/admin.proto
@@ -2,7 +2,7 @@
22
33package auth.internal.v1;
44
5import "common/v1/types.proto";
5import "auth/common/v1/types.proto";
66import "google/protobuf/timestamp.proto";
77
88// auth 内部管理面。调用方:平台管理入口(api 的管理后台)与运维工具。
Renamed lib/proto/proto/internal/v1/authority.proto → lib/proto/proto/auth/internal/v1/authority.proto lib/proto/proto/auth/internal/v1/authority.proto +1 −1 View lib/proto/proto/auth/internal/v1/authority.proto
@@ -2,7 +2,7 @@
22
33package auth.internal.v1;
44
5import "common/v1/types.proto";
5import "auth/common/v1/types.proto";
66import "google/protobuf/timestamp.proto";
77
88// auth 授权面。调用方固定为 api(令牌校验、用户资料、账号更新)与 socket
Renamed lib/proto/proto/internal/v1/client.proto → lib/proto/proto/auth/internal/v1/client.proto lib/proto/proto/auth/internal/v1/client.proto +0 −0 View lib/proto/proto/auth/internal/v1/client.proto
No content changes.
Renamed lib/proto/proto/internal/v1/email.proto → lib/proto/proto/auth/internal/v1/email.proto lib/proto/proto/auth/internal/v1/email.proto +0 −0 View lib/proto/proto/auth/internal/v1/email.proto
No content changes.
Renamed lib/proto/proto/internal/v1/organization.proto → lib/proto/proto/auth/internal/v1/organization.proto lib/proto/proto/auth/internal/v1/organization.proto +0 −0 View lib/proto/proto/auth/internal/v1/organization.proto
No content changes.
Renamed lib/proto/proto/v1/access_key.proto → lib/proto/proto/auth/v1/access_key.proto lib/proto/proto/auth/v1/access_key.proto +2 −2 View lib/proto/proto/auth/v1/access_key.proto
@@ -2,8 +2,8 @@
22
33package auth.v1;
44
5import "common/v1/errors.proto";
6import "common/v1/types.proto";
5import "auth/common/v1/errors.proto";
6import "auth/common/v1/types.proto";
77
88// access key(user_access_tokens)的校验与管理。调用方:git(HTTP 传输的凭据校验)、
99// api(用户令牌管理页)、CI/CLI 网关。
Renamed lib/proto/proto/v1/agreement.proto → lib/proto/proto/auth/v1/agreement.proto lib/proto/proto/auth/v1/agreement.proto +1 −1 View lib/proto/proto/auth/v1/agreement.proto
@@ -2,7 +2,7 @@
22
33package auth.v1;
44
5import "common/v1/types.proto";
5import "auth/common/v1/types.proto";
66import "google/protobuf/timestamp.proto";
77
88// 协议文档(服务条款、隐私政策等)与接受状态。调用方:api(注册、登录后置检查、协议页)。
Renamed lib/proto/proto/v1/authorization.proto → lib/proto/proto/auth/v1/authorization.proto lib/proto/proto/auth/v1/authorization.proto +2 −2 View lib/proto/proto/auth/v1/authorization.proto
@@ -2,8 +2,8 @@
22
33package auth.v1;
44
5import "common/v1/errors.proto";
6import "common/v1/types.proto";
5import "auth/common/v1/errors.proto";
6import "auth/common/v1/types.proto";
77
88// 平台级授权。调用方:api(写接口入口)、object / notify / agent(动作前置检查)。
99//
Renamed lib/proto/proto/v1/events.proto → lib/proto/proto/auth/v1/events.proto lib/proto/proto/auth/v1/events.proto +1 −1 View lib/proto/proto/auth/v1/events.proto
@@ -87,7 +87,7 @@
8787
8888message LoginFailed {
8989 string method = 1;
90 string reason_code = 2; // 对应 common/v1/errors.proto 的 Code 名,如 "INVALID_CREDENTIALS"
90 string reason_code = 2; // 对应 auth/common/v1/errors.proto 的 Code 名,如 "INVALID_CREDENTIALS"
9191 string identity_masked = 3; // 输入的用户名或邮箱掩码,避免事件里存敏感原文
9292 bool locked = 4;
9393}
Renamed lib/proto/proto/v1/identity.proto → lib/proto/proto/auth/v1/identity.proto lib/proto/proto/auth/v1/identity.proto +4 −4 View lib/proto/proto/auth/v1/identity.proto
@@ -2,15 +2,15 @@
22
33package auth.v1;
44
5import "common/v1/errors.proto";
6import "common/v1/types.proto";
5import "auth/common/v1/errors.proto";
6import "auth/common/v1/types.proto";
77
88// 身份校验入口。调用方:api(用户接口前置)、git / ssh(HTTP 与 SSH 认证)、
99// chat / realtime / sfu(连接建立时)、issue / pr / agent / object / notify / webhook。
1010//
1111// 安全边界:
1212// * 凭据原文只在请求里出现,auth 立即摘要后丢弃,绝不回显、绝不落日志。
13// * 认证失败一律不区分“用户不存在”与“凭据错误”(见 common/v1/errors.proto 的 NOT_FOUND 说明),
13// * 认证失败一律不区分“用户不存在”与“凭据错误”(见 auth/common/v1/errors.proto 的 NOT_FOUND 说明),
1414// 上游如需按用户查数据显示,请改用 GetUserPublic / GetUserStatus,并自行确保调用方已认证。
1515// * 读取接口(Get / BatchGet)不做权限提升:email 字段仅在调用主体是本人或平台管理员时非空。
1616//
@@ -76,7 +76,7 @@
7676
7777message VerifyCredentialResponse {
7878 bool valid = 1;
79 // valid=false 时说明原因;取值与 common/v1/errors.proto 的 Code 同名。
79 // valid=false 时说明原因;取值与 auth/common/v1/errors.proto 的 Code 同名。
8080 auth.common.v1.Code reason = 2;
8181 // 仅 SECURITY_VERSION_STALE 时有意义。
8282 int32 current_security_version = 3;
Renamed lib/proto/proto/v1/mfa.proto → lib/proto/proto/auth/v1/mfa.proto lib/proto/proto/auth/v1/mfa.proto +2 −2 View lib/proto/proto/auth/v1/mfa.proto
@@ -2,8 +2,8 @@
22
33package auth.v1;
44
5import "common/v1/errors.proto";
6import "common/v1/types.proto";
5import "auth/common/v1/errors.proto";
6import "auth/common/v1/types.proto";
77import "google/protobuf/timestamp.proto";
88
99// 多因子状态与校验。调用方:api(登录第二因子步骤)、auth 自身(登录用例内部复用)。
Renamed lib/proto/proto/v1/organization.proto → lib/proto/proto/auth/v1/organization.proto lib/proto/proto/auth/v1/organization.proto +1 −1 View lib/proto/proto/auth/v1/organization.proto
@@ -2,7 +2,7 @@
22
33package auth.v1;
44
5import "common/v1/types.proto";
5import "auth/common/v1/types.proto";
66import "google/protobuf/timestamp.proto";
77
88// 组织与组织内成员的权限管理。调用方:api(组织页、成员管理、邀请兑换)。
Renamed lib/proto/proto/v1/session.proto → lib/proto/proto/auth/v1/session.proto lib/proto/proto/auth/v1/session.proto +1 −1 View lib/proto/proto/auth/v1/session.proto
@@ -2,7 +2,7 @@
22
33package auth.v1;
44
5import "common/v1/types.proto";
5import "auth/common/v1/types.proto";
66import "google/protobuf/timestamp.proto";
77
88// 会话生命周期。调用方:api(设备管理页)、auth 自身的管理面、notify(异常登录提醒的收尾动作)。
Renamed lib/proto/proto/v1/ssh_key.proto → lib/proto/proto/auth/v1/ssh_key.proto lib/proto/proto/auth/v1/ssh_key.proto +1 −1 View lib/proto/proto/auth/v1/ssh_key.proto
@@ -2,7 +2,7 @@
22
33package auth.v1;
44
5import "common/v1/types.proto";
5import "auth/common/v1/types.proto";
66
77// SSH 公钥的解析与管理。调用方:ssh(连接认证)、git(把 SSH 会话映射到用户)、api(密钥管理页)。
88//
Renamed lib/proto/proto/v1/token.proto → lib/proto/proto/auth/v1/token.proto lib/proto/proto/auth/v1/token.proto +3 −3 View lib/proto/proto/auth/v1/token.proto
@@ -2,8 +2,8 @@
22
33package auth.v1;
44
5import "common/v1/errors.proto";
6import "common/v1/types.proto";
5import "auth/common/v1/errors.proto";
6import "auth/common/v1/types.proto";
77import "google/protobuf/timestamp.proto";
88
99// 令牌签发与内省。调用方:api(为 chat / realtime / sfu / object / agent / notify 请求令牌)、
@@ -38,7 +38,7 @@
3838
3939message IntrospectTokenResponse {
4040 bool active = 1;
41 // active=false 时说明原因,取值同 common/v1/errors.proto 的 Code:TOKEN_EXPIRED /
41 // active=false 时说明原因,取值同 auth/common/v1/errors.proto 的 Code:TOKEN_EXPIRED /
4242 // TOKEN_REVOKED / SECURITY_VERSION_STALE / UNAUTHENTICATED。
4343 auth.common.v1.Code reason = 2;
4444 string token_id = 3;
Renamed lib/kenshell/proto/gitken/v1/cleanup.proto → lib/proto/proto/gitken/v1/cleanup.proto lib/proto/proto/gitken/v1/cleanup.proto +0 −0 View lib/proto/proto/gitken/v1/cleanup.proto
No content changes.
Renamed lib/kenshell/proto/gitken/v1/conflicts.proto → lib/proto/proto/gitken/v1/conflicts.proto lib/proto/proto/gitken/v1/conflicts.proto +0 −0 View lib/proto/proto/gitken/v1/conflicts.proto
No content changes.
Renamed lib/kenshell/proto/gitken/v1/lint.proto → lib/proto/proto/gitken/v1/lint.proto lib/proto/proto/gitken/v1/lint.proto +0 −0 View lib/proto/proto/gitken/v1/lint.proto
No content changes.
Renamed lib/kenshell/proto/gitken/v1/shared.proto → lib/proto/proto/gitken/v1/shared.proto lib/proto/proto/gitken/v1/shared.proto +0 −0 View lib/proto/proto/gitken/v1/shared.proto
No content changes.
Renamed lib/proto/proto/common/v1/status.proto → lib/proto/proto/google/rpc/status.proto lib/proto/proto/google/rpc/status.proto +0 −0 View lib/proto/proto/google/rpc/status.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/common/v1/errors.proto → lib/proto/proto/kenshell/common/v1/errors.proto lib/proto/proto/kenshell/common/v1/errors.proto +0 −0 View lib/proto/proto/kenshell/common/v1/errors.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/common/v1/types.proto → lib/proto/proto/kenshell/common/v1/types.proto lib/proto/proto/kenshell/common/v1/types.proto +0 −0 View lib/proto/proto/kenshell/common/v1/types.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/internal/v1/lfs.proto → lib/proto/proto/kenshell/internal/v1/lfs.proto lib/proto/proto/kenshell/internal/v1/lfs.proto +0 −0 View lib/proto/proto/kenshell/internal/v1/lfs.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/internal/v1/maintenance.proto → lib/proto/proto/kenshell/internal/v1/maintenance.proto lib/proto/proto/kenshell/internal/v1/maintenance.proto +0 −0 View lib/proto/proto/kenshell/internal/v1/maintenance.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/internal/v1/node.proto → lib/proto/proto/kenshell/internal/v1/node.proto lib/proto/proto/kenshell/internal/v1/node.proto +0 −0 View lib/proto/proto/kenshell/internal/v1/node.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/internal/v1/push_lock.proto → lib/proto/proto/kenshell/internal/v1/push_lock.proto lib/proto/proto/kenshell/internal/v1/push_lock.proto +0 −0 View lib/proto/proto/kenshell/internal/v1/push_lock.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/internal/v1/repository.proto → lib/proto/proto/kenshell/internal/v1/repository.proto lib/proto/proto/kenshell/internal/v1/repository.proto +0 −0 View lib/proto/proto/kenshell/internal/v1/repository.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/internal/v1/volume.proto → lib/proto/proto/kenshell/internal/v1/volume.proto lib/proto/proto/kenshell/internal/v1/volume.proto +0 −0 View lib/proto/proto/kenshell/internal/v1/volume.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/analysis.proto → lib/proto/proto/kenshell/v1/analysis.proto lib/proto/proto/kenshell/v1/analysis.proto +0 −0 View lib/proto/proto/kenshell/v1/analysis.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/archive.proto → lib/proto/proto/kenshell/v1/archive.proto lib/proto/proto/kenshell/v1/archive.proto +0 −0 View lib/proto/proto/kenshell/v1/archive.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/blob.proto → lib/proto/proto/kenshell/v1/blob.proto lib/proto/proto/kenshell/v1/blob.proto +0 −0 View lib/proto/proto/kenshell/v1/blob.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/commands.proto → lib/proto/proto/kenshell/v1/commands.proto lib/proto/proto/kenshell/v1/commands.proto +0 −0 View lib/proto/proto/kenshell/v1/commands.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/comment.proto → lib/proto/proto/kenshell/v1/comment.proto lib/proto/proto/kenshell/v1/comment.proto +0 −0 View lib/proto/proto/kenshell/v1/comment.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/commit.proto → lib/proto/proto/kenshell/v1/commit.proto lib/proto/proto/kenshell/v1/commit.proto +0 −0 View lib/proto/proto/kenshell/v1/commit.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/conflict.proto → lib/proto/proto/kenshell/v1/conflict.proto lib/proto/proto/kenshell/v1/conflict.proto +0 −0 View lib/proto/proto/kenshell/v1/conflict.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/diff.proto → lib/proto/proto/kenshell/v1/diff.proto lib/proto/proto/kenshell/v1/diff.proto +0 −0 View lib/proto/proto/kenshell/v1/diff.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/job.proto → lib/proto/proto/kenshell/v1/job.proto lib/proto/proto/kenshell/v1/job.proto +0 −0 View lib/proto/proto/kenshell/v1/job.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/lfs.proto → lib/proto/proto/kenshell/v1/lfs.proto lib/proto/proto/kenshell/v1/lfs.proto +0 −0 View lib/proto/proto/kenshell/v1/lfs.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/ref.proto → lib/proto/proto/kenshell/v1/ref.proto lib/proto/proto/kenshell/v1/ref.proto +0 −0 View lib/proto/proto/kenshell/v1/ref.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/remote.proto → lib/proto/proto/kenshell/v1/remote.proto lib/proto/proto/kenshell/v1/remote.proto +0 −0 View lib/proto/proto/kenshell/v1/remote.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/repository.proto → lib/proto/proto/kenshell/v1/repository.proto lib/proto/proto/kenshell/v1/repository.proto +0 −0 View lib/proto/proto/kenshell/v1/repository.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/search.proto → lib/proto/proto/kenshell/v1/search.proto lib/proto/proto/kenshell/v1/search.proto +0 −0 View lib/proto/proto/kenshell/v1/search.proto
No content changes.
Renamed lib/kenshell/proto/kenshell/v1/tree.proto → lib/proto/proto/kenshell/v1/tree.proto lib/proto/proto/kenshell/v1/tree.proto +0 −0 View lib/proto/proto/kenshell/v1/tree.proto
No content changes.
Renamed lib/kenshell/src/client.rs → lib/proto/src/client.rs lib/proto/src/client.rs +1 −1 View lib/proto/src/client.rs
@@ -8,7 +8,7 @@
88use uuid::Uuid;
99
1010use crate::error::{KenShellError, KenShellResult};
11use crate::proto;
11use crate::kenshell as proto;
1212
1313/// 64 MiB:KenShell 的 blob/archive 流与 pack 分片都按这个量级返回。
1414const DEFAULT_MESSAGE_SIZE: usize = 64 * 1024 * 1024;
Renamed lib/kenshell/src/error.rs → lib/proto/src/error.rs lib/proto/src/error.rs +0 −0 View lib/proto/src/error.rs
No content changes.
Modified lib/proto/src/lib.rs lib/proto/src/lib.rs +9 −0 View lib/proto/src/lib.rs
@@ -10,6 +10,9 @@
1010
1111use utoipa as _;
1212
13pub mod client;
14pub mod error;
15
1316pub mod pb {
1417 include!(concat!(env!("OUT_DIR"), "/_include.rs"));
1518}
@@ -19,3 +22,9 @@
1922pub use pb::*;
2023
2124pub const FILE_DESCRIPTOR_SET: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/descriptor.bin"));
25
26pub use client::KenShellClient;
27pub use error::KenShellError;
28
29pub const REQUEST_ID_HEADER: &str = "x-request-id";
30pub const RPC_KEY_HEADER: &str = "x-rpc-key";
Modified lib/proto/Cargo.toml lib/proto/Cargo.toml +2 −0 View lib/proto/Cargo.toml
@@ -9,9 +9,11 @@
99prost-types = { workspace = true }
1010serde = { workspace = true, features = ["derive"] }
1111serde_json = { workspace = true }
12thiserror = { workspace = true }
1213tonic = { workspace = true }
1314tonic-prost = { workspace = true }
1415utoipa = { version = "6.0.0", features = ["chrono", "uuid"] }
16uuid = { workspace = true }
1517
1618[build-dependencies]
1719tonic-prost-build = { workspace = true }
Modified Cargo.lock Cargo.lock +4 −17 View Cargo.lock
@@ -1888,8 +1888,8 @@
18881888 "auth",
18891889 "config 1.0.0",
18901890 "export",
1891 "kenshell",
18921891 "models",
1892 "proto",
18931893 "sea-orm",
18941894 "serde",
18951895 "thiserror 2.0.21",
@@ -2784,10 +2784,10 @@
27842784 "globset",
27852785 "hayro",
27862786 "jwt",
2787 "kenshell",
27882787 "maud",
27892788 "models",
27902789 "prost-types 0.14.4",
2790 "proto",
27912791 "pulldown-cmark",
27922792 "redis",
27932793 "sea-orm",
@@ -3916,21 +3916,6 @@
39163916]
39173917
39183918[[package]]
3919name = "kenshell"
3920version = "1.0.0"
3921dependencies = [
3922 "prost 0.14.4",
3923 "prost-types 0.14.4",
3924 "thiserror 2.0.21",
3925 "tokio",
3926 "tonic",
3927 "tonic-prost",
3928 "tonic-prost-build",
3929 "tracing",
3930 "uuid",
3931]
3932
3933[[package]]
39343919name = "kurbo"
39353920version = "0.13.1"
39363921source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5745,10 +5730,12 @@
57455730 "prost-types 0.14.4",
57465731 "serde",
57475732 "serde_json",
5733 "thiserror 2.0.21",
57485734 "tonic",
57495735 "tonic-prost",
57505736 "tonic-prost-build",
57515737 "utoipa 6.0.0",
5738 "uuid",
57525739]
57535740
57545741[[package]]
Modified Cargo.toml Cargo.toml +0 −1 View Cargo.toml
@@ -37,7 +37,6 @@
3737proto = { path = "lib/proto" }
3838session = { path = "lib/session" }
3939token = { path = "lib/token" }
40kenshell = { path = "lib/kenshell" }
4140jwt = { path = "lib/jwt" }
4241webapi = { path = "lib/webapi" }
4342pulls = { path = "lib/pulls" }
Modified Dockerfile Dockerfile +1 −1 View Dockerfile
@@ -31,7 +31,7 @@
3131# ---------------------------------------------------------------------------
3232FROM ${RUST_IMAGE} AS builder
3333
34# protoc:lib/proto 与 lib/kenshell 的 build.rs 都会编译 .proto。
34# protoc:lib/proto 的 build.rs 会编译 .proto。
3535# libssl-dev / pkg-config:native-tls 链(reqwest 等处)需要 OpenSSL 头文件。
3636ENV PROTOC_INCLUDE=/usr/include \
3737 CARGO_TERM_COLOR=always