@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.
Files changed (70) hide show
  1. package/bin/rewriteSseImports.js +63 -0
  2. package/dist/open-sse/config/cliFingerprints.js +1 -1
  3. package/dist/open-sse/executors/blackbox-web.js +1 -1
  4. package/dist/open-sse/executors/claude-web.js +1 -1
  5. package/dist/open-sse/executors/commandCode.js +1 -1
  6. package/dist/open-sse/executors/gitlab.js +1 -1
  7. package/dist/open-sse/executors/huggingchat.js +1 -1
  8. package/dist/open-sse/executors/kimi-web.js +1 -1
  9. package/dist/open-sse/executors/ninerouter.js +2 -2
  10. package/dist/open-sse/executors/qoder.js +3 -3
  11. package/dist/open-sse/executors/qwen-web.js +1 -1
  12. package/dist/open-sse/executors/yuanbao-web.js +1 -1
  13. package/dist/open-sse/handlers/chatCore/nonStreamingHandler.js +1 -1
  14. package/dist/open-sse/handlers/chatCore/requestDetail.js +1 -1
  15. package/dist/open-sse/handlers/chatCore/sseToJsonHandler.js +1 -1
  16. package/dist/open-sse/handlers/chatCore/streamingHandler.js +1 -1
  17. package/dist/open-sse/handlers/chatCore.js +1 -1
  18. package/dist/open-sse/handlers/imageProviders/weavy.js +1 -1
  19. package/dist/open-sse/handlers/videoProviders/weavy.js +1 -1
  20. package/dist/open-sse/mcp-server/tools/agentSkillTools.js +1 -1
  21. package/dist/open-sse/mcp-server/tools/githubSkillTools.js +1 -1
  22. package/dist/open-sse/mcp-server/tools/memoryTools.js +3 -3
  23. package/dist/open-sse/mcp-server/tools/skillTools.js +2 -2
  24. package/dist/open-sse/package.json +1 -0
  25. package/dist/open-sse/services/emergencyFallback.js +1 -1
  26. package/dist/open-sse/services/proxyAutoSelector.js +1 -1
  27. package/dist/open-sse/services/thinkingBudget.js +1 -1
  28. package/dist/open-sse/utils/cursorImages.js +1 -1
  29. package/dist/open-sse/utils/keepaliveThreshold.js +4 -4
  30. package/dist/open-sse/utils/noThinkingAlias.js +1 -1
  31. package/dist/open-sse/utils/providerRequestLogging.js +1 -1
  32. package/dist/open-sse/utils/responsesStatePolicy.js +2 -2
  33. package/dist/open-sse/utils/stream.js +1 -1
  34. package/dist/open-sse/utils/streamFailureFinalization.js +1 -1
  35. package/dist/open-sse/utils/usageTracking.js +1 -1
  36. package/open-sse/config/cliFingerprints.js +1 -1
  37. package/open-sse/executors/blackbox-web.js +1 -1
  38. package/open-sse/executors/claude-web.js +1 -1
  39. package/open-sse/executors/commandCode.js +1 -1
  40. package/open-sse/executors/gitlab.js +1 -1
  41. package/open-sse/executors/huggingchat.js +1 -1
  42. package/open-sse/executors/kimi-web.js +1 -1
  43. package/open-sse/executors/ninerouter.js +2 -2
  44. package/open-sse/executors/qoder.js +3 -3
  45. package/open-sse/executors/qwen-web.js +1 -1
  46. package/open-sse/executors/yuanbao-web.js +1 -1
  47. package/open-sse/handlers/chatCore/nonStreamingHandler.js +1 -1
  48. package/open-sse/handlers/chatCore/requestDetail.js +1 -1
  49. package/open-sse/handlers/chatCore/sseToJsonHandler.js +1 -1
  50. package/open-sse/handlers/chatCore/streamingHandler.js +1 -1
  51. package/open-sse/handlers/chatCore.js +1 -1
  52. package/open-sse/handlers/imageProviders/weavy.js +1 -1
  53. package/open-sse/handlers/videoProviders/weavy.js +1 -1
  54. package/open-sse/mcp-server/tools/agentSkillTools.js +1 -1
  55. package/open-sse/mcp-server/tools/githubSkillTools.js +1 -1
  56. package/open-sse/mcp-server/tools/memoryTools.js +3 -3
  57. package/open-sse/mcp-server/tools/skillTools.js +2 -2
  58. package/open-sse/package.json +1 -0
  59. package/open-sse/services/emergencyFallback.js +1 -1
  60. package/open-sse/services/proxyAutoSelector.js +1 -1
  61. package/open-sse/services/thinkingBudget.js +1 -1
  62. package/open-sse/utils/cursorImages.js +1 -1
  63. package/open-sse/utils/keepaliveThreshold.js +4 -4
  64. package/open-sse/utils/noThinkingAlias.js +1 -1
  65. package/open-sse/utils/providerRequestLogging.js +1 -1
  66. package/open-sse/utils/responsesStatePolicy.js +2 -2
  67. package/open-sse/utils/stream.js +1 -1
  68. package/open-sse/utils/streamFailureFinalization.js +1 -1
  69. package/open-sse/utils/usageTracking.js +1 -1
  70. 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,6 +1,7 @@
