@metacensus/api 0.0.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +158 -7
  2. package/dist/index.d.ts +1 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +11 -7
  5. package/dist/index.js.map +1 -1
  6. package/dist/public.d.ts +6 -0
  7. package/dist/public.d.ts.map +1 -0
  8. package/dist/public.js +14 -0
  9. package/dist/public.js.map +1 -0
  10. package/dist/signing.d.ts +2 -0
  11. package/dist/signing.d.ts.map +1 -0
  12. package/dist/signing.js +5 -0
  13. package/dist/signing.js.map +1 -0
  14. package/dist/src/client.d.ts +66 -0
  15. package/dist/src/client.d.ts.map +1 -0
  16. package/dist/src/client.js +205 -0
  17. package/dist/src/client.js.map +1 -0
  18. package/dist/src/metacensus/public/v1/common.d.ts +20 -0
  19. package/dist/src/metacensus/public/v1/common.d.ts.map +1 -0
  20. package/dist/src/metacensus/public/v1/common.js +26 -0
  21. package/dist/src/metacensus/public/v1/common.js.map +1 -0
  22. package/dist/src/metacensus/public/v1/partner.d.ts +55 -0
  23. package/dist/src/metacensus/public/v1/partner.d.ts.map +1 -0
  24. package/dist/src/metacensus/public/v1/partner.js +22 -0
  25. package/dist/src/metacensus/public/v1/partner.js.map +1 -0
  26. package/dist/src/metacensus/v1/auth.d.ts +17 -3
  27. package/dist/src/metacensus/v1/auth.d.ts.map +1 -1
  28. package/dist/src/metacensus/v1/auth.js +0 -1
  29. package/dist/src/metacensus/v1/auth.js.map +1 -1
  30. package/dist/src/metacensus/v1/common.d.ts +85 -6
  31. package/dist/src/metacensus/v1/common.d.ts.map +1 -1
  32. package/dist/src/metacensus/v1/common.js +10 -0
  33. package/dist/src/metacensus/v1/common.js.map +1 -1
  34. package/dist/src/metacensus/v1/prop.d.ts +65 -26
  35. package/dist/src/metacensus/v1/prop.d.ts.map +1 -1
  36. package/dist/src/metacensus/v1/prop.js +1 -2
  37. package/dist/src/metacensus/v1/prop.js.map +1 -1
  38. package/dist/src/metacensus/v1/topic.d.ts +27 -12
  39. package/dist/src/metacensus/v1/topic.d.ts.map +1 -1
  40. package/dist/src/metacensus/v1/topic.js +0 -1
  41. package/dist/src/metacensus/v1/topic.js.map +1 -1
  42. package/dist/src/metacensus/v1/user.d.ts +21 -7
  43. package/dist/src/metacensus/v1/user.d.ts.map +1 -1
  44. package/dist/src/metacensus/v1/user.js +0 -1
  45. package/dist/src/metacensus/v1/user.js.map +1 -1
  46. package/dist/src/route-manifest.d.ts +3 -0
  47. package/dist/src/route-manifest.d.ts.map +1 -1
  48. package/dist/src/route-manifest.js +32 -30
  49. package/dist/src/route-manifest.js.map +1 -1
  50. package/dist/src/signing.d.ts +37 -0
  51. package/dist/src/signing.d.ts.map +1 -0
  52. package/dist/src/signing.js +188 -0
  53. package/dist/src/signing.js.map +1 -0
  54. package/package.json +16 -4
  55. package/dist/src/metacensus/v1/extraction.d.ts +0 -48
  56. package/dist/src/metacensus/v1/extraction.d.ts.map +0 -1
  57. package/dist/src/metacensus/v1/extraction.js +0 -8
  58. package/dist/src/metacensus/v1/extraction.js.map +0 -1
  59. package/dist/src/metacensus/v1/paper.d.ts +0 -57
  60. package/dist/src/metacensus/v1/paper.d.ts.map +0 -1
  61. package/dist/src/metacensus/v1/paper.js +0 -8
  62. package/dist/src/metacensus/v1/paper.js.map +0 -1
  63. package/dist/src/metacensus/v1/protocol.d.ts +0 -42
  64. package/dist/src/metacensus/v1/protocol.d.ts.map +0 -1
  65. package/dist/src/metacensus/v1/protocol.js +0 -8
  66. package/dist/src/metacensus/v1/protocol.js.map +0 -1
