nastech-tui 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.prettierrc +11 -0
- package/README.md +346 -0
- package/eslint.config.mjs +111 -0
- package/package.json +51 -0
- package/packages/nastech-ink/ambient.d.ts +83 -0
- package/packages/nastech-ink/index.d.ts +40 -0
- package/packages/nastech-ink/index.js +1 -0
- package/packages/nastech-ink/nastech-ink/ambient.d.ts +83 -0
- package/packages/nastech-ink/nastech-ink/index.d.ts +40 -0
- package/packages/nastech-ink/nastech-ink/index.js +1 -0
- package/packages/nastech-ink/nastech-ink/package.json +54 -0
- package/packages/nastech-ink/nastech-ink/src/bootstrap/state.ts +9 -0
- package/packages/nastech-ink/nastech-ink/src/entry-exports.ts +32 -0
- package/packages/nastech-ink/nastech-ink/src/hooks/use-stderr.ts +15 -0
- package/packages/nastech-ink/nastech-ink/src/hooks/use-stdout.ts +15 -0
- package/packages/nastech-ink/nastech-ink/src/ink/Ansi.tsx +435 -0
- package/packages/nastech-ink/nastech-ink/src/ink/app-mouse.test.ts +123 -0
- package/packages/nastech-ink/nastech-ink/src/ink/bidi.ts +145 -0
- package/packages/nastech-ink/nastech-ink/src/ink/cache-eviction.ts +45 -0
- package/packages/nastech-ink/nastech-ink/src/ink/clearTerminal.ts +68 -0
- package/packages/nastech-ink/nastech-ink/src/ink/colorize.test.ts +60 -0
- package/packages/nastech-ink/nastech-ink/src/ink/colorize.ts +277 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/AlternateScreen.tsx +133 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/App.tsx +830 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/AppContext.ts +20 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Box.tsx +294 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Button.tsx +236 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/ClockContext.tsx +133 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/CursorAdvanceContext.ts +35 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/CursorDeclarationContext.ts +28 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/ErrorOverview.tsx +130 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Link.tsx +38 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Newline.tsx +43 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/NoSelect.tsx +73 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/RawAnsi.tsx +61 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/ScrollBox.tsx +290 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Spacer.tsx +23 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/StdinContext.ts +25 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/TerminalFocusContext.tsx +63 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/TerminalSizeContext.tsx +7 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Text.test.ts +38 -0
- package/packages/nastech-ink/nastech-ink/src/ink/components/Text.tsx +336 -0
- package/packages/nastech-ink/nastech-ink/src/ink/constants.ts +6 -0
- package/packages/nastech-ink/nastech-ink/src/ink/cursor.ts +5 -0
- package/packages/nastech-ink/nastech-ink/src/ink/devtools.ts +2 -0
- package/packages/nastech-ink/nastech-ink/src/ink/dom.ts +495 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/click-event.ts +38 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/cmd-shortcuts.test.ts +65 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/dispatcher.ts +242 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/emitter.ts +40 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/event-handlers.ts +84 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/event.ts +11 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/focus-event.ts +18 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/input-event.ts +176 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/keyboard-event.ts +57 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/mouse-event.ts +18 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/paste-event.ts +10 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/resize-event.ts +12 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/terminal-event.ts +107 -0
- package/packages/nastech-ink/nastech-ink/src/ink/events/terminal-focus-event.ts +19 -0
- package/packages/nastech-ink/nastech-ink/src/ink/focus.ts +219 -0
- package/packages/nastech-ink/nastech-ink/src/ink/frame.ts +124 -0
- package/packages/nastech-ink/nastech-ink/src/ink/get-max-width.ts +27 -0
- package/packages/nastech-ink/nastech-ink/src/ink/global.d.ts +1 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hit-test.test.ts +38 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hit-test.ts +224 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-animation-frame.ts +62 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-app.ts +9 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-cursor-advance.ts +33 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-declared-cursor.ts +75 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-external-process.ts +27 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-input.ts +95 -0
- package/packages/nastech-ink/nastech-ink/src/ink/hooks/use-interval.ts +71 -0
- package/packages/nastech-ink/package.json +57 -0
- package/packages/nastech-ink/src/bootstrap/state.ts +9 -0
- package/packages/nastech-ink/src/entry-exports.ts +32 -0
- package/packages/nastech-ink/src/hooks/use-stderr.ts +15 -0
- package/packages/nastech-ink/src/hooks/use-stdout.ts +15 -0
- package/packages/nastech-ink/src/ink/Ansi.tsx +435 -0
- package/packages/nastech-ink/src/ink/app-mouse.test.ts +123 -0
- package/packages/nastech-ink/src/ink/app-rawmode-mouse.test.ts +91 -0
- package/packages/nastech-ink/src/ink/bidi.ts +145 -0
- package/packages/nastech-ink/src/ink/cache-eviction.ts +45 -0
- package/packages/nastech-ink/src/ink/clearTerminal.ts +68 -0
- package/packages/nastech-ink/src/ink/colorize.test.ts +60 -0
- package/packages/nastech-ink/src/ink/colorize.ts +277 -0
- package/packages/nastech-ink/src/ink/components/AlternateScreen.tsx +133 -0
- package/packages/nastech-ink/src/ink/components/App.tsx +855 -0
- package/packages/nastech-ink/src/ink/components/AppContext.ts +20 -0
- package/packages/nastech-ink/src/ink/components/Box.tsx +294 -0
- package/packages/nastech-ink/src/ink/components/Button.tsx +236 -0
- package/packages/nastech-ink/src/ink/components/ClockContext.tsx +133 -0
- package/packages/nastech-ink/src/ink/components/CursorAdvanceContext.ts +35 -0
- package/packages/nastech-ink/src/ink/components/CursorDeclarationContext.ts +28 -0
- package/packages/nastech-ink/src/ink/components/ErrorOverview.tsx +130 -0
- package/packages/nastech-ink/src/ink/components/Link.tsx +38 -0
- package/packages/nastech-ink/src/ink/components/Newline.tsx +43 -0
- package/packages/nastech-ink/src/ink/components/NoSelect.tsx +73 -0
- package/packages/nastech-ink/src/ink/components/RawAnsi.tsx +61 -0
- package/packages/nastech-ink/src/ink/components/ScrollBox.tsx +290 -0
- package/packages/nastech-ink/src/ink/components/Spacer.tsx +23 -0
- package/packages/nastech-ink/src/ink/components/StdinContext.ts +25 -0
- package/packages/nastech-ink/src/ink/components/TerminalFocusContext.tsx +63 -0
- package/packages/nastech-ink/src/ink/components/TerminalSizeContext.tsx +7 -0
- package/packages/nastech-ink/src/ink/components/Text.test.ts +38 -0
- package/packages/nastech-ink/src/ink/components/Text.tsx +336 -0
- package/packages/nastech-ink/src/ink/constants.ts +6 -0
- package/packages/nastech-ink/src/ink/cursor.ts +5 -0
- package/packages/nastech-ink/src/ink/devtools.ts +2 -0
- package/packages/nastech-ink/src/ink/dom.ts +495 -0
- package/packages/nastech-ink/src/ink/events/click-event.ts +38 -0
- package/packages/nastech-ink/src/ink/events/cmd-shortcuts.test.ts +65 -0
- package/packages/nastech-ink/src/ink/events/dispatcher.ts +242 -0
- package/packages/nastech-ink/src/ink/events/emitter.ts +40 -0
- package/packages/nastech-ink/src/ink/events/event-handlers.ts +84 -0
- package/packages/nastech-ink/src/ink/events/event.ts +11 -0
- package/packages/nastech-ink/src/ink/events/focus-event.ts +18 -0
- package/packages/nastech-ink/src/ink/events/input-event.ts +176 -0
- package/packages/nastech-ink/src/ink/events/keyboard-event.ts +57 -0
- package/packages/nastech-ink/src/ink/events/mouse-event.ts +18 -0
- package/packages/nastech-ink/src/ink/events/paste-event.ts +10 -0
- package/packages/nastech-ink/src/ink/events/resize-event.ts +12 -0
- package/packages/nastech-ink/src/ink/events/terminal-event.ts +107 -0
- package/packages/nastech-ink/src/ink/events/terminal-focus-event.ts +19 -0
- package/packages/nastech-ink/src/ink/focus.ts +219 -0
- package/packages/nastech-ink/src/ink/frame.ts +124 -0
- package/packages/nastech-ink/src/ink/get-max-width.ts +27 -0
- package/packages/nastech-ink/src/ink/global.d.ts +1 -0
- package/packages/nastech-ink/src/ink/hit-test.test.ts +38 -0
- package/packages/nastech-ink/src/ink/hit-test.ts +224 -0
- package/packages/nastech-ink/src/ink/hooks/use-animation-frame.ts +62 -0
- package/packages/nastech-ink/src/ink/hooks/use-app.ts +9 -0
- package/packages/nastech-ink/src/ink/hooks/use-cursor-advance.ts +33 -0
- package/packages/nastech-ink/src/ink/hooks/use-declared-cursor.ts +75 -0
- package/packages/nastech-ink/src/ink/hooks/use-external-process.ts +27 -0
- package/packages/nastech-ink/src/ink/hooks/use-input.ts +95 -0
- package/packages/nastech-ink/src/ink/hooks/use-interval.ts +71 -0
- package/packages/nastech-ink/src/ink/hooks/use-search-highlight.ts +56 -0
- package/packages/nastech-ink/src/ink/hooks/use-selection.ts +101 -0
- package/packages/nastech-ink/src/ink/hooks/use-stdin.ts +9 -0
- package/packages/nastech-ink/src/ink/hooks/use-tab-status.ts +71 -0
- package/packages/nastech-ink/src/ink/hooks/use-terminal-focus.ts +18 -0
- package/packages/nastech-ink/src/ink/hooks/use-terminal-title.ts +34 -0
- package/packages/nastech-ink/src/ink/hooks/use-terminal-viewport.ts +100 -0
- package/packages/nastech-ink/src/ink/hyperlinkHover.ts +52 -0
- package/packages/nastech-ink/src/ink/ink-cursor-advance.test.ts +234 -0
- package/packages/nastech-ink/src/ink/ink-resize.test.ts +50 -0
- package/packages/nastech-ink/src/ink/ink.tsx +2705 -0
- package/packages/nastech-ink/src/ink/instances.ts +10 -0
- package/packages/nastech-ink/src/ink/layout/engine.ts +6 -0
- package/packages/nastech-ink/src/ink/layout/geometry.ts +98 -0
- package/packages/nastech-ink/src/ink/layout/node.ts +145 -0
- package/packages/nastech-ink/src/ink/layout/yoga.ts +313 -0
- package/packages/nastech-ink/src/ink/line-width-cache.ts +38 -0
- package/packages/nastech-ink/src/ink/log-update.test.ts +223 -0
- package/packages/nastech-ink/src/ink/log-update.ts +752 -0
- package/packages/nastech-ink/src/ink/lru.ts +14 -0
- package/packages/nastech-ink/src/ink/measure-element.ts +23 -0
- package/packages/nastech-ink/src/ink/measure-text.ts +50 -0
- package/packages/nastech-ink/src/ink/node-cache.ts +53 -0
- package/packages/nastech-ink/src/ink/optimizer.ts +99 -0
- package/packages/nastech-ink/src/ink/output.ts +845 -0
- package/packages/nastech-ink/src/ink/parse-keypress.test.ts +133 -0
- package/packages/nastech-ink/src/ink/parse-keypress.ts +848 -0
- package/packages/nastech-ink/src/ink/reconciler.ts +382 -0
- package/packages/nastech-ink/src/ink/render-border.ts +206 -0
- package/packages/nastech-ink/src/ink/render-node-to-output.ts +1582 -0
- package/packages/nastech-ink/src/ink/render-to-screen.ts +236 -0
- package/packages/nastech-ink/src/ink/renderer.ts +169 -0
- package/packages/nastech-ink/src/ink/root.ts +204 -0
- package/packages/nastech-ink/src/ink/screen.ts +1590 -0
- package/packages/nastech-ink/src/ink/searchHighlight.ts +91 -0
- package/packages/nastech-ink/src/ink/selection.test.ts +82 -0
- package/packages/nastech-ink/src/ink/selection.ts +1143 -0
- package/packages/nastech-ink/src/ink/squash-text-nodes.ts +74 -0
- package/packages/nastech-ink/src/ink/stringWidth.ts +341 -0
- package/packages/nastech-ink/src/ink/styles.ts +750 -0
- package/packages/nastech-ink/src/ink/supports-hyperlinks.ts +51 -0
- package/packages/nastech-ink/src/ink/tabstops.ts +44 -0
- package/packages/nastech-ink/src/ink/terminal-focus-state.ts +52 -0
- package/packages/nastech-ink/src/ink/terminal-querier.ts +222 -0
- package/packages/nastech-ink/src/ink/terminal.test.ts +15 -0
- package/packages/nastech-ink/src/ink/terminal.ts +299 -0
- package/packages/nastech-ink/src/ink/termio/ansi.ts +75 -0
- package/packages/nastech-ink/src/ink/termio/csi.ts +334 -0
- package/packages/nastech-ink/src/ink/termio/dec.ts +99 -0
- package/packages/nastech-ink/src/ink/termio/esc.ts +69 -0
- package/packages/nastech-ink/src/ink/termio/osc.test.ts +191 -0
- package/packages/nastech-ink/src/ink/termio/osc.ts +724 -0
- package/packages/nastech-ink/src/ink/termio/parser.ts +467 -0
- package/packages/nastech-ink/src/ink/termio/sgr.ts +362 -0
- package/packages/nastech-ink/src/ink/termio/tokenize.test.ts +185 -0
- package/packages/nastech-ink/src/ink/termio/tokenize.ts +350 -0
- package/packages/nastech-ink/src/ink/termio/types.ts +230 -0
- package/packages/nastech-ink/src/ink/termio.ts +42 -0
- package/packages/nastech-ink/src/ink/useTerminalNotification.ts +110 -0
- package/packages/nastech-ink/src/ink/warn.ts +15 -0
- package/packages/nastech-ink/src/ink/widest-line.ts +22 -0
- package/packages/nastech-ink/src/ink/wrap-text.test.ts +17 -0
- package/packages/nastech-ink/src/ink/wrap-text.ts +144 -0
- package/packages/nastech-ink/src/ink/wrapAnsi.ts +13 -0
- package/packages/nastech-ink/src/native-ts/yoga-layout/enums.ts +112 -0
- package/packages/nastech-ink/src/native-ts/yoga-layout/index.ts +2326 -0
- package/packages/nastech-ink/src/utils/debug.ts +6 -0
- package/packages/nastech-ink/src/utils/earlyInput.ts +131 -0
- package/packages/nastech-ink/src/utils/env.ts +66 -0
- package/packages/nastech-ink/src/utils/envUtils.ts +13 -0
- package/packages/nastech-ink/src/utils/execFileNoThrow.test.ts +146 -0
- package/packages/nastech-ink/src/utils/execFileNoThrow.ts +115 -0
- package/packages/nastech-ink/src/utils/fullscreen.ts +3 -0
- package/packages/nastech-ink/src/utils/intl.ts +87 -0
- package/packages/nastech-ink/src/utils/log.ts +7 -0
- package/packages/nastech-ink/src/utils/semver.ts +57 -0
- package/packages/nastech-ink/src/utils/sliceAnsi.ts +106 -0
- package/packages/nastech-ink/text-input.d.ts +2 -0
- package/packages/nastech-ink/text-input.js +1 -0
- package/scripts/build.mjs +61 -0
- package/scripts/profile-tui.mjs +121 -0
- package/src/__tests__/activeSessionSwitcher.test.ts +157 -0
- package/src/__tests__/appChromeStatusRule.test.tsx +84 -0
- package/src/__tests__/appChromeStatusRuleDevCredits.test.tsx +73 -0
- package/src/__tests__/approvalAction.test.ts +50 -0
- package/src/__tests__/asCommandDispatch.test.ts +27 -0
- package/src/__tests__/blockLayout.test.ts +122 -0
- package/src/__tests__/clipboard.test.ts +369 -0
- package/src/__tests__/constants.test.ts +53 -0
- package/src/__tests__/createGatewayEventHandler.test.ts +1091 -0
- package/src/__tests__/createSlashHandler.test.ts +822 -0
- package/src/__tests__/creditsCommand.test.ts +144 -0
- package/src/__tests__/cursorDriftRegression.test.ts +114 -0
- package/src/__tests__/details.test.ts +115 -0
- package/src/__tests__/emoji.test.ts +64 -0
- package/src/__tests__/externalLink.test.ts +144 -0
- package/src/__tests__/forceTruecolor.test.ts +191 -0
- package/src/__tests__/gatewayClient.test.ts +394 -0
- package/src/__tests__/gatewayRecovery.test.ts +47 -0
- package/src/__tests__/markdown.test.ts +331 -0
- package/src/__tests__/mathUnicode.test.ts +293 -0
- package/src/__tests__/memoryMonitor.test.ts +102 -0
- package/src/__tests__/messageLine.test.ts +19 -0
- package/src/__tests__/messages.test.ts +92 -0
- package/src/__tests__/orchestratorPromptSession.test.ts +64 -0
- package/src/__tests__/osc52.test.ts +67 -0
- package/src/__tests__/parentLog.test.ts +75 -0
- package/src/__tests__/paths.test.ts +70 -0
- package/src/__tests__/platform.test.ts +556 -0
- package/src/__tests__/precisionWheel.test.ts +44 -0
- package/src/__tests__/prompt.test.ts +31 -0
- package/src/__tests__/providers.test.ts +65 -0
- package/src/__tests__/reasoning.test.ts +76 -0
- package/src/__tests__/rpc.test.ts +27 -0
- package/src/__tests__/scroll.test.ts +99 -0
- package/src/__tests__/slashParity.test.ts +123 -0
- package/src/__tests__/spawnHistoryStore.test.ts +46 -0
- package/src/__tests__/stateIsolation.test.ts +46 -0
- package/src/__tests__/statusBarTicker.test.ts +18 -0
- package/src/__tests__/statusRule.test.ts +32 -0
- package/src/__tests__/streamingMarkdown.test.ts +121 -0
- package/src/__tests__/subagentTree.test.ts +407 -0
- package/src/__tests__/syntax.test.ts +45 -0
- package/src/__tests__/terminalModes.test.ts +39 -0
- package/src/__tests__/terminalParity.test.ts +77 -0
- package/src/__tests__/terminalSetup.test.ts +386 -0
- package/src/__tests__/termux.test.ts +35 -0
- package/src/__tests__/termuxComposerLayout.test.ts +40 -0
- package/src/__tests__/text.test.ts +233 -0
- package/src/__tests__/textInputBurstInput.test.ts +40 -0
- package/src/__tests__/textInputCursorSourceOfTruth.test.ts +50 -0
- package/src/__tests__/textInputFastEcho.test.ts +200 -0
- package/src/__tests__/textInputLineNav.test.ts +55 -0
- package/src/__tests__/textInputPassThrough.test.ts +59 -0
- package/src/__tests__/textInputRightClick.test.ts +48 -0
- package/src/__tests__/textInputWrap.test.ts +151 -0
- package/src/__tests__/theme.test.ts +311 -0
- package/src/__tests__/turnControllerNotice.test.ts +43 -0
- package/src/__tests__/turnStore.test.ts +66 -0
- package/src/__tests__/useCompletion.test.ts +35 -0
- package/src/__tests__/useComposerState.test.ts +59 -0
- package/src/__tests__/useConfigSync.test.ts +460 -0
- package/src/__tests__/useInputHandlers.test.ts +77 -0
- package/src/__tests__/useQueue.test.ts +28 -0
- package/src/__tests__/useSessionLifecycle.test.ts +60 -0
- package/src/__tests__/useVirtualHistoryHeights.test.ts +39 -0
- package/src/__tests__/viewport.test.ts +58 -0
- package/src/__tests__/viewportStore.test.ts +85 -0
- package/src/__tests__/virtualHeights.test.ts +96 -0
- package/src/__tests__/virtualHistoryClamp.test.ts +19 -0
- package/src/__tests__/virtualHistoryOffsetCache.test.ts +282 -0
- package/src/__tests__/wheelAccel.test.ts +138 -0
- package/src/app/createGatewayEventHandler.ts +833 -0
- package/src/app/createSlashHandler.ts +130 -0
- package/src/app/delegationStore.ts +77 -0
- package/src/app/gatewayContext.tsx +19 -0
- package/src/app/gatewayRecovery.ts +35 -0
- package/src/app/inputSelectionStore.ts +15 -0
- package/src/app/interfaces.ts +394 -0
- package/src/app/overlayStore.ts +53 -0
- package/src/app/scroll.ts +71 -0
- package/src/app/setupHandoff.ts +54 -0
- package/src/app/slash/commands/core.ts +648 -0
- package/src/app/slash/commands/credits.ts +57 -0
- package/src/app/slash/commands/debug.ts +48 -0
- package/src/app/slash/commands/ops.ts +717 -0
- package/src/app/slash/commands/session.ts +554 -0
- package/src/app/slash/commands/setup.ts +20 -0
- package/src/app/slash/registry.ts +20 -0
- package/src/app/slash/types.ts +21 -0
- package/src/app/spawnHistoryStore.ts +159 -0
- package/src/app/turnController.ts +866 -0
- package/src/app/turnStore.ts +85 -0
- package/src/app/uiStore.ts +44 -0
- package/src/app/useComposerState.ts +367 -0
- package/src/app/useConfigSync.ts +288 -0
- package/src/app/useInputHandlers.ts +576 -0
- package/src/app/useLongRunToolCharms.ts +69 -0
- package/src/app/useMainApp.ts +1039 -0
- package/src/app/useSessionLifecycle.ts +366 -0
- package/src/app/useSubmission.ts +429 -0
- package/src/app.tsx +25 -0
- package/src/banner.ts +93 -0
- package/src/components/activeSessionSwitcher.tsx +635 -0
- package/src/components/agentsOverlay.tsx +1073 -0
- package/src/components/appChrome.tsx +554 -0
- package/src/components/appLayout.tsx +444 -0
- package/src/components/appOverlays.tsx +254 -0
- package/src/components/branding.tsx +466 -0
- package/src/components/fpsOverlay.tsx +30 -0
- package/src/components/helpHint.tsx +73 -0
- package/src/components/markdown.tsx +1119 -0
- package/src/components/maskedPrompt.tsx +34 -0
- package/src/components/messageLine.tsx +237 -0
- package/src/components/modelPicker.tsx +527 -0
- package/src/components/overlayControls.tsx +50 -0
- package/src/components/pluginsHub.tsx +238 -0
- package/src/components/prompts.tsx +276 -0
- package/src/components/queuedMessages.tsx +64 -0
- package/src/components/sessionPicker.tsx +227 -0
- package/src/components/skillsHub.tsx +308 -0
- package/src/components/streamingAssistant.tsx +110 -0
- package/src/components/streamingMarkdown.tsx +174 -0
- package/src/components/textInput.tsx +1340 -0
- package/src/components/themed.tsx +30 -0
- package/src/components/thinking.tsx +1224 -0
- package/src/components/todoPanel.tsx +93 -0
- package/src/config/env.ts +64 -0
- package/src/config/limits.ts +13 -0
- package/src/config/timing.ts +6 -0
- package/src/content/charms.ts +1 -0
- package/src/content/faces.ts +17 -0
- package/src/content/fortunes.ts +30 -0
- package/src/content/hotkeys.ts +37 -0
- package/src/content/placeholders.ts +13 -0
- package/src/content/setup.ts +17 -0
- package/src/content/verbs.ts +38 -0
- package/src/domain/blockLayout.ts +146 -0
- package/src/domain/details.ts +76 -0
- package/src/domain/messages.ts +91 -0
- package/src/domain/paths.ts +16 -0
- package/src/domain/providers.ts +11 -0
- package/src/domain/roles.ts +9 -0
- package/src/domain/slash.ts +10 -0
- package/src/domain/usage.ts +3 -0
- package/src/domain/viewport.ts +51 -0
- package/src/entry.tsx +104 -0
- package/src/gatewayClient.ts +730 -0
- package/src/gatewayTypes.ts +568 -0
- package/src/hooks/useCompletion.ts +112 -0
- package/src/hooks/useGitBranch.ts +72 -0
- package/src/hooks/useInputHistory.ts +11 -0
- package/src/hooks/useQueue.ts +76 -0
- package/src/hooks/useVirtualHistory.ts +554 -0
- package/src/lib/circularBuffer.ts +48 -0
- package/src/lib/clipboard.ts +182 -0
- package/src/lib/editor.test.ts +74 -0
- package/src/lib/editor.ts +47 -0
- package/src/lib/emoji.ts +55 -0
- package/src/lib/externalCli.ts +16 -0
- package/src/lib/externalLink.ts +435 -0
- package/src/lib/forceTruecolor.ts +60 -0
- package/src/lib/fpsStore.ts +51 -0
- package/src/lib/fuzzy.test.ts +109 -0
- package/src/lib/fuzzy.ts +177 -0
- package/src/lib/gracefulExit.ts +47 -0
- package/src/lib/history.ts +82 -0
- package/src/lib/inputMetrics.ts +203 -0
- package/src/lib/liveProgress.test.ts +116 -0
- package/src/lib/liveProgress.ts +79 -0
- package/src/lib/mathUnicode.ts +770 -0
- package/src/lib/memory.test.ts +155 -0
- package/src/lib/memory.ts +188 -0
- package/src/lib/memoryMonitor.ts +109 -0
- package/src/lib/messages.test.ts +29 -0
- package/src/lib/messages.ts +8 -0
- package/src/lib/openExternalUrl.test.ts +217 -0
- package/src/lib/openExternalUrl.ts +158 -0
- package/src/lib/osc52.ts +73 -0
- package/src/lib/parentLog.ts +57 -0
- package/src/lib/perfPane.tsx +107 -0
- package/src/lib/platform.ts +409 -0
- package/src/lib/precisionWheel.ts +48 -0
- package/src/lib/prompt.ts +35 -0
- package/src/lib/reasoning.ts +55 -0
- package/src/lib/rpc.ts +41 -0
- package/src/lib/subagentTree.ts +355 -0
- package/src/lib/syntax.ts +117 -0
- package/src/lib/terminalModes.ts +51 -0
- package/src/lib/terminalParity.ts +78 -0
- package/src/lib/terminalSetup.ts +444 -0
- package/src/lib/termux.ts +29 -0
- package/src/lib/text.test.ts +18 -0
- package/src/lib/text.ts +339 -0
- package/src/lib/todo.test.ts +21 -0
- package/src/lib/todo.ts +9 -0
- package/src/lib/viewportStore.ts +124 -0
- package/src/lib/virtualHeights.ts +145 -0
- package/src/lib/wheelAccel.ts +190 -0
- package/src/protocol/interpolation.ts +3 -0
- package/src/protocol/paste.ts +1 -0
- package/src/theme.ts +589 -0
- package/src/types/nastech-ink.d.ts +176 -0
- package/src/types.ts +212 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +19 -0
- package/vitest.config.ts +7 -0
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type * as React from 'react'
|
|
2
|
+
|
|
3
|
+
declare module '@nastechai/ink' {
|
|
4
|
+
export type Key = {
|
|
5
|
+
readonly ctrl: boolean
|
|
6
|
+
readonly meta: boolean
|
|
7
|
+
readonly super: boolean
|
|
8
|
+
readonly shift: boolean
|
|
9
|
+
readonly alt: boolean
|
|
10
|
+
readonly upArrow: boolean
|
|
11
|
+
readonly downArrow: boolean
|
|
12
|
+
readonly leftArrow: boolean
|
|
13
|
+
readonly rightArrow: boolean
|
|
14
|
+
readonly return: boolean
|
|
15
|
+
readonly backspace: boolean
|
|
16
|
+
readonly delete: boolean
|
|
17
|
+
readonly escape: boolean
|
|
18
|
+
readonly tab: boolean
|
|
19
|
+
readonly pageUp: boolean
|
|
20
|
+
readonly pageDown: boolean
|
|
21
|
+
readonly wheelUp: boolean
|
|
22
|
+
readonly wheelDown: boolean
|
|
23
|
+
readonly home: boolean
|
|
24
|
+
readonly end: boolean
|
|
25
|
+
readonly [key: string]: boolean
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type InputEvent = {
|
|
29
|
+
readonly input: string
|
|
30
|
+
readonly key: Key
|
|
31
|
+
readonly keypress: { readonly isPasted?: boolean; readonly raw?: string }
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export type InputHandler = (input: string, key: Key, event: InputEvent) => void
|
|
35
|
+
|
|
36
|
+
export type FrameEvent = {
|
|
37
|
+
readonly durationMs: number
|
|
38
|
+
readonly phases?: {
|
|
39
|
+
readonly renderer: number
|
|
40
|
+
readonly diff: number
|
|
41
|
+
readonly optimize: number
|
|
42
|
+
readonly write: number
|
|
43
|
+
readonly patches: number
|
|
44
|
+
readonly optimizedPatches: number
|
|
45
|
+
readonly writeBytes: number
|
|
46
|
+
readonly backpressure: boolean
|
|
47
|
+
readonly prevFrameDrainMs: number
|
|
48
|
+
readonly yoga: number
|
|
49
|
+
readonly commit: number
|
|
50
|
+
readonly yogaVisited: number
|
|
51
|
+
readonly yogaMeasured: number
|
|
52
|
+
readonly yogaCacheHits: number
|
|
53
|
+
readonly yogaLive: number
|
|
54
|
+
}
|
|
55
|
+
readonly flickers: ReadonlyArray<{
|
|
56
|
+
readonly desiredHeight: number
|
|
57
|
+
readonly availableHeight: number
|
|
58
|
+
readonly reason: 'resize' | 'offscreen' | 'clear'
|
|
59
|
+
}>
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type RenderOptions = {
|
|
63
|
+
readonly stdin?: NodeJS.ReadStream
|
|
64
|
+
readonly stdout?: NodeJS.WriteStream
|
|
65
|
+
readonly stderr?: NodeJS.WriteStream
|
|
66
|
+
readonly exitOnCtrlC?: boolean
|
|
67
|
+
readonly patchConsole?: boolean
|
|
68
|
+
readonly onFrame?: (event: FrameEvent) => void
|
|
69
|
+
readonly onHyperlinkClick?: (url: string) => void
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export type Instance = {
|
|
73
|
+
readonly rerender: (node: React.ReactNode) => void
|
|
74
|
+
readonly unmount: () => void
|
|
75
|
+
readonly waitUntilExit: () => Promise<void>
|
|
76
|
+
readonly cleanup: () => void
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export type ScrollBoxHandle = {
|
|
80
|
+
readonly scrollTo: (y: number) => void
|
|
81
|
+
readonly scrollBy: (dy: number) => void
|
|
82
|
+
readonly scrollToElement: (el: unknown, offset?: number) => void
|
|
83
|
+
readonly scrollToBottom: () => void
|
|
84
|
+
readonly getScrollTop: () => number
|
|
85
|
+
readonly getPendingDelta: () => number
|
|
86
|
+
readonly getScrollHeight: () => number
|
|
87
|
+
readonly getFreshScrollHeight: () => number
|
|
88
|
+
readonly getViewportHeight: () => number
|
|
89
|
+
readonly getViewportTop: () => number
|
|
90
|
+
readonly getLastManualScrollAt: () => number
|
|
91
|
+
readonly isSticky: () => boolean
|
|
92
|
+
readonly subscribe: (listener: () => void) => () => void
|
|
93
|
+
readonly setClampBounds: (min: number | undefined, max: number | undefined) => void
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export const Box: React.ComponentType<any>
|
|
97
|
+
export const AlternateScreen: React.ComponentType<any>
|
|
98
|
+
export const Ansi: React.ComponentType<any>
|
|
99
|
+
export const Link: React.ComponentType<{
|
|
100
|
+
readonly children?: React.ReactNode
|
|
101
|
+
readonly fallback?: React.ReactNode
|
|
102
|
+
readonly url: string
|
|
103
|
+
}>
|
|
104
|
+
export const NoSelect: React.ComponentType<any>
|
|
105
|
+
export const ScrollBox: React.ComponentType<any>
|
|
106
|
+
export const Text: React.ComponentType<any>
|
|
107
|
+
export const TextInput: React.ComponentType<any>
|
|
108
|
+
export const stringWidth: (s: string) => number
|
|
109
|
+
export function isXtermJs(): boolean
|
|
110
|
+
|
|
111
|
+
export type ScrollFastPathStats = {
|
|
112
|
+
captured: number
|
|
113
|
+
taken: number
|
|
114
|
+
declined: {
|
|
115
|
+
noPrevScreen: number
|
|
116
|
+
heightDeltaMismatch: number
|
|
117
|
+
other: number
|
|
118
|
+
}
|
|
119
|
+
lastDeclineReason?: string
|
|
120
|
+
lastHeightDelta?: number
|
|
121
|
+
lastHintDelta?: number
|
|
122
|
+
lastScrollHeight?: number
|
|
123
|
+
lastPrevHeight?: number
|
|
124
|
+
}
|
|
125
|
+
export const scrollFastPathStats: ScrollFastPathStats
|
|
126
|
+
|
|
127
|
+
export type EvictLevel = 'all' | 'half'
|
|
128
|
+
export type InkCacheSizes = {
|
|
129
|
+
readonly lineWidth: number
|
|
130
|
+
readonly slice: number
|
|
131
|
+
readonly width: number
|
|
132
|
+
readonly wrap: number
|
|
133
|
+
}
|
|
134
|
+
export function evictInkCaches(level?: EvictLevel): InkCacheSizes
|
|
135
|
+
|
|
136
|
+
export function forceRedraw(stdout?: NodeJS.WriteStream): boolean
|
|
137
|
+
export function render(node: React.ReactNode, options?: NodeJS.WriteStream | RenderOptions): Instance
|
|
138
|
+
|
|
139
|
+
export function useApp(): { readonly exit: (error?: Error) => void }
|
|
140
|
+
export type RunExternalProcess = () => Promise<void>
|
|
141
|
+
export function useExternalProcess(): (run: RunExternalProcess) => Promise<void>
|
|
142
|
+
export function withInkSuspended(run: RunExternalProcess): Promise<void>
|
|
143
|
+
export function useInput(handler: InputHandler, options?: { readonly isActive?: boolean }): void
|
|
144
|
+
export function useSelection(): {
|
|
145
|
+
readonly copySelection: () => Promise<string>
|
|
146
|
+
readonly copySelectionNoClear: () => Promise<string>
|
|
147
|
+
readonly clearSelection: () => void
|
|
148
|
+
readonly hasSelection: () => boolean
|
|
149
|
+
readonly getState: () => unknown
|
|
150
|
+
readonly version: () => number
|
|
151
|
+
readonly subscribe: (cb: () => void) => () => void
|
|
152
|
+
readonly shiftAnchor: (dRow: number, minRow: number, maxRow: number) => void
|
|
153
|
+
readonly shiftSelection: (dRow: number, minRow: number, maxRow: number) => void
|
|
154
|
+
readonly moveFocus: (move: unknown) => void
|
|
155
|
+
readonly captureScrolledRows: (firstRow: number, lastRow: number, side: 'above' | 'below') => void
|
|
156
|
+
readonly setSelectionBgColor: (color: string) => void
|
|
157
|
+
}
|
|
158
|
+
export function useHasSelection(): boolean
|
|
159
|
+
export function useStdout(): { readonly stdout?: NodeJS.WriteStream }
|
|
160
|
+
export function useTerminalFocus(): boolean
|
|
161
|
+
export function useTerminalTitle(title: string | null): void
|
|
162
|
+
export function useDeclaredCursor(args: {
|
|
163
|
+
readonly line: number
|
|
164
|
+
readonly column: number
|
|
165
|
+
readonly active: boolean
|
|
166
|
+
}): (el: unknown) => void
|
|
167
|
+
export function useCursorAdvance(): (dx: number, dy?: number) => void
|
|
168
|
+
export function useStdin(): {
|
|
169
|
+
readonly stdin: NodeJS.ReadStream
|
|
170
|
+
readonly setRawMode: (value: boolean) => void
|
|
171
|
+
readonly isRawModeSupported: boolean
|
|
172
|
+
readonly exitOnCtrlC: boolean
|
|
173
|
+
readonly inputEmitter: NodeJS.EventEmitter
|
|
174
|
+
readonly querier: unknown
|
|
175
|
+
}
|
|
176
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
export interface ActiveTool {
|
|
2
|
+
context?: string
|
|
3
|
+
id: string
|
|
4
|
+
name: string
|
|
5
|
+
verboseArgs?: string
|
|
6
|
+
startedAt?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface TodoItem {
|
|
10
|
+
content: string
|
|
11
|
+
id: string
|
|
12
|
+
status: 'cancelled' | 'completed' | 'in_progress' | 'pending'
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ActivityItem {
|
|
16
|
+
id: number
|
|
17
|
+
text: string
|
|
18
|
+
tone: 'error' | 'info' | 'warn'
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type SubagentStatus = 'completed' | 'error' | 'failed' | 'interrupted' | 'queued' | 'running' | 'timeout'
|
|
22
|
+
|
|
23
|
+
export interface SubagentProgress {
|
|
24
|
+
apiCalls?: number
|
|
25
|
+
costUsd?: number
|
|
26
|
+
depth: number
|
|
27
|
+
durationSeconds?: number
|
|
28
|
+
filesRead?: string[]
|
|
29
|
+
filesWritten?: string[]
|
|
30
|
+
goal: string
|
|
31
|
+
id: string
|
|
32
|
+
index: number
|
|
33
|
+
inputTokens?: number
|
|
34
|
+
iteration?: number
|
|
35
|
+
model?: string
|
|
36
|
+
notes: string[]
|
|
37
|
+
outputTail?: SubagentOutputEntry[]
|
|
38
|
+
outputTokens?: number
|
|
39
|
+
parentId: null | string
|
|
40
|
+
reasoningTokens?: number
|
|
41
|
+
startedAt?: number
|
|
42
|
+
status: SubagentStatus
|
|
43
|
+
summary?: string
|
|
44
|
+
taskCount: number
|
|
45
|
+
thinking: string[]
|
|
46
|
+
toolCount: number
|
|
47
|
+
tools: string[]
|
|
48
|
+
toolsets?: string[]
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export interface SubagentOutputEntry {
|
|
52
|
+
isError: boolean
|
|
53
|
+
preview: string
|
|
54
|
+
tool: string
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface SubagentNode {
|
|
58
|
+
aggregate: SubagentAggregate
|
|
59
|
+
children: SubagentNode[]
|
|
60
|
+
item: SubagentProgress
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface SubagentAggregate {
|
|
64
|
+
activeCount: number
|
|
65
|
+
costUsd: number
|
|
66
|
+
descendantCount: number
|
|
67
|
+
filesTouched: number
|
|
68
|
+
hotness: number
|
|
69
|
+
inputTokens: number
|
|
70
|
+
maxDepthFromHere: number
|
|
71
|
+
outputTokens: number
|
|
72
|
+
totalDuration: number
|
|
73
|
+
totalTools: number
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface DelegationStatus {
|
|
77
|
+
active: {
|
|
78
|
+
depth?: number
|
|
79
|
+
goal?: string
|
|
80
|
+
model?: null | string
|
|
81
|
+
parent_id?: null | string
|
|
82
|
+
started_at?: number
|
|
83
|
+
status?: string
|
|
84
|
+
subagent_id?: string
|
|
85
|
+
tool_count?: number
|
|
86
|
+
}[]
|
|
87
|
+
max_concurrent_children?: number
|
|
88
|
+
max_spawn_depth?: number
|
|
89
|
+
paused: boolean
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export interface ApprovalReq {
|
|
93
|
+
command: string
|
|
94
|
+
description: string
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface ConfirmReq {
|
|
98
|
+
cancelLabel?: string
|
|
99
|
+
confirmLabel?: string
|
|
100
|
+
danger?: boolean
|
|
101
|
+
detail?: string
|
|
102
|
+
onConfirm: () => void
|
|
103
|
+
title: string
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface ClarifyReq {
|
|
107
|
+
choices: string[] | null
|
|
108
|
+
question: string
|
|
109
|
+
requestId: string
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export interface Msg {
|
|
113
|
+
info?: SessionInfo
|
|
114
|
+
kind?: 'diff' | 'intro' | 'panel' | 'slash' | 'trail'
|
|
115
|
+
panelData?: PanelData
|
|
116
|
+
role: Role
|
|
117
|
+
text: string
|
|
118
|
+
thinking?: string
|
|
119
|
+
thinkingTokens?: number
|
|
120
|
+
toolTokens?: number
|
|
121
|
+
tools?: string[]
|
|
122
|
+
todos?: TodoItem[]
|
|
123
|
+
todoIncomplete?: boolean
|
|
124
|
+
todoCollapsedByDefault?: boolean
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export type Role = 'assistant' | 'system' | 'tool' | 'user'
|
|
128
|
+
export type DetailsMode = 'hidden' | 'collapsed' | 'expanded'
|
|
129
|
+
export type ThinkingMode = 'collapsed' | 'truncated' | 'full'
|
|
130
|
+
|
|
131
|
+
// Per-section overrides for the agent details accordion. Resolution order
|
|
132
|
+
// at lookup time is: explicit `display.sections.<name>` → built-in
|
|
133
|
+
// SECTION_DEFAULTS → global `details_mode`. Today the built-in defaults
|
|
134
|
+
// expand `thinking`/`tools` and hide `activity`; `subagents` falls through
|
|
135
|
+
// to the global mode. Any explicit value still wins for that one section.
|
|
136
|
+
export type SectionName = 'thinking' | 'tools' | 'subagents' | 'activity'
|
|
137
|
+
export type SectionVisibility = Partial<Record<SectionName, DetailsMode>>
|
|
138
|
+
|
|
139
|
+
export interface McpServerStatus {
|
|
140
|
+
connected: boolean
|
|
141
|
+
name: string
|
|
142
|
+
tools: number
|
|
143
|
+
transport: string
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export interface SessionInfo {
|
|
147
|
+
cwd?: string
|
|
148
|
+
fast?: boolean
|
|
149
|
+
lazy?: boolean
|
|
150
|
+
mcp_servers?: McpServerStatus[]
|
|
151
|
+
model: string
|
|
152
|
+
profile_name?: string
|
|
153
|
+
reasoning_effort?: string
|
|
154
|
+
release_date?: string
|
|
155
|
+
service_tier?: string
|
|
156
|
+
skills: Record<string, string[]>
|
|
157
|
+
system_prompt?: string
|
|
158
|
+
tools: Record<string, string[]>
|
|
159
|
+
update_behind?: number | null
|
|
160
|
+
update_command?: string
|
|
161
|
+
usage?: Usage
|
|
162
|
+
version?: string
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface Usage {
|
|
166
|
+
calls: number
|
|
167
|
+
compressions?: number
|
|
168
|
+
context_max?: number
|
|
169
|
+
context_percent?: number
|
|
170
|
+
context_used?: number
|
|
171
|
+
cost_status?: string
|
|
172
|
+
cost_usd?: number
|
|
173
|
+
input: number
|
|
174
|
+
output: number
|
|
175
|
+
reasoning?: number
|
|
176
|
+
total: number
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface SudoReq {
|
|
180
|
+
requestId: string
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export interface SecretReq {
|
|
184
|
+
envVar: string
|
|
185
|
+
prompt: string
|
|
186
|
+
requestId: string
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export interface PanelData {
|
|
190
|
+
sections: PanelSection[]
|
|
191
|
+
title: string
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface PanelSection {
|
|
195
|
+
items?: string[]
|
|
196
|
+
rows?: [string, string][]
|
|
197
|
+
text?: string
|
|
198
|
+
title?: string
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export interface SlashCatalog {
|
|
202
|
+
canon: Record<string, string>
|
|
203
|
+
categories: SlashCategory[]
|
|
204
|
+
pairs: [string, string][]
|
|
205
|
+
skillCount: number
|
|
206
|
+
sub: Record<string, string[]>
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export interface SlashCategory {
|
|
210
|
+
name: string
|
|
211
|
+
pairs: [string, string][]
|
|
212
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "nodenext",
|
|
5
|
+
"moduleResolution": "nodenext",
|
|
6
|
+
"jsx": "react-jsx",
|
|
7
|
+
"outDir": "dist",
|
|
8
|
+
"rootDir": "src",
|
|
9
|
+
"strict": true,
|
|
10
|
+
"esModuleInterop": true,
|
|
11
|
+
"skipLibCheck": true,
|
|
12
|
+
"forceConsistentCasingInFileNames": true,
|
|
13
|
+
"declaration": false,
|
|
14
|
+
"sourceMap": false,
|
|
15
|
+
"resolveJsonModule": true
|
|
16
|
+
},
|
|
17
|
+
"include": ["src/**/*.d.ts", "src/**/*.ts", "src/**/*.tsx"],
|
|
18
|
+
"exclude": ["src/__tests__", "node_modules", "dist"]
|
|
19
|
+
}
|