@corti/dictation-web 0.7.0-ambient.9 → 0.7.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 (242) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +110 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/{bundle.js → dist/bundle.js} +4459 -4823
  5. package/{components → dist/components}/corti-dictation.d.ts +3 -3
  6. package/{components → dist/components}/corti-dictation.js +5 -4
  7. package/dist/components/corti-dictation.js.map +1 -0
  8. package/dist/components/dictation-device-selector.d.ts +8 -0
  9. package/dist/components/dictation-device-selector.js +15 -0
  10. package/dist/components/dictation-device-selector.js.map +1 -0
  11. package/dist/components/dictation-keybinding-selector.d.ts +8 -0
  12. package/dist/components/dictation-keybinding-selector.js +15 -0
  13. package/dist/components/dictation-keybinding-selector.js.map +1 -0
  14. package/dist/components/dictation-language-selector.d.ts +8 -0
  15. package/dist/components/dictation-language-selector.js +15 -0
  16. package/dist/components/dictation-language-selector.js.map +1 -0
  17. package/{components → dist/components}/dictation-recording-button.d.ts +2 -1
  18. package/{components → dist/components}/dictation-recording-button.js +9 -4
  19. package/dist/components/dictation-recording-button.js.map +1 -0
  20. package/dist/components/dictation-settings-menu.d.ts +15 -0
  21. package/dist/components/dictation-settings-menu.js +34 -0
  22. package/dist/components/dictation-settings-menu.js.map +1 -0
  23. package/dist/constants.d.ts +2 -0
  24. package/dist/constants.js +6 -0
  25. package/dist/constants.js.map +1 -0
  26. package/{contexts → dist/contexts}/dictation-context.d.ts +1 -1
  27. package/{contexts → dist/contexts}/dictation-context.js +4 -3
  28. package/dist/contexts/dictation-context.js.map +1 -0
  29. package/{controllers → dist/controllers}/dictation-controller.d.ts +4 -4
  30. package/{controllers → dist/controllers}/dictation-controller.js +1 -1
  31. package/dist/controllers/dictation-controller.js.map +1 -0
  32. package/dist/core/.tsbuildinfo +1 -0
  33. package/{components → dist/core/components}/corti-root.d.ts +1 -1
  34. package/dist/core/components/corti-root.js.map +1 -0
  35. package/dist/core/components/device-selector-base.d.ts +9 -0
  36. package/{components/device-selector.js → dist/core/components/device-selector-base.js} +11 -17
  37. package/dist/core/components/device-selector-base.js.map +1 -0
  38. package/dist/core/components/keybinding-selector-base.d.ts +10 -0
  39. package/{components/keybinding-selector.js → dist/core/components/keybinding-selector-base.js} +21 -21
  40. package/dist/core/components/keybinding-selector-base.js.map +1 -0
  41. package/dist/core/components/language-selector-base.d.ts +10 -0
  42. package/{components/language-selector.js → dist/core/components/language-selector-base.js} +11 -18
  43. package/dist/core/components/language-selector-base.js.map +1 -0
  44. package/{components → dist/core/components}/recording-button-base.d.ts +10 -7
  45. package/{components → dist/core/components}/recording-button-base.js +17 -15
  46. package/dist/core/components/recording-button-base.js.map +1 -0
  47. package/dist/core/components/settings-menu-base.d.ts +13 -0
  48. package/{components/settings-menu.js → dist/core/components/settings-menu-base.js} +14 -36
  49. package/dist/core/components/settings-menu-base.js.map +1 -0
  50. package/{components/audio-visualiser.d.ts → dist/core/components/speech-audio-visualiser.d.ts} +3 -4
  51. package/{components/audio-visualiser.js → dist/core/components/speech-audio-visualiser.js} +11 -12
  52. package/dist/core/components/speech-audio-visualiser.js.map +1 -0
  53. package/{components/keybinding-input.d.ts → dist/core/components/speech-keybinding-input.d.ts} +3 -4
  54. package/{components/keybinding-input.js → dist/core/components/speech-keybinding-input.js} +22 -22
  55. package/dist/core/components/speech-keybinding-input.js.map +1 -0
  56. package/{constants.d.ts → dist/core/constants.d.ts} +0 -2
  57. package/{constants.js → dist/core/constants.js} +0 -14
  58. package/dist/core/constants.js.map +1 -0
  59. package/dist/core/contexts/mixins/auth-context.js.map +1 -0
  60. package/dist/core/contexts/mixins/devices-context.js.map +1 -0
  61. package/{contexts → dist/core/contexts}/mixins/keybindings-context.js +3 -2
  62. package/dist/core/contexts/mixins/keybindings-context.js.map +1 -0
  63. package/dist/core/contexts/mixins/languages-context.js.map +1 -0
  64. package/dist/core/contexts/mixins/proxy-context.js.map +1 -0
  65. package/dist/core/contexts/mixins/recording-state-context.js.map +1 -0
  66. package/dist/core/contexts/mixins/types.js.map +1 -0
  67. package/{contexts → dist/core/contexts}/root-context.d.ts +1 -1
  68. package/dist/core/contexts/root-context.js.map +1 -0
  69. package/dist/core/controllers/devices-controller.js.map +1 -0
  70. package/dist/core/controllers/keybinding-controller.js.map +1 -0
  71. package/dist/core/controllers/languages-controller.js.map +1 -0
  72. package/dist/core/controllers/media-controller.js.map +1 -0
  73. package/dist/core/controllers/socket-controller.js.map +1 -0
  74. package/{icons → dist/core/icons}/icons.d.ts +6 -6
  75. package/{icons → dist/core/icons}/icons.js +7 -7
  76. package/dist/core/icons/icons.js.map +1 -0
  77. package/dist/core/icons/index.js.map +1 -0
  78. package/dist/core/socket-messages.d.ts +4 -0
  79. package/dist/core/socket-messages.js +2 -0
  80. package/dist/core/socket-messages.js.map +1 -0
  81. package/dist/core/styles/audio-visualiser.js.map +1 -0
  82. package/dist/core/styles/buttons.js.map +1 -0
  83. package/dist/core/styles/callout.js.map +1 -0
  84. package/dist/core/styles/component-styles.js.map +1 -0
  85. package/dist/core/styles/keybinding-selector.js.map +1 -0
  86. package/dist/core/styles/recording-button.js.map +1 -0
  87. package/dist/core/styles/select.js.map +1 -0
  88. package/dist/core/styles/settings-menu.js.map +1 -0
  89. package/{types.d.ts → dist/core/types.d.ts} +0 -3
  90. package/dist/core/types.js.map +1 -0
  91. package/dist/core/utils/auth.js.map +1 -0
  92. package/dist/core/utils/converters.js.map +1 -0
  93. package/dist/core/utils/custom-elements.d.ts +6 -0
  94. package/dist/core/utils/custom-elements.js +23 -0
  95. package/dist/core/utils/custom-elements.js.map +1 -0
  96. package/dist/core/utils/devices.js.map +1 -0
  97. package/dist/core/utils/events.js.map +1 -0
  98. package/dist/core/utils/keybinding.js.map +1 -0
  99. package/dist/core/utils/languages.js.map +1 -0
  100. package/dist/core/utils/media.js.map +1 -0
  101. package/dist/core/utils/token.js.map +1 -0
  102. package/dist/core/utils/validation.js.map +1 -0
  103. package/{index.d.ts → dist/index.d.ts} +6 -6
  104. package/dist/index.js +8 -0
  105. package/dist/index.js.map +1 -0
  106. package/package.json +19 -13
  107. package/.tsbuildinfo +0 -1
  108. package/components/ambient-recording-button.d.ts +0 -16
  109. package/components/ambient-recording-button.js +0 -68
  110. package/components/ambient-recording-button.js.map +0 -1
  111. package/components/ambient-virtual-mode-selector.d.ts +0 -14
  112. package/components/ambient-virtual-mode-selector.js +0 -69
  113. package/components/ambient-virtual-mode-selector.js.map +0 -1
  114. package/components/audio-visualiser.js.map +0 -1
  115. package/components/corti-ambient.d.ts +0 -35
  116. package/components/corti-ambient.js +0 -126
  117. package/components/corti-ambient.js.map +0 -1
  118. package/components/corti-dictation.js.map +0 -1
  119. package/components/corti-root.js.map +0 -1
  120. package/components/device-selector.d.ts +0 -15
  121. package/components/device-selector.js.map +0 -1
  122. package/components/dictation-recording-button.js.map +0 -1
  123. package/components/keybinding-input.js.map +0 -1
  124. package/components/keybinding-selector.d.ts +0 -15
  125. package/components/keybinding-selector.js.map +0 -1
  126. package/components/language-selector.d.ts +0 -16
  127. package/components/language-selector.js.map +0 -1
  128. package/components/recording-button-base.js.map +0 -1
  129. package/components/settings-menu.d.ts +0 -19
  130. package/components/settings-menu.js.map +0 -1
  131. package/constants.js.map +0 -1
  132. package/contexts/ambient-context.d.ts +0 -24
  133. package/contexts/ambient-context.js +0 -93
  134. package/contexts/ambient-context.js.map +0 -1
  135. package/contexts/dictation-context.js.map +0 -1
  136. package/contexts/mixins/auth-context.js.map +0 -1
  137. package/contexts/mixins/devices-context.js.map +0 -1
  138. package/contexts/mixins/keybindings-context.js.map +0 -1
  139. package/contexts/mixins/languages-context.js.map +0 -1
  140. package/contexts/mixins/proxy-context.js.map +0 -1
  141. package/contexts/mixins/recording-state-context.js.map +0 -1
  142. package/contexts/mixins/types.js.map +0 -1
  143. package/contexts/root-context.js.map +0 -1
  144. package/controllers/ambient-controller.d.ts +0 -16
  145. package/controllers/ambient-controller.js +0 -24
  146. package/controllers/ambient-controller.js.map +0 -1
  147. package/controllers/devices-controller.js.map +0 -1
  148. package/controllers/dictation-controller.js.map +0 -1
  149. package/controllers/keybinding-controller.js.map +0 -1
  150. package/controllers/languages-controller.js.map +0 -1
  151. package/controllers/media-controller.js.map +0 -1
  152. package/controllers/socket-controller.js.map +0 -1
  153. package/icons/icons.js.map +0 -1
  154. package/icons/index.js.map +0 -1
  155. package/index.js +0 -8
  156. package/index.js.map +0 -1
  157. package/styles/ambient-virtual-mode-selector.d.ts +0 -2
  158. package/styles/ambient-virtual-mode-selector.js +0 -101
  159. package/styles/ambient-virtual-mode-selector.js.map +0 -1
  160. package/styles/audio-visualiser.js.map +0 -1
  161. package/styles/buttons.js.map +0 -1
  162. package/styles/callout.js.map +0 -1
  163. package/styles/component-styles.js.map +0 -1
  164. package/styles/keybinding-selector.js.map +0 -1
  165. package/styles/recording-button.js.map +0 -1
  166. package/styles/select.js.map +0 -1
  167. package/styles/settings-menu.js.map +0 -1
  168. package/types.js.map +0 -1
  169. package/utils/auth.js.map +0 -1
  170. package/utils/converters.js.map +0 -1
  171. package/utils/custom-elements.d.ts +0 -6
  172. package/utils/custom-elements.js +0 -11
  173. package/utils/custom-elements.js.map +0 -1
  174. package/utils/devices.js.map +0 -1
  175. package/utils/events.js.map +0 -1
  176. package/utils/keybinding.js.map +0 -1
  177. package/utils/languages.js.map +0 -1
  178. package/utils/media.js.map +0 -1
  179. package/utils/token.js.map +0 -1
  180. package/utils/validation.js.map +0 -1
  181. /package/{components → dist/core/components}/corti-root.js +0 -0
  182. /package/{contexts → dist/core/contexts}/mixins/auth-context.d.ts +0 -0
  183. /package/{contexts → dist/core/contexts}/mixins/auth-context.js +0 -0
  184. /package/{contexts → dist/core/contexts}/mixins/devices-context.d.ts +0 -0
  185. /package/{contexts → dist/core/contexts}/mixins/devices-context.js +0 -0
  186. /package/{contexts → dist/core/contexts}/mixins/keybindings-context.d.ts +0 -0
  187. /package/{contexts → dist/core/contexts}/mixins/languages-context.d.ts +0 -0
  188. /package/{contexts → dist/core/contexts}/mixins/languages-context.js +0 -0
  189. /package/{contexts → dist/core/contexts}/mixins/proxy-context.d.ts +0 -0
  190. /package/{contexts → dist/core/contexts}/mixins/proxy-context.js +0 -0
  191. /package/{contexts → dist/core/contexts}/mixins/recording-state-context.d.ts +0 -0
  192. /package/{contexts → dist/core/contexts}/mixins/recording-state-context.js +0 -0
  193. /package/{contexts → dist/core/contexts}/mixins/types.d.ts +0 -0
  194. /package/{contexts → dist/core/contexts}/mixins/types.js +0 -0
  195. /package/{contexts → dist/core/contexts}/root-context.js +0 -0
  196. /package/{controllers → dist/core/controllers}/devices-controller.d.ts +0 -0
  197. /package/{controllers → dist/core/controllers}/devices-controller.js +0 -0
  198. /package/{controllers → dist/core/controllers}/keybinding-controller.d.ts +0 -0
  199. /package/{controllers → dist/core/controllers}/keybinding-controller.js +0 -0
  200. /package/{controllers → dist/core/controllers}/languages-controller.d.ts +0 -0
  201. /package/{controllers → dist/core/controllers}/languages-controller.js +0 -0
  202. /package/{controllers → dist/core/controllers}/media-controller.d.ts +0 -0
  203. /package/{controllers → dist/core/controllers}/media-controller.js +0 -0
  204. /package/{controllers → dist/core/controllers}/socket-controller.d.ts +0 -0
  205. /package/{controllers → dist/core/controllers}/socket-controller.js +0 -0
  206. /package/{icons → dist/core/icons}/index.d.ts +0 -0
  207. /package/{icons → dist/core/icons}/index.js +0 -0
  208. /package/{styles → dist/core/styles}/audio-visualiser.d.ts +0 -0
  209. /package/{styles → dist/core/styles}/audio-visualiser.js +0 -0
  210. /package/{styles → dist/core/styles}/buttons.d.ts +0 -0
  211. /package/{styles → dist/core/styles}/buttons.js +0 -0
  212. /package/{styles → dist/core/styles}/callout.d.ts +0 -0
  213. /package/{styles → dist/core/styles}/callout.js +0 -0
  214. /package/{styles → dist/core/styles}/component-styles.d.ts +0 -0
  215. /package/{styles → dist/core/styles}/component-styles.js +0 -0
  216. /package/{styles → dist/core/styles}/keybinding-selector.d.ts +0 -0
  217. /package/{styles → dist/core/styles}/keybinding-selector.js +0 -0
  218. /package/{styles → dist/core/styles}/recording-button.d.ts +0 -0
  219. /package/{styles → dist/core/styles}/recording-button.js +0 -0
  220. /package/{styles → dist/core/styles}/select.d.ts +0 -0
  221. /package/{styles → dist/core/styles}/select.js +0 -0
  222. /package/{styles → dist/core/styles}/settings-menu.d.ts +0 -0
  223. /package/{styles → dist/core/styles}/settings-menu.js +0 -0
  224. /package/{types.js → dist/core/types.js} +0 -0
  225. /package/{utils → dist/core/utils}/auth.d.ts +0 -0
  226. /package/{utils → dist/core/utils}/auth.js +0 -0
  227. /package/{utils → dist/core/utils}/converters.d.ts +0 -0
  228. /package/{utils → dist/core/utils}/converters.js +0 -0
  229. /package/{utils → dist/core/utils}/devices.d.ts +0 -0
  230. /package/{utils → dist/core/utils}/devices.js +0 -0
  231. /package/{utils → dist/core/utils}/events.d.ts +0 -0
  232. /package/{utils → dist/core/utils}/events.js +0 -0
  233. /package/{utils → dist/core/utils}/keybinding.d.ts +0 -0
  234. /package/{utils → dist/core/utils}/keybinding.js +0 -0
  235. /package/{utils → dist/core/utils}/languages.d.ts +0 -0
  236. /package/{utils → dist/core/utils}/languages.js +0 -0
  237. /package/{utils → dist/core/utils}/media.d.ts +0 -0
  238. /package/{utils → dist/core/utils}/media.js +0 -0
  239. /package/{utils → dist/core/utils}/token.d.ts +0 -0
  240. /package/{utils → dist/core/utils}/token.js +0 -0
  241. /package/{utils → dist/core/utils}/validation.d.ts +0 -0
  242. /package/{utils → dist/core/utils}/validation.js +0 -0
