@phenx-inc/ctlsurf 0.5.2 → 0.6.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 (32) hide show
  1. package/electron-vite.config.ts +5 -0
  2. package/out/headless/index.mjs +2 -1
  3. package/out/headless/index.mjs.map +2 -2
  4. package/out/main/index.js +3 -0
  5. package/out/renderer/assets/{cssMode-D9-xaWSI.js → cssMode-DbMmcl1h.js} +3 -3
  6. package/out/renderer/assets/{freemarker2-CoRAVxnv.js → freemarker2-CvaHiy92.js} +1 -1
  7. package/out/renderer/assets/{handlebars-B0p9Wgkw.js → handlebars-D58lUIOu.js} +1 -1
  8. package/out/renderer/assets/{html-D_XFJJtO.js → html-D1h1aJbM.js} +1 -1
  9. package/out/renderer/assets/{htmlMode-naWw6PWr.js → htmlMode-BdkAp9qr.js} +3 -3
  10. package/out/renderer/assets/{index-DBt_rov1.js → index-B60JU1yI.js} +419 -107
  11. package/out/renderer/assets/{index-ezC-iarf.css → index-DJFYmHjz.css} +89 -0
  12. package/out/renderer/assets/{javascript-DDLsFUr-.js → javascript-CXqZcnvb.js} +2 -2
  13. package/out/renderer/assets/{jsonMode-Ixhcm5I6.js → jsonMode-BuVr-eSl.js} +3 -3
  14. package/out/renderer/assets/{liquid-BHgSYEHk.js → liquid-LKu0Wd0B.js} +1 -1
  15. package/out/renderer/assets/{lspLanguageFeatures-ClbEdD0U.js → lspLanguageFeatures-Cjr_4HGs.js} +1 -1
  16. package/out/renderer/assets/{mdx-DMngMjHR.js → mdx-Bl84ILla.js} +1 -1
  17. package/out/renderer/assets/ort-wasm-simd-threaded.asyncify-DMmc6YqF.wasm +0 -0
  18. package/out/renderer/assets/{python-D_czoeY2.js → python-0sFd9G1k.js} +1 -1
  19. package/out/renderer/assets/{razor-CLMDGvL7.js → razor-Cqcu1rLJ.js} +1 -1
  20. package/out/renderer/assets/transformers.web-DtSCnG36.js +33668 -0
  21. package/out/renderer/assets/{tsMode-EIuSGG42.js → tsMode-CYd3NUkW.js} +1 -1
  22. package/out/renderer/assets/{typescript-DQkV4kKA.js → typescript-rkc9lhpi.js} +1 -1
  23. package/out/renderer/assets/{xml-DJ0OOQTu.js → xml-EsHEUps1.js} +1 -1
  24. package/out/renderer/assets/{yaml-DxX26XLN.js → yaml-B9-nQ_s2.js} +1 -1
  25. package/out/renderer/index.html +2 -2
  26. package/package.json +2 -1
  27. package/src/main/index.ts +7 -0
  28. package/src/renderer/App.tsx +13 -1
  29. package/src/renderer/components/TerminalPanel.tsx +6 -0
  30. package/src/renderer/components/VoiceInput.tsx +313 -0
  31. package/src/renderer/lib/localWhisper.ts +88 -0
  32. package/src/renderer/styles.css +89 -0
@@ -7956,6 +7956,95 @@ html, body, #root {
7956
7956
  line-height: 1;
7957
7957
  }
7958
7958
 
