github.com/Myriad-Dreamin/tarus@v0.0.0-20220422082640-5379b6998284/api/next.pb.txt (about) 1 file { 2 name: "google/protobuf/timestamp.proto" 3 package: "google.protobuf" 4 message_type { 5 name: "Timestamp" 6 field { 7 name: "seconds" 8 number: 1 9 label: LABEL_OPTIONAL 10 type: TYPE_INT64 11 json_name: "seconds" 12 } 13 field { 14 name: "nanos" 15 number: 2 16 label: LABEL_OPTIONAL 17 type: TYPE_INT32 18 json_name: "nanos" 19 } 20 } 21 options { 22 java_package: "com.google.protobuf" 23 java_outer_classname: "TimestampProto" 24 java_multiple_files: true 25 go_package: "google.golang.org/protobuf/types/known/timestamppb" 26 cc_enable_arenas: true 27 objc_class_prefix: "GPB" 28 csharp_namespace: "Google.Protobuf.WellKnownTypes" 29 } 30 syntax: "proto3" 31 } 32 file { 33 name: "api/tarus/judge.oci.proto" 34 package: "tarus.api.judge.oci" 35 dependency: "google/protobuf/timestamp.proto" 36 message_type { 37 name: "OCIJudgeSession" 38 field { 39 name: "created_at" 40 number: 1 41 label: LABEL_OPTIONAL 42 type: TYPE_MESSAGE 43 type_name: ".google.protobuf.Timestamp" 44 json_name: "createdAt" 45 } 46 field { 47 name: "updated_at" 48 number: 2 49 label: LABEL_OPTIONAL 50 type: TYPE_MESSAGE 51 type_name: ".google.protobuf.Timestamp" 52 json_name: "updatedAt" 53 } 54 field { 55 name: "commit_status" 56 number: 3 57 label: LABEL_OPTIONAL 58 type: TYPE_INT32 59 json_name: "commitStatus" 60 } 61 field { 62 name: "worker_id" 63 number: 4 64 label: LABEL_OPTIONAL 65 type: TYPE_INT32 66 json_name: "workerId" 67 } 68 field { 69 name: "container_id" 70 number: 5 71 label: LABEL_OPTIONAL 72 type: TYPE_STRING 73 json_name: "containerId" 74 } 75 field { 76 name: "bin_target" 77 number: 6 78 label: LABEL_OPTIONAL 79 type: TYPE_STRING 80 json_name: "binTarget" 81 } 82 field { 83 name: "host_workdir" 84 number: 101 85 label: LABEL_OPTIONAL 86 type: TYPE_STRING 87 json_name: "hostWorkdir" 88 } 89 } 90 options { 91 go_package: "tarus/;tarus" 92 } 93 syntax: "proto3" 94 } 95 file { 96 name: "google/protobuf/empty.proto" 97 package: "google.protobuf" 98 message_type { 99 name: "Empty" 100 } 101 options { 102 java_package: "com.google.protobuf" 103 java_outer_classname: "EmptyProto" 104 java_multiple_files: true 105 go_package: "google.golang.org/protobuf/types/known/emptypb" 106 cc_enable_arenas: true 107 objc_class_prefix: "GPB" 108 csharp_namespace: "Google.Protobuf.WellKnownTypes" 109 } 110 syntax: "proto3" 111 } 112 file { 113 name: "api/tarus/judge.proto" 114 package: "tarus.api.judge" 115 dependency: "google/protobuf/empty.proto" 116 message_type { 117 name: "HandshakeRequest" 118 field { 119 name: "api_version" 120 number: 1 121 label: LABEL_OPTIONAL 122 type: TYPE_BYTES 123 json_name: "apiVersion" 124 } 125 field { 126 name: "web_hook_url" 127 number: 101 128 label: LABEL_OPTIONAL 129 type: TYPE_STRING 130 json_name: "webHookUrl" 131 } 132 } 133 message_type { 134 name: "HandshakeResponse" 135 field { 136 name: "api_version" 137 number: 1 138 label: LABEL_OPTIONAL 139 type: TYPE_BYTES 140 json_name: "apiVersion" 141 } 142 field { 143 name: "judge_status_hash" 144 number: 2 145 label: LABEL_OPTIONAL 146 type: TYPE_STRING 147 json_name: "judgeStatusHash" 148 } 149 field { 150 name: "implemented_apis" 151 number: 3 152 label: LABEL_REPEATED 153 type: TYPE_STRING 154 json_name: "implementedApis" 155 } 156 } 157 message_type { 158 name: "CreateContainerRequest" 159 field { 160 name: "task_key" 161 number: 1 162 label: LABEL_OPTIONAL 163 type: TYPE_BYTES 164 json_name: "taskKey" 165 } 166 field { 167 name: "image_id" 168 number: 2 169 label: LABEL_OPTIONAL 170 type: TYPE_STRING 171 json_name: "imageId" 172 } 173 field { 174 name: "bin_target" 175 number: 101 176 label: LABEL_OPTIONAL 177 type: TYPE_STRING 178 json_name: "binTarget" 179 } 180 field { 181 name: "estimated_cputime" 182 number: 102 183 label: LABEL_OPTIONAL 184 type: TYPE_INT64 185 json_name: "estimatedCputime" 186 } 187 field { 188 name: "estimated_cpuhard" 189 number: 103 190 label: LABEL_OPTIONAL 191 type: TYPE_INT64 192 json_name: "estimatedCpuhard" 193 } 194 field { 195 name: "estimated_memory" 196 number: 104 197 label: LABEL_OPTIONAL 198 type: TYPE_INT64 199 json_name: "estimatedMemory" 200 } 201 field { 202 name: "estimated_stack" 203 number: 105 204 label: LABEL_OPTIONAL 205 type: TYPE_INT64 206 json_name: "estimatedStack" 207 } 208 } 209 message_type { 210 name: "BundleContainerRequest" 211 field { 212 name: "task_key" 213 number: 1 214 label: LABEL_OPTIONAL 215 type: TYPE_BYTES 216 json_name: "taskKey" 217 } 218 } 219 message_type { 220 name: "RemoveContainerRequest" 221 field { 222 name: "task_key" 223 number: 1 224 label: LABEL_OPTIONAL 225 type: TYPE_BYTES 226 json_name: "taskKey" 227 } 228 } 229 message_type { 230 name: "CloneContainerRequest" 231 field { 232 name: "task_key" 233 number: 1 234 label: LABEL_OPTIONAL 235 type: TYPE_BYTES 236 json_name: "taskKey" 237 } 238 field { 239 name: "from_task_key" 240 number: 2 241 label: LABEL_OPTIONAL 242 type: TYPE_STRING 243 json_name: "fromTaskKey" 244 } 245 field { 246 name: "from_container_id" 247 number: 3 248 label: LABEL_OPTIONAL 249 type: TYPE_STRING 250 json_name: "fromContainerId" 251 } 252 } 253 message_type { 254 name: "CheckContainerRequest" 255 field { 256 name: "plugin" 257 number: 1 258 label: LABEL_OPTIONAL 259 type: TYPE_STRING 260 json_name: "plugin" 261 } 262 field { 263 name: "task_key" 264 number: 2 265 label: LABEL_OPTIONAL 266 type: TYPE_BYTES 267 json_name: "taskKey" 268 } 269 field { 270 name: "container_id" 271 number: 3 272 label: LABEL_OPTIONAL 273 type: TYPE_STRING 274 json_name: "containerId" 275 } 276 field { 277 name: "extras" 278 number: 4 279 label: LABEL_OPTIONAL 280 type: TYPE_BYTES 281 json_name: "extras" 282 } 283 } 284 message_type { 285 name: "CopyFileRequest" 286 field { 287 name: "task_key" 288 number: 1 289 label: LABEL_OPTIONAL 290 type: TYPE_BYTES 291 json_name: "taskKey" 292 } 293 field { 294 name: "from_url" 295 number: 2 296 label: LABEL_OPTIONAL 297 type: TYPE_STRING 298 json_name: "fromUrl" 299 } 300 field { 301 name: "to_path" 302 number: 3 303 label: LABEL_OPTIONAL 304 type: TYPE_STRING 305 json_name: "toPath" 306 } 307 field { 308 name: "override_file" 309 number: 101 310 label: LABEL_OPTIONAL 311 type: TYPE_BOOL 312 json_name: "overrideFile" 313 } 314 } 315 message_type { 316 name: "CompileProgramRequest" 317 field { 318 name: "task_key" 319 number: 1 320 label: LABEL_OPTIONAL 321 type: TYPE_BYTES 322 json_name: "taskKey" 323 } 324 field { 325 name: "from_url" 326 number: 2 327 label: LABEL_OPTIONAL 328 type: TYPE_STRING 329 json_name: "fromUrl" 330 } 331 field { 332 name: "to_path" 333 number: 3 334 label: LABEL_OPTIONAL 335 type: TYPE_STRING 336 json_name: "toPath" 337 } 338 field { 339 name: "compile_target" 340 number: 101 341 label: LABEL_OPTIONAL 342 type: TYPE_STRING 343 json_name: "compileTarget" 344 } 345 field { 346 name: "compile_features" 347 number: 102 348 label: LABEL_REPEATED 349 type: TYPE_STRING 350 json_name: "compileFeatures" 351 } 352 field { 353 name: "override_file" 354 number: 103 355 label: LABEL_OPTIONAL 356 type: TYPE_BOOL 357 json_name: "overrideFile" 358 } 359 } 360 message_type { 361 name: "CompileProgramResponse" 362 field { 363 name: "diag" 364 number: 1 365 label: LABEL_OPTIONAL 366 type: TYPE_STRING 367 json_name: "diag" 368 } 369 field { 370 name: "code" 371 number: 2 372 label: LABEL_OPTIONAL 373 type: TYPE_INT32 374 json_name: "code" 375 } 376 } 377 message_type { 378 name: "JudgeTestcase" 379 field { 380 name: "judge_key" 381 number: 1 382 label: LABEL_OPTIONAL 383 type: TYPE_BYTES 384 json_name: "judgeKey" 385 } 386 field { 387 name: "io_provider" 388 number: 2 389 label: LABEL_OPTIONAL 390 type: TYPE_STRING 391 json_name: "ioProvider" 392 } 393 field { 394 name: "input" 395 number: 3 396 label: LABEL_OPTIONAL 397 type: TYPE_STRING 398 json_name: "input" 399 } 400 field { 401 name: "answer" 402 number: 4 403 label: LABEL_OPTIONAL 404 type: TYPE_STRING 405 json_name: "answer" 406 } 407 field { 408 name: "estimated_cputime" 409 number: 101 410 label: LABEL_OPTIONAL 411 type: TYPE_INT64 412 json_name: "estimatedCputime" 413 } 414 field { 415 name: "estimated_cpuhard" 416 number: 102 417 label: LABEL_OPTIONAL 418 type: TYPE_INT64 419 json_name: "estimatedCpuhard" 420 } 421 field { 422 name: "estimated_memory" 423 number: 103 424 label: LABEL_OPTIONAL 425 type: TYPE_INT64 426 json_name: "estimatedMemory" 427 } 428 field { 429 name: "estimated_stack" 430 number: 104 431 label: LABEL_OPTIONAL 432 type: TYPE_INT64 433 json_name: "estimatedStack" 434 } 435 } 436 message_type { 437 name: "MakeJudgeRequest" 438 field { 439 name: "task_key" 440 number: 1 441 label: LABEL_OPTIONAL 442 type: TYPE_BYTES 443 json_name: "taskKey" 444 } 445 field { 446 name: "io_provider" 447 number: 2 448 label: LABEL_OPTIONAL 449 type: TYPE_STRING 450 json_name: "ioProvider" 451 } 452 field { 453 name: "testcases" 454 number: 3 455 label: LABEL_REPEATED 456 type: TYPE_MESSAGE 457 type_name: ".tarus.api.judge.JudgeTestcase" 458 json_name: "testcases" 459 } 460 field { 461 name: "is_async" 462 number: 101 463 label: LABEL_OPTIONAL 464 type: TYPE_BOOL 465 json_name: "isAsync" 466 } 467 field { 468 name: "cputime" 469 number: 102 470 label: LABEL_OPTIONAL 471 type: TYPE_INT64 472 json_name: "cputime" 473 } 474 field { 475 name: "cpuhard" 476 number: 103 477 label: LABEL_OPTIONAL 478 type: TYPE_INT64 479 json_name: "cpuhard" 480 } 481 field { 482 name: "memory" 483 number: 104 484 label: LABEL_OPTIONAL 485 type: TYPE_INT64 486 json_name: "memory" 487 } 488 field { 489 name: "stack" 490 number: 105 491 label: LABEL_OPTIONAL 492 type: TYPE_INT64 493 json_name: "stack" 494 } 495 } 496 message_type { 497 name: "MakeJudgeResponse" 498 field { 499 name: "items" 500 number: 1 501 label: LABEL_REPEATED 502 type: TYPE_MESSAGE 503 type_name: ".tarus.api.judge.QueryJudgeItem" 504 json_name: "items" 505 } 506 field { 507 name: "waiting" 508 number: 101 509 label: LABEL_OPTIONAL 510 type: TYPE_INT32 511 json_name: "waiting" 512 } 513 field { 514 name: "qos_wait" 515 number: 102 516 label: LABEL_OPTIONAL 517 type: TYPE_INT32 518 json_name: "qosWait" 519 } 520 } 521 message_type { 522 name: "QueryJudgeRequest" 523 field { 524 name: "task_key" 525 number: 1 526 label: LABEL_OPTIONAL 527 type: TYPE_BYTES 528 json_name: "taskKey" 529 } 530 field { 531 name: "judge_key" 532 number: 2 533 label: LABEL_OPTIONAL 534 type: TYPE_BYTES 535 json_name: "judgeKey" 536 } 537 } 538 message_type { 539 name: "QueryJudgeItem" 540 field { 541 name: "judge_key" 542 number: 1 543 label: LABEL_OPTIONAL 544 type: TYPE_BYTES 545 json_name: "judgeKey" 546 } 547 field { 548 name: "time_use" 549 number: 2 550 label: LABEL_OPTIONAL 551 type: TYPE_INT64 552 json_name: "timeUse" 553 } 554 field { 555 name: "memory_use" 556 number: 3 557 label: LABEL_OPTIONAL 558 type: TYPE_INT64 559 json_name: "memoryUse" 560 } 561 field { 562 name: "status" 563 number: 4 564 label: LABEL_OPTIONAL 565 type: TYPE_ENUM 566 type_name: ".tarus.api.judge.JudgeStatus" 567 json_name: "status" 568 } 569 field { 570 name: "hint" 571 number: 101 572 label: LABEL_OPTIONAL 573 type: TYPE_BYTES 574 json_name: "hint" 575 } 576 field { 577 name: "time_use_hard" 578 number: 102 579 label: LABEL_OPTIONAL 580 type: TYPE_INT64 581 json_name: "timeUseHard" 582 } 583 } 584 message_type { 585 name: "QueryJudgeResponse" 586 field { 587 name: "items" 588 number: 1 589 label: LABEL_REPEATED 590 type: TYPE_MESSAGE 591 type_name: ".tarus.api.judge.QueryJudgeItem" 592 json_name: "items" 593 } 594 } 595 enum_type { 596 name: "JudgeStatus" 597 value { 598 name: "Unknown" 599 number: 0 600 } 601 value { 602 name: "Accepted" 603 number: 1 604 } 605 value { 606 name: "WrongAnswer" 607 number: 2 608 } 609 value { 610 name: "PresentationError" 611 number: 3 612 } 613 value { 614 name: "RuntimeError" 615 number: 4 616 } 617 value { 618 name: "MemoryLimitExceed" 619 number: 5 620 } 621 value { 622 name: "TimeLimitExceed" 623 number: 6 624 } 625 value { 626 name: "OutputLimitExceed" 627 number: 7 628 } 629 value { 630 name: "PartialResult" 631 number: 8 632 } 633 value { 634 name: "CompilationError" 635 number: 9 636 } 637 value { 638 name: "Running" 639 number: 10 640 } 641 value { 642 name: "SystemError" 643 number: 101 644 } 645 value { 646 name: "SecurityPolicyViolation" 647 number: 102 648 } 649 value { 650 name: "JudgeCheckerException" 651 number: 103 652 } 653 value { 654 name: "AssertionFailed" 655 number: 104 656 } 657 value { 658 name: "FloatingPointException" 659 number: 105 660 } 661 } 662 service { 663 name: "JudgeService" 664 method { 665 name: "Handshake" 666 input_type: ".tarus.api.judge.HandshakeRequest" 667 output_type: ".tarus.api.judge.HandshakeResponse" 668 } 669 method { 670 name: "CreateContainer" 671 input_type: ".tarus.api.judge.CreateContainerRequest" 672 output_type: ".google.protobuf.Empty" 673 } 674 method { 675 name: "BundleContainer" 676 input_type: ".tarus.api.judge.BundleContainerRequest" 677 output_type: ".google.protobuf.Empty" 678 } 679 method { 680 name: "RemoveContainer" 681 input_type: ".tarus.api.judge.RemoveContainerRequest" 682 output_type: ".google.protobuf.Empty" 683 } 684 method { 685 name: "CloneContainer" 686 input_type: ".tarus.api.judge.CloneContainerRequest" 687 output_type: ".google.protobuf.Empty" 688 } 689 method { 690 name: "CheckContainer" 691 input_type: ".tarus.api.judge.CheckContainerRequest" 692 output_type: ".google.protobuf.Empty" 693 } 694 method { 695 name: "CopyFile" 696 input_type: ".tarus.api.judge.CopyFileRequest" 697 output_type: ".google.protobuf.Empty" 698 } 699 method { 700 name: "CompileProgram" 701 input_type: ".tarus.api.judge.CompileProgramRequest" 702 output_type: ".tarus.api.judge.CompileProgramResponse" 703 } 704 method { 705 name: "MakeJudge" 706 input_type: ".tarus.api.judge.MakeJudgeRequest" 707 output_type: ".tarus.api.judge.MakeJudgeResponse" 708 } 709 method { 710 name: "QueryJudge" 711 input_type: ".tarus.api.judge.QueryJudgeRequest" 712 output_type: ".tarus.api.judge.QueryJudgeResponse" 713 } 714 } 715 options { 716 go_package: "tarus/;tarus" 717 } 718 syntax: "proto3" 719 } 720 file { 721 name: "api/tarus/reporter.proto" 722 package: "tarus.api.reporter" 723 message_type { 724 name: "CallbackJudgeItem" 725 field { 726 name: "judge_key" 727 number: 1 728 label: LABEL_OPTIONAL 729 type: TYPE_BYTES 730 json_name: "judgeKey" 731 } 732 field { 733 name: "time_use" 734 number: 101 735 label: LABEL_OPTIONAL 736 type: TYPE_INT64 737 json_name: "timeUse" 738 } 739 field { 740 name: "memory_use" 741 number: 102 742 label: LABEL_OPTIONAL 743 type: TYPE_INT64 744 json_name: "memoryUse" 745 } 746 field { 747 name: "judge_result" 748 number: 103 749 label: LABEL_OPTIONAL 750 type: TYPE_INT64 751 json_name: "judgeResult" 752 } 753 field { 754 name: "hint" 755 number: 104 756 label: LABEL_OPTIONAL 757 type: TYPE_STRING 758 json_name: "hint" 759 } 760 } 761 message_type { 762 name: "CallbackJudgeResponse" 763 field { 764 name: "items" 765 number: 1 766 label: LABEL_REPEATED 767 type: TYPE_MESSAGE 768 type_name: ".tarus.api.reporter.CallbackJudgeItem" 769 json_name: "items" 770 } 771 } 772 service { 773 name: "JudgeResultReporter" 774 method { 775 name: "CallbackJudge" 776 input_type: ".tarus.api.reporter.CallbackJudgeItem" 777 output_type: ".tarus.api.reporter.CallbackJudgeResponse" 778 } 779 } 780 options { 781 go_package: "tarus/;tarus" 782 } 783 syntax: "proto3" 784 }