@singi-labs/sifa-sdk 0.11.21 → 0.11.23

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.
@@ -1,278 +1,42 @@
1
+ export { E as EndorsementConfirmationRecord, a as EndorsementConfirmationRecordSchema, b as EndorsementRecord, c as EndorsementRecordSchema, G as GraphFollowRecord, d as GraphFollowRecordSchema, P as PresentationDuration, e as PresentationDurationSchema, f as PresentationLink, g as PresentationLinkSchema, h as ProfileCertificationRecord, i as ProfileCertificationRecordSchema, j as ProfileCourseRecord, k as ProfileCourseRecordSchema, l as ProfileEducationRecord, m as ProfileEducationRecordSchema, n as ProfileExternalAccountRecord, o as ProfileExternalAccountRecordSchema, p as ProfileHonorRecord, q as ProfileHonorRecordSchema, r as ProfileLanguageRecord, s as ProfileLanguageRecordSchema, t as ProfilePositionRecord, u as ProfilePositionRecordSchema, v as ProfilePresentationDeliveryRecord, w as ProfilePresentationDeliveryRecordSchema, x as ProfilePresentationRecord, y as ProfilePresentationRecordSchema, z as ProfileProjectRecord, A as ProfileProjectRecordSchema, B as ProfilePublicationRecord, C as ProfilePublicationRecordSchema, D as ProfileSelfRecord, F as ProfileSelfRecordSchema, H as ProfileSkillRecord, I as ProfileSkillRecordSchema, J as ProfileVolunteeringRecord, K as ProfileVolunteeringRecordSchema, L as PublicationAuthor, M as PublicationAuthorSchema, N as atUriSchema, O as cidSchema, Q as datetimeSchema, R as didSchema, S as externalRecordRefSchema, T as languageTagSchema, U as makeGraphFollowRecordSchema, V as maxGraphemes, W as selfLabelsSchema, X as strongRefSchema, Y as uriSchema } from '../shared-CHCY7Lst.cjs';
2
+ export { A as AtmosphereFeedItem, a as AtmosphereFeedItemSchema, E as EntityImportSearchResponse, b as EntityImportSearchResponseSchema, c as EntitySearchResponse, d as EntitySearchResponseSchema, e as EntitySearchResult, f as EntitySearchResultSchema, g as EntitySelectRequest, h as EntitySelectRequestSchema, i as EntitySelectResponse, j as EntitySelectResponseSchema, F as FEATURE_FLAGS, k as FeatureAllowlistEntry, l as FeatureAllowlistEntrySchema, m as FeatureFlag, n as FeedActor, o as FeedActorSchema, p as FeedCursor, q as FollowFeedItem, r as FollowFeedItemSchema, s as FollowFeedPage, t as FollowFeedPageSchema, u as FollowProfileItem, v as FollowProfilePage, w as FollowProfilePageSchema, x as FollowProfileSchema, S as SifaFeedItem, y as SifaFeedItemSchema, z as decodeFeedCursor, B as encodeFeedCursor } from '../feed-DMWCGvKv.cjs';
1
3
  import { z } from 'zod';
2
- export { A as AtmosphereFeedItem, d as AtmosphereFeedItemSchema, e as EntityImportSearchResponse, f as EntityImportSearchResponseSchema, g as EntitySearchResponse, h as EntitySearchResponseSchema, E as EntitySearchResult, i as EntitySearchResultSchema, j as EntitySelectRequest, k as EntitySelectRequestSchema, l as EntitySelectResponse, m as EntitySelectResponseSchema, n as FEATURE_FLAGS, b as FeatureAllowlistEntry, o as FeatureAllowlistEntrySchema, c as FeatureFlag, p as FeedActor, q as FeedActorSchema, r as FeedCursor, s as FollowFeedItem, t as FollowFeedItemSchema, F as FollowFeedPage, u as FollowFeedPageSchema, a as FollowProfileItem, v as FollowProfilePage, w as FollowProfilePageSchema, x as FollowProfileSchema, S as SifaFeedItem, y as SifaFeedItemSchema, z as decodeFeedCursor, B as encodeFeedCursor } from '../feed-BaHtJXYR.cjs';
3
4
 
