INNER CODE UNIT · JavaScript
buildOpenTag
linxidnju/OpenTag · src/opentag.js:26
export async function buildOpenTag(config, options = {}) {
const logger = options.logger || createLogger({ level: config.app.logLevel || "info" });
const store = new FileStore({ rootDir: config.app.dataDir, logger });
await store.init();
const sandboxManager = new SandboxManager({ config: config.sandbox, logger });
await sandboxManager.init();
const runtimeRegistry = new RuntimeRegistry({ config: config.runtimes, logger });
const taskRouter = new TaskRouter({ config, runtimeRegistry, logger });
const policyEngine = new PolicyEngine({ config, logger });
const slackFileManager = new SlackFileManager({ config, logger });
const pinnedContextReader = new SlackPinnedContextReader({ config, logger });
const workspaceSearchIndexer = new WorkspaceSearchIndexer({ config, store, logger });
const slackWorkspaceSearcher = new SlackWorkspaceSearcher({ config, logger });
const teamKnowledgeService = new TeamKnowledgeService({ config: config.teamKnowledge, store, logger });
const channelMemoryService = new ChannelMemoryService({ store, logger, knowledgeService: teamKnowledgeService });
const agentProxy = new AgentProxy({ config, store, logger });