@@ -1,10 +1,10 @@
1
+ import { CortiRoot } from "../core/components/corti-root.js";
1
2
  import type { Corti, CortiAuth } from "@corti/sdk";
2
3
  import type { DictationRoot } from "../contexts/dictation-context.js";
3
- import { CortiRoot } from "./corti-root.js";
4
4
  import type { DictationRecordingButton } from "./dictation-recording-button.js";
5
5
  import "../contexts/dictation-context.js";
6
6
  import "./dictation-recording-button.js";
7
- import "./settings-menu.js";
7
+ import "./dictation-settings-menu.js";
8
8
  export declare class CortiDictation extends CortiRoot<DictationRoot, DictationRecordingButton> {
9
9
  /**
10
10
  * Overrides any device selection and instead uses getDisplayMedia to stream system audio.
@@ -41,7 +41,7 @@ export declare class CortiDictation extends CortiRoot<DictationRoot, DictationRe
41
41
  environment: undefined;
42
42
  tenant: undefined;
43
43
  }>;
44
- render(): import("lit-html").TemplateResult<1>;
44
+ render(): import("lit").TemplateResult<1>;
45
45
  }
46
46
  declare global {
47
47
  interface HTMLElementTagNameMap {
@@ -4,15 +4,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import { CortiRoot } from "@core/components/corti-root.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
7
9
  import { html, nothing } from "lit";
8
- import { customElement, property, state } from "lit/decorators.js";
10
+ import { property, state } from "lit/decorators.js";
9
11
  import { classMap } from "lit/directives/class-map.js";
10
12
  import { ref } from "lit/directives/ref.js";
11
13
  import { DEFAULT_DICTATION_CONFIG } from "../constants.js";
12
- import { CortiRoot } from "./corti-root.js";
13
14
  import "../contexts/dictation-context.js";
14
15
  import "./dictation-recording-button.js";
15
- import "./settings-menu.js";
16
+ import "./dictation-settings-menu.js";
16
17
  let CortiDictation = class CortiDictation extends CortiRoot {
17
18
  constructor() {
18
19
  // ─────────────────────────────────────────────────────────────────────────────
@@ -111,7 +112,7 @@ __decorate([
111
112
  state()
112
113
  ], CortiDictation.prototype, "_dictationConfig", void 0);
113
114
  CortiDictation = __decorate([
114
- customElement("corti-dictation")
115
+ safeCustomElement("corti-dictation")
115
116
  ], CortiDictation);
116
117
  export { CortiDictation };
117
118
  //# sourceMappingURL=corti-dictation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corti-dictation.js","sourceRoot":"","sources":["../../src/components/corti-dictation.ts"],"names":[],"mappings":"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","sourcesContent":["import { CortiRoot } from \"@core/components/corti-root.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\nimport type { Corti, CortiAuth } from \"@corti/sdk\";\nimport { html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ref } from \"lit/directives/ref.js\";\nimport { DEFAULT_DICTATION_CONFIG } from \"../constants.js\";\nimport type { DictationRoot } from \"../contexts/dictation-context.js\";\nimport type { DictationRecordingButton } from \"./dictation-recording-button.js\";\n\nimport \"../contexts/dictation-context.js\";\nimport \"./dictation-recording-button.js\";\nimport \"./dictation-settings-menu.js\";\n\n@safeCustomElement(\"corti-dictation\")\nexport class CortiDictation extends CortiRoot<\n DictationRoot,\n DictationRecordingButton\n> {\n // ─────────────────────────────────────────────────────────────────────────────\n // Properties\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Overrides any device selection and instead uses getDisplayMedia to stream system audio.\n * Should only be used for debugging.\n */\n @property({ attribute: \"debug-display-audio\", type: Boolean })\n debug_displayAudio: boolean = false;\n\n /**\n * Configuration settings for dictation\n */\n @property({ attribute: false, type: Object })\n set dictationConfig(value: Corti.TranscribeConfig) {\n this._dictationConfig = value;\n }\n\n get dictationConfig(): Corti.TranscribeConfig {\n return (\n this._contextProviderRef.value?.dictationConfig || this._dictationConfig\n );\n }\n\n @state()\n _dictationConfig: Corti.TranscribeConfig = DEFAULT_DICTATION_CONFIG;\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Public methods\n // ─────────────────────────────────────────────────────────────────────────────\n\n /**\n * Set the latest access token.\n * @returns ServerConfig with environment, tenant, and accessToken\n * @deprecated Use 'accessToken' property instead.\n */\n public setAccessToken(token: string) {\n this.accessToken = token;\n\n return (\n this._contextProviderRef.value?.setAccessToken(token) ?? {\n accessToken: token,\n environment: undefined,\n tenant: undefined,\n }\n );\n }\n\n /**\n * Set the auth configuration for OAuth flows.\n * @returns Promise with ServerConfig containing environment, tenant, and accessToken\n * @deprecated Use 'authConfig' property instead.\n */\n public async setAuthConfig(config: CortiAuth.AuthTokenDerivable) {\n this.authConfig = config;\n\n return (\n this._contextProviderRef.value?.setAuthConfig(config) ?? {\n accessToken: undefined,\n environment: undefined,\n tenant: undefined,\n }\n );\n }\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Render\n // ─────────────────────────────────────────────────────────────────────────────\n\n render() {\n const isHidden =\n !this.accessToken &&\n !this.authConfig &&\n !this.socketUrl &&\n !this.socketProxy;\n\n return html`\n <dictation-root\n ${ref(this._contextProviderRef)}\n class=${classMap({ hidden: isHidden })}\n .accessToken=${this.accessToken}\n .authConfig=${this.authConfig}\n .socketUrl=${this.socketUrl}\n .socketProxy=${this.socketProxy}\n .dictationConfig=${this._dictationConfig}\n .languages=${this._languagesSupported}\n .devices=${this._devices}\n .selectedDevice=${this._selectedDevice}\n .debug_displayAudio=${this.debug_displayAudio}\n .pushToTalkKeybinding=${this._pushToTalkKeybinding}\n .toggleToTalkKeybinding=${this._toggleToTalkKeybinding}\n >\n <dictation-recording-button\n ${ref(this._recordingButtonRef)}\n ?allowButtonFocus=${this.allowButtonFocus}\n ></dictation-recording-button>\n ${\n this.settingsEnabled?.length > 0\n ? html`<dictation-settings-menu\n .settingsEnabled=${this.settingsEnabled}\n ></dictation-settings-menu>`\n : nothing\n }\n </dictation-root>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"corti-dictation\": CortiDictation;\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { DeviceSelectorBase } from "../core/components/device-selector-base.js";
2
+ export declare class DictationDeviceSelector extends DeviceSelectorBase {
3
+ }
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ "dictation-device-selector": DictationDeviceSelector;
7
+ }
8
+ }
@@ -0,0 +1,15 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { DeviceSelectorBase } from "@core/components/device-selector-base.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
9
+ let DictationDeviceSelector = class DictationDeviceSelector extends DeviceSelectorBase {
10
+ };
11
+ DictationDeviceSelector = __decorate([
12
+ safeCustomElement("dictation-device-selector")
13
+ ], DictationDeviceSelector);
14
+ export { DictationDeviceSelector };
15
+ //# sourceMappingURL=dictation-device-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-device-selector.js","sourceRoot":"","sources":["../../src/components/dictation-device-selector.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG5D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,kBAAkB;CAAG,CAAA;AAArD,uBAAuB;IADnC,iBAAiB,CAAC,2BAA2B,CAAC;GAClC,uBAAuB,CAA8B","sourcesContent":["import { DeviceSelectorBase } from \"@core/components/device-selector-base.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\n\n@safeCustomElement(\"dictation-device-selector\")\nexport class DictationDeviceSelector extends DeviceSelectorBase {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-device-selector\": DictationDeviceSelector;\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { KeybindingSelectorBase } from "../core/components/keybinding-selector-base.js";
2
+ export declare class DictationKeybindingSelector extends KeybindingSelectorBase {
3
+ }
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ "dictation-keybinding-selector": DictationKeybindingSelector;
7
+ }
8
+ }
@@ -0,0 +1,15 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { KeybindingSelectorBase } from "@core/components/keybinding-selector-base.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
9
+ let DictationKeybindingSelector = class DictationKeybindingSelector extends KeybindingSelectorBase {
10
+ };
11
+ DictationKeybindingSelector = __decorate([
12
+ safeCustomElement("dictation-keybinding-selector")
13
+ ], DictationKeybindingSelector);
14
+ export { DictationKeybindingSelector };
15
+ //# sourceMappingURL=dictation-keybinding-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-keybinding-selector.js","sourceRoot":"","sources":["../../src/components/dictation-keybinding-selector.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG5D,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,sBAAsB;CAAG,CAAA;AAA7D,2BAA2B;IADvC,iBAAiB,CAAC,+BAA+B,CAAC;GACtC,2BAA2B,CAAkC","sourcesContent":["import { KeybindingSelectorBase } from \"@core/components/keybinding-selector-base.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\n\n@safeCustomElement(\"dictation-keybinding-selector\")\nexport class DictationKeybindingSelector extends KeybindingSelectorBase {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-keybinding-selector\": DictationKeybindingSelector;\n }\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import { LanguageSelectorBase } from "../core/components/language-selector-base.js";
2
+ export declare class DictationLanguageSelector extends LanguageSelectorBase {
3
+ }
4
+ declare global {
5
+ interface HTMLElementTagNameMap {
6
+ "dictation-language-selector": DictationLanguageSelector;
7
+ }
8
+ }
@@ -0,0 +1,15 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LanguageSelectorBase } from "@core/components/language-selector-base.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
9
+ let DictationLanguageSelector = class DictationLanguageSelector extends LanguageSelectorBase {
10
+ };
11
+ DictationLanguageSelector = __decorate([
12
+ safeCustomElement("dictation-language-selector")
13
+ ], DictationLanguageSelector);
14
+ export { DictationLanguageSelector };
15
+ //# sourceMappingURL=dictation-language-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-language-selector.js","sourceRoot":"","sources":["../../src/components/dictation-language-selector.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAG5D,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,oBAAoB;CAAG,CAAA;AAAzD,yBAAyB;IADrC,iBAAiB,CAAC,6BAA6B,CAAC;GACpC,yBAAyB,CAAgC","sourcesContent":["import { LanguageSelectorBase } from \"@core/components/language-selector-base.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\n\n@safeCustomElement(\"dictation-language-selector\")\nexport class DictationLanguageSelector extends LanguageSelectorBase {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-language-selector\": DictationLanguageSelector;\n }\n}\n"]}
@@ -1,7 +1,8 @@
1
+ import { RecordingButtonBase } from "../core/components/recording-button-base.js";
1
2
  import type { Corti } from "@corti/sdk";
