@docyrus/docyrus 0.0.34 → 0.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +25 -0
  2. package/agent-loader.js +3 -2
  3. package/agent-loader.js.map +2 -2
  4. package/main.js +82162 -46093
  5. package/main.js.map +4 -4
  6. package/package.json +12 -3
  7. package/resources/chrome-tools/browser-content.js +46 -46
  8. package/resources/chrome-tools/browser-cookies.js +16 -16
  9. package/resources/chrome-tools/browser-eval.js +27 -27
  10. package/resources/chrome-tools/browser-hn-scraper.js +1 -1
  11. package/resources/chrome-tools/browser-nav.js +23 -23
  12. package/resources/chrome-tools/browser-pick.js +127 -127
  13. package/resources/chrome-tools/browser-screenshot.js +10 -10
  14. package/resources/chrome-tools/browser-start.js +38 -38
  15. package/resources/pi-agent/extensions/answer.ts +392 -384
  16. package/resources/pi-agent/extensions/context.ts +415 -415
  17. package/resources/pi-agent/extensions/control.ts +1287 -1287
  18. package/resources/pi-agent/extensions/diff.ts +171 -171
  19. package/resources/pi-agent/extensions/files.ts +155 -155
  20. package/resources/pi-agent/extensions/knowledge.ts +664 -0
  21. package/resources/pi-agent/extensions/loop.ts +375 -375
  22. package/resources/pi-agent/extensions/pi-bash-live-view/index.ts +1 -1
  23. package/resources/pi-agent/extensions/pi-bash-live-view/package.json +22 -22
  24. package/resources/pi-agent/extensions/pi-bash-live-view/pty-execute.ts +2 -2
  25. package/resources/pi-agent/extensions/pi-bash-live-view/pty-session.ts +2 -2
  26. package/resources/pi-agent/extensions/pi-bash-live-view/spawn-helper.ts +2 -2
  27. package/resources/pi-agent/extensions/pi-bash-live-view/terminal-emulator.ts +18 -18
  28. package/resources/pi-agent/extensions/pi-bash-live-view/truncate.ts +1 -1
  29. package/resources/pi-agent/extensions/pi-bash-live-view/widget.ts +4 -4
  30. package/resources/pi-agent/extensions/pi-custom-compaction/package.json +4 -4
  31. package/resources/pi-agent/extensions/pi-mcp-adapter/app-bridge.bundle.js +14 -14
  32. package/resources/pi-agent/extensions/pi-mcp-adapter/commands.ts +6 -6
  33. package/resources/pi-agent/extensions/pi-mcp-adapter/config.ts +9 -9
  34. package/resources/pi-agent/extensions/pi-mcp-adapter/consent-manager.ts +4 -4
  35. package/resources/pi-agent/extensions/pi-mcp-adapter/direct-tools.ts +13 -13
  36. package/resources/pi-agent/extensions/pi-mcp-adapter/glimpse-ui.ts +5 -5
  37. package/resources/pi-agent/extensions/pi-mcp-adapter/host-html-template.ts +13 -13
  38. package/resources/pi-agent/extensions/pi-mcp-adapter/index.ts +14 -14
  39. package/resources/pi-agent/extensions/pi-mcp-adapter/init.ts +17 -17
  40. package/resources/pi-agent/extensions/pi-mcp-adapter/lifecycle.ts +2 -2
  41. package/resources/pi-agent/extensions/pi-mcp-adapter/logger.ts +2 -2
  42. package/resources/pi-agent/extensions/pi-mcp-adapter/mcp-panel.ts +17 -17
  43. package/resources/pi-agent/extensions/pi-mcp-adapter/metadata-cache.ts +9 -9
  44. package/resources/pi-agent/extensions/pi-mcp-adapter/npx-resolver.ts +35 -35
  45. package/resources/pi-agent/extensions/pi-mcp-adapter/oauth-handler.ts +1 -1
  46. package/resources/pi-agent/extensions/pi-mcp-adapter/proxy-modes.ts +12 -12
  47. package/resources/pi-agent/extensions/pi-mcp-adapter/server-manager.ts +6 -6
  48. package/resources/pi-agent/extensions/pi-mcp-adapter/tool-metadata.ts +4 -4
  49. package/resources/pi-agent/extensions/pi-mcp-adapter/types.ts +2 -2
  50. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-resource-handler.ts +6 -6
  51. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-server.ts +17 -17
  52. package/resources/pi-agent/extensions/pi-mcp-adapter/ui-session.ts +22 -22
  53. package/resources/pi-agent/extensions/pi-mcp-adapter/utils.ts +2 -2
  54. package/resources/pi-agent/extensions/prompt-editor.ts +900 -900
  55. package/resources/pi-agent/extensions/prompt-url-widget.ts +122 -122
  56. package/resources/pi-agent/extensions/redraws.ts +14 -14
  57. package/resources/pi-agent/extensions/review.ts +1533 -1533
  58. package/resources/pi-agent/extensions/todos.ts +1735 -1735
  59. package/resources/pi-agent/extensions/tps.ts +40 -40
  60. package/resources/pi-agent/extensions/whimsical.ts +3 -3
  61. package/resources/pi-agent/prompts/agent-system.md +2 -0
  62. package/resources/pi-agent/prompts/coder-system.md +2 -0
  63. package/server-loader.js +82 -1
  64. package/server-loader.js.map +3 -3
  65. package/tui.mjs +2 -0
  66. package/tui.mjs.map +1 -1
package/tui.mjs CHANGED
@@ -17,6 +17,8 @@ var ApplicationError = class extends Error {
17
17
  this.data = data;
18
18
  this.httpStatusCode = httpStatusCode;
19
19
  }
20
+ data;
21
+ httpStatusCode;
20
22
  };
