Commit 3a239dc
Add experimental API annotations from schema stability markers
Read the 'stability' field from api.schema.json and propagate it to
generated code in all four SDK languages. APIs marked as experimental
in the schema (fleet, agent, compaction) now carry appropriate
annotations in the generated output.
Changes to codegen scripts (scripts/codegen/):
- utils.ts: Add stability field to RpcMethod; add isNodeFullyExperimental helper
- csharp.ts: Emit [Experimental(Diagnostics.Experimental)] on types and API classes
- typescript.ts: Emit /** @experimental */ JSDoc on types and groups
- python.ts: Emit # Experimental comments on types and API classes, docstrings on methods
- go.ts: Emit // Experimental: comments on types and API structs
Design decisions:
- When all methods in a group are experimental, the group/class is
annotated and individual methods are not (annotation is inherited)
- Data types (request/result) for experimental methods are also annotated
- C# uses a Diagnostics.Experimental const ("GHCP001") referenced by all attributes
- SDK csproj suppresses GHCP001 internally; consumers still see warnings
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 485ea5e commit 3a239dc
11 files changed
Lines changed: 643 additions & 586 deletions
File tree
- dotnet
- src
- Generated
- test
- go/rpc
- nodejs/src/generated
- python/copilot/generated
- scripts/codegen
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
14 | 22 | | |
15 | 23 | | |
16 | 24 | | |
| |||
427 | 435 | | |
428 | 436 | | |
429 | 437 | | |
| 438 | + | |
430 | 439 | | |
431 | 440 | | |
432 | 441 | | |
| |||
435 | 444 | | |
436 | 445 | | |
437 | 446 | | |
| 447 | + | |
438 | 448 | | |
439 | 449 | | |
440 | 450 | | |
| |||
463 | 473 | | |
464 | 474 | | |
465 | 475 | | |
| 476 | + | |
466 | 477 | | |
467 | 478 | | |
468 | 479 | | |
| |||
471 | 482 | | |
472 | 483 | | |
473 | 484 | | |
| 485 | + | |
474 | 486 | | |
475 | 487 | | |
476 | 488 | | |
| |||
495 | 507 | | |
496 | 508 | | |
497 | 509 | | |
| 510 | + | |
498 | 511 | | |
499 | 512 | | |
500 | 513 | | |
| |||
503 | 516 | | |
504 | 517 | | |
505 | 518 | | |
| 519 | + | |
506 | 520 | | |
507 | 521 | | |
508 | 522 | | |
| |||
527 | 541 | | |
528 | 542 | | |
529 | 543 | | |
| 544 | + | |
530 | 545 | | |
531 | 546 | | |
532 | 547 | | |
| |||
535 | 550 | | |
536 | 551 | | |
537 | 552 | | |
| 553 | + | |
538 | 554 | | |
539 | 555 | | |
540 | 556 | | |
| |||
547 | 563 | | |
548 | 564 | | |
549 | 565 | | |
| 566 | + | |
550 | 567 | | |
551 | 568 | | |
552 | 569 | | |
553 | 570 | | |
554 | 571 | | |
| 572 | + | |
555 | 573 | | |
556 | 574 | | |
557 | 575 | | |
| |||
560 | 578 | | |
561 | 579 | | |
562 | 580 | | |
| 581 | + | |
563 | 582 | | |
564 | 583 | | |
565 | 584 | | |
| |||
576 | 595 | | |
577 | 596 | | |
578 | 597 | | |
| 598 | + | |
579 | 599 | | |
580 | 600 | | |
581 | 601 | | |
| |||
1000 | 1020 | | |
1001 | 1021 | | |
1002 | 1022 | | |
| 1023 | + | |
1003 | 1024 | | |
1004 | 1025 | | |
1005 | 1026 | | |
| |||
1020 | 1041 | | |
1021 | 1042 | | |
1022 | 1043 | | |
| 1044 | + | |
1023 | 1045 | | |
1024 | 1046 | | |
1025 | 1047 | | |
| |||
1061 | 1083 | | |
1062 | 1084 | | |
1063 | 1085 | | |
| 1086 | + | |
1064 | 1087 | | |
1065 | 1088 | | |
1066 | 1089 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
0 commit comments