nexus-agents 2.83.0 → 2.83.1
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/dist/{child-mcp-config-XVPIO5HV.js → child-mcp-config-3ZW2UPKZ.js} +2 -2
- package/dist/{chunk-AINOJRZX.js → chunk-4XSCU4B3.js} +8 -8
- package/dist/{chunk-BZUEUD4G.js → chunk-5QJPM5CB.js} +3 -3
- package/dist/{chunk-633WH2ML.js → chunk-6T3EPABN.js} +1 -1
- package/dist/chunk-6T3EPABN.js.map +1 -0
- package/dist/{chunk-RXVH52UI.js → chunk-6UI4NKT4.js} +2 -2
- package/dist/{chunk-ZIWEEVMI.js → chunk-6XRNFLPI.js} +2 -2
- package/dist/{chunk-YO27YAEX.js → chunk-7V367KT4.js} +4 -4
- package/dist/{chunk-6WDJ3IE4.js → chunk-A6WC5I7V.js} +3 -3
- package/dist/{chunk-2W4QJ27D.js → chunk-BICIQYET.js} +3 -3
- package/dist/{chunk-WJFUTRHX.js → chunk-BUXXAN6V.js} +2 -2
- package/dist/{chunk-ZM5JKJHI.js → chunk-DWOSFYI2.js} +2 -2
- package/dist/{chunk-FHGDJKCZ.js → chunk-ELRNVADA.js} +3 -3
- package/dist/{chunk-AFPHR72D.js → chunk-FHY7I736.js} +2 -2
- package/dist/{chunk-3GJAAENS.js → chunk-HGPIHDC4.js} +3 -3
- package/dist/{chunk-WGSRH5EQ.js → chunk-IM2B3FK2.js} +3 -3
- package/dist/{chunk-PMLVZXAE.js → chunk-J4ZBKE4B.js} +129 -190
- package/dist/chunk-J4ZBKE4B.js.map +1 -0
- package/dist/{chunk-54UXPJVM.js → chunk-JA6ON2RP.js} +2 -2
- package/dist/{chunk-5T6SYCH2.js → chunk-LM2S2QWO.js} +2 -2
- package/dist/{chunk-5T6SYCH2.js.map → chunk-LM2S2QWO.js.map} +1 -1
- package/dist/{chunk-3ASED5PR.js → chunk-MATFDJRW.js} +4 -4
- package/dist/{chunk-FI77TGBY.js → chunk-O3XJLOEX.js} +2 -2
- package/dist/{chunk-4BXQ2OZY.js → chunk-ODKIRXN7.js} +9 -36
- package/dist/chunk-ODKIRXN7.js.map +1 -0
- package/dist/{chunk-NLPMYBIV.js → chunk-SZZS57X7.js} +7 -7
- package/dist/{chunk-RVRXKNND.js → chunk-TKGVRHEI.js} +2 -2
- package/dist/{chunk-U6LDVJS7.js → chunk-UFUR6RBP.js} +2 -2
- package/dist/{chunk-Q6PZMGLU.js → chunk-VXIHHHLQ.js} +2 -2
- package/dist/{chunk-3WUVWZUC.js → chunk-W6MLS2UL.js} +2 -2
- package/dist/{chunk-Z64MSLEK.js → chunk-XODXYOFN.js} +2 -2
- package/dist/{chunk-PPBZQKRP.js → chunk-ZA6AZ7LK.js} +5 -5
- package/dist/{chunk-L362KRSU.js → chunk-ZLGU7T6J.js} +2 -2
- package/dist/{cli-circuit-breaker-Y26NPPNO.js → cli-circuit-breaker-LC4NZUGD.js} +4 -4
- package/dist/cli.js +33 -33
- package/dist/{composite-router-X2ZYIEHH.js → composite-router-GXQ25DO4.js} +2 -2
- package/dist/{consensus-vote-KZ6UURUI.js → consensus-vote-MTLP6E72.js} +12 -12
- package/dist/{context-retriever-QY4FNTDZ.js → context-retriever-GQRC2MVM.js} +6 -6
- package/dist/{doctor-deep-2E2GBMYR.js → doctor-deep-T3UUJX2E.js} +3 -3
- package/dist/{expert-bridge-FHPWDFJX.js → expert-bridge-7LPGCPPR.js} +4 -4
- package/dist/{factory-W6KROBFN.js → factory-3XB5CAAA.js} +5 -5
- package/dist/{factory-STNVY3Y3.js → factory-OKNCTJO6.js} +4 -4
- package/dist/index.d.ts +3 -143
- package/dist/index.js +28 -126
- package/dist/index.js.map +1 -1
- package/dist/{init-opencode-6LVZ4CAQ.js → init-opencode-KDTBKLXS.js} +5 -5
- package/dist/{issue-triage-Y77JI7WF.js → issue-triage-MURMDN2G.js} +4 -4
- package/dist/{registry-command-P5VIAEOL.js → registry-command-D56ROMFJ.js} +2 -2
- package/dist/{repo-security-plan-RHSLO7H6.js → repo-security-plan-N3CDMW6L.js} +3 -3
- package/dist/{research-helpers-synthesize-PVP6JRZV.js → research-helpers-synthesize-36QBOKII.js} +3 -3
- package/dist/{routing-memory-QRIJPRVD.js → routing-memory-6IEPJ3EP.js} +2 -2
- package/dist/{session-memory-WARRGYY7.js → session-memory-X6SCDFER.js} +3 -3
- package/dist/{setup-command-GMP5FI7F.js → setup-command-5AEO5A4Z.js} +11 -11
- package/dist/{setup-config-G3KKZM7O.js → setup-config-RPSVIQJO.js} +3 -3
- package/dist/{setup-custom-api-B63X7ISD.js → setup-custom-api-RBOJT3SS.js} +4 -4
- package/dist/{tool-memory-E7JW4YLT.js → tool-memory-EEHITQRJ.js} +5 -5
- package/dist/{weather-report-RACZWJQL.js → weather-report-6BC3JK5H.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-4BXQ2OZY.js.map +0 -1
- package/dist/chunk-633WH2ML.js.map +0 -1
- package/dist/chunk-PMLVZXAE.js.map +0 -1
- /package/dist/{child-mcp-config-XVPIO5HV.js.map → child-mcp-config-3ZW2UPKZ.js.map} +0 -0
- /package/dist/{chunk-AINOJRZX.js.map → chunk-4XSCU4B3.js.map} +0 -0
- /package/dist/{chunk-BZUEUD4G.js.map → chunk-5QJPM5CB.js.map} +0 -0
- /package/dist/{chunk-RXVH52UI.js.map → chunk-6UI4NKT4.js.map} +0 -0
- /package/dist/{chunk-ZIWEEVMI.js.map → chunk-6XRNFLPI.js.map} +0 -0
- /package/dist/{chunk-YO27YAEX.js.map → chunk-7V367KT4.js.map} +0 -0
- /package/dist/{chunk-6WDJ3IE4.js.map → chunk-A6WC5I7V.js.map} +0 -0
- /package/dist/{chunk-2W4QJ27D.js.map → chunk-BICIQYET.js.map} +0 -0
- /package/dist/{chunk-WJFUTRHX.js.map → chunk-BUXXAN6V.js.map} +0 -0
- /package/dist/{chunk-ZM5JKJHI.js.map → chunk-DWOSFYI2.js.map} +0 -0
- /package/dist/{chunk-FHGDJKCZ.js.map → chunk-ELRNVADA.js.map} +0 -0
- /package/dist/{chunk-AFPHR72D.js.map → chunk-FHY7I736.js.map} +0 -0
- /package/dist/{chunk-3GJAAENS.js.map → chunk-HGPIHDC4.js.map} +0 -0
- /package/dist/{chunk-WGSRH5EQ.js.map → chunk-IM2B3FK2.js.map} +0 -0
- /package/dist/{chunk-54UXPJVM.js.map → chunk-JA6ON2RP.js.map} +0 -0
- /package/dist/{chunk-3ASED5PR.js.map → chunk-MATFDJRW.js.map} +0 -0
- /package/dist/{chunk-FI77TGBY.js.map → chunk-O3XJLOEX.js.map} +0 -0
- /package/dist/{chunk-NLPMYBIV.js.map → chunk-SZZS57X7.js.map} +0 -0
- /package/dist/{chunk-RVRXKNND.js.map → chunk-TKGVRHEI.js.map} +0 -0
- /package/dist/{chunk-U6LDVJS7.js.map → chunk-UFUR6RBP.js.map} +0 -0
- /package/dist/{chunk-Q6PZMGLU.js.map → chunk-VXIHHHLQ.js.map} +0 -0
- /package/dist/{chunk-3WUVWZUC.js.map → chunk-W6MLS2UL.js.map} +0 -0
- /package/dist/{chunk-Z64MSLEK.js.map → chunk-XODXYOFN.js.map} +0 -0
- /package/dist/{chunk-PPBZQKRP.js.map → chunk-ZA6AZ7LK.js.map} +0 -0
- /package/dist/{chunk-L362KRSU.js.map → chunk-ZLGU7T6J.js.map} +0 -0
- /package/dist/{cli-circuit-breaker-Y26NPPNO.js.map → cli-circuit-breaker-LC4NZUGD.js.map} +0 -0
- /package/dist/{composite-router-X2ZYIEHH.js.map → composite-router-GXQ25DO4.js.map} +0 -0
- /package/dist/{consensus-vote-KZ6UURUI.js.map → consensus-vote-MTLP6E72.js.map} +0 -0
- /package/dist/{context-retriever-QY4FNTDZ.js.map → context-retriever-GQRC2MVM.js.map} +0 -0
- /package/dist/{doctor-deep-2E2GBMYR.js.map → doctor-deep-T3UUJX2E.js.map} +0 -0
- /package/dist/{expert-bridge-FHPWDFJX.js.map → expert-bridge-7LPGCPPR.js.map} +0 -0
- /package/dist/{factory-STNVY3Y3.js.map → factory-3XB5CAAA.js.map} +0 -0
- /package/dist/{factory-W6KROBFN.js.map → factory-OKNCTJO6.js.map} +0 -0
- /package/dist/{init-opencode-6LVZ4CAQ.js.map → init-opencode-KDTBKLXS.js.map} +0 -0
- /package/dist/{issue-triage-Y77JI7WF.js.map → issue-triage-MURMDN2G.js.map} +0 -0
- /package/dist/{registry-command-P5VIAEOL.js.map → registry-command-D56ROMFJ.js.map} +0 -0
- /package/dist/{repo-security-plan-RHSLO7H6.js.map → repo-security-plan-N3CDMW6L.js.map} +0 -0
- /package/dist/{research-helpers-synthesize-PVP6JRZV.js.map → research-helpers-synthesize-36QBOKII.js.map} +0 -0
- /package/dist/{routing-memory-QRIJPRVD.js.map → routing-memory-6IEPJ3EP.js.map} +0 -0
- /package/dist/{session-memory-WARRGYY7.js.map → session-memory-X6SCDFER.js.map} +0 -0
- /package/dist/{setup-command-GMP5FI7F.js.map → setup-command-5AEO5A4Z.js.map} +0 -0
- /package/dist/{setup-config-G3KKZM7O.js.map → setup-config-RPSVIQJO.js.map} +0 -0
- /package/dist/{setup-custom-api-B63X7ISD.js.map → setup-custom-api-RBOJT3SS.js.map} +0 -0
- /package/dist/{tool-memory-E7JW4YLT.js.map → tool-memory-EEHITQRJ.js.map} +0 -0
- /package/dist/{weather-report-RACZWJQL.js.map → weather-report-6BC3JK5H.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createLogger
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6UI4NKT4.js";
|
|
4
4
|
import "./chunk-I2HMWH4R.js";
|
|
5
5
|
import "./chunk-PR4QN5HX.js";
|
|
6
6
|
|
|
@@ -59,4 +59,4 @@ export {
|
|
|
59
59
|
generateMcpConfig,
|
|
60
60
|
getDefaultAllowedTools
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=child-mcp-config-
|
|
62
|
+
//# sourceMappingURL=child-mcp-config-3ZW2UPKZ.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DEFAULTS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DWOSFYI2.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveInsideRoot
|
|
6
6
|
} from "./chunk-NUBSJGQZ.js";
|
|
7
7
|
import {
|
|
8
8
|
capitalize
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6T3EPABN.js";
|
|
10
10
|
import {
|
|
11
11
|
createAllAdapters,
|
|
12
12
|
probeCli
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ELRNVADA.js";
|
|
14
14
|
import {
|
|
15
15
|
CliNameSchema,
|
|
16
16
|
DEFAULT_CAPABILITIES,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
ok,
|
|
27
27
|
symbols,
|
|
28
28
|
writeLine
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-6UI4NKT4.js";
|
|
30
30
|
import {
|
|
31
31
|
detectSandbox,
|
|
32
32
|
getLearningDir,
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
} from "./chunk-I2HMWH4R.js";
|
|
41
41
|
|
|
42
42
|
// src/version.ts
|
|
43
|
-
var VERSION = true ? "2.83.
|
|
43
|
+
var VERSION = true ? "2.83.1" : "dev";
|
|
44
44
|
|
|
45
45
|
// src/config/schemas-core.ts
|
|
46
46
|
import { z } from "zod";
|
|
@@ -2096,7 +2096,7 @@ async function runDoctorFix(result) {
|
|
|
2096
2096
|
writeLine2("\u2500".repeat(40));
|
|
2097
2097
|
let fixCount = 0;
|
|
2098
2098
|
if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
|
|
2099
|
-
const { runSetup } = await import("./setup-command-
|
|
2099
|
+
const { runSetup } = await import("./setup-command-5AEO5A4Z.js");
|
|
2100
2100
|
const setupResult = runSetup({
|
|
2101
2101
|
skipMcp: true,
|
|
2102
2102
|
skipRules: true,
|
|
@@ -2110,7 +2110,7 @@ async function runDoctorFix(result) {
|
|
|
2110
2110
|
}
|
|
2111
2111
|
}
|
|
2112
2112
|
if (!result.configFile.found) {
|
|
2113
|
-
const { runConfigInitSync } = await import("./setup-config-
|
|
2113
|
+
const { runConfigInitSync } = await import("./setup-config-RPSVIQJO.js");
|
|
2114
2114
|
const configResult = runConfigInitSync(process.cwd(), false, false);
|
|
2115
2115
|
if (configResult.success && configResult.created) {
|
|
2116
2116
|
writeLine2(`\u2713 Generated config: ${configResult.path}`);
|
|
@@ -2208,4 +2208,4 @@ export {
|
|
|
2208
2208
|
startStdioServer,
|
|
2209
2209
|
closeServer
|
|
2210
2210
|
};
|
|
2211
|
-
//# sourceMappingURL=chunk-
|
|
2211
|
+
//# sourceMappingURL=chunk-4XSCU4B3.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GitHubProvider,
|
|
3
3
|
ScmError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZLGU7T6J.js";
|
|
5
5
|
import {
|
|
6
6
|
CACHE_TIMEOUTS,
|
|
7
7
|
createLogger,
|
|
8
8
|
err,
|
|
9
9
|
getTimeProvider,
|
|
10
10
|
ok
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6UI4NKT4.js";
|
|
12
12
|
|
|
13
13
|
// src/security/trust-types.ts
|
|
14
14
|
import { z } from "zod";
|
|
@@ -1656,4 +1656,4 @@ export {
|
|
|
1656
1656
|
IssueTriage,
|
|
1657
1657
|
createIssueTriage
|
|
1658
1658
|
};
|
|
1659
|
-
//# sourceMappingURL=chunk-
|
|
1659
|
+
//# sourceMappingURL=chunk-5QJPM5CB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/text-utils.ts"],"sourcesContent":["/**\n * nexus-agents/utils - Text Processing Utilities\n *\n * Shared utility functions for text tokenization and processing.\n * Consolidates duplicate code from multiple modules per ADR-0013.\n *\n * Used by:\n * - context/agentic-memory-extraction.ts\n * - context/adaptive-memory-helpers.ts\n * - cli-adapters/agreement-cascade-helpers.ts\n *\n * @module utils/text-utils\n * @see docs/adr/0013-memory-helpers-consolidation.md\n */\n\n// ============================================================================\n// Stopwords\n// ============================================================================\n\n/**\n * Common English stopwords to filter from keyword extraction.\n */\nexport const STOPWORDS = new Set([\n 'a',\n 'an',\n 'and',\n 'are',\n 'as',\n 'at',\n 'be',\n 'by',\n 'for',\n 'from',\n 'has',\n 'he',\n 'in',\n 'is',\n 'it',\n 'its',\n 'of',\n 'on',\n 'or',\n 'that',\n 'the',\n 'to',\n 'was',\n 'were',\n 'will',\n 'with',\n 'this',\n 'but',\n 'they',\n 'have',\n 'had',\n 'what',\n 'when',\n 'where',\n 'who',\n 'which',\n 'why',\n 'how',\n 'all',\n 'each',\n 'every',\n 'both',\n 'few',\n 'more',\n 'most',\n 'other',\n 'some',\n 'such',\n 'no',\n 'nor',\n 'not',\n 'only',\n 'own',\n 'same',\n 'so',\n 'than',\n 'too',\n 'very',\n 'can',\n 'just',\n 'should',\n 'now',\n 'i',\n 'you',\n 'we',\n 'me',\n 'my',\n 'your',\n 'our',\n 'their',\n 'him',\n 'her',\n 'them',\n 'his',\n 'hers',\n 'able',\n]);\n\n// ============================================================================\n// Tokenization\n// ============================================================================\n\n/**\n * Tokenize text into normalized words.\n *\n * Process:\n * 1. Convert to lowercase\n * 2. Replace non-alphanumeric characters with spaces\n * 3. Split on whitespace\n * 4. Filter tokens by minimum length\n *\n * @param text - Input text to tokenize\n * @param minLength - Minimum token length (default: 2)\n * @returns Array of normalized tokens\n */\nexport function tokenize(text: string, minLength = 2): string[] {\n return text\n .toLowerCase()\n .replace(/[^a-z0-9\\s]/g, ' ')\n .split(/\\s+/)\n .filter((t) => t.length >= minLength);\n}\n\n/**\n * Tokenize text and return as a Set for fast lookups.\n *\n * @param text - Input text to tokenize\n * @param minLength - Minimum token length (default: 2)\n * @returns Set of normalized tokens\n */\nexport function tokenizeToSet(text: string, minLength = 2): Set<string> {\n return new Set(tokenize(text, minLength));\n}\n\n/**\n * Tokenize text with stopword filtering.\n *\n * @param text - Input text to tokenize\n * @param minLength - Minimum token length (default: 2)\n * @returns Array of tokens with stopwords removed\n */\nexport function tokenizeFiltered(text: string, minLength = 2): string[] {\n return tokenize(text, minLength).filter((t) => !STOPWORDS.has(t));\n}\n\n// ============================================================================\n// Value Stringification\n// ============================================================================\n\n/**\n * Convert a value to string for text processing.\n *\n * @param value - Value to stringify\n * @returns String representation\n */\nexport function stringifyValue(value: unknown): string {\n if (typeof value === 'string') return value;\n if (value === null || value === undefined) return '';\n return JSON.stringify(value);\n}\n\n// ============================================================================\n// String Capitalization\n// ============================================================================\n\n/**\n * Capitalize the first character of a string.\n *\n * @param str - Input string\n * @returns String with first character uppercased\n * @example capitalize('hello') // 'Hello'\n */\nexport function capitalize(str: string): string {\n if (str.length === 0) return str;\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\n\n/**\n * Capitalize the first character of each word in a string.\n *\n * @param str - Input string\n * @returns String with each word capitalized\n * @example capitalizeWords('hello world') // 'Hello World'\n */\nexport function capitalizeWords(str: string): string {\n return str\n .split(' ')\n .map((word) => capitalize(word))\n .join(' ');\n}\n\n/**\n * Convert a kebab-case string to Title Case.\n *\n * @param str - Kebab-case string\n * @returns Title Case string with hyphens replaced by spaces\n * @example capitalizeKebab('hello-world') // 'Hello World'\n */\nexport function capitalizeKebab(str: string): string {\n return str\n .split('-')\n .map((word) => capitalize(word))\n .join(' ');\n}\n\n// ============================================================================\n// Text Truncation\n// ============================================================================\n\n/**\n * Truncate text to a maximum length with a suffix.\n *\n * @param text - Input text\n * @param maxLength - Maximum length including suffix\n * @param suffix - Suffix to append when truncated (default: '...')\n * @returns Truncated text with suffix if needed\n * @example truncateText('hello world', 8) // 'hello...'\n */\nexport function truncateText(text: string, maxLength: number, suffix = '...'): string {\n if (text.length <= maxLength) return text;\n return text.slice(0, maxLength - suffix.length) + suffix;\n}\n\n/**\n * Truncate text and include byte count information.\n * Commonly used for output truncation in CLI tools.\n *\n * @param text - Input text\n * @param maxLength - Maximum length before truncation marker\n * @returns Truncated text with byte count info\n * @example truncateWithInfo('hello world...', 5) // 'hello\\n... [truncated 9 bytes]'\n */\nexport function truncateWithInfo(text: string, maxLength: number): string {\n if (text.length <= maxLength) return text;\n const truncatedBytes = text.length - maxLength;\n return `${text.slice(0, maxLength)}\\n... [truncated ${String(truncatedBytes)} bytes]`;\n}\n\n/**\n * Truncate to the first sentence or a maximum length.\n * Useful for extracting descriptions from longer text.\n *\n * @param text - Input text\n * @param maxLength - Maximum length (default: 150)\n * @returns First sentence or truncated text\n * @example truncateSentence('Hello world. More text.', 150) // 'Hello world.'\n */\nexport function truncateSentence(text: string, maxLength = 150): string {\n // Find first sentence ending\n const sentenceEnd = text.search(/[.!?](?:\\s|$)/);\n if (sentenceEnd !== -1 && sentenceEnd < maxLength) {\n return text.slice(0, sentenceEnd + 1).trim();\n }\n // Fall back to truncation\n if (text.length <= maxLength) return text;\n return text.slice(0, maxLength).trim() + '...';\n}\n\n// ============================================================================\n// Line Splitting\n// ============================================================================\n\n/**\n * Split text into lines.\n * Handles both Unix (\\n) and Windows (\\r\\n) line endings.\n *\n * @param text - Input text to split\n * @returns Array of lines (may include empty strings)\n * @example splitLines('a\\nb\\nc') // ['a', 'b', 'c']\n * @example splitLines('a\\n\\nb') // ['a', '', 'b']\n */\nexport function splitLines(text: string): string[] {\n return text.split(/\\r?\\n/);\n}\n\n/**\n * Split text into non-empty lines.\n * Filters out empty lines and whitespace-only lines.\n *\n * @param text - Input text to split\n * @returns Array of non-empty lines\n * @example splitNonEmptyLines('a\\n\\nb\\n \\nc') // ['a', 'b', 'c']\n */\nexport function splitNonEmptyLines(text: string): string[] {\n return text\n .split(/\\r?\\n/)\n .map((line) => line.trim())\n .filter((line) => line.length > 0);\n}\n\n/**\n * Split text into trimmed lines, preserving empty lines.\n * Trims each line but keeps empty lines in the output.\n *\n * @param text - Input text to split\n * @returns Array of trimmed lines\n * @example splitTrimmedLines(' a \\n\\n b ') // ['a', '', 'b']\n */\nexport function splitTrimmedLines(text: string): string[] {\n return text.split(/\\r?\\n/).map((line) => line.trim());\n}\n\n// ============================================================================\n// Sentence/Word Splitting\n// ============================================================================\n\n/**\n * Count the number of sentences in text.\n * Counts sentence-ending punctuation followed by space or end of string.\n *\n * @param text - Input text\n * @returns Number of sentences\n * @example countSentences('Hello world. How are you?') // 2\n */\nexport function countSentences(text: string): number {\n const matches = text.match(/[.!?]+(?:\\s|$)/g);\n return matches !== null ? matches.length : 0;\n}\n\n/**\n * Split text into sentences.\n * Splits on sentence-ending punctuation followed by space.\n *\n * @param text - Input text\n * @returns Array of sentences (trimmed)\n * @example splitSentences('Hello world. How are you?') // ['Hello world.', 'How are you?']\n */\nexport function splitSentences(text: string): string[] {\n // Split on sentence endings followed by space, keeping the punctuation\n return text\n .split(/(?<=[.!?])\\s+/)\n .map((s) => s.trim())\n .filter((s) => s.length > 0);\n}\n\n/**\n * Count the number of words in text.\n * Splits on whitespace and counts non-empty tokens.\n *\n * @param text - Input text\n * @returns Number of words\n * @example countWords('Hello world') // 2\n */\nexport function countWords(text: string): number {\n return text\n .trim()\n .split(/\\s+/)\n .filter((w) => w.length > 0).length;\n}\n"],"mappings":";AAsBO,IAAM,YAAY,oBAAI,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAmBM,SAAS,SAAS,MAAc,YAAY,GAAa;AAC9D,SAAO,KACJ,YAAY,EACZ,QAAQ,gBAAgB,GAAG,EAC3B,MAAM,KAAK,EACX,OAAO,CAAC,MAAM,EAAE,UAAU,SAAS;AACxC;AAoBO,SAAS,iBAAiB,MAAc,YAAY,GAAa;AACtE,SAAO,SAAS,MAAM,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;AAClE;AAYO,SAAS,eAAe,OAAwB;AACrD,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI,UAAU,QAAQ,UAAU,OAAW,QAAO;AAClD,SAAO,KAAK,UAAU,KAAK;AAC7B;AAaO,SAAS,WAAW,KAAqB;AAC9C,MAAI,IAAI,WAAW,EAAG,QAAO;AAC7B,SAAO,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,MAAM,CAAC;AAClD;AASO,SAAS,gBAAgB,KAAqB;AACnD,SAAO,IACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,EAC9B,KAAK,GAAG;AACb;AASO,SAAS,gBAAgB,KAAqB;AACnD,SAAO,IACJ,MAAM,GAAG,EACT,IAAI,CAAC,SAAS,WAAW,IAAI,CAAC,EAC9B,KAAK,GAAG;AACb;AA6BO,SAAS,iBAAiB,MAAc,WAA2B;AACxE,MAAI,KAAK,UAAU,UAAW,QAAO;AACrC,QAAM,iBAAiB,KAAK,SAAS;AACrC,SAAO,GAAG,KAAK,MAAM,GAAG,SAAS,CAAC;AAAA,iBAAoB,OAAO,cAAc,CAAC;AAC9E;AAWO,SAAS,iBAAiB,MAAc,YAAY,KAAa;AAEtE,QAAM,cAAc,KAAK,OAAO,eAAe;AAC/C,MAAI,gBAAgB,MAAM,cAAc,WAAW;AACjD,WAAO,KAAK,MAAM,GAAG,cAAc,CAAC,EAAE,KAAK;AAAA,EAC7C;AAEA,MAAI,KAAK,UAAU,UAAW,QAAO;AACrC,SAAO,KAAK,MAAM,GAAG,SAAS,EAAE,KAAK,IAAI;AAC3C;","names":[]}
|
|
@@ -10997,7 +10997,7 @@ var CompositeRouter = class _CompositeRouter {
|
|
|
10997
10997
|
*/
|
|
10998
10998
|
async consultUnifiedContext(task) {
|
|
10999
10999
|
try {
|
|
11000
|
-
const { getContextForTask, inferTaskCategory } = await import("./context-retriever-
|
|
11000
|
+
const { getContextForTask, inferTaskCategory } = await import("./context-retriever-GQRC2MVM.js");
|
|
11001
11001
|
const ctx = await getContextForTask({
|
|
11002
11002
|
task: task.content,
|
|
11003
11003
|
category: inferTaskCategory(task.content),
|
|
@@ -12295,4 +12295,4 @@ export {
|
|
|
12295
12295
|
ParseError,
|
|
12296
12296
|
OrchestratorError
|
|
12297
12297
|
};
|
|
12298
|
-
//# sourceMappingURL=chunk-
|
|
12298
|
+
//# sourceMappingURL=chunk-6UI4NKT4.js.map
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ConfigError,
|
|
3
3
|
err,
|
|
4
4
|
ok
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6UI4NKT4.js";
|
|
6
6
|
|
|
7
7
|
// src/adapters/sdk/types.ts
|
|
8
8
|
var PROVIDER_ENV_KEYS = {
|
|
@@ -117,4 +117,4 @@ export {
|
|
|
117
117
|
CUSTOM_API_ALLOW_PRIVATE_ENV,
|
|
118
118
|
validateCustomApiBaseUrl
|
|
119
119
|
};
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
120
|
+
//# sourceMappingURL=chunk-6XRNFLPI.js.map
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
stringifyValue,
|
|
3
3
|
tokenize,
|
|
4
4
|
tokenizeFiltered
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-6T3EPABN.js";
|
|
6
6
|
import {
|
|
7
7
|
getMemoryRegistry
|
|
8
8
|
} from "./chunk-PQHVC4BD.js";
|
|
9
9
|
import {
|
|
10
10
|
SessionMemory
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UFUR6RBP.js";
|
|
12
12
|
import {
|
|
13
13
|
ErrorCode,
|
|
14
14
|
NexusError,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
getTimeProvider,
|
|
23
23
|
ok,
|
|
24
24
|
setSharedMobiMemDbPathResolver
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-6UI4NKT4.js";
|
|
26
26
|
import {
|
|
27
27
|
nexusDataPath
|
|
28
28
|
} from "./chunk-I2HMWH4R.js";
|
|
@@ -5578,4 +5578,4 @@ export {
|
|
|
5578
5578
|
reinitializeMemoryBackends,
|
|
5579
5579
|
ToolMemoryManager
|
|
5580
5580
|
};
|
|
5581
|
-
//# sourceMappingURL=chunk-
|
|
5581
|
+
//# sourceMappingURL=chunk-7V367KT4.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
OpenAIAdapter
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IM2B3FK2.js";
|
|
4
4
|
import {
|
|
5
5
|
ConfigError,
|
|
6
6
|
createLogger,
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
getTimeProvider,
|
|
10
10
|
lookupInTreeCapability,
|
|
11
11
|
ok
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6UI4NKT4.js";
|
|
13
13
|
import {
|
|
14
14
|
getNexusDataDir
|
|
15
15
|
} from "./chunk-I2HMWH4R.js";
|
|
@@ -307,4 +307,4 @@ export {
|
|
|
307
307
|
discoverModels,
|
|
308
308
|
buildOpenAICompatAdapters
|
|
309
309
|
};
|
|
310
|
-
//# sourceMappingURL=chunk-
|
|
310
|
+
//# sourceMappingURL=chunk-A6WC5I7V.js.map
|
|
@@ -2,14 +2,14 @@ import {
|
|
|
2
2
|
CircuitBreakerRegistry,
|
|
3
3
|
CircuitError,
|
|
4
4
|
mapCliErrorToCategory
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LM2S2QWO.js";
|
|
6
6
|
import {
|
|
7
7
|
createLogger,
|
|
8
8
|
err,
|
|
9
9
|
getFallbackChainForCategory,
|
|
10
10
|
getTimeProvider,
|
|
11
11
|
ok
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6UI4NKT4.js";
|
|
13
13
|
|
|
14
14
|
// src/cli-adapters/cli-circuit-breaker.ts
|
|
15
15
|
var CATEGORY_TO_FALLBACK = {
|
|
@@ -152,4 +152,4 @@ export {
|
|
|
152
152
|
CliCircuitBreakerIntegration,
|
|
153
153
|
createCliCircuitBreakerIntegration
|
|
154
154
|
};
|
|
155
|
-
//# sourceMappingURL=chunk-
|
|
155
|
+
//# sourceMappingURL=chunk-BICIQYET.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getErrorMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6UI4NKT4.js";
|
|
4
4
|
|
|
5
5
|
// src/cli/setup-config.ts
|
|
6
6
|
import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "fs";
|
|
@@ -77,4 +77,4 @@ function ensureBackup(outputPath) {
|
|
|
77
77
|
export {
|
|
78
78
|
runConfigInitSync
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
80
|
+
//# sourceMappingURL=chunk-BUXXAN6V.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
MCP_TIMEOUTS,
|
|
6
6
|
TEST_TIMEOUTS,
|
|
7
7
|
WORKFLOW_TIMEOUTS
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6UI4NKT4.js";
|
|
9
9
|
|
|
10
10
|
// src/config/defaults-env.ts
|
|
11
11
|
function parseIntEnv(envKey, fallback) {
|
|
@@ -348,4 +348,4 @@ export {
|
|
|
348
348
|
CUSTOM_API_DEFAULT_MODEL,
|
|
349
349
|
DEFAULTS
|
|
350
350
|
};
|
|
351
|
-
//# sourceMappingURL=chunk-
|
|
351
|
+
//# sourceMappingURL=chunk-DWOSFYI2.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CliCircuitBreaker,
|
|
3
3
|
DEFAULT_CIRCUIT_BREAKER_CONFIG
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LM2S2QWO.js";
|
|
5
5
|
import {
|
|
6
6
|
CLI_SUBPROCESS_TIMEOUTS,
|
|
7
7
|
CLI_TIMEOUTS,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
getTimeProvider,
|
|
25
25
|
isRateLimitText,
|
|
26
26
|
ok
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-6UI4NKT4.js";
|
|
28
28
|
|
|
29
29
|
// src/cli-adapters/subprocess-adapter.ts
|
|
30
30
|
import { spawn } from "child_process";
|
|
@@ -3183,4 +3183,4 @@ export {
|
|
|
3183
3183
|
isCliAvailable,
|
|
3184
3184
|
getAvailableClis
|
|
3185
3185
|
};
|
|
3186
|
-
//# sourceMappingURL=chunk-
|
|
3186
|
+
//# sourceMappingURL=chunk-ELRNVADA.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
err,
|
|
8
8
|
getErrorMessage,
|
|
9
9
|
ok
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6UI4NKT4.js";
|
|
11
11
|
|
|
12
12
|
// src/cli/research-helpers-synthesize.ts
|
|
13
13
|
import { z } from "zod";
|
|
@@ -1015,4 +1015,4 @@ export {
|
|
|
1015
1015
|
AttributedInsightSchema,
|
|
1016
1016
|
synthesizeResearch
|
|
1017
1017
|
};
|
|
1018
|
-
//# sourceMappingURL=chunk-
|
|
1018
|
+
//# sourceMappingURL=chunk-FHY7I736.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getToolMemory
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-7V367KT4.js";
|
|
4
4
|
import {
|
|
5
5
|
CLI_NAMES,
|
|
6
6
|
StrategyDistiller,
|
|
7
7
|
createLogger,
|
|
8
8
|
getOutcomeStore,
|
|
9
9
|
registerPersistentDistillerFactory
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6UI4NKT4.js";
|
|
11
11
|
import {
|
|
12
12
|
ensureLearningDir,
|
|
13
13
|
getRulesFile
|
|
@@ -273,4 +273,4 @@ export {
|
|
|
273
273
|
inferTaskCategory,
|
|
274
274
|
summarizeContextForPrompt
|
|
275
275
|
};
|
|
276
|
-
//# sourceMappingURL=chunk-
|
|
276
|
+
//# sourceMappingURL=chunk-HGPIHDC4.js.map
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
createStream,
|
|
4
4
|
requireApiKey,
|
|
5
5
|
validateApiKeyPresence
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JA6ON2RP.js";
|
|
7
7
|
import {
|
|
8
8
|
ModelCapability,
|
|
9
9
|
err,
|
|
10
10
|
getCliModelName,
|
|
11
11
|
getTokenEstimator,
|
|
12
12
|
ok
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-6UI4NKT4.js";
|
|
14
14
|
|
|
15
15
|
// src/adapters/openai-types.ts
|
|
16
16
|
var OPENAI_MODELS = {
|
|
@@ -553,4 +553,4 @@ export {
|
|
|
553
553
|
OpenAIAdapter,
|
|
554
554
|
createOpenAIAdapter
|
|
555
555
|
};
|
|
556
|
-
//# sourceMappingURL=chunk-
|
|
556
|
+
//# sourceMappingURL=chunk-IM2B3FK2.js.map
|