5
+ /** Collection NSID for involvement records. Pass to the generic record helpers. */
6
+ declare const PROFILE_INVOLVEMENT_NSID = "id.sifa.profile.involvement";
4
7
  /**
5
- * Duration of a presentation, in minutes. Mirrors
6
- * `id.sifa.profile.presentation#duration`: a fixed length (minMinutes only) or
7
- * a range (minMinutes to maxMinutes).
8
+ * A public artifact proving a piece of work. Mirrors `id.sifa.defs#artifactLink`.
9
+ * `kind` is an open enum (bare-string knownValues), so any string is accepted.
10
+ * `.passthrough()` keeps unknown fields a newer client or co-writer may emit.
8
11
  */
9
- declare const PresentationDurationSchema: z.ZodObject<{
10
- minMinutes: z.ZodNumber;
11
- maxMinutes: z.ZodOptional<z.ZodNumber>;
12
- }, z.core.$strip>;
13
- type PresentationDuration = z.infer<typeof PresentationDurationSchema>;
14
- /**
15
- * A related link for a presentation or one of its deliveries. Mirrors
16
- * `id.sifa.defs#presentationLink`. `type` is an open enum (knownValues), so any
17
- * string is accepted.
18
- */
19
- declare const PresentationLinkSchema: z.ZodObject<{
20
- uri: z.ZodString;
21
- label: z.ZodOptional<z.ZodString>;
22
- type: z.ZodOptional<z.ZodString>;
23
- }, z.core.$strip>;
24
- type PresentationLink = z.infer<typeof PresentationLinkSchema>;
25
- /** Zod schema for `id.sifa.profile.presentation` records (the reusable content). */
26
- declare const ProfilePresentationRecordSchema: z.ZodObject<{
27
- title: z.ZodString;
28
- description: z.ZodOptional<z.ZodString>;
29
- duration: z.ZodOptional<z.ZodObject<{
30
- minMinutes: z.ZodNumber;
31
- maxMinutes: z.ZodOptional<z.ZodNumber>;
32
- }, z.core.$strip>>;
33
- intendedAudiences: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
- links: z.ZodOptional<z.ZodArray<z.ZodObject<{
35
- uri: z.ZodString;
36
- label: z.ZodOptional<z.ZodString>;
37
- type: z.ZodOptional<z.ZodString>;
38
- }, z.core.$strip>>>;
39
- writeupRef: z.ZodOptional<z.ZodObject<{
40
- uri: z.ZodString;
41
- cid: z.ZodOptional<z.ZodString>;
42
- }, z.core.$strip>>;
43
- createdAt: z.ZodString;
44
- }, z.core.$strip>;
45
- type ProfilePresentationRecord = z.infer<typeof ProfilePresentationRecordSchema>;
46
-
47
- /**
48
- * Zod schema for `id.sifa.endorsement.confirmation` records.
49
- * Lives in the endorsee's PDS to approve display of an endorsement.
50
- */
51
- declare const EndorsementConfirmationRecordSchema: z.ZodObject<{
52
- endorsement: z.ZodObject<{
53
- uri: z.ZodString;
54
- cid: z.ZodString;
55
- }, z.core.$strip>;
56
- createdAt: z.ZodString;
57
- }, z.core.$strip>;
58
- type EndorsementConfirmationRecord = z.infer<typeof EndorsementConfirmationRecordSchema>;
59
-
60
- /**
61
- * Zod schema for `id.sifa.endorsement` records. Lives in the endorser's PDS;
62
- * the endorser identity is implicit (whoever owns the repository).
63
- */
64
- declare const EndorsementRecordSchema: z.ZodObject<{
65
- subject: z.ZodString;
66
- skill: z.ZodObject<{
67
- uri: z.ZodString;
68
- cid: z.ZodString;
69
- }, z.core.$strip>;
70
- skillName: z.ZodString;
71
- comment: z.ZodOptional<z.ZodString>;
72
- createdAt: z.ZodString;
73
- }, z.core.$strip>;
74
- type EndorsementRecord = z.infer<typeof EndorsementRecordSchema>;
75
-
76
- /**
77
- * Zod schema for `id.sifa.graph.follow` records.
78
- *
79
- * One-way professional follow; the record lives in the follower's PDS. Per
80
- * iter-1 decisions (`plans/2026-06-01-in-sifa-follow-primitive.md`), this is
81
- * a **distinct** graph from `app.bsky.graph.follow`, not a superset — but
82
- * the required field shape (`subject` + `createdAt`) is intentionally
83
- * identical so generic Bluesky `listRecords` consumers get usable records.
84
- *
85
- * `note` is a Sifa addition: an optional reason for the follow ("why I
86
- * followed"). Capped at 200 graphemes to match other profile-flavored
87
- * lexicon fields.
88
- */
89
- declare const GraphFollowRecordSchema: z.ZodObject<{
90
- subject: z.ZodString;
91
- createdAt: z.ZodString;
92
- note: z.ZodOptional<z.ZodString>;
93
- }, z.core.$strip>;
94
- type GraphFollowRecord = z.infer<typeof GraphFollowRecordSchema>;
95
- /**
96
- * Build a `GraphFollowRecordSchema` that rejects self-follow at the Zod
97
- * layer (CLAUDE.md mandatory standards #3 — input validation; sifa-api#673
98
- * E8 — defence in depth).
99
- *
100
- * Use this on the **client side** when constructing a new follow record
101
- * (the follower DID is the authenticated user). The plain
102
- * {@link GraphFollowRecordSchema} stays without the refine so firehose
103
- * consumers can validate records without context.
104
- */
105
- declare function makeGraphFollowRecordSchema(followerDid: string): z.ZodObject<{
106
- subject: z.ZodString;
107
- createdAt: z.ZodString;
108
- note: z.ZodOptional<z.ZodString>;
109
- }, z.core.$strip>;
110
-
111
- /** Zod schema for `id.sifa.profile.certification` records. */
112
- declare const ProfileCertificationRecordSchema: z.ZodObject<{
113
- name: z.ZodString;
114
- authority: z.ZodOptional<z.ZodString>;
115
- authorityDid: z.ZodOptional<z.ZodString>;
116
- credentialId: z.ZodOptional<z.ZodString>;
117
- credentialUrl: z.ZodOptional<z.ZodString>;
118
- issuedAt: z.ZodOptional<z.ZodString>;
119
- expiresAt: z.ZodOptional<z.ZodString>;
120
- labels: z.ZodOptional<z.ZodObject<{
121
- $type: z.ZodOptional<z.ZodLiteral<"com.atproto.label.defs#selfLabels">>;
122
- values: z.ZodArray<z.ZodObject<{
123
- val: z.ZodString;
124
- }, z.core.$strip>>;
125
- }, z.core.$strip>>;
126
- createdAt: z.ZodString;
127
- }, z.core.$strip>;
128
- type ProfileCertificationRecord = z.infer<typeof ProfileCertificationRecordSchema>;
129
-
130
- /** Zod schema for `id.sifa.profile.course` records. */
131
- declare const ProfileCourseRecordSchema: z.ZodObject<{
132
- name: z.ZodString;
133
- number: z.ZodOptional<z.ZodString>;
134
- institution: z.ZodOptional<z.ZodString>;
135
- education: z.ZodOptional<z.ZodObject<{
136
- uri: z.ZodString;
137
- cid: z.ZodString;
138
- }, z.core.$strip>>;
139
- credential: z.ZodOptional<z.ZodString>;
140
- createdAt: z.ZodString;
141
- }, z.core.$strip>;
142
- type ProfileCourseRecord = z.infer<typeof ProfileCourseRecordSchema>;
143
-
144
- /** Zod schema for `id.sifa.profile.education` records. */
145
- declare const ProfileEducationRecordSchema: z.ZodObject<{
146
- institution: z.ZodString;
147
- institutionDid: z.ZodOptional<z.ZodString>;
148
- degree: z.ZodOptional<z.ZodString>;
149
- fieldOfStudy: z.ZodOptional<z.ZodString>;
150
- grade: z.ZodOptional<z.ZodString>;
151
- activities: z.ZodOptional<z.ZodString>;
152
- description: z.ZodOptional<z.ZodString>;
153
- location: z.ZodOptional<z.ZodUnknown>;
154
- startedAt: z.ZodOptional<z.ZodString>;
155
- endedAt: z.ZodOptional<z.ZodString>;
156
- labels: z.ZodOptional<z.ZodObject<{
157
- $type: z.ZodOptional<z.ZodLiteral<"com.atproto.label.defs#selfLabels">>;
158
- values: z.ZodArray<z.ZodObject<{
159
- val: z.ZodString;
160
- }, z.core.$strip>>;
161
- }, z.core.$strip>>;
162
- createdAt: z.ZodString;
163
- }, z.core.$strip>;
164
- type ProfileEducationRecord = z.infer<typeof ProfileEducationRecordSchema>;
165
-
166
- /**
167
- * Zod schema for `id.sifa.profile.externalAccount` records.
168
- *
169
- * `platform` is advisory (`knownValues` in the lexicon) -- known values live
170
- * under `id.sifa.defs#platform*` but unknown values are accepted.
171
- */
172
- declare const ProfileExternalAccountRecordSchema: z.ZodObject<{
173
- platform: z.ZodString;
12
+ declare const ArtifactLinkSchema: z.ZodObject<{
174
13
  url: z.ZodString;
14
+ kind: z.ZodOptional<z.ZodString>;
175
15
  label: z.ZodOptional<z.ZodString>;
176
- feedUrl: z.ZodOptional<z.ZodString>;
177
- isPrimary: z.ZodOptional<z.ZodBoolean>;
178
- createdAt: z.ZodString;
179
- }, z.core.$strip>;
180
- type ProfileExternalAccountRecord = z.infer<typeof ProfileExternalAccountRecordSchema>;
181
-
182
- /** Zod schema for `id.sifa.profile.honor` records. */
183
- declare const ProfileHonorRecordSchema: z.ZodObject<{
184
- title: z.ZodString;
185
- issuer: z.ZodOptional<z.ZodString>;
186
- issuerDid: z.ZodOptional<z.ZodString>;
187
- description: z.ZodOptional<z.ZodString>;
188
- awardedAt: z.ZodOptional<z.ZodString>;
189
- createdAt: z.ZodString;
190
- }, z.core.$strip>;
191
- type ProfileHonorRecord = z.infer<typeof ProfileHonorRecordSchema>;
192
-
16
+ }, z.core.$loose>;
17
+ type ArtifactLink = z.infer<typeof ArtifactLinkSchema>;
193
18
  /**
194
- * Zod schema for `id.sifa.profile.language` records.
19
+ * Zod schema for `id.sifa.profile.involvement` records.
195
20
  *
196
- * `proficiency` is advisory (`knownValues` in the lexicon) -- known values
197
- * are the five-level LinkedIn-compatible scale under `id.sifa.defs#*`.
198
- */
199
- declare const ProfileLanguageRecordSchema: z.ZodObject<{
200
- name: z.ZodString;
201
- proficiency: z.ZodOptional<z.ZodString>;
202
- createdAt: z.ZodString;
203
- }, z.core.$strip>;
204
- type ProfileLanguageRecord = z.infer<typeof ProfileLanguageRecordSchema>;
205
-
206
- /** Zod schema for `id.sifa.profile.position` records. */
207
- declare const ProfilePositionRecordSchema: z.ZodObject<{
208
- company: z.ZodOptional<z.ZodString>;
209
- companyDid: z.ZodOptional<z.ZodString>;
210
- entityRef: z.ZodOptional<z.ZodString>;
211
- title: z.ZodString;
212
- description: z.ZodOptional<z.ZodString>;
213
- employmentType: z.ZodOptional<z.ZodString>;
214
- workplaceType: z.ZodOptional<z.ZodString>;
215
- location: z.ZodOptional<z.ZodUnknown>;
216
- startedAt: z.ZodString;
217
- endedAt: z.ZodOptional<z.ZodString>;
218
- skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
219
- uri: z.ZodString;
220
- cid: z.ZodString;
221
- }, z.core.$strip>>>;
222
- labels: z.ZodOptional<z.ZodObject<{
223
- $type: z.ZodOptional<z.ZodLiteral<"com.atproto.label.defs#selfLabels">>;
224
- values: z.ZodArray<z.ZodObject<{
225
- val: z.ZodString;
226
- }, z.core.$strip>>;
227
- }, z.core.$strip>>;
228
- createdAt: z.ZodString;
229
- }, z.core.$strip>;
230
- type ProfilePositionRecord = z.infer<typeof ProfilePositionRecordSchema>;
231
-
232
- /**
233
- * Zod schema for `id.sifa.profile.presentationDelivery` records (one occasion
234
- * on which a presentation was delivered). Works standalone or linked to a
235
- * presentation and/or a calendar event. `role`, `mode`, and `status` are open
236
- * enums (knownValues); `mode`/`status` store the full
237
- * `community.lexicon.calendar.event` token.
238
- */
239
- declare const ProfilePresentationDeliveryRecordSchema: z.ZodObject<{
240
- presentationRef: z.ZodOptional<z.ZodObject<{
241
- uri: z.ZodString;
242
- cid: z.ZodOptional<z.ZodString>;
243
- }, z.core.$strip>>;
244
- title: z.ZodOptional<z.ZodString>;
21
+ * `.passthrough()` (not `.strict()`): external apps (Verak, weareonhire)
22
+ * co-write `id.sifa.*`, so an older SDK must not reject a record carrying a
23
+ * field it doesn't know yet. `kind` is an open enum matching the lexicon's
24
+ * knownValues but accepting any string for the same forward-compat reason.
25
+ */
26
+ declare const ProfileInvolvementRecordSchema: z.ZodObject<{
27
+ kind: z.ZodString;
28
+ upstream: z.ZodOptional<z.ZodString>;
29
+ upstreamDid: z.ZodOptional<z.ZodString>;
30
+ upstreamUrl: z.ZodOptional<z.ZodString>;
245
31
  role: z.ZodOptional<z.ZodString>;
246
- eventName: z.ZodOptional<z.ZodString>;
247
- date: z.ZodOptional<z.ZodString>;
248
- location: z.ZodOptional<z.ZodString>;
249
- mode: z.ZodOptional<z.ZodString>;
250
- status: z.ZodOptional<z.ZodString>;
251
- links: z.ZodOptional<z.ZodArray<z.ZodObject<{
252
- uri: z.ZodString;
253
- label: z.ZodOptional<z.ZodString>;
254
- type: z.ZodOptional<z.ZodString>;
255
- }, z.core.$strip>>>;
256
- eventRef: z.ZodOptional<z.ZodObject<{
257
- uri: z.ZodString;
258
- cid: z.ZodOptional<z.ZodString>;
259
- }, z.core.$strip>>;
260
- coSpeakers: z.ZodOptional<z.ZodArray<z.ZodString>>;
261
- createdAt: z.ZodString;
262
- }, z.core.$strip>;
263
- type ProfilePresentationDeliveryRecord = z.infer<typeof ProfilePresentationDeliveryRecordSchema>;
264
-
265
- /** Zod schema for `id.sifa.profile.project` records. */
266
- declare const ProfileProjectRecordSchema: z.ZodObject<{
267
- name: z.ZodString;
268
32
  description: z.ZodOptional<z.ZodString>;
269
- url: z.ZodOptional<z.ZodString>;
270
- position: z.ZodOptional<z.ZodObject<{
271
- uri: z.ZodString;
272
- cid: z.ZodString;
273
- }, z.core.$strip>>;
274
33
  startedAt: z.ZodOptional<z.ZodString>;
275
34
  endedAt: z.ZodOptional<z.ZodString>;
35
+ links: z.ZodOptional<z.ZodArray<z.ZodObject<{
36
+ url: z.ZodString;
37
+ kind: z.ZodOptional<z.ZodString>;
38
+ label: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$loose>>>;
276
40
  labels: z.ZodOptional<z.ZodObject<{
277
41
  $type: z.ZodOptional<z.ZodLiteral<"com.atproto.label.defs#selfLabels">>;
278
42
  values: z.ZodArray<z.ZodObject<{
@@ -280,133 +44,7 @@ declare const ProfileProjectRecordSchema: z.ZodObject<{
280
44
  }, z.core.$strip>>;
281
45
  }, z.core.$strip>>;
282
46
  createdAt: z.ZodString;
283
- }, z.core.$strip>;
284
- type ProfileProjectRecord = z.infer<typeof ProfileProjectRecordSchema>;
285
-
286
- /** Author shape from `id.sifa.profile.publication#author`. */
287
- declare const PublicationAuthorSchema: z.ZodObject<{
288
- name: z.ZodString;
289
- did: z.ZodOptional<z.ZodString>;
290
- }, z.core.$strip>;
291
- type PublicationAuthor = z.infer<typeof PublicationAuthorSchema>;
292
- /** Zod schema for `id.sifa.profile.publication` records. */
293
- declare const ProfilePublicationRecordSchema: z.ZodObject<{
294
- title: z.ZodString;
295
- subtitle: z.ZodOptional<z.ZodString>;
296
- publisher: z.ZodOptional<z.ZodString>;
297
- url: z.ZodOptional<z.ZodString>;
298
- description: z.ZodOptional<z.ZodString>;
299
- authors: z.ZodOptional<z.ZodArray<z.ZodObject<{
300
- name: z.ZodString;
301
- did: z.ZodOptional<z.ZodString>;
302
- }, z.core.$strip>>>;
303
- publishedAt: z.ZodOptional<z.ZodString>;
304
- createdAt: z.ZodString;
305
- }, z.core.$strip>;
306
- type ProfilePublicationRecord = z.infer<typeof ProfilePublicationRecordSchema>;
307
-
308
- /**
309
- * Zod schema for `id.sifa.profile.self` records. Singleton (record key `self`).
310
- *
311
- * `knownValues` on `openTo` and `preferredWorkplace` are advisory per the
312
- * lexicon spec -- unknown values are allowed, but documented options live
313
- * under the `id.sifa.defs#*` namespace.
314
- */
315
- declare const ProfileSelfRecordSchema: z.ZodObject<{
316
- headline: z.ZodOptional<z.ZodString>;
317
- about: z.ZodOptional<z.ZodString>;
318
- industry: z.ZodOptional<z.ZodString>;
319
- givenName: z.ZodOptional<z.ZodString>;
320
- familyName: z.ZodOptional<z.ZodString>;
321
- location: z.ZodOptional<z.ZodUnknown>;
322
- openTo: z.ZodOptional<z.ZodArray<z.ZodString>>;
323
- preferredWorkplace: z.ZodOptional<z.ZodArray<z.ZodString>>;
324
- langs: z.ZodOptional<z.ZodArray<z.ZodString>>;
325
- labels: z.ZodOptional<z.ZodObject<{
326
- $type: z.ZodOptional<z.ZodLiteral<"com.atproto.label.defs#selfLabels">>;
327
- values: z.ZodArray<z.ZodObject<{
328
- val: z.ZodString;
329
- }, z.core.$strip>>;
330
- }, z.core.$strip>>;
331
- discoverable: z.ZodOptional<z.ZodBoolean>;
332
- createdAt: z.ZodString;
333
- }, z.core.$strip>;
334
- type ProfileSelfRecord = z.infer<typeof ProfileSelfRecordSchema>;
335
-
336
- /**
337
- * Zod schema for `id.sifa.profile.skill` records.
338
- *
339
- * `category` is advisory (`knownValues` in the lexicon) -- known values live
340
- * under `id.sifa.defs#*` but unknown values are accepted.
341
- */
342
- declare const ProfileSkillRecordSchema: z.ZodObject<{
343
- name: z.ZodString;
344
- category: z.ZodOptional<z.ZodString>;
345
- createdAt: z.ZodString;
346
- }, z.core.$strip>;
347
- type ProfileSkillRecord = z.infer<typeof ProfileSkillRecordSchema>;
348
-
349
- /** Zod schema for `id.sifa.profile.volunteering` records. */
350
- declare const ProfileVolunteeringRecordSchema: z.ZodObject<{
351
- organization: z.ZodString;
352
- organizationDid: z.ZodOptional<z.ZodString>;
353
- role: z.ZodOptional<z.ZodString>;
354
- cause: z.ZodOptional<z.ZodString>;
355
- description: z.ZodOptional<z.ZodString>;
356
- startedAt: z.ZodOptional<z.ZodString>;
357
- endedAt: z.ZodOptional<z.ZodString>;
358
- createdAt: z.ZodString;
359
- }, z.core.$strip>;
360
- type ProfileVolunteeringRecord = z.infer<typeof ProfileVolunteeringRecordSchema>;
361
-
362
- /**
363
- * Grapheme-aware refinement matching the AT Protocol lexicon `maxGraphemes`
364
- * constraint. JS strings are sequences of UTF-16 code units, but lexicon
365
- * `maxGraphemes` counts user-perceived characters (grapheme clusters), so
366
- * emoji sequences, regional indicators, ZWJ joins, and combining marks all
367
- * count as one unit each. We use `Intl.Segmenter` to enforce this correctly.
368
- */
369
- declare function maxGraphemes(max: number): (value: string) => boolean;
370
- /** Decentralized identifier, AT Protocol `format: did`. */
371
- declare const didSchema: z.ZodString;
372
- /** RFC 3339 datetime with timezone offset, AT Protocol `format: datetime`. */
373
- declare const datetimeSchema: z.ZodString;
374
- /** Generic AT-URI, AT Protocol `format: at-uri`. */
375
- declare const atUriSchema: z.ZodString;
376
- /** Content identifier, AT Protocol `format: cid`. Loose validation -- accepts CIDv0 and CIDv1. */
377
- declare const cidSchema: z.ZodString;
378
- /** BCP 47 language tag, AT Protocol `format: language`. */
379
- declare const languageTagSchema: z.ZodString;
380
- /** Generic URI, AT Protocol `format: uri`. */
381
- declare const uriSchema: z.ZodString;
382
- /**
383
- * StrongRef shape from `com.atproto.repo.strongRef` -- pins a record by both
384
- * AT-URI (identity) and CID (version).
385
- */
386
- declare const strongRefSchema: z.ZodObject<{
387
- uri: z.ZodString;
388
- cid: z.ZodString;
389
- }, z.core.$strip>;
390
- /**
391
- * Reference to a record by AT-URI, with an optional CID. Mirrors
392
- * `id.sifa.defs#externalRecordRef`. Unlike a strongRef the CID is optional:
393
- * consumers resolve the AT-URI live so the reference tracks edits to the
394
- * target, and the CID is a best-effort integrity hint only.
395
- */
396
- declare const externalRecordRefSchema: z.ZodObject<{
397
- uri: z.ZodString;
398
- cid: z.ZodOptional<z.ZodString>;
399
- }, z.core.$strip>;
400
- /**
401
- * Self-labels shape from `com.atproto.label.defs#selfLabels`. Modelled
402
- * permissively because clients rarely construct this directly; the AppView
403
- * handles label validation.
404
- */
405
- declare const selfLabelsSchema: z.ZodObject<{
406
- $type: z.ZodOptional<z.ZodLiteral<"com.atproto.label.defs#selfLabels">>;
407
- values: z.ZodArray<z.ZodObject<{
408
- val: z.ZodString;
409
- }, z.core.$strip>>;
410
- }, z.core.$strip>;
47
+ }, z.core.$loose>;
48
+ type ProfileInvolvementRecord = z.infer<typeof ProfileInvolvementRecordSchema>;
411
49
 
412
- export { type EndorsementConfirmationRecord, EndorsementConfirmationRecordSchema, type EndorsementRecord, EndorsementRecordSchema, type GraphFollowRecord, GraphFollowRecordSchema, type PresentationDuration, PresentationDurationSchema, type PresentationLink, PresentationLinkSchema, type ProfileCertificationRecord, ProfileCertificationRecordSchema, type ProfileCourseRecord, ProfileCourseRecordSchema, type ProfileEducationRecord, ProfileEducationRecordSchema, type ProfileExternalAccountRecord, ProfileExternalAccountRecordSchema, type ProfileHonorRecord, ProfileHonorRecordSchema, type ProfileLanguageRecord, ProfileLanguageRecordSchema, type ProfilePositionRecord, ProfilePositionRecordSchema, type ProfilePresentationDeliveryRecord, ProfilePresentationDeliveryRecordSchema, type ProfilePresentationRecord, ProfilePresentationRecordSchema, type ProfileProjectRecord, ProfileProjectRecordSchema, type ProfilePublicationRecord, ProfilePublicationRecordSchema, type ProfileSelfRecord, ProfileSelfRecordSchema, type ProfileSkillRecord, ProfileSkillRecordSchema, type ProfileVolunteeringRecord, ProfileVolunteeringRecordSchema, type PublicationAuthor, PublicationAuthorSchema, atUriSchema, cidSchema, datetimeSchema, didSchema, externalRecordRefSchema, languageTagSchema, makeGraphFollowRecordSchema, maxGraphemes, selfLabelsSchema, strongRefSchema, uriSchema };
50
+ export { type ArtifactLink, ArtifactLinkSchema, PROFILE_INVOLVEMENT_NSID, type ProfileInvolvementRecord, ProfileInvolvementRecordSchema };