@oxyhq/contracts 0.21.0 → 0.23.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.
- package/dist/cjs/.tsbuildinfo +1 -1
- package/dist/cjs/accountGraph.js +333 -22
- package/dist/cjs/deviceSession.js +5 -4
- package/dist/cjs/index.js +21 -7
- package/dist/cjs/userResponse.js +37 -3
- package/dist/esm/.tsbuildinfo +1 -1
- package/dist/esm/accountGraph.js +327 -21
- package/dist/esm/deviceSession.js +5 -4
- package/dist/esm/index.js +1 -1
- package/dist/esm/userResponse.js +38 -4
- package/dist/types/.tsbuildinfo +1 -1
- package/dist/types/accountGraph.d.ts +194 -39
- package/dist/types/deviceSession.d.ts +5 -4
- package/dist/types/index.d.ts +2 -2
- package/dist/types/updates.d.ts +2 -2
- package/dist/types/userResponse.d.ts +537 -63
- package/package.json +1 -1
|
@@ -143,10 +143,38 @@ export declare const userResponseSchema: z.ZodObject<{
|
|
|
143
143
|
*/
|
|
144
144
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
145
145
|
/**
|
|
146
|
-
*
|
|
147
|
-
*
|
|
146
|
+
* Account-graph classification — what KIND of account this is.
|
|
147
|
+
*
|
|
148
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
149
|
+
* which says where the account lives and how it is driven; the two
|
|
150
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
151
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
152
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
153
|
+
*
|
|
154
|
+
* Optional because a DTO produced from a source that never carried the
|
|
155
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
156
|
+
* default, not as unknown.
|
|
148
157
|
*/
|
|
149
|
-
|
|
158
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
159
|
+
/**
|
|
160
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
161
|
+
*
|
|
162
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
163
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
164
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
165
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
166
|
+
* otherwise reorder this array.
|
|
167
|
+
*
|
|
168
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
169
|
+
* comes from the reader's own translation catalogue, keyed
|
|
170
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
171
|
+
* profile in the language of whoever picked it.
|
|
172
|
+
*
|
|
173
|
+
* Absent when the account has none — which is every `personal` account,
|
|
174
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
175
|
+
* `user.accountCategories ?? []`.
|
|
176
|
+
*/
|
|
177
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
150
178
|
/**
|
|
151
179
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
152
180
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -196,10 +224,38 @@ export declare const userResponseSchema: z.ZodObject<{
|
|
|
196
224
|
*/
|
|
197
225
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
198
226
|
/**
|
|
199
|
-
*
|
|
200
|
-
*
|
|
227
|
+
* Account-graph classification — what KIND of account this is.
|
|
228
|
+
*
|
|
229
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
230
|
+
* which says where the account lives and how it is driven; the two
|
|
231
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
232
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
233
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
234
|
+
*
|
|
235
|
+
* Optional because a DTO produced from a source that never carried the
|
|
236
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
237
|
+
* default, not as unknown.
|
|
238
|
+
*/
|
|
239
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
240
|
+
/**
|
|
241
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
242
|
+
*
|
|
243
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
244
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
245
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
246
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
247
|
+
* otherwise reorder this array.
|
|
248
|
+
*
|
|
249
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
250
|
+
* comes from the reader's own translation catalogue, keyed
|
|
251
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
252
|
+
* profile in the language of whoever picked it.
|
|
253
|
+
*
|
|
254
|
+
* Absent when the account has none — which is every `personal` account,
|
|
255
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
256
|
+
* `user.accountCategories ?? []`.
|
|
201
257
|
*/
|
|
202
|
-
|
|
258
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
203
259
|
/**
|
|
204
260
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
205
261
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -249,10 +305,38 @@ export declare const userResponseSchema: z.ZodObject<{
|
|
|
249
305
|
*/
|
|
250
306
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
251
307
|
/**
|
|
252
|
-
*
|
|
253
|
-
*
|
|
308
|
+
* Account-graph classification — what KIND of account this is.
|
|
309
|
+
*
|
|
310
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
311
|
+
* which says where the account lives and how it is driven; the two
|
|
312
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
313
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
314
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
315
|
+
*
|
|
316
|
+
* Optional because a DTO produced from a source that never carried the
|
|
317
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
318
|
+
* default, not as unknown.
|
|
254
319
|
*/
|
|
255
|
-
|
|
320
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
321
|
+
/**
|
|
322
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
323
|
+
*
|
|
324
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
325
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
326
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
327
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
328
|
+
* otherwise reorder this array.
|
|
329
|
+
*
|
|
330
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
331
|
+
* comes from the reader's own translation catalogue, keyed
|
|
332
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
333
|
+
* profile in the language of whoever picked it.
|
|
334
|
+
*
|
|
335
|
+
* Absent when the account has none — which is every `personal` account,
|
|
336
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
337
|
+
* `user.accountCategories ?? []`.
|
|
338
|
+
*/
|
|
339
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
256
340
|
/**
|
|
257
341
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
258
342
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -272,12 +356,20 @@ export declare const userProfileUpdateSchema: z.ZodObject<{
|
|
|
272
356
|
name: z.ZodOptional<z.ZodObject<{
|
|
273
357
|
first: z.ZodOptional<z.ZodString>;
|
|
274
358
|
last: z.ZodOptional<z.ZodString>;
|
|
359
|
+
/**
|
|
360
|
+
* Explicit display name, stored rather than composed. Wins over
|
|
361
|
+
* `first`/`last` when set; send `''` to clear it and fall back
|
|
362
|
+
* to the composed pair.
|
|
363
|
+
*/
|
|
364
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
275
365
|
}, "strip", z.ZodTypeAny, {
|
|
276
366
|
first?: string | undefined;
|
|
277
367
|
last?: string | undefined;
|
|
368
|
+
displayName?: string | undefined;
|
|
278
369
|
}, {
|
|
279
370
|
first?: string | undefined;
|
|
280
371
|
last?: string | undefined;
|
|
372
|
+
displayName?: string | undefined;
|
|
281
373
|
}>>;
|
|
282
374
|
username: z.ZodOptional<z.ZodString>;
|
|
283
375
|
email: z.ZodOptional<z.ZodString>;
|
|
@@ -328,12 +420,20 @@ export declare const userProfileUpdateSchema: z.ZodObject<{
|
|
|
328
420
|
name: z.ZodOptional<z.ZodObject<{
|
|
329
421
|
first: z.ZodOptional<z.ZodString>;
|
|
330
422
|
last: z.ZodOptional<z.ZodString>;
|
|
423
|
+
/**
|
|
424
|
+
* Explicit display name, stored rather than composed. Wins over
|
|
425
|
+
* `first`/`last` when set; send `''` to clear it and fall back
|
|
426
|
+
* to the composed pair.
|
|
427
|
+
*/
|
|
428
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
331
429
|
}, "strip", z.ZodTypeAny, {
|
|
332
430
|
first?: string | undefined;
|
|
333
431
|
last?: string | undefined;
|
|
432
|
+
displayName?: string | undefined;
|
|
334
433
|
}, {
|
|
335
434
|
first?: string | undefined;
|
|
336
435
|
last?: string | undefined;
|
|
436
|
+
displayName?: string | undefined;
|
|
337
437
|
}>>;
|
|
338
438
|
username: z.ZodOptional<z.ZodString>;
|
|
339
439
|
email: z.ZodOptional<z.ZodString>;
|
|
@@ -384,12 +484,20 @@ export declare const userProfileUpdateSchema: z.ZodObject<{
|
|
|
384
484
|
name: z.ZodOptional<z.ZodObject<{
|
|
385
485
|
first: z.ZodOptional<z.ZodString>;
|
|
386
486
|
last: z.ZodOptional<z.ZodString>;
|
|
487
|
+
/**
|
|
488
|
+
* Explicit display name, stored rather than composed. Wins over
|
|
489
|
+
* `first`/`last` when set; send `''` to clear it and fall back
|
|
490
|
+
* to the composed pair.
|
|
491
|
+
*/
|
|
492
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
387
493
|
}, "strip", z.ZodTypeAny, {
|
|
388
494
|
first?: string | undefined;
|
|
389
495
|
last?: string | undefined;
|
|
496
|
+
displayName?: string | undefined;
|
|
390
497
|
}, {
|
|
391
498
|
first?: string | undefined;
|
|
392
499
|
last?: string | undefined;
|
|
500
|
+
displayName?: string | undefined;
|
|
393
501
|
}>>;
|
|
394
502
|
username: z.ZodOptional<z.ZodString>;
|
|
395
503
|
email: z.ZodOptional<z.ZodString>;
|
|
@@ -486,10 +594,38 @@ export declare const currentUserResponseSchema: z.ZodObject<{
|
|
|
486
594
|
*/
|
|
487
595
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
488
596
|
/**
|
|
489
|
-
*
|
|
490
|
-
*
|
|
491
|
-
|
|
492
|
-
|
|
597
|
+
* Account-graph classification — what KIND of account this is.
|
|
598
|
+
*
|
|
599
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
600
|
+
* which says where the account lives and how it is driven; the two
|
|
601
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
602
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
603
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
604
|
+
*
|
|
605
|
+
* Optional because a DTO produced from a source that never carried the
|
|
606
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
607
|
+
* default, not as unknown.
|
|
608
|
+
*/
|
|
609
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
610
|
+
/**
|
|
611
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
612
|
+
*
|
|
613
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
614
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
615
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
616
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
617
|
+
* otherwise reorder this array.
|
|
618
|
+
*
|
|
619
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
620
|
+
* comes from the reader's own translation catalogue, keyed
|
|
621
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
622
|
+
* profile in the language of whoever picked it.
|
|
623
|
+
*
|
|
624
|
+
* Absent when the account has none — which is every `personal` account,
|
|
625
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
626
|
+
* `user.accountCategories ?? []`.
|
|
627
|
+
*/
|
|
628
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
493
629
|
/**
|
|
494
630
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
495
631
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -539,10 +675,38 @@ export declare const currentUserResponseSchema: z.ZodObject<{
|
|
|
539
675
|
*/
|
|
540
676
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
541
677
|
/**
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
|
|
545
|
-
|
|
678
|
+
* Account-graph classification — what KIND of account this is.
|
|
679
|
+
*
|
|
680
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
681
|
+
* which says where the account lives and how it is driven; the two
|
|
682
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
683
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
684
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
685
|
+
*
|
|
686
|
+
* Optional because a DTO produced from a source that never carried the
|
|
687
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
688
|
+
* default, not as unknown.
|
|
689
|
+
*/
|
|
690
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
691
|
+
/**
|
|
692
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
693
|
+
*
|
|
694
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
695
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
696
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
697
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
698
|
+
* otherwise reorder this array.
|
|
699
|
+
*
|
|
700
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
701
|
+
* comes from the reader's own translation catalogue, keyed
|
|
702
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
703
|
+
* profile in the language of whoever picked it.
|
|
704
|
+
*
|
|
705
|
+
* Absent when the account has none — which is every `personal` account,
|
|
706
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
707
|
+
* `user.accountCategories ?? []`.
|
|
708
|
+
*/
|
|
709
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
546
710
|
/**
|
|
547
711
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
548
712
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -592,10 +756,38 @@ export declare const currentUserResponseSchema: z.ZodObject<{
|
|
|
592
756
|
*/
|
|
593
757
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
594
758
|
/**
|
|
595
|
-
*
|
|
596
|
-
*
|
|
597
|
-
|
|
598
|
-
|
|
759
|
+
* Account-graph classification — what KIND of account this is.
|
|
760
|
+
*
|
|
761
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
762
|
+
* which says where the account lives and how it is driven; the two
|
|
763
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
764
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
765
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
766
|
+
*
|
|
767
|
+
* Optional because a DTO produced from a source that never carried the
|
|
768
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
769
|
+
* default, not as unknown.
|
|
770
|
+
*/
|
|
771
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
772
|
+
/**
|
|
773
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
774
|
+
*
|
|
775
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
776
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
777
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
778
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
779
|
+
* otherwise reorder this array.
|
|
780
|
+
*
|
|
781
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
782
|
+
* comes from the reader's own translation catalogue, keyed
|
|
783
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
784
|
+
* profile in the language of whoever picked it.
|
|
785
|
+
*
|
|
786
|
+
* Absent when the account has none — which is every `personal` account,
|
|
787
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
788
|
+
* `user.accountCategories ?? []`.
|
|
789
|
+
*/
|
|
790
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
599
791
|
/**
|
|
600
792
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
601
793
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -613,9 +805,10 @@ export declare const currentUserResponseSchema: z.ZodObject<{
|
|
|
613
805
|
}, "strip", z.ZodTypeAny, {
|
|
614
806
|
data: {
|
|
615
807
|
name: UserNameResponse;
|
|
808
|
+
kind?: "personal" | "organization" | "project" | "bot" | "channel" | undefined;
|
|
616
809
|
username?: string | undefined;
|
|
617
810
|
avatar?: string | null | undefined;
|
|
618
|
-
|
|
811
|
+
accountCategories?: ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[] | undefined;
|
|
619
812
|
id?: string | undefined;
|
|
620
813
|
publicKey?: string | undefined;
|
|
621
814
|
did?: string | undefined;
|
|
@@ -636,9 +829,10 @@ export declare const currentUserResponseSchema: z.ZodObject<{
|
|
|
636
829
|
}, {
|
|
637
830
|
data: {
|
|
638
831
|
name: UserNameResponse;
|
|
832
|
+
kind?: "personal" | "organization" | "project" | "bot" | "channel" | undefined;
|
|
639
833
|
username?: string | undefined;
|
|
640
834
|
avatar?: string | null | undefined;
|
|
641
|
-
|
|
835
|
+
accountCategories?: ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[] | undefined;
|
|
642
836
|
id?: string | undefined;
|
|
643
837
|
publicKey?: string | undefined;
|
|
644
838
|
did?: string | undefined;
|
|
@@ -703,10 +897,38 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
|
|
|
703
897
|
*/
|
|
704
898
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
705
899
|
/**
|
|
706
|
-
*
|
|
707
|
-
*
|
|
708
|
-
|
|
709
|
-
|
|
900
|
+
* Account-graph classification — what KIND of account this is.
|
|
901
|
+
*
|
|
902
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
903
|
+
* which says where the account lives and how it is driven; the two
|
|
904
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
905
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
906
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
907
|
+
*
|
|
908
|
+
* Optional because a DTO produced from a source that never carried the
|
|
909
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
910
|
+
* default, not as unknown.
|
|
911
|
+
*/
|
|
912
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
913
|
+
/**
|
|
914
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
915
|
+
*
|
|
916
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
917
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
918
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
919
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
920
|
+
* otherwise reorder this array.
|
|
921
|
+
*
|
|
922
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
923
|
+
* comes from the reader's own translation catalogue, keyed
|
|
924
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
925
|
+
* profile in the language of whoever picked it.
|
|
926
|
+
*
|
|
927
|
+
* Absent when the account has none — which is every `personal` account,
|
|
928
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
929
|
+
* `user.accountCategories ?? []`.
|
|
930
|
+
*/
|
|
931
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
710
932
|
/**
|
|
711
933
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
712
934
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -756,10 +978,38 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
|
|
|
756
978
|
*/
|
|
757
979
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
758
980
|
/**
|
|
759
|
-
*
|
|
760
|
-
*
|
|
761
|
-
|
|
762
|
-
|
|
981
|
+
* Account-graph classification — what KIND of account this is.
|
|
982
|
+
*
|
|
983
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
984
|
+
* which says where the account lives and how it is driven; the two
|
|
985
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
986
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
987
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
988
|
+
*
|
|
989
|
+
* Optional because a DTO produced from a source that never carried the
|
|
990
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
991
|
+
* default, not as unknown.
|
|
992
|
+
*/
|
|
993
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
994
|
+
/**
|
|
995
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
996
|
+
*
|
|
997
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
998
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
999
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1000
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1001
|
+
* otherwise reorder this array.
|
|
1002
|
+
*
|
|
1003
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1004
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1005
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1006
|
+
* profile in the language of whoever picked it.
|
|
1007
|
+
*
|
|
1008
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1009
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1010
|
+
* `user.accountCategories ?? []`.
|
|
1011
|
+
*/
|
|
1012
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
763
1013
|
/**
|
|
764
1014
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
765
1015
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -809,10 +1059,38 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
|
|
|
809
1059
|
*/
|
|
810
1060
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
811
1061
|
/**
|
|
812
|
-
*
|
|
813
|
-
*
|
|
814
|
-
|
|
815
|
-
|
|
1062
|
+
* Account-graph classification — what KIND of account this is.
|
|
1063
|
+
*
|
|
1064
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1065
|
+
* which says where the account lives and how it is driven; the two
|
|
1066
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1067
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1068
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1069
|
+
*
|
|
1070
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1071
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1072
|
+
* default, not as unknown.
|
|
1073
|
+
*/
|
|
1074
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1075
|
+
/**
|
|
1076
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1077
|
+
*
|
|
1078
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1079
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1080
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1081
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1082
|
+
* otherwise reorder this array.
|
|
1083
|
+
*
|
|
1084
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1085
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1086
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1087
|
+
* profile in the language of whoever picked it.
|
|
1088
|
+
*
|
|
1089
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1090
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1091
|
+
* `user.accountCategories ?? []`.
|
|
1092
|
+
*/
|
|
1093
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
816
1094
|
/**
|
|
817
1095
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
818
1096
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -865,10 +1143,38 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
|
|
|
865
1143
|
*/
|
|
866
1144
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
867
1145
|
/**
|
|
868
|
-
*
|
|
869
|
-
*
|
|
870
|
-
|
|
871
|
-
|
|
1146
|
+
* Account-graph classification — what KIND of account this is.
|
|
1147
|
+
*
|
|
1148
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1149
|
+
* which says where the account lives and how it is driven; the two
|
|
1150
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1151
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1152
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1153
|
+
*
|
|
1154
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1155
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1156
|
+
* default, not as unknown.
|
|
1157
|
+
*/
|
|
1158
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1159
|
+
/**
|
|
1160
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1161
|
+
*
|
|
1162
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1163
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1164
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1165
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1166
|
+
* otherwise reorder this array.
|
|
1167
|
+
*
|
|
1168
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1169
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1170
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1171
|
+
* profile in the language of whoever picked it.
|
|
1172
|
+
*
|
|
1173
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1174
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1175
|
+
* `user.accountCategories ?? []`.
|
|
1176
|
+
*/
|
|
1177
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
872
1178
|
/**
|
|
873
1179
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
874
1180
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -922,10 +1228,38 @@ export declare const deviceLinkedSessionSchema: z.ZodObject<{
|
|
|
922
1228
|
*/
|
|
923
1229
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
924
1230
|
/**
|
|
925
|
-
*
|
|
926
|
-
*
|
|
927
|
-
|
|
928
|
-
|
|
1231
|
+
* Account-graph classification — what KIND of account this is.
|
|
1232
|
+
*
|
|
1233
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1234
|
+
* which says where the account lives and how it is driven; the two
|
|
1235
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1236
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1237
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1238
|
+
*
|
|
1239
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1240
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1241
|
+
* default, not as unknown.
|
|
1242
|
+
*/
|
|
1243
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1244
|
+
/**
|
|
1245
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1246
|
+
*
|
|
1247
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1248
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1249
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1250
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1251
|
+
* otherwise reorder this array.
|
|
1252
|
+
*
|
|
1253
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1254
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1255
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1256
|
+
* profile in the language of whoever picked it.
|
|
1257
|
+
*
|
|
1258
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1259
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1260
|
+
* `user.accountCategories ?? []`.
|
|
1261
|
+
*/
|
|
1262
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
929
1263
|
/**
|
|
930
1264
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
931
1265
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -983,10 +1317,38 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
|
|
|
983
1317
|
*/
|
|
984
1318
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
985
1319
|
/**
|
|
986
|
-
*
|
|
987
|
-
*
|
|
988
|
-
|
|
989
|
-
|
|
1320
|
+
* Account-graph classification — what KIND of account this is.
|
|
1321
|
+
*
|
|
1322
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1323
|
+
* which says where the account lives and how it is driven; the two
|
|
1324
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1325
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1326
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1327
|
+
*
|
|
1328
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1329
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1330
|
+
* default, not as unknown.
|
|
1331
|
+
*/
|
|
1332
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1333
|
+
/**
|
|
1334
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1335
|
+
*
|
|
1336
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1337
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1338
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1339
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1340
|
+
* otherwise reorder this array.
|
|
1341
|
+
*
|
|
1342
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1343
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1344
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1345
|
+
* profile in the language of whoever picked it.
|
|
1346
|
+
*
|
|
1347
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1348
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1349
|
+
* `user.accountCategories ?? []`.
|
|
1350
|
+
*/
|
|
1351
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
990
1352
|
/**
|
|
991
1353
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
992
1354
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -1036,10 +1398,38 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
|
|
|
1036
1398
|
*/
|
|
1037
1399
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
1038
1400
|
/**
|
|
1039
|
-
*
|
|
1040
|
-
*
|
|
1041
|
-
|
|
1042
|
-
|
|
1401
|
+
* Account-graph classification — what KIND of account this is.
|
|
1402
|
+
*
|
|
1403
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1404
|
+
* which says where the account lives and how it is driven; the two
|
|
1405
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1406
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1407
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1408
|
+
*
|
|
1409
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1410
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1411
|
+
* default, not as unknown.
|
|
1412
|
+
*/
|
|
1413
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1414
|
+
/**
|
|
1415
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1416
|
+
*
|
|
1417
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1418
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1419
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1420
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1421
|
+
* otherwise reorder this array.
|
|
1422
|
+
*
|
|
1423
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1424
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1425
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1426
|
+
* profile in the language of whoever picked it.
|
|
1427
|
+
*
|
|
1428
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1429
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1430
|
+
* `user.accountCategories ?? []`.
|
|
1431
|
+
*/
|
|
1432
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
1043
1433
|
/**
|
|
1044
1434
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
1045
1435
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -1089,10 +1479,38 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
|
|
|
1089
1479
|
*/
|
|
1090
1480
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
1091
1481
|
/**
|
|
1092
|
-
*
|
|
1093
|
-
*
|
|
1094
|
-
|
|
1095
|
-
|
|
1482
|
+
* Account-graph classification — what KIND of account this is.
|
|
1483
|
+
*
|
|
1484
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1485
|
+
* which says where the account lives and how it is driven; the two
|
|
1486
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1487
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1488
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1489
|
+
*
|
|
1490
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1491
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1492
|
+
* default, not as unknown.
|
|
1493
|
+
*/
|
|
1494
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1495
|
+
/**
|
|
1496
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1497
|
+
*
|
|
1498
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1499
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1500
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1501
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1502
|
+
* otherwise reorder this array.
|
|
1503
|
+
*
|
|
1504
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1505
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1506
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1507
|
+
* profile in the language of whoever picked it.
|
|
1508
|
+
*
|
|
1509
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1510
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1511
|
+
* `user.accountCategories ?? []`.
|
|
1512
|
+
*/
|
|
1513
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
1096
1514
|
/**
|
|
1097
1515
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
1098
1516
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -1145,10 +1563,38 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
|
|
|
1145
1563
|
*/
|
|
1146
1564
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
1147
1565
|
/**
|
|
1148
|
-
*
|
|
1149
|
-
*
|
|
1150
|
-
|
|
1151
|
-
|
|
1566
|
+
* Account-graph classification — what KIND of account this is.
|
|
1567
|
+
*
|
|
1568
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1569
|
+
* which says where the account lives and how it is driven; the two
|
|
1570
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1571
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1572
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1573
|
+
*
|
|
1574
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1575
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1576
|
+
* default, not as unknown.
|
|
1577
|
+
*/
|
|
1578
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1579
|
+
/**
|
|
1580
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1581
|
+
*
|
|
1582
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1583
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1584
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1585
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1586
|
+
* otherwise reorder this array.
|
|
1587
|
+
*
|
|
1588
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1589
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1590
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1591
|
+
* profile in the language of whoever picked it.
|
|
1592
|
+
*
|
|
1593
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1594
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1595
|
+
* `user.accountCategories ?? []`.
|
|
1596
|
+
*/
|
|
1597
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
1152
1598
|
/**
|
|
1153
1599
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
1154
1600
|
* on single-profile fetches (`GET /profiles/username/:username`,
|
|
@@ -1202,10 +1648,38 @@ export declare const deviceLinkedSessionsResponseSchema: z.ZodArray<z.ZodObject<
|
|
|
1202
1648
|
*/
|
|
1203
1649
|
verifiedDomains: z.ZodOptional<z.ZodArray<z.ZodType<import("./identity").VerifiedDomain, z.ZodTypeDef, import("./identity").VerifiedDomain>, "many">>;
|
|
1204
1650
|
/**
|
|
1205
|
-
*
|
|
1206
|
-
*
|
|
1207
|
-
|
|
1208
|
-
|
|
1651
|
+
* Account-graph classification — what KIND of account this is.
|
|
1652
|
+
*
|
|
1653
|
+
* ORTHOGONAL to `type` (`local` / `federated` / `agent` / `automated`),
|
|
1654
|
+
* which says where the account lives and how it is driven; the two
|
|
1655
|
+
* coexist and neither substitutes for the other. A `channel` is a
|
|
1656
|
+
* publishing identity nobody can act as, so a consumer that renders
|
|
1657
|
+
* authored content reads THIS to tell a channel's post from a person's.
|
|
1658
|
+
*
|
|
1659
|
+
* Optional because a DTO produced from a source that never carried the
|
|
1660
|
+
* column omits it; absent should be read as `personal`, the column's
|
|
1661
|
+
* default, not as unknown.
|
|
1662
|
+
*/
|
|
1663
|
+
kind: z.ZodOptional<z.ZodEnum<["personal", "organization", "project", "bot", "channel"]>>;
|
|
1664
|
+
/**
|
|
1665
|
+
* What this account is about — the field a profile screen RENDERS.
|
|
1666
|
+
*
|
|
1667
|
+
* **Ordered, primary first.** `accountCategories[0]` is the primary
|
|
1668
|
+
* category; there is deliberately no sibling `primaryCategory` field,
|
|
1669
|
+
* because two representations of one fact can disagree (see rule 2 in
|
|
1670
|
+
* `accountGraph.ts`). Nothing downstream may sort, de-duplicate or
|
|
1671
|
+
* otherwise reorder this array.
|
|
1672
|
+
*
|
|
1673
|
+
* **Ids, never labels.** Each element is a stable slug; the visible text
|
|
1674
|
+
* comes from the reader's own translation catalogue, keyed
|
|
1675
|
+
* `accounts.accountCategory.<id>`. A label on the wire would paint every
|
|
1676
|
+
* profile in the language of whoever picked it.
|
|
1677
|
+
*
|
|
1678
|
+
* Absent when the account has none — which is every `personal` account,
|
|
1679
|
+
* and any non-personal one that has not chosen. A renderer reads
|
|
1680
|
+
* `user.accountCategories ?? []`.
|
|
1681
|
+
*/
|
|
1682
|
+
accountCategories: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodEnum<["news", "politics", "business", "startup", "finance", "crypto", "marketplace", "retail", "real_estate", "agency", "landlord", "cooperative", "architecture", "technology", "software", "ai", "security", "automation", "science", "education", "books", "health", "fitness", "sports", "gaming", "music", "film", "podcast", "art", "photography", "comedy", "food", "travel", "fashion", "home_garden", "diy", "automotive", "animals", "family", "nonprofit", "government", "community", "activism", "environment", "religion", "other"]>, "many">, ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[], ("news" | "politics" | "business" | "startup" | "finance" | "crypto" | "marketplace" | "retail" | "real_estate" | "agency" | "landlord" | "cooperative" | "architecture" | "technology" | "software" | "ai" | "security" | "automation" | "science" | "education" | "books" | "health" | "fitness" | "sports" | "gaming" | "music" | "film" | "podcast" | "art" | "photography" | "comedy" | "food" | "travel" | "fashion" | "home_garden" | "diy" | "automotive" | "animals" | "family" | "nonprofit" | "government" | "community" | "activism" | "environment" | "religion" | "other")[]>>;
|
|
1209
1683
|
/**
|
|
1210
1684
|
* The authenticated viewer's relationship to this profile. Present ONLY
|
|
1211
1685
|
* on single-profile fetches (`GET /profiles/username/:username`,
|