@singi-labs/sifa-sdk 0.19.46 → 0.19.47
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/index.cjs +14 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +30 -24
- package/dist/index.d.ts +30 -24
- package/dist/index.js +1 -1
- package/dist/stream/index.js +1 -1
- package/dist/stream/index.js.map +1 -1
- package/dist/stream/stream-card-vm-schema.js +1 -1
- package/dist/stream/stream-card-vm-schema.js.map +1 -1
- package/dist/stream/verb-schema.js +8 -0
- package/dist/stream/verb-schema.js.map +1 -0
- package/dist/stream/verbs.js +6 -12
- package/dist/stream/verbs.js.map +1 -1
- package/dist/taxonomy/activity-tiers.js +6 -24
- package/dist/taxonomy/activity-tiers.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1827,7 +1827,36 @@ interface ActivityItem {
|
|
|
1827
1827
|
*/
|
|
1828
1828
|
declare const STREAM_VERBS: readonly ["posted", "reposted", "published", "presented", "endorsed", "joined", "shipped", "reviewed", "created", "commented", "replied", "rsvped", "liked", "followed", "bookmarked", "registered", "annotated", "streamed", "wrote", "wasAt", "metWith", "supported", "verified", "received", "styledCharacter"];
|
|
1829
1829
|
type StreamVerb = (typeof STREAM_VERBS)[number];
|
|
1830
|
-
|
|
1830
|
+
interface ActivityVerbMap {
|
|
1831
|
+
version: string;
|
|
1832
|
+
updated: string;
|
|
1833
|
+
/** Verb returned for any collection not present in `verbs`. */
|
|
1834
|
+
defaultVerb: StreamVerb;
|
|
1835
|
+
/** Verb keyed by lexicon NSID. */
|
|
1836
|
+
verbs: Record<string, StreamVerb>;
|
|
1837
|
+
}
|
|
1838
|
+
/**
|
|
1839
|
+
* The verb map, keyed by lexicon NSID. Versioned independently from
|
|
1840
|
+
* `activity-tiers.json` so tier and verb evolve on their own cadence.
|
|
1841
|
+
*/
|
|
1842
|
+
declare const ACTIVITY_VERBS: Readonly<ActivityVerbMap>;
|
|
1843
|
+
/**
|
|
1844
|
+
* Returns the {@link StreamVerb} for an AT Protocol collection NSID. Unknown
|
|
1845
|
+
* or empty collections fall back to the map's `defaultVerb` (`created`).
|
|
1846
|
+
*/
|
|
1847
|
+
declare function verbForCollection(collection: string): StreamVerb;
|
|
1848
|
+
/** Verb-map version + updated date, for diagnostics and version-skew checks. */
|
|
1849
|
+
declare function getActivityVerbsVersion(): {
|
|
1850
|
+
version: string;
|
|
1851
|
+
updated: string;
|
|
1852
|
+
};
|
|
1853
|
+
|
|
1854
|
+
/**
|
|
1855
|
+
* Zod enum for a {@link StreamVerb}, shared with the view-model schema.
|
|
1856
|
+
*
|
|
1857
|
+
* Kept apart from `verbs.ts` so code that only maps collections to verbs does
|
|
1858
|
+
* not load zod.
|
|
1859
|
+
*/
|
|
1831
1860
|
declare const streamVerbSchema: z.ZodEnum<{
|
|
1832
1861
|
verified: "verified";
|
|
1833
1862
|
created: "created";
|
|
@@ -1855,29 +1884,6 @@ declare const streamVerbSchema: z.ZodEnum<{
|
|
|
1855
1884
|
liked: "liked";
|
|
1856
1885
|
followed: "followed";
|
|
1857
1886
|
}>;
|
|
1858
|
-
interface ActivityVerbMap {
|
|
1859
|
-
version: string;
|
|
1860
|
-
updated: string;
|
|
1861
|
-
/** Verb returned for any collection not present in `verbs`. */
|
|
1862
|
-
defaultVerb: StreamVerb;
|
|
1863
|
-
/** Verb keyed by lexicon NSID. */
|
|
1864
|
-
verbs: Record<string, StreamVerb>;
|
|
1865
|
-
}
|
|
1866
|
-
/**
|
|
1867
|
-
* The verb map, keyed by lexicon NSID. Versioned independently from
|
|
1868
|
-
* `activity-tiers.json` so tier and verb evolve on their own cadence.
|
|
1869
|
-
*/
|
|
1870
|
-
declare const ACTIVITY_VERBS: Readonly<ActivityVerbMap>;
|
|
1871
|
-
/**
|
|
1872
|
-
* Returns the {@link StreamVerb} for an AT Protocol collection NSID. Unknown
|
|
1873
|
-
* or empty collections fall back to the map's `defaultVerb` (`created`).
|
|
1874
|
-
*/
|
|
1875
|
-
declare function verbForCollection(collection: string): StreamVerb;
|
|
1876
|
-
/** Verb-map version + updated date, for diagnostics and version-skew checks. */
|
|
1877
|
-
declare function getActivityVerbsVersion(): {
|
|
1878
|
-
version: string;
|
|
1879
|
-
updated: string;
|
|
1880
|
-
};
|
|
1881
1887
|
|
|
1882
1888
|
/**
|
|
1883
1889
|
* The app a stream item originated from, resolved from the app registry.
|
package/dist/index.d.ts
CHANGED
|
@@ -1827,7 +1827,36 @@ interface ActivityItem {
|
|
|
1827
1827
|
*/
|
|
1828
1828
|
declare const STREAM_VERBS: readonly ["posted", "reposted", "published", "presented", "endorsed", "joined", "shipped", "reviewed", "created", "commented", "replied", "rsvped", "liked", "followed", "bookmarked", "registered", "annotated", "streamed", "wrote", "wasAt", "metWith", "supported", "verified", "received", "styledCharacter"];
|
|
1829
1829
|
type StreamVerb = (typeof STREAM_VERBS)[number];
|
|
1830
|
-
|
|
1830
|
+
interface ActivityVerbMap {
|
|
1831
|
+
version: string;
|
|
1832
|
+
updated: string;
|
|
1833
|
+
/** Verb returned for any collection not present in `verbs`. */
|
|
1834
|
+
defaultVerb: StreamVerb;
|
|
1835
|
+
/** Verb keyed by lexicon NSID. */
|
|
1836
|
+
verbs: Record<string, StreamVerb>;
|
|
1837
|
+
}
|
|
1838
|
+
/**
|
|
1839
|
+
* The verb map, keyed by lexicon NSID. Versioned independently from
|
|
1840
|
+
* `activity-tiers.json` so tier and verb evolve on their own cadence.
|
|
1841
|
+
*/
|
|
1842
|
+
declare const ACTIVITY_VERBS: Readonly<ActivityVerbMap>;
|
|
1843
|
+
/**
|
|
1844
|
+
* Returns the {@link StreamVerb} for an AT Protocol collection NSID. Unknown
|
|
1845
|
+
* or empty collections fall back to the map's `defaultVerb` (`created`).
|
|
1846
|
+
*/
|
|
1847
|
+
declare function verbForCollection(collection: string): StreamVerb;
|
|
1848
|
+
/** Verb-map version + updated date, for diagnostics and version-skew checks. */
|
|
1849
|
+
declare function getActivityVerbsVersion(): {
|
|
1850
|
+
version: string;
|
|
1851
|
+
updated: string;
|
|
1852
|
+
};
|
|
1853
|
+
|
|
1854
|
+
/**
|
|
1855
|
+
* Zod enum for a {@link StreamVerb}, shared with the view-model schema.
|
|
1856
|
+
*
|
|
1857
|
+
* Kept apart from `verbs.ts` so code that only maps collections to verbs does
|
|
1858
|
+
* not load zod.
|
|
1859
|
+
*/
|
|
1831
1860
|
declare const streamVerbSchema: z.ZodEnum<{
|
|
1832
1861
|
verified: "verified";
|
|
1833
1862
|
created: "created";
|
|
@@ -1855,29 +1884,6 @@ declare const streamVerbSchema: z.ZodEnum<{
|
|
|
1855
1884
|
liked: "liked";
|
|
1856
1885
|
followed: "followed";
|
|
1857
1886
|
}>;
|
|
1858
|
-
interface ActivityVerbMap {
|
|
1859
|
-
version: string;
|
|
1860
|
-
updated: string;
|
|
1861
|
-
/** Verb returned for any collection not present in `verbs`. */
|
|
1862
|
-
defaultVerb: StreamVerb;
|
|
1863
|
-
/** Verb keyed by lexicon NSID. */
|
|
1864
|
-
verbs: Record<string, StreamVerb>;
|
|
1865
|
-
}
|
|
1866
|
-
/**
|
|
1867
|
-
* The verb map, keyed by lexicon NSID. Versioned independently from
|
|
1868
|
-
* `activity-tiers.json` so tier and verb evolve on their own cadence.
|
|
1869
|
-
*/
|
|
1870
|
-
declare const ACTIVITY_VERBS: Readonly<ActivityVerbMap>;
|
|
1871
|
-
/**
|
|
1872
|
-
* Returns the {@link StreamVerb} for an AT Protocol collection NSID. Unknown
|
|
1873
|
-
* or empty collections fall back to the map's `defaultVerb` (`created`).
|
|
1874
|
-
*/
|
|
1875
|
-
declare function verbForCollection(collection: string): StreamVerb;
|
|
1876
|
-
/** Verb-map version + updated date, for diagnostics and version-skew checks. */
|
|
1877
|
-
declare function getActivityVerbsVersion(): {
|
|
1878
|
-
version: string;
|
|
1879
|
-
updated: string;
|
|
1880
|
-
};
|
|
1881
1887
|
|
|
1882
1888
|
/**
|
|
1883
1889
|
* The app a stream item originated from, resolved from the app registry.
|
package/dist/index.js
CHANGED
|
@@ -346,7 +346,7 @@ import {
|
|
|
346
346
|
roadmapIssueUrl
|
|
347
347
|
} from "./roadmap/index.js";
|
|
348
348
|
import { SIFA_REPO_GROUPS, describeSifaRecord, repoGroupForCollection } from "./repo/index.js";
|
|
349
|
-
var SIFA_SDK_VERSION = "0.19.
|
|
349
|
+
var SIFA_SDK_VERSION = "0.19.47";
|
|
350
350
|
export {
|
|
351
351
|
ACTIVITY_TIERS,
|
|
352
352
|
ACTIVITY_VERBS,
|
package/dist/stream/index.js
CHANGED
package/dist/stream/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stream/index.ts"],"sourcesContent":["export type { ActivityItem } from './activity-item.js';\nexport {\n ACTIVITY_VERBS,\n STREAM_VERBS,\n getActivityVerbsVersion,\n
|
|
1
|
+
{"version":3,"sources":["../../src/stream/index.ts"],"sourcesContent":["export type { ActivityItem } from './activity-item.js';\nexport {\n ACTIVITY_VERBS,\n STREAM_VERBS,\n getActivityVerbsVersion,\n verbForCollection,\n type ActivityVerbMap,\n type StreamVerb,\n} from './verbs.js';\nexport { streamVerbSchema } from './verb-schema.js';\nexport type {\n StreamAddress,\n StreamAuthor,\n StreamCardBody,\n StreamCardSubject,\n StreamCardVM,\n StreamExternalLink,\n StreamGeo,\n StreamMedia,\n StreamMediaBase,\n StreamMediaBlob,\n StreamMediaResolved,\n StreamRichSegment,\n StreamSource,\n StreamTheme,\n} from './stream-card-vm.js';\nexport {\n streamAddressSchema,\n streamCardBodySchema,\n streamCardSubjectSchema,\n streamCardVMSchema,\n streamExternalLinkSchema,\n streamGeoSchema,\n streamMediaSchema,\n streamAuthorSchema,\n streamRichSegmentSchema,\n streamSourceSchema,\n streamThemeSchema,\n} from './stream-card-vm-schema.js';\nexport {\n toStreamCardVM,\n toStreamCardVMs,\n type ToStreamCardVMOptions,\n} from './to-stream-card-vm.js';\nexport { isSelfAuthoredRich, renderAsLine } from './two-tier.js';\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AACP,SAAS,wBAAwB;AAiBjC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP,SAAS,oBAAoB,oBAAoB;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/stream/stream-card-vm-schema.ts
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { streamVerbSchema } from "./
|
|
3
|
+
import { streamVerbSchema } from "./verb-schema.js";
|
|
4
4
|
var rgbChannelSchema = z.number().min(0).max(255);
|
|
5
5
|
var rgbColorSchema = z.object({
|
|
6
6
|
r: rgbChannelSchema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stream/stream-card-vm-schema.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport type {\n StreamAddress,\n StreamAuthor,\n StreamCardBody,\n StreamCardSubject,\n StreamCardVM,\n StreamExternalLink,\n StreamGeo,\n StreamMedia,\n StreamRichSegment,\n StreamSource,\n StreamTheme,\n} from './stream-card-vm.js';\nimport { streamVerbSchema } from './verbs.js';\n\n/** RGB channel: finite number in [0, 255] (mirrors `isValidRgbColor`). */\nconst rgbChannelSchema = z.number().min(0).max(255);\nconst rgbColorSchema = z.object({\n r: rgbChannelSchema,\n g: rgbChannelSchema,\n b: rgbChannelSchema,\n});\n\nconst aspectRatioSchema = z.object({\n width: z.number(),\n height: z.number(),\n});\n\nexport const streamSourceSchema: z.ZodType<StreamSource> = z.object({\n appId: z.string(),\n label: z.string(),\n color: z.string(),\n});\n\nexport const streamAuthorSchema: z.ZodType<StreamAuthor> = z.object({\n did: z.string().optional(),\n handle: z.string().optional(),\n displayName: z.string().optional(),\n avatar: z.string().optional(),\n});\n\nexport const streamThemeSchema: z.ZodType<StreamTheme> = z.object({\n background: rgbColorSchema,\n foreground: rgbColorSchema,\n accent: rgbColorSchema,\n});\n\nconst streamMediaResolvedSchema = z.object({\n url: z.string(),\n alt: z.string(),\n aspectRatio: aspectRatioSchema.optional(),\n mimeType: z.string().optional(),\n});\n\nconst streamMediaBlobSchema = z.object({\n did: z.string(),\n cid: z.string(),\n alt: z.string(),\n aspectRatio: aspectRatioSchema.optional(),\n mimeType: z.string().optional(),\n});\n\nexport const streamMediaSchema: z.ZodType<StreamMedia> = z.union([\n streamMediaResolvedSchema,\n streamMediaBlobSchema,\n]);\n\nexport const streamExternalLinkSchema: z.ZodType<StreamExternalLink> = z.object({\n url: z.string(),\n title: z.string().optional(),\n thumb: z.string().optional(),\n});\n\nexport const streamGeoSchema: z.ZodType<StreamGeo> = z.object({\n latitude: z.number(),\n longitude: z.number(),\n});\n\nexport const streamAddressSchema: z.ZodType<StreamAddress> = z.object({\n name: z.string().optional(),\n street: z.string().optional(),\n locality: z.string().optional(),\n region: z.string().optional(),\n country: z.string().optional(),\n postalCode: z.string().optional(),\n});\n\nexport const streamRichSegmentSchema: z.ZodType<StreamRichSegment> = z.object({\n text: z.string(),\n link: z.string().optional(),\n mention: z.string().optional(),\n tag: z.string().optional(),\n});\n\nexport const streamCardBodySchema: z.ZodType<StreamCardBody> = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('text'),\n text: z.string(),\n richSegments: z.array(streamRichSegmentSchema).optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('media'),\n text: z.string().optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('link'),\n text: z.string().optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('track'),\n text: z.string().optional(),\n trackTitle: z.string().optional(),\n artist: z.string().optional(),\n }),\n z.object({\n kind: z.literal('generic'),\n text: z.string().optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('github-pr'),\n repoOwner: z.string(),\n repoName: z.string(),\n prNumber: z.number(),\n title: z.string(),\n url: z.string().optional(),\n language: z.string().optional(),\n additions: z.number(),\n deletions: z.number(),\n mergedAt: z.string().optional(),\n }),\n z.object({\n kind: z.literal('book'),\n title: z.string(),\n authors: z.array(z.string()),\n stars: z.number().optional(),\n status: z.string().optional(),\n review: z.string().optional(),\n }),\n z.object({\n kind: z.literal('media-review'),\n reviewKind: z.enum(['review', 'post', 'note', 'other']),\n title: z.string().optional(),\n mediaType: z.string().optional(),\n rating: z.number().optional(),\n mainCredit: z.string().optional(),\n reviewText: z.string().optional(),\n isRevisit: z.boolean(),\n }),\n z.object({\n kind: z.literal('event-rsvp'),\n rsvpStatus: z.enum(['going', 'interested', 'notgoing', 'unknown']),\n eventName: z.string().optional(),\n startsAt: z.string().optional(),\n endsAt: z.string().optional(),\n mode: z.enum(['inperson', 'virtual', 'hybrid']).optional(),\n locationName: z.string().optional(),\n locationLocality: z.string().optional(),\n locationCountry: z.string().optional(),\n }),\n z.object({\n kind: z.literal('verification'),\n platform: z.string(),\n verified: z.boolean(),\n subjectLabel: z.string().optional(),\n handle: z.string().optional(),\n profileUrl: z.string().optional(),\n }),\n z.object({\n kind: z.literal('membership'),\n communityName: z.string().optional(),\n description: z.string().optional(),\n communityUri: z.string().optional(),\n }),\n z.object({\n kind: z.literal('location'),\n venueName: z.string().optional(),\n shout: z.string().optional(),\n address: streamAddressSchema.optional(),\n geo: streamGeoSchema.optional(),\n }),\n z.object({\n kind: z.literal('travel'),\n origin: z.string().optional(),\n destination: z.string().optional(),\n transportation: z.string().optional(),\n carrier: z.string().optional(),\n carrierCode: z.string().optional(),\n startDate: z.string().optional(),\n endDate: z.string().optional(),\n }),\n z.object({\n kind: z.literal('standard-site'),\n title: z.string().optional(),\n description: z.string().optional(),\n siteUrl: z.string().optional(),\n path: z.string().optional(),\n publisherName: z.string().optional(),\n icon: z.string().optional(),\n coverImageUrl: z.string().optional(),\n readingTime: z.number().optional(),\n publishedAt: z.string().optional(),\n }),\n]);\n\n/**\n * A stream item's repost / reply / quote target. The `post` variant nests a\n * full {@link streamCardVMSchema} (deferred via `z.lazy` for recursion).\n */\nexport const streamCardSubjectSchema: z.ZodType<StreamCardSubject> = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('post'),\n post: z.lazy(() => streamCardVMSchema),\n }),\n z.object({\n kind: z.literal('person'),\n did: z.string(),\n handle: z.string().optional(),\n displayName: z.string().optional(),\n avatar: z.string().optional(),\n }),\n z.object({\n kind: z.literal('record'),\n uri: z.string(),\n title: z.string().optional(),\n url: z.string().optional(),\n }),\n]);\n\n/** Hypercert credit roll + outbound links, hydrated by sifa-api. */\nconst hypercertDetailsSchema = z.object({\n contributors: z.array(\n z.object({\n displayName: z.string(),\n imageUrl: z.string().optional(),\n identifier: z.string().optional(),\n weight: z.number().optional(),\n }),\n ),\n contributorCount: z.number(),\n attachments: z.array(z.object({ title: z.string().optional(), url: z.string() })),\n});\n\n/** An account a Certified record points at. */\nconst certifiedActorSchema = z.object({\n did: z.string(),\n handle: z.string(),\n displayName: z.string().optional(),\n avatar: z.string().optional(),\n});\n\n/** Certified badge + resolved accounts, hydrated by sifa-api. */\nconst certifiedDetailsSchema = z.object({\n badge: z\n .object({\n title: z.string(),\n description: z.string().optional(),\n icon: z.string().optional(),\n badgeType: z.string().optional(),\n })\n .optional(),\n recipient: certifiedActorSchema.optional(),\n issuer: certifiedActorSchema.optional(),\n group: certifiedActorSchema.optional(),\n role: z.string().optional(),\n});\n\n/** Zod schema for a {@link StreamCardVM}. Recursive through `subject.post`. */\nexport const streamCardVMSchema: z.ZodType<StreamCardVM> = z.lazy(() =>\n z.object({\n uri: z.string(),\n cid: z.string(),\n verb: streamVerbSchema,\n source: streamSourceSchema,\n author: streamAuthorSchema.optional(),\n tier: z.enum(['creation', 'action', 'filtered']),\n timestamp: z.string(),\n title: z.string(),\n sourceUrl: z.string().optional(),\n body: streamCardBodySchema.optional(),\n media: z.array(streamMediaSchema).optional(),\n externalLink: streamExternalLinkSchema.optional(),\n theme: streamThemeSchema.optional(),\n subject: z.lazy(() => streamCardSubjectSchema).optional(),\n hypercertDetails: hypercertDetailsSchema.optional(),\n certifiedDetails: certifiedDetailsSchema.optional(),\n }),\n);\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/stream/stream-card-vm-schema.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport type {\n StreamAddress,\n StreamAuthor,\n StreamCardBody,\n StreamCardSubject,\n StreamCardVM,\n StreamExternalLink,\n StreamGeo,\n StreamMedia,\n StreamRichSegment,\n StreamSource,\n StreamTheme,\n} from './stream-card-vm.js';\nimport { streamVerbSchema } from './verb-schema.js';\n\n/** RGB channel: finite number in [0, 255] (mirrors `isValidRgbColor`). */\nconst rgbChannelSchema = z.number().min(0).max(255);\nconst rgbColorSchema = z.object({\n r: rgbChannelSchema,\n g: rgbChannelSchema,\n b: rgbChannelSchema,\n});\n\nconst aspectRatioSchema = z.object({\n width: z.number(),\n height: z.number(),\n});\n\nexport const streamSourceSchema: z.ZodType<StreamSource> = z.object({\n appId: z.string(),\n label: z.string(),\n color: z.string(),\n});\n\nexport const streamAuthorSchema: z.ZodType<StreamAuthor> = z.object({\n did: z.string().optional(),\n handle: z.string().optional(),\n displayName: z.string().optional(),\n avatar: z.string().optional(),\n});\n\nexport const streamThemeSchema: z.ZodType<StreamTheme> = z.object({\n background: rgbColorSchema,\n foreground: rgbColorSchema,\n accent: rgbColorSchema,\n});\n\nconst streamMediaResolvedSchema = z.object({\n url: z.string(),\n alt: z.string(),\n aspectRatio: aspectRatioSchema.optional(),\n mimeType: z.string().optional(),\n});\n\nconst streamMediaBlobSchema = z.object({\n did: z.string(),\n cid: z.string(),\n alt: z.string(),\n aspectRatio: aspectRatioSchema.optional(),\n mimeType: z.string().optional(),\n});\n\nexport const streamMediaSchema: z.ZodType<StreamMedia> = z.union([\n streamMediaResolvedSchema,\n streamMediaBlobSchema,\n]);\n\nexport const streamExternalLinkSchema: z.ZodType<StreamExternalLink> = z.object({\n url: z.string(),\n title: z.string().optional(),\n thumb: z.string().optional(),\n});\n\nexport const streamGeoSchema: z.ZodType<StreamGeo> = z.object({\n latitude: z.number(),\n longitude: z.number(),\n});\n\nexport const streamAddressSchema: z.ZodType<StreamAddress> = z.object({\n name: z.string().optional(),\n street: z.string().optional(),\n locality: z.string().optional(),\n region: z.string().optional(),\n country: z.string().optional(),\n postalCode: z.string().optional(),\n});\n\nexport const streamRichSegmentSchema: z.ZodType<StreamRichSegment> = z.object({\n text: z.string(),\n link: z.string().optional(),\n mention: z.string().optional(),\n tag: z.string().optional(),\n});\n\nexport const streamCardBodySchema: z.ZodType<StreamCardBody> = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('text'),\n text: z.string(),\n richSegments: z.array(streamRichSegmentSchema).optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('media'),\n text: z.string().optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('link'),\n text: z.string().optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('track'),\n text: z.string().optional(),\n trackTitle: z.string().optional(),\n artist: z.string().optional(),\n }),\n z.object({\n kind: z.literal('generic'),\n text: z.string().optional(),\n tags: z.array(z.string()).optional(),\n }),\n z.object({\n kind: z.literal('github-pr'),\n repoOwner: z.string(),\n repoName: z.string(),\n prNumber: z.number(),\n title: z.string(),\n url: z.string().optional(),\n language: z.string().optional(),\n additions: z.number(),\n deletions: z.number(),\n mergedAt: z.string().optional(),\n }),\n z.object({\n kind: z.literal('book'),\n title: z.string(),\n authors: z.array(z.string()),\n stars: z.number().optional(),\n status: z.string().optional(),\n review: z.string().optional(),\n }),\n z.object({\n kind: z.literal('media-review'),\n reviewKind: z.enum(['review', 'post', 'note', 'other']),\n title: z.string().optional(),\n mediaType: z.string().optional(),\n rating: z.number().optional(),\n mainCredit: z.string().optional(),\n reviewText: z.string().optional(),\n isRevisit: z.boolean(),\n }),\n z.object({\n kind: z.literal('event-rsvp'),\n rsvpStatus: z.enum(['going', 'interested', 'notgoing', 'unknown']),\n eventName: z.string().optional(),\n startsAt: z.string().optional(),\n endsAt: z.string().optional(),\n mode: z.enum(['inperson', 'virtual', 'hybrid']).optional(),\n locationName: z.string().optional(),\n locationLocality: z.string().optional(),\n locationCountry: z.string().optional(),\n }),\n z.object({\n kind: z.literal('verification'),\n platform: z.string(),\n verified: z.boolean(),\n subjectLabel: z.string().optional(),\n handle: z.string().optional(),\n profileUrl: z.string().optional(),\n }),\n z.object({\n kind: z.literal('membership'),\n communityName: z.string().optional(),\n description: z.string().optional(),\n communityUri: z.string().optional(),\n }),\n z.object({\n kind: z.literal('location'),\n venueName: z.string().optional(),\n shout: z.string().optional(),\n address: streamAddressSchema.optional(),\n geo: streamGeoSchema.optional(),\n }),\n z.object({\n kind: z.literal('travel'),\n origin: z.string().optional(),\n destination: z.string().optional(),\n transportation: z.string().optional(),\n carrier: z.string().optional(),\n carrierCode: z.string().optional(),\n startDate: z.string().optional(),\n endDate: z.string().optional(),\n }),\n z.object({\n kind: z.literal('standard-site'),\n title: z.string().optional(),\n description: z.string().optional(),\n siteUrl: z.string().optional(),\n path: z.string().optional(),\n publisherName: z.string().optional(),\n icon: z.string().optional(),\n coverImageUrl: z.string().optional(),\n readingTime: z.number().optional(),\n publishedAt: z.string().optional(),\n }),\n]);\n\n/**\n * A stream item's repost / reply / quote target. The `post` variant nests a\n * full {@link streamCardVMSchema} (deferred via `z.lazy` for recursion).\n */\nexport const streamCardSubjectSchema: z.ZodType<StreamCardSubject> = z.discriminatedUnion('kind', [\n z.object({\n kind: z.literal('post'),\n post: z.lazy(() => streamCardVMSchema),\n }),\n z.object({\n kind: z.literal('person'),\n did: z.string(),\n handle: z.string().optional(),\n displayName: z.string().optional(),\n avatar: z.string().optional(),\n }),\n z.object({\n kind: z.literal('record'),\n uri: z.string(),\n title: z.string().optional(),\n url: z.string().optional(),\n }),\n]);\n\n/** Hypercert credit roll + outbound links, hydrated by sifa-api. */\nconst hypercertDetailsSchema = z.object({\n contributors: z.array(\n z.object({\n displayName: z.string(),\n imageUrl: z.string().optional(),\n identifier: z.string().optional(),\n weight: z.number().optional(),\n }),\n ),\n contributorCount: z.number(),\n attachments: z.array(z.object({ title: z.string().optional(), url: z.string() })),\n});\n\n/** An account a Certified record points at. */\nconst certifiedActorSchema = z.object({\n did: z.string(),\n handle: z.string(),\n displayName: z.string().optional(),\n avatar: z.string().optional(),\n});\n\n/** Certified badge + resolved accounts, hydrated by sifa-api. */\nconst certifiedDetailsSchema = z.object({\n badge: z\n .object({\n title: z.string(),\n description: z.string().optional(),\n icon: z.string().optional(),\n badgeType: z.string().optional(),\n })\n .optional(),\n recipient: certifiedActorSchema.optional(),\n issuer: certifiedActorSchema.optional(),\n group: certifiedActorSchema.optional(),\n role: z.string().optional(),\n});\n\n/** Zod schema for a {@link StreamCardVM}. Recursive through `subject.post`. */\nexport const streamCardVMSchema: z.ZodType<StreamCardVM> = z.lazy(() =>\n z.object({\n uri: z.string(),\n cid: z.string(),\n verb: streamVerbSchema,\n source: streamSourceSchema,\n author: streamAuthorSchema.optional(),\n tier: z.enum(['creation', 'action', 'filtered']),\n timestamp: z.string(),\n title: z.string(),\n sourceUrl: z.string().optional(),\n body: streamCardBodySchema.optional(),\n media: z.array(streamMediaSchema).optional(),\n externalLink: streamExternalLinkSchema.optional(),\n theme: streamThemeSchema.optional(),\n subject: z.lazy(() => streamCardSubjectSchema).optional(),\n hypercertDetails: hypercertDetailsSchema.optional(),\n certifiedDetails: certifiedDetailsSchema.optional(),\n }),\n);\n"],"mappings":";AAAA,SAAS,SAAS;AAelB,SAAS,wBAAwB;AAGjC,IAAM,mBAAmB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAClD,IAAM,iBAAiB,EAAE,OAAO;AAAA,EAC9B,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL,CAAC;AAED,IAAM,oBAAoB,EAAE,OAAO;AAAA,EACjC,OAAO,EAAE,OAAO;AAAA,EAChB,QAAQ,EAAE,OAAO;AACnB,CAAC;AAEM,IAAM,qBAA8C,EAAE,OAAO;AAAA,EAClE,OAAO,EAAE,OAAO;AAAA,EAChB,OAAO,EAAE,OAAO;AAAA,EAChB,OAAO,EAAE,OAAO;AAClB,CAAC;AAEM,IAAM,qBAA8C,EAAE,OAAO;AAAA,EAClE,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,EACzB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAEM,IAAM,oBAA4C,EAAE,OAAO;AAAA,EAChE,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AACV,CAAC;AAED,IAAM,4BAA4B,EAAE,OAAO;AAAA,EACzC,KAAK,EAAE,OAAO;AAAA,EACd,KAAK,EAAE,OAAO;AAAA,EACd,aAAa,kBAAkB,SAAS;AAAA,EACxC,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAED,IAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,KAAK,EAAE,OAAO;AAAA,EACd,KAAK,EAAE,OAAO;AAAA,EACd,KAAK,EAAE,OAAO;AAAA,EACd,aAAa,kBAAkB,SAAS;AAAA,EACxC,UAAU,EAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAEM,IAAM,oBAA4C,EAAE,MAAM;AAAA,EAC/D;AAAA,EACA;AACF,CAAC;AAEM,IAAM,2BAA0D,EAAE,OAAO;AAAA,EAC9E,KAAK,EAAE,OAAO;AAAA,EACd,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,OAAO,EAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAEM,IAAM,kBAAwC,EAAE,OAAO;AAAA,EAC5D,UAAU,EAAE,OAAO;AAAA,EACnB,WAAW,EAAE,OAAO;AACtB,CAAC;AAEM,IAAM,sBAAgD,EAAE,OAAO;AAAA,EACpE,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,YAAY,EAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAEM,IAAM,0BAAwD,EAAE,OAAO;AAAA,EAC5E,MAAM,EAAE,OAAO;AAAA,EACf,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,KAAK,EAAE,OAAO,EAAE,SAAS;AAC3B,CAAC;AAEM,IAAM,uBAAkD,EAAE,mBAAmB,QAAQ;AAAA,EAC1F,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,MAAM,EAAE,OAAO;AAAA,IACf,cAAc,EAAE,MAAM,uBAAuB,EAAE,SAAS;AAAA,IACxD,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACrC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,OAAO;AAAA,IACvB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACrC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACrC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,OAAO;AAAA,IACvB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,IAChC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,SAAS;AAAA,IACzB,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACrC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,WAAW;AAAA,IAC3B,WAAW,EAAE,OAAO;AAAA,IACpB,UAAU,EAAE,OAAO;AAAA,IACnB,UAAU,EAAE,OAAO;AAAA,IACnB,OAAO,EAAE,OAAO;AAAA,IAChB,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,IACzB,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,WAAW,EAAE,OAAO;AAAA,IACpB,WAAW,EAAE,OAAO;AAAA,IACpB,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,OAAO,EAAE,OAAO;AAAA,IAChB,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,IAC3B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,cAAc;AAAA,IAC9B,YAAY,EAAE,KAAK,CAAC,UAAU,QAAQ,QAAQ,OAAO,CAAC;AAAA,IACtD,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,IAChC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,IAChC,WAAW,EAAE,QAAQ;AAAA,EACvB,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,YAAY;AAAA,IAC5B,YAAY,EAAE,KAAK,CAAC,SAAS,cAAc,YAAY,SAAS,CAAC;AAAA,IACjE,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,MAAM,EAAE,KAAK,CAAC,YAAY,WAAW,QAAQ,CAAC,EAAE,SAAS;AAAA,IACzD,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,IAClC,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,IACtC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACvC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,cAAc;AAAA,IAC9B,UAAU,EAAE,OAAO;AAAA,IACnB,UAAU,EAAE,QAAQ;AAAA,IACpB,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,IAClC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,YAAY;AAAA,IAC5B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,UAAU;AAAA,IAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,SAAS,oBAAoB,SAAS;AAAA,IACtC,KAAK,gBAAgB,SAAS;AAAA,EAChC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,QAAQ;AAAA,IACxB,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,IACpC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,eAAe;AAAA,IAC/B,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,IACnC,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACnC,CAAC;AACH,CAAC;AAMM,IAAM,0BAAwD,EAAE,mBAAmB,QAAQ;AAAA,EAChG,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,MAAM;AAAA,IACtB,MAAM,EAAE,KAAK,MAAM,kBAAkB;AAAA,EACvC,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,QAAQ;AAAA,IACxB,KAAK,EAAE,OAAO;AAAA,IACd,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,CAAC;AAAA,EACD,EAAE,OAAO;AAAA,IACP,MAAM,EAAE,QAAQ,QAAQ;AAAA,IACxB,KAAK,EAAE,OAAO;AAAA,IACd,OAAO,EAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,KAAK,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,CAAC;AACH,CAAC;AAGD,IAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,cAAc,EAAE;AAAA,IACd,EAAE,OAAO;AAAA,MACP,aAAa,EAAE,OAAO;AAAA,MACtB,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,MAC9B,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,MAChC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,CAAC;AAAA,EACH;AAAA,EACA,kBAAkB,EAAE,OAAO;AAAA,EAC3B,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAClF,CAAC;AAGD,IAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,KAAK,EAAE,OAAO;AAAA,EACd,QAAQ,EAAE,OAAO;AAAA,EACjB,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAGD,IAAM,yBAAyB,EAAE,OAAO;AAAA,EACtC,OAAO,EACJ,OAAO;AAAA,IACN,OAAO,EAAE,OAAO;AAAA,IAChB,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,MAAM,EAAE,OAAO,EAAE,SAAS;AAAA,IAC1B,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,CAAC,EACA,SAAS;AAAA,EACZ,WAAW,qBAAqB,SAAS;AAAA,EACzC,QAAQ,qBAAqB,SAAS;AAAA,EACtC,OAAO,qBAAqB,SAAS;AAAA,EACrC,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC;AAGM,IAAM,qBAA8C,EAAE;AAAA,EAAK,MAChE,EAAE,OAAO;AAAA,IACP,KAAK,EAAE,OAAO;AAAA,IACd,KAAK,EAAE,OAAO;AAAA,IACd,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ,mBAAmB,SAAS;AAAA,IACpC,MAAM,EAAE,KAAK,CAAC,YAAY,UAAU,UAAU,CAAC;AAAA,IAC/C,WAAW,EAAE,OAAO;AAAA,IACpB,OAAO,EAAE,OAAO;AAAA,IAChB,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,IAC/B,MAAM,qBAAqB,SAAS;AAAA,IACpC,OAAO,EAAE,MAAM,iBAAiB,EAAE,SAAS;AAAA,IAC3C,cAAc,yBAAyB,SAAS;AAAA,IAChD,OAAO,kBAAkB,SAAS;AAAA,IAClC,SAAS,EAAE,KAAK,MAAM,uBAAuB,EAAE,SAAS;AAAA,IACxD,kBAAkB,uBAAuB,SAAS;AAAA,IAClD,kBAAkB,uBAAuB,SAAS;AAAA,EACpD,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/stream/verb-schema.ts"],"sourcesContent":["import { z } from 'zod';\n\nimport { STREAM_VERBS } from './verbs.js';\n\n/**\n * Zod enum for a {@link StreamVerb}, shared with the view-model schema.\n *\n * Kept apart from `verbs.ts` so code that only maps collections to verbs does\n * not load zod.\n */\nexport const streamVerbSchema = z.enum(STREAM_VERBS);\n"],"mappings":";AAAA,SAAS,SAAS;AAElB,SAAS,oBAAoB;AAQtB,IAAM,mBAAmB,EAAE,KAAK,YAAY;","names":[]}
|
package/dist/stream/verbs.js
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// src/stream/verbs.ts
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
|
|
4
1
|
// src/stream/verbs.json
|
|
5
2
|
var verbs_default = {
|
|
6
3
|
$schema: "https://sifa.id/schemas/activity-verbs/v1.json",
|
|
@@ -94,14 +91,12 @@ var STREAM_VERBS = [
|
|
|
94
91
|
"received",
|
|
95
92
|
"styledCharacter"
|
|
96
93
|
];
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
var parsed = verbMapSchema.parse(verbs_default);
|
|
94
|
+
var parsed = {
|
|
95
|
+
version: verbs_default.version,
|
|
96
|
+
updated: verbs_default.updated,
|
|
97
|
+
defaultVerb: verbs_default.defaultVerb,
|
|
98
|
+
verbs: verbs_default.verbs
|
|
99
|
+
};
|
|
105
100
|
var ACTIVITY_VERBS = Object.freeze(parsed);
|
|
106
101
|
function verbForCollection(collection) {
|
|
107
102
|
if (!collection) return ACTIVITY_VERBS.defaultVerb;
|
|
@@ -114,7 +109,6 @@ export {
|
|
|
114
109
|
ACTIVITY_VERBS,
|
|
115
110
|
STREAM_VERBS,
|
|
116
111
|
getActivityVerbsVersion,
|
|
117
|
-
streamVerbSchema,
|
|
118
112
|
verbForCollection
|
|
119
113
|
};
|
|
120
114
|
//# sourceMappingURL=verbs.js.map
|
package/dist/stream/verbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/stream/verbs.
|
|
1
|
+
{"version":3,"sources":["../../src/stream/verbs.json","../../src/stream/verbs.ts"],"sourcesContent":["{\n \"$schema\": \"https://sifa.id/schemas/activity-verbs/v1.json\",\n \"version\": \"1.7.0\",\n \"updated\": \"2026-09-26\",\n \"defaultVerb\": \"created\",\n \"verbs\": {\n \"actor.rpg.sprite\": \"styledCharacter\",\n \"agency.portable.membership\": \"joined\",\n \"app.beaconbits.beacon\": \"wasAt\",\n \"app.atmobb.discussion.reply\": \"replied\",\n \"app.bsky.feed.post\": \"posted\",\n \"app.bsky.feed.repost\": \"reposted\",\n \"app.sidetrail.trail\": \"shipped\",\n \"app.sidetrail.walk\": \"shipped\",\n \"app.userinput.reply\": \"replied\",\n \"at.margin.annotation\": \"annotated\",\n \"at.margin.bookmark\": \"bookmarked\",\n \"at.margin.note\": \"annotated\",\n \"at.marque.domain\": \"registered\",\n \"at.youandme.connection\": \"metWith\",\n \"blog.pckt.mini.post\": \"wrote\",\n \"blue.flashes.feed.post\": \"posted\",\n \"buzz.bookhive.book\": \"reviewed\",\n \"com.whtwnd.blog.entry\": \"published\",\n \"community.lexicon.calendar.rsvp\": \"rsvped\",\n \"community.nooki.comments\": \"commented\",\n \"community.nooki.membership\": \"joined\",\n \"community.opensocial.membership\": \"joined\",\n \"computer.aetheros.page\": \"published\",\n \"dev.keytrace.claim\": \"verified\",\n \"equipment.rpg.item\": \"received\",\n \"eu.atcommons.member\": \"joined\",\n \"fm.plyr.comment\": \"commented\",\n \"forum.barazo.post\": \"posted\",\n \"fund.at.graph.endorse\": \"supported\",\n \"fyi.atstore.listing.review\": \"reviewed\",\n \"fyi.unravel.frontpage.post\": \"posted\",\n \"id.sifa.endorsement\": \"endorsed\",\n \"id.sifa.graph.connection\": \"joined\",\n \"id.sifa.profile.presentation\": \"presented\",\n \"id.sifa.profile.presentationDelivery\": \"presented\",\n \"link.pastesphere.snippet\": \"published\",\n \"org.impactindexer.review.comment\": \"commented\",\n \"pub.leaflet.comment\": \"commented\",\n \"sh.tangled.repo\": \"shipped\",\n \"sh.tangled.repo.issue\": \"shipped\",\n \"sh.tangled.repo.pull\": \"shipped\",\n \"site.standard.document\": \"published\",\n \"social.colibri.membership\": \"joined\",\n \"social.grain.gallery\": \"posted\",\n \"place.stream.livestream\": \"streamed\",\n \"social.kut.community.membership\": \"joined\",\n \"social.popfeed.feed.note\": \"posted\",\n \"social.popfeed.feed.post\": \"posted\",\n \"social.popfeed.feed.review\": \"reviewed\",\n \"social.psky.feed.post\": \"posted\"\n }\n}\n","import rawVerbs from './verbs.json' with { type: 'json' };\n\n/**\n * The human action a stream item represents — a layer on top of `collection`\n * + `tier`. Groups semantically across apps (\"published\" spans WhiteWind and\n * standard-site; \"posted\" spans Bluesky and Picosky) so a day-grouped feed\n * reads like sentences.\n */\nexport const STREAM_VERBS = [\n 'posted',\n 'reposted',\n 'published',\n 'presented',\n 'endorsed',\n 'joined',\n 'shipped',\n 'reviewed',\n 'created',\n // Relational verbs: a reaction or reference to someone else's thing. These\n // read with the subject the two-tier line renders after them (\"Commented on\n // {doc}\", \"Followed {person}\").\n 'commented',\n 'replied',\n 'rsvped',\n 'liked',\n 'followed',\n 'bookmarked',\n 'registered',\n 'annotated',\n 'streamed',\n 'wrote',\n 'wasAt',\n 'metWith',\n 'supported',\n 'verified',\n // rpg.actor: accepting an equipment item, and (re)composing the character's\n // pixel-art sprite.\n 'received',\n 'styledCharacter',\n] as const;\n\nexport type StreamVerb = (typeof STREAM_VERBS)[number];\n\nexport interface ActivityVerbMap {\n version: string;\n updated: string;\n /** Verb returned for any collection not present in `verbs`. */\n defaultVerb: StreamVerb;\n /** Verb keyed by lexicon NSID. */\n verbs: Record<string, StreamVerb>;\n}\n\n// verbs.json is checked against this shape in verbs.test.ts. Only the map\n// fields are copied, so the file's `$schema` key stays out.\nconst parsed: ActivityVerbMap = {\n version: rawVerbs.version,\n updated: rawVerbs.updated,\n defaultVerb: rawVerbs.defaultVerb as StreamVerb,\n verbs: rawVerbs.verbs as Record<string, StreamVerb>,\n};\n\n/**\n * The verb map, keyed by lexicon NSID. Versioned independently from\n * `activity-tiers.json` so tier and verb evolve on their own cadence.\n */\nexport const ACTIVITY_VERBS: Readonly<ActivityVerbMap> = Object.freeze(parsed);\n\n/**\n * Returns the {@link StreamVerb} for an AT Protocol collection NSID. Unknown\n * or empty collections fall back to the map's `defaultVerb` (`created`).\n */\nexport function verbForCollection(collection: string): StreamVerb {\n if (!collection) return ACTIVITY_VERBS.defaultVerb;\n return ACTIVITY_VERBS.verbs[collection] ?? ACTIVITY_VERBS.defaultVerb;\n}\n\n/** Verb-map version + updated date, for diagnostics and version-skew checks. */\nexport function getActivityVerbsVersion(): { version: string; updated: string } {\n return { version: ACTIVITY_VERBS.version, updated: ACTIVITY_VERBS.updated };\n}\n"],"mappings":";AAAA;AAAA,EACE,SAAW;AAAA,EACX,SAAW;AAAA,EACX,SAAW;AAAA,EACX,aAAe;AAAA,EACf,OAAS;AAAA,IACP,oBAAoB;AAAA,IACpB,8BAA8B;AAAA,IAC9B,yBAAyB;AAAA,IACzB,+BAA+B;AAAA,IAC/B,sBAAsB;AAAA,IACtB,wBAAwB;AAAA,IACxB,uBAAuB;AAAA,IACvB,sBAAsB;AAAA,IACtB,uBAAuB;AAAA,IACvB,wBAAwB;AAAA,IACxB,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,0BAA0B;AAAA,IAC1B,uBAAuB;AAAA,IACvB,0BAA0B;AAAA,IAC1B,sBAAsB;AAAA,IACtB,yBAAyB;AAAA,IACzB,mCAAmC;AAAA,IACnC,4BAA4B;AAAA,IAC5B,8BAA8B;AAAA,IAC9B,mCAAmC;AAAA,IACnC,0BAA0B;AAAA,IAC1B,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,IACtB,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB,qBAAqB;AAAA,IACrB,yBAAyB;AAAA,IACzB,8BAA8B;AAAA,IAC9B,8BAA8B;AAAA,IAC9B,uBAAuB;AAAA,IACvB,4BAA4B;AAAA,IAC5B,gCAAgC;AAAA,IAChC,wCAAwC;AAAA,IACxC,4BAA4B;AAAA,IAC5B,oCAAoC;AAAA,IACpC,uBAAuB;AAAA,IACvB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,wBAAwB;AAAA,IACxB,0BAA0B;AAAA,IAC1B,6BAA6B;AAAA,IAC7B,wBAAwB;AAAA,IACxB,2BAA2B;AAAA,IAC3B,mCAAmC;AAAA,IACnC,4BAA4B;AAAA,IAC5B,4BAA4B;AAAA,IAC5B,8BAA8B;AAAA,IAC9B,yBAAyB;AAAA,EAC3B;AACF;;;ACjDO,IAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AACF;AAeA,IAAM,SAA0B;AAAA,EAC9B,SAAS,cAAS;AAAA,EAClB,SAAS,cAAS;AAAA,EAClB,aAAa,cAAS;AAAA,EACtB,OAAO,cAAS;AAClB;AAMO,IAAM,iBAA4C,OAAO,OAAO,MAAM;AAMtE,SAAS,kBAAkB,YAAgC;AAChE,MAAI,CAAC,WAAY,QAAO,eAAe;AACvC,SAAO,eAAe,MAAM,UAAU,KAAK,eAAe;AAC5D;AAGO,SAAS,0BAAgE;AAC9E,SAAO,EAAE,SAAS,eAAe,SAAS,SAAS,eAAe,QAAQ;AAC5E;","names":[]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
// src/taxonomy/activity-tiers.ts
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
|
|
4
1
|
// src/taxonomy/activity-tiers.json
|
|
5
2
|
var activity_tiers_default = {
|
|
6
3
|
$schema: "https://sifa.id/schemas/activity-tiers/v1.json",
|
|
@@ -908,27 +905,12 @@ var activity_tiers_default = {
|
|
|
908
905
|
};
|
|
909
906
|
|
|
910
907
|
// src/taxonomy/activity-tiers.ts
|
|
911
|
-
var
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
tier: z.enum(["creation", "action", "filtered"]),
|
|
918
|
-
app: z.string().optional(),
|
|
919
|
-
notes: z.string().optional()
|
|
920
|
-
});
|
|
921
|
-
var taxonomySchema = z.object({
|
|
922
|
-
version: z.string(),
|
|
923
|
-
updated: z.string(),
|
|
924
|
-
tiers: z.object({
|
|
925
|
-
creation: tierMetaSchema,
|
|
926
|
-
action: tierMetaSchema,
|
|
927
|
-
filtered: tierMetaSchema
|
|
928
|
-
}),
|
|
929
|
-
lexicons: z.record(z.string(), lexiconEntrySchema)
|
|
930
|
-
});
|
|
931
|
-
var parsed = taxonomySchema.parse(activity_tiers_default);
|
|
908
|
+
var parsed = {
|
|
909
|
+
version: activity_tiers_default.version,
|
|
910
|
+
updated: activity_tiers_default.updated,
|
|
911
|
+
tiers: activity_tiers_default.tiers,
|
|
912
|
+
lexicons: activity_tiers_default.lexicons
|
|
913
|
+
};
|
|
932
914
|
var ACTIVITY_TIERS = Object.freeze(parsed);
|
|
933
915
|
function getActivityTier(nsid) {
|
|
934
916
|
if (!nsid) return "filtered";
|