wepscli 0.1.0

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 (130) hide show
  1. package/README.md +293 -0
  2. package/dist/WEPSCLI-shell/agent-runtime.js +824 -0
  3. package/dist/WEPSCLI-shell/agent-runtime.js.map +1 -0
  4. package/dist/WEPSCLI-shell/approval-overlay.js +275 -0
  5. package/dist/WEPSCLI-shell/approval-overlay.js.map +1 -0
  6. package/dist/WEPSCLI-shell/chat-components.js +760 -0
  7. package/dist/WEPSCLI-shell/chat-components.js.map +1 -0
  8. package/dist/WEPSCLI-shell/components.js +850 -0
  9. package/dist/WEPSCLI-shell/components.js.map +1 -0
  10. package/dist/WEPSCLI-shell/config-overlays.js +205 -0
  11. package/dist/WEPSCLI-shell/config-overlays.js.map +1 -0
  12. package/dist/WEPSCLI-shell/debug-log.js +16 -0
  13. package/dist/WEPSCLI-shell/debug-log.js.map +1 -0
  14. package/dist/WEPSCLI-shell/file-change-preview.js +261 -0
  15. package/dist/WEPSCLI-shell/file-change-preview.js.map +1 -0
  16. package/dist/WEPSCLI-shell/helpers.js +112 -0
  17. package/dist/WEPSCLI-shell/helpers.js.map +1 -0
  18. package/dist/WEPSCLI-shell/index.js +3 -0
  19. package/dist/WEPSCLI-shell/index.js.map +1 -0
  20. package/dist/WEPSCLI-shell/provider-add-flow.js +406 -0
  21. package/dist/WEPSCLI-shell/provider-add-flow.js.map +1 -0
  22. package/dist/WEPSCLI-shell/run-wepscli-shell.js +21 -0
  23. package/dist/WEPSCLI-shell/run-wepscli-shell.js.map +1 -0
  24. package/dist/WEPSCLI-shell/runtime-recovery.js +37 -0
  25. package/dist/WEPSCLI-shell/runtime-recovery.js.map +1 -0
  26. package/dist/WEPSCLI-shell/runtime-status.js +66 -0
  27. package/dist/WEPSCLI-shell/runtime-status.js.map +1 -0
  28. package/dist/WEPSCLI-shell/shell-app.js +1047 -0
  29. package/dist/WEPSCLI-shell/shell-app.js.map +1 -0
  30. package/dist/WEPSCLI-shell/shell-modes.js +77 -0
  31. package/dist/WEPSCLI-shell/shell-modes.js.map +1 -0
  32. package/dist/WEPSCLI-shell/slash-commands.js +135 -0
  33. package/dist/WEPSCLI-shell/slash-commands.js.map +1 -0
  34. package/dist/WEPSCLI-shell/theme.js +19 -0
  35. package/dist/WEPSCLI-shell/theme.js.map +1 -0
  36. package/dist/WEPSCLI-shell/tool-approval.js +85 -0
  37. package/dist/WEPSCLI-shell/tool-approval.js.map +1 -0
  38. package/dist/WEPSCLI-shell/tool-diff.js +76 -0
  39. package/dist/WEPSCLI-shell/tool-diff.js.map +1 -0
  40. package/dist/WEPSCLI-shell/tool-file-changes.js +268 -0
  41. package/dist/WEPSCLI-shell/tool-file-changes.js.map +1 -0
  42. package/dist/WEPSCLI-shell/tool-message-detail.js +138 -0
  43. package/dist/WEPSCLI-shell/tool-message-detail.js.map +1 -0
  44. package/dist/WEPSCLI-shell/tool-messages.js +145 -0
  45. package/dist/WEPSCLI-shell/tool-messages.js.map +1 -0
  46. package/dist/WEPSCLI-shell/transcript-panel.js +372 -0
  47. package/dist/WEPSCLI-shell/transcript-panel.js.map +1 -0
  48. package/dist/WEPSCLI-shell/transcript-state.js +62 -0
  49. package/dist/WEPSCLI-shell/transcript-state.js.map +1 -0
  50. package/dist/WEPSCLI-shell/types.js +1 -0
  51. package/dist/WEPSCLI-shell/types.js.map +1 -0
  52. package/dist/cli.js +11 -0
  53. package/dist/cli.js.map +1 -0
  54. package/dist/config.js +40 -0
  55. package/dist/config.js.map +1 -0
  56. package/dist/index.js +4 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/main.js +140 -0
  59. package/dist/main.js.map +1 -0
  60. package/dist/onboarding/action-screen.js +90 -0
  61. package/dist/onboarding/action-screen.js.map +1 -0
  62. package/dist/onboarding/framed-screen.js +35 -0
  63. package/dist/onboarding/framed-screen.js.map +1 -0
  64. package/dist/onboarding/onboarding-app.js +312 -0
  65. package/dist/onboarding/onboarding-app.js.map +1 -0
  66. package/dist/onboarding/run-onboarding.js +23 -0
  67. package/dist/onboarding/run-onboarding.js.map +1 -0
  68. package/dist/onboarding/select-screen.js +21 -0
  69. package/dist/onboarding/select-screen.js.map +1 -0
  70. package/dist/onboarding/summary-screen.js +23 -0
  71. package/dist/onboarding/summary-screen.js.map +1 -0
  72. package/dist/onboarding/text-input-screen.js +55 -0
  73. package/dist/onboarding/text-input-screen.js.map +1 -0
  74. package/dist/onboarding/theme.js +26 -0
  75. package/dist/onboarding/theme.js.map +1 -0
  76. package/dist/provider-profiles/api-key-store.js +51 -0
  77. package/dist/provider-profiles/api-key-store.js.map +1 -0
  78. package/dist/provider-profiles/defaults.js +18 -0
  79. package/dist/provider-profiles/defaults.js.map +1 -0
  80. package/dist/provider-profiles/fetch-models.js +53 -0
  81. package/dist/provider-profiles/fetch-models.js.map +1 -0
  82. package/dist/provider-profiles/index.js +6 -0
  83. package/dist/provider-profiles/index.js.map +1 -0
  84. package/dist/provider-profiles/provider-profile-service.js +223 -0
  85. package/dist/provider-profiles/provider-profile-service.js.map +1 -0
  86. package/dist/provider-profiles/providers-config-store.js +17 -0
  87. package/dist/provider-profiles/providers-config-store.js.map +1 -0
  88. package/dist/provider-profiles/types.js +1 -0
  89. package/dist/provider-profiles/types.js.map +1 -0
  90. package/dist/session-history/session-history-service.js +142 -0
  91. package/dist/session-history/session-history-service.js.map +1 -0
  92. package/dist/shell/animator.js +30 -0
  93. package/dist/shell/animator.js.map +1 -0
  94. package/dist/shell/clickables.js +101 -0
  95. package/dist/shell/clickables.js.map +1 -0
  96. package/dist/shell/dashboard-shell.js +292 -0
  97. package/dist/shell/dashboard-shell.js.map +1 -0
  98. package/dist/shell/index.js +5 -0
  99. package/dist/shell/index.js.map +1 -0
  100. package/dist/shell/keymap.js +14 -0
  101. package/dist/shell/keymap.js.map +1 -0
  102. package/dist/shell/mouse.js +39 -0
  103. package/dist/shell/mouse.js.map +1 -0
  104. package/dist/shell/render.js +122 -0
  105. package/dist/shell/render.js.map +1 -0
  106. package/dist/shell/run-shell.js +36 -0
  107. package/dist/shell/run-shell.js.map +1 -0
  108. package/dist/shell/theme.js +56 -0
  109. package/dist/shell/theme.js.map +1 -0
  110. package/dist/storage/locked-json-file.js +88 -0
  111. package/dist/storage/locked-json-file.js.map +1 -0
  112. package/dist/workbench/animator.js +30 -0
  113. package/dist/workbench/animator.js.map +1 -0
  114. package/dist/workbench/index.js +6 -0
  115. package/dist/workbench/index.js.map +1 -0
  116. package/dist/workbench/mouse.js +39 -0
  117. package/dist/workbench/mouse.js.map +1 -0
  118. package/dist/workbench/render.js +82 -0
  119. package/dist/workbench/render.js.map +1 -0
  120. package/dist/workbench/renderer.js +364 -0
  121. package/dist/workbench/renderer.js.map +1 -0
  122. package/dist/workbench/run-workbench.js +36 -0
  123. package/dist/workbench/run-workbench.js.map +1 -0
  124. package/dist/workbench/theme.js +63 -0
  125. package/dist/workbench/theme.js.map +1 -0
  126. package/dist/workbench/types.js +1 -0
  127. package/dist/workbench/types.js.map +1 -0
  128. package/dist/workbench/workbench-shell.js +649 -0
  129. package/dist/workbench/workbench-shell.js.map +1 -0
  130. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useKeyboard","For","Show","createEffect","createMemo","createSignal","getSlashCommands","wepscliShellTheme","theme","ChatTopBar","props","_el$","_$createElement","_el$2","_el$3","_el$4","_el$5","_el$6","_el$7","_$insertNode","_$setProp","_$insert","logo","truncateText","sessionTitle","statusLabel","_$createComponent","Chip","label","providerLabel","tone","onClick","onAction","modelLabel","_$effect","_p$","_v$","header","_v$2","accentStrong","_v$3","text","_v$4","muted","e","t","a","o","undefined","ChatTranscript","_el$8","_el$9","_el$0","_el$10","_el$11","_el$12","_$createTextNode","activeModelLabel","when","messages","length","fallback","_el$13","_el$14","_el$16","_el$17","emptyHint","_v$9","panelAlt","_v$0","border","_v$1","_v$10","_v$11","i","children","each","message","MessageBubble","_v$5","panel","_v$6","_v$7","accent","_v$8","ChatComposer","inputRef","draftValue","setDraftValue","value","slashIndex","setSlashIndex","slashOptions","visibleSlashOptions","slice","nextValue","trim","startsWith","evt","focused","name","preventDefault","current","command","onSelectSlashCommand","id","updateValue","onInput","submitCurrentValue","matchingCommands","onSubmit","_el$19","_el$20","_el$21","_el$22","_el$23","_el$24","_c$","_$memo","_el$25","option","index","_el$26","_el$27","_v$30","_v$31","background","_v$28","_v$29","_$use","ref","modeLabel","_v$12","_v$13","_v$14","_v$15","onFocus","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","modeBackgroundColor","modeTone","_v$25","_v$26","onModeClick","_v$27","modeForegroundColor","n","s","h","r","d","l","u","c","w","m","f","ChatSidebar","_el$28","_el$29","_el$31","_el$33","_el$35","MetaRow","sessionSummary","recentSessions","session","_el$37","_el$38","_el$39","_el$40","_el$41","onOpenSession","title","state","toUpperCase","summary","_v$38","_v$39","_v$40","_v$41","success","_v$42","MiniChip","_v$32","panelMuted","_v$33","_v$34","_v$35","_v$36","_v$37","OverlayPicker","_el$42","_el$43","_el$44","_el$45","_el$46","_el$48","description","options","_el$51","_$p","warning","_el$49","_el$50","_el$53","_el$54","_el$55","_el$56","onSelect","_c$2","badge","_el$57","selectedIndex","_v$49","_v$50","_v$51","_v$43","_v$44","_v$45","_v$46","_v$47","onClose","_v$48","role","_el$58","_el$59","_el$60","_el$61","_el$62","time","content","_v$52","_v$53","_v$54","_el$63","_el$64","_el$65","_v$55","_v$56","backgroundColor","foregroundColor","_el$66","_el$67","maxLength","Math","max","danger"],"sources":["chat-components.tsx"],"sourcesContent":["import { useKeyboard } from \"@opentui/solid\";\nimport { For, Show, createEffect, createMemo, createSignal } from \"solid-js\";\nimport { getSlashCommands } from \"./slash-commands.js\";\nimport type { ShellModeTone } from \"./shell-modes.js\";\nimport { wepscliShellTheme as theme } from \"./theme.js\";\nimport type { ToolMessageState } from \"./tool-messages.js\";\nimport type { OverlayOption } from \"./types.js\";\n\r\nexport type ComposerInputRef = {\r\n\tvalue?: string;\r\n\tplainText?: string;\r\n\tfocus(): void;\r\n\tblur(): void;\r\n\tsetText?(text: string): void;\r\n};\r\nexport type ChatMessageRole = \"system\" | \"user\" | \"assistant\";\r\nexport type ChatMessageKind = \"default\" | \"status\" | \"tool\" | \"reasoning\";\r\n\r\nexport interface ChatMessage {\r\n\tid: string;\r\n\trole: ChatMessageRole;\r\n\tcontent: string;\r\n\ttime: string;\r\n\tkind?: ChatMessageKind;\r\n\tcollapsible?: boolean;\r\n\texpanded?: boolean;\r\n\ttool?: ToolMessageState;\r\n}\r\n\r\nexport function ChatTopBar(props: {\r\n\tlogo: string;\r\n\tsessionTitle: string;\r\n\tproviderLabel: string;\r\n\tmodelLabel: string;\r\n\tstatusLabel: string;\r\n\tonAction: (id: string) => void;\r\n}) {\r\n\treturn (\r\n\t\t<box flexShrink={0} backgroundColor={theme.header} paddingLeft={2} paddingRight={2} paddingTop={1} paddingBottom={1} flexDirection=\"column\" gap={1}>\r\n\t\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t\t<box flexDirection=\"row\" gap={1} minWidth={0} flexGrow={1}>\r\n\t\t\t\t\t<text fg={theme.accentStrong}>{props.logo}</text>\r\n\t\t\t\t\t<text fg={theme.text}>{truncateText(props.sessionTitle, 40)}</text>\r\n\t\t\t\t</box>\r\n\t\t\t\t<text fg={theme.muted}>{truncateText(props.statusLabel, 40)}</text>\r\n\t\t\t</box>\r\n\t\t\t<box flexDirection=\"row\" gap={1}>\r\n\t\t\t\t<Chip label={`Provider ${truncateText(props.providerLabel, 14)}`} tone=\"accent\" onClick={() => props.onAction(\"overlay:provider\")} />\r\n\t\t\t\t<Chip label={`Model ${truncateText(props.modelLabel, 14)}`} tone=\"muted\" onClick={() => props.onAction(\"overlay:model\")} />\r\n\t\t\t\t<Chip label=\"New\" tone=\"accent\" onClick={() => props.onAction(\"session:new\")} />\r\n\t\t\t\t<Chip label=\"Sessions\" tone=\"muted\" onClick={() => props.onAction(\"overlay:session\")} />\r\n\t\t\t</box>\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nexport function ChatTranscript(props: { messages: ChatMessage[]; emptyHint: string; activeModelLabel: string }) {\r\n\treturn (\r\n\t\t<box flexGrow={1} minHeight={0} backgroundColor={theme.panel} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={theme.border} padding={1} flexDirection=\"column\" gap={1}>\r\n\t\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t\t<text fg={theme.accent}>Conversation</text>\r\n\t\t\t\t<text fg={theme.muted}>{truncateText(props.activeModelLabel, 32)}</text>\r\n\t\t\t</box>\r\n\t\t\t<scrollbox flexGrow={1} minHeight={0}>\r\n\t\t\t\t<box flexDirection=\"column\" gap={1}>\r\n\t\t\t\t\t<Show\r\n\t\t\t\t\t\twhen={props.messages.length > 0}\r\n\t\t\t\t\t\tfallback={\r\n\t\t\t\t\t\t\t<box backgroundColor={theme.panelAlt} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={theme.border} padding={1} flexDirection=\"column\" gap={1}>\r\n\t\t\t\t\t\t\t\t<text fg={theme.accentStrong}>Ready for a task</text>\r\n\t\t\t\t\t\t\t\t<text fg={theme.text} wrapMode=\"word\">{props.emptyHint}</text>\r\n\t\t\t\t\t\t\t\t<text fg={theme.muted} wrapMode=\"word\">Enter a prompt below, or type / for commands.</text>\r\n\t\t\t\t\t\t\t</box>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<For each={props.messages}>{(message) => <MessageBubble message={message} />}</For>\r\n\t\t\t\t\t</Show>\r\n\t\t\t\t</box>\r\n\t\t\t</scrollbox>\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nexport function ChatComposer(props: {\n\tfocused: boolean;\n\tvalue: string;\n\tproviderLabel: string;\n\tmodelLabel: string;\n\tmodeLabel: string;\n\tmodeTone: ShellModeTone;\n\tinputRef: (ref: ComposerInputRef) => void;\n\tonAction: (id: string) => void;\n\tonFocus: () => void;\n\tonInput: (value: string) => void;\n\tonModeClick: () => void;\n\tonSubmit: (value: string) => void;\n\tonSelectSlashCommand: (id: string) => void;\n}) {\n\tlet inputRef: ComposerInputRef | undefined;\r\n\tconst [draftValue, setDraftValue] = createSignal(props.value);\r\n\tconst [slashIndex, setSlashIndex] = createSignal(0);\r\n\tconst slashOptions = createMemo(() => getSlashCommands(draftValue()));\r\n\tconst visibleSlashOptions = createMemo(() => slashOptions().slice(0, 6));\r\n\r\n\tcreateEffect(() => {\r\n\t\tconst nextValue = props.value;\r\n\t\tsetDraftValue(nextValue);\r\n\t\tif (!nextValue.trim().startsWith(\"/\")) setSlashIndex(0);\r\n\t});\r\n\r\n\tuseKeyboard((evt) => {\r\n\t\tif (!props.focused || visibleSlashOptions().length === 0 || !draftValue().trim().startsWith(\"/\")) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (evt.name === \"up\") {\r\n\t\t\tevt.preventDefault();\r\n\t\t\tsetSlashIndex((current) => (current <= 0 ? visibleSlashOptions().length - 1 : current - 1));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (evt.name === \"down\") {\r\n\t\t\tevt.preventDefault();\r\n\t\t\tsetSlashIndex((current) => (current + 1) % visibleSlashOptions().length);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (evt.name === \"return\") {\r\n\t\t\tconst command = visibleSlashOptions()[slashIndex()] ?? visibleSlashOptions()[0];\r\n\t\t\tif (!command) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tevt.preventDefault();\r\n\t\t\tprops.onSelectSlashCommand(command.id);\r\n\t\t}\r\n\t});\r\n\r\n\tfunction updateValue(nextValue: string) {\r\n\t\tsetDraftValue(nextValue);\r\n\t\tif (!nextValue.trim().startsWith(\"/\")) setSlashIndex(0);\r\n\t\tprops.onInput(nextValue);\r\n\t}\r\n\r\n\tfunction submitCurrentValue(value: string) {\r\n\t\tconst matchingCommands = getSlashCommands(value).slice(0, 6);\r\n\t\tif (value.trim().startsWith(\"/\") && matchingCommands.length > 0) {\r\n\t\t\tconst command = matchingCommands[slashIndex()] ?? matchingCommands[0];\r\n\t\t\tif (command) {\r\n\t\t\t\tprops.onSelectSlashCommand(command.id);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\tprops.onSubmit(value);\r\n\t}\r\n\r\n\treturn (\n\t\t<box flexShrink={0} backgroundColor={theme.panelAlt} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={props.focused ? theme.accent : theme.border} paddingLeft={1} paddingRight={1} paddingTop={0} paddingBottom={0} flexDirection=\"column\" gap={0}>\n\t\t\t{visibleSlashOptions().length > 0 ? (\n\t\t\t\t<box backgroundColor={theme.panel} border={[\"bottom\"]} borderColor={theme.border} paddingLeft={1} paddingRight={1} paddingTop={0} paddingBottom={0} flexDirection=\"column\" gap={0}>\r\n\t\t\t\t\t<For each={visibleSlashOptions()}>\r\n\t\t\t\t\t\t{(option, index) => (\r\n\t\t\t\t\t\t\t<box backgroundColor={slashIndex() === index() ? theme.accent : theme.panelAlt} paddingLeft={1} paddingRight={1} flexDirection=\"row\" onMouseUp={() => props.onSelectSlashCommand(option.id)}>\r\n\t\t\t\t\t\t\t\t<text fg={slashIndex() === index() ? theme.background : theme.text}>{truncateText(option.label, 24)}</text>\r\n\t\t\t\t\t\t\t</box>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</For>\r\n\t\t\t\t</box>\n\t\t\t) : null}\n\t\t\t<box backgroundColor={theme.panelAlt} paddingLeft={0} paddingRight={0} paddingTop={0} paddingBottom={0} flexDirection=\"row\" gap={0} onMouseUp={props.onFocus}>\n\t\t\t\t<box flexGrow={1} minWidth={0}>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={(ref: ComposerInputRef) => {\n\t\t\t\t\t\t\tinputRef = ref;\n\t\t\t\t\t\t\tprops.inputRef(ref);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tfocused={props.focused}\n\t\t\t\t\t\tvalue={draftValue()}\n\t\t\t\t\t\tplaceholder=\"Type / or ask\"\n\t\t\t\t\t\tbackgroundColor={theme.panelAlt}\n\t\t\t\t\t\ttextColor={theme.text}\n\t\t\t\t\t\tfocusedBackgroundColor={theme.panelAlt}\n\t\t\t\t\t\tfocusedTextColor={theme.text}\n\t\t\t\t\t\tcursorColor={theme.accent}\n\t\t\t\t\t\tonMouseUp={props.onFocus}\n\t\t\t\t\t\tonInput={(value: string) => updateValue(value)}\n\t\t\t\t\t\tonSubmit={(value: string) => submitCurrentValue(value)}\n\t\t\t\t\t/>\n\t\t\t\t</box>\n\t\t\t\t<box\n\t\t\t\t\tflexShrink={0}\n\t\t\t\t\twidth={14}\n\t\t\t\t\tbackgroundColor={modeBackgroundColor(props.modeTone)}\n\t\t\t\t\tborder={[\"left\"]}\n\t\t\t\t\tborderColor={props.focused ? theme.accent : theme.border}\n\t\t\t\t\tpaddingLeft={1}\n\t\t\t\t\tpaddingRight={1}\n\t\t\t\t\talignItems=\"center\"\n\t\t\t\t\tjustifyContent=\"center\"\n\t\t\t\t\tonMouseUp={props.onModeClick}\n\t\t\t\t>\n\t\t\t\t\t<text fg={modeForegroundColor(props.modeTone)}>{truncateText(props.modeLabel, 12)}</text>\n\t\t\t\t</box>\n\t\t\t</box>\n\t\t</box>\n\t);\n}\n\r\nexport function ChatSidebar(props: {\r\n\tsessionTitle: string;\r\n\tsessionSummary: string;\r\n\tproviderLabel: string;\r\n\tmodelLabel: string;\r\n\trecentSessions: { id: string; title: string; summary: string; state: string }[];\r\n\tonOpenSession: (id: string) => void;\r\n\tonAction: (id: string) => void;\r\n}) {\r\n\treturn (\r\n\t\t<box width={34} backgroundColor={theme.panelMuted} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={theme.border} padding={1} flexDirection=\"column\" gap={1}>\r\n\t\t\t<text fg={theme.accent}>Context</text>\r\n\t\t\t<MetaRow label=\"Session\" value={truncateText(props.sessionTitle, 18)} />\r\n\t\t\t<MetaRow label=\"Summary\" value={truncateText(props.sessionSummary, 18)} />\r\n\t\t\t<MetaRow label=\"Provider\" value={truncateText(props.providerLabel, 18)} />\r\n\t\t\t<MetaRow label=\"Model\" value={truncateText(props.modelLabel, 18)} />\r\n\t\t\t<text fg={theme.accent}>Recent chats</text>\r\n\t\t\t<For each={props.recentSessions.slice(0, 4)}>\r\n\t\t\t\t{(session) => (\r\n\t\t\t\t\t<box backgroundColor={theme.panel} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={theme.border} padding={1} flexDirection=\"column\" gap={1} onMouseUp={() => props.onOpenSession(session.id)}>\r\n\t\t\t\t\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t\t\t\t\t<text fg={theme.text}>{truncateText(session.title, 20)}</text>\r\n\t\t\t\t\t\t\t<text fg={session.state === \"active\" ? theme.success : theme.muted}>{truncateText(session.state.toUpperCase(), 8)}</text>\r\n\t\t\t\t\t\t</box>\r\n\t\t\t\t\t\t<text fg={theme.muted} wrapMode=\"word\">{truncateText(session.summary, 28)}</text>\r\n\t\t\t\t\t</box>\r\n\t\t\t\t)}\r\n\t\t\t</For>\r\n\t\t\t<text fg={theme.accent}>Shortcuts</text>\r\n\t\t\t<text fg={theme.muted} wrapMode=\"word\">Tab focus | h home | p provider | m model | s sessions</text>\r\n\t\t\t<MiniChip label=\"Provider\" tone=\"accent\" onClick={() => props.onAction(\"overlay:provider\")} />\r\n\t\t\t<MiniChip label=\"Model\" tone=\"muted\" onClick={() => props.onAction(\"overlay:model\")} />\r\n\t\t\t<MiniChip label=\"New chat\" tone=\"accent\" onClick={() => props.onAction(\"session:new\")} />\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nexport function OverlayPicker(props: {\r\n\ttitle: string;\r\n\tdescription: string;\r\n\toptions: OverlayOption[];\r\n\tselectedIndex: number;\r\n\tonClose: () => void;\r\n\tonSelect: (id: string, index: number) => void;\r\n}) {\r\n\treturn (\r\n\t\t<box position=\"absolute\" width=\"100%\" height=\"100%\" alignItems=\"center\" justifyContent=\"center\">\r\n\t\t\t<box width=\"70%\" maxWidth={80} backgroundColor={theme.panelAlt} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={theme.accent} padding={1} flexDirection=\"column\" gap={1}>\r\n\t\t\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t\t\t<text fg={theme.accentStrong}>{truncateText(props.title, 32)}</text>\r\n\t\t\t\t\t<text fg={theme.muted} onMouseUp={props.onClose}>esc</text>\r\n\t\t\t\t</box>\r\n\t\t\t\t<text fg={theme.muted} wrapMode=\"word\">{truncateText(props.description, 96)}</text>\r\n\t\t\t\t<Show when={props.options.length > 0} fallback={<text fg={theme.warning}>No options are available yet.</text>}>\r\n\t\t\t\t\t<scrollbox maxHeight={12}>\r\n\t\t\t\t\t\t<box flexDirection=\"column\" gap={1}>\r\n\t\t\t\t\t\t\t<For each={props.options}>\r\n\t\t\t\t\t\t\t\t{(option, index) => (\r\n\t\t\t\t\t\t\t\t\t<box\r\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={props.selectedIndex === index() ? theme.accent : theme.panel}\r\n\t\t\t\t\t\t\t\t\t\tpaddingLeft={1}\r\n\t\t\t\t\t\t\t\t\t\tpaddingRight={1}\r\n\t\t\t\t\t\t\t\t\t\tpaddingTop={1}\r\n\t\t\t\t\t\t\t\t\t\tpaddingBottom={1}\r\n\t\t\t\t\t\t\t\t\t\tflexDirection=\"column\"\r\n\t\t\t\t\t\t\t\t\t\tonMouseUp={() => props.onSelect(option.id, index())}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t\t\t\t\t\t\t\t\t<text fg={props.selectedIndex === index() ? theme.background : theme.text}>{truncateText(option.label, 28)}</text>\r\n\t\t\t\t\t\t\t\t\t\t\t{option.badge ? <text fg={props.selectedIndex === index() ? theme.background : theme.success}>{truncateText(option.badge, 10)}</text> : null}\r\n\t\t\t\t\t\t\t\t\t\t</box>\r\n\t\t\t\t\t\t\t\t\t\t<text fg={props.selectedIndex === index() ? theme.background : theme.muted} wrapMode=\"word\">{option.description}</text>\r\n\t\t\t\t\t\t\t\t\t</box>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</For>\r\n\t\t\t\t\t\t</box>\r\n\t\t\t\t\t</scrollbox>\r\n\t\t\t\t</Show>\r\n\t\t\t</box>\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nfunction MessageBubble(props: { message: ChatMessage }) {\r\n\tconst tone = props.message.role === \"user\" ? theme.accent : props.message.role === \"assistant\" ? theme.success : theme.muted;\r\n\treturn (\r\n\t\t<box backgroundColor={theme.panelAlt} border={[\"top\", \"right\", \"bottom\", \"left\"]} borderColor={tone} padding={1} flexDirection=\"column\" gap={1}>\r\n\t\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t\t<text fg={tone}>{props.message.role.toUpperCase()}</text>\r\n\t\t\t\t<text fg={theme.muted}>{truncateText(props.message.time, 12)}</text>\r\n\t\t\t</box>\r\n\t\t\t<text fg={theme.text} wrapMode=\"word\">{props.message.content}</text>\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nfunction MetaRow(props: { label: string; value: string }) {\r\n\treturn (\r\n\t\t<box flexDirection=\"row\" justifyContent=\"space-between\" gap={1}>\r\n\t\t\t<text fg={theme.muted}>{props.label}</text>\r\n\t\t\t<text fg={theme.text}>{truncateText(props.value, 18)}</text>\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nfunction Chip(props: { label: string; tone: \"accent\" | \"muted\"; onClick: () => void }) {\r\n\tconst backgroundColor = props.tone === \"accent\" ? theme.accent : theme.panel;\r\n\tconst foregroundColor = props.tone === \"accent\" ? theme.background : theme.text;\r\n\treturn (\r\n\t\t<box backgroundColor={backgroundColor} paddingLeft={1} paddingRight={1} onMouseUp={props.onClick}>\r\n\t\t\t<text fg={foregroundColor}>{truncateText(props.label, 24)}</text>\r\n\t\t</box>\r\n\t);\r\n}\r\n\r\nfunction MiniChip(props: { label: string; tone: \"accent\" | \"muted\"; onClick: () => void }) {\r\n\treturn <Chip {...props} />;\r\n}\r\n\r\nfunction truncateText(value: string, maxLength: number): string {\n\treturn value.length <= maxLength ? value : `${value.slice(0, Math.max(0, maxLength - 3))}...`;\n}\n\nfunction modeBackgroundColor(tone: ShellModeTone): string {\n\tswitch (tone) {\n\t\tcase \"accent\":\n\t\t\treturn theme.accent;\n\t\tcase \"warning\":\n\t\t\treturn theme.warning;\n\t\tcase \"muted\":\n\t\t\treturn theme.panelMuted;\n\t\tcase \"danger\":\n\t\t\treturn theme.danger;\n\t}\n}\n\nfunction modeForegroundColor(tone: ShellModeTone): string {\n\tswitch (tone) {\n\t\tcase \"accent\":\n\t\tcase \"warning\":\n\t\tcase \"danger\":\n\t\t\treturn theme.background;\n\t\tcase \"muted\":\n\t\t\treturn theme.text;\n\t}\n}\n"],"mappings":"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","ignoreList":[]}