2
3
  import { DictationController, type TranscribeMessage } from "../controllers/dictation-controller.js";
3
- import { RecordingButtonBase } from "./recording-button-base.js";
4
4
  export declare class DictationRecordingButton extends RecordingButtonBase<Corti.TranscribeConfig, TranscribeMessage> {
5
+ _debug_displayAudio?: boolean;
5
6
  protected _dictationConfig?: Corti.TranscribeConfig;
6
7
  protected _socketController: DictationController;
7
8
  protected _getConnectConfig(): Corti.TranscribeConfig;
@@ -4,12 +4,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import { RecordingButtonBase } from "@core/components/recording-button-base.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
7
9
  import { consume } from "@lit/context";
8
- import { customElement, state } from "lit/decorators.js";
10
+ import { state } from "lit/decorators.js";
9
11
  import { DEFAULT_DICTATION_CONFIG } from "../constants.js";
10
- import { dictationConfigContext } from "../contexts/dictation-context.js";
12
+ import { debugDisplayAudioContext, dictationConfigContext, } from "../contexts/dictation-context.js";
11
13
  import { DictationController, } from "../controllers/dictation-controller.js";
12
- import { RecordingButtonBase } from "./recording-button-base.js";
13
14
  let DictationRecordingButton = class DictationRecordingButton extends RecordingButtonBase {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -19,12 +20,16 @@ let DictationRecordingButton = class DictationRecordingButton extends RecordingB
19
20
  return this._dictationConfig ?? DEFAULT_DICTATION_CONFIG;
20
21
  }
21
22
  };