@@ -0,0 +1,55 @@
1
+ export declare const protobufPackage = "metacensus.public.v1";
2
+ /** The partner / express-interest form the marketing site posts to. */
3
+ /**
4
+ * One express-interest form post. The length caps below are enforced but not
5
+ * machine-readable — ts-proto drops field options, so protovalidate can't
6
+ * reach the client; see README.md.
7
+ */
8
+ export interface PartnerSubmission {
9
+ /** Required. Whitespace-collapsed, then capped at 120 characters. */
10
+ name: string;
11
+ /**
12
+ * Required. Trimmed, capped at 254 characters, and must contain an `@`
13
+ * with a dotted host after it. Deliberately a shape check, not RFC 5322.
14
+ */
15
+ email: string;
16
+ /**
17
+ * May be empty. Duplicates are collapsed rather than rejected; an
18
+ * unrecognised value rejects the whole submission.
19
+ */
20
+ interests: PartnerSubmission_Interest[];
21
+ /** Optional. Trimmed, capped at 2000 characters. */
22
+ message: string;
23
+ /**
24
+ * Honeypot. Must be empty; a filled one receives an ordinary receipt and
25
+ * is never delivered.
26
+ */
27
+ website: string;
28
+ }
29
+ /**
30
+ * The set of checkboxes is a contract; display wording lives in the SPA
31
+ * (see README.md). Unspecified is the proto3 zero value, not an offered
32
+ * choice — filter it out when building a form.
33
+ */
34
+ export declare enum PartnerSubmission_Interest {
35
+ Unspecified = "Unspecified",
36
+ PartnerOrPilot = "PartnerOrPilot",
37
+ FundTheWork = "FundTheWork",
38
+ ContributeExpertise = "ContributeExpertise",
39
+ BringToMyField = "BringToMyField",
40
+ RequestEarlyAccess = "RequestEarlyAccess"
41
+ }
42
+ /**
43
+ * The 200 answer. `submission_id` correlates with the service's logs; it
44
+ * isn't a fetchable handle.
45
+ */
46
+ export interface PartnerReceipt {
47
+ /**
48
+ * Always true; the one place this surface's shape still differs from
49
+ * metacensus.v1 (bare resources) — required because
50
+ * contract.UnmarshalOptions rejects unknown fields.
51
+ */
52
+ ok: boolean;
53
+ submissionId: string;
54
+ }
55
+ //# sourceMappingURL=partner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner.d.ts","sourceRoot":"","sources":["../../../../../src/metacensus/public/v1/partner.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,yBAAyB,CAAC;AAEtD,uEAAuE;AAEvE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,EAAE,0BAA0B,EAAE,CAAC;IACxC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,oBAAY,0BAA0B;IACpC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,mBAAmB,wBAAwB;IAC3C,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,EAAE,EAAE,OAAO,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,22 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v2.7.7
4
+ // protoc unknown
5
+ // source: metacensus/public/v1/partner.proto
6
+ /* eslint-disable */
7
+ export const protobufPackage = "metacensus.public.v1";
8
+ /**
9
+ * The set of checkboxes is a contract; display wording lives in the SPA
10
+ * (see README.md). Unspecified is the proto3 zero value, not an offered
11
+ * choice — filter it out when building a form.
12
+ */
13
+ export var PartnerSubmission_Interest;
14
+ (function (PartnerSubmission_Interest) {
15
+ PartnerSubmission_Interest["Unspecified"] = "Unspecified";
16
+ PartnerSubmission_Interest["PartnerOrPilot"] = "PartnerOrPilot";
17
+ PartnerSubmission_Interest["FundTheWork"] = "FundTheWork";
18
+ PartnerSubmission_Interest["ContributeExpertise"] = "ContributeExpertise";
19
+ PartnerSubmission_Interest["BringToMyField"] = "BringToMyField";
20
+ PartnerSubmission_Interest["RequestEarlyAccess"] = "RequestEarlyAccess";
21
+ })(PartnerSubmission_Interest || (PartnerSubmission_Interest = {}));
22
+ //# sourceMappingURL=partner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner.js","sourceRoot":"","sources":["../../../../../src/metacensus/public/v1/partner.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,6CAA6C;AAE7C,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AA+BtD;;;;GAIG;AACH,MAAM,CAAN,IAAY,0BAOX;AAPD,WAAY,0BAA0B;IACpC,yDAA2B,CAAA;IAC3B,+DAAiC,CAAA;IACjC,yDAA2B,CAAA;IAC3B,yEAA2C,CAAA;IAC3C,+DAAiC,CAAA;IACjC,uEAAyC,CAAA;AAC3C,CAAC,EAPW,0BAA0B,KAA1B,0BAA0B,QAOrC"}
@@ -1,14 +1,28 @@
1
+ import type { User, UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Sign-up, login and logout. */
3
4
  export interface LoginRequest {
4
5
  email: string;
5
6
  password: string;
6
7
  }
8
+ /**
9
+ * Creates an account and enrolls the signing key every later write is
10
+ * signed with: trust on first use — nobody vouches for the key, the service
11
+ * binds whatever it's handed, and the signature proves possession of the
12
+ * matching private key at enrollment.
13
+ */
7
14
  export interface SignUpRequest {
8
- name: string;
9
- email: string;
10
- country: string;
15
+ content?: User | undefined;
16
+ /**
17
+ * Deliberately outside `content`: a password must never be inside a
18
+ * signed, stored document.
19
+ */
11
20
  password: string;
21
+ /**
22
+ * Over `content`, made with the key being enrolled. `signer_id` is empty
23
+ * (no id exists yet) and `public_key` carries the key inline.
24
+ */
25
+ userSignature?: UserSignature | undefined;
12
26
  }
13
27
  export interface Session {
14
28
  /** Bearer token, sent back as `Authorization: Bearer <token>`. */
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,iCAAiC;AAEjC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;CAC7B;AAED,MAAM,WAAW,cAAc;CAC9B"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,iCAAiC;AAEjC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EACJ,IAAI,GACJ,SAAS,CAAC;IACd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,OAAO;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;CAC7B;AAED,MAAM,WAAW,cAAc;CAC9B"}
@@ -3,6 +3,5 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/auth.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
7
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAEnC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/auth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAKnC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,15 +1,11 @@
1
1
  export declare const protobufPackage = "metacensus.v1";
2
2
  /** Shared types. */
3
- /**
4
- * ListMetadata is the pagination envelope for list responses. No route
5
- * paginates yet, so nothing references it.
6
- */
3
+ /** Pagination envelope for list responses; no route paginates yet. */
7
4
  export interface ListMetadata {
8
5
  /** 1-based. */
9
6
  page: number;
10
- /** Items per page. */
11
7
  limit: number;
12
- /** Items across all pages, not just this one. */
8
+ /** Across all pages, not just this one. */
13
9
  total: number;
14
10
  }
15
11
  export interface HealthcheckRequest {
@@ -17,4 +13,87 @@ export interface HealthcheckRequest {
17
13
  export interface HealthcheckResponse {
18
14
  status: string;
19
15
  }
16
+ /**
17
+ * One participant's signature over one content message. Not verified at the
18
+ * API edge — see README.md, "The signing chain".
19
+ */
20
+ export interface UserSignature {
21
+ /**
22
+ * Empty only on the sign-up that enrolls the key; public_key carries it
23
+ * inline there instead.
24
+ */
25
+ signerId: string;
26
+ /** base64url SHA-256 of public_key's SPKI DER. */
27
+ keyId: string;
28
+ alg: UserSignature_Alg;
29
+ /** base64url SPKI DER; set only on the sign-up that enrolls the key. */
30
+ publicKey: string;
31
+ /**
32
+ * The signer's claimed time, not the server's — see `recorded` on signed
33
+ * records for what the pair does and does not bound.
34
+ */
35
+ signingTime?: string | undefined;
36
+ /**
37
+ * Exactly how this signature is computed and checked; changing the
38
+ * canonicalization, digest, or encoding changes this string.
39
+ */
40
+ spec: string;
41
+ /**
42
+ * Full proto name of the message `content` holds, e.g.
43
+ * "metacensus.v1.Prop". Stops a signature over one type being
44
+ * replayed as another.
45
+ */
46
+ contentType: string;
47
+ /** Excluded from its own digest by being emptied, not dropped. */
48
+ value: string;
49
+ }
50
+ /**
51
+ * Closed vocabulary: an unrecognized value fails to decode rather than
52
+ * reaching a verifier. See README.md, "The signing chain", before adding one.
53
+ */
54
+ export declare enum UserSignature_Alg {
55
+ Unspecified = "Unspecified",
56
+ /** Es384 - JOSE fixed-width r||s, never DER. */
57
+ Es384 = "Es384"
58
+ }
59
+ /**
60
+ * An institution's countersignature over a UserSignature.value — it endorses
61
+ * the author (enrolled and in good standing when the record was written), not
62
+ * the content. Server-minted and outside the user's signature, so it rides on
63
+ * the stored envelope and never inside signed content. Computing and checking
64
+ * it is the store's, below the persistence seam; this contract only carries
65
+ * the shape so a later runtime needs no wire break. See README.md.
66
+ */
67
+ export interface InstitutionalSignature {
68
+ /** The institution that countersigned. */
69
+ signerId: string;
70
+ /**
71
+ * base64url SHA-256 of the institution key's SPKI DER, resolved against the
72
+ * institution's key history the way a user's key_id is.
73
+ */
74
+ keyId: string;
75
+ /** Reuses UserSignature's closed algorithm vocabulary. */
76
+ alg: UserSignature_Alg;
77
+ /**
78
+ * The server's observation of when it countersigned; the institution makes
79
+ * no separately-claimed time.
80
+ */
81
+ recorded?: string | undefined;
82
+ /** Versions the countersignature scheme, independently of UserSignature.spec. */
83
+ spec: string;
84
+ /**
85
+ * base64url r||s over the countersigned UserSignature.value. Emptied from
86
+ * its own digest by the same rule as UserSignature.value.
87
+ */
88
+ value: string;
89
+ }
90
+ /**
91
+ * The part of a user record its owner signs. Lives here, not user.proto,
92
+ * because auth.proto's SignUpRequest and user.proto's UserSigned both need it.
93
+ */
94
+ export interface User {
95
+ name: string;
96
+ email: string;
97
+ country: string;
98
+ }
20
99
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,oBAAoB;AAEpB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,oBAAoB;AAEpB,sEAAsE;AACtE,MAAM,WAAW,YAAY;IAC3B,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,iBAAiB,CAAC;IACvB,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,WAAW,CAAC,EACR,MAAM,GACN,SAAS,CAAC;IACd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,gDAAgD;IAChD,KAAK,UAAU;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,GAAG,EAAE,iBAAiB,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EACL,MAAM,GACN,SAAS,CAAC;IACd,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -5,4 +5,14 @@
5
5
  // source: metacensus/v1/common.proto
6
6
  /* eslint-disable */
7
7
  export const protobufPackage = "metacensus.v1";
8
+ /**
9
+ * Closed vocabulary: an unrecognized value fails to decode rather than
10
+ * reaching a verifier. See README.md, "The signing chain", before adding one.
11
+ */
12
+ export var UserSignature_Alg;
13
+ (function (UserSignature_Alg) {
14
+ UserSignature_Alg["Unspecified"] = "Unspecified";
15
+ /** Es384 - JOSE fixed-width r||s, never DER. */
16
+ UserSignature_Alg["Es384"] = "Es384";
17
+ })(UserSignature_Alg || (UserSignature_Alg = {}));
8
18
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,qCAAqC;AAErC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/common.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,qCAAqC;AAErC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAyD/C;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;IAC3B,gDAAgD;IAChD,oCAAe,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B"}
@@ -1,18 +1,38 @@
1
+ import type { InstitutionalSignature, UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Propositions and votes: the consensus mechanism. */
3
4
  /**
4
- * Prop is a motion a topic's members vote on. It can be functional, changing
5
- * the topic, or simply establish consensus.
5
+ * A motion a topic's members vote on, as a signed record. `author_id` and
6
+ * `created` were removed: they're `user_signature.signer_id` and
7
+ * `.signing_time` now.
6
8
  */
7
- export interface Prop {
9
+ export interface PropSigned {
10
+ /** Minted by the server, outside the signature. */
8
11
  id: string;
9
- authorId: string;
10
- created?: string | undefined;
12
+ /**
13
+ * Server's observation; see UserSignature.signing_time for the author's
14
+ * claim.
15
+ */
16
+ recorded?: string | undefined;
17
+ content?: Prop | undefined;
18
+ userSignature?: UserSignature | undefined;
19
+ /**
20
+ * The institution's countersignature over user_signature.value; see
21
+ * UserSigned.
22
+ */
23
+ institutionalSignature?: InstitutionalSignature | undefined;
24
+ }
25
+ /**
26
+ * What a prop's author signs; carries `topic_id` but not the prop's own
27
+ * server-minted id.
28
+ */
29
+ export interface Prop {
30
+ topicId: string;
11
31
  type: Prop_Type;
12
- /** The text of the proposition, and the text `Vote.citations` index into. */
32
+ /** The text `Vote.citations` indexes into. */
13
33
  description: string;
14
34
  }
15
- /** Type is what the proposition would do if it passed. */
35
+ /** What the proposition would do if it passed. */
16
36
  export declare enum Prop_Type {
17
37
  Unspecified = "Unspecified",
18
38
  Statement = "Statement",
@@ -24,22 +44,39 @@ export declare enum Prop_Type {
24
44
  PaperIncludeMetaAnalysis = "PaperIncludeMetaAnalysis"
25
45
  }
26
46
  /**
27
- * Vote is one member's position on one prop, keyed by `(propId, userId)`: a
28
- * second vote from the same user replaces the first rather than adding to it.
47
+ * One member's position on one prop, keyed by `(propId, userId)`; a second
48
+ * vote from the same user replaces the first rather than adding to it.
49
+ */
50
+ export interface VoteSigned {
51
+ /**
52
+ * Server's observation, and the only ordering a reader may use —
53
+ * `user_signature.signing_time` is the voter's own claim.
54
+ */
55
+ recorded?: string | undefined;
56
+ content?: Vote | undefined;
57
+ userSignature?: UserSignature | undefined;
58
+ /**
59
+ * The institution's countersignature over user_signature.value; see
60
+ * UserSigned. VoteSigned mints no id, so this is 4, not 5.
61
+ */
62
+ institutionalSignature?: InstitutionalSignature | undefined;
63
+ }
64
+ /**
65
+ * What a voter signs. `user_id` duplicates `user_signature.signer_id` by
66
+ * design; persistence owes refusing the two when they disagree (see
67
+ * README.md, "Open questions").
29
68
  */
30
69
  export interface Vote {
70
+ topicId: string;
31
71
  propId: string;
32
72
  userId: string;
33
73
  position: Vote_Position;
34
- /** Free-text rationale. */
35
74
  explanation: string;
36
75
  /**
37
- * Spans of the prop's `description` the voter highlighted. Meaningful only
38
- * for an `Against` vote; cleared when the position changes to any other.
76
+ * Highlighted spans of the prop's `description`; meaningful only for
77
+ * `Against`, cleared otherwise.
39
78
  */
40
79
  citations: PropCitation[];
41
- /** When the vote was most recently cast. Overwritten on every recast. */
42
- lastCast?: string | undefined;
43
80
  }
44
81
  export declare enum Vote_Position {
45
82
  Unspecified = "Unspecified",
@@ -47,7 +84,7 @@ export declare enum Vote_Position {
47
84
  Against = "Against",
48
85
  Abstain = "Abstain"
49
86
  }
50
- /** PropCitation is a half-open character range in a prop's `description`. */
87
+ /** A half-open character range in a prop's `description`. */
51
88
  export interface PropCitation {
52
89
  start: number;
53
90
  end: number;
@@ -56,35 +93,37 @@ export interface PropListRequest {
56
93
  topicId: string;
57
94
  }
58
95
  export interface PropList {
59
- items: Prop[];
96
+ items: PropSigned[];
60
97
  }
61
98
  export interface PropGetRequest {
62
99
  topicId: string;
63
100
  propId: string;
64
101
  }
65
- /** PropCreateRequest takes no author: it is the authenticated user. */
102
+ /**
103
+ * No author field — that's `user_signature.signer_id`. `topic_id` is bound
104
+ * by the path and re-signed inside `content`; the two must agree.
105
+ */
66
106
  export interface PropCreateRequest {
67
107
  topicId: string;
68
- type: Prop_Type;
69
- description: string;
108
+ content?: Prop | undefined;
109
+ userSignature?: UserSignature | undefined;
70
110
  }
71
111
  export interface VoteListRequest {
72
112
  topicId: string;
73
113
  propId: string;
74
114
  }
75
- /** VoteList is the only way to read a prop's votes. */
115
+ /** The only way to read a prop's votes. */
76
116
  export interface VoteList {
77
- items: Vote[];
117
+ items: VoteSigned[];
78
118
  }
79
119
  /**
80
- * VoteSetRequest sets rather than creates: it replaces the caller's previous
81
- * vote on this prop.
120
+ * Replaces the caller's previous vote rather than creating a new one; both
121
+ * path ids are re-signed inside `content` (see PropCreateRequest).
82
122
  */
83
123
  export interface VoteSetRequest {
84
124
  topicId: string;
85
125
  propId: string;
86
- position: Vote_Position;
87
- explanation: string;
88
- citations: PropCitation[];
126
+ content?: Vote | undefined;
127
+ userSignature?: UserSignature | undefined;
89
128
  }
90
129
  //# sourceMappingURL=prop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,uDAAuD;AAEvD;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,0DAA0D;AAC1D,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,uDAAuD;AACvD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"prop.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,uDAAuD;AAEvD;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EACV,aAAa,GACb,SAAS,CAAC;IACd;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,SAAS,CAAC;IAChB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,kDAAkD;AAClD,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EACV,aAAa,GACb,SAAS,CAAC;IACd;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC7D;AAED;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2CAA2C;AAC3C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C"}
@@ -3,9 +3,8 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/prop.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
- /** Type is what the proposition would do if it passed. */
7
+ /** What the proposition would do if it passed. */
9
8
  export var Prop_Type;
10
9
  (function (Prop_Type) {
11
10
  Prop_Type["Unspecified"] = "Unspecified";
@@ -1 +1 @@
1
- {"version":3,"file":"prop.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAEnC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAiB/C,0DAA0D;AAC1D,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,gEAAmD,CAAA;IACnD,kEAAqD,CAAA;AACvD,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAqBD,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
1
+ {"version":3,"file":"prop.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/prop.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAKnC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC;AAuC/C,kDAAkD;AAClD,MAAM,CAAN,IAAY,SASX;AATD,WAAY,SAAS;IACnB,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,gEAAmD,CAAA;IACnD,kEAAqD,CAAA;AACvD,CAAC,EATW,SAAS,KAAT,SAAS,QASpB;AAyCD,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AACrB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB"}
@@ -1,35 +1,50 @@
1
+ import type { InstitutionalSignature, UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Topics and their membership. */
3
- /** Topic is a systematic review in progress. */
4
- export interface Topic {
4
+ /** A systematic review in progress, as a signed record. */
5
+ export interface TopicSigned {
6
+ /** Minted by the server, outside the signature. */
5
7
  id: string;
6
- created?: string | undefined;
8
+ /**
9
+ * Server's observation; see UserSignature.signing_time for the author's
10
+ * claim.
11
+ */
12
+ recorded?: string | undefined;
13
+ content?: Topic | undefined;
14
+ userSignature?: UserSignature | undefined;
15
+ /**
16
+ * The institution's countersignature over user_signature.value; see
17
+ * UserSigned.
18
+ */
19
+ institutionalSignature?: InstitutionalSignature | undefined;
20
+ }
21
+ /**
22
+ * What a topic's author signs; carries no id — the server mints the
23
+ * topic's key.
24
+ */
25
+ export interface Topic {
7
26
  name: string;
8
27
  description: string;
9
28
  }
10
29
  export interface TopicListRequest {
11
30
  }
12
31
  export interface TopicList {
13
- items: Topic[];
32
+ items: TopicSigned[];
14
33
  }
15
34
  export interface TopicGetRequest {
16
35
  topicId: string;
17
36
  }
18
37
  export interface TopicCreateRequest {
19
- name: string;
20
- description: string;
21
- }
22
- export interface TopicProtocolRequest {
23
- topicId: string;
38
+ content?: Topic | undefined;
39
+ userSignature?: UserSignature | undefined;
24
40
  }
25
41
  /**
26
- * Member is a user's membership of a topic. No backend implements the member
27
- * routes yet.
42
+ * A user's membership of a topic. No backend implements the member routes
43
+ * yet, so it carries no signature.
28
44
  */
29
45
  export interface Member {
30
46
  /** The member's user id, not an id of the membership itself. */
31
47
  id: string;
32
- /** When the user joined the topic. */
33
48
  joined?: string | undefined;
34
49
  }
35
50
  export interface MemberListRequest {
@@ -1 +1 @@
1
- {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mCAAmC;AAEnC,gDAAgD;AAChD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mCAAmC;AAEnC,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,aAAa,CAAC,EACV,aAAa,GACb,SAAS,CAAC;IACd;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC7D;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,gEAAgE;IAChE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -3,6 +3,5 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/topic.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
7
  //# sourceMappingURL=topic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,oCAAoC;AAEpC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/topic.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,oCAAoC;AAKpC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,21 +1,35 @@
1
+ import type { InstitutionalSignature, User, UserSignature } from "./common.js";
1
2
  export declare const protobufPackage = "metacensus.v1";
2
3
  /** Users. Sign-up and login live in auth.proto. */
3
- export interface User {
4
+ /**
5
+ * A signed record. Also the key directory: reading a user's enrolling
6
+ * `user_signature.public_key` is how a verifier resolves a `key_id`.
7
+ */
8
+ export interface UserSigned {
9
+ /** Minted by the server, outside the signature. */
4
10
  id: string;
5
- name: string;
6
- email: string;
7
- country: string;
8
- created?: string | undefined;
11
+ /**
12
+ * Server's observation; see UserSignature.signing_time for the author's
13
+ * claim.
14
+ */
15
+ recorded?: string | undefined;
16
+ content?: User | undefined;
17
+ userSignature?: UserSignature | undefined;
18
+ /**
19
+ * The institution's countersignature over `user_signature.value`; see the
20
+ * InstitutionalSignature type.
21
+ */
22
+ institutionalSignature?: InstitutionalSignature | undefined;
9
23
  }
10
24
  export interface UserListRequest {
11
25
  }
12
26
  export interface UserList {
13
- items: User[];
27
+ items: UserSigned[];
14
28
  }
15
29
  export interface UserGetRequest {
16
30
  userId: string;
17
31
  }
18
- /** SelfGetRequest is empty: the user is the authenticated one. */
32
+ /** Empty: the user is the authenticated one. */
19
33
  export interface SelfGetRequest {
20
34
  }
21
35
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mDAAmD;AAEnD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,kEAAkE;AAClE,MAAM,WAAW,cAAc;CAC9B"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/E,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAE/C,mDAAmD;AAEnD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EACV,aAAa,GACb,SAAS,CAAC;IACd;;;OAGG;IACH,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,WAAW,eAAe;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;CAC9B"}
@@ -3,6 +3,5 @@
3
3
  // protoc-gen-ts_proto v2.7.7
4
4
  // protoc unknown
5
5
  // source: metacensus/v1/user.proto
6
- /* eslint-disable */
7
6
  export const protobufPackage = "metacensus.v1";
8
7
  //# sourceMappingURL=user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAEnC,oBAAoB;AAEpB,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/metacensus/v1/user.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,YAAY;AACZ,gCAAgC;AAChC,iCAAiC;AACjC,mCAAmC;AAKnC,MAAM,CAAC,MAAM,eAAe,GAAG,eAAe,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export declare const apiPrefix = "/metacensus/api/v1";
2
+ export declare const publicPrefix = "/metacensus/public";
2
3
  export interface Route {
4
+ readonly prefix: string;
3
5
  readonly service: string;
4
6
  readonly rpc: string;
5
7
  readonly method: string;
@@ -7,6 +9,7 @@ export interface Route {
7
9
  readonly params: readonly string[];
8
10
  readonly query: readonly string[];
9
11
  readonly body: string;
12
+ readonly signed: boolean;
10
13
  readonly request: string;
11
14
  readonly response: string;
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"route-manifest.d.ts","sourceRoot":"","sources":["../../src/route-manifest.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAO9C,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,KAAK,EAyBlC,CAAC"}
1
+ {"version":3,"file":"route-manifest.d.ts","sourceRoot":"","sources":["../../src/route-manifest.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,SAAS,uBAAuB,CAAC;AAK9C,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAMjD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,MAAM,EAAE,SAAS,KAAK,EAmBlC,CAAC"}