| 1 | // Package servecontract contains capability tokens shared by the Serve host |
| 2 | // and every remote client. Values live here so protocol negotiation cannot |
| 3 | // drift through independently maintained string literals. |
| 4 | package servecontract |
| 5 | |
| 6 | const GoalLifecycleV2 = "goal-lifecycle-v2" |
| 7 | |
| 8 | const TranscriptV2 = "transcript-v2" |
| 9 | |
| 10 | const SubmissionIdentityV1 = "submission-identity-v1" |
| 11 | |
| 12 | // TranscriptOutlineV1 announces the read-only turn-outline endpoint. A client |
| 13 | // that does not see this token keeps the loaded-turn rail instead of probing |
| 14 | // the route, so an older Serve never has to answer 404 to advertise itself. |
| 15 | const TranscriptOutlineV1 = "transcript-outline-v1" |
| 16 | |
| 17 | // SessionForkTargetsV1 advertises a server that can list a session's completed |
| 18 | // turns (with the reason an unavailable one is refused) and create an |
| 19 | // independent child session from one of them without switching the parent. |
| 20 | const SessionForkTargetsV1 = "session-fork-targets-v1" |
| 21 | |
| 22 | // SessionExportV1 provides identity-bound complete display snapshots. |
| 23 | const SessionExportV1 = "session-export-v1" |
| 24 |