23
+ __decorate([
24
+ consume({ context: debugDisplayAudioContext, subscribe: true }),
25
+ state()
26
+ ], DictationRecordingButton.prototype, "_debug_displayAudio", void 0);
22
27
  __decorate([
23
28
  consume({ context: dictationConfigContext, subscribe: true }),
24
29
  state()
25
30
  ], DictationRecordingButton.prototype, "_dictationConfig", void 0);
26
31
  DictationRecordingButton = __decorate([
27
- customElement("dictation-recording-button")
32
+ safeCustomElement("dictation-recording-button")
28
33
  ], DictationRecordingButton);
29
34
  export { DictationRecordingButton };
30
35
  //# sourceMappingURL=dictation-recording-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-recording-button.js","sourceRoot":"","sources":["../../src/components/dictation-recording-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,mBAAmB,GAEpB,MAAM,wCAAwC,CAAC;AAGzC,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,mBAG7C;IAHM;;QAYK,sBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAK9D,CAAC;IAHW,iBAAiB;QACzB,OAAO,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,CAAC;IAC3D,CAAC;CACF,CAAA;AAXU;IAFR,OAAO,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC/D,KAAK,EAAE;qEAC+B;AAI7B;IAFT,OAAO,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7D,KAAK,EAAE;kEAC4C;AAVzC,wBAAwB;IADpC,iBAAiB,CAAC,4BAA4B,CAAC;GACnC,wBAAwB,CAiBpC","sourcesContent":["import { RecordingButtonBase } from \"@core/components/recording-button-base.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\nimport type { Corti } from \"@corti/sdk\";\nimport { consume } from \"@lit/context\";\nimport { state } from \"lit/decorators.js\";\nimport { DEFAULT_DICTATION_CONFIG } from \"../constants.js\";\nimport {\n debugDisplayAudioContext,\n dictationConfigContext,\n} from \"../contexts/dictation-context.js\";\nimport {\n DictationController,\n type TranscribeMessage,\n} from \"../controllers/dictation-controller.js\";\n\n@safeCustomElement(\"dictation-recording-button\")\nexport class DictationRecordingButton extends RecordingButtonBase<\n Corti.TranscribeConfig,\n TranscribeMessage\n> {\n @consume({ context: debugDisplayAudioContext, subscribe: true })\n @state()\n override _debug_displayAudio?: boolean;\n\n @consume({ context: dictationConfigContext, subscribe: true })\n @state()\n protected _dictationConfig?: Corti.TranscribeConfig;\n\n protected _socketController = new DictationController(this);\n\n protected _getConnectConfig(): Corti.TranscribeConfig {\n return this._dictationConfig ?? DEFAULT_DICTATION_CONFIG;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-recording-button\": DictationRecordingButton;\n }\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { SettingsMenuBase } from "../core/components/settings-menu-base.js";
