diff --git a/.dockerignore b/.dockerignore index 9f7dea5a..069c1e67 100644 --- a/.dockerignore +++ b/.dockerignore @@ -67,3 +67,42 @@ images clipr omnirouteCloud omnirouteSite + +# Temporary/Scratch Folders +_* + +# CI/CD and Version Control (that are not actual code) +.github +.husky +.omc + +# Test Configs and Reports +playwright.config.ts +vitest*.ts +audit-report.json +sonar-project.properties + +# Deployment Configs +docker-compose*.yml +fly.toml + +# Consistent with .gitignore +.DS_Store +.idea/ +.config/ +.data/ +.omnivscodeagent/ +*.sqlite-* +*.tsbuildinfo +next-env.d.ts +security-analysis/ +.analysis/ +antigravity-manager-analysis/ +.sisyphus/ +.plans/ +app.__qa_backup/ +.app-build-backup-*/ +.gitnexus +.worktrees +.next-playwright/ +cloud/ diff --git a/.gitignore b/.gitignore index 2be9ea05..783740a7 100644 --- a/.gitignore +++ b/.gitignore @@ -171,3 +171,8 @@ docs/superpowers/ .gitnexus .worktrees bin/omniroute.mjs + +# Consistent with .dockerignore / .npmignore +.omc/ +audit-report.json +bun.lock diff --git a/.npmignore b/.npmignore index e0a5b886..cc14c145 100644 --- a/.npmignore +++ b/.npmignore @@ -76,3 +76,27 @@ app/_*/ app/coverage/ app/logs/ app/tests/ + +# Consistent with .gitignore and .dockerignore +.DS_Store +.idea/ +.config/ +.data/ +.omnivscodeagent/ +.omc/ +*.sqlite-* +*.tsbuildinfo +security-analysis/ +.analysis/ +antigravity-manager-analysis/ +.sisyphus/ +.plans/ +app.__qa_backup/ +.app-build-backup-*/ +.gitnexus +.worktrees +.next-playwright/ +test-results/ +playwright-report/ +blob-report/ +coverage/ diff --git a/open-sse/executors/perplexity-web.ts b/open-sse/executors/perplexity-web.ts index b0232dd5..bab59103 100644 --- a/open-sse/executors/perplexity-web.ts +++ b/open-sse/executors/perplexity-web.ts @@ -33,9 +33,9 @@ const CITATION_RE = /\[\d+\]/g; const GROK_TAG_RE = /]*>.*?<\/grok:[^>]*>/gs; const GROK_SELF_RE = /]*\/>/g; const XML_DECL_RE = /<[?]xml[^?]*[?]>/g; -const SCRIPT_RE = /]*>.*?<\/script>/gs; -const SCRIPT_TAG_RE = /<\/?script[^>]*>/g; -const RESPONSE_TAG_RE = /<\/?response[^>]*>/g; +const SCRIPT_RE = /]*>[^]*?<\/script>/gi; +const SCRIPT_TAG_RE = /<\/?script[^>]*>/gi; +const RESPONSE_TAG_RE = /<\/?response[^>]*>/gi; const MULTI_SPACE = / {2,}/g; const MULTI_NL = /\n{3,}/g; diff --git a/open-sse/services/contextManager.ts b/open-sse/services/contextManager.ts index 7aa710b6..92285ecd 100644 --- a/open-sse/services/contextManager.ts +++ b/open-sse/services/contextManager.ts @@ -217,8 +217,8 @@ function compressThinking(messages: Record[]) { // Remove thinking XML tags from string content if (typeof msg.content === "string") { const cleaned = msg.content - .replace(/[\s\S]*?<\/thinking>/g, "") - .replace(/[\s\S]*?<\/antThinking>/g, "") + .replace(/[^]*?<\/thinking>/g, "") + .replace(/[^]*?<\/antThinking>/g, "") .trim(); return { ...msg, content: cleaned || "[thinking compressed]" }; } diff --git a/open-sse/utils/proxyFetch.ts b/open-sse/utils/proxyFetch.ts index 36714ea6..85790987 100644 --- a/open-sse/utils/proxyFetch.ts +++ b/open-sse/utils/proxyFetch.ts @@ -81,7 +81,8 @@ function noProxyMatch(targetUrl) { // Support wildcard matching (e.g. 192.168.* or *.local) if (patternHost.includes("*")) { - const regexStr = "^" + patternHost.replace(/\./g, "\\.").replace(/\*/g, ".*") + "$"; + const regexStr = + "^" + patternHost.replace(/[.+?^${}()|[\]\\]/g, "\\$&").replace(/\*/g, ".*") + "$"; if (new RegExp(regexStr).test(hostname)) return true; } diff --git a/scratch.mjs b/scripts/scratch.mjs similarity index 100% rename from scratch.mjs rename to scripts/scratch.mjs diff --git a/src/app/(dashboard)/dashboard/providers/[id]/page.tsx b/src/app/(dashboard)/dashboard/providers/[id]/page.tsx index 5311a400..3ddd9a8d 100644 --- a/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +++ b/src/app/(dashboard)/dashboard/providers/[id]/page.tsx @@ -4855,9 +4855,9 @@ function ConnectionRow({ {connection.lastError && connection.isActive !== false && ( ]/g, "")} + title={connection.lastError} > - {connection.lastError.replace(/[<>]/g, "")} + {connection.lastError} )} #{connection.priority} diff --git a/src/lib/usage/callLogArtifacts.ts b/src/lib/usage/callLogArtifacts.ts index daa2d6c8..8957887b 100644 --- a/src/lib/usage/callLogArtifacts.ts +++ b/src/lib/usage/callLogArtifacts.ts @@ -75,7 +75,7 @@ export function writeCallArtifact( try { const serialized = JSON.stringify(artifact, null, 2); const sizeBytes = Buffer.byteLength(serialized); - const sha256 = crypto.createHash("sha256").update(serialized).digest("hex"); + const artifactHash = crypto.createHash("sha256").update(serialized).digest("hex"); fs.mkdirSync(path.dirname(absPath), { recursive: true }); fs.writeFileSync(tmpPath, serialized); @@ -84,7 +84,7 @@ export function writeCallArtifact( return { relPath: relativePath, sizeBytes, - sha256, + sha256: artifactHash, }; } catch (error) { try { diff --git a/test_reasoning.json b/test_reasoning.json deleted file mode 100644 index 1af9cbcd..00000000 --- a/test_reasoning.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "response.reasoning_content_text.delta", - "delta": "thinking text", - "item_id": "rs_123", - "output_index": 0 -}