@fudrouter/fsrouter 0.6.49 → 0.6.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/rewriteSseImports.js +63 -0
- package/dist/open-sse/config/cliFingerprints.js +1 -1
- package/dist/open-sse/executors/blackbox-web.js +1 -1
- package/dist/open-sse/executors/claude-web.js +1 -1
- package/dist/open-sse/executors/commandCode.js +1 -1
- package/dist/open-sse/executors/gitlab.js +1 -1
- package/dist/open-sse/executors/huggingchat.js +1 -1
- package/dist/open-sse/executors/kimi-web.js +1 -1
- package/dist/open-sse/executors/ninerouter.js +2 -2
- package/dist/open-sse/executors/qoder.js +3 -3
- package/dist/open-sse/executors/qwen-web.js +1 -1
- package/dist/open-sse/executors/yuanbao-web.js +1 -1
- package/dist/open-sse/handlers/chatCore/nonStreamingHandler.js +1 -1
- package/dist/open-sse/handlers/chatCore/requestDetail.js +1 -1
- package/dist/open-sse/handlers/chatCore/sseToJsonHandler.js +1 -1
- package/dist/open-sse/handlers/chatCore/streamingHandler.js +1 -1
- package/dist/open-sse/handlers/chatCore.js +1 -1
- package/dist/open-sse/handlers/imageProviders/weavy.js +1 -1
- package/dist/open-sse/handlers/videoProviders/weavy.js +1 -1
- package/dist/open-sse/mcp-server/tools/agentSkillTools.js +1 -1
- package/dist/open-sse/mcp-server/tools/githubSkillTools.js +1 -1
- package/dist/open-sse/mcp-server/tools/memoryTools.js +3 -3
- package/dist/open-sse/mcp-server/tools/skillTools.js +2 -2
- package/dist/open-sse/package.json +1 -0
- package/dist/open-sse/services/emergencyFallback.js +1 -1
- package/dist/open-sse/services/proxyAutoSelector.js +1 -1
- package/dist/open-sse/services/thinkingBudget.js +1 -1
- package/dist/open-sse/utils/cursorImages.js +1 -1
- package/dist/open-sse/utils/keepaliveThreshold.js +4 -4
- package/dist/open-sse/utils/noThinkingAlias.js +1 -1
- package/dist/open-sse/utils/providerRequestLogging.js +1 -1
- package/dist/open-sse/utils/responsesStatePolicy.js +2 -2
- package/dist/open-sse/utils/stream.js +1 -1
- package/dist/open-sse/utils/streamFailureFinalization.js +1 -1
- package/dist/open-sse/utils/usageTracking.js +1 -1
- package/open-sse/config/cliFingerprints.js +1 -1
- package/open-sse/executors/blackbox-web.js +1 -1
- package/open-sse/executors/claude-web.js +1 -1
- package/open-sse/executors/commandCode.js +1 -1
- package/open-sse/executors/gitlab.js +1 -1
- package/open-sse/executors/huggingchat.js +1 -1
- package/open-sse/executors/kimi-web.js +1 -1
- package/open-sse/executors/ninerouter.js +2 -2
- package/open-sse/executors/qoder.js +3 -3
- package/open-sse/executors/qwen-web.js +1 -1
- package/open-sse/executors/yuanbao-web.js +1 -1
- package/open-sse/handlers/chatCore/nonStreamingHandler.js +1 -1
- package/open-sse/handlers/chatCore/requestDetail.js +1 -1
- package/open-sse/handlers/chatCore/sseToJsonHandler.js +1 -1
- package/open-sse/handlers/chatCore/streamingHandler.js +1 -1
- package/open-sse/handlers/chatCore.js +1 -1
- package/open-sse/handlers/imageProviders/weavy.js +1 -1
- package/open-sse/handlers/videoProviders/weavy.js +1 -1
- package/open-sse/mcp-server/tools/agentSkillTools.js +1 -1
- package/open-sse/mcp-server/tools/githubSkillTools.js +1 -1
- package/open-sse/mcp-server/tools/memoryTools.js +3 -3
- package/open-sse/mcp-server/tools/skillTools.js +2 -2
- package/open-sse/package.json +1 -0
- package/open-sse/services/emergencyFallback.js +1 -1
- package/open-sse/services/proxyAutoSelector.js +1 -1
- package/open-sse/services/thinkingBudget.js +1 -1
- package/open-sse/utils/cursorImages.js +1 -1
- package/open-sse/utils/keepaliveThreshold.js +4 -4
- package/open-sse/utils/noThinkingAlias.js +1 -1
- package/open-sse/utils/providerRequestLogging.js +1 -1
- package/open-sse/utils/responsesStatePolicy.js +2 -2
- package/open-sse/utils/stream.js +1 -1
- package/open-sse/utils/streamFailureFinalization.js +1 -1
- package/open-sse/utils/usageTracking.js +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
|
|
4
|
+
// Rewrite @/bare references in open-sse/ source files so they work in the
|
|
5
|
+
// published npm package where Node cannot resolve the `imports` field for
|
|
6
|
+
// bare specifiers starting with `@/`.
|
|
7
|
+
|
|
8
|
+
const root = process.cwd();
|
|
9
|
+
const sseDir = path.join(root, "open-sse");
|
|
10
|
+
|
|
11
|
+
function rewrite(file) {
|
|
12
|
+
let content = fs.readFileSync(file, "utf8");
|
|
13
|
+
const orig = content;
|
|
14
|
+
|
|
15
|
+
// Count directory depth from root: open-sse/handlers/chatCore.js → depth=2
|
|
16
|
+
// Need ../../dist/lib/ → prefix = "../".repeat(depth) + "dist/lib/"
|
|
17
|
+
const rel = path.relative(root, path.dirname(file));
|
|
18
|
+
const depth = rel ? rel.split(path.sep).length : 0;
|
|
19
|
+
const prefix = "../".repeat(depth) + "dist/";
|
|
20
|
+
|
|
21
|
+
content = content
|
|
22
|
+
.replace(/from\s+['"]@\/lib\/([^'"]+)['"]/g, (m, imp) => {
|
|
23
|
+
const resolved = imp.endsWith(".js") ? imp : imp + ".js";
|
|
24
|
+
return `from '${prefix}lib/${resolved}'`;
|
|
25
|
+
})
|
|
26
|
+
.replace(/from\s+['"]@\/shared\/([^'"]+)['"]/g, (m, imp) => {
|
|
27
|
+
const resolved = imp.endsWith(".js") ? imp : imp + ".js";
|
|
28
|
+
return `from '${prefix}shared/${resolved}'`;
|
|
29
|
+
})
|
|
30
|
+
.replace(/from\s+['"]@\/store\/([^'"]+)['"]/g, (m, imp) => {
|
|
31
|
+
const resolved = imp.endsWith(".js") ? imp : imp + ".js";
|
|
32
|
+
return `from '${prefix}store/${resolved}'`;
|
|
33
|
+
})
|
|
34
|
+
.replace(/from\s+['"]@\/utils\/([^'"]+)['"]/g, (m, imp) => {
|
|
35
|
+
const resolved = imp.endsWith(".js") ? imp : imp + ".js";
|
|
36
|
+
return `from '${prefix}utils/${resolved}'`;
|
|
37
|
+
})
|
|
38
|
+
.replace(/from\s+['"]@\/services\/([^'"]+)['"]/g, (m, imp) => {
|
|
39
|
+
const resolved = imp.endsWith(".js") ? imp : imp + ".js";
|
|
40
|
+
return `from '${prefix}services/${resolved}'`;
|
|
41
|
+
})
|
|
42
|
+
.replace(/import\s+['"]@\/lib\/([^'"]+)['"]/g, (m, imp) => {
|
|
43
|
+
const resolved = imp.endsWith(".js") ? imp : imp + ".js";
|
|
44
|
+
return `import '${prefix}lib/${resolved}'`;
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
if (content !== orig) {
|
|
48
|
+
fs.writeFileSync(file, content);
|
|
49
|
+
console.log(` [rewrite] ${path.relative(root, file)}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function walk(dir) {
|
|
54
|
+
for (const e of fs.readdirSync(dir, { withFileTypes: true })) {
|
|
55
|
+
const p = path.join(dir, e.name);
|
|
56
|
+
if (e.isDirectory()) walk(p);
|
|
57
|
+
else if (e.name.endsWith(".js")) rewrite(p);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
console.log("[rewriteSseImports] Rewriting @/ imports in open-sse/...");
|
|
62
|
+
walk(sseDir);
|
|
63
|
+
console.log("[rewriteSseImports] Done.");
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
GITHUB_COPILOT_CHAT_USER_AGENT,
|
|
5
5
|
getQwenOauthHeaders
|
|
6
6
|
} from "./providerHeaderProfiles.ts";
|
|
7
|
-
import { normalizeCliCompatProviderId } from '../../shared/utils/cliCompat.js';
|
|
7
|
+
import { normalizeCliCompatProviderId } from '../../dist/shared/utils/cliCompat.js';
|
|
8
8
|
const CLI_FINGERPRINTS = {
|
|
9
9
|
codex: {
|
|
10
10
|
headerOrder: [
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
mergeUpstreamExtraHeaders
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
|
-
import { normalizeSessionCookieHeader } from '../../lib/providers/webCookieAuth.js';
|
|
7
|
+
import { normalizeSessionCookieHeader } from '../../dist/lib/providers/webCookieAuth.js';
|
|
8
8
|
import { prepareToolMessages, buildToolAwareResult } from "../translator/webTools.ts";
|
|
9
9
|
const BLACKBOX_CHAT_API = "https://app.blackbox.ai/api/chat";
|
|
10
10
|
const BLACKBOX_DEFAULT_COOKIE = "next-auth.session-token";
|
|
@@ -2,7 +2,7 @@ import { BaseExecutor, mergeAbortSignals } from "./base.ts";
|
|
|
2
2
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
3
3
|
import { tlsFetchClaude } from "../services/claudeTlsClient.ts";
|
|
4
4
|
import { getCfClearanceToken } from "../services/claudeTurnstileSolver.ts";
|
|
5
|
-
import { normalizeSessionCookieHeader } from '../../lib/providers/webCookieAuth.js';
|
|
5
|
+
import { normalizeSessionCookieHeader } from '../../dist/lib/providers/webCookieAuth.js';
|
|
6
6
|
import { randomUUID } from "crypto";
|
|
7
7
|
import { sanitizeErrorMessage } from "../utils/error.js";
|
|
8
8
|
import { tryBackedChat } from "../services/browserBackedChat.ts";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { isVisionModelId } from '../../shared/constants/visionModels.js';
|
|
2
|
+
import { isVisionModelId } from '../../dist/shared/constants/visionModels.js';
|
|
3
3
|
import { REGISTRY } from "../config/providerRegistry.ts";
|
|
4
4
|
import { BaseExecutor, mergeUpstreamExtraHeaders } from "./base.ts";
|
|
5
5
|
const COMMAND_CODE_VERSION = process.env.COMMAND_CODE_VERSION?.trim() || "0.33.2";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
isGitLabDirectAccessDisabled,
|
|
21
21
|
parseGitLabDirectAccessDetails,
|
|
22
22
|
resolveGitLabOAuthBaseUrl
|
|
23
|
-
} from '../../lib/oauth/gitlab.js';
|
|
23
|
+
} from '../../dist/lib/oauth/gitlab.js';
|
|
24
24
|
const MAX_TOOL_EXCHANGE_CHARS = 24e3;
|
|
25
25
|
const MAX_TOOL_RESULT_CHARS = 8e3;
|
|
26
26
|
const MAX_USER_INSTRUCTION_CHARS = 4e3;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
7
|
import { buildErrorBody, sanitizeErrorMessage } from "../utils/error.js";
|
|
8
|
-
import { normalizeSessionCookieHeader } from '../../lib/providers/webCookieAuth.js';
|
|
8
|
+
import { normalizeSessionCookieHeader } from '../../dist/lib/providers/webCookieAuth.js';
|
|
9
9
|
import { streamJsonlToOpenAi, readJsonlResponse } from "./huggingchat/jsonlStream.ts";
|
|
10
10
|
const HUGGINGFACE_BASE = "https://huggingface.co";
|
|
11
11
|
const CONVERSATION_URL = `${HUGGINGFACE_BASE}/chat/conversation`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseExecutor } from "./base.ts";
|
|
2
2
|
import { makeExecutorErrorResult as makeErrorResult, sanitizeErrorMessage } from "../utils/error.js";
|
|
3
|
-
import { extractKimiJwt } from '../../lib/providers/webCookieAuth.js';
|
|
3
|
+
import { extractKimiJwt } from '../../dist/lib/providers/webCookieAuth.js';
|
|
4
4
|
const BASE_URL = "https://www.kimi.com";
|
|
5
5
|
const CHAT_URL = `${BASE_URL}/apiv2/kimi.gateway.chat.v1.ChatService/Chat`;
|
|
6
6
|
const USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36";
|
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
7
|
import { buildErrorBody } from "../utils/error.js";
|
|
8
|
-
import { getSupervisor } from '../../lib/services/registry.js';
|
|
9
|
-
import { getOrCreateApiKey } from '../../lib/services/apiKey.js';
|
|
8
|
+
import { getSupervisor } from '../../dist/lib/services/registry.js';
|
|
9
|
+
import { getOrCreateApiKey } from '../../dist/lib/services/apiKey.js';
|
|
10
10
|
const DEFAULT_PORT = 20130;
|
|
11
11
|
const DEFAULT_HOST = "127.0.0.1";
|
|
12
12
|
const HEALTH_CHECK_TIMEOUT_MS = 3e3;
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
* different model upstream, so a missing entry is a hard error.
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
import { qoderEncodeBody } from '../../lib/qoder/encoding.js';
|
|
24
|
-
import { buildCosyHeaders } from '../../lib/qoder/cosy.js';
|
|
23
|
+
import { qoderEncodeBody } from '../../dist/lib/qoder/encoding.js';
|
|
24
|
+
import { buildCosyHeaders } from '../../dist/lib/qoder/cosy.js';
|
|
25
25
|
import { v4 as uuidv4 } from "uuid";
|
|
26
26
|
import { createHash } from "crypto";
|
|
27
27
|
|
|
@@ -31,7 +31,7 @@ import { proxyAwareFetch } from "../utils/proxyFetch.js";
|
|
|
31
31
|
import {
|
|
32
32
|
QODER_CHAT_URL_ENCODED,
|
|
33
33
|
QODER_MODEL_MAP,
|
|
34
|
-
} from '../../lib/qoder/constants.js';
|
|
34
|
+
} from '../../dist/lib/qoder/constants.js';
|
|
35
35
|
import { getQoderModelConfig, resolveQoderModels } from "../services/qoderModels.js";
|
|
36
36
|
|
|
37
37
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseExecutor } from "./base.ts";
|
|
2
2
|
import { makeExecutorErrorResult as makeErrorResult } from "../utils/error.js";
|
|
3
3
|
import { prepareToolMessages, buildToolAwareResult } from "../translator/webTools.ts";
|
|
4
|
-
import { buildQwenCookieHeader, extractQwenToken } from '../../lib/providers/webCookieAuth.js';
|
|
4
|
+
import { buildQwenCookieHeader, extractQwenToken } from '../../dist/lib/providers/webCookieAuth.js';
|
|
5
5
|
const BASE_URL = "https://chat.qwen.ai";
|
|
6
6
|
const CHATS_NEW_URL = `${BASE_URL}/api/v2/chats/new`;
|
|
7
7
|
const CHAT_COMPLETIONS_URL = `${BASE_URL}/api/v2/chat/completions`;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
7
|
import { buildErrorBody, sanitizeErrorMessage } from "../utils/error.js";
|
|
8
|
-
import { extractCookieValue, stripCookieInputPrefix } from '../../lib/providers/webCookieAuth.js';
|
|
8
|
+
import { extractCookieValue, stripCookieInputPrefix } from '../../dist/lib/providers/webCookieAuth.js';
|
|
9
9
|
const YUANBAO_BASE = "https://yuanbao.tencent.com";
|
|
10
10
|
const CREATE_URL = `${YUANBAO_BASE}/api/user/agent/conversation/create`;
|
|
11
11
|
const CHAT_URL = `${YUANBAO_BASE}/api/chat`;
|
|
@@ -6,7 +6,7 @@ import { createErrorResult } from "../../utils/error.js";
|
|
|
6
6
|
import { HTTP_STATUS } from "../../config/runtimeConfig.js";
|
|
7
7
|
import { parseSSEToOpenAIResponse } from "./sseToJsonHandler.js";
|
|
8
8
|
import { buildRequestDetail, extractRequestConfig, extractUsageFromResponse, saveUsageStats } from "./requestDetail.js";
|
|
9
|
-
import { appendRequestLog, saveRequestDetail } from '../../../lib/usageDb.js';
|
|
9
|
+
import { appendRequestLog, saveRequestDetail } from '../../../dist/lib/usageDb.js';
|
|
10
10
|
import { decloakToolNames } from "../../utils/claudeCloaking.js";
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { saveRequestUsage, appendRequestLog, saveRequestDetail } from '../../../lib/usageDb.js';
|
|
1
|
+
import { saveRequestUsage, appendRequestLog, saveRequestDetail } from '../../../dist/lib/usageDb.js';
|
|
2
2
|
import { COLORS } from "../../utils/stream.js";
|
|
3
3
|
|
|
4
4
|
const OPTIONAL_PARAMS = [
|
|
@@ -3,7 +3,7 @@ import { createErrorResult } from "../../utils/error.js";
|
|
|
3
3
|
import { HTTP_STATUS } from "../../config/runtimeConfig.js";
|
|
4
4
|
import { FORMATS } from "../../translator/formats.js";
|
|
5
5
|
import { buildRequestDetail, extractRequestConfig, saveUsageStats } from "./requestDetail.js";
|
|
6
|
-
import { saveRequestDetail, appendRequestLog } from '../../../lib/usageDb.js';
|
|
6
|
+
import { saveRequestDetail, appendRequestLog } from '../../../dist/lib/usageDb.js';
|
|
7
7
|
|
|
8
8
|
function textFromResponsesMessageItem(item) {
|
|
9
9
|
if (!item?.content || !Array.isArray(item.content)) return "";
|
|
@@ -4,7 +4,7 @@ import { createSSETransformStreamWithLogger, createPassthroughStreamWithLogger }
|
|
|
4
4
|
import { pipeWithDisconnect } from "../../utils/streamHandler.js";
|
|
5
5
|
import { buildAbortedResponsesTerminalBytes } from "../../utils/responsesStreamHelpers.js";
|
|
6
6
|
import { buildRequestDetail, extractRequestConfig, saveUsageStats } from "./requestDetail.js";
|
|
7
|
-
import { saveRequestDetail } from '../../../lib/usageDb.js';
|
|
7
|
+
import { saveRequestDetail } from '../../../dist/lib/usageDb.js';
|
|
8
8
|
|
|
9
9
|
const SSE_HEADERS = {
|
|
10
10
|
"Content-Type": "text/event-stream",
|
|
@@ -11,7 +11,7 @@ import { PROVIDERS } from "../config/providers.js";
|
|
|
11
11
|
import { createErrorResult, parseUpstreamError, formatProviderError } from "../utils/error.js";
|
|
12
12
|
import { HTTP_STATUS } from "../config/runtimeConfig.js";
|
|
13
13
|
import { handleBypassRequest } from "../utils/bypassHandler.js";
|
|
14
|
-
import { trackPendingRequest, appendRequestLog, saveRequestDetail } from '../../lib/usageDb.js';
|
|
14
|
+
import { trackPendingRequest, appendRequestLog, saveRequestDetail } from '../../dist/lib/usageDb.js';
|
|
15
15
|
import { getExecutor } from "../executors/index.js";
|
|
16
16
|
import { buildRequestDetail, extractRequestConfig } from "./chatCore/requestDetail.js";
|
|
17
17
|
import { handleForcedSSEToJson } from "./chatCore/sseToJsonHandler.js";
|
|
@@ -39,7 +39,7 @@ import path from "path";
|
|
|
39
39
|
import { execFile } from "child_process";
|
|
40
40
|
import { promisify } from "util";
|
|
41
41
|
import { PROVIDER_MODELS } from "../../config/providerModels.js";
|
|
42
|
-
import { updateProviderConnection } from '../../../lib/localDb.js';
|
|
42
|
+
import { updateProviderConnection } from '../../../dist/lib/localDb.js';
|
|
43
43
|
|
|
44
44
|
const TEMPLATE_ID = "SZXXYN7L9PN2SCTVYAlt";
|
|
45
45
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import { execFile } from "child_process";
|
|
3
3
|
import { promisify } from "util";
|
|
4
|
-
import { updateProviderConnection } from '../../../lib/localDb.js';
|
|
4
|
+
import { updateProviderConnection } from '../../../dist/lib/localDb.js';
|
|
5
5
|
|
|
6
6
|
// 10 MB buffer — video polling can produce large stderr logs
|
|
7
7
|
const MAX_BUFFER = 10 * 1024 * 1024;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { getCatalog, getSkillById, filterCatalog, computeCoverage, fetchSkillMarkdown } from '../../../lib/agentSkills/catalog.js';
|
|
2
|
+
import { getCatalog, getSkillById, filterCatalog, computeCoverage, fetchSkillMarkdown } from '../../../dist/lib/agentSkills/catalog.js';
|
|
3
3
|
const AgentSkillsListSchema = z.object({
|
|
4
4
|
category: z.enum(["api", "cli"]).optional().describe("Filter by category: 'api' or 'cli'"),
|
|
5
5
|
area: z.string().optional().describe("Filter by area (e.g. 'providers', 'models', 'cli-serve')")
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
GitHubSkillsSearchSchema,
|
|
7
7
|
GitHubSkillsScanSchema,
|
|
8
8
|
GitHubSkillsInstallSchema
|
|
9
|
-
} from '../../../lib/skills/githubCollector.js';
|
|
9
|
+
} from '../../../dist/lib/skills/githubCollector.js';
|
|
10
10
|
async function handleSearch(args) {
|
|
11
11
|
const { repos, errors } = await searchGitHubSkills({
|
|
12
12
|
minStars: args.minStars,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { retrieveMemories } from '../../../lib/memory/retrieval.js';
|
|
3
|
-
import { createMemory, deleteMemory, listMemories } from '../../../lib/memory/store.js';
|
|
2
|
+
import { retrieveMemories } from '../../../dist/lib/memory/retrieval.js';
|
|
3
|
+
import { createMemory, deleteMemory, listMemories } from '../../../dist/lib/memory/store.js';
|
|
4
4
|
import {
|
|
5
5
|
getMemorySettings,
|
|
6
6
|
toMemoryRetrievalConfig,
|
|
7
7
|
DEFAULT_MEMORY_SETTINGS
|
|
8
|
-
} from '../../../lib/memory/settings.js';
|
|
8
|
+
} from '../../../dist/lib/memory/settings.js';
|
|
9
9
|
const MemorySearchSchema = z.object({
|
|
10
10
|
apiKeyId: z.string(),
|
|
11
11
|
query: z.string().optional(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { skillRegistry } from '../../../lib/skills/registry.js';
|
|
3
|
-
import { skillExecutor } from '../../../lib/skills/executor.js';
|
|
2
|
+
import { skillRegistry } from '../../../dist/lib/skills/registry.js';
|
|
3
|
+
import { skillExecutor } from '../../../dist/lib/skills/executor.js';
|
|
4
4
|
const SkillListSchema = z.object({
|
|
5
5
|
apiKeyId: z.string().optional(),
|
|
6
6
|
name: z.string().optional(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFeatureFlagEnabled } from '../../shared/utils/featureFlags.js';
|
|
1
|
+
import { isFeatureFlagEnabled } from '../../dist/shared/utils/featureFlags.js';
|
|
2
2
|
const EMERGENCY_FALLBACK_FLAG_KEY = "OMNIROUTE_EMERGENCY_FALLBACK";
|
|
3
3
|
const EMERGENCY_FALLBACK_FLAG_CACHE_MS = 500;
|
|
4
4
|
let emergencyFallbackFlagCache = null;
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
findWorkingProxy,
|
|
3
3
|
clearProxyFallbackCache
|
|
4
4
|
} from "@omniroute/open-sse/utils/proxyFallback.ts";
|
|
5
|
-
import { isFeatureFlagEnabled } from '../../shared/utils/featureFlags.js';
|
|
5
|
+
import { isFeatureFlagEnabled } from '../../dist/shared/utils/featureFlags.js';
|
|
6
6
|
async function selectProxyForValidation(targetUrl) {
|
|
7
7
|
if (!isFeatureFlagEnabled("PROXY_AUTO_SELECT_ENABLED")) return null;
|
|
8
8
|
if (!targetUrl) return null;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
parseAndValidatePublicUrl,
|
|
6
6
|
isPrivateHost,
|
|
7
7
|
OutboundUrlGuardError
|
|
8
|
-
} from '../../shared/network/outboundUrlGuard.js';
|
|
8
|
+
} from '../../dist/shared/network/outboundUrlGuard.js';
|
|
9
9
|
const MAX_CURSOR_IMAGE_BYTES = 1024 * 1024;
|
|
10
10
|
const MAX_CURSOR_IMAGES = 12;
|
|
11
11
|
const IMAGE_FETCH_TIMEOUT_MS = (() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NOAUTH_PROVIDERS } from '../../shared/constants/providers.js';
|
|
2
|
-
import { APIKEY_PROVIDERS } from '../../shared/constants/providers.js';
|
|
3
|
-
import { WEB_COOKIE_PROVIDERS } from '../../shared/constants/providers.js';
|
|
4
|
-
import { WEB_SESSION_CREDENTIAL_REQUIREMENTS } from '../../shared/providers/webSessionCredentials.js';
|
|
1
|
+
import { NOAUTH_PROVIDERS } from '../../dist/shared/constants/providers.js';
|
|
2
|
+
import { APIKEY_PROVIDERS } from '../../dist/shared/constants/providers.js';
|
|
3
|
+
import { WEB_COOKIE_PROVIDERS } from '../../dist/shared/constants/providers.js';
|
|
4
|
+
import { WEB_SESSION_CREDENTIAL_REQUIREMENTS } from '../../dist/shared/providers/webSessionCredentials.js';
|
|
5
5
|
const DEFAULT_THRESHOLD_MS = 2e3;
|
|
6
6
|
const SLOW_THRESHOLD_MS = 15e3;
|
|
7
7
|
const SLOW_PROVIDER_IDS = /* @__PURE__ */ new Set();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getModelSpec } from '../../shared/constants/modelSpecs.js';
|
|
1
|
+
import { getModelSpec } from '../../dist/shared/constants/modelSpecs.js';
|
|
2
2
|
const NO_THINKING_PREFIX = "no-think/";
|
|
3
3
|
function isNoThinkingAlias(modelId) {
|
|
4
4
|
return typeof modelId === "string" && modelId.startsWith(NO_THINKING_PREFIX);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
2
|
|
|
3
|
-
import { updatePendingScope } from '../../lib/usage/pendingRequestScope.js';
|
|
3
|
+
import { updatePendingScope } from '../../dist/lib/usage/pendingRequestScope.js';
|
|
4
4
|
|
|
5
5
|
const CAPTURE_STATE_KEY = Symbol.for("omniroute.providerRequestCapture.state");
|
|
6
6
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isOpenAIResponsesStoreEnabled } from '../../lib/providers/requestDefaults.js';
|
|
1
|
+
import { isOpenAIResponsesStoreEnabled } from '../../dist/lib/providers/requestDefaults.js';
|
|
2
2
|
import {
|
|
3
3
|
DEFAULT_RESPONSES_PREVIOUS_RESPONSE_ID_MODE,
|
|
4
4
|
RESPONSES_PREVIOUS_RESPONSE_ID_MODES
|
|
5
|
-
} from '../../shared/constants/responsesPreviousResponseId.js';
|
|
5
|
+
} from '../../dist/shared/constants/responsesPreviousResponseId.js';
|
|
6
6
|
import { FORMATS } from "../translator/formats.ts";
|
|
7
7
|
const MODE_SET = new Set(RESPONSES_PREVIOUS_RESPONSE_ID_MODES);
|
|
8
8
|
function toRecord(value) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { translateResponse, initState } from "../translator/index.js";
|
|
2
2
|
import { FORMATS } from "../translator/formats.js";
|
|
3
|
-
import { trackPendingRequest, appendRequestLog } from '../../lib/usageDb.js';
|
|
3
|
+
import { trackPendingRequest, appendRequestLog } from '../../dist/lib/usageDb.js';
|
|
4
4
|
import { extractUsage, hasValidUsage, estimateUsage, logUsage, addBufferToUsage, filterUsageForFormat, COLORS } from "./usageTracking.js";
|
|
5
5
|
import { parseSSELine, hasValuableContent, fixInvalidId, formatSSE } from "./streamHelpers.js";
|
|
6
6
|
import { getOpenAIResponsesEventName, isOpenAIResponsesTerminalEvent, formatIncompleteOpenAIResponsesStreamFailure } from "./responsesStreamHelpers.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
finalizeMostRecentPendingRequest,
|
|
3
3
|
finalizePendingRequestById,
|
|
4
|
-
} from '../../lib/usage/usageHistory.js';
|
|
4
|
+
} from '../../dist/lib/usage/usageHistory.js';
|
|
5
5
|
|
|
6
6
|
import { HTTP_STATUS } from "../config/constants.js";
|
|
7
7
|
import { buildErrorBody } from "./error.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Token Usage Tracking - Extract, normalize, estimate and log token usage
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { saveRequestUsage, appendRequestLog } from '../../lib/usageDb.js';
|
|
5
|
+
import { saveRequestUsage, appendRequestLog } from '../../dist/lib/usageDb.js';
|
|
6
6
|
import { FORMATS } from "../translator/formats.js";
|
|
7
7
|
|
|
8
8
|
// ANSI color codes
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
GITHUB_COPILOT_CHAT_USER_AGENT,
|
|
5
5
|
getQwenOauthHeaders
|
|
6
6
|
} from "./providerHeaderProfiles.ts";
|
|
7
|
-
import { normalizeCliCompatProviderId } from
|
|
7
|
+
import { normalizeCliCompatProviderId } from '../../dist/shared/utils/cliCompat.js';
|
|
8
8
|
const CLI_FINGERPRINTS = {
|
|
9
9
|
codex: {
|
|
10
10
|
headerOrder: [
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
mergeUpstreamExtraHeaders
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
|
-
import { normalizeSessionCookieHeader } from
|
|
7
|
+
import { normalizeSessionCookieHeader } from '../../dist/lib/providers/webCookieAuth.js';
|
|
8
8
|
import { prepareToolMessages, buildToolAwareResult } from "../translator/webTools.ts";
|
|
9
9
|
const BLACKBOX_CHAT_API = "https://app.blackbox.ai/api/chat";
|
|
10
10
|
const BLACKBOX_DEFAULT_COOKIE = "next-auth.session-token";
|
|
@@ -2,7 +2,7 @@ import { BaseExecutor, mergeAbortSignals } from "./base.ts";
|
|
|
2
2
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
3
3
|
import { tlsFetchClaude } from "../services/claudeTlsClient.ts";
|
|
4
4
|
import { getCfClearanceToken } from "../services/claudeTurnstileSolver.ts";
|
|
5
|
-
import { normalizeSessionCookieHeader } from
|
|
5
|
+
import { normalizeSessionCookieHeader } from '../../dist/lib/providers/webCookieAuth.js';
|
|
6
6
|
import { randomUUID } from "crypto";
|
|
7
7
|
import { sanitizeErrorMessage } from "../utils/error.js";
|
|
8
8
|
import { tryBackedChat } from "../services/browserBackedChat.ts";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { isVisionModelId } from
|
|
2
|
+
import { isVisionModelId } from '../../dist/shared/constants/visionModels.js';
|
|
3
3
|
import { REGISTRY } from "../config/providerRegistry.ts";
|
|
4
4
|
import { BaseExecutor, mergeUpstreamExtraHeaders } from "./base.ts";
|
|
5
5
|
const COMMAND_CODE_VERSION = process.env.COMMAND_CODE_VERSION?.trim() || "0.33.2";
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
isGitLabDirectAccessDisabled,
|
|
21
21
|
parseGitLabDirectAccessDetails,
|
|
22
22
|
resolveGitLabOAuthBaseUrl
|
|
23
|
-
} from
|
|
23
|
+
} from '../../dist/lib/oauth/gitlab.js';
|
|
24
24
|
const MAX_TOOL_EXCHANGE_CHARS = 24e3;
|
|
25
25
|
const MAX_TOOL_RESULT_CHARS = 8e3;
|
|
26
26
|
const MAX_USER_INSTRUCTION_CHARS = 4e3;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
7
|
import { buildErrorBody, sanitizeErrorMessage } from "../utils/error.js";
|
|
8
|
-
import { normalizeSessionCookieHeader } from
|
|
8
|
+
import { normalizeSessionCookieHeader } from '../../dist/lib/providers/webCookieAuth.js';
|
|
9
9
|
import { streamJsonlToOpenAi, readJsonlResponse } from "./huggingchat/jsonlStream.ts";
|
|
10
10
|
const HUGGINGFACE_BASE = "https://huggingface.co";
|
|
11
11
|
const CONVERSATION_URL = `${HUGGINGFACE_BASE}/chat/conversation`;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseExecutor } from "./base.ts";
|
|
2
2
|
import { makeExecutorErrorResult as makeErrorResult, sanitizeErrorMessage } from "../utils/error.js";
|
|
3
|
-
import { extractKimiJwt } from
|
|
3
|
+
import { extractKimiJwt } from '../../dist/lib/providers/webCookieAuth.js';
|
|
4
4
|
const BASE_URL = "https://www.kimi.com";
|
|
5
5
|
const CHAT_URL = `${BASE_URL}/apiv2/kimi.gateway.chat.v1.ChatService/Chat`;
|
|
6
6
|
const USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36";
|
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
7
|
import { buildErrorBody } from "../utils/error.js";
|
|
8
|
-
import { getSupervisor } from
|
|
9
|
-
import { getOrCreateApiKey } from
|
|
8
|
+
import { getSupervisor } from '../../dist/lib/services/registry.js';
|
|
9
|
+
import { getOrCreateApiKey } from '../../dist/lib/services/apiKey.js';
|
|
10
10
|
const DEFAULT_PORT = 20130;
|
|
11
11
|
const DEFAULT_HOST = "127.0.0.1";
|
|
12
12
|
const HEALTH_CHECK_TIMEOUT_MS = 3e3;
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
* different model upstream, so a missing entry is a hard error.
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
import { qoderEncodeBody } from
|
|
24
|
-
import { buildCosyHeaders } from
|
|
23
|
+
import { qoderEncodeBody } from '../../dist/lib/qoder/encoding.js';
|
|
24
|
+
import { buildCosyHeaders } from '../../dist/lib/qoder/cosy.js';
|
|
25
25
|
import { v4 as uuidv4 } from "uuid";
|
|
26
26
|
import { createHash } from "crypto";
|
|
27
27
|
|
|
@@ -31,7 +31,7 @@ import { proxyAwareFetch } from "../utils/proxyFetch.js";
|
|
|
31
31
|
import {
|
|
32
32
|
QODER_CHAT_URL_ENCODED,
|
|
33
33
|
QODER_MODEL_MAP,
|
|
34
|
-
} from
|
|
34
|
+
} from '../../dist/lib/qoder/constants.js';
|
|
35
35
|
import { getQoderModelConfig, resolveQoderModels } from "../services/qoderModels.js";
|
|
36
36
|
|
|
37
37
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseExecutor } from "./base.ts";
|
|
2
2
|
import { makeExecutorErrorResult as makeErrorResult } from "../utils/error.js";
|
|
3
3
|
import { prepareToolMessages, buildToolAwareResult } from "../translator/webTools.ts";
|
|
4
|
-
import { buildQwenCookieHeader, extractQwenToken } from
|
|
4
|
+
import { buildQwenCookieHeader, extractQwenToken } from '../../dist/lib/providers/webCookieAuth.js';
|
|
5
5
|
const BASE_URL = "https://chat.qwen.ai";
|
|
6
6
|
const CHATS_NEW_URL = `${BASE_URL}/api/v2/chats/new`;
|
|
7
7
|
const CHAT_COMPLETIONS_URL = `${BASE_URL}/api/v2/chat/completions`;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./base.ts";
|
|
6
6
|
import { FETCH_TIMEOUT_MS } from "../config/constants.ts";
|
|
7
7
|
import { buildErrorBody, sanitizeErrorMessage } from "../utils/error.js";
|
|
8
|
-
import { extractCookieValue, stripCookieInputPrefix } from
|
|
8
|
+
import { extractCookieValue, stripCookieInputPrefix } from '../../dist/lib/providers/webCookieAuth.js';
|
|
9
9
|
const YUANBAO_BASE = "https://yuanbao.tencent.com";
|
|
10
10
|
const CREATE_URL = `${YUANBAO_BASE}/api/user/agent/conversation/create`;
|
|
11
11
|
const CHAT_URL = `${YUANBAO_BASE}/api/chat`;
|
|
@@ -6,7 +6,7 @@ import { createErrorResult } from "../../utils/error.js";
|
|
|
6
6
|
import { HTTP_STATUS } from "../../config/runtimeConfig.js";
|
|
7
7
|
import { parseSSEToOpenAIResponse } from "./sseToJsonHandler.js";
|
|
8
8
|
import { buildRequestDetail, extractRequestConfig, extractUsageFromResponse, saveUsageStats } from "./requestDetail.js";
|
|
9
|
-
import { appendRequestLog, saveRequestDetail } from
|
|
9
|
+
import { appendRequestLog, saveRequestDetail } from '../../../dist/lib/usageDb.js';
|
|
10
10
|
import { decloakToolNames } from "../../utils/claudeCloaking.js";
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { saveRequestUsage, appendRequestLog, saveRequestDetail } from
|
|
1
|
+
import { saveRequestUsage, appendRequestLog, saveRequestDetail } from '../../../dist/lib/usageDb.js';
|
|
2
2
|
import { COLORS } from "../../utils/stream.js";
|
|
3
3
|
|
|
4
4
|
const OPTIONAL_PARAMS = [
|
|
@@ -3,7 +3,7 @@ import { createErrorResult } from "../../utils/error.js";
|
|
|
3
3
|
import { HTTP_STATUS } from "../../config/runtimeConfig.js";
|
|
4
4
|
import { FORMATS } from "../../translator/formats.js";
|
|
5
5
|
import { buildRequestDetail, extractRequestConfig, saveUsageStats } from "./requestDetail.js";
|
|
6
|
-
import { saveRequestDetail, appendRequestLog } from
|
|
6
|
+
import { saveRequestDetail, appendRequestLog } from '../../../dist/lib/usageDb.js';
|
|
7
7
|
|
|
8
8
|
function textFromResponsesMessageItem(item) {
|
|
9
9
|
if (!item?.content || !Array.isArray(item.content)) return "";
|
|
@@ -4,7 +4,7 @@ import { createSSETransformStreamWithLogger, createPassthroughStreamWithLogger }
|
|
|
4
4
|
import { pipeWithDisconnect } from "../../utils/streamHandler.js";
|
|
5
5
|
import { buildAbortedResponsesTerminalBytes } from "../../utils/responsesStreamHelpers.js";
|
|
6
6
|
import { buildRequestDetail, extractRequestConfig, saveUsageStats } from "./requestDetail.js";
|
|
7
|
-
import { saveRequestDetail } from
|
|
7
|
+
import { saveRequestDetail } from '../../../dist/lib/usageDb.js';
|
|
8
8
|
|
|
9
9
|
const SSE_HEADERS = {
|
|
10
10
|
"Content-Type": "text/event-stream",
|
|
@@ -11,7 +11,7 @@ import { PROVIDERS } from "../config/providers.js";
|
|
|
11
11
|
import { createErrorResult, parseUpstreamError, formatProviderError } from "../utils/error.js";
|
|
12
12
|
import { HTTP_STATUS } from "../config/runtimeConfig.js";
|
|
13
13
|
import { handleBypassRequest } from "../utils/bypassHandler.js";
|
|
14
|
-
import { trackPendingRequest, appendRequestLog, saveRequestDetail } from
|
|
14
|
+
import { trackPendingRequest, appendRequestLog, saveRequestDetail } from '../../dist/lib/usageDb.js';
|
|
15
15
|
import { getExecutor } from "../executors/index.js";
|
|
16
16
|
import { buildRequestDetail, extractRequestConfig } from "./chatCore/requestDetail.js";
|
|
17
17
|
import { handleForcedSSEToJson } from "./chatCore/sseToJsonHandler.js";
|
|
@@ -39,7 +39,7 @@ import path from "path";
|
|
|
39
39
|
import { execFile } from "child_process";
|
|
40
40
|
import { promisify } from "util";
|
|
41
41
|
import { PROVIDER_MODELS } from "../../config/providerModels.js";
|
|
42
|
-
import { updateProviderConnection } from
|
|
42
|
+
import { updateProviderConnection } from '../../../dist/lib/localDb.js';
|
|
43
43
|
|
|
44
44
|
const TEMPLATE_ID = "SZXXYN7L9PN2SCTVYAlt";
|
|
45
45
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import { execFile } from "child_process";
|
|
3
3
|
import { promisify } from "util";
|
|
4
|
-
import { updateProviderConnection } from
|
|
4
|
+
import { updateProviderConnection } from '../../../dist/lib/localDb.js';
|
|
5
5
|
|
|
6
6
|
// 10 MB buffer — video polling can produce large stderr logs
|
|
7
7
|
const MAX_BUFFER = 10 * 1024 * 1024;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { getCatalog, getSkillById, filterCatalog, computeCoverage, fetchSkillMarkdown } from
|
|
2
|
+
import { getCatalog, getSkillById, filterCatalog, computeCoverage, fetchSkillMarkdown } from '../../../dist/lib/agentSkills/catalog.js';
|
|
3
3
|
const AgentSkillsListSchema = z.object({
|
|
4
4
|
category: z.enum(["api", "cli"]).optional().describe("Filter by category: 'api' or 'cli'"),
|
|
5
5
|
area: z.string().optional().describe("Filter by area (e.g. 'providers', 'models', 'cli-serve')")
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
GitHubSkillsSearchSchema,
|
|
7
7
|
GitHubSkillsScanSchema,
|
|
8
8
|
GitHubSkillsInstallSchema
|
|
9
|
-
} from
|
|
9
|
+
} from '../../../dist/lib/skills/githubCollector.js';
|
|
10
10
|
async function handleSearch(args) {
|
|
11
11
|
const { repos, errors } = await searchGitHubSkills({
|
|
12
12
|
minStars: args.minStars,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { retrieveMemories } from
|
|
3
|
-
import { createMemory, deleteMemory, listMemories } from
|
|
2
|
+
import { retrieveMemories } from '../../../dist/lib/memory/retrieval.js';
|
|
3
|
+
import { createMemory, deleteMemory, listMemories } from '../../../dist/lib/memory/store.js';
|
|
4
4
|
import {
|
|
5
5
|
getMemorySettings,
|
|
6
6
|
toMemoryRetrievalConfig,
|
|
7
7
|
DEFAULT_MEMORY_SETTINGS
|
|
8
|
-
} from
|
|
8
|
+
} from '../../../dist/lib/memory/settings.js';
|
|
9
9
|
const MemorySearchSchema = z.object({
|
|
10
10
|
apiKeyId: z.string(),
|
|
11
11
|
query: z.string().optional(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { skillRegistry } from
|
|
3
|
-
import { skillExecutor } from
|
|
2
|
+
import { skillRegistry } from '../../../dist/lib/skills/registry.js';
|
|
3
|
+
import { skillExecutor } from '../../../dist/lib/skills/executor.js';
|
|
4
4
|
const SkillListSchema = z.object({
|
|
5
5
|
apiKeyId: z.string().optional(),
|
|
6
6
|
name: z.string().optional(),
|
package/open-sse/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isFeatureFlagEnabled } from
|
|
1
|
+
import { isFeatureFlagEnabled } from '../../dist/shared/utils/featureFlags.js';
|
|
2
2
|
const EMERGENCY_FALLBACK_FLAG_KEY = "OMNIROUTE_EMERGENCY_FALLBACK";
|
|
3
3
|
const EMERGENCY_FALLBACK_FLAG_CACHE_MS = 500;
|
|
4
4
|
let emergencyFallbackFlagCache = null;
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
findWorkingProxy,
|
|
3
3
|
clearProxyFallbackCache
|
|
4
4
|
} from "@omniroute/open-sse/utils/proxyFallback.ts";
|
|
5
|
-
import { isFeatureFlagEnabled } from
|
|
5
|
+
import { isFeatureFlagEnabled } from '../../dist/shared/utils/featureFlags.js';
|
|
6
6
|
async function selectProxyForValidation(targetUrl) {
|
|
7
7
|
if (!isFeatureFlagEnabled("PROXY_AUTO_SELECT_ENABLED")) return null;
|
|
8
8
|
if (!targetUrl) return null;
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
parseAndValidatePublicUrl,
|
|
6
6
|
isPrivateHost,
|
|
7
7
|
OutboundUrlGuardError
|
|
8
|
-
} from
|
|
8
|
+
} from '../../dist/shared/network/outboundUrlGuard.js';
|
|
9
9
|
const MAX_CURSOR_IMAGE_BYTES = 1024 * 1024;
|
|
10
10
|
const MAX_CURSOR_IMAGES = 12;
|
|
11
11
|
const IMAGE_FETCH_TIMEOUT_MS = (() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { NOAUTH_PROVIDERS } from
|
|
2
|
-
import { APIKEY_PROVIDERS } from
|
|
3
|
-
import { WEB_COOKIE_PROVIDERS } from
|
|
4
|
-
import { WEB_SESSION_CREDENTIAL_REQUIREMENTS } from
|
|
1
|
+
import { NOAUTH_PROVIDERS } from '../../dist/shared/constants/providers.js';
|
|
2
|
+
import { APIKEY_PROVIDERS } from '../../dist/shared/constants/providers.js';
|
|
3
|
+
import { WEB_COOKIE_PROVIDERS } from '../../dist/shared/constants/providers.js';
|
|
4
|
+
import { WEB_SESSION_CREDENTIAL_REQUIREMENTS } from '../../dist/shared/providers/webSessionCredentials.js';
|
|
5
5
|
const DEFAULT_THRESHOLD_MS = 2e3;
|
|
6
6
|
const SLOW_THRESHOLD_MS = 15e3;
|
|
7
7
|
const SLOW_PROVIDER_IDS = /* @__PURE__ */ new Set();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getModelSpec } from
|
|
1
|
+
import { getModelSpec } from '../../dist/shared/constants/modelSpecs.js';
|
|
2
2
|
const NO_THINKING_PREFIX = "no-think/";
|
|
3
3
|
function isNoThinkingAlias(modelId) {
|
|
4
4
|
return typeof modelId === "string" && modelId.startsWith(NO_THINKING_PREFIX);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
2
|
|
|
3
|
-
import { updatePendingScope } from
|
|
3
|
+
import { updatePendingScope } from '../../dist/lib/usage/pendingRequestScope.js';
|
|
4
4
|
|
|
5
5
|
const CAPTURE_STATE_KEY = Symbol.for("omniroute.providerRequestCapture.state");
|
|
6
6
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isOpenAIResponsesStoreEnabled } from
|
|
1
|
+
import { isOpenAIResponsesStoreEnabled } from '../../dist/lib/providers/requestDefaults.js';
|
|
2
2
|
import {
|
|
3
3
|
DEFAULT_RESPONSES_PREVIOUS_RESPONSE_ID_MODE,
|
|
4
4
|
RESPONSES_PREVIOUS_RESPONSE_ID_MODES
|
|
5
|
-
} from
|
|
5
|
+
} from '../../dist/shared/constants/responsesPreviousResponseId.js';
|
|
6
6
|
import { FORMATS } from "../translator/formats.ts";
|
|
7
7
|
const MODE_SET = new Set(RESPONSES_PREVIOUS_RESPONSE_ID_MODES);
|
|
8
8
|
function toRecord(value) {
|
package/open-sse/utils/stream.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { translateResponse, initState } from "../translator/index.js";
|
|
2
2
|
import { FORMATS } from "../translator/formats.js";
|
|
3
|
-
import { trackPendingRequest, appendRequestLog } from
|
|
3
|
+
import { trackPendingRequest, appendRequestLog } from '../../dist/lib/usageDb.js';
|
|
4
4
|
import { extractUsage, hasValidUsage, estimateUsage, logUsage, addBufferToUsage, filterUsageForFormat, COLORS } from "./usageTracking.js";
|
|
5
5
|
import { parseSSELine, hasValuableContent, fixInvalidId, formatSSE } from "./streamHelpers.js";
|
|
6
6
|
import { getOpenAIResponsesEventName, isOpenAIResponsesTerminalEvent, formatIncompleteOpenAIResponsesStreamFailure } from "./responsesStreamHelpers.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
finalizeMostRecentPendingRequest,
|
|
3
3
|
finalizePendingRequestById,
|
|
4
|
-
} from
|
|
4
|
+
} from '../../dist/lib/usage/usageHistory.js';
|
|
5
5
|
|
|
6
6
|
import { HTTP_STATUS } from "../config/constants.js";
|
|
7
7
|
import { buildErrorBody } from "./error.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Token Usage Tracking - Extract, normalize, estimate and log token usage
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { saveRequestUsage, appendRequestLog } from
|
|
5
|
+
import { saveRequestUsage, appendRequestLog } from '../../dist/lib/usageDb.js';
|
|
6
6
|
import { FORMATS } from "../translator/formats.js";
|
|
7
7
|
|
|
8
8
|
// ANSI color codes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fudrouter/fsrouter",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.51",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "9Router v2 \u2014 Express Backend (API, SSE, DB, Auth, MITM)",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"dev": "tsx watch src/server.ts",
|
|
13
13
|
"start": "node dist/server.js",
|
|
14
|
-
"build": "tsc --project tsconfig.json || true && node bin/copyJs.js",
|
|
14
|
+
"build": "tsc --project tsconfig.json || true && node bin/rewriteSseImports.js && node bin/copyJs.js",
|
|
15
15
|
"typecheck": "tsc --noEmit"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|