2
+ import type { TemplateResult } from "lit";
3
+ import "./dictation-device-selector.js";
4
+ import "./dictation-keybinding-selector.js";
5
+ import "./dictation-language-selector.js";
6
+ export declare class DictationSettingsMenu extends SettingsMenuBase {
7
+ protected _renderDeviceSelector(isRecording: boolean): TemplateResult;
8
+ protected _renderLanguageSelector(isRecording: boolean): TemplateResult;
9
+ protected _renderKeybindingSelector(isRecording: boolean): TemplateResult;
10
+ }
11
+ declare global {
12
+ interface HTMLElementTagNameMap {
13
+ "dictation-settings-menu": DictationSettingsMenu;
14
+ }
15
+ }
@@ -0,0 +1,34 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { SettingsMenuBase } from "@core/components/settings-menu-base.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
9
+ import { html } from "lit";
10
+ import "./dictation-device-selector.js";
11
+ import "./dictation-keybinding-selector.js";
12
+ import "./dictation-language-selector.js";
13
+ let DictationSettingsMenu = class DictationSettingsMenu extends SettingsMenuBase {
14
+ _renderDeviceSelector(isRecording) {
15
+ return html `<dictation-device-selector
16
+ ?disabled=${isRecording}
17
+ ></dictation-device-selector>`;
18
+ }
19
+ _renderLanguageSelector(isRecording) {
20
+ return html `<dictation-language-selector
21
+ ?disabled=${isRecording}
22
+ ></dictation-language-selector>`;
23
+ }
24
+ _renderKeybindingSelector(isRecording) {
25
+ return html `<dictation-keybinding-selector
26
+ ?disabled=${isRecording}
27
+ ></dictation-keybinding-selector>`;
28
+ }
29
+ };
30
+ DictationSettingsMenu = __decorate([
31
+ safeCustomElement("dictation-settings-menu")
32
+ ], DictationSettingsMenu);
33
+ export { DictationSettingsMenu };
34
+ //# sourceMappingURL=dictation-settings-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-settings-menu.js","sourceRoot":"","sources":["../../src/components/dictation-settings-menu.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,OAAO,gCAAgC,CAAC;AACxC,OAAO,oCAAoC,CAAC;AAC5C,OAAO,kCAAkC,CAAC;AAGnC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,gBAAgB;IAC/C,qBAAqB,CAAC,WAAoB;QAClD,OAAO,IAAI,CAAA;kBACG,WAAW;kCACK,CAAC;IACjC,CAAC;IAES,uBAAuB,CAAC,WAAoB;QACpD,OAAO,IAAI,CAAA;kBACG,WAAW;oCACO,CAAC;IACnC,CAAC;IAES,yBAAyB,CAAC,WAAoB;QACtD,OAAO,IAAI,CAAA;kBACG,WAAW;sCACS,CAAC;IACrC,CAAC;CACF,CAAA;AAlBY,qBAAqB;IADjC,iBAAiB,CAAC,yBAAyB,CAAC;GAChC,qBAAqB,CAkBjC","sourcesContent":["import { SettingsMenuBase } from \"@core/components/settings-menu-base.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\nimport type { TemplateResult } from \"lit\";\nimport { html } from \"lit\";\n\nimport \"./dictation-device-selector.js\";\nimport \"./dictation-keybinding-selector.js\";\nimport \"./dictation-language-selector.js\";\n\n@safeCustomElement(\"dictation-settings-menu\")\nexport class DictationSettingsMenu extends SettingsMenuBase {\n protected _renderDeviceSelector(isRecording: boolean): TemplateResult {\n return html`<dictation-device-selector\n ?disabled=${isRecording}\n ></dictation-device-selector>`;\n }\n\n protected _renderLanguageSelector(isRecording: boolean): TemplateResult {\n return html`<dictation-language-selector\n ?disabled=${isRecording}\n ></dictation-language-selector>`;\n }\n\n protected _renderKeybindingSelector(isRecording: boolean): TemplateResult {\n return html`<dictation-keybinding-selector\n ?disabled=${isRecording}\n ></dictation-keybinding-selector>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-settings-menu\": DictationSettingsMenu;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import type { Corti } from "@corti/sdk";
2
+ export declare const DEFAULT_DICTATION_CONFIG: Corti.TranscribeConfig;
@@ -0,0 +1,6 @@
1
+ export const DEFAULT_DICTATION_CONFIG = {
2
+ automaticPunctuation: false,
3
+ primaryLanguage: "en",
4
+ spokenPunctuation: true,
5
+ };
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,oBAAoB,EAAE,KAAK;IAC3B,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;CACxB,CAAC","sourcesContent":["import type { Corti } from \"@corti/sdk\";\n\nexport const DEFAULT_DICTATION_CONFIG: Corti.TranscribeConfig = {\n automaticPunctuation: false,\n primaryLanguage: \"en\",\n spokenPunctuation: true,\n};\n"]}
@@ -1,6 +1,6 @@
1
+ import { RootContext } from "../core/contexts/root-context.js";
1
2
  import type { Corti } from "@corti/sdk";
