diff --git a/packages/opencode/bin/neuron b/packages/opencode/bin/neuron new file mode 100755 index 000000000..c0014a9d2 --- /dev/null +++ b/packages/opencode/bin/neuron @@ -0,0 +1,12 @@ +#!/bin/sh +# Neuron launcher: run the CLI from source under Bun. +SELF="$0" +while [ -L "$SELF" ]; do + LINK="$(readlink "$SELF")" + case "$LINK" in + /*) SELF="$LINK" ;; + *) SELF="$(dirname "$SELF")/$LINK" ;; + esac +done +DIR="$(cd "$(dirname "$SELF")" && pwd)" +exec bun run --conditions=browser "$DIR/../src/index.ts" "$@" diff --git a/packages/opencode/package.json b/packages/opencode/package.json index dfa84a7ec..e730e5994 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -16,7 +16,7 @@ "dev:temporary": "bun run --conditions=browser ./src/temporary.ts" }, "bin": { - "opencode": "./bin/opencode" + "neuron": "./bin/neuron" }, "exports": { "./*": "./src/*.ts" diff --git a/packages/opencode/src/effect/bridge.ts b/packages/opencode/src/effect/bridge.ts index a51c2938d..1f0c85d5b 100644 --- a/packages/opencode/src/effect/bridge.ts +++ b/packages/opencode/src/effect/bridge.ts @@ -1,5 +1,5 @@ import { Context, Effect, Exit, Fiber } from "effect" -import { WorkspaceContext } from "@/control-plane/workspace-context" +import { WorkspaceContext } from "@/effect/workspace-context" import type { WorkspaceV2 } from "@opencode-ai/core/workspace" import { InstanceRef, WorkspaceRef } from "./instance-ref" import { attachWith } from "./run-service" diff --git a/packages/opencode/src/effect/instance-state.ts b/packages/opencode/src/effect/instance-state.ts index b40168fbc..89348804c 100644 --- a/packages/opencode/src/effect/instance-state.ts +++ b/packages/opencode/src/effect/instance-state.ts @@ -2,7 +2,7 @@ import { Effect, ScopedCache, Scope } from "effect" import type { InstanceContext } from "@/project/instance-context" import { InstanceRef, WorkspaceRef } from "./instance-ref" import { registerDisposer } from "./instance-registry" -import { WorkspaceContext } from "@/control-plane/workspace-context" +import { WorkspaceContext } from "@/effect/workspace-context" const TypeId = "~opencode/InstanceState" diff --git a/packages/opencode/src/effect/run-service.ts b/packages/opencode/src/effect/run-service.ts index cfcc50081..4b608b71b 100644 --- a/packages/opencode/src/effect/run-service.ts +++ b/packages/opencode/src/effect/run-service.ts @@ -2,7 +2,7 @@ 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 { WorkspaceContext } from "@/control-plane/workspace-context" +import { WorkspaceContext } from "@/effect/workspace-context" import type { InstanceContext } from "@/project/instance-context" import { memoMap } from "@opencode-ai/core/effect/memo-map" diff --git a/packages/opencode/src/control-plane/workspace-context.ts b/packages/opencode/src/effect/workspace-context.ts similarity index 100% rename from packages/opencode/src/control-plane/workspace-context.ts rename to packages/opencode/src/effect/workspace-context.ts diff --git a/packages/opencode/src/index.ts b/packages/opencode/src/index.ts index 4c8c16678..70ee0f64d 100644 --- a/packages/opencode/src/index.ts +++ b/packages/opencode/src/index.ts @@ -43,7 +43,7 @@ function show(out: string) { const cli = yargs(args) .parserConfiguration({ "populate--": true }) - .scriptName("opencode") + .scriptName("neuron") .wrap(100) .help("help", "show help") .alias("help", "h")