├── .editorconfig ├── .eslintignore ├── .eslintrc.json ├── .gcloudignore ├── .github ├── dependabot.yml └── workflows │ ├── docker.yml │ └── unittest.yml ├── .gitignore ├── .prettierrc.js ├── .storybook ├── main.ts └── preview.ts ├── .style.yapf ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── app.yaml ├── demo_hamburger.gif ├── docker ├── Dockerfile └── README.md ├── lit-localize.json ├── macro.py ├── main.py ├── package.json ├── requirements-dev.txt ├── requirements.txt ├── spec └── support │ └── jasmine-browser.mjs ├── src ├── audio-manager.ts ├── config-storage.ts ├── constants.ts ├── diff-match-patch.d.ts ├── index.ts ├── input-history.ts ├── keyboards │ ├── pv-fifty-key-keyboard.ts │ ├── pv-qwerty-keyboard.ts │ └── pv-single-row-keyboard.ts ├── language.ts ├── macro-api-client.ts ├── pv-app-css.ts ├── pv-app.ts ├── pv-button.ts ├── pv-character-input.ts ├── pv-conversation-history.ts ├── pv-expand-keypad.ts ├── pv-functions-bar.ts ├── pv-scalable-textarea.ts ├── pv-sentence-type-selector.ts ├── pv-setting-panel.ts ├── pv-snackbar.ts ├── pv-suggestion-stripe.ts ├── pv-textarea-wrapper.ts ├── state.ts ├── stories │ ├── Configure.mdx │ ├── pv-button.stories.ts │ ├── pv-conversation-history.stories.ts │ ├── pv-expand-keypad.stories.ts │ ├── pv-fifty-key-keyboard.stories.ts │ ├── pv-qwerty-keyboard.stories.ts │ └── pv-single-row-keyboard.stories.ts └── tests │ ├── test_config-storage.ts │ ├── test_index.ts │ ├── test_input-history.ts │ ├── test_language.ts │ ├── test_macro-api-client.ts │ ├── test_pv-app.ts │ ├── test_pv-suggestion-stripe.ts │ └── test_state.ts ├── static ├── chime.wav ├── click2.wav ├── index.css └── tiny_segmenter-0.2.js ├── templates ├── base.jinja ├── index.jinja └── prompts │ ├── SentenceGeneric20250311.jinja2 │ ├── SentenceJapanese20240628.jinja2 │ ├── SentenceJapaneseLong20241002.jinja2 │ ├── SentenceJapaneseLong20250424.jinja2 │ ├── SentenceJapaneseLong20250603.jinja2 │ ├── SentenceMandarin20250616.jinja2 │ ├── WordGeneric20240628.jinja2 │ ├── WordJapanese20250623.jinja2 │ └── WordMandarin20250616.jinja2 ├── tests └── prompts │ ├── test_sentence_generic.py │ ├── test_sentence_japanese.py │ ├── test_sentence_japanese_long.py │ ├── test_word_generic.py │ └── test_word_japanese.py ├── third_party ├── material_design │ ├── LICENSE │ ├── chime.wav │ └── click2.wav └── tiny_segmenter │ ├── LICENCE.txt │ └── tiny_segmenter-0.2.js ├── tools ├── simple_simulator.py └── simple_simulator_ja.py ├── tsconfig.json └── xliff └── ja.xlf /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.eslintignore -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.eslintrc.json -------------------------------------------------------------------------------- /.gcloudignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.gcloudignore -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/docker.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.github/workflows/docker.yml -------------------------------------------------------------------------------- /.github/workflows/unittest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.github/workflows/unittest.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.prettierrc.js -------------------------------------------------------------------------------- /.storybook/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.storybook/main.ts -------------------------------------------------------------------------------- /.storybook/preview.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.storybook/preview.ts -------------------------------------------------------------------------------- /.style.yapf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/.style.yapf -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/README.md -------------------------------------------------------------------------------- /app.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/app.yaml -------------------------------------------------------------------------------- /demo_hamburger.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/demo_hamburger.gif -------------------------------------------------------------------------------- /docker/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/docker/Dockerfile -------------------------------------------------------------------------------- /docker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/docker/README.md -------------------------------------------------------------------------------- /lit-localize.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/lit-localize.json -------------------------------------------------------------------------------- /macro.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/macro.py -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/main.py -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/package.json -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- 1 | ipadic 2 | mecab-python3 3 | pytest 4 | retry 5 | tinysegmenter 6 | yapf 7 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/requirements.txt -------------------------------------------------------------------------------- /spec/support/jasmine-browser.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/spec/support/jasmine-browser.mjs -------------------------------------------------------------------------------- /src/audio-manager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/audio-manager.ts -------------------------------------------------------------------------------- /src/config-storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/config-storage.ts -------------------------------------------------------------------------------- /src/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/constants.ts -------------------------------------------------------------------------------- /src/diff-match-patch.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/diff-match-patch.d.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/input-history.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/input-history.ts -------------------------------------------------------------------------------- /src/keyboards/pv-fifty-key-keyboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/keyboards/pv-fifty-key-keyboard.ts -------------------------------------------------------------------------------- /src/keyboards/pv-qwerty-keyboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/keyboards/pv-qwerty-keyboard.ts -------------------------------------------------------------------------------- /src/keyboards/pv-single-row-keyboard.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/keyboards/pv-single-row-keyboard.ts -------------------------------------------------------------------------------- /src/language.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/language.ts -------------------------------------------------------------------------------- /src/macro-api-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/macro-api-client.ts -------------------------------------------------------------------------------- /src/pv-app-css.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-app-css.ts -------------------------------------------------------------------------------- /src/pv-app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-app.ts -------------------------------------------------------------------------------- /src/pv-button.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-button.ts -------------------------------------------------------------------------------- /src/pv-character-input.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-character-input.ts -------------------------------------------------------------------------------- /src/pv-conversation-history.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-conversation-history.ts -------------------------------------------------------------------------------- /src/pv-expand-keypad.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-expand-keypad.ts -------------------------------------------------------------------------------- /src/pv-functions-bar.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-functions-bar.ts -------------------------------------------------------------------------------- /src/pv-scalable-textarea.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-scalable-textarea.ts -------------------------------------------------------------------------------- /src/pv-sentence-type-selector.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-sentence-type-selector.ts -------------------------------------------------------------------------------- /src/pv-setting-panel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-setting-panel.ts -------------------------------------------------------------------------------- /src/pv-snackbar.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-snackbar.ts -------------------------------------------------------------------------------- /src/pv-suggestion-stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-suggestion-stripe.ts -------------------------------------------------------------------------------- /src/pv-textarea-wrapper.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/pv-textarea-wrapper.ts -------------------------------------------------------------------------------- /src/state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/state.ts -------------------------------------------------------------------------------- /src/stories/Configure.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/Configure.mdx -------------------------------------------------------------------------------- /src/stories/pv-button.stories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/pv-button.stories.ts -------------------------------------------------------------------------------- /src/stories/pv-conversation-history.stories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/pv-conversation-history.stories.ts -------------------------------------------------------------------------------- /src/stories/pv-expand-keypad.stories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/pv-expand-keypad.stories.ts -------------------------------------------------------------------------------- /src/stories/pv-fifty-key-keyboard.stories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/pv-fifty-key-keyboard.stories.ts -------------------------------------------------------------------------------- /src/stories/pv-qwerty-keyboard.stories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/pv-qwerty-keyboard.stories.ts -------------------------------------------------------------------------------- /src/stories/pv-single-row-keyboard.stories.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/stories/pv-single-row-keyboard.stories.ts -------------------------------------------------------------------------------- /src/tests/test_config-storage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_config-storage.ts -------------------------------------------------------------------------------- /src/tests/test_index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_index.ts -------------------------------------------------------------------------------- /src/tests/test_input-history.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_input-history.ts -------------------------------------------------------------------------------- /src/tests/test_language.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_language.ts -------------------------------------------------------------------------------- /src/tests/test_macro-api-client.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_macro-api-client.ts -------------------------------------------------------------------------------- /src/tests/test_pv-app.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_pv-app.ts -------------------------------------------------------------------------------- /src/tests/test_pv-suggestion-stripe.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_pv-suggestion-stripe.ts -------------------------------------------------------------------------------- /src/tests/test_state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/src/tests/test_state.ts -------------------------------------------------------------------------------- /static/chime.wav: -------------------------------------------------------------------------------- 1 | ../third_party/material_design/chime.wav -------------------------------------------------------------------------------- /static/click2.wav: -------------------------------------------------------------------------------- 1 | ../third_party/material_design/click2.wav -------------------------------------------------------------------------------- /static/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/static/index.css -------------------------------------------------------------------------------- /static/tiny_segmenter-0.2.js: -------------------------------------------------------------------------------- 1 | ../third_party/tiny_segmenter/tiny_segmenter-0.2.js -------------------------------------------------------------------------------- /templates/base.jinja: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/base.jinja -------------------------------------------------------------------------------- /templates/index.jinja: -------------------------------------------------------------------------------- 1 | {% extends "base.jinja" %} 2 | -------------------------------------------------------------------------------- /templates/prompts/SentenceGeneric20250311.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/SentenceGeneric20250311.jinja2 -------------------------------------------------------------------------------- /templates/prompts/SentenceJapanese20240628.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/SentenceJapanese20240628.jinja2 -------------------------------------------------------------------------------- /templates/prompts/SentenceJapaneseLong20241002.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/SentenceJapaneseLong20241002.jinja2 -------------------------------------------------------------------------------- /templates/prompts/SentenceJapaneseLong20250424.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/SentenceJapaneseLong20250424.jinja2 -------------------------------------------------------------------------------- /templates/prompts/SentenceJapaneseLong20250603.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/SentenceJapaneseLong20250603.jinja2 -------------------------------------------------------------------------------- /templates/prompts/SentenceMandarin20250616.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/SentenceMandarin20250616.jinja2 -------------------------------------------------------------------------------- /templates/prompts/WordGeneric20240628.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/WordGeneric20240628.jinja2 -------------------------------------------------------------------------------- /templates/prompts/WordJapanese20250623.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/WordJapanese20250623.jinja2 -------------------------------------------------------------------------------- /templates/prompts/WordMandarin20250616.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/templates/prompts/WordMandarin20250616.jinja2 -------------------------------------------------------------------------------- /tests/prompts/test_sentence_generic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tests/prompts/test_sentence_generic.py -------------------------------------------------------------------------------- /tests/prompts/test_sentence_japanese.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tests/prompts/test_sentence_japanese.py -------------------------------------------------------------------------------- /tests/prompts/test_sentence_japanese_long.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tests/prompts/test_sentence_japanese_long.py -------------------------------------------------------------------------------- /tests/prompts/test_word_generic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tests/prompts/test_word_generic.py -------------------------------------------------------------------------------- /tests/prompts/test_word_japanese.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tests/prompts/test_word_japanese.py -------------------------------------------------------------------------------- /third_party/material_design/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/third_party/material_design/LICENSE -------------------------------------------------------------------------------- /third_party/material_design/chime.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/third_party/material_design/chime.wav -------------------------------------------------------------------------------- /third_party/material_design/click2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/third_party/material_design/click2.wav -------------------------------------------------------------------------------- /third_party/tiny_segmenter/LICENCE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/third_party/tiny_segmenter/LICENCE.txt -------------------------------------------------------------------------------- /third_party/tiny_segmenter/tiny_segmenter-0.2.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/third_party/tiny_segmenter/tiny_segmenter-0.2.js -------------------------------------------------------------------------------- /tools/simple_simulator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tools/simple_simulator.py -------------------------------------------------------------------------------- /tools/simple_simulator_ja.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tools/simple_simulator_ja.py -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/tsconfig.json -------------------------------------------------------------------------------- /xliff/ja.xlf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/google/project-voice/HEAD/xliff/ja.xlf --------------------------------------------------------------------------------