2
3
  import type { PropertyValues } from "lit";
3
- import { RootContext } from "./root-context.js";
4
4
  export declare const dictationConfigContext: {
5
5
  __context__: Corti.TranscribeConfig | undefined;
6
6
  };
@@ -4,9 +4,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import { RootContext } from "@core/contexts/root-context.js";
8
+ import { safeCustomElement } from "@core/utils/custom-elements.js";
7
9
  import { createContext, provide } from "@lit/context";
8
- import { customElement, property } from "lit/decorators.js";
9
- import { RootContext } from "./root-context.js";
10
+ import { property } from "lit/decorators.js";
10
11
  export const dictationConfigContext = createContext(Symbol("dictationConfig"));
11
12
  export const debugDisplayAudioContext = createContext(Symbol("debugDisplayAudio"));
12
13
  let DictationRoot = class DictationRoot extends RootContext {
@@ -41,7 +42,7 @@ __decorate([
41
42
  property({ attribute: "debug-display-audio", type: Boolean })
42
43
  ], DictationRoot.prototype, "debug_displayAudio", void 0);
43
44
  DictationRoot = __decorate([
44
- customElement("dictation-root")
45
+ safeCustomElement("dictation-root")
45
46
  ], DictationRoot);
46
47
  export { DictationRoot };
47
48
  //# sourceMappingURL=dictation-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-context.js","sourceRoot":"","sources":["../../src/contexts/dictation-context.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAEjD,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAa,CACnD,MAAM,CAAC,mBAAmB,CAAC,CAC5B,CAAC;AAEK,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,WAAW;IAa5C,gFAAgF;IAChF,YAAY;IACZ,gFAAgF;IAEhF;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAQ,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,CAAgB,CAAC;YAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,gBAEzB,CAAC;YAEd,IAAI,CAAC,eAAe,GAAG;gBACrB,GAAG,IAAI,CAAC,eAAe;gBACvB,eAAe,EAAE,gBAAgB,IAAI,IAAI;aAC1C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEkB,UAAU,CAAC,iBAAiC;QAC7D,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAEpC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC;IACjE,CAAC;CACF,CAAA;AAnCC;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAC5C,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sDACJ;AAIzC;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yDACjC;AAXlB,aAAa;IADzB,iBAAiB,CAAC,gBAAgB,CAAC;GACvB,aAAa,CA0CzB","sourcesContent":["import { RootContext } from \"@core/contexts/root-context.js\";\nimport { safeCustomElement } from \"@core/utils/custom-elements.js\";\nimport type { Corti } from \"@corti/sdk\";\nimport { createContext, provide } from \"@lit/context\";\nimport type { PropertyValues } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\nexport const dictationConfigContext = createContext<\n Corti.TranscribeConfig | undefined\n>(Symbol(\"dictationConfig\"));\nexport const debugDisplayAudioContext = createContext<boolean | undefined>(\n Symbol(\"debugDisplayAudio\"),\n);\n@safeCustomElement(\"dictation-root\")\nexport class DictationRoot extends RootContext {\n // ─────────────────────────────────────────────────────────────────────────────\n // Properties\n // ─────────────────────────────────────────────────────────────────────────────\n\n @provide({ context: dictationConfigContext })\n @property({ attribute: false, type: Object })\n dictationConfig?: Corti.TranscribeConfig;\n\n @provide({ context: debugDisplayAudioContext })\n @property({ attribute: \"debug-display-audio\", type: Boolean })\n debug_displayAudio?: boolean;\n\n // ─────────────────────────────────────────────────────────────────────────────\n // Lifecycle\n // ─────────────────────────────────────────────────────────────────────────────\n\n constructor() {\n super();\n\n this.addEventListener(\"languages-changed\", (e: Event) => {\n const event = e as CustomEvent;\n const selectedLanguage = event.detail.selectedLanguage as\n | Corti.TranscribeSupportedLanguage\n | undefined;\n\n this.dictationConfig = {\n ...this.dictationConfig,\n primaryLanguage: selectedLanguage ?? \"en\",\n };\n });\n }\n\n protected override willUpdate(changedProperties: PropertyValues): void {\n super.willUpdate(changedProperties);\n\n if (!changedProperties.has(\"dictationConfig\")) {\n return;\n }\n\n this._selectedLanguage = this.dictationConfig?.primaryLanguage;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"dictation-root\": DictationRoot;\n }\n}\n"]}
@@ -1,12 +1,12 @@
1
+ import { SocketController } from "../core/controllers/socket-controller.js";
2
+ import type { TranscribeMessage } from "../core/socket-messages.js";
3
+ import type { ProxyOptions } from "../core/types.js";
1
4
  import { type Corti, type CortiClient } from "@corti/sdk";
2
- import type { ProxyOptions } from "../types.js";
3
- import { SocketController } from "./socket-controller.js";
5
+ export type { TranscribeMessage } from "../core/socket-messages.js";
4
6
  type TranscribeSocket = Awaited<ReturnType<CortiClient["transcribe"]["connect"]>>;
5
- export type TranscribeMessage = Corti.TranscribeConfigStatusMessage | Corti.TranscribeUsageMessage | Corti.TranscribeDeltaUsageMessage | Corti.TranscribeEndedMessage | Corti.TranscribeErrorMessage | Corti.TranscribeTranscriptMessage | Corti.TranscribeCommandMessage | Corti.TranscribeFlushedMessage | Corti.TranscribeAudioEventMessage;
6
7
  type OutboundItem = Blob | Corti.TranscribeFlushMessage | Corti.TranscribeEndMessage;
7
8
  export declare class DictationController extends SocketController<OutboundItem, TranscribeMessage, Corti.TranscribeConfig, TranscribeSocket> {
8
9
  stopRecording(): Promise<void>;
9
10
  protected _connectThroughProxy(dictationConfig: Corti.TranscribeConfig, proxy: ProxyOptions): Promise<TranscribeSocket>;
10
11
  protected _connectThroughAuth(client: CortiClient, dictationConfig: Corti.TranscribeConfig): Promise<TranscribeSocket>;
11
12
  }
12
- export {};
@@ -1,5 +1,5 @@
1
+ import { SocketController } from "@core/controllers/socket-controller.js";
1
2
  import { CortiWebSocketProxyClient, } from "@corti/sdk";
2
- import { SocketController } from "./socket-controller.js";
3
3
  export class DictationController extends SocketController {
4
4
  async stopRecording() {
5
5
  await this.pause();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-controller.js","sourceRoot":"","sources":["../../src/controllers/dictation-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,EAGL,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAapB,MAAM,OAAO,mBAAoB,SAAQ,gBAKxC;IACC,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,eAAuC,EACvC,KAAmB;QAEnB,OAAO,MAAM,yBAAyB,CAAC,UAAU,CAAC,OAAO,CAAC;YACxD,+GAA+G;YAC/G,kBAAkB,EAAE,KAAK;YACzB,aAAa,EAAE,eAAe;YAC9B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mBAAmB,CACjC,MAAmB,EACnB,eAAuC;QAEvC,OAAO,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;YACrC,+GAA+G;YAC/G,kBAAkB,EAAE,KAAK;YACzB,aAAa,EAAE,eAAe;SAC/B,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { SocketController } from \"@core/controllers/socket-controller.js\";\nimport type { TranscribeMessage } from \"@core/socket-messages.js\";\nimport type { ProxyOptions } from \"@core/types.js\";\nimport {\n type Corti,\n type CortiClient,\n CortiWebSocketProxyClient,\n} from \"@corti/sdk\";\n\nexport type { TranscribeMessage } from \"@core/socket-messages.js\";\n\ntype TranscribeSocket = Awaited<\n ReturnType<CortiClient[\"transcribe\"][\"connect\"]>\n>;\n\ntype OutboundItem =\n | Blob\n | Corti.TranscribeFlushMessage\n | Corti.TranscribeEndMessage;\n\nexport class DictationController extends SocketController<\n OutboundItem,\n TranscribeMessage,\n Corti.TranscribeConfig,\n TranscribeSocket\n> {\n async stopRecording(): Promise<void> {\n await this.pause();\n }\n\n protected async _connectThroughProxy(\n dictationConfig: Corti.TranscribeConfig,\n proxy: ProxyOptions,\n ): Promise<TranscribeSocket> {\n return await CortiWebSocketProxyClient.transcribe.connect({\n // awaitConfiguration: false — CONFIG_* appears in network activity before the socket is configured server-side\n awaitConfiguration: false,\n configuration: dictationConfig,\n proxy,\n });\n }\n\n protected async _connectThroughAuth(\n client: CortiClient,\n dictationConfig: Corti.TranscribeConfig,\n ): Promise<TranscribeSocket> {\n return await client.transcribe.connect({\n // awaitConfiguration: false — CONFIG_* appears in network activity before the socket is configured server-side\n awaitConfiguration: false,\n configuration: dictationConfig,\n });\n }\n}\n"]}