├── .gitattributes ├── .github └── workflows │ ├── build.yml │ ├── check-for-pr.yml │ └── codeql-analysis.yml ├── .gitignore ├── .release-please-manifest.json ├── Assets ├── build │ ├── Package.props │ └── Package.targets └── src │ ├── AngelaServiceGrpc.cs │ ├── Buf │ └── Validate │ │ ├── Expression.cs │ │ ├── Priv │ │ └── Private.cs │ │ └── Validate.cs │ ├── Errors │ └── Errors.cs │ ├── MinerGrpc.cs │ ├── PorterServiceGrpc.cs │ ├── SentinelServiceGrpc.cs │ ├── SephirahPorterServiceGrpc.cs │ ├── SephirahServiceGrpc.cs │ └── TuiHub │ └── Protos │ └── Librarian │ ├── Miner │ └── V1 │ │ └── Miner.cs │ ├── Porter │ └── V1 │ │ ├── Gebura.cs │ │ ├── PorterService.cs │ │ └── Tiphereth.cs │ ├── Sephirah │ └── V1 │ │ ├── Angela │ │ ├── AngelaService.cs │ │ ├── Binah.cs │ │ ├── Gebura.cs │ │ └── Tiphereth.cs │ │ ├── Errors.cs │ │ ├── Porter │ │ └── SephirahPorterService.cs │ │ ├── Sentinel │ │ └── SentinelService.cs │ │ └── Sephirah │ │ ├── Base.cs │ │ ├── Binah.cs │ │ ├── Chesed.cs │ │ ├── Gebura.cs │ │ ├── Netzach.cs │ │ ├── SephirahService.cs │ │ ├── Tiphereth.cs │ │ └── Yesod.cs │ └── V1 │ ├── Common.cs │ └── Wellknown.cs ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── Makefile ├── README.md ├── TuiHub.Protos.csproj ├── TuiHub.Protos.nuspec ├── buf.gen.yaml ├── buf.lock ├── buf.yaml ├── docs ├── .gitignore ├── .nojekyll ├── README.md ├── _sidebar.md ├── index.html ├── logo.png ├── markdown.tmpl └── schemas │ └── savedata │ ├── v1-example.json │ ├── v1.json │ ├── v2.1-example.json │ ├── v2.1.json │ └── v2.json ├── go.mod ├── go.sum ├── lib ├── buf │ └── validate │ │ ├── expression.pb.dart │ │ ├── expression.pbjson.dart │ │ ├── priv │ │ ├── private.pb.dart │ │ └── private.pbjson.dart │ │ ├── validate.pb.dart │ │ ├── validate.pbenum.dart │ │ └── validate.pbjson.dart ├── errors │ ├── errors.pb.dart │ └── errors.pbjson.dart ├── google │ └── protobuf │ │ ├── descriptor.pb.dart │ │ ├── descriptor.pbenum.dart │ │ ├── descriptor.pbjson.dart │ │ ├── descriptor.pbserver.dart │ │ ├── duration.pb.dart │ │ ├── duration.pbenum.dart │ │ ├── duration.pbjson.dart │ │ ├── timestamp.pb.dart │ │ ├── timestamp.pbenum.dart │ │ ├── timestamp.pbjson.dart │ │ └── timestamp.pbserver.dart └── librarian │ ├── miner │ └── v1 │ │ ├── miner.pb.dart │ │ ├── miner.pbgrpc.dart │ │ └── miner.pbjson.dart │ ├── porter │ └── v1 │ │ ├── gebura.pb.dart │ │ ├── gebura.pbenum.dart │ │ ├── gebura.pbjson.dart │ │ ├── porter_service.pb.dart │ │ ├── porter_service.pbgrpc.dart │ │ ├── porter_service.pbjson.dart │ │ ├── tiphereth.pb.dart │ │ └── tiphereth.pbjson.dart │ ├── sephirah │ └── v1 │ │ ├── angela │ │ ├── angela_service.pb.dart │ │ ├── angela_service.pbgrpc.dart │ │ ├── angela_service.pbjson.dart │ │ ├── binah.pb.dart │ │ ├── binah.pbjson.dart │ │ ├── gebura.pb.dart │ │ ├── gebura.pbjson.dart │ │ ├── tiphereth.pb.dart │ │ ├── tiphereth.pbenum.dart │ │ └── tiphereth.pbjson.dart │ │ ├── errors.pb.dart │ │ ├── errors.pbenum.dart │ │ ├── errors.pbjson.dart │ │ ├── porter │ │ ├── sephirah_porter_service.pb.dart │ │ ├── sephirah_porter_service.pbgrpc.dart │ │ └── sephirah_porter_service.pbjson.dart │ │ ├── sentinel │ │ ├── sentinel_service.pb.dart │ │ ├── sentinel_service.pbgrpc.dart │ │ └── sentinel_service.pbjson.dart │ │ └── sephirah │ │ ├── base.pb.dart │ │ ├── base.pbjson.dart │ │ ├── binah.pb.dart │ │ ├── binah.pbenum.dart │ │ ├── binah.pbjson.dart │ │ ├── chesed.pb.dart │ │ ├── chesed.pbjson.dart │ │ ├── gebura.pb.dart │ │ ├── gebura.pbenum.dart │ │ ├── gebura.pbjson.dart │ │ ├── netzach.pb.dart │ │ ├── netzach.pbenum.dart │ │ ├── netzach.pbjson.dart │ │ ├── sephirah_service.pb.dart │ │ ├── sephirah_service.pbenum.dart │ │ ├── sephirah_service.pbgrpc.dart │ │ ├── sephirah_service.pbjson.dart │ │ ├── tiphereth.pb.dart │ │ ├── tiphereth.pbenum.dart │ │ ├── tiphereth.pbjson.dart │ │ ├── yesod.pb.dart │ │ ├── yesod.pbenum.dart │ │ └── yesod.pbjson.dart │ └── v1 │ ├── common.pb.dart │ ├── common.pbjson.dart │ ├── wellknown.pb.dart │ ├── wellknown.pbenum.dart │ └── wellknown.pbjson.dart ├── node ├── buf │ └── validate │ │ ├── expression_grpc_pb.d.ts │ │ ├── expression_grpc_pb.js │ │ ├── expression_pb.d.ts │ │ ├── expression_pb.js │ │ ├── priv │ │ ├── private_grpc_pb.d.ts │ │ ├── private_grpc_pb.js │ │ ├── private_pb.d.ts │ │ └── private_pb.js │ │ ├── validate_grpc_pb.d.ts │ │ ├── validate_grpc_pb.js │ │ ├── validate_pb.d.ts │ │ └── validate_pb.js ├── errors │ ├── errors_grpc_pb.d.ts │ ├── errors_grpc_pb.js │ ├── errors_pb.d.ts │ └── errors_pb.js └── librarian │ ├── miner │ └── v1 │ │ ├── miner_grpc_pb.d.ts │ │ ├── miner_grpc_pb.js │ │ ├── miner_pb.d.ts │ │ └── miner_pb.js │ ├── porter │ └── v1 │ │ ├── gebura_grpc_pb.d.ts │ │ ├── gebura_grpc_pb.js │ │ ├── gebura_pb.d.ts │ │ ├── gebura_pb.js │ │ ├── porter_service_grpc_pb.d.ts │ │ ├── porter_service_grpc_pb.js │ │ ├── porter_service_pb.d.ts │ │ ├── porter_service_pb.js │ │ ├── tiphereth_grpc_pb.d.ts │ │ ├── tiphereth_grpc_pb.js │ │ ├── tiphereth_pb.d.ts │ │ └── tiphereth_pb.js │ ├── sephirah │ └── v1 │ │ ├── angela │ │ ├── angela_service_grpc_pb.d.ts │ │ ├── angela_service_grpc_pb.js │ │ ├── angela_service_pb.d.ts │ │ ├── angela_service_pb.js │ │ ├── binah_grpc_pb.d.ts │ │ ├── binah_grpc_pb.js │ │ ├── binah_pb.d.ts │ │ ├── binah_pb.js │ │ ├── gebura_grpc_pb.d.ts │ │ ├── gebura_grpc_pb.js │ │ ├── gebura_pb.d.ts │ │ ├── gebura_pb.js │ │ ├── tiphereth_grpc_pb.d.ts │ │ ├── tiphereth_grpc_pb.js │ │ ├── tiphereth_pb.d.ts │ │ └── tiphereth_pb.js │ │ ├── errors_grpc_pb.d.ts │ │ ├── errors_grpc_pb.js │ │ ├── errors_pb.d.ts │ │ ├── errors_pb.js │ │ ├── porter │ │ ├── sephirah_porter_service_grpc_pb.d.ts │ │ ├── sephirah_porter_service_grpc_pb.js │ │ ├── sephirah_porter_service_pb.d.ts │ │ └── sephirah_porter_service_pb.js │ │ ├── sentinel │ │ ├── sentinel_service_grpc_pb.d.ts │ │ ├── sentinel_service_grpc_pb.js │ │ ├── sentinel_service_pb.d.ts │ │ └── sentinel_service_pb.js │ │ └── sephirah │ │ ├── base_grpc_pb.d.ts │ │ ├── base_grpc_pb.js │ │ ├── base_pb.d.ts │ │ ├── base_pb.js │ │ ├── binah_grpc_pb.d.ts │ │ ├── binah_grpc_pb.js │ │ ├── binah_pb.d.ts │ │ ├── binah_pb.js │ │ ├── chesed_grpc_pb.d.ts │ │ ├── chesed_grpc_pb.js │ │ ├── chesed_pb.d.ts │ │ ├── chesed_pb.js │ │ ├── gebura_grpc_pb.d.ts │ │ ├── gebura_grpc_pb.js │ │ ├── gebura_pb.d.ts │ │ ├── gebura_pb.js │ │ ├── netzach_grpc_pb.d.ts │ │ ├── netzach_grpc_pb.js │ │ ├── netzach_pb.d.ts │ │ ├── netzach_pb.js │ │ ├── sephirah_service_grpc_pb.d.ts │ │ ├── sephirah_service_grpc_pb.js │ │ ├── sephirah_service_pb.d.ts │ │ ├── sephirah_service_pb.js │ │ ├── tiphereth_grpc_pb.d.ts │ │ ├── tiphereth_grpc_pb.js │ │ ├── tiphereth_pb.d.ts │ │ ├── tiphereth_pb.js │ │ ├── yesod_grpc_pb.d.ts │ │ ├── yesod_grpc_pb.js │ │ ├── yesod_pb.d.ts │ │ └── yesod_pb.js │ └── v1 │ ├── common_grpc_pb.d.ts │ ├── common_grpc_pb.js │ ├── common_pb.d.ts │ ├── common_pb.js │ ├── wellknown_grpc_pb.d.ts │ ├── wellknown_grpc_pb.js │ ├── wellknown_pb.d.ts │ └── wellknown_pb.js ├── package-lock.json ├── package.json ├── pkg ├── buf │ └── validate │ │ ├── expression.pb.go │ │ ├── priv │ │ └── private.pb.go │ │ └── validate.pb.go ├── errors │ └── errors.pb.go └── librarian │ ├── miner │ └── v1 │ │ ├── miner.pb.go │ │ └── miner_grpc.pb.go │ ├── porter │ └── v1 │ │ ├── gebura.pb.go │ │ ├── porter_service.pb.go │ │ ├── porter_service_grpc.pb.go │ │ └── tiphereth.pb.go │ ├── sephirah │ └── v1 │ │ ├── angela │ │ ├── angela_service.pb.go │ │ ├── angela_service_grpc.pb.go │ │ ├── binah.pb.go │ │ ├── gebura.pb.go │ │ └── tiphereth.pb.go │ │ ├── errors.pb.go │ │ ├── errors_errors.pb.go │ │ ├── porter │ │ ├── sephirah_porter_service.pb.go │ │ └── sephirah_porter_service_grpc.pb.go │ │ ├── sentinel │ │ ├── sentinel_service.pb.go │ │ └── sentinel_service_grpc.pb.go │ │ └── sephirah │ │ ├── base.pb.go │ │ ├── binah.pb.go │ │ ├── chesed.pb.go │ │ ├── gebura.pb.go │ │ ├── netzach.pb.go │ │ ├── sephirah_service.pb.go │ │ ├── sephirah_service_grpc.pb.go │ │ ├── tiphereth.pb.go │ │ └── yesod.pb.go │ └── v1 │ ├── common.pb.go │ └── wellknown.pb.go ├── proto ├── errors │ └── errors.proto └── librarian │ ├── miner │ └── v1 │ │ └── miner.proto │ ├── porter │ └── v1 │ │ ├── gebura.proto │ │ ├── porter_service.proto │ │ └── tiphereth.proto │ ├── sephirah │ └── v1 │ │ ├── angela │ │ ├── angela_service.proto │ │ ├── binah.proto │ │ ├── gebura.proto │ │ └── tiphereth.proto │ │ ├── errors.proto │ │ ├── porter │ │ └── sephirah_porter_service.proto │ │ ├── sentinel │ │ └── sentinel_service.proto │ │ └── sephirah │ │ ├── base.proto │ │ ├── binah.proto │ │ ├── chesed.proto │ │ ├── gebura.proto │ │ ├── netzach.proto │ │ ├── sephirah_service.proto │ │ ├── tiphereth.proto │ │ └── yesod.proto │ └── v1 │ ├── common.proto │ └── wellknown.proto ├── pubspec.yaml ├── release-please-config.json ├── renovate.json └── src ├── buf.validate.priv.rs ├── buf.validate.priv.serde.rs ├── buf.validate.rs ├── buf.validate.serde.rs ├── errors.rs ├── errors.serde.rs ├── lib.rs ├── librarian.miner.v1.rs ├── librarian.miner.v1.serde.rs ├── librarian.miner.v1.tonic.rs ├── librarian.porter.v1.rs ├── librarian.porter.v1.serde.rs ├── librarian.porter.v1.tonic.rs ├── librarian.sephirah.v1.angela.rs ├── librarian.sephirah.v1.angela.serde.rs ├── librarian.sephirah.v1.angela.tonic.rs ├── librarian.sephirah.v1.porter.rs ├── librarian.sephirah.v1.porter.serde.rs ├── librarian.sephirah.v1.porter.tonic.rs ├── librarian.sephirah.v1.rs ├── librarian.sephirah.v1.sentinel.rs ├── librarian.sephirah.v1.sentinel.serde.rs ├── librarian.sephirah.v1.sentinel.tonic.rs ├── librarian.sephirah.v1.sephirah.rs ├── librarian.sephirah.v1.sephirah.serde.rs ├── librarian.sephirah.v1.sephirah.tonic.rs ├── librarian.sephirah.v1.serde.rs ├── librarian.v1.rs └── librarian.v1.serde.rs /.gitattributes: -------------------------------------------------------------------------------- 1 | pkg/** -linguist-generated 2 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build-and-deploy 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | 7 | workflow_dispatch: 8 | 9 | permissions: 10 | contents: write 11 | pages: write 12 | id-token: write 13 | packages: write 14 | pull-requests: write 15 | 16 | concurrency: 17 | group: "build" 18 | cancel-in-progress: true 19 | 20 | jobs: 21 | build: 22 | environment: 23 | name: github-pages 24 | url: ${{ steps.deployment.outputs.page_url }} 25 | runs-on: ubuntu-latest 26 | 27 | steps: 28 | - uses: actions/checkout@v4 29 | 30 | - name: Setup Go environment 31 | uses: actions/setup-go@v5.5.0 32 | with: 33 | go-version: 'oldstable' 34 | 35 | - name: Setup Node.js environment 36 | uses: actions/setup-node@v4.4.0 37 | 38 | - name: Setup .NET environment 39 | uses: actions/setup-dotnet@v4 40 | with: 41 | dotnet-version: '6.0.x' 42 | source-url: https://nuget.pkg.github.com/tuihub/index.json 43 | env: 44 | NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 45 | 46 | - name: Setup Rust environment 47 | uses: actions-rs/toolchain@v1 48 | with: 49 | toolchain: stable 50 | 51 | - name: Setup Dart environment 52 | uses: dart-lang/setup-dart@v1.4 53 | 54 | - name: Install Protoc 55 | uses: arduino/setup-protoc@v2 56 | 57 | - name: Install Protoc Plugins 58 | run: make install-plugins 59 | 60 | - name: Setup bufbuild 61 | uses: bufbuild/buf-setup-action@v1.50.0 62 | 63 | - name: Build 64 | run: make generate 65 | 66 | - name: Setup Pages 67 | uses: actions/configure-pages@v5 68 | - name: Upload artifact 69 | uses: actions/upload-pages-artifact@v3 70 | with: 71 | path: 'docs' 72 | - name: Deploy to GitHub Pages 73 | id: deployment 74 | uses: actions/deploy-pages@v4 75 | 76 | - name: Apply Changes 77 | uses: stefanzweifel/git-auto-commit-action@v5 78 | with: 79 | commit_message: 'chore: apply auto code generation' 80 | 81 | - uses: google-github-actions/release-please-action@v4 82 | id: release-please 83 | with: 84 | config-file: release-please-config.json 85 | 86 | - name: Build C# project 87 | if: ${{ steps.release-please.outputs.releases_created }} 88 | run: dotnet build TuiHub.Protos.csproj -c Release 89 | - name: Create nuget package 90 | if: ${{ steps.release-please.outputs.releases_created }} 91 | run: dotnet pack TuiHub.Protos.csproj --no-build -c Release 92 | - name: Publish nuget package to GPR 93 | if: ${{ steps.release-please.outputs.releases_created }} 94 | run: dotnet nuget push bin/Release/*.nupkg --skip-duplicate 95 | - name: Publish nuget package to nuget.org 96 | if: ${{ steps.release-please.outputs.releases_created }} 97 | run: dotnet nuget push bin/Release/*.nupkg --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key ${{secrets.NUGET_API_KEY}} 98 | -------------------------------------------------------------------------------- /.github/workflows/check-for-pr.yml: -------------------------------------------------------------------------------- 1 | name: check-for-pr 2 | 3 | on: pull_request 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v4 11 | 12 | - name: Setup Go environment 13 | uses: actions/setup-go@v5.5.0 14 | with: 15 | go-version: 'oldstable' 16 | 17 | - name: Setup Node.js environment 18 | uses: actions/setup-node@v4.4.0 19 | 20 | - name: Setup .NET environment 21 | uses: actions/setup-dotnet@v4 22 | with: 23 | dotnet-version: '6.0.x' 24 | source-url: https://nuget.pkg.github.com/tuihub/index.json 25 | env: 26 | NUGET_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 27 | 28 | - name: Setup Rust environment 29 | uses: actions-rs/toolchain@v1 30 | with: 31 | toolchain: stable 32 | 33 | - name: Setup Dart environment 34 | uses: dart-lang/setup-dart@v1.4 35 | 36 | - name: Install Protoc 37 | uses: arduino/setup-protoc@v2 38 | 39 | - name: Setup bufbuild 40 | uses: bufbuild/buf-setup-action@v1.50.0 41 | 42 | - name: Check 43 | run: make check -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | schedule: 16 | - cron: '40 16 * * 0' 17 | 18 | jobs: 19 | analyze: 20 | name: Analyze 21 | runs-on: ubuntu-latest 22 | permissions: 23 | actions: read 24 | contents: read 25 | security-events: write 26 | 27 | strategy: 28 | fail-fast: false 29 | matrix: 30 | language: [ 'csharp', 'go', 'javascript' ] 31 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] 32 | # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support 33 | 34 | steps: 35 | - name: Checkout repository 36 | uses: actions/checkout@v4 37 | 38 | # Initializes the CodeQL tools for scanning. 39 | - name: Initialize CodeQL 40 | uses: github/codeql-action/init@v3 41 | with: 42 | languages: ${{ matrix.language }} 43 | # If you wish to specify custom queries, you can do so here or in a config file. 44 | # By default, queries listed here will override any specified in a config file. 45 | # Prefix the list here with "+" to use these queries and those in the config file. 46 | 47 | # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs 48 | # queries: security-extended,security-and-quality 49 | 50 | 51 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 52 | # If this step fails, then you should remove it and run the build manually (see below) 53 | - name: Autobuild 54 | uses: github/codeql-action/autobuild@v3 55 | 56 | # ℹ️ Command-line programs to run using the OS shell. 57 | # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun 58 | 59 | # If the Autobuild fails above, remove it and uncomment the following three lines. 60 | # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. 61 | 62 | # - run: | 63 | # echo "Run, Build Application using script" 64 | # ./location_of_script_within_repo/buildscript.sh 65 | 66 | - name: Perform CodeQL Analysis 67 | uses: github/codeql-action/analyze@v3 68 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | /target 3 | .vscode/ 4 | /obj 5 | /bin 6 | 7 | # IntelliJ related 8 | *.iml 9 | *.ipr 10 | *.iws 11 | .idea/ 12 | 13 | # The .vscode folder contains launch configuration and tasks you configure in 14 | # VS Code which you may wish to be included in version control, so this line 15 | # is commented out by default. 16 | #.vscode/ 17 | 18 | # Flutter/Dart/Pub related 19 | # Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. 20 | /pubspec.lock 21 | **/doc/api/ 22 | .dart_tool/ 23 | .packages 24 | build/ 25 | -------------------------------------------------------------------------------- /.release-please-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | ".": "0.5.6" 3 | } -------------------------------------------------------------------------------- /Assets/build/Package.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | -------------------------------------------------------------------------------- /Assets/build/Package.targets: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $(MSBuildAllProjects);$(MSBuildThisFileFullPath) 5 | 6 | 7 | 8 | 9 | <_TuiHubProtosRoot>$(MSBuildThisFileDirectory)..\ 10 | <_TuiHubProtosSourceFolder>$(MSBuildThisFileDirectory)..\src\ 11 | 12 | 13 | 14 | 15 | 18 | 19 | <_TuiHubProtosCompile Include="$(_TuiHubProtosSourceFolder)**\*.cs" /> 20 | <_TuiHubProtosAllCompile Include="@(_TuiHubProtosCompile)" /> 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Assets/src/TuiHub/Protos/Librarian/Sephirah/V1/Errors.cs: -------------------------------------------------------------------------------- 1 | // 2 | // Generated by the protocol buffer compiler. DO NOT EDIT! 3 | // source: librarian/sephirah/v1/errors.proto 4 | // 5 | #pragma warning disable 1591, 0612, 3021, 8981 6 | #region Designer generated code 7 | 8 | using pb = global::Google.Protobuf; 9 | using pbc = global::Google.Protobuf.Collections; 10 | using pbr = global::Google.Protobuf.Reflection; 11 | using scg = global::System.Collections.Generic; 12 | namespace TuiHub.Protos.Librarian.Sephirah.V1 { 13 | 14 | /// Holder for reflection information generated from librarian/sephirah/v1/errors.proto 15 | public static partial class ErrorsReflection { 16 | 17 | #region Descriptor 18 | /// File descriptor for librarian/sephirah/v1/errors.proto 19 | public static pbr::FileDescriptor Descriptor { 20 | get { return descriptor; } 21 | } 22 | private static pbr::FileDescriptor descriptor; 23 | 24 | static ErrorsReflection() { 25 | byte[] descriptorData = global::System.Convert.FromBase64String( 26 | string.Concat( 27 | "CiJsaWJyYXJpYW4vc2VwaGlyYWgvdjEvZXJyb3JzLnByb3RvEhVsaWJyYXJp", 28 | "YW4uc2VwaGlyYWgudjEaE2Vycm9ycy9lcnJvcnMucHJvdG8quwIKC0Vycm9y", 29 | "UmVhc29uEiIKGEVSUk9SX1JFQVNPTl9VTlNQRUNJRklFRBAAGgSoRfQDEiIK", 30 | "GEVSUk9SX1JFQVNPTl9CQURfUkVRVUVTVBABGgSoRZADEiMKGUVSUk9SX1JF", 31 | "QVNPTl9VTkFVVEhPUklaRUQQAhoEqEWRAxIgChZFUlJPUl9SRUFTT05fRk9S", 32 | "QklEREVOEAMaBKhFkwMSIAoWRVJST1JfUkVBU09OX05PVF9GT1VORBAEGgSo", 33 | "RZQDEikKH0VSUk9SX1JFQVNPTl9NRVRIT0RfTk9UX0FMTE9XRUQQBRoEqEWV", 34 | "AxImChxFUlJPUl9SRUFTT05fTk9UX0lNUExFTUVOVEVEEAYaBKhF9QMSIgoY", 35 | "RVJST1JfUkVBU09OX0JBRF9HQVRFV0FZEAcaBKhF9gMaBKBF9ANCXVo1Z2l0", 36 | "aHViLmNvbS90dWlodWIvcHJvdG9zL3BrZy9saWJyYXJpYW4vc2VwaGlyYWgv", 37 | "djE7djGqAiNUdWlIdWIuUHJvdG9zLkxpYnJhcmlhbi5TZXBoaXJhaC5WMWIG", 38 | "cHJvdG8z")); 39 | descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, 40 | new pbr::FileDescriptor[] { global::Errors.ErrorsReflection.Descriptor, }, 41 | new pbr::GeneratedClrTypeInfo(new[] {typeof(global::TuiHub.Protos.Librarian.Sephirah.V1.ErrorReason), }, null, null)); 42 | } 43 | #endregion 44 | 45 | } 46 | #region Enums 47 | public enum ErrorReason { 48 | [pbr::OriginalName("ERROR_REASON_UNSPECIFIED")] Unspecified = 0, 49 | [pbr::OriginalName("ERROR_REASON_BAD_REQUEST")] BadRequest = 1, 50 | [pbr::OriginalName("ERROR_REASON_UNAUTHORIZED")] Unauthorized = 2, 51 | [pbr::OriginalName("ERROR_REASON_FORBIDDEN")] Forbidden = 3, 52 | [pbr::OriginalName("ERROR_REASON_NOT_FOUND")] NotFound = 4, 53 | [pbr::OriginalName("ERROR_REASON_METHOD_NOT_ALLOWED")] MethodNotAllowed = 5, 54 | [pbr::OriginalName("ERROR_REASON_NOT_IMPLEMENTED")] NotImplemented = 6, 55 | [pbr::OriginalName("ERROR_REASON_BAD_GATEWAY")] BadGateway = 7, 56 | } 57 | 58 | #endregion 59 | 60 | } 61 | 62 | #endregion Designer generated code 63 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "tuihub-protos" 3 | version = "0.5.6" 4 | edition = "2021" 5 | license = "MIT" 6 | readme = "README.md" 7 | 8 | [dependencies] 9 | bytes = "1.10.1" 10 | futures-core = "0.3.31" 11 | pbjson = "0.7.0" 12 | pbjson-types = "0.7.0" 13 | prost = "0.13.5" 14 | serde = "1.0.219" 15 | tonic = { version = "0.12.3", features = ["gzip"] } 16 | 17 | [features] 18 | default = [] 19 | # @@protoc_deletion_point(features) 20 | # This section is automatically generated by protoc-gen-prost-crate. 21 | # Changes in this area may be lost on regeneration. 22 | proto_full = ["buf-validate","buf-validate-priv","errors","librarian-miner-v1","librarian-porter-v1","librarian-sephirah-v1","librarian-sephirah-v1-angela","librarian-sephirah-v1-porter","librarian-sephirah-v1-sentinel","librarian-sephirah-v1-sephirah","librarian-v1"] 23 | "buf-validate" = [] 24 | "buf-validate-priv" = ["buf-validate"] 25 | "errors" = [] 26 | "librarian-miner-v1" = [] 27 | "librarian-porter-v1" = ["librarian-v1"] 28 | "librarian-sephirah-v1" = [] 29 | "librarian-sephirah-v1-angela" = ["librarian-sephirah-v1","librarian-sephirah-v1-sephirah","librarian-v1"] 30 | "librarian-sephirah-v1-porter" = ["librarian-sephirah-v1","librarian-v1"] 31 | "librarian-sephirah-v1-sentinel" = ["librarian-sephirah-v1"] 32 | "librarian-sephirah-v1-sephirah" = ["librarian-sephirah-v1","librarian-v1"] 33 | "librarian-v1" = [] 34 | ## @@protoc_insertion_point(features) -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 TuiHub 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | 3 | install-plugins: 4 | go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest 5 | go install google.golang.org/protobuf/cmd/protoc-gen-go@latest 6 | go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 7 | go install github.com/go-kratos/kratos/cmd/protoc-gen-go-errors/v2@latest 8 | npm install 9 | cargo install --locked protoc-gen-prost-crate 10 | dart pub global activate protoc_plugin 11 | 12 | generate: clean buf go rust dart 13 | 14 | check: buf-lint go rust dart 15 | 16 | buf: buf-lint buf-generate 17 | 18 | buf-lint: 19 | buf format -w 20 | buf lint 21 | 22 | buf-generate: 23 | PATH="${PATH}:${HOME}/.pub-cache/bin" buf generate --include-imports 24 | 25 | go: 26 | GO111MODULE=on go mod tidy 27 | 28 | rust: 29 | cargo check --features proto_full 30 | 31 | dart: 32 | dart pub get 33 | dart analyze 34 | 35 | clean: 36 | -rm -r Assets/src 37 | -rm docs/protos.md 38 | -rm -r pkg 39 | -rm -r node 40 | -rm -r src 41 | -cd lib && find . -maxdepth 1 ! -name 'google' -exec rm -r {} + -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![](./docs/logo.png) 2 | 3 | This repository contains protobuf definition and generated code for TuiHub **developers and contributors**. 4 | All the `.proto` files located at [proto folder](proto), it is recommended to import generated code rather than original definition. 5 | 6 | ## Usage 7 | 8 | ### Document 9 | 10 | Config files located at [docs](docs), But document content is generated by Action Bot 11 | Check [https://tuihub.github.io/protos](https://tuihub.github.io/protos) 12 | 13 | ### Go 14 | 15 | ```bash 16 | go get github.com/tuihub/protos 17 | ``` 18 | 19 | ### Js/Ts 20 | 21 | ```bash 22 | npm install https://github.com/tuihub/protos 23 | # Or 24 | yarn add https://github.com/tuihub/protos 25 | ``` 26 | 27 | ### Rust 28 | 29 | ```bash 30 | cargo add --git https://github.com/tuihub/protos 31 | ``` 32 | 33 | ### CSharp 34 | 35 | - Check [Package](https://github.com/orgs/tuihub/packages?repo_name=protos) page or [nuget](https://www.nuget.org/packages/TuiHub.Protos) for pre-packed file 36 | - Or pack locally 37 | 38 | ```bash 39 | git clone https://github.com/tuihub/protos && cd protos 40 | # How to install `dotnet`: https://learn.microsoft.com/en-us/dotnet/core/install/ 41 | dotnet pack TuiHub.Protos.csproj -c Release 42 | ``` 43 | 44 | ### Dart 45 | 46 | ```yaml 47 | # pubspec.yaml 48 | dependencies: 49 | ... 50 | # Add following lines 51 | tuihub_protos: 52 | git: https://github.com/tuihub/protos.git 53 | ``` 54 | 55 | ## Build Locally 56 | 57 | **Not Recommended**. You can focus on proto files and just use `buf lint` to make sure proto files are correct. Action Bot will deal with the rest. 58 | 59 | ### Install dependency 60 | 61 | **basic cli tool** 62 | 63 | - [buf](https://github.com/bufbuild/buf) 64 | 65 | **compiler** 66 | 67 | - [protoc](https://github.com/protocolbuffers/protobuf#protocol-compiler-installation) 68 | 69 | **language plugins** 70 | - Document: [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) 71 | ```bash 72 | GO111MODULE=off go get github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc 73 | ``` 74 | - Go: 75 | ```bash 76 | GO111MODULE=off go get github.com/gogo/protobuf/protoc-gen-gofast 77 | go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest 78 | export PATH="$PATH:$(go env GOPATH)/bin" 79 | ``` 80 | - Js/Ts: 81 | ```bash 82 | npm i 83 | ``` 84 | 85 | ### Build 86 | 87 | ```bash 88 | make generate 89 | ``` -------------------------------------------------------------------------------- /TuiHub.Protos.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netstandard2.0 5 | 8.0 6 | enable 7 | TuiHub.Protos 8 | TuiHub.Protos 9 | 0.5.6 10 | https://github.com/tuihub/protos 11 | https://github.com/tuihub/protos 12 | git 13 | protobuf;TuiHub 14 | MIT 15 | True 16 | TuiHub 17 | TuiHub 18 | False 19 | protobuf protocol files for TuiHub 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 35 | 36 | -------------------------------------------------------------------------------- /TuiHub.Protos.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | $id$ 5 | $version$ 6 | $title$ 7 | $authors$ 8 | true 9 | MIT 10 | 11 | https://github.com/tuihub/protos 12 | 13 | $description$ 14 | protobuf TuiHub 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /buf.gen.yaml: -------------------------------------------------------------------------------- 1 | version: v2 2 | plugins: 3 | #Document 4 | - local: protoc-gen-doc 5 | out: docs 6 | opt: docs/markdown.tmpl,protos.md 7 | strategy: all 8 | 9 | #Go 10 | - local: protoc-gen-go 11 | out: pkg 12 | opt: paths=source_relative 13 | - local: protoc-gen-go-grpc 14 | out: pkg 15 | opt: paths=source_relative 16 | - local: protoc-gen-go-errors 17 | out: pkg 18 | opt: paths=source_relative 19 | 20 | #JS 21 | - remote: buf.build/protocolbuffers/js:v3.21.4 22 | out: node 23 | opt: 24 | - import_style=commonjs 25 | - binary 26 | - local: node_modules/.bin/grpc_tools_node_protoc_plugin 27 | out: node 28 | opt: grpc_js 29 | 30 | #TS 31 | - local: node_modules/.bin/protoc-gen-ts 32 | out: node 33 | opt: 34 | - mode=grpc-js 35 | - service=grpc-node 36 | 37 | #Rust 38 | - remote: buf.build/community/neoeinstein-prost:v0.4.0 39 | out: src 40 | opt: 41 | - bytes=. 42 | - compile_well_known_types 43 | - extern_path=.google.protobuf=::pbjson_types 44 | - file_descriptor_set 45 | - remote: buf.build/community/neoeinstein-prost-serde:v0.3.1 46 | out: src 47 | - remote: buf.build/community/neoeinstein-tonic:v0.4.1 48 | out: src 49 | opt: 50 | - compile_well_known_types 51 | - extern_path=.google.protobuf=::pbjson_types 52 | - local: protoc-gen-prost-crate 53 | out: . 54 | opt: gen_crate=Cargo.toml 55 | strategy: all 56 | 57 | #CSharp 58 | - protoc_builtin: csharp 59 | out: Assets/src 60 | opt: base_namespace= 61 | - remote: buf.build/grpc/csharp:v1.66.1 62 | out: Assets/src 63 | 64 | #Dart 65 | - local: protoc-gen-dart 66 | out: lib 67 | opt: grpc 68 | -------------------------------------------------------------------------------- /buf.lock: -------------------------------------------------------------------------------- 1 | # Generated by buf. DO NOT EDIT. 2 | version: v2 3 | deps: 4 | - name: buf.build/bufbuild/protovalidate 5 | commit: 3757a25ff0b9479eae89d3e80a508d34 6 | digest: b5:b595de493fe51003d0523b5980c5f9710eb2b061b2bbdf73eb5eb572ef8500764186660349cbe491f92476fb66b048f1aca68a1d23856a542834c19e654cea78 7 | -------------------------------------------------------------------------------- /buf.yaml: -------------------------------------------------------------------------------- 1 | version: v2 2 | modules: 3 | - path: proto 4 | deps: 5 | - buf.build/bufbuild/protovalidate 6 | lint: 7 | use: 8 | - STANDARD 9 | except: 10 | - PACKAGE_VERSION_SUFFIX 11 | ignore_only: 12 | PACKAGE_VERSION_SUFFIX: 13 | - proto/errors/errors.proto 14 | disallow_comment_ignores: true 15 | breaking: 16 | use: 17 | - FILE 18 | except: 19 | - EXTENSION_NO_DELETE 20 | - FIELD_SAME_DEFAULT 21 | -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | protos.md -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuihub/protos/436acbad6a6547d041269852c8d136bf6233c396/docs/.nojekyll -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | ## [文档已迁移](https://github.com/tuihub/docs) 2 | 3 | ## 目前仅提供proto接口文档 4 | -------------------------------------------------------------------------------- /docs/_sidebar.md: -------------------------------------------------------------------------------- 1 | * [Home](/) 2 | * [Protos](protos.md) -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TuiHub Protos 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tuihub/protos/436acbad6a6547d041269852c8d136bf6233c396/docs/logo.png -------------------------------------------------------------------------------- /docs/markdown.tmpl: -------------------------------------------------------------------------------- 1 | # Protocol Documentation 2 | 26 | {{range .Files}} 27 | {{$file_name := .Name}} 28 | 29 | 30 | 31 | ## {{.Name}} 32 | {{.Description}} 33 | 34 | {{if .Services}} 35 | ### Services 36 | {{end}} 37 | {{range .Services}} 38 | 39 | 40 | #### {{.Name}} 41 | {{.Description}} 42 | 43 | | Method Name | Request Type | Response Type | Description | 44 | | ----------- | ------------ | ------------- | ------------| 45 | {{range .Methods -}} 46 | | {{.Name}} | [{{.RequestLongType}}](#{{.RequestFullType | anchor}}){{if .RequestStreaming}} stream{{end}} | [{{.ResponseLongType}}](#{{.ResponseFullType | anchor}}){{if .ResponseStreaming}} stream{{end}} | {{nobr .Description}} | 47 | {{end}} 48 | {{end}} 49 | 50 | {{if ne .Name "buf/validate/validate.proto"}} 51 | {{if .Messages}} 52 | ### Messages 53 | {{end}} 54 | {{range .Messages}} 55 | 56 | 57 | #### {{.LongName}} 58 | {{.Description}} 59 | 60 | {{if .HasFields}} 61 | | Field | Type | Label | Description | 62 | | ----- | ---- | ----- | ----------- | 63 | {{range .Fields -}} 64 | | {{.Name}} | [{{.LongType}}](#{{.FullType | anchor}}) | {{.Label}} | {{if (index .Options "deprecated"|default false)}}**Deprecated.** {{end}}{{nobr .Description}}{{if .DefaultValue}} Default: {{.DefaultValue}}{{end}} | 65 | {{end}} 66 | {{end}} 67 | 68 | {{if .HasExtensions}} 69 | | Extension | Type | Base | Number | Description | 70 | | --------- | ---- | ---- | ------ | ----------- | 71 | {{range .Extensions -}} 72 | | {{.Name}} | {{.LongType}} | {{.ContainingLongType}} | {{.Number}} | {{nobr .Description}}{{if .DefaultValue}} Default: {{.DefaultValue}}{{end}} | 73 | {{end}} 74 | {{end}} 75 | 76 | {{end}} 77 | {{end}} 78 | 79 | {{if .Enums}} 80 | ### Enums 81 | {{end}} 82 | {{range .Enums}} 83 | 84 | 85 | #### {{.LongName}} 86 | {{.Description}} 87 | 88 | | Name | Number | Description | 89 | | ---- | ------ | ----------- | 90 | {{range .Values -}} 91 | | {{.Name}} | {{.Number}} | {{nobr .Description}} | 92 | {{end}} 93 | 94 | {{end}} 95 | 96 | {{if .HasExtensions}} 97 | 98 | 99 | ### File-level Extensions 100 | | Extension | Type | Base | Number | Description | 101 | | --------- | ---- | ---- | ------ | ----------- | 102 | {{range .Extensions -}} 103 | | {{.Name}} | {{.LongType}} | {{.ContainingLongType}} | {{.Number}} | {{nobr .Description}}{{if .DefaultValue}} Default: `{{.DefaultValue}}`{{end}} | 104 | {{end}} 105 | {{end}} 106 | 107 | {{end}} 108 | 109 | ## Scalar Value Types 110 | 111 | | .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | 112 | | ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | 113 | {{range .Scalars -}} 114 | | {{.ProtoType}} | {{.Notes}} | {{.CppType}} | {{.JavaType}} | {{.PythonType}} | {{.GoType}} | {{.CSharp}} | {{.PhpType}} | {{.RubyType}} | 115 | {{end}} -------------------------------------------------------------------------------- /docs/schemas/savedata/v1-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://tuihub.github.io/protos/schemas/savedata/v1.json", 3 | "platform": "windows", 4 | "entries": [ 5 | { 6 | "id": 1, 7 | "pathMode": "absolute", 8 | "path": "//path/to/folder/" 9 | }, 10 | { 11 | "Id": 2, 12 | "pathMode": "document", 13 | "Path": "./path/to/file" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /docs/schemas/savedata/v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://github.com/tuihub/protos/schemas/savedata/v1", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "Save File Configs", 5 | "properties": { 6 | "platform": { 7 | "type": "string", 8 | "enum": ["windows"] 9 | }, 10 | "entries": { 11 | "type": "array", 12 | "items": [ 13 | { 14 | "type": "object", 15 | "properties": { 16 | "id": { 17 | "type": "number" 18 | }, 19 | "pathMode": { 20 | "type": "string", 21 | "enum": ["absolute", "game", "document", "profile"] 22 | }, 23 | "path": { 24 | "type": "string" 25 | } 26 | } 27 | } 28 | ], 29 | "minItems": 1, 30 | "uniqueItems": true 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /docs/schemas/savedata/v2.1-example.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://tuihub.github.io/protos/schemas/savedata/v2.1.json", 3 | "platform": "windows", 4 | "caseSensitive": false, 5 | "entries": [ 6 | { 7 | "id": 1, 8 | "baseDirMode": "gameRoot", 9 | "baseDir": ".\\savedata\\", 10 | "filePatterns": [ 11 | { 12 | "type": "include", 13 | "pattern": "FLAG???" 14 | }, 15 | { 16 | "type": "exclude", 17 | "pattern": "FLAG000" 18 | }, 19 | { 20 | "type": "exclude", 21 | "pattern": "FLAG999" 22 | } 23 | ], 24 | "clearBaseDirBeforeRestore": false 25 | }, 26 | { 27 | "id": 2, 28 | "baseDirMode": "userDocument", 29 | "baseDir": ".\\example_inc\\rvdata\\", 30 | "filePatterns": [ 31 | { 32 | "type": "include", 33 | "pattern": "*.rvdata2" 34 | }, 35 | { 36 | "type": "exclude", 37 | "pattern": "System.rvdata2" 38 | } 39 | ], 40 | "clearBaseDirBeforeRestore": false 41 | }, 42 | { 43 | "id": 3, 44 | "baseDirMode": "userProfile", 45 | "baseDir": ".\\Saved Games\\sPlus\\alp\\", 46 | "filePatterns": [ 47 | { 48 | "type": "include", 49 | "pattern": "*" 50 | }, 51 | { 52 | "type": "exclude", 53 | "pattern": "THM999" 54 | } 55 | ], 56 | "clearBaseDirBeforeRestore": false 57 | }, 58 | { 59 | "id": 4, 60 | "baseDirMode": "absolute", 61 | "baseDir": "D:\\dummy\\savedata\\", 62 | "filePatterns": [ 63 | { 64 | "type": "include", 65 | "pattern": "*" 66 | } 67 | ], 68 | "clearBaseDirBeforeRestore": true 69 | } 70 | ] 71 | } -------------------------------------------------------------------------------- /docs/schemas/savedata/v2.1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-07/schema#", 3 | "$id": "https://github.com/tuihub/protos/schemas/savedata/v2.1", 4 | "title": "TuiHub Savedata Config V2.1", 5 | "description": "Json schema v2.1 for TuiHub savedata config.", 6 | "type": "object", 7 | "properties": { 8 | "platform": { 9 | "type": "string", 10 | "enum": [ 11 | "windows" 12 | ] 13 | }, 14 | "caseSensitive": { 15 | "type": "boolean" 16 | }, 17 | "entries": { 18 | "type": "array", 19 | "items": { 20 | "type": "object", 21 | "properties": { 22 | "id": { 23 | "type": "number" 24 | }, 25 | "baseDirMode": { 26 | "type": "string", 27 | "enum": [ 28 | "gameRoot", 29 | "userDocument", 30 | "userProfile", 31 | "absolute" 32 | ] 33 | }, 34 | "baseDir": { 35 | "type": "string" 36 | }, 37 | "filePatterns": { 38 | "type": "array", 39 | "items": { 40 | "type": "object", 41 | "properties": { 42 | "type": { 43 | "type": "string", 44 | "enum": [ 45 | "include", 46 | "exclude" 47 | ] 48 | }, 49 | "pattern": { 50 | "type": "string" 51 | } 52 | }, 53 | "required": [ 54 | "type", 55 | "pattern" 56 | ] 57 | }, 58 | "minItems": 1, 59 | "uniqueItems": true 60 | }, 61 | "clearBaseDirBeforeRestore": { 62 | "type": "boolean" 63 | } 64 | }, 65 | "required": [ 66 | "id", 67 | "baseDirMode", 68 | "baseDir", 69 | "filePatterns", 70 | "clearBaseDirBeforeRestore" 71 | ] 72 | }, 73 | "minItems": 1, 74 | "uniqueItems": true 75 | } 76 | }, 77 | "required": [ 78 | "platform", 79 | "caseSensitive", 80 | "entries" 81 | ] 82 | } -------------------------------------------------------------------------------- /docs/schemas/savedata/v2.json: -------------------------------------------------------------------------------- 1 | { 2 | "$id": "https://github.com/tuihub/protos/schemas/savedata/v1", 3 | "$schema": "http://json-schema.org/draft-07/schema#", 4 | "title": "Save File Configs v2", 5 | "properties": { 6 | "platform": { 7 | "type": "string", 8 | "enum": ["windows"] 9 | }, 10 | "entries": { 11 | "type": "array", 12 | "items": { 13 | "type": "object", 14 | "properties": { 15 | "id": { 16 | "type": "number" 17 | }, 18 | "baseDirMode": { 19 | "type": "string", 20 | "enum": ["game-root", "user-document", "user-profile"] 21 | }, 22 | "baseDir": { 23 | "type": "string" 24 | }, 25 | "filePattern": { 26 | "type": "array", 27 | "items": { 28 | "type": "string" 29 | }, 30 | "minItems": 1, 31 | "uniqueItems": true 32 | }, 33 | "clearBaseDirBeforeRestore": { 34 | "type": "boolean" 35 | } 36 | }, 37 | "required": [ 38 | "id", 39 | "baseDirMode", 40 | "baseDir", 41 | "filePattern", 42 | "clearBaseDirBeforeRestore" 43 | ] 44 | }, 45 | "minItems": 1, 46 | "uniqueItems": true 47 | } 48 | }, 49 | "required": [ 50 | "platform", 51 | "entries" 52 | ] 53 | } -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- 1 | module github.com/tuihub/protos 2 | 3 | go 1.23.0 4 | 5 | toolchain go1.24.2 6 | 7 | require ( 8 | buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240717164558-a6c49f84cc0f.2 9 | github.com/go-kratos/kratos/v2 v2.8.4 10 | google.golang.org/grpc v1.73.0 11 | google.golang.org/protobuf v1.36.6 12 | ) 13 | 14 | require ( 15 | golang.org/x/net v0.38.0 // indirect 16 | golang.org/x/sys v0.31.0 // indirect 17 | golang.org/x/text v0.23.0 // indirect 18 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 // indirect 19 | ) 20 | -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- 1 | buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240717164558-a6c49f84cc0f.2 h1:SZRVx928rbYZ6hEKUIN+vtGDkl7uotABRWGY4OAg5gM= 2 | buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.34.2-20240717164558-a6c49f84cc0f.2/go.mod h1:ylS4c28ACSI59oJrOdW4pHS4n0Hw4TgSPHn8rpHl4Yw= 3 | github.com/go-kratos/kratos/v2 v2.8.4 h1:eIJLE9Qq9WSoKx+Buy2uPyrahtF/lPh+Xf4MTpxhmjs= 4 | github.com/go-kratos/kratos/v2 v2.8.4/go.mod h1:mq62W2101a5uYyRxe+7IdWubu7gZCGYqSNKwGFiiRcw= 5 | github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= 6 | github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= 7 | github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= 8 | github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= 9 | github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= 10 | github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= 11 | github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= 12 | github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= 13 | github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= 14 | github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= 15 | go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= 16 | go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= 17 | go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= 18 | go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= 19 | go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= 20 | go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= 21 | go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= 22 | go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= 23 | go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= 24 | go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= 25 | go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= 26 | go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= 27 | golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= 28 | golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= 29 | golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= 30 | golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= 31 | golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= 32 | golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= 33 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463 h1:e0AIkUUhxyBKh6ssZNrAMeqhA7RKUj42346d1y02i2g= 34 | google.golang.org/genproto/googleapis/rpc v0.0.0-20250324211829-b45e905df463/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= 35 | google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= 36 | google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= 37 | google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= 38 | google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= 39 | -------------------------------------------------------------------------------- /lib/buf/validate/expression.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: buf/validate/expression.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use constraintDescriptor instead') 18 | const Constraint$json = { 19 | '1': 'Constraint', 20 | '2': [ 21 | {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, 22 | {'1': 'message', '3': 2, '4': 1, '5': 9, '10': 'message'}, 23 | {'1': 'expression', '3': 3, '4': 1, '5': 9, '10': 'expression'}, 24 | ], 25 | }; 26 | 27 | /// Descriptor for `Constraint`. Decode as a `google.protobuf.DescriptorProto`. 28 | final $typed_data.Uint8List constraintDescriptor = $convert.base64Decode( 29 | 'CgpDb25zdHJhaW50Eg4KAmlkGAEgASgJUgJpZBIYCgdtZXNzYWdlGAIgASgJUgdtZXNzYWdlEh' 30 | '4KCmV4cHJlc3Npb24YAyABKAlSCmV4cHJlc3Npb24='); 31 | 32 | @$core.Deprecated('Use violationsDescriptor instead') 33 | const Violations$json = { 34 | '1': 'Violations', 35 | '2': [ 36 | {'1': 'violations', '3': 1, '4': 3, '5': 11, '6': '.buf.validate.Violation', '10': 'violations'}, 37 | ], 38 | }; 39 | 40 | /// Descriptor for `Violations`. Decode as a `google.protobuf.DescriptorProto`. 41 | final $typed_data.Uint8List violationsDescriptor = $convert.base64Decode( 42 | 'CgpWaW9sYXRpb25zEjcKCnZpb2xhdGlvbnMYASADKAsyFy5idWYudmFsaWRhdGUuVmlvbGF0aW' 43 | '9uUgp2aW9sYXRpb25z'); 44 | 45 | @$core.Deprecated('Use violationDescriptor instead') 46 | const Violation$json = { 47 | '1': 'Violation', 48 | '2': [ 49 | {'1': 'field_path', '3': 1, '4': 1, '5': 9, '10': 'fieldPath'}, 50 | {'1': 'constraint_id', '3': 2, '4': 1, '5': 9, '10': 'constraintId'}, 51 | {'1': 'message', '3': 3, '4': 1, '5': 9, '10': 'message'}, 52 | ], 53 | }; 54 | 55 | /// Descriptor for `Violation`. Decode as a `google.protobuf.DescriptorProto`. 56 | final $typed_data.Uint8List violationDescriptor = $convert.base64Decode( 57 | 'CglWaW9sYXRpb24SHQoKZmllbGRfcGF0aBgBIAEoCVIJZmllbGRQYXRoEiMKDWNvbnN0cmFpbn' 58 | 'RfaWQYAiABKAlSDGNvbnN0cmFpbnRJZBIYCgdtZXNzYWdlGAMgASgJUgdtZXNzYWdl'); 59 | 60 | -------------------------------------------------------------------------------- /lib/buf/validate/priv/private.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: buf/validate/priv/private.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use fieldConstraintsDescriptor instead') 18 | const FieldConstraints$json = { 19 | '1': 'FieldConstraints', 20 | '2': [ 21 | {'1': 'cel', '3': 1, '4': 3, '5': 11, '6': '.buf.validate.priv.Constraint', '10': 'cel'}, 22 | ], 23 | }; 24 | 25 | /// Descriptor for `FieldConstraints`. Decode as a `google.protobuf.DescriptorProto`. 26 | final $typed_data.Uint8List fieldConstraintsDescriptor = $convert.base64Decode( 27 | 'ChBGaWVsZENvbnN0cmFpbnRzEi8KA2NlbBgBIAMoCzIdLmJ1Zi52YWxpZGF0ZS5wcml2LkNvbn' 28 | 'N0cmFpbnRSA2NlbA=='); 29 | 30 | @$core.Deprecated('Use constraintDescriptor instead') 31 | const Constraint$json = { 32 | '1': 'Constraint', 33 | '2': [ 34 | {'1': 'id', '3': 1, '4': 1, '5': 9, '10': 'id'}, 35 | {'1': 'message', '3': 2, '4': 1, '5': 9, '10': 'message'}, 36 | {'1': 'expression', '3': 3, '4': 1, '5': 9, '10': 'expression'}, 37 | ], 38 | }; 39 | 40 | /// Descriptor for `Constraint`. Decode as a `google.protobuf.DescriptorProto`. 41 | final $typed_data.Uint8List constraintDescriptor = $convert.base64Decode( 42 | 'CgpDb25zdHJhaW50Eg4KAmlkGAEgASgJUgJpZBIYCgdtZXNzYWdlGAIgASgJUgdtZXNzYWdlEh' 43 | '4KCmV4cHJlc3Npb24YAyABKAlSCmV4cHJlc3Npb24='); 44 | 45 | -------------------------------------------------------------------------------- /lib/buf/validate/validate.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: buf/validate/validate.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | /// WellKnownRegex contain some well-known patterns. 18 | class KnownRegex extends $pb.ProtobufEnum { 19 | static const KnownRegex KNOWN_REGEX_UNSPECIFIED = KnownRegex._(0, _omitEnumNames ? '' : 'KNOWN_REGEX_UNSPECIFIED'); 20 | /// HTTP header name as defined by [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2). 21 | static const KnownRegex KNOWN_REGEX_HTTP_HEADER_NAME = KnownRegex._(1, _omitEnumNames ? '' : 'KNOWN_REGEX_HTTP_HEADER_NAME'); 22 | /// HTTP header value as defined by [RFC 7230](https://tools.ietf.org/html/rfc7230#section-3.2.4). 23 | static const KnownRegex KNOWN_REGEX_HTTP_HEADER_VALUE = KnownRegex._(2, _omitEnumNames ? '' : 'KNOWN_REGEX_HTTP_HEADER_VALUE'); 24 | 25 | static const $core.List values = [ 26 | KNOWN_REGEX_UNSPECIFIED, 27 | KNOWN_REGEX_HTTP_HEADER_NAME, 28 | KNOWN_REGEX_HTTP_HEADER_VALUE, 29 | ]; 30 | 31 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 2); 32 | static KnownRegex? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 33 | 34 | const KnownRegex._(super.value, super.name); 35 | } 36 | 37 | 38 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 39 | -------------------------------------------------------------------------------- /lib/errors/errors.pb.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: errors/errors.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions; 18 | 19 | class Error extends $pb.GeneratedMessage { 20 | factory Error({ 21 | $core.int? code, 22 | $core.String? reason, 23 | $core.String? message, 24 | $core.Iterable<$core.MapEntry<$core.String, $core.String>>? metadata, 25 | }) { 26 | final result = create(); 27 | if (code != null) result.code = code; 28 | if (reason != null) result.reason = reason; 29 | if (message != null) result.message = message; 30 | if (metadata != null) result.metadata.addEntries(metadata); 31 | return result; 32 | } 33 | 34 | Error._(); 35 | 36 | factory Error.fromBuffer($core.List<$core.int> data, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(data, registry); 37 | factory Error.fromJson($core.String json, [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(json, registry); 38 | 39 | static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Error', package: const $pb.PackageName(_omitMessageNames ? '' : 'errors'), createEmptyInstance: create) 40 | ..a<$core.int>(1, _omitFieldNames ? '' : 'code', $pb.PbFieldType.O3) 41 | ..aOS(2, _omitFieldNames ? '' : 'reason') 42 | ..aOS(3, _omitFieldNames ? '' : 'message') 43 | ..m<$core.String, $core.String>(4, _omitFieldNames ? '' : 'metadata', entryClassName: 'Error.MetadataEntry', keyFieldType: $pb.PbFieldType.OS, valueFieldType: $pb.PbFieldType.OS, packageName: const $pb.PackageName('errors')) 44 | ..hasRequiredFields = false 45 | ; 46 | 47 | @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.') 48 | Error clone() => Error()..mergeFromMessage(this); 49 | @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.') 50 | Error copyWith(void Function(Error) updates) => super.copyWith((message) => updates(message as Error)) as Error; 51 | 52 | @$core.override 53 | $pb.BuilderInfo get info_ => _i; 54 | 55 | @$core.pragma('dart2js:noInline') 56 | static Error create() => Error._(); 57 | @$core.override 58 | Error createEmptyInstance() => create(); 59 | static $pb.PbList createRepeated() => $pb.PbList(); 60 | @$core.pragma('dart2js:noInline') 61 | static Error getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); 62 | static Error? _defaultInstance; 63 | 64 | @$pb.TagNumber(1) 65 | $core.int get code => $_getIZ(0); 66 | @$pb.TagNumber(1) 67 | set code($core.int value) => $_setSignedInt32(0, value); 68 | @$pb.TagNumber(1) 69 | $core.bool hasCode() => $_has(0); 70 | @$pb.TagNumber(1) 71 | void clearCode() => $_clearField(1); 72 | 73 | @$pb.TagNumber(2) 74 | $core.String get reason => $_getSZ(1); 75 | @$pb.TagNumber(2) 76 | set reason($core.String value) => $_setString(1, value); 77 | @$pb.TagNumber(2) 78 | $core.bool hasReason() => $_has(1); 79 | @$pb.TagNumber(2) 80 | void clearReason() => $_clearField(2); 81 | 82 | @$pb.TagNumber(3) 83 | $core.String get message => $_getSZ(2); 84 | @$pb.TagNumber(3) 85 | set message($core.String value) => $_setString(2, value); 86 | @$pb.TagNumber(3) 87 | $core.bool hasMessage() => $_has(2); 88 | @$pb.TagNumber(3) 89 | void clearMessage() => $_clearField(3); 90 | 91 | @$pb.TagNumber(4) 92 | $pb.PbMap<$core.String, $core.String> get metadata => $_getMap(3); 93 | } 94 | 95 | class Errors { 96 | static final defaultCode = $pb.Extension<$core.int>(_omitMessageNames ? '' : 'google.protobuf.EnumOptions', _omitFieldNames ? '' : 'defaultCode', 1108, $pb.PbFieldType.O3); 97 | static final code = $pb.Extension<$core.int>(_omitMessageNames ? '' : 'google.protobuf.EnumValueOptions', _omitFieldNames ? '' : 'code', 1109, $pb.PbFieldType.O3); 98 | static void registerAllExtensions($pb.ExtensionRegistry registry) { 99 | registry.add(defaultCode); 100 | registry.add(code); 101 | } 102 | } 103 | 104 | 105 | const $core.bool _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); 106 | const $core.bool _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); 107 | -------------------------------------------------------------------------------- /lib/errors/errors.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: errors/errors.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use errorDescriptor instead') 18 | const Error$json = { 19 | '1': 'Error', 20 | '2': [ 21 | {'1': 'code', '3': 1, '4': 1, '5': 5, '10': 'code'}, 22 | {'1': 'reason', '3': 2, '4': 1, '5': 9, '10': 'reason'}, 23 | {'1': 'message', '3': 3, '4': 1, '5': 9, '10': 'message'}, 24 | {'1': 'metadata', '3': 4, '4': 3, '5': 11, '6': '.errors.Error.MetadataEntry', '10': 'metadata'}, 25 | ], 26 | '3': [Error_MetadataEntry$json], 27 | }; 28 | 29 | @$core.Deprecated('Use errorDescriptor instead') 30 | const Error_MetadataEntry$json = { 31 | '1': 'MetadataEntry', 32 | '2': [ 33 | {'1': 'key', '3': 1, '4': 1, '5': 9, '10': 'key'}, 34 | {'1': 'value', '3': 2, '4': 1, '5': 9, '10': 'value'}, 35 | ], 36 | '7': {'7': true}, 37 | }; 38 | 39 | /// Descriptor for `Error`. Decode as a `google.protobuf.DescriptorProto`. 40 | final $typed_data.Uint8List errorDescriptor = $convert.base64Decode( 41 | 'CgVFcnJvchISCgRjb2RlGAEgASgFUgRjb2RlEhYKBnJlYXNvbhgCIAEoCVIGcmVhc29uEhgKB2' 42 | '1lc3NhZ2UYAyABKAlSB21lc3NhZ2USNwoIbWV0YWRhdGEYBCADKAsyGy5lcnJvcnMuRXJyb3Iu' 43 | 'TWV0YWRhdGFFbnRyeVIIbWV0YWRhdGEaOwoNTWV0YWRhdGFFbnRyeRIQCgNrZXkYASABKAlSA2' 44 | 'tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgB'); 45 | 46 | -------------------------------------------------------------------------------- /lib/google/protobuf/descriptor.pbserver.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/descriptor.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | export 'descriptor.pb.dart'; 9 | 10 | -------------------------------------------------------------------------------- /lib/google/protobuf/duration.pb.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/duration.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | import 'dart:core' as $core; 9 | 10 | import 'package:fixnum/fixnum.dart' as $fixnum; 11 | import 'package:protobuf/protobuf.dart' as $pb; 12 | 13 | import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; 14 | 15 | class Duration extends $pb.GeneratedMessage with $mixin.DurationMixin { 16 | static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Duration', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.DurationMixin.toProto3JsonHelper, fromProto3Json: $mixin.DurationMixin.fromProto3JsonHelper) 17 | ..aInt64(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'seconds') 18 | ..a<$core.int>(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'nanos', $pb.PbFieldType.O3) 19 | ..hasRequiredFields = false 20 | ; 21 | 22 | Duration._() : super(); 23 | factory Duration({ 24 | $fixnum.Int64? seconds, 25 | $core.int? nanos, 26 | }) { 27 | final _result = create(); 28 | if (seconds != null) { 29 | _result.seconds = seconds; 30 | } 31 | if (nanos != null) { 32 | _result.nanos = nanos; 33 | } 34 | return _result; 35 | } 36 | factory Duration.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); 37 | factory Duration.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); 38 | @$core.Deprecated( 39 | 'Using this can add significant overhead to your binary. ' 40 | 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 41 | 'Will be removed in next major version') 42 | Duration clone() => Duration()..mergeFromMessage(this); 43 | @$core.Deprecated( 44 | 'Using this can add significant overhead to your binary. ' 45 | 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 46 | 'Will be removed in next major version') 47 | Duration copyWith(void Function(Duration) updates) => super.copyWith((message) => updates(message as Duration)) as Duration; // ignore: deprecated_member_use 48 | $pb.BuilderInfo get info_ => _i; 49 | @$core.pragma('dart2js:noInline') 50 | static Duration create() => Duration._(); 51 | Duration createEmptyInstance() => create(); 52 | static $pb.PbList createRepeated() => $pb.PbList(); 53 | @$core.pragma('dart2js:noInline') 54 | static Duration getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); 55 | static Duration? _defaultInstance; 56 | 57 | @$pb.TagNumber(1) 58 | $fixnum.Int64 get seconds => $_getI64(0); 59 | @$pb.TagNumber(1) 60 | set seconds($fixnum.Int64 v) { $_setInt64(0, v); } 61 | @$pb.TagNumber(1) 62 | $core.bool hasSeconds() => $_has(0); 63 | @$pb.TagNumber(1) 64 | void clearSeconds() => clearField(1); 65 | 66 | @$pb.TagNumber(2) 67 | $core.int get nanos => $_getIZ(1); 68 | @$pb.TagNumber(2) 69 | set nanos($core.int v) { $_setSignedInt32(1, v); } 70 | @$pb.TagNumber(2) 71 | $core.bool hasNanos() => $_has(1); 72 | @$pb.TagNumber(2) 73 | void clearNanos() => clearField(2); 74 | } 75 | 76 | -------------------------------------------------------------------------------- /lib/google/protobuf/duration.pbenum.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/duration.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | -------------------------------------------------------------------------------- /lib/google/protobuf/duration.pbjson.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/duration.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | import 'dart:core' as $core; 9 | import 'dart:convert' as $convert; 10 | import 'dart:typed_data' as $typed_data; 11 | @$core.Deprecated('Use durationDescriptor instead') 12 | const Duration$json = const { 13 | '1': 'Duration', 14 | '2': const [ 15 | const {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'}, 16 | const {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'}, 17 | ], 18 | }; 19 | 20 | /// Descriptor for `Duration`. Decode as a `google.protobuf.DescriptorProto`. 21 | final $typed_data.Uint8List durationDescriptor = $convert.base64Decode('CghEdXJhdGlvbhIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW5vcw=='); 22 | -------------------------------------------------------------------------------- /lib/google/protobuf/timestamp.pb.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/timestamp.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | import 'dart:core' as $core; 9 | 10 | import 'package:fixnum/fixnum.dart' as $fixnum; 11 | import 'package:protobuf/protobuf.dart' as $pb; 12 | 13 | import 'package:protobuf/src/protobuf/mixins/well_known.dart' as $mixin; 14 | 15 | class Timestamp extends $pb.GeneratedMessage with $mixin.TimestampMixin { 16 | static final $pb.BuilderInfo _i = $pb.BuilderInfo(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'Timestamp', package: const $pb.PackageName(const $core.bool.fromEnvironment('protobuf.omit_message_names') ? '' : 'google.protobuf'), createEmptyInstance: create, toProto3Json: $mixin.TimestampMixin.toProto3JsonHelper, fromProto3Json: $mixin.TimestampMixin.fromProto3JsonHelper) 17 | ..aInt64(1, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'seconds') 18 | ..a<$core.int>(2, const $core.bool.fromEnvironment('protobuf.omit_field_names') ? '' : 'nanos', $pb.PbFieldType.O3) 19 | ..hasRequiredFields = false 20 | ; 21 | 22 | Timestamp._() : super(); 23 | factory Timestamp({ 24 | $fixnum.Int64? seconds, 25 | $core.int? nanos, 26 | }) { 27 | final _result = create(); 28 | if (seconds != null) { 29 | _result.seconds = seconds; 30 | } 31 | if (nanos != null) { 32 | _result.nanos = nanos; 33 | } 34 | return _result; 35 | } 36 | factory Timestamp.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); 37 | factory Timestamp.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); 38 | @$core.Deprecated( 39 | 'Using this can add significant overhead to your binary. ' 40 | 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' 41 | 'Will be removed in next major version') 42 | Timestamp clone() => Timestamp()..mergeFromMessage(this); 43 | @$core.Deprecated( 44 | 'Using this can add significant overhead to your binary. ' 45 | 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' 46 | 'Will be removed in next major version') 47 | Timestamp copyWith(void Function(Timestamp) updates) => super.copyWith((message) => updates(message as Timestamp)) as Timestamp; // ignore: deprecated_member_use 48 | $pb.BuilderInfo get info_ => _i; 49 | @$core.pragma('dart2js:noInline') 50 | static Timestamp create() => Timestamp._(); 51 | Timestamp createEmptyInstance() => create(); 52 | static $pb.PbList createRepeated() => $pb.PbList(); 53 | @$core.pragma('dart2js:noInline') 54 | static Timestamp getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); 55 | static Timestamp? _defaultInstance; 56 | 57 | @$pb.TagNumber(1) 58 | $fixnum.Int64 get seconds => $_getI64(0); 59 | @$pb.TagNumber(1) 60 | set seconds($fixnum.Int64 v) { $_setInt64(0, v); } 61 | @$pb.TagNumber(1) 62 | $core.bool hasSeconds() => $_has(0); 63 | @$pb.TagNumber(1) 64 | void clearSeconds() => clearField(1); 65 | 66 | @$pb.TagNumber(2) 67 | $core.int get nanos => $_getIZ(1); 68 | @$pb.TagNumber(2) 69 | set nanos($core.int v) { $_setSignedInt32(1, v); } 70 | @$pb.TagNumber(2) 71 | $core.bool hasNanos() => $_has(1); 72 | @$pb.TagNumber(2) 73 | void clearNanos() => clearField(2); 74 | /// Creates a new instance from [dateTime]. 75 | /// 76 | /// Time zone information will not be preserved. 77 | static Timestamp fromDateTime($core.DateTime dateTime) { 78 | final result = create(); 79 | $mixin.TimestampMixin.setFromDateTime(result, dateTime); 80 | return result; 81 | } 82 | } 83 | 84 | -------------------------------------------------------------------------------- /lib/google/protobuf/timestamp.pbenum.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/timestamp.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | -------------------------------------------------------------------------------- /lib/google/protobuf/timestamp.pbjson.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/timestamp.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | import 'dart:core' as $core; 9 | import 'dart:convert' as $convert; 10 | import 'dart:typed_data' as $typed_data; 11 | @$core.Deprecated('Use timestampDescriptor instead') 12 | const Timestamp$json = const { 13 | '1': 'Timestamp', 14 | '2': const [ 15 | const {'1': 'seconds', '3': 1, '4': 1, '5': 3, '10': 'seconds'}, 16 | const {'1': 'nanos', '3': 2, '4': 1, '5': 5, '10': 'nanos'}, 17 | ], 18 | }; 19 | 20 | /// Descriptor for `Timestamp`. Decode as a `google.protobuf.DescriptorProto`. 21 | final $typed_data.Uint8List timestampDescriptor = $convert.base64Decode('CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3M='); 22 | -------------------------------------------------------------------------------- /lib/google/protobuf/timestamp.pbserver.dart: -------------------------------------------------------------------------------- 1 | /// 2 | // Generated code. Do not modify. 3 | // source: google/protobuf/timestamp.proto 4 | // 5 | // @dart = 2.12 6 | // ignore_for_file: annotate_overrides,camel_case_types,constant_identifier_names,deprecated_member_use_from_same_package,directives_ordering,library_prefixes,non_constant_identifier_names,prefer_final_fields,return_of_invalid_type,unnecessary_const,unnecessary_import,unnecessary_this,unused_import,unused_shown_name 7 | 8 | export 'timestamp.pb.dart'; 9 | 10 | -------------------------------------------------------------------------------- /lib/librarian/miner/v1/miner.pbgrpc.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/miner/v1/miner.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:async' as $async; 14 | import 'dart:core' as $core; 15 | 16 | import 'package:grpc/service_api.dart' as $grpc; 17 | import 'package:protobuf/protobuf.dart' as $pb; 18 | 19 | import 'miner.pb.dart' as $0; 20 | 21 | export 'miner.pb.dart'; 22 | 23 | /// 24 | /// The main role of Miner is to encapsulate compute-intensive tasks 25 | @$pb.GrpcServiceName('librarian.miner.v1.LibrarianMinerService') 26 | class LibrarianMinerServiceClient extends $grpc.Client { 27 | /// The hostname for this service. 28 | static const $core.String defaultHost = ''; 29 | 30 | /// OAuth scopes needed for the client. 31 | static const $core.List<$core.String> oauthScopes = [ 32 | '', 33 | ]; 34 | 35 | static final _$recognizeImageBinary = $grpc.ClientMethod<$0.RecognizeImageBinaryRequest, $0.RecognizeImageBinaryResponse>( 36 | '/librarian.miner.v1.LibrarianMinerService/RecognizeImageBinary', 37 | ($0.RecognizeImageBinaryRequest value) => value.writeToBuffer(), 38 | ($core.List<$core.int> value) => $0.RecognizeImageBinaryResponse.fromBuffer(value)); 39 | static final _$recognizeImageURL = $grpc.ClientMethod<$0.RecognizeImageURLRequest, $0.RecognizeImageURLResponse>( 40 | '/librarian.miner.v1.LibrarianMinerService/RecognizeImageURL', 41 | ($0.RecognizeImageURLRequest value) => value.writeToBuffer(), 42 | ($core.List<$core.int> value) => $0.RecognizeImageURLResponse.fromBuffer(value)); 43 | 44 | LibrarianMinerServiceClient(super.channel, {super.options, super.interceptors}); 45 | 46 | $grpc.ResponseFuture<$0.RecognizeImageBinaryResponse> recognizeImageBinary($async.Stream<$0.RecognizeImageBinaryRequest> request, {$grpc.CallOptions? options}) { 47 | return $createStreamingCall(_$recognizeImageBinary, request, options: options).single; 48 | } 49 | 50 | $grpc.ResponseFuture<$0.RecognizeImageURLResponse> recognizeImageURL($0.RecognizeImageURLRequest request, {$grpc.CallOptions? options}) { 51 | return $createUnaryCall(_$recognizeImageURL, request, options: options); 52 | } 53 | } 54 | 55 | @$pb.GrpcServiceName('librarian.miner.v1.LibrarianMinerService') 56 | abstract class LibrarianMinerServiceBase extends $grpc.Service { 57 | $core.String get $name => 'librarian.miner.v1.LibrarianMinerService'; 58 | 59 | LibrarianMinerServiceBase() { 60 | $addMethod($grpc.ServiceMethod<$0.RecognizeImageBinaryRequest, $0.RecognizeImageBinaryResponse>( 61 | 'RecognizeImageBinary', 62 | recognizeImageBinary, 63 | true, 64 | false, 65 | ($core.List<$core.int> value) => $0.RecognizeImageBinaryRequest.fromBuffer(value), 66 | ($0.RecognizeImageBinaryResponse value) => value.writeToBuffer())); 67 | $addMethod($grpc.ServiceMethod<$0.RecognizeImageURLRequest, $0.RecognizeImageURLResponse>( 68 | 'RecognizeImageURL', 69 | recognizeImageURL_Pre, 70 | false, 71 | false, 72 | ($core.List<$core.int> value) => $0.RecognizeImageURLRequest.fromBuffer(value), 73 | ($0.RecognizeImageURLResponse value) => value.writeToBuffer())); 74 | } 75 | 76 | $async.Future<$0.RecognizeImageURLResponse> recognizeImageURL_Pre($grpc.ServiceCall $call, $async.Future<$0.RecognizeImageURLRequest> $request) async { 77 | return recognizeImageURL($call, await $request); 78 | } 79 | 80 | $async.Future<$0.RecognizeImageBinaryResponse> recognizeImageBinary($grpc.ServiceCall call, $async.Stream<$0.RecognizeImageBinaryRequest> request); 81 | $async.Future<$0.RecognizeImageURLResponse> recognizeImageURL($grpc.ServiceCall call, $0.RecognizeImageURLRequest request); 82 | } 83 | -------------------------------------------------------------------------------- /lib/librarian/miner/v1/miner.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/miner/v1/miner.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use recognizeImageBinaryRequestDescriptor instead') 18 | const RecognizeImageBinaryRequest$json = { 19 | '1': 'RecognizeImageBinaryRequest', 20 | '2': [ 21 | {'1': 'data', '3': 1, '4': 1, '5': 12, '10': 'data'}, 22 | ], 23 | }; 24 | 25 | /// Descriptor for `RecognizeImageBinaryRequest`. Decode as a `google.protobuf.DescriptorProto`. 26 | final $typed_data.Uint8List recognizeImageBinaryRequestDescriptor = $convert.base64Decode( 27 | 'ChtSZWNvZ25pemVJbWFnZUJpbmFyeVJlcXVlc3QSEgoEZGF0YRgBIAEoDFIEZGF0YQ=='); 28 | 29 | @$core.Deprecated('Use recognizeImageBinaryResponseDescriptor instead') 30 | const RecognizeImageBinaryResponse$json = { 31 | '1': 'RecognizeImageBinaryResponse', 32 | '2': [ 33 | {'1': 'results', '3': 1, '4': 3, '5': 11, '6': '.librarian.miner.v1.RecognizeImageResult', '10': 'results'}, 34 | ], 35 | }; 36 | 37 | /// Descriptor for `RecognizeImageBinaryResponse`. Decode as a `google.protobuf.DescriptorProto`. 38 | final $typed_data.Uint8List recognizeImageBinaryResponseDescriptor = $convert.base64Decode( 39 | 'ChxSZWNvZ25pemVJbWFnZUJpbmFyeVJlc3BvbnNlEkIKB3Jlc3VsdHMYASADKAsyKC5saWJyYX' 40 | 'JpYW4ubWluZXIudjEuUmVjb2duaXplSW1hZ2VSZXN1bHRSB3Jlc3VsdHM='); 41 | 42 | @$core.Deprecated('Use recognizeImageURLRequestDescriptor instead') 43 | const RecognizeImageURLRequest$json = { 44 | '1': 'RecognizeImageURLRequest', 45 | '2': [ 46 | {'1': 'url', '3': 1, '4': 1, '5': 9, '10': 'url'}, 47 | ], 48 | }; 49 | 50 | /// Descriptor for `RecognizeImageURLRequest`. Decode as a `google.protobuf.DescriptorProto`. 51 | final $typed_data.Uint8List recognizeImageURLRequestDescriptor = $convert.base64Decode( 52 | 'ChhSZWNvZ25pemVJbWFnZVVSTFJlcXVlc3QSEAoDdXJsGAEgASgJUgN1cmw='); 53 | 54 | @$core.Deprecated('Use recognizeImageURLResponseDescriptor instead') 55 | const RecognizeImageURLResponse$json = { 56 | '1': 'RecognizeImageURLResponse', 57 | '2': [ 58 | {'1': 'results', '3': 1, '4': 3, '5': 11, '6': '.librarian.miner.v1.RecognizeImageResult', '10': 'results'}, 59 | ], 60 | }; 61 | 62 | /// Descriptor for `RecognizeImageURLResponse`. Decode as a `google.protobuf.DescriptorProto`. 63 | final $typed_data.Uint8List recognizeImageURLResponseDescriptor = $convert.base64Decode( 64 | 'ChlSZWNvZ25pemVJbWFnZVVSTFJlc3BvbnNlEkIKB3Jlc3VsdHMYASADKAsyKC5saWJyYXJpYW' 65 | '4ubWluZXIudjEuUmVjb2duaXplSW1hZ2VSZXN1bHRSB3Jlc3VsdHM='); 66 | 67 | @$core.Deprecated('Use recognizeImageResultDescriptor instead') 68 | const RecognizeImageResult$json = { 69 | '1': 'RecognizeImageResult', 70 | '2': [ 71 | {'1': 'confidence', '3': 1, '4': 1, '5': 1, '10': 'confidence'}, 72 | {'1': 'text', '3': 2, '4': 1, '5': 9, '10': 'text'}, 73 | ], 74 | }; 75 | 76 | /// Descriptor for `RecognizeImageResult`. Decode as a `google.protobuf.DescriptorProto`. 77 | final $typed_data.Uint8List recognizeImageResultDescriptor = $convert.base64Decode( 78 | 'ChRSZWNvZ25pemVJbWFnZVJlc3VsdBIeCgpjb25maWRlbmNlGAEgASgBUgpjb25maWRlbmNlEh' 79 | 'IKBHRleHQYAiABKAlSBHRleHQ='); 80 | 81 | -------------------------------------------------------------------------------- /lib/librarian/porter/v1/gebura.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/porter/v1/gebura.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class AppType extends $pb.ProtobufEnum { 18 | static const AppType APP_TYPE_UNSPECIFIED = AppType._(0, _omitEnumNames ? '' : 'APP_TYPE_UNSPECIFIED'); 19 | static const AppType APP_TYPE_GAME = AppType._(1, _omitEnumNames ? '' : 'APP_TYPE_GAME'); 20 | 21 | static const $core.List values = [ 22 | APP_TYPE_UNSPECIFIED, 23 | APP_TYPE_GAME, 24 | ]; 25 | 26 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 1); 27 | static AppType? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 28 | 29 | const AppType._(super.value, super.name); 30 | } 31 | 32 | 33 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 34 | -------------------------------------------------------------------------------- /lib/librarian/porter/v1/tiphereth.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/porter/v1/tiphereth.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use getAccountRequestDescriptor instead') 18 | const GetAccountRequest$json = { 19 | '1': 'GetAccountRequest', 20 | '2': [ 21 | {'1': 'platform', '3': 1, '4': 1, '5': 9, '10': 'platform'}, 22 | {'1': 'platform_account_id', '3': 2, '4': 1, '5': 9, '10': 'platformAccountId'}, 23 | ], 24 | }; 25 | 26 | /// Descriptor for `GetAccountRequest`. Decode as a `google.protobuf.DescriptorProto`. 27 | final $typed_data.Uint8List getAccountRequestDescriptor = $convert.base64Decode( 28 | 'ChFHZXRBY2NvdW50UmVxdWVzdBIaCghwbGF0Zm9ybRgBIAEoCVIIcGxhdGZvcm0SLgoTcGxhdG' 29 | 'Zvcm1fYWNjb3VudF9pZBgCIAEoCVIRcGxhdGZvcm1BY2NvdW50SWQ='); 30 | 31 | @$core.Deprecated('Use getAccountResponseDescriptor instead') 32 | const GetAccountResponse$json = { 33 | '1': 'GetAccountResponse', 34 | '2': [ 35 | {'1': 'account', '3': 1, '4': 1, '5': 11, '6': '.librarian.porter.v1.Account', '10': 'account'}, 36 | ], 37 | }; 38 | 39 | /// Descriptor for `GetAccountResponse`. Decode as a `google.protobuf.DescriptorProto`. 40 | final $typed_data.Uint8List getAccountResponseDescriptor = $convert.base64Decode( 41 | 'ChJHZXRBY2NvdW50UmVzcG9uc2USNgoHYWNjb3VudBgBIAEoCzIcLmxpYnJhcmlhbi5wb3J0ZX' 42 | 'IudjEuQWNjb3VudFIHYWNjb3VudA=='); 43 | 44 | @$core.Deprecated('Use accountDescriptor instead') 45 | const Account$json = { 46 | '1': 'Account', 47 | '2': [ 48 | {'1': 'platform', '3': 1, '4': 1, '5': 9, '10': 'platform'}, 49 | {'1': 'platform_account_id', '3': 2, '4': 1, '5': 9, '10': 'platformAccountId'}, 50 | {'1': 'name', '3': 3, '4': 1, '5': 9, '10': 'name'}, 51 | {'1': 'profile_url', '3': 4, '4': 1, '5': 9, '10': 'profileUrl'}, 52 | {'1': 'avatar_url', '3': 5, '4': 1, '5': 9, '10': 'avatarUrl'}, 53 | ], 54 | }; 55 | 56 | /// Descriptor for `Account`. Decode as a `google.protobuf.DescriptorProto`. 57 | final $typed_data.Uint8List accountDescriptor = $convert.base64Decode( 58 | 'CgdBY2NvdW50EhoKCHBsYXRmb3JtGAEgASgJUghwbGF0Zm9ybRIuChNwbGF0Zm9ybV9hY2NvdW' 59 | '50X2lkGAIgASgJUhFwbGF0Zm9ybUFjY291bnRJZBISCgRuYW1lGAMgASgJUgRuYW1lEh8KC3By' 60 | 'b2ZpbGVfdXJsGAQgASgJUgpwcm9maWxlVXJsEh0KCmF2YXRhcl91cmwYBSABKAlSCWF2YXRhcl' 61 | 'VybA=='); 62 | 63 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/angela/tiphereth.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/angela/tiphereth.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class SentinelStatus extends $pb.ProtobufEnum { 18 | static const SentinelStatus SENTINEL_STATUS_UNSPECIFIED = SentinelStatus._(0, _omitEnumNames ? '' : 'SENTINEL_STATUS_UNSPECIFIED'); 19 | static const SentinelStatus SENTINEL_STATUS_ACTIVE = SentinelStatus._(1, _omitEnumNames ? '' : 'SENTINEL_STATUS_ACTIVE'); 20 | static const SentinelStatus SENTINEL_STATUS_BLOCKED = SentinelStatus._(2, _omitEnumNames ? '' : 'SENTINEL_STATUS_BLOCKED'); 21 | 22 | static const $core.List values = [ 23 | SENTINEL_STATUS_UNSPECIFIED, 24 | SENTINEL_STATUS_ACTIVE, 25 | SENTINEL_STATUS_BLOCKED, 26 | ]; 27 | 28 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 2); 29 | static SentinelStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 30 | 31 | const SentinelStatus._(super.value, super.name); 32 | } 33 | 34 | 35 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 36 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/errors.pb.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/errors.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions; 16 | 17 | export 'errors.pbenum.dart'; 18 | 19 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/errors.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/errors.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class ErrorReason extends $pb.ProtobufEnum { 18 | static const ErrorReason ERROR_REASON_UNSPECIFIED = ErrorReason._(0, _omitEnumNames ? '' : 'ERROR_REASON_UNSPECIFIED'); 19 | static const ErrorReason ERROR_REASON_BAD_REQUEST = ErrorReason._(1, _omitEnumNames ? '' : 'ERROR_REASON_BAD_REQUEST'); 20 | static const ErrorReason ERROR_REASON_UNAUTHORIZED = ErrorReason._(2, _omitEnumNames ? '' : 'ERROR_REASON_UNAUTHORIZED'); 21 | static const ErrorReason ERROR_REASON_FORBIDDEN = ErrorReason._(3, _omitEnumNames ? '' : 'ERROR_REASON_FORBIDDEN'); 22 | static const ErrorReason ERROR_REASON_NOT_FOUND = ErrorReason._(4, _omitEnumNames ? '' : 'ERROR_REASON_NOT_FOUND'); 23 | static const ErrorReason ERROR_REASON_METHOD_NOT_ALLOWED = ErrorReason._(5, _omitEnumNames ? '' : 'ERROR_REASON_METHOD_NOT_ALLOWED'); 24 | static const ErrorReason ERROR_REASON_NOT_IMPLEMENTED = ErrorReason._(6, _omitEnumNames ? '' : 'ERROR_REASON_NOT_IMPLEMENTED'); 25 | static const ErrorReason ERROR_REASON_BAD_GATEWAY = ErrorReason._(7, _omitEnumNames ? '' : 'ERROR_REASON_BAD_GATEWAY'); 26 | 27 | static const $core.List values = [ 28 | ERROR_REASON_UNSPECIFIED, 29 | ERROR_REASON_BAD_REQUEST, 30 | ERROR_REASON_UNAUTHORIZED, 31 | ERROR_REASON_FORBIDDEN, 32 | ERROR_REASON_NOT_FOUND, 33 | ERROR_REASON_METHOD_NOT_ALLOWED, 34 | ERROR_REASON_NOT_IMPLEMENTED, 35 | ERROR_REASON_BAD_GATEWAY, 36 | ]; 37 | 38 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 7); 39 | static ErrorReason? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 40 | 41 | const ErrorReason._(super.value, super.name); 42 | } 43 | 44 | 45 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 46 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/errors.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/errors.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use errorReasonDescriptor instead') 18 | const ErrorReason$json = { 19 | '1': 'ErrorReason', 20 | '2': [ 21 | {'1': 'ERROR_REASON_UNSPECIFIED', '2': 0, '3': {}}, 22 | {'1': 'ERROR_REASON_BAD_REQUEST', '2': 1, '3': {}}, 23 | {'1': 'ERROR_REASON_UNAUTHORIZED', '2': 2, '3': {}}, 24 | {'1': 'ERROR_REASON_FORBIDDEN', '2': 3, '3': {}}, 25 | {'1': 'ERROR_REASON_NOT_FOUND', '2': 4, '3': {}}, 26 | {'1': 'ERROR_REASON_METHOD_NOT_ALLOWED', '2': 5, '3': {}}, 27 | {'1': 'ERROR_REASON_NOT_IMPLEMENTED', '2': 6, '3': {}}, 28 | {'1': 'ERROR_REASON_BAD_GATEWAY', '2': 7, '3': {}}, 29 | ], 30 | '3': {}, 31 | }; 32 | 33 | /// Descriptor for `ErrorReason`. Decode as a `google.protobuf.EnumDescriptorProto`. 34 | final $typed_data.Uint8List errorReasonDescriptor = $convert.base64Decode( 35 | 'CgtFcnJvclJlYXNvbhIiChhFUlJPUl9SRUFTT05fVU5TUEVDSUZJRUQQABoEqEX0AxIiChhFUl' 36 | 'JPUl9SRUFTT05fQkFEX1JFUVVFU1QQARoEqEWQAxIjChlFUlJPUl9SRUFTT05fVU5BVVRIT1JJ' 37 | 'WkVEEAIaBKhFkQMSIAoWRVJST1JfUkVBU09OX0ZPUkJJRERFThADGgSoRZMDEiAKFkVSUk9SX1' 38 | 'JFQVNPTl9OT1RfRk9VTkQQBBoEqEWUAxIpCh9FUlJPUl9SRUFTT05fTUVUSE9EX05PVF9BTExP' 39 | 'V0VEEAUaBKhFlQMSJgocRVJST1JfUkVBU09OX05PVF9JTVBMRU1FTlRFRBAGGgSoRfUDEiIKGE' 40 | 'VSUk9SX1JFQVNPTl9CQURfR0FURVdBWRAHGgSoRfYDGgSgRfQD'); 41 | 42 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/base.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/base.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use serverInformationDescriptor instead') 18 | const ServerInformation$json = { 19 | '1': 'ServerInformation', 20 | '2': [ 21 | {'1': 'server_binary_summary', '3': 1, '4': 1, '5': 11, '6': '.librarian.sephirah.v1.sephirah.ServerBinarySummary', '10': 'serverBinarySummary'}, 22 | {'1': 'protocol_summary', '3': 2, '4': 1, '5': 11, '6': '.librarian.sephirah.v1.sephirah.ServerProtocolSummary', '10': 'protocolSummary'}, 23 | {'1': 'current_time', '3': 3, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'currentTime'}, 24 | {'1': 'feature_summary', '3': 4, '4': 1, '5': 11, '6': '.librarian.v1.FeatureSummary', '9': 0, '10': 'featureSummary', '17': true}, 25 | {'1': 'server_instance_summary', '3': 5, '4': 1, '5': 11, '6': '.librarian.sephirah.v1.sephirah.ServerInstanceSummary', '10': 'serverInstanceSummary'}, 26 | {'1': 'status_report', '3': 6, '4': 1, '5': 9, '9': 1, '10': 'statusReport', '17': true}, 27 | ], 28 | '8': [ 29 | {'1': '_feature_summary'}, 30 | {'1': '_status_report'}, 31 | ], 32 | }; 33 | 34 | /// Descriptor for `ServerInformation`. Decode as a `google.protobuf.DescriptorProto`. 35 | final $typed_data.Uint8List serverInformationDescriptor = $convert.base64Decode( 36 | 'ChFTZXJ2ZXJJbmZvcm1hdGlvbhJnChVzZXJ2ZXJfYmluYXJ5X3N1bW1hcnkYASABKAsyMy5saW' 37 | 'JyYXJpYW4uc2VwaGlyYWgudjEuc2VwaGlyYWguU2VydmVyQmluYXJ5U3VtbWFyeVITc2VydmVy' 38 | 'QmluYXJ5U3VtbWFyeRJgChBwcm90b2NvbF9zdW1tYXJ5GAIgASgLMjUubGlicmFyaWFuLnNlcG' 39 | 'hpcmFoLnYxLnNlcGhpcmFoLlNlcnZlclByb3RvY29sU3VtbWFyeVIPcHJvdG9jb2xTdW1tYXJ5' 40 | 'Ej0KDGN1cnJlbnRfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSC2N1cn' 41 | 'JlbnRUaW1lEkoKD2ZlYXR1cmVfc3VtbWFyeRgEIAEoCzIcLmxpYnJhcmlhbi52MS5GZWF0dXJl' 42 | 'U3VtbWFyeUgAUg5mZWF0dXJlU3VtbWFyeYgBARJtChdzZXJ2ZXJfaW5zdGFuY2Vfc3VtbWFyeR' 43 | 'gFIAEoCzI1LmxpYnJhcmlhbi5zZXBoaXJhaC52MS5zZXBoaXJhaC5TZXJ2ZXJJbnN0YW5jZVN1' 44 | 'bW1hcnlSFXNlcnZlckluc3RhbmNlU3VtbWFyeRIoCg1zdGF0dXNfcmVwb3J0GAYgASgJSAFSDH' 45 | 'N0YXR1c1JlcG9ydIgBAUISChBfZmVhdHVyZV9zdW1tYXJ5QhAKDl9zdGF0dXNfcmVwb3J0'); 46 | 47 | @$core.Deprecated('Use serverBinarySummaryDescriptor instead') 48 | const ServerBinarySummary$json = { 49 | '1': 'ServerBinarySummary', 50 | '2': [ 51 | {'1': 'source_code_address', '3': 1, '4': 1, '5': 9, '10': 'sourceCodeAddress'}, 52 | {'1': 'build_version', '3': 2, '4': 1, '5': 9, '10': 'buildVersion'}, 53 | {'1': 'build_date', '3': 3, '4': 1, '5': 9, '10': 'buildDate'}, 54 | ], 55 | }; 56 | 57 | /// Descriptor for `ServerBinarySummary`. Decode as a `google.protobuf.DescriptorProto`. 58 | final $typed_data.Uint8List serverBinarySummaryDescriptor = $convert.base64Decode( 59 | 'ChNTZXJ2ZXJCaW5hcnlTdW1tYXJ5Ei4KE3NvdXJjZV9jb2RlX2FkZHJlc3MYASABKAlSEXNvdX' 60 | 'JjZUNvZGVBZGRyZXNzEiMKDWJ1aWxkX3ZlcnNpb24YAiABKAlSDGJ1aWxkVmVyc2lvbhIdCgpi' 61 | 'dWlsZF9kYXRlGAMgASgJUglidWlsZERhdGU='); 62 | 63 | @$core.Deprecated('Use serverProtocolSummaryDescriptor instead') 64 | const ServerProtocolSummary$json = { 65 | '1': 'ServerProtocolSummary', 66 | '2': [ 67 | {'1': 'version', '3': 1, '4': 1, '5': 9, '10': 'version'}, 68 | ], 69 | }; 70 | 71 | /// Descriptor for `ServerProtocolSummary`. Decode as a `google.protobuf.DescriptorProto`. 72 | final $typed_data.Uint8List serverProtocolSummaryDescriptor = $convert.base64Decode( 73 | 'ChVTZXJ2ZXJQcm90b2NvbFN1bW1hcnkSGAoHdmVyc2lvbhgBIAEoCVIHdmVyc2lvbg=='); 74 | 75 | @$core.Deprecated('Use serverInstanceSummaryDescriptor instead') 76 | const ServerInstanceSummary$json = { 77 | '1': 'ServerInstanceSummary', 78 | '2': [ 79 | {'1': 'name', '3': 1, '4': 1, '5': 9, '10': 'name'}, 80 | {'1': 'description', '3': 2, '4': 1, '5': 9, '10': 'description'}, 81 | {'1': 'website_url', '3': 3, '4': 1, '5': 9, '10': 'websiteUrl'}, 82 | {'1': 'logo_url', '3': 4, '4': 1, '5': 9, '10': 'logoUrl'}, 83 | {'1': 'background_url', '3': 5, '4': 1, '5': 9, '10': 'backgroundUrl'}, 84 | ], 85 | }; 86 | 87 | /// Descriptor for `ServerInstanceSummary`. Decode as a `google.protobuf.DescriptorProto`. 88 | final $typed_data.Uint8List serverInstanceSummaryDescriptor = $convert.base64Decode( 89 | 'ChVTZXJ2ZXJJbnN0YW5jZVN1bW1hcnkSEgoEbmFtZRgBIAEoCVIEbmFtZRIgCgtkZXNjcmlwdG' 90 | 'lvbhgCIAEoCVILZGVzY3JpcHRpb24SHwoLd2Vic2l0ZV91cmwYAyABKAlSCndlYnNpdGVVcmwS' 91 | 'GQoIbG9nb191cmwYBCABKAlSB2xvZ29VcmwSJQoOYmFja2dyb3VuZF91cmwYBSABKAlSDWJhY2' 92 | 'tncm91bmRVcmw='); 93 | 94 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/binah.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/binah.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class ChunkTransferStatus extends $pb.ProtobufEnum { 18 | static const ChunkTransferStatus CHUNK_TRANSFER_STATUS_UNSPECIFIED = ChunkTransferStatus._(0, _omitEnumNames ? '' : 'CHUNK_TRANSFER_STATUS_UNSPECIFIED'); 19 | static const ChunkTransferStatus CHUNK_TRANSFER_STATUS_PENDING = ChunkTransferStatus._(1, _omitEnumNames ? '' : 'CHUNK_TRANSFER_STATUS_PENDING'); 20 | static const ChunkTransferStatus CHUNK_TRANSFER_STATUS_IN_PROGRESS = ChunkTransferStatus._(2, _omitEnumNames ? '' : 'CHUNK_TRANSFER_STATUS_IN_PROGRESS'); 21 | static const ChunkTransferStatus CHUNK_TRANSFER_STATUS_SUCCESS = ChunkTransferStatus._(3, _omitEnumNames ? '' : 'CHUNK_TRANSFER_STATUS_SUCCESS'); 22 | static const ChunkTransferStatus CHUNK_TRANSFER_STATUS_FAILED = ChunkTransferStatus._(4, _omitEnumNames ? '' : 'CHUNK_TRANSFER_STATUS_FAILED'); 23 | 24 | static const $core.List values = [ 25 | CHUNK_TRANSFER_STATUS_UNSPECIFIED, 26 | CHUNK_TRANSFER_STATUS_PENDING, 27 | CHUNK_TRANSFER_STATUS_IN_PROGRESS, 28 | CHUNK_TRANSFER_STATUS_SUCCESS, 29 | CHUNK_TRANSFER_STATUS_FAILED, 30 | ]; 31 | 32 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 4); 33 | static ChunkTransferStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 34 | 35 | const ChunkTransferStatus._(super.value, super.name); 36 | } 37 | 38 | class FileTransferStatus extends $pb.ProtobufEnum { 39 | static const FileTransferStatus FILE_TRANSFER_STATUS_UNSPECIFIED = FileTransferStatus._(0, _omitEnumNames ? '' : 'FILE_TRANSFER_STATUS_UNSPECIFIED'); 40 | static const FileTransferStatus FILE_TRANSFER_STATUS_PENDING = FileTransferStatus._(1, _omitEnumNames ? '' : 'FILE_TRANSFER_STATUS_PENDING'); 41 | static const FileTransferStatus FILE_TRANSFER_STATUS_IN_PROGRESS = FileTransferStatus._(2, _omitEnumNames ? '' : 'FILE_TRANSFER_STATUS_IN_PROGRESS'); 42 | static const FileTransferStatus FILE_TRANSFER_STATUS_SUCCESS = FileTransferStatus._(3, _omitEnumNames ? '' : 'FILE_TRANSFER_STATUS_SUCCESS'); 43 | static const FileTransferStatus FILE_TRANSFER_STATUS_FAILED = FileTransferStatus._(4, _omitEnumNames ? '' : 'FILE_TRANSFER_STATUS_FAILED'); 44 | 45 | static const $core.List values = [ 46 | FILE_TRANSFER_STATUS_UNSPECIFIED, 47 | FILE_TRANSFER_STATUS_PENDING, 48 | FILE_TRANSFER_STATUS_IN_PROGRESS, 49 | FILE_TRANSFER_STATUS_SUCCESS, 50 | FILE_TRANSFER_STATUS_FAILED, 51 | ]; 52 | 53 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 4); 54 | static FileTransferStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 55 | 56 | const FileTransferStatus._(super.value, super.name); 57 | } 58 | 59 | 60 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 61 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/gebura.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/gebura.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class AppSaveFileCapacityStrategy extends $pb.ProtobufEnum { 18 | static const AppSaveFileCapacityStrategy APP_SAVE_FILE_CAPACITY_STRATEGY_UNSPECIFIED = AppSaveFileCapacityStrategy._(0, _omitEnumNames ? '' : 'APP_SAVE_FILE_CAPACITY_STRATEGY_UNSPECIFIED'); 19 | /// fail to save new file when reach limit 20 | static const AppSaveFileCapacityStrategy APP_SAVE_FILE_CAPACITY_STRATEGY_FAIL = AppSaveFileCapacityStrategy._(1, _omitEnumNames ? '' : 'APP_SAVE_FILE_CAPACITY_STRATEGY_FAIL'); 21 | /// delete the oldest file and save new file 22 | /// check if delete the oldest file can't satisfy the limit, do not delete and fail to save new file 23 | static const AppSaveFileCapacityStrategy APP_SAVE_FILE_CAPACITY_STRATEGY_DELETE_OLDEST_OR_FAIL = AppSaveFileCapacityStrategy._(2, _omitEnumNames ? '' : 'APP_SAVE_FILE_CAPACITY_STRATEGY_DELETE_OLDEST_OR_FAIL'); 24 | /// delete the oldest files one by one until the limit is satisfied 25 | /// check if delete all files can't satisfy the limit, do not delete and fail to save new file 26 | static const AppSaveFileCapacityStrategy APP_SAVE_FILE_CAPACITY_STRATEGY_DELETE_OLDEST_UNTIL_SATISFIED = AppSaveFileCapacityStrategy._(3, _omitEnumNames ? '' : 'APP_SAVE_FILE_CAPACITY_STRATEGY_DELETE_OLDEST_UNTIL_SATISFIED'); 27 | 28 | static const $core.List values = [ 29 | APP_SAVE_FILE_CAPACITY_STRATEGY_UNSPECIFIED, 30 | APP_SAVE_FILE_CAPACITY_STRATEGY_FAIL, 31 | APP_SAVE_FILE_CAPACITY_STRATEGY_DELETE_OLDEST_OR_FAIL, 32 | APP_SAVE_FILE_CAPACITY_STRATEGY_DELETE_OLDEST_UNTIL_SATISFIED, 33 | ]; 34 | 35 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 3); 36 | static AppSaveFileCapacityStrategy? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 37 | 38 | const AppSaveFileCapacityStrategy._(super.value, super.name); 39 | } 40 | 41 | class AppType extends $pb.ProtobufEnum { 42 | static const AppType APP_TYPE_UNSPECIFIED = AppType._(0, _omitEnumNames ? '' : 'APP_TYPE_UNSPECIFIED'); 43 | static const AppType APP_TYPE_GAME = AppType._(1, _omitEnumNames ? '' : 'APP_TYPE_GAME'); 44 | 45 | static const $core.List values = [ 46 | APP_TYPE_UNSPECIFIED, 47 | APP_TYPE_GAME, 48 | ]; 49 | 50 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 1); 51 | static AppType? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 52 | 53 | const AppType._(super.value, super.name); 54 | } 55 | 56 | 57 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 58 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/netzach.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/netzach.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class NotifyTargetStatus extends $pb.ProtobufEnum { 18 | static const NotifyTargetStatus NOTIFY_TARGET_STATUS_UNSPECIFIED = NotifyTargetStatus._(0, _omitEnumNames ? '' : 'NOTIFY_TARGET_STATUS_UNSPECIFIED'); 19 | static const NotifyTargetStatus NOTIFY_TARGET_STATUS_ACTIVE = NotifyTargetStatus._(1, _omitEnumNames ? '' : 'NOTIFY_TARGET_STATUS_ACTIVE'); 20 | static const NotifyTargetStatus NOTIFY_TARGET_STATUS_SUSPEND = NotifyTargetStatus._(2, _omitEnumNames ? '' : 'NOTIFY_TARGET_STATUS_SUSPEND'); 21 | 22 | static const $core.List values = [ 23 | NOTIFY_TARGET_STATUS_UNSPECIFIED, 24 | NOTIFY_TARGET_STATUS_ACTIVE, 25 | NOTIFY_TARGET_STATUS_SUSPEND, 26 | ]; 27 | 28 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 2); 29 | static NotifyTargetStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 30 | 31 | const NotifyTargetStatus._(super.value, super.name); 32 | } 33 | 34 | class NotifyFlowStatus extends $pb.ProtobufEnum { 35 | static const NotifyFlowStatus NOTIFY_FLOW_STATUS_UNSPECIFIED = NotifyFlowStatus._(0, _omitEnumNames ? '' : 'NOTIFY_FLOW_STATUS_UNSPECIFIED'); 36 | static const NotifyFlowStatus NOTIFY_FLOW_STATUS_ACTIVE = NotifyFlowStatus._(1, _omitEnumNames ? '' : 'NOTIFY_FLOW_STATUS_ACTIVE'); 37 | static const NotifyFlowStatus NOTIFY_FLOW_STATUS_SUSPEND = NotifyFlowStatus._(2, _omitEnumNames ? '' : 'NOTIFY_FLOW_STATUS_SUSPEND'); 38 | 39 | static const $core.List values = [ 40 | NOTIFY_FLOW_STATUS_UNSPECIFIED, 41 | NOTIFY_FLOW_STATUS_ACTIVE, 42 | NOTIFY_FLOW_STATUS_SUSPEND, 43 | ]; 44 | 45 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 2); 46 | static NotifyFlowStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 47 | 48 | const NotifyFlowStatus._(super.value, super.name); 49 | } 50 | 51 | class SystemNotificationLevel extends $pb.ProtobufEnum { 52 | static const SystemNotificationLevel SYSTEM_NOTIFICATION_LEVEL_UNSPECIFIED = SystemNotificationLevel._(0, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_LEVEL_UNSPECIFIED'); 53 | static const SystemNotificationLevel SYSTEM_NOTIFICATION_LEVEL_ONGOING = SystemNotificationLevel._(1, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_LEVEL_ONGOING'); 54 | static const SystemNotificationLevel SYSTEM_NOTIFICATION_LEVEL_ERROR = SystemNotificationLevel._(2, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_LEVEL_ERROR'); 55 | static const SystemNotificationLevel SYSTEM_NOTIFICATION_LEVEL_WARNING = SystemNotificationLevel._(3, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_LEVEL_WARNING'); 56 | static const SystemNotificationLevel SYSTEM_NOTIFICATION_LEVEL_INFO = SystemNotificationLevel._(4, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_LEVEL_INFO'); 57 | 58 | static const $core.List values = [ 59 | SYSTEM_NOTIFICATION_LEVEL_UNSPECIFIED, 60 | SYSTEM_NOTIFICATION_LEVEL_ONGOING, 61 | SYSTEM_NOTIFICATION_LEVEL_ERROR, 62 | SYSTEM_NOTIFICATION_LEVEL_WARNING, 63 | SYSTEM_NOTIFICATION_LEVEL_INFO, 64 | ]; 65 | 66 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 4); 67 | static SystemNotificationLevel? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 68 | 69 | const SystemNotificationLevel._(super.value, super.name); 70 | } 71 | 72 | class SystemNotificationStatus extends $pb.ProtobufEnum { 73 | static const SystemNotificationStatus SYSTEM_NOTIFICATION_STATUS_UNSPECIFIED = SystemNotificationStatus._(0, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_STATUS_UNSPECIFIED'); 74 | static const SystemNotificationStatus SYSTEM_NOTIFICATION_STATUS_UNREAD = SystemNotificationStatus._(1, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_STATUS_UNREAD'); 75 | static const SystemNotificationStatus SYSTEM_NOTIFICATION_STATUS_READ = SystemNotificationStatus._(2, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_STATUS_READ'); 76 | static const SystemNotificationStatus SYSTEM_NOTIFICATION_STATUS_DISMISSED = SystemNotificationStatus._(3, _omitEnumNames ? '' : 'SYSTEM_NOTIFICATION_STATUS_DISMISSED'); 77 | 78 | static const $core.List values = [ 79 | SYSTEM_NOTIFICATION_STATUS_UNSPECIFIED, 80 | SYSTEM_NOTIFICATION_STATUS_UNREAD, 81 | SYSTEM_NOTIFICATION_STATUS_READ, 82 | SYSTEM_NOTIFICATION_STATUS_DISMISSED, 83 | ]; 84 | 85 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 3); 86 | static SystemNotificationStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 87 | 88 | const SystemNotificationStatus._(super.value, super.name); 89 | } 90 | 91 | 92 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 93 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/sephirah_service.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/sephirah_service.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class ServerEvent extends $pb.ProtobufEnum { 18 | static const ServerEvent SERVER_EVENT_UNSPECIFIED = ServerEvent._(0, _omitEnumNames ? '' : 'SERVER_EVENT_UNSPECIFIED'); 19 | /// New event listener connected, no payload. 20 | static const ServerEvent SERVER_EVENT_LISTENER_CONNECTED = ServerEvent._(1, _omitEnumNames ? '' : 'SERVER_EVENT_LISTENER_CONNECTED'); 21 | /// `Netzach` New server notification created, no payload. 22 | static const ServerEvent SERVER_EVENT_SYSTEM_NOTIFICATION_UPDATED = ServerEvent._(2, _omitEnumNames ? '' : 'SERVER_EVENT_SYSTEM_NOTIFICATION_UPDATED'); 23 | 24 | static const $core.List values = [ 25 | SERVER_EVENT_UNSPECIFIED, 26 | SERVER_EVENT_LISTENER_CONNECTED, 27 | SERVER_EVENT_SYSTEM_NOTIFICATION_UPDATED, 28 | ]; 29 | 30 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 2); 31 | static ServerEvent? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 32 | 33 | const ServerEvent._(super.value, super.name); 34 | } 35 | 36 | 37 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 38 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/sephirah_service.pbjson.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/sephirah_service.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:convert' as $convert; 14 | import 'dart:core' as $core; 15 | import 'dart:typed_data' as $typed_data; 16 | 17 | @$core.Deprecated('Use serverEventDescriptor instead') 18 | const ServerEvent$json = { 19 | '1': 'ServerEvent', 20 | '2': [ 21 | {'1': 'SERVER_EVENT_UNSPECIFIED', '2': 0}, 22 | {'1': 'SERVER_EVENT_LISTENER_CONNECTED', '2': 1}, 23 | {'1': 'SERVER_EVENT_SYSTEM_NOTIFICATION_UPDATED', '2': 2}, 24 | ], 25 | }; 26 | 27 | /// Descriptor for `ServerEvent`. Decode as a `google.protobuf.EnumDescriptorProto`. 28 | final $typed_data.Uint8List serverEventDescriptor = $convert.base64Decode( 29 | 'CgtTZXJ2ZXJFdmVudBIcChhTRVJWRVJfRVZFTlRfVU5TUEVDSUZJRUQQABIjCh9TRVJWRVJfRV' 30 | 'ZFTlRfTElTVEVORVJfQ09OTkVDVEVEEAESLAooU0VSVkVSX0VWRU5UX1NZU1RFTV9OT1RJRklD' 31 | 'QVRJT05fVVBEQVRFRBAC'); 32 | 33 | @$core.Deprecated('Use getServerInformationRequestDescriptor instead') 34 | const GetServerInformationRequest$json = { 35 | '1': 'GetServerInformationRequest', 36 | '2': [ 37 | {'1': 'with_status_report', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'withStatusReport', '17': true}, 38 | ], 39 | '8': [ 40 | {'1': '_with_status_report'}, 41 | ], 42 | }; 43 | 44 | /// Descriptor for `GetServerInformationRequest`. Decode as a `google.protobuf.DescriptorProto`. 45 | final $typed_data.Uint8List getServerInformationRequestDescriptor = $convert.base64Decode( 46 | 'ChtHZXRTZXJ2ZXJJbmZvcm1hdGlvblJlcXVlc3QSMQoSd2l0aF9zdGF0dXNfcmVwb3J0GAEgAS' 47 | 'gISABSEHdpdGhTdGF0dXNSZXBvcnSIAQFCFQoTX3dpdGhfc3RhdHVzX3JlcG9ydA=='); 48 | 49 | @$core.Deprecated('Use getServerInformationResponseDescriptor instead') 50 | const GetServerInformationResponse$json = { 51 | '1': 'GetServerInformationResponse', 52 | '2': [ 53 | {'1': 'server_information', '3': 1, '4': 1, '5': 11, '6': '.librarian.sephirah.v1.sephirah.ServerInformation', '10': 'serverInformation'}, 54 | ], 55 | }; 56 | 57 | /// Descriptor for `GetServerInformationResponse`. Decode as a `google.protobuf.DescriptorProto`. 58 | final $typed_data.Uint8List getServerInformationResponseDescriptor = $convert.base64Decode( 59 | 'ChxHZXRTZXJ2ZXJJbmZvcm1hdGlvblJlc3BvbnNlEmAKEnNlcnZlcl9pbmZvcm1hdGlvbhgBIA' 60 | 'EoCzIxLmxpYnJhcmlhbi5zZXBoaXJhaC52MS5zZXBoaXJhaC5TZXJ2ZXJJbmZvcm1hdGlvblIR' 61 | 'c2VydmVySW5mb3JtYXRpb24='); 62 | 63 | @$core.Deprecated('Use listenServerEventRequestDescriptor instead') 64 | const ListenServerEventRequest$json = { 65 | '1': 'ListenServerEventRequest', 66 | }; 67 | 68 | /// Descriptor for `ListenServerEventRequest`. Decode as a `google.protobuf.DescriptorProto`. 69 | final $typed_data.Uint8List listenServerEventRequestDescriptor = $convert.base64Decode( 70 | 'ChhMaXN0ZW5TZXJ2ZXJFdmVudFJlcXVlc3Q='); 71 | 72 | @$core.Deprecated('Use listenServerEventResponseDescriptor instead') 73 | const ListenServerEventResponse$json = { 74 | '1': 'ListenServerEventResponse', 75 | '2': [ 76 | {'1': 'event', '3': 1, '4': 1, '5': 14, '6': '.librarian.sephirah.v1.sephirah.ServerEvent', '10': 'event'}, 77 | {'1': 'occur_time', '3': 2, '4': 1, '5': 11, '6': '.google.protobuf.Timestamp', '10': 'occurTime'}, 78 | {'1': 'payload', '3': 3, '4': 1, '5': 9, '10': 'payload'}, 79 | ], 80 | }; 81 | 82 | /// Descriptor for `ListenServerEventResponse`. Decode as a `google.protobuf.DescriptorProto`. 83 | final $typed_data.Uint8List listenServerEventResponseDescriptor = $convert.base64Decode( 84 | 'ChlMaXN0ZW5TZXJ2ZXJFdmVudFJlc3BvbnNlEkEKBWV2ZW50GAEgASgOMisubGlicmFyaWFuLn' 85 | 'NlcGhpcmFoLnYxLnNlcGhpcmFoLlNlcnZlckV2ZW50UgVldmVudBI5CgpvY2N1cl90aW1lGAIg' 86 | 'ASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIJb2NjdXJUaW1lEhgKB3BheWxvYWQYAy' 87 | 'ABKAlSB3BheWxvYWQ='); 88 | 89 | -------------------------------------------------------------------------------- /lib/librarian/sephirah/v1/sephirah/yesod.pbenum.dart: -------------------------------------------------------------------------------- 1 | // 2 | // Generated code. Do not modify. 3 | // source: librarian/sephirah/v1/sephirah/yesod.proto 4 | // 5 | // @dart = 3.3 6 | 7 | // ignore_for_file: annotate_overrides, camel_case_types, comment_references 8 | // ignore_for_file: constant_identifier_names 9 | // ignore_for_file: curly_braces_in_flow_control_structures 10 | // ignore_for_file: deprecated_member_use_from_same_package, library_prefixes 11 | // ignore_for_file: non_constant_identifier_names 12 | 13 | import 'dart:core' as $core; 14 | 15 | import 'package:protobuf/protobuf.dart' as $pb; 16 | 17 | class FeedConfigStatus extends $pb.ProtobufEnum { 18 | static const FeedConfigStatus FEED_CONFIG_STATUS_UNSPECIFIED = FeedConfigStatus._(0, _omitEnumNames ? '' : 'FEED_CONFIG_STATUS_UNSPECIFIED'); 19 | static const FeedConfigStatus FEED_CONFIG_STATUS_ACTIVE = FeedConfigStatus._(1, _omitEnumNames ? '' : 'FEED_CONFIG_STATUS_ACTIVE'); 20 | static const FeedConfigStatus FEED_CONFIG_STATUS_SUSPEND = FeedConfigStatus._(2, _omitEnumNames ? '' : 'FEED_CONFIG_STATUS_SUSPEND'); 21 | 22 | static const $core.List values = [ 23 | FEED_CONFIG_STATUS_UNSPECIFIED, 24 | FEED_CONFIG_STATUS_ACTIVE, 25 | FEED_CONFIG_STATUS_SUSPEND, 26 | ]; 27 | 28 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 2); 29 | static FeedConfigStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 30 | 31 | const FeedConfigStatus._(super.value, super.name); 32 | } 33 | 34 | class FeedConfigPullStatus extends $pb.ProtobufEnum { 35 | static const FeedConfigPullStatus FEED_CONFIG_PULL_STATUS_UNSPECIFIED = FeedConfigPullStatus._(0, _omitEnumNames ? '' : 'FEED_CONFIG_PULL_STATUS_UNSPECIFIED'); 36 | static const FeedConfigPullStatus FEED_CONFIG_PULL_STATUS_PROCESSING = FeedConfigPullStatus._(1, _omitEnumNames ? '' : 'FEED_CONFIG_PULL_STATUS_PROCESSING'); 37 | static const FeedConfigPullStatus FEED_CONFIG_PULL_STATUS_SUCCESS = FeedConfigPullStatus._(2, _omitEnumNames ? '' : 'FEED_CONFIG_PULL_STATUS_SUCCESS'); 38 | static const FeedConfigPullStatus FEED_CONFIG_PULL_STATUS_FAILED = FeedConfigPullStatus._(3, _omitEnumNames ? '' : 'FEED_CONFIG_PULL_STATUS_FAILED'); 39 | 40 | static const $core.List values = [ 41 | FEED_CONFIG_PULL_STATUS_UNSPECIFIED, 42 | FEED_CONFIG_PULL_STATUS_PROCESSING, 43 | FEED_CONFIG_PULL_STATUS_SUCCESS, 44 | FEED_CONFIG_PULL_STATUS_FAILED, 45 | ]; 46 | 47 | static final $core.List _byValue = $pb.ProtobufEnum.$_initByValueList(values, 3); 48 | static FeedConfigPullStatus? valueOf($core.int value) => value < 0 || value >= _byValue.length ? null : _byValue[value]; 49 | 50 | const FeedConfigPullStatus._(super.value, super.name); 51 | } 52 | 53 | 54 | const $core.bool _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); 55 | -------------------------------------------------------------------------------- /node/buf/validate/expression_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/buf/validate/expression_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/buf/validate/expression_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: buf.validate 2 | // file: buf/validate/expression.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | 6 | export class Constraint extends jspb.Message { 7 | getId(): string; 8 | setId(value: string): void; 9 | 10 | getMessage(): string; 11 | setMessage(value: string): void; 12 | 13 | getExpression(): string; 14 | setExpression(value: string): void; 15 | 16 | serializeBinary(): Uint8Array; 17 | toObject(includeInstance?: boolean): Constraint.AsObject; 18 | static toObject(includeInstance: boolean, msg: Constraint): Constraint.AsObject; 19 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 20 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 21 | static serializeBinaryToWriter(message: Constraint, writer: jspb.BinaryWriter): void; 22 | static deserializeBinary(bytes: Uint8Array): Constraint; 23 | static deserializeBinaryFromReader(message: Constraint, reader: jspb.BinaryReader): Constraint; 24 | } 25 | 26 | export namespace Constraint { 27 | export type AsObject = { 28 | id: string, 29 | message: string, 30 | expression: string, 31 | } 32 | } 33 | 34 | export class Violations extends jspb.Message { 35 | clearViolationsList(): void; 36 | getViolationsList(): Array; 37 | setViolationsList(value: Array): void; 38 | addViolations(value?: Violation, index?: number): Violation; 39 | 40 | serializeBinary(): Uint8Array; 41 | toObject(includeInstance?: boolean): Violations.AsObject; 42 | static toObject(includeInstance: boolean, msg: Violations): Violations.AsObject; 43 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 44 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 45 | static serializeBinaryToWriter(message: Violations, writer: jspb.BinaryWriter): void; 46 | static deserializeBinary(bytes: Uint8Array): Violations; 47 | static deserializeBinaryFromReader(message: Violations, reader: jspb.BinaryReader): Violations; 48 | } 49 | 50 | export namespace Violations { 51 | export type AsObject = { 52 | violationsList: Array, 53 | } 54 | } 55 | 56 | export class Violation extends jspb.Message { 57 | getFieldPath(): string; 58 | setFieldPath(value: string): void; 59 | 60 | getConstraintId(): string; 61 | setConstraintId(value: string): void; 62 | 63 | getMessage(): string; 64 | setMessage(value: string): void; 65 | 66 | serializeBinary(): Uint8Array; 67 | toObject(includeInstance?: boolean): Violation.AsObject; 68 | static toObject(includeInstance: boolean, msg: Violation): Violation.AsObject; 69 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 70 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 71 | static serializeBinaryToWriter(message: Violation, writer: jspb.BinaryWriter): void; 72 | static deserializeBinary(bytes: Uint8Array): Violation; 73 | static deserializeBinaryFromReader(message: Violation, reader: jspb.BinaryReader): Violation; 74 | } 75 | 76 | export namespace Violation { 77 | export type AsObject = { 78 | fieldPath: string, 79 | constraintId: string, 80 | message: string, 81 | } 82 | } 83 | 84 | -------------------------------------------------------------------------------- /node/buf/validate/priv/private_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/buf/validate/priv/private_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/buf/validate/priv/private_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: buf.validate.priv 2 | // file: buf/validate/priv/private.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | import * as google_protobuf_descriptor_pb from "google-protobuf/google/protobuf/descriptor_pb"; 6 | 7 | export class FieldConstraints extends jspb.Message { 8 | clearCelList(): void; 9 | getCelList(): Array; 10 | setCelList(value: Array): void; 11 | addCel(value?: Constraint, index?: number): Constraint; 12 | 13 | serializeBinary(): Uint8Array; 14 | toObject(includeInstance?: boolean): FieldConstraints.AsObject; 15 | static toObject(includeInstance: boolean, msg: FieldConstraints): FieldConstraints.AsObject; 16 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 17 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 18 | static serializeBinaryToWriter(message: FieldConstraints, writer: jspb.BinaryWriter): void; 19 | static deserializeBinary(bytes: Uint8Array): FieldConstraints; 20 | static deserializeBinaryFromReader(message: FieldConstraints, reader: jspb.BinaryReader): FieldConstraints; 21 | } 22 | 23 | export namespace FieldConstraints { 24 | export type AsObject = { 25 | celList: Array, 26 | } 27 | } 28 | 29 | export class Constraint extends jspb.Message { 30 | getId(): string; 31 | setId(value: string): void; 32 | 33 | getMessage(): string; 34 | setMessage(value: string): void; 35 | 36 | getExpression(): string; 37 | setExpression(value: string): void; 38 | 39 | serializeBinary(): Uint8Array; 40 | toObject(includeInstance?: boolean): Constraint.AsObject; 41 | static toObject(includeInstance: boolean, msg: Constraint): Constraint.AsObject; 42 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 43 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 44 | static serializeBinaryToWriter(message: Constraint, writer: jspb.BinaryWriter): void; 45 | static deserializeBinary(bytes: Uint8Array): Constraint; 46 | static deserializeBinaryFromReader(message: Constraint, reader: jspb.BinaryReader): Constraint; 47 | } 48 | 49 | export namespace Constraint { 50 | export type AsObject = { 51 | id: string, 52 | message: string, 53 | expression: string, 54 | } 55 | } 56 | 57 | export const field: jspb.ExtensionFieldInfo; 58 | 59 | -------------------------------------------------------------------------------- /node/buf/validate/validate_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/buf/validate/validate_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/errors/errors_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/errors/errors_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/errors/errors_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: errors 2 | // file: errors/errors.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | import * as google_protobuf_descriptor_pb from "google-protobuf/google/protobuf/descriptor_pb"; 6 | 7 | export class Error extends jspb.Message { 8 | getCode(): number; 9 | setCode(value: number): void; 10 | 11 | getReason(): string; 12 | setReason(value: string): void; 13 | 14 | getMessage(): string; 15 | setMessage(value: string): void; 16 | 17 | getMetadataMap(): jspb.Map; 18 | clearMetadataMap(): void; 19 | serializeBinary(): Uint8Array; 20 | toObject(includeInstance?: boolean): Error.AsObject; 21 | static toObject(includeInstance: boolean, msg: Error): Error.AsObject; 22 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 23 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 24 | static serializeBinaryToWriter(message: Error, writer: jspb.BinaryWriter): void; 25 | static deserializeBinary(bytes: Uint8Array): Error; 26 | static deserializeBinaryFromReader(message: Error, reader: jspb.BinaryReader): Error; 27 | } 28 | 29 | export namespace Error { 30 | export type AsObject = { 31 | code: number, 32 | reason: string, 33 | message: string, 34 | metadataMap: Array<[string, string]>, 35 | } 36 | } 37 | 38 | export const defaultCode: jspb.ExtensionFieldInfo; 39 | 40 | export const code: jspb.ExtensionFieldInfo; 41 | 42 | -------------------------------------------------------------------------------- /node/librarian/miner/v1/miner_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- DO NOT EDIT! 2 | 3 | // package: librarian.miner.v1 4 | // file: librarian/miner/v1/miner.proto 5 | 6 | import * as librarian_miner_v1_miner_pb from "../../../librarian/miner/v1/miner_pb"; 7 | import * as grpc from "@grpc/grpc-js"; 8 | 9 | interface ILibrarianMinerServiceService extends grpc.ServiceDefinition { 10 | recognizeImageBinary: grpc.MethodDefinition; 11 | recognizeImageURL: grpc.MethodDefinition; 12 | } 13 | 14 | export const LibrarianMinerServiceService: ILibrarianMinerServiceService; 15 | 16 | export interface ILibrarianMinerServiceServer extends grpc.UntypedServiceImplementation { 17 | recognizeImageBinary: grpc.handleClientStreamingCall; 18 | recognizeImageURL: grpc.handleUnaryCall; 19 | } 20 | 21 | export class LibrarianMinerServiceClient extends grpc.Client { 22 | constructor(address: string, credentials: grpc.ChannelCredentials, options?: object); 23 | recognizeImageBinary(callback: grpc.requestCallback): grpc.ClientWritableStream; 24 | recognizeImageBinary(metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientWritableStream; 25 | recognizeImageBinary(metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientWritableStream; 26 | recognizeImageURL(argument: librarian_miner_v1_miner_pb.RecognizeImageURLRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; 27 | recognizeImageURL(argument: librarian_miner_v1_miner_pb.RecognizeImageURLRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 28 | recognizeImageURL(argument: librarian_miner_v1_miner_pb.RecognizeImageURLRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 29 | } 30 | -------------------------------------------------------------------------------- /node/librarian/miner/v1/miner_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- DO NOT EDIT! 2 | 3 | 'use strict'; 4 | var grpc = require('@grpc/grpc-js'); 5 | var librarian_miner_v1_miner_pb = require('../../../librarian/miner/v1/miner_pb.js'); 6 | 7 | function serialize_librarian_miner_v1_RecognizeImageBinaryRequest(arg) { 8 | if (!(arg instanceof librarian_miner_v1_miner_pb.RecognizeImageBinaryRequest)) { 9 | throw new Error('Expected argument of type librarian.miner.v1.RecognizeImageBinaryRequest'); 10 | } 11 | return Buffer.from(arg.serializeBinary()); 12 | } 13 | 14 | function deserialize_librarian_miner_v1_RecognizeImageBinaryRequest(buffer_arg) { 15 | return librarian_miner_v1_miner_pb.RecognizeImageBinaryRequest.deserializeBinary(new Uint8Array(buffer_arg)); 16 | } 17 | 18 | function serialize_librarian_miner_v1_RecognizeImageBinaryResponse(arg) { 19 | if (!(arg instanceof librarian_miner_v1_miner_pb.RecognizeImageBinaryResponse)) { 20 | throw new Error('Expected argument of type librarian.miner.v1.RecognizeImageBinaryResponse'); 21 | } 22 | return Buffer.from(arg.serializeBinary()); 23 | } 24 | 25 | function deserialize_librarian_miner_v1_RecognizeImageBinaryResponse(buffer_arg) { 26 | return librarian_miner_v1_miner_pb.RecognizeImageBinaryResponse.deserializeBinary(new Uint8Array(buffer_arg)); 27 | } 28 | 29 | function serialize_librarian_miner_v1_RecognizeImageURLRequest(arg) { 30 | if (!(arg instanceof librarian_miner_v1_miner_pb.RecognizeImageURLRequest)) { 31 | throw new Error('Expected argument of type librarian.miner.v1.RecognizeImageURLRequest'); 32 | } 33 | return Buffer.from(arg.serializeBinary()); 34 | } 35 | 36 | function deserialize_librarian_miner_v1_RecognizeImageURLRequest(buffer_arg) { 37 | return librarian_miner_v1_miner_pb.RecognizeImageURLRequest.deserializeBinary(new Uint8Array(buffer_arg)); 38 | } 39 | 40 | function serialize_librarian_miner_v1_RecognizeImageURLResponse(arg) { 41 | if (!(arg instanceof librarian_miner_v1_miner_pb.RecognizeImageURLResponse)) { 42 | throw new Error('Expected argument of type librarian.miner.v1.RecognizeImageURLResponse'); 43 | } 44 | return Buffer.from(arg.serializeBinary()); 45 | } 46 | 47 | function deserialize_librarian_miner_v1_RecognizeImageURLResponse(buffer_arg) { 48 | return librarian_miner_v1_miner_pb.RecognizeImageURLResponse.deserializeBinary(new Uint8Array(buffer_arg)); 49 | } 50 | 51 | 52 | // 53 | // The main role of Miner is to encapsulate compute-intensive tasks 54 | var LibrarianMinerServiceService = exports.LibrarianMinerServiceService = { 55 | recognizeImageBinary: { 56 | path: '/librarian.miner.v1.LibrarianMinerService/RecognizeImageBinary', 57 | requestStream: true, 58 | responseStream: false, 59 | requestType: librarian_miner_v1_miner_pb.RecognizeImageBinaryRequest, 60 | responseType: librarian_miner_v1_miner_pb.RecognizeImageBinaryResponse, 61 | requestSerialize: serialize_librarian_miner_v1_RecognizeImageBinaryRequest, 62 | requestDeserialize: deserialize_librarian_miner_v1_RecognizeImageBinaryRequest, 63 | responseSerialize: serialize_librarian_miner_v1_RecognizeImageBinaryResponse, 64 | responseDeserialize: deserialize_librarian_miner_v1_RecognizeImageBinaryResponse, 65 | }, 66 | recognizeImageURL: { 67 | path: '/librarian.miner.v1.LibrarianMinerService/RecognizeImageURL', 68 | requestStream: false, 69 | responseStream: false, 70 | requestType: librarian_miner_v1_miner_pb.RecognizeImageURLRequest, 71 | responseType: librarian_miner_v1_miner_pb.RecognizeImageURLResponse, 72 | requestSerialize: serialize_librarian_miner_v1_RecognizeImageURLRequest, 73 | requestDeserialize: deserialize_librarian_miner_v1_RecognizeImageURLRequest, 74 | responseSerialize: serialize_librarian_miner_v1_RecognizeImageURLResponse, 75 | responseDeserialize: deserialize_librarian_miner_v1_RecognizeImageURLResponse, 76 | }, 77 | }; 78 | 79 | exports.LibrarianMinerServiceClient = grpc.makeGenericClientConstructor(LibrarianMinerServiceService, 'LibrarianMinerService'); 80 | -------------------------------------------------------------------------------- /node/librarian/miner/v1/miner_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: librarian.miner.v1 2 | // file: librarian/miner/v1/miner.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | 6 | export class RecognizeImageBinaryRequest extends jspb.Message { 7 | getData(): Uint8Array | string; 8 | getData_asU8(): Uint8Array; 9 | getData_asB64(): string; 10 | setData(value: Uint8Array | string): void; 11 | 12 | serializeBinary(): Uint8Array; 13 | toObject(includeInstance?: boolean): RecognizeImageBinaryRequest.AsObject; 14 | static toObject(includeInstance: boolean, msg: RecognizeImageBinaryRequest): RecognizeImageBinaryRequest.AsObject; 15 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 16 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 17 | static serializeBinaryToWriter(message: RecognizeImageBinaryRequest, writer: jspb.BinaryWriter): void; 18 | static deserializeBinary(bytes: Uint8Array): RecognizeImageBinaryRequest; 19 | static deserializeBinaryFromReader(message: RecognizeImageBinaryRequest, reader: jspb.BinaryReader): RecognizeImageBinaryRequest; 20 | } 21 | 22 | export namespace RecognizeImageBinaryRequest { 23 | export type AsObject = { 24 | data: Uint8Array | string, 25 | } 26 | } 27 | 28 | export class RecognizeImageBinaryResponse extends jspb.Message { 29 | clearResultsList(): void; 30 | getResultsList(): Array; 31 | setResultsList(value: Array): void; 32 | addResults(value?: RecognizeImageResult, index?: number): RecognizeImageResult; 33 | 34 | serializeBinary(): Uint8Array; 35 | toObject(includeInstance?: boolean): RecognizeImageBinaryResponse.AsObject; 36 | static toObject(includeInstance: boolean, msg: RecognizeImageBinaryResponse): RecognizeImageBinaryResponse.AsObject; 37 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 38 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 39 | static serializeBinaryToWriter(message: RecognizeImageBinaryResponse, writer: jspb.BinaryWriter): void; 40 | static deserializeBinary(bytes: Uint8Array): RecognizeImageBinaryResponse; 41 | static deserializeBinaryFromReader(message: RecognizeImageBinaryResponse, reader: jspb.BinaryReader): RecognizeImageBinaryResponse; 42 | } 43 | 44 | export namespace RecognizeImageBinaryResponse { 45 | export type AsObject = { 46 | resultsList: Array, 47 | } 48 | } 49 | 50 | export class RecognizeImageURLRequest extends jspb.Message { 51 | getUrl(): string; 52 | setUrl(value: string): void; 53 | 54 | serializeBinary(): Uint8Array; 55 | toObject(includeInstance?: boolean): RecognizeImageURLRequest.AsObject; 56 | static toObject(includeInstance: boolean, msg: RecognizeImageURLRequest): RecognizeImageURLRequest.AsObject; 57 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 58 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 59 | static serializeBinaryToWriter(message: RecognizeImageURLRequest, writer: jspb.BinaryWriter): void; 60 | static deserializeBinary(bytes: Uint8Array): RecognizeImageURLRequest; 61 | static deserializeBinaryFromReader(message: RecognizeImageURLRequest, reader: jspb.BinaryReader): RecognizeImageURLRequest; 62 | } 63 | 64 | export namespace RecognizeImageURLRequest { 65 | export type AsObject = { 66 | url: string, 67 | } 68 | } 69 | 70 | export class RecognizeImageURLResponse extends jspb.Message { 71 | clearResultsList(): void; 72 | getResultsList(): Array; 73 | setResultsList(value: Array): void; 74 | addResults(value?: RecognizeImageResult, index?: number): RecognizeImageResult; 75 | 76 | serializeBinary(): Uint8Array; 77 | toObject(includeInstance?: boolean): RecognizeImageURLResponse.AsObject; 78 | static toObject(includeInstance: boolean, msg: RecognizeImageURLResponse): RecognizeImageURLResponse.AsObject; 79 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 80 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 81 | static serializeBinaryToWriter(message: RecognizeImageURLResponse, writer: jspb.BinaryWriter): void; 82 | static deserializeBinary(bytes: Uint8Array): RecognizeImageURLResponse; 83 | static deserializeBinaryFromReader(message: RecognizeImageURLResponse, reader: jspb.BinaryReader): RecognizeImageURLResponse; 84 | } 85 | 86 | export namespace RecognizeImageURLResponse { 87 | export type AsObject = { 88 | resultsList: Array, 89 | } 90 | } 91 | 92 | export class RecognizeImageResult extends jspb.Message { 93 | getConfidence(): number; 94 | setConfidence(value: number): void; 95 | 96 | getText(): string; 97 | setText(value: string): void; 98 | 99 | serializeBinary(): Uint8Array; 100 | toObject(includeInstance?: boolean): RecognizeImageResult.AsObject; 101 | static toObject(includeInstance: boolean, msg: RecognizeImageResult): RecognizeImageResult.AsObject; 102 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 103 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 104 | static serializeBinaryToWriter(message: RecognizeImageResult, writer: jspb.BinaryWriter): void; 105 | static deserializeBinary(bytes: Uint8Array): RecognizeImageResult; 106 | static deserializeBinaryFromReader(message: RecognizeImageResult, reader: jspb.BinaryReader): RecognizeImageResult; 107 | } 108 | 109 | export namespace RecognizeImageResult { 110 | export type AsObject = { 111 | confidence: number, 112 | text: string, 113 | } 114 | } 115 | 116 | -------------------------------------------------------------------------------- /node/librarian/porter/v1/gebura_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/porter/v1/gebura_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/porter/v1/tiphereth_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/porter/v1/tiphereth_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/porter/v1/tiphereth_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: librarian.porter.v1 2 | // file: librarian/porter/v1/tiphereth.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | 6 | export class GetAccountRequest extends jspb.Message { 7 | getPlatform(): string; 8 | setPlatform(value: string): void; 9 | 10 | getPlatformAccountId(): string; 11 | setPlatformAccountId(value: string): void; 12 | 13 | serializeBinary(): Uint8Array; 14 | toObject(includeInstance?: boolean): GetAccountRequest.AsObject; 15 | static toObject(includeInstance: boolean, msg: GetAccountRequest): GetAccountRequest.AsObject; 16 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 17 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 18 | static serializeBinaryToWriter(message: GetAccountRequest, writer: jspb.BinaryWriter): void; 19 | static deserializeBinary(bytes: Uint8Array): GetAccountRequest; 20 | static deserializeBinaryFromReader(message: GetAccountRequest, reader: jspb.BinaryReader): GetAccountRequest; 21 | } 22 | 23 | export namespace GetAccountRequest { 24 | export type AsObject = { 25 | platform: string, 26 | platformAccountId: string, 27 | } 28 | } 29 | 30 | export class GetAccountResponse extends jspb.Message { 31 | hasAccount(): boolean; 32 | clearAccount(): void; 33 | getAccount(): Account | undefined; 34 | setAccount(value?: Account): void; 35 | 36 | serializeBinary(): Uint8Array; 37 | toObject(includeInstance?: boolean): GetAccountResponse.AsObject; 38 | static toObject(includeInstance: boolean, msg: GetAccountResponse): GetAccountResponse.AsObject; 39 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 40 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 41 | static serializeBinaryToWriter(message: GetAccountResponse, writer: jspb.BinaryWriter): void; 42 | static deserializeBinary(bytes: Uint8Array): GetAccountResponse; 43 | static deserializeBinaryFromReader(message: GetAccountResponse, reader: jspb.BinaryReader): GetAccountResponse; 44 | } 45 | 46 | export namespace GetAccountResponse { 47 | export type AsObject = { 48 | account?: Account.AsObject, 49 | } 50 | } 51 | 52 | export class Account extends jspb.Message { 53 | getPlatform(): string; 54 | setPlatform(value: string): void; 55 | 56 | getPlatformAccountId(): string; 57 | setPlatformAccountId(value: string): void; 58 | 59 | getName(): string; 60 | setName(value: string): void; 61 | 62 | getProfileUrl(): string; 63 | setProfileUrl(value: string): void; 64 | 65 | getAvatarUrl(): string; 66 | setAvatarUrl(value: string): void; 67 | 68 | serializeBinary(): Uint8Array; 69 | toObject(includeInstance?: boolean): Account.AsObject; 70 | static toObject(includeInstance: boolean, msg: Account): Account.AsObject; 71 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 72 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 73 | static serializeBinaryToWriter(message: Account, writer: jspb.BinaryWriter): void; 74 | static deserializeBinary(bytes: Uint8Array): Account; 75 | static deserializeBinaryFromReader(message: Account, reader: jspb.BinaryReader): Account; 76 | } 77 | 78 | export namespace Account { 79 | export type AsObject = { 80 | platform: string, 81 | platformAccountId: string, 82 | name: string, 83 | profileUrl: string, 84 | avatarUrl: string, 85 | } 86 | } 87 | 88 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/angela/binah_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/angela/binah_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/angela/gebura_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/angela/gebura_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/angela/tiphereth_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/angela/tiphereth_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/errors_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/errors_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/errors_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: librarian.sephirah.v1 2 | // file: librarian/sephirah/v1/errors.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | import * as errors_errors_pb from "../../../errors/errors_pb"; 6 | 7 | export interface ErrorReasonMap { 8 | ERROR_REASON_UNSPECIFIED: 0; 9 | ERROR_REASON_BAD_REQUEST: 1; 10 | ERROR_REASON_UNAUTHORIZED: 2; 11 | ERROR_REASON_FORBIDDEN: 3; 12 | ERROR_REASON_NOT_FOUND: 4; 13 | ERROR_REASON_METHOD_NOT_ALLOWED: 5; 14 | ERROR_REASON_NOT_IMPLEMENTED: 6; 15 | ERROR_REASON_BAD_GATEWAY: 7; 16 | } 17 | 18 | export const ErrorReason: ErrorReasonMap; 19 | 20 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/errors_pb.js: -------------------------------------------------------------------------------- 1 | // source: librarian/sephirah/v1/errors.proto 2 | /** 3 | * @fileoverview 4 | * @enhanceable 5 | * @suppress {missingRequire} reports error on implicit type usages. 6 | * @suppress {messageConventions} JS Compiler reports an error if a variable or 7 | * field starts with 'MSG_' and isn't a translatable message. 8 | * @public 9 | */ 10 | // GENERATED CODE -- DO NOT EDIT! 11 | /* eslint-disable */ 12 | // @ts-nocheck 13 | 14 | var jspb = require('google-protobuf'); 15 | var goog = jspb; 16 | var global = 17 | (typeof globalThis !== 'undefined' && globalThis) || 18 | (typeof window !== 'undefined' && window) || 19 | (typeof global !== 'undefined' && global) || 20 | (typeof self !== 'undefined' && self) || 21 | (function () { return this; }).call(null) || 22 | Function('return this')(); 23 | 24 | var errors_errors_pb = require('../../../errors/errors_pb.js'); 25 | goog.object.extend(proto, errors_errors_pb); 26 | goog.exportSymbol('proto.librarian.sephirah.v1.ErrorReason', null, global); 27 | /** 28 | * @enum {number} 29 | */ 30 | proto.librarian.sephirah.v1.ErrorReason = { 31 | ERROR_REASON_UNSPECIFIED: 0, 32 | ERROR_REASON_BAD_REQUEST: 1, 33 | ERROR_REASON_UNAUTHORIZED: 2, 34 | ERROR_REASON_FORBIDDEN: 3, 35 | ERROR_REASON_NOT_FOUND: 4, 36 | ERROR_REASON_METHOD_NOT_ALLOWED: 5, 37 | ERROR_REASON_NOT_IMPLEMENTED: 6, 38 | ERROR_REASON_BAD_GATEWAY: 7 39 | }; 40 | 41 | goog.object.extend(exports, proto.librarian.sephirah.v1); 42 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sentinel/sentinel_service_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- DO NOT EDIT! 2 | 3 | // package: librarian.sephirah.v1.sentinel 4 | // file: librarian/sephirah/v1/sentinel/sentinel_service.proto 5 | 6 | import * as librarian_sephirah_v1_sentinel_sentinel_service_pb from "../../../../librarian/sephirah/v1/sentinel/sentinel_service_pb"; 7 | import * as grpc from "@grpc/grpc-js"; 8 | 9 | interface ILibrarianSentinelServiceService extends grpc.ServiceDefinition { 10 | refreshToken: grpc.MethodDefinition; 11 | heartbeat: grpc.MethodDefinition; 12 | reportSentinelInformation: grpc.MethodDefinition; 13 | reportAppBinaries: grpc.MethodDefinition; 14 | } 15 | 16 | export const LibrarianSentinelServiceService: ILibrarianSentinelServiceService; 17 | 18 | export interface ILibrarianSentinelServiceServer extends grpc.UntypedServiceImplementation { 19 | refreshToken: grpc.handleUnaryCall; 20 | heartbeat: grpc.handleUnaryCall; 21 | reportSentinelInformation: grpc.handleUnaryCall; 22 | reportAppBinaries: grpc.handleUnaryCall; 23 | } 24 | 25 | export class LibrarianSentinelServiceClient extends grpc.Client { 26 | constructor(address: string, credentials: grpc.ChannelCredentials, options?: object); 27 | refreshToken(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.RefreshTokenRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; 28 | refreshToken(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.RefreshTokenRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 29 | refreshToken(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.RefreshTokenRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 30 | heartbeat(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.HeartbeatRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; 31 | heartbeat(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.HeartbeatRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 32 | heartbeat(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.HeartbeatRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 33 | reportSentinelInformation(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.ReportSentinelInformationRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; 34 | reportSentinelInformation(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.ReportSentinelInformationRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 35 | reportSentinelInformation(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.ReportSentinelInformationRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 36 | reportAppBinaries(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.ReportAppBinariesRequest, callback: grpc.requestCallback): grpc.ClientUnaryCall; 37 | reportAppBinaries(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.ReportAppBinariesRequest, metadataOrOptions: grpc.Metadata | grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 38 | reportAppBinaries(argument: librarian_sephirah_v1_sentinel_sentinel_service_pb.ReportAppBinariesRequest, metadata: grpc.Metadata | null, options: grpc.CallOptions | null, callback: grpc.requestCallback): grpc.ClientUnaryCall; 39 | } 40 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/base_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/base_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/binah_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/binah_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/chesed_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/chesed_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/gebura_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/gebura_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/netzach_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/netzach_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/sephirah_service_pb.d.ts: -------------------------------------------------------------------------------- 1 | // package: librarian.sephirah.v1.sephirah 2 | // file: librarian/sephirah/v1/sephirah/sephirah_service.proto 3 | 4 | import * as jspb from "google-protobuf"; 5 | import * as google_protobuf_timestamp_pb from "google-protobuf/google/protobuf/timestamp_pb"; 6 | import * as librarian_sephirah_v1_sephirah_base_pb from "../../../../librarian/sephirah/v1/sephirah/base_pb"; 7 | import * as librarian_sephirah_v1_sephirah_binah_pb from "../../../../librarian/sephirah/v1/sephirah/binah_pb"; 8 | import * as librarian_sephirah_v1_sephirah_chesed_pb from "../../../../librarian/sephirah/v1/sephirah/chesed_pb"; 9 | import * as librarian_sephirah_v1_sephirah_gebura_pb from "../../../../librarian/sephirah/v1/sephirah/gebura_pb"; 10 | import * as librarian_sephirah_v1_sephirah_netzach_pb from "../../../../librarian/sephirah/v1/sephirah/netzach_pb"; 11 | import * as librarian_sephirah_v1_sephirah_tiphereth_pb from "../../../../librarian/sephirah/v1/sephirah/tiphereth_pb"; 12 | import * as librarian_sephirah_v1_sephirah_yesod_pb from "../../../../librarian/sephirah/v1/sephirah/yesod_pb"; 13 | 14 | export class GetServerInformationRequest extends jspb.Message { 15 | hasWithStatusReport(): boolean; 16 | clearWithStatusReport(): void; 17 | getWithStatusReport(): boolean; 18 | setWithStatusReport(value: boolean): void; 19 | 20 | serializeBinary(): Uint8Array; 21 | toObject(includeInstance?: boolean): GetServerInformationRequest.AsObject; 22 | static toObject(includeInstance: boolean, msg: GetServerInformationRequest): GetServerInformationRequest.AsObject; 23 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 24 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 25 | static serializeBinaryToWriter(message: GetServerInformationRequest, writer: jspb.BinaryWriter): void; 26 | static deserializeBinary(bytes: Uint8Array): GetServerInformationRequest; 27 | static deserializeBinaryFromReader(message: GetServerInformationRequest, reader: jspb.BinaryReader): GetServerInformationRequest; 28 | } 29 | 30 | export namespace GetServerInformationRequest { 31 | export type AsObject = { 32 | withStatusReport: boolean, 33 | } 34 | } 35 | 36 | export class GetServerInformationResponse extends jspb.Message { 37 | hasServerInformation(): boolean; 38 | clearServerInformation(): void; 39 | getServerInformation(): librarian_sephirah_v1_sephirah_base_pb.ServerInformation | undefined; 40 | setServerInformation(value?: librarian_sephirah_v1_sephirah_base_pb.ServerInformation): void; 41 | 42 | serializeBinary(): Uint8Array; 43 | toObject(includeInstance?: boolean): GetServerInformationResponse.AsObject; 44 | static toObject(includeInstance: boolean, msg: GetServerInformationResponse): GetServerInformationResponse.AsObject; 45 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 46 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 47 | static serializeBinaryToWriter(message: GetServerInformationResponse, writer: jspb.BinaryWriter): void; 48 | static deserializeBinary(bytes: Uint8Array): GetServerInformationResponse; 49 | static deserializeBinaryFromReader(message: GetServerInformationResponse, reader: jspb.BinaryReader): GetServerInformationResponse; 50 | } 51 | 52 | export namespace GetServerInformationResponse { 53 | export type AsObject = { 54 | serverInformation?: librarian_sephirah_v1_sephirah_base_pb.ServerInformation.AsObject, 55 | } 56 | } 57 | 58 | export class ListenServerEventRequest extends jspb.Message { 59 | serializeBinary(): Uint8Array; 60 | toObject(includeInstance?: boolean): ListenServerEventRequest.AsObject; 61 | static toObject(includeInstance: boolean, msg: ListenServerEventRequest): ListenServerEventRequest.AsObject; 62 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 63 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 64 | static serializeBinaryToWriter(message: ListenServerEventRequest, writer: jspb.BinaryWriter): void; 65 | static deserializeBinary(bytes: Uint8Array): ListenServerEventRequest; 66 | static deserializeBinaryFromReader(message: ListenServerEventRequest, reader: jspb.BinaryReader): ListenServerEventRequest; 67 | } 68 | 69 | export namespace ListenServerEventRequest { 70 | export type AsObject = { 71 | } 72 | } 73 | 74 | export class ListenServerEventResponse extends jspb.Message { 75 | getEvent(): ServerEventMap[keyof ServerEventMap]; 76 | setEvent(value: ServerEventMap[keyof ServerEventMap]): void; 77 | 78 | hasOccurTime(): boolean; 79 | clearOccurTime(): void; 80 | getOccurTime(): google_protobuf_timestamp_pb.Timestamp | undefined; 81 | setOccurTime(value?: google_protobuf_timestamp_pb.Timestamp): void; 82 | 83 | getPayload(): string; 84 | setPayload(value: string): void; 85 | 86 | serializeBinary(): Uint8Array; 87 | toObject(includeInstance?: boolean): ListenServerEventResponse.AsObject; 88 | static toObject(includeInstance: boolean, msg: ListenServerEventResponse): ListenServerEventResponse.AsObject; 89 | static extensions: {[key: number]: jspb.ExtensionFieldInfo}; 90 | static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; 91 | static serializeBinaryToWriter(message: ListenServerEventResponse, writer: jspb.BinaryWriter): void; 92 | static deserializeBinary(bytes: Uint8Array): ListenServerEventResponse; 93 | static deserializeBinaryFromReader(message: ListenServerEventResponse, reader: jspb.BinaryReader): ListenServerEventResponse; 94 | } 95 | 96 | export namespace ListenServerEventResponse { 97 | export type AsObject = { 98 | event: ServerEventMap[keyof ServerEventMap], 99 | occurTime?: google_protobuf_timestamp_pb.Timestamp.AsObject, 100 | payload: string, 101 | } 102 | } 103 | 104 | export interface ServerEventMap { 105 | SERVER_EVENT_UNSPECIFIED: 0; 106 | SERVER_EVENT_LISTENER_CONNECTED: 1; 107 | SERVER_EVENT_SYSTEM_NOTIFICATION_UPDATED: 2; 108 | } 109 | 110 | export const ServerEvent: ServerEventMap; 111 | 112 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/tiphereth_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/tiphereth_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/yesod_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/sephirah/v1/sephirah/yesod_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/v1/common_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/v1/common_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /node/librarian/v1/wellknown_grpc_pb.d.ts: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO 2 | -------------------------------------------------------------------------------- /node/librarian/v1/wellknown_grpc_pb.js: -------------------------------------------------------------------------------- 1 | // GENERATED CODE -- NO SERVICES IN PROTO -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@tuihub/protos", 3 | "version": "0.5.6", 4 | "description": "", 5 | "repository": { 6 | "type": "git", 7 | "url": "git+https://github.com/tuihub/protos.git" 8 | }, 9 | "author": "TuiHub", 10 | "license": "MIT", 11 | "bugs": { 12 | "url": "https://github.com/tuihub/protos/issues" 13 | }, 14 | "homepage": "https://github.com/tuihub/protos#readme", 15 | "dependencies": { 16 | "@grpc/grpc-js": "^1.13.4", 17 | "google-protobuf": "^3.21.4", 18 | "grpc-tools": "^1.13.0", 19 | "ts-protoc-gen": "^0.15.0" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /pkg/librarian/sephirah/v1/errors_errors.pb.go: -------------------------------------------------------------------------------- 1 | // Code generated by protoc-gen-go-errors. DO NOT EDIT. 2 | 3 | package v1 4 | 5 | import ( 6 | fmt "fmt" 7 | errors "github.com/go-kratos/kratos/v2/errors" 8 | ) 9 | 10 | // This is a compile-time assertion to ensure that this generated file 11 | // is compatible with the kratos package it is being compiled against. 12 | const _ = errors.SupportPackageIsVersion1 13 | 14 | func IsErrorReasonUnspecified(err error) bool { 15 | if err == nil { 16 | return false 17 | } 18 | e := errors.FromError(err) 19 | return e.Reason == ErrorReason_ERROR_REASON_UNSPECIFIED.String() && e.Code == 500 20 | } 21 | 22 | func ErrorErrorReasonUnspecified(format string, args ...interface{}) *errors.Error { 23 | return errors.New(500, ErrorReason_ERROR_REASON_UNSPECIFIED.String(), fmt.Sprintf(format, args...)) 24 | } 25 | 26 | func IsErrorReasonBadRequest(err error) bool { 27 | if err == nil { 28 | return false 29 | } 30 | e := errors.FromError(err) 31 | return e.Reason == ErrorReason_ERROR_REASON_BAD_REQUEST.String() && e.Code == 400 32 | } 33 | 34 | func ErrorErrorReasonBadRequest(format string, args ...interface{}) *errors.Error { 35 | return errors.New(400, ErrorReason_ERROR_REASON_BAD_REQUEST.String(), fmt.Sprintf(format, args...)) 36 | } 37 | 38 | func IsErrorReasonUnauthorized(err error) bool { 39 | if err == nil { 40 | return false 41 | } 42 | e := errors.FromError(err) 43 | return e.Reason == ErrorReason_ERROR_REASON_UNAUTHORIZED.String() && e.Code == 401 44 | } 45 | 46 | func ErrorErrorReasonUnauthorized(format string, args ...interface{}) *errors.Error { 47 | return errors.New(401, ErrorReason_ERROR_REASON_UNAUTHORIZED.String(), fmt.Sprintf(format, args...)) 48 | } 49 | 50 | func IsErrorReasonForbidden(err error) bool { 51 | if err == nil { 52 | return false 53 | } 54 | e := errors.FromError(err) 55 | return e.Reason == ErrorReason_ERROR_REASON_FORBIDDEN.String() && e.Code == 403 56 | } 57 | 58 | func ErrorErrorReasonForbidden(format string, args ...interface{}) *errors.Error { 59 | return errors.New(403, ErrorReason_ERROR_REASON_FORBIDDEN.String(), fmt.Sprintf(format, args...)) 60 | } 61 | 62 | func IsErrorReasonNotFound(err error) bool { 63 | if err == nil { 64 | return false 65 | } 66 | e := errors.FromError(err) 67 | return e.Reason == ErrorReason_ERROR_REASON_NOT_FOUND.String() && e.Code == 404 68 | } 69 | 70 | func ErrorErrorReasonNotFound(format string, args ...interface{}) *errors.Error { 71 | return errors.New(404, ErrorReason_ERROR_REASON_NOT_FOUND.String(), fmt.Sprintf(format, args...)) 72 | } 73 | 74 | func IsErrorReasonMethodNotAllowed(err error) bool { 75 | if err == nil { 76 | return false 77 | } 78 | e := errors.FromError(err) 79 | return e.Reason == ErrorReason_ERROR_REASON_METHOD_NOT_ALLOWED.String() && e.Code == 405 80 | } 81 | 82 | func ErrorErrorReasonMethodNotAllowed(format string, args ...interface{}) *errors.Error { 83 | return errors.New(405, ErrorReason_ERROR_REASON_METHOD_NOT_ALLOWED.String(), fmt.Sprintf(format, args...)) 84 | } 85 | 86 | func IsErrorReasonNotImplemented(err error) bool { 87 | if err == nil { 88 | return false 89 | } 90 | e := errors.FromError(err) 91 | return e.Reason == ErrorReason_ERROR_REASON_NOT_IMPLEMENTED.String() && e.Code == 501 92 | } 93 | 94 | func ErrorErrorReasonNotImplemented(format string, args ...interface{}) *errors.Error { 95 | return errors.New(501, ErrorReason_ERROR_REASON_NOT_IMPLEMENTED.String(), fmt.Sprintf(format, args...)) 96 | } 97 | 98 | func IsErrorReasonBadGateway(err error) bool { 99 | if err == nil { 100 | return false 101 | } 102 | e := errors.FromError(err) 103 | return e.Reason == ErrorReason_ERROR_REASON_BAD_GATEWAY.String() && e.Code == 502 104 | } 105 | 106 | func ErrorErrorReasonBadGateway(format string, args ...interface{}) *errors.Error { 107 | return errors.New(502, ErrorReason_ERROR_REASON_BAD_GATEWAY.String(), fmt.Sprintf(format, args...)) 108 | } 109 | -------------------------------------------------------------------------------- /proto/errors/errors.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package errors; 4 | 5 | import "google/protobuf/descriptor.proto"; 6 | 7 | option go_package = "github.com/go-kratos/kratos/v2/errors;errors"; 8 | option java_multiple_files = true; 9 | option java_package = "com.github.kratos.errors"; 10 | option objc_class_prefix = "KratosErrors"; 11 | 12 | message Error { 13 | int32 code = 1; 14 | string reason = 2; 15 | string message = 3; 16 | map metadata = 4; 17 | } 18 | 19 | extend google.protobuf.EnumOptions { 20 | int32 default_code = 1108; 21 | } 22 | 23 | extend google.protobuf.EnumValueOptions { 24 | int32 code = 1109; 25 | } 26 | -------------------------------------------------------------------------------- /proto/librarian/miner/v1/miner.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.miner.v1; 4 | 5 | option csharp_namespace = "TuiHub.Protos.Librarian.Miner.V1"; 6 | option go_package = "github.com/tuihub/protos/pkg/librarian/miner/v1;v1"; 7 | 8 | /* 9 | *The main role of Miner is to encapsulate compute-intensive tasks 10 | */ 11 | service LibrarianMinerService { 12 | rpc RecognizeImageBinary(stream RecognizeImageBinaryRequest) returns (RecognizeImageBinaryResponse); 13 | rpc RecognizeImageURL(RecognizeImageURLRequest) returns (RecognizeImageURLResponse); 14 | } 15 | 16 | message RecognizeImageBinaryRequest { 17 | bytes data = 1; 18 | } 19 | 20 | message RecognizeImageBinaryResponse { 21 | repeated RecognizeImageResult results = 1; 22 | } 23 | 24 | message RecognizeImageURLRequest { 25 | string url = 1; 26 | } 27 | 28 | message RecognizeImageURLResponse { 29 | repeated RecognizeImageResult results = 1; 30 | } 31 | 32 | message RecognizeImageResult { 33 | double confidence = 1; 34 | string text = 2; 35 | } 36 | -------------------------------------------------------------------------------- /proto/librarian/porter/v1/gebura.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.porter.v1; 4 | 5 | option csharp_namespace = "TuiHub.Protos.Librarian.Porter.V1"; 6 | option go_package = "github.com/tuihub/protos/pkg/librarian/porter/v1;v1"; 7 | 8 | message SearchAppInfoRequest { 9 | string name_like = 1; 10 | } 11 | 12 | message SearchAppInfoResponse { 13 | repeated AppInfo app_infos = 1; 14 | } 15 | 16 | message GetAppInfoRequest { 17 | // WellKnownAppInfoSource 18 | string source = 1; 19 | string source_app_id = 2; 20 | } 21 | message GetAppInfoResponse { 22 | AppInfo app_info = 1; 23 | } 24 | 25 | message ParseRawAppInfoRequest { 26 | // WellKnownAppInfoSource 27 | string source = 1; 28 | string source_app_id = 2; 29 | string raw_data_json = 3; 30 | } 31 | 32 | message ParseRawAppInfoResponse { 33 | AppInfo app_info = 1; 34 | } 35 | 36 | message AppInfo { 37 | // WellKnownAppInfoSource 38 | string source = 1; 39 | string source_app_id = 2; 40 | optional string source_url = 3; 41 | 42 | // original data in json format 43 | string raw_data_json = 4; 44 | optional AppInfoDetails details = 5; 45 | 46 | string name = 6; 47 | AppType type = 7; 48 | string short_description = 8; 49 | string icon_image_url = 9; 50 | // must be horizontal, usually 16:9 51 | string background_image_url = 10; 52 | // must be vertical, usually 3:4 53 | string cover_image_url = 11; 54 | repeated string tags = 12; 55 | repeated string name_alternatives = 13; 56 | } 57 | 58 | message AppInfoDetails { 59 | string description = 1; 60 | string release_date = 2; 61 | string developer = 3; 62 | string publisher = 4; 63 | string version = 5; 64 | repeated string image_urls = 6; 65 | } 66 | 67 | enum AppType { 68 | APP_TYPE_UNSPECIFIED = 0; 69 | APP_TYPE_GAME = 1; 70 | } 71 | -------------------------------------------------------------------------------- /proto/librarian/porter/v1/tiphereth.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.porter.v1; 4 | 5 | option csharp_namespace = "TuiHub.Protos.Librarian.Porter.V1"; 6 | option go_package = "github.com/tuihub/protos/pkg/librarian/porter/v1;v1"; 7 | 8 | message GetAccountRequest { 9 | // WellKnownAccountPlatform 10 | string platform = 1; 11 | string platform_account_id = 2; 12 | } 13 | message GetAccountResponse { 14 | Account account = 1; 15 | } 16 | 17 | message Account { 18 | // WellKnownPlatform 19 | string platform = 1; 20 | string platform_account_id = 2; 21 | string name = 3; 22 | string profile_url = 4; 23 | string avatar_url = 5; 24 | } 25 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/angela/angela_service.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.angela; 4 | 5 | import "librarian/sephirah/v1/angela/binah.proto"; 6 | import "librarian/sephirah/v1/angela/gebura.proto"; 7 | import "librarian/sephirah/v1/angela/tiphereth.proto"; 8 | import "librarian/sephirah/v1/sephirah/base.proto"; 9 | import "librarian/v1/wellknown.proto"; 10 | 11 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Angela"; 12 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 13 | 14 | /* 15 | * Angela provides the admin control interface 16 | */ 17 | service LibrarianAngelaService { 18 | // Allow anonymous call, use accessToken to get complete information 19 | rpc GetServerInformation(GetServerInformationRequest) returns (GetServerInformationResponse); 20 | 21 | rpc GetServerConfig(GetServerConfigRequest) returns (GetServerConfigResponse); 22 | rpc UpdateServerConfig(UpdateServerConfigRequest) returns (UpdateServerConfigResponse); 23 | 24 | // `Tiphereth` Login via password and get two token 25 | rpc GetToken(GetTokenRequest) returns (GetTokenResponse); 26 | // `Tiphereth` Use valid refresh_token and get two new token, a refresh_token can only be used once 27 | rpc RefreshToken(RefreshTokenRequest) returns (RefreshTokenResponse); 28 | 29 | // `Tiphereth` 30 | rpc CreateUser(CreateUserRequest) returns (CreateUserResponse); 31 | // `Tiphereth` 32 | rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse); 33 | // `Tiphereth` 34 | rpc ListUsers(ListUsersRequest) returns (ListUsersResponse); 35 | 36 | // `Tiphereth` 37 | rpc ListPorters(ListPortersRequest) returns (ListPortersResponse); 38 | // `Tiphereth` 39 | rpc UpdatePorterStatus(UpdatePorterStatusRequest) returns (UpdatePorterStatusResponse); 40 | // `Tiphereth` Delete porter, only when porter is disabled 41 | rpc DeletePorter(DeletePorterRequest) returns (DeletePorterResponse); 42 | 43 | // `Tiphereth` 44 | rpc CreateSentinel(CreateSentinelRequest) returns (CreateSentinelResponse); 45 | // `Tiphereth` 46 | rpc GetSentinelToken(GetSentinelTokenRequest) returns (GetSentinelTokenResponse); 47 | // `Tiphereth` 48 | rpc UpdateSentinel(UpdateSentinelRequest) returns (UpdateSentinelResponse); 49 | // `Tiphereth` 50 | rpc ListSentinels(ListSentinelsRequest) returns (ListSentinelsResponse); 51 | // `Tiphereth` 52 | rpc DeleteSentinel(DeleteSentinelRequest) returns (DeleteSentinelResponse); 53 | 54 | // `Binah` 55 | rpc ListStorageCapacityUsage(ListStorageCapacityUsageRequest) returns (ListStorageCapacityUsageResponse); 56 | // `Binah` `upload_token` 57 | // Maximum 256M 58 | // Server must send response at least once a minute to keepalive. 59 | // Client should ignore in_process response and wait for success or error response. 60 | rpc SimpleUploadFile(stream SimpleUploadFileRequest) returns (stream SimpleUploadFileResponse); 61 | // `Binah` `download_token` 62 | // Server will not check the receiving state 63 | rpc SimpleDownloadFile(SimpleDownloadFileRequest) returns (stream SimpleDownloadFileResponse); 64 | // `Binah` `upload_token` 65 | // Upload file through http url 66 | rpc PresignedUploadFile(PresignedUploadFileRequest) returns (PresignedUploadFileResponse); 67 | // `Binah` `upload_token` 68 | // Report file transfer status. Mainly used to trigger server post-process immediately 69 | rpc PresignedUploadFileStatus(PresignedUploadFileStatusRequest) returns (PresignedUploadFileStatusResponse); 70 | // `Binah` `download_token` 71 | // Download file through http url 72 | rpc PresignedDownloadFile(PresignedDownloadFileRequest) returns (PresignedDownloadFileResponse); 73 | 74 | // `Gebura` 75 | rpc SearchAppInfos(SearchAppInfosRequest) returns (SearchAppInfosResponse); 76 | // `Gebura` 77 | rpc CreateStoreApp(CreateStoreAppRequest) returns (CreateStoreAppResponse); 78 | // `Gebura` 79 | rpc UpdateStoreApp(UpdateStoreAppRequest) returns (UpdateStoreAppResponse); 80 | // `Gebura` 81 | rpc ListStoreApps(ListStoreAppsRequest) returns (ListStoreAppsResponse); 82 | 83 | // `Gebura` 84 | rpc ListStoreAppBinaries(ListStoreAppBinariesRequest) returns (ListStoreAppBinariesResponse); 85 | // `Gebura` 86 | rpc UpdateStoreAppBinary(UpdateStoreAppBinaryRequest) returns (UpdateStoreAppBinaryResponse); 87 | // `Gebura` 88 | rpc ListStoreAppBinaryFiles(ListStoreAppBinaryFilesRequest) returns (ListStoreAppBinaryFilesResponse); 89 | 90 | // `Gebura` 91 | rpc CreateStoreAppSaveFile(CreateStoreAppSaveFileRequest) returns (CreateStoreAppSaveFileResponse); 92 | // `Gebura` 93 | rpc UpdateStoreAppSaveFile(UpdateStoreAppSaveFileRequest) returns (UpdateStoreAppSaveFileResponse); 94 | // `Gebura` 95 | rpc UploadStoreAppSaveFile(UploadStoreAppSaveFileRequest) returns (UploadStoreAppSaveFileResponse); 96 | // `Gebura` 97 | rpc ListStoreAppSaveFiles(ListStoreAppSaveFilesRequest) returns (ListStoreAppSaveFilesResponse); 98 | // `Gebura` 99 | rpc DeleteStoreAppSaveFile(DeleteStoreAppSaveFileRequest) returns (DeleteStoreAppSaveFileResponse); 100 | } 101 | 102 | message GetServerInformationRequest { 103 | optional bool with_status_report = 1; 104 | } 105 | message GetServerInformationResponse { 106 | sephirah.ServerInformation server_information = 1; 107 | } 108 | 109 | message GetServerConfigRequest {} 110 | message GetServerConfigResponse { 111 | repeated ServerConfigSection sections = 1; 112 | } 113 | 114 | message UpdateServerConfigRequest { 115 | repeated ServerConfigItem items = 1; 116 | } 117 | message UpdateServerConfigResponse {} 118 | 119 | message ServerConfigSection { 120 | string id = 1; 121 | librarian.v1.I18NString name = 2; 122 | librarian.v1.I18NString description = 3; 123 | repeated ServerConfigItem items = 4; 124 | } 125 | 126 | message ServerConfigItem { 127 | // id must be unique in sections 128 | string id = 1; 129 | librarian.v1.I18NString name = 2; 130 | librarian.v1.I18NString description = 3; 131 | string default_value = 4; 132 | string current_value = 5; 133 | } 134 | 135 | message ServerConfigItemUpdate { 136 | string id = 1; 137 | string value = 2; 138 | } 139 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/angela/binah.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.angela; 4 | 5 | import "librarian/sephirah/v1/sephirah/binah.proto"; 6 | import "librarian/v1/wellknown.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Angela"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 10 | 11 | message ListStorageCapacityUsageRequest { 12 | librarian.v1.PagingRequest paging = 1; 13 | } 14 | message ListStorageCapacityUsageResponse { 15 | message Item { 16 | librarian.v1.InternalID user_id = 1; 17 | sephirah.StorageCapacityUsage storage_capacity_usage = 2; 18 | } 19 | librarian.v1.PagingResponse paging = 1; 20 | repeated Item items = 2; 21 | } 22 | 23 | message SimpleUploadFileRequest { 24 | bytes data = 1; 25 | } 26 | 27 | message SimpleUploadFileResponse { 28 | sephirah.FileTransferStatus status = 1; 29 | } 30 | message SimpleDownloadFileRequest {} 31 | message SimpleDownloadFileResponse { 32 | bytes data = 1; 33 | } 34 | 35 | message PresignedUploadFileRequest {} 36 | message PresignedUploadFileResponse { 37 | string upload_url = 1; 38 | } 39 | 40 | message PresignedUploadFileStatusRequest { 41 | sephirah.FileTransferStatus status = 1; 42 | } 43 | 44 | message PresignedUploadFileStatusResponse {} 45 | 46 | message PresignedDownloadFileRequest {} 47 | message PresignedDownloadFileResponse { 48 | // Should follow AWS S3 API 49 | string download_url = 1; 50 | } 51 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/angela/gebura.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.angela; 4 | 5 | import "librarian/sephirah/v1/sephirah/gebura.proto"; 6 | import "librarian/v1/wellknown.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Angela"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 10 | 11 | message SearchAppInfosRequest { 12 | librarian.v1.PagingRequest paging = 1; 13 | string name_like = 2; 14 | repeated string source_filter = 3; 15 | } 16 | message SearchAppInfosResponse { 17 | librarian.v1.PagingResponse paging = 1; 18 | repeated sephirah.AppInfo app_infos = 2; 19 | } 20 | 21 | message CreateStoreAppRequest { 22 | sephirah.StoreApp store_app = 1; 23 | } 24 | message CreateStoreAppResponse { 25 | librarian.v1.InternalID id = 1; 26 | } 27 | 28 | message UpdateStoreAppRequest { 29 | sephirah.StoreApp app_info = 1; 30 | } 31 | 32 | message UpdateStoreAppResponse {} 33 | 34 | message ListStoreAppsRequest { 35 | librarian.v1.PagingRequest paging = 1; 36 | repeated string source_filter = 3; 37 | repeated sephirah.AppType type_filter = 4; 38 | repeated librarian.v1.InternalID id_filter = 5; 39 | } 40 | 41 | message ListStoreAppsResponse { 42 | librarian.v1.PagingResponse paging = 1; 43 | repeated sephirah.StoreApp app_infos = 2; 44 | } 45 | 46 | message ListStoreAppBinariesRequest { 47 | librarian.v1.PagingRequest paging = 1; 48 | repeated librarian.v1.InternalID app_id_filter = 2; 49 | repeated librarian.v1.InternalID id_filter = 3; 50 | } 51 | message ListStoreAppBinariesResponse { 52 | librarian.v1.PagingResponse paging = 1; 53 | repeated sephirah.StoreAppBinary binaries = 2; 54 | } 55 | message UpdateStoreAppBinaryRequest { 56 | sephirah.StoreAppBinary binary = 1; 57 | } 58 | message UpdateStoreAppBinaryResponse {} 59 | 60 | message ListStoreAppBinaryFilesRequest { 61 | librarian.v1.PagingRequest paging = 1; 62 | librarian.v1.InternalID app_binary_id = 3; 63 | repeated librarian.v1.InternalID id_filter = 4; 64 | } 65 | message ListStoreAppBinaryFilesResponse { 66 | librarian.v1.PagingResponse paging = 1; 67 | repeated sephirah.StoreAppBinaryFile files = 2; 68 | } 69 | 70 | message CreateStoreAppSaveFileRequest { 71 | sephirah.StoreAppSaveFile save_file = 1; 72 | } 73 | message CreateStoreAppSaveFileResponse { 74 | librarian.v1.InternalID id = 1; 75 | } 76 | message UpdateStoreAppSaveFileRequest { 77 | sephirah.StoreAppSaveFile save_file = 1; 78 | } 79 | message UpdateStoreAppSaveFileResponse {} 80 | message UploadStoreAppSaveFileRequest { 81 | librarian.v1.InternalID id = 1; 82 | librarian.v1.FileMetadata file_metadata = 2; 83 | } 84 | message UploadStoreAppSaveFileResponse {} 85 | message ListStoreAppSaveFilesRequest { 86 | librarian.v1.PagingRequest paging = 1; 87 | librarian.v1.InternalID app_id = 2; 88 | repeated librarian.v1.InternalID id_filter = 3; 89 | } 90 | message ListStoreAppSaveFilesResponse { 91 | librarian.v1.PagingResponse paging = 1; 92 | repeated sephirah.StoreAppSaveFile save_files = 2; 93 | } 94 | message DeleteStoreAppSaveFileRequest { 95 | librarian.v1.InternalID id = 1; 96 | } 97 | message DeleteStoreAppSaveFileResponse {} 98 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/angela/tiphereth.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.angela; 4 | 5 | import "google/protobuf/timestamp.proto"; 6 | import "librarian/sephirah/v1/sephirah/tiphereth.proto"; 7 | import "librarian/v1/wellknown.proto"; 8 | 9 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Angela"; 10 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 11 | 12 | message GetTokenRequest { 13 | string username = 1; 14 | string password = 2; 15 | // Always ignore this if client don't impl device info feature. 16 | // Otherwise, re-login after registered device with this and every time after 17 | optional librarian.v1.InternalID device_id = 3; 18 | } 19 | 20 | message GetTokenResponse { 21 | string access_token = 1; 22 | string refresh_token = 2; 23 | } 24 | 25 | message RefreshTokenRequest { 26 | // Always ignore this if client don't impl device info feature. 27 | // Be used to add device info after registered device. 28 | // Only first device_id will be used. 29 | optional librarian.v1.InternalID device_id = 3; 30 | } 31 | 32 | message RefreshTokenResponse { 33 | string access_token = 1; 34 | string refresh_token = 2; 35 | } 36 | 37 | message CreateUserRequest { 38 | sephirah.User user = 1; 39 | } 40 | message CreateUserResponse { 41 | librarian.v1.InternalID id = 1; 42 | } 43 | 44 | message ListUsersRequest { 45 | librarian.v1.PagingRequest paging = 1; 46 | repeated sephirah.UserType type_filter = 2; 47 | repeated sephirah.UserStatus status_filter = 3; 48 | } 49 | message ListUsersResponse { 50 | librarian.v1.PagingResponse paging = 1; 51 | repeated sephirah.User users = 2; 52 | } 53 | 54 | message UpdateUserRequest { 55 | sephirah.User user = 1; 56 | } 57 | message UpdateUserResponse {} 58 | 59 | message ListPortersRequest { 60 | librarian.v1.PagingRequest paging = 1; 61 | } 62 | message ListPortersResponse { 63 | librarian.v1.PagingResponse paging = 1; 64 | repeated sephirah.Porter porters = 2; 65 | } 66 | 67 | message UpdatePorterStatusRequest { 68 | librarian.v1.InternalID porter_id = 1; 69 | sephirah.UserStatus status = 2; 70 | } 71 | message UpdatePorterStatusResponse {} 72 | 73 | message DeletePorterRequest { 74 | librarian.v1.InternalID porter_id = 1; 75 | } 76 | message DeletePorterResponse {} 77 | 78 | message CreateSentinelRequest { 79 | Sentinel sentinel = 1; 80 | } 81 | message CreateSentinelResponse { 82 | librarian.v1.InternalID id = 1; 83 | } 84 | 85 | message ListSentinelsRequest { 86 | librarian.v1.PagingRequest paging = 1; 87 | } 88 | message ListSentinelsResponse { 89 | librarian.v1.PagingResponse paging = 1; 90 | repeated Sentinel sentinels = 2; 91 | } 92 | 93 | message GetSentinelTokenRequest { 94 | librarian.v1.InternalID sentinel_id = 1; 95 | google.protobuf.Timestamp expiration_time = 2; 96 | } 97 | message GetSentinelTokenResponse { 98 | string refresh_token = 1; 99 | } 100 | 101 | message UpdateSentinelRequest { 102 | Sentinel sentinel = 1; 103 | } 104 | message UpdateSentinelResponse {} 105 | 106 | message DeleteSentinelRequest { 107 | librarian.v1.InternalID sentinel_id = 1; 108 | } 109 | message DeleteSentinelResponse {} 110 | 111 | message Sentinel { 112 | librarian.v1.InternalID id = 1; 113 | string name = 2; 114 | string description = 3; 115 | librarian.v1.InternalID create_user_id = 4; 116 | repeated string allowed_ips = 5; 117 | SentinelStatus status = 6; 118 | } 119 | 120 | enum SentinelStatus { 121 | SENTINEL_STATUS_UNSPECIFIED = 0; 122 | SENTINEL_STATUS_ACTIVE = 1; 123 | SENTINEL_STATUS_BLOCKED = 2; 124 | } 125 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/errors.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1; 4 | 5 | import "errors/errors.proto"; 6 | 7 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1"; 8 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 9 | 10 | enum ErrorReason { 11 | option (errors.default_code) = 500; 12 | 13 | ERROR_REASON_UNSPECIFIED = 0 [(errors.code) = 500]; 14 | 15 | ERROR_REASON_BAD_REQUEST = 1 [(errors.code) = 400]; 16 | ERROR_REASON_UNAUTHORIZED = 2 [(errors.code) = 401]; 17 | ERROR_REASON_FORBIDDEN = 3 [(errors.code) = 403]; 18 | ERROR_REASON_NOT_FOUND = 4 [(errors.code) = 404]; 19 | ERROR_REASON_METHOD_NOT_ALLOWED = 5 [(errors.code) = 405]; 20 | ERROR_REASON_NOT_IMPLEMENTED = 6 [(errors.code) = 501]; 21 | ERROR_REASON_BAD_GATEWAY = 7 [(errors.code) = 502]; 22 | } 23 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/porter/sephirah_porter_service.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.porter; 4 | 5 | import "librarian/v1/common.proto"; 6 | import "librarian/v1/wellknown.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Porter"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1/porter;v1"; 10 | 11 | service LibrarianSephirahPorterService { 12 | // `Tiphereth` Use valid refresh_token and get two new token, a refresh_token can only be used once 13 | rpc RefreshToken(RefreshTokenRequest) returns (RefreshTokenResponse); 14 | 15 | // `Tiphereth` `Porter` Obtain access_token of a specific user after user authorization. 16 | // This token can be used to perform actions on behalf of the user. 17 | rpc AcquireUserToken(AcquireUserTokenRequest) returns (AcquireUserTokenResponse); 18 | 19 | // `Netzach` `Porter` 20 | rpc GetNotifyTargetItems(GetNotifyTargetItemsRequest) returns (GetNotifyTargetItemsResponse); 21 | 22 | // `Yesod` `Porter` 23 | rpc UpsertFeed(UpsertFeedRequest) returns (UpsertFeedResponse); 24 | // `Yesod` `Porter` 25 | rpc GetFeed(GetFeedRequest) returns (GetFeedResponse); 26 | } 27 | 28 | message RefreshTokenRequest {} 29 | message RefreshTokenResponse { 30 | string access_token = 1; 31 | string refresh_token = 2; 32 | } 33 | 34 | message AcquireUserTokenRequest { 35 | librarian.v1.InternalID user_id = 1; 36 | } 37 | 38 | message AcquireUserTokenResponse { 39 | string access_token = 1; 40 | } 41 | 42 | message GetNotifyTargetItemsRequest { 43 | librarian.v1.InternalID id = 1; 44 | librarian.v1.PagingRequest paging = 2; 45 | } 46 | message GetNotifyTargetItemsResponse { 47 | librarian.v1.PagingResponse paging = 1; 48 | librarian.v1.FeatureRequest destination = 2; 49 | repeated librarian.v1.FeedItem items = 3; 50 | } 51 | 52 | message UpsertFeedRequest { 53 | librarian.v1.InternalID id = 1; 54 | librarian.v1.Feed data = 2; 55 | } 56 | 57 | message UpsertFeedResponse {} 58 | 59 | message GetFeedRequest { 60 | librarian.v1.InternalID id = 1; 61 | } 62 | 63 | message GetFeedResponse { 64 | librarian.v1.Feed data = 1; 65 | } 66 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/sentinel/sentinel_service.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.sentinel; 4 | 5 | import "google/protobuf/duration.proto"; 6 | import "google/protobuf/timestamp.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Sentinel"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1/sentinel;v1"; 10 | 11 | service LibrarianSentinelService { 12 | // `Tiphereth` Use valid refresh_token and get two new token, a refresh_token can only be used once 13 | rpc RefreshToken(RefreshTokenRequest) returns (RefreshTokenResponse); 14 | 15 | // `Tiphereth` 16 | rpc Heartbeat(HeartbeatRequest) returns (HeartbeatResponse); 17 | 18 | // `Gebura` 19 | rpc ReportSentinelInformation(ReportSentinelInformationRequest) returns (ReportSentinelInformationResponse); 20 | // `Gebura` 21 | // Full update, changes are handled by librarian 22 | rpc ReportAppBinaries(ReportAppBinariesRequest) returns (ReportAppBinariesResponse); 23 | } 24 | 25 | message RefreshTokenRequest {} 26 | message RefreshTokenResponse { 27 | string access_token = 1; 28 | string refresh_token = 2; 29 | } 30 | 31 | message HeartbeatRequest { 32 | // instance_id is used to identify the client instance, should be randomly generated by client on startup 33 | int64 instance_id = 1; 34 | google.protobuf.Timestamp client_time = 2; 35 | google.protobuf.Duration heartbeat_interval = 3; 36 | google.protobuf.Duration commit_snapshot_interval = 4; 37 | } 38 | 39 | message HeartbeatResponse {} 40 | 41 | message ReportSentinelInformationRequest { 42 | string url = 1; 43 | repeated string url_alternatives = 2; 44 | // valid when need_token is true 45 | string get_token_path = 3; 46 | string download_file_base_path = 4; 47 | repeated SentinelLibrary libraries = 5; 48 | } 49 | message ReportSentinelInformationResponse {} 50 | 51 | message ReportAppBinariesRequest { 52 | repeated SentinelLibraryAppBinary app_binaries = 1; 53 | // Each library has multiple snapshots, and only one of them is the active snapshot 54 | // Use this field to create a new snapshot, 55 | // the new snapshot must be newer than exists, 56 | // the new snapshot will not be active until committed 57 | // Leave empty to update current active snapshot 58 | optional google.protobuf.Timestamp snapshot_time = 2; 59 | // If true, the new snapshot will be set as active 60 | optional bool commit_snapshot = 3; 61 | } 62 | message ReportAppBinariesResponse { 63 | // If true, the new snapshot is set as active 64 | optional bool commit_snapshot_success = 1; 65 | } 66 | 67 | message SentinelLibrary { 68 | int64 id = 1; 69 | string download_base_path = 2; 70 | } 71 | 72 | message SentinelLibraryAppBinary { 73 | int64 sentinel_library_id = 1; 74 | string sentinel_generated_id = 2; 75 | int64 size_bytes = 3; 76 | bool need_token = 4; 77 | repeated SentinelLibraryAppBinaryFile files = 5; 78 | 79 | string name = 10; 80 | string version = 11; 81 | string developer = 12; 82 | string publisher = 13; 83 | } 84 | 85 | message SentinelLibraryAppBinaryFile { 86 | string name = 1; 87 | int64 size_bytes = 2; 88 | bytes sha256 = 3; 89 | // should be path-joined to download_path when need_token is false 90 | string server_file_path = 4; 91 | 92 | optional string chunks_info = 10; 93 | } 94 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/sephirah/base.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.sephirah; 4 | 5 | import "google/protobuf/timestamp.proto"; 6 | import "librarian/v1/wellknown.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Sephirah"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 10 | 11 | message ServerInformation { 12 | // For manual inspection only, the client may display but should not parse the response. 13 | ServerBinarySummary server_binary_summary = 1; 14 | // For manual inspection only, the client may display but should not parse the response. 15 | ServerProtocolSummary protocol_summary = 2; 16 | // The time that server received the request, 17 | // note that there is a transmission delay between server and client. 18 | google.protobuf.Timestamp current_time = 3; 19 | // Valid when accessToken is provided. 20 | optional librarian.v1.FeatureSummary feature_summary = 4; 21 | // For showing to user, customizable by server owner. 22 | ServerInstanceSummary server_instance_summary = 5; 23 | // Plain text status report for manual inspection. 24 | // Content is specific to server implementation. 25 | optional string status_report = 6; 26 | } 27 | 28 | message ServerBinarySummary { 29 | // Server source code address. 30 | // *Should* be a valid http address. 31 | string source_code_address = 1; 32 | // Binary build version. 33 | // The content *should* be a semantic version string similar to the one generated by `git describe`, 34 | // but rely on the actual implementation of the server. 35 | string build_version = 2; 36 | // Binary build date. 37 | // The content *should* be a date format that is human-readable. 38 | string build_date = 3; 39 | } 40 | 41 | message ServerProtocolSummary { 42 | // Protocol version used by server. 43 | // The content *must* be a semantic version string generated by `git describe`, 44 | // and if the server is built for production, it *must* be a valid version tag. 45 | string version = 1; 46 | } 47 | 48 | message ServerInstanceSummary { 49 | string name = 1; 50 | string description = 2; 51 | string website_url = 3; 52 | string logo_url = 4; 53 | string background_url = 5; 54 | } 55 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/sephirah/binah.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.sephirah; 4 | 5 | import "librarian/v1/wellknown.proto"; 6 | 7 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Sephirah"; 8 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 9 | 10 | message GetStorageCapacityUsageRequest {} 11 | 12 | message GetStorageCapacityUsageResponse { 13 | StorageCapacityUsage storage_capacity_usage = 1; 14 | } 15 | 16 | message StorageCapacityUsage { 17 | int64 total_limit_size_bytes = 1; 18 | int64 total_used_size_bytes = 2; 19 | // details are optional and depends on server implementation 20 | repeated StorageCapacityUsageDetail details = 3; 21 | } 22 | 23 | message StorageCapacityUsageDetail { 24 | librarian.v1.FileType type = 1; 25 | int64 limit_size_bytes = 2; 26 | int64 used_size_bytes = 3; 27 | } 28 | 29 | message UploadFileRequest { 30 | oneof content { 31 | FileChunk file_chunk = 1; 32 | bool require_file_status = 2; 33 | } 34 | } 35 | message UploadFileResponse { 36 | oneof content { 37 | ChunkStatus chunk_status = 1; 38 | FileStatus file_status = 2; 39 | } 40 | 41 | message ChunkStatus { 42 | int64 chunk_number = 1; 43 | ChunkTransferStatus status = 2; 44 | } 45 | 46 | message FileStatus { 47 | repeated int64 missing_chunk_list = 1; 48 | FileTransferStatus status = 2; 49 | } 50 | } 51 | message DownloadFileRequest { 52 | int64 start_chunk_number = 1; 53 | optional int64 end_chunk_number = 2; 54 | } 55 | message DownloadFileResponse { 56 | FileChunk file_chunk = 1; 57 | } 58 | 59 | message SimpleUploadFileRequest { 60 | bytes data = 1; 61 | } 62 | 63 | message SimpleUploadFileResponse { 64 | FileTransferStatus status = 1; 65 | } 66 | message SimpleDownloadFileRequest {} 67 | message SimpleDownloadFileResponse { 68 | bytes data = 1; 69 | } 70 | 71 | message PresignedUploadFileRequest {} 72 | message PresignedUploadFileResponse { 73 | string upload_url = 1; 74 | } 75 | 76 | message PresignedUploadFileStatusRequest { 77 | FileTransferStatus status = 1; 78 | } 79 | 80 | message PresignedUploadFileStatusResponse {} 81 | 82 | message PresignedDownloadFileRequest {} 83 | message PresignedDownloadFileResponse { 84 | // Should follow AWS S3 API 85 | string download_url = 1; 86 | } 87 | 88 | message FileChunk { 89 | int64 chunk_number = 1; 90 | bytes data = 2; 91 | } 92 | 93 | enum ChunkTransferStatus { 94 | CHUNK_TRANSFER_STATUS_UNSPECIFIED = 0; 95 | CHUNK_TRANSFER_STATUS_PENDING = 1; 96 | CHUNK_TRANSFER_STATUS_IN_PROGRESS = 2; 97 | CHUNK_TRANSFER_STATUS_SUCCESS = 3; 98 | CHUNK_TRANSFER_STATUS_FAILED = 4; 99 | } 100 | 101 | enum FileTransferStatus { 102 | FILE_TRANSFER_STATUS_UNSPECIFIED = 0; 103 | FILE_TRANSFER_STATUS_PENDING = 1; 104 | FILE_TRANSFER_STATUS_IN_PROGRESS = 2; 105 | FILE_TRANSFER_STATUS_SUCCESS = 3; 106 | FILE_TRANSFER_STATUS_FAILED = 4; 107 | } 108 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/sephirah/chesed.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.sephirah; 4 | 5 | import "librarian/v1/wellknown.proto"; 6 | 7 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Sephirah"; 8 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 9 | 10 | message UploadImageRequest { 11 | librarian.v1.FileMetadata file_metadata = 1; 12 | string name = 2; 13 | string description = 3; 14 | } 15 | 16 | message UploadImageResponse { 17 | string upload_token = 1; 18 | } 19 | 20 | message UpdateImageRequest { 21 | librarian.v1.InternalID id = 1; 22 | string name = 2; 23 | string description = 3; 24 | } 25 | 26 | message UpdateImageResponse {} 27 | 28 | message ListImagesRequest { 29 | librarian.v1.PagingRequest paging = 1; 30 | optional librarian.v1.TimeRange time_range = 2; 31 | } 32 | 33 | message ListImagesResponse { 34 | librarian.v1.PagingResponse paging = 1; 35 | repeated librarian.v1.InternalID ids = 2; 36 | } 37 | 38 | message SearchImagesRequest { 39 | librarian.v1.PagingRequest paging = 1; 40 | string keywords = 2; 41 | } 42 | 43 | message SearchImagesResponse { 44 | librarian.v1.PagingResponse paging = 1; 45 | repeated librarian.v1.InternalID ids = 2; 46 | } 47 | 48 | message GetImageRequest { 49 | librarian.v1.InternalID id = 1; 50 | } 51 | 52 | message GetImageResponse { 53 | librarian.v1.FileMetadata file_metadata = 1; 54 | string name = 2; 55 | string description = 3; 56 | } 57 | 58 | message DownloadImageRequest { 59 | librarian.v1.InternalID id = 1; 60 | } 61 | 62 | message DownloadImageResponse { 63 | string download_token = 1; 64 | } 65 | -------------------------------------------------------------------------------- /proto/librarian/sephirah/v1/sephirah/netzach.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.sephirah.v1.sephirah; 4 | 5 | import "google/protobuf/timestamp.proto"; 6 | import "librarian/v1/wellknown.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.Sephirah.V1.Sephirah"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/sephirah/v1;v1"; 10 | 11 | message CreateNotifyTargetRequest { 12 | NotifyTarget target = 1; 13 | } 14 | message CreateNotifyTargetResponse { 15 | librarian.v1.InternalID id = 1; 16 | } 17 | 18 | message UpdateNotifyTargetRequest { 19 | NotifyTarget target = 1; 20 | } 21 | message UpdateNotifyTargetResponse {} 22 | 23 | message ListNotifyTargetsRequest { 24 | librarian.v1.PagingRequest paging = 1; 25 | repeated librarian.v1.InternalID id_filter = 2; 26 | repeated NotifyTargetStatus status_filter = 4; 27 | } 28 | 29 | message ListNotifyTargetsResponse { 30 | librarian.v1.PagingResponse paging = 1; 31 | repeated NotifyTarget targets = 2; 32 | } 33 | 34 | message CreateNotifyFlowRequest { 35 | NotifyFlow flow = 1; 36 | } 37 | message CreateNotifyFlowResponse { 38 | librarian.v1.InternalID id = 1; 39 | } 40 | 41 | message UpdateNotifyFlowRequest { 42 | NotifyFlow flow = 1; 43 | } 44 | message UpdateNotifyFlowResponse {} 45 | 46 | message ListNotifyFlowsRequest { 47 | librarian.v1.PagingRequest paging = 1; 48 | repeated librarian.v1.InternalID id_filter = 2; 49 | } 50 | message ListNotifyFlowsResponse { 51 | librarian.v1.PagingResponse paging = 1; 52 | repeated NotifyFlow flows = 2; 53 | } 54 | 55 | message NotifyTarget { 56 | librarian.v1.InternalID id = 1; 57 | string name = 2; 58 | string description = 3; 59 | // WellKnownNotifyDestination 60 | librarian.v1.FeatureRequest destination = 4; 61 | NotifyTargetStatus status = 5; 62 | } 63 | 64 | message NotifyFlow { 65 | librarian.v1.InternalID id = 1; 66 | string name = 2; 67 | string description = 3; 68 | repeated NotifyFlowSource sources = 4; 69 | repeated NotifyFlowTarget targets = 5; 70 | NotifyFlowStatus status = 6; 71 | } 72 | 73 | message NotifyFlowSource { 74 | NotifyFilter filter = 1; 75 | // must be `FeedConfig.id` or `FeedItemCollection.id` 76 | librarian.v1.InternalID source_id = 2; 77 | } 78 | 79 | message NotifyFlowTarget { 80 | NotifyFilter filter = 1; 81 | // must be NotifyTargetID 82 | librarian.v1.InternalID target_id = 2; 83 | } 84 | 85 | message NotifyFilter { 86 | repeated string exclude_keywords = 1; 87 | repeated string include_keywords = 2; 88 | } 89 | 90 | enum NotifyTargetStatus { 91 | NOTIFY_TARGET_STATUS_UNSPECIFIED = 0; 92 | NOTIFY_TARGET_STATUS_ACTIVE = 1; 93 | NOTIFY_TARGET_STATUS_SUSPEND = 2; 94 | } 95 | 96 | enum NotifyFlowStatus { 97 | NOTIFY_FLOW_STATUS_UNSPECIFIED = 0; 98 | NOTIFY_FLOW_STATUS_ACTIVE = 1; 99 | NOTIFY_FLOW_STATUS_SUSPEND = 2; 100 | } 101 | 102 | message ListSystemNotificationsRequest { 103 | librarian.v1.PagingRequest paging = 1; 104 | repeated SystemNotificationLevel level_filter = 3; 105 | repeated SystemNotificationStatus status_filter = 4; 106 | } 107 | 108 | message ListSystemNotificationsResponse { 109 | librarian.v1.PagingResponse paging = 1; 110 | repeated SystemNotification notifications = 2; 111 | } 112 | 113 | message UpdateSystemNotificationRequest { 114 | librarian.v1.InternalID id = 1; 115 | SystemNotificationStatus status = 2; 116 | } 117 | 118 | message UpdateSystemNotificationResponse {} 119 | 120 | message SystemNotification { 121 | librarian.v1.InternalID id = 1; 122 | SystemNotificationLevel level = 3; 123 | SystemNotificationStatus status = 4; 124 | string title = 5; 125 | // plain text 126 | string content = 6; 127 | google.protobuf.Timestamp create_time = 7; 128 | google.protobuf.Timestamp update_time = 8; 129 | } 130 | 131 | enum SystemNotificationLevel { 132 | SYSTEM_NOTIFICATION_LEVEL_UNSPECIFIED = 0; 133 | SYSTEM_NOTIFICATION_LEVEL_ONGOING = 1; 134 | SYSTEM_NOTIFICATION_LEVEL_ERROR = 2; 135 | SYSTEM_NOTIFICATION_LEVEL_WARNING = 3; 136 | SYSTEM_NOTIFICATION_LEVEL_INFO = 4; 137 | } 138 | 139 | enum SystemNotificationStatus { 140 | SYSTEM_NOTIFICATION_STATUS_UNSPECIFIED = 0; 141 | SYSTEM_NOTIFICATION_STATUS_UNREAD = 1; 142 | SYSTEM_NOTIFICATION_STATUS_READ = 2; 143 | SYSTEM_NOTIFICATION_STATUS_DISMISSED = 3; 144 | } 145 | -------------------------------------------------------------------------------- /proto/librarian/v1/common.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.v1; 4 | 5 | import "google/protobuf/timestamp.proto"; 6 | import "librarian/v1/wellknown.proto"; 7 | 8 | option csharp_namespace = "TuiHub.Protos.Librarian.V1"; 9 | option go_package = "github.com/tuihub/protos/pkg/librarian/v1;v1"; 10 | 11 | message Feed { 12 | InternalID id = 1; 13 | // `standard field` 14 | string title = 2; 15 | // `standard field` 16 | string link = 3; 17 | // `standard field` 18 | string description = 4; 19 | // `standard field` 20 | repeated FeedItem items = 5; 21 | 22 | // `standard field` 23 | string language = 6; 24 | // `standard field` 25 | FeedImage image = 7; 26 | // `standard field` 27 | repeated FeedPerson authors = 8; 28 | } 29 | 30 | message FeedItem { 31 | InternalID id = 1; 32 | // `standard field` 33 | string title = 2; 34 | // `standard field` 35 | repeated FeedPerson authors = 3; 36 | // `standard field` 37 | string description = 4; 38 | // `standard field` 39 | string content = 5; 40 | // `standard field` 41 | string guid = 6; 42 | // `standard field`. e.g. https://github.com/TuiHub/Librarian/releases.atom 43 | string link = 7; 44 | // `standard field` 45 | FeedImage image = 8; 46 | // `standard field` 47 | string published = 9; 48 | // must valid when send to client. 49 | // if server failed to generate, fallback to server time. 50 | optional google.protobuf.Timestamp published_parsed = 10; 51 | // `standard field` 52 | string updated = 11; 53 | optional google.protobuf.Timestamp updated_parsed = 12; 54 | // `standard field` 55 | repeated FeedEnclosure enclosures = 13; 56 | // hostname of `link`. e.g. github.com 57 | string publish_platform = 14; 58 | // recorded read times 59 | int64 read_count = 15; 60 | } 61 | 62 | // Person is an individual specified in a feed 63 | // (e.g. an author) 64 | message FeedPerson { 65 | // `standard field` 66 | string name = 1; 67 | // `standard field` 68 | string email = 2; 69 | } 70 | 71 | // Image is an image that is the artwork for a given 72 | // feed or item. 73 | message FeedImage { 74 | // `standard field` 75 | string url = 1; 76 | // `standard field` 77 | string title = 2; 78 | } 79 | 80 | // Enclosure is a file associated with a given Item. 81 | message FeedEnclosure { 82 | // `standard field` 83 | string url = 1; 84 | // `standard field` 85 | string length = 2; 86 | // `standard field` 87 | string type = 3; 88 | } 89 | 90 | message PorterBinarySummary { 91 | // Server source code address. 92 | // *Should* be a valid http address. 93 | string source_code_address = 1; 94 | // Binary build version. 95 | // The content *should* be a semantic version string similar to the one generated by `git describe`, 96 | // but rely on the actual implementation. 97 | string build_version = 2; 98 | // Binary build date. 99 | // The content *should* be a date format that is human-readable. 100 | string build_date = 3; 101 | // Human-readable name. plain text. 102 | string name = 4; 103 | // Human-readable version. plain text. 104 | string version = 5; 105 | // Human-readable description. plain text or markdown. 106 | string description = 6; 107 | } 108 | -------------------------------------------------------------------------------- /proto/librarian/v1/wellknown.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package librarian.v1; 4 | 5 | import "buf/validate/validate.proto"; 6 | import "google/protobuf/descriptor.proto"; 7 | import "google/protobuf/duration.proto"; 8 | import "google/protobuf/timestamp.proto"; 9 | 10 | option csharp_namespace = "TuiHub.Protos.Librarian.V1"; 11 | option go_package = "github.com/tuihub/protos/pkg/librarian/v1;v1"; 12 | 13 | extend google.protobuf.EnumValueOptions { 14 | string to_string = 1000; 15 | } 16 | 17 | message PagingRequest { 18 | // start from 1, not 0 19 | int64 page_num = 1 [(buf.validate.field).int64.gt = 0]; 20 | int64 page_size = 2 [(buf.validate.field).int64.gt = 0]; 21 | } 22 | 23 | message PagingResponse { 24 | int64 total_size = 1 [(buf.validate.field).int64.gte = 0]; 25 | } 26 | 27 | // half-open e.g. 28 | // { 29 | // start_time: "2023.01.01 00:00", 30 | // duration: "1d" 31 | // } 32 | // means the whole day of 2023.1.1; 33 | // or [2023.01.01 00:00 , 2023.01.02 00:00) 34 | message TimeRange { 35 | google.protobuf.Timestamp start_time = 1; 36 | google.protobuf.Duration duration = 2 [(buf.validate.field).duration.gte = {seconds: 0}]; 37 | } 38 | 39 | // A globally unique identifier 40 | message InternalID { 41 | int64 id = 1; 42 | } 43 | 44 | message I18NString { 45 | // The key of the string. MUST only contain a-zA-Z0-9_.- 46 | string key = 1; 47 | // The default value of the string. 48 | string value = 2; 49 | } 50 | 51 | message FileMetadata { 52 | librarian.v1.InternalID id = 1; 53 | string name = 2; 54 | int64 size_bytes = 3; 55 | FileType type = 4; 56 | bytes sha256 = 5; 57 | google.protobuf.Timestamp create_time = 6; 58 | } 59 | 60 | enum FileType { 61 | FILE_TYPE_UNSPECIFIED = 0; 62 | FILE_TYPE_GEBURA_SAVE = 1; 63 | FILE_TYPE_CHESED_IMAGE = 2; 64 | FILE_TYPE_GEBURA_APP_INFO_IMAGE = 3; 65 | } 66 | 67 | // FeatureFlag is used to identify features. 68 | // It will also be sent to clients for UI display. 69 | message FeatureFlag { 70 | // Global identifier to each feature. 71 | // It is recommended to use ASCII characters only. 72 | string id = 1; 73 | // Human-readable name 74 | string name = 2; 75 | // Human-readable description 76 | string description = 3; 77 | // Customized JSON schema for feature 78 | string config_json_schema = 4; 79 | // Require context to use this feature 80 | bool require_context = 5; 81 | // Extra information 82 | map extra = 6; 83 | } 84 | 85 | // FeatureRequest is used to deliver feature-related request parameters. 86 | message FeatureRequest { 87 | // See `FeatureFlag.id` 88 | string id = 1; 89 | // See `FeatureFlag.region` 90 | string region = 2; 91 | // Configuration JSON, must be validated by schema 92 | string config_json = 3; 93 | // Require if feature needs context 94 | optional InternalID context_id = 4; 95 | } 96 | 97 | message FeatureSummary { 98 | // WellKnownAccountPlatform 99 | repeated librarian.v1.FeatureFlag account_platforms = 1; 100 | // WellKnownAppInfoSource 101 | repeated librarian.v1.FeatureFlag app_info_sources = 2; 102 | // WellKnownFeedSource 103 | repeated librarian.v1.FeatureFlag feed_sources = 3; 104 | // WellKnownNotifyDestination 105 | repeated librarian.v1.FeatureFlag notify_destinations = 4; 106 | // WellKnownFeedItemAction 107 | repeated librarian.v1.FeatureFlag feed_item_actions = 5; 108 | repeated librarian.v1.FeatureFlag feed_setters = 6; 109 | repeated librarian.v1.FeatureFlag feed_getters = 7; 110 | } 111 | 112 | enum WellKnownAccountPlatform { 113 | WELL_KNOWN_ACCOUNT_PLATFORM_UNSPECIFIED = 0 [(to_string) = ""]; 114 | WELL_KNOWN_ACCOUNT_PLATFORM_STEAM = 1 [(to_string) = "steam"]; 115 | } 116 | 117 | enum WellKnownAppInfoSource { 118 | WELL_KNOWN_APP_INFO_SOURCE_UNSPECIFIED = 0 [(to_string) = ""]; 119 | WELL_KNOWN_APP_INFO_SOURCE_STEAM = 2 [(to_string) = "steam"]; 120 | WELL_KNOWN_APP_INFO_SOURCE_VNDB = 3 [(to_string) = "vndb"]; 121 | WELL_KNOWN_APP_INFO_SOURCE_BANGUMI = 4 [(to_string) = "bangumi"]; 122 | } 123 | 124 | enum WellKnownFeedSource { 125 | WELL_KNOWN_FEED_SOURCE_UNSPECIFIED = 0 [(to_string) = ""]; 126 | WELL_KNOWN_FEED_SOURCE_RSS = 1 [(to_string) = "rss"]; 127 | } 128 | 129 | enum WellKnownNotifyDestination { 130 | WELL_KNOWN_NOTIFY_DESTINATION_UNSPECIFIED = 0 [(to_string) = ""]; 131 | WELL_KNOWN_NOTIFY_DESTINATION_TELEGRAM = 1 [(to_string) = "telegram"]; 132 | } 133 | 134 | enum WellKnownFeedItemAction { 135 | WELL_KNOWN_FEED_ITEM_ACTION_UNSPECIFIED = 0 [(to_string) = ""]; 136 | // filter item by keywords 137 | WELL_KNOWN_FEED_ITEM_ACTION_KEYWORD_FILTER = 1 [(to_string) = "keyword_filter"]; 138 | // generate description form content 139 | WELL_KNOWN_FEED_ITEM_ACTION_DESCRIPTION_GENERATOR = 2 [(to_string) = "description_generator"]; 140 | } 141 | -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: tuihub_protos 2 | description: protobuf protocol files for TuiHub 3 | version: 0.0.1 4 | homepage: https://github.com/tuihub/protos 5 | 6 | environment: 7 | sdk: '>=3.0.0 <4.0.0' 8 | 9 | dependencies: 10 | grpc: ^4.0.4 11 | protobuf: ^4.1.0 12 | fixnum: ^1.1.1 -------------------------------------------------------------------------------- /release-please-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "release-type": "rust", 3 | "packages": { 4 | ".": { 5 | "package-name": "" 6 | } 7 | }, 8 | "extra-files": [ 9 | { 10 | "type": "json", 11 | "path": "package.json", 12 | "jsonpath": "$.version" 13 | }, 14 | { 15 | "type": "json", 16 | "path": "package-lock.json", 17 | "jsonpath": "$.version" 18 | }, 19 | { 20 | "type": "json", 21 | "path": "package-lock.json", 22 | "jsonpath": "$['packages']['']['version']" 23 | }, 24 | { 25 | "type": "xml", 26 | "path": "TuiHub.Protos.csproj", 27 | "xpath": "/Project/PropertyGroup/VersionPrefix" 28 | } 29 | ], 30 | "bump-minor-pre-major": true, 31 | "bump-patch-for-minor-pre-major": true 32 | } -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:recommended", 5 | "schedule:monthly", 6 | ":timezone(Asia/Singapore)", 7 | ":dependencyDashboard" 8 | ], 9 | "postUpdateOptions": [ 10 | "gomodTidy", 11 | "npmDedupe" 12 | ], 13 | "labels": [ 14 | "renovate" 15 | ], 16 | "prBodyNotes": [ 17 | "{{#if isMajor}}:warning: MAJOR MAJOR MAJOR :warning:{{/if}}" 18 | ], 19 | "major": { 20 | "dependencyDashboardApproval": true 21 | }, 22 | "rangeStrategy": "bump", 23 | "packageRules": [ 24 | { 25 | "description": "Automatically group and merge minor and patch-level updates", 26 | "matchUpdateTypes": [ 27 | "minor", 28 | "patch", 29 | "digest" 30 | ], 31 | "minimumReleaseAge": "1 day", 32 | "groupName": "all non-major dependencies", 33 | "groupSlug": "all-minor-patch", 34 | "automerge": true, 35 | "matchPackageNames": [ 36 | "*" 37 | ] 38 | }, 39 | { 40 | "description": "Opt-out minimum Go and Dart version updates", 41 | "matchDatasources": [ 42 | "golang-version", 43 | "dart-version" 44 | ], 45 | "enabled": false 46 | } 47 | ], 48 | "platformAutomerge": true 49 | } 50 | -------------------------------------------------------------------------------- /src/errors.serde.rs: -------------------------------------------------------------------------------- 1 | // @generated 2 | impl serde::Serialize for Error { 3 | #[allow(deprecated)] 4 | fn serialize(&self, serializer: S) -> std::result::Result 5 | where 6 | S: serde::Serializer, 7 | { 8 | use serde::ser::SerializeStruct; 9 | let mut len = 0; 10 | if self.code != 0 { 11 | len += 1; 12 | } 13 | if !self.reason.is_empty() { 14 | len += 1; 15 | } 16 | if !self.message.is_empty() { 17 | len += 1; 18 | } 19 | if !self.metadata.is_empty() { 20 | len += 1; 21 | } 22 | let mut struct_ser = serializer.serialize_struct("errors.Error", len)?; 23 | if self.code != 0 { 24 | struct_ser.serialize_field("code", &self.code)?; 25 | } 26 | if !self.reason.is_empty() { 27 | struct_ser.serialize_field("reason", &self.reason)?; 28 | } 29 | if !self.message.is_empty() { 30 | struct_ser.serialize_field("message", &self.message)?; 31 | } 32 | if !self.metadata.is_empty() { 33 | struct_ser.serialize_field("metadata", &self.metadata)?; 34 | } 35 | struct_ser.end() 36 | } 37 | } 38 | impl<'de> serde::Deserialize<'de> for Error { 39 | #[allow(deprecated)] 40 | fn deserialize(deserializer: D) -> std::result::Result 41 | where 42 | D: serde::Deserializer<'de>, 43 | { 44 | const FIELDS: &[&str] = &[ 45 | "code", 46 | "reason", 47 | "message", 48 | "metadata", 49 | ]; 50 | 51 | #[allow(clippy::enum_variant_names)] 52 | enum GeneratedField { 53 | Code, 54 | Reason, 55 | Message, 56 | Metadata, 57 | } 58 | impl<'de> serde::Deserialize<'de> for GeneratedField { 59 | fn deserialize(deserializer: D) -> std::result::Result 60 | where 61 | D: serde::Deserializer<'de>, 62 | { 63 | struct GeneratedVisitor; 64 | 65 | impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { 66 | type Value = GeneratedField; 67 | 68 | fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 69 | write!(formatter, "expected one of: {:?}", &FIELDS) 70 | } 71 | 72 | #[allow(unused_variables)] 73 | fn visit_str(self, value: &str) -> std::result::Result 74 | where 75 | E: serde::de::Error, 76 | { 77 | match value { 78 | "code" => Ok(GeneratedField::Code), 79 | "reason" => Ok(GeneratedField::Reason), 80 | "message" => Ok(GeneratedField::Message), 81 | "metadata" => Ok(GeneratedField::Metadata), 82 | _ => Err(serde::de::Error::unknown_field(value, FIELDS)), 83 | } 84 | } 85 | } 86 | deserializer.deserialize_identifier(GeneratedVisitor) 87 | } 88 | } 89 | struct GeneratedVisitor; 90 | impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { 91 | type Value = Error; 92 | 93 | fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 94 | formatter.write_str("struct errors.Error") 95 | } 96 | 97 | fn visit_map(self, mut map_: V) -> std::result::Result 98 | where 99 | V: serde::de::MapAccess<'de>, 100 | { 101 | let mut code__ = None; 102 | let mut reason__ = None; 103 | let mut message__ = None; 104 | let mut metadata__ = None; 105 | while let Some(k) = map_.next_key()? { 106 | match k { 107 | GeneratedField::Code => { 108 | if code__.is_some() { 109 | return Err(serde::de::Error::duplicate_field("code")); 110 | } 111 | code__ = 112 | Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) 113 | ; 114 | } 115 | GeneratedField::Reason => { 116 | if reason__.is_some() { 117 | return Err(serde::de::Error::duplicate_field("reason")); 118 | } 119 | reason__ = Some(map_.next_value()?); 120 | } 121 | GeneratedField::Message => { 122 | if message__.is_some() { 123 | return Err(serde::de::Error::duplicate_field("message")); 124 | } 125 | message__ = Some(map_.next_value()?); 126 | } 127 | GeneratedField::Metadata => { 128 | if metadata__.is_some() { 129 | return Err(serde::de::Error::duplicate_field("metadata")); 130 | } 131 | metadata__ = Some( 132 | map_.next_value::>()? 133 | ); 134 | } 135 | } 136 | } 137 | Ok(Error { 138 | code: code__.unwrap_or_default(), 139 | reason: reason__.unwrap_or_default(), 140 | message: message__.unwrap_or_default(), 141 | metadata: metadata__.unwrap_or_default(), 142 | }) 143 | } 144 | } 145 | deserializer.deserialize_struct("errors.Error", FIELDS, GeneratedVisitor) 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | // @generated 2 | pub mod buf { 3 | #[cfg(feature = "buf-validate")] 4 | // @@protoc_insertion_point(attribute:buf.validate) 5 | pub mod validate { 6 | include!("buf.validate.rs"); 7 | // @@protoc_insertion_point(buf.validate) 8 | #[cfg(feature = "buf-validate-priv")] 9 | // @@protoc_insertion_point(attribute:buf.validate.priv) 10 | pub mod r#priv { 11 | include!("buf.validate.priv.rs"); 12 | // @@protoc_insertion_point(buf.validate.priv) 13 | } 14 | } 15 | } 16 | #[cfg(feature = "errors")] 17 | // @@protoc_insertion_point(attribute:errors) 18 | pub mod errors { 19 | include!("errors.rs"); 20 | // @@protoc_insertion_point(errors) 21 | } 22 | pub mod librarian { 23 | pub mod miner { 24 | #[cfg(feature = "librarian-miner-v1")] 25 | // @@protoc_insertion_point(attribute:librarian.miner.v1) 26 | pub mod v1 { 27 | include!("librarian.miner.v1.rs"); 28 | // @@protoc_insertion_point(librarian.miner.v1) 29 | } 30 | } 31 | pub mod porter { 32 | #[cfg(feature = "librarian-porter-v1")] 33 | // @@protoc_insertion_point(attribute:librarian.porter.v1) 34 | pub mod v1 { 35 | include!("librarian.porter.v1.rs"); 36 | // @@protoc_insertion_point(librarian.porter.v1) 37 | } 38 | } 39 | pub mod sephirah { 40 | #[cfg(feature = "librarian-sephirah-v1")] 41 | // @@protoc_insertion_point(attribute:librarian.sephirah.v1) 42 | pub mod v1 { 43 | include!("librarian.sephirah.v1.rs"); 44 | // @@protoc_insertion_point(librarian.sephirah.v1) 45 | #[cfg(feature = "librarian-sephirah-v1-angela")] 46 | // @@protoc_insertion_point(attribute:librarian.sephirah.v1.angela) 47 | pub mod angela { 48 | include!("librarian.sephirah.v1.angela.rs"); 49 | // @@protoc_insertion_point(librarian.sephirah.v1.angela) 50 | } 51 | #[cfg(feature = "librarian-sephirah-v1-porter")] 52 | // @@protoc_insertion_point(attribute:librarian.sephirah.v1.porter) 53 | pub mod porter { 54 | include!("librarian.sephirah.v1.porter.rs"); 55 | // @@protoc_insertion_point(librarian.sephirah.v1.porter) 56 | } 57 | #[cfg(feature = "librarian-sephirah-v1-sentinel")] 58 | // @@protoc_insertion_point(attribute:librarian.sephirah.v1.sentinel) 59 | pub mod sentinel { 60 | include!("librarian.sephirah.v1.sentinel.rs"); 61 | // @@protoc_insertion_point(librarian.sephirah.v1.sentinel) 62 | } 63 | #[cfg(feature = "librarian-sephirah-v1-sephirah")] 64 | // @@protoc_insertion_point(attribute:librarian.sephirah.v1.sephirah) 65 | pub mod sephirah { 66 | include!("librarian.sephirah.v1.sephirah.rs"); 67 | // @@protoc_insertion_point(librarian.sephirah.v1.sephirah) 68 | } 69 | } 70 | } 71 | #[cfg(feature = "librarian-v1")] 72 | // @@protoc_insertion_point(attribute:librarian.v1) 73 | pub mod v1 { 74 | include!("librarian.v1.rs"); 75 | // @@protoc_insertion_point(librarian.v1) 76 | } 77 | } -------------------------------------------------------------------------------- /src/librarian.sephirah.v1.serde.rs: -------------------------------------------------------------------------------- 1 | // @generated 2 | impl serde::Serialize for ErrorReason { 3 | #[allow(deprecated)] 4 | fn serialize(&self, serializer: S) -> std::result::Result 5 | where 6 | S: serde::Serializer, 7 | { 8 | let variant = match self { 9 | Self::Unspecified => "ERROR_REASON_UNSPECIFIED", 10 | Self::BadRequest => "ERROR_REASON_BAD_REQUEST", 11 | Self::Unauthorized => "ERROR_REASON_UNAUTHORIZED", 12 | Self::Forbidden => "ERROR_REASON_FORBIDDEN", 13 | Self::NotFound => "ERROR_REASON_NOT_FOUND", 14 | Self::MethodNotAllowed => "ERROR_REASON_METHOD_NOT_ALLOWED", 15 | Self::NotImplemented => "ERROR_REASON_NOT_IMPLEMENTED", 16 | Self::BadGateway => "ERROR_REASON_BAD_GATEWAY", 17 | }; 18 | serializer.serialize_str(variant) 19 | } 20 | } 21 | impl<'de> serde::Deserialize<'de> for ErrorReason { 22 | #[allow(deprecated)] 23 | fn deserialize(deserializer: D) -> std::result::Result 24 | where 25 | D: serde::Deserializer<'de>, 26 | { 27 | const FIELDS: &[&str] = &[ 28 | "ERROR_REASON_UNSPECIFIED", 29 | "ERROR_REASON_BAD_REQUEST", 30 | "ERROR_REASON_UNAUTHORIZED", 31 | "ERROR_REASON_FORBIDDEN", 32 | "ERROR_REASON_NOT_FOUND", 33 | "ERROR_REASON_METHOD_NOT_ALLOWED", 34 | "ERROR_REASON_NOT_IMPLEMENTED", 35 | "ERROR_REASON_BAD_GATEWAY", 36 | ]; 37 | 38 | struct GeneratedVisitor; 39 | 40 | impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { 41 | type Value = ErrorReason; 42 | 43 | fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { 44 | write!(formatter, "expected one of: {:?}", &FIELDS) 45 | } 46 | 47 | fn visit_i64(self, v: i64) -> std::result::Result 48 | where 49 | E: serde::de::Error, 50 | { 51 | i32::try_from(v) 52 | .ok() 53 | .and_then(|x| x.try_into().ok()) 54 | .ok_or_else(|| { 55 | serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) 56 | }) 57 | } 58 | 59 | fn visit_u64(self, v: u64) -> std::result::Result 60 | where 61 | E: serde::de::Error, 62 | { 63 | i32::try_from(v) 64 | .ok() 65 | .and_then(|x| x.try_into().ok()) 66 | .ok_or_else(|| { 67 | serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) 68 | }) 69 | } 70 | 71 | fn visit_str(self, value: &str) -> std::result::Result 72 | where 73 | E: serde::de::Error, 74 | { 75 | match value { 76 | "ERROR_REASON_UNSPECIFIED" => Ok(ErrorReason::Unspecified), 77 | "ERROR_REASON_BAD_REQUEST" => Ok(ErrorReason::BadRequest), 78 | "ERROR_REASON_UNAUTHORIZED" => Ok(ErrorReason::Unauthorized), 79 | "ERROR_REASON_FORBIDDEN" => Ok(ErrorReason::Forbidden), 80 | "ERROR_REASON_NOT_FOUND" => Ok(ErrorReason::NotFound), 81 | "ERROR_REASON_METHOD_NOT_ALLOWED" => Ok(ErrorReason::MethodNotAllowed), 82 | "ERROR_REASON_NOT_IMPLEMENTED" => Ok(ErrorReason::NotImplemented), 83 | "ERROR_REASON_BAD_GATEWAY" => Ok(ErrorReason::BadGateway), 84 | _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), 85 | } 86 | } 87 | } 88 | deserializer.deserialize_any(GeneratedVisitor) 89 | } 90 | } 91 | --------------------------------------------------------------------------------