diff options
| author | Dax Raad <[email protected]> | 2025-08-01 14:01:40 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-08-01 14:03:22 -0400 |
| commit | e74b4d098b14c8232ca8eed5106291114f339f7d (patch) | |
| tree | 24a390ce7f3653154a5b025050e2b2a8a33c0985 /packages | |
| parent | 50e4b3e6a7c149e55b5a6e95a6e13369fc21bcce (diff) | |
| download | opencode-e74b4d098b14c8232ca8eed5106291114f339f7d.tar.gz opencode-e74b4d098b14c8232ca8eed5106291114f339f7d.zip | |
allow search in provider select
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/package.json | 2 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/agent.ts | 2 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/auth.ts | 12 | ||||
| -rw-r--r-- | packages/opencode/src/cli/cmd/mcp.ts | 5 |
4 files changed, 11 insertions, 10 deletions
diff --git a/packages/opencode/package.json b/packages/opencode/package.json index 7e1775d16..048d99b74 100644 --- a/packages/opencode/package.json +++ b/packages/opencode/package.json @@ -30,7 +30,7 @@ "dependencies": { "@actions/core": "1.11.1", "@actions/github": "6.0.1", - "@clack/prompts": "0.11.0", + "@clack/prompts": "1.0.0-alpha.1", "@hono/zod-validator": "0.4.2", "@modelcontextprotocol/sdk": "1.15.1", "@octokit/graphql": "9.0.1", diff --git a/packages/opencode/src/cli/cmd/agent.ts b/packages/opencode/src/cli/cmd/agent.ts index 33b270ee5..e929c3a8f 100644 --- a/packages/opencode/src/cli/cmd/agent.ts +++ b/packages/opencode/src/cli/cmd/agent.ts @@ -39,7 +39,7 @@ const AgentCreateCommand = cmd({ const query = await prompts.text({ message: "Description", placeholder: "What should this agent do?", - validate: (x) => (x.length > 0 ? undefined : "Required"), + validate: (x) => x && (x.length > 0 ? undefined : "Required"), }) if (prompts.isCancel(query)) throw new UI.CancelledError() diff --git a/packages/opencode/src/cli/cmd/auth.ts b/packages/opencode/src/cli/cmd/auth.ts index a9201a883..5d4a35245 100644 --- a/packages/opencode/src/cli/cmd/auth.ts +++ b/packages/opencode/src/cli/cmd/auth.ts @@ -75,6 +75,7 @@ export const AuthLoginCommand = cmd({ type: "string", }), async handler(args) { + UI.empty() prompts.intro("Add credential") if (args.url) { const wellknown = await fetch(`${args.url}/.well-known/opencode`).then((x) => x.json()) @@ -99,7 +100,6 @@ export const AuthLoginCommand = cmd({ prompts.outro("Done") return } - UI.empty() const providers = await ModelsDev.get() const priority: Record<string, number> = { anthropic: 0, @@ -109,7 +109,7 @@ export const AuthLoginCommand = cmd({ openrouter: 4, vercel: 5, } - let provider = await prompts.select({ + let provider = await prompts.autocomplete({ message: "Select provider", maxItems: 8, options: [ @@ -138,7 +138,7 @@ export const AuthLoginCommand = cmd({ if (provider === "other") { provider = await prompts.text({ message: "Enter provider id", - validate: (x) => (x.match(/^[0-9a-z-]+$/) ? undefined : "a-z, 0-9 and hyphens only"), + validate: (x) => x && (x.match(/^[0-9a-z-]+$/) ? undefined : "a-z, 0-9 and hyphens only"), }) if (prompts.isCancel(provider)) throw new UI.CancelledError() provider = provider.replace(/^@ai-sdk\//, "") @@ -192,7 +192,7 @@ export const AuthLoginCommand = cmd({ const code = await prompts.text({ message: "Paste the authorization code here: ", - validate: (x) => (x.length > 0 ? undefined : "Required"), + validate: (x) => x && (x.length > 0 ? undefined : "Required"), }) if (prompts.isCancel(code)) throw new UI.CancelledError() @@ -228,7 +228,7 @@ export const AuthLoginCommand = cmd({ const code = await prompts.text({ message: "Paste the authorization code here: ", - validate: (x) => (x.length > 0 ? undefined : "Required"), + validate: (x) => x && (x.length > 0 ? undefined : "Required"), }) if (prompts.isCancel(code)) throw new UI.CancelledError() @@ -301,7 +301,7 @@ export const AuthLoginCommand = cmd({ const key = await prompts.password({ message: "Enter your API key", - validate: (x) => (x.length > 0 ? undefined : "Required"), + validate: (x) => x && (x.length > 0 ? undefined : "Required"), }) if (prompts.isCancel(key)) throw new UI.CancelledError() await Auth.set(provider, { diff --git a/packages/opencode/src/cli/cmd/mcp.ts b/packages/opencode/src/cli/cmd/mcp.ts index 5f8b6e5d8..6e2d11fdc 100644 --- a/packages/opencode/src/cli/cmd/mcp.ts +++ b/packages/opencode/src/cli/cmd/mcp.ts @@ -19,7 +19,7 @@ export const McpAddCommand = cmd({ const name = await prompts.text({ message: "Enter MCP server name", - validate: (x) => (x.length > 0 ? undefined : "Required"), + validate: (x) => x && (x.length > 0 ? undefined : "Required"), }) if (prompts.isCancel(name)) throw new UI.CancelledError() @@ -44,7 +44,7 @@ export const McpAddCommand = cmd({ const command = await prompts.text({ message: "Enter command to run", placeholder: "e.g., opencode x @modelcontextprotocol/server-filesystem", - validate: (x) => (x.length > 0 ? undefined : "Required"), + validate: (x) => x && (x.length > 0 ? undefined : "Required"), }) if (prompts.isCancel(command)) throw new UI.CancelledError() @@ -58,6 +58,7 @@ export const McpAddCommand = cmd({ message: "Enter MCP server URL", placeholder: "e.g., https://example.com/mcp", validate: (x) => { + if (!x) return "Required" if (x.length === 0) return "Required" const isValid = URL.canParse(x) return isValid ? undefined : "Invalid URL" |