21
23
  var UserInputError = class extends ApplicationError {
22
24
  constructor(message, data = {}) {
package/tui.mjs.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../apps/api-cli/src/tui/opentuiMain.tsx", "../../../apps/api-cli/src/tui/opentui/DocyrusOpenTuiApp.tsx", "../../../apps/api-cli/src/services/tuiProcessExecutor.ts", "../../../apps/api-cli/src/errors.ts", "../../../apps/api-cli/src/tui/opentui/commandInput.ts", "../../../apps/api-cli/src/tui/opentui/dataSourceCatalog.ts", "../../../apps/api-cli/src/tui/opentui/renderResult.tsx", "../../../apps/api-cli/src/tui/opentui/resultDocument.ts"],
4
4
  "sourcesContent": ["/** @jsxImportSource @opentui/react */\nimport { createCliRenderer } from \"@opentui/core\";\nimport { createRoot } from \"@opentui/react\";\nimport { DocyrusOpenTuiApp } from \"./opentui/DocyrusOpenTuiApp\";\nimport type { ITuiProcessExecutionConfig } from \"../types\";\n\ninterface ITuiLaunchConfig {\n executionConfig: ITuiProcessExecutionConfig;\n version: string;\n}\n\nfunction readRequiredEnv(name: string): string {\n const value = process.env[name];\n if (!value || value.trim().length === 0) {\n throw new Error(`Missing required launch variable: ${name}`);\n }\n\n return value;\n}\n\nfunction readLaunchConfig(): ITuiLaunchConfig {\n return {\n version: process.env.DOCYRUS_TUI_VERSION || \"dev\",\n executionConfig: {\n executable: readRequiredEnv(\"DOCYRUS_TUI_EXECUTABLE\"),\n scriptPath: readRequiredEnv(\"DOCYRUS_TUI_SCRIPT\"),\n },\n };\n}\n\nasync function startTui(): Promise<void> {\n const launchConfig = readLaunchConfig();\n const renderer = await createCliRenderer({\n exitOnCtrlC: false,\n });\n\n const root = createRoot(renderer);\n root.render(\n <DocyrusOpenTuiApp\n executionConfig={launchConfig.executionConfig}\n version={launchConfig.version}\n />,\n );\n}\n\nvoid startTui().catch((error: unknown) => {\n const message = error instanceof Error\n ? error.message\n : String(error);\n\n console.error(`Failed to start Docyrus OpenTUI: ${message}`);\n process.exitCode = 1;\n});\n", "/** @jsxImportSource @opentui/react */\nimport { RGBA, type InputRenderable, type ScrollBoxRenderable } from \"@opentui/core\";\nimport { useKeyboard, useRenderer } from \"@opentui/react\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { createTuiProcessExecutor } from \"../../services/tuiProcessExecutor\";\nimport { parseCommandLine, useCommandInput } from \"./commandInput\";\nimport {\n extractAppsFromPayload,\n extractDataSourcesFromPayload,\n filterDataSources,\n flattenTreeRows,\n groupDataSourcesByApp,\n} from \"./dataSourceCatalog\";\nimport { renderResult } from \"./renderResult\";\nimport type {\n IDocyrusOpenTuiAppProps,\n ITuiAppCatalogItem,\n ITuiContextSummary,\n ITuiDataSourceCatalogItem,\n ITuiDataSourcePanelFocus,\n ITuiDataSourceTreeRow,\n ITuiEnvironmentSummary,\n ITuiHistoryEntry,\n ITuiLeftSection,\n ITuiPanelFocus,\n ITuiResultViewMode,\n ITuiShortcutAction,\n} from \"./types\";\nimport type { ITuiCommandResult } from \"../../types\";\n\nconst SHORTCUTS: ITuiShortcutAction[] = [\n {\n id: 1,\n run: \"env list\",\n label: \"env list\",\n },\n {\n id: 2,\n run: \"auth who\",\n label: \"auth who\",\n },\n {\n id: 3,\n run: \"apps list\",\n label: \"apps list\",\n },\n {\n id: 4,\n run: \"discover namespaces\",\n label: \"discover namespaces\",\n },\n {\n id: 5,\n template: \"studio list-data-sources --appSlug \",\n label: \"insert: studio list-data-sources --appSlug \",\n },\n {\n id: 6,\n template: \"ds list <appSlug> <dataSourceSlug>\",\n label: \"insert: ds list <appSlug> <dataSourceSlug>\",\n },\n];\n\nconst SECTION_ORDER: ITuiLeftSection[] = [\"shortcuts\", \"datasources\", \"history\", \"messages\", \"help\"];\nconst FOCUS_ORDER: ITuiPanelFocus[] = [\"input\", \"left\", \"result\"];\nconst ESC_ARM_TIMEOUT_MS = 1400;\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction extractMetadata(payload: unknown): {\n environment?: ITuiEnvironmentSummary;\n context?: ITuiContextSummary | null;\n} {\n if (!isRecord(payload)) {\n return {};\n }\n\n const environmentValue = payload.environment;\n const contextValue = payload.context;\n\n const environment = isRecord(environmentValue)\n && typeof environmentValue.id === \"string\"\n && typeof environmentValue.name === \"string\"\n ? { id: environmentValue.id, name: environmentValue.name }\n : undefined;\n\n if (contextValue === null) {\n return {\n environment,\n context: null,\n };\n }\n\n const context = isRecord(contextValue)\n && typeof contextValue.email === \"string\"\n && typeof contextValue.tenantDisplay === \"string\"\n ? {\n email: contextValue.email,\n tenantDisplay: contextValue.tenantDisplay,\n }\n : undefined;\n\n return {\n environment,\n context,\n };\n}\n\nfunction toFailedResult(error: unknown, command: string): ITuiCommandResult {\n const message = error instanceof Error\n ? error.message\n : \"Invalid command syntax.\";\n\n return {\n ok: false,\n command,\n rawOutput: \"\",\n error: {\n message,\n },\n durationMs: 0,\n };\n}\n\nfunction formatHistoryLabel(entry: ITuiHistoryEntry): string {\n const status = entry.result.ok ? \"OK\" : \"ERR\";\n const command = entry.command || \"(root)\";\n return `${status} ${command} [${entry.result.durationMs}ms]`;\n}\n\nfunction preventDefault(keyEvent: { preventDefault?: () => void }): void {\n if (typeof keyEvent.preventDefault === \"function\") {\n keyEvent.preventDefault();\n }\n}\n\nfunction isEscapeKey(keyName: string): boolean {\n return keyName === \"escape\" || keyName === \"esc\";\n}\n\nfunction isEnterKey(keyName: string): boolean {\n return keyName === \"enter\" || keyName === \"return\";\n}\n\nfunction isSlashKey(keyName: string): boolean {\n return keyName === \"/\" || keyName === \"slash\";\n}\n\nfunction toCatalogErrorMessage(command: string, result: ITuiCommandResult): string {\n const details = result.error?.details || result.error?.message || \"Unknown error.\";\n if (\n details.includes(\"Architect.Read.All\")\n || details.includes(\"Architect.ReadWrite.All\")\n ) {\n return `${command} failed: missing required scope Architect.Read.All or Architect.ReadWrite.All.`;\n }\n\n const message = result.error?.message || \"Command failed.\";\n return `${command} failed: ${message}`;\n}\n\nfunction isScrollAtBottom(scrollBox: ScrollBoxRenderable | null): boolean {\n if (!scrollBox) {\n return true;\n }\n\n const viewportHeight = scrollBox.viewport.height;\n const maxScrollTop = Math.max(0, scrollBox.scrollHeight - viewportHeight);\n if (maxScrollTop <= 0) {\n return true;\n }\n\n return scrollBox.scrollTop >= maxScrollTop - 1;\n}\n\nexport function DocyrusOpenTuiApp(props: IDocyrusOpenTuiAppProps) {\n const renderer = useRenderer();\n\n const [input, setInput] = useState(\"\");\n const [entries, setEntries] = useState<ITuiHistoryEntry[]>([]);\n const [activeEntryId, setActiveEntryId] = useState<string | null>(null);\n const [systemMessages, setSystemMessages] = useState<string[]>([]);\n const [activeSection, setActiveSection] = useState<ITuiLeftSection>(\"shortcuts\");\n const [focusedPanel, setFocusedPanel] = useState<ITuiPanelFocus>(\"left\");\n const [environment, setEnvironment] = useState<ITuiEnvironmentSummary | undefined>();\n const [context, setContext] = useState<ITuiContextSummary | null | undefined>(undefined);\n const [isRunning, setIsRunning] = useState(false);\n const [spinnerFrame, setSpinnerFrame] = useState(0);\n const [selectedShortcutIndex, setSelectedShortcutIndex] = useState(0);\n const [selectedHistoryIndex, setSelectedHistoryIndex] = useState(0);\n const [isExitConfirmOpen, setIsExitConfirmOpen] = useState(false);\n const [isEscArmed, setIsEscArmed] = useState(false);\n const [resultViewMode, setResultViewMode] = useState<ITuiResultViewMode>(\"pretty\");\n\n const [dataSourceSearch, setDataSourceSearch] = useState(\"\");\n const [dataSourcePanelFocus, setDataSourcePanelFocus] = useState<ITuiDataSourcePanelFocus>(\"tree\");\n const [selectedDataSourceRowIndex, setSelectedDataSourceRowIndex] = useState(0);\n const [expandedAppKeys, setExpandedAppKeys] = useState<string[]>([]);\n const [appsCatalog, setAppsCatalog] = useState<ITuiAppCatalogItem[]>([]);\n const [dataSourcesCatalog, setDataSourcesCatalog] = useState<ITuiDataSourceCatalogItem[]>([]);\n const [isCatalogLoading, setIsCatalogLoading] = useState(false);\n const [catalogError, setCatalogError] = useState<string | null>(null);\n const [catalogLoadedAt, setCatalogLoadedAt] = useState<number | null>(null);\n\n const catalogScopeRef = useRef(\"\");\n const resultScrollRef = useRef<ScrollBoxRenderable | null>(null);\n const leftScrollRef = useRef<ScrollBoxRenderable | null>(null);\n const commandInputRef = useRef<InputRenderable | null>(null);\n\n const executor = useMemo(() => {\n return createTuiProcessExecutor({\n executionConfig: props.executionConfig,\n });\n }, [props.executionConfig]);\n\n const applyMetadataFromPayload = useCallback((payload: unknown) => {\n const metadata = extractMetadata(payload);\n if (metadata.environment) {\n setEnvironment(metadata.environment);\n }\n\n if (metadata.context !== undefined) {\n setContext(metadata.context);\n }\n }, []);\n\n const appendSystemMessages = useCallback((messages: string[]) => {\n if (messages.length === 0) {\n return;\n }\n\n setSystemMessages((previous) => [...previous, ...messages]);\n }, []);\n\n const applyCommandResult = useCallback((result: ITuiCommandResult, command: string) => {\n const entry: ITuiHistoryEntry = {\n id: `${Date.now()}-${Math.random().toString(16).slice(2)}`,\n command,\n result,\n createdAt: Date.now(),\n };\n\n setEntries((previous) => [entry, ...previous]);\n setActiveEntryId(entry.id);\n setSelectedHistoryIndex(0);\n\n if (result.messages && result.messages.length > 0) {\n appendSystemMessages(result.messages);\n }\n\n if (result.ok && result.data !== undefined) {\n applyMetadataFromPayload(result.data);\n }\n }, [appendSystemMessages, applyMetadataFromPayload]);\n\n const executeArgs = useCallback(async(args: string[], commandText: string) => {\n setIsRunning(true);\n try {\n const result = await executor.runCliCommand(args);\n applyCommandResult(result, commandText);\n }\n finally {\n setIsRunning(false);\n }\n }, [applyCommandResult, executor]);\n\n const runInternalArgs = useCallback(async(args: string[]): Promise<ITuiCommandResult> => {\n const result = await executor.runCliCommand(args);\n if (result.ok && result.data !== undefined) {\n applyMetadataFromPayload(result.data);\n }\n\n return result;\n }, [applyMetadataFromPayload, executor]);\n\n const executeLine = useCallback((line: string) => {\n let args: string[];\n\n try {\n args = parseCommandLine(line);\n }\n catch (error: unknown) {\n applyCommandResult(toFailedResult(error, line.trim()), line.trim());\n return;\n }\n\n if (args.length === 0) {\n return;\n }\n\n void executeArgs(args, line.trim());\n }, [applyCommandResult, executeArgs]);\n\n const runHistoryEntry = useCallback(async(entry: ITuiHistoryEntry) => {\n if (entry.command === \"(root)\") {\n await executeArgs([], \"(root)\");\n return;\n }\n\n try {\n const args = parseCommandLine(entry.command);\n await executeArgs(args, entry.command);\n }\n catch (error: unknown) {\n applyCommandResult(toFailedResult(error, entry.command), entry.command);\n }\n }, [applyCommandResult, executeArgs]);\n\n const applyShortcut = useCallback((shortcutId: number) => {\n const action = SHORTCUTS.find((shortcut) => shortcut.id === shortcutId);\n if (!action || isRunning || isCatalogLoading) {\n return;\n }\n\n if (action.template) {\n setInput(action.template);\n setFocusedPanel(\"input\");\n return;\n }\n\n if (action.run) {\n void executeArgs(parseCommandLine(action.run), action.run);\n }\n }, [executeArgs, isCatalogLoading, isRunning]);\n\n const groupedDataSourceItems = useMemo(() => {\n return groupDataSourcesByApp({\n apps: appsCatalog,\n dataSources: dataSourcesCatalog,\n });\n }, [appsCatalog, dataSourcesCatalog]);\n\n const filteredDataSourceGroups = useMemo(() => {\n return filterDataSources(groupedDataSourceItems, dataSourceSearch);\n }, [dataSourceSearch, groupedDataSourceItems]);\n\n const dataSourceCountByAppKey = useMemo(() => {\n const result = new Map<string, number>();\n for (const group of filteredDataSourceGroups) {\n result.set(group.appKey, group.dataSources.length);\n }\n\n return result;\n }, [filteredDataSourceGroups]);\n\n const expandedAppKeySet = useMemo(() => {\n return new Set(expandedAppKeys);\n }, [expandedAppKeys]);\n\n const dataSourceRows = useMemo(() => {\n return flattenTreeRows({\n groups: filteredDataSourceGroups,\n expandedAppKeys: expandedAppKeySet,\n query: dataSourceSearch,\n });\n }, [dataSourceSearch, expandedAppKeySet, filteredDataSourceGroups]);\n\n const selectedDataSourceRow = useMemo(() => {\n if (dataSourceRows.length === 0) {\n return null;\n }\n\n return dataSourceRows[selectedDataSourceRowIndex] || dataSourceRows[0] || null;\n }, [dataSourceRows, selectedDataSourceRowIndex]);\n\n const toggleAppExpansion = useCallback((appKey: string) => {\n setExpandedAppKeys((previous) => {\n if (previous.includes(appKey)) {\n return previous.filter((key) => key !== appKey);\n }\n\n return [...previous, appKey];\n });\n }, []);\n\n const loadDataSourceCatalog = useCallback(async() => {\n if (isCatalogLoading) {\n return;\n }\n\n setIsCatalogLoading(true);\n setCatalogError(null);\n\n try {\n const nextMessages: string[] = [];\n\n const appsResult = await runInternalArgs([\"apps\", \"list\"]);\n const dataSourcesResult = await runInternalArgs([\"curl\", \"/dev/data-sources\"]);\n\n const nextApps = appsResult.ok && appsResult.data !== undefined\n ? extractAppsFromPayload(appsResult.data)\n : [];\n const nextDataSources = dataSourcesResult.ok && dataSourcesResult.data !== undefined\n ? extractDataSourcesFromPayload(dataSourcesResult.data)\n : [];\n\n if (!appsResult.ok) {\n nextMessages.push(toCatalogErrorMessage(\"apps list\", appsResult));\n }\n\n if (!dataSourcesResult.ok) {\n nextMessages.push(toCatalogErrorMessage(\"curl /dev/data-sources\", dataSourcesResult));\n }\n\n setAppsCatalog(nextApps);\n setDataSourcesCatalog(nextDataSources);\n setCatalogLoadedAt(Date.now());\n\n const nextGroups = groupDataSourcesByApp({\n apps: nextApps,\n dataSources: nextDataSources,\n });\n\n setExpandedAppKeys((previous) => {\n if (previous.length > 0) {\n const allowed = new Set(nextGroups.map((group) => group.appKey));\n return previous.filter((key) => allowed.has(key));\n }\n\n return nextGroups.map((group) => group.appKey);\n });\n\n if (nextMessages.length > 0) {\n appendSystemMessages(nextMessages);\n setCatalogError(nextMessages[0] || \"Failed to load catalog.\");\n }\n else {\n setCatalogError(null);\n }\n }\n finally {\n setIsCatalogLoading(false);\n }\n }, [appendSystemMessages, isCatalogLoading, runInternalArgs]);\n\n const runSelectedDataSourceRow = useCallback(async(row: ITuiDataSourceTreeRow | null) => {\n if (!row || isRunning || isCatalogLoading) {\n return;\n }\n\n if (row.kind === \"app\") {\n toggleAppExpansion(row.appKey);\n return;\n }\n\n if (!row.appSlug || !row.dataSourceSlug) {\n appendSystemMessages([\n \"Cannot execute ds get because selected row is missing appSlug or dataSourceSlug.\",\n ]);\n return;\n }\n\n const command = `ds get ${row.appSlug} ${row.dataSourceSlug}`;\n setFocusedPanel(\"result\");\n await executeArgs([\"ds\", \"get\", row.appSlug, row.dataSourceSlug], command);\n }, [appendSystemMessages, executeArgs, isCatalogLoading, isRunning, toggleAppExpansion]);\n\n const setSectionByIndex = useCallback((index: number) => {\n const safeIndex = index < 0\n ? SECTION_ORDER.length - 1\n : index >= SECTION_ORDER.length\n ? 0\n : index;\n\n const section = SECTION_ORDER[safeIndex];\n if (section) {\n setActiveSection(section);\n }\n }, []);\n\n const nextSection = useCallback(() => {\n const currentIndex = SECTION_ORDER.indexOf(activeSection);\n setSectionByIndex(currentIndex + 1);\n }, [activeSection, setSectionByIndex]);\n\n const previousSection = useCallback(() => {\n const currentIndex = SECTION_ORDER.indexOf(activeSection);\n setSectionByIndex(currentIndex - 1);\n }, [activeSection, setSectionByIndex]);\n\n const setPanelByIndex = useCallback((index: number) => {\n const safeIndex = index < 0\n ? FOCUS_ORDER.length - 1\n : index >= FOCUS_ORDER.length\n ? 0\n : index;\n\n const panel = FOCUS_ORDER[safeIndex];\n if (panel) {\n setFocusedPanel(panel);\n }\n }, []);\n\n const nextPanel = useCallback(() => {\n const currentIndex = FOCUS_ORDER.indexOf(focusedPanel);\n setPanelByIndex(currentIndex + 1);\n }, [focusedPanel, setPanelByIndex]);\n\n const previousPanel = useCallback(() => {\n const currentIndex = FOCUS_ORDER.indexOf(focusedPanel);\n setPanelByIndex(currentIndex - 1);\n }, [focusedPanel, setPanelByIndex]);\n\n const openExitConfirmation = useCallback(() => {\n setIsEscArmed(false);\n setIsExitConfirmOpen(true);\n }, []);\n\n const closeExitConfirmation = useCallback(() => {\n setIsExitConfirmOpen(false);\n setIsEscArmed(false);\n }, []);\n\n const armEscapeExit = useCallback(() => {\n setIsEscArmed(true);\n setSystemMessages((previous) => {\n const lastMessage = previous[previous.length - 1];\n const message = \"Press Esc again to open exit confirmation.\";\n if (lastMessage === message) {\n return previous;\n }\n\n return [...previous, message];\n });\n }, []);\n\n const isDataSourceSearchFocused = activeSection === \"datasources\"\n && focusedPanel === \"left\"\n && dataSourcePanelFocus === \"search\"\n && !isRunning\n && !isExitConfirmOpen;\n\n const { submitInput } = useCommandInput({\n busy: isRunning || isCatalogLoading,\n input,\n isInputFocused: focusedPanel === \"input\",\n isModalOpen: isExitConfirmOpen,\n hotkeysEnabled: !isRunning && !isDataSourceSearchFocused,\n sectionTabEnabled: focusedPanel !== \"result\",\n setInput,\n onSubmit: executeLine,\n onClear: () => {\n setEntries([]);\n setActiveEntryId(null);\n setSystemMessages([]);\n setSelectedHistoryIndex(0);\n },\n onShortcut: applyShortcut,\n onNextSection: nextSection,\n onPreviousSection: previousSection,\n });\n\n useKeyboard((keyEvent) => {\n const keyName = keyEvent.name;\n\n if (isExitConfirmOpen) {\n if (isEscapeKey(keyName)) {\n preventDefault(keyEvent);\n closeExitConfirmation();\n return;\n }\n\n if (isEnterKey(keyName)) {\n preventDefault(keyEvent);\n renderer.destroy();\n return;\n }\n\n if (keyEvent.ctrl && keyName === \"c\") {\n renderer.destroy();\n }\n\n return;\n }\n\n if (\n activeSection === \"datasources\"\n && focusedPanel === \"left\"\n && dataSourcePanelFocus === \"search\"\n && isEscapeKey(keyName)\n ) {\n preventDefault(keyEvent);\n setDataSourcePanelFocus(\"tree\");\n return;\n }\n\n if (\n activeSection === \"datasources\"\n && focusedPanel === \"left\"\n && dataSourcePanelFocus === \"tree\"\n && isSlashKey(keyName)\n ) {\n preventDefault(keyEvent);\n setDataSourcePanelFocus(\"search\");\n return;\n }\n\n if (keyEvent.ctrl && keyName === \"c\") {\n renderer.destroy();\n return;\n }\n\n if (\n focusedPanel === \"result\"\n && keyName === \"tab\"\n && !isRunning\n && !isCatalogLoading\n ) {\n preventDefault(keyEvent);\n setResultViewMode((previous) => previous === \"pretty\" ? \"json\" : \"pretty\");\n return;\n }\n\n if (isRunning) {\n return;\n }\n\n if (keyName === \"down\") {\n if (focusedPanel === \"result\") {\n if (isScrollAtBottom(resultScrollRef.current)) {\n preventDefault(keyEvent);\n setIsEscArmed(false);\n setFocusedPanel(\"input\");\n }\n return;\n }\n\n if (focusedPanel === \"left\") {\n let shouldSwitchToInput = false;\n\n if (activeSection === \"shortcuts\") {\n shouldSwitchToInput = shortcutOptions.length === 0 || selectedShortcutIndex >= shortcutOptions.length - 1;\n }\n else if (activeSection === \"history\") {\n shouldSwitchToInput = historyOptions.length === 0 || selectedHistoryIndex >= historyOptions.length - 1;\n }\n else if (activeSection === \"datasources\") {\n if (dataSourcePanelFocus === \"tree\") {\n shouldSwitchToInput = dataSourceOptions.length === 0 || selectedDataSourceRowIndex >= dataSourceOptions.length - 1;\n }\n }\n else if (activeSection === \"messages\" || activeSection === \"help\") {\n shouldSwitchToInput = isScrollAtBottom(leftScrollRef.current);\n }\n\n if (shouldSwitchToInput) {\n preventDefault(keyEvent);\n setIsEscArmed(false);\n setFocusedPanel(\"input\");\n return;\n }\n }\n }\n\n if (isEscapeKey(keyName)) {\n preventDefault(keyEvent);\n\n if (focusedPanel !== \"input\") {\n setFocusedPanel(\"input\");\n armEscapeExit();\n return;\n }\n\n if (!isEscArmed) {\n armEscapeExit();\n return;\n }\n\n openExitConfirmation();\n return;\n }\n\n if (\n activeSection === \"datasources\"\n && focusedPanel === \"left\"\n && dataSourcePanelFocus === \"tree\"\n && keyName === \"space\"\n ) {\n preventDefault(keyEvent);\n if (selectedDataSourceRow?.kind === \"app\") {\n toggleAppExpansion(selectedDataSourceRow.appKey);\n }\n return;\n }\n\n if (keyName === \"left\" || keyName === \"right\") {\n if (focusedPanel === \"input\") {\n const cursorOffset = commandInputRef.current?.cursorOffset ?? input.length;\n const inputLength = input.length;\n const atStart = cursorOffset <= 0;\n const atEnd = cursorOffset >= inputLength;\n\n if (keyName === \"left\" && atStart) {\n preventDefault(keyEvent);\n setIsEscArmed(false);\n setFocusedPanel(\"left\");\n return;\n }\n\n if (keyName === \"right\" && atEnd) {\n preventDefault(keyEvent);\n setIsEscArmed(false);\n setFocusedPanel(\"result\");\n return;\n }\n\n return;\n }\n\n if (focusedPanel === \"result\") {\n const resultScroll = resultScrollRef.current;\n if (!resultScroll) {\n preventDefault(keyEvent);\n setIsEscArmed(false);\n setFocusedPanel(keyName === \"left\" ? \"left\" : \"input\");\n return;\n }\n\n const viewportWidth = resultScroll.viewport.width;\n const maxScrollLeft = Math.max(0, resultScroll.scrollWidth - viewportWidth);\n const hasHorizontalScroll = maxScrollLeft > 0;\n const isAtStart = resultScroll.scrollLeft <= 0;\n const isAtEnd = resultScroll.scrollLeft >= maxScrollLeft - 1;\n\n if (\n !hasHorizontalScroll\n || (keyName === \"left\" && isAtStart)\n || (keyName === \"right\" && isAtEnd)\n ) {\n preventDefault(keyEvent);\n setIsEscArmed(false);\n setFocusedPanel(keyName === \"left\" ? \"left\" : \"input\");\n return;\n }\n\n return;\n }\n\n preventDefault(keyEvent);\n setIsEscArmed(false);\n if (keyName === \"left\") {\n previousPanel();\n }\n else {\n nextPanel();\n }\n return;\n }\n\n if (\n keyName === \"r\"\n && activeSection === \"datasources\"\n && focusedPanel === \"left\"\n && dataSourcePanelFocus === \"tree\"\n && !isCatalogLoading\n ) {\n preventDefault(keyEvent);\n void loadDataSourceCatalog();\n return;\n }\n\n if (\n keyName === \"r\"\n && activeSection === \"history\"\n && focusedPanel === \"left\"\n && input.length === 0\n && !isRunning\n && !isCatalogLoading\n ) {\n const entry = entries[selectedHistoryIndex];\n if (entry) {\n void runHistoryEntry(entry);\n }\n }\n });\n\n useEffect(() => {\n void executeArgs([], \"(root)\");\n }, [executeArgs]);\n\n useEffect(() => {\n if (!isEscArmed) {\n return;\n }\n\n const timer = setTimeout(() => {\n setIsEscArmed(false);\n }, ESC_ARM_TIMEOUT_MS);\n\n return () => {\n clearTimeout(timer);\n };\n }, [isEscArmed]);\n\n useEffect(() => {\n if (!isRunning && !isCatalogLoading) {\n return;\n }\n\n const timer = setInterval(() => {\n setSpinnerFrame((previous) => (previous + 1) % 4);\n }, 120);\n\n return () => {\n clearInterval(timer);\n };\n }, [isCatalogLoading, isRunning]);\n\n useEffect(() => {\n if (selectedHistoryIndex < entries.length) {\n return;\n }\n\n const nextIndex = Math.max(entries.length - 1, 0);\n setSelectedHistoryIndex(nextIndex);\n }, [entries.length, selectedHistoryIndex]);\n\n useEffect(() => {\n if (selectedDataSourceRowIndex < dataSourceRows.length) {\n return;\n }\n\n const nextIndex = Math.max(dataSourceRows.length - 1, 0);\n setSelectedDataSourceRowIndex(nextIndex);\n }, [dataSourceRows.length, selectedDataSourceRowIndex]);\n\n useEffect(() => {\n if (activeSection !== \"datasources\" && dataSourcePanelFocus !== \"tree\") {\n setDataSourcePanelFocus(\"tree\");\n }\n }, [activeSection, dataSourcePanelFocus]);\n\n useEffect(() => {\n const scopeKey = `${environment?.id || \"\"}::${context?.tenantDisplay || \"\"}`;\n if (catalogScopeRef.current.length === 0) {\n catalogScopeRef.current = scopeKey;\n return;\n }\n\n if (catalogScopeRef.current === scopeKey) {\n return;\n }\n\n catalogScopeRef.current = scopeKey;\n if (catalogLoadedAt !== null) {\n setCatalogLoadedAt(null);\n setAppsCatalog([]);\n setDataSourcesCatalog([]);\n setExpandedAppKeys([]);\n setSelectedDataSourceRowIndex(0);\n setCatalogError(null);\n }\n }, [catalogLoadedAt, context?.tenantDisplay, environment?.id]);\n\n useEffect(() => {\n if (\n activeSection !== \"datasources\"\n || catalogLoadedAt !== null\n || isCatalogLoading\n ) {\n return;\n }\n\n void loadDataSourceCatalog();\n }, [activeSection, catalogLoadedAt, isCatalogLoading, loadDataSourceCatalog]);\n\n const spinner = useMemo(() => {\n return [\"|\", \"/\", \"-\", \"\\\\\"][spinnerFrame] || \"|\";\n }, [spinnerFrame]);\n\n const activeEntry = useMemo(() => {\n if (activeEntryId) {\n const found = entries.find((entry) => entry.id === activeEntryId);\n if (found) {\n return found;\n }\n }\n\n return entries[0] || null;\n }, [activeEntryId, entries]);\n\n const sectionOptions = useMemo(() => {\n const ordered = [\n activeSection,\n ...SECTION_ORDER.filter((section) => section !== activeSection),\n ];\n\n return ordered.map((section) => ({\n name: section === \"shortcuts\"\n ? \"Shortcuts\"\n : section === \"datasources\"\n ? \"DataSources\"\n : section === \"history\"\n ? \"History\"\n : section === \"messages\"\n ? \"Messages\"\n : \"Help\",\n description: section === \"shortcuts\"\n ? \"Quick actions\"\n : section === \"datasources\"\n ? \"App tree\"\n : section === \"history\"\n ? \"Past runs\"\n : section === \"messages\"\n ? \"System output\"\n : \"Key map\",\n value: section,\n }));\n }, [activeSection]);\n\n const shortcutOptions = useMemo(() => {\n return SHORTCUTS.map((shortcut) => ({\n name: `${shortcut.id}. ${shortcut.label}`,\n description: shortcut.run || shortcut.template || \"\",\n value: shortcut.id,\n }));\n }, []);\n\n const historyOptions = useMemo(() => {\n return entries.map((entry) => ({\n name: formatHistoryLabel(entry),\n description: new Date(entry.createdAt).toLocaleTimeString(),\n value: entry.id,\n }));\n }, [entries]);\n\n const dataSourceOptions = useMemo(() => {\n return dataSourceRows.map((row) => {\n if (row.kind === \"app\") {\n const itemCount = dataSourceCountByAppKey.get(row.appKey) || 0;\n return {\n name: `${row.expanded ? \"[-]\" : \"[+]\"} ${row.appName}${row.appSlug ? ` (${row.appSlug})` : \"\"}`,\n description: `${itemCount} data source${itemCount === 1 ? \"\" : \"s\"}`,\n value: row.id,\n };\n }\n\n const dataSourceLabel = row.dataSourceName || row.dataSourceSlug || row.dataSourceId || \"Unknown\";\n return {\n name: ` - ${dataSourceLabel}${row.dataSourceSlug ? ` (${row.dataSourceSlug})` : \"\"}`,\n description: row.appSlug ? `app: ${row.appSlug}` : \"missing app slug\",\n value: row.id,\n };\n });\n }, [dataSourceCountByAppKey, dataSourceRows]);\n\n const renderLeftSection = () => {\n if (activeSection === \"shortcuts\") {\n return (\n <select\n focused={focusedPanel === \"left\" && !isExitConfirmOpen && !isRunning}\n options={shortcutOptions}\n selectedIndex={selectedShortcutIndex}\n onChange={(index) => {\n setSelectedShortcutIndex(index);\n }}\n onSelect={(index, option) => {\n setSelectedShortcutIndex(index);\n const shortcutId = Number(option?.value || 0);\n if (Number.isFinite(shortcutId) && shortcutId > 0) {\n applyShortcut(shortcutId);\n }\n }}\n showScrollIndicator\n style={{\n flexGrow: 1,\n }}\n />\n );\n }\n\n if (activeSection === \"datasources\") {\n const treeFocused = focusedPanel === \"left\"\n && dataSourcePanelFocus === \"tree\"\n && !isRunning\n && !isExitConfirmOpen;\n const searchFocused = focusedPanel === \"left\"\n && dataSourcePanelFocus === \"search\"\n && !isRunning\n && !isExitConfirmOpen;\n\n return (\n <box flexDirection=\"column\" flexGrow={1}>\n <box border borderStyle=\"single\" borderColor={searchFocused ? \"#7aa2f7\" : \"#414868\"} paddingX={1}>\n <input\n value={dataSourceSearch}\n placeholder=\"Search data sources...\"\n onChange={(value) => {\n setDataSourceSearch(value);\n setSelectedDataSourceRowIndex(0);\n }}\n onSubmit={() => {\n setDataSourcePanelFocus(\"tree\");\n }}\n focused={searchFocused}\n style={{\n flexGrow: 1,\n }}\n />\n </box>\n\n <box marginTop={1} marginBottom={1}>\n <text fg=\"gray\">/ to search, Esc to tree, Space toggle app, Enter run ds get, r refresh</text>\n </box>\n\n {isCatalogLoading && <text fg=\"cyan\">Loading DataSources catalog...</text>}\n {catalogError && <text fg=\"red\">{catalogError}</text>}\n\n {dataSourceOptions.length === 0\n ? (\n <text fg=\"gray\">\n {dataSourceSearch.trim().length > 0\n ? `No data sources match \"${dataSourceSearch}\".`\n : \"No data sources available for this tenant.\"}\n </text>\n )\n : (\n <select\n focused={treeFocused}\n options={dataSourceOptions}\n selectedIndex={selectedDataSourceRowIndex}\n onChange={(index) => {\n setSelectedDataSourceRowIndex(index);\n }}\n onSelect={(index) => {\n setSelectedDataSourceRowIndex(index);\n const row = dataSourceRows[index] || null;\n void runSelectedDataSourceRow(row);\n }}\n showScrollIndicator\n style={{\n flexGrow: 1,\n }}\n />\n )}\n </box>\n );\n }\n\n if (activeSection === \"history\") {\n if (entries.length === 0) {\n return <text fg=\"gray\">No command history yet.</text>;\n }\n\n return (\n <box flexDirection=\"column\" flexGrow={1}>\n <text fg=\"cyan\">Press `r` to re-run selected command.</text>\n <select\n focused={focusedPanel === \"left\" && !isExitConfirmOpen && !isRunning}\n options={historyOptions}\n selectedIndex={selectedHistoryIndex}\n onChange={(index, option) => {\n setSelectedHistoryIndex(index);\n if (typeof option?.value === \"string\") {\n setActiveEntryId(option.value);\n }\n }}\n onSelect={(index, option) => {\n setSelectedHistoryIndex(index);\n if (typeof option?.value === \"string\") {\n setActiveEntryId(option.value);\n }\n }}\n showScrollIndicator\n style={{\n flexGrow: 1,\n }}\n />\n </box>\n );\n }\n\n if (activeSection === \"messages\") {\n return (\n <scrollbox\n ref={leftScrollRef}\n focused={focusedPanel === \"left\" && !isExitConfirmOpen && !isRunning}\n style={{ height: \"100%\" }}\n >\n {systemMessages.length === 0 && <text fg=\"gray\">No messages yet.</text>}\n {systemMessages.map((line, index) => (\n <text key={`message-${index}`}>{line}</text>\n ))}\n </scrollbox>\n );\n }\n\n return (\n <scrollbox\n ref={leftScrollRef}\n focused={focusedPanel === \"left\" && !isExitConfirmOpen && !isRunning}\n style={{ height: \"100%\" }}\n >\n <text fg=\"cyan\">Key Bindings</text>\n <text>Input Left/Right: caret move, edge switches panel</text>\n <text>Left/Right (non-input/result): switch focused panel</text>\n <text>Up/Down in left lists: selection</text>\n <text>Up/Down in result: vertical scroll</text>\n <text>Left/Right in result: horizontal scroll (edge switches panel)</text>\n <text>Down at bottom in left/result: focus command input</text>\n <text>Enter: run command</text>\n <text>Up/Down in input: command history</text>\n <text>Tab in result panel: toggle PRETTY/JSON</text>\n <text>Tab / Shift+Tab (outside result): next/prev left section</text>\n <text>[ / ]: next/prev left section</text>\n <text>1..6: run shortcut</text>\n <text>/ in DataSources: focus search</text>\n <text>Esc in DataSources search: return to tree</text>\n <text>Space in DataSources tree: toggle app folder</text>\n <text>Enter in DataSources tree: run ds get or toggle app</text>\n <text>Ctrl+L: clear command and message history</text>\n <text>Esc (other panel): focus command input</text>\n <text>Esc then Esc: open exit confirmation</text>\n <text>Enter (confirm): exit, Esc (confirm): cancel</text>\n <text>Ctrl+C: force quit</text>\n </scrollbox>\n );\n };\n\n return (\n <box flexDirection=\"column\" width=\"100%\" height=\"100%\" padding={1}>\n <box flexDirection=\"row\" justifyContent=\"space-between\" marginBottom={1} paddingX={1}>\n <box\n style={{\n position: \"relative\",\n width: 50,\n height: 6,\n }}\n >\n <box\n style={{\n position: \"absolute\",\n left: 1,\n top: 0,\n }}\n >\n <ascii-font\n text=\"DOCYRUS\"\n font=\"block\"\n color={RGBA.fromHex(\"#3f4bff\")}\n />\n </box>\n\n <box\n style={{\n position: \"absolute\",\n left: 0,\n top: 0,\n }}\n >\n <ascii-font\n text=\"DOCYRUS\"\n font=\"block\"\n color={[\n RGBA.fromHex(\"#ef4444\"),\n RGBA.fromHex(\"#ef4444\"),\n ]}\n />\n </box>\n </box>\n\n <box flexDirection=\"column\" alignItems=\"flex-end\" justifyContent=\"center\">\n <text>env: {environment ? `${environment.name} (${environment.id})` : \"unknown\"}</text>\n <text>\n status: {isRunning\n ? `${spinner} running`\n : isCatalogLoading\n ? `${spinner} loading-catalog`\n : \"idle\"}\n </text>\n <text>account: {context ? context.email : \"not-authenticated\"}</text>\n <text>tenant: {context ? context.tenantDisplay : \"-\"}</text>\n </box>\n </box>\n\n <box flexDirection=\"row\" flexGrow={1}>\n <box\n width={46}\n marginRight={1}\n border\n borderStyle=\"rounded\"\n borderColor={focusedPanel === \"left\" ? \"#7aa2f7\" : \"#3b4261\"}\n padding={1}\n flexDirection=\"column\"\n >\n <tab-select\n focused={focusedPanel === \"left\" && !isExitConfirmOpen && !isRunning}\n options={sectionOptions}\n onChange={(_index, option) => {\n if (typeof option?.value === \"string\") {\n setActiveSection(option.value as ITuiLeftSection);\n setDataSourcePanelFocus(\"tree\");\n }\n }}\n />\n\n <box marginTop={1} flexGrow={1} border borderStyle=\"single\" borderColor=\"#414868\" padding={1}>\n {renderLeftSection()}\n </box>\n </box>\n\n <box\n border\n borderStyle=\"double\"\n borderColor={focusedPanel === \"result\" ? \"#9ece6a\" : \"#3b4261\"}\n padding={1}\n flexGrow={1}\n >\n {isRunning\n ? (\n <box width=\"100%\" height=\"100%\" alignItems=\"center\" justifyContent=\"center\" flexDirection=\"column\">\n <text fg=\"cyan\">{spinner}</text>\n <text fg=\"gray\">Running command...</text>\n </box>\n )\n : renderResult({\n entry: activeEntry,\n isFocused: focusedPanel === \"result\" && !isExitConfirmOpen,\n viewMode: resultViewMode,\n onViewModeChange: setResultViewMode,\n resultScrollRef,\n })}\n </box>\n </box>\n\n <box\n border\n borderStyle=\"rounded\"\n borderColor={focusedPanel === \"input\" ? \"#e0af68\" : \"#3b4261\"}\n padding={1}\n marginTop={1}\n >\n <text fg=\"cyan\">&gt; </text>\n <input\n ref={commandInputRef}\n style={{ flexGrow: 1 }}\n value={input}\n placeholder=\"Type a command...\"\n onChange={(value) => {\n setInput(value);\n }}\n onSubmit={(value) => {\n submitInput(typeof value === \"string\" ? value : undefined);\n }}\n focused={!isRunning && !isCatalogLoading && focusedPanel === \"input\" && !isExitConfirmOpen}\n />\n </box>\n\n {isExitConfirmOpen && (\n <box\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <box\n width={58}\n padding={1}\n border\n borderStyle=\"double\"\n borderColor=\"#f7768e\"\n flexDirection=\"column\"\n style={{\n backgroundColor: \"#1f2335\",\n }}\n >\n <text fg=\"#f7768e\">Exit Docyrus TUI?</text>\n <text>Press Enter to exit.</text>\n <text>Press Esc to stay in this session.</text>\n </box>\n </box>\n )}\n </box>\n );\n}\n", "import { spawnSync } from \"node:child_process\";\nimport { UserInputError } from \"../errors\";\nimport type { ITuiCommandResult, ITuiProcessExecutionConfig } from \"../types\";\n\ninterface ICreateTuiProcessExecutorOptions {\n executionConfig: ITuiProcessExecutionConfig;\n spawnSyncFn?: typeof spawnSync;\n now?: () => number;\n}\n\ninterface IParsedCommandOutput {\n data: unknown;\n messages: string[];\n}\n\nfunction normalizeCommandArg(arg: string): string {\n return arg.trim();\n}\n\nexport function sanitizeTuiCommandArgs(args: string[]): string[] {\n const normalized = args\n .map(normalizeCommandArg)\n .filter((value) => value.length > 0);\n\n const withoutBinary = normalized[0] === \"docyrus\"\n ? normalized.slice(1)\n : normalized;\n\n const withoutJson = withoutBinary.filter((value) => value !== \"--json\");\n\n const firstArg = withoutJson[0];\n if (firstArg === \"tui\" || firstArg === \"interactive\") {\n throw new UserInputError(\"Already in TUI session.\");\n }\n\n return withoutJson;\n}\n\nfunction parseJsonOutput(rawOutput: string): IParsedCommandOutput {\n const trimmedOutput = rawOutput.trim();\n if (!trimmedOutput) {\n throw new UserInputError(\"Command produced no output.\");\n }\n\n const lines = trimmedOutput\n .split(/\\r?\\n/)\n .map((line) => line.trim())\n .filter((line) => line.length > 0);\n\n const lastLine = lines.at(-1);\n if (lastLine) {\n try {\n return {\n data: JSON.parse(lastLine) as unknown,\n messages: lines.slice(0, -1),\n };\n }\n catch {\n // fallback to whole-output JSON parsing below\n }\n }\n\n try {\n return {\n data: JSON.parse(trimmedOutput) as unknown,\n messages: [],\n };\n }\n catch (error: unknown) {\n throw new UserInputError(\"Invalid command output format. Expected JSON output.\", {\n cause: error,\n rawOutput: trimmedOutput,\n });\n }\n}\n\nfunction toErrorMessage(error: unknown): string {\n if (error instanceof Error && error.message.trim().length > 0) {\n return error.message;\n }\n\n return \"Failed to execute command.\";\n}\n\nexport function createTuiProcessExecutor(options: ICreateTuiProcessExecutorOptions) {\n const spawnCommand = options.spawnSyncFn ?? spawnSync;\n const now = options.now ?? Date.now;\n\n const runCliCommand = async(args: string[]): Promise<ITuiCommandResult> => {\n const startedAt = now();\n let commandArgs: string[] = [];\n let commandLabel = \"\";\n let rawOutput = \"\";\n let messageLines: string[] = [];\n\n try {\n commandArgs = sanitizeTuiCommandArgs(args);\n commandLabel = commandArgs.join(\" \").trim();\n\n const spawnResult = spawnCommand(\n options.executionConfig.executable,\n [\n options.executionConfig.scriptPath,\n ...commandArgs,\n \"--json\",\n ],\n {\n encoding: \"utf8\",\n cwd: options.executionConfig.cwd,\n env: {\n ...process.env,\n ...(options.executionConfig.env || {}),\n },\n },\n );\n\n const stdout = spawnResult.stdout?.toString() || \"\";\n const stderr = spawnResult.stderr?.toString() || \"\";\n rawOutput = stdout.trim();\n\n if (spawnResult.error) {\n throw spawnResult.error;\n }\n\n if (spawnResult.status !== 0) {\n const details = [rawOutput, stderr.trim()]\n .filter((line) => line.length > 0)\n .join(\"\\n\");\n\n return {\n ok: false,\n command: commandLabel,\n rawOutput: details,\n error: {\n message: stderr.trim() || `Command exited with code ${spawnResult.status ?? \"unknown\"}.`,\n details: details || undefined,\n },\n durationMs: now() - startedAt,\n };\n }\n\n const parsed = parseJsonOutput(stdout);\n messageLines = parsed.messages;\n\n return {\n ok: true,\n command: commandLabel,\n rawOutput,\n data: parsed.data,\n durationMs: now() - startedAt,\n messages: messageLines.length > 0 ? messageLines : undefined,\n };\n }\n catch (error: unknown) {\n return {\n ok: false,\n command: commandLabel,\n rawOutput,\n error: {\n message: toErrorMessage(error),\n details: rawOutput || undefined,\n },\n durationMs: now() - startedAt,\n messages: messageLines.length > 0 ? messageLines : undefined,\n };\n }\n };\n\n return {\n runCliCommand,\n };\n}\n", "import type { IApiErrorResponse } from \"./types\";\n\nexport class ApplicationError extends Error {\n constructor(\n message: string,\n public readonly data: Record<string, unknown> = {},\n public readonly httpStatusCode = 500,\n ) {\n super(message);\n }\n}\n\nexport class UserInputError extends ApplicationError {\n constructor(message: string, data: Record<string, unknown> = {}) {\n super(message, data, 400);\n }\n}\n\nexport class AuthSessionError extends ApplicationError {\n constructor(message: string, data: Record<string, unknown> = {}) {\n super(message, data, 401);\n }\n}\n\nexport class ApiResponseError extends ApplicationError {\n constructor(public readonly details: IApiErrorResponse) {\n super(details.error_description || details.error || \"Docyrus API request failed\", details, details.status || 500);\n }\n}\n", "import { useKeyboard } from \"@opentui/react\";\nimport { useCallback, useState } from \"react\";\nimport type { KeyEvent } from \"@opentui/core\";\n\ninterface IUseCommandInputOptions {\n busy: boolean;\n input: string;\n isInputFocused: boolean;\n isModalOpen?: boolean;\n hotkeysEnabled?: boolean;\n sectionTabEnabled?: boolean;\n inputUpHistoryEnabled?: boolean;\n setInput: (value: string) => void;\n onSubmit: (command: string) => void;\n onClear: () => void;\n onShortcut: (shortcut: number) => void;\n onNextSection: () => void;\n onPreviousSection: () => void;\n}\n\ninterface IUseCommandInputResult {\n submitInput: (value?: string) => void;\n}\n\nexport function parseCommandLine(command: string): string[] {\n const args: string[] = [];\n let current = \"\";\n let quote: \"\\\"\" | \"'\" | null = null;\n let escaped = false;\n\n for (const char of command) {\n if (escaped) {\n current += char;\n escaped = false;\n continue;\n }\n\n if (char === \"\\\\\") {\n escaped = true;\n continue;\n }\n\n if (quote) {\n if (char === quote) {\n quote = null;\n }\n else {\n current += char;\n }\n continue;\n }\n\n if (char === \"\\\"\" || char === \"'\") {\n quote = char;\n continue;\n }\n\n if (/\\s/.test(char)) {\n if (current.length > 0) {\n args.push(current);\n current = \"\";\n }\n continue;\n }\n\n current += char;\n }\n\n if (quote) {\n throw new Error(\"Invalid command syntax: unmatched quote.\");\n }\n\n if (escaped) {\n current += \"\\\\\";\n }\n\n if (current.length > 0) {\n args.push(current);\n }\n\n return args;\n}\n\nfunction preventDefault(event: KeyEvent): void {\n if (typeof event.preventDefault === \"function\") {\n event.preventDefault();\n }\n}\n\nexport function useCommandInput(options: IUseCommandInputOptions): IUseCommandInputResult {\n const [history, setHistory] = useState<string[]>([]);\n const [historyCursor, setHistoryCursor] = useState<number | null>(null);\n const [draftInput, setDraftInput] = useState(\"\");\n\n const submitInput = useCallback((value?: string) => {\n if (options.busy) {\n return;\n }\n\n const trimmed = (value ?? options.input).trim();\n if (trimmed.length === 0) {\n return;\n }\n\n setHistory((previous) => {\n if (previous[0] === trimmed) {\n return previous;\n }\n\n return [trimmed, ...previous];\n });\n\n setHistoryCursor(null);\n setDraftInput(\"\");\n options.setInput(\"\");\n options.onSubmit(trimmed);\n }, [options]);\n\n const recallHistory = useCallback((direction: \"up\" | \"down\") => {\n if (history.length === 0) {\n return;\n }\n\n if (direction === \"up\") {\n if (historyCursor === null) {\n setDraftInput(options.input);\n setHistoryCursor(0);\n options.setInput(history[0] || \"\");\n return;\n }\n\n const nextCursor = Math.min(historyCursor + 1, history.length - 1);\n setHistoryCursor(nextCursor);\n options.setInput(history[nextCursor] || \"\");\n return;\n }\n\n if (historyCursor === null) {\n return;\n }\n\n const nextCursor = historyCursor - 1;\n if (nextCursor < 0) {\n setHistoryCursor(null);\n options.setInput(draftInput);\n return;\n }\n\n setHistoryCursor(nextCursor);\n options.setInput(history[nextCursor] || \"\");\n }, [draftInput, history, historyCursor, options]);\n\n useKeyboard((keyEvent) => {\n if (options.isModalOpen) {\n return;\n }\n\n const keyName = keyEvent.name;\n const hotkeysEnabled = options.hotkeysEnabled !== false;\n const sectionTabEnabled = hotkeysEnabled && options.sectionTabEnabled !== false;\n const inputUpHistoryEnabled = options.inputUpHistoryEnabled !== false;\n\n if (keyEvent.ctrl && keyName === \"l\") {\n preventDefault(keyEvent);\n options.onClear();\n return;\n }\n\n if (sectionTabEnabled && keyName === \"tab\") {\n preventDefault(keyEvent);\n if (keyEvent.shift) {\n options.onPreviousSection();\n return;\n }\n\n options.onNextSection();\n return;\n }\n\n if (hotkeysEnabled && keyName === \"[\") {\n preventDefault(keyEvent);\n options.onPreviousSection();\n return;\n }\n\n if (hotkeysEnabled && keyName === \"]\") {\n preventDefault(keyEvent);\n options.onNextSection();\n return;\n }\n\n if (inputUpHistoryEnabled && options.isInputFocused && keyName === \"up\") {\n preventDefault(keyEvent);\n recallHistory(\"up\");\n return;\n }\n\n if (options.isInputFocused && keyName === \"down\") {\n preventDefault(keyEvent);\n recallHistory(\"down\");\n return;\n }\n\n if (options.busy) {\n return;\n }\n\n if (hotkeysEnabled && options.input.length === 0 && /^[1-6]$/.test(keyName)) {\n preventDefault(keyEvent);\n options.onShortcut(Number(keyName));\n }\n });\n\n return {\n submitInput,\n };\n}\n", "import type {\n ITuiAppCatalogItem,\n ITuiDataSourceAppGroup,\n ITuiDataSourceCatalogItem,\n ITuiDataSourceTreeRow,\n} from \"./types\";\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction toNonEmptyString(value: unknown): string | undefined {\n if (typeof value !== \"string\") {\n return undefined;\n }\n\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\nfunction toStringValue(value: unknown, fallback: string): string {\n return toNonEmptyString(value) || fallback;\n}\n\nfunction getArrayCandidates(payload: unknown): unknown[] {\n if (Array.isArray(payload)) {\n return payload;\n }\n\n if (!isRecord(payload)) {\n return [];\n }\n\n const directData = payload.data;\n if (Array.isArray(directData)) {\n return directData;\n }\n\n if (isRecord(directData) && Array.isArray(directData.data)) {\n return directData.data;\n }\n\n if (Array.isArray(payload.items)) {\n return payload.items;\n }\n\n if (Array.isArray(payload.dataSources)) {\n return payload.dataSources;\n }\n\n return [];\n}\n\nfunction compareByName(a: string, b: string): number {\n return a.localeCompare(b, undefined, { sensitivity: \"base\" });\n}\n\nfunction getDataSourceDisplayName(dataSource: ITuiDataSourceCatalogItem): string {\n return dataSource.title || dataSource.name || dataSource.slug;\n}\n\nexport function extractAppsFromPayload(payload: unknown): ITuiAppCatalogItem[] {\n const result: ITuiAppCatalogItem[] = [];\n const seen = new Set<string>();\n\n for (const candidate of getArrayCandidates(payload)) {\n if (!isRecord(candidate)) {\n continue;\n }\n\n const id = toNonEmptyString(candidate.id);\n const slug = toNonEmptyString(candidate.slug);\n if (!id || !slug) {\n continue;\n }\n\n const name = toStringValue(candidate.name, slug);\n const dedupeKey = `${id}::${slug}`;\n if (seen.has(dedupeKey)) {\n continue;\n }\n\n seen.add(dedupeKey);\n result.push({ id, slug, name });\n }\n\n result.sort((a, b) => compareByName(a.name, b.name));\n return result;\n}\n\nexport function extractDataSourcesFromPayload(payload: unknown): ITuiDataSourceCatalogItem[] {\n const result: ITuiDataSourceCatalogItem[] = [];\n const seen = new Set<string>();\n\n for (const candidate of getArrayCandidates(payload)) {\n if (!isRecord(candidate)) {\n continue;\n }\n\n const id = toNonEmptyString(candidate.id);\n const slug = toNonEmptyString(candidate.slug);\n if (!id || !slug) {\n continue;\n }\n\n const title = toNonEmptyString(candidate.title);\n const name = toStringValue(candidate.name, slug);\n const appSlug = toNonEmptyString(candidate.app_slug);\n const tenantAppId = toNonEmptyString(candidate.tenant_app_id);\n const dedupeKey = `${id}::${slug}`;\n\n if (seen.has(dedupeKey)) {\n continue;\n }\n\n seen.add(dedupeKey);\n result.push({\n id,\n name,\n title,\n slug,\n app_slug: appSlug,\n tenant_app_id: tenantAppId,\n });\n }\n\n result.sort((a, b) => compareByName(getDataSourceDisplayName(a), getDataSourceDisplayName(b)));\n return result;\n}\n\nexport function groupDataSourcesByApp(params: {\n apps: ITuiAppCatalogItem[];\n dataSources: ITuiDataSourceCatalogItem[];\n}): ITuiDataSourceAppGroup[] {\n const { apps, dataSources } = params;\n const appById = new Map<string, ITuiAppCatalogItem>();\n const appBySlug = new Map<string, ITuiAppCatalogItem>();\n const groups = new Map<string, ITuiDataSourceAppGroup>();\n\n for (const app of apps) {\n appById.set(app.id, app);\n appBySlug.set(app.slug, app);\n }\n\n for (const dataSource of dataSources) {\n const byId = dataSource.tenant_app_id\n ? appById.get(dataSource.tenant_app_id)\n : undefined;\n const bySlug = dataSource.app_slug\n ? appBySlug.get(dataSource.app_slug)\n : undefined;\n const matchedApp = byId || bySlug;\n\n const appKey = matchedApp\n ? matchedApp.id\n : dataSource.app_slug\n ? `slug:${dataSource.app_slug}`\n : \"unknown\";\n\n const group = groups.get(appKey)\n || {\n appKey,\n appId: matchedApp?.id || dataSource.tenant_app_id,\n appName: matchedApp?.name || dataSource.app_slug || \"Unknown App\",\n appSlug: matchedApp?.slug || dataSource.app_slug,\n dataSources: [],\n };\n\n group.dataSources.push(dataSource);\n groups.set(appKey, group);\n }\n\n const list = Array.from(groups.values());\n for (const group of list) {\n group.dataSources.sort((a, b) => compareByName(getDataSourceDisplayName(a), getDataSourceDisplayName(b)));\n }\n\n list.sort((a, b) => compareByName(a.appName, b.appName));\n return list;\n}\n\nexport function filterDataSources(groups: ITuiDataSourceAppGroup[], query: string): ITuiDataSourceAppGroup[] {\n const normalizedQuery = query.trim().toLowerCase();\n if (normalizedQuery.length === 0) {\n return groups;\n }\n\n return groups\n .map((group) => {\n const filteredDataSources = group.dataSources.filter((dataSource) => {\n const haystack = [\n dataSource.title,\n dataSource.name,\n dataSource.slug,\n ]\n .filter((value): value is string => Boolean(value))\n .join(\" \")\n .toLowerCase();\n\n return haystack.includes(normalizedQuery);\n });\n\n return {\n ...group,\n dataSources: filteredDataSources,\n };\n })\n .filter((group) => group.dataSources.length > 0);\n}\n\nexport function flattenTreeRows(params: {\n groups: ITuiDataSourceAppGroup[];\n expandedAppKeys: ReadonlySet<string>;\n query: string;\n}): ITuiDataSourceTreeRow[] {\n const rows: ITuiDataSourceTreeRow[] = [];\n const alwaysExpanded = params.query.trim().length > 0;\n\n for (const group of params.groups) {\n const expanded = alwaysExpanded || params.expandedAppKeys.has(group.appKey);\n rows.push({\n id: `app:${group.appKey}`,\n kind: \"app\",\n appKey: group.appKey,\n appName: group.appName,\n appSlug: group.appSlug,\n expanded,\n });\n\n if (!expanded) {\n continue;\n }\n\n for (const dataSource of group.dataSources) {\n const dataSourceName = getDataSourceDisplayName(dataSource);\n rows.push({\n id: `ds:${group.appKey}:${dataSource.id}`,\n kind: \"datasource\",\n appKey: group.appKey,\n appName: group.appName,\n appSlug: group.appSlug || dataSource.app_slug,\n dataSourceId: dataSource.id,\n dataSourceName,\n dataSourceSlug: dataSource.slug,\n });\n }\n }\n\n return rows;\n}\n", "/** @jsxImportSource @opentui/react */\nimport { RGBA, SyntaxStyle, type ScrollBoxRenderable } from \"@opentui/core\";\nimport type { ReactNode, Ref } from \"react\";\nimport { buildResultDocument, serializeResultDocument } from \"./resultDocument\";\nimport type { ITuiHistoryEntry, ITuiResultDocument, ITuiResultViewMode } from \"./types\";\n\nconst RESULT_VIEW_OPTIONS = [\n { name: \"PRETTY\", description: \"Markdown view\", value: \"pretty\" },\n { name: \"JSON\", description: \"Raw JSON view\", value: \"json\" },\n];\n\nlet jsonSyntaxStyle: SyntaxStyle | null = null;\n\nfunction getJsonSyntaxStyle(): SyntaxStyle {\n if (jsonSyntaxStyle) {\n return jsonSyntaxStyle;\n }\n\n jsonSyntaxStyle = SyntaxStyle.fromStyles({\n default: {\n fg: RGBA.fromHex(\"#d4d4d4\"),\n },\n property: {\n fg: RGBA.fromHex(\"#9cdcfe\"),\n },\n string: {\n fg: RGBA.fromHex(\"#ce9178\"),\n },\n number: {\n fg: RGBA.fromHex(\"#b5cea8\"),\n },\n keyword: {\n fg: RGBA.fromHex(\"#569cd6\"),\n },\n constant: {\n fg: RGBA.fromHex(\"#4fc1ff\"),\n },\n punctuation: {\n fg: RGBA.fromHex(\"#c586c0\"),\n },\n operator: {\n fg: RGBA.fromHex(\"#d4d4d4\"),\n },\n });\n\n return jsonSyntaxStyle;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction escapeMd(value: string): string {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\|/g, \"\\\\|\")\n .replace(/\\n/g, \"<br/>\");\n}\n\nfunction inlineValue(value: unknown): string {\n if (value === null) {\n return \"`null`\";\n }\n\n if (value === undefined) {\n return \"`undefined`\";\n }\n\n if (typeof value === \"string\") {\n return escapeMd(value);\n }\n\n if (typeof value === \"number\" || typeof value === \"boolean\") {\n return `\\`${String(value)}\\``;\n }\n\n if (Array.isArray(value)) {\n return `\\`[${value.length} items]\\``;\n }\n\n if (isRecord(value)) {\n return `\\`{${Object.keys(value).length} keys}\\``;\n }\n\n return escapeMd(String(value));\n}\n\nfunction headingForDepth(depth: number): string {\n const safeDepth = Math.min(6, Math.max(2, depth + 2));\n return \"#\".repeat(safeDepth);\n}\n\nfunction renderObjectMarkdown(record: Record<string, unknown>, depth: number, sectionTitle: string): string {\n const entries = Object.entries(record);\n if (entries.length === 0) {\n return `${headingForDepth(depth)} ${sectionTitle}\\n\\n_Empty object_\\n`;\n }\n\n const lines: string[] = [];\n lines.push(`${headingForDepth(depth)} ${sectionTitle}`);\n lines.push(\"\");\n lines.push(\"| Key | Value |\");\n lines.push(\"| --- | --- |\");\n\n const nestedSections: string[] = [];\n\n for (const [key, value] of entries) {\n const escapedKey = escapeMd(key);\n if (Array.isArray(value) || isRecord(value)) {\n lines.push(`| ${escapedKey} | ${inlineValue(value)} |`);\n nestedSections.push(renderAnyMarkdown(value, depth + 1, key));\n continue;\n }\n\n lines.push(`| ${escapedKey} | ${inlineValue(value)} |`);\n }\n\n if (nestedSections.length > 0) {\n lines.push(\"\");\n lines.push(...nestedSections);\n }\n\n return `${lines.join(\"\\n\")}\\n`;\n}\n\nfunction renderArrayMarkdown(values: unknown[], depth: number, sectionTitle: string): string {\n const lines: string[] = [];\n\n lines.push(`${headingForDepth(depth)} ${sectionTitle}`);\n lines.push(\"\");\n\n if (values.length === 0) {\n lines.push(\"_Empty array_\");\n return `${lines.join(\"\\n\")}\\n`;\n }\n\n const firstItem = values[0];\n if (isRecord(firstItem)) {\n const headers = Object.keys(firstItem);\n lines.push(`| ${headers.map(escapeMd).join(\" | \")} |`);\n lines.push(`| ${headers.map(() => \"---\").join(\" | \")} |`);\n\n const nestedSections: string[] = [];\n\n values.forEach((item, index) => {\n if (!isRecord(item)) {\n lines.push(`| ${escapeMd(String(item))} |`);\n return;\n }\n\n const rowCells = headers.map((header) => {\n const cellValue = item[header];\n if (Array.isArray(cellValue) || isRecord(cellValue)) {\n nestedSections.push(renderAnyMarkdown(cellValue, depth + 1, `${sectionTitle}[${index}].${header}`));\n }\n\n return inlineValue(cellValue);\n });\n\n lines.push(`| ${rowCells.join(\" | \")} |`);\n });\n\n if (nestedSections.length > 0) {\n lines.push(\"\");\n lines.push(...nestedSections);\n }\n\n return `${lines.join(\"\\n\")}\\n`;\n }\n\n lines.push(\"| Index | Value |\");\n lines.push(\"| --- | --- |\");\n\n const nestedSections: string[] = [];\n\n values.forEach((value, index) => {\n if (Array.isArray(value) || isRecord(value)) {\n lines.push(`| ${index} | ${inlineValue(value)} |`);\n nestedSections.push(renderAnyMarkdown(value, depth + 1, `${sectionTitle}[${index}]`));\n return;\n }\n\n lines.push(`| ${index} | ${inlineValue(value)} |`);\n });\n\n if (nestedSections.length > 0) {\n lines.push(\"\");\n lines.push(...nestedSections);\n }\n\n return `${lines.join(\"\\n\")}\\n`;\n}\n\nfunction renderAnyMarkdown(value: unknown, depth: number, sectionTitle: string): string {\n if (Array.isArray(value)) {\n return renderArrayMarkdown(value, depth, sectionTitle);\n }\n\n if (isRecord(value)) {\n return renderObjectMarkdown(value, depth, sectionTitle);\n }\n\n return `${headingForDepth(depth)} ${sectionTitle}\\n\\n${inlineValue(value)}\\n`;\n}\n\nfunction resolvePrettyPayload(document: ITuiResultDocument): unknown {\n const payload = document.payload;\n if (!isRecord(payload)) {\n return payload;\n }\n\n const status = typeof payload.status === \"number\"\n ? payload.status\n : undefined;\n const success = typeof payload.success === \"boolean\"\n ? payload.success\n : undefined;\n\n if (typeof status === \"number\") {\n if (status >= 400) {\n if (\"error\" in payload) {\n return payload.error;\n }\n\n if (isRecord(payload.data) && \"error\" in payload.data) {\n return payload.data.error;\n }\n\n return payload;\n }\n\n if (\"data\" in payload) {\n return payload.data;\n }\n\n return payload;\n }\n\n if (success === true) {\n if (\"data\" in payload) {\n return payload.data;\n }\n\n return payload;\n }\n\n if (success === false) {\n if (\"error\" in payload) {\n return payload.error;\n }\n\n return payload;\n }\n\n if (document.ok && \"data\" in payload) {\n return payload.data;\n }\n\n if (!document.ok && \"error\" in payload) {\n return payload.error;\n }\n\n return payload;\n}\n\nfunction buildPrettyMarkdown(document: ITuiResultDocument): string {\n const payload = resolvePrettyPayload(document);\n return renderAnyMarkdown(payload, 0, document.ok ? \"Data\" : \"Error\");\n}\n\nexport function renderResult(params: {\n entry: ITuiHistoryEntry | null;\n isFocused: boolean;\n viewMode: ITuiResultViewMode;\n onViewModeChange: (mode: ITuiResultViewMode) => void;\n resultScrollRef?: Ref<ScrollBoxRenderable>;\n}): ReactNode {\n const {\n entry,\n isFocused,\n viewMode,\n onViewModeChange,\n resultScrollRef,\n } = params;\n\n if (!entry) {\n return <text fg=\"yellow\">No command executed yet.</text>;\n }\n\n const document = buildResultDocument(entry);\n const json = serializeResultDocument(document);\n const markdown = buildPrettyMarkdown(document);\n const viewOptions = viewMode === \"pretty\"\n ? RESULT_VIEW_OPTIONS\n : [RESULT_VIEW_OPTIONS[1], RESULT_VIEW_OPTIONS[0]];\n\n return (\n <box flexDirection=\"column\" width=\"100%\" height=\"100%\">\n <box paddingBottom={1} flexDirection=\"column\">\n <text fg={document.ok ? \"green\" : \"red\"}>\n {document.ok ? \"OK\" : \"ERR\"} {document.command} [{document.durationMs}ms]\n </text>\n\n <tab-select\n options={viewOptions}\n onChange={(_index, option) => {\n if (option?.value === \"json\") {\n onViewModeChange(\"json\");\n return;\n }\n\n onViewModeChange(\"pretty\");\n }}\n onSelect={(_index, option) => {\n if (option?.value === \"json\") {\n onViewModeChange(\"json\");\n return;\n }\n\n onViewModeChange(\"pretty\");\n }}\n focused={false}\n />\n </box>\n\n <box flexGrow={1} width=\"100%\" height=\"100%\">\n <scrollbox ref={resultScrollRef} focused={isFocused} scrollX scrollY style={{ height: \"100%\" }}>\n {viewMode === \"json\"\n ? (\n <code\n width=\"100%\"\n content={json}\n filetype=\"json\"\n syntaxStyle={getJsonSyntaxStyle()}\n streaming={false}\n conceal={false}\n />\n )\n : (\n <markdown\n content={markdown}\n syntaxStyle={getJsonSyntaxStyle()}\n streaming={false}\n tableOptions={{\n widthMode: \"content\",\n wrapMode: \"none\",\n borders: true,\n }}\n />\n )}\n </scrollbox>\n </box>\n </box>\n );\n}\n", "import type { ITuiHistoryEntry, ITuiResultDocument } from \"./types\";\n\nfunction toErrorPayload(entry: ITuiHistoryEntry): Record<string, unknown> {\n return {\n message: entry.result.error?.message || \"Command failed.\",\n details: entry.result.error?.details,\n };\n}\n\nfunction buildPayload(entry: ITuiHistoryEntry): unknown {\n if (entry.result.ok) {\n return entry.result.data ?? null;\n }\n\n return toErrorPayload(entry);\n}\n\nexport function buildResultDocument(entry: ITuiHistoryEntry): ITuiResultDocument {\n return {\n command: entry.command || \"(root)\",\n ok: entry.result.ok,\n durationMs: entry.result.durationMs,\n timestamp: new Date(entry.createdAt).toISOString(),\n payload: buildPayload(entry),\n messages: entry.result.messages,\n rawOutput: entry.result.rawOutput || undefined,\n };\n}\n\nexport function serializeResultDocument(document: ITuiResultDocument): string {\n try {\n const result = JSON.stringify(document, null, 2);\n if (!result) {\n return \"null\";\n }\n\n return result;\n }\n catch (error: unknown) {\n const message = error instanceof Error\n ? error.message\n : String(error);\n\n return JSON.stringify({\n command: document.command,\n ok: false,\n durationMs: document.durationMs,\n timestamp: document.timestamp,\n payload: {\n message: \"Serialization failed\",\n details: message,\n },\n }, null, 2);\n }\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["RGBA", "useKeyboard", "useCallback", "useState", "nextCursor", "isRecord", "nestedSections", "jsx", "jsxs", "isRecord", "preventDefault", "useState", "useCallback", "useKeyboard", "RGBA", "jsx"]
7
7
  }