iosm-cli 0.2.7 → 0.2.9
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/CHANGELOG.md +61 -1
- package/README.md +4 -4
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +12 -4
- package/dist/cli/args.js.map +1 -1
- package/dist/core/agent-profiles.d.ts.map +1 -1
- package/dist/core/agent-profiles.js +15 -2
- package/dist/core/agent-profiles.js.map +1 -1
- package/dist/core/agent-session.d.ts +3 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +214 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/sdk.d.ts +2 -2
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +7 -4
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/settings-manager.d.ts +57 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +197 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/shadow-guard.d.ts.map +1 -1
- package/dist/core/shadow-guard.js +12 -1
- package/dist/core/shadow-guard.js.map +1 -1
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +109 -4
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/tools/db-run.d.ts +84 -0
- package/dist/core/tools/db-run.d.ts.map +1 -0
- package/dist/core/tools/db-run.js +690 -0
- package/dist/core/tools/db-run.js.map +1 -0
- package/dist/core/tools/git-common.d.ts +45 -0
- package/dist/core/tools/git-common.d.ts.map +1 -0
- package/dist/core/tools/git-common.js +185 -0
- package/dist/core/tools/git-common.js.map +1 -0
- package/dist/core/tools/git-read.d.ts +15 -13
- package/dist/core/tools/git-read.d.ts.map +1 -1
- package/dist/core/tools/git-read.js +101 -153
- package/dist/core/tools/git-read.js.map +1 -1
- package/dist/core/tools/git-write.d.ts +75 -0
- package/dist/core/tools/git-write.d.ts.map +1 -0
- package/dist/core/tools/git-write.js +298 -0
- package/dist/core/tools/git-write.js.map +1 -0
- package/dist/core/tools/index.d.ts +91 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +26 -0
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/lint-run.d.ts +42 -0
- package/dist/core/tools/lint-run.d.ts.map +1 -0
- package/dist/core/tools/lint-run.js +276 -0
- package/dist/core/tools/lint-run.js.map +1 -0
- package/dist/core/tools/task.js +1 -1
- package/dist/core/tools/task.js.map +1 -1
- package/dist/core/tools/test-run.d.ts +36 -0
- package/dist/core/tools/test-run.d.ts.map +1 -0
- package/dist/core/tools/test-run.js +255 -0
- package/dist/core/tools/test-run.js.map +1 -0
- package/dist/core/tools/typecheck-run.d.ts +44 -0
- package/dist/core/tools/typecheck-run.d.ts.map +1 -0
- package/dist/core/tools/typecheck-run.js +343 -0
- package/dist/core/tools/typecheck-run.js.map +1 -0
- package/dist/core/tools/verification-runner.d.ts +53 -0
- package/dist/core/tools/verification-runner.d.ts.map +1 -0
- package/dist/core/tools/verification-runner.js +235 -0
- package/dist/core/tools/verification-runner.js.map +1 -0
- package/dist/core/tools/web-search.d.ts +72 -0
- package/dist/core/tools/web-search.d.ts.map +1 -0
- package/dist/core/tools/web-search.js +702 -0
- package/dist/core/tools/web-search.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +2 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js +2 -1
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js +7 -2
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +2 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/mcp-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/mcp-selector.js +3 -1
- package/dist/modes/interactive/components/mcp-selector.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +12 -2
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +11 -0
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +16 -5
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +4 -2
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +25 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +182 -2
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js +7 -2
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +4 -2
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/subagent-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/subagent-message.js +3 -1
- package/dist/modes/interactive/components/subagent-message.js.map +1 -1
- package/dist/modes/interactive/components/task-plan-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/task-plan-message.js +2 -1
- package/dist/modes/interactive/components/task-plan-message.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js +7 -2
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +7 -2
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +25 -7
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js +18 -3
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +8 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +2 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +8 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +622 -11
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/dark.json +39 -38
- package/dist/modes/interactive/theme/light.json +29 -29
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +16 -25
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive/theme/universal.json +85 -0
- package/docs/cli-reference.md +32 -2
- package/docs/configuration.md +86 -2
- package/docs/development-and-testing.md +1 -1
- package/docs/interactive-mode.md +8 -3
- package/docs/rpc-json-sdk.md +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/core/tools/web-search.ts"],"names":[],"mappings":"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","sourcesContent":["import type { AgentTool } from \"@mariozechner/pi-agent-core\";\nimport { type Static, Type } from \"@sinclair/typebox\";\nimport type { ToolPermissionGuard } from \"./permissions.js\";\nimport { DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, type TruncationResult, truncateHead } from \"./truncate.js\";\n\nconst webSearchSchema = Type.Object({\n\tquery: Type.String({ description: \"Search query text.\" }),\n\tmax_results: Type.Optional(Type.Number({ description: \"Maximum number of results to return.\" })),\n\tinclude_domains: Type.Optional(Type.Array(Type.String(), { description: \"Only include results from these domains.\" })),\n\texclude_domains: Type.Optional(Type.Array(Type.String(), { description: \"Exclude results from these domains.\" })),\n\ttopic: Type.Optional(Type.String({ description: \"Optional topic hint (e.g. general, news).\" })),\n\tdays: Type.Optional(Type.Number({ description: \"Optional recency filter in days (provider support varies).\" })),\n\tsearch_depth: Type.Optional(\n\t\tType.Union([Type.Literal(\"basic\"), Type.Literal(\"advanced\")], {\n\t\t\tdescription: \"Search depth hint for providers that support it (default: basic).\",\n\t\t}),\n\t),\n\ttimeout: Type.Optional(Type.Number({ description: \"Timeout in seconds (default: 20).\" })),\n});\n\nexport type WebSearchToolInput = Static<typeof webSearchSchema>;\nexport type WebSearchProviderMode = \"auto\" | \"tavily\";\nexport type WebSearchFallbackMode = \"searxng_ddg\" | \"searxng_only\" | \"none\";\nexport type WebSearchSafeSearch = \"off\" | \"moderate\" | \"strict\";\nexport type WebSearchSearchDepth = \"basic\" | \"advanced\";\nexport type WebSearchProvider = \"tavily\" | \"searxng\" | \"duckduckgo\";\nexport type WebSearchAttemptStatus = \"success\" | \"empty\" | \"error\" | \"skipped\";\n\nexport const DEFAULT_WEB_SEARCH_MAX_RESULTS = 8;\nexport const DEFAULT_WEB_SEARCH_TIMEOUT_SECONDS = 20;\n\nconst DEFAULT_PROVIDER_MODE: WebSearchProviderMode = \"auto\";\nconst DEFAULT_FALLBACK_MODE: WebSearchFallbackMode = \"searxng_ddg\";\nconst DEFAULT_SAFE_SEARCH: WebSearchSafeSearch = \"moderate\";\nconst DEFAULT_WEB_SEARCH_ENABLED = true;\n\nconst TAVILY_SEARCH_URL = \"https://api.tavily.com/search\";\nconst DUCKDUCKGO_HTML_URL = \"https://duckduckgo.com/html/\";\nconst MAX_PROVIDER_BODY_BYTES = 512 * 1024;\nconst MAX_RESULTS_CAP = 20;\n\ntype WebSearchResult = {\n\ttitle: string;\n\turl: string;\n\tsnippet: string;\n\tsource: string;\n};\n\nexport interface WebSearchAttemptDetail {\n\tprovider: WebSearchProvider;\n\tstatus: WebSearchAttemptStatus;\n\treason?: string;\n\tresultCount?: number;\n}\n\nexport interface WebSearchToolDetails {\n\tquery: string;\n\tprovider: WebSearchProvider;\n\tmaxResults: number;\n\ttimeoutSeconds: number;\n\tsafeSearch: WebSearchSafeSearch;\n\tproviderMode: WebSearchProviderMode;\n\tfallbackMode: WebSearchFallbackMode;\n\tincludeDomains: string[];\n\texcludeDomains: string[];\n\tattempts: WebSearchAttemptDetail[];\n\ttruncation?: TruncationResult;\n}\n\nexport interface WebSearchRuntimeConfig {\n\tenabled: boolean;\n\tproviderMode: WebSearchProviderMode;\n\tfallbackMode: WebSearchFallbackMode;\n\tsafeSearch: WebSearchSafeSearch;\n\tmaxResults: number;\n\ttimeoutSeconds: number;\n}\n\nexport interface WebSearchToolOptions {\n\tfetchImpl?: typeof fetch;\n\tpermissionGuard?: ToolPermissionGuard;\n\tresolveRuntimeConfig?: () => Partial<WebSearchRuntimeConfig> | WebSearchRuntimeConfig;\n\tresolveTavilyApiKey?: () => string | undefined;\n\tresolveSearxngBaseUrl?: () => string | undefined;\n\tdefaultMaxResults?: number;\n\tdefaultTimeoutSeconds?: number;\n}\n\nfunction normalizePositiveInt(raw: number | undefined, fallback: number, field: string): number {\n\tif (raw === undefined) return fallback;\n\tconst value = Math.floor(raw);\n\tif (!Number.isFinite(value) || value <= 0) {\n\t\tthrow new Error(`${field} must be a positive number.`);\n\t}\n\treturn value;\n}\n\nfunction normalizeBoolean(raw: unknown, fallback: boolean): boolean {\n\tif (typeof raw === \"boolean\") return raw;\n\treturn fallback;\n}\n\nfunction normalizeProviderMode(raw: unknown): WebSearchProviderMode {\n\treturn raw === \"tavily\" ? \"tavily\" : \"auto\";\n}\n\nfunction normalizeFallbackMode(raw: unknown): WebSearchFallbackMode {\n\tif (raw === \"searxng_only\" || raw === \"none\") return raw;\n\treturn \"searxng_ddg\";\n}\n\nfunction normalizeSafeSearch(raw: unknown): WebSearchSafeSearch {\n\tif (raw === \"off\" || raw === \"strict\") return raw;\n\treturn \"moderate\";\n}\n\nfunction normalizeRuntimeConfig(\n\tconfig: Partial<WebSearchRuntimeConfig> | WebSearchRuntimeConfig | undefined,\n\tdefaultMaxResults: number,\n\tdefaultTimeoutSeconds: number,\n): WebSearchRuntimeConfig {\n\tconst maxResults = Math.max(\n\t\t1,\n\t\tMath.min(\n\t\t\tMAX_RESULTS_CAP,\n\t\t\tnormalizePositiveInt(\n\t\t\t\ttypeof config?.maxResults === \"number\" ? config.maxResults : undefined,\n\t\t\t\tdefaultMaxResults,\n\t\t\t\t\"maxResults\",\n\t\t\t),\n\t\t),\n\t);\n\n\tconst timeoutSeconds = normalizePositiveInt(\n\t\ttypeof config?.timeoutSeconds === \"number\" ? config.timeoutSeconds : undefined,\n\t\tdefaultTimeoutSeconds,\n\t\t\"timeoutSeconds\",\n\t);\n\n\treturn {\n\t\tenabled: normalizeBoolean(config?.enabled, DEFAULT_WEB_SEARCH_ENABLED),\n\t\tproviderMode: normalizeProviderMode(config?.providerMode),\n\t\tfallbackMode: normalizeFallbackMode(config?.fallbackMode),\n\t\tsafeSearch: normalizeSafeSearch(config?.safeSearch),\n\t\tmaxResults,\n\t\ttimeoutSeconds,\n\t};\n}\n\nfunction normalizeQuery(query: string): string {\n\tconst normalized = query.trim();\n\tif (!normalized) {\n\t\tthrow new Error(\"query must be a non-empty string.\");\n\t}\n\treturn normalized;\n}\n\nfunction normalizeDomain(raw: string): string | undefined {\n\tconst compact = raw.trim().toLowerCase();\n\tif (!compact) return undefined;\n\tconst noProtocol = compact.replace(/^https?:\\/\\//, \"\");\n\tconst hostPart = noProtocol.split(\"/\")[0] ?? \"\";\n\tconst withoutPort = hostPart.split(\":\")[0] ?? \"\";\n\tconst normalized = withoutPort.replace(/^\\*\\./, \"\").replace(/^www\\./, \"\");\n\treturn normalized || undefined;\n}\n\nfunction normalizeDomains(raw: string[] | undefined): string[] {\n\tif (!raw || raw.length === 0) return [];\n\tconst seen = new Set<string>();\n\tconst result: string[] = [];\n\tfor (const domain of raw) {\n\t\tconst normalized = normalizeDomain(domain);\n\t\tif (!normalized || seen.has(normalized)) continue;\n\t\tseen.add(normalized);\n\t\tresult.push(normalized);\n\t}\n\treturn result;\n}\n\nfunction hostMatchesDomain(host: string, domain: string): boolean {\n\treturn host === domain || host.endsWith(`.${domain}`);\n}\n\nfunction normalizeUrl(rawUrl: string): string | undefined {\n\tlet candidate = decodeHtmlEntities(rawUrl.trim());\n\tif (!candidate) return undefined;\n\n\tif (candidate.startsWith(\"//\")) {\n\t\tcandidate = `https:${candidate}`;\n\t}\n\n\tconst duckRedirectPrefixes = [\"/l/?\", \"https://duckduckgo.com/l/?\", \"http://duckduckgo.com/l/?\"];\n\tif (duckRedirectPrefixes.some((prefix) => candidate.startsWith(prefix))) {\n\t\ttry {\n\t\t\tconst redirectUrl = new URL(candidate, \"https://duckduckgo.com\");\n\t\t\tconst resolved = redirectUrl.searchParams.get(\"uddg\");\n\t\t\tif (resolved) candidate = resolved;\n\t\t} catch {\n\t\t\t// Keep candidate as-is and try best effort parsing below.\n\t\t}\n\t}\n\n\ttry {\n\t\treturn new URL(candidate).toString();\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction decodeHtmlEntities(input: string): string {\n\treturn input\n\t\t.replace(/"/g, '\"')\n\t\t.replace(/'/g, \"'\")\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/</g, \"<\")\n\t\t.replace(/>/g, \">\");\n}\n\nfunction stripHtml(input: string): string {\n\treturn decodeHtmlEntities(input.replace(/<[^>]*>/g, \" \")).replace(/\\s+/g, \" \").trim();\n}\n\nfunction normalizeResult(result: Partial<WebSearchResult> & { url?: string }): WebSearchResult | undefined {\n\tconst url = result.url ? normalizeUrl(result.url) : undefined;\n\tif (!url) return undefined;\n\tconst title = (result.title ?? \"\").trim() || url;\n\tconst snippet = (result.snippet ?? \"\").trim();\n\tconst source = (result.source ?? \"\").trim() || \"unknown\";\n\treturn {\n\t\ttitle,\n\t\turl,\n\t\tsnippet,\n\t\tsource,\n\t};\n}\n\nfunction dedupeResults(results: WebSearchResult[]): WebSearchResult[] {\n\tconst seen = new Set<string>();\n\tconst deduped: WebSearchResult[] = [];\n\tfor (const result of results) {\n\t\tconst key = result.url.toLowerCase();\n\t\tif (seen.has(key)) continue;\n\t\tseen.add(key);\n\t\tdeduped.push(result);\n\t}\n\treturn deduped;\n}\n\nfunction applyDomainFilters(results: WebSearchResult[], includeDomains: string[], excludeDomains: string[]): WebSearchResult[] {\n\treturn results.filter((result) => {\n\t\tlet hostname = \"\";\n\t\ttry {\n\t\t\thostname = new URL(result.url).hostname.toLowerCase().replace(/^www\\./, \"\");\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (excludeDomains.some((domain) => hostMatchesDomain(hostname, domain))) {\n\t\t\treturn false;\n\t\t}\n\t\tif (includeDomains.length === 0) {\n\t\t\treturn true;\n\t\t}\n\t\treturn includeDomains.some((domain) => hostMatchesDomain(hostname, domain));\n\t});\n}\n\nfunction appendDomainOperators(query: string, includeDomains: string[], excludeDomains: string[]): string {\n\tconst tokens = [query];\n\tfor (const domain of includeDomains) {\n\t\ttokens.push(`site:${domain}`);\n\t}\n\tfor (const domain of excludeDomains) {\n\t\ttokens.push(`-site:${domain}`);\n\t}\n\treturn tokens.join(\" \").trim();\n}\n\nfunction safeSearchToSearxng(value: WebSearchSafeSearch): \"0\" | \"1\" | \"2\" {\n\tif (value === \"off\") return \"0\";\n\tif (value === \"strict\") return \"2\";\n\treturn \"1\";\n}\n\nfunction safeSearchToDuckDuckGo(value: WebSearchSafeSearch): \"-2\" | \"-1\" | \"1\" {\n\tif (value === \"off\") return \"-2\";\n\tif (value === \"strict\") return \"1\";\n\treturn \"-1\";\n}\n\nfunction resolveTavilyApiKeyFromEnv(): string | undefined {\n\tconst key = process.env.TAVILY_API_KEY?.trim();\n\treturn key ? key : undefined;\n}\n\nfunction resolveSearxngBaseUrlFromEnv(): string | undefined {\n\tconst fromPrimary = process.env.IOSM_WEB_SEARCH_SEARXNG_URL?.trim();\n\tif (fromPrimary) return fromPrimary;\n\tconst fromLegacy = process.env.PI_WEB_SEARCH_SEARXNG_URL?.trim();\n\treturn fromLegacy ? fromLegacy : undefined;\n}\n\nfunction formatAttemptTrace(attempts: WebSearchAttemptDetail[]): string {\n\treturn attempts\n\t\t.map((attempt) => {\n\t\t\tconst base = `${attempt.provider}:${attempt.status}`;\n\t\t\tif (!attempt.reason) return base;\n\t\t\treturn `${base} (${attempt.reason})`;\n\t\t})\n\t\t.join(\" -> \");\n}\n\nfunction formatResultsOutput(params: {\n\tquery: string;\n\tprovider: WebSearchProvider;\n\tresults: WebSearchResult[];\n\tattempts: WebSearchAttemptDetail[];\n}): string {\n\tconst lines: string[] = [];\n\tlines.push(`Search query: ${params.query}`);\n\tlines.push(`Provider: ${params.provider}`);\n\tlines.push(`Attempts: ${formatAttemptTrace(params.attempts)}`);\n\tlines.push(\"\");\n\n\tfor (const [index, result] of params.results.entries()) {\n\t\tlines.push(`${index + 1}. ${result.title}`);\n\t\tlines.push(` ${result.url}`);\n\t\tif (result.snippet) {\n\t\t\tlines.push(` ${result.snippet}`);\n\t\t}\n\t\tlines.push(` source: ${result.source}`);\n\t}\n\n\treturn lines.join(\"\\n\");\n}\n\nasync function readResponseBodyWithLimit(response: Response, maxBytes: number): Promise<{\n\tbuffer: Buffer;\n\ttruncated: boolean;\n}> {\n\tif (!response.body) {\n\t\treturn { buffer: Buffer.alloc(0), truncated: false };\n\t}\n\n\tconst reader = response.body.getReader();\n\tconst chunks: Buffer[] = [];\n\tlet total = 0;\n\tlet truncated = false;\n\n\twhile (true) {\n\t\tconst { value, done } = await reader.read();\n\t\tif (done) break;\n\t\tif (!value) continue;\n\t\tconst chunk = Buffer.from(value);\n\n\t\tif (total + chunk.length > maxBytes) {\n\t\t\tconst remaining = maxBytes - total;\n\t\t\tif (remaining > 0) {\n\t\t\t\tchunks.push(chunk.subarray(0, remaining));\n\t\t\t\ttotal += remaining;\n\t\t\t}\n\t\t\ttruncated = true;\n\t\t\tawait reader.cancel().catch(() => {});\n\t\t\tbreak;\n\t\t}\n\n\t\tchunks.push(chunk);\n\t\ttotal += chunk.length;\n\t}\n\n\treturn { buffer: Buffer.concat(chunks, total), truncated };\n}\n\nasync function parseJsonBody(response: Response): Promise<{ data: unknown; bodyTruncated: boolean }> {\n\tconst captured = await readResponseBodyWithLimit(response, MAX_PROVIDER_BODY_BYTES);\n\tlet data: unknown;\n\ttry {\n\t\tdata = JSON.parse(captured.buffer.toString(\"utf-8\"));\n\t} catch (error: any) {\n\t\tthrow new Error(`Invalid JSON response: ${error?.message ?? \"parse failed\"}`);\n\t}\n\treturn { data, bodyTruncated: captured.truncated };\n}\n\nasync function parseTextBody(response: Response): Promise<{ text: string; bodyTruncated: boolean }> {\n\tconst captured = await readResponseBodyWithLimit(response, MAX_PROVIDER_BODY_BYTES);\n\treturn { text: captured.buffer.toString(\"utf-8\"), bodyTruncated: captured.truncated };\n}\n\nasync function searchWithTavily(params: {\n\tfetchImpl: typeof fetch;\n\tapiKey: string;\n\tquery: string;\n\tmaxResults: number;\n\tincludeDomains: string[];\n\texcludeDomains: string[];\n\ttopic?: string;\n\tdays?: number;\n\tsearchDepth: WebSearchSearchDepth;\n\tsignal: AbortSignal;\n}): Promise<{ results: WebSearchResult[]; notice?: string }> {\n\tconst payload: Record<string, unknown> = {\n\t\tapi_key: params.apiKey,\n\t\tquery: params.query,\n\t\tmax_results: params.maxResults,\n\t\tsearch_depth: params.searchDepth,\n\t};\n\tif (params.includeDomains.length > 0) payload.include_domains = params.includeDomains;\n\tif (params.excludeDomains.length > 0) payload.exclude_domains = params.excludeDomains;\n\tif (params.topic) payload.topic = params.topic;\n\tif (params.days !== undefined) payload.days = params.days;\n\n\tconst response = await params.fetchImpl(TAVILY_SEARCH_URL, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\taccept: \"application/json\",\n\t\t},\n\t\tbody: JSON.stringify(payload),\n\t\tsignal: params.signal,\n\t});\n\tif (!response.ok) {\n\t\tthrow new Error(`HTTP ${response.status} ${response.statusText}`.trim());\n\t}\n\n\tconst { data, bodyTruncated } = await parseJsonBody(response);\n\tconst rawResults = Array.isArray((data as { results?: unknown }).results) ? (data as { results: unknown[] }).results : [];\n\n\tconst results = rawResults\n\t\t.map((entry) => {\n\t\t\tconst item = entry as Record<string, unknown>;\n\t\t\treturn normalizeResult({\n\t\t\t\ttitle: typeof item.title === \"string\" ? item.title : undefined,\n\t\t\t\turl: typeof item.url === \"string\" ? item.url : undefined,\n\t\t\t\tsnippet:\n\t\t\t\t\ttypeof item.content === \"string\"\n\t\t\t\t\t\t? item.content\n\t\t\t\t\t\t: typeof item.snippet === \"string\"\n\t\t\t\t\t\t\t? item.snippet\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\tsource: \"tavily\",\n\t\t\t});\n\t\t})\n\t\t.filter((item): item is WebSearchResult => item !== undefined);\n\n\treturn { results: dedupeResults(results), notice: bodyTruncated ? \"response body truncated\" : undefined };\n}\n\nasync function searchWithSearxng(params: {\n\tfetchImpl: typeof fetch;\n\tbaseUrl: string;\n\tquery: string;\n\tmaxResults: number;\n\ttopic?: string;\n\tdays?: number;\n\tsafeSearch: WebSearchSafeSearch;\n\tsignal: AbortSignal;\n}): Promise<{ results: WebSearchResult[]; notice?: string }> {\n\tconst url = new URL(params.baseUrl);\n\tconst normalizedPath = url.pathname.endsWith(\"/\") ? url.pathname : `${url.pathname}/`;\n\turl.pathname = normalizedPath;\n\n\tconst endpoint = new URL(\"search\", url);\n\tendpoint.searchParams.set(\"q\", params.query);\n\tendpoint.searchParams.set(\"format\", \"json\");\n\tendpoint.searchParams.set(\"safesearch\", safeSearchToSearxng(params.safeSearch));\n\tendpoint.searchParams.set(\"language\", \"en-US\");\n\tif (params.topic) {\n\t\tendpoint.searchParams.set(\"categories\", params.topic);\n\t}\n\tif (params.days !== undefined) {\n\t\tif (params.days <= 1) endpoint.searchParams.set(\"time_range\", \"day\");\n\t\telse if (params.days <= 7) endpoint.searchParams.set(\"time_range\", \"week\");\n\t\telse if (params.days <= 31) endpoint.searchParams.set(\"time_range\", \"month\");\n\t\telse endpoint.searchParams.set(\"time_range\", \"year\");\n\t}\n\n\tconst response = await params.fetchImpl(endpoint, {\n\t\tmethod: \"GET\",\n\t\theaders: { accept: \"application/json\" },\n\t\tsignal: params.signal,\n\t});\n\tif (!response.ok) {\n\t\tthrow new Error(`HTTP ${response.status} ${response.statusText}`.trim());\n\t}\n\n\tconst { data, bodyTruncated } = await parseJsonBody(response);\n\tconst rawResults = Array.isArray((data as { results?: unknown }).results) ? (data as { results: unknown[] }).results : [];\n\tconst results = rawResults\n\t\t.slice(0, Math.max(params.maxResults * 3, params.maxResults))\n\t\t.map((entry) => {\n\t\t\tconst item = entry as Record<string, unknown>;\n\t\t\treturn normalizeResult({\n\t\t\t\ttitle: typeof item.title === \"string\" ? item.title : undefined,\n\t\t\t\turl: typeof item.url === \"string\" ? item.url : undefined,\n\t\t\t\tsnippet: typeof item.content === \"string\" ? item.content : undefined,\n\t\t\t\tsource: typeof item.engine === \"string\" && item.engine.trim() ? item.engine : \"searxng\",\n\t\t\t});\n\t\t})\n\t\t.filter((item): item is WebSearchResult => item !== undefined);\n\n\treturn { results: dedupeResults(results), notice: bodyTruncated ? \"response body truncated\" : undefined };\n}\n\nfunction parseDuckDuckGoResults(html: string): WebSearchResult[] {\n\tconst results: WebSearchResult[] = [];\n\tconst seen = new Set<string>();\n\n\tconst primaryRegex = /<a[^>]*class=\"[^\"]*result__a[^\"]*\"[^>]*href=\"([^\"]+)\"[^>]*>([\\s\\S]*?)<\\/a>/gi;\n\tlet match: RegExpExecArray | null;\n\twhile ((match = primaryRegex.exec(html)) !== null) {\n\t\tconst rawUrl = match[1] ?? \"\";\n\t\tconst resolvedUrl = normalizeUrl(rawUrl);\n\t\tif (!resolvedUrl || seen.has(resolvedUrl)) continue;\n\t\tseen.add(resolvedUrl);\n\n\t\tconst title = stripHtml(match[2] ?? \"\") || resolvedUrl;\n\t\tconst tail = html.slice(match.index, Math.min(match.index + 2200, html.length));\n\t\tconst snippetMatch =\n\t\t\ttail.match(/class=\"[^\"]*result__snippet[^\"]*\"[^>]*>([\\s\\S]*?)<\\/[^>]+>/i) ??\n\t\t\ttail.match(/class=\"[^\"]*result__extras__url[^\"]*\"[^>]*>([\\s\\S]*?)<\\/[^>]+>/i);\n\t\tconst snippet = snippetMatch ? stripHtml(snippetMatch[1] ?? \"\") : \"\";\n\n\t\tresults.push({\n\t\t\ttitle,\n\t\t\turl: resolvedUrl,\n\t\t\tsnippet,\n\t\t\tsource: \"duckduckgo\",\n\t\t});\n\t}\n\n\tif (results.length > 0) {\n\t\treturn results;\n\t}\n\n\tconst liteRegex = /<a[^>]*class=\"result-link\"[^>]*href=\"([^\"]+)\"[^>]*>([\\s\\S]*?)<\\/a>/gi;\n\twhile ((match = liteRegex.exec(html)) !== null) {\n\t\tconst resolvedUrl = normalizeUrl(match[1] ?? \"\");\n\t\tif (!resolvedUrl || seen.has(resolvedUrl)) continue;\n\t\tseen.add(resolvedUrl);\n\t\tresults.push({\n\t\t\ttitle: stripHtml(match[2] ?? \"\") || resolvedUrl,\n\t\t\turl: resolvedUrl,\n\t\t\tsnippet: \"\",\n\t\t\tsource: \"duckduckgo\",\n\t\t});\n\t}\n\n\treturn results;\n}\n\nasync function searchWithDuckDuckGo(params: {\n\tfetchImpl: typeof fetch;\n\tquery: string;\n\tsafeSearch: WebSearchSafeSearch;\n\tsignal: AbortSignal;\n}): Promise<{ results: WebSearchResult[]; notice?: string }> {\n\tconst endpoint = new URL(DUCKDUCKGO_HTML_URL);\n\tendpoint.searchParams.set(\"q\", params.query);\n\tendpoint.searchParams.set(\"kp\", safeSearchToDuckDuckGo(params.safeSearch));\n\tendpoint.searchParams.set(\"kl\", \"us-en\");\n\n\tconst response = await params.fetchImpl(endpoint, {\n\t\tmethod: \"GET\",\n\t\theaders: {\n\t\t\taccept: \"text/html,application/xhtml+xml\",\n\t\t},\n\t\tsignal: params.signal,\n\t});\n\tif (!response.ok) {\n\t\tthrow new Error(`HTTP ${response.status} ${response.statusText}`.trim());\n\t}\n\n\tconst { text, bodyTruncated } = await parseTextBody(response);\n\treturn {\n\t\tresults: dedupeResults(parseDuckDuckGoResults(text)),\n\t\tnotice: bodyTruncated ? \"response body truncated\" : undefined,\n\t};\n}\n\nfunction buildProviderOrder(fallbackMode: WebSearchFallbackMode): WebSearchProvider[] {\n\tconst providers: WebSearchProvider[] = [\"tavily\"];\n\tif (fallbackMode === \"searxng_ddg\") {\n\t\tproviders.push(\"searxng\", \"duckduckgo\");\n\t} else if (fallbackMode === \"searxng_only\") {\n\t\tproviders.push(\"searxng\");\n\t}\n\treturn providers;\n}\n\nfunction toErrorMessage(error: unknown): string {\n\tif (error instanceof Error) {\n\t\treturn error.message;\n\t}\n\treturn String(error);\n}\n\nfunction capSnippet(snippet: string, maxLength = 320): string {\n\tif (snippet.length <= maxLength) return snippet;\n\treturn `${snippet.slice(0, maxLength - 1).trimEnd()}…`;\n}\n\nexport function createWebSearchTool(cwd: string, options?: WebSearchToolOptions): AgentTool<typeof webSearchSchema> {\n\tconst fetchImpl = options?.fetchImpl ?? fetch;\n\tconst permissionGuard = options?.permissionGuard;\n\tconst resolveTavilyApiKey = (): string | undefined => {\n\t\tconst fromOptions = options?.resolveTavilyApiKey?.()?.trim();\n\t\treturn fromOptions && fromOptions.length > 0 ? fromOptions : resolveTavilyApiKeyFromEnv();\n\t};\n\tconst resolveSearxngBaseUrl = (): string | undefined => {\n\t\tconst fromOptions = options?.resolveSearxngBaseUrl?.()?.trim();\n\t\treturn fromOptions && fromOptions.length > 0 ? fromOptions : resolveSearxngBaseUrlFromEnv();\n\t};\n\tconst defaultMaxResults = Math.max(\n\t\t1,\n\t\tMath.min(MAX_RESULTS_CAP, normalizePositiveInt(options?.defaultMaxResults, DEFAULT_WEB_SEARCH_MAX_RESULTS, \"defaultMaxResults\")),\n\t);\n\tconst defaultTimeoutSeconds = normalizePositiveInt(\n\t\toptions?.defaultTimeoutSeconds,\n\t\tDEFAULT_WEB_SEARCH_TIMEOUT_SECONDS,\n\t\t\"defaultTimeoutSeconds\",\n\t);\n\n\treturn {\n\t\tname: \"web_search\",\n\t\tlabel: \"web_search\",\n\t\tdescription:\n\t\t\t\"Search the web for discovery (provider chain: Tavily -> SearXNG -> DuckDuckGo). Use fetch for reading specific pages.\",\n\t\tparameters: webSearchSchema,\n\t\texecute: async (_toolCallId: string, input: WebSearchToolInput, signal?: AbortSignal) => {\n\t\t\tconst query = normalizeQuery(input.query);\n\t\t\tconst runtimeConfig = normalizeRuntimeConfig(options?.resolveRuntimeConfig?.(), defaultMaxResults, defaultTimeoutSeconds);\n\t\t\tif (!runtimeConfig.enabled) {\n\t\t\t\tthrow new Error(\"web_search is disabled in settings.\");\n\t\t\t}\n\n\t\t\tconst maxResults = Math.max(\n\t\t\t\t1,\n\t\t\t\tMath.min(\n\t\t\t\t\tMAX_RESULTS_CAP,\n\t\t\t\t\tnormalizePositiveInt(input.max_results, runtimeConfig.maxResults, \"max_results\"),\n\t\t\t\t),\n\t\t\t);\n\t\t\tconst timeoutSeconds = normalizePositiveInt(input.timeout, runtimeConfig.timeoutSeconds, \"timeout\");\n\t\t\tconst searchDepth: WebSearchSearchDepth = input.search_depth === \"advanced\" ? \"advanced\" : \"basic\";\n\t\t\tconst includeDomains = normalizeDomains(input.include_domains);\n\t\t\tconst excludeDomains = normalizeDomains(input.exclude_domains);\n\t\t\tconst days = input.days === undefined ? undefined : normalizePositiveInt(input.days, 1, \"days\");\n\t\t\tconst queryWithDomains = appendDomainOperators(query, includeDomains, excludeDomains);\n\t\t\tconst providerOrder = buildProviderOrder(runtimeConfig.fallbackMode);\n\n\t\t\tif (permissionGuard) {\n\t\t\t\tconst allowed = await permissionGuard({\n\t\t\t\t\ttoolName: \"web_search\",\n\t\t\t\t\tcwd,\n\t\t\t\t\tinput: {\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tmaxResults,\n\t\t\t\t\t\ttimeoutSeconds,\n\t\t\t\t\t\tproviderMode: runtimeConfig.providerMode,\n\t\t\t\t\t\tfallbackMode: runtimeConfig.fallbackMode,\n\t\t\t\t\t\tsafeSearch: runtimeConfig.safeSearch,\n\t\t\t\t\t\tincludeDomains,\n\t\t\t\t\t\texcludeDomains,\n\t\t\t\t\t},\n\t\t\t\t\tsummary: `query=\"${query}\"`,\n\t\t\t\t});\n\t\t\t\tif (!allowed) {\n\t\t\t\t\tthrow new Error(\"Permission denied for web_search operation.\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst timeoutSignal = AbortSignal.timeout(timeoutSeconds * 1000);\n\t\t\tconst requestSignal = signal ? AbortSignal.any([signal, timeoutSignal]) : timeoutSignal;\n\t\t\tconst providerRequestLimit = Math.min(MAX_RESULTS_CAP, Math.max(maxResults, maxResults * 2));\n\t\t\tconst attempts: WebSearchAttemptDetail[] = [];\n\t\t\tlet selectedProvider: WebSearchProvider | undefined;\n\t\t\tlet selectedResults: WebSearchResult[] = [];\n\t\t\tconst providerNotices: string[] = [];\n\n\t\t\tfor (const provider of providerOrder) {\n\t\t\t\tif (provider === \"tavily\") {\n\t\t\t\t\tconst apiKey = resolveTavilyApiKey();\n\t\t\t\t\tif (!apiKey) {\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"tavily\",\n\t\t\t\t\t\t\tstatus: runtimeConfig.providerMode === \"tavily\" ? \"error\" : \"skipped\",\n\t\t\t\t\t\t\treason: \"Tavily API key is not configured\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst providerResult = await searchWithTavily({\n\t\t\t\t\t\t\tfetchImpl,\n\t\t\t\t\t\t\tapiKey,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\tmaxResults: providerRequestLimit,\n\t\t\t\t\t\t\tincludeDomains,\n\t\t\t\t\t\t\texcludeDomains,\n\t\t\t\t\t\t\ttopic: input.topic,\n\t\t\t\t\t\t\tdays,\n\t\t\t\t\t\t\tsearchDepth,\n\t\t\t\t\t\t\tsignal: requestSignal,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (providerResult.notice) providerNotices.push(`tavily: ${providerResult.notice}`);\n\t\t\t\t\t\tconst filtered = applyDomainFilters(providerResult.results, includeDomains, excludeDomains).slice(0, maxResults);\n\t\t\t\t\t\tif (filtered.length === 0) {\n\t\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\t\tprovider: \"tavily\",\n\t\t\t\t\t\t\t\tstatus: \"empty\",\n\t\t\t\t\t\t\t\treason: providerResult.results.length === 0 ? \"no results returned\" : \"all results filtered out\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselectedProvider = \"tavily\";\n\t\t\t\t\t\tselectedResults = filtered;\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"tavily\",\n\t\t\t\t\t\t\tstatus: \"success\",\n\t\t\t\t\t\t\tresultCount: filtered.length,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"tavily\",\n\t\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\t\treason: toErrorMessage(error),\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (provider === \"searxng\") {\n\t\t\t\t\tconst baseUrl = resolveSearxngBaseUrl();\n\t\t\t\t\tif (!baseUrl) {\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"searxng\",\n\t\t\t\t\t\t\tstatus: \"skipped\",\n\t\t\t\t\t\t\treason: \"SearXNG base URL is not configured\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst providerResult = await searchWithSearxng({\n\t\t\t\t\t\t\tfetchImpl,\n\t\t\t\t\t\t\tbaseUrl,\n\t\t\t\t\t\t\tquery: queryWithDomains,\n\t\t\t\t\t\t\tmaxResults: providerRequestLimit,\n\t\t\t\t\t\t\ttopic: input.topic,\n\t\t\t\t\t\t\tdays,\n\t\t\t\t\t\t\tsafeSearch: runtimeConfig.safeSearch,\n\t\t\t\t\t\t\tsignal: requestSignal,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tif (providerResult.notice) providerNotices.push(`searxng: ${providerResult.notice}`);\n\t\t\t\t\t\tconst filtered = applyDomainFilters(providerResult.results, includeDomains, excludeDomains).slice(0, maxResults);\n\t\t\t\t\t\tif (filtered.length === 0) {\n\t\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\t\tprovider: \"searxng\",\n\t\t\t\t\t\t\t\tstatus: \"empty\",\n\t\t\t\t\t\t\t\treason: providerResult.results.length === 0 ? \"no results returned\" : \"all results filtered out\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tselectedProvider = \"searxng\";\n\t\t\t\t\t\tselectedResults = filtered;\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"searxng\",\n\t\t\t\t\t\t\tstatus: \"success\",\n\t\t\t\t\t\t\tresultCount: filtered.length,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"searxng\",\n\t\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\t\treason: toErrorMessage(error),\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tconst providerResult = await searchWithDuckDuckGo({\n\t\t\t\t\t\tfetchImpl,\n\t\t\t\t\t\tquery: queryWithDomains,\n\t\t\t\t\t\tsafeSearch: runtimeConfig.safeSearch,\n\t\t\t\t\t\tsignal: requestSignal,\n\t\t\t\t\t});\n\t\t\t\t\tif (providerResult.notice) providerNotices.push(`duckduckgo: ${providerResult.notice}`);\n\t\t\t\t\tconst filtered = applyDomainFilters(providerResult.results, includeDomains, excludeDomains).slice(0, maxResults);\n\t\t\t\t\tif (filtered.length === 0) {\n\t\t\t\t\t\tattempts.push({\n\t\t\t\t\t\t\tprovider: \"duckduckgo\",\n\t\t\t\t\t\t\tstatus: \"empty\",\n\t\t\t\t\t\t\treason: providerResult.results.length === 0 ? \"no results returned\" : \"all results filtered out\",\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tselectedProvider = \"duckduckgo\";\n\t\t\t\t\tselectedResults = filtered;\n\t\t\t\t\tattempts.push({\n\t\t\t\t\t\tprovider: \"duckduckgo\",\n\t\t\t\t\t\tstatus: \"success\",\n\t\t\t\t\t\tresultCount: filtered.length,\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tattempts.push({\n\t\t\t\t\t\tprovider: \"duckduckgo\",\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\treason: toErrorMessage(error),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!selectedProvider || selectedResults.length === 0) {\n\t\t\t\tthrow new Error(`web_search failed. Attempts: ${formatAttemptTrace(attempts)}`);\n\t\t\t}\n\n\t\t\tconst output = formatResultsOutput({\n\t\t\t\tquery,\n\t\t\t\tprovider: selectedProvider,\n\t\t\t\tresults: selectedResults.map((item) => ({ ...item, snippet: capSnippet(item.snippet) })),\n\t\t\t\tattempts,\n\t\t\t});\n\t\t\tconst truncation = truncateHead(output, {\n\t\t\t\tmaxBytes: Math.max(DEFAULT_MAX_BYTES, 96 * 1024),\n\t\t\t\tmaxLines: DEFAULT_MAX_LINES,\n\t\t\t});\n\t\t\tlet finalOutput = truncation.content;\n\t\t\tconst notices: string[] = [];\n\t\t\tif (truncation.truncated) {\n\t\t\t\tnotices.push(\n\t\t\t\t\t`output truncated by ${truncation.truncatedBy === \"lines\" ? \"line\" : \"byte\"} limit (showing up to ${DEFAULT_MAX_LINES} lines)`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (providerNotices.length > 0) {\n\t\t\t\tnotices.push(...providerNotices);\n\t\t\t}\n\t\t\tif (notices.length > 0) {\n\t\t\t\tfinalOutput += `\\n\\n[${notices.join(\". \")}]`;\n\t\t\t}\n\n\t\t\tconst details: WebSearchToolDetails = {\n\t\t\t\tquery,\n\t\t\t\tprovider: selectedProvider,\n\t\t\t\tmaxResults,\n\t\t\t\ttimeoutSeconds,\n\t\t\t\tsafeSearch: runtimeConfig.safeSearch,\n\t\t\t\tproviderMode: runtimeConfig.providerMode,\n\t\t\t\tfallbackMode: runtimeConfig.fallbackMode,\n\t\t\t\tincludeDomains,\n\t\t\t\texcludeDomains,\n\t\t\t\tattempts,\n\t\t\t\ttruncation: truncation.truncated ? truncation : undefined,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\tcontent: [{ type: \"text\", text: finalOutput }],\n\t\t\t\tdetails,\n\t\t\t};\n\t\t},\n\t};\n}\n\nexport const webSearchTool = createWebSearchTool(process.cwd());\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,9 +16,9 @@ export type { ResourceCollision, ResourceDiagnostic, ResourceLoader } from "./co
|
|
|
16
16
|
export { DefaultResourceLoader } from "./core/resource-loader.js";
|
|
17
17
|
export { type CreateAgentSessionOptions, type CreateAgentSessionResult, createAgentSession, createAskUserTool, createBashTool, createCodingTools, createCombyTool, createEditTool, createFdTool, createFindTool, createGrepTool, createJqTool, createLsTool, createReadOnlyTools, createReadTool, createRgTool, createSedTool, createSemanticSearchTool, createSemgrepTool, createAstGrepTool, createWriteTool, createYqTool, type PromptTemplate, readOnlyTools, } from "./core/sdk.js";
|
|
18
18
|
export { type BranchSummaryEntry, buildSessionContext, type CompactionEntry, CURRENT_SESSION_VERSION, type CustomEntry, type CustomMessageEntry, type FileEntry, getLatestCompactionEntry, type ModelChangeEntry, migrateSessionEntries, type NewSessionOptions, parseSessionEntries, type SessionContext, type SessionEntry, type SessionEntryBase, type SessionHeader, type SessionInfo, type SessionInfoEntry, SessionManager, type SessionMessageEntry, type ThinkingLevelChangeEntry, } from "./core/session-manager.js";
|
|
19
|
-
export { type CompactionSettings, type ImageSettings, type PackageSource, type RetrySettings, SettingsManager, } from "./core/settings-manager.js";
|
|
19
|
+
export { type CompactionSettings, type DbToolsConnectionSettings, type DbToolsMigrateSettings, type DbToolsSettings, type GithubToolsSettings, type ImageSettings, type PackageSource, type RetrySettings, type WebSearchSettings, SettingsManager, } from "./core/settings-manager.js";
|
|
20
20
|
export { formatSkillsForPrompt, type LoadSkillsFromDirOptions, type LoadSkillsResult, loadSkills, loadSkillsFromDir, type Skill, type SkillFrontmatter, } from "./core/skills.js";
|
|
21
|
-
export { type SemanticSearchToolInput, type SemanticSearchToolOptions, type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, type CombyToolInput, type AstGrepToolInput, type ExternalCliToolDetails, type ExternalCliToolInput, type ExternalCliToolOptions, type FetchMethod, type FetchResponseFormat, type FetchToolDetails, type FetchToolInput, type FetchToolOptions, type FdToolInput, type FsOpsToolDetails, type FsOpsToolInput, type FsOpsToolOptions, type GitReadToolDetails, type GitReadToolInput, type GitReadToolOptions, type JqToolInput, type RgToolInput, type SedToolInput, type SemgrepToolInput, type YqToolInput, astGrepTool, bashTool, codingTools, combyTool, fetchTool, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_FETCH_MAX_BYTES, DEFAULT_FETCH_MAX_REDIRECTS, DEFAULT_FETCH_TIMEOUT_SECONDS, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, editTool, fsOpsTool, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, fdTool, findTool, formatSize, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, grepTool, getAllowedFetchMethodsForProfile, gitReadTool, jqTool, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, lsTool, rgTool, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, readTool, sedTool, semanticSearchTool, semgrepTool, type ToolsOptions, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, type WriteOperations, type WriteToolInput, type WriteToolOptions, writeTool, yqTool, createFetchTool, createGitReadTool, createFsOpsTool, createExternalCliTool, } from "./core/tools/index.js";
|
|
21
|
+
export { type SemanticSearchToolInput, type SemanticSearchToolOptions, type BashOperations, type BashSpawnContext, type BashSpawnHook, type BashToolDetails, type BashToolInput, type BashToolOptions, type CombyToolInput, type AstGrepToolInput, type ExternalCliToolDetails, type ExternalCliToolInput, type ExternalCliToolOptions, type FetchMethod, type FetchResponseFormat, type FetchToolDetails, type FetchToolInput, type FetchToolOptions, type WebSearchAttemptDetail, type WebSearchAttemptStatus, type WebSearchFallbackMode, type WebSearchProvider, type WebSearchProviderMode, type WebSearchRuntimeConfig, type WebSearchSafeSearch, type WebSearchSearchDepth, type WebSearchToolDetails, type WebSearchToolInput, type WebSearchToolOptions, type FdToolInput, type FsOpsToolDetails, type FsOpsToolInput, type FsOpsToolOptions, type GitReadToolDetails, type GitReadToolInput, type GitReadToolOptions, type GitWriteToolDetails, type GitWriteToolInput, type GitWriteToolOptions, type JqToolInput, type DbRunAction, type DbRunAdapter, type DbRunMigrateRunner, type DbRunStatus, type DbRunToolDetails, type DbRunToolInput, type DbRunToolOptions, type DbToolsConnectionConfig, type DbToolsMigrateConfig, type DbToolsRuntimeConfig, type LintRunMode, type LintRunRunner, type LintRunStatus, type LintRunToolDetails, type LintRunToolInput, type RgToolInput, type SedToolInput, type SemgrepToolInput, type TestRunRunner, type TestRunStatus, type TestRunToolDetails, type TestRunToolInput, type TypecheckRunItemDetails, type TypecheckRunRunner, type TypecheckRunStatus, type TypecheckRunToolDetails, type TypecheckRunToolInput, type YqToolInput, astGrepTool, bashTool, codingTools, combyTool, dbRunTool, fetchTool, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_FETCH_MAX_BYTES, DEFAULT_FETCH_MAX_REDIRECTS, DEFAULT_FETCH_TIMEOUT_SECONDS, DEFAULT_DB_RUN_TIMEOUT_SECONDS, DEFAULT_LINT_RUN_TIMEOUT_SECONDS, DEFAULT_TEST_RUN_TIMEOUT_SECONDS, DEFAULT_TYPECHECK_RUN_TIMEOUT_SECONDS, DEFAULT_WEB_SEARCH_MAX_RESULTS, DEFAULT_WEB_SEARCH_TIMEOUT_SECONDS, type EditOperations, type EditToolDetails, type EditToolInput, type EditToolOptions, editTool, fsOpsTool, webSearchTool, type FindOperations, type FindToolDetails, type FindToolInput, type FindToolOptions, fdTool, findTool, formatSize, type GrepOperations, type GrepToolDetails, type GrepToolInput, type GrepToolOptions, grepTool, getAllowedFetchMethodsForProfile, gitReadTool, gitWriteTool, jqTool, lintRunTool, type LsOperations, type LsToolDetails, type LsToolInput, type LsToolOptions, lsTool, rgTool, type ReadOperations, type ReadToolDetails, type ReadToolInput, type ReadToolOptions, readTool, sedTool, semanticSearchTool, semgrepTool, testRunTool, typecheckRunTool, type ToolsOptions, type TruncationOptions, type TruncationResult, truncateHead, truncateLine, truncateTail, type WriteOperations, type WriteToolInput, type WriteToolOptions, writeTool, yqTool, createLintRunTool, createDbRunTool, createTestRunTool, createTypecheckRunTool, createFetchTool, createWebSearchTool, createGitReadTool, createGitWriteTool, createFsOpsTool, createExternalCliTool, } from "./core/tools/index.js";
|
|
22
22
|
export type { SemanticAction, SemanticConfigFile, SemanticIndexConfig, SemanticIndexMeta, SemanticIndexOperationResult, SemanticMergedConfig, SemanticProviderConfig, SemanticProviderType, SemanticQueryHit, SemanticQueryResult, SemanticScope, SemanticScopedLoadResult, SemanticSearchConfig, SemanticStatusResult, SemanticStaleReason, SemanticToolResult, } from "./core/semantic/index.js";
|
|
23
23
|
export { SemanticConfigError, SemanticConfigMissingError, SemanticRebuildRequiredError, SemanticSearchRuntime, createSemanticEmbeddingProvider, getDefaultSemanticSearchConfig, getSemanticConfigPath, getSemanticIndexDir, getSemanticIndexFiles, getSemanticIndexesDir, getSemanticProjectHash, getSemanticRootDir, loadMergedSemanticConfig, loadSemanticIndex, readScopedSemanticConfig, upsertScopedSemanticSearchConfig, writeScopedSemanticConfig, writeSemanticIndex, clearSemanticIndex, } from "./core/semantic/index.js";
|
|
24
24
|
export { main } from "./main.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,7 +26,7 @@ export { SettingsManager, } from "./core/settings-manager.js";
|
|
|
26
26
|
// Skills
|
|
27
27
|
export { formatSkillsForPrompt, loadSkills, loadSkillsFromDir, } from "./core/skills.js";
|
|
28
28
|
// Tools
|
|
29
|
-
export { astGrepTool, bashTool, codingTools, combyTool, fetchTool, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_FETCH_MAX_BYTES, DEFAULT_FETCH_MAX_REDIRECTS, DEFAULT_FETCH_TIMEOUT_SECONDS, editTool, fsOpsTool, fdTool, findTool, formatSize, grepTool, getAllowedFetchMethodsForProfile, gitReadTool, jqTool, lsTool, rgTool, readTool, sedTool, semanticSearchTool, semgrepTool, truncateHead, truncateLine, truncateTail, writeTool, yqTool, createFetchTool, createGitReadTool, createFsOpsTool, createExternalCliTool, } from "./core/tools/index.js";
|
|
29
|
+
export { astGrepTool, bashTool, codingTools, combyTool, dbRunTool, fetchTool, DEFAULT_MAX_BYTES, DEFAULT_MAX_LINES, DEFAULT_FETCH_MAX_BYTES, DEFAULT_FETCH_MAX_REDIRECTS, DEFAULT_FETCH_TIMEOUT_SECONDS, DEFAULT_DB_RUN_TIMEOUT_SECONDS, DEFAULT_LINT_RUN_TIMEOUT_SECONDS, DEFAULT_TEST_RUN_TIMEOUT_SECONDS, DEFAULT_TYPECHECK_RUN_TIMEOUT_SECONDS, DEFAULT_WEB_SEARCH_MAX_RESULTS, DEFAULT_WEB_SEARCH_TIMEOUT_SECONDS, editTool, fsOpsTool, webSearchTool, fdTool, findTool, formatSize, grepTool, getAllowedFetchMethodsForProfile, gitReadTool, gitWriteTool, jqTool, lintRunTool, lsTool, rgTool, readTool, sedTool, semanticSearchTool, semgrepTool, testRunTool, typecheckRunTool, truncateHead, truncateLine, truncateTail, writeTool, yqTool, createLintRunTool, createDbRunTool, createTestRunTool, createTypecheckRunTool, createFetchTool, createWebSearchTool, createGitReadTool, createGitWriteTool, createFsOpsTool, createExternalCliTool, } from "./core/tools/index.js";
|
|
30
30
|
export { SemanticConfigError, SemanticConfigMissingError, SemanticRebuildRequiredError, SemanticSearchRuntime, createSemanticEmbeddingProvider, getDefaultSemanticSearchConfig, getSemanticConfigPath, getSemanticIndexDir, getSemanticIndexFiles, getSemanticIndexesDir, getSemanticProjectHash, getSemanticRootDir, loadMergedSemanticConfig, loadSemanticIndex, readScopedSemanticConfig, upsertScopedSemanticSearchConfig, writeScopedSemanticConfig, writeSemanticIndex, clearSemanticIndex, } from "./core/semantic/index.js";
|
|
31
31
|
// Main entry point
|
|
32
32
|
export { main } from "./main.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Core session management\n\n// Config paths\nexport { getAgentDir, VERSION } from \"./config.js\";\nexport {\n\tAgentSession,\n\ttype AgentSessionConfig,\n\ttype AgentSessionEvent,\n\ttype AgentSessionEventListener,\n\ttype ModelCycleResult,\n\ttype ParsedSkillBlock,\n\ttype PromptOptions,\n\tparseSkillBlock,\n\ttype SessionStats,\n} from \"./core/agent-session.js\";\n// Auth and model registry\nexport {\n\ttype ApiKeyCredential,\n\ttype AuthCredential,\n\tAuthStorage,\n\ttype AuthStorageBackend,\n\tFileAuthStorageBackend,\n\tInMemoryAuthStorageBackend,\n\ttype OAuthCredential,\n} from \"./core/auth-storage.js\";\n// Compaction\nexport {\n\ttype BranchPreparation,\n\ttype BranchSummaryResult,\n\ttype CollectEntriesResult,\n\ttype CompactionResult,\n\ttype CutPointResult,\n\tcalculateContextTokens,\n\tcollectEntriesForBranchSummary,\n\tcompact,\n\tDEFAULT_COMPACTION_SETTINGS,\n\testimateTokens,\n\ttype FileOperations,\n\tfindCutPoint,\n\tfindTurnStartIndex,\n\ttype GenerateBranchSummaryOptions,\n\tgenerateBranchSummary,\n\tgenerateSummary,\n\tgetLastAssistantUsage,\n\tprepareBranchEntries,\n\tserializeConversation,\n\tshouldCompact,\n} from \"./core/compaction/index.js\";\nexport { createEventBus, type EventBus, type EventBusController } from \"./core/event-bus.js\";\n// Extension system\nexport type {\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppAction,\n\tBashToolCallEvent,\n\tBeforeAgentStartEvent,\n\tCompactOptions,\n\tContextEvent,\n\tContextUsage,\n\tCustomToolCallEvent,\n\tEditToolCallEvent,\n\tExecOptions,\n\tExecResult,\n\tExtension,\n\tExtensionActions,\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tGrepToolCallEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tProviderConfig,\n\tProviderModelConfig,\n\tReadToolCallEvent,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionForkEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionSwitchEvent,\n\tSessionTreeEvent,\n\tSlashCommandInfo,\n\tSlashCommandLocation,\n\tSlashCommandSource,\n\tTerminalInputHandler,\n\tToolCallEvent,\n\tToolDefinition,\n\tToolInfo,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWidgetPlacement,\n\tWriteToolCallEvent,\n} from \"./core/extensions/index.js\";\nexport {\n\tcreateExtensionRuntime,\n\tdiscoverAndLoadExtensions,\n\tExtensionRunner,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisReadToolResult,\n\tisToolCallEventType,\n\tisWriteToolResult,\n\twrapRegisteredTool,\n\twrapRegisteredTools,\n\twrapToolsWithExtensions,\n\twrapToolWithExtensions,\n} from \"./core/extensions/index.js\";\n// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)\nexport type { ReadonlyFooterDataProvider } from \"./core/footer-data-provider.js\";\nexport { convertToLlm } from \"./core/messages.js\";\nexport {\n\tgetMcpCommandHelp,\n\tgetMcpConfigPath,\n\tgetMergedServerByName,\n\tloadMergedMcpConfig,\n\tMcpRuntime,\n\tparseMcpAddCommand,\n\tparseMcpTargetCommand,\n} from \"./core/mcp/index.js\";\nexport type {\n\tMcpConfigFile,\n\tMcpResolvedServerConfig,\n\tMcpScope,\n\tMcpScopeTarget,\n\tMcpServerConfig,\n\tMcpServerStatus,\n\tMcpTransport,\n} from \"./core/mcp/index.js\";\nexport { ModelRegistry } from \"./core/model-registry.js\";\nexport type {\n\tPackageManager,\n\tPathMetadata,\n\tProgressCallback,\n\tProgressEvent,\n\tResolvedPaths,\n\tResolvedResource,\n} from \"./core/package-manager.js\";\nexport { DefaultPackageManager } from \"./core/package-manager.js\";\nexport type { ResourceCollision, ResourceDiagnostic, ResourceLoader } from \"./core/resource-loader.js\";\nexport { DefaultResourceLoader } from \"./core/resource-loader.js\";\n// SDK for programmatic usage\nexport {\n\ttype CreateAgentSessionOptions,\n\ttype CreateAgentSessionResult,\n\t// Factory\n\tcreateAgentSession,\n\tcreateAskUserTool,\n\tcreateBashTool,\n\t// Tool factories (for custom cwd)\n\tcreateCodingTools,\n\tcreateCombyTool,\n\tcreateEditTool,\n\tcreateFdTool,\n\tcreateFindTool,\n\tcreateGrepTool,\n\tcreateJqTool,\n\tcreateLsTool,\n\tcreateReadOnlyTools,\n\tcreateReadTool,\n\tcreateRgTool,\n\tcreateSedTool,\n\tcreateSemanticSearchTool,\n\tcreateSemgrepTool,\n\tcreateAstGrepTool,\n\tcreateWriteTool,\n\tcreateYqTool,\n\ttype PromptTemplate,\n\t// Pre-built tools (use process.cwd())\n\treadOnlyTools,\n} from \"./core/sdk.js\";\nexport {\n\ttype BranchSummaryEntry,\n\tbuildSessionContext,\n\ttype CompactionEntry,\n\tCURRENT_SESSION_VERSION,\n\ttype CustomEntry,\n\ttype CustomMessageEntry,\n\ttype FileEntry,\n\tgetLatestCompactionEntry,\n\ttype ModelChangeEntry,\n\tmigrateSessionEntries,\n\ttype NewSessionOptions,\n\tparseSessionEntries,\n\ttype SessionContext,\n\ttype SessionEntry,\n\ttype SessionEntryBase,\n\ttype SessionHeader,\n\ttype SessionInfo,\n\ttype SessionInfoEntry,\n\tSessionManager,\n\ttype SessionMessageEntry,\n\ttype ThinkingLevelChangeEntry,\n} from \"./core/session-manager.js\";\nexport {\n\ttype CompactionSettings,\n\ttype ImageSettings,\n\ttype PackageSource,\n\ttype RetrySettings,\n\tSettingsManager,\n} from \"./core/settings-manager.js\";\n// Skills\nexport {\n\tformatSkillsForPrompt,\n\ttype LoadSkillsFromDirOptions,\n\ttype LoadSkillsResult,\n\tloadSkills,\n\tloadSkillsFromDir,\n\ttype Skill,\n\ttype SkillFrontmatter,\n} from \"./core/skills.js\";\n// Tools\nexport {\n\ttype SemanticSearchToolInput,\n\ttype SemanticSearchToolOptions,\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\ttype CombyToolInput,\n\ttype AstGrepToolInput,\n\ttype ExternalCliToolDetails,\n\ttype ExternalCliToolInput,\n\ttype ExternalCliToolOptions,\n\ttype FetchMethod,\n\ttype FetchResponseFormat,\n\ttype FetchToolDetails,\n\ttype FetchToolInput,\n\ttype FetchToolOptions,\n\ttype FdToolInput,\n\ttype FsOpsToolDetails,\n\ttype FsOpsToolInput,\n\ttype FsOpsToolOptions,\n\ttype GitReadToolDetails,\n\ttype GitReadToolInput,\n\ttype GitReadToolOptions,\n\ttype JqToolInput,\n\ttype RgToolInput,\n\ttype SedToolInput,\n\ttype SemgrepToolInput,\n\ttype YqToolInput,\n\tastGrepTool,\n\tbashTool,\n\tcodingTools,\n\tcombyTool,\n\tfetchTool,\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\tDEFAULT_FETCH_MAX_BYTES,\n\tDEFAULT_FETCH_MAX_REDIRECTS,\n\tDEFAULT_FETCH_TIMEOUT_SECONDS,\n\ttype EditOperations,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n\teditTool,\n\tfsOpsTool,\n\ttype FindOperations,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n\tfdTool,\n\tfindTool,\n\tformatSize,\n\ttype GrepOperations,\n\ttype GrepToolDetails,\n\ttype GrepToolInput,\n\ttype GrepToolOptions,\n\tgrepTool,\n\tgetAllowedFetchMethodsForProfile,\n\tgitReadTool,\n\tjqTool,\n\ttype LsOperations,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n\tlsTool,\n\trgTool,\n\ttype ReadOperations,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOptions,\n\treadTool,\n\tsedTool,\n\tsemanticSearchTool,\n\tsemgrepTool,\n\ttype ToolsOptions,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n\ttype WriteOperations,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n\twriteTool,\n\tyqTool,\n\tcreateFetchTool,\n\tcreateGitReadTool,\n\tcreateFsOpsTool,\n\tcreateExternalCliTool,\n} from \"./core/tools/index.js\";\nexport type {\n\tSemanticAction,\n\tSemanticConfigFile,\n\tSemanticIndexConfig,\n\tSemanticIndexMeta,\n\tSemanticIndexOperationResult,\n\tSemanticMergedConfig,\n\tSemanticProviderConfig,\n\tSemanticProviderType,\n\tSemanticQueryHit,\n\tSemanticQueryResult,\n\tSemanticScope,\n\tSemanticScopedLoadResult,\n\tSemanticSearchConfig,\n\tSemanticStatusResult,\n\tSemanticStaleReason,\n\tSemanticToolResult,\n} from \"./core/semantic/index.js\";\nexport {\n\tSemanticConfigError,\n\tSemanticConfigMissingError,\n\tSemanticRebuildRequiredError,\n\tSemanticSearchRuntime,\n\tcreateSemanticEmbeddingProvider,\n\tgetDefaultSemanticSearchConfig,\n\tgetSemanticConfigPath,\n\tgetSemanticIndexDir,\n\tgetSemanticIndexFiles,\n\tgetSemanticIndexesDir,\n\tgetSemanticProjectHash,\n\tgetSemanticRootDir,\n\tloadMergedSemanticConfig,\n\tloadSemanticIndex,\n\treadScopedSemanticConfig,\n\tupsertScopedSemanticSearchConfig,\n\twriteScopedSemanticConfig,\n\twriteSemanticIndex,\n\tclearSemanticIndex,\n} from \"./core/semantic/index.js\";\n// Main entry point\nexport { main } from \"./main.js\";\n// Run modes for programmatic SDK usage\nexport {\n\tInteractiveMode,\n\ttype InteractiveModeOptions,\n\ttype PrintModeOptions,\n\trunPrintMode,\n\trunRpcMode,\n} from \"./modes/index.js\";\n// UI components for extensions\nexport {\n\tArminComponent,\n\tAssistantMessageComponent,\n\tappKey,\n\tappKeyHint,\n\tBashExecutionComponent,\n\tBorderedLoader,\n\tBranchSummaryMessageComponent,\n\tCompactionSummaryMessageComponent,\n\tCustomEditor,\n\tCustomMessageComponent,\n\tDynamicBorder,\n\tExtensionEditorComponent,\n\tExtensionInputComponent,\n\tExtensionSelectorComponent,\n\teditorKey,\n\tFooterComponent,\n\tkeyHint,\n\tLoginDialogComponent,\n\tMcpSelectorComponent,\n\tModelSelectorComponent,\n\tOAuthSelectorComponent,\n\ttype McpSelectorCallbacks,\n\ttype RenderDiffOptions,\n\trawKeyHint,\n\trenderDiff,\n\tSessionSelectorComponent,\n\ttype SettingsCallbacks,\n\ttype SettingsConfig,\n\tSettingsSelectorComponent,\n\tShowImagesSelectorComponent,\n\tSkillInvocationMessageComponent,\n\tThemeSelectorComponent,\n\tThinkingSelectorComponent,\n\tToolExecutionComponent,\n\ttype ToolExecutionOptions,\n\tTreeSelectorComponent,\n\ttruncateToVisualLines,\n\tUserMessageComponent,\n\tUserMessageSelectorComponent,\n\ttype VisualTruncateResult,\n} from \"./modes/interactive/components/index.js\";\n// Theme utilities for custom tools and extensions\nexport {\n\tgetLanguageFromPath,\n\tgetMarkdownTheme,\n\tgetSelectListTheme,\n\tgetSettingsListTheme,\n\thighlightCode,\n\tinitTheme,\n\tTheme,\n\ttype ThemeColor,\n} from \"./modes/interactive/theme/theme.js\";\n// Clipboard utilities\nexport { copyToClipboard } from \"./utils/clipboard.js\";\nexport { parseFrontmatter, stripFrontmatter } from \"./utils/frontmatter.js\";\n// Shell utilities\nexport { getShellConfig } from \"./utils/shell.js\";\n// IOSM helpers\nexport {\n\tassessDeclineCoverage,\n\tbuildCycleBudget,\n\tcalculateDecisionConfidence,\n\tcalculateIosmIndex,\n\tcalculateIosmMetricsFromRawMeasurements,\n\tcalculateMetricDeltas,\n\tclamp01,\n\tcreateMetricRecord,\n\tfindIosmRootDir,\n\ttype IosmCycleCapacityReport,\n\ttype IosmCycleHistoryRecordResult,\n\ttype IosmCycleListItem,\n\ttype IosmCycleReport,\n\ttype IosmCycleScope,\n\ttype IosmCycleStatus,\n\ttype IosmDecision,\n\ttype IosmEvidenceTier,\n\ttype IosmConfig,\n\ttype IosmConfigModel,\n\ttype IosmHypothesisCard,\n\ttype IosmHypothesisOutcome,\n\ttype IosmInitOptions,\n\ttype IosmInitResult,\n\ttype IosmMetric,\n\ttype IosmMetricRecord,\n\ttype IosmPhase,\n\ttype IosmPhaseReport,\n\thasCompleteNumericMetricRecord,\n\thasCompleteTierMetricRecord,\n\tinspectIosmCycle,\n\tIOSM_METRICS,\n\ttype PlannedIosmCycle,\n\tgetIosmBaselinesDir,\n\tgetIosmBaselineReportPath,\n\tgetIosmConfigPath,\n\tgetIosmContractCatalogPath,\n\tgetIosmCycleDir,\n\tgetIosmCycleReportPath,\n\tgetIosmCyclesDir,\n\tgetIosmDecisionLogPath,\n\tgetIosmHypothesesPath,\n\tgetIosmInvariantCatalogPath,\n\tgetIosmMetricsHistoryPath,\n\tgetIosmPatternLibraryPath,\n\tgetIosmPhaseReportPath,\n\tgetIosmPhaseReportsDir,\n\tgetIosmWaiverRegisterPath,\n\tgetIosmWorkspaceDir,\n\tinitIosmWorkspace,\n\tlistIosmCycles,\n\tloadIosmConfig,\n\tmergeMetricValues,\n\tnormalizeHigherIsBetter,\n\tnormalizeLowerIsBetter,\n\tplanIosmCycle,\n\trecordIosmCycleHistory,\n\treadIosmCycleReport,\n\tresolveIosmRootDir,\n\tvalidateGuardrails,\n} from \"./iosm/index.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Core session management\n\n// Config paths\nexport { getAgentDir, VERSION } from \"./config.js\";\nexport {\n\tAgentSession,\n\ttype AgentSessionConfig,\n\ttype AgentSessionEvent,\n\ttype AgentSessionEventListener,\n\ttype ModelCycleResult,\n\ttype ParsedSkillBlock,\n\ttype PromptOptions,\n\tparseSkillBlock,\n\ttype SessionStats,\n} from \"./core/agent-session.js\";\n// Auth and model registry\nexport {\n\ttype ApiKeyCredential,\n\ttype AuthCredential,\n\tAuthStorage,\n\ttype AuthStorageBackend,\n\tFileAuthStorageBackend,\n\tInMemoryAuthStorageBackend,\n\ttype OAuthCredential,\n} from \"./core/auth-storage.js\";\n// Compaction\nexport {\n\ttype BranchPreparation,\n\ttype BranchSummaryResult,\n\ttype CollectEntriesResult,\n\ttype CompactionResult,\n\ttype CutPointResult,\n\tcalculateContextTokens,\n\tcollectEntriesForBranchSummary,\n\tcompact,\n\tDEFAULT_COMPACTION_SETTINGS,\n\testimateTokens,\n\ttype FileOperations,\n\tfindCutPoint,\n\tfindTurnStartIndex,\n\ttype GenerateBranchSummaryOptions,\n\tgenerateBranchSummary,\n\tgenerateSummary,\n\tgetLastAssistantUsage,\n\tprepareBranchEntries,\n\tserializeConversation,\n\tshouldCompact,\n} from \"./core/compaction/index.js\";\nexport { createEventBus, type EventBus, type EventBusController } from \"./core/event-bus.js\";\n// Extension system\nexport type {\n\tAgentEndEvent,\n\tAgentStartEvent,\n\tAgentToolResult,\n\tAgentToolUpdateCallback,\n\tAppAction,\n\tBashToolCallEvent,\n\tBeforeAgentStartEvent,\n\tCompactOptions,\n\tContextEvent,\n\tContextUsage,\n\tCustomToolCallEvent,\n\tEditToolCallEvent,\n\tExecOptions,\n\tExecResult,\n\tExtension,\n\tExtensionActions,\n\tExtensionAPI,\n\tExtensionCommandContext,\n\tExtensionCommandContextActions,\n\tExtensionContext,\n\tExtensionContextActions,\n\tExtensionError,\n\tExtensionEvent,\n\tExtensionFactory,\n\tExtensionFlag,\n\tExtensionHandler,\n\tExtensionRuntime,\n\tExtensionShortcut,\n\tExtensionUIContext,\n\tExtensionUIDialogOptions,\n\tExtensionWidgetOptions,\n\tFindToolCallEvent,\n\tGrepToolCallEvent,\n\tInputEvent,\n\tInputEventResult,\n\tInputSource,\n\tKeybindingsManager,\n\tLoadExtensionsResult,\n\tLsToolCallEvent,\n\tMessageRenderer,\n\tMessageRenderOptions,\n\tProviderConfig,\n\tProviderModelConfig,\n\tReadToolCallEvent,\n\tRegisteredCommand,\n\tRegisteredTool,\n\tSessionBeforeCompactEvent,\n\tSessionBeforeForkEvent,\n\tSessionBeforeSwitchEvent,\n\tSessionBeforeTreeEvent,\n\tSessionCompactEvent,\n\tSessionForkEvent,\n\tSessionShutdownEvent,\n\tSessionStartEvent,\n\tSessionSwitchEvent,\n\tSessionTreeEvent,\n\tSlashCommandInfo,\n\tSlashCommandLocation,\n\tSlashCommandSource,\n\tTerminalInputHandler,\n\tToolCallEvent,\n\tToolDefinition,\n\tToolInfo,\n\tToolRenderResultOptions,\n\tToolResultEvent,\n\tTurnEndEvent,\n\tTurnStartEvent,\n\tUserBashEvent,\n\tUserBashEventResult,\n\tWidgetPlacement,\n\tWriteToolCallEvent,\n} from \"./core/extensions/index.js\";\nexport {\n\tcreateExtensionRuntime,\n\tdiscoverAndLoadExtensions,\n\tExtensionRunner,\n\tisBashToolResult,\n\tisEditToolResult,\n\tisFindToolResult,\n\tisGrepToolResult,\n\tisLsToolResult,\n\tisReadToolResult,\n\tisToolCallEventType,\n\tisWriteToolResult,\n\twrapRegisteredTool,\n\twrapRegisteredTools,\n\twrapToolsWithExtensions,\n\twrapToolWithExtensions,\n} from \"./core/extensions/index.js\";\n// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)\nexport type { ReadonlyFooterDataProvider } from \"./core/footer-data-provider.js\";\nexport { convertToLlm } from \"./core/messages.js\";\nexport {\n\tgetMcpCommandHelp,\n\tgetMcpConfigPath,\n\tgetMergedServerByName,\n\tloadMergedMcpConfig,\n\tMcpRuntime,\n\tparseMcpAddCommand,\n\tparseMcpTargetCommand,\n} from \"./core/mcp/index.js\";\nexport type {\n\tMcpConfigFile,\n\tMcpResolvedServerConfig,\n\tMcpScope,\n\tMcpScopeTarget,\n\tMcpServerConfig,\n\tMcpServerStatus,\n\tMcpTransport,\n} from \"./core/mcp/index.js\";\nexport { ModelRegistry } from \"./core/model-registry.js\";\nexport type {\n\tPackageManager,\n\tPathMetadata,\n\tProgressCallback,\n\tProgressEvent,\n\tResolvedPaths,\n\tResolvedResource,\n} from \"./core/package-manager.js\";\nexport { DefaultPackageManager } from \"./core/package-manager.js\";\nexport type { ResourceCollision, ResourceDiagnostic, ResourceLoader } from \"./core/resource-loader.js\";\nexport { DefaultResourceLoader } from \"./core/resource-loader.js\";\n// SDK for programmatic usage\nexport {\n\ttype CreateAgentSessionOptions,\n\ttype CreateAgentSessionResult,\n\t// Factory\n\tcreateAgentSession,\n\tcreateAskUserTool,\n\tcreateBashTool,\n\t// Tool factories (for custom cwd)\n\tcreateCodingTools,\n\tcreateCombyTool,\n\tcreateEditTool,\n\tcreateFdTool,\n\tcreateFindTool,\n\tcreateGrepTool,\n\tcreateJqTool,\n\tcreateLsTool,\n\tcreateReadOnlyTools,\n\tcreateReadTool,\n\tcreateRgTool,\n\tcreateSedTool,\n\tcreateSemanticSearchTool,\n\tcreateSemgrepTool,\n\tcreateAstGrepTool,\n\tcreateWriteTool,\n\tcreateYqTool,\n\ttype PromptTemplate,\n\t// Pre-built tools (use process.cwd())\n\treadOnlyTools,\n} from \"./core/sdk.js\";\nexport {\n\ttype BranchSummaryEntry,\n\tbuildSessionContext,\n\ttype CompactionEntry,\n\tCURRENT_SESSION_VERSION,\n\ttype CustomEntry,\n\ttype CustomMessageEntry,\n\ttype FileEntry,\n\tgetLatestCompactionEntry,\n\ttype ModelChangeEntry,\n\tmigrateSessionEntries,\n\ttype NewSessionOptions,\n\tparseSessionEntries,\n\ttype SessionContext,\n\ttype SessionEntry,\n\ttype SessionEntryBase,\n\ttype SessionHeader,\n\ttype SessionInfo,\n\ttype SessionInfoEntry,\n\tSessionManager,\n\ttype SessionMessageEntry,\n\ttype ThinkingLevelChangeEntry,\n} from \"./core/session-manager.js\";\nexport {\n\ttype CompactionSettings,\n\ttype DbToolsConnectionSettings,\n\ttype DbToolsMigrateSettings,\n\ttype DbToolsSettings,\n\ttype GithubToolsSettings,\n\ttype ImageSettings,\n\ttype PackageSource,\n\ttype RetrySettings,\n\ttype WebSearchSettings,\n\tSettingsManager,\n} from \"./core/settings-manager.js\";\n// Skills\nexport {\n\tformatSkillsForPrompt,\n\ttype LoadSkillsFromDirOptions,\n\ttype LoadSkillsResult,\n\tloadSkills,\n\tloadSkillsFromDir,\n\ttype Skill,\n\ttype SkillFrontmatter,\n} from \"./core/skills.js\";\n// Tools\nexport {\n\ttype SemanticSearchToolInput,\n\ttype SemanticSearchToolOptions,\n\ttype BashOperations,\n\ttype BashSpawnContext,\n\ttype BashSpawnHook,\n\ttype BashToolDetails,\n\ttype BashToolInput,\n\ttype BashToolOptions,\n\ttype CombyToolInput,\n\ttype AstGrepToolInput,\n\ttype ExternalCliToolDetails,\n\ttype ExternalCliToolInput,\n\ttype ExternalCliToolOptions,\n\ttype FetchMethod,\n\ttype FetchResponseFormat,\n\ttype FetchToolDetails,\n\ttype FetchToolInput,\n\ttype FetchToolOptions,\n\ttype WebSearchAttemptDetail,\n\ttype WebSearchAttemptStatus,\n\ttype WebSearchFallbackMode,\n\ttype WebSearchProvider,\n\ttype WebSearchProviderMode,\n\ttype WebSearchRuntimeConfig,\n\ttype WebSearchSafeSearch,\n\ttype WebSearchSearchDepth,\n\ttype WebSearchToolDetails,\n\ttype WebSearchToolInput,\n\ttype WebSearchToolOptions,\n\ttype FdToolInput,\n\ttype FsOpsToolDetails,\n\ttype FsOpsToolInput,\n\ttype FsOpsToolOptions,\n\ttype GitReadToolDetails,\n\ttype GitReadToolInput,\n\ttype GitReadToolOptions,\n\ttype GitWriteToolDetails,\n\ttype GitWriteToolInput,\n\ttype GitWriteToolOptions,\n\ttype JqToolInput,\n\ttype DbRunAction,\n\ttype DbRunAdapter,\n\ttype DbRunMigrateRunner,\n\ttype DbRunStatus,\n\ttype DbRunToolDetails,\n\ttype DbRunToolInput,\n\ttype DbRunToolOptions,\n\ttype DbToolsConnectionConfig,\n\ttype DbToolsMigrateConfig,\n\ttype DbToolsRuntimeConfig,\n\ttype LintRunMode,\n\ttype LintRunRunner,\n\ttype LintRunStatus,\n\ttype LintRunToolDetails,\n\ttype LintRunToolInput,\n\ttype RgToolInput,\n\ttype SedToolInput,\n\ttype SemgrepToolInput,\n\ttype TestRunRunner,\n\ttype TestRunStatus,\n\ttype TestRunToolDetails,\n\ttype TestRunToolInput,\n\ttype TypecheckRunItemDetails,\n\ttype TypecheckRunRunner,\n\ttype TypecheckRunStatus,\n\ttype TypecheckRunToolDetails,\n\ttype TypecheckRunToolInput,\n\ttype YqToolInput,\n\tastGrepTool,\n\tbashTool,\n\tcodingTools,\n\tcombyTool,\n\tdbRunTool,\n\tfetchTool,\n\tDEFAULT_MAX_BYTES,\n\tDEFAULT_MAX_LINES,\n\tDEFAULT_FETCH_MAX_BYTES,\n\tDEFAULT_FETCH_MAX_REDIRECTS,\n\tDEFAULT_FETCH_TIMEOUT_SECONDS,\n\tDEFAULT_DB_RUN_TIMEOUT_SECONDS,\n\tDEFAULT_LINT_RUN_TIMEOUT_SECONDS,\n\tDEFAULT_TEST_RUN_TIMEOUT_SECONDS,\n\tDEFAULT_TYPECHECK_RUN_TIMEOUT_SECONDS,\n\tDEFAULT_WEB_SEARCH_MAX_RESULTS,\n\tDEFAULT_WEB_SEARCH_TIMEOUT_SECONDS,\n\ttype EditOperations,\n\ttype EditToolDetails,\n\ttype EditToolInput,\n\ttype EditToolOptions,\n\teditTool,\n\tfsOpsTool,\n\twebSearchTool,\n\ttype FindOperations,\n\ttype FindToolDetails,\n\ttype FindToolInput,\n\ttype FindToolOptions,\n\tfdTool,\n\tfindTool,\n\tformatSize,\n\ttype GrepOperations,\n\ttype GrepToolDetails,\n\ttype GrepToolInput,\n\ttype GrepToolOptions,\n\tgrepTool,\n\tgetAllowedFetchMethodsForProfile,\n\tgitReadTool,\n\tgitWriteTool,\n\tjqTool,\n\tlintRunTool,\n\ttype LsOperations,\n\ttype LsToolDetails,\n\ttype LsToolInput,\n\ttype LsToolOptions,\n\tlsTool,\n\trgTool,\n\ttype ReadOperations,\n\ttype ReadToolDetails,\n\ttype ReadToolInput,\n\ttype ReadToolOptions,\n\treadTool,\n\tsedTool,\n\tsemanticSearchTool,\n\tsemgrepTool,\n\ttestRunTool,\n\ttypecheckRunTool,\n\ttype ToolsOptions,\n\ttype TruncationOptions,\n\ttype TruncationResult,\n\ttruncateHead,\n\ttruncateLine,\n\ttruncateTail,\n\ttype WriteOperations,\n\ttype WriteToolInput,\n\ttype WriteToolOptions,\n\twriteTool,\n\tyqTool,\n\tcreateLintRunTool,\n\tcreateDbRunTool,\n\tcreateTestRunTool,\n\tcreateTypecheckRunTool,\n\tcreateFetchTool,\n\tcreateWebSearchTool,\n\tcreateGitReadTool,\n\tcreateGitWriteTool,\n\tcreateFsOpsTool,\n\tcreateExternalCliTool,\n} from \"./core/tools/index.js\";\nexport type {\n\tSemanticAction,\n\tSemanticConfigFile,\n\tSemanticIndexConfig,\n\tSemanticIndexMeta,\n\tSemanticIndexOperationResult,\n\tSemanticMergedConfig,\n\tSemanticProviderConfig,\n\tSemanticProviderType,\n\tSemanticQueryHit,\n\tSemanticQueryResult,\n\tSemanticScope,\n\tSemanticScopedLoadResult,\n\tSemanticSearchConfig,\n\tSemanticStatusResult,\n\tSemanticStaleReason,\n\tSemanticToolResult,\n} from \"./core/semantic/index.js\";\nexport {\n\tSemanticConfigError,\n\tSemanticConfigMissingError,\n\tSemanticRebuildRequiredError,\n\tSemanticSearchRuntime,\n\tcreateSemanticEmbeddingProvider,\n\tgetDefaultSemanticSearchConfig,\n\tgetSemanticConfigPath,\n\tgetSemanticIndexDir,\n\tgetSemanticIndexFiles,\n\tgetSemanticIndexesDir,\n\tgetSemanticProjectHash,\n\tgetSemanticRootDir,\n\tloadMergedSemanticConfig,\n\tloadSemanticIndex,\n\treadScopedSemanticConfig,\n\tupsertScopedSemanticSearchConfig,\n\twriteScopedSemanticConfig,\n\twriteSemanticIndex,\n\tclearSemanticIndex,\n} from \"./core/semantic/index.js\";\n// Main entry point\nexport { main } from \"./main.js\";\n// Run modes for programmatic SDK usage\nexport {\n\tInteractiveMode,\n\ttype InteractiveModeOptions,\n\ttype PrintModeOptions,\n\trunPrintMode,\n\trunRpcMode,\n} from \"./modes/index.js\";\n// UI components for extensions\nexport {\n\tArminComponent,\n\tAssistantMessageComponent,\n\tappKey,\n\tappKeyHint,\n\tBashExecutionComponent,\n\tBorderedLoader,\n\tBranchSummaryMessageComponent,\n\tCompactionSummaryMessageComponent,\n\tCustomEditor,\n\tCustomMessageComponent,\n\tDynamicBorder,\n\tExtensionEditorComponent,\n\tExtensionInputComponent,\n\tExtensionSelectorComponent,\n\teditorKey,\n\tFooterComponent,\n\tkeyHint,\n\tLoginDialogComponent,\n\tMcpSelectorComponent,\n\tModelSelectorComponent,\n\tOAuthSelectorComponent,\n\ttype McpSelectorCallbacks,\n\ttype RenderDiffOptions,\n\trawKeyHint,\n\trenderDiff,\n\tSessionSelectorComponent,\n\ttype SettingsCallbacks,\n\ttype SettingsConfig,\n\tSettingsSelectorComponent,\n\tShowImagesSelectorComponent,\n\tSkillInvocationMessageComponent,\n\tThemeSelectorComponent,\n\tThinkingSelectorComponent,\n\tToolExecutionComponent,\n\ttype ToolExecutionOptions,\n\tTreeSelectorComponent,\n\ttruncateToVisualLines,\n\tUserMessageComponent,\n\tUserMessageSelectorComponent,\n\ttype VisualTruncateResult,\n} from \"./modes/interactive/components/index.js\";\n// Theme utilities for custom tools and extensions\nexport {\n\tgetLanguageFromPath,\n\tgetMarkdownTheme,\n\tgetSelectListTheme,\n\tgetSettingsListTheme,\n\thighlightCode,\n\tinitTheme,\n\tTheme,\n\ttype ThemeColor,\n} from \"./modes/interactive/theme/theme.js\";\n// Clipboard utilities\nexport { copyToClipboard } from \"./utils/clipboard.js\";\nexport { parseFrontmatter, stripFrontmatter } from \"./utils/frontmatter.js\";\n// Shell utilities\nexport { getShellConfig } from \"./utils/shell.js\";\n// IOSM helpers\nexport {\n\tassessDeclineCoverage,\n\tbuildCycleBudget,\n\tcalculateDecisionConfidence,\n\tcalculateIosmIndex,\n\tcalculateIosmMetricsFromRawMeasurements,\n\tcalculateMetricDeltas,\n\tclamp01,\n\tcreateMetricRecord,\n\tfindIosmRootDir,\n\ttype IosmCycleCapacityReport,\n\ttype IosmCycleHistoryRecordResult,\n\ttype IosmCycleListItem,\n\ttype IosmCycleReport,\n\ttype IosmCycleScope,\n\ttype IosmCycleStatus,\n\ttype IosmDecision,\n\ttype IosmEvidenceTier,\n\ttype IosmConfig,\n\ttype IosmConfigModel,\n\ttype IosmHypothesisCard,\n\ttype IosmHypothesisOutcome,\n\ttype IosmInitOptions,\n\ttype IosmInitResult,\n\ttype IosmMetric,\n\ttype IosmMetricRecord,\n\ttype IosmPhase,\n\ttype IosmPhaseReport,\n\thasCompleteNumericMetricRecord,\n\thasCompleteTierMetricRecord,\n\tinspectIosmCycle,\n\tIOSM_METRICS,\n\ttype PlannedIosmCycle,\n\tgetIosmBaselinesDir,\n\tgetIosmBaselineReportPath,\n\tgetIosmConfigPath,\n\tgetIosmContractCatalogPath,\n\tgetIosmCycleDir,\n\tgetIosmCycleReportPath,\n\tgetIosmCyclesDir,\n\tgetIosmDecisionLogPath,\n\tgetIosmHypothesesPath,\n\tgetIosmInvariantCatalogPath,\n\tgetIosmMetricsHistoryPath,\n\tgetIosmPatternLibraryPath,\n\tgetIosmPhaseReportPath,\n\tgetIosmPhaseReportsDir,\n\tgetIosmWaiverRegisterPath,\n\tgetIosmWorkspaceDir,\n\tinitIosmWorkspace,\n\tlistIosmCycles,\n\tloadIosmConfig,\n\tmergeMetricValues,\n\tnormalizeHigherIsBetter,\n\tnormalizeLowerIsBetter,\n\tplanIosmCycle,\n\trecordIosmCycleHistory,\n\treadIosmCycleReport,\n\tresolveIosmRootDir,\n\tvalidateGuardrails,\n} from \"./iosm/index.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-summary-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/branch-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,KAAK,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"branch-summary-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/branch-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,KAAK,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAMtE;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,GAAG;IACrD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,oBAAoB,EAAE,aAAa,GAAE,aAAkC;IAO5F,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK3B,UAAU,IAAI,IAAI;IAK3B,OAAO,CAAC,aAAa;CA0BrB"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Box, Markdown, Spacer, Text } from "@mariozechner/pi-tui";
|
|
2
2
|
import { getMarkdownTheme, theme } from "../theme/theme.js";
|
|
3
3
|
import { editorKey } from "./keybinding-hints.js";
|
|
4
|
+
const MESSAGE_BOX_PADDING_X = 2;
|
|
4
5
|
/**
|
|
5
6
|
* Component that renders a branch summary message with collapsed/expanded state.
|
|
6
7
|
* Uses same background color as custom messages for visual consistency.
|
|
7
8
|
*/
|
|
8
9
|
export class BranchSummaryMessageComponent extends Box {
|
|
9
10
|
constructor(message, markdownTheme = getMarkdownTheme()) {
|
|
10
|
-
super(
|
|
11
|
+
super(MESSAGE_BOX_PADDING_X, 1, (t) => theme.bg("customMessageBg", t));
|
|
11
12
|
this.expanded = false;
|
|
12
13
|
this.message = message;
|
|
13
14
|
this.markdownTheme = markdownTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-summary-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/branch-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAsB,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,GAAG;IAKrD,YAAY,OAA6B,EAAE,gBAA+B,gBAAgB,EAAE;QAC3F,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"branch-summary-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/branch-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAsB,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;GAGG;AACH,MAAM,OAAO,6BAA8B,SAAQ,GAAG;IAKrD,YAAY,OAA6B,EAAE,gBAA+B,gBAAgB,EAAE;QAC3F,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QALhE,aAAQ,GAAG,KAAK,CAAC;QAMxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,QAAiB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEQ,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEO,aAAa;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,wBAAwB,CAAC;YACxC,IAAI,CAAC,QAAQ,CACZ,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrE,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAC5D,CAAC,CACF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CACZ,IAAI,IAAI,CACP,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;gBAChD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;gBACzC,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAC7C,CAAC,EACD,CAAC,CACD,CACD,CAAC;QACH,CAAC;IACF,CAAC;CACD","sourcesContent":["import { Box, Markdown, type MarkdownTheme, Spacer, Text } from \"@mariozechner/pi-tui\";\nimport type { BranchSummaryMessage } from \"../../../core/messages.js\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.js\";\nimport { editorKey } from \"./keybinding-hints.js\";\n\nconst MESSAGE_BOX_PADDING_X = 2;\n\n/**\n * Component that renders a branch summary message with collapsed/expanded state.\n * Uses same background color as custom messages for visual consistency.\n */\nexport class BranchSummaryMessageComponent extends Box {\n\tprivate expanded = false;\n\tprivate message: BranchSummaryMessage;\n\tprivate markdownTheme: MarkdownTheme;\n\n\tconstructor(message: BranchSummaryMessage, markdownTheme: MarkdownTheme = getMarkdownTheme()) {\n\t\tsuper(MESSAGE_BOX_PADDING_X, 1, (t) => theme.bg(\"customMessageBg\", t));\n\t\tthis.message = message;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.updateDisplay();\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tthis.expanded = expanded;\n\t\tthis.updateDisplay();\n\t}\n\n\toverride invalidate(): void {\n\t\tsuper.invalidate();\n\t\tthis.updateDisplay();\n\t}\n\n\tprivate updateDisplay(): void {\n\t\tthis.clear();\n\n\t\tconst label = theme.fg(\"customMessageLabel\", `\\x1b[1m[branch]\\x1b[22m`);\n\t\tthis.addChild(new Text(label, 0, 0));\n\t\tthis.addChild(new Spacer(1));\n\n\t\tif (this.expanded) {\n\t\t\tconst header = \"**Branch Summary**\\n\\n\";\n\t\t\tthis.addChild(\n\t\t\t\tnew Markdown(header + this.message.summary, 0, 0, this.markdownTheme, {\n\t\t\t\t\tcolor: (text: string) => theme.fg(\"customMessageText\", text),\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tthis.addChild(\n\t\t\t\tnew Text(\n\t\t\t\t\ttheme.fg(\"customMessageText\", \"Branch summary (\") +\n\t\t\t\t\t\ttheme.fg(\"dim\", editorKey(\"expandTools\")) +\n\t\t\t\t\t\ttheme.fg(\"customMessageText\", \" to expand)\"),\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-summary-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/compaction-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,KAAK,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"compaction-summary-message.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/compaction-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,KAAK,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACvF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAM1E;;;GAGG;AACH,qBAAa,iCAAkC,SAAQ,GAAG;IACzD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,aAAa,CAAgB;gBAEzB,OAAO,EAAE,wBAAwB,EAAE,aAAa,GAAE,aAAkC;IAOhG,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK3B,UAAU,IAAI,IAAI;IAK3B,OAAO,CAAC,aAAa;CA2BrB"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Box, Markdown, Spacer, Text } from "@mariozechner/pi-tui";
|
|
2
2
|
import { getMarkdownTheme, theme } from "../theme/theme.js";
|
|
3
3
|
import { editorKey } from "./keybinding-hints.js";
|
|
4
|
+
const MESSAGE_BOX_PADDING_X = 2;
|
|
4
5
|
/**
|
|
5
6
|
* Component that renders a compaction message with collapsed/expanded state.
|
|
6
7
|
* Uses same background color as custom messages for visual consistency.
|
|
7
8
|
*/
|
|
8
9
|
export class CompactionSummaryMessageComponent extends Box {
|
|
9
10
|
constructor(message, markdownTheme = getMarkdownTheme()) {
|
|
10
|
-
super(
|
|
11
|
+
super(MESSAGE_BOX_PADDING_X, 1, (t) => theme.bg("customMessageBg", t));
|
|
11
12
|
this.expanded = false;
|
|
12
13
|
this.message = message;
|
|
13
14
|
this.markdownTheme = markdownTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-summary-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/compaction-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAsB,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD;;;GAGG;AACH,MAAM,OAAO,iCAAkC,SAAQ,GAAG;IAKzD,YAAY,OAAiC,EAAE,gBAA+B,gBAAgB,EAAE;QAC/F,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"compaction-summary-message.js","sourceRoot":"","sources":["../../../../src/modes/interactive/components/compaction-summary-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAsB,MAAM,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;GAGG;AACH,MAAM,OAAO,iCAAkC,SAAQ,GAAG;IAKzD,YAAY,OAAiC,EAAE,gBAA+B,gBAAgB,EAAE;QAC/F,KAAK,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QALhE,aAAQ,GAAG,KAAK,CAAC;QAMxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAED,WAAW,CAAC,QAAiB;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEQ,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAEO,aAAa;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,oBAAoB,QAAQ,eAAe,CAAC;YAC3D,IAAI,CAAC,QAAQ,CACZ,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE;gBACrE,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAC5D,CAAC,CACF,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CACZ,IAAI,IAAI,CACP,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,QAAQ,WAAW,CAAC;gBACnE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;gBACzC,KAAK,CAAC,EAAE,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAC7C,CAAC,EACD,CAAC,CACD,CACD,CAAC;QACH,CAAC;IACF,CAAC;CACD","sourcesContent":["import { Box, Markdown, type MarkdownTheme, Spacer, Text } from \"@mariozechner/pi-tui\";\nimport type { CompactionSummaryMessage } from \"../../../core/messages.js\";\nimport { getMarkdownTheme, theme } from \"../theme/theme.js\";\nimport { editorKey } from \"./keybinding-hints.js\";\n\nconst MESSAGE_BOX_PADDING_X = 2;\n\n/**\n * Component that renders a compaction message with collapsed/expanded state.\n * Uses same background color as custom messages for visual consistency.\n */\nexport class CompactionSummaryMessageComponent extends Box {\n\tprivate expanded = false;\n\tprivate message: CompactionSummaryMessage;\n\tprivate markdownTheme: MarkdownTheme;\n\n\tconstructor(message: CompactionSummaryMessage, markdownTheme: MarkdownTheme = getMarkdownTheme()) {\n\t\tsuper(MESSAGE_BOX_PADDING_X, 1, (t) => theme.bg(\"customMessageBg\", t));\n\t\tthis.message = message;\n\t\tthis.markdownTheme = markdownTheme;\n\t\tthis.updateDisplay();\n\t}\n\n\tsetExpanded(expanded: boolean): void {\n\t\tthis.expanded = expanded;\n\t\tthis.updateDisplay();\n\t}\n\n\toverride invalidate(): void {\n\t\tsuper.invalidate();\n\t\tthis.updateDisplay();\n\t}\n\n\tprivate updateDisplay(): void {\n\t\tthis.clear();\n\n\t\tconst tokenStr = this.message.tokensBefore.toLocaleString();\n\t\tconst label = theme.fg(\"customMessageLabel\", `\\x1b[1m[compaction]\\x1b[22m`);\n\t\tthis.addChild(new Text(label, 0, 0));\n\t\tthis.addChild(new Spacer(1));\n\n\t\tif (this.expanded) {\n\t\t\tconst header = `**Compacted from ${tokenStr} tokens**\\n\\n`;\n\t\t\tthis.addChild(\n\t\t\t\tnew Markdown(header + this.message.summary, 0, 0, this.markdownTheme, {\n\t\t\t\t\tcolor: (text: string) => theme.fg(\"customMessageText\", text),\n\t\t\t\t}),\n\t\t\t);\n\t\t} else {\n\t\t\tthis.addChild(\n\t\t\t\tnew Text(\n\t\t\t\t\ttheme.fg(\"customMessageText\", `Compacted from ${tokenStr} tokens (`) +\n\t\t\t\t\t\ttheme.fg(\"dim\", editorKey(\"expandTools\")) +\n\t\t\t\t\t\ttheme.fg(\"customMessageText\", \" to expand)\"),\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-selector.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/config-selector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACN,KAAK,SAAS,EACd,SAAS,EACT,KAAK,SAAS,EAOd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,kCAAkC,CAAC;AACtG,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKxF,KAAK,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AASnE,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,UAAU,aAAa;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"config-selector.d.ts","sourceRoot":"","sources":["../../../../src/modes/interactive/components/config-selector.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACN,KAAK,SAAS,EACd,SAAS,EACT,KAAK,SAAS,EAOd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,kCAAkC,CAAC;AACtG,OAAO,KAAK,EAAiB,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKxF,KAAK,YAAY,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AASnE,UAAU,YAAY;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,UAAU,aAAa;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;IACxC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AA6HD,cAAM,YAAa,YAAW,SAAS,EAAE,SAAS;IACjD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,aAAa,CAAmB;IACxC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IAElB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpE,OAAO,CAAC,QAAQ,CAAS;IACzB,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAGzB;gBAEW,MAAM,EAAE,aAAa,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAUpG,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,WAAW;IAmDnB,OAAO,CAAC,eAAe;IAKvB,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IActD,UAAU,IAAI,IAAI;IAElB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAiD/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAyD/B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,sBAAsB;IAgD9B,OAAO,CAAC,qBAAqB;IA2D7B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,yBAAyB;CAIjC;AAED,qBAAa,uBAAwB,SAAQ,SAAU,YAAW,SAAS;IAC1E,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,QAAQ,CAAS;IACzB,IAAI,OAAO,IAAI,OAAO,CAErB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAGzB;gBAGA,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,IAAI,EACnB,MAAM,EAAE,MAAM,IAAI,EAClB,aAAa,EAAE,MAAM,IAAI;IAyB1B,eAAe,IAAI,YAAY;CAG/B"}
|
|
@@ -103,13 +103,18 @@ class ConfigSelectorHeader {
|
|
|
103
103
|
render(width) {
|
|
104
104
|
const title = theme.bold("Resource Configuration");
|
|
105
105
|
const sep = theme.fg("muted", " · ");
|
|
106
|
-
const hint = rawKeyHint("
|
|
106
|
+
const hint = rawKeyHint("↑/↓", "navigate") +
|
|
107
|
+
sep +
|
|
108
|
+
rawKeyHint("space/enter", "toggle") +
|
|
109
|
+
sep +
|
|
110
|
+
rawKeyHint("esc", "close");
|
|
107
111
|
const hintWidth = visibleWidth(hint);
|
|
108
112
|
const titleWidth = visibleWidth(title);
|
|
109
113
|
const spacing = Math.max(1, width - titleWidth - hintWidth);
|
|
114
|
+
const searchHint = `${rawKeyHint("type", "search resources")}${sep}${rawKeyHint("ctrl+c", "exit")}`;
|
|
110
115
|
return [
|
|
111
116
|
truncateToWidth(`${title}${" ".repeat(spacing)}${hint}`, width, ""),
|
|
112
|
-
|
|
117
|
+
truncateToWidth(searchHint, width, ""),
|
|
113
118
|
];
|
|
114
119
|
}
|
|
115
120
|
}
|