7959
+ /* Voice typing (push-to-talk mic) */
7960
+ .voice-input-wrap {
7961
+ position: relative;
7962
+ display: inline-flex;
7963
+ }
7964
+ .voice-btn {
7965
+ user-select: none;
7966
+ -webkit-user-select: none;
7967
+ touch-action: none;
7968
+ }
7969
+ .voice-btn:disabled {
7970
+ opacity: 0.4;
7971
+ cursor: not-allowed;
7972
+ }
7973
+ .voice-btn.listening {
7974
+ color: #f7768e;
7975
+ border-color: #f7768e;
7976
+ background: #1f2335;
7977
+ }
7978
+ .voice-btn.busy {
7979
+ color: #e0af68;
7980
+ border-color: #e0af68;
7981
+ background: #1f2335;
7982
+ }
7983
+ .voice-icon {
7984
+ font-size: 13px;
7985
+ line-height: 1;
7986
+ }
7987
+ .voice-dot {
7988
+ width: 6px;
7989
+ height: 6px;
7990
+ border-radius: 50%;
7991
+ display: inline-block;
7992
+ vertical-align: middle;
7993
+ background: #565f89;
7994
+ }
7995
+ .voice-dot.on {
7996
+ background: #f7768e;
7997
+ box-shadow: 0 0 4px #f7768e;
7998
+ animation: voice-pulse 1s ease-in-out infinite;
7999
+ }
8000
+ .voice-dot.busy {
8001
+ background: #e0af68;
8002
+ box-shadow: 0 0 4px #e0af68;
8003
+ animation: voice-pulse 0.8s ease-in-out infinite;
8004
+ }
8005
+ @keyframes voice-pulse {
8006
+ 0%, 100% { opacity: 1; }
8007
+ 50% { opacity: 0.3; }
8008
+ }
8009
+ .voice-chip {
8010
+ position: absolute;
8011
+ top: 100%;
8012
+ right: 0;
8013
+ margin-top: 6px;
8014
+ max-width: 320px;
8015
+ padding: 4px 9px;
8016
+ border-radius: 5px;
8017
+ font-size: 11px;
8018
+ line-height: 1.3;
8019
+ white-space: nowrap;
8020
+ overflow: hidden;
8021
+ text-overflow: ellipsis;
8022
+ z-index: 50;
8023
+ pointer-events: none;
8024
+ border: 1px solid #3b3d57;
8025
+ }
8026
+ .voice-chip.listening {
8027
+ background: #1f2335;
8028
+ color: #a9b1d6;
8029
+ }
8030
+ .voice-chip.busy {
8031
+ background: #1f2335;
8032
+ color: #e0af68;
8033
+ border-color: #e0af68;
8034
+ }
8035
+ .voice-chip.notice {
8036
+ background: #1f2335;
8037
+ color: #e0af68;
8038
+ border-color: #e0af68;
8039
+ white-space: normal;
8040
+ }
8041
+ .voice-chip.error {
8042
+ background: #2d2030;
8043
+ color: #f7768e;
8044
+ border-color: #f7768e;
8045
+ white-space: normal;
8046
+ }
8047
+
7959
8048
  /* Editor panel */
7960
8049
  .editor-panel {
7961
8050
  display: flex;
@@ -1,5 +1,5 @@
1
- import { conf as conf$1, language as language$1 } from "./typescript-DQkV4kKA.js";
2
- import "./index-DBt_rov1.js";
1
+ import { conf as conf$1, language as language$1 } from "./typescript-rkc9lhpi.js";
2
+ import "./index-B60JU1yI.js";
3
3
  const conf = conf$1;
4
4
  const language = {
5
5
  // Set defaultToken to invalid to see what you do not tokenize yet
@@ -1,6 +1,6 @@
1
- import { c as createWebWorker, l as languages, e as editor } from "./index-DBt_rov1.js";
2
- import { f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter, H as HoverAdapter, b as DocumentSymbolAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, S as SelectionRangeAdapter, e as DiagnosticsAdapter } from "./lspLanguageFeatures-ClbEdD0U.js";
3
- import { a, D, h, R, c, i, j, t, k } from "./lspLanguageFeatures-ClbEdD0U.js";
1
+ import { c as createWebWorker, l as languages, e as editor } from "./index-B60JU1yI.js";
2
+ import { f as DocumentFormattingEditProvider, g as DocumentRangeFormattingEditProvider, C as CompletionAdapter, H as HoverAdapter, b as DocumentSymbolAdapter, d as DocumentColorAdapter, F as FoldingRangeAdapter, S as SelectionRangeAdapter, e as DiagnosticsAdapter } from "./lspLanguageFeatures-Cjr_4HGs.js";
3
+ import { a, D, h, R, c, i, j, t, k } from "./lspLanguageFeatures-Cjr_4HGs.js";
4
4
  const STOP_WHEN_IDLE_FOR = 2 * 60 * 1e3;
5
5
  class WorkerManager {
6
6
  constructor(defaults) {
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DBt_rov1.js";
1
+ import { l as languages } from "./index-B60JU1yI.js";
2
2
  const EMPTY_ELEMENTS = [
3
3
  "area",
4
4
  "base",
@@ -1,4 +1,4 @@
1
- import { R as Range$1, l as languages, e as editor, U as Uri, M as MarkerSeverity } from "./index-DBt_rov1.js";
1
+ import { R as Range$1, l as languages, e as editor, U as Uri, M as MarkerSeverity } from "./index-B60JU1yI.js";
2
2
  var DocumentUri;
3
3
  (function(DocumentUri2) {
4
4
  function is(value) {
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DBt_rov1.js";
1
+ import { l as languages } from "./index-B60JU1yI.js";
2
2
  const conf = {
3
3
  comments: {
4
4
  blockComment: ["{/*", "*/}"]
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DBt_rov1.js";
1
+ import { l as languages } from "./index-B60JU1yI.js";
2
2
  const conf = {
3
3
  comments: {
4
4
  lineComment: "#",
@@ -1,4 +1,4 @@
1
- import { l as languages } from "./index-DBt_rov1.js";
1
+ import { l as languages } from "./index-B60JU1yI.js";
2
2
  const EMPTY_ELEMENTS = [
3
3
  "area",
4
4
  "base",