1
1
  {
2
2
  "name": "open-sse",
3
3
  "version": "1.0.4",
4
+ "private": true,
4
5
  "type": "module",
5
6
  "main": "index.js",
6
7
  "scripts": {
@@ -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;
@@ -13,7 +13,7 @@ import {
13
13
  getDefaultThinkingBudget,
14
14
  getResolvedModelCapabilities,
15
15
  supportsReasoning
16
- } from '../../lib/modelCapabilities.js';
16
+ } from '../../dist/lib/modelCapabilities.js';
17
17
  const EFFORT_BUDGETS = {
18
18
  none: 0,
19
19
  low: 1024,
@@ -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 "@/shared/utils/cliCompat";
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";
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";
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";
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";
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";
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";
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";
9
- import { getOrCreateApiKey } from "@/lib/services/apiKey";
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";
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";
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";
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";
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";
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";
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";
3
- import { createMemory, deleteMemory, listMemories } from "@/lib/memory/store";
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";
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";
3
- import { skillExecutor } from "@/lib/skills/executor";
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,6 +1,7 @@
1
1
  {
2
2
  "name": "open-sse",
3
3
  "version": "1.0.4",
4
+ "private": true,
4
5
  "type": "module",
5
6
  "main": "index.js",
6
7
  "scripts": {
@@ -1,4 +1,4 @@
1
- import { isFeatureFlagEnabled } from "@/shared/utils/featureFlags";
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";
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;
@@ -13,7 +13,7 @@ import {
13
13
  getDefaultThinkingBudget,
14
14
  getResolvedModelCapabilities,
15
15
  supportsReasoning
16
- } from "@/lib/modelCapabilities";
16
+ } from '../../dist/lib/modelCapabilities.js';
17
17
  const EFFORT_BUDGETS = {
18
18
  none: 0,
19
19
  low: 1024,
@@ -5,7 +5,7 @@ import {
5
5
  parseAndValidatePublicUrl,
6
6
  isPrivateHost,
7
7
  OutboundUrlGuardError
8
- } from "@/shared/network/outboundUrlGuard";
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";
2
- import { APIKEY_PROVIDERS } from "@/shared/constants/providers";
3
- import { WEB_COOKIE_PROVIDERS } from "@/shared/constants/providers";
4
- import { WEB_SESSION_CREDENTIAL_REQUIREMENTS } from "@/shared/providers/webSessionCredentials";
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";
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";
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";
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";
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fudrouter/fsrouter",
3
- "version": "0.6.49",
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": {