refactor(core): require explicit import extensions

This commit is contained in:
Dax Raad
2026-08-11 20:22:19 -04:00
parent dc82a446b9
commit 4acdeffbe9
301 changed files with 1325 additions and 1322 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
import { sqliteTable, text, integer, primaryKey } from "drizzle-orm/sqlite-core"
import { Timestamps } from "../database/schema.sql"
import { Timestamps } from "../database/schema.sql.js"
export const AccountTable = sqliteTable("account", {
id: text().primaryKey(),
+3 -3
View File
@@ -1,12 +1,12 @@
export * as Agent from "./agent"
export * as Agent from "./agent.js"
import path from "path"
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 { Global } from "@opencode-ai/util/global"
import { Bus } from "./bus"
import { State } from "./state"
import { Bus } from "./bus.js"
import { State } from "./state.js"
const SHELL_OUTPUT_GLOB = (data: string) => path.join(data, "shell", "*", "*")
const TOOL_OUTPUT_GLOB = (data: string) => path.join(data, "tool-output", "*")
+2 -2
View File
@@ -1,7 +1,7 @@
export * as AISDKNative from "./aisdk-native"
export * as AISDKNative from "./aisdk-native.js"
import { isRecord } from "@opencode-ai/ai/utils/record"
import { Provider } from "./provider"
import { Provider } from "./provider.js"
export interface Mapping {
readonly package: string
+4 -4
View File
@@ -1,4 +1,4 @@
export * as AISDK from "./aisdk"
export * as AISDK from "./aisdk.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import { APICallError } from "@ai-sdk/provider"
@@ -34,9 +34,9 @@ import {
import { Auth, Endpoint, RequestExecutor, type AnyRoute } from "@opencode-ai/ai/route"
import { ProviderShared } from "@opencode-ai/ai/protocols/shared"
import { Cause, Context, Effect, Layer, Option, Schema, Scope, Stream } from "effect"
import type { ID, Info } from "./model"
import { Provider } from "./provider"
import { State } from "./state"
import type { ID, Info } from "./model.js"
import { Provider } from "./provider.js"
import { State } from "./state.js"
type SDK = any
type UserContent = Extract<LanguageModelV3Message, { role: "user" }>["content"]
+1 -1
View File
@@ -1,4 +1,4 @@
export * as App from "./app"
export * as App from "./app.js"
import { Context, Layer } from "effect"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
+4 -4
View File
@@ -1,12 +1,12 @@
export * as Bus from "./bus"
export * as Bus from "./bus.js"
import { Cause, Context, DateTime, Effect, Layer, Option, PubSub, Schema, Stream } from "effect"
import { Event } from "@opencode-ai/schema/event"
import type { EventLog } from "@opencode-ai/schema/event-log"
import { and, asc, eq, gt, lte, sql } from "drizzle-orm"
import { Database } from "./database/database"
import { EventSequenceTable, EventTable } from "./event/sql"
import { Location } from "./location"
import { Database } from "./database/database.js"
import { EventSequenceTable, EventTable } from "./event/sql.js"
import { Location } from "./location.js"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
import { isDeepStrictEqual } from "node:util"
import { Durable } from "@opencode-ai/schema/durable-event-manifest"
+6 -6
View File
@@ -1,13 +1,13 @@
export * as Catalog from "./catalog"
export * as Catalog from "./catalog.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import { Array, Context, Effect, Layer, Order, pipe } from "effect"
import { Catalog } from "@opencode-ai/schema/catalog"
import { Model } from "./model"
import { Provider } from "./provider"
import { Bus } from "./bus"
import { State } from "./state"
import { Integration } from "./integration"
import { Model } from "./model.js"
import { Provider } from "./provider.js"
import { Bus } from "./bus.js"
import { State } from "./state.js"
import { Integration } from "./integration.js"
export type ProviderRecord = {
provider: Provider.MutableInfo
+1 -1
View File
@@ -1,4 +1,4 @@
export * as CodeModeCatalog from "./catalog"
export * as CodeModeCatalog from "./catalog.js"
import { Schema } from "effect"
+3 -3
View File
@@ -1,9 +1,9 @@
export * as CodeModeInstructions from "./instructions"
export * as CodeModeInstructions from "./instructions.js"
import { searchSignature, toolExpression } from "@opencode-ai/codemode"
import { Effect, Schema } from "effect"
import { Instructions } from "../instructions/index"
import { CodeModeCatalog } from "./catalog"
import { Instructions } from "../instructions/index.js"
import { CodeModeCatalog } from "./catalog.js"
// prettier-ignore
const prompt = (hasMoreTools: boolean) => `The Code Mode tool catalog below is ${hasMoreTools ? "partial" : "complete"}.
+2 -2
View File
@@ -1,9 +1,9 @@
export * as CodeModeTool from "./tool"
export * as CodeModeTool from "./tool.js"
import { CodeMode, Tool, toolError } from "@opencode-ai/codemode"
import type { Content, Context, Error, Info, Metadata, Result } from "@opencode-ai/schema/tool"
import { Effect, Ref, Schema, Semaphore } from "effect"
import { definition } from "../tool/runtime"
import { definition } from "../tool/runtime.js"
const ExecuteFile = Schema.Struct({
data: Schema.String,
+7 -7
View File
@@ -1,16 +1,16 @@
export * as Command from "./command"
export * as Command from "./command.js"
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 { Bus } from "./bus"
import { State } from "./state.js"
import { MCP } from "./mcp/index.js"
import { Bus } from "./bus.js"
import { AppProcess } from "@opencode-ai/util/process"
import { ChildProcess } from "effect/unstable/process"
import { Config } from "./config"
import { Location } from "./location"
import { ShellSelect } from "./shell/select"
import { Config } from "./config.js"
import { Location } from "./location.js"
import { ShellSelect } from "./shell/select.js"
import { Global } from "@opencode-ai/util/global"
export const Info = Command.Info
+9 -9
View File
@@ -1,4 +1,4 @@
export * as Config from "./config"
export * as Config from "./config.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import path from "path"
@@ -16,16 +16,16 @@ import {
Event,
} from "@opencode-ai/schema/config"
import { Integration } from "@opencode-ai/schema/integration"
import { Credential } from "./credential"
import { Bus } from "./bus"
import { Watcher } from "./filesystem/watcher"
import { Credential } from "./credential.js"
import { Bus } from "./bus.js"
import { Watcher } from "./filesystem/watcher.js"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { Global } from "@opencode-ai/util/global"
import { Location } from "./location"
import { AbsolutePath } from "./schema"
import { ConfigVariable } from "./config/variable"
import { ConfigNormalize } from "./config/normalize"
import { WellKnown } from "./wellknown"
import { Location } from "./location.js"
import { AbsolutePath } from "./schema.js"
import { ConfigVariable } from "./config/variable.js"
import { ConfigNormalize } from "./config/normalize.js"
import { WellKnown } from "./wellknown.js"
export function latest<K extends keyof Info>(entries: readonly Entry[], key: K): Info[K] | undefined {
return entries
+1 -1
View File
@@ -1,4 +1,4 @@
export * as ConfigMarkdown from "./markdown"
export * as ConfigMarkdown from "./markdown.js"
import matter from "gray-matter"
export function parse(content: string) {
+10 -10
View File
@@ -1,4 +1,4 @@
export * as ConfigNormalize from "./normalize"
export * as ConfigNormalize from "./normalize.js"
import { isDeepStrictEqual } from "node:util"
import { Option, Schema } from "effect"
@@ -16,15 +16,15 @@ import { ConfigProvider } from "@opencode-ai/schema/config/provider"
import { ConfigReference } from "@opencode-ai/schema/config/reference"
import { ConfigExperimental } from "@opencode-ai/schema/config/experimental"
import { Permission } from "@opencode-ai/schema/permission"
import { ConfigAgentV1 } from "../v1/config/agent"
import { ConfigAttachmentV1 } from "../v1/config/attachment"
import { ConfigCommandV1 } from "../v1/config/command"
import { ConfigMCPV1 } from "../v1/config/mcp"
import { ConfigPermissionV1 } from "../v1/config/permission"
import { ConfigPluginV1 } from "../v1/config/plugin"
import { ConfigProviderV1 } from "../v1/config/provider"
import { ConfigMigrateV1 } from "../v1/config/migrate"
import { PositiveInt } from "../schema"
import { ConfigAgentV1 } from "../v1/config/agent.js"
import { ConfigAttachmentV1 } from "../v1/config/attachment.js"
import { ConfigCommandV1 } from "../v1/config/command.js"
import { ConfigMCPV1 } from "../v1/config/mcp.js"
import { ConfigPermissionV1 } from "../v1/config/permission.js"
import { ConfigPluginV1 } from "../v1/config/plugin.js"
import { ConfigProviderV1 } from "../v1/config/provider.js"
import { ConfigMigrateV1 } from "../v1/config/migrate.js"
import { PositiveInt } from "../schema.js"
export interface Diagnostic {
readonly kind: "conflict" | "invalid" | "unsupported"
+10 -10
View File
@@ -1,21 +1,21 @@
export * as ConfigAgentPlugin from "./agent"
export * as ConfigAgentPlugin from "./agent.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document, Info, type Entry } from "@opencode-ai/schema/config"
import { ConfigAgent } from "@opencode-ai/schema/config/agent"
import path from "path"
import { Effect, Option, Schema, Stream } from "effect"
import { Agent } from "../../agent"
import { Config } from "../../config"
import { ConfigMarkdown } from "../markdown"
import { Agent } from "../../agent.js"
import { Config } from "../../config.js"
import { ConfigMarkdown } from "../markdown.js"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { ConfigAgentV1 } from "../../v1/config/agent"
import { ConfigMigrateV1 } from "../../v1/config/migrate"
import { ConfigAgentV1 } from "../../v1/config/agent.js"
import { ConfigMigrateV1 } from "../../v1/config/migrate.js"
import { Global } from "@opencode-ai/util/global"
import { Permission } from "../../permission"
import type { LocationMutation } from "../../location-mutation"
import type { ReadTool } from "../../tool/plugin/read"
import type { EditTool } from "../../tool/plugin/edit"
import { Permission } from "../../permission.js"
import type { LocationMutation } from "../../location-mutation.js"
import type { ReadTool } from "../../tool/plugin/read.js"
import type { EditTool } from "../../tool/plugin/edit.js"
const legacySources = [
{ pattern: "{agent,agents}/**/*.md", primary: false },
+4 -4
View File
@@ -1,14 +1,14 @@
export * as ConfigCommandPlugin from "./command"
export * as ConfigCommandPlugin from "./command.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Info, type Entry } from "@opencode-ai/schema/config"
import { ConfigCommand } from "@opencode-ai/schema/config/command"
import path from "path"
import { Effect, Option, Schema, Stream } from "effect"
import { Command } from "../../command"
import { Config } from "../../config"
import { Command } from "../../command.js"
import { Config } from "../../config.js"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { ConfigMarkdown } from "../markdown"
import { ConfigMarkdown } from "../markdown.js"
const decodeCommand = Schema.decodeUnknownOption(ConfigCommand.Info)
@@ -1,15 +1,15 @@
export * as ConfigInstructionPlugin from "./instruction"
export * as ConfigInstructionPlugin from "./instruction.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { Global } from "@opencode-ai/util/global"
import { dirname, join } from "path"
import { Effect, PubSub, Semaphore, Stream } from "effect"
import { Watcher } from "../../filesystem/watcher"
import { InstructionDiscovery } from "../../instruction-discovery"
import { Instructions } from "../../instructions/index"
import { Location } from "../../location"
import { AbsolutePath } from "../../schema"
import { Watcher } from "../../filesystem/watcher.js"
import { InstructionDiscovery } from "../../instruction-discovery.js"
import { Instructions } from "../../instructions/index.js"
import { Location } from "../../location.js"
import { AbsolutePath } from "../../schema.js"
type Loaded =
| { readonly type: "available"; readonly files: InstructionDiscovery.File[] }
+3 -3
View File
@@ -1,10 +1,10 @@
export * as ConfigPolicyPlugin from "./policy"
export * as ConfigPolicyPlugin from "./policy.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document } from "@opencode-ai/schema/config"
import { Effect, Stream } from "effect"
import { Config } from "../../config"
import { Wildcard } from "../../util/wildcard"
import { Config } from "../../config.js"
import { Wildcard } from "../../util/wildcard.js"
export const Plugin = define({
id: "opencode.config.policy",
+3 -3
View File
@@ -1,11 +1,11 @@
export * as ConfigProviderPlugin from "./provider"
export * as ConfigProviderPlugin from "./provider.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document, type Entry } from "@opencode-ai/schema/config"
import { Money } from "@opencode-ai/schema/money"
import { Effect, Stream } from "effect"
import { Config } from "../../config"
import { Provider } from "../../provider"
import { Config } from "../../config.js"
import { Provider } from "../../provider.js"
export const Plugin = define({
id: "opencode.config.provider",
+5 -5
View File
@@ -1,15 +1,15 @@
export * as ConfigReferencePlugin from "./reference"
export * as ConfigReferencePlugin from "./reference.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Document } from "@opencode-ai/schema/config"
import { ConfigReference } from "@opencode-ai/schema/config/reference"
import path from "path"
import { Effect, Stream } from "effect"
import { Config } from "../../config"
import { Reference } from "../../reference"
import { AbsolutePath } from "../../schema"
import { Config } from "../../config.js"
import { Reference } from "../../reference.js"
import { AbsolutePath } from "../../schema.js"
import { Global } from "@opencode-ai/util/global"
import { Location } from "../../location"
import { Location } from "../../location.js"
export const Plugin = define({
id: "opencode.config.reference",
@@ -1,10 +1,10 @@
export * as SkillFile from "./skill-file"
export * as SkillFile from "./skill-file.js"
import path from "path"
import { Result, Schema, type SchemaIssue, SchemaParser } from "effect"
import { ConfigMarkdown } from "../markdown"
import { AbsolutePath } from "../../schema"
import { Skill } from "../../skill"
import { ConfigMarkdown } from "../markdown.js"
import { AbsolutePath } from "../../schema.js"
import { Skill } from "../../skill.js"
const Frontmatter = Schema.Struct({
name: Schema.String.pipe(Schema.optional),
+8 -8
View File
@@ -1,4 +1,4 @@
export * as ConfigSkillPlugin from "./skill"
export * as ConfigSkillPlugin from "./skill.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import type { Entry } from "@opencode-ai/schema/config"
@@ -6,13 +6,13 @@ import { FSUtil } from "@opencode-ai/util/fs-util"
import { Global } from "@opencode-ai/util/global"
import path from "path"
import { Effect, FiberMap, PubSub, Semaphore, Stream } from "effect"
import { Config } from "../../config"
import { Watcher } from "../../filesystem/watcher"
import { Location } from "../../location"
import { AbsolutePath } from "../../schema"
import { Skill } from "../../skill"
import { SkillDiscovery } from "../../skill/discovery"
import { SkillFile } from "./skill-file"
import { Config } from "../../config.js"
import { Watcher } from "../../filesystem/watcher.js"
import { Location } from "../../location.js"
import { AbsolutePath } from "../../schema.js"
import { Skill } from "../../skill.js"
import { SkillDiscovery } from "../../skill/discovery.js"
import { SkillFile } from "./skill-file.js"
type Source = Skill.DirectorySource | Skill.UrlSource
+4 -4
View File
@@ -1,4 +1,4 @@
export * as ConfigPluginSource from "./source"
export * as ConfigPluginSource from "./source.js"
import { Directory, Document, type Entry } from "@opencode-ai/schema/config"
import { ConfigPlugin } from "@opencode-ai/schema/config/plugin"
@@ -7,9 +7,9 @@ import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import { Context, Effect, Layer, Option, Predicate, PubSub, Schema, Scope, Stream } from "effect"
import path from "path"
import { fileURLToPath } from "url"
import { Config } from "../../config"
import { Watcher } from "../../filesystem/watcher"
import { Location } from "../../location"
import { Config } from "../../config.js"
import { Watcher } from "../../filesystem/watcher.js"
import { Location } from "../../location.js"
export type Operation =
| {
+2 -2
View File
@@ -1,8 +1,8 @@
export * as ConfigWebSearchPlugin from "./websearch"
export * as ConfigWebSearchPlugin from "./websearch.js"
import { define } from "@opencode-ai/plugin/effect/plugin"
import { Effect, Stream } from "effect"
import { Config } from "../../config"
import { Config } from "../../config.js"
export const Plugin = define({
id: "opencode.config.websearch",
+2 -2
View File
@@ -1,10 +1,10 @@
export * as ConfigVariable from "./variable"
export * as ConfigVariable from "./variable.js"
import os from "os"
import path from "path"
import { Effect } from "effect"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { InvalidError } from "../v1/config/error"
import { InvalidError } from "../v1/config/error.js"
type ParseSource =
| {
+3 -3
View File
@@ -1,12 +1,12 @@
export * as Credential from "./credential"
export * as Credential from "./credential.js"
import { asc, eq } from "drizzle-orm"
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 { Database } from "./database/database.js"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
import { CredentialTable } from "./credential/sql"
import { CredentialTable } from "./credential/sql.js"
export const ID = Credential.ID
export type ID = Credential.ID
+2 -2
View File
@@ -1,6 +1,6 @@
import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core"
import { Timestamps } from "../database/schema.sql"
import type { Credential } from "../credential"
import { Timestamps } from "../database/schema.sql.js"
import type { Credential } from "../credential.js"
export const CredentialTable = sqliteTable("credential", {
id: text().$type<Credential.ID>().primaryKey(),
+2 -2
View File
@@ -1,4 +1,4 @@
export * as Database from "./database"
export * as Database from "./database.js"
import { EffectDrizzleSqlite } from "@opencode-ai/effect-drizzle-sqlite"
import { sqliteLayer, supportsForeignKeyToggle, supportsTuningPragmas } from "#sqlite"
@@ -6,7 +6,7 @@ import { Context, Effect, Layer, Schema } from "effect"
import type { SqlClient } from "effect/unstable/sql"
import { Global } from "@opencode-ai/util/global"
import { isAbsolute, join } from "path"
import { DatabaseMigration } from "./migration"
import { DatabaseMigration } from "./migration.js"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
const makeDatabase = EffectDrizzleSqlite.makeWithDefaults()
+43 -43
View File
@@ -1,46 +1,46 @@
import type { DatabaseMigration } from "./migration"
import m00 from "./migration/20260127222353_familiar_lady_ursula"
import m01 from "./migration/20260211171708_add_project_commands"
import m02 from "./migration/20260213144116_wakeful_the_professor"
import m03 from "./migration/20260225215848_workspace"
import m04 from "./migration/20260227213759_add_session_workspace_id"
import m05 from "./migration/20260228203230_blue_harpoon"
import m06 from "./migration/20260303231226_add_workspace_fields"
import m07 from "./migration/20260309230000_move_org_to_state"
import m08 from "./migration/20260312043431_session_message_cursor"
import m09 from "./migration/20260323234822_events"
import m10 from "./migration/20260410174513_workspace-name"
import m11 from "./migration/20260413175956_chief_energizer"
import m12 from "./migration/20260423070820_add_icon_url_override"
import m13 from "./migration/20260427172553_slow_nightmare"
import m14 from "./migration/20260428004200_add_session_path"
import m15 from "./migration/20260501142318_next_venus"
import m16 from "./migration/20260504145000_add_sync_owner"
import m17 from "./migration/20260507164347_add_workspace_time"
import m18 from "./migration/20260510033149_session_usage"
import m19 from "./migration/20260511000411_data_migration_state"
import m20 from "./migration/20260511173437_session-metadata"
import m21 from "./migration/20260601010001_normalize_storage_paths"
import m22 from "./migration/20260601202201_amazing_prowler"
import m23 from "./migration/20260602002951_lowly_union_jack"
import m24 from "./migration/20260602182828_add_project_directories"
import m25 from "./migration/20260603001617_session_message_projection_indexes"
import m26 from "./migration/20260603040000_session_message_projection_order"
import m27 from "./migration/20260603141458_session_input_inbox"
import m28 from "./migration/20260603160727_jittery_ezekiel_stane"
import m29 from "./migration/20260604172448_event_sourced_session_input"
import m30 from "./migration/20260605003541_add_session_context_snapshot"
import m31 from "./migration/20260605042240_add_context_epoch_agent"
import m32 from "./migration/20260611035744_credential"
import m33 from "./migration/20260611192811_lush_chimera"
import m34 from "./migration/20260612174303_project_dir_strategy"
import m35 from "./migration/20260622142730_simplify_session_context_epoch"
import m36 from "./migration/20260622170816_reset_v2_session_state"
import m37 from "./migration/20260622202450_simplify_session_input"
import m38 from "./migration/20260804233008_loose_psylocke"
import m39 from "./migration/20260805200742_import_legacy_credentials"
import m40 from "./migration/20260808023530_workspace_domain"
import m41 from "./migration/20260811161259_execution_claim_attempts"
import type { DatabaseMigration } from "./migration.js"
import m00 from "./migration/20260127222353_familiar_lady_ursula.js"
import m01 from "./migration/20260211171708_add_project_commands.js"
import m02 from "./migration/20260213144116_wakeful_the_professor.js"
import m03 from "./migration/20260225215848_workspace.js"
import m04 from "./migration/20260227213759_add_session_workspace_id.js"
import m05 from "./migration/20260228203230_blue_harpoon.js"
import m06 from "./migration/20260303231226_add_workspace_fields.js"
import m07 from "./migration/20260309230000_move_org_to_state.js"
import m08 from "./migration/20260312043431_session_message_cursor.js"
import m09 from "./migration/20260323234822_events.js"
import m10 from "./migration/20260410174513_workspace-name.js"
import m11 from "./migration/20260413175956_chief_energizer.js"
import m12 from "./migration/20260423070820_add_icon_url_override.js"
import m13 from "./migration/20260427172553_slow_nightmare.js"
import m14 from "./migration/20260428004200_add_session_path.js"
import m15 from "./migration/20260501142318_next_venus.js"
import m16 from "./migration/20260504145000_add_sync_owner.js"
import m17 from "./migration/20260507164347_add_workspace_time.js"
import m18 from "./migration/20260510033149_session_usage.js"
import m19 from "./migration/20260511000411_data_migration_state.js"
import m20 from "./migration/20260511173437_session-metadata.js"
import m21 from "./migration/20260601010001_normalize_storage_paths.js"
import m22 from "./migration/20260601202201_amazing_prowler.js"
import m23 from "./migration/20260602002951_lowly_union_jack.js"
import m24 from "./migration/20260602182828_add_project_directories.js"
import m25 from "./migration/20260603001617_session_message_projection_indexes.js"
import m26 from "./migration/20260603040000_session_message_projection_order.js"
import m27 from "./migration/20260603141458_session_input_inbox.js"
import m28 from "./migration/20260603160727_jittery_ezekiel_stane.js"
import m29 from "./migration/20260604172448_event_sourced_session_input.js"
import m30 from "./migration/20260605003541_add_session_context_snapshot.js"
import m31 from "./migration/20260605042240_add_context_epoch_agent.js"
import m32 from "./migration/20260611035744_credential.js"
import m33 from "./migration/20260611192811_lush_chimera.js"
import m34 from "./migration/20260612174303_project_dir_strategy.js"
import m35 from "./migration/20260622142730_simplify_session_context_epoch.js"
import m36 from "./migration/20260622170816_reset_v2_session_state.js"
import m37 from "./migration/20260622202450_simplify_session_input.js"
import m38 from "./migration/20260804233008_loose_psylocke.js"
import m39 from "./migration/20260805200742_import_legacy_credentials.js"
import m40 from "./migration/20260808023530_workspace_domain.js"
import m41 from "./migration/20260811161259_execution_claim_attempts.js"
export const migrations = [
m00,
+3 -3
View File
@@ -1,11 +1,11 @@
export * as DatabaseMigration from "./migration"
export * as DatabaseMigration from "./migration.js"
import { sql } from "drizzle-orm"
import { Effect, Semaphore } from "effect"
import { supportsForeignKeyToggle } from "#sqlite"
import type { EffectDrizzleSqlite } from "@opencode-ai/effect-drizzle-sqlite"
import { migrations } from "./migration.gen"
import schema from "./schema.gen"
import { migrations } from "./migration.gen.js"
import schema from "./schema.gen.js"
import { Global } from "@opencode-ai/util/global"
type Database = EffectDrizzleSqlite.EffectSQLiteDatabase
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260127222353_familiar_lady_ursula",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260211171708_add_project_commands",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260213144116_wakeful_the_professor",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260225215848_workspace",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260227213759_add_session_workspace_id",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260228203230_blue_harpoon",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260303231226_add_workspace_fields",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260309230000_move_org_to_state",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260312043431_session_message_cursor",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260323234822_events",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260410174513_workspace-name",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260413175956_chief_energizer",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260423070820_add_icon_url_override",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260427172553_slow_nightmare",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260428004200_add_session_path",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260501142318_next_venus",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260504145000_add_sync_owner",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260507164347_add_workspace_time",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260510033149_session_usage",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260511000411_data_migration_state",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260511173437_session-metadata",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260601010001_normalize_storage_paths",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260601202201_amazing_prowler",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260602002951_lowly_union_jack",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260602182828_add_project_directories",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260603001617_session_message_projection_indexes",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260603040000_session_message_projection_order",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260603141458_session_input_inbox",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260603160727_jittery_ezekiel_stane",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260604172448_event_sourced_session_input",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260605003541_add_session_context_snapshot",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260605042240_add_context_epoch_agent",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260611035744_credential",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260611192811_lush_chimera",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260612174303_project_dir_strategy",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260622142730_simplify_session_context_epoch",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260622170816_reset_v2_session_state",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260622202450_simplify_session_input",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260804233008_loose_psylocke",
@@ -6,7 +6,7 @@ import { Credential } from "@opencode-ai/schema/credential"
import { Integration } from "@opencode-ai/schema/integration"
import { NonNegativeInt } from "@opencode-ai/schema/schema"
import { Global } from "@opencode-ai/util/global"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const LegacyOAuth = Schema.Struct({
type: Schema.Literal("oauth"),
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260808023530_workspace_domain",
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "../migration"
import type { DatabaseMigration } from "../migration.js"
const migration: DatabaseMigration.Migration = {
id: "20260811161259_execution_claim_attempts",
+1 -1
View File
@@ -1,7 +1,7 @@
import nodePath from "path"
import { customType } from "drizzle-orm/sqlite-core"
import { Schema } from "effect"
import { AbsolutePath } from "../schema"
import { AbsolutePath } from "../schema.js"
function storagePath(input: string) {
if (process.platform !== "win32") return input
+1 -1
View File
@@ -1,5 +1,5 @@
import { Effect } from "effect"
import type { DatabaseMigration } from "./migration"
import type { DatabaseMigration } from "./migration.js"
const schema: Omit<DatabaseMigration.Migration, "id"> = {
up(tx) {
+1 -1
View File
@@ -4,7 +4,7 @@ import { Context, Effect, Layer } from "effect"
import { Reactivity } from "effect/unstable/reactivity"
import { SqlClient } from "effect/unstable/sql"
import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError"
import { Sqlite } from "./sqlite"
import { Sqlite } from "./sqlite.js"
const TypeId = "~@opencode-ai/core/database/SqliteBun" as const
+1 -1
View File
@@ -4,7 +4,7 @@ import { Context, Effect, Layer } from "effect"
import { Reactivity } from "effect/unstable/reactivity"
import { SqlClient } from "effect/unstable/sql"
import { classifySqliteError, SqlError } from "effect/unstable/sql/SqlError"
import { Sqlite } from "./sqlite"
import { Sqlite } from "./sqlite.js"
const TypeId = "~@opencode-ai/core/database/SqliteNode" as const
+1 -1
View File
@@ -1,4 +1,4 @@
export * as Sqlite from "./sqlite"
export * as Sqlite from "./sqlite.js"
import { Context, Effect, Fiber, Scope, Semaphore, Stream } from "effect"
import { identity } from "effect/Function"
+1 -1
View File
@@ -5,7 +5,7 @@ import { Reactivity } from "effect/unstable/reactivity"
import { SqlClient, Statement } from "effect/unstable/sql"
import type { Connection } from "effect/unstable/sql/SqlConnection"
import { classifySqliteError, SqlError, UnknownError } from "effect/unstable/sql/SqlError"
import { Sqlite } from "./sqlite"
import { Sqlite } from "./sqlite.js"
const ATTR_DB_SYSTEM_NAME = "db.system.name"
+7 -7
View File
@@ -1,13 +1,13 @@
export * as V1Migration from "./v1-migration"
export * as V1Migration from "./v1-migration.js"
import { Cause, Effect, Layer, Option, Schema, Semaphore } from "effect"
import { Database } from "./database"
import { SessionMessageTable, SessionTable } from "../session/sql"
import { Database } from "./database.js"
import { SessionMessageTable, SessionTable } from "../session/sql.js"
import { SessionV1 } from "@opencode-ai/schema/session-v1"
import { SessionMessage } from "../session/message"
import { SessionSchema } from "../session/schema"
import { KVTable } from "../kv/sql"
import { EventSequenceTable } from "../event/sql"
import { SessionMessage } from "../session/message.js"
import { SessionSchema } from "../session/schema.js"
import { KVTable } from "../kv/sql.js"
import { EventSequenceTable } from "../event/sql.js"
import { eq, sql } from "drizzle-orm"
import { Global } from "@opencode-ai/util/global"
import { existsSync } from "node:fs"
+3 -3
View File
@@ -1,5 +1,5 @@
import { buildLocationServiceMap } from "../location-services"
import { LocationServiceMap } from "../location-service-map"
import { buildLocationServiceMap } from "../location-services.js"
import { LocationServiceMap } from "../location-service-map.js"
import { LayerNode } from "@opencode-ai/util/effect/layer-node"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
@@ -20,4 +20,4 @@ function hasReplacement(replacements: LayerNode.Replacements, node: LayerNode.No
return replacements.some(([source]) => source.name === node.name)
}
export * as AppNodeBuilder from "./app-node-builder"
export * as AppNodeBuilder from "./app-node-builder.js"
@@ -10,4 +10,4 @@ export const requestExecutor = makeGlobalNode({
export const llmClient = makeGlobalNode({ service: LLMClient.Service, layer: LLMClient.layer, deps: [requestExecutor] })
export * as LayerNodePlatform from "./app-node-platform"
export * as LayerNodePlatform from "./app-node-platform.js"
+1 -1
View File
@@ -1,4 +1,4 @@
export * as KeyedMutex from "./keyed-mutex"
export * as KeyedMutex from "./keyed-mutex.js"
import { Effect, Semaphore } from "effect"
+2 -2
View File
@@ -1,9 +1,9 @@
import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
import type { FilesImpl } from "./files"
import type { FilesImpl } from "./files.js"
export interface Driver {
readonly spawner: ChildProcessSpawner["Service"]
readonly overrides?: Partial<FilesImpl>
}
export * as EnvironmentDriver from "./driver"
export * as EnvironmentDriver from "./driver.js"
+6 -6
View File
@@ -2,11 +2,11 @@ import { CrossSpawnSpawner } from "@opencode-ai/util/cross-spawn-spawner"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import { Context, Effect, Layer } from "effect"
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
import type { Files } from "./files"
import { makeFiles } from "./index"
import { makeLocalDriver } from "./local"
import { Location } from "../location"
import { Workspace } from "../workspace"
import type { Files } from "./files.js"
import { makeFiles } from "./index.js"
import { makeLocalDriver } from "./local.js"
import { Location } from "../location.js"
import { Workspace } from "../workspace.js"
export interface Interface {
readonly files: Files
@@ -40,4 +40,4 @@ export const node = makeLocationNode({
deps: [CrossSpawnSpawner.node, Location.node, Workspace.node],
})
export * as EnvironmentService from "./environment"
export * as EnvironmentService from "./environment.js"
@@ -2,7 +2,7 @@ import { Effect, Stream } from "effect"
import { ChildProcess } from "effect/unstable/process"
import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
import { collectStream } from "@opencode-ai/util/process"
import { Failed, NotFound, WrongKind, type FileInfo, type FileType, type FilesImpl } from "./files"
import { Failed, NotFound, WrongKind, type FileInfo, type FileType, type FilesImpl } from "./files.js"
/**
* Files derived from spawning processes: one process per intent, "$1" is
@@ -189,4 +189,4 @@ const parseList = (bytes: Uint8Array) => {
}))
}
export * as EnvironmentExecDefaults from "./exec-defaults"
export * as EnvironmentExecDefaults from "./exec-defaults.js"
+1 -1
View File
@@ -67,4 +67,4 @@ export const typeFollowing = (files: Files, path: string) =>
),
)
export * as EnvironmentFiles from "./files"
export * as EnvironmentFiles from "./files.js"
+10 -10
View File
@@ -1,6 +1,6 @@
export * as Environment from "./index"
export * as Environment from "./index.js"
export { type Driver } from "./driver"
export { type Driver } from "./driver.js"
export {
type DirEntry,
Failed,
@@ -11,15 +11,15 @@ export {
NotFound,
typeFollowing,
WrongKind,
} from "./files"
export { execDefaults } from "./exec-defaults"
export { makeLocalDriver } from "./local"
export { makeMemoryDriver, type MemoryDriver } from "./memory"
export { type Interface, node, Service } from "./environment"
} from "./files.js"
export { execDefaults } from "./exec-defaults.js"
export { makeLocalDriver } from "./local.js"
export { makeMemoryDriver, type MemoryDriver } from "./memory.js"
export { type Interface, node, Service } from "./environment.js"
import type { Driver } from "./driver"
import { execDefaults } from "./exec-defaults"
import type { Files } from "./files"
import type { Driver } from "./driver.js"
import { execDefaults } from "./exec-defaults.js"
import type { Files } from "./files.js"
export const makeFiles = (driver: Driver): Files => ({
...execDefaults(driver.spawner),
+3 -3
View File
@@ -2,8 +2,8 @@ import fs from "node:fs/promises"
import path from "node:path"
import { Effect } from "effect"
import type { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
import type { Driver } from "./driver"
import { Failed, NotFound, WrongKind, type FileInfo, type FilesImpl, type FileType } from "./files"
import type { Driver } from "./driver.js"
import { Failed, NotFound, WrongKind, type FileInfo, type FilesImpl, type FileType } from "./files.js"
/**
* The host filesystem binding. Deliberately raw node:fs rather than effect's
@@ -100,4 +100,4 @@ const isMissing = (cause: unknown) =>
"code" in cause &&
(cause.code === "ENOENT" || cause.code === "ENOTDIR")
export * as EnvironmentLocal from "./local"
export * as EnvironmentLocal from "./local.js"
+3 -3
View File
@@ -1,8 +1,8 @@
import path from "node:path"
import { Effect, PlatformError } from "effect"
import { make } from "effect/unstable/process/ChildProcessSpawner"
import type { Driver } from "./driver"
import { Failed, NotFound, WrongKind, type FileInfo, type FilesImpl, type FileType } from "./files"
import type { Driver } from "./driver.js"
import { Failed, NotFound, WrongKind, type FileInfo, type FilesImpl, type FileType } from "./files.js"
type Node =
| { readonly type: "file"; readonly bytes: Uint8Array; readonly mtimeMs: number }
@@ -165,4 +165,4 @@ export const makeMemoryDriver = (): MemoryDriver => {
}
}
export * as EnvironmentMemory from "./memory"
export * as EnvironmentMemory from "./memory.js"
+2 -2
View File
@@ -1,8 +1,8 @@
export * as EventLogger from "./event-logger"
export * as EventLogger from "./event-logger.js"
import { Effect, Layer } from "effect"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
import { Bus } from "./bus"
import { Bus } from "./bus.js"
const Types = new Set(["agent.updated", "catalog.updated", "command.updated", "config.updated"])
+4 -4
View File
@@ -1,12 +1,12 @@
export * as FileMutation from "./file-mutation"
export * as FileMutation from "./file-mutation.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import { Context, Effect, Layer } from "effect"
import { KeyedMutex } from "./effect/keyed-mutex"
import { KeyedMutex } from "./effect/keyed-mutex.js"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { Bom } from "@opencode-ai/util/bom"
import { Environment } from "./environment"
import type { Files } from "./environment"
import { Environment } from "./environment/index.js"
import type { Files } from "./environment/index.js"
export interface Target {
readonly absolute: string
+1 -1
View File
@@ -1,4 +1,4 @@
export * as File from "./file"
export * as File from "./file.js"
import { FileDiff } from "@opencode-ai/schema/file-diff"
+4 -4
View File
@@ -1,12 +1,12 @@
export * as FileSystem from "./filesystem"
export * as FileSystem from "./filesystem.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import path from "path"
import { Context, Effect, Layer, Schema } from "effect"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { Location } from "./location"
import { PositiveInt, RelativePath } from "./schema"
import { FileSystemSearch } from "./filesystem/search"
import { Location } from "./location.js"
import { PositiveInt, RelativePath } from "./schema.js"
import { FileSystemSearch } from "./filesystem/search.js"
import { Entry, FileSystem, FindInput } from "@opencode-ai/schema/filesystem"
export { Entry, Match, Submatch } from "@opencode-ai/schema/filesystem"
+3 -3
View File
@@ -1,7 +1,7 @@
import { FileFinder } from "@ff-labs/fff-bun"
import { bind } from "./fff"
import { bind } from "./fff.js"
export type { Directory, DirSearch, File, Init, Mixed, MixedSearch, Picker, Result, Search } from "./fff"
export type { Directory, DirSearch, File, Init, Mixed, MixedSearch, Picker, Result, Search } from "./fff.js"
declare global {
const FFF_LIBC: "gnu" | "musl"
@@ -12,4 +12,4 @@ const adapter = bind(FileFinder)
export const available = adapter.available
export const create = adapter.create
export * as Fff from "./fff.bun"
export * as Fff from "./fff.bun.js"
+3 -3
View File
@@ -1,6 +1,6 @@
import { bind } from "./fff"
import { bind } from "./fff.js"
export type { Directory, DirSearch, File, Init, Mixed, MixedSearch, Picker, Result, Search } from "./fff"
export type { Directory, DirSearch, File, Init, Mixed, MixedSearch, Picker, Result, Search } from "./fff.js"
const { FileFinder } = await import("@ff-labs/fff-node").catch(() => ({ FileFinder: undefined }))
@@ -9,4 +9,4 @@ const adapter = bind(FileFinder, "fff unavailable on node runtime")
export const available = adapter.available
export const create = adapter.create
export * as Fff from "./fff.node"
export * as Fff from "./fff.node.js"
+1 -1
View File
@@ -45,4 +45,4 @@ const FILES = [
export const PATTERNS = [...FILES, ...FOLDERS, `**/{${Array.from(FOLDERS).join(",")}}/**`]
export * as Ignore from "./ignore"
export * as Ignore from "./ignore.js"
@@ -1,16 +1,16 @@
export * as LocationWatcher from "./location-watcher"
export * as LocationWatcher from "./location-watcher.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import { Context, Effect, Layer, Stream } from "effect"
import { FileSystem } from "@opencode-ai/schema/filesystem"
import { Document } from "@opencode-ai/schema/config"
import path from "path"
import { Config } from "../config"
import { Bus } from "../bus"
import { Config } from "../config.js"
import { Bus } from "../bus.js"
import { FSUtil } from "@opencode-ai/util/fs-util"
import { Git } from "../git"
import { Location } from "../location"
import { Watcher } from "./watcher"
import { Git } from "../git.js"
import { Location } from "../location.js"
import { Watcher } from "./watcher.js"
export interface Interface {}
+1 -1
View File
@@ -54,4 +54,4 @@ export function paths(): string[] {
return []
}
export * as Protected from "./protected"
export * as Protected from "./protected.js"
+6 -6
View File
@@ -1,15 +1,15 @@
export * as FileSystemSearch from "./search"
export * as FileSystemSearch from "./search.js"
import { makeLocationNode } from "@opencode-ai/util/effect/app-node"
import path from "path"
import { Context, Effect, Layer, Schema, Scope } from "effect"
import { Fff } from "#fff"
import fuzzysort from "fuzzysort"
import { FileSystem } from "../filesystem"
import { Location } from "../location"
import { Ripgrep } from "../ripgrep"
import { RelativePath } from "../schema"
import { Protected } from "./protected"
import { FileSystem } from "../filesystem.js"
import { Location } from "../location.js"
import { Ripgrep } from "../ripgrep.js"
import { RelativePath } from "../schema.js"
import { Protected } from "./protected.js"
export interface Interface {
readonly find: (input: FileSystem.FindInput) => Effect.Effect<FileSystem.Entry[]>
+3 -3
View File
@@ -1,4 +1,4 @@
export * as Watcher from "./watcher"
export * as Watcher from "./watcher.js"
// @ts-ignore
import { createWrapper } from "@parcel/watcher/wrapper"
@@ -6,10 +6,10 @@ import type ParcelWatcher from "@parcel/watcher"
import { FileSystem } from "@opencode-ai/schema/filesystem"
import { makeGlobalNode } from "@opencode-ai/util/effect/app-node"
import { Cause, Context, Effect, Layer, PubSub, RcMap, Schema, Stream } from "effect"
import { lazy } from "../util/lazy"
import { lazy } from "../util/lazy.js"
import { watch as watchFileSystem } from "node:fs"
import path from "path"
import loadBinding from "./watcher-binding"
import loadBinding from "./watcher-binding.js"
const SUBSCRIBE_TIMEOUT_MS = 10_000
export const Event = { Updated: FileSystem.Event.Changed }

Some files were not shown because too many files have changed in this diff Show More