From 6ce2519cab5ea4ab011ab116bce44c89774048da Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Sun, 19 Jul 2026 20:39:55 -0400 Subject: [PATCH] refactor: extract shared util package --- bun.lock | 60 +++++++++---- package.json | 2 +- packages/cli/package.json | 3 +- packages/cli/script/node-assets.ts | 3 +- .../src/commands/handlers/console/login.ts | 2 +- packages/cli/src/commands/handlers/default.ts | 6 +- packages/cli/src/commands/handlers/mcp/add.ts | 2 +- packages/cli/src/config/config.ts | 2 +- packages/cli/src/framework/runtime.ts | 4 +- packages/cli/src/index.ts | 12 +-- packages/cli/src/mini-host.ts | 4 +- packages/cli/src/run/run.ts | 2 +- packages/cli/src/server-process.ts | 8 +- .../cli/src/services/server-connection.ts | 2 +- packages/cli/src/services/service-config.ts | 6 +- packages/cli/src/services/standalone.ts | 4 +- .../cli/src/services/update-preflight.tsx | 2 +- packages/cli/src/services/updater.ts | 8 +- packages/cli/test/config.test.ts | 2 +- packages/cli/test/import-boundaries.test.ts | 10 +++ packages/cli/test/mini.test.ts | 2 +- packages/cli/test/server-connection.test.ts | 4 +- packages/cli/test/service.test.ts | 88 +------------------ packages/core/package.json | 25 +----- packages/core/src/agent.ts | 2 +- packages/core/src/aisdk.ts | 2 +- packages/core/src/catalog.ts | 2 +- packages/core/src/command.ts | 4 +- packages/core/src/config.ts | 6 +- packages/core/src/config/plugin/agent.ts | 4 +- packages/core/src/config/plugin/command.ts | 2 +- packages/core/src/config/plugin/reference.ts | 2 +- packages/core/src/config/plugin/skill.ts | 2 +- packages/core/src/config/variable.ts | 2 +- .../core/src/control-plane/move-session.ts | 6 +- packages/core/src/credential.ts | 2 +- packages/core/src/database/database.ts | 8 +- packages/core/src/effect/app-node-builder.ts | 4 +- packages/core/src/event-logger.ts | 2 +- packages/core/src/event.ts | 2 +- packages/core/src/file-mutation.ts | 4 +- packages/core/src/filesystem.ts | 4 +- packages/core/src/filesystem/ignore.ts | 2 +- .../core/src/filesystem/location-watcher.ts | 4 +- packages/core/src/filesystem/search.ts | 6 +- packages/core/src/filesystem/watcher.ts | 4 +- packages/core/src/form.ts | 2 +- packages/core/src/generate.ts | 4 +- packages/core/src/git.ts | 6 +- packages/core/src/image.ts | 2 +- packages/core/src/instruction-discovery.ts | 8 +- packages/core/src/instructions/builtins.ts | 2 +- packages/core/src/integration.ts | 4 +- packages/core/src/job.ts | 2 +- packages/core/src/kv.ts | 2 +- packages/core/src/location-mutation.ts | 4 +- packages/core/src/location-service-map.ts | 4 +- packages/core/src/location-services.ts | 4 +- packages/core/src/location.ts | 4 +- packages/core/src/mcp/client.ts | 2 +- packages/core/src/mcp/index.ts | 4 +- packages/core/src/mcp/instructions.ts | 2 +- packages/core/src/models-dev.ts | 16 ++-- packages/core/src/permission.ts | 2 +- packages/core/src/permission/saved.ts | 2 +- packages/core/src/plugin.ts | 2 +- packages/core/src/plugin/agent.ts | 2 +- packages/core/src/plugin/hooks.ts | 2 +- packages/core/src/plugin/internal.ts | 6 +- packages/core/src/plugin/layer-map.example.ts | 2 +- .../plugin/provider/cloudflare-ai-gateway.ts | 2 +- .../plugin/provider/cloudflare-workers-ai.ts | 2 +- packages/core/src/plugin/provider/dynamic.ts | 2 +- .../src/plugin/provider/github-copilot.ts | 2 +- packages/core/src/plugin/provider/gitlab.ts | 2 +- packages/core/src/plugin/provider/openai.ts | 2 +- .../core/src/plugin/provider/sap-ai-core.ts | 2 +- packages/core/src/plugin/provider/xai.ts | 2 +- packages/core/src/plugin/runtime.ts | 2 +- packages/core/src/plugin/sdk.ts | 2 +- packages/core/src/plugin/skill.ts | 4 +- packages/core/src/plugin/supervisor.ts | 10 +-- packages/core/src/project.ts | 8 +- packages/core/src/project/copy.ts | 4 +- packages/core/src/project/directories.ts | 2 +- packages/core/src/provider.ts | 2 +- packages/core/src/pty.ts | 2 +- packages/core/src/pty/ticket.ts | 2 +- packages/core/src/question.ts | 2 +- packages/core/src/reference.ts | 4 +- packages/core/src/reference/instructions.ts | 2 +- packages/core/src/repository-cache.ts | 8 +- packages/core/src/ripgrep.ts | 4 +- packages/core/src/ripgrep/binary.ts | 10 +-- packages/core/src/session.ts | 8 +- packages/core/src/session/compaction.ts | 4 +- packages/core/src/session/context.ts | 2 +- packages/core/src/session/execution.ts | 2 +- .../core/src/session/execution/restart.ts | 2 +- packages/core/src/session/generate-node.ts | 4 +- .../core/src/session/instruction-entry.ts | 2 +- packages/core/src/session/instructions.ts | 4 +- packages/core/src/session/model-headers.ts | 4 +- packages/core/src/session/model-request.ts | 2 +- packages/core/src/session/projector.ts | 2 +- packages/core/src/session/runner/llm.ts | 4 +- packages/core/src/session/runner/model.ts | 4 +- packages/core/src/session/store.ts | 2 +- packages/core/src/session/title.ts | 4 +- packages/core/src/shell.ts | 6 +- packages/core/src/shell/select.ts | 4 +- packages/core/src/skill.ts | 4 +- packages/core/src/skill/discovery.ts | 10 +-- packages/core/src/skill/instructions.ts | 2 +- packages/core/src/snapshot.ts | 8 +- packages/core/src/tool-output-store.ts | 6 +- packages/core/src/tool/edit.ts | 2 +- packages/core/src/tool/glob.ts | 2 +- packages/core/src/tool/grep.ts | 2 +- packages/core/src/tool/hooks.ts | 2 +- packages/core/src/tool/mcp.ts | 2 +- packages/core/src/tool/patch.ts | 2 +- packages/core/src/tool/read-filesystem.ts | 4 +- packages/core/src/tool/read.ts | 2 +- packages/core/src/tool/registry.ts | 2 +- packages/core/src/tool/shell.ts | 2 +- packages/core/src/tool/skill.ts | 2 +- packages/core/src/tool/websearch.ts | 6 +- packages/core/src/util/process-lock.ts | 2 +- packages/core/src/util/which.ts | 2 +- packages/core/src/vcs.ts | 6 +- packages/core/src/vcs/git.ts | 2 +- packages/core/src/vcs/hg.ts | 4 +- packages/core/src/wellknown.ts | 4 +- packages/core/test/agent.test.ts | 2 +- packages/core/test/catalog.test.ts | 2 +- packages/core/test/config/agent.test.ts | 6 +- packages/core/test/config/command.test.ts | 4 +- packages/core/test/config/config.test.ts | 8 +- packages/core/test/config/plugin.test.ts | 2 +- packages/core/test/config/reload.test.ts | 2 +- packages/core/test/config/skill.test.ts | 2 +- packages/core/test/credential.test.ts | 2 +- packages/core/test/database-migration.test.ts | 2 +- .../test/effect/cross-spawn-spawner.test.ts | 4 +- .../layer-node/layer-node-types.test.ts | 4 +- .../test/effect/layer-node/layer-node.test.ts | 2 +- .../test/effect/layer-node/node-build.test.ts | 4 +- .../core/test/effect/observability.test.ts | 6 +- packages/core/test/event-logger.test.ts | 2 +- packages/core/test/event.test.ts | 2 +- packages/core/test/file-mutation.test.ts | 4 +- .../core/test/filesystem/filesystem.test.ts | 6 +- packages/core/test/filesystem/search.test.ts | 2 +- packages/core/test/filesystem/watcher.test.ts | 4 +- .../core/test/fixture/effect-flock-worker.ts | 4 +- packages/core/test/fixture/flock-worker.ts | 2 +- packages/core/test/form.test.ts | 2 +- packages/core/test/git.test.ts | 2 +- packages/core/test/global.test.ts | 2 +- .../core/test/instruction-discovery.test.ts | 6 +- packages/core/test/instruction-state.test.ts | 2 +- .../core/test/instructions/builtins.test.ts | 4 +- packages/core/test/integration.test.ts | 4 +- packages/core/test/kv.test.ts | 2 +- .../core/test/location-filesystem.test.ts | 2 +- packages/core/test/location-layer.test.ts | 2 +- packages/core/test/location-mutation.test.ts | 2 +- packages/core/test/logging.test.ts | 4 +- packages/core/test/mcp.test.ts | 2 +- packages/core/test/models.test.ts | 8 +- packages/core/test/move-session.test.ts | 2 +- packages/core/test/npm-config.test.ts | 2 +- packages/core/test/npm.test.ts | 4 +- packages/core/test/permission.test.ts | 2 +- packages/core/test/plugin/fixture.ts | 8 +- packages/core/test/plugin/models-dev.test.ts | 4 +- .../core/test/plugin/provider-dynamic.test.ts | 2 +- .../test/plugin/provider-sap-ai-core.test.ts | 2 +- packages/core/test/plugin/skill.test.ts | 4 +- packages/core/test/plugin/variant.test.ts | 2 +- packages/core/test/process/process.test.ts | 4 +- packages/core/test/project-copy.test.ts | 2 +- .../core/test/project-directories.test.ts | 2 +- packages/core/test/project.test.ts | 2 +- packages/core/test/pty/pty-session.test.ts | 2 +- packages/core/test/pty/ticket.test.ts | 2 +- packages/core/test/question.test.ts | 2 +- packages/core/test/reference.test.ts | 4 +- packages/core/test/repository-cache.test.ts | 4 +- packages/core/test/ripgrep.test.ts | 2 +- packages/core/test/session-compact.test.ts | 2 +- packages/core/test/session-compaction.test.ts | 8 +- packages/core/test/session-create.test.ts | 2 +- packages/core/test/session-execution.test.ts | 2 +- packages/core/test/session-generate.test.ts | 4 +- .../core/test/session-instructions.test.ts | 8 +- packages/core/test/session-log.test.ts | 2 +- packages/core/test/session-projector.test.ts | 2 +- packages/core/test/session-prompt.test.ts | 2 +- packages/core/test/session-remove.test.ts | 2 +- .../core/test/session-runner-recorded.test.ts | 4 +- packages/core/test/session-runner.test.ts | 10 +-- packages/core/test/session-skill.test.ts | 2 +- packages/core/test/session-title.test.ts | 8 +- .../core/test/session-tool-progress.test.ts | 2 +- packages/core/test/session-wait.test.ts | 2 +- packages/core/test/shell.test.ts | 2 +- packages/core/test/skill-discovery.test.ts | 2 +- packages/core/test/skill.test.ts | 4 +- packages/core/test/snapshot.test.ts | 4 +- packages/core/test/tool-edit.test.ts | 6 +- packages/core/test/tool-output-store.test.ts | 6 +- packages/core/test/tool-patch.test.ts | 6 +- packages/core/test/tool-question.test.ts | 4 +- .../core/test/tool-read-filesystem.test.ts | 6 +- packages/core/test/tool-read.test.ts | 8 +- packages/core/test/tool-search.test.ts | 6 +- packages/core/test/tool-shell.test.ts | 10 +-- packages/core/test/tool-skill.test.ts | 6 +- packages/core/test/tool-subagent.test.ts | 4 +- packages/core/test/tool-webfetch.test.ts | 6 +- packages/core/test/tool-websearch.test.ts | 6 +- packages/core/test/tool-write.test.ts | 6 +- packages/core/test/util/effect-flock.test.ts | 8 +- packages/core/test/util/flock.test.ts | 4 +- packages/core/test/vcs-hg.test.ts | 2 +- packages/core/test/vcs.test.ts | 2 +- packages/core/test/wellknown.test.ts | 2 +- packages/opencode/package.json | 1 + packages/opencode/src/account/account.ts | 6 +- packages/opencode/src/account/repo.ts | 4 +- packages/opencode/src/acp/directory.ts | 2 +- packages/opencode/src/acp/service.ts | 2 +- packages/opencode/src/acp/session.ts | 2 +- packages/opencode/src/acp/usage.ts | 4 +- packages/opencode/src/agent/agent.ts | 6 +- packages/opencode/src/auth/index.ts | 6 +- packages/opencode/src/cli/cmd/agent.ts | 2 +- packages/opencode/src/cli/cmd/debug/index.ts | 6 +- packages/opencode/src/cli/cmd/debug/scrap.ts | 2 +- packages/opencode/src/cli/cmd/import.ts | 2 +- packages/opencode/src/cli/cmd/mcp.ts | 4 +- packages/opencode/src/cli/cmd/plug.ts | 2 +- packages/opencode/src/cli/cmd/providers.ts | 2 +- packages/opencode/src/cli/cmd/serve.ts | 2 +- packages/opencode/src/cli/cmd/session.ts | 2 +- packages/opencode/src/cli/cmd/uninstall.ts | 2 +- packages/opencode/src/cli/cmd/upgrade.ts | 2 +- packages/opencode/src/cli/cmd/web.ts | 2 +- packages/opencode/src/cli/heap.ts | 4 +- packages/opencode/src/cli/upgrade.ts | 4 +- packages/opencode/src/command/index.ts | 2 +- packages/opencode/src/config/agent.ts | 2 +- packages/opencode/src/config/command.ts | 2 +- packages/opencode/src/config/config.ts | 18 ++-- packages/opencode/src/config/paths.ts | 6 +- packages/opencode/src/config/plugin.ts | 2 +- packages/opencode/src/config/tui-migrate.ts | 4 +- packages/opencode/src/config/tui.ts | 14 +-- .../opencode/src/control-plane/workspace.ts | 8 +- .../src/effect/app-node-builder-v1.ts | 2 +- packages/opencode/src/effect/app-runtime.ts | 10 +-- .../opencode/src/effect/bootstrap-runtime.ts | 6 +- packages/opencode/src/effect/run-service.ts | 4 +- packages/opencode/src/effect/runtime-flags.ts | 2 +- packages/opencode/src/env/index.ts | 4 +- packages/opencode/src/event-v2-bridge.ts | 2 +- packages/opencode/src/format/formatter.ts | 2 +- packages/opencode/src/format/index.ts | 6 +- packages/opencode/src/git/index.ts | 4 +- packages/opencode/src/image/image.ts | 2 +- packages/opencode/src/index.ts | 2 +- packages/opencode/src/installation/index.ts | 14 +-- packages/opencode/src/job.ts | 2 +- packages/opencode/src/lsp/lsp.ts | 4 +- packages/opencode/src/lsp/server.ts | 4 +- packages/opencode/src/mcp/auth.ts | 10 +-- packages/opencode/src/mcp/browser.ts | 2 +- packages/opencode/src/mcp/index.ts | 10 +-- packages/opencode/src/patch/index.ts | 2 +- packages/opencode/src/permission/index.ts | 2 +- packages/opencode/src/plugin/digitalocean.ts | 2 +- .../src/plugin/github-copilot/copilot.ts | 2 +- packages/opencode/src/plugin/index.ts | 4 +- packages/opencode/src/plugin/install.ts | 4 +- packages/opencode/src/plugin/loader.ts | 2 +- packages/opencode/src/plugin/meta.ts | 6 +- packages/opencode/src/plugin/openai/codex.ts | 2 +- packages/opencode/src/plugin/shared.ts | 2 +- .../opencode/src/plugin/snowflake-cortex.ts | 2 +- packages/opencode/src/plugin/tui/runtime.ts | 6 +- packages/opencode/src/plugin/xai.ts | 2 +- packages/opencode/src/project/bootstrap.ts | 2 +- .../opencode/src/project/instance-context.ts | 2 +- .../opencode/src/project/instance-store.ts | 8 +- packages/opencode/src/project/project.ts | 12 +-- packages/opencode/src/project/vcs.ts | 2 +- packages/opencode/src/provider/auth.ts | 4 +- packages/opencode/src/provider/provider.ts | 14 +-- packages/opencode/src/question/index.ts | 2 +- packages/opencode/src/server/auth.ts | 2 +- .../routes/instance/httpapi/handlers/file.ts | 2 +- .../instance/httpapi/handlers/global.ts | 2 +- .../instance/httpapi/handlers/instance.ts | 2 +- .../instance/httpapi/middleware/fence.ts | 2 +- .../httpapi/middleware/workspace-routing.ts | 2 +- .../server/routes/instance/httpapi/server.ts | 12 +-- .../instance/httpapi/websocket-tracker.ts | 2 +- packages/opencode/src/server/shared/ui.ts | 2 +- packages/opencode/src/session/compaction.ts | 4 +- packages/opencode/src/session/instruction.ts | 10 +-- packages/opencode/src/session/llm.ts | 6 +- packages/opencode/src/session/llm/request.ts | 2 +- packages/opencode/src/session/message-v2.ts | 2 +- packages/opencode/src/session/processor.ts | 2 +- packages/opencode/src/session/prompt.ts | 6 +- packages/opencode/src/session/reminders.ts | 2 +- packages/opencode/src/session/revert.ts | 2 +- packages/opencode/src/session/run-state.ts | 2 +- packages/opencode/src/session/session.ts | 8 +- packages/opencode/src/session/status.ts | 2 +- packages/opencode/src/session/summary.ts | 2 +- packages/opencode/src/session/system.ts | 2 +- packages/opencode/src/share/session.ts | 2 +- packages/opencode/src/share/share-next.ts | 6 +- packages/opencode/src/skill/discovery.ts | 8 +- packages/opencode/src/skill/index.ts | 8 +- packages/opencode/src/snapshot/index.ts | 10 +-- packages/opencode/src/storage/storage.ts | 6 +- packages/opencode/src/temporary.ts | 2 +- packages/opencode/src/tool/apply_patch.ts | 2 +- packages/opencode/src/tool/edit.ts | 2 +- .../opencode/src/tool/external-directory.ts | 2 +- packages/opencode/src/tool/glob.ts | 2 +- packages/opencode/src/tool/grep.ts | 2 +- packages/opencode/src/tool/lsp.ts | 2 +- packages/opencode/src/tool/read.ts | 2 +- packages/opencode/src/tool/registry.ts | 10 +-- packages/opencode/src/tool/shell.ts | 2 +- packages/opencode/src/tool/shell/prompt.ts | 2 +- packages/opencode/src/tool/truncate.ts | 4 +- packages/opencode/src/tool/truncation-dir.ts | 2 +- packages/opencode/src/tool/websearch.ts | 2 +- packages/opencode/src/tool/write.ts | 2 +- packages/opencode/src/util/bom.ts | 2 +- packages/opencode/src/util/filesystem.ts | 4 +- packages/opencode/src/util/repository.ts | 2 +- packages/opencode/src/worktree/index.ts | 10 +-- packages/opencode/test/account/repo.test.ts | 2 +- .../opencode/test/account/service.test.ts | 4 +- packages/opencode/test/acp/directory.test.ts | 2 +- packages/opencode/test/acp/event.test.ts | 2 +- packages/opencode/test/acp/permission.test.ts | 2 +- packages/opencode/test/acp/session.test.ts | 2 +- packages/opencode/test/acp/usage.test.ts | 2 +- packages/opencode/test/agent/agent.test.ts | 4 +- .../agent/plan-mode-subagent-bypass.test.ts | 2 +- .../agent/plugin-agent-regression.test.ts | 4 +- packages/opencode/test/auth/auth.test.ts | 2 +- .../test/cli/effect-cmd-instance-als.test.ts | 4 +- .../cli/tui/plugin-loader-entrypoint.test.ts | 2 +- .../test/cli/tui/plugin-loader.test.ts | 2 +- .../opencode/test/config/agent-color.test.ts | 2 +- packages/opencode/test/config/config.test.ts | 12 +-- packages/opencode/test/config/tui.test.ts | 6 +- .../test/control-plane/workspace.test.ts | 2 +- .../test/effect/app-runtime-logger.test.ts | 6 +- .../test/effect/instance-state.test.ts | 4 +- packages/opencode/test/fake/npm.ts | 2 +- .../test/filesystem/filesystem.test.ts | 4 +- packages/opencode/test/fixture/fixture.ts | 4 +- packages/opencode/test/fixture/flag.ts | 2 +- .../opencode/test/fixture/flock-worker.ts | 2 +- packages/opencode/test/fixture/workspace.ts | 4 +- packages/opencode/test/format/format.test.ts | 4 +- packages/opencode/test/git/git.test.ts | 2 +- packages/opencode/test/image/image.test.ts | 2 +- .../test/installation/installation.test.ts | 10 +-- packages/opencode/test/job.test.ts | 2 +- packages/opencode/test/lib/cli-process.ts | 6 +- packages/opencode/test/lib/effect.ts | 2 +- packages/opencode/test/lsp/index.test.ts | 4 +- packages/opencode/test/lsp/lifecycle.test.ts | 2 +- packages/opencode/test/mcp/auth.test.ts | 2 +- packages/opencode/test/mcp/headers.test.ts | 2 +- packages/opencode/test/mcp/lifecycle.test.ts | 2 +- .../test/mcp/oauth-auto-connect.test.ts | 6 +- .../opencode/test/mcp/oauth-browser.test.ts | 2 +- packages/opencode/test/patch/patch.test.ts | 4 +- .../opencode/test/permission-task.test.ts | 2 +- .../opencode/test/permission/next.test.ts | 4 +- .../test/plugin/auth-override.test.ts | 6 +- .../test/plugin/loader-shared.test.ts | 8 +- packages/opencode/test/plugin/trigger.test.ts | 6 +- .../test/plugin/workspace-adapter.test.ts | 4 +- .../test/project/instance-bootstrap.test.ts | 4 +- .../opencode/test/project/instance.test.ts | 4 +- .../test/project/migrate-global.test.ts | 4 +- .../test/project/project-directory.test.ts | 6 +- .../opencode/test/project/project.test.ts | 6 +- packages/opencode/test/project/vcs.test.ts | 6 +- .../test/project/worktree-remove.test.ts | 2 +- .../opencode/test/project/worktree.test.ts | 4 +- .../test/provider/amazon-bedrock.test.ts | 4 +- .../test/provider/digitalocean.test.ts | 2 +- .../opencode/test/provider/gitlab-duo.test.ts | 2 +- .../test/provider/header-timeout.test.ts | 4 +- .../opencode/test/provider/provider.test.ts | 8 +- .../opencode/test/question/question.test.ts | 4 +- packages/opencode/test/server/auth.test.ts | 2 +- .../test/server/global-session-list.test.ts | 4 +- .../opencode/test/server/httpapi-cors.test.ts | 2 +- .../server/httpapi-exercise/environment.ts | 2 +- .../test/server/httpapi-exercise/runner.ts | 2 +- .../test/server/httpapi-experimental.test.ts | 2 +- .../test/server/httpapi-instance.test.ts | 2 +- .../test/server/httpapi-listen.test.ts | 2 +- .../opencode/test/server/httpapi-mdns.test.ts | 2 +- .../test/server/httpapi-provider.test.ts | 4 +- .../server/httpapi-query-schema-drift.test.ts | 2 +- .../test/server/httpapi-reference.test.ts | 2 +- .../server/httpapi-schema-error-body.test.ts | 2 +- .../opencode/test/server/httpapi-sdk.test.ts | 8 +- .../test/server/httpapi-session.test.ts | 6 +- .../opencode/test/server/httpapi-sync.test.ts | 4 +- .../opencode/test/server/httpapi-ui.test.ts | 4 +- .../test/server/httpapi-workspace.test.ts | 4 +- .../server/negative-tokens-regression.test.ts | 2 +- .../opencode/test/server/project-copy.test.ts | 4 +- .../test/server/project-init-git.test.ts | 4 +- .../test/server/session-actions.test.ts | 2 +- .../server/session-diff-missing-patch.test.ts | 2 +- .../opencode/test/server/session-list.test.ts | 2 +- .../test/server/session-messages.test.ts | 2 +- .../test/server/session-select.test.ts | 2 +- .../server/worktree-endpoint-repro.test.ts | 2 +- .../opencode/test/session/compaction.test.ts | 4 +- .../opencode/test/session/instruction.test.ts | 8 +- .../test/session/llm-native-recorded.test.ts | 4 +- packages/opencode/test/session/llm.test.ts | 4 +- .../test/session/messages-pagination.test.ts | 2 +- .../test/session/processor-effect.test.ts | 4 +- packages/opencode/test/session/prompt.test.ts | 6 +- packages/opencode/test/session/retry.test.ts | 4 +- .../test/session/revert-compact.test.ts | 4 +- .../opencode/test/session/session.test.ts | 4 +- .../test/session/snapshot-tool-race.test.ts | 4 +- .../structured-output-integration.test.ts | 2 +- packages/opencode/test/session/system.test.ts | 2 +- .../opencode/test/share/share-next.test.ts | 6 +- .../opencode/test/skill/discovery.test.ts | 6 +- packages/opencode/test/skill/skill.test.ts | 8 +- .../opencode/test/snapshot/snapshot.test.ts | 6 +- .../opencode/test/storage/storage.test.ts | 8 +- .../opencode/test/tool/apply_patch.test.ts | 4 +- packages/opencode/test/tool/edit.test.ts | 4 +- .../test/tool/external-directory.test.ts | 4 +- packages/opencode/test/tool/glob.test.ts | 8 +- packages/opencode/test/tool/grep.test.ts | 8 +- packages/opencode/test/tool/lsp.test.ts | 6 +- packages/opencode/test/tool/question.test.ts | 2 +- packages/opencode/test/tool/read.test.ts | 8 +- packages/opencode/test/tool/registry.test.ts | 2 +- packages/opencode/test/tool/shell.test.ts | 6 +- packages/opencode/test/tool/skill.test.ts | 4 +- packages/opencode/test/tool/task.test.ts | 4 +- .../opencode/test/tool/tool-define.test.ts | 2 +- .../opencode/test/tool/truncation.test.ts | 6 +- packages/opencode/test/tool/webfetch.test.ts | 4 +- packages/opencode/test/tool/write.test.ts | 6 +- packages/opencode/test/util/glob.test.ts | 2 +- .../opencode/test/util/repository.test.ts | 2 +- packages/sdk-next/package.json | 1 + packages/sdk-next/test/embedded.test.ts | 2 +- packages/server/package.json | 1 + packages/server/src/handlers/health.ts | 2 +- packages/server/src/process.ts | 2 +- packages/server/src/pty-environment.ts | 2 +- packages/server/src/routes.ts | 6 +- packages/simulation/package.json | 1 + packages/simulation/src/backend/index.ts | 6 +- .../src/backend/simulated-provider.ts | 2 +- packages/simulation/src/frontend/server.ts | 2 +- .../test/simulated-provider.test.ts | 4 +- packages/tui/package.json | 1 + packages/tui/src/app.tsx | 4 +- packages/tui/src/component/dialog-debug.tsx | 2 +- .../tui/src/component/error-component.tsx | 2 +- packages/tui/src/component/prompt/index.tsx | 2 +- packages/tui/src/context/theme.tsx | 2 +- .../tui/src/feature-plugins/home/footer.tsx | 2 +- packages/tui/src/ui/dialog.tsx | 2 +- packages/tui/test/app-lifecycle.test.tsx | 2 +- packages/util/package.json | 50 +++++++++++ .../{core => util}/src/cross-spawn-spawner.ts | 0 .../src/util => util/src}/effect-flock.ts | 6 +- .../src/effect/app-node-platform.ts | 3 +- .../{core => util}/src/effect/app-node.ts | 0 .../{core => util}/src/effect/layer-node.ts | 0 .../{core => util}/src/effect/memo-map.ts | 0 packages/{core => util}/src/effect/runtime.ts | 0 .../{core => util}/src/effect/service-use.ts | 0 packages/{core/src/flag => util/src}/flag.ts | 0 packages/{core/src/util => util/src}/flock.ts | 0 packages/{core => util}/src/fs-util.ts | 2 +- packages/{core/src/util => util/src}/glob.ts | 0 packages/{core => util}/src/global.ts | 4 +- packages/{core/src/util => util/src}/hash.ts | 0 .../src/installation/version.ts | 0 packages/{core => util}/src/npm-config.ts | 2 +- packages/{core => util}/src/npm.ts | 2 +- packages/{core => util}/src/observability.ts | 0 .../src/observability/logging.ts | 0 .../{core => util}/src/observability/otlp.ts | 2 +- .../src/observability/shared.ts | 0 packages/{core => util}/src/process.ts | 0 .../{core => util}/src/runtime/import.bun.ts | 0 .../{core => util}/src/runtime/import.node.ts | 0 packages/util/tsconfig.json | 7 ++ 520 files changed, 1043 insertions(+), 1047 deletions(-) create mode 100644 packages/util/package.json rename packages/{core => util}/src/cross-spawn-spawner.ts (100%) rename packages/{core/src/util => util/src}/effect-flock.ts (98%) rename packages/{core => util}/src/effect/app-node-platform.ts (89%) rename packages/{core => util}/src/effect/app-node.ts (100%) rename packages/{core => util}/src/effect/layer-node.ts (100%) rename packages/{core => util}/src/effect/memo-map.ts (100%) rename packages/{core => util}/src/effect/runtime.ts (100%) rename packages/{core => util}/src/effect/service-use.ts (100%) rename packages/{core/src/flag => util/src}/flag.ts (100%) rename packages/{core/src/util => util/src}/flock.ts (100%) rename packages/{core => util}/src/fs-util.ts (99%) rename packages/{core/src/util => util/src}/glob.ts (100%) rename packages/{core => util}/src/global.ts (96%) rename packages/{core/src/util => util/src}/hash.ts (100%) rename packages/{core => util}/src/installation/version.ts (100%) rename packages/{core => util}/src/npm-config.ts (94%) rename packages/{core => util}/src/npm.ts (99%) rename packages/{core => util}/src/observability.ts (100%) rename packages/{core => util}/src/observability/logging.ts (100%) rename packages/{core => util}/src/observability/otlp.ts (98%) rename packages/{core => util}/src/observability/shared.ts (100%) rename packages/{core => util}/src/process.ts (100%) rename packages/{core => util}/src/runtime/import.bun.ts (100%) rename packages/{core => util}/src/runtime/import.node.ts (100%) create mode 100644 packages/util/tsconfig.json diff --git a/bun.lock b/bun.lock index 4f08f1b31b..1e54d62e39 100644 --- a/bun.lock +++ b/bun.lock @@ -126,14 +126,15 @@ "dependencies": { "@effect/platform-node": "catalog:", "@opencode-ai/client": "workspace:*", - "@opencode-ai/core": "workspace:*", "@opencode-ai/plugin": "workspace:*", "@opencode-ai/schema": "workspace:*", "@opencode-ai/server": "workspace:*", "@opencode-ai/tui": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opentui/core": "catalog:", "@opentui/solid": "catalog:", "@parcel/watcher": "2.5.1", + "@silvia-odwyer/photon-node": "0.3.4", "effect": "catalog:", "immer": "11.1.4", "jsonc-parser": "3.3.1", @@ -358,51 +359,38 @@ "@ai-sdk/vercel": "2.0.39", "@ai-sdk/xai": "3.0.102", "@aws-sdk/credential-providers": "3.1057.0", - "@effect/opentelemetry": "catalog:", "@effect/platform-node": "catalog:", "@effect/sql-sqlite-bun": "catalog:", "@ff-labs/fff-bun": "0.9.4", "@lydell/node-pty": "catalog:", "@modelcontextprotocol/sdk": "1.29.0", - "@npmcli/arborist": "9.4.0", - "@npmcli/config": "10.8.1", "@opencode-ai/ai": "workspace:*", "@opencode-ai/codemode": "workspace:*", "@opencode-ai/effect-drizzle-sqlite": "workspace:*", "@opencode-ai/effect-sqlite-node": "workspace:*", "@opencode-ai/plugin": "workspace:*", "@opencode-ai/schema": "workspace:*", + "@opencode-ai/util": "workspace:*", "@openrouter/ai-sdk-provider": "2.9.0", - "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "2.6.1", - "@opentelemetry/exporter-trace-otlp-http": "0.214.0", - "@opentelemetry/sdk-trace-base": "2.6.1", "@parcel/watcher": "2.5.1", "@silvia-odwyer/photon-node": "0.3.4", "ai-gateway-provider": "3.1.2", "bun-pty": "0.4.8", - "cross-spawn": "catalog:", "diff": "catalog:", "drizzle-orm": "catalog:", "effect": "catalog:", "fuzzysort": "3.1.0", "gitlab-ai-provider": "6.11.1", - "glob": "13.0.5", "google-auth-library": "10.5.0", "gray-matter": "4.0.3", "htmlparser2": "8.0.2", "ignore": "7.0.5", "immer": "11.1.4", "jsonc-parser": "3.3.1", - "mime-types": "3.0.2", - "minimatch": "10.2.5", - "npm-package-arg": "13.0.2", - "resolve.exports": "catalog:", "semver": "^7.6.3", "turndown": "7.2.0", "venice-ai-sdk-provider": "2.1.1", "which": "6.0.1", - "xdg-basedir": "5.1.0", "zod": "catalog:", }, "devDependencies": { @@ -417,10 +405,7 @@ "@parcel/watcher-win32-x64": "2.5.1", "@tsconfig/bun": "catalog:", "@types/bun": "catalog:", - "@types/cross-spawn": "catalog:", "@types/node": "catalog:", - "@types/npm-package-arg": "6.1.4", - "@types/npmcli__arborist": "6.3.3", "@types/semver": "catalog:", "@types/turndown": "5.0.5", "@types/which": "3.0.4", @@ -708,6 +693,7 @@ "@opencode-ai/core": "workspace:*", "@opencode-ai/http-recorder": "workspace:*", "@opencode-ai/script": "workspace:*", + "@opencode-ai/util": "workspace:*", "@standard-schema/spec": "1.0.0", "@tsconfig/bun": "catalog:", "@types/babel__core": "7.20.5", @@ -805,6 +791,7 @@ "@opencode-ai/plugin": "workspace:*", "@opencode-ai/schema": "workspace:*", "@opencode-ai/server": "workspace:*", + "@opencode-ai/util": "workspace:*", "effect": "catalog:", }, "devDependencies": { @@ -838,6 +825,7 @@ "@opencode-ai/core": "workspace:*", "@opencode-ai/protocol": "workspace:*", "@opencode-ai/simulation": "workspace:*", + "@opencode-ai/util": "workspace:*", "drizzle-orm": "catalog:", "effect": "catalog:", }, @@ -903,6 +891,7 @@ "@opencode-ai/ai": "workspace:*", "@opencode-ai/core": "workspace:*", "@opencode-ai/plugin": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opentui/core": "catalog:", "effect": "catalog:", }, @@ -1029,6 +1018,7 @@ "@opencode-ai/schema": "workspace:*", "@opencode-ai/simulation": "workspace:*", "@opencode-ai/ui": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opentui/core": "catalog:", "@opentui/keymap": "catalog:", "@opentui/solid": "catalog:", @@ -1103,6 +1093,38 @@ "solid-js": "^1.9.0", }, }, + "packages/util": { + "name": "@opencode-ai/util", + "version": "1.18.3", + "dependencies": { + "@effect/opentelemetry": "catalog:", + "@effect/platform-node": "catalog:", + "@npmcli/arborist": "catalog:", + "@npmcli/config": "10.8.1", + "@opencode-ai/ai": "workspace:*", + "@opentelemetry/api": "1.9.0", + "@opentelemetry/context-async-hooks": "2.6.1", + "@opentelemetry/exporter-trace-otlp-http": "0.214.0", + "@opentelemetry/sdk-trace-base": "2.6.1", + "cross-spawn": "catalog:", + "effect": "catalog:", + "glob": "13.0.5", + "mime-types": "3.0.2", + "minimatch": "10.2.5", + "npm-package-arg": "13.0.2", + "resolve.exports": "catalog:", + "xdg-basedir": "5.1.0", + }, + "devDependencies": { + "@tsconfig/bun": "catalog:", + "@types/bun": "catalog:", + "@types/cross-spawn": "catalog:", + "@types/node": "catalog:", + "@types/npm-package-arg": "6.1.4", + "@types/npmcli__arborist": "6.3.3", + "@typescript/native-preview": "catalog:", + }, + }, "packages/web": { "name": "@opencode-ai/web", "version": "1.18.3", @@ -2268,6 +2290,8 @@ "@opencode-ai/ui": ["@opencode-ai/ui@workspace:packages/ui"], + "@opencode-ai/util": ["@opencode-ai/util@workspace:packages/util"], + "@opencode-ai/web": ["@opencode-ai/web@workspace:packages/web"], "@opencode-ai/www": ["@opencode-ai/www@workspace:packages/www"], diff --git a/package.json b/package.json index c8b778f207..7bb37f946f 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "dev:www": "bun run --cwd packages/www dev", "dev:storybook": "bun --cwd packages/storybook storybook", "lint": "oxlint", - "lint:effect-patterns": "ast-grep scan -c script/ast-grep/sgconfig.yml packages/core/src packages/server/src packages/protocol/src packages/cli/src", + "lint:effect-patterns": "ast-grep scan -c script/ast-grep/sgconfig.yml packages/util/src packages/core/src packages/server/src packages/protocol/src packages/cli/src", "test:lint-rules": "ast-grep test -c script/ast-grep/sgconfig.yml", "typecheck": "bun turbo typecheck --concurrency=3", "typecheck:profile": "bun script/profile-typecheck.ts", diff --git a/packages/cli/package.json b/packages/cli/package.json index 144cf7368c..864bc0cda2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -25,14 +25,15 @@ "dependencies": { "@effect/platform-node": "catalog:", "@opencode-ai/client": "workspace:*", - "@opencode-ai/core": "workspace:*", "@opencode-ai/plugin": "workspace:*", "@opencode-ai/schema": "workspace:*", "@opencode-ai/server": "workspace:*", "@opencode-ai/tui": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opentui/core": "catalog:", "@opentui/solid": "catalog:", "@parcel/watcher": "2.5.1", + "@silvia-odwyer/photon-node": "0.3.4", "effect": "catalog:", "immer": "11.1.4", "jsonc-parser": "3.3.1", diff --git a/packages/cli/script/node-assets.ts b/packages/cli/script/node-assets.ts index 749a0f74c2..cde31db13f 100644 --- a/packages/cli/script/node-assets.ts +++ b/packages/cli/script/node-assets.ts @@ -1,6 +1,5 @@ import { createHash } from "node:crypto" import { copyFile, mkdir, readdir, readFile, stat } from "node:fs/promises" -import { createRequire } from "node:module" import path from "node:path" import { fileURLToPath } from "node:url" import { getNodeAssets } from "@opentui/core/node-assets" @@ -40,7 +39,7 @@ export async function collectNodeAssets(target: NodeTarget) { { key: target.parcelWatcherAsset, source: fileURLToPath(import.meta.resolve(target.parcelWatcherPackage)) }, { key: photonWasmAsset, - source: createRequire(path.resolve(dir, "../core/package.json")).resolve(photonWasmAsset), + source: fileURLToPath(import.meta.resolve(photonWasmAsset)), }, ...attentionSoundAssets.map((key) => ({ key, diff --git a/packages/cli/src/commands/handlers/console/login.ts b/packages/cli/src/commands/handlers/console/login.ts index cb2eee5193..380944d527 100644 --- a/packages/cli/src/commands/handlers/console/login.ts +++ b/packages/cli/src/commands/handlers/console/login.ts @@ -1,7 +1,7 @@ import { Cause, Effect, Exit, Option } from "effect" import { Service } from "@opencode-ai/client/effect/service" import { OpenCode, type OpenCodeClient } from "@opencode-ai/client/promise" -import { AppProcess } from "@opencode-ai/core/process" +import { AppProcess } from "@opencode-ai/util/process" import { Commands } from "../../commands" import { Runtime } from "../../../framework/runtime" import { ServiceConfig } from "../../../services/service-config" diff --git a/packages/cli/src/commands/handlers/default.ts b/packages/cli/src/commands/handlers/default.ts index 535003ed1a..325f2c2b3a 100644 --- a/packages/cli/src/commands/handlers/default.ts +++ b/packages/cli/src/commands/handlers/default.ts @@ -1,5 +1,5 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Global } from "@opencode-ai/core/global" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Global } from "@opencode-ai/util/global" import { run } from "@opencode-ai/tui" import { Commands } from "../commands" import { Runtime } from "../../framework/runtime" @@ -8,7 +8,7 @@ import { Context, Effect, FileSystem, Option } from "effect" import { ServerConnection } from "../../services/server-connection" import { Updater } from "../../services/updater" import { UpdatePreflight } from "../../services/update-preflight" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" export default Runtime.handler(Commands, (input) => Effect.gen(function* () { diff --git a/packages/cli/src/commands/handlers/mcp/add.ts b/packages/cli/src/commands/handlers/mcp/add.ts index dc582a0e00..0e173f6d97 100644 --- a/packages/cli/src/commands/handlers/mcp/add.ts +++ b/packages/cli/src/commands/handlers/mcp/add.ts @@ -3,7 +3,7 @@ import path from "node:path" import { readFile, stat, writeFile } from "node:fs/promises" import { Effect, Option } from "effect" import { applyEdits, modify } from "jsonc-parser" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Commands } from "../../commands" import { Runtime } from "../../../framework/runtime" diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index d9f01b3fce..e655802b7b 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -1,6 +1,6 @@ export * as Config from "./config" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Context, Effect, FileSystem, Layer, Option, Schema, Semaphore } from "effect" import { produce, type Draft } from "immer" import { applyEdits, modify, parse, type ParseError } from "jsonc-parser" diff --git a/packages/cli/src/framework/runtime.ts b/packages/cli/src/framework/runtime.ts index a353a38a20..a2ad9e8cbf 100644 --- a/packages/cli/src/framework/runtime.ts +++ b/packages/cli/src/framework/runtime.ts @@ -1,10 +1,10 @@ import { Effect, FileSystem, Scope } from "effect" import { Command } from "effect/unstable/cli" import { Spec } from "./spec" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Updater } from "../services/updater" import { Config } from "../config" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" export type Input = Value extends Spec.Node diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 7ee80846ed..9adc55714b 100755 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -4,14 +4,14 @@ import { NodeRuntime, NodeServices } from "@effect/platform-node" import { Effect } from "effect" import { Commands } from "./commands/commands" import { Runtime } from "./framework/runtime" -import { Observability } from "@opencode-ai/core/observability" +import { Observability } from "@opencode-ai/util/observability" import { Updater } from "./services/updater" -import { InstallationChannel, InstallationVersion, InstallationLocal } from "@opencode-ai/core/installation/version" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Global } from "@opencode-ai/core/global" -import { AppProcess } from "@opencode-ai/core/process" +import { InstallationChannel, InstallationVersion, InstallationLocal } from "@opencode-ai/util/installation/version" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Global } from "@opencode-ai/util/global" +import { AppProcess } from "@opencode-ai/util/process" import { Config } from "./config" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" const Handlers = Runtime.handlers(Commands, { $: () => import("./commands/handlers/default"), diff --git a/packages/cli/src/mini-host.ts b/packages/cli/src/mini-host.ts index 05f8b5edd3..f6b892d381 100644 --- a/packages/cli/src/mini-host.ts +++ b/packages/cli/src/mini-host.ts @@ -1,6 +1,6 @@ import type { MiniFrontendInput } from "@opencode-ai/tui/mini" -import { Flag } from "@opencode-ai/core/flag/flag" -import { Global } from "@opencode-ai/core/global" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" import fs from "node:fs" import { mkdir, readFile, writeFile } from "node:fs/promises" import path from "node:path" diff --git a/packages/cli/src/run/run.ts b/packages/cli/src/run/run.ts index 6ebec1b3c4..496bdfa86d 100644 --- a/packages/cli/src/run/run.ts +++ b/packages/cli/src/run/run.ts @@ -1,6 +1,6 @@ import { Service, type Endpoint } from "@opencode-ai/client/effect/service" import { OpenCode, type OpenCodeClient, type SessionMessageAssistantTool } from "@opencode-ai/client/promise" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { open } from "node:fs/promises" import path from "node:path" import { readStdin } from "../util/io" diff --git a/packages/cli/src/server-process.ts b/packages/cli/src/server-process.ts index 6cc4b7e7dd..aabd9dba4f 100644 --- a/packages/cli/src/server-process.ts +++ b/packages/cli/src/server-process.ts @@ -2,10 +2,10 @@ export * as ServerProcess from "./server-process" import { NodeServices } from "@effect/platform-node" import { Service, type DiscoverOptions, type Info } from "@opencode-ai/client/effect/service" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Global } from "@opencode-ai/core/global" -import { InstallationVersion } from "@opencode-ai/core/installation/version" -import { AppProcess } from "@opencode-ai/core/process" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Global } from "@opencode-ai/util/global" +import { InstallationVersion } from "@opencode-ai/util/installation/version" +import { AppProcess } from "@opencode-ai/util/process" import { randomBytes, randomUUID } from "node:crypto" import path from "node:path" import { Effect, FileSystem, Logger, Option, Redacted, Schedule, Schema } from "effect" diff --git a/packages/cli/src/services/server-connection.ts b/packages/cli/src/services/server-connection.ts index 2fa3967252..70bd2fcda2 100644 --- a/packages/cli/src/services/server-connection.ts +++ b/packages/cli/src/services/server-connection.ts @@ -1,6 +1,6 @@ import { Service, type Endpoint, type EnsureOptions } from "@opencode-ai/client/effect/service" import { ClientError, isUnauthorizedError, OpenCode } from "@opencode-ai/client/promise" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect, Redacted } from "effect" import { Env } from "../env" import { ServiceConfig } from "./service-config" diff --git a/packages/cli/src/services/service-config.ts b/packages/cli/src/services/service-config.ts index abcaf00dcf..b96bb578c8 100644 --- a/packages/cli/src/services/service-config.ts +++ b/packages/cli/src/services/service-config.ts @@ -1,6 +1,6 @@ -import { Global } from "@opencode-ai/core/global" -import { InstallationChannel, InstallationVersion } from "@opencode-ai/core/installation/version" -import { Hash } from "@opencode-ai/core/util/hash" +import { Global } from "@opencode-ai/util/global" +import { InstallationChannel, InstallationVersion } from "@opencode-ai/util/installation/version" +import { Hash } from "@opencode-ai/util/hash" import { Service } from "@opencode-ai/client/effect/service" import { Effect, FileSystem, Option, Schema } from "effect" import { randomBytes } from "crypto" diff --git a/packages/cli/src/services/standalone.ts b/packages/cli/src/services/standalone.ts index 899af8153f..3a98a578e4 100644 --- a/packages/cli/src/services/standalone.ts +++ b/packages/cli/src/services/standalone.ts @@ -1,6 +1,6 @@ import { Service, type Endpoint } from "@opencode-ai/client/effect/service" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Deferred, Effect, Schema, Stream } from "effect" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" import { randomBytes } from "node:crypto" diff --git a/packages/cli/src/services/update-preflight.tsx b/packages/cli/src/services/update-preflight.tsx index f1dc57c460..87a4c46ed7 100644 --- a/packages/cli/src/services/update-preflight.tsx +++ b/packages/cli/src/services/update-preflight.tsx @@ -3,7 +3,7 @@ // version-mismatched background service before the TUI attaches. import { createCliRenderer, RGBA, TextAttributes, type CliRenderer, type ThemeMode } from "@opentui/core" import { render, useTerminalDimensions } from "@opentui/solid" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { registerOpencodeSpinner } from "@opencode-ai/tui/component/register-spinner" import { SPINNER_FRAMES } from "@opencode-ai/tui/component/spinner" import { go } from "@opencode-ai/tui/logo" diff --git a/packages/cli/src/services/updater.ts b/packages/cli/src/services/updater.ts index fd46b90084..fe8642d197 100644 --- a/packages/cli/src/services/updater.ts +++ b/packages/cli/src/services/updater.ts @@ -1,11 +1,11 @@ -import { Global } from "@opencode-ai/core/global" -import { Flag } from "@opencode-ai/core/flag/flag" -import { AppProcess } from "@opencode-ai/core/process" +import { Global } from "@opencode-ai/util/global" +import { Flag } from "@opencode-ai/util/flag" +import { AppProcess } from "@opencode-ai/util/process" import { InstallationChannel, InstallationLocal, InstallationVersion, -} from "@opencode-ai/core/installation/version" +} from "@opencode-ai/util/installation/version" import { Context, Duration, Effect, FileSystem, Layer } from "effect" import { ChildProcess } from "effect/unstable/process" import { parse, type ParseError } from "jsonc-parser" diff --git a/packages/cli/test/config.test.ts b/packages/cli/test/config.test.ts index 41c023d1a1..db0074edb2 100644 --- a/packages/cli/test/config.test.ts +++ b/packages/cli/test/config.test.ts @@ -1,5 +1,5 @@ import { NodeFileSystem } from "@effect/platform-node" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Effect } from "effect" import { expect, test } from "bun:test" import path from "path" diff --git a/packages/cli/test/import-boundaries.test.ts b/packages/cli/test/import-boundaries.test.ts index 039ea97637..f0eef3cbd8 100644 --- a/packages/cli/test/import-boundaries.test.ts +++ b/packages/cli/test/import-boundaries.test.ts @@ -5,6 +5,16 @@ import path from "node:path" const root = path.resolve(import.meta.dir, "../../..") describe("CLI frontend import boundaries", () => { + test("does not import Core directly", async () => { + const glob = new Bun.Glob("{src,test}/**/*.{ts,tsx}") + const imports: string[] = [] + for await (const file of glob.scan({ cwd: path.join(root, "packages/cli") })) { + const source = await Bun.file(path.join(root, "packages/cli", file)).text() + if (/["']@opencode-ai\/core(?:\/[^"']*)?["']/.test(source)) imports.push(file) + } + expect(imports).toEqual([]) + }) + test("exposes only the intentional package entrypoints", async () => { const run = await import("@opencode-ai/cli/run") const mini = await import("@opencode-ai/tui/mini") diff --git a/packages/cli/test/mini.test.ts b/packages/cli/test/mini.test.ts index 357506d6c2..50af6e205f 100644 --- a/packages/cli/test/mini.test.ts +++ b/packages/cli/test/mini.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" import { ClientError, OpenCode } from "@opencode-ai/client/promise" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import path from "node:path" import { createMiniConnection, mergeInput as mergeInteractiveInput, resolveMiniTarget } from "../src/mini" import { mergeInput as mergeNonInteractiveInput, parseRunModel } from "../src/run/run" diff --git a/packages/cli/test/server-connection.test.ts b/packages/cli/test/server-connection.test.ts index 41a061f57c..c5407f7f32 100644 --- a/packages/cli/test/server-connection.test.ts +++ b/packages/cli/test/server-connection.test.ts @@ -1,6 +1,6 @@ import { NodeFileSystem } from "@effect/platform-node" -import { Global } from "@opencode-ai/core/global" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { Global } from "@opencode-ai/util/global" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { expect, test } from "bun:test" import { Effect, FileSystem, Scope } from "effect" import fs from "node:fs/promises" diff --git a/packages/cli/test/service.test.ts b/packages/cli/test/service.test.ts index 23a1f96b47..801fe5ad77 100644 --- a/packages/cli/test/service.test.ts +++ b/packages/cli/test/service.test.ts @@ -1,18 +1,9 @@ import { NodeFileSystem } from "@effect/platform-node" import { Service, type Info } from "@opencode-ai/client/effect/service" -import { Database } from "@opencode-ai/core/database/database" -import { EventV2 } from "@opencode-ai/core/event" -import { EventTable } from "@opencode-ai/core/event/sql" -import { Global } from "@opencode-ai/core/global" -import { InstallationVersion } from "@opencode-ai/core/installation/version" -import { Project } from "@opencode-ai/core/project" -import { ProjectTable } from "@opencode-ai/core/project/sql" -import { AbsolutePath } from "@opencode-ai/core/schema" -import { SessionV2 } from "@opencode-ai/core/session" -import { SessionEvent } from "@opencode-ai/core/session/event" -import { SessionTable } from "@opencode-ai/core/session/sql" +import { Global } from "@opencode-ai/util/global" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { expect, test } from "bun:test" -import { Effect, Schedule, Schema } from "effect" +import { Effect, Schema } from "effect" import fs from "node:fs/promises" import os from "node:os" import path from "node:path" @@ -204,31 +195,6 @@ test("concurrent service processes elect one server", async () => { XDG_DATA_HOME: path.join(root, "data"), XDG_STATE_HOME: path.join(root, "state"), } - const sessionID = SessionV2.ID.make("ses_service_recovery") - await withDatabase( - database, - Effect.gen(function* () { - const { db } = yield* Database.Service - yield* db - .insert(ProjectTable) - .values({ id: Project.ID.global, worktree: AbsolutePath.make(root), sandboxes: [] }) - .run() - .pipe(Effect.orDie) - yield* db - .insert(SessionTable) - .values({ - id: sessionID, - project_id: Project.ID.global, - slug: "recovery", - directory: root, - title: "recovery", - version: "test", - time_suspended: Date.now(), - }) - .run() - .pipe(Effect.orDie) - }), - ) const command = [process.execPath, path.join(import.meta.dir, "../src/index.ts"), "serve", "--service"] const registration = path.join(root, "state", "opencode", "service-local.json") const port = await availablePort() @@ -281,20 +247,6 @@ test("concurrent service processes elect one server", async () => { contender.kill("SIGTERM") await contender.exited } - expect( - await withDatabase( - database, - Effect.gen(function* () { - const { db } = yield* Database.Service - return yield* db - .select({ timeSuspended: SessionTable.time_suspended }) - .from(SessionTable) - .get() - .pipe(Effect.orDie) - }), - ), - ).toEqual({ timeSuspended: null }) - expect(await waitForExecutionStart(database, sessionID)).toBe(1) await Effect.runPromise(Service.stop({ file: registration }).pipe(Effect.provide(NodeFileSystem.layer))) await winner?.exited expect(await Bun.file(registration).exists()).toBe(false) @@ -529,40 +481,6 @@ test("a failed service stays registered and owns the selected port until stopped } }, 30_000) -function withDatabase(file: string, effect: Effect.Effect) { - return Effect.runPromise(effect.pipe(Effect.provide(Database.layerFromPath(file)), Effect.scoped)) -} - -function waitForExecutionStart(file: string, sessionID: SessionV2.ID) { - return withDatabase( - file, - Effect.gen(function* () { - const { db } = yield* Database.Service - return yield* db - .select({ id: EventTable.id, sessionID: EventTable.aggregate_id, type: EventTable.type }) - .from(EventTable) - .all() - .pipe( - Effect.orDie, - Effect.map((rows) => - rows.filter( - (row) => - row.sessionID === sessionID && - row.type === - EventV2.versionedType( - SessionEvent.Execution.Started.type, - SessionEvent.Execution.Started.durable.version, - ), - ), - ), - Effect.filterOrFail((rows) => rows.length > 0), - Effect.map((rows) => rows.length), - Effect.retry(Schedule.max([Schedule.spaced("50 millis"), Schedule.recurs(200)])), - ) - }), - ) -} - async function waitForInfo(file: string, accept: (info: Info) => boolean = () => true) { for (let attempt = 0; attempt < 400; attempt++) { const value = await Bun.file(file) diff --git a/packages/core/package.json b/packages/core/package.json index 5168904371..13d38c9fc6 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -16,7 +16,6 @@ "opencode": "./bin/opencode" }, "exports": { - "./effect/layer-node": "./src/effect/layer-node.ts", "./effect/app-node": "./src/effect/app-node.ts", "./session/runner": "./src/session/runner/index.ts", "./instructions": "./src/instructions/index.ts", @@ -44,9 +43,9 @@ "default": "./src/image/photon-wasm.bun.ts" }, "#runtime-import": { - "bun": "./src/runtime/import.bun.ts", - "node": "./src/runtime/import.node.ts", - "default": "./src/runtime/import.bun.ts" + "bun": "@opencode-ai/util/runtime/import.bun", + "node": "@opencode-ai/util/runtime/import.node", + "default": "@opencode-ai/util/runtime/import.bun" }, "#process-lock-ffi": { "bun": "./src/util/process-lock-ffi.bun.ts", @@ -57,10 +56,7 @@ "devDependencies": { "@tsconfig/bun": "catalog:", "@types/bun": "catalog:", - "@types/cross-spawn": "catalog:", "@types/node": "catalog:", - "@types/npm-package-arg": "6.1.4", - "@types/npmcli__arborist": "6.3.3", "@types/semver": "catalog:", "@types/turndown": "5.0.5", "@types/which": "3.0.4", @@ -97,51 +93,38 @@ "@ai-sdk/vercel": "2.0.39", "@ai-sdk/xai": "3.0.102", "@aws-sdk/credential-providers": "3.1057.0", - "@effect/opentelemetry": "catalog:", "@effect/platform-node": "catalog:", "@effect/sql-sqlite-bun": "catalog:", "@lydell/node-pty": "catalog:", "@modelcontextprotocol/sdk": "1.29.0", "@ff-labs/fff-bun": "0.9.4", - "@npmcli/arborist": "9.4.0", - "@npmcli/config": "10.8.1", "@opencode-ai/codemode": "workspace:*", "@opencode-ai/effect-drizzle-sqlite": "workspace:*", "@opencode-ai/effect-sqlite-node": "workspace:*", "@opencode-ai/ai": "workspace:*", "@opencode-ai/schema": "workspace:*", "@opencode-ai/plugin": "workspace:*", - "@opentelemetry/api": "1.9.0", - "@opentelemetry/context-async-hooks": "2.6.1", - "@opentelemetry/exporter-trace-otlp-http": "0.214.0", - "@opentelemetry/sdk-trace-base": "2.6.1", + "@opencode-ai/util": "workspace:*", "@parcel/watcher": "2.5.1", "@silvia-odwyer/photon-node": "0.3.4", "@openrouter/ai-sdk-provider": "2.9.0", "ai-gateway-provider": "3.1.2", "bun-pty": "0.4.8", - "cross-spawn": "catalog:", "diff": "catalog:", "drizzle-orm": "catalog:", "effect": "catalog:", "fuzzysort": "3.1.0", "gitlab-ai-provider": "6.11.1", - "glob": "13.0.5", "google-auth-library": "10.5.0", "gray-matter": "4.0.3", "htmlparser2": "8.0.2", "immer": "11.1.4", "ignore": "7.0.5", "jsonc-parser": "3.3.1", - "mime-types": "3.0.2", - "minimatch": "10.2.5", - "npm-package-arg": "13.0.2", - "resolve.exports": "catalog:", "semver": "^7.6.3", "turndown": "7.2.0", "venice-ai-sdk-provider": "2.1.1", "which": "6.0.1", - "xdg-basedir": "5.1.0", "zod": "catalog:" }, "overrides": { diff --git a/packages/core/src/agent.ts b/packages/core/src/agent.ts index 822eab9a4a..23f1fd1240 100644 --- a/packages/core/src/agent.ts +++ b/packages/core/src/agent.ts @@ -1,6 +1,6 @@ export * as AgentV2 from "./agent" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Array, Context, Effect, Layer, Types } from "effect" import { Agent } from "@opencode-ai/schema/agent" import { EventV2 } from "./event" diff --git a/packages/core/src/aisdk.ts b/packages/core/src/aisdk.ts index f4f9b03f71..d81d625057 100644 --- a/packages/core/src/aisdk.ts +++ b/packages/core/src/aisdk.ts @@ -1,6 +1,6 @@ export * as AISDK from "./aisdk" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import type { JSONSchema7, JSONValue, diff --git a/packages/core/src/catalog.ts b/packages/core/src/catalog.ts index c12793b358..9f63444790 100644 --- a/packages/core/src/catalog.ts +++ b/packages/core/src/catalog.ts @@ -1,6 +1,6 @@ export * as Catalog from "./catalog" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Array, Context, Effect, Layer, Option, Order, pipe } from "effect" import { Catalog } from "@opencode-ai/schema/catalog" import { ModelV2 } from "./model" diff --git a/packages/core/src/command.ts b/packages/core/src/command.ts index ff3ffe353e..29f7fb3efe 100644 --- a/packages/core/src/command.ts +++ b/packages/core/src/command.ts @@ -1,12 +1,12 @@ export * as CommandV2 from "./command" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Schema, Types } from "effect" import { Command } from "@opencode-ai/schema/command" import { State } from "./state" import { MCP } from "./mcp/index" import { EventV2 } from "./event" -import { AppProcess } from "./process" +import { AppProcess } from "@opencode-ai/util/process" import { ChildProcess } from "effect/unstable/process" import { Config } from "./config" import { Location } from "./location" diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index b3f762b228..12c7096de1 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -1,6 +1,6 @@ export * as Config from "./config" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import path from "path" import { isDeepStrictEqual } from "node:util" import { type ParseError, parse } from "jsonc-parser" @@ -11,8 +11,8 @@ import { Integration } from "@opencode-ai/schema/integration" import { Credential } from "./credential" import { EventV2 } from "./event" import { Watcher } from "./filesystem/watcher" -import { FSUtil } from "./fs-util" -import { Global } from "./global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Location } from "./location" import { AbsolutePath } from "./schema" import { ConfigAgent } from "./config/agent" diff --git a/packages/core/src/config/plugin/agent.ts b/packages/core/src/config/plugin/agent.ts index 8ec2c15a63..1254576e22 100644 --- a/packages/core/src/config/plugin/agent.ts +++ b/packages/core/src/config/plugin/agent.ts @@ -7,10 +7,10 @@ import { AgentV2 } from "../../agent" import { Config } from "../../config" import { ConfigAgent } from "../agent" import { ConfigMarkdown } from "../markdown" -import { FSUtil } from "../../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { ConfigAgentV1 } from "../../v1/config/agent" import { ConfigMigrateV1 } from "../../v1/config/migrate" -import { Global } from "../../global" +import { Global } from "@opencode-ai/util/global" import { PermissionV2 } from "../../permission" import type { LocationMutation } from "../../location-mutation" import type { ReadTool } from "../../tool/read" diff --git a/packages/core/src/config/plugin/command.ts b/packages/core/src/config/plugin/command.ts index 90b1920ee4..29de7eddb5 100644 --- a/packages/core/src/config/plugin/command.ts +++ b/packages/core/src/config/plugin/command.ts @@ -5,7 +5,7 @@ import path from "path" import { Effect, Option, Schema, Stream } from "effect" import { CommandV2 } from "../../command" import { Config } from "../../config" -import { FSUtil } from "../../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { ConfigCommand } from "../command" import { ConfigMarkdown } from "../markdown" diff --git a/packages/core/src/config/plugin/reference.ts b/packages/core/src/config/plugin/reference.ts index 75e0cc10e4..a790a7cc54 100644 --- a/packages/core/src/config/plugin/reference.ts +++ b/packages/core/src/config/plugin/reference.ts @@ -7,7 +7,7 @@ import { Config } from "../../config" import { ConfigReference } from "../reference" import { Reference } from "../../reference" import { AbsolutePath } from "../../schema" -import { Global } from "../../global" +import { Global } from "@opencode-ai/util/global" import { Location } from "../../location" export const Plugin = define({ diff --git a/packages/core/src/config/plugin/skill.ts b/packages/core/src/config/plugin/skill.ts index de2f28ac9c..c4271c4843 100644 --- a/packages/core/src/config/plugin/skill.ts +++ b/packages/core/src/config/plugin/skill.ts @@ -6,7 +6,7 @@ import { Effect, Stream } from "effect" import { Config } from "../../config" import { AbsolutePath } from "../../schema" import { SkillV2 } from "../../skill" -import { Global } from "../../global" +import { Global } from "@opencode-ai/util/global" import { Location } from "../../location" export const Plugin = define({ diff --git a/packages/core/src/config/variable.ts b/packages/core/src/config/variable.ts index 3bb1d22dd3..539d88413b 100644 --- a/packages/core/src/config/variable.ts +++ b/packages/core/src/config/variable.ts @@ -3,7 +3,7 @@ export * as ConfigVariable from "./variable" import os from "os" import path from "path" import { Effect } from "effect" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { InvalidError } from "../v1/config/error" type ParseSource = diff --git a/packages/core/src/control-plane/move-session.ts b/packages/core/src/control-plane/move-session.ts index 1fadfea1e2..b5d229b715 100644 --- a/packages/core/src/control-plane/move-session.ts +++ b/packages/core/src/control-plane/move-session.ts @@ -1,10 +1,10 @@ export * as MoveSession from "./move-session" import { Context, DateTime, Effect, Layer, Schema } from "effect" -import { makeGlobalNode } from "../effect/app-node" -import { FSUtil } from "../fs-util" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Git } from "../git" -import { Global } from "../global" +import { Global } from "@opencode-ai/util/global" import { ProjectV2 } from "../project" import { SessionV2 } from "../session" import { SessionExecution } from "../session/execution" diff --git a/packages/core/src/credential.ts b/packages/core/src/credential.ts index 5540739709..be8b97db3d 100644 --- a/packages/core/src/credential.ts +++ b/packages/core/src/credential.ts @@ -5,7 +5,7 @@ import { Context, Effect, Layer, Schema } from "effect" import { Credential } from "@opencode-ai/schema/credential" import { Integration } from "@opencode-ai/schema/integration" import { Database } from "./database/database" -import { makeGlobalNode } from "./effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { CredentialTable } from "./credential/sql" export const ID = Credential.ID diff --git a/packages/core/src/database/database.ts b/packages/core/src/database/database.ts index e6c36d75b8..658faa88f8 100644 --- a/packages/core/src/database/database.ts +++ b/packages/core/src/database/database.ts @@ -3,12 +3,12 @@ export * as Database from "./database" import { EffectDrizzleSqlite } from "@opencode-ai/effect-drizzle-sqlite" import { layer } from "#sqlite" import { Context, Effect, Layer } from "effect" -import { Global } from "../global" -import { Flag } from "../flag/flag" +import { Global } from "@opencode-ai/util/global" +import { Flag } from "@opencode-ai/util/flag" import { isAbsolute, join } from "path" import { DatabaseMigration } from "./migration" -import { InstallationChannel } from "../installation/version" -import { makeGlobalNode } from "../effect/app-node" +import { InstallationChannel } from "@opencode-ai/util/installation/version" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" const makeDatabase = EffectDrizzleSqlite.makeWithDefaults() type DatabaseShape = Effect.Success diff --git a/packages/core/src/effect/app-node-builder.ts b/packages/core/src/effect/app-node-builder.ts index 5f01469dab..e6cc934ca1 100644 --- a/packages/core/src/effect/app-node-builder.ts +++ b/packages/core/src/effect/app-node-builder.ts @@ -1,7 +1,7 @@ import { buildLocationServiceMap } from "../location-services" import { LocationServiceMap } from "../location-service-map" -import { LayerNode } from "./layer-node" -import { makeGlobalNode } from "./app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" export function build(root: LayerNode.Node, replacements: LayerNode.Replacements = []) { let allReplacements = replacements diff --git a/packages/core/src/event-logger.ts b/packages/core/src/event-logger.ts index f07c96320e..12cc9c490e 100644 --- a/packages/core/src/event-logger.ts +++ b/packages/core/src/event-logger.ts @@ -1,7 +1,7 @@ export * as EventLogger from "./event-logger" import { Effect, Layer } from "effect" -import { makeGlobalNode } from "./effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { EventV2 } from "./event" const Types = new Set([ diff --git a/packages/core/src/event.ts b/packages/core/src/event.ts index 8a199fc609..759a55721d 100644 --- a/packages/core/src/event.ts +++ b/packages/core/src/event.ts @@ -8,7 +8,7 @@ import { and, asc, eq, gt, inArray, lte, sql } from "drizzle-orm" import { Database } from "./database/database" import { EventSequenceTable, EventTable } from "./event/sql" import { Location } from "./location" -import { makeGlobalNode } from "./effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { isDeepStrictEqual } from "node:util" import { Durable } from "@opencode-ai/schema/durable-event-manifest" diff --git a/packages/core/src/file-mutation.ts b/packages/core/src/file-mutation.ts index 7981bb26de..d11144d576 100644 --- a/packages/core/src/file-mutation.ts +++ b/packages/core/src/file-mutation.ts @@ -1,10 +1,10 @@ export * as FileMutation from "./file-mutation" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Schema } from "effect" import { dirname } from "path" import { KeyedMutex } from "./effect/keyed-mutex" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" export interface Target { readonly canonical: string diff --git a/packages/core/src/filesystem.ts b/packages/core/src/filesystem.ts index f1dafd5c55..3d0f54af6c 100644 --- a/packages/core/src/filesystem.ts +++ b/packages/core/src/filesystem.ts @@ -1,9 +1,9 @@ export * as FileSystem from "./filesystem" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import path from "path" import { Context, Effect, Layer, Schema } from "effect" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "./location" import { PositiveInt, RelativePath } from "./schema" import { FileSystemSearch } from "./filesystem/search" diff --git a/packages/core/src/filesystem/ignore.ts b/packages/core/src/filesystem/ignore.ts index 4d88eb5e87..ff64c80b40 100644 --- a/packages/core/src/filesystem/ignore.ts +++ b/packages/core/src/filesystem/ignore.ts @@ -1,4 +1,4 @@ -import { Glob } from "../util/glob" +import { Glob } from "@opencode-ai/util/glob" const FOLDERS = new Set([ "node_modules", diff --git a/packages/core/src/filesystem/location-watcher.ts b/packages/core/src/filesystem/location-watcher.ts index 7765a396e8..ff18d2cbee 100644 --- a/packages/core/src/filesystem/location-watcher.ts +++ b/packages/core/src/filesystem/location-watcher.ts @@ -1,13 +1,13 @@ export * as LocationWatcher from "./location-watcher" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Stream } from "effect" import { FileSystem } from "@opencode-ai/schema/filesystem" import os from "os" import path from "path" import { Config } from "../config" import { EventV2 } from "../event" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Git } from "../git" import { Location } from "../location" import { Watcher } from "./watcher" diff --git a/packages/core/src/filesystem/search.ts b/packages/core/src/filesystem/search.ts index a2b21d32cd..4195527f76 100644 --- a/packages/core/src/filesystem/search.ts +++ b/packages/core/src/filesystem/search.ts @@ -1,16 +1,16 @@ export * as FileSystemSearch from "./search" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import path from "path" import { Context, Effect, Layer, Scope } from "effect" import { Fff } from "#fff" import fuzzysort from "fuzzysort" import { FileSystem } from "../filesystem" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "../location" import { Ripgrep } from "../ripgrep" import { RelativePath } from "../schema" -import { Flag } from "../flag/flag" +import { Flag } from "@opencode-ai/util/flag" export interface Interface { readonly find: (input: FileSystem.FindInput) => Effect.Effect diff --git a/packages/core/src/filesystem/watcher.ts b/packages/core/src/filesystem/watcher.ts index 8c4e6265a2..e72f0c5843 100644 --- a/packages/core/src/filesystem/watcher.ts +++ b/packages/core/src/filesystem/watcher.ts @@ -4,10 +4,10 @@ export * as Watcher from "./watcher" import { createWrapper } from "@parcel/watcher/wrapper" import type ParcelWatcher from "@parcel/watcher" import { FileSystem } from "@opencode-ai/schema/filesystem" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { Cause, Context, Effect, Layer, PubSub, Scope, Stream } from "effect" import { KeyedMutex } from "../effect/keyed-mutex" -import { Flag } from "../flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { lazy } from "../util/lazy" import { watch as watchFileSystem } from "node:fs" import path from "path" diff --git a/packages/core/src/form.ts b/packages/core/src/form.ts index 30ae70e16c..bef4ad4f54 100644 --- a/packages/core/src/form.ts +++ b/packages/core/src/form.ts @@ -2,7 +2,7 @@ export * as Form from "./form" import { Form } from "@opencode-ai/schema/form" import { Cache, Context, Deferred, Duration, Effect, Exit, Layer, Option, Schema } from "effect" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { EventV2 } from "./event" const RETENTION = Duration.minutes(10) diff --git a/packages/core/src/generate.ts b/packages/core/src/generate.ts index 3dbc86dc62..9304bbb001 100644 --- a/packages/core/src/generate.ts +++ b/packages/core/src/generate.ts @@ -3,8 +3,8 @@ export * as Generate from "./generate" import { LLM, LLMClient, LLMError } from "@opencode-ai/ai" import { Context, Effect, Layer, Schema } from "effect" import { Catalog } from "./catalog" -import { makeLocationNode } from "./effect/app-node" -import { llmClient } from "./effect/app-node-platform" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" import { Integration } from "./integration" import { ModelV2 } from "./model" import { SessionRunnerModel } from "./session/runner/model" diff --git a/packages/core/src/git.ts b/packages/core/src/git.ts index 8ac4ed203b..989e15ae3b 100644 --- a/packages/core/src/git.ts +++ b/packages/core/src/git.ts @@ -5,9 +5,9 @@ import { randomUUID } from "crypto" import { Context, Effect, Layer, Schema, Stream } from "effect" import { ChildProcess } from "effect/unstable/process" import { AbsolutePath, RelativePath } from "./schema" -import { FSUtil } from "./fs-util" -import { AppProcess } from "./process" -import { makeGlobalNode } from "./effect/app-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { AppProcess } from "@opencode-ai/util/process" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { File } from "./file" import { KeyedMutex } from "./effect/keyed-mutex" diff --git a/packages/core/src/image.ts b/packages/core/src/image.ts index 5551d06cd4..f24b222590 100644 --- a/packages/core/src/image.ts +++ b/packages/core/src/image.ts @@ -1,6 +1,6 @@ export * as Image from "./image" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Schema } from "effect" import { Config } from "./config" import { FileSystem } from "./filesystem" diff --git a/packages/core/src/instruction-discovery.ts b/packages/core/src/instruction-discovery.ts index f838083b40..fd109d82ed 100644 --- a/packages/core/src/instruction-discovery.ts +++ b/packages/core/src/instruction-discovery.ts @@ -2,13 +2,13 @@ export * as InstructionDiscovery from "./instruction-discovery" import { Array, Context, Effect, Layer, Schema } from "effect" import { isAbsolute, join, relative, sep } from "path" -import { FSUtil } from "./fs-util" -import { Flag } from "./flag/flag" -import { Global } from "./global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" import { Location } from "./location" import { AbsolutePath } from "./schema" import { Instructions } from "./instructions/index" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" class File extends Schema.Class("InstructionDiscovery.File")({ path: AbsolutePath, diff --git a/packages/core/src/instructions/builtins.ts b/packages/core/src/instructions/builtins.ts index f8ce9b5535..03b38d75b7 100644 --- a/packages/core/src/instructions/builtins.ts +++ b/packages/core/src/instructions/builtins.ts @@ -1,6 +1,6 @@ export * as InstructionBuiltIns from "./builtins" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, DateTime, Effect, Layer, Schema } from "effect" import { Location } from "../location" import { SessionSchema } from "../session/schema" diff --git a/packages/core/src/integration.ts b/packages/core/src/integration.ts index 88b947d10d..5c9548bccb 100644 --- a/packages/core/src/integration.ts +++ b/packages/core/src/integration.ts @@ -1,6 +1,6 @@ export * as Integration from "./integration" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Cause, Clock, @@ -22,7 +22,7 @@ import { Credential } from "./credential" import { State } from "./state" import { EventV2 } from "./event" import { IntegrationConnection } from "./integration/connection" -import { AppProcess } from "./process" +import { AppProcess } from "@opencode-ai/util/process" import { ChildProcess } from "effect/unstable/process" export const ID = Integration.ID diff --git a/packages/core/src/job.ts b/packages/core/src/job.ts index ff5f40d39c..eb2efb2fd1 100644 --- a/packages/core/src/job.ts +++ b/packages/core/src/job.ts @@ -1,7 +1,7 @@ export * as Job from "./job" import { Cause, Clock, Context, Deferred, Effect, Exit, Layer, Scope, SynchronizedRef } from "effect" -import { makeGlobalNode } from "./effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { Identifier } from "./id/id" import { SessionSchema } from "./session/schema" diff --git a/packages/core/src/kv.ts b/packages/core/src/kv.ts index 9bc0d10094..92b7bd9c2c 100644 --- a/packages/core/src/kv.ts +++ b/packages/core/src/kv.ts @@ -3,7 +3,7 @@ export * as KV from "./kv" import { eq } from "drizzle-orm" import { Context, Effect, Layer, Schema } from "effect" import { Database } from "./database/database" -import { makeGlobalNode } from "./effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { KVTable } from "./kv/sql" export type Value = Schema.Json diff --git a/packages/core/src/location-mutation.ts b/packages/core/src/location-mutation.ts index 74b028de85..3c15d9a2a4 100644 --- a/packages/core/src/location-mutation.ts +++ b/packages/core/src/location-mutation.ts @@ -1,9 +1,9 @@ export * as LocationMutation from "./location-mutation" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import path from "path" import { Context, Effect, Layer, Schema } from "effect" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "./location" import { Project } from "./project" import { AbsolutePath } from "./schema" diff --git a/packages/core/src/location-service-map.ts b/packages/core/src/location-service-map.ts index 1a6c26737d..c79837b04e 100644 --- a/packages/core/src/location-service-map.ts +++ b/packages/core/src/location-service-map.ts @@ -1,6 +1,6 @@ import { Context, Effect, Layer, LayerMap } from "effect" -import { LayerNode } from "./effect/layer-node" -import { Node } from "./effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Node } from "@opencode-ai/util/effect/app-node" import { Location } from "./location" import type { LocationError, LocationServices } from "./location-services" diff --git a/packages/core/src/location-services.ts b/packages/core/src/location-services.ts index 47e3f6dd2f..d4ddcecbf2 100644 --- a/packages/core/src/location-services.ts +++ b/packages/core/src/location-services.ts @@ -4,8 +4,8 @@ import { AISDK } from "./aisdk" import { Catalog } from "./catalog" import { CommandV2 } from "./command" import { Config } from "./config" -import { LayerNode } from "./effect/layer-node" -import { Node } from "./effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Node } from "@opencode-ai/util/effect/app-node" import { EventV2 } from "./event" import { FileMutation } from "./file-mutation" import { FileSystem } from "./filesystem" diff --git a/packages/core/src/location.ts b/packages/core/src/location.ts index 8228b8599e..f5ccabf8c5 100644 --- a/packages/core/src/location.ts +++ b/packages/core/src/location.ts @@ -1,8 +1,8 @@ import { Context, Effect, Layer } from "effect" import { Info, Ref, response } from "@opencode-ai/schema/location" import { Project } from "./project" -import { LayerNode } from "./effect/layer-node" -import { makeLocationNode, tags } from "./effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeLocationNode, tags } from "@opencode-ai/util/effect/app-node" export * as Location from "./location" diff --git a/packages/core/src/mcp/client.ts b/packages/core/src/mcp/client.ts index 5f48cba649..98e125bfca 100644 --- a/packages/core/src/mcp/client.ts +++ b/packages/core/src/mcp/client.ts @@ -29,7 +29,7 @@ import { } from "@modelcontextprotocol/sdk/types.js" import { Cause, Effect, Exit, Schema } from "effect" import { ConfigMCP } from "../config/mcp" -import { InstallationVersion } from "../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" const DEFAULT_STARTUP_TIMEOUT = 30_000 const DEFAULT_CATALOG_TIMEOUT = 30_000 diff --git a/packages/core/src/mcp/index.ts b/packages/core/src/mcp/index.ts index 7586f26272..d8807ae4c8 100644 --- a/packages/core/src/mcp/index.ts +++ b/packages/core/src/mcp/index.ts @@ -5,7 +5,7 @@ import { McpEvent } from "@opencode-ai/schema/mcp-event" import { Command } from "@opencode-ai/schema/command" import { createHash } from "node:crypto" import { Cause, Context, Deferred, Effect, Exit, FiberSet, Layer, Schema, Scope, Stream } from "effect" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Config } from "../config" import { ConfigMCP } from "../config/mcp" import { Credential } from "../credential" @@ -15,7 +15,7 @@ import { Integration } from "../integration" import { IntegrationConnection } from "../integration/connection" import { KeyedMutex } from "../effect/keyed-mutex" import { Location } from "../location" -import { waitForAbort } from "../process" +import { waitForAbort } from "@opencode-ai/util/process" import { State } from "../state" import { MCPClient } from "./client" import { MCPOAuth } from "./oauth" diff --git a/packages/core/src/mcp/instructions.ts b/packages/core/src/mcp/instructions.ts index 6c0be1dc73..e41a108bc3 100644 --- a/packages/core/src/mcp/instructions.ts +++ b/packages/core/src/mcp/instructions.ts @@ -1,6 +1,6 @@ export * as McpInstructions from "./instructions" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Schema } from "effect" import { AgentV2 } from "../agent" import { PermissionV2 } from "../permission" diff --git a/packages/core/src/models-dev.ts b/packages/core/src/models-dev.ts index 0caf414cce..bfecd5c74e 100644 --- a/packages/core/src/models-dev.ts +++ b/packages/core/src/models-dev.ts @@ -3,15 +3,15 @@ import { Context, Duration, Effect, Layer, Option, Schedule, Schema } from "effe import { HttpClient, HttpClientRequest } from "effect/unstable/http" import { ModelsDev } from "@opencode-ai/schema/models-dev" import { Money } from "@opencode-ai/schema/money" -import { Global } from "./global" -import { Flag } from "./flag/flag" -import { Flock } from "./util/flock" -import { Hash } from "./util/hash" -import { FSUtil } from "./fs-util" -import { InstallationChannel, InstallationVersion } from "./installation/version" +import { Global } from "@opencode-ai/util/global" +import { Flag } from "@opencode-ai/util/flag" +import { Flock } from "@opencode-ai/util/flock" +import { Hash } from "@opencode-ai/util/hash" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { InstallationChannel, InstallationVersion } from "@opencode-ai/util/installation/version" import { EventV2 } from "./event" -import { makeGlobalNode } from "./effect/app-node" -import { httpClient } from "./effect/app-node-platform" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { ModelV2 } from "./model" import { ProviderV2 } from "./provider" diff --git a/packages/core/src/permission.ts b/packages/core/src/permission.ts index 29a8e3720a..1a93f4f58d 100644 --- a/packages/core/src/permission.ts +++ b/packages/core/src/permission.ts @@ -1,6 +1,6 @@ export * as PermissionV2 from "./permission" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Deferred, Effect, Layer, Schema } from "effect" import { Permission } from "@opencode-ai/schema/permission" import { EventV2 } from "./event" diff --git a/packages/core/src/permission/saved.ts b/packages/core/src/permission/saved.ts index ffc4559afe..a973ae3e1b 100644 --- a/packages/core/src/permission/saved.ts +++ b/packages/core/src/permission/saved.ts @@ -3,7 +3,7 @@ export * as PermissionSaved from "./saved" import { eq } from "drizzle-orm" import { Context, Effect, Layer, Schema } from "effect" import { Database } from "../database/database" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { ProjectV2 } from "../project" import { PermissionTable } from "./sql" import { PermissionSaved } from "@opencode-ai/schema/permission-saved" diff --git a/packages/core/src/plugin.ts b/packages/core/src/plugin.ts index 4054873851..59c5373679 100644 --- a/packages/core/src/plugin.ts +++ b/packages/core/src/plugin.ts @@ -2,7 +2,7 @@ export * as PluginV2 from "./plugin" import type { Plugin } from "@opencode-ai/plugin/v2/effect/plugin" import { Event, ID, type Info } from "@opencode-ai/schema/plugin" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Exit, Layer, Scope, Semaphore } from "effect" import { AgentV2 } from "./agent" import { AISDK } from "./aisdk" diff --git a/packages/core/src/plugin/agent.ts b/packages/core/src/plugin/agent.ts index 8b94e219ae..080cdb1ebe 100644 --- a/packages/core/src/plugin/agent.ts +++ b/packages/core/src/plugin/agent.ts @@ -4,7 +4,7 @@ import path from "path" import { define } from "@opencode-ai/plugin/v2/effect/plugin" import { Effect } from "effect" import { AgentV2 } from "../agent" -import { Global } from "../global" +import { Global } from "@opencode-ai/util/global" import { Location } from "../location" import { PermissionV2 } from "../permission" diff --git a/packages/core/src/plugin/hooks.ts b/packages/core/src/plugin/hooks.ts index 4ac437d392..5538601c91 100644 --- a/packages/core/src/plugin/hooks.ts +++ b/packages/core/src/plugin/hooks.ts @@ -4,7 +4,7 @@ import type { AISDKHooks } from "@opencode-ai/plugin/v2/effect/aisdk" import type { SessionHooks } from "@opencode-ai/plugin/v2/effect/session" import type { ToolHooks } from "@opencode-ai/plugin/v2/effect/tool" import { Context, Effect, Layer, Scope } from "effect" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { State } from "../state" export interface Domains { diff --git a/packages/core/src/plugin/internal.ts b/packages/core/src/plugin/internal.ts index 69725e2c24..2488c1c6fd 100644 --- a/packages/core/src/plugin/internal.ts +++ b/packages/core/src/plugin/internal.ts @@ -17,14 +17,14 @@ import { EventV2 } from "../event" import { FileMutation } from "../file-mutation" import { Form } from "../form" import { FileSystem } from "../filesystem" -import { FSUtil } from "../fs-util" -import { Global } from "../global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Image } from "../image" import { Integration } from "../integration" import { Location } from "../location" import { LocationMutation } from "../location-mutation" import { ModelsDev } from "../models-dev" -import { Npm } from "../npm" +import { Npm } from "@opencode-ai/util/npm" import { PermissionV2 } from "../permission" import { Reference } from "../reference" import { Ripgrep } from "../ripgrep" diff --git a/packages/core/src/plugin/layer-map.example.ts b/packages/core/src/plugin/layer-map.example.ts index 63e33d3f0c..8a8dc1795a 100644 --- a/packages/core/src/plugin/layer-map.example.ts +++ b/packages/core/src/plugin/layer-map.example.ts @@ -1,7 +1,7 @@ export * as LayerMapExample from "./layer-map.example" import { Context, Effect, Layer, LayerMap } from "effect" -import { Npm } from "../npm" +import { Npm } from "@opencode-ai/util/npm" /** * Tutorial: split global services from context-specific services. diff --git a/packages/core/src/plugin/provider/cloudflare-ai-gateway.ts b/packages/core/src/plugin/provider/cloudflare-ai-gateway.ts index 0602549614..a24cd711b3 100644 --- a/packages/core/src/plugin/provider/cloudflare-ai-gateway.ts +++ b/packages/core/src/plugin/provider/cloudflare-ai-gateway.ts @@ -1,5 +1,5 @@ import os from "os" -import { InstallationVersion } from "../../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect, Option, Schema } from "effect" import { define } from "@opencode-ai/plugin/v2/effect/plugin" diff --git a/packages/core/src/plugin/provider/cloudflare-workers-ai.ts b/packages/core/src/plugin/provider/cloudflare-workers-ai.ts index c3aa50fbb4..435d7086c2 100644 --- a/packages/core/src/plugin/provider/cloudflare-workers-ai.ts +++ b/packages/core/src/plugin/provider/cloudflare-workers-ai.ts @@ -1,5 +1,5 @@ import os from "os" -import { InstallationVersion } from "../../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect } from "effect" import { define } from "@opencode-ai/plugin/v2/effect/plugin" import { ProviderV2 } from "../../provider" diff --git a/packages/core/src/plugin/provider/dynamic.ts b/packages/core/src/plugin/provider/dynamic.ts index 97bfd15ebd..e5876a5a82 100644 --- a/packages/core/src/plugin/provider/dynamic.ts +++ b/packages/core/src/plugin/provider/dynamic.ts @@ -1,7 +1,7 @@ import { Effect } from "effect" import { pathToFileURL } from "url" import { define } from "@opencode-ai/plugin/v2/effect/plugin" -import { Npm } from "../../npm" +import { Npm } from "@opencode-ai/util/npm" import { importModule } from "#runtime-import" export const DynamicProviderPlugin = define({ diff --git a/packages/core/src/plugin/provider/github-copilot.ts b/packages/core/src/plugin/provider/github-copilot.ts index 324a937a5c..68ed4591c7 100644 --- a/packages/core/src/plugin/provider/github-copilot.ts +++ b/packages/core/src/plugin/provider/github-copilot.ts @@ -4,7 +4,7 @@ import { Catalog } from "../../catalog" import { Credential } from "../../credential" import { EventV2 } from "../../event" import { CopilotModels } from "../../github-copilot/models" -import { InstallationVersion } from "../../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Integration } from "../../integration" import { ModelV2 } from "../../model" import { define } from "@opencode-ai/plugin/v2/effect/plugin" diff --git a/packages/core/src/plugin/provider/gitlab.ts b/packages/core/src/plugin/provider/gitlab.ts index a413c85d7d..9cb3974f1d 100644 --- a/packages/core/src/plugin/provider/gitlab.ts +++ b/packages/core/src/plugin/provider/gitlab.ts @@ -1,5 +1,5 @@ import os from "os" -import { InstallationVersion } from "../../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect } from "effect" import { define } from "@opencode-ai/plugin/v2/effect/plugin" import { ProviderV2 } from "../../provider" diff --git a/packages/core/src/plugin/provider/openai.ts b/packages/core/src/plugin/provider/openai.ts index 013388aa55..195fdd317b 100644 --- a/packages/core/src/plugin/provider/openai.ts +++ b/packages/core/src/plugin/provider/openai.ts @@ -4,7 +4,7 @@ import { define } from "@opencode-ai/plugin/v2/effect/plugin" import { Deferred, Effect, Option, Schema, Semaphore, Stream } from "effect" import { Credential } from "../../credential" import { EventV2 } from "../../event" -import { InstallationVersion } from "../../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Integration } from "../../integration" import { ModelV2 } from "../../model" import { OauthCallbackPage } from "../../oauth/page" diff --git a/packages/core/src/plugin/provider/sap-ai-core.ts b/packages/core/src/plugin/provider/sap-ai-core.ts index 581a028cf9..07b19a9f24 100644 --- a/packages/core/src/plugin/provider/sap-ai-core.ts +++ b/packages/core/src/plugin/provider/sap-ai-core.ts @@ -1,7 +1,7 @@ import { Effect } from "effect" import { pathToFileURL } from "url" import { define } from "@opencode-ai/plugin/v2/effect/plugin" -import { Npm } from "../../npm" +import { Npm } from "@opencode-ai/util/npm" import { ProviderV2 } from "../../provider" import { importModule } from "#runtime-import" diff --git a/packages/core/src/plugin/provider/xai.ts b/packages/core/src/plugin/provider/xai.ts index 617bb0f871..647c560ad0 100644 --- a/packages/core/src/plugin/provider/xai.ts +++ b/packages/core/src/plugin/provider/xai.ts @@ -3,7 +3,7 @@ import type { IntegrationOAuthMethodRegistration } from "@opencode-ai/plugin/v2/ import { define } from "@opencode-ai/plugin/v2/effect/plugin" import { Clock, Deferred, Effect, Option, Schema } from "effect" import { Credential } from "../../credential" -import { InstallationVersion } from "../../installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Integration } from "../../integration" import { OauthCallbackPage } from "../../oauth/page" import { ProviderV2 } from "../../provider" diff --git a/packages/core/src/plugin/runtime.ts b/packages/core/src/plugin/runtime.ts index e07bb2b031..4bb85f059d 100644 --- a/packages/core/src/plugin/runtime.ts +++ b/packages/core/src/plugin/runtime.ts @@ -2,7 +2,7 @@ export * as PluginRuntime from "./runtime" import { Context, Effect, Layer } from "effect" import { AgentV2 } from "../agent" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { Job } from "../job" import { Location } from "../location" import { LocationServiceMap } from "../location-service-map" diff --git a/packages/core/src/plugin/sdk.ts b/packages/core/src/plugin/sdk.ts index 56df0813dd..99861d90d5 100644 --- a/packages/core/src/plugin/sdk.ts +++ b/packages/core/src/plugin/sdk.ts @@ -2,7 +2,7 @@ export * as SdkPlugins from "./sdk" import type { Plugin } from "@opencode-ai/plugin/v2/effect/plugin" import { Context, Effect, Layer } from "effect" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { EventV2 } from "../event" import type { PluginV2 } from "../plugin" diff --git a/packages/core/src/plugin/skill.ts b/packages/core/src/plugin/skill.ts index f5fa0a4ea5..ed2cdccb64 100644 --- a/packages/core/src/plugin/skill.ts +++ b/packages/core/src/plugin/skill.ts @@ -6,10 +6,10 @@ import { define } from "@opencode-ai/plugin/v2/effect/plugin" import { Effect } from "effect" import { AbsolutePath } from "../schema" import { SkillV2 } from "../skill" -import { InstallationChannel, InstallationVersion } from "../installation/version" +import { InstallationChannel, InstallationVersion } from "@opencode-ai/util/installation/version" import { Config } from "../config" import { Location } from "../location" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import os from "os" import path from "path" import { fileURLToPath } from "url" diff --git a/packages/core/src/plugin/supervisor.ts b/packages/core/src/plugin/supervisor.ts index ee91e4cfc3..1e0b604952 100644 --- a/packages/core/src/plugin/supervisor.ts +++ b/packages/core/src/plugin/supervisor.ts @@ -10,20 +10,20 @@ import { Catalog } from "../catalog" import { CommandV2 } from "../command" import { Config } from "../config" import { ConfigPlugin } from "../config/plugin" -import { makeLocationNode } from "../effect/app-node" -import { httpClient } from "../effect/app-node-platform" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { EventV2 } from "../event" import { FileMutation } from "../file-mutation" import { FileSystem } from "../filesystem" import { Form } from "../form" -import { FSUtil } from "../fs-util" -import { Global } from "../global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Image } from "../image" import { Integration } from "../integration" import { Location } from "../location" import { LocationMutation } from "../location-mutation" import { ModelsDev } from "../models-dev" -import { Npm } from "../npm" +import { Npm } from "@opencode-ai/util/npm" import { PermissionV2 } from "../permission" import { PluginV2 } from "../plugin" import { PluginPromise } from "../plugin/promise" diff --git a/packages/core/src/project.ts b/packages/core/src/project.ts index 1539d56f4f..30ea465407 100644 --- a/packages/core/src/project.ts +++ b/packages/core/src/project.ts @@ -7,11 +7,11 @@ import { asc, desc } from "drizzle-orm" import path from "path" import { AbsolutePath } from "./schema" import { Database } from "./database/database" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Git } from "./git" -import { AppProcess } from "./process" -import { makeGlobalNode } from "./effect/app-node" -import { Hash } from "./util/hash" +import { AppProcess } from "@opencode-ai/util/process" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { Hash } from "@opencode-ai/util/hash" import { ProjectDirectories } from "./project/directories" import { ProjectSchema } from "./project/schema" import { ProjectTable } from "./project/sql" diff --git a/packages/core/src/project/copy.ts b/packages/core/src/project/copy.ts index 9183e26eb9..8b09eb7886 100644 --- a/packages/core/src/project/copy.ts +++ b/packages/core/src/project/copy.ts @@ -3,9 +3,9 @@ export * as ProjectCopy from "./copy" import { Context, Effect, Layer, Schema } from "effect" import path from "path" import { AbsolutePath } from "../schema" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Git } from "../git" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Project } from "../project" import { ProjectDirectories } from "./directories" import { makeGitWorktreeStrategy } from "./copy-strategies" diff --git a/packages/core/src/project/directories.ts b/packages/core/src/project/directories.ts index fa4995c26d..ef0064c5d8 100644 --- a/packages/core/src/project/directories.ts +++ b/packages/core/src/project/directories.ts @@ -3,7 +3,7 @@ export * as ProjectDirectories from "./directories" import { and, asc, desc, eq, isNotNull, isNull, ne, or } from "drizzle-orm" import { Context, Effect, Layer, Schema } from "effect" import { Database } from "../database/database" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { AbsolutePath } from "../schema" import { ProjectSchema } from "./schema" import { ProjectDirectoryTable } from "./sql" diff --git a/packages/core/src/provider.ts b/packages/core/src/provider.ts index f4db71ca83..fd8be3d788 100644 --- a/packages/core/src/provider.ts +++ b/packages/core/src/provider.ts @@ -3,7 +3,7 @@ export * as ProviderV2 from "./provider" import { Effect, Schema } from "effect" import { Provider } from "@opencode-ai/schema/provider" import type { ProviderPackageDefinition } from "@opencode-ai/ai" -import { Npm } from "./npm" +import { Npm } from "@opencode-ai/util/npm" import type { DeepMutable } from "./schema" import { importModule, resolveModule } from "#runtime-import" diff --git a/packages/core/src/pty.ts b/packages/core/src/pty.ts index 4111aaa31a..21f6c6f6ab 100644 --- a/packages/core/src/pty.ts +++ b/packages/core/src/pty.ts @@ -1,6 +1,6 @@ export * as Pty from "./pty" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import type { Disp, Proc } from "#pty" import { Context, Effect, Layer, Schema, Types } from "effect" import { Pty } from "@opencode-ai/schema/pty" diff --git a/packages/core/src/pty/ticket.ts b/packages/core/src/pty/ticket.ts index 2f227aa142..f434c36791 100644 --- a/packages/core/src/pty/ticket.ts +++ b/packages/core/src/pty/ticket.ts @@ -4,7 +4,7 @@ import { WorkspaceV2 } from "../workspace" import { PtyTicket } from "@opencode-ai/schema/pty-ticket" import { PtyID } from "./schema" import { Cache, Context, Duration, Effect, Layer } from "effect" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" const DEFAULT_TTL = Duration.seconds(60) const CAPACITY = 10_000 diff --git a/packages/core/src/question.ts b/packages/core/src/question.ts index 1b57cfcfe2..3961ad5b1f 100644 --- a/packages/core/src/question.ts +++ b/packages/core/src/question.ts @@ -1,6 +1,6 @@ export * as QuestionV2 from "./question" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Deferred, Effect, Layer, Schema } from "effect" import { Question } from "@opencode-ai/schema/question" import { EventV2 } from "./event" diff --git a/packages/core/src/reference.ts b/packages/core/src/reference.ts index 3c0e7bb479..414af3ba32 100644 --- a/packages/core/src/reference.ts +++ b/packages/core/src/reference.ts @@ -1,9 +1,9 @@ export * as Reference from "./reference" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Scope, Types } from "effect" import { Reference } from "@opencode-ai/schema/reference" -import { Global } from "./global" +import { Global } from "@opencode-ai/util/global" import { EventV2 } from "./event" import { Repository } from "./repository" import { RepositoryCache } from "./repository-cache" diff --git a/packages/core/src/reference/instructions.ts b/packages/core/src/reference/instructions.ts index 7e09946790..83632ba585 100644 --- a/packages/core/src/reference/instructions.ts +++ b/packages/core/src/reference/instructions.ts @@ -1,6 +1,6 @@ export * as ReferenceInstructions from "./instructions" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Schema } from "effect" import { Reference } from "../reference" import { Instructions } from "../instructions/index" diff --git a/packages/core/src/repository-cache.ts b/packages/core/src/repository-cache.ts index 988236743b..7e02a459e0 100644 --- a/packages/core/src/repository-cache.ts +++ b/packages/core/src/repository-cache.ts @@ -1,12 +1,12 @@ import path from "path" import { Context, Effect, Layer, Schema } from "effect" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Git } from "./git" -import { Global } from "./global" +import { Global } from "@opencode-ai/util/global" import { Repository } from "./repository" import { AbsolutePath } from "./schema" -import { makeGlobalNode } from "./effect/app-node" -import { EffectFlock } from "./util/effect-flock" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { EffectFlock } from "@opencode-ai/util/effect-flock" export type Result = { readonly repository: string diff --git a/packages/core/src/ripgrep.ts b/packages/core/src/ripgrep.ts index 7e1056c4d8..5673c9ab4c 100644 --- a/packages/core/src/ripgrep.ts +++ b/packages/core/src/ripgrep.ts @@ -3,8 +3,8 @@ export * as Ripgrep from "./ripgrep" import { Context, Effect, Fiber, Layer, Schema, Stream } from "effect" import { ChildProcess } from "effect/unstable/process" import { Entry, Match } from "@opencode-ai/schema/filesystem" -import { makeGlobalNode } from "./effect/app-node" -import { AppProcess, collectStream, waitForAbort } from "./process" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { AppProcess, collectStream, waitForAbort } from "@opencode-ai/util/process" import { NonNegativeInt, PositiveInt, RelativePath } from "./schema" import { RipgrepBinary } from "./ripgrep/binary" diff --git a/packages/core/src/ripgrep/binary.ts b/packages/core/src/ripgrep/binary.ts index 762a8e613e..3f876f901d 100644 --- a/packages/core/src/ripgrep/binary.ts +++ b/packages/core/src/ripgrep/binary.ts @@ -3,11 +3,11 @@ import { Context, Effect, Layer, Stream } from "effect" import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/http" import { ChildProcess } from "effect/unstable/process" import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner" -import { CrossSpawnSpawner } from "../cross-spawn-spawner" -import { makeGlobalNode } from "../effect/app-node" -import { httpClient } from "../effect/app-node-platform" -import { FSUtil } from "../fs-util" -import { Global } from "../global" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { which } from "../util/which" export namespace RipgrepBinary { diff --git a/packages/core/src/session.ts b/packages/core/src/session.ts index d9fa0627b1..822c93465a 100644 --- a/packages/core/src/session.ts +++ b/packages/core/src/session.ts @@ -20,7 +20,7 @@ import { AbsolutePath, PositiveInt, RelativePath } from "./schema" import { AgentV2 } from "./agent" import { SessionV1 } from "./v1/session" import { Money } from "@opencode-ai/schema/money" -import { InstallationVersion } from "./installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Slug } from "./util/slug" import { ProjectTable } from "./project/sql" import path from "path" @@ -29,7 +29,7 @@ import { SessionRunner } from "./session/runner/index" import { SessionStore } from "./session/store" import { SessionExecution } from "./session/execution" import { MessageDecodeError, NotFoundError } from "./session/error" -import { makeGlobalNode } from "./effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { LocationServiceMap } from "./location-service-map" import { SessionEvent } from "./session/event" import { SessionPending } from "./session/pending" @@ -37,7 +37,7 @@ import { SessionGenerate } from "./session/generate" import { Snapshot } from "./snapshot" import { SessionRevert } from "./session/revert" import { Session } from "@opencode-ai/schema/session" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Image } from "./image" import { Mime } from "./mime" import type { EventLog } from "@opencode-ai/schema/event-log" @@ -45,7 +45,7 @@ import { SkillV2 } from "./skill" import { Job } from "./job" import { CommandV2 } from "./command" import { Shell } from "./shell" -import { Global } from "./global" +import { Global } from "@opencode-ai/util/global" import { Shell as ShellSchema } from "@opencode-ai/schema/shell" import { KeyedMutex } from "./effect/keyed-mutex" import { fileURLToPath } from "url" diff --git a/packages/core/src/session/compaction.ts b/packages/core/src/session/compaction.ts index b49fc50ba8..8e36a67089 100644 --- a/packages/core/src/session/compaction.ts +++ b/packages/core/src/session/compaction.ts @@ -5,8 +5,8 @@ import { SessionError } from "@opencode-ai/schema/session-error" import { Context, Effect, Layer, Stream } from "effect" import { Config } from "../config" import { EventV2 } from "../event" -import { makeLocationNode } from "../effect/app-node" -import { llmClient } from "../effect/app-node-platform" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" import { SessionEvent } from "./event" import type { SessionMessage } from "./message" import { SessionModelHeaders } from "./model-headers" diff --git a/packages/core/src/session/context.ts b/packages/core/src/session/context.ts index 9bdf354731..d07a7f1e8c 100644 --- a/packages/core/src/session/context.ts +++ b/packages/core/src/session/context.ts @@ -3,7 +3,7 @@ export * as SessionContext from "./context" import { Context, Effect, Layer } from "effect" import { AgentV2 } from "../agent" import { Database } from "../database/database" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { InstructionDiscovery } from "../instruction-discovery" import { Instructions } from "../instructions/index" import { InstructionBuiltIns } from "../instructions/builtins" diff --git a/packages/core/src/session/execution.ts b/packages/core/src/session/execution.ts index 3b45ba25c9..9cef147252 100644 --- a/packages/core/src/session/execution.ts +++ b/packages/core/src/session/execution.ts @@ -3,7 +3,7 @@ export * as SessionExecution from "./execution" import { Cause, Context, Effect, Exit, Layer } from "effect" import { EventV2 } from "../event" import { LocationServiceMap } from "../location-service-map" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { SessionEvent } from "./event" import { SessionRunCoordinator } from "./run-coordinator" import { SessionRunner } from "./runner/index" diff --git a/packages/core/src/session/execution/restart.ts b/packages/core/src/session/execution/restart.ts index eb75a7bf42..985c46a556 100644 --- a/packages/core/src/session/execution/restart.ts +++ b/packages/core/src/session/execution/restart.ts @@ -1,7 +1,7 @@ export * as SessionRestart from "./restart" import { Context, Effect, Layer } from "effect" -import { makeGlobalNode } from "../../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { SessionExecution } from "../execution" import { SessionStore } from "../store" diff --git a/packages/core/src/session/generate-node.ts b/packages/core/src/session/generate-node.ts index 7d7e88e90f..cb419cb64a 100644 --- a/packages/core/src/session/generate-node.ts +++ b/packages/core/src/session/generate-node.ts @@ -3,8 +3,8 @@ export * as SessionGenerateNode from "./generate-node" import { LLM, LLMClient, Message, SystemPart } from "@opencode-ai/ai" import { Effect, Layer } from "effect" import { Database } from "../database/database" -import { makeLocationNode } from "../effect/app-node" -import { llmClient } from "../effect/app-node-platform" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" import { PluginHooks } from "../plugin/hooks" import { SessionContext } from "./context" import { SessionGenerate } from "./generate" diff --git a/packages/core/src/session/instruction-entry.ts b/packages/core/src/session/instruction-entry.ts index 43ccb99b24..371a7337e7 100644 --- a/packages/core/src/session/instruction-entry.ts +++ b/packages/core/src/session/instruction-entry.ts @@ -4,7 +4,7 @@ import { and, asc, eq, isNotNull, isNull, ne, or } from "drizzle-orm" import { Context, Effect, Layer, Schema } from "effect" import { InstructionEntry } from "@opencode-ai/schema/instruction-entry" import { Database } from "../database/database" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Instructions } from "../instructions/index" import { SessionSchema } from "./schema" import { InstructionEntryTable } from "./sql" diff --git a/packages/core/src/session/instructions.ts b/packages/core/src/session/instructions.ts index 22f003e5ea..d3ad3fcbaf 100644 --- a/packages/core/src/session/instructions.ts +++ b/packages/core/src/session/instructions.ts @@ -2,9 +2,9 @@ export * as SessionInstructions from "./instructions" import { relative } from "path" import { Context, DateTime, Effect, Layer, Option, Ref, Schema } from "effect" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { EventV2 } from "../event" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "../location" import { SessionEvent } from "./event" import { MessageDecodeError } from "./error" diff --git a/packages/core/src/session/model-headers.ts b/packages/core/src/session/model-headers.ts index efc6d5e23b..3bb5ef7104 100644 --- a/packages/core/src/session/model-headers.ts +++ b/packages/core/src/session/model-headers.ts @@ -1,7 +1,7 @@ export * as SessionModelHeaders from "./model-headers" -import { Flag } from "../flag/flag" -import { InstallationVersion } from "../installation/version" +import { Flag } from "@opencode-ai/util/flag" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { SessionSchema } from "./schema" export const make = (session: Pick) => ({ diff --git a/packages/core/src/session/model-request.ts b/packages/core/src/session/model-request.ts index 936c30591a..21460f87b1 100644 --- a/packages/core/src/session/model-request.ts +++ b/packages/core/src/session/model-request.ts @@ -3,7 +3,7 @@ export * as SessionModelRequest from "./model-request" import { LLM, Message, SystemPart, type LLMRequest } from "@opencode-ai/ai" import { SessionError } from "@opencode-ai/schema/session-error" import { Context, Effect, Layer } from "effect" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { PluginHooks } from "../plugin/hooks" import { ToolRegistry } from "../tool/registry" import { SessionContext } from "./context" diff --git a/packages/core/src/session/projector.ts b/packages/core/src/session/projector.ts index 62bd34ecc6..97044675d1 100644 --- a/packages/core/src/session/projector.ts +++ b/packages/core/src/session/projector.ts @@ -4,7 +4,7 @@ import { and, asc, desc, eq, gt, gte, inArray, lt, sql } from "drizzle-orm" import { DateTime, Effect, Layer, Schema, Stream } from "effect" import { Database } from "../database/database" import { EventV2 } from "../event" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { ModelV2 } from "../model" import { SessionEvent } from "./event" import { SessionV1 } from "../v1/session" diff --git a/packages/core/src/session/runner/llm.ts b/packages/core/src/session/runner/llm.ts index dfb5de0478..2885a24c14 100644 --- a/packages/core/src/session/runner/llm.ts +++ b/packages/core/src/session/runner/llm.ts @@ -21,8 +21,8 @@ import { SessionTitle } from "../title" import { Service } from "./index" import { createLLMEventPublisher } from "./publish-llm-event" import { Snapshot } from "../../snapshot" -import { makeLocationNode } from "../../effect/app-node" -import { llmClient } from "../../effect/app-node-platform" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" import { StepFailedError } from "../error" import { toSessionError } from "../to-session-error" import { SessionRunnerRetry } from "./retry" diff --git a/packages/core/src/session/runner/model.ts b/packages/core/src/session/runner/model.ts index 4749e6f72d..eac464ffde 100644 --- a/packages/core/src/session/runner/model.ts +++ b/packages/core/src/session/runner/model.ts @@ -1,6 +1,6 @@ export * as SessionRunnerModel from "./model" -import { makeLocationNode } from "../../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Model } from "@opencode-ai/ai" // ast-grep-ignore: no-star-import import * as AnthropicMessages from "@opencode-ai/ai/protocols/anthropic-messages" @@ -16,7 +16,7 @@ import { Catalog } from "../../catalog" import { Credential } from "../../credential" import { Integration } from "../../integration" import { ModelV2 } from "../../model" -import { Npm } from "../../npm" +import { Npm } from "@opencode-ai/util/npm" import { OpenAICodex } from "../../plugin/provider/openai-codex" import { ProviderV2 } from "../../provider" import { SessionSchema } from "../schema" diff --git a/packages/core/src/session/store.ts b/packages/core/src/session/store.ts index 516159c1e4..0018ace4a6 100644 --- a/packages/core/src/session/store.ts +++ b/packages/core/src/session/store.ts @@ -3,7 +3,7 @@ export * as SessionStore from "./store" import { and, eq, inArray, isNotNull, isNull } from "drizzle-orm" import { Context, Effect, Layer, Schema } from "effect" import { Database } from "../database/database" -import { makeGlobalNode } from "../effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { SessionHistory } from "./history" import { MessageDecodeError } from "./error" import { SessionMessage } from "./message" diff --git a/packages/core/src/session/title.ts b/packages/core/src/session/title.ts index f86741d5b2..179af7aca9 100644 --- a/packages/core/src/session/title.ts +++ b/packages/core/src/session/title.ts @@ -5,8 +5,8 @@ import { Context, Effect, Layer, Stream } from "effect" import { AgentV2 } from "../agent" import { Database } from "../database/database" import { EventV2 } from "../event" -import { makeLocationNode } from "../effect/app-node" -import { llmClient } from "../effect/app-node-platform" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" import { SessionEvent } from "./event" import { SessionHistory } from "./history" import { SessionModelHeaders } from "./model-headers" diff --git a/packages/core/src/shell.ts b/packages/core/src/shell.ts index a62fef8107..0bfa1b95b9 100644 --- a/packages/core/src/shell.ts +++ b/packages/core/src/shell.ts @@ -5,12 +5,12 @@ import { Context, Deferred, Duration, Effect, Fiber, Layer, Schema, Stream } fro import { ChildProcess } from "effect/unstable/process" import { produce } from "immer" import { Shell } from "@opencode-ai/schema/shell" -import { makeLocationNode } from "./effect/app-node" -import { AppProcess } from "./process" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { AppProcess } from "@opencode-ai/util/process" import { Config } from "./config" import { EventV2 } from "./event" import { Location } from "./location" -import { Global } from "./global" +import { Global } from "@opencode-ai/util/global" import { ShellSelect } from "./shell/select" export class NotFoundError extends Schema.TaggedErrorClass()("Shell.NotFoundError", { diff --git a/packages/core/src/shell/select.ts b/packages/core/src/shell/select.ts index 311fb7c9a1..73896ec83d 100644 --- a/packages/core/src/shell/select.ts +++ b/packages/core/src/shell/select.ts @@ -5,8 +5,8 @@ import { spawn, type ChildProcess } from "child_process" import { readFile } from "fs/promises" import { statSync } from "fs" import { setTimeout } from "node:timers/promises" -import { Flag } from "../flag/flag" -import { FSUtil } from "../fs-util" +import { Flag } from "@opencode-ai/util/flag" +import { FSUtil } from "@opencode-ai/util/fs-util" import { which } from "../util/which" const SIGKILL_TIMEOUT_MS = 200 diff --git a/packages/core/src/skill.ts b/packages/core/src/skill.ts index 8708d84fda..c66fb4f46c 100644 --- a/packages/core/src/skill.ts +++ b/packages/core/src/skill.ts @@ -1,6 +1,6 @@ export * as SkillV2 from "./skill" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import path from "path" import { Context, Effect, Layer, Schema, Stream, Types } from "effect" import { FileSystem } from "@opencode-ai/schema/filesystem" @@ -8,7 +8,7 @@ import { Skill } from "@opencode-ai/schema/skill" import { AgentV2 } from "./agent" import { ConfigMarkdown } from "./config/markdown" import { EventV2 } from "./event" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { PermissionV2 } from "./permission" import { AbsolutePath } from "./schema" import { SkillDiscovery } from "./skill/discovery" diff --git a/packages/core/src/skill/discovery.ts b/packages/core/src/skill/discovery.ts index feb06a34d0..074434ec61 100644 --- a/packages/core/src/skill/discovery.ts +++ b/packages/core/src/skill/discovery.ts @@ -3,12 +3,12 @@ export * as SkillDiscovery from "./discovery" import path from "path" import { Context, Effect, Layer, Schedule, Schema } from "effect" import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" -import { FSUtil } from "../fs-util" -import { Global } from "../global" -import { makeGlobalNode } from "../effect/app-node" -import { httpClient } from "../effect/app-node-platform" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { AbsolutePath } from "../schema" -import { Hash } from "../util/hash" +import { Hash } from "@opencode-ai/util/hash" const skillConcurrency = 4 const fileConcurrency = 8 diff --git a/packages/core/src/skill/instructions.ts b/packages/core/src/skill/instructions.ts index 1da106205d..382fede3b5 100644 --- a/packages/core/src/skill/instructions.ts +++ b/packages/core/src/skill/instructions.ts @@ -1,6 +1,6 @@ export * as SkillInstructions from "./instructions" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Context, Effect, Layer, Schema } from "effect" import { AgentV2 } from "../agent" import { SkillV2 } from "../skill" diff --git a/packages/core/src/snapshot.ts b/packages/core/src/snapshot.ts index 41072e3ce3..72982fbd90 100644 --- a/packages/core/src/snapshot.ts +++ b/packages/core/src/snapshot.ts @@ -1,17 +1,17 @@ export * as Snapshot from "./snapshot" -import { makeLocationNode } from "./effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import path from "path" import { Context, Effect, Fiber, Layer, Schema, Scope } from "effect" import { Config } from "./config" import { File } from "./file" -import { FSUtil } from "./fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Git } from "./git" -import { Global } from "./global" +import { Global } from "@opencode-ai/util/global" import { Location } from "./location" import { AbsolutePath, RelativePath } from "./schema" import { ID } from "@opencode-ai/schema/snapshot" -import { Hash } from "./util/hash" +import { Hash } from "@opencode-ai/util/hash" export { ID } diff --git a/packages/core/src/tool-output-store.ts b/packages/core/src/tool-output-store.ts index 057c6b4c68..f7eccefea0 100644 --- a/packages/core/src/tool-output-store.ts +++ b/packages/core/src/tool-output-store.ts @@ -3,9 +3,9 @@ export * as ToolOutputStore from "./tool-output-store" import path from "path" import { Context, Duration, Effect, Layer, Option, Schedule, Schema } from "effect" import { Config } from "./config" -import { FSUtil } from "./fs-util" -import { Global } from "./global" -import { makeGlobalNode, makeLocationNode } from "./effect/app-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" +import { makeGlobalNode, makeLocationNode } from "@opencode-ai/util/effect/app-node" import { SessionSchema } from "./session/schema" import { Identifier } from "./util/identifier" import type { ToolOutput } from "@opencode-ai/ai" diff --git a/packages/core/src/tool/edit.ts b/packages/core/src/tool/edit.ts index 2319d4baf2..0456195dd9 100644 --- a/packages/core/src/tool/edit.ts +++ b/packages/core/src/tool/edit.ts @@ -12,7 +12,7 @@ import { FileDiff } from "@opencode-ai/schema/file-diff" import { createTwoFilesPatch, diffLines } from "diff" import { Effect, Schema } from "effect" import { FileMutation } from "../file-mutation" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { LocationMutation } from "../location-mutation" import { PermissionV2 } from "../permission" import { Tool } from "./tool" diff --git a/packages/core/src/tool/glob.ts b/packages/core/src/tool/glob.ts index 35dc58d6cf..e231ec7c0b 100644 --- a/packages/core/src/tool/glob.ts +++ b/packages/core/src/tool/glob.ts @@ -5,7 +5,7 @@ import type { Context as PluginContext } from "@opencode-ai/plugin/v2/effect/plu import { Effect, Schema } from "effect" import path from "path" import { FileSystem } from "../filesystem" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "../location" import { Ripgrep } from "../ripgrep" import { RelativePath } from "../schema" diff --git a/packages/core/src/tool/grep.ts b/packages/core/src/tool/grep.ts index ef7c76c745..a972c95865 100644 --- a/packages/core/src/tool/grep.ts +++ b/packages/core/src/tool/grep.ts @@ -5,7 +5,7 @@ import { ToolFailure } from "@opencode-ai/ai" import { Effect, Schema } from "effect" import path from "path" import { FileSystem } from "../filesystem" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "../location" import { PermissionV2 } from "../permission" import { Ripgrep } from "../ripgrep" diff --git a/packages/core/src/tool/hooks.ts b/packages/core/src/tool/hooks.ts index b6dba58ffb..5a0c93c314 100644 --- a/packages/core/src/tool/hooks.ts +++ b/packages/core/src/tool/hooks.ts @@ -1,6 +1,6 @@ export * as ToolHooks from "./hooks" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Agent } from "@opencode-ai/schema/agent" import { Session } from "@opencode-ai/schema/session" import { SessionMessage } from "../session/message" diff --git a/packages/core/src/tool/mcp.ts b/packages/core/src/tool/mcp.ts index d71a58bc08..de9910a819 100644 --- a/packages/core/src/tool/mcp.ts +++ b/packages/core/src/tool/mcp.ts @@ -3,7 +3,7 @@ export * as McpTool from "./mcp" import { ToolFailure } from "@opencode-ai/ai" import { McpEvent } from "@opencode-ai/schema/mcp-event" import { Effect, Exit, type JsonSchema, Layer, Scope, Semaphore, Stream } from "effect" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { EventV2 } from "../event" import { MCP } from "../mcp" diff --git a/packages/core/src/tool/patch.ts b/packages/core/src/tool/patch.ts index 6925b87793..496fc21fae 100644 --- a/packages/core/src/tool/patch.ts +++ b/packages/core/src/tool/patch.ts @@ -6,7 +6,7 @@ import { FileDiff } from "@opencode-ai/schema/file-diff" import { createTwoFilesPatch, diffLines } from "diff" import { Effect, Schema } from "effect" import { FileMutation } from "../file-mutation" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { LocationMutation } from "../location-mutation" import { Patch } from "../patch" import { PermissionV2 } from "../permission" diff --git a/packages/core/src/tool/read-filesystem.ts b/packages/core/src/tool/read-filesystem.ts index e325a83edd..5eeab17b87 100644 --- a/packages/core/src/tool/read-filesystem.ts +++ b/packages/core/src/tool/read-filesystem.ts @@ -4,8 +4,8 @@ import path from "path" import { pathToFileURL } from "url" import { Context, Effect, Layer, Option, Schema } from "effect" import { FileSystem } from "../filesystem" -import { FSUtil } from "../fs-util" -import { makeLocationNode } from "../effect/app-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { AbsolutePath, PositiveInt, RelativePath } from "../schema" export const MAX_READ_LINES = 2_000 diff --git a/packages/core/src/tool/read.ts b/packages/core/src/tool/read.ts index 8f73f7e90c..4021516cc4 100644 --- a/packages/core/src/tool/read.ts +++ b/packages/core/src/tool/read.ts @@ -5,7 +5,7 @@ import { dirname } from "path" import { ToolFailure } from "@opencode-ai/ai" import { Effect, Schema } from "effect" import { FileSystem } from "../filesystem" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "../location" import { LocationMutation } from "../location-mutation" import { PermissionV2 } from "../permission" diff --git a/packages/core/src/tool/registry.ts b/packages/core/src/tool/registry.ts index ac003775f4..cbfffb7087 100644 --- a/packages/core/src/tool/registry.ts +++ b/packages/core/src/tool/registry.ts @@ -21,7 +21,7 @@ import { } from "./tool" import { Tools } from "./tools" import { ToolHooks } from "./hooks" -import { makeLocationNode } from "../effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { SessionError } from "@opencode-ai/schema/session-error" import { toSessionError } from "../session/to-session-error" diff --git a/packages/core/src/tool/shell.ts b/packages/core/src/tool/shell.ts index 300acf8cd5..11a3e67d49 100644 --- a/packages/core/src/tool/shell.ts +++ b/packages/core/src/tool/shell.ts @@ -4,7 +4,7 @@ import path from "path" import { ToolFailure } from "@opencode-ai/ai" import type { Context as PluginContext } from "@opencode-ai/plugin/v2/effect/plugin" import { Effect, Fiber, Schedule, Schema, Scope } from "effect" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { LocationMutation } from "../location-mutation" import { PermissionV2 } from "../permission" import { PluginRuntime } from "../plugin/runtime" diff --git a/packages/core/src/tool/skill.ts b/packages/core/src/tool/skill.ts index ac7e675e46..21fdef69c0 100644 --- a/packages/core/src/tool/skill.ts +++ b/packages/core/src/tool/skill.ts @@ -4,7 +4,7 @@ import type { Context as PluginContext } from "@opencode-ai/plugin/v2/effect/plu import path from "path" import { ToolFailure } from "@opencode-ai/ai" import { Effect, Schema } from "effect" -import { FSUtil } from "../fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { SkillV2 } from "../skill" import { PermissionV2 } from "../permission" import { Tool } from "./tool" diff --git a/packages/core/src/tool/websearch.ts b/packages/core/src/tool/websearch.ts index a92ce5f8ef..5cea7c4d10 100644 --- a/packages/core/src/tool/websearch.ts +++ b/packages/core/src/tool/websearch.ts @@ -4,9 +4,9 @@ import type { Context as PluginContext } from "@opencode-ai/plugin/v2/effect/plu import { ToolFailure } from "@opencode-ai/ai" import { Context, Duration, Effect, Layer, Schema } from "effect" import { HttpClient, HttpClientRequest } from "effect/unstable/http" -import { makeLocationNode } from "../effect/app-node" -import { truthy } from "../flag/flag" -import { InstallationVersion } from "../installation/version" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { truthy } from "@opencode-ai/util/flag" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { PositiveInt } from "../schema" import { PermissionV2 } from "../permission" import { Tool } from "./tool" diff --git a/packages/core/src/util/process-lock.ts b/packages/core/src/util/process-lock.ts index 2c2a721448..196ed8a337 100644 --- a/packages/core/src/util/process-lock.ts +++ b/packages/core/src/util/process-lock.ts @@ -3,7 +3,7 @@ import { closeSync, mkdirSync, openSync } from "node:fs" import { connect, createServer, type Server, type Socket } from "node:net" import path from "node:path" import { Effect, Schema } from "effect" -import { Hash } from "./hash" +import { Hash } from "@opencode-ai/util/hash" export namespace ProcessLock { export class HeldError extends Schema.TaggedErrorClass()("ProcessLockHeldError", { diff --git a/packages/core/src/util/which.ts b/packages/core/src/util/which.ts index 2e40739148..7e7bd97acf 100644 --- a/packages/core/src/util/which.ts +++ b/packages/core/src/util/which.ts @@ -1,6 +1,6 @@ import whichPkg from "which" import path from "path" -import { Global } from "../global" +import { Global } from "@opencode-ai/util/global" export function which(cmd: string, env?: NodeJS.ProcessEnv) { const base = env?.PATH ?? env?.Path ?? process.env.PATH ?? process.env.Path ?? "" diff --git a/packages/core/src/vcs.ts b/packages/core/src/vcs.ts index 46417eafb7..cb61e681f7 100644 --- a/packages/core/src/vcs.ts +++ b/packages/core/src/vcs.ts @@ -3,10 +3,10 @@ export * as Vcs from "./vcs" import { Context, Effect, Layer } from "effect" import { FileDiff } from "@opencode-ai/schema/file-diff" import { FileStatus, Mode } from "@opencode-ai/schema/vcs" -import { makeLocationNode } from "./effect/app-node" -import { FSUtil } from "./fs-util" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "./location" -import { AppProcess } from "./process" +import { AppProcess } from "@opencode-ai/util/process" import { VcsGit } from "./vcs/git" import { VcsHg } from "./vcs/hg" diff --git a/packages/core/src/vcs/git.ts b/packages/core/src/vcs/git.ts index d416a5af8a..390348fc4f 100644 --- a/packages/core/src/vcs/git.ts +++ b/packages/core/src/vcs/git.ts @@ -4,7 +4,7 @@ import { Effect } from "effect" import { ChildProcess } from "effect/unstable/process" import { FileDiff } from "@opencode-ai/schema/file-diff" import { FileStatus, Mode } from "@opencode-ai/schema/vcs" -import { AppProcess } from "../process" +import { AppProcess } from "@opencode-ai/util/process" import type { DiffOptions, Interface } from "../vcs" import { chunksByFile, emptyPatch, MAX_PATCH_BYTES, MAX_TOTAL_PATCH_BYTES, PATCH_CONTEXT_LINES } from "./patch" import type { Patch } from "./patch" diff --git a/packages/core/src/vcs/hg.ts b/packages/core/src/vcs/hg.ts index 0c27f12b95..10ae0bcbfc 100644 --- a/packages/core/src/vcs/hg.ts +++ b/packages/core/src/vcs/hg.ts @@ -5,8 +5,8 @@ import { Effect } from "effect" import { ChildProcess } from "effect/unstable/process" import { FileDiff } from "@opencode-ai/schema/file-diff" import { FileStatus, Mode } from "@opencode-ai/schema/vcs" -import { FSUtil } from "../fs-util" -import { AppProcess } from "../process" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { AppProcess } from "@opencode-ai/util/process" import type { DiffOptions, Interface } from "../vcs" import { addPatch, diff --git a/packages/core/src/wellknown.ts b/packages/core/src/wellknown.ts index 73eea6dcfb..78a21e7480 100644 --- a/packages/core/src/wellknown.ts +++ b/packages/core/src/wellknown.ts @@ -4,8 +4,8 @@ import { Integration } from "@opencode-ai/schema/integration" import { Context, Effect, Layer, Ref, Schema, Semaphore } from "effect" import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { isDeepStrictEqual } from "node:util" -import { makeGlobalNode } from "./effect/app-node" -import { httpClient } from "./effect/app-node-platform" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { EventV2 } from "./event" import { KV } from "./kv" diff --git a/packages/core/test/agent.test.ts b/packages/core/test/agent.test.ts index 6a0ca3df7e..88bf879b60 100644 --- a/packages/core/test/agent.test.ts +++ b/packages/core/test/agent.test.ts @@ -4,7 +4,7 @@ import { TestClock } from "effect/testing" import { AgentV2 } from "@opencode-ai/core/agent" import { EventV2 } from "@opencode-ai/core/event" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { PermissionV2 } from "@opencode-ai/core/permission" import { AgentPlugin } from "@opencode-ai/core/plugin/agent" diff --git a/packages/core/test/catalog.test.ts b/packages/core/test/catalog.test.ts index f14feaee5f..502a46b7d4 100644 --- a/packages/core/test/catalog.test.ts +++ b/packages/core/test/catalog.test.ts @@ -6,7 +6,7 @@ import { Catalog } from "@opencode-ai/core/catalog" import { Integration } from "@opencode-ai/core/integration" import { Credential } from "@opencode-ai/core/credential" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { ModelV2 } from "@opencode-ai/core/model" diff --git a/packages/core/test/config/agent.test.ts b/packages/core/test/config/agent.test.ts index 4579b1151f..0380c38e3a 100644 --- a/packages/core/test/config/agent.test.ts +++ b/packages/core/test/config/agent.test.ts @@ -6,9 +6,9 @@ import { AgentV2 } from "@opencode-ai/core/agent" import { Config } from "@opencode-ai/core/config" import { ConfigAgentPlugin } from "@opencode-ai/core/config/plugin/agent" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { PermissionV2 } from "@opencode-ai/core/permission" import { AbsolutePath } from "@opencode-ai/core/schema" import { ConfigMigrateV1 } from "@opencode-ai/core/v1/config/migrate" diff --git a/packages/core/test/config/command.test.ts b/packages/core/test/config/command.test.ts index f3d1defc68..fced5f83db 100644 --- a/packages/core/test/config/command.test.ts +++ b/packages/core/test/config/command.test.ts @@ -8,8 +8,8 @@ import { AgentV2 } from "@opencode-ai/core/agent" import { Config } from "@opencode-ai/core/config" import { ConfigCommandPlugin } from "@opencode-ai/core/config/plugin/command" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { MCP } from "@opencode-ai/core/mcp/index" diff --git a/packages/core/test/config/config.test.ts b/packages/core/test/config/config.test.ts index fec2e80dd8..9cfaf689eb 100644 --- a/packages/core/test/config/config.test.ts +++ b/packages/core/test/config/config.test.ts @@ -8,15 +8,15 @@ import { ConfigModel } from "@opencode-ai/core/config/model" import { Config as ConfigSchema } from "@opencode-ai/schema/config" import { ConfigProvider } from "@opencode-ai/core/config/provider" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Credential } from "@opencode-ai/core/credential" import { ConfigMigrateV1 } from "@opencode-ai/core/v1/config/migrate" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Watcher } from "@opencode-ai/core/filesystem/watcher" import { EventV2 } from "@opencode-ai/core/event" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Location } from "@opencode-ai/core/location" import { Project } from "@opencode-ai/core/project" import { ProviderV2 } from "@opencode-ai/core/provider" diff --git a/packages/core/test/config/plugin.test.ts b/packages/core/test/config/plugin.test.ts index 9d68b5f408..2a9dfa81bf 100644 --- a/packages/core/test/config/plugin.test.ts +++ b/packages/core/test/config/plugin.test.ts @@ -8,7 +8,7 @@ import { Plugin } from "@opencode-ai/schema/plugin" import { AgentV2 } from "@opencode-ai/core/agent" import { Catalog } from "@opencode-ai/core/catalog" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { LocationServiceMap } from "@opencode-ai/core/location-services" diff --git a/packages/core/test/config/reload.test.ts b/packages/core/test/config/reload.test.ts index e5f8bd10fc..d917821fac 100644 --- a/packages/core/test/config/reload.test.ts +++ b/packages/core/test/config/reload.test.ts @@ -11,7 +11,7 @@ import { ConfigProviderPlugin } from "@opencode-ai/core/config/plugin/provider" import { ConfigReferencePlugin } from "@opencode-ai/core/config/plugin/reference" import { ConfigSkillPlugin } from "@opencode-ai/core/config/plugin/skill" import { EventV2 } from "@opencode-ai/core/event" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { PluginV2 } from "@opencode-ai/core/plugin" import { PluginHost } from "@opencode-ai/core/plugin/host" import { ProviderV2 } from "@opencode-ai/core/provider" diff --git a/packages/core/test/config/skill.test.ts b/packages/core/test/config/skill.test.ts index 8b5b0bdf62..86df211cf8 100644 --- a/packages/core/test/config/skill.test.ts +++ b/packages/core/test/config/skill.test.ts @@ -3,7 +3,7 @@ import { describe, expect } from "bun:test" import { Effect, Layer, Schema } from "effect" import { Config } from "@opencode-ai/core/config" import { ConfigSkillPlugin } from "@opencode-ai/core/config/plugin/skill" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Location } from "@opencode-ai/core/location" import { AbsolutePath } from "@opencode-ai/core/schema" import { SkillV2 } from "@opencode-ai/core/skill" diff --git a/packages/core/test/credential.test.ts b/packages/core/test/credential.test.ts index c6070145d1..3b74df5c2c 100644 --- a/packages/core/test/credential.test.ts +++ b/packages/core/test/credential.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Effect } from "effect" import { Credential } from "@opencode-ai/core/credential" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Integration } from "@opencode-ai/core/integration" import { testEffect } from "./lib/effect" diff --git a/packages/core/test/database-migration.test.ts b/packages/core/test/database-migration.test.ts index 326855ab51..99b5819b85 100644 --- a/packages/core/test/database-migration.test.ts +++ b/packages/core/test/database-migration.test.ts @@ -25,7 +25,7 @@ import addSessionForkMigration from "@opencode-ai/core/database/migration/202607 import timeSuspendedMigration from "@opencode-ai/core/database/migration/20260709163752_time_suspended" import instructionSyncMigration from "@opencode-ai/core/database/migration/20260710025429_instruction_sync" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { ProjectV2 } from "@opencode-ai/core/project" import { ProjectTable } from "@opencode-ai/core/project/sql" diff --git a/packages/core/test/effect/cross-spawn-spawner.test.ts b/packages/core/test/effect/cross-spawn-spawner.test.ts index fc4e3db6a9..89aec55aff 100644 --- a/packages/core/test/effect/cross-spawn-spawner.test.ts +++ b/packages/core/test/effect/cross-spawn-spawner.test.ts @@ -5,8 +5,8 @@ import path from "node:path" import { Effect, Exit, Stream } from "effect" import type * as PlatformError from "effect/PlatformError" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { testEffect } from "../lib/effect" const live = LayerNode.compile(CrossSpawnSpawner.node) diff --git a/packages/core/test/effect/layer-node/layer-node-types.test.ts b/packages/core/test/effect/layer-node/layer-node-types.test.ts index 366bf746da..73f662eb31 100644 --- a/packages/core/test/effect/layer-node/layer-node-types.test.ts +++ b/packages/core/test/effect/layer-node/layer-node-types.test.ts @@ -1,7 +1,7 @@ import { test } from "bun:test" import { Context, Effect, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { makeGlobalNode, makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeGlobalNode, makeLocationNode } from "@opencode-ai/util/effect/app-node" class A extends Context.Service()("test/LayerNodeA") {} class B extends Context.Service()("test/LayerNodeB") {} diff --git a/packages/core/test/effect/layer-node/layer-node.test.ts b/packages/core/test/effect/layer-node/layer-node.test.ts index b671792c59..c344594c45 100644 --- a/packages/core/test/effect/layer-node/layer-node.test.ts +++ b/packages/core/test/effect/layer-node/layer-node.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" import { Context, Effect, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" class Value extends Context.Service()("test/LayerNodeValue") {} class Greeting extends Context.Service()("test/LayerNodeGreeting") {} diff --git a/packages/core/test/effect/layer-node/node-build.test.ts b/packages/core/test/effect/layer-node/node-build.test.ts index 32c9988f16..a4a2bf2860 100644 --- a/packages/core/test/effect/layer-node/node-build.test.ts +++ b/packages/core/test/effect/layer-node/node-build.test.ts @@ -1,8 +1,8 @@ import { describe, expect, test } from "bun:test" import { Context, Effect, Layer, LayerMap, Option } from "effect" -import { Node } from "@opencode-ai/core/effect/app-node" +import { Node } from "@opencode-ai/util/effect/app-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { LocationServiceMap } from "@opencode-ai/core/location-service-map" import type { LocationError, LocationServices } from "@opencode-ai/core/location-services" diff --git a/packages/core/test/effect/observability.test.ts b/packages/core/test/effect/observability.test.ts index c075986364..e70a8572f0 100644 --- a/packages/core/test/effect/observability.test.ts +++ b/packages/core/test/effect/observability.test.ts @@ -4,8 +4,8 @@ import { Effect, Layer, Logger } from "effect" import fs from "fs/promises" import os from "os" import path from "path" -import { fileLogger } from "../../src/observability/logging" -import { resource } from "../../src/observability/otlp" +import { fileLogger } from "@opencode-ai/util/observability/logging" +import { resource } from "@opencode-ai/util/observability/otlp" const otelResourceAttributes = process.env.OTEL_RESOURCE_ATTRIBUTES const opencodeClient = process.env.OPENCODE_CLIENT @@ -65,7 +65,7 @@ test("falls back to local logging when OTLP initialization fails", async () => { "--eval", ` import { Effect } from "effect" - import { Observability } from "./src/observability.ts" + import { Observability } from "@opencode-ai/util/observability" await Effect.void.pipe(Effect.provide(Observability.layer), Effect.scoped, Effect.runPromise) `, ], diff --git a/packages/core/test/event-logger.test.ts b/packages/core/test/event-logger.test.ts index ef48d7abbd..ab7aca7d5b 100644 --- a/packages/core/test/event-logger.test.ts +++ b/packages/core/test/event-logger.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" import { Effect, Layer, Logger } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Database } from "@opencode-ai/core/database/database" import { EventV2 } from "@opencode-ai/core/event" import { EventLogger } from "@opencode-ai/core/event-logger" diff --git a/packages/core/test/event.test.ts b/packages/core/test/event.test.ts index 17d887e192..5fa89af897 100644 --- a/packages/core/test/event.test.ts +++ b/packages/core/test/event.test.ts @@ -7,7 +7,7 @@ import { SessionEvent } from "@opencode-ai/schema/session-event" import { SessionV1 } from "@opencode-ai/schema/session-v1" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventSequenceTable, EventTable } from "@opencode-ai/core/event/sql" import { Location } from "@opencode-ai/core/location" import { AbsolutePath } from "@opencode-ai/core/schema" diff --git a/packages/core/test/file-mutation.test.ts b/packages/core/test/file-mutation.test.ts index bcd6ce97ed..73f5a7a4dc 100644 --- a/packages/core/test/file-mutation.test.ts +++ b/packages/core/test/file-mutation.test.ts @@ -3,9 +3,9 @@ import path from "path" import { describe, expect } from "bun:test" import { Deferred, Effect, Fiber, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { FileMutation } from "@opencode-ai/core/file-mutation" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { LocationMutation } from "@opencode-ai/core/location-mutation" import { AbsolutePath } from "@opencode-ai/core/schema" diff --git a/packages/core/test/filesystem/filesystem.test.ts b/packages/core/test/filesystem/filesystem.test.ts index 907fcb7739..f4203cfde7 100644 --- a/packages/core/test/filesystem/filesystem.test.ts +++ b/packages/core/test/filesystem/filesystem.test.ts @@ -1,8 +1,8 @@ import { describe, test, expect } from "bun:test" import { Effect, FileSystem } from "effect" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { testEffect } from "../lib/effect" import path from "path" diff --git a/packages/core/test/filesystem/search.test.ts b/packages/core/test/filesystem/search.test.ts index 6c47c85e96..ab75d7165c 100644 --- a/packages/core/test/filesystem/search.test.ts +++ b/packages/core/test/filesystem/search.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import fs from "fs/promises" import path from "path" import { Effect } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { AbsolutePath, RelativePath } from "@opencode-ai/core/schema" import { tmpdir } from "../fixture/tmpdir" diff --git a/packages/core/test/filesystem/watcher.test.ts b/packages/core/test/filesystem/watcher.test.ts index d25d62b3af..5c597d2db5 100644 --- a/packages/core/test/filesystem/watcher.test.ts +++ b/packages/core/test/filesystem/watcher.test.ts @@ -5,9 +5,9 @@ import path from "path" import { Deferred, Duration, Effect, Fiber, Layer, Option, Schedule, Stream } from "effect" import { Config } from "@opencode-ai/core/config" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { LocationWatcher } from "@opencode-ai/core/filesystem/location-watcher" import { Watcher } from "@opencode-ai/core/filesystem/watcher" import { FileSystem } from "@opencode-ai/schema/filesystem" diff --git a/packages/core/test/fixture/effect-flock-worker.ts b/packages/core/test/fixture/effect-flock-worker.ts index 7e42e80098..38260849d9 100644 --- a/packages/core/test/fixture/effect-flock-worker.ts +++ b/packages/core/test/fixture/effect-flock-worker.ts @@ -2,8 +2,8 @@ import fs from "fs/promises" import os from "os" import { Effect } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { EffectFlock } from "@opencode-ai/core/util/effect-flock" -import { Global } from "@opencode-ai/core/global" +import { EffectFlock } from "@opencode-ai/util/effect-flock" +import { Global } from "@opencode-ai/util/global" type Msg = { key: string diff --git a/packages/core/test/fixture/flock-worker.ts b/packages/core/test/fixture/flock-worker.ts index 0b9c314c08..ece4dc6f50 100644 --- a/packages/core/test/fixture/flock-worker.ts +++ b/packages/core/test/fixture/flock-worker.ts @@ -1,5 +1,5 @@ import fs from "fs/promises" -import { Flock } from "@opencode-ai/core/util/flock" +import { Flock } from "@opencode-ai/util/flock" type Msg = { key: string diff --git a/packages/core/test/form.test.ts b/packages/core/test/form.test.ts index 3328372203..06b50f3643 100644 --- a/packages/core/test/form.test.ts +++ b/packages/core/test/form.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Deferred, Effect, Exit, Fiber } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Form } from "@opencode-ai/core/form" import { SessionSchema } from "@opencode-ai/core/session/schema" diff --git a/packages/core/test/git.test.ts b/packages/core/test/git.test.ts index d4d80fd732..abcc60181f 100644 --- a/packages/core/test/git.test.ts +++ b/packages/core/test/git.test.ts @@ -3,7 +3,7 @@ import { $ } from "bun" import fs from "fs/promises" import path from "path" import { Effect } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Git } from "@opencode-ai/core/git" import { AbsolutePath, RelativePath } from "@opencode-ai/core/schema" import { branch, commit, gitRemote } from "./fixture/git" diff --git a/packages/core/test/global.test.ts b/packages/core/test/global.test.ts index 4e13e88424..ca06109419 100644 --- a/packages/core/test/global.test.ts +++ b/packages/core/test/global.test.ts @@ -2,7 +2,7 @@ import { describe, expect, test } from "bun:test" import fs from "fs/promises" import os from "os" import path from "path" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" describe("global paths", () => { test("tmp path is under the system temp directory", () => { diff --git a/packages/core/test/instruction-discovery.test.ts b/packages/core/test/instruction-discovery.test.ts index bc8724a837..ab6c0b3f16 100644 --- a/packages/core/test/instruction-discovery.test.ts +++ b/packages/core/test/instruction-discovery.test.ts @@ -3,9 +3,9 @@ import { Effect, Layer } from "effect" import fs from "fs/promises" import path from "path" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { InstructionDiscovery } from "@opencode-ai/core/instruction-discovery" import { Location } from "@opencode-ai/core/location" import { AbsolutePath } from "@opencode-ai/core/schema" diff --git a/packages/core/test/instruction-state.test.ts b/packages/core/test/instruction-state.test.ts index 6d7d4d78d7..6557731fd7 100644 --- a/packages/core/test/instruction-state.test.ts +++ b/packages/core/test/instruction-state.test.ts @@ -3,7 +3,7 @@ import { and, asc, eq } from "drizzle-orm" import { Effect, Schema } from "effect" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" import { Instructions } from "@opencode-ai/core/instructions" diff --git a/packages/core/test/instructions/builtins.test.ts b/packages/core/test/instructions/builtins.test.ts index 079c443392..4f8ffc20ef 100644 --- a/packages/core/test/instructions/builtins.test.ts +++ b/packages/core/test/instructions/builtins.test.ts @@ -3,8 +3,8 @@ import { Effect, Layer } from "effect" import * as TestClock from "effect/testing/TestClock" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { Location } from "@opencode-ai/core/location" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { AbsolutePath } from "@opencode-ai/core/schema" import { InstructionBuiltIns } from "@opencode-ai/core/instructions/builtins" import { SessionSchema } from "@opencode-ai/core/session/schema" diff --git a/packages/core/test/integration.test.ts b/packages/core/test/integration.test.ts index 42934bd3e5..e5d79a53c6 100644 --- a/packages/core/test/integration.test.ts +++ b/packages/core/test/integration.test.ts @@ -3,8 +3,8 @@ import { Cause, Clock, Duration, Effect, Exit, Fiber, Layer, Scope, Stream } fro import * as TestClock from "effect/testing/TestClock" import { Credential } from "@opencode-ai/core/credential" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Integration } from "@opencode-ai/core/integration" import { testEffect } from "./lib/effect" diff --git a/packages/core/test/kv.test.ts b/packages/core/test/kv.test.ts index 3fd3797dde..bdb9001a91 100644 --- a/packages/core/test/kv.test.ts +++ b/packages/core/test/kv.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Effect } from "effect" import { KV } from "@opencode-ai/core/kv" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { testEffect } from "./lib/effect" const it = testEffect(LayerNode.compile(KV.node)) diff --git a/packages/core/test/location-filesystem.test.ts b/packages/core/test/location-filesystem.test.ts index f0075db245..4f59419ba6 100644 --- a/packages/core/test/location-filesystem.test.ts +++ b/packages/core/test/location-filesystem.test.ts @@ -2,7 +2,7 @@ import fs from "fs/promises" import path from "path" import { describe, expect } from "bun:test" import { Effect, Exit, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { FileSystem } from "@opencode-ai/core/filesystem" import { Location } from "@opencode-ai/core/location" import { AbsolutePath, RelativePath } from "@opencode-ai/core/schema" diff --git a/packages/core/test/location-layer.test.ts b/packages/core/test/location-layer.test.ts index ec84b3b8ad..44a572f138 100644 --- a/packages/core/test/location-layer.test.ts +++ b/packages/core/test/location-layer.test.ts @@ -9,7 +9,7 @@ import { Plugin as EffectPlugin } from "@opencode-ai/plugin/v2/effect" import { AgentV2 } from "@opencode-ai/core/agent" import { Catalog } from "@opencode-ai/core/catalog" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { LocationServiceMap } from "@opencode-ai/core/location-services" import { Location } from "@opencode-ai/core/location" import { PluginV2 } from "@opencode-ai/core/plugin" diff --git a/packages/core/test/location-mutation.test.ts b/packages/core/test/location-mutation.test.ts index 30185ae68d..35e21905d2 100644 --- a/packages/core/test/location-mutation.test.ts +++ b/packages/core/test/location-mutation.test.ts @@ -2,7 +2,7 @@ import fs from "fs/promises" import path from "path" import { describe, expect, test } from "bun:test" import { Effect, Layer, Schema } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { LocationMutation } from "@opencode-ai/core/location-mutation" import { AbsolutePath } from "@opencode-ai/core/schema" diff --git a/packages/core/test/logging.test.ts b/packages/core/test/logging.test.ts index 6ac19ab9e1..88269ce563 100644 --- a/packages/core/test/logging.test.ts +++ b/packages/core/test/logging.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" import path from "path" -import { Global } from "@opencode-ai/core/global" -import { Logging } from "@opencode-ai/core/observability/logging" +import { Global } from "@opencode-ai/util/global" +import { Logging } from "@opencode-ai/util/observability/logging" describe("Logging", () => { test("uses a local-specific log file for local installs", () => { diff --git a/packages/core/test/mcp.test.ts b/packages/core/test/mcp.test.ts index c7ed503106..c6f9adbfe2 100644 --- a/packages/core/test/mcp.test.ts +++ b/packages/core/test/mcp.test.ts @@ -15,7 +15,7 @@ import { ConfigMCP } from "@opencode-ai/core/config/mcp" import { Config } from "@opencode-ai/core/config" import { Credential } from "@opencode-ai/core/credential" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Form } from "@opencode-ai/core/form" import { Integration } from "@opencode-ai/core/integration" diff --git a/packages/core/test/models.test.ts b/packages/core/test/models.test.ts index 638cfc463e..ee4d6c154a 100644 --- a/packages/core/test/models.test.ts +++ b/packages/core/test/models.test.ts @@ -3,10 +3,10 @@ import { Money } from "@opencode-ai/schema/money" import { Effect, Layer, Ref } from "effect" import { HttpClient, HttpClientResponse } from "effect/unstable/http" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Flag } from "@opencode-ai/core/flag/flag" -import { Global } from "@opencode-ai/core/global" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" import { ModelV2 } from "@opencode-ai/core/model" import { ModelsDev } from "@opencode-ai/core/models-dev" import { ProviderV2 } from "@opencode-ai/core/provider" diff --git a/packages/core/test/move-session.test.ts b/packages/core/test/move-session.test.ts index 77d0840756..952bd29241 100644 --- a/packages/core/test/move-session.test.ts +++ b/packages/core/test/move-session.test.ts @@ -7,7 +7,7 @@ import { Effect, Layer } from "effect" import { MoveSession } from "@opencode-ai/core/control-plane/move-session" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Job } from "@opencode-ai/core/job" import { Project } from "@opencode-ai/core/project" diff --git a/packages/core/test/npm-config.test.ts b/packages/core/test/npm-config.test.ts index 895b35db54..a2faba8eb3 100644 --- a/packages/core/test/npm-config.test.ts +++ b/packages/core/test/npm-config.test.ts @@ -1,7 +1,7 @@ import path from "path" import { describe, expect, test } from "bun:test" import { Effect } from "effect" -import { NpmConfig } from "@opencode-ai/core/npm-config" +import { NpmConfig } from "@opencode-ai/util/npm-config" import { tmpdir } from "./fixture/tmpdir" describe("NpmConfig.load", () => { diff --git a/packages/core/test/npm.test.ts b/packages/core/test/npm.test.ts index 3a2a956299..b2235d5b7a 100644 --- a/packages/core/test/npm.test.ts +++ b/packages/core/test/npm.test.ts @@ -3,8 +3,8 @@ import path from "path" import { describe, expect, test } from "bun:test" import { Effect, Option } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { Global } from "@opencode-ai/core/global" -import { Npm } from "@opencode-ai/core/npm" +import { Global } from "@opencode-ai/util/global" +import { Npm } from "@opencode-ai/util/npm" import { tmpdir } from "./fixture/tmpdir" const win = process.platform === "win32" diff --git a/packages/core/test/permission.test.ts b/packages/core/test/permission.test.ts index 669fb4d969..6abf9c47ca 100644 --- a/packages/core/test/permission.test.ts +++ b/packages/core/test/permission.test.ts @@ -3,7 +3,7 @@ import { Cause, Deferred, Effect, Fiber, Layer } from "effect" import { AgentV2 } from "@opencode-ai/core/agent" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Job } from "@opencode-ai/core/job" import { Location } from "@opencode-ai/core/location" diff --git a/packages/core/test/plugin/fixture.ts b/packages/core/test/plugin/fixture.ts index ffef32738d..ffe005cb63 100644 --- a/packages/core/test/plugin/fixture.ts +++ b/packages/core/test/plugin/fixture.ts @@ -4,14 +4,14 @@ import { Catalog } from "@opencode-ai/core/catalog" import { CommandV2 } from "@opencode-ai/core/command" import { Credential } from "@opencode-ai/core/credential" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { FileSystem } from "@opencode-ai/core/filesystem" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Integration } from "@opencode-ai/core/integration" import { Location } from "@opencode-ai/core/location" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { PluginV2 } from "@opencode-ai/core/plugin" import { PluginHooks } from "@opencode-ai/core/plugin/hooks" import { PluginRuntime } from "@opencode-ai/core/plugin/runtime" diff --git a/packages/core/test/plugin/models-dev.test.ts b/packages/core/test/plugin/models-dev.test.ts index f07c96b439..bcdb53a215 100644 --- a/packages/core/test/plugin/models-dev.test.ts +++ b/packages/core/test/plugin/models-dev.test.ts @@ -5,9 +5,9 @@ import { Effect, Layer } from "effect" import { Catalog } from "@opencode-ai/core/catalog" import { Integration } from "@opencode-ai/core/integration" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Location } from "@opencode-ai/core/location" import { ModelV2 } from "@opencode-ai/core/model" import { ModelsDev } from "@opencode-ai/core/models-dev" diff --git a/packages/core/test/plugin/provider-dynamic.test.ts b/packages/core/test/plugin/provider-dynamic.test.ts index c5a598a870..d0b1a8af5a 100644 --- a/packages/core/test/plugin/provider-dynamic.test.ts +++ b/packages/core/test/plugin/provider-dynamic.test.ts @@ -1,4 +1,4 @@ -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { describe, expect } from "bun:test" import { Cause, Effect, Layer } from "effect" import fs from "fs/promises" diff --git a/packages/core/test/plugin/provider-sap-ai-core.test.ts b/packages/core/test/plugin/provider-sap-ai-core.test.ts index 8822866be8..26dc3ac86c 100644 --- a/packages/core/test/plugin/provider-sap-ai-core.test.ts +++ b/packages/core/test/plugin/provider-sap-ai-core.test.ts @@ -4,7 +4,7 @@ import { Effect } from "effect" import { ModelV2 } from "@opencode-ai/core/model" import { PluginV2 } from "@opencode-ai/core/plugin" import { PluginHost } from "@opencode-ai/core/plugin/host" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { SapAICorePlugin } from "@opencode-ai/core/plugin/provider/sap-ai-core" import { ProviderV2 } from "@opencode-ai/core/provider" import { testEffect } from "../lib/effect" diff --git a/packages/core/test/plugin/skill.test.ts b/packages/core/test/plugin/skill.test.ts index de0f745183..c35d7073eb 100644 --- a/packages/core/test/plugin/skill.test.ts +++ b/packages/core/test/plugin/skill.test.ts @@ -2,8 +2,8 @@ import { describe, expect } from "bun:test" import { NodeFileSystem } from "@effect/platform-node" import { Config } from "@opencode-ai/core/config" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Location } from "@opencode-ai/core/location" import { Effect } from "effect" import { SkillPlugin } from "@opencode-ai/core/plugin/skill" diff --git a/packages/core/test/plugin/variant.test.ts b/packages/core/test/plugin/variant.test.ts index 5f3dafd209..5e87748dc4 100644 --- a/packages/core/test/plugin/variant.test.ts +++ b/packages/core/test/plugin/variant.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Catalog } from "@opencode-ai/core/catalog" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { ModelV2 } from "@opencode-ai/core/model" import { VariantPlugin } from "@opencode-ai/core/plugin/variant" diff --git a/packages/core/test/process/process.test.ts b/packages/core/test/process/process.test.ts index 82b6dc4717..bf3d403e78 100644 --- a/packages/core/test/process/process.test.ts +++ b/packages/core/test/process/process.test.ts @@ -5,8 +5,8 @@ import { tmpdir } from "node:os" import path from "node:path" import { Effect, Exit, Fiber, Stream } from "effect" import { ChildProcess } from "effect/unstable/process" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { AppProcess } from "@opencode-ai/core/process" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { AppProcess } from "@opencode-ai/util/process" import { testEffect } from "../lib/effect" const it = testEffect(LayerNode.compile(AppProcess.node)) diff --git a/packages/core/test/project-copy.test.ts b/packages/core/test/project-copy.test.ts index d37f630207..d85d13dcc3 100644 --- a/packages/core/test/project-copy.test.ts +++ b/packages/core/test/project-copy.test.ts @@ -5,7 +5,7 @@ import path from "path" import { eq } from "drizzle-orm" import { Effect, Fiber, Stream } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AbsolutePath } from "@opencode-ai/core/schema" import { Git } from "@opencode-ai/core/git" import { Database } from "@opencode-ai/core/database/database" diff --git a/packages/core/test/project-directories.test.ts b/packages/core/test/project-directories.test.ts index d070376b68..9071dcb4ef 100644 --- a/packages/core/test/project-directories.test.ts +++ b/packages/core/test/project-directories.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Effect, Schema } from "effect" import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { Project } from "@opencode-ai/core/project" import { ProjectDirectories } from "@opencode-ai/core/project/directories" diff --git a/packages/core/test/project.test.ts b/packages/core/test/project.test.ts index 6be3333f51..dc505465c7 100644 --- a/packages/core/test/project.test.ts +++ b/packages/core/test/project.test.ts @@ -8,7 +8,7 @@ import { Database } from "@opencode-ai/core/database/database" import { ProjectV2 } from "@opencode-ai/core/project" import { ProjectTable } from "@opencode-ai/core/project/sql" import { AbsolutePath } from "@opencode-ai/core/schema" -import { Hash } from "@opencode-ai/core/util/hash" +import { Hash } from "@opencode-ai/util/hash" import { tmpdir } from "./fixture/tmpdir" import { testEffect } from "./lib/effect" diff --git a/packages/core/test/pty/pty-session.test.ts b/packages/core/test/pty/pty-session.test.ts index 6d049b49ae..d11f36fc0b 100644 --- a/packages/core/test/pty/pty-session.test.ts +++ b/packages/core/test/pty/pty-session.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import { Cause, Deferred, Effect, Exit, Layer, Queue } from "effect" import { Config } from "@opencode-ai/core/config" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { Pty } from "@opencode-ai/core/pty" diff --git a/packages/core/test/pty/ticket.test.ts b/packages/core/test/pty/ticket.test.ts index 10849f2f61..c478e721db 100644 --- a/packages/core/test/pty/ticket.test.ts +++ b/packages/core/test/pty/ticket.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" import { Effect, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { PtyID } from "@opencode-ai/core/pty/schema" import { PtyTicket } from "@opencode-ai/core/pty/ticket" import { WorkspaceV2 } from "@opencode-ai/core/workspace" diff --git a/packages/core/test/question.test.ts b/packages/core/test/question.test.ts index 03d61a9565..d60288cc79 100644 --- a/packages/core/test/question.test.ts +++ b/packages/core/test/question.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" import { Context, Deferred, Effect, Exit, Fiber, Layer, Scope } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { EventV2 } from "@opencode-ai/core/event" import { QuestionV2 } from "@opencode-ai/core/question" diff --git a/packages/core/test/reference.test.ts b/packages/core/test/reference.test.ts index a5a656c8bf..cc42b7ca87 100644 --- a/packages/core/test/reference.test.ts +++ b/packages/core/test/reference.test.ts @@ -1,9 +1,9 @@ import { describe, expect } from "bun:test" import { Effect, Exit, Layer, Scope } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AbsolutePath } from "@opencode-ai/core/schema" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Reference } from "@opencode-ai/core/reference" import { Repository } from "@opencode-ai/core/repository" import { RepositoryCache } from "@opencode-ai/core/repository-cache" diff --git a/packages/core/test/repository-cache.test.ts b/packages/core/test/repository-cache.test.ts index 2dd0ce2502..53a4abb8b7 100644 --- a/packages/core/test/repository-cache.test.ts +++ b/packages/core/test/repository-cache.test.ts @@ -4,8 +4,8 @@ import path from "path" import { pathToFileURL } from "url" import { Effect, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Global } from "@opencode-ai/core/global" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Global } from "@opencode-ai/util/global" import { Repository } from "@opencode-ai/core/repository" import { RepositoryCache } from "@opencode-ai/core/repository-cache" import { git, gitRemote } from "./fixture/git" diff --git a/packages/core/test/ripgrep.test.ts b/packages/core/test/ripgrep.test.ts index 3abce1c02d..15d1ec63ce 100644 --- a/packages/core/test/ripgrep.test.ts +++ b/packages/core/test/ripgrep.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import fs from "fs/promises" import path from "path" import { Effect } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { RelativePath } from "@opencode-ai/core/schema" import { tmpdir } from "./fixture/tmpdir" diff --git a/packages/core/test/session-compact.test.ts b/packages/core/test/session-compact.test.ts index da90068ea4..479e0ec836 100644 --- a/packages/core/test/session-compact.test.ts +++ b/packages/core/test/session-compact.test.ts @@ -4,7 +4,7 @@ import { OpenAIChat } from "@opencode-ai/ai/protocols" import { Config } from "@opencode-ai/core/config" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Job } from "@opencode-ai/core/job" import { Location } from "@opencode-ai/core/location" diff --git a/packages/core/test/session-compaction.test.ts b/packages/core/test/session-compaction.test.ts index ad3e0a2bfb..23a6875ee0 100644 --- a/packages/core/test/session-compaction.test.ts +++ b/packages/core/test/session-compaction.test.ts @@ -4,8 +4,8 @@ import { OpenAIChat } from "@opencode-ai/ai/protocols" import { Config } from "@opencode-ai/core/config" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { llmClient } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" import { SessionCompaction } from "@opencode-ai/core/session/compaction" @@ -18,8 +18,8 @@ import { SessionStore } from "@opencode-ai/core/session/store" import { SessionV2 } from "@opencode-ai/core/session" import { Project } from "@opencode-ai/core/project" import { ProjectTable } from "@opencode-ai/core/project/sql" -import { Flag } from "@opencode-ai/core/flag/flag" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { Flag } from "@opencode-ai/util/flag" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { AbsolutePath } from "@opencode-ai/core/schema" import { Money } from "@opencode-ai/schema/money" import { DateTime, Effect, Fiber, Layer, Stream } from "effect" diff --git a/packages/core/test/session-create.test.ts b/packages/core/test/session-create.test.ts index 4b43fb5477..ec11f8bc9a 100644 --- a/packages/core/test/session-create.test.ts +++ b/packages/core/test/session-create.test.ts @@ -6,7 +6,7 @@ import { AgentV2 } from "@opencode-ai/core/agent" import { asc, eq } from "drizzle-orm" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" import { Location } from "@opencode-ai/core/location" diff --git a/packages/core/test/session-execution.test.ts b/packages/core/test/session-execution.test.ts index 0e25881a62..192b88eac8 100644 --- a/packages/core/test/session-execution.test.ts +++ b/packages/core/test/session-execution.test.ts @@ -2,7 +2,7 @@ import { describe, expect, test } from "bun:test" import { LLMError, TransportReason } from "@opencode-ai/ai" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { LocationServiceMap } from "@opencode-ai/core/location-service-map" import type { LocationServices } from "@opencode-ai/core/location-services" diff --git a/packages/core/test/session-generate.test.ts b/packages/core/test/session-generate.test.ts index a66ac6a69e..647122ef34 100644 --- a/packages/core/test/session-generate.test.ts +++ b/packages/core/test/session-generate.test.ts @@ -4,8 +4,8 @@ import { OpenAIChat } from "@opencode-ai/ai/protocols" import { AgentV2 } from "@opencode-ai/core/agent" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { llmClient } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" import { InstructionDiscovery } from "@opencode-ai/core/instruction-discovery" diff --git a/packages/core/test/session-instructions.test.ts b/packages/core/test/session-instructions.test.ts index 64f667541e..f0720cfc12 100644 --- a/packages/core/test/session-instructions.test.ts +++ b/packages/core/test/session-instructions.test.ts @@ -5,12 +5,12 @@ import { DateTime, Effect, Layer } from "effect" import { Message } from "@opencode-ai/ai" import { AgentV2 } from "@opencode-ai/core/agent" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Config } from "@opencode-ai/core/config" import { Database } from "@opencode-ai/core/database/database" import { EventV2 } from "@opencode-ai/core/event" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Image } from "@opencode-ai/core/image" import { Location } from "@opencode-ai/core/location" import { LocationMutation } from "@opencode-ai/core/location-mutation" @@ -32,7 +32,7 @@ import { ToolHooks } from "@opencode-ai/core/tool/hooks" import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" import { ToolRegistry } from "@opencode-ai/core/tool/registry" import { tempLocationLayer } from "./fixture/location" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { testEffect } from "./lib/effect" import { registerToolPlugin, settleTool } from "./lib/tool" diff --git a/packages/core/test/session-log.test.ts b/packages/core/test/session-log.test.ts index a6c7797e0f..870f6acf02 100644 --- a/packages/core/test/session-log.test.ts +++ b/packages/core/test/session-log.test.ts @@ -3,7 +3,7 @@ import { Effect, Fiber, Layer, Schema, Stream } from "effect" import { Database } from "@opencode-ai/core/database/database" import { AgentV2 } from "@opencode-ai/core/agent" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { ProjectV2 } from "@opencode-ai/core/project" diff --git a/packages/core/test/session-projector.test.ts b/packages/core/test/session-projector.test.ts index cddafaf52b..18bdcdbd62 100644 --- a/packages/core/test/session-projector.test.ts +++ b/packages/core/test/session-projector.test.ts @@ -3,7 +3,7 @@ import { DateTime, Effect, Fiber, Option, Schema, Stream } from "effect" import { asc, eq, sql } from "drizzle-orm" import { Database } from "@opencode-ai/core/database/database" import { AgentV2 } from "@opencode-ai/core/agent" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" diff --git a/packages/core/test/session-prompt.test.ts b/packages/core/test/session-prompt.test.ts index b86e19444a..9411543512 100644 --- a/packages/core/test/session-prompt.test.ts +++ b/packages/core/test/session-prompt.test.ts @@ -8,7 +8,7 @@ import { eq } from "drizzle-orm" import { Database } from "@opencode-ai/core/database/database" import { AgentV2 } from "@opencode-ai/core/agent" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" import { SessionEvent } from "@opencode-ai/core/session/event" diff --git a/packages/core/test/session-remove.test.ts b/packages/core/test/session-remove.test.ts index b0fa62e5a8..8d61af76c8 100644 --- a/packages/core/test/session-remove.test.ts +++ b/packages/core/test/session-remove.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Effect, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Database } from "@opencode-ai/core/database/database" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" diff --git a/packages/core/test/session-runner-recorded.test.ts b/packages/core/test/session-runner-recorded.test.ts index beee5d476d..bf5b538122 100644 --- a/packages/core/test/session-runner-recorded.test.ts +++ b/packages/core/test/session-runner-recorded.test.ts @@ -4,8 +4,8 @@ import { Auth, LLMClient, RequestExecutor } from "@opencode-ai/ai/route" import { Catalog } from "@opencode-ai/core/catalog" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { EventTable } from "@opencode-ai/core/event/sql" import { Job } from "@opencode-ai/core/job" diff --git a/packages/core/test/session-runner.test.ts b/packages/core/test/session-runner.test.ts index e3297a54a1..e94ad32730 100644 --- a/packages/core/test/session-runner.test.ts +++ b/packages/core/test/session-runner.test.ts @@ -17,13 +17,13 @@ import { import * as OpenAIChat from "@opencode-ai/ai/protocols/openai-chat" import { Catalog } from "@opencode-ai/core/catalog" import { Database } from "@opencode-ai/core/database/database" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" -import { Flag } from "@opencode-ai/core/flag/flag" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { Flag } from "@opencode-ai/util/flag" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { PermissionV2 } from "@opencode-ai/core/permission" import { EventTable } from "@opencode-ai/core/event/sql" import { Project } from "@opencode-ai/core/project" diff --git a/packages/core/test/session-skill.test.ts b/packages/core/test/session-skill.test.ts index d8cd7fbb56..decf33a9a3 100644 --- a/packages/core/test/session-skill.test.ts +++ b/packages/core/test/session-skill.test.ts @@ -3,7 +3,7 @@ import { describe, expect } from "bun:test" import { Effect, Layer, LayerMap } from "effect" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { LocationServiceMap } from "@opencode-ai/core/location-service-map" diff --git a/packages/core/test/session-title.test.ts b/packages/core/test/session-title.test.ts index cf3d7f4ea0..816fa0fd29 100644 --- a/packages/core/test/session-title.test.ts +++ b/packages/core/test/session-title.test.ts @@ -4,8 +4,8 @@ import { OpenAIChat } from "@opencode-ai/ai/protocols" import { AgentV2 } from "@opencode-ai/core/agent" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { llmClient } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { SessionEvent } from "@opencode-ai/core/session/event" import { SessionMessage } from "@opencode-ai/core/session/message" @@ -17,8 +17,8 @@ import { SessionTitle } from "@opencode-ai/core/session/title" import { SessionV2 } from "@opencode-ai/core/session" import { Project } from "@opencode-ai/core/project" import { ProjectTable } from "@opencode-ai/core/project/sql" -import { Flag } from "@opencode-ai/core/flag/flag" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { Flag } from "@opencode-ai/util/flag" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { AbsolutePath } from "@opencode-ai/core/schema" import { Money } from "@opencode-ai/schema/money" import { Effect, Layer, Stream } from "effect" diff --git a/packages/core/test/session-tool-progress.test.ts b/packages/core/test/session-tool-progress.test.ts index e61bb54b63..0935ee3633 100644 --- a/packages/core/test/session-tool-progress.test.ts +++ b/packages/core/test/session-tool-progress.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import { asc, eq } from "drizzle-orm" import { DateTime, Effect, Schema } from "effect" import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { AgentV2 } from "@opencode-ai/core/agent" import { EventTable } from "@opencode-ai/core/event/sql" diff --git a/packages/core/test/session-wait.test.ts b/packages/core/test/session-wait.test.ts index e15543f477..b7c69c4780 100644 --- a/packages/core/test/session-wait.test.ts +++ b/packages/core/test/session-wait.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import { Effect, Layer } from "effect" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Job } from "@opencode-ai/core/job" import { Location } from "@opencode-ai/core/location" diff --git a/packages/core/test/shell.test.ts b/packages/core/test/shell.test.ts index a3fd4f2b6b..7878244225 100644 --- a/packages/core/test/shell.test.ts +++ b/packages/core/test/shell.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" import path from "path" import { ShellSelect } from "@opencode-ai/core/shell/select" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { which } from "@opencode-ai/core/util/which" const withShell = async (shell: string | undefined, fn: () => void | Promise) => { diff --git a/packages/core/test/skill-discovery.test.ts b/packages/core/test/skill-discovery.test.ts index ca95c64a49..850f4c2aea 100644 --- a/packages/core/test/skill-discovery.test.ts +++ b/packages/core/test/skill-discovery.test.ts @@ -3,7 +3,7 @@ import path from "path" import { describe, expect, test } from "bun:test" import { Effect } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { SkillDiscovery } from "@opencode-ai/core/skill/discovery" import { tmpdir } from "./fixture/tmpdir" diff --git a/packages/core/test/skill.test.ts b/packages/core/test/skill.test.ts index 428dfaecd0..06df3dc839 100644 --- a/packages/core/test/skill.test.ts +++ b/packages/core/test/skill.test.ts @@ -4,9 +4,9 @@ import { describe, expect } from "bun:test" import { Deferred, Effect, Fiber, Layer, Stream } from "effect" import { AgentV2 } from "@opencode-ai/core/agent" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { AbsolutePath } from "@opencode-ai/core/schema" import { SkillV2 } from "@opencode-ai/core/skill" import { SkillDiscovery } from "@opencode-ai/core/skill/discovery" diff --git a/packages/core/test/snapshot.test.ts b/packages/core/test/snapshot.test.ts index 19966e9d29..3592618a38 100644 --- a/packages/core/test/snapshot.test.ts +++ b/packages/core/test/snapshot.test.ts @@ -5,11 +5,11 @@ import path from "path" import { Deferred, Effect, Fiber, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { Git } from "@opencode-ai/core/git" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Location } from "@opencode-ai/core/location" import { AbsolutePath, RelativePath } from "@opencode-ai/core/schema" import { Snapshot } from "@opencode-ai/core/snapshot" -import { Hash } from "@opencode-ai/core/util/hash" +import { Hash } from "@opencode-ai/util/hash" import { tmpdir } from "./fixture/tmpdir" import { testEffect } from "./lib/effect" diff --git a/packages/core/test/tool-edit.test.ts b/packages/core/test/tool-edit.test.ts index ded236e654..4beb47f849 100644 --- a/packages/core/test/tool-edit.test.ts +++ b/packages/core/test/tool-edit.test.ts @@ -4,9 +4,9 @@ import { fileURLToPath } from "url" import { describe, expect, test } from "bun:test" import { Effect, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { FileMutation } from "@opencode-ai/core/file-mutation" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { LocationMutation } from "@opencode-ai/core/location-mutation" import { PermissionV2 } from "@opencode-ai/core/permission" @@ -17,7 +17,7 @@ import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" import { EditTool } from "@opencode-ai/core/tool/edit" import { location } from "./fixture/location" import { tmpdir } from "./fixture/tmpdir" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { testEffect } from "./lib/effect" import { toolIdentity, executeTool, registerToolPlugin, settleTool, toolDefinitions } from "./lib/tool" diff --git a/packages/core/test/tool-output-store.test.ts b/packages/core/test/tool-output-store.test.ts index 4de63dfdcd..d8a872ce60 100644 --- a/packages/core/test/tool-output-store.test.ts +++ b/packages/core/test/tool-output-store.test.ts @@ -2,9 +2,9 @@ import { describe, expect } from "bun:test" import path from "path" import { Cause, Effect, Exit, Fiber, Layer, Option } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Config } from "@opencode-ai/core/config" import { ConfigToolOutput } from "@opencode-ai/core/config/tool-output" import { SessionV2 } from "@opencode-ai/core/session" diff --git a/packages/core/test/tool-patch.test.ts b/packages/core/test/tool-patch.test.ts index 458f8c3758..bd435442e8 100644 --- a/packages/core/test/tool-patch.test.ts +++ b/packages/core/test/tool-patch.test.ts @@ -3,9 +3,9 @@ import path from "path" import { describe, expect } from "bun:test" import { Deferred, Effect, Exit, Fiber, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { FileMutation } from "@opencode-ai/core/file-mutation" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { LocationMutation } from "@opencode-ai/core/location-mutation" import { PermissionV2 } from "@opencode-ai/core/permission" @@ -16,7 +16,7 @@ import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" import { PatchTool } from "@opencode-ai/core/tool/patch" import { location } from "./fixture/location" import { tmpdir } from "./fixture/tmpdir" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { testEffect } from "./lib/effect" import { toolIdentity, executeTool, registerToolPlugin, settleTool, toolDefinitions } from "./lib/tool" diff --git a/packages/core/test/tool-question.test.ts b/packages/core/test/tool-question.test.ts index f3ef03bf79..002806ec49 100644 --- a/packages/core/test/tool-question.test.ts +++ b/packages/core/test/tool-question.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Cause, Effect, Exit, Fiber, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Form } from "@opencode-ai/core/form" import { PermissionV2 } from "@opencode-ai/core/permission" import { SessionV2 } from "@opencode-ai/core/session" @@ -11,7 +11,7 @@ import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" import { Image } from "@opencode-ai/core/image" import { testEffect } from "./lib/effect" import { imagePassthrough } from "./lib/image" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { toolIdentity, executeTool, registerToolPlugin, settleTool, toolDefinitions } from "./lib/tool" const sessionID = SessionV2.ID.make("ses_question_tool_test") diff --git a/packages/core/test/tool-read-filesystem.test.ts b/packages/core/test/tool-read-filesystem.test.ts index e9970fb975..92c4f17397 100644 --- a/packages/core/test/tool-read-filesystem.test.ts +++ b/packages/core/test/tool-read-filesystem.test.ts @@ -1,9 +1,9 @@ import { describe, expect } from "bun:test" import path from "path" import { Effect, FileSystem } from "effect" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { ReadToolFileSystem } from "@opencode-ai/core/tool/read-filesystem" import { testEffect } from "./lib/effect" diff --git a/packages/core/test/tool-read.test.ts b/packages/core/test/tool-read.test.ts index 6437e3f128..6d309e3834 100644 --- a/packages/core/test/tool-read.test.ts +++ b/packages/core/test/tool-read.test.ts @@ -4,22 +4,22 @@ import { Effect, Exit, Layer, PlatformError } from "effect" import { Config } from "@opencode-ai/core/config" import { ConfigAttachments } from "@opencode-ai/core/config/attachments" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { FileSystem } from "@opencode-ai/core/filesystem" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { Image } from "@opencode-ai/core/image" import { PermissionV2 } from "@opencode-ai/core/permission" import { SessionV2 } from "@opencode-ai/core/session" import { AbsolutePath } from "@opencode-ai/core/schema" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { LocationMutation } from "@opencode-ai/core/location-mutation" import { location } from "./fixture/location" import { ToolRegistry } from "@opencode-ai/core/tool/registry" import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" import { ReadTool } from "@opencode-ai/core/tool/read" import { ReadToolFileSystem } from "@opencode-ai/core/tool/read-filesystem" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { SessionInstructions } from "@opencode-ai/core/session/instructions" import { testEffect } from "./lib/effect" import { toolIdentity, executeTool, registerToolPlugin, settleTool, toolDefinitions } from "./lib/tool" diff --git a/packages/core/test/tool-search.test.ts b/packages/core/test/tool-search.test.ts index 45a3e42296..3152c3f4e1 100644 --- a/packages/core/test/tool-search.test.ts +++ b/packages/core/test/tool-search.test.ts @@ -3,10 +3,10 @@ import fs from "fs/promises" import path from "path" import { Effect, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { FileSystem } from "@opencode-ai/core/filesystem" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { PermissionV2 } from "@opencode-ai/core/permission" import { Ripgrep } from "@opencode-ai/core/ripgrep" diff --git a/packages/core/test/tool-shell.test.ts b/packages/core/test/tool-shell.test.ts index 1e59e788e4..2b66b2ec8d 100644 --- a/packages/core/test/tool-shell.test.ts +++ b/packages/core/test/tool-shell.test.ts @@ -5,13 +5,13 @@ import { describe, expect, test } from "bun:test" import { DateTime, Deferred, Duration, Effect, Fiber, Layer, Scope, Stream } from "effect" import { Money } from "@opencode-ai/schema/money" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" -import { filesystem } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { filesystem } from "@opencode-ai/util/effect/app-node-platform" import { Database } from "@opencode-ai/core/database/database" import { EventV2 } from "@opencode-ai/core/event" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Location } from "@opencode-ai/core/location" import { LocationServiceMap } from "@opencode-ai/core/location-service-map" import { ModelV2 } from "@opencode-ai/core/model" diff --git a/packages/core/test/tool-skill.test.ts b/packages/core/test/tool-skill.test.ts index 8cc3eb25df..d6745b44d2 100644 --- a/packages/core/test/tool-skill.test.ts +++ b/packages/core/test/tool-skill.test.ts @@ -3,7 +3,7 @@ import path from "path" import { describe, expect } from "bun:test" import { Effect, Layer } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { PermissionV2 } from "@opencode-ai/core/permission" import { AbsolutePath } from "@opencode-ai/core/schema" import { SessionV2 } from "@opencode-ai/core/session" @@ -15,8 +15,8 @@ import { tmpdir } from "./fixture/tmpdir" import { Image } from "@opencode-ai/core/image" import { it } from "./lib/effect" import { imagePassthrough } from "./lib/image" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { toolIdentity, executeTool, registerToolPlugin, settleTool, toolDefinitions } from "./lib/tool" const skillToolNode = makeLocationNode({ diff --git a/packages/core/test/tool-subagent.test.ts b/packages/core/test/tool-subagent.test.ts index fc257a7d40..f86d0d1845 100644 --- a/packages/core/test/tool-subagent.test.ts +++ b/packages/core/test/tool-subagent.test.ts @@ -3,8 +3,8 @@ import { DateTime, Effect, Fiber, Layer, Schema, Stream } from "effect" import path from "path" import { Money } from "@opencode-ai/schema/money" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { Database } from "@opencode-ai/core/database/database" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" diff --git a/packages/core/test/tool-webfetch.test.ts b/packages/core/test/tool-webfetch.test.ts index fc38296c9b..27a917d567 100644 --- a/packages/core/test/tool-webfetch.test.ts +++ b/packages/core/test/tool-webfetch.test.ts @@ -3,14 +3,14 @@ import { Duration, Effect, Fiber, Layer, Schema } from "effect" import * as TestClock from "effect/testing/TestClock" import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" import { PermissionV2 } from "@opencode-ai/core/permission" import { SessionV2 } from "@opencode-ai/core/session" import { ToolRegistry } from "@opencode-ai/core/tool/registry" import { WebFetchTool } from "@opencode-ai/core/tool/webfetch" import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Image } from "@opencode-ai/core/image" import { testEffect } from "./lib/effect" import { imagePassthrough } from "./lib/image" diff --git a/packages/core/test/tool-websearch.test.ts b/packages/core/test/tool-websearch.test.ts index 8d1cc1e679..f8468285a5 100644 --- a/packages/core/test/tool-websearch.test.ts +++ b/packages/core/test/tool-websearch.test.ts @@ -2,14 +2,14 @@ import { beforeEach, describe, expect, test } from "bun:test" import { Effect, Layer, Schema } from "effect" import { HttpClient, HttpClientResponse } from "effect/unstable/http" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" import { PermissionV2 } from "@opencode-ai/core/permission" import { SessionV2 } from "@opencode-ai/core/session" import { ToolRegistry } from "@opencode-ai/core/tool/registry" import { WebSearchTool } from "@opencode-ai/core/tool/websearch" import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { Image } from "@opencode-ai/core/image" import { testEffect } from "./lib/effect" import { imagePassthrough } from "./lib/image" diff --git a/packages/core/test/tool-write.test.ts b/packages/core/test/tool-write.test.ts index 1fc82f1428..11698f9224 100644 --- a/packages/core/test/tool-write.test.ts +++ b/packages/core/test/tool-write.test.ts @@ -5,8 +5,8 @@ import { describe, expect, test } from "bun:test" import { Effect, Layer } from "effect" import { FileMutation } from "@opencode-ai/core/file-mutation" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { LocationMutation } from "@opencode-ai/core/location-mutation" import { PermissionV2 } from "@opencode-ai/core/permission" @@ -17,7 +17,7 @@ import { ToolOutputStore } from "@opencode-ai/core/tool-output-store" import { WriteTool } from "@opencode-ai/core/tool/write" import { location } from "./fixture/location" import { tmpdir } from "./fixture/tmpdir" -import { makeLocationNode } from "@opencode-ai/core/effect/app-node" +import { makeLocationNode } from "@opencode-ai/util/effect/app-node" import { testEffect } from "./lib/effect" import { toolIdentity, executeTool, registerToolPlugin, settleTool, toolDefinitions } from "./lib/tool" diff --git a/packages/core/test/util/effect-flock.test.ts b/packages/core/test/util/effect-flock.test.ts index ca2820737d..436074b503 100644 --- a/packages/core/test/util/effect-flock.test.ts +++ b/packages/core/test/util/effect-flock.test.ts @@ -6,10 +6,10 @@ import os from "os" import { Cause, Effect, Exit } from "effect" import { testEffect } from "../lib/effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { EffectFlock } from "@opencode-ai/core/util/effect-flock" -import { Global } from "@opencode-ai/core/global" -import { Hash } from "@opencode-ai/core/util/hash" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { EffectFlock } from "@opencode-ai/util/effect-flock" +import { Global } from "@opencode-ai/util/global" +import { Hash } from "@opencode-ai/util/hash" function lock(dir: string, key: string) { return path.join(dir, Hash.fast(key) + ".lock") diff --git a/packages/core/test/util/flock.test.ts b/packages/core/test/util/flock.test.ts index 53bfc1874e..37cd51497b 100644 --- a/packages/core/test/util/flock.test.ts +++ b/packages/core/test/util/flock.test.ts @@ -3,8 +3,8 @@ import fs from "fs/promises" import { spawn } from "child_process" import path from "path" import os from "os" -import { Flock } from "@opencode-ai/core/util/flock" -import { Hash } from "@opencode-ai/core/util/hash" +import { Flock } from "@opencode-ai/util/flock" +import { Hash } from "@opencode-ai/util/hash" type Msg = { key: string diff --git a/packages/core/test/vcs-hg.test.ts b/packages/core/test/vcs-hg.test.ts index 372631cb1f..f699eb6457 100644 --- a/packages/core/test/vcs-hg.test.ts +++ b/packages/core/test/vcs-hg.test.ts @@ -3,7 +3,7 @@ import { describe, expect } from "bun:test" import fs from "fs/promises" import path from "path" import { Effect, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { AbsolutePath } from "@opencode-ai/core/schema" import { Vcs } from "@opencode-ai/core/vcs" diff --git a/packages/core/test/vcs.test.ts b/packages/core/test/vcs.test.ts index 2a42d1f54a..822deff75b 100644 --- a/packages/core/test/vcs.test.ts +++ b/packages/core/test/vcs.test.ts @@ -3,7 +3,7 @@ import { describe, expect } from "bun:test" import fs from "fs/promises" import path from "path" import { Effect, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Location } from "@opencode-ai/core/location" import { AbsolutePath } from "@opencode-ai/core/schema" import { Vcs } from "@opencode-ai/core/vcs" diff --git a/packages/core/test/wellknown.test.ts b/packages/core/test/wellknown.test.ts index 08ecbfc8b6..829f60ccd7 100644 --- a/packages/core/test/wellknown.test.ts +++ b/packages/core/test/wellknown.test.ts @@ -2,7 +2,7 @@ import { expect } from "bun:test" import { Effect, Fiber, Stream } from "effect" import { FetchHttpClient } from "effect/unstable/http" import { KV } from "@opencode-ai/core/kv" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { WellKnown } from "@opencode-ai/core/wellknown" import { testEffect } from "./lib/effect" diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 2f85a143d8..47f9532f92 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -32,6 +32,7 @@ "@babel/core": "7.28.4", "@octokit/webhooks-types": "7.6.1", "@opencode-ai/core": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opencode-ai/http-recorder": "workspace:*", "@opencode-ai/script": "workspace:*", "@standard-schema/spec": "1.0.0", diff --git a/packages/opencode/src/account/account.ts b/packages/opencode/src/account/account.ts index 4b49d2a748..0b913296a3 100644 --- a/packages/opencode/src/account/account.ts +++ b/packages/opencode/src/account/account.ts @@ -1,7 +1,7 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Cache, Clock, Duration, Effect, Layer, Option, Schema, SchemaGetter, Context } from "effect" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { FetchHttpClient, HttpClient, diff --git a/packages/opencode/src/account/repo.ts b/packages/opencode/src/account/repo.ts index 62fac1e618..9b25a188e0 100644 --- a/packages/opencode/src/account/repo.ts +++ b/packages/opencode/src/account/repo.ts @@ -1,6 +1,6 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { eq } from "drizzle-orm" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { Effect, Layer, Option, Schema, Context } from "effect" import { Database } from "@opencode-ai/core/database/database" diff --git a/packages/opencode/src/acp/directory.ts b/packages/opencode/src/acp/directory.ts index 2301c8929a..73714fa775 100644 --- a/packages/opencode/src/acp/directory.ts +++ b/packages/opencode/src/acp/directory.ts @@ -3,7 +3,7 @@ import { Command } from "@/command" import { InstanceRef } from "@/effect/instance-ref" import { InstanceBootstrap } from "@/project/bootstrap" import { InstanceStore } from "@/project/instance-store" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { Provider } from "@/provider/provider" diff --git a/packages/opencode/src/acp/service.ts b/packages/opencode/src/acp/service.ts index 7257efa765..fbe7f0f3e9 100644 --- a/packages/opencode/src/acp/service.ts +++ b/packages/opencode/src/acp/service.ts @@ -29,7 +29,7 @@ import { type SetSessionModeRequest, type SetSessionModeResponse, } from "@agentclientprotocol/sdk" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import type { AssistantMessage, Message, OpencodeClient, SessionMessageResponse } from "@opencode-ai/sdk/v2" import { Context, Effect, Layer, ManagedRuntime } from "effect" diff --git a/packages/opencode/src/acp/session.ts b/packages/opencode/src/acp/session.ts index f6a7a56bac..8c3e79829e 100644 --- a/packages/opencode/src/acp/session.ts +++ b/packages/opencode/src/acp/session.ts @@ -1,6 +1,6 @@ import type { McpServer } from "@agentclientprotocol/sdk" import type { Message, Part } from "@opencode-ai/sdk/v2" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { Context, Effect, Layer, Ref } from "effect" diff --git a/packages/opencode/src/acp/usage.ts b/packages/opencode/src/acp/usage.ts index 737275768e..b7f3a60036 100644 --- a/packages/opencode/src/acp/usage.ts +++ b/packages/opencode/src/acp/usage.ts @@ -3,8 +3,8 @@ import type { AssistantMessage as OpenCodeAssistantMessage, Message } from "@ope import { InstanceRef } from "@/effect/instance-ref" import { InstanceBootstrap } from "@/project/bootstrap" import { InstanceStore } from "@/project/instance-store" -import { makeGlobalNode, Node } from "@opencode-ai/core/effect/app-node" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { makeGlobalNode, Node } from "@opencode-ai/util/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { Provider } from "@/provider/provider" diff --git a/packages/opencode/src/agent/agent.ts b/packages/opencode/src/agent/agent.ts index ae42af1dff..18fe8bbd52 100644 --- a/packages/opencode/src/agent/agent.ts +++ b/packages/opencode/src/agent/agent.ts @@ -1,7 +1,7 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { Config } from "@/config/config" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { Provider } from "@/provider/provider" import { generateObject, streamObject, type ModelMessage } from "ai" @@ -16,7 +16,7 @@ import PROMPT_SUMMARY from "./prompt/summary.txt" import PROMPT_TITLE from "./prompt/title.txt" import { Permission } from "@/permission" import { mergeDeep, pipe, sortBy, values } from "remeda" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import path from "path" import { Plugin } from "@/plugin" import { Skill } from "../skill" diff --git a/packages/opencode/src/auth/index.ts b/packages/opencode/src/auth/index.ts index a133e88498..2c71ad40bf 100644 --- a/packages/opencode/src/auth/index.ts +++ b/packages/opencode/src/auth/index.ts @@ -1,9 +1,9 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import path from "path" import { Effect, Layer, Record, Result, Schema, Context } from "effect" import { NonNegativeInt } from "@opencode-ai/core/schema" -import { Global } from "@opencode-ai/core/global" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { Global } from "@opencode-ai/util/global" +import { FSUtil } from "@opencode-ai/util/fs-util" export const OAUTH_DUMMY_KEY = "opencode-oauth-dummy-key" diff --git a/packages/opencode/src/cli/cmd/agent.ts b/packages/opencode/src/cli/cmd/agent.ts index 076160b41f..1f7cabbc4f 100644 --- a/packages/opencode/src/cli/cmd/agent.ts +++ b/packages/opencode/src/cli/cmd/agent.ts @@ -1,7 +1,7 @@ import { cmd } from "./cmd" import * as prompts from "@clack/prompts" import { UI } from "../ui" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import path from "path" import fs from "fs/promises" import { Filesystem } from "@/util/filesystem" diff --git a/packages/opencode/src/cli/cmd/debug/index.ts b/packages/opencode/src/cli/cmd/debug/index.ts index 9dcaa33b36..564608275b 100644 --- a/packages/opencode/src/cli/cmd/debug/index.ts +++ b/packages/opencode/src/cli/cmd/debug/index.ts @@ -1,6 +1,6 @@ -import { Global } from "@opencode-ai/core/global" -import { InstallationVersion } from "@opencode-ai/core/installation/version" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Global } from "@opencode-ai/util/global" +import { InstallationVersion } from "@opencode-ai/util/installation/version" +import { Flag } from "@opencode-ai/util/flag" import os from "os" import { Duration, Effect } from "effect" import { effectCmd } from "../../effect-cmd" diff --git a/packages/opencode/src/cli/cmd/debug/scrap.ts b/packages/opencode/src/cli/cmd/debug/scrap.ts index f624ee882e..a7f9f32922 100644 --- a/packages/opencode/src/cli/cmd/debug/scrap.ts +++ b/packages/opencode/src/cli/cmd/debug/scrap.ts @@ -8,7 +8,7 @@ export const ScrapCommand = cmd({ async handler() { const { Project } = await import("@/project/project") const { AppNodeBuilder } = await import("@opencode-ai/core/effect/app-node-builder") - const { makeRuntime } = await import("@opencode-ai/core/effect/runtime") + const { makeRuntime } = await import("@opencode-ai/util/effect/runtime") const runtime = makeRuntime(Project.Service, AppNodeBuilder.build(Project.node)) const list = await runtime.runPromise((project) => project.list()) process.stdout.write(JSON.stringify(list, null, 2) + EOL) diff --git a/packages/opencode/src/cli/cmd/import.ts b/packages/opencode/src/cli/cmd/import.ts index 9eb151b633..c0a3e74a22 100644 --- a/packages/opencode/src/cli/cmd/import.ts +++ b/packages/opencode/src/cli/cmd/import.ts @@ -9,7 +9,7 @@ import { InstanceRef } from "@/effect/instance-ref" import { ShareNext } from "@/share/share-next" import { EOL } from "os" import path from "path" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect, Schema } from "effect" import type { InstanceContext } from "@/project/instance-context" diff --git a/packages/opencode/src/cli/cmd/mcp.ts b/packages/opencode/src/cli/cmd/mcp.ts index c2d2ee2f3b..274aec9367 100644 --- a/packages/opencode/src/cli/cmd/mcp.ts +++ b/packages/opencode/src/cli/cmd/mcp.ts @@ -14,9 +14,9 @@ import { McpOAuthProvider } from "../../mcp/oauth-provider" import { Config } from "@/config/config" import { ConfigMCPV1 } from "@opencode-ai/core/v1/config/mcp" import { InstanceRef } from "@/effect/instance-ref" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import path from "path" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { modify, applyEdits } from "jsonc-parser" import { Filesystem } from "@/util/filesystem" import { Effect } from "effect" diff --git a/packages/opencode/src/cli/cmd/plug.ts b/packages/opencode/src/cli/cmd/plug.ts index 1529e9b71d..74c37c8e35 100644 --- a/packages/opencode/src/cli/cmd/plug.ts +++ b/packages/opencode/src/cli/cmd/plug.ts @@ -2,7 +2,7 @@ import { intro, log, outro, spinner } from "@clack/prompts" import { Effect } from "effect" import { ConfigPaths } from "@/config/paths" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { installPlugin, patchPluginConfig, readPluginManifest } from "../../plugin/install" import { resolvePluginTarget } from "../../plugin/shared" import { errorMessage } from "../../util/error" diff --git a/packages/opencode/src/cli/cmd/providers.ts b/packages/opencode/src/cli/cmd/providers.ts index 2d5a0ceaf7..272df1446d 100644 --- a/packages/opencode/src/cli/cmd/providers.ts +++ b/packages/opencode/src/cli/cmd/providers.ts @@ -10,7 +10,7 @@ import { map, pipe, sortBy, values } from "remeda" import path from "path" import os from "os" import { Config } from "@/config/config" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Plugin } from "../../plugin" import type { Hooks } from "@opencode-ai/plugin" import { Process } from "@/util/process" diff --git a/packages/opencode/src/cli/cmd/serve.ts b/packages/opencode/src/cli/cmd/serve.ts index c0f62b3ca0..68e4a8ece6 100644 --- a/packages/opencode/src/cli/cmd/serve.ts +++ b/packages/opencode/src/cli/cmd/serve.ts @@ -1,7 +1,7 @@ import { Effect } from "effect" import { effectCmd } from "../effect-cmd" import { withNetworkOptions, resolveNetworkOptions } from "../network" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" export const ServeCommand = effectCmd({ command: "serve", diff --git a/packages/opencode/src/cli/cmd/session.ts b/packages/opencode/src/cli/cmd/session.ts index 9e6ddda9d2..7fc0759f19 100644 --- a/packages/opencode/src/cli/cmd/session.ts +++ b/packages/opencode/src/cli/cmd/session.ts @@ -6,7 +6,7 @@ import { Session } from "@/session/session" import { SessionID } from "../../session/schema" import { UI } from "../ui" import { Locale } from "@/util/locale" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Filesystem } from "@/util/filesystem" import { Process } from "@/util/process" import { NotFoundError } from "@/storage/storage" diff --git a/packages/opencode/src/cli/cmd/uninstall.ts b/packages/opencode/src/cli/cmd/uninstall.ts index 0afdc51854..fa6da0bd24 100644 --- a/packages/opencode/src/cli/cmd/uninstall.ts +++ b/packages/opencode/src/cli/cmd/uninstall.ts @@ -2,7 +2,7 @@ import type { Argv } from "yargs" import { UI } from "../ui" import * as prompts from "@clack/prompts" import { Installation } from "../../installation" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import fs from "fs/promises" import path from "path" import os from "os" diff --git a/packages/opencode/src/cli/cmd/upgrade.ts b/packages/opencode/src/cli/cmd/upgrade.ts index 3c1604a0b8..70d392bc99 100644 --- a/packages/opencode/src/cli/cmd/upgrade.ts +++ b/packages/opencode/src/cli/cmd/upgrade.ts @@ -2,7 +2,7 @@ import type { Argv } from "yargs" import { UI } from "../ui" import * as prompts from "@clack/prompts" import { Installation } from "../../installation" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" export const UpgradeCommand = { command: "upgrade [target]", diff --git a/packages/opencode/src/cli/cmd/web.ts b/packages/opencode/src/cli/cmd/web.ts index 69a981aada..cc1cfc87b7 100644 --- a/packages/opencode/src/cli/cmd/web.ts +++ b/packages/opencode/src/cli/cmd/web.ts @@ -2,7 +2,7 @@ import { Effect } from "effect" import { UI } from "../ui" import { effectCmd } from "../effect-cmd" import { withNetworkOptions, resolveNetworkOptions } from "../network" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import open from "open" import { networkInterfaces } from "os" diff --git a/packages/opencode/src/cli/heap.ts b/packages/opencode/src/cli/heap.ts index e8ec8f1bd0..c31a7ffba8 100644 --- a/packages/opencode/src/cli/heap.ts +++ b/packages/opencode/src/cli/heap.ts @@ -1,7 +1,7 @@ import path from "path" import { writeHeapSnapshot } from "node:v8" -import { Flag } from "@opencode-ai/core/flag/flag" -import { Global } from "@opencode-ai/core/global" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" const MINUTE = 60_000 const LIMIT = 2 * 1024 * 1024 * 1024 diff --git a/packages/opencode/src/cli/upgrade.ts b/packages/opencode/src/cli/upgrade.ts index 62b230a633..9cf3153ec2 100644 --- a/packages/opencode/src/cli/upgrade.ts +++ b/packages/opencode/src/cli/upgrade.ts @@ -1,8 +1,8 @@ import { Config } from "@/config/config" import { AppRuntime } from "@/effect/app-runtime" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Installation } from "@/installation" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { GlobalBus } from "@/bus/global" export async function upgrade() { diff --git a/packages/opencode/src/command/index.ts b/packages/opencode/src/command/index.ts index 057754cd9e..3eca8cb9ee 100644 --- a/packages/opencode/src/command/index.ts +++ b/packages/opencode/src/command/index.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import path from "path" import { InstanceState } from "@/effect/instance-state" import { EffectBridge } from "@/effect/bridge" diff --git a/packages/opencode/src/config/agent.ts b/packages/opencode/src/config/agent.ts index a74450ce07..53cd834da2 100644 --- a/packages/opencode/src/config/agent.ts +++ b/packages/opencode/src/config/agent.ts @@ -2,7 +2,7 @@ export * as ConfigAgent from "./agent" import path from "path" import { Exit, Schema } from "effect" -import { Glob } from "@opencode-ai/core/util/glob" +import { Glob } from "@opencode-ai/util/glob" import { ConfigAgentV1 } from "@opencode-ai/core/v1/config/agent" import { configEntryNameFromPath } from "./entry-name" import * as ConfigMarkdown from "./markdown" diff --git a/packages/opencode/src/config/command.ts b/packages/opencode/src/config/command.ts index f32e146d91..6b8c916e5c 100644 --- a/packages/opencode/src/config/command.ts +++ b/packages/opencode/src/config/command.ts @@ -2,7 +2,7 @@ export * as ConfigCommand from "./command" import path from "path" import { Cause, Exit, Schema } from "effect" -import { Glob } from "@opencode-ai/core/util/glob" +import { Glob } from "@opencode-ai/util/glob" import { ConfigCommandV1 } from "@opencode-ai/core/v1/config/command" import { configEntryNameFromPath } from "./entry-name" import { InvalidError } from "@opencode-ai/core/v1/config/error" diff --git a/packages/opencode/src/config/config.ts b/packages/opencode/src/config/config.ts index 86238f1a84..08ebb981c7 100644 --- a/packages/opencode/src/config/config.ts +++ b/packages/opencode/src/config/config.ts @@ -1,26 +1,26 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import path from "path" import { pathToFileURL } from "url" import os from "os" import { mergeDeep } from "remeda" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import fsNode from "fs/promises" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Auth } from "../auth" import { Env } from "../env" import { applyEdits, modify } from "jsonc-parser" -import { InstallationLocal, InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationLocal, InstallationVersion } from "@opencode-ai/util/installation/version" import { existsSync } from "fs" import { Account } from "@/account/account" import { isRecord } from "@/util/record" import type { ConsoleState } from "@opencode-ai/core/v1/config/console-state" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { InstanceState } from "@/effect/instance-state" import { Context, Duration, Effect, Exit, Fiber, Layer, Option, Schema } from "effect" import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/http" -import { EffectFlock } from "@opencode-ai/core/util/effect-flock" +import { EffectFlock } from "@opencode-ai/util/effect-flock" import { containsPath, type InstanceContext } from "../project/instance-context" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" import { RemoteAuthError } from "@opencode-ai/core/v1/config/error" @@ -33,7 +33,7 @@ import { ConfigParse } from "./parse" import { ConfigPaths } from "./paths" import { ConfigPlugin } from "./plugin" import { ConfigVariable } from "./variable" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { withTransientReadRetry } from "@/util/effect-http-client" // Custom merge function that concatenates array fields instead of replacing them diff --git a/packages/opencode/src/config/paths.ts b/packages/opencode/src/config/paths.ts index 11d90f1292..2ef1ef772e 100644 --- a/packages/opencode/src/config/paths.ts +++ b/packages/opencode/src/config/paths.ts @@ -1,11 +1,11 @@ export * as ConfigPaths from "./paths" import path from "path" -import { Flag } from "@opencode-ai/core/flag/flag" -import { Global } from "@opencode-ai/core/global" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" import { unique } from "remeda" import * as Effect from "effect/Effect" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" export const files = Effect.fn("ConfigPaths.projectFiles")(function* ( name: string, diff --git a/packages/opencode/src/config/plugin.ts b/packages/opencode/src/config/plugin.ts index 60bba4d636..297b7525d1 100644 --- a/packages/opencode/src/config/plugin.ts +++ b/packages/opencode/src/config/plugin.ts @@ -1,4 +1,4 @@ -import { Glob } from "@opencode-ai/core/util/glob" +import { Glob } from "@opencode-ai/util/glob" import { ConfigPluginV1 } from "@opencode-ai/core/v1/config/plugin" import { pathToFileURL } from "url" import { isPathPluginSpec, parsePluginSpecifier, resolvePathPluginTarget } from "@/plugin/shared" diff --git a/packages/opencode/src/config/tui-migrate.ts b/packages/opencode/src/config/tui-migrate.ts index 63dd36ec62..57690cc2ae 100644 --- a/packages/opencode/src/config/tui-migrate.ts +++ b/packages/opencode/src/config/tui-migrate.ts @@ -3,8 +3,8 @@ import { type ParseError as JsoncParseError, applyEdits, modify, parse as parseJ import { unique } from "remeda" import { Option, Schema } from "effect" import { TuiConfig } from "@opencode-ai/tui/config/v1" -import { Flag } from "@opencode-ai/core/flag/flag" -import { Global } from "@opencode-ai/core/global" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" import { Filesystem } from "@/util/filesystem" import * as ConfigPaths from "@/config/paths" diff --git a/packages/opencode/src/config/tui.ts b/packages/opencode/src/config/tui.ts index 2c69c91bb8..b644e1c7a6 100644 --- a/packages/opencode/src/config/tui.ts +++ b/packages/opencode/src/config/tui.ts @@ -3,24 +3,24 @@ export * as TuiConfig from "./tui" import path from "path" import { mergeDeep, unique } from "remeda" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Context, Effect, Fiber, Layer } from "effect" import { ConfigParse } from "@/config/parse" import * as ConfigPaths from "@/config/paths" import { migrateTuiConfig } from "./tui-migrate" import { resolveHostAttentionSoundPaths } from "./tui-host-attention" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { isRecord } from "@opencode-ai/tui/util/record" -import { Global } from "@opencode-ai/core/global" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { Global } from "@opencode-ai/util/global" +import { FSUtil } from "@opencode-ai/util/fs-util" import { CurrentWorkingDirectory } from "./tui-cwd" import { ConfigPlugin } from "@/config/plugin" import { TuiKeybind } from "@opencode-ai/tui/config/v1/keybind" -import { InstallationLocal, InstallationVersion } from "@opencode-ai/core/installation/version" -import { makeRuntime } from "@opencode-ai/core/effect/runtime" +import { InstallationLocal, InstallationVersion } from "@opencode-ai/util/installation/version" +import { makeRuntime } from "@opencode-ai/util/effect/runtime" import { Filesystem } from "@/util/filesystem" import { ConfigVariable } from "@/config/variable" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { FormatError, FormatUnknownError } from "@/cli/error" import { TuiConfig } from "@opencode-ai/tui/config/v1" diff --git a/packages/opencode/src/control-plane/workspace.ts b/packages/opencode/src/control-plane/workspace.ts index 8f746e2568..f9289e5718 100644 --- a/packages/opencode/src/control-plane/workspace.ts +++ b/packages/opencode/src/control-plane/workspace.ts @@ -1,7 +1,7 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Context, Effect, FiberMap, Iterable, Layer, Schema, Stream } from "effect" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { FetchHttpClient, HttpBody, HttpClient, HttpClientError, HttpClientRequest } from "effect/unstable/http" import { Database } from "@opencode-ai/core/database/database" import { asc } from "drizzle-orm" @@ -13,7 +13,7 @@ import { Auth } from "@/auth" import { EventV2 } from "@opencode-ai/core/event" import { EventV2Bridge } from "@/event-v2-bridge" import { EventSequenceTable, EventTable } from "@opencode-ai/core/event/sql" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { RuntimeFlags } from "@/effect/runtime-flags" import { ProjectV2 } from "@opencode-ai/core/project" import { Slug } from "@opencode-ai/core/util/slug" diff --git a/packages/opencode/src/effect/app-node-builder-v1.ts b/packages/opencode/src/effect/app-node-builder-v1.ts index 7573475d9a..76aa66ac5f 100644 --- a/packages/opencode/src/effect/app-node-builder-v1.ts +++ b/packages/opencode/src/effect/app-node-builder-v1.ts @@ -1,5 +1,5 @@ import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { InstanceBootstrap } from "@/project/bootstrap" import { InstanceStore } from "@/project/instance-store" diff --git a/packages/opencode/src/effect/app-runtime.ts b/packages/opencode/src/effect/app-runtime.ts index 1ebed3b472..80c4a1338d 100644 --- a/packages/opencode/src/effect/app-runtime.ts +++ b/packages/opencode/src/effect/app-runtime.ts @@ -1,8 +1,8 @@ import { Layer, ManagedRuntime } from "effect" import { attach } from "./run-service" -import * as Observability from "@opencode-ai/core/observability" +import * as Observability from "@opencode-ai/util/observability" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Database } from "@opencode-ai/core/database/database" import { Auth } from "@/auth" import { Account } from "@/account/account" @@ -45,12 +45,12 @@ import { Worktree } from "@/worktree" import { Installation } from "@/installation" import { ShareNext } from "@/share/share-next" import { SessionShare } from "@/share/session" -import { Npm } from "@opencode-ai/core/npm" -import { memoMap } from "@opencode-ai/core/effect/memo-map" +import { Npm } from "@opencode-ai/util/npm" +import { memoMap } from "@opencode-ai/util/effect/memo-map" import { Job } from "@/job" import { RuntimeFlags } from "@/effect/runtime-flags" import { EventV2Bridge } from "@/event-v2-bridge" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AppNodeBuilderV1 } from "./app-node-builder-v1" import { SessionProjector } from "@opencode-ai/core/session/projector" diff --git a/packages/opencode/src/effect/bootstrap-runtime.ts b/packages/opencode/src/effect/bootstrap-runtime.ts index 57fe43b46e..f6a8c38f75 100644 --- a/packages/opencode/src/effect/bootstrap-runtime.ts +++ b/packages/opencode/src/effect/bootstrap-runtime.ts @@ -1,6 +1,6 @@ import { Layer, ManagedRuntime } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Plugin } from "@/plugin" import { LSP } from "@/lsp/lsp" @@ -9,8 +9,8 @@ import { ShareNext } from "@/share/share-next" import { Vcs } from "@/project/vcs" import { Snapshot } from "@/snapshot" import { Config } from "@/config/config" -import * as Observability from "@opencode-ai/core/observability" -import { memoMap } from "@opencode-ai/core/effect/memo-map" +import * as Observability from "@opencode-ai/util/observability" +import { memoMap } from "@opencode-ai/util/effect/memo-map" export const BootstrapLayer = AppNodeBuilder.build( LayerNode.group([Config.node, Plugin.node, ShareNext.node, Format.node, LSP.node, Vcs.node, Snapshot.node]), diff --git a/packages/opencode/src/effect/run-service.ts b/packages/opencode/src/effect/run-service.ts index cfcc50081e..40e7acab04 100644 --- a/packages/opencode/src/effect/run-service.ts +++ b/packages/opencode/src/effect/run-service.ts @@ -1,10 +1,10 @@ import { Effect, Fiber, Layer, ManagedRuntime } from "effect" import * as Context from "effect/Context" import { InstanceRef, WorkspaceRef } from "./instance-ref" -import * as Observability from "@opencode-ai/core/observability" +import * as Observability from "@opencode-ai/util/observability" import { WorkspaceContext } from "@/control-plane/workspace-context" import type { InstanceContext } from "@/project/instance-context" -import { memoMap } from "@opencode-ai/core/effect/memo-map" +import { memoMap } from "@opencode-ai/util/effect/memo-map" type Refs = { instance?: InstanceContext diff --git a/packages/opencode/src/effect/runtime-flags.ts b/packages/opencode/src/effect/runtime-flags.ts index 95dc7f0b18..f6ef809d69 100644 --- a/packages/opencode/src/effect/runtime-flags.ts +++ b/packages/opencode/src/effect/runtime-flags.ts @@ -74,4 +74,4 @@ export const layer = (overrides: Partial = {}) => export const node = LayerNode.make({ service: Service, layer: Service.layer.pipe(Layer.orDie), deps: [] }) export * as RuntimeFlags from "./runtime-flags" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" diff --git a/packages/opencode/src/env/index.ts b/packages/opencode/src/env/index.ts index 5879f27fe3..be1ab83651 100644 --- a/packages/opencode/src/env/index.ts +++ b/packages/opencode/src/env/index.ts @@ -1,6 +1,6 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Context, Effect, Layer } from "effect" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { InstanceState } from "@/effect/instance-state" type State = Record diff --git a/packages/opencode/src/event-v2-bridge.ts b/packages/opencode/src/event-v2-bridge.ts index 8e65f2752d..63e996edae 100644 --- a/packages/opencode/src/event-v2-bridge.ts +++ b/packages/opencode/src/event-v2-bridge.ts @@ -1,6 +1,6 @@ // Opencode publish boundary for core events. Attach routed instance location // so direct EventV2 consumers can isolate directory/workspace streams. -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { InstanceRef, WorkspaceRef } from "@/effect/instance-ref" import { GlobalBus } from "@/bus/global" import { EventV2 } from "@opencode-ai/core/event" diff --git a/packages/opencode/src/format/formatter.ts b/packages/opencode/src/format/formatter.ts index 3be6025d30..76189f85cb 100644 --- a/packages/opencode/src/format/formatter.ts +++ b/packages/opencode/src/format/formatter.ts @@ -1,4 +1,4 @@ -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import type { InstanceContext } from "../project/instance-context" import { Filesystem } from "@/util/filesystem" import { Process } from "@/util/process" diff --git a/packages/opencode/src/format/index.ts b/packages/opencode/src/format/index.ts index 4288f83efc..a1048aac3e 100644 --- a/packages/opencode/src/format/index.ts +++ b/packages/opencode/src/format/index.ts @@ -1,8 +1,8 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer, Context, Schema } from "effect" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { ChildProcess } from "effect/unstable/process" -import { AppProcess } from "@opencode-ai/core/process" +import { AppProcess } from "@opencode-ai/util/process" import { InstanceState } from "@/effect/instance-state" import path from "path" import { mergeDeep } from "remeda" diff --git a/packages/opencode/src/git/index.ts b/packages/opencode/src/git/index.ts index 968e394a95..132fe7a604 100644 --- a/packages/opencode/src/git/index.ts +++ b/packages/opencode/src/git/index.ts @@ -1,5 +1,5 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { AppProcess } from "@opencode-ai/core/process" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { AppProcess } from "@opencode-ai/util/process" import { Effect, Layer, Context, Stream } from "effect" import { ChildProcess } from "effect/unstable/process" diff --git a/packages/opencode/src/image/image.ts b/packages/opencode/src/image/image.ts index 744bd3fc95..64da6b2f03 100644 --- a/packages/opencode/src/image/image.ts +++ b/packages/opencode/src/image/image.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Config } from "@/config/config" import { SessionV1 } from "@opencode-ai/core/v1/session" import type { MessageV2 } from "@/session/message-v2" diff --git a/packages/opencode/src/index.ts b/packages/opencode/src/index.ts index 1a62f05c7a..99042907c5 100644 --- a/packages/opencode/src/index.ts +++ b/packages/opencode/src/index.ts @@ -9,7 +9,7 @@ import { UpgradeCommand } from "./cli/cmd/upgrade" import { UninstallCommand } from "./cli/cmd/uninstall" import { ModelsCommand } from "./cli/cmd/models" import { UI } from "./cli/ui" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { FormatError } from "./cli/error" import { ServeCommand } from "./cli/cmd/serve" import { DebugCommand } from "./cli/cmd/debug" diff --git a/packages/opencode/src/installation/index.ts b/packages/opencode/src/installation/index.ts index 4300220255..c07ac8844d 100644 --- a/packages/opencode/src/installation/index.ts +++ b/packages/opencode/src/installation/index.ts @@ -1,18 +1,18 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Effect, Layer, Schema, Context, Stream } from "effect" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { withTransientReadRetry } from "@/util/effect-http-client" import { errorMessage } from "@/util/error" import { ChildProcess } from "effect/unstable/process" -import { AppProcess } from "@opencode-ai/core/process" +import { AppProcess } from "@opencode-ai/util/process" import path from "path" -import { makeRuntime } from "@opencode-ai/core/effect/runtime" +import { makeRuntime } from "@opencode-ai/util/effect/runtime" import semver from "semver" -import { InstallationChannel, InstallationVersion } from "@opencode-ai/core/installation/version" -import { NpmConfig } from "@opencode-ai/core/npm-config" +import { InstallationChannel, InstallationVersion } from "@opencode-ai/util/installation/version" +import { NpmConfig } from "@opencode-ai/util/npm-config" import { InstallationEvent } from "@opencode-ai/schema/installation-event" export type Method = "curl" | "npm" | "yarn" | "pnpm" | "bun" | "brew" | "scoop" | "choco" | "unknown" diff --git a/packages/opencode/src/job.ts b/packages/opencode/src/job.ts index 6e7541fbd7..2aafeb68c2 100644 --- a/packages/opencode/src/job.ts +++ b/packages/opencode/src/job.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Service, make } from "@opencode-ai/core/job" import { InstanceState } from "@/effect/instance-state" import { Effect, Layer } from "effect" diff --git a/packages/opencode/src/lsp/lsp.ts b/packages/opencode/src/lsp/lsp.ts index 1ab3a0b823..ff50ddfc74 100644 --- a/packages/opencode/src/lsp/lsp.ts +++ b/packages/opencode/src/lsp/lsp.ts @@ -1,5 +1,5 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { EventV2Bridge } from "@/event-v2-bridge" import * as LSPClient from "./client" import path from "path" diff --git a/packages/opencode/src/lsp/server.ts b/packages/opencode/src/lsp/server.ts index 2be68aa5a9..cd8e461fd5 100644 --- a/packages/opencode/src/lsp/server.ts +++ b/packages/opencode/src/lsp/server.ts @@ -1,7 +1,7 @@ import type { ChildProcessWithoutNullStreams } from "child_process" import path from "path" import os from "os" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { text } from "node:stream/consumers" import fs from "fs/promises" import { Filesystem } from "@/util/filesystem" @@ -11,7 +11,7 @@ import { Process } from "@/util/process" import { which } from "@opencode-ai/core/util/which" import { Module } from "@opencode-ai/core/util/module" import { spawn } from "./launch" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import type { RuntimeFlags } from "@/effect/runtime-flags" const pathExists = async (p: string) => diff --git a/packages/opencode/src/mcp/auth.ts b/packages/opencode/src/mcp/auth.ts index 808aa30296..5356f75986 100644 --- a/packages/opencode/src/mcp/auth.ts +++ b/packages/opencode/src/mcp/auth.ts @@ -1,10 +1,10 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import path from "path" -import { serviceUse } from "@opencode-ai/core/effect/service-use" -import { Global } from "@opencode-ai/core/global" +import { serviceUse } from "@opencode-ai/util/effect/service-use" +import { Global } from "@opencode-ai/util/global" import { Effect, Layer, Context, Option, Schema } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { EffectFlock } from "@opencode-ai/core/util/effect-flock" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { EffectFlock } from "@opencode-ai/util/effect-flock" export const Tokens = Schema.Struct({ accessToken: Schema.mutableKey(Schema.String), diff --git a/packages/opencode/src/mcp/browser.ts b/packages/opencode/src/mcp/browser.ts index 5760d8cbf9..c22120d110 100644 --- a/packages/opencode/src/mcp/browser.ts +++ b/packages/opencode/src/mcp/browser.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Context, Effect, Layer } from "effect" import open from "open" diff --git a/packages/opencode/src/mcp/index.ts b/packages/opencode/src/mcp/index.ts index 05f12fa2ee..239cf97c9f 100644 --- a/packages/opencode/src/mcp/index.ts +++ b/packages/opencode/src/mcp/index.ts @@ -1,8 +1,8 @@ import path from "node:path" import { pathToFileURL } from "node:url" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { Client, type ClientOptions } from "@modelcontextprotocol/sdk/client/index.js" import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js" import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js" @@ -18,9 +18,9 @@ import { import { Config } from "@/config/config" import { ConfigMCPV1 } from "@opencode-ai/core/v1/config/mcp" import { NamedError } from "@opencode-ai/core/util/error" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { withTimeout } from "@/util/timeout" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { McpOAuthPendingProvider, McpOAuthProvider, OAUTH_CALLBACK_PATH } from "./oauth-provider" import { McpOAuthCallback } from "./oauth-callback" import { McpAuth } from "./auth" @@ -30,7 +30,7 @@ import { Cause, Effect, Exit, Layer, Context, Schema, Stream } from "effect" import { EffectBridge } from "@/effect/bridge" import { InstanceState } from "@/effect/instance-state" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { McpCatalog } from "./catalog" import { McpEvent } from "@opencode-ai/schema/mcp-event" import { McpBrowser } from "./browser" diff --git a/packages/opencode/src/patch/index.ts b/packages/opencode/src/patch/index.ts index 66797d4f89..23a760896d 100644 --- a/packages/opencode/src/patch/index.ts +++ b/packages/opencode/src/patch/index.ts @@ -1,6 +1,6 @@ import { Effect, Schema } from "effect" import * as path from "path" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import * as Bom from "../util/bom" export const PatchSchema = Schema.Struct({ diff --git a/packages/opencode/src/permission/index.ts b/packages/opencode/src/permission/index.ts index 2e27ff2424..8afff12c06 100644 --- a/packages/opencode/src/permission/index.ts +++ b/packages/opencode/src/permission/index.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ConfigPermissionV1 } from "@opencode-ai/core/v1/config/permission" import { InstanceState } from "@/effect/instance-state" import { Wildcard } from "@opencode-ai/core/util/wildcard" diff --git a/packages/opencode/src/plugin/digitalocean.ts b/packages/opencode/src/plugin/digitalocean.ts index af241781e6..9514ad79a7 100644 --- a/packages/opencode/src/plugin/digitalocean.ts +++ b/packages/opencode/src/plugin/digitalocean.ts @@ -1,6 +1,6 @@ import type { Hooks, PluginInput } from "@opencode-ai/plugin" import type { Model } from "@opencode-ai/sdk/v2" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { OauthCallbackPage } from "@opencode-ai/core/oauth/page" import { createServer } from "http" import open from "open" diff --git a/packages/opencode/src/plugin/github-copilot/copilot.ts b/packages/opencode/src/plugin/github-copilot/copilot.ts index 9c744db89b..a6c10bbb4b 100644 --- a/packages/opencode/src/plugin/github-copilot/copilot.ts +++ b/packages/opencode/src/plugin/github-copilot/copilot.ts @@ -1,6 +1,6 @@ import type { Hooks, PluginInput } from "@opencode-ai/plugin" import type { Model } from "@opencode-ai/sdk/v2" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { iife } from "@/util/iife" import { setTimeout as sleep } from "node:timers/promises" import { CopilotModels } from "./models" diff --git a/packages/opencode/src/plugin/index.ts b/packages/opencode/src/plugin/index.ts index 1558c707c3..50564d1d0b 100644 --- a/packages/opencode/src/plugin/index.ts +++ b/packages/opencode/src/plugin/index.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import type { Hooks, PluginInput, @@ -30,7 +30,7 @@ import { registerAdapter } from "@/control-plane/adapters" import type { WorkspaceAdapter } from "@/control-plane/types" import { RuntimeFlags } from "@/effect/runtime-flags" import { EventV2Bridge } from "@/event-v2-bridge" -import { InstallationChannel } from "@opencode-ai/core/installation/version" +import { InstallationChannel } from "@opencode-ai/util/installation/version" type State = { hooks: Hooks[] diff --git a/packages/opencode/src/plugin/install.ts b/packages/opencode/src/plugin/install.ts index f07b78bc36..4d2d93b3b0 100644 --- a/packages/opencode/src/plugin/install.ts +++ b/packages/opencode/src/plugin/install.ts @@ -8,9 +8,9 @@ import { } from "jsonc-parser" import * as ConfigPaths from "@/config/paths" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Filesystem } from "@/util/filesystem" -import { Flock } from "@opencode-ai/core/util/flock" +import { Flock } from "@opencode-ai/util/flock" import { isRecord } from "@/util/record" import { parsePluginSpecifier, readPackageThemes, readPluginPackage, resolvePluginTarget } from "./shared" diff --git a/packages/opencode/src/plugin/loader.ts b/packages/opencode/src/plugin/loader.ts index 94876b4d0c..e36b4ba852 100644 --- a/packages/opencode/src/plugin/loader.ts +++ b/packages/opencode/src/plugin/loader.ts @@ -10,7 +10,7 @@ import { } from "./shared" import { ConfigPlugin } from "@/config/plugin" import { ConfigPluginV1 } from "@opencode-ai/core/v1/config/plugin" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" export namespace PluginLoader { // A normalized plugin declaration derived from config before any filesystem or npm work happens. diff --git a/packages/opencode/src/plugin/meta.ts b/packages/opencode/src/plugin/meta.ts index 54f784d179..c3027da216 100644 --- a/packages/opencode/src/plugin/meta.ts +++ b/packages/opencode/src/plugin/meta.ts @@ -1,10 +1,10 @@ import path from "path" import { fileURLToPath } from "url" -import { Flag } from "@opencode-ai/core/flag/flag" -import { Global } from "@opencode-ai/core/global" +import { Flag } from "@opencode-ai/util/flag" +import { Global } from "@opencode-ai/util/global" import { Filesystem } from "@/util/filesystem" -import { Flock } from "@opencode-ai/core/util/flock" +import { Flock } from "@opencode-ai/util/flock" import { parsePluginSpecifier, pluginSource } from "./shared" diff --git a/packages/opencode/src/plugin/openai/codex.ts b/packages/opencode/src/plugin/openai/codex.ts index d16b749565..07e87ea483 100644 --- a/packages/opencode/src/plugin/openai/codex.ts +++ b/packages/opencode/src/plugin/openai/codex.ts @@ -1,5 +1,5 @@ import type { Hooks, PluginInput } from "@opencode-ai/plugin" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { OAUTH_DUMMY_KEY } from "../../auth" import os from "os" import { setTimeout as sleep } from "node:timers/promises" diff --git a/packages/opencode/src/plugin/shared.ts b/packages/opencode/src/plugin/shared.ts index 1a519359bd..be37af3250 100644 --- a/packages/opencode/src/plugin/shared.ts +++ b/packages/opencode/src/plugin/shared.ts @@ -4,7 +4,7 @@ import npa from "npm-package-arg" import semver from "semver" import { Filesystem } from "@/util/filesystem" import { isRecord } from "@/util/record" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" // Old npm package names for plugins that are now built-in export const DEPRECATED_PLUGIN_PACKAGES = ["opencode-openai-codex-auth", "opencode-copilot-auth"] diff --git a/packages/opencode/src/plugin/snowflake-cortex.ts b/packages/opencode/src/plugin/snowflake-cortex.ts index 09f107ed7b..42f3b92d8a 100644 --- a/packages/opencode/src/plugin/snowflake-cortex.ts +++ b/packages/opencode/src/plugin/snowflake-cortex.ts @@ -1,6 +1,6 @@ import type { Hooks, PluginInput } from "@opencode-ai/plugin" import { OAUTH_DUMMY_KEY } from "../auth" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { OauthCallbackPage } from "@opencode-ai/core/oauth/page" import { createServer } from "http" import open from "open" diff --git a/packages/opencode/src/plugin/tui/runtime.ts b/packages/opencode/src/plugin/tui/runtime.ts index e39484dd19..067bb3b20e 100644 --- a/packages/opencode/src/plugin/tui/runtime.ts +++ b/packages/opencode/src/plugin/tui/runtime.ts @@ -30,11 +30,11 @@ import { PluginLoader } from "@/plugin/loader" import { PluginMeta } from "@/plugin/meta" import { installPlugin as installModulePlugin, patchPluginConfig, readPluginManifest } from "@/plugin/install" import { hasTheme, upsertTheme } from "@opencode-ai/tui/context/theme" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Filesystem } from "@/util/filesystem" import { Process } from "@/util/process" -import { Flock } from "@opencode-ai/core/util/flock" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flock } from "@opencode-ai/util/flock" +import { Flag } from "@opencode-ai/util/flag" import { internalTuiPlugins, type InternalTuiPlugin } from "./internal" import type { HostPluginApi, HostSlots } from "@opencode-ai/tui/plugin/slots" import { ConfigPlugin } from "@/config/plugin" diff --git a/packages/opencode/src/plugin/xai.ts b/packages/opencode/src/plugin/xai.ts index 23233b5df7..cac75e40ee 100644 --- a/packages/opencode/src/plugin/xai.ts +++ b/packages/opencode/src/plugin/xai.ts @@ -1,7 +1,7 @@ import type { Hooks, PluginInput } from "@opencode-ai/plugin" import { OAUTH_DUMMY_KEY } from "../auth" import { createServer } from "http" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { OauthCallbackPage } from "@opencode-ai/core/oauth/page" // Public Grok-CLI OAuth client. xAI's auth server rejects loopback OAuth from diff --git a/packages/opencode/src/project/bootstrap.ts b/packages/opencode/src/project/bootstrap.ts index acf0caed3c..b8913d3320 100644 --- a/packages/opencode/src/project/bootstrap.ts +++ b/packages/opencode/src/project/bootstrap.ts @@ -1,4 +1,4 @@ -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { Plugin } from "../plugin" import { Format } from "../format" import { LSP } from "@/lsp/lsp" diff --git a/packages/opencode/src/project/instance-context.ts b/packages/opencode/src/project/instance-context.ts index 18ea39e16e..33648e8b9c 100644 --- a/packages/opencode/src/project/instance-context.ts +++ b/packages/opencode/src/project/instance-context.ts @@ -1,5 +1,5 @@ import { LocalContext } from "@/util/local-context" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import type * as Project from "./project" export interface InstanceContext { diff --git a/packages/opencode/src/project/instance-store.ts b/packages/opencode/src/project/instance-store.ts index 720549ddaf..063f4b627e 100644 --- a/packages/opencode/src/project/instance-store.ts +++ b/packages/opencode/src/project/instance-store.ts @@ -1,11 +1,11 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { makeGlobalNode, Node } from "@opencode-ai/core/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeGlobalNode, Node } from "@opencode-ai/util/effect/app-node" import { GlobalBus } from "@/bus/global" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { WorkspaceContext } from "@/control-plane/workspace-context" import { InstanceRef } from "@/effect/instance-ref" import { disposeInstance as runDisposers } from "@/effect/instance-registry" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Context, Deferred, Duration, Effect, Exit, Layer, Scope } from "effect" import { type InstanceContext } from "./instance-context" import { InstanceBootstrap } from "./bootstrap-service" diff --git a/packages/opencode/src/project/project.ts b/packages/opencode/src/project/project.ts index 19d79445f7..b101aa6dba 100644 --- a/packages/opencode/src/project/project.ts +++ b/packages/opencode/src/project/project.ts @@ -1,23 +1,23 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { and, eq, sql } from "drizzle-orm" import { Database } from "@opencode-ai/core/database/database" import { ProjectDirectoryTable, ProjectTable } from "@opencode-ai/core/project/sql" import { ProjectDirectories } from "@opencode-ai/core/project/directories" import { SessionTable } from "@opencode-ai/core/session/sql" import { WorkspaceTable } from "@opencode-ai/core/control-plane/workspace.sql" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { GlobalBus } from "@/bus/global" import { which } from "@opencode-ai/core/util/which" import { Command } from "@/command" import { InstanceState } from "@/effect/instance-state" import { Effect, Layer, Scope, Context, Stream, Types, Schema } from "effect" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { AppProcess } from "@opencode-ai/core/process" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { AppProcess } from "@opencode-ai/util/process" import { ProjectV2 } from "@opencode-ai/core/project" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { AbsolutePath } from "@opencode-ai/core/schema" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { RuntimeFlags } from "@/effect/runtime-flags" import { EventV2Bridge } from "@/event-v2-bridge" import { EventV2 } from "@opencode-ai/core/event" diff --git a/packages/opencode/src/project/vcs.ts b/packages/opencode/src/project/vcs.ts index eca56c0501..a9605cd4f2 100644 --- a/packages/opencode/src/project/vcs.ts +++ b/packages/opencode/src/project/vcs.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer, Context, Schema, Scope } from "effect" import { formatPatch, structuredPatch } from "diff" import { InstanceState } from "@/effect/instance-state" diff --git a/packages/opencode/src/provider/auth.ts b/packages/opencode/src/provider/auth.ts index 416a3ea7b0..41595097b9 100644 --- a/packages/opencode/src/provider/auth.ts +++ b/packages/opencode/src/provider/auth.ts @@ -1,6 +1,6 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import type { AuthOAuthResult, Hooks } from "@opencode-ai/plugin" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { Auth } from "@/auth" import { InstanceState } from "@/effect/instance-state" import { optional } from "@opencode-ai/core/schema" diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index f70a9ac3c1..7ed39a6ef9 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -1,28 +1,28 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import os from "os" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" import fuzzysort from "fuzzysort" import { Config } from "@/config/config" import { mapValues, mergeDeep, omit, pickBy, sortBy } from "remeda" import { NoSuchModelError, type Provider as SDK } from "ai" -import { Npm } from "@opencode-ai/core/npm" -import { Hash } from "@opencode-ai/core/util/hash" +import { Npm } from "@opencode-ai/util/npm" +import { Hash } from "@opencode-ai/util/hash" import { Plugin } from "../plugin" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { type LanguageModelV3 } from "@ai-sdk/provider" import { ModelsDev } from "@opencode-ai/core/models-dev" import { Auth } from "../auth" import { Env } from "../env" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { iife } from "@/util/iife" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import path from "path" import { pathToFileURL } from "url" import { Effect, Layer, Context, Schema, Types } from "effect" import { EffectBridge } from "@/effect/bridge" import { InstanceState } from "@/effect/instance-state" import { EffectPromise } from "@/effect/promise" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { isRecord } from "@/util/record" import { optional } from "@opencode-ai/core/schema" import { ProviderTransform } from "./transform" diff --git a/packages/opencode/src/question/index.ts b/packages/opencode/src/question/index.ts index 8afc141072..0632489845 100644 --- a/packages/opencode/src/question/index.ts +++ b/packages/opencode/src/question/index.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Deferred, Effect, Layer, Schema, Context } from "effect" import { InstanceState } from "@/effect/instance-state" import { SessionID } from "@/session/schema" diff --git a/packages/opencode/src/server/auth.ts b/packages/opencode/src/server/auth.ts index 9630ddbe20..1142726ded 100644 --- a/packages/opencode/src/server/auth.ts +++ b/packages/opencode/src/server/auth.ts @@ -1,7 +1,7 @@ export * as ServerAuth from "./auth" import { ConfigService } from "@/effect/config-service" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Config as EffectConfig, Context, Option, Redacted } from "effect" export type Credentials = { diff --git a/packages/opencode/src/server/routes/instance/httpapi/handlers/file.ts b/packages/opencode/src/server/routes/instance/httpapi/handlers/file.ts index 6a826022a0..441a717e0b 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/handlers/file.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/handlers/file.ts @@ -2,7 +2,7 @@ import * as InstanceState from "@/effect/instance-state" import { FileSystem } from "@opencode-ai/core/filesystem" import { LocationServiceMap, locationServiceMapLayer } from "@opencode-ai/core/location-services" import { Ripgrep } from "@opencode-ai/core/ripgrep" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Location } from "@opencode-ai/core/location" import { AbsolutePath, RelativePath } from "@opencode-ai/core/schema" import { Effect, Layer, Option } from "effect" diff --git a/packages/opencode/src/server/routes/instance/httpapi/handlers/global.ts b/packages/opencode/src/server/routes/instance/httpapi/handlers/global.ts index c1f588d5a1..31371d06ed 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/handlers/global.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/handlers/global.ts @@ -4,7 +4,7 @@ import { EffectBridge } from "@/effect/bridge" import { EventV2 } from "@opencode-ai/core/event" import { Installation } from "@/installation" import { disposeAllInstancesAndEmitGlobalDisposed } from "@/server/global-lifecycle" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect, Queue, Schema } from "effect" import * as Stream from "effect/Stream" import { HttpServerRequest, HttpServerResponse } from "effect/unstable/http" diff --git a/packages/opencode/src/server/routes/instance/httpapi/handlers/instance.ts b/packages/opencode/src/server/routes/instance/httpapi/handlers/instance.ts index f851b3a310..e319134d99 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/handlers/instance.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/handlers/instance.ts @@ -2,7 +2,7 @@ import { Agent } from "@/agent/agent" import { Command } from "@/command" import * as InstanceState from "@/effect/instance-state" import { Format } from "@/format" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { LSP } from "@/lsp/lsp" import { Vcs } from "@/project/vcs" import { Skill } from "@/skill" diff --git a/packages/opencode/src/server/routes/instance/httpapi/middleware/fence.ts b/packages/opencode/src/server/routes/instance/httpapi/middleware/fence.ts index c5cbc7b820..e23f13db62 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/middleware/fence.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/middleware/fence.ts @@ -1,4 +1,4 @@ -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Database } from "@opencode-ai/core/database/database" import { Effect } from "effect" import { HttpRouter, HttpServerRequest, HttpServerResponse } from "effect/unstable/http" diff --git a/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts b/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts index 873abd8349..2081a0ff0a 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/middleware/workspace-routing.ts @@ -7,7 +7,7 @@ import { HttpApiProxy } from "./proxy" import * as Fence from "@/server/shared/fence" import { getWorkspaceRouteSessionID, isLocalWorkspaceRoute, workspaceProxyURL } from "@/server/shared/workspace-routing" import { NotFoundError } from "@/storage/storage" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Context, Data, Effect, Layer, Option, Schema } from "effect" import { HttpClient, HttpServerRequest, HttpServerResponse } from "effect/unstable/http" import { HttpApiMiddleware } from "effect/unstable/httpapi" diff --git a/packages/opencode/src/server/routes/instance/httpapi/server.ts b/packages/opencode/src/server/routes/instance/httpapi/server.ts index fad59961b1..bbfc54d2cb 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/server.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/server.ts @@ -2,8 +2,8 @@ import { Config as EffectConfig, Context, Effect, Layer } from "effect" import { HttpApiBuilder, OpenApi } from "effect/unstable/httpapi" import { HttpClient, HttpMiddleware, HttpRouter, HttpServer, HttpServerResponse } from "effect/unstable/http" import * as Socket from "effect/unstable/socket/Socket" -import { FSUtil } from "@opencode-ai/core/fs-util" -import * as Observability from "@opencode-ai/core/observability" +import { FSUtil } from "@opencode-ai/util/fs-util" +import * as Observability from "@opencode-ai/util/observability" import { Account } from "@/account/account" import { Agent } from "@/agent/agent" import { Auth } from "@/auth" @@ -51,11 +51,11 @@ import { RuntimeFlags } from "@/effect/runtime-flags" import { MoveSession } from "@opencode-ai/core/control-plane/move-session" import { Database } from "@opencode-ai/core/database/database" import { AppNodeBuilderV1 } from "@/effect/app-node-builder-v1" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { EventV2 } from "@opencode-ai/core/event" import { ModelsDev } from "@opencode-ai/core/models-dev" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { PermissionSaved } from "@opencode-ai/core/permission/saved" import { ProjectV2 } from "@opencode-ai/core/project" import { ProjectCopy } from "@opencode-ai/core/project/copy" @@ -108,7 +108,7 @@ import { workspaceHandlers } from "./handlers/workspace" import { instanceContextLayer } from "./middleware/instance-context" import { workspaceRoutingLayer } from "./middleware/workspace-routing" import { disposeMiddleware } from "./lifecycle" -import { memoMap } from "@opencode-ai/core/effect/memo-map" +import { memoMap } from "@opencode-ai/util/effect/memo-map" import { compressionLayer } from "./middleware/compression" import { corsVaryFix } from "./middleware/cors-vary" import { errorLayer } from "./middleware/error" diff --git a/packages/opencode/src/server/routes/instance/httpapi/websocket-tracker.ts b/packages/opencode/src/server/routes/instance/httpapi/websocket-tracker.ts index 7e8eed89a4..f845e8e7f1 100644 --- a/packages/opencode/src/server/routes/instance/httpapi/websocket-tracker.ts +++ b/packages/opencode/src/server/routes/instance/httpapi/websocket-tracker.ts @@ -1,5 +1,5 @@ import { Context, Effect, Layer, Option } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import * as Socket from "effect/unstable/socket/Socket" export const SERVER_CLOSING_EVENT = () => new Socket.CloseEvent(1001, "server closing") diff --git a/packages/opencode/src/server/shared/ui.ts b/packages/opencode/src/server/shared/ui.ts index c2fd3b8637..1922f5c141 100644 --- a/packages/opencode/src/server/shared/ui.ts +++ b/packages/opencode/src/server/shared/ui.ts @@ -1,4 +1,4 @@ -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect, Stream } from "effect" import { HttpBody, HttpClient, HttpClientRequest, HttpServerRequest, HttpServerResponse } from "effect/unstable/http" import { createHash } from "node:crypto" diff --git a/packages/opencode/src/session/compaction.ts b/packages/opencode/src/session/compaction.ts index fa439e4eff..d3c1a6ed84 100644 --- a/packages/opencode/src/session/compaction.ts +++ b/packages/opencode/src/session/compaction.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionV1 } from "@opencode-ai/core/v1/session" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" import { Session } from "./session" @@ -15,7 +15,7 @@ import { NotFoundError } from "@/storage/storage" import { Effect, Layer, Context } from "effect" import { InstanceState } from "@/effect/instance-state" import { isOverflow as overflow, usable } from "./overflow" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { RuntimeFlags } from "@/effect/runtime-flags" import { EventV2Bridge } from "@/event-v2-bridge" import { ProviderV2 } from "@opencode-ai/core/provider" diff --git a/packages/opencode/src/session/instruction.ts b/packages/opencode/src/session/instruction.ts index ebdae0dbe3..c32639d948 100644 --- a/packages/opencode/src/session/instruction.ts +++ b/packages/opencode/src/session/instruction.ts @@ -1,5 +1,5 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import path from "path" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Effect, Layer, Context } from "effect" @@ -7,10 +7,10 @@ import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/ import { Config } from "@/config/config" import { InstanceState } from "@/effect/instance-state" import { RuntimeFlags } from "@/effect/runtime-flags" -import { Flag } from "@opencode-ai/core/flag/flag" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { Flag } from "@opencode-ai/util/flag" +import { FSUtil } from "@opencode-ai/util/fs-util" import { withTransientReadRetry } from "@/util/effect-http-client" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import type { MessageV2 } from "./message-v2" import type { MessageID } from "./schema" diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index d8e0bdc831..d24b691f6b 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -1,9 +1,9 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { llmClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { llmClient } from "@opencode-ai/util/effect/app-node-platform" import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { Provider } from "@/provider/provider" import { SessionV1 } from "@opencode-ai/core/v1/session" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { Context, Effect, Layer } from "effect" import * as Stream from "effect/Stream" import { streamText, wrapLanguageModel, type ModelMessage, type Tool } from "ai" diff --git a/packages/opencode/src/session/llm/request.ts b/packages/opencode/src/session/llm/request.ts index 4f93411107..3b6f8d2084 100644 --- a/packages/opencode/src/session/llm/request.ts +++ b/packages/opencode/src/session/llm/request.ts @@ -9,7 +9,7 @@ import type { MessageV2 } from "../message-v2" import type { Provider } from "@/provider/provider" import { ProviderTransform } from "@/provider/transform" import { SystemPrompt } from "../system" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect, Record } from "effect" import { jsonSchema, tool as aiTool, type ModelMessage, type Tool } from "ai" import type { Plugin } from "@/plugin" diff --git a/packages/opencode/src/session/message-v2.ts b/packages/opencode/src/session/message-v2.ts index 1bea9f52c3..db5496daca 100644 --- a/packages/opencode/src/session/message-v2.ts +++ b/packages/opencode/src/session/message-v2.ts @@ -19,7 +19,7 @@ import { import { NamedError } from "@opencode-ai/core/util/error" import { APICallError, convertToModelMessages, LoadAPIKeyError, type ModelMessage, type UIMessage } from "ai" import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { NotFoundError } from "@/storage/storage" import { and } from "drizzle-orm" import { desc } from "drizzle-orm" diff --git a/packages/opencode/src/session/processor.ts b/packages/opencode/src/session/processor.ts index cd13346617..7916938bc9 100644 --- a/packages/opencode/src/session/processor.ts +++ b/packages/opencode/src/session/processor.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { Image } from "@/image/image" import { SessionV1 } from "@opencode-ai/core/v1/session" diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index 8b025cc2f0..7144fda6af 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { PermissionV1 } from "@opencode-ai/core/v1/permission" import path from "path" import { SessionV1 } from "@opencode-ai/core/v1/session" @@ -22,7 +22,7 @@ import { MCP } from "../mcp" import { LSP } from "@/lsp/lsp" import { ulid } from "ulid" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import * as Stream from "effect/Stream" import { Command } from "../command" import { pathToFileURL, fileURLToPath } from "url" @@ -37,7 +37,7 @@ import { SessionStatus } from "./status" import { LLM } from "./llm" import { ShellSelect } from "@opencode-ai/core/shell/select" import { ShellID } from "@/tool/shell/id" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Truncate } from "@/tool/truncate" import { Image } from "@/image/image" import { decodeDataUrl } from "@/util/data-url" diff --git a/packages/opencode/src/session/reminders.ts b/packages/opencode/src/session/reminders.ts index f5484b8e9b..2b2836055c 100644 --- a/packages/opencode/src/session/reminders.ts +++ b/packages/opencode/src/session/reminders.ts @@ -2,7 +2,7 @@ import path from "path" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Effect } from "effect" import { Agent } from "@/agent/agent" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { InstanceState } from "@/effect/instance-state" import { RuntimeFlags } from "@/effect/runtime-flags" import { PartID } from "./schema" diff --git a/packages/opencode/src/session/revert.ts b/packages/opencode/src/session/revert.ts index 79fef2cda9..bbf5dad11a 100644 --- a/packages/opencode/src/session/revert.ts +++ b/packages/opencode/src/session/revert.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer, Context, Schema } from "effect" import { SessionV1 } from "@opencode-ai/core/v1/session" import { EventV2Bridge } from "@/event-v2-bridge" diff --git a/packages/opencode/src/session/run-state.ts b/packages/opencode/src/session/run-state.ts index a822189477..a527bc37ba 100644 --- a/packages/opencode/src/session/run-state.ts +++ b/packages/opencode/src/session/run-state.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { InstanceState } from "@/effect/instance-state" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Runner } from "@/effect/runner" diff --git a/packages/opencode/src/session/session.ts b/packages/opencode/src/session/session.ts index d9f27ddaef..d927a580f5 100644 --- a/packages/opencode/src/session/session.ts +++ b/packages/opencode/src/session/session.ts @@ -1,16 +1,16 @@ export { isDefaultTitle } from "./title" import { createDefaultTitle } from "./title" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { Slug } from "@opencode-ai/core/util/slug" import { SessionV1 } from "@opencode-ai/core/v1/session" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import path from "path" import { Job } from "@/job" import { Decimal } from "decimal.js" import type { ProviderMetadata, Usage } from "@opencode-ai/ai" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Database } from "@opencode-ai/core/database/database" import { EventV2Bridge } from "@/event-v2-bridge" import { SessionV2 } from "@opencode-ai/core/session" @@ -38,7 +38,7 @@ import { WorkspaceV2 } from "@opencode-ai/core/workspace" import { SessionID, MessageID, PartID } from "./schema" import type { Provider } from "@/provider/provider" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Effect, Layer, Option, Context, Schema, Types } from "effect" import { NonNegativeInt, optional } from "@opencode-ai/core/schema" import { RuntimeFlags } from "@/effect/runtime-flags" diff --git a/packages/opencode/src/session/status.ts b/packages/opencode/src/session/status.ts index 11140acfee..a359c6517e 100644 --- a/packages/opencode/src/session/status.ts +++ b/packages/opencode/src/session/status.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { InstanceState } from "@/effect/instance-state" import { SessionID } from "./schema" import { Effect, Layer, Context } from "effect" diff --git a/packages/opencode/src/session/summary.ts b/packages/opencode/src/session/summary.ts index 6484730d0b..6bd0aa7253 100644 --- a/packages/opencode/src/session/summary.ts +++ b/packages/opencode/src/session/summary.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer, Context, Schema } from "effect" import { SessionV1 } from "@opencode-ai/core/v1/session" import { EventV2Bridge } from "@/event-v2-bridge" diff --git a/packages/opencode/src/session/system.ts b/packages/opencode/src/session/system.ts index b94e794265..b3954fde14 100644 --- a/packages/opencode/src/session/system.ts +++ b/packages/opencode/src/session/system.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Context, Effect, Layer } from "effect" import { InstanceState } from "@/effect/instance-state" diff --git a/packages/opencode/src/share/session.ts b/packages/opencode/src/share/session.ts index a4ef77fbfd..0c8c0046ba 100644 --- a/packages/opencode/src/share/session.ts +++ b/packages/opencode/src/share/session.ts @@ -1,4 +1,4 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Session } from "@/session/session" import { SessionID } from "@/session/schema" import { Effect, Layer, Scope, Context } from "effect" diff --git a/packages/opencode/src/share/share-next.ts b/packages/opencode/src/share/share-next.ts index a42c367ec2..d2b153569f 100644 --- a/packages/opencode/src/share/share-next.ts +++ b/packages/opencode/src/share/share-next.ts @@ -1,7 +1,7 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import type * as SDK from "@opencode-ai/sdk/v2" -import { serviceUse } from "@opencode-ai/core/effect/service-use" +import { serviceUse } from "@opencode-ai/util/effect/service-use" import { Effect, Exit, Layer, Option, Schema, Scope, Context, Stream } from "effect" import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { Account } from "@/account/account" diff --git a/packages/opencode/src/skill/discovery.ts b/packages/opencode/src/skill/discovery.ts index b56a67610f..e57da2312e 100644 --- a/packages/opencode/src/skill/discovery.ts +++ b/packages/opencode/src/skill/discovery.ts @@ -1,11 +1,11 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient, path } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient, path } from "@opencode-ai/util/effect/app-node-platform" import { NodePath } from "@effect/platform-node" import { Effect, Layer, Path, Schema, Context } from "effect" import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { withTransientReadRetry } from "@/util/effect-http-client" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" const skillConcurrency = 4 const fileConcurrency = 8 diff --git a/packages/opencode/src/skill/index.ts b/packages/opencode/src/skill/index.ts index e95e8c27a1..a385866c0e 100644 --- a/packages/opencode/src/skill/index.ts +++ b/packages/opencode/src/skill/index.ts @@ -1,19 +1,19 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import path from "path" import { Effect, Layer, Context, Schema } from "effect" import { NamedError } from "@opencode-ai/core/util/error" import type { Agent } from "@/agent/agent" import { EventV2Bridge } from "@/event-v2-bridge" import { InstanceState } from "@/effect/instance-state" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { SkillPlugin } from "@opencode-ai/core/plugin/skill" import { Permission } from "@/permission" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Config } from "@/config/config" import { FrontmatterError } from "@opencode-ai/core/v1/config/error" import { ConfigMarkdown } from "@/config/markdown" import { RuntimeFlags } from "@/effect/runtime-flags" -import { Glob } from "@opencode-ai/core/util/glob" +import { Glob } from "@opencode-ai/util/glob" import { Discovery } from "./discovery" import { isRecord } from "@/util/record" import { escapeHtml } from "@/util/html" diff --git a/packages/opencode/src/snapshot/index.ts b/packages/opencode/src/snapshot/index.ts index f393caa1a7..7d2c8c137d 100644 --- a/packages/opencode/src/snapshot/index.ts +++ b/packages/opencode/src/snapshot/index.ts @@ -1,14 +1,14 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Duration, Effect, Layer, Schedule, Schema, Semaphore, Context } from "effect" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" import { formatPatch, structuredPatch } from "diff" import path from "path" -import { AppProcess } from "@opencode-ai/core/process" +import { AppProcess } from "@opencode-ai/util/process" import { InstanceState } from "@/effect/instance-state" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Hash } from "@opencode-ai/core/util/hash" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Hash } from "@opencode-ai/util/hash" import { Config } from "@/config/config" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { LegacyInfo } from "@opencode-ai/schema/file-diff" export const Patch = Schema.Struct({ diff --git a/packages/opencode/src/storage/storage.ts b/packages/opencode/src/storage/storage.ts index 353a6b1e8b..e2b35b1a95 100644 --- a/packages/opencode/src/storage/storage.ts +++ b/packages/opencode/src/storage/storage.ts @@ -1,7 +1,7 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import path from "path" -import { Global } from "@opencode-ai/core/global" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { Global } from "@opencode-ai/util/global" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect, Exit, Layer, Option, RcMap, Schema, Context, TxReentrantLock } from "effect" import { NonNegativeInt } from "@opencode-ai/core/schema" import { Git } from "@/git" diff --git a/packages/opencode/src/temporary.ts b/packages/opencode/src/temporary.ts index ee9afb60b4..80c3439258 100644 --- a/packages/opencode/src/temporary.ts +++ b/packages/opencode/src/temporary.ts @@ -1,6 +1,6 @@ import yargs from "yargs" import { V2ServeCommand } from "./cli/cmd/v2-serve" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { hideBin } from "yargs/helpers" const cli = yargs(hideBin(process.argv)) .parserConfiguration({ "populate--": true }) diff --git a/packages/opencode/src/tool/apply_patch.ts b/packages/opencode/src/tool/apply_patch.ts index 312bef9f4f..285da1e1c3 100644 --- a/packages/opencode/src/tool/apply_patch.ts +++ b/packages/opencode/src/tool/apply_patch.ts @@ -9,7 +9,7 @@ import { createTwoFilesPatch, diffLines } from "diff" import { assertExternalDirectoryEffect } from "./external-directory" import { trimDiff } from "./edit" import { LSP } from "@/lsp/lsp" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import DESCRIPTION from "./apply_patch.txt" import { FileSystem } from "@opencode-ai/core/filesystem" import { FileSystemV1 } from "@opencode-ai/schema/filesystem-v1" diff --git a/packages/opencode/src/tool/edit.ts b/packages/opencode/src/tool/edit.ts index 7e13b85997..e4ac561b74 100644 --- a/packages/opencode/src/tool/edit.ts +++ b/packages/opencode/src/tool/edit.ts @@ -17,7 +17,7 @@ import { Format } from "../format" import { InstanceState } from "@/effect/instance-state" import { Snapshot } from "@/snapshot" import { assertExternalDirectoryEffect } from "./external-directory" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import * as Bom from "@/util/bom" function normalizeLineEndings(text: string): string { diff --git a/packages/opencode/src/tool/external-directory.ts b/packages/opencode/src/tool/external-directory.ts index 4372db82d8..0bcd974889 100644 --- a/packages/opencode/src/tool/external-directory.ts +++ b/packages/opencode/src/tool/external-directory.ts @@ -3,7 +3,7 @@ import { Effect } from "effect" import { InstanceState } from "@/effect/instance-state" import type * as Tool from "./tool" import { containsPath } from "../project/instance-context" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" type Kind = "file" | "directory" diff --git a/packages/opencode/src/tool/glob.ts b/packages/opencode/src/tool/glob.ts index 40d3a27d3c..d2141c1208 100644 --- a/packages/opencode/src/tool/glob.ts +++ b/packages/opencode/src/tool/glob.ts @@ -1,7 +1,7 @@ import path from "path" import { Effect, Schema } from "effect" import { InstanceState } from "@/effect/instance-state" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { assertExternalDirectoryEffect } from "./external-directory" import DESCRIPTION from "./glob.txt" diff --git a/packages/opencode/src/tool/grep.ts b/packages/opencode/src/tool/grep.ts index e44b8e89fe..a6e1db146a 100644 --- a/packages/opencode/src/tool/grep.ts +++ b/packages/opencode/src/tool/grep.ts @@ -1,7 +1,7 @@ import path from "path" import { Effect, Schema } from "effect" import { InstanceState } from "@/effect/instance-state" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { assertExternalDirectoryEffect } from "./external-directory" import DESCRIPTION from "./grep.txt" diff --git a/packages/opencode/src/tool/lsp.ts b/packages/opencode/src/tool/lsp.ts index a605cea749..052e3a47ca 100644 --- a/packages/opencode/src/tool/lsp.ts +++ b/packages/opencode/src/tool/lsp.ts @@ -6,7 +6,7 @@ import DESCRIPTION from "./lsp.txt" import { InstanceState } from "@/effect/instance-state" import { pathToFileURL } from "url" import { assertExternalDirectoryEffect } from "./external-directory" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" const operations = [ "goToDefinition", diff --git a/packages/opencode/src/tool/read.ts b/packages/opencode/src/tool/read.ts index 678ed44510..2faa5ccc7e 100644 --- a/packages/opencode/src/tool/read.ts +++ b/packages/opencode/src/tool/read.ts @@ -2,7 +2,7 @@ import { Effect, Option, Schema, Scope, Stream } from "effect" import { NonNegativeInt } from "@opencode-ai/core/schema" import * as path from "path" import * as Tool from "./tool" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { LSP } from "@/lsp/lsp" import DESCRIPTION from "./read.txt" import { InstanceState } from "@/effect/instance-state" diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index 4576bd7a88..6e066aa46b 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -1,5 +1,5 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { PlanExitTool } from "./plan" import { Session } from "@/session/session" @@ -28,19 +28,19 @@ import { WebSearchTool } from "./websearch" import { LspTool } from "./lsp" import * as Truncate from "./truncate" import { ApplyPatchTool } from "./apply_patch" -import { Glob } from "@opencode-ai/core/util/glob" +import { Glob } from "@opencode-ai/util/glob" import path from "path" import { pathToFileURL } from "url" import { Effect, Layer, Context } from "effect" import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Format } from "../format" import { InstanceState } from "@/effect/instance-state" import { EffectBridge } from "@/effect/bridge" import { Question } from "../question" import { LSP } from "@/lsp/lsp" import { Instruction } from "../session/instruction" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { EventV2Bridge } from "@/event-v2-bridge" import { Agent } from "../agent/agent" import { Skill } from "../skill" diff --git a/packages/opencode/src/tool/shell.ts b/packages/opencode/src/tool/shell.ts index aa500b8eee..790abd10f9 100644 --- a/packages/opencode/src/tool/shell.ts +++ b/packages/opencode/src/tool/shell.ts @@ -8,7 +8,7 @@ import { InstanceState } from "@/effect/instance-state" import { lazy } from "@/util/lazy" import { Language, type Node } from "web-tree-sitter" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { fileURLToPath } from "url" import { Config } from "@/config/config" import { RuntimeFlags } from "@/effect/runtime-flags" diff --git a/packages/opencode/src/tool/shell/prompt.ts b/packages/opencode/src/tool/shell/prompt.ts index b576b77297..be1ff7ba30 100644 --- a/packages/opencode/src/tool/shell/prompt.ts +++ b/packages/opencode/src/tool/shell/prompt.ts @@ -1,7 +1,7 @@ import { Schema } from "effect" import DESCRIPTION from "./shell.txt" import { PositiveInt } from "@opencode-ai/core/schema" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { ShellID } from "./id" const PS = new Set(["powershell", "pwsh"]) diff --git a/packages/opencode/src/tool/truncate.ts b/packages/opencode/src/tool/truncate.ts index 3a48c90a98..0f3b8b0070 100644 --- a/packages/opencode/src/tool/truncate.ts +++ b/packages/opencode/src/tool/truncate.ts @@ -1,9 +1,9 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { NodePath } from "@effect/platform-node" import { Cause, Duration, Effect, Layer, Option, Schedule, Context } from "effect" import path from "path" import type { Agent } from "../agent/agent" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { evaluate } from "@/permission/evaluate" import { Config } from "@/config/config" import { Identifier } from "../id/id" diff --git a/packages/opencode/src/tool/truncation-dir.ts b/packages/opencode/src/tool/truncation-dir.ts index 9ed82e1f3c..bc69ac562a 100644 --- a/packages/opencode/src/tool/truncation-dir.ts +++ b/packages/opencode/src/tool/truncation-dir.ts @@ -1,4 +1,4 @@ import path from "path" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" export const TRUNCATION_DIR = path.join(Global.Path.data, "tool-output") diff --git a/packages/opencode/src/tool/websearch.ts b/packages/opencode/src/tool/websearch.ts index d08ae1d153..e852371525 100644 --- a/packages/opencode/src/tool/websearch.ts +++ b/packages/opencode/src/tool/websearch.ts @@ -4,7 +4,7 @@ import * as Tool from "./tool" import * as McpWebSearch from "./mcp-websearch" import DESCRIPTION from "./websearch.txt" import { checksum } from "@opencode-ai/core/util/encode" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { RuntimeFlags } from "@/effect/runtime-flags" export const Parameters = Schema.Struct({ diff --git a/packages/opencode/src/tool/write.ts b/packages/opencode/src/tool/write.ts index 7d9aa8326a..a1f6e41677 100644 --- a/packages/opencode/src/tool/write.ts +++ b/packages/opencode/src/tool/write.ts @@ -10,7 +10,7 @@ import { FileSystem } from "@opencode-ai/core/filesystem" import { FileSystemV1 } from "@opencode-ai/schema/filesystem-v1" import { Watcher } from "@opencode-ai/core/filesystem/watcher" import { Format } from "../format" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { InstanceState } from "@/effect/instance-state" import { trimDiff } from "./edit" import { assertExternalDirectoryEffect } from "./external-directory" diff --git a/packages/opencode/src/util/bom.ts b/packages/opencode/src/util/bom.ts index f015651e97..ad2e608fb4 100644 --- a/packages/opencode/src/util/bom.ts +++ b/packages/opencode/src/util/bom.ts @@ -1,5 +1,5 @@ import { Effect } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" const BOM_CODE = 0xfeff const BOM = String.fromCharCode(BOM_CODE) diff --git a/packages/opencode/src/util/filesystem.ts b/packages/opencode/src/util/filesystem.ts index 78a8917414..767f513a96 100644 --- a/packages/opencode/src/util/filesystem.ts +++ b/packages/opencode/src/util/filesystem.ts @@ -4,8 +4,8 @@ import { realpathSync } from "fs" import { dirname, isAbsolute, join, resolve as pathResolve, win32 } from "path" import { Readable } from "stream" import { pipeline } from "stream/promises" -import { Glob } from "@opencode-ai/core/util/glob" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { Glob } from "@opencode-ai/util/glob" +import { FSUtil } from "@opencode-ai/util/fs-util" import { fileURLToPath } from "url" // Fast sync version for metadata checks diff --git a/packages/opencode/src/util/repository.ts b/packages/opencode/src/util/repository.ts index dfeee4322a..d8da5199c4 100644 --- a/packages/opencode/src/util/repository.ts +++ b/packages/opencode/src/util/repository.ts @@ -1,7 +1,7 @@ import path from "path" import { fileURLToPath } from "url" import { Schema } from "effect" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" type BaseReference = { host: string diff --git a/packages/opencode/src/worktree/index.ts b/packages/opencode/src/worktree/index.ts index a0c43ed2c3..317decd07a 100644 --- a/packages/opencode/src/worktree/index.ts +++ b/packages/opencode/src/worktree/index.ts @@ -1,6 +1,6 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { path } from "@opencode-ai/core/effect/app-node-platform" -import { Global } from "@opencode-ai/core/global" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { path } from "@opencode-ai/util/effect/app-node-platform" +import { Global } from "@opencode-ai/util/global" import { InstanceStore } from "@/project/instance-store" import { Project } from "@/project/project" import { Database } from "@opencode-ai/core/database/database" @@ -13,8 +13,8 @@ import { GlobalBus } from "@/bus/global" import { Git } from "@/git" import { Effect, Layer, Path, Schema, Scope, Context } from "effect" import { ChildProcess } from "effect/unstable/process" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { AppProcess } from "@opencode-ai/core/process" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { AppProcess } from "@opencode-ai/util/process" import { InstanceState } from "@/effect/instance-state" import { WorktreeEvent } from "@opencode-ai/schema/worktree-event" diff --git a/packages/opencode/test/account/repo.test.ts b/packages/opencode/test/account/repo.test.ts index 756d873f9c..d775abb28d 100644 --- a/packages/opencode/test/account/repo.test.ts +++ b/packages/opencode/test/account/repo.test.ts @@ -1,5 +1,5 @@ import { expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer, Option } from "effect" import { sql } from "drizzle-orm" diff --git a/packages/opencode/test/account/service.test.ts b/packages/opencode/test/account/service.test.ts index 672d549716..e44f332a61 100644 --- a/packages/opencode/test/account/service.test.ts +++ b/packages/opencode/test/account/service.test.ts @@ -1,6 +1,6 @@ import { expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Duration, Effect, Layer, Option, Schema } from "effect" import { sql } from "drizzle-orm" import { HttpClient, HttpClientError, HttpClientResponse } from "effect/unstable/http" diff --git a/packages/opencode/test/acp/directory.test.ts b/packages/opencode/test/acp/directory.test.ts index 75f2d50854..bab28ab729 100644 --- a/packages/opencode/test/acp/directory.test.ts +++ b/packages/opencode/test/acp/directory.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Directory } from "@/acp/directory" import { Command } from "@/command" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { Provider } from "@/provider/provider" diff --git a/packages/opencode/test/acp/event.test.ts b/packages/opencode/test/acp/event.test.ts index 8271b28265..2d39369b46 100644 --- a/packages/opencode/test/acp/event.test.ts +++ b/packages/opencode/test/acp/event.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from "bun:test" import type { AgentSideConnection } from "@agentclientprotocol/sdk" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import type { Event, Message, OpencodeClient, Part, SessionMessageResponse, ToolPart } from "@opencode-ai/sdk/v2" import { Effect, ManagedRuntime } from "effect" import { ACPEvent } from "@/acp/event" diff --git a/packages/opencode/test/acp/permission.test.ts b/packages/opencode/test/acp/permission.test.ts index 99da5e6ac1..f1c525faa6 100644 --- a/packages/opencode/test/acp/permission.test.ts +++ b/packages/opencode/test/acp/permission.test.ts @@ -6,7 +6,7 @@ import type { SessionUpdate, } from "@agentclientprotocol/sdk" import type { Event, OpencodeClient } from "@opencode-ai/sdk/v2" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { createTwoFilesPatch } from "diff" import { Effect, ManagedRuntime } from "effect" import { mkdtemp, rm } from "node:fs/promises" diff --git a/packages/opencode/test/acp/session.test.ts b/packages/opencode/test/acp/session.test.ts index 89968563c9..51a54e7fc9 100644 --- a/packages/opencode/test/acp/session.test.ts +++ b/packages/opencode/test/acp/session.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" import type { McpServer } from "@agentclientprotocol/sdk" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" diff --git a/packages/opencode/test/acp/usage.test.ts b/packages/opencode/test/acp/usage.test.ts index 06ccfb1f50..e44bea2026 100644 --- a/packages/opencode/test/acp/usage.test.ts +++ b/packages/opencode/test/acp/usage.test.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "bun:test" import type { SessionNotification } from "@agentclientprotocol/sdk" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { UsageService } from "@/acp/usage" diff --git a/packages/opencode/test/agent/agent.test.ts b/packages/opencode/test/agent/agent.test.ts index 2e13e26a95..83f09cfcb6 100644 --- a/packages/opencode/test/agent/agent.test.ts +++ b/packages/opencode/test/agent/agent.test.ts @@ -1,5 +1,5 @@ import { afterEach, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Layer } from "effect" import path from "path" import { disposeAllInstances, TestInstance } from "../fixture/fixture" @@ -8,7 +8,7 @@ import { Agent } from "../../src/agent/agent" import { Auth } from "../../src/auth" import { Config } from "../../src/config/config" import { RuntimeFlags } from "../../src/effect/runtime-flags" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Permission } from "../../src/permission" import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { Plugin } from "../../src/plugin" diff --git a/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts b/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts index 6fc9197d9a..294ae910a5 100644 --- a/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts +++ b/packages/opencode/test/agent/plan-mode-subagent-bypass.test.ts @@ -1,5 +1,5 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { expect } from "bun:test" import { Effect } from "effect" import { Agent } from "../../src/agent/agent" diff --git a/packages/opencode/test/agent/plugin-agent-regression.test.ts b/packages/opencode/test/agent/plugin-agent-regression.test.ts index 0249aaeb84..00d9652b93 100644 --- a/packages/opencode/test/agent/plugin-agent-regression.test.ts +++ b/packages/opencode/test/agent/plugin-agent-regression.test.ts @@ -1,5 +1,5 @@ import { expect } from "bun:test" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { Effect } from "effect" import path from "path" import { pathToFileURL } from "url" @@ -18,7 +18,7 @@ import { SkillTest } from "../fake/skill" import { testEffect } from "../lib/effect" import { PLUGIN_AGENT } from "../fixture/agent-plugin.constants" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" // `it.instance` skips InstanceBootstrap so LSP / MCP don't spin up — those // services hang during scope teardown on Windows and aren't needed diff --git a/packages/opencode/test/auth/auth.test.ts b/packages/opencode/test/auth/auth.test.ts index bb72be66e5..00ed5209af 100644 --- a/packages/opencode/test/auth/auth.test.ts +++ b/packages/opencode/test/auth/auth.test.ts @@ -1,5 +1,5 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import { Auth } from "../../src/auth" import { testEffect } from "../lib/effect" diff --git a/packages/opencode/test/cli/effect-cmd-instance-als.test.ts b/packages/opencode/test/cli/effect-cmd-instance-als.test.ts index 1592b00146..7376744b18 100644 --- a/packages/opencode/test/cli/effect-cmd-instance-als.test.ts +++ b/packages/opencode/test/cli/effect-cmd-instance-als.test.ts @@ -1,6 +1,6 @@ import { afterEach, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect } from "effect" import { fileURLToPath } from "url" import { InstanceRef } from "../../src/effect/instance-ref" diff --git a/packages/opencode/test/cli/tui/plugin-loader-entrypoint.test.ts b/packages/opencode/test/cli/tui/plugin-loader-entrypoint.test.ts index 3b6adeb302..25d8632eb9 100644 --- a/packages/opencode/test/cli/tui/plugin-loader-entrypoint.test.ts +++ b/packages/opencode/test/cli/tui/plugin-loader-entrypoint.test.ts @@ -6,7 +6,7 @@ import { tmpdir } from "../../fixture/fixture" import { createTuiPluginApi } from "../../fixture/tui-plugin" import { createTuiResolvedConfig } from "../../fixture/tui-runtime" import { TuiConfig } from "../../../src/config/tui" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" const { TuiPluginRuntime } = await import("../../../src/plugin/tui/runtime") diff --git a/packages/opencode/test/cli/tui/plugin-loader.test.ts b/packages/opencode/test/cli/tui/plugin-loader.test.ts index c542914cad..9002498997 100644 --- a/packages/opencode/test/cli/tui/plugin-loader.test.ts +++ b/packages/opencode/test/cli/tui/plugin-loader.test.ts @@ -7,7 +7,7 @@ import type { TuiAttentionSoundPack } from "@opencode-ai/plugin/tui" import { tmpdir } from "../../fixture/fixture" import { createTuiPluginApi } from "../../fixture/tui-plugin" import { createTuiResolvedConfig, mockTuiRuntime } from "../../fixture/tui-runtime" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { TuiConfig } from "../../../src/config/tui" import { Filesystem } from "@/util/filesystem" import { PluginLoader } from "../../../src/plugin/loader" diff --git a/packages/opencode/test/config/agent-color.test.ts b/packages/opencode/test/config/agent-color.test.ts index 6b27cafe85..d14621c6bf 100644 --- a/packages/opencode/test/config/agent-color.test.ts +++ b/packages/opencode/test/config/agent-color.test.ts @@ -1,5 +1,5 @@ import { expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import { Config } from "@/config/config" import { Agent as AgentSvc } from "../../src/agent/agent" diff --git a/packages/opencode/test/config/config.test.ts b/packages/opencode/test/config/config.test.ts index ac408ea812..3f17f68205 100644 --- a/packages/opencode/test/config/config.test.ts +++ b/packages/opencode/test/config/config.test.ts @@ -1,21 +1,21 @@ import { test, expect, describe, afterEach, beforeEach, spyOn } from "bun:test" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Cause, Effect, Exit, Layer, Option } from "effect" import { NamedError } from "@opencode-ai/core/util/error" import { FetchHttpClient, HttpClient, HttpClientResponse } from "effect/unstable/http" import { Config } from "@/config/config" import { ConfigManaged } from "@/config/managed" import { ConfigParse } from "../../src/config/parse" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { InstanceRef } from "../../src/effect/instance-ref" import type { InstanceContext } from "../../src/project/instance-context" import { Auth } from "../../src/auth" import { Account } from "../../src/account/account" import { AccessToken, AccountID, OrgID } from "../../src/account/schema" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Env } from "../../src/env" import { provideTmpdirInstance, @@ -27,13 +27,13 @@ import { testInstanceStoreLayer, } from "../fixture/fixture" import { InstanceRuntime } from "@/project/instance-runtime" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { testEffect } from "../lib/effect" import path from "path" import fs from "fs/promises" import os from "os" import { pathToFileURL } from "url" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { ProjectV2 } from "@opencode-ai/core/project" import { Filesystem } from "@/util/filesystem" import { ConfigPlugin } from "@/config/plugin" diff --git a/packages/opencode/test/config/tui.test.ts b/packages/opencode/test/config/tui.test.ts index cc43cf4e55..1a67e04889 100644 --- a/packages/opencode/test/config/tui.test.ts +++ b/packages/opencode/test/config/tui.test.ts @@ -2,10 +2,10 @@ import { expect } from "bun:test" import path from "path" import { pathToFileURL } from "url" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Config } from "@/config/config" import { ConfigPlugin } from "@/config/plugin" import { CurrentWorkingDirectory } from "@/config/tui-cwd" diff --git a/packages/opencode/test/control-plane/workspace.test.ts b/packages/opencode/test/control-plane/workspace.test.ts index a0d3aadbef..ecbb365907 100644 --- a/packages/opencode/test/control-plane/workspace.test.ts +++ b/packages/opencode/test/control-plane/workspace.test.ts @@ -30,7 +30,7 @@ import { InstanceBootstrap } from "@/project/bootstrap" import { RuntimeFlags } from "@/effect/runtime-flags" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" const originalEnv = { OPENCODE_AUTH_CONTENT: process.env.OPENCODE_AUTH_CONTENT, diff --git a/packages/opencode/test/effect/app-runtime-logger.test.ts b/packages/opencode/test/effect/app-runtime-logger.test.ts index a0c34244f0..f7c5cf11e0 100644 --- a/packages/opencode/test/effect/app-runtime-logger.test.ts +++ b/packages/opencode/test/effect/app-runtime-logger.test.ts @@ -1,11 +1,11 @@ import { expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Context, Deferred, Effect, Fiber, Layer, Logger } from "effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { AppLayer } from "../../src/effect/app-runtime" import { EffectBridge } from "@/effect/bridge" import { InstanceRef } from "../../src/effect/instance-ref" -import * as Observability from "@opencode-ai/core/observability" +import * as Observability from "@opencode-ai/util/observability" import { attach } from "../../src/effect/run-service" import { TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" diff --git a/packages/opencode/test/effect/instance-state.test.ts b/packages/opencode/test/effect/instance-state.test.ts index 148eca8d5c..5cd44e0ac9 100644 --- a/packages/opencode/test/effect/instance-state.test.ts +++ b/packages/opencode/test/effect/instance-state.test.ts @@ -1,6 +1,6 @@ import { expect } from "bun:test" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { $ } from "bun" import { Context, Deferred, Duration, Effect, Exit, Fiber, Layer } from "effect" import { InstanceState } from "@/effect/instance-state" diff --git a/packages/opencode/test/fake/npm.ts b/packages/opencode/test/fake/npm.ts index 57efe83a0b..ab5becb0d1 100644 --- a/packages/opencode/test/fake/npm.ts +++ b/packages/opencode/test/fake/npm.ts @@ -1,4 +1,4 @@ -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { Effect, Layer } from "effect" export const noop = Layer.mock(Npm.Service)({ diff --git a/packages/opencode/test/filesystem/filesystem.test.ts b/packages/opencode/test/filesystem/filesystem.test.ts index 86488331bd..ba23774631 100644 --- a/packages/opencode/test/filesystem/filesystem.test.ts +++ b/packages/opencode/test/filesystem/filesystem.test.ts @@ -1,7 +1,7 @@ import { describe, test, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { testEffect } from "../lib/effect" import path from "path" diff --git a/packages/opencode/test/fixture/fixture.ts b/packages/opencode/test/fixture/fixture.ts index 53e3142cdf..8fd5eb9cbd 100644 --- a/packages/opencode/test/fixture/fixture.ts +++ b/packages/opencode/test/fixture/fixture.ts @@ -6,11 +6,11 @@ import path from "path" import { Effect, Context, Layer } from "effect" import type * as PlatformError from "effect/PlatformError" import type * as Scope from "effect/Scope" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" import type { Config } from "@/config/config" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { InstanceRef } from "../../src/effect/instance-ref" import { InstanceBootstrap } from "../../src/project/bootstrap-service" import type { InstanceContext } from "../../src/project/instance-context" diff --git a/packages/opencode/test/fixture/flag.ts b/packages/opencode/test/fixture/flag.ts index cf00d9e7b2..aa7e9bb79a 100644 --- a/packages/opencode/test/fixture/flag.ts +++ b/packages/opencode/test/fixture/flag.ts @@ -1,5 +1,5 @@ import type { WorkspaceV2 } from "@opencode-ai/core/workspace" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Effect, Scope } from "effect" /** diff --git a/packages/opencode/test/fixture/flock-worker.ts b/packages/opencode/test/fixture/flock-worker.ts index 0b9c314c08..ece4dc6f50 100644 --- a/packages/opencode/test/fixture/flock-worker.ts +++ b/packages/opencode/test/fixture/flock-worker.ts @@ -1,5 +1,5 @@ import fs from "fs/promises" -import { Flock } from "@opencode-ai/core/util/flock" +import { Flock } from "@opencode-ai/util/flock" type Msg = { key: string diff --git a/packages/opencode/test/fixture/workspace.ts b/packages/opencode/test/fixture/workspace.ts index cf75855715..707c8f8b9c 100644 --- a/packages/opencode/test/fixture/workspace.ts +++ b/packages/opencode/test/fixture/workspace.ts @@ -1,7 +1,7 @@ import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Database } from "@opencode-ai/core/database/database" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Auth } from "../../src/auth" import { Workspace } from "../../src/control-plane/workspace" import { RuntimeFlags } from "../../src/effect/runtime-flags" diff --git a/packages/opencode/test/format/format.test.ts b/packages/opencode/test/format/format.test.ts index 72adc848f4..9ca2b414cb 100644 --- a/packages/opencode/test/format/format.test.ts +++ b/packages/opencode/test/format/format.test.ts @@ -1,10 +1,10 @@ import { NodeFileSystem } from "@effect/platform-node" import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { provideTmpdirInstance, testInstanceStoreLayer, TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Format } from "../../src/format" import * as Formatter from "../../src/format/formatter" diff --git a/packages/opencode/test/git/git.test.ts b/packages/opencode/test/git/git.test.ts index 56f19a4a46..fd139559b6 100644 --- a/packages/opencode/test/git/git.test.ts +++ b/packages/opencode/test/git/git.test.ts @@ -1,5 +1,5 @@ import { $ } from "bun" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { describe, expect } from "bun:test" import fs from "fs/promises" import path from "path" diff --git a/packages/opencode/test/image/image.test.ts b/packages/opencode/test/image/image.test.ts index 29667f6e2f..e1366b5726 100644 --- a/packages/opencode/test/image/image.test.ts +++ b/packages/opencode/test/image/image.test.ts @@ -1,5 +1,5 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit } from "effect" import { Image } from "@/image/image" import { Config } from "@/config/config" diff --git a/packages/opencode/test/installation/installation.test.ts b/packages/opencode/test/installation/installation.test.ts index 3d4b4cba31..6aa890a772 100644 --- a/packages/opencode/test/installation/installation.test.ts +++ b/packages/opencode/test/installation/installation.test.ts @@ -1,13 +1,13 @@ import { describe, expect } from "bun:test" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Effect, Layer, Stream } from "effect" import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" import { Installation } from "../../src/installation" -import { InstallationChannel } from "@opencode-ai/core/installation/version" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { InstallationChannel } from "@opencode-ai/util/installation/version" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { testEffect } from "../lib/effect" const encoder = new TextEncoder() diff --git a/packages/opencode/test/job.test.ts b/packages/opencode/test/job.test.ts index feb8f6e4ab..ad460db1a1 100644 --- a/packages/opencode/test/job.test.ts +++ b/packages/opencode/test/job.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" import { Deferred, Effect, Fiber } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Job } from "@/job" import { SessionSchema } from "@opencode-ai/core/session/schema" import { testEffect } from "./lib/effect" diff --git a/packages/opencode/test/lib/cli-process.ts b/packages/opencode/test/lib/cli-process.ts index 9f539421a5..12b8a3f20a 100644 --- a/packages/opencode/test/lib/cli-process.ts +++ b/packages/opencode/test/lib/cli-process.ts @@ -17,10 +17,10 @@ // without changing the fixture. Long-lived commands like `serve` will need a // different return shape — see the TODO at the bottom of OpencodeCli. import { test, type TestOptions } from "bun:test" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { AppProcess } from "@opencode-ai/core/process" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { AppProcess } from "@opencode-ai/util/process" import { Deferred, Duration, Effect, Layer, Queue, Schedule, Scope, Stream } from "effect" import { FetchHttpClient, HttpClient } from "effect/unstable/http" import { ChildProcess } from "effect/unstable/process" diff --git a/packages/opencode/test/lib/effect.ts b/packages/opencode/test/lib/effect.ts index 255d4b3947..d75db2db56 100644 --- a/packages/opencode/test/lib/effect.ts +++ b/packages/opencode/test/lib/effect.ts @@ -4,7 +4,7 @@ import { Cause, Duration, Effect, Exit, Layer } from "effect" import * as Scope from "effect/Scope" import * as TestClock from "effect/testing/TestClock" import * as TestConsole from "effect/testing/TestConsole" -import { memoMap } from "@opencode-ai/core/effect/memo-map" +import { memoMap } from "@opencode-ai/util/effect/memo-map" import type { Config } from "@/config/config" import { TestInstance, withTmpdirInstance } from "../fixture/fixture" import { InstanceStore } from "@/project/instance-store" diff --git a/packages/opencode/test/lsp/index.test.ts b/packages/opencode/test/lsp/index.test.ts index 57a7b59d1c..6f91bc3624 100644 --- a/packages/opencode/test/lsp/index.test.ts +++ b/packages/opencode/test/lsp/index.test.ts @@ -1,13 +1,13 @@ import { describe, expect, spyOn } from "bun:test" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Deferred, Effect, Layer } from "effect" import { EventV2Bridge } from "@/event-v2-bridge" import { Config } from "@/config/config" import { RuntimeFlags } from "@/effect/runtime-flags" import { LSP } from "@/lsp/lsp" import * as LSPServer from "@/lsp/server" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { TestInstance } from "../fixture/fixture" import { awaitWithTimeout, testEffect } from "../lib/effect" diff --git a/packages/opencode/test/lsp/lifecycle.test.ts b/packages/opencode/test/lsp/lifecycle.test.ts index 17387a6bf8..669df60f7e 100644 --- a/packages/opencode/test/lsp/lifecycle.test.ts +++ b/packages/opencode/test/lsp/lifecycle.test.ts @@ -1,6 +1,6 @@ import { afterEach, beforeEach, describe, expect, spyOn, test } from "bun:test" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import { LSP } from "@/lsp/lsp" import * as LSPServer from "@/lsp/server" diff --git a/packages/opencode/test/mcp/auth.test.ts b/packages/opencode/test/mcp/auth.test.ts index 5aa099983a..be6cff4090 100644 --- a/packages/opencode/test/mcp/auth.test.ts +++ b/packages/opencode/test/mcp/auth.test.ts @@ -2,7 +2,7 @@ import { expect, test } from "bun:test" import { setTimeout as sleep } from "node:timers/promises" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { Effect, Layer } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { McpAuth } from "../../src/mcp/auth" function authFile() { diff --git a/packages/opencode/test/mcp/headers.test.ts b/packages/opencode/test/mcp/headers.test.ts index 31cfc20d51..b9a0887d22 100644 --- a/packages/opencode/test/mcp/headers.test.ts +++ b/packages/opencode/test/mcp/headers.test.ts @@ -2,7 +2,7 @@ import { describe, expect } from "bun:test" import { Server } from "@modelcontextprotocol/sdk/server/index.js" import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js" import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import { testEffect } from "../lib/effect" import { MCP } from "../../src/mcp/index" diff --git a/packages/opencode/test/mcp/lifecycle.test.ts b/packages/opencode/test/mcp/lifecycle.test.ts index 80c8fd22f8..8b90370ca8 100644 --- a/packages/opencode/test/mcp/lifecycle.test.ts +++ b/packages/opencode/test/mcp/lifecycle.test.ts @@ -13,7 +13,7 @@ import { type ServerCapabilities, type Tool, } from "@modelcontextprotocol/sdk/types.js" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit } from "effect" import type { MCP as MCPNS } from "../../src/mcp/index" import { MCP } from "../../src/mcp/index" diff --git a/packages/opencode/test/mcp/oauth-auto-connect.test.ts b/packages/opencode/test/mcp/oauth-auto-connect.test.ts index 5f8889068c..486063ea07 100644 --- a/packages/opencode/test/mcp/oauth-auto-connect.test.ts +++ b/packages/opencode/test/mcp/oauth-auto-connect.test.ts @@ -2,9 +2,9 @@ import { expect } from "bun:test" import { Server } from "@modelcontextprotocol/sdk/server/index.js" import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js" import { ListResourcesRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect } from "effect" import { Config } from "../../src/config/config" import { EventV2Bridge } from "../../src/event-v2-bridge" diff --git a/packages/opencode/test/mcp/oauth-browser.test.ts b/packages/opencode/test/mcp/oauth-browser.test.ts index 9573805a9a..79e583bf9c 100644 --- a/packages/opencode/test/mcp/oauth-browser.test.ts +++ b/packages/opencode/test/mcp/oauth-browser.test.ts @@ -2,7 +2,7 @@ import { expect } from "bun:test" import { Server } from "@modelcontextprotocol/sdk/server/index.js" import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js" import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Deferred, Effect, Layer, Option } from "effect" import { Config } from "../../src/config/config" import { EventV2Bridge } from "../../src/event-v2-bridge" diff --git a/packages/opencode/test/patch/patch.test.ts b/packages/opencode/test/patch/patch.test.ts index 0a8dd5d8ad..0f0d169a98 100644 --- a/packages/opencode/test/patch/patch.test.ts +++ b/packages/opencode/test/patch/patch.test.ts @@ -1,11 +1,11 @@ import { describe, test, expect, beforeEach, afterEach } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import * as fs from "fs/promises" import * as path from "path" import { tmpdir } from "os" import { Patch } from "../../src/patch" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { testEffect } from "../lib/effect" const it = testEffect(LayerNode.compile(FSUtil.node)) diff --git a/packages/opencode/test/permission-task.test.ts b/packages/opencode/test/permission-task.test.ts index 09a71465d5..e14f77659e 100644 --- a/packages/opencode/test/permission-task.test.ts +++ b/packages/opencode/test/permission-task.test.ts @@ -1,5 +1,5 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { describe, test, expect } from "bun:test" import { Effect } from "effect" import { Permission } from "../src/permission" diff --git a/packages/opencode/test/permission/next.test.ts b/packages/opencode/test/permission/next.test.ts index 2f2ce98efb..b08c6ed4a0 100644 --- a/packages/opencode/test/permission/next.test.ts +++ b/packages/opencode/test/permission/next.test.ts @@ -3,7 +3,7 @@ import { test, expect } from "bun:test" import os from "os" import { Cause, Deferred, Effect, Exit, Fiber, Layer } from "effect" import { EventV2Bridge } from "../../src/event-v2-bridge" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Permission } from "../../src/permission" import { InstanceBootstrap } from "../../src/project/bootstrap" import { InstanceStore } from "../../src/project/instance-store" @@ -11,7 +11,7 @@ import { TestInstance, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" import { MessageID, SessionID } from "../../src/session/schema" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" const noopBootstrap = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void })) const env = AppNodeBuilder.build( diff --git a/packages/opencode/test/plugin/auth-override.test.ts b/packages/opencode/test/plugin/auth-override.test.ts index ca8a2ff69a..71204a20f3 100644 --- a/packages/opencode/test/plugin/auth-override.test.ts +++ b/packages/opencode/test/plugin/auth-override.test.ts @@ -1,16 +1,16 @@ import { describe, expect, test } from "bun:test" import path from "path" import { pathToFileURL } from "url" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { provideInstance, TestInstance, tmpdirScoped } from "../fixture/fixture" import { ProviderAuth } from "@/provider/auth" import { RuntimeFlags } from "@/effect/runtime-flags" import { TestConfig } from "../fixture/config" import { testEffect } from "../lib/effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { ProviderV2 } from "@opencode-ai/core/provider" import { Config } from "@/config/config" diff --git a/packages/opencode/test/plugin/loader-shared.test.ts b/packages/opencode/test/plugin/loader-shared.test.ts index 005a6e78cb..671afbfa76 100644 --- a/packages/opencode/test/plugin/loader-shared.test.ts +++ b/packages/opencode/test/plugin/loader-shared.test.ts @@ -1,11 +1,11 @@ import { afterEach, describe, expect, spyOn } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import fs from "fs/promises" import path from "path" import { pathToFileURL } from "url" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Config } from "@/config/config" import { disposeAllInstances, provideInstance, testInstanceStoreLayer, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" @@ -13,7 +13,7 @@ import { testEffect } from "../lib/effect" const { Plugin } = await import("../../src/plugin/index") const { PluginLoader } = await import("../../src/plugin/loader") const { readPackageThemes } = await import("../../src/plugin/shared") -const { Npm } = await import("@opencode-ai/core/npm") +const { Npm } = await import("@opencode-ai/util/npm") const { TestConfig } = await import("../fixture/config") const { RuntimeFlags } = await import("../../src/effect/runtime-flags") diff --git a/packages/opencode/test/plugin/trigger.test.ts b/packages/opencode/test/plugin/trigger.test.ts index 07fd8e2f21..acfd3c97dc 100644 --- a/packages/opencode/test/plugin/trigger.test.ts +++ b/packages/opencode/test/plugin/trigger.test.ts @@ -1,7 +1,7 @@ import { describe, expect } from "bun:test" import { Effect } from "effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { Npm } from "@opencode-ai/core/npm" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { Npm } from "@opencode-ai/util/npm" import path from "path" import { pathToFileURL } from "url" import { Account } from "../../src/account/account" @@ -17,7 +17,7 @@ import { NpmTest } from "../fake/npm" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" const it = testEffect( AppNodeBuilder.build(LayerNode.group([Plugin.node, CrossSpawnSpawner.node]), [ diff --git a/packages/opencode/test/plugin/workspace-adapter.test.ts b/packages/opencode/test/plugin/workspace-adapter.test.ts index a8dd172521..2623d6ac2e 100644 --- a/packages/opencode/test/plugin/workspace-adapter.test.ts +++ b/packages/opencode/test/plugin/workspace-adapter.test.ts @@ -1,6 +1,6 @@ import { afterEach, describe, expect } from "bun:test" import { Effect, Layer } from "effect" -import { Npm } from "@opencode-ai/core/npm" +import { Npm } from "@opencode-ai/util/npm" import { Ripgrep } from "@opencode-ai/core/ripgrep" import path from "path" import { pathToFileURL } from "url" @@ -18,7 +18,7 @@ import { AccountTest } from "../fake/account" import { AuthTest } from "../fake/auth" import { NpmTest } from "../fake/npm" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" const noopBootstrapLayer = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void })) const it = testEffect( diff --git a/packages/opencode/test/project/instance-bootstrap.test.ts b/packages/opencode/test/project/instance-bootstrap.test.ts index f855024e5d..9c61b07bf9 100644 --- a/packages/opencode/test/project/instance-bootstrap.test.ts +++ b/packages/opencode/test/project/instance-bootstrap.test.ts @@ -2,8 +2,8 @@ import { afterEach, expect } from "bun:test" import { existsSync } from "node:fs" import path from "node:path" import { pathToFileURL } from "node:url" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Cause, Effect, Exit, Fiber } from "effect" import { bootstrap as cliBootstrap } from "../../src/cli/bootstrap" import { InstanceBootstrap } from "../../src/project/bootstrap" diff --git a/packages/opencode/test/project/instance.test.ts b/packages/opencode/test/project/instance.test.ts index f78b99ef7d..44bc259b50 100644 --- a/packages/opencode/test/project/instance.test.ts +++ b/packages/opencode/test/project/instance.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Deferred, Effect, Fiber, Layer } from "effect" import { InstanceRef } from "../../src/effect/instance-ref" import { registerDisposer } from "../../src/effect/instance-registry" diff --git a/packages/opencode/test/project/migrate-global.test.ts b/packages/opencode/test/project/migrate-global.test.ts index 24d8aaaaaf..f68f6aa80f 100644 --- a/packages/opencode/test/project/migrate-global.test.ts +++ b/packages/opencode/test/project/migrate-global.test.ts @@ -9,8 +9,8 @@ import { ProjectV2 } from "@opencode-ai/core/project" import { SessionID } from "../../src/session/schema" import { $ } from "bun" import { tmpdirScoped } from "../fixture/fixture" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Effect } from "effect" import { testEffect } from "../lib/effect" diff --git a/packages/opencode/test/project/project-directory.test.ts b/packages/opencode/test/project/project-directory.test.ts index 112271c2c4..08c2dd8ee4 100644 --- a/packages/opencode/test/project/project-directory.test.ts +++ b/packages/opencode/test/project/project-directory.test.ts @@ -2,10 +2,10 @@ import { describe, expect } from "bun:test" import { $ } from "bun" import path from "path" import { eq } from "drizzle-orm" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Effect } from "effect" -import { Hash } from "@opencode-ai/core/util/hash" +import { Hash } from "@opencode-ai/util/hash" import { AbsolutePath } from "@opencode-ai/core/schema" import { Database } from "@opencode-ai/core/database/database" import { ProjectDirectoryTable, ProjectTable } from "@opencode-ai/core/project/sql" diff --git a/packages/opencode/test/project/project.test.ts b/packages/opencode/test/project/project.test.ts index 5e425e7f73..290ba20dd3 100644 --- a/packages/opencode/test/project/project.test.ts +++ b/packages/opencode/test/project/project.test.ts @@ -9,17 +9,17 @@ import { ProjectTable } from "@opencode-ai/core/project/sql" import { SessionTable } from "@opencode-ai/core/session/sql" import { WorkspaceTable } from "@opencode-ai/core/control-plane/workspace.sql" import { eq } from "drizzle-orm" -import { Hash } from "@opencode-ai/core/util/hash" +import { Hash } from "@opencode-ai/util/hash" import { SessionID } from "@/session/schema" import { WorkspaceV2 } from "@opencode-ai/core/workspace" import { Cause, Effect, Exit, Layer, Stream } from "effect" import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process" import { ProjectV2 } from "@opencode-ai/core/project" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { testEffect } from "../lib/effect" import { RuntimeFlags } from "@/effect/runtime-flags" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" const encoder = new TextEncoder() diff --git a/packages/opencode/test/project/vcs.test.ts b/packages/opencode/test/project/vcs.test.ts index c13b108bc6..08457d901a 100644 --- a/packages/opencode/test/project/vcs.test.ts +++ b/packages/opencode/test/project/vcs.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { parsePatch } from "diff" import { Deferred, Effect, Layer } from "effect" import fs from "fs/promises" diff --git a/packages/opencode/test/project/worktree-remove.test.ts b/packages/opencode/test/project/worktree-remove.test.ts index 9e061f6d88..70986df6d3 100644 --- a/packages/opencode/test/project/worktree-remove.test.ts +++ b/packages/opencode/test/project/worktree-remove.test.ts @@ -2,7 +2,7 @@ import { $ } from "bun" import { describe, expect } from "bun:test" import * as fs from "fs/promises" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import { InstanceBootstrap } from "../../src/project/bootstrap" import { InstanceStore } from "../../src/project/instance-store" diff --git a/packages/opencode/test/project/worktree.test.ts b/packages/opencode/test/project/worktree.test.ts index e2a7e74723..596d0a0d09 100644 --- a/packages/opencode/test/project/worktree.test.ts +++ b/packages/opencode/test/project/worktree.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect } from "bun:test" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Cause, Deferred, Effect, Exit, Fiber } from "effect" import { GlobalBus, type GlobalEvent } from "../../src/bus/global" import { Git } from "../../src/git" diff --git a/packages/opencode/test/provider/amazon-bedrock.test.ts b/packages/opencode/test/provider/amazon-bedrock.test.ts index 6e677631c4..722fd24baa 100644 --- a/packages/opencode/test/provider/amazon-bedrock.test.ts +++ b/packages/opencode/test/provider/amazon-bedrock.test.ts @@ -1,9 +1,9 @@ import { afterEach, describe, expect, test } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect } from "effect" import path from "path" import { unlink } from "fs/promises" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Filesystem } from "@/util/filesystem" import { Env } from "../../src/env" import { Provider } from "@/provider/provider" diff --git a/packages/opencode/test/provider/digitalocean.test.ts b/packages/opencode/test/provider/digitalocean.test.ts index 144335c73b..9766d4f9f9 100644 --- a/packages/opencode/test/provider/digitalocean.test.ts +++ b/packages/opencode/test/provider/digitalocean.test.ts @@ -1,5 +1,5 @@ import { expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Provider } from "../../src/provider/provider" import { Effect } from "effect" diff --git a/packages/opencode/test/provider/gitlab-duo.test.ts b/packages/opencode/test/provider/gitlab-duo.test.ts index 563fa02555..00510f8f93 100644 --- a/packages/opencode/test/provider/gitlab-duo.test.ts +++ b/packages/opencode/test/provider/gitlab-duo.test.ts @@ -10,7 +10,7 @@ export {} // import { tmpdir, withTestInstance } from "../fixture/fixture" // import { Provider } from "@/provider/provider" // import { Env } from "../../src/env" -// import { Global } from "@opencode-ai/core/global" +// import { Global } from "@opencode-ai/util/global" // import { GitLabWorkflowLanguageModel } from "gitlab-ai-provider" // test("GitLab Duo: loads provider with API key from environment", async () => { diff --git a/packages/opencode/test/provider/header-timeout.test.ts b/packages/opencode/test/provider/header-timeout.test.ts index 1bd27b5cdd..6a4e18b8e6 100644 --- a/packages/opencode/test/provider/header-timeout.test.ts +++ b/packages/opencode/test/provider/header-timeout.test.ts @@ -1,8 +1,8 @@ import { afterEach, expect } from "bun:test" import { createServer, type Server } from "node:http" import { streamText } from "ai" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Effect } from "effect" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" diff --git a/packages/opencode/test/provider/provider.test.ts b/packages/opencode/test/provider/provider.test.ts index 964c7d5dfd..a9e7a0b23e 100644 --- a/packages/opencode/test/provider/provider.test.ts +++ b/packages/opencode/test/provider/provider.test.ts @@ -1,13 +1,13 @@ import { afterEach, expect, test } from "bun:test" import { mkdir, unlink } from "fs/promises" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { Effect, Layer } from "effect" import { ModelsDev } from "@opencode-ai/core/models-dev" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { Global } from "@opencode-ai/util/global" import { disposeAllInstances, provideInstanceEffect, tmpdirScoped, TestInstance } from "../fixture/fixture" import { markPluginDependenciesReady } from "../fixture/plugin" import { Auth } from "@/auth" diff --git a/packages/opencode/test/question/question.test.ts b/packages/opencode/test/question/question.test.ts index 9adb1e0c9f..63eb3922d4 100644 --- a/packages/opencode/test/question/question.test.ts +++ b/packages/opencode/test/question/question.test.ts @@ -1,5 +1,5 @@ import { afterEach, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Fiber, Layer, Queue } from "effect" import { Question } from "../../src/question" import { InstanceRef } from "../../src/effect/instance-ref" @@ -8,7 +8,7 @@ import { QuestionID } from "../../src/question/schema" import { disposeAllInstances, provideInstance, testInstanceStoreLayer, tmpdirScoped } from "../fixture/fixture" import { SessionID } from "../../src/session/schema" import { testEffect } from "../lib/effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { EventV2Bridge } from "../../src/event-v2-bridge" const questionLayer = LayerNode.compile(LayerNode.group([Question.node, EventV2Bridge.node, CrossSpawnSpawner.node])) diff --git a/packages/opencode/test/server/auth.test.ts b/packages/opencode/test/server/auth.test.ts index 1278e8c72e..4bb955b005 100644 --- a/packages/opencode/test/server/auth.test.ts +++ b/packages/opencode/test/server/auth.test.ts @@ -1,6 +1,6 @@ import { afterEach, describe, expect, test } from "bun:test" import { Option, Redacted } from "effect" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { ServerAuth } from "../../src/server/auth" const original = { diff --git a/packages/opencode/test/server/global-session-list.test.ts b/packages/opencode/test/server/global-session-list.test.ts index 7a13553af6..d419ec0a53 100644 --- a/packages/opencode/test/server/global-session-list.test.ts +++ b/packages/opencode/test/server/global-session-list.test.ts @@ -1,10 +1,10 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionProjector } from "@opencode-ai/core/session/projector" import { Deferred, Effect, Layer } from "effect" import { Project } from "@/project/project" import { Session as SessionNs } from "@/session/session" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { provideInstance, TestInstance, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" diff --git a/packages/opencode/test/server/httpapi-cors.test.ts b/packages/opencode/test/server/httpapi-cors.test.ts index 4e9680c7ce..481ad44d77 100644 --- a/packages/opencode/test/server/httpapi-cors.test.ts +++ b/packages/opencode/test/server/httpapi-cors.test.ts @@ -1,5 +1,5 @@ import { NodeHttpServer, NodeServices } from "@effect/platform-node" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { describe, expect } from "bun:test" import { Config, ConfigProvider, Effect, Layer } from "effect" import { HttpClient, HttpClientRequest, HttpRouter, HttpServer } from "effect/unstable/http" diff --git a/packages/opencode/test/server/httpapi-exercise/environment.ts b/packages/opencode/test/server/httpapi-exercise/environment.ts index 9d3eaa0e53..4da361fcd0 100644 --- a/packages/opencode/test/server/httpapi-exercise/environment.ts +++ b/packages/opencode/test/server/httpapi-exercise/environment.ts @@ -1,4 +1,4 @@ -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Effect } from "effect" import path from "path" diff --git a/packages/opencode/test/server/httpapi-exercise/runner.ts b/packages/opencode/test/server/httpapi-exercise/runner.ts index 37e24b790b..2a05f26e80 100644 --- a/packages/opencode/test/server/httpapi-exercise/runner.ts +++ b/packages/opencode/test/server/httpapi-exercise/runner.ts @@ -1,4 +1,4 @@ -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Cause, Duration, Effect, Layer, Scope } from "effect" diff --git a/packages/opencode/test/server/httpapi-experimental.test.ts b/packages/opencode/test/server/httpapi-experimental.test.ts index 1717164356..0c6cf028d5 100644 --- a/packages/opencode/test/server/httpapi-experimental.test.ts +++ b/packages/opencode/test/server/httpapi-experimental.test.ts @@ -1,5 +1,5 @@ import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Deferred, Effect, Fiber, Layer } from "effect" import { HttpClient, HttpClientResponse } from "effect/unstable/http" import { eq } from "drizzle-orm" diff --git a/packages/opencode/test/server/httpapi-instance.test.ts b/packages/opencode/test/server/httpapi-instance.test.ts index 5bbd6d7cc0..cdd86b67d3 100644 --- a/packages/opencode/test/server/httpapi-instance.test.ts +++ b/packages/opencode/test/server/httpapi-instance.test.ts @@ -1,6 +1,6 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { NodeHttpServer, NodeServices } from "@effect/platform-node" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { describe, expect } from "bun:test" import { Config, Context, Effect, FileSystem, Layer, Path } from "effect" import { HttpClient, HttpClientRequest, HttpRouter, HttpServer } from "effect/unstable/http" diff --git a/packages/opencode/test/server/httpapi-listen.test.ts b/packages/opencode/test/server/httpapi-listen.test.ts index 585c59cb43..5e1c407677 100644 --- a/packages/opencode/test/server/httpapi-listen.test.ts +++ b/packages/opencode/test/server/httpapi-listen.test.ts @@ -2,7 +2,7 @@ import { afterEach, describe, expect, test } from "bun:test" import net from "node:net" import path from "node:path" import { pathToFileURL } from "node:url" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Server } from "../../src/server/server" import { PtyPaths } from "../../src/server/routes/instance/httpapi/groups/pty" import { withTimeout } from "../../src/util/timeout" diff --git a/packages/opencode/test/server/httpapi-mdns.test.ts b/packages/opencode/test/server/httpapi-mdns.test.ts index 6dc122384e..94ae86505f 100644 --- a/packages/opencode/test/server/httpapi-mdns.test.ts +++ b/packages/opencode/test/server/httpapi-mdns.test.ts @@ -1,5 +1,5 @@ import { afterEach, describe, expect, mock, test } from "bun:test" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { withTimeout } from "../../src/util/timeout" import { resetDatabase } from "../fixture/db" import { disposeAllInstances } from "../fixture/fixture" diff --git a/packages/opencode/test/server/httpapi-provider.test.ts b/packages/opencode/test/server/httpapi-provider.test.ts index 625ca1896b..2f254f83c9 100644 --- a/packages/opencode/test/server/httpapi-provider.test.ts +++ b/packages/opencode/test/server/httpapi-provider.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect, Layer } from "effect" import path from "path" import { resetDatabase } from "../fixture/db" diff --git a/packages/opencode/test/server/httpapi-query-schema-drift.test.ts b/packages/opencode/test/server/httpapi-query-schema-drift.test.ts index f5411767ed..7d783dfacd 100644 --- a/packages/opencode/test/server/httpapi-query-schema-drift.test.ts +++ b/packages/opencode/test/server/httpapi-query-schema-drift.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect } from "bun:test" import { Effect, Schema } from "effect" import { OpenApi } from "effect/unstable/httpapi" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Server } from "../../src/server/server" import { SessionID } from "../../src/session/schema" import { PublicApi } from "../../src/server/routes/instance/httpapi/public" diff --git a/packages/opencode/test/server/httpapi-reference.test.ts b/packages/opencode/test/server/httpapi-reference.test.ts index 9354d527da..9d8e19e804 100644 --- a/packages/opencode/test/server/httpapi-reference.test.ts +++ b/packages/opencode/test/server/httpapi-reference.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect, test } from "bun:test" import path from "path" import { Server } from "../../src/server/server" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { resetDatabase } from "../fixture/db" import { disposeAllInstances, tmpdir } from "../fixture/fixture" import { Effect } from "effect" diff --git a/packages/opencode/test/server/httpapi-schema-error-body.test.ts b/packages/opencode/test/server/httpapi-schema-error-body.test.ts index 4ea6fd38e8..de493b0d75 100644 --- a/packages/opencode/test/server/httpapi-schema-error-body.test.ts +++ b/packages/opencode/test/server/httpapi-schema-error-body.test.ts @@ -1,5 +1,5 @@ import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { HttpClientResponse } from "effect/unstable/http" import { eq } from "drizzle-orm" diff --git a/packages/opencode/test/server/httpapi-sdk.test.ts b/packages/opencode/test/server/httpapi-sdk.test.ts index a6f308f032..31d5df1376 100644 --- a/packages/opencode/test/server/httpapi-sdk.test.ts +++ b/packages/opencode/test/server/httpapi-sdk.test.ts @@ -6,10 +6,10 @@ import type * as Scope from "effect/Scope" import { HttpServer } from "effect/unstable/http" import { ChildProcessSpawner } from "effect/unstable/process" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { Flag } from "@opencode-ai/core/flag/flag" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { Flag } from "@opencode-ai/util/flag" import { createOpencodeClient } from "@opencode-ai/sdk/v2" import { validateSession } from "../../src/cli/tui/validate-session" import { InstanceBootstrap } from "../../src/project/bootstrap" diff --git a/packages/opencode/test/server/httpapi-session.test.ts b/packages/opencode/test/server/httpapi-session.test.ts index fab8d4e57b..1be69d5840 100644 --- a/packages/opencode/test/server/httpapi-session.test.ts +++ b/packages/opencode/test/server/httpapi-session.test.ts @@ -8,9 +8,9 @@ import { Cause, Config, Effect, Exit, Layer } from "effect" import { HttpClient, HttpClientRequest, HttpClientResponse, HttpRouter, HttpServer } from "effect/unstable/http" import { layerWebSocketConstructorGlobal } from "effect/unstable/socket/Socket" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { Flag } from "@opencode-ai/core/flag/flag" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { Flag } from "@opencode-ai/util/flag" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { registerAdapter } from "../../src/control-plane/adapters" import type { WorkspaceAdapter } from "../../src/control-plane/types" diff --git a/packages/opencode/test/server/httpapi-sync.test.ts b/packages/opencode/test/server/httpapi-sync.test.ts index 0577e6bf02..e55a0e4113 100644 --- a/packages/opencode/test/server/httpapi-sync.test.ts +++ b/packages/opencode/test/server/httpapi-sync.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect, mock } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Context, Effect, Layer } from "effect" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { SyncPaths } from "../../src/server/routes/instance/httpapi/groups/sync" import { HttpApiApp } from "../../src/server/routes/instance/httpapi/server" import { Session } from "@/session/session" diff --git a/packages/opencode/test/server/httpapi-ui.test.ts b/packages/opencode/test/server/httpapi-ui.test.ts index 2f10193f3d..8b0fbc079c 100644 --- a/packages/opencode/test/server/httpapi-ui.test.ts +++ b/packages/opencode/test/server/httpapi-ui.test.ts @@ -1,6 +1,6 @@ import { createHash } from "node:crypto" import { describe, expect } from "bun:test" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { ConfigProvider, Effect, Layer, Option } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { @@ -12,7 +12,7 @@ import { HttpServerRequest, HttpServerResponse, } from "effect/unstable/http" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { RuntimeFlags } from "../../src/effect/runtime-flags" import { ServerAuth } from "../../src/server/auth" import { authorizationRouterMiddleware } from "../../src/server/routes/instance/httpapi/middleware/authorization" diff --git a/packages/opencode/test/server/httpapi-workspace.test.ts b/packages/opencode/test/server/httpapi-workspace.test.ts index 4cb9f55c84..27b9c64f07 100644 --- a/packages/opencode/test/server/httpapi-workspace.test.ts +++ b/packages/opencode/test/server/httpapi-workspace.test.ts @@ -3,8 +3,8 @@ import { mkdir } from "node:fs/promises" import path from "node:path" import { Effect, Layer, Stream } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { Flag } from "@opencode-ai/core/flag/flag" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { Flag } from "@opencode-ai/util/flag" import { registerAdapter } from "../../src/control-plane/adapters" import { WorkspaceV2 } from "@opencode-ai/core/workspace" import type { WorkspaceAdapter } from "../../src/control-plane/types" diff --git a/packages/opencode/test/server/negative-tokens-regression.test.ts b/packages/opencode/test/server/negative-tokens-regression.test.ts index 453aa189d5..ab4ab0b098 100644 --- a/packages/opencode/test/server/negative-tokens-regression.test.ts +++ b/packages/opencode/test/server/negative-tokens-regression.test.ts @@ -6,7 +6,7 @@ // strict `NonNegativeInt` schema then made every load of the message list // fail to encode, killing Desktop boot for every user with such a row. import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { eq } from "drizzle-orm" diff --git a/packages/opencode/test/server/project-copy.test.ts b/packages/opencode/test/server/project-copy.test.ts index 0f783622a6..17ffbebbd0 100644 --- a/packages/opencode/test/server/project-copy.test.ts +++ b/packages/opencode/test/server/project-copy.test.ts @@ -3,10 +3,10 @@ import { $ } from "bun" import fs from "fs/promises" import path from "path" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { HttpClientResponse } from "effect/unstable/http" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Database } from "@opencode-ai/core/database/database" import { Snapshot } from "@/snapshot" import { InstanceBootstrap } from "@/project/bootstrap" diff --git a/packages/opencode/test/server/project-init-git.test.ts b/packages/opencode/test/server/project-init-git.test.ts index 4474bea7d4..c7fbb5eef9 100644 --- a/packages/opencode/test/server/project-init-git.test.ts +++ b/packages/opencode/test/server/project-init-git.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect } from "bun:test" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect, Layer } from "effect" import { HttpClientResponse } from "effect/unstable/http" import path from "path" diff --git a/packages/opencode/test/server/session-actions.test.ts b/packages/opencode/test/server/session-actions.test.ts index 4aa750c39d..516ffee336 100644 --- a/packages/opencode/test/server/session-actions.test.ts +++ b/packages/opencode/test/server/session-actions.test.ts @@ -1,5 +1,5 @@ import { afterEach, describe, expect, mock } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Fiber, Layer } from "effect" import { Session as SessionNs } from "@/session/session" import { Job } from "@/job" diff --git a/packages/opencode/test/server/session-diff-missing-patch.test.ts b/packages/opencode/test/server/session-diff-missing-patch.test.ts index d2a4211ff1..119eb3efae 100644 --- a/packages/opencode/test/server/session-diff-missing-patch.test.ts +++ b/packages/opencode/test/server/session-diff-missing-patch.test.ts @@ -11,7 +11,7 @@ * asserts that GET /session//diff returns 200 with empty data. */ import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { SessionPaths } from "@/server/routes/instance/httpapi/groups/session" import { Session } from "@/session/session" diff --git a/packages/opencode/test/server/session-list.test.ts b/packages/opencode/test/server/session-list.test.ts index 354a578b23..b9a5f01a8b 100644 --- a/packages/opencode/test/server/session-list.test.ts +++ b/packages/opencode/test/server/session-list.test.ts @@ -1,7 +1,7 @@ import { afterEach, describe, expect } from "bun:test" import { Effect } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Database } from "@opencode-ai/core/database/database" import { SessionProjector } from "@opencode-ai/core/session/projector" import { Session as SessionNs } from "@/session/session" diff --git a/packages/opencode/test/server/session-messages.test.ts b/packages/opencode/test/server/session-messages.test.ts index c47913bde5..9a51bc0d39 100644 --- a/packages/opencode/test/server/session-messages.test.ts +++ b/packages/opencode/test/server/session-messages.test.ts @@ -1,6 +1,6 @@ import { afterEach, describe, expect } from "bun:test" import { SessionV1 } from "@opencode-ai/core/v1/session" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { HttpClientResponse } from "effect/unstable/http" import { Session as SessionNs } from "@/session/session" diff --git a/packages/opencode/test/server/session-select.test.ts b/packages/opencode/test/server/session-select.test.ts index 82a8ad9395..f36eb4f2cc 100644 --- a/packages/opencode/test/server/session-select.test.ts +++ b/packages/opencode/test/server/session-select.test.ts @@ -1,5 +1,5 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { Session } from "@/session/session" import { TestInstance } from "../fixture/fixture" diff --git a/packages/opencode/test/server/worktree-endpoint-repro.test.ts b/packages/opencode/test/server/worktree-endpoint-repro.test.ts index 62a6185886..64a0e9b78f 100644 --- a/packages/opencode/test/server/worktree-endpoint-repro.test.ts +++ b/packages/opencode/test/server/worktree-endpoint-repro.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" import { Effect, Layer, Queue } from "effect" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { GlobalBus, type GlobalEvent } from "@/bus/global" import { Worktree } from "@/worktree" import { Server } from "../../src/server/server" diff --git a/packages/opencode/test/session/compaction.test.ts b/packages/opencode/test/session/compaction.test.ts index 44a0da29b1..09507c7ef6 100644 --- a/packages/opencode/test/session/compaction.test.ts +++ b/packages/opencode/test/session/compaction.test.ts @@ -25,14 +25,14 @@ import { Provider } from "@/provider/provider" import * as SessionProcessorModule from "../../src/session/processor" import { ProviderTest } from "../fake/provider" import { testEffect } from "../lib/effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { TestConfig } from "../fixture/config" import { RuntimeFlags } from "@/effect/runtime-flags" import { LLMEvent, Usage } from "@opencode-ai/ai" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" const summary = Layer.succeed( SessionSummary.Service, diff --git a/packages/opencode/test/session/instruction.test.ts b/packages/opencode/test/session/instruction.test.ts index cdbc6e66d7..5a5a7dd317 100644 --- a/packages/opencode/test/session/instruction.test.ts +++ b/packages/opencode/test/session/instruction.test.ts @@ -2,12 +2,12 @@ import { describe, expect, test } from "bun:test" import { SessionV1 } from "@opencode-ai/core/v1/session" import path from "path" import { Effect, FileSystem, Layer } from "effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Instruction } from "../../src/session/instruction" import type { MessageV2 } from "../../src/session/message-v2" import { MessageID, PartID, SessionID } from "../../src/session/schema" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { RuntimeFlags } from "../../src/effect/runtime-flags" import { provideInstance, provideTmpdirInstance, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" @@ -15,8 +15,8 @@ import { TestConfig } from "../fixture/config" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" import { InstanceStore } from "@/project/instance-store" import { InstanceBootstrap } from "@/project/bootstrap" import { Config } from "@/config/config" diff --git a/packages/opencode/test/session/llm-native-recorded.test.ts b/packages/opencode/test/session/llm-native-recorded.test.ts index 2fe945ea49..1ae8515f03 100644 --- a/packages/opencode/test/session/llm-native-recorded.test.ts +++ b/packages/opencode/test/session/llm-native-recorded.test.ts @@ -22,8 +22,8 @@ import { testEffect } from "../lib/effect" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" const FIXTURES_DIR = path.join(import.meta.dir, "../fixtures/recordings") diff --git a/packages/opencode/test/session/llm.test.ts b/packages/opencode/test/session/llm.test.ts index 4e431ecaeb..35f3d6940f 100644 --- a/packages/opencode/test/session/llm.test.ts +++ b/packages/opencode/test/session/llm.test.ts @@ -25,8 +25,8 @@ import { Session as SessionNs } from "@/session/session" import { ProviderV2 } from "@opencode-ai/core/provider" import { ModelV2 } from "@opencode-ai/core/model" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { LayerNodePlatform } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { LayerNodePlatform } from "@opencode-ai/util/effect/app-node-platform" type ConfigModel = NonNullable[string]["models"]>[string] diff --git a/packages/opencode/test/session/messages-pagination.test.ts b/packages/opencode/test/session/messages-pagination.test.ts index b67c982ebc..eb100e3593 100644 --- a/packages/opencode/test/session/messages-pagination.test.ts +++ b/packages/opencode/test/session/messages-pagination.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionV1 } from "@opencode-ai/core/v1/session" import { SessionProjector } from "@opencode-ai/core/session/projector" import { Effect, Option } from "effect" diff --git a/packages/opencode/test/session/processor-effect.test.ts b/packages/opencode/test/session/processor-effect.test.ts index a599ad78b7..1a081bac5e 100644 --- a/packages/opencode/test/session/processor-effect.test.ts +++ b/packages/opencode/test/session/processor-effect.test.ts @@ -1,6 +1,6 @@ import { SessionV1 } from "@opencode-ai/core/v1/session" import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2Bridge } from "@/event-v2-bridge" import { expect } from "bun:test" import { tool } from "ai" @@ -17,7 +17,7 @@ import { SessionProcessor } from "../../src/session/processor" import { MessageID, PartID, SessionID } from "../../src/session/schema" import { SessionStatus } from "../../src/session/status" import { SessionSummary } from "../../src/session/summary" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { provideTmpdirInstance, provideTmpdirServer } from "../fixture/fixture" import { testEffect } from "../lib/effect" import { raw, reply, TestLLMServer } from "../lib/llm-server" diff --git a/packages/opencode/test/session/prompt.test.ts b/packages/opencode/test/session/prompt.test.ts index 420bd49324..5751494068 100644 --- a/packages/opencode/test/session/prompt.test.ts +++ b/packages/opencode/test/session/prompt.test.ts @@ -1,7 +1,7 @@ import { ConfigV1 } from "@opencode-ai/core/v1/config/config" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionProjector } from "@opencode-ai/core/session/projector" import { eq } from "drizzle-orm" import { EventV2Bridge } from "@/event-v2-bridge" @@ -28,7 +28,7 @@ import { Session } from "@/session/session" import { SessionMessageTable } from "@opencode-ai/core/session/sql" import { LLM } from "../../src/session/llm" import { MessageV2 } from "../../src/session/message-v2" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { SessionCompaction } from "../../src/session/compaction" import { SessionSummary } from "../../src/session/summary" import { Instruction } from "../../src/session/instruction" @@ -46,7 +46,7 @@ import { ShellSelect } from "@opencode-ai/core/shell/select" import { Snapshot } from "../../src/snapshot" import { ToolRegistry } from "@/tool/registry" import { Truncate } from "@/tool/truncate" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { Format } from "../../src/format" import { TestInstance } from "../fixture/fixture" diff --git a/packages/opencode/test/session/retry.test.ts b/packages/opencode/test/session/retry.test.ts index 30ac879a6a..c591e8edb8 100644 --- a/packages/opencode/test/session/retry.test.ts +++ b/packages/opencode/test/session/retry.test.ts @@ -1,11 +1,11 @@ import { describe, expect, test } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionV1 } from "@opencode-ai/core/v1/session" import type { NamedError } from "@opencode-ai/core/util/error" import { APICallError } from "ai" import { setTimeout as sleep } from "node:timers/promises" import { Effect, Schedule, Schema } from "effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { SessionRetry } from "../../src/session/retry" import { MessageV2 } from "../../src/session/message-v2" import { ProviderError } from "../../src/provider/error" diff --git a/packages/opencode/test/session/revert-compact.test.ts b/packages/opencode/test/session/revert-compact.test.ts index d3d7ba7aae..b6e20213d9 100644 --- a/packages/opencode/test/session/revert-compact.test.ts +++ b/packages/opencode/test/session/revert-compact.test.ts @@ -1,10 +1,10 @@ import { describe, expect } from "bun:test" import { SessionV1 } from "@opencode-ai/core/v1/session" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionProjector } from "@opencode-ai/core/session/projector" import fs from "fs/promises" import path from "path" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Effect } from "effect" import { Session } from "@/session/session" diff --git a/packages/opencode/test/session/session.test.ts b/packages/opencode/test/session/session.test.ts index d109181986..e572f241cd 100644 --- a/packages/opencode/test/session/session.test.ts +++ b/packages/opencode/test/session/session.test.ts @@ -6,14 +6,14 @@ import { Deferred, Effect, Exit, Layer } from "effect" import { Session as SessionNs } from "@/session/session" import { MessageV2 } from "../../src/session/message-v2" import { MessageID, PartID, type SessionID } from "../../src/session/schema" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { provideInstance, tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" import { RuntimeFlags } from "@/effect/runtime-flags" import { EventV2Bridge } from "@/event-v2-bridge" import { GlobalBus } from "@/bus/global" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { InstanceStore } from "@/project/instance-store" import { InstanceBootstrap } from "@/project/bootstrap" diff --git a/packages/opencode/test/session/snapshot-tool-race.test.ts b/packages/opencode/test/session/snapshot-tool-race.test.ts index 1265237840..06fabb878e 100644 --- a/packages/opencode/test/session/snapshot-tool-race.test.ts +++ b/packages/opencode/test/session/snapshot-tool-race.test.ts @@ -13,7 +13,7 @@ */ import { expect } from "bun:test" import { Effect, Layer } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import fs from "fs/promises" import path from "path" import { Session } from "@/session/session" @@ -29,7 +29,7 @@ import { TestLLMServer } from "../lib/llm-server" import { LSP } from "@/lsp/lsp" import { MCP } from "../../src/mcp" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { RuntimeFlags } from "@/effect/runtime-flags" const mcp = Layer.succeed( diff --git a/packages/opencode/test/session/structured-output-integration.test.ts b/packages/opencode/test/session/structured-output-integration.test.ts index df5755f89f..bbac0167fd 100644 --- a/packages/opencode/test/session/structured-output-integration.test.ts +++ b/packages/opencode/test/session/structured-output-integration.test.ts @@ -3,7 +3,7 @@ import { SessionV1 } from "@opencode-ai/core/v1/session" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { Effect } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Session } from "@/session/session" import { SessionPrompt } from "../../src/session/prompt" import { MessageV2 } from "../../src/session/message-v2" diff --git a/packages/opencode/test/session/system.test.ts b/packages/opencode/test/session/system.test.ts index d9d47be3df..4d666ebde5 100644 --- a/packages/opencode/test/session/system.test.ts +++ b/packages/opencode/test/session/system.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import type { Agent } from "../../src/agent/agent" import { NamedError } from "@opencode-ai/core/util/error" diff --git a/packages/opencode/test/share/share-next.test.ts b/packages/opencode/test/share/share-next.test.ts index fe036be8c9..c3218aea2a 100644 --- a/packages/opencode/test/share/share-next.test.ts +++ b/packages/opencode/test/share/share-next.test.ts @@ -1,9 +1,9 @@ import { beforeEach, describe, expect } from "bun:test" import { Effect, Exit, Layer, Option } from "effect" import { HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { SessionProjector } from "@opencode-ai/core/session/projector" import { AccessToken, AccountID, OrgID, RefreshToken } from "../../src/account/schema" diff --git a/packages/opencode/test/skill/discovery.test.ts b/packages/opencode/test/skill/discovery.test.ts index bdb60dfddc..100cab5a8c 100644 --- a/packages/opencode/test/skill/discovery.test.ts +++ b/packages/opencode/test/skill/discovery.test.ts @@ -1,9 +1,9 @@ import { describe, expect, beforeAll, afterAll } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect } from "effect" import { Discovery } from "../../src/skill/discovery" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Filesystem } from "@/util/filesystem" import { rm } from "fs/promises" import path from "path" diff --git a/packages/opencode/test/skill/skill.test.ts b/packages/opencode/test/skill/skill.test.ts index f365b63f0d..48827c1f26 100644 --- a/packages/opencode/test/skill/skill.test.ts +++ b/packages/opencode/test/skill/skill.test.ts @@ -1,14 +1,14 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { Skill } from "../../src/skill" import { Discovery } from "../../src/skill/discovery" import { RuntimeFlags } from "../../src/effect/runtime-flags" import { EventV2Bridge } from "../../src/event-v2-bridge" import { Config } from "../../src/config/config" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { provideInstance, provideTmpdirInstance, testInstanceStoreLayer, tmpdir } from "../fixture/fixture" import { testEffect } from "../lib/effect" import path from "path" diff --git a/packages/opencode/test/snapshot/snapshot.test.ts b/packages/opencode/test/snapshot/snapshot.test.ts index a39624087c..d5ee2131e4 100644 --- a/packages/opencode/test/snapshot/snapshot.test.ts +++ b/packages/opencode/test/snapshot/snapshot.test.ts @@ -1,8 +1,8 @@ import { afterEach, expect } from "bun:test" import { $ } from "bun" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { FSUtil } from "@opencode-ai/util/fs-util" import fs from "fs/promises" import path from "path" import { Effect, Fiber, Layer } from "effect" diff --git a/packages/opencode/test/storage/storage.test.ts b/packages/opencode/test/storage/storage.test.ts index c143429b7b..7ff80ccba2 100644 --- a/packages/opencode/test/storage/storage.test.ts +++ b/packages/opencode/test/storage/storage.test.ts @@ -1,11 +1,11 @@ import { describe, expect } from "bun:test" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Exit, Layer } from "effect" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Git } from "../../src/git" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { Storage } from "@/storage/storage" import { tmpdirScoped } from "../fixture/fixture" import { testEffect } from "../lib/effect" diff --git a/packages/opencode/test/tool/apply_patch.test.ts b/packages/opencode/test/tool/apply_patch.test.ts index 57febfa06e..dc55df9d31 100644 --- a/packages/opencode/test/tool/apply_patch.test.ts +++ b/packages/opencode/test/tool/apply_patch.test.ts @@ -1,11 +1,11 @@ import { describe, expect } from "bun:test" import path from "path" import * as fs from "fs/promises" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Layer } from "effect" import { ApplyPatchTool } from "../../src/tool/apply_patch" import { LSP } from "@/lsp/lsp" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Format } from "../../src/format" import { Agent } from "../../src/agent/agent" import { EventV2Bridge } from "../../src/event-v2-bridge" diff --git a/packages/opencode/test/tool/edit.test.ts b/packages/opencode/test/tool/edit.test.ts index 46155a5091..1945e916f8 100644 --- a/packages/opencode/test/tool/edit.test.ts +++ b/packages/opencode/test/tool/edit.test.ts @@ -1,12 +1,12 @@ import { afterEach, describe, expect } from "bun:test" import path from "path" import fs from "fs/promises" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Deferred, Effect, Exit, Fiber, Layer } from "effect" import { EditTool } from "../../src/tool/edit" import { disposeAllInstances, TestInstance } from "../fixture/fixture" import { LSP } from "@/lsp/lsp" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Format } from "../../src/format" import { Agent } from "../../src/agent/agent" import { EventV2Bridge } from "../../src/event-v2-bridge" diff --git a/packages/opencode/test/tool/external-directory.test.ts b/packages/opencode/test/tool/external-directory.test.ts index d43accfb70..4e107f82e0 100644 --- a/packages/opencode/test/tool/external-directory.test.ts +++ b/packages/opencode/test/tool/external-directory.test.ts @@ -1,9 +1,9 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { describe, expect } from "bun:test" import path from "path" import { Effect } from "effect" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import type { Tool } from "@/tool/tool" import { assertExternalDirectoryEffect } from "../../src/tool/external-directory" import { Filesystem } from "@/util/filesystem" diff --git a/packages/opencode/test/tool/glob.test.ts b/packages/opencode/test/tool/glob.test.ts index 018b1a0b9a..f2d418534a 100644 --- a/packages/opencode/test/tool/glob.test.ts +++ b/packages/opencode/test/tool/glob.test.ts @@ -1,14 +1,14 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { describe, expect } from "bun:test" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Layer } from "effect" import { GlobTool } from "../../src/tool/glob" import { SessionID, MessageID } from "../../src/session/schema" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Ripgrep } from "@opencode-ai/core/ripgrep" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Truncate } from "@/tool/truncate" import { Agent } from "../../src/agent/agent" import { TestInstance, tmpdirScoped } from "../fixture/fixture" diff --git a/packages/opencode/test/tool/grep.test.ts b/packages/opencode/test/tool/grep.test.ts index 81b74aa8ba..3b7d20ccc0 100644 --- a/packages/opencode/test/tool/grep.test.ts +++ b/packages/opencode/test/tool/grep.test.ts @@ -3,17 +3,17 @@ import { describe, expect } from "bun:test" import fs from "fs/promises" import os from "os" import path from "path" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import { GrepTool } from "../../src/tool/grep" import { provideInstance, testInstanceStoreLayer, TestInstance, tmpdirScoped } from "../fixture/fixture" import { SessionID, MessageID } from "../../src/session/schema" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { Global } from "@opencode-ai/core/global" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { Global } from "@opencode-ai/util/global" import { Truncate } from "@/tool/truncate" import { Agent } from "../../src/agent/agent" import { Ripgrep } from "@opencode-ai/core/ripgrep" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { testEffect } from "../lib/effect" import { Permission } from "../../src/permission" import type * as Tool from "../../src/tool/tool" diff --git a/packages/opencode/test/tool/lsp.test.ts b/packages/opencode/test/tool/lsp.test.ts index 8735fdb7b2..9f0fe2782b 100644 --- a/packages/opencode/test/tool/lsp.test.ts +++ b/packages/opencode/test/tool/lsp.test.ts @@ -1,11 +1,11 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import path from "path" import { Agent } from "../../src/agent/agent" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" import { LSP } from "@/lsp/lsp" import { Permission } from "../../src/permission" import { MessageID, SessionID } from "../../src/session/schema" diff --git a/packages/opencode/test/tool/question.test.ts b/packages/opencode/test/tool/question.test.ts index d8c6df77e8..ef20f9b764 100644 --- a/packages/opencode/test/tool/question.test.ts +++ b/packages/opencode/test/tool/question.test.ts @@ -1,5 +1,5 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Fiber, Queue } from "effect" import { QuestionTool } from "../../src/tool/question" import { Question } from "../../src/question" diff --git a/packages/opencode/test/tool/read.test.ts b/packages/opencode/test/tool/read.test.ts index c1ef61b227..7451450d4e 100644 --- a/packages/opencode/test/tool/read.test.ts +++ b/packages/opencode/test/tool/read.test.ts @@ -1,12 +1,12 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Layer, Stream } from "effect" import path from "path" import { Agent } from "../../src/agent/agent" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { FSUtil } from "@opencode-ai/core/fs-util" -import { Global } from "@opencode-ai/core/global" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" +import { Global } from "@opencode-ai/util/global" import { Config } from "@/config/config" import { RuntimeFlags } from "@/effect/runtime-flags" import { Ripgrep } from "@opencode-ai/core/ripgrep" diff --git a/packages/opencode/test/tool/registry.test.ts b/packages/opencode/test/tool/registry.test.ts index 456d665950..65372dc4cf 100644 --- a/packages/opencode/test/tool/registry.test.ts +++ b/packages/opencode/test/tool/registry.test.ts @@ -3,7 +3,7 @@ import path from "path" import fs from "fs/promises" import { fileURLToPath, pathToFileURL } from "url" import { Effect, Layer, Result, Schema } from "effect" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { ToolRegistry } from "@/tool/registry" import { Tool } from "@/tool/tool" import { disposeAllInstances, TestInstance } from "../fixture/fixture" diff --git a/packages/opencode/test/tool/shell.test.ts b/packages/opencode/test/tool/shell.test.ts index 3a1dacc6c3..445eb06a9b 100644 --- a/packages/opencode/test/tool/shell.test.ts +++ b/packages/opencode/test/tool/shell.test.ts @@ -1,6 +1,6 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Layer } from "effect" import type * as Scope from "effect/Scope" import os from "os" @@ -14,8 +14,8 @@ import type { Permission } from "../../src/permission" import { Agent } from "../../src/agent/agent" import { Truncate } from "@/tool/truncate" import { SessionID, MessageID } from "../../src/session/schema" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Plugin } from "../../src/plugin" import { testEffect } from "../lib/effect" import { Tool } from "@/tool/tool" diff --git a/packages/opencode/test/tool/skill.test.ts b/packages/opencode/test/tool/skill.test.ts index 1c25b253cd..bae878a3a7 100644 --- a/packages/opencode/test/tool/skill.test.ts +++ b/packages/opencode/test/tool/skill.test.ts @@ -1,6 +1,6 @@ import { PermissionV1 } from "@opencode-ai/core/v1/permission" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { Cause, Effect, Exit, Layer } from "effect" import { afterEach, describe, expect } from "bun:test" diff --git a/packages/opencode/test/tool/task.test.ts b/packages/opencode/test/tool/task.test.ts index 51694b653e..4cfeff8651 100644 --- a/packages/opencode/test/tool/task.test.ts +++ b/packages/opencode/test/tool/task.test.ts @@ -1,14 +1,14 @@ import { afterEach, describe, expect } from "bun:test" import { SessionV1 } from "@opencode-ai/core/v1/session" import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { SessionProjector } from "@opencode-ai/core/session/projector" import { Deferred, Effect, Exit, Fiber, Layer } from "effect" import { Agent } from "../../src/agent/agent" import { Job } from "@/job" import { EventV2Bridge } from "@/event-v2-bridge" import { Config } from "@/config/config" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { Ripgrep } from "@opencode-ai/core/ripgrep" import { Session } from "@/session/session" import type { SessionPrompt } from "../../src/session/prompt" diff --git a/packages/opencode/test/tool/tool-define.test.ts b/packages/opencode/test/tool/tool-define.test.ts index e254e5050e..a71f87ee61 100644 --- a/packages/opencode/test/tool/tool-define.test.ts +++ b/packages/opencode/test/tool/tool-define.test.ts @@ -1,5 +1,5 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Cause, Effect, Exit, Schema } from "effect" import { Agent } from "../../src/agent/agent" import { MessageID, SessionID } from "../../src/session/schema" diff --git a/packages/opencode/test/tool/truncation.test.ts b/packages/opencode/test/tool/truncation.test.ts index d575a58ffa..920b0e27ca 100644 --- a/packages/opencode/test/tool/truncation.test.ts +++ b/packages/opencode/test/tool/truncation.test.ts @@ -1,8 +1,8 @@ import { describe, test, expect } from "bun:test" import { ConfigV1 } from "@opencode-ai/core/v1/config/config" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { filesystem } from "@opencode-ai/core/effect/app-node-platform" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { filesystem } from "@opencode-ai/util/effect/app-node-platform" +import { FSUtil } from "@opencode-ai/util/fs-util" import { Effect, FileSystem } from "effect" import { Truncate } from "@/tool/truncate" import { Config } from "@/config/config" diff --git a/packages/opencode/test/tool/webfetch.test.ts b/packages/opencode/test/tool/webfetch.test.ts index 05599a6784..ae04e61d7a 100644 --- a/packages/opencode/test/tool/webfetch.test.ts +++ b/packages/opencode/test/tool/webfetch.test.ts @@ -1,6 +1,6 @@ import { describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { Effect, Layer } from "effect" import { FetchHttpClient, HttpClient } from "effect/unstable/http" import { Agent } from "../../src/agent/agent" diff --git a/packages/opencode/test/tool/write.test.ts b/packages/opencode/test/tool/write.test.ts index 4f897dc875..a909707125 100644 --- a/packages/opencode/test/tool/write.test.ts +++ b/packages/opencode/test/tool/write.test.ts @@ -1,18 +1,18 @@ import { afterEach, describe, expect } from "bun:test" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { Effect, Layer } from "effect" import path from "path" import fs from "fs/promises" import { WriteTool } from "../../src/tool/write" import { LSP } from "@/lsp/lsp" -import { FSUtil } from "@opencode-ai/core/fs-util" +import { FSUtil } from "@opencode-ai/util/fs-util" import { EventV2Bridge } from "../../src/event-v2-bridge" import { Format } from "../../src/format" import { Truncate } from "@/tool/truncate" import { Tool } from "@/tool/tool" import { Agent } from "../../src/agent/agent" import { SessionID, MessageID } from "../../src/session/schema" -import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner" +import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner" import { disposeAllInstances, TestInstance } from "../fixture/fixture" import { testEffect } from "../lib/effect" diff --git a/packages/opencode/test/util/glob.test.ts b/packages/opencode/test/util/glob.test.ts index 4ed2f71f39..0ff307d7d9 100644 --- a/packages/opencode/test/util/glob.test.ts +++ b/packages/opencode/test/util/glob.test.ts @@ -1,7 +1,7 @@ import { describe, test, expect } from "bun:test" import path from "path" import fs from "fs/promises" -import { Glob } from "@opencode-ai/core/util/glob" +import { Glob } from "@opencode-ai/util/glob" import { tmpdir } from "../fixture/fixture" describe("Glob", () => { diff --git a/packages/opencode/test/util/repository.test.ts b/packages/opencode/test/util/repository.test.ts index 5c619f2aaf..e60f4bc88e 100644 --- a/packages/opencode/test/util/repository.test.ts +++ b/packages/opencode/test/util/repository.test.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "bun:test" import path from "path" import { pathToFileURL } from "url" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { InvalidRepositoryBranchError, InvalidRepositoryReferenceError, diff --git a/packages/sdk-next/package.json b/packages/sdk-next/package.json index 8ef199b680..cb3a1580ce 100644 --- a/packages/sdk-next/package.json +++ b/packages/sdk-next/package.json @@ -17,6 +17,7 @@ "@opencode-ai/plugin": "workspace:*", "@opencode-ai/schema": "workspace:*", "@opencode-ai/server": "workspace:*", + "@opencode-ai/util": "workspace:*", "effect": "catalog:" }, "devDependencies": { diff --git a/packages/sdk-next/test/embedded.test.ts b/packages/sdk-next/test/embedded.test.ts index 2214ebf873..a34ce9f974 100644 --- a/packages/sdk-next/test/embedded.test.ts +++ b/packages/sdk-next/test/embedded.test.ts @@ -1,7 +1,7 @@ import fs from "fs/promises" import path from "path" import { expect } from "bun:test" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { Deferred, Effect, Latch, Layer, Option, Ref, Schema, Stream } from "effect" import { testEffect } from "../../core/test/lib/effect" import { tmpdir } from "../../core/test/fixture/tmpdir" diff --git a/packages/server/package.json b/packages/server/package.json index cec96339d0..ea9d7cd969 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -17,6 +17,7 @@ "@opencode-ai/core": "workspace:*", "@opencode-ai/protocol": "workspace:*", "@opencode-ai/simulation": "workspace:*", + "@opencode-ai/util": "workspace:*", "drizzle-orm": "catalog:", "effect": "catalog:" }, diff --git a/packages/server/src/handlers/health.ts b/packages/server/src/handlers/health.ts index 111113efd4..19d32a6b10 100644 --- a/packages/server/src/handlers/health.ts +++ b/packages/server/src/handlers/health.ts @@ -1,4 +1,4 @@ -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect } from "effect" import { HttpApiBuilder } from "effect/unstable/httpapi" import { Api } from "../api" diff --git a/packages/server/src/process.ts b/packages/server/src/process.ts index 8fddbe3e2a..3425ff9332 100644 --- a/packages/server/src/process.ts +++ b/packages/server/src/process.ts @@ -1,7 +1,7 @@ export * as ServerProcess from "./process" import { NodeHttpServer, NodeHttpServerRequest } from "@effect/platform-node" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { SessionRestart } from "@opencode-ai/core/session/execution/restart" import { ServiceStatus } from "@opencode-ai/protocol/groups/health" import { hasPtyConnectTicketURL } from "@opencode-ai/protocol/groups/pty" diff --git a/packages/server/src/pty-environment.ts b/packages/server/src/pty-environment.ts index 3e18a6f925..0d8e3381a5 100644 --- a/packages/server/src/pty-environment.ts +++ b/packages/server/src/pty-environment.ts @@ -1,7 +1,7 @@ export * as PtyEnvironment from "./pty-environment" import { Context, Effect, Layer } from "effect" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" export interface Interface { readonly get: (input: { directory: string; cwd: string }) => Effect.Effect> diff --git a/packages/server/src/routes.ts b/packages/server/src/routes.ts index 7a1a1d82be..9602941d8d 100644 --- a/packages/server/src/routes.ts +++ b/packages/server/src/routes.ts @@ -1,10 +1,10 @@ import { Database } from "@opencode-ai/core/database/database" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" import { EventV2 } from "@opencode-ai/core/event" import { EventLogger } from "@opencode-ai/core/event-logger" -import { Observability } from "@opencode-ai/core/observability" +import { Observability } from "@opencode-ai/util/observability" import { Credential } from "@opencode-ai/core/credential" import { PermissionSaved } from "@opencode-ai/core/permission/saved" import { PtyTicket } from "@opencode-ai/core/pty/ticket" diff --git a/packages/simulation/package.json b/packages/simulation/package.json index 010097c4bd..23a7d4836e 100644 --- a/packages/simulation/package.json +++ b/packages/simulation/package.json @@ -25,6 +25,7 @@ "@opencode-ai/core": "workspace:*", "@opencode-ai/ai": "workspace:*", "@opencode-ai/plugin": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opentui/core": "catalog:", "effect": "catalog:" }, diff --git a/packages/simulation/src/backend/index.ts b/packages/simulation/src/backend/index.ts index a1044058db..4f569e25c9 100644 --- a/packages/simulation/src/backend/index.ts +++ b/packages/simulation/src/backend/index.ts @@ -1,6 +1,6 @@ -import { LayerNode } from "@opencode-ai/core/effect/layer-node" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" -import { httpClient } from "@opencode-ai/core/effect/app-node-platform" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" +import { httpClient } from "@opencode-ai/util/effect/app-node-platform" import { SdkPlugins } from "@opencode-ai/core/plugin/sdk" import { Config, Effect, Layer } from "effect" import { HttpClient } from "effect/unstable/http" diff --git a/packages/simulation/src/backend/simulated-provider.ts b/packages/simulation/src/backend/simulated-provider.ts index a2470a5d6f..7d1a674701 100644 --- a/packages/simulation/src/backend/simulated-provider.ts +++ b/packages/simulation/src/backend/simulated-provider.ts @@ -1,4 +1,4 @@ -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { SdkPlugins } from "@opencode-ai/core/plugin/sdk" import { Plugin } from "@opencode-ai/plugin/v2/effect" import { Tool } from "@opencode-ai/plugin/v2/effect/tool" diff --git a/packages/simulation/src/frontend/server.ts b/packages/simulation/src/frontend/server.ts index 73ad44e4a9..4aaabd882c 100644 --- a/packages/simulation/src/frontend/server.ts +++ b/packages/simulation/src/frontend/server.ts @@ -1,4 +1,4 @@ -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { Effect } from "effect" import { SimulationControlServer } from "../control-server" import { SimulationProtocol } from "../protocol" diff --git a/packages/simulation/test/simulated-provider.test.ts b/packages/simulation/test/simulated-provider.test.ts index 271ef58009..b91922f138 100644 --- a/packages/simulation/test/simulated-provider.test.ts +++ b/packages/simulation/test/simulated-provider.test.ts @@ -5,9 +5,9 @@ import { join } from "node:path" import { AgentV2 } from "@opencode-ai/core/agent" import { Config } from "@opencode-ai/core/config" import { Database } from "@opencode-ai/core/database/database" -import { makeGlobalNode } from "@opencode-ai/core/effect/app-node" +import { makeGlobalNode } from "@opencode-ai/util/effect/app-node" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { LayerNode } from "@opencode-ai/core/effect/layer-node" +import { LayerNode } from "@opencode-ai/util/effect/layer-node" import { EventV2 } from "@opencode-ai/core/event" import { Location } from "@opencode-ai/core/location" import { LocationServiceMap } from "@opencode-ai/core/location-services" diff --git a/packages/tui/package.json b/packages/tui/package.json index 6f82926512..9ffd89aa2a 100644 --- a/packages/tui/package.json +++ b/packages/tui/package.json @@ -83,6 +83,7 @@ "@opencode-ai/schema": "workspace:*", "@opencode-ai/simulation": "workspace:*", "@opencode-ai/ui": "workspace:*", + "@opencode-ai/util": "workspace:*", "@opentui/core": "catalog:", "@opentui/keymap": "catalog:", "@opentui/solid": "catalog:", diff --git a/packages/tui/src/app.tsx b/packages/tui/src/app.tsx index 0690d3fba7..f1aa84fa3f 100644 --- a/packages/tui/src/app.tsx +++ b/packages/tui/src/app.tsx @@ -3,8 +3,8 @@ import { registerOpencodeSpinner } from "./component/register-spinner" import { Deferred, Effect } from "effect" import { Service, type Endpoint } from "@opencode-ai/client/effect/service" import { OpenCode } from "@opencode-ai/client" -import { Global } from "@opencode-ai/core/global" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Global } from "@opencode-ai/util/global" +import { Flag } from "@opencode-ai/util/flag" import { ClipboardProvider, useClipboard } from "./context/clipboard" import { LogProvider, useLog, type LogSink } from "./context/log" import { ExitProvider, useExit } from "./context/exit" diff --git a/packages/tui/src/component/dialog-debug.tsx b/packages/tui/src/component/dialog-debug.tsx index deab786726..623acb741b 100644 --- a/packages/tui/src/component/dialog-debug.tsx +++ b/packages/tui/src/component/dialog-debug.tsx @@ -1,6 +1,6 @@ import { TextAttributes } from "@opentui/core" import { createMemo, createSignal, For } from "solid-js" -import { InstallationChannel, InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationChannel, InstallationVersion } from "@opencode-ai/util/installation/version" import { Keymap } from "../context/keymap" import { useTheme } from "../context/theme" import { useDialog } from "../ui/dialog" diff --git a/packages/tui/src/component/error-component.tsx b/packages/tui/src/component/error-component.tsx index 8d778badca..c17ee29573 100644 --- a/packages/tui/src/component/error-component.tsx +++ b/packages/tui/src/component/error-component.tsx @@ -3,7 +3,7 @@ import { useKeyboard, useTerminalDimensions } from "@opentui/solid" import { createSignal, For, Show } from "solid-js" import { getScrollAcceleration } from "../util/scroll" import { useClipboard } from "../context/clipboard" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { useExit } from "../context/exit" import { describeOS, describeTerminal } from "../util/system" diff --git a/packages/tui/src/component/prompt/index.tsx b/packages/tui/src/component/prompt/index.tsx index 44639ab289..a30d0f8bad 100644 --- a/packages/tui/src/component/prompt/index.tsx +++ b/packages/tui/src/component/prompt/index.tsx @@ -12,7 +12,7 @@ import { registerOpencodeSpinner } from "../register-spinner" import path from "path" import { fileURLToPath } from "url" import { useLocal } from "../../context/local" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { useTheme } from "../../context/theme" import { tint } from "../../theme/color" import { EmptyBorder, SplitBorder } from "../../ui/border" diff --git a/packages/tui/src/context/theme.tsx b/packages/tui/src/context/theme.tsx index c9f5f01a6e..f1ba5155f4 100644 --- a/packages/tui/src/context/theme.tsx +++ b/packages/tui/src/context/theme.tsx @@ -25,7 +25,7 @@ import { createEffect, createMemo, onCleanup, onMount, type Accessor } from "sol import { createStore, produce } from "solid-js/store" import { createSimpleContext } from "./helper" import { useConfig } from "../config" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { DevTools } from "../devtools" const themePerformance = DevTools.register({ id: "theme-performance", title: "Theme performance" }) diff --git a/packages/tui/src/feature-plugins/home/footer.tsx b/packages/tui/src/feature-plugins/home/footer.tsx index 3ff7b4d433..33ac3cc82d 100644 --- a/packages/tui/src/feature-plugins/home/footer.tsx +++ b/packages/tui/src/feature-plugins/home/footer.tsx @@ -1,5 +1,5 @@ import { Plugin } from "@opencode-ai/plugin/v2/tui" -import { InstallationVersion } from "@opencode-ai/core/installation/version" +import { InstallationVersion } from "@opencode-ai/util/installation/version" import { createMemo, Match, Show, Switch } from "solid-js" import { useTerminalDimensions } from "@opentui/solid" import { useTuiPaths } from "../../context/runtime" diff --git a/packages/tui/src/ui/dialog.tsx b/packages/tui/src/ui/dialog.tsx index 99062e967e..a7002e357d 100644 --- a/packages/tui/src/ui/dialog.tsx +++ b/packages/tui/src/ui/dialog.tsx @@ -5,7 +5,7 @@ import { useTheme } from "../context/theme" import { MouseButton, Renderable, RGBA } from "@opentui/core" import { createStore } from "solid-js/store" import { useToast } from "./toast" -import { Flag } from "@opencode-ai/core/flag/flag" +import { Flag } from "@opencode-ai/util/flag" import { useClipboard } from "../context/clipboard" export function Dialog( diff --git a/packages/tui/test/app-lifecycle.test.tsx b/packages/tui/test/app-lifecycle.test.tsx index a6cd421ea1..7f8774906f 100644 --- a/packages/tui/test/app-lifecycle.test.tsx +++ b/packages/tui/test/app-lifecycle.test.tsx @@ -2,7 +2,7 @@ import { expect, mock, test } from "bun:test" import { createTestRenderer } from "@opentui/core/testing" import { Effect, FileSystem } from "effect" import { AppNodeBuilder } from "@opencode-ai/core/effect/app-node-builder" -import { Global } from "@opencode-ai/core/global" +import { Global } from "@opencode-ai/util/global" import { createEventStream, createFetch, directory, json } from "./fixture/tui-client" test("SIGHUP clears title and disposes scoped resources once", async () => { diff --git a/packages/util/package.json b/packages/util/package.json new file mode 100644 index 0000000000..817c94328f --- /dev/null +++ b/packages/util/package.json @@ -0,0 +1,50 @@ +{ + "$schema": "https://json.schemastore.org/package.json", + "name": "@opencode-ai/util", + "version": "1.18.3", + "private": true, + "type": "module", + "license": "MIT", + "exports": { + "./effect/layer-node": "./src/effect/layer-node.ts", + "./*": "./src/*.ts" + }, + "imports": { + "#runtime-import": { + "bun": "./src/runtime/import.bun.ts", + "node": "./src/runtime/import.node.ts", + "default": "./src/runtime/import.bun.ts" + } + }, + "scripts": { + "typecheck": "tsgo --noEmit" + }, + "dependencies": { + "@effect/opentelemetry": "catalog:", + "@effect/platform-node": "catalog:", + "@npmcli/arborist": "catalog:", + "@npmcli/config": "10.8.1", + "@opencode-ai/ai": "workspace:*", + "@opentelemetry/api": "1.9.0", + "@opentelemetry/context-async-hooks": "2.6.1", + "@opentelemetry/exporter-trace-otlp-http": "0.214.0", + "@opentelemetry/sdk-trace-base": "2.6.1", + "cross-spawn": "catalog:", + "effect": "catalog:", + "glob": "13.0.5", + "mime-types": "3.0.2", + "minimatch": "10.2.5", + "npm-package-arg": "13.0.2", + "resolve.exports": "catalog:", + "xdg-basedir": "5.1.0" + }, + "devDependencies": { + "@tsconfig/bun": "catalog:", + "@types/bun": "catalog:", + "@types/cross-spawn": "catalog:", + "@types/node": "catalog:", + "@types/npm-package-arg": "6.1.4", + "@types/npmcli__arborist": "6.3.3", + "@typescript/native-preview": "catalog:" + } +} diff --git a/packages/core/src/cross-spawn-spawner.ts b/packages/util/src/cross-spawn-spawner.ts similarity index 100% rename from packages/core/src/cross-spawn-spawner.ts rename to packages/util/src/cross-spawn-spawner.ts diff --git a/packages/core/src/util/effect-flock.ts b/packages/util/src/effect-flock.ts similarity index 98% rename from packages/core/src/util/effect-flock.ts rename to packages/util/src/effect-flock.ts index c190d37393..7da2cc590e 100644 --- a/packages/core/src/util/effect-flock.ts +++ b/packages/util/src/effect-flock.ts @@ -4,9 +4,9 @@ import { randomUUID } from "crypto" import { Context, Effect, Function, Layer, Option, Schedule, Schema } from "effect" import type { FileSystem, Scope } from "effect" import type { PlatformError } from "effect/PlatformError" -import { FSUtil } from "../fs-util" -import { Global } from "../global" -import { makeGlobalNode } from "../effect/app-node" +import { FSUtil } from "./fs-util" +import { Global } from "./global" +import { makeGlobalNode } from "./effect/app-node" import { Hash } from "./hash" export namespace EffectFlock { diff --git a/packages/core/src/effect/app-node-platform.ts b/packages/util/src/effect/app-node-platform.ts similarity index 89% rename from packages/core/src/effect/app-node-platform.ts rename to packages/util/src/effect/app-node-platform.ts index 23b221d178..213ca75895 100644 --- a/packages/core/src/effect/app-node-platform.ts +++ b/packages/util/src/effect/app-node-platform.ts @@ -1,8 +1,7 @@ import { NodeFileSystem, NodePath } from "@effect/platform-node" import { LLMClient, RequestExecutor } from "@opencode-ai/ai/route" import { FileSystem, Path } from "effect" -import { FetchHttpClient } from "effect/unstable/http" -import { HttpClient } from "effect/unstable/http" +import { FetchHttpClient, HttpClient } from "effect/unstable/http" import { makeGlobalNode } from "./app-node" export const filesystem = makeGlobalNode({ service: FileSystem.FileSystem, layer: NodeFileSystem.layer, deps: [] }) diff --git a/packages/core/src/effect/app-node.ts b/packages/util/src/effect/app-node.ts similarity index 100% rename from packages/core/src/effect/app-node.ts rename to packages/util/src/effect/app-node.ts diff --git a/packages/core/src/effect/layer-node.ts b/packages/util/src/effect/layer-node.ts similarity index 100% rename from packages/core/src/effect/layer-node.ts rename to packages/util/src/effect/layer-node.ts diff --git a/packages/core/src/effect/memo-map.ts b/packages/util/src/effect/memo-map.ts similarity index 100% rename from packages/core/src/effect/memo-map.ts rename to packages/util/src/effect/memo-map.ts diff --git a/packages/core/src/effect/runtime.ts b/packages/util/src/effect/runtime.ts similarity index 100% rename from packages/core/src/effect/runtime.ts rename to packages/util/src/effect/runtime.ts diff --git a/packages/core/src/effect/service-use.ts b/packages/util/src/effect/service-use.ts similarity index 100% rename from packages/core/src/effect/service-use.ts rename to packages/util/src/effect/service-use.ts diff --git a/packages/core/src/flag/flag.ts b/packages/util/src/flag.ts similarity index 100% rename from packages/core/src/flag/flag.ts rename to packages/util/src/flag.ts diff --git a/packages/core/src/util/flock.ts b/packages/util/src/flock.ts similarity index 100% rename from packages/core/src/util/flock.ts rename to packages/util/src/flock.ts diff --git a/packages/core/src/fs-util.ts b/packages/util/src/fs-util.ts similarity index 99% rename from packages/core/src/fs-util.ts rename to packages/util/src/fs-util.ts index 0c74fbbc35..152d2599fd 100644 --- a/packages/core/src/fs-util.ts +++ b/packages/util/src/fs-util.ts @@ -5,7 +5,7 @@ import { readdir } from "fs/promises" import { lookup } from "mime-types" import { Context, Effect, FileSystem, Layer, Schema } from "effect" import type { PlatformError } from "effect/PlatformError" -import { Glob } from "./util/glob" +import { Glob } from "./glob" import { serviceUse } from "./effect/service-use" import { makeGlobalNode } from "./effect/app-node" import { filesystem } from "./effect/app-node-platform" diff --git a/packages/core/src/util/glob.ts b/packages/util/src/glob.ts similarity index 100% rename from packages/core/src/util/glob.ts rename to packages/util/src/glob.ts diff --git a/packages/core/src/global.ts b/packages/util/src/global.ts similarity index 96% rename from packages/core/src/global.ts rename to packages/util/src/global.ts index a192a4b468..ef772677dc 100644 --- a/packages/core/src/global.ts +++ b/packages/util/src/global.ts @@ -3,8 +3,8 @@ import fs from "fs/promises" import { xdgData, xdgCache, xdgConfig, xdgState } from "xdg-basedir" import os from "os" import { Context, Effect, Layer } from "effect" -import { Flock } from "./util/flock" -import { Flag } from "./flag/flag" +import { Flock } from "./flock" +import { Flag } from "./flag" import { makeGlobalNode } from "./effect/app-node" const app = "opencode" diff --git a/packages/core/src/util/hash.ts b/packages/util/src/hash.ts similarity index 100% rename from packages/core/src/util/hash.ts rename to packages/util/src/hash.ts diff --git a/packages/core/src/installation/version.ts b/packages/util/src/installation/version.ts similarity index 100% rename from packages/core/src/installation/version.ts rename to packages/util/src/installation/version.ts diff --git a/packages/core/src/npm-config.ts b/packages/util/src/npm-config.ts similarity index 94% rename from packages/core/src/npm-config.ts rename to packages/util/src/npm-config.ts index 896bb84872..da0f0f2632 100644 --- a/packages/core/src/npm-config.ts +++ b/packages/util/src/npm-config.ts @@ -16,7 +16,7 @@ export const load = (dir: string) => npmPath, cwd: dir, env: { ...process.env }, - argv: [process.execPath, process.execPath], + argv: [process.execPath, process.execPath, "--prefix", dir], execPath: process.execPath, platform: process.platform, definitions, diff --git a/packages/core/src/npm.ts b/packages/util/src/npm.ts similarity index 99% rename from packages/core/src/npm.ts rename to packages/util/src/npm.ts index 71bd69cf65..fa4e40332b 100644 --- a/packages/core/src/npm.ts +++ b/packages/util/src/npm.ts @@ -6,7 +6,7 @@ import { Effect, Schema, Context, Layer, Option, FileSystem } from "effect" import { NodeFileSystem } from "@effect/platform-node" import { FSUtil } from "./fs-util" import { Global } from "./global" -import { EffectFlock } from "./util/effect-flock" +import { EffectFlock } from "./effect-flock" import { makeGlobalNode } from "./effect/app-node" import { filesystem } from "./effect/app-node-platform" import { LayerNode } from "./effect/layer-node" diff --git a/packages/core/src/observability.ts b/packages/util/src/observability.ts similarity index 100% rename from packages/core/src/observability.ts rename to packages/util/src/observability.ts diff --git a/packages/core/src/observability/logging.ts b/packages/util/src/observability/logging.ts similarity index 100% rename from packages/core/src/observability/logging.ts rename to packages/util/src/observability/logging.ts diff --git a/packages/core/src/observability/otlp.ts b/packages/util/src/observability/otlp.ts similarity index 98% rename from packages/core/src/observability/otlp.ts rename to packages/util/src/observability/otlp.ts index dd99ebc143..765c29cc4d 100644 --- a/packages/core/src/observability/otlp.ts +++ b/packages/util/src/observability/otlp.ts @@ -1,6 +1,6 @@ import { Layer } from "effect" import { OtlpLogger } from "effect/unstable/observability" -import { Flag } from "../flag/flag" +import { Flag } from "../flag" import { InstallationChannel, InstallationVersion } from "../installation/version" import { runID } from "./shared" diff --git a/packages/core/src/observability/shared.ts b/packages/util/src/observability/shared.ts similarity index 100% rename from packages/core/src/observability/shared.ts rename to packages/util/src/observability/shared.ts diff --git a/packages/core/src/process.ts b/packages/util/src/process.ts similarity index 100% rename from packages/core/src/process.ts rename to packages/util/src/process.ts diff --git a/packages/core/src/runtime/import.bun.ts b/packages/util/src/runtime/import.bun.ts similarity index 100% rename from packages/core/src/runtime/import.bun.ts rename to packages/util/src/runtime/import.bun.ts diff --git a/packages/core/src/runtime/import.node.ts b/packages/util/src/runtime/import.node.ts similarity index 100% rename from packages/core/src/runtime/import.node.ts rename to packages/util/src/runtime/import.node.ts diff --git a/packages/util/tsconfig.json b/packages/util/tsconfig.json new file mode 100644 index 0000000000..fe5c4d217b --- /dev/null +++ b/packages/util/tsconfig.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@tsconfig/bun/tsconfig.json", + "compilerOptions": { + "noUncheckedIndexedAccess": false + } +}