import { EchoDefinition, FlairDefinition, GraphQLDefinition, LinksAndCommentsDefinition, ListingsDefinition, ModerationDefinition, ModNoteDefinition, NewModmailDefinition, PrivateMessagesDefinition, SubredditsDefinition, PostCollectionsDefinition, SupervisorDefinition, UsersDefinition, WidgetsDefinition, WikiDefinition, } from '@devvit/protos';
import { ECHO_CNAME, REDDIT_API_CNAME, SUPERVISOR_CNAME, } from '@devvit/shared-types/HostnameUtil.js';
/**
 * A system worker is a worker/plugin that is provided by the runtime, and is loaded at startup/init time.  We probably don't want many of these,
 * and we should make sure to sync this manifest with go.
 *
 * Ordering here implies that we want to load these in the order they are listed in the manifest.
 */
export const defaultSystemWorkerSpec = [
    {
        cname: SUPERVISOR_CNAME,
        workerFileBaseName: SUPERVISOR_CNAME,
        provides: [SupervisorDefinition],
    },
    {
        cname: ECHO_CNAME,
        workerFileBaseName: ECHO_CNAME,
        provides: [EchoDefinition],
    },
    {
        cname: REDDIT_API_CNAME,
        workerFileBaseName: REDDIT_API_CNAME,
        provides: [
            ListingsDefinition,
            NewModmailDefinition,
            FlairDefinition,
            GraphQLDefinition,
            LinksAndCommentsDefinition,
            ModerationDefinition,
            ModNoteDefinition,
            PrivateMessagesDefinition,
            UsersDefinition,
            SubredditsDefinition,
            PostCollectionsDefinition,
            WidgetsDefinition,
            WikiDefinition,
        ],
    },
];
