a tool for shared writing and social publishing
1import { Inngest } from "inngest";
2
3import { EventSchemas } from "inngest";
4
5export type Events = {
6 "feeds/index-follows": {
7 data: {
8 did: string;
9 };
10 };
11 "appview/profile-update": {
12 data: {
13 record: any;
14 did: string;
15 };
16 };
17 "appview/index-bsky-post-mention": {
18 data: {
19 post_uri: string;
20 document_link: string;
21 };
22 };
23 "appview/come-online": { data: {} };
24 "user/migrate-to-standard": {
25 data: {
26 did: string;
27 };
28 };
29 "user/cleanup-expired-oauth-sessions": {
30 data: {};
31 };
32 "user/check-oauth-session": {
33 data: {
34 identityId: string;
35 did: string;
36 tokenCount: number;
37 };
38 };
39 "documents/fix-publication-references": {
40 data: {
41 documentUris: string[];
42 };
43 };
44 "documents/fix-incorrect-site-values": {
45 data: {
46 did: string;
47 };
48 };
49 "documents/fix-postref": {
50 data: {
51 documentUris?: string[];
52 };
53 };
54 "user/write-records-to-pds": {
55 data: {
56 did: string;
57 records: Array<{
58 collection: string;
59 rkey: string;
60 record: unknown;
61 }>;
62 };
63 };
64};
65
66// Create a client to send and receive events
67export const inngest = new Inngest({
68 id: "leaflet",
69 schemas: new EventSchemas().fromRecord<Events>(),
70});