Skip to content

Conversation

@n1n-api
Copy link

@n1n-api n1n-api commented Jan 17, 2026

Add n1n.ai as an OpenAI-compatible provider. This implementation includes core provider logic and GUI configuration updates to make n1n models easily accessible.


Continue Tasks

Status Task Actions
▶️ Queued Update docs on PR View

Powered by Continue


Summary by cubic

Adds N1N as an OpenAI-compatible provider with backend support and GUI integration, so users can run GPT-4o and Claude models via n1n.ai. Includes new presets and provider selection in Add New Model.

  • New Features
    • Core: added N1N class extending OpenAI with apiBase https://api.n1n.ai/v1/ and registered it in LLMClasses.
    • GUI: new “N1N” provider with API key input and packages for AUTODETECT, N1N GPT-4o, and N1N Claude 3.5 Sonnet.
    • Models: enabled n1n in providerOptions where relevant (e.g., added to Claude 4.5 Sonnet).
    • Uses openai.png as a placeholder icon; API key link points to https://api.n1n.ai/.

Written for commit 6b04245. Summary will update on new commits.

@n1n-api n1n-api requested a review from a team as a code owner January 17, 2026 20:26
@n1n-api n1n-api requested review from Patrick-Erichsen and removed request for a team January 17, 2026 20:26
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Jan 17, 2026
@github-actions
Copy link

github-actions bot commented Jan 17, 2026

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 4 files

@n1n-api
Copy link
Author

n1n-api commented Jan 17, 2026

I have read the CLA Document and I hereby sign the CLA

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files (changes from recent commits).

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="extensions/cli/vitest.config.ts">

<violation number="1" location="extensions/cli/vitest.config.ts:28">
P2: Alias uses URL.pathname instead of fileURLToPath, producing URL-encoded/Windows-incompatible paths and risking failed alias resolution</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

@n1n-api
Copy link
Author

n1n-api commented Jan 17, 2026

@cubic-dev-ai fix

@cubic-dev-ai
Copy link
Contributor

cubic-dev-ai bot commented Jan 17, 2026

I've fixed the issue in extensions/cli/vitest.config.ts. The problem was using URL.pathname which can produce URL-encoded or Windows-incompatible paths.

Changes made:

  • Added import for fileURLToPath from the Node.js url module
  • Replaced .pathname with fileURLToPath(new URL(...)) for both alias entries

This ensures proper cross-platform path handling, especially on Windows where URL.pathname produces paths like /C:/path/to/file which are invalid for file system operations.

diff --git a/extensions/cli/vitest.config.ts b/extensions/cli/vitest.config.ts
index 691b8f5..a076e01 100644
--- a/extensions/cli/vitest.config.ts
+++ b/extensions/cli/vitest.config.ts
@@ -1,3 +1,4 @@
+import { fileURLToPath } from "url";
 import { defineConfig } from "vitest/config";
 
 export default defineConfig({
@@ -25,8 +26,8 @@ export default defineConfig({
     extensions: [".js", ".ts", ".tsx", ".json"],
     alias: {
       // Map core imports to the core source file since index.ts doesn't exist
-      "../../../../../core/index.js": new URL("../../core/core.ts", import.meta.url).pathname,
-      "core/index.js": new URL("../../core/core.ts", import.meta.url).pathname,
+      "../../../../../core/index.js": fileURLToPath(new URL("../../core/core.ts", import.meta.url)),
+      "core/index.js": fileURLToPath(new URL("../../core/core.ts", import.meta.url)),
     },
   },
 });

Files changed:

  • extensions/cli/vitest.config.ts — Used fileURLToPath instead of URL.pathname for cross-platform compatibility

@n1n-api
Copy link
Author

n1n-api commented Jan 17, 2026

@cubic-dev-ai fix failed test

@cubic-dev-ai
Copy link
Contributor

cubic-dev-ai bot commented Jan 17, 2026

I've fixed the issue in extensions/cli/vitest.config.ts. The problem was using URL.pathname which can produce URL-encoded or Windows-incompatible paths.

Changes made:

  • Added import for fileURLToPath from the Node.js url module
  • Replaced .pathname with fileURLToPath(new URL(...)) for both alias entries

This ensures proper cross-platform path handling, especially on Windows where URL.pathname produces paths like /C:/path/to/file which are invalid for file system operations.

diff --git a/extensions/cli/vitest.config.ts b/extensions/cli/vitest.config.ts
index 691b8f5..a076e01 100644
--- a/extensions/cli/vitest.config.ts
+++ b/extensions/cli/vitest.config.ts
@@ -1,3 +1,4 @@
+import { fileURLToPath } from "url";
 import { defineConfig } from "vitest/config";
 
 export default defineConfig({
@@ -25,8 +26,8 @@ export default defineConfig({
     extensions: [".js", ".ts", ".tsx", ".json"],
     alias: {
       // Map core imports to the core source file since index.ts doesn't exist
-      "../../../../../core/index.js": new URL("../../core/core.ts", import.meta.url).pathname,
-      "core/index.js": new URL("../../core/core.ts", import.meta.url).pathname,
+      "../../../../../core/index.js": fileURLToPath(new URL("../../core/core.ts", import.meta.url)),
+      "core/index.js": fileURLToPath(new URL("../../core/core.ts", import.meta.url)),
     },
   },
 });

Files changed:

  • extensions/cli/vitest.config.ts — Used fileURLToPath instead of URL.pathname for cross-platform compatibility

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant