qwerty-cli 0.0.1-alpha.13 → 0.0.1-alpha.15

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 (70) hide show
  1. package/README.md +5 -1
  2. package/dist/ConfigEditor-U6VNM4X5.js +2 -0
  3. package/dist/ConfigEditor-U6VNM4X5.js.map +1 -0
  4. package/dist/DictBrowser-EJ4N3W5P.js +2 -0
  5. package/dist/DictBrowser-EJ4N3W5P.js.map +1 -0
  6. package/dist/{HelpScreen-P4U5O4OP.js → HelpScreen-QNZRWVXA.js} +2 -2
  7. package/dist/PracticeScreen-S5BGC4VI.js +2 -0
  8. package/dist/PracticeScreen-S5BGC4VI.js.map +1 -0
  9. package/dist/{StatsViewer-3CUMIAV4.js → StatsViewer-RZ4NNMSI.js} +2 -2
  10. package/dist/{WordLookup-YIU6LP4H.js → WordLookup-KEC2G7EI.js} +2 -2
  11. package/dist/chunk-3TQFRACL.js +2 -0
  12. package/dist/chunk-3TQFRACL.js.map +1 -0
  13. package/dist/{chunk-2GTGXODM.js → chunk-4GNY4LY7.js} +2 -2
  14. package/dist/{chunk-NZ2B3PEW.js → chunk-6ROGUGNX.js} +2 -2
  15. package/dist/chunk-BIBS2Q3E.js +3 -0
  16. package/dist/chunk-BIBS2Q3E.js.map +1 -0
  17. package/dist/chunk-E6BBQALJ.js +4 -0
  18. package/dist/chunk-E6BBQALJ.js.map +1 -0
  19. package/dist/{chunk-UPA4JFCH.js → chunk-G3DQB7FI.js} +2 -2
  20. package/dist/{chunk-MPE25TTQ.js → chunk-HJIGZU3E.js} +2 -2
  21. package/dist/{chunk-TYZPR2XT.js → chunk-K6THKMFC.js} +2 -2
  22. package/dist/{chunk-6QICLHIY.js → chunk-NA5UNUVL.js} +2 -2
  23. package/dist/{chunk-IUFBN3RD.js → chunk-QG7ZTS2G.js} +2 -2
  24. package/dist/chunk-QLTHO2HH.js +2 -0
  25. package/dist/chunk-QLTHO2HH.js.map +1 -0
  26. package/dist/{chunk-TP77EGJ2.js → chunk-V3TAMY5K.js} +2 -2
  27. package/dist/cli.js +1 -1
  28. package/dist/{config.impl-IYJ4ZUPE.js → config.impl-G25YTIQY.js} +2 -2
  29. package/dist/{dict.impl-Y66SRRZL.js → dict.impl-7AE6RFW2.js} +2 -2
  30. package/dist/doctor.impl-KTNLVHGF.js +4 -0
  31. package/dist/doctor.impl-KTNLVHGF.js.map +1 -0
  32. package/dist/menu.impl-SRQ6MJY3.js +2 -0
  33. package/dist/{practice.impl-NJ3ZXJGV.js → practice.impl-KRFKX4AS.js} +2 -2
  34. package/dist/{stats.impl-IXVF3Q5Y.js → stats.impl-3I7BB7X3.js} +2 -2
  35. package/dist/{word.impl-C4AYZ3NC.js → word.impl-NOC72Y32.js} +2 -2
  36. package/package.json +1 -1
  37. package/dist/ConfigEditor-HAP5C2Y7.js +0 -2
  38. package/dist/ConfigEditor-HAP5C2Y7.js.map +0 -1
  39. package/dist/DictBrowser-7CIISVDN.js +0 -2
  40. package/dist/DictBrowser-7CIISVDN.js.map +0 -1
  41. package/dist/PracticeScreen-KHBUK6B6.js +0 -2
  42. package/dist/PracticeScreen-KHBUK6B6.js.map +0 -1
  43. package/dist/chunk-6KRVNT2S.js +0 -4
  44. package/dist/chunk-6KRVNT2S.js.map +0 -1
  45. package/dist/chunk-ELWVQGDK.js +0 -2
  46. package/dist/chunk-ELWVQGDK.js.map +0 -1
  47. package/dist/chunk-KBRGNL2D.js +0 -3
  48. package/dist/chunk-KBRGNL2D.js.map +0 -1
  49. package/dist/chunk-R6HQWKXU.js +0 -2
  50. package/dist/chunk-R6HQWKXU.js.map +0 -1
  51. package/dist/doctor.impl-5UHLQ4SZ.js +0 -4
  52. package/dist/doctor.impl-5UHLQ4SZ.js.map +0 -1
  53. package/dist/menu.impl-CAUMTTSH.js +0 -2
  54. /package/dist/{HelpScreen-P4U5O4OP.js.map → HelpScreen-QNZRWVXA.js.map} +0 -0
  55. /package/dist/{StatsViewer-3CUMIAV4.js.map → StatsViewer-RZ4NNMSI.js.map} +0 -0
  56. /package/dist/{WordLookup-YIU6LP4H.js.map → WordLookup-KEC2G7EI.js.map} +0 -0
  57. /package/dist/{chunk-2GTGXODM.js.map → chunk-4GNY4LY7.js.map} +0 -0
  58. /package/dist/{chunk-NZ2B3PEW.js.map → chunk-6ROGUGNX.js.map} +0 -0
  59. /package/dist/{chunk-UPA4JFCH.js.map → chunk-G3DQB7FI.js.map} +0 -0
  60. /package/dist/{chunk-MPE25TTQ.js.map → chunk-HJIGZU3E.js.map} +0 -0
  61. /package/dist/{chunk-TYZPR2XT.js.map → chunk-K6THKMFC.js.map} +0 -0
  62. /package/dist/{chunk-6QICLHIY.js.map → chunk-NA5UNUVL.js.map} +0 -0
  63. /package/dist/{chunk-IUFBN3RD.js.map → chunk-QG7ZTS2G.js.map} +0 -0
  64. /package/dist/{chunk-TP77EGJ2.js.map → chunk-V3TAMY5K.js.map} +0 -0
  65. /package/dist/{config.impl-IYJ4ZUPE.js.map → config.impl-G25YTIQY.js.map} +0 -0
  66. /package/dist/{dict.impl-Y66SRRZL.js.map → dict.impl-7AE6RFW2.js.map} +0 -0
  67. /package/dist/{menu.impl-CAUMTTSH.js.map → menu.impl-SRQ6MJY3.js.map} +0 -0
  68. /package/dist/{practice.impl-NJ3ZXJGV.js.map → practice.impl-KRFKX4AS.js.map} +0 -0
  69. /package/dist/{stats.impl-IXVF3Q5Y.js.map → stats.impl-3I7BB7X3.js.map} +0 -0
  70. /package/dist/{word.impl-C4AYZ3NC.js.map → word.impl-NOC72Y32.js.map} +0 -0
@@ -1,4 +0,0 @@
1
- import{a as w,g as u,h as d,i as f}from"./chunk-KBRGNL2D.js";import{c as m}from"./chunk-6KRVNT2S.js";import{spawn as y}from"child_process";import{join as $}from"path";function p(e,o,s=5e3){return new Promise(r=>{let l=Date.now(),i=[],c=!1,a=(n,t)=>{c||(c=!0,r({cmd:e,args:o,exitCode:n,durationMs:Date.now()-l,stderr:Buffer.concat(i).toString("utf8").trim(),spawnError:t}))};try{let n=y(e,o,{stdio:["ignore","pipe","pipe"],windowsHide:!0});n.on("error",t=>a(null,t.message)),n.stdout?.resume(),n.stderr?.on("data",t=>i.push(t)),n.on("exit",t=>a(t)),setTimeout(()=>{try{n.kill()}catch{}a(null,`timeout after ${s}ms`)},s)}catch(n){a(null,n.message)}})}function g(e,o=""){let s=[];if(s.push(`${o}cmd: ${e.cmd} ${e.args.join(" ")}`),s.push(`${o}exit: ${e.exitCode??"null"} duration: ${e.durationMs}ms`),e.spawnError&&s.push(`${o}spawnError: ${e.spawnError}`),e.stderr){let r=e.stderr.length>500?e.stderr.slice(0,500)+"\u2026":e.stderr;s.push(`${o}stderr: ${r.replace(/\n/g,`
2
- `+o+" ")}`)}return s.join(`
3
- `)}async function S(){console.log("qwerty doctor \u2014 environment + audio diagnostics"),console.log(""),console.log("Runtime"),console.log(` platform : ${process.platform}`),console.log(` arch : ${process.arch}`),console.log(` node : ${process.version}`);let e=(process.env.PATH??"").slice(0,240);console.log(` PATH(240): ${e}${(process.env.PATH??"").length>240?"\u2026":""}`),console.log(""),console.log("Audio detection"),await w(!1);let o=f();if(console.log(` wav player : ${o.wav?`${o.wav.kind} (${o.wav.cmd})`:"none"}`),console.log(` mp3 player : ${o.mp3?`${o.mp3.kind} (${o.mp3.cmd})`:"none"}`),console.log(` disabled : ${d()}`),console.log(` warning : ${u()??"(none)"}`),console.log(""),process.platform==="win32"){console.log("Windows PowerShell type resolution");let s="Try { [System.Media.SoundPlayer] | Out-Null; 'ok' } Catch { Write-Error $_.Exception.Message; 'fail' }",r=await p("powershell",["-NoProfile","-Command",s]),l=await p("pwsh",["-NoProfile","-Command",s]);console.log(" powershell.exe (5.1):"),console.log(g(r," ")),console.log(" pwsh (7+):"),console.log(g(l," ")),console.log("")}if(console.log("Built-in WAV playback test"),!o.wav)console.log(" no wav player available \u2014 skipping");else{let s=m(),r=["correct.wav","wrong.wav","key-default.wav"];for(let l of r){let i=$(s,"sounds",l),c=o.wav.cmd,a=h(o.wav.kind,i,"wav"),n=await p(c,a,4e3);console.log(` ${l}:`),console.log(g(n," "))}}console.log(""),u()||d()?console.log("Hint: sounds are disabled or degraded. See diagnosis above."):console.log("Audio appears healthy. If you still hear nothing, check OS volume / mute.")}function h(e,o,s){switch(e){case"afplay":return[o];case"ffplay":return["-nodisp","-autoexit","-loglevel","quiet",o];case"mpg123":return["-q",o];case"paplay":return[o];case"aplay":return["-q",o];case"powershell":case"pwsh":{let r=o.replace(/'/g,"''");return s==="wav"?["-NoProfile","-Command",`(New-Object System.Media.SoundPlayer '${r}').PlaySync();`]:["-NoProfile","-ExecutionPolicy","Bypass","-Command",`Add-Type -AssemblyName presentationCore; $p = New-Object System.Windows.Media.MediaPlayer; $p.Open([Uri]::new('${r}')); $p.Play(); Start-Sleep -Milliseconds 3000`]}default:return[o]}}export{S as runDoctor};
4
- //# sourceMappingURL=doctor.impl-5UHLQ4SZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/commands/doctor.impl.ts"],"sourcesContent":["import { spawn } from 'node:child_process';\nimport { join } from 'node:path';\nimport { initAudio, audioWarning, audioDisabled, audioPlayers } from '../infra/audio.js';\nimport { packageAssetsDir } from '../infra/paths.js';\n\ntype ProbeResult = {\n cmd: string;\n args: string[];\n exitCode: number | null;\n durationMs: number;\n stderr: string;\n spawnError?: string;\n};\n\nfunction probe(cmd: string, args: string[], timeoutMs = 5000): Promise<ProbeResult> {\n return new Promise((resolve) => {\n const t0 = Date.now();\n const stderrChunks: Buffer[] = [];\n let done = false;\n const finish = (exitCode: number | null, spawnError?: string) => {\n if (done) return;\n done = true;\n resolve({\n cmd,\n args,\n exitCode,\n durationMs: Date.now() - t0,\n stderr: Buffer.concat(stderrChunks).toString('utf8').trim(),\n spawnError,\n });\n };\n try {\n const child = spawn(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'], windowsHide: true });\n child.on('error', (err) => finish(null, err.message));\n child.stdout?.resume();\n child.stderr?.on('data', (b: Buffer) => stderrChunks.push(b));\n child.on('exit', (code) => finish(code));\n setTimeout(() => {\n try {\n child.kill();\n } catch {\n /* ignore */\n }\n finish(null, `timeout after ${timeoutMs}ms`);\n }, timeoutMs);\n } catch (err) {\n finish(null, (err as Error).message);\n }\n });\n}\n\nfunction fmtResult(r: ProbeResult, prefix = ''): string {\n const lines: string[] = [];\n lines.push(`${prefix}cmd: ${r.cmd} ${r.args.join(' ')}`);\n lines.push(`${prefix}exit: ${r.exitCode ?? 'null'} duration: ${r.durationMs}ms`);\n if (r.spawnError) lines.push(`${prefix}spawnError: ${r.spawnError}`);\n if (r.stderr) {\n const truncated = r.stderr.length > 500 ? r.stderr.slice(0, 500) + '…' : r.stderr;\n lines.push(`${prefix}stderr: ${truncated.replace(/\\n/g, '\\n' + prefix + ' ')}`);\n }\n return lines.join('\\n');\n}\n\nexport async function runDoctor(): Promise<void> {\n console.log('qwerty doctor — environment + audio diagnostics');\n console.log('');\n console.log('Runtime');\n console.log(` platform : ${process.platform}`);\n console.log(` arch : ${process.arch}`);\n console.log(` node : ${process.version}`);\n const PATH = (process.env.PATH ?? '').slice(0, 240);\n console.log(` PATH(240): ${PATH}${(process.env.PATH ?? '').length > 240 ? '…' : ''}`);\n console.log('');\n\n console.log('Audio detection');\n await initAudio(false);\n const players = audioPlayers();\n console.log(` wav player : ${players.wav ? `${players.wav.kind} (${players.wav.cmd})` : 'none'}`);\n console.log(` mp3 player : ${players.mp3 ? `${players.mp3.kind} (${players.mp3.cmd})` : 'none'}`);\n console.log(` disabled : ${audioDisabled()}`);\n console.log(` warning : ${audioWarning() ?? '(none)'}`);\n console.log('');\n\n if (process.platform === 'win32') {\n console.log('Windows PowerShell type resolution');\n const typeProbe = `Try { [System.Media.SoundPlayer] | Out-Null; 'ok' } Catch { Write-Error $_.Exception.Message; 'fail' }`;\n const psResult = await probe('powershell', ['-NoProfile', '-Command', typeProbe]);\n const pwshResult = await probe('pwsh', ['-NoProfile', '-Command', typeProbe]);\n console.log(' powershell.exe (5.1):');\n console.log(fmtResult(psResult, ' '));\n console.log(' pwsh (7+):');\n console.log(fmtResult(pwshResult, ' '));\n console.log('');\n }\n\n console.log('Built-in WAV playback test');\n if (!players.wav) {\n console.log(' no wav player available — skipping');\n } else {\n const assetsDir = packageAssetsDir();\n const samples = ['correct.wav', 'wrong.wav', 'key-default.wav'];\n for (const name of samples) {\n const file = join(assetsDir, 'sounds', name);\n const wavCmd = players.wav.cmd;\n const wavArgs = buildArgsFor(players.wav.kind, file, 'wav');\n const r = await probe(wavCmd, wavArgs, 4000);\n console.log(` ${name}:`);\n console.log(fmtResult(r, ' '));\n }\n }\n console.log('');\n\n if (audioWarning() || audioDisabled()) {\n console.log('Hint: sounds are disabled or degraded. See diagnosis above.');\n } else {\n console.log('Audio appears healthy. If you still hear nothing, check OS volume / mute.');\n }\n}\n\n// Replicates the args builders from audio.ts at the doctor layer so we can\n// invoke a player without going through the runtime. Mirrors CANDIDATES.\nfunction buildArgsFor(kind: string, file: string, fileKind: 'wav' | 'mp3'): string[] {\n switch (kind) {\n case 'afplay':\n return [file];\n case 'ffplay':\n return ['-nodisp', '-autoexit', '-loglevel', 'quiet', file];\n case 'mpg123':\n return ['-q', file];\n case 'paplay':\n return [file];\n case 'aplay':\n return ['-q', file];\n case 'powershell':\n case 'pwsh': {\n const escaped = file.replace(/'/g, \"''\");\n if (fileKind === 'wav') {\n return [\n '-NoProfile',\n '-Command',\n `(New-Object System.Media.SoundPlayer '${escaped}').PlaySync();`,\n ];\n }\n return [\n '-NoProfile',\n '-ExecutionPolicy',\n 'Bypass',\n '-Command',\n `Add-Type -AssemblyName presentationCore; $p = New-Object System.Windows.Media.MediaPlayer; $p.Open([Uri]::new('${escaped}')); $p.Play(); Start-Sleep -Milliseconds 3000`,\n ];\n }\n default:\n return [file];\n }\n}\n"],"mappings":"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","names":["spawn","join","probe","cmd","args","timeoutMs","resolve","t0","stderrChunks","done","finish","exitCode","spawnError","child","spawn","err","b","code","fmtResult","r","prefix","lines","truncated","runDoctor","PATH","initAudio","players","audioPlayers","audioDisabled","audioWarning","typeProbe","psResult","pwshResult","assetsDir","packageAssetsDir","samples","name","file","join","wavCmd","wavArgs","buildArgsFor","kind","fileKind","escaped"]}
@@ -1,2 +0,0 @@
1
- import{a as o,b as s,c as p,d as c}from"./chunk-TYZPR2XT.js";import{d as n,g as a,i as m}from"./chunk-NZ2B3PEW.js";import"./chunk-KBRGNL2D.js";import"./chunk-2GTGXODM.js";import{a as i}from"./chunk-ELWVQGDK.js";import"./chunk-IUFBN3RD.js";import{e}from"./chunk-R6HQWKXU.js";import"./chunk-6QICLHIY.js";import"./chunk-6KRVNT2S.js";import{render as g}from"ink";import{createElement as h}from"react";async function y(){o();let r=await i();a();let{waitUntilExit:f}=g(h(s,{initial:{name:"main"},initialCfg:r}),{patchConsole:!1,exitOnCtrlC:!1});await f(),p();let t=n();if(t?.type==="stealth"){let{runPractice:u}=await import("./practice.impl-NJ3ZXJGV.js");await u(t.dictId,{chapter:t.chapterIndex+1,mode:t.mode,stealth:!0});return}let{lang:l,t:d}=e(r.language);c(m(),d,l)}export{y as runMainMenuImpl};
2
- //# sourceMappingURL=menu.impl-CAUMTTSH.js.map