|
|
@@ -0,0 +1,100 @@
|
|
|
+import { Layer, ManagedRuntime } from "effect"
|
|
|
+import { memoMap } from "./run-service"
|
|
|
+import { Observability } from "./oltp"
|
|
|
+
|
|
|
+import { AppFileSystem } from "@/filesystem"
|
|
|
+import { Bus } from "@/bus"
|
|
|
+import { Auth } from "@/auth"
|
|
|
+import { Account } from "@/account"
|
|
|
+import { Config } from "@/config/config"
|
|
|
+import { Git } from "@/git"
|
|
|
+import { Ripgrep } from "@/file/ripgrep"
|
|
|
+import { FileTime } from "@/file/time"
|
|
|
+import { File } from "@/file"
|
|
|
+import { FileWatcher } from "@/file/watcher"
|
|
|
+import { Storage } from "@/storage/storage"
|
|
|
+import { Snapshot } from "@/snapshot"
|
|
|
+import { Plugin } from "@/plugin"
|
|
|
+import { Provider } from "@/provider/provider"
|
|
|
+import { ProviderAuth } from "@/provider/auth"
|
|
|
+import { Agent } from "@/agent/agent"
|
|
|
+import { Skill } from "@/skill"
|
|
|
+import { Discovery } from "@/skill/discovery"
|
|
|
+import { Question } from "@/question"
|
|
|
+import { Permission } from "@/permission"
|
|
|
+import { Todo } from "@/session/todo"
|
|
|
+import { Session } from "@/session"
|
|
|
+import { SessionStatus } from "@/session/status"
|
|
|
+import { SessionRunState } from "@/session/run-state"
|
|
|
+import { SessionProcessor } from "@/session/processor"
|
|
|
+import { SessionCompaction } from "@/session/compaction"
|
|
|
+import { SessionRevert } from "@/session/revert"
|
|
|
+import { SessionSummary } from "@/session/summary"
|
|
|
+import { SessionPrompt } from "@/session/prompt"
|
|
|
+import { Instruction } from "@/session/instruction"
|
|
|
+import { LLM } from "@/session/llm"
|
|
|
+import { LSP } from "@/lsp"
|
|
|
+import { MCP } from "@/mcp"
|
|
|
+import { McpAuth } from "@/mcp/auth"
|
|
|
+import { Command } from "@/command"
|
|
|
+import { Truncate } from "@/tool/truncate"
|
|
|
+import { ToolRegistry } from "@/tool/registry"
|
|
|
+import { Format } from "@/format"
|
|
|
+import { Project } from "@/project/project"
|
|
|
+import { Vcs } from "@/project/vcs"
|
|
|
+import { Worktree } from "@/worktree"
|
|
|
+import { Pty } from "@/pty"
|
|
|
+import { Installation } from "@/installation"
|
|
|
+import { ShareNext } from "@/share/share-next"
|
|
|
+import { SessionShare } from "@/share/session"
|
|
|
+
|
|
|
+export const AppLayer = Layer.mergeAll(
|
|
|
+ Observability.layer,
|
|
|
+ AppFileSystem.defaultLayer,
|
|
|
+ Bus.defaultLayer,
|
|
|
+ Auth.defaultLayer,
|
|
|
+ Account.defaultLayer,
|
|
|
+ Config.defaultLayer,
|
|
|
+ Git.defaultLayer,
|
|
|
+ Ripgrep.defaultLayer,
|
|
|
+ FileTime.defaultLayer,
|
|
|
+ File.defaultLayer,
|
|
|
+ FileWatcher.defaultLayer,
|
|
|
+ Storage.defaultLayer,
|
|
|
+ Snapshot.defaultLayer,
|
|
|
+ Plugin.defaultLayer,
|
|
|
+ Provider.defaultLayer,
|
|
|
+ ProviderAuth.defaultLayer,
|
|
|
+ Agent.defaultLayer,
|
|
|
+ Skill.defaultLayer,
|
|
|
+ Discovery.defaultLayer,
|
|
|
+ Question.defaultLayer,
|
|
|
+ Permission.defaultLayer,
|
|
|
+ Todo.defaultLayer,
|
|
|
+ Session.defaultLayer,
|
|
|
+ SessionStatus.defaultLayer,
|
|
|
+ SessionRunState.defaultLayer,
|
|
|
+ SessionProcessor.defaultLayer,
|
|
|
+ SessionCompaction.defaultLayer,
|
|
|
+ SessionRevert.defaultLayer,
|
|
|
+ SessionSummary.defaultLayer,
|
|
|
+ SessionPrompt.defaultLayer,
|
|
|
+ Instruction.defaultLayer,
|
|
|
+ LLM.defaultLayer,
|
|
|
+ LSP.defaultLayer,
|
|
|
+ MCP.defaultLayer,
|
|
|
+ McpAuth.defaultLayer,
|
|
|
+ Command.defaultLayer,
|
|
|
+ Truncate.defaultLayer,
|
|
|
+ ToolRegistry.defaultLayer,
|
|
|
+ Format.defaultLayer,
|
|
|
+ Project.defaultLayer,
|
|
|
+ Vcs.defaultLayer,
|
|
|
+ Worktree.defaultLayer,
|
|
|
+ Pty.defaultLayer,
|
|
|
+ Installation.defaultLayer,
|
|
|
+ ShareNext.defaultLayer,
|
|
|
+ SessionShare.defaultLayer,
|
|
|
+)
|
|
|
+
|
|
|
+export const AppRuntime = ManagedRuntime.make(AppLayer, { memoMap })
|