@capgo/capacitor-speech-recognition 8.0.9 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +317 -20
- package/android/src/main/java/app/capgo/speechrecognition/Constants.java +2 -0
- package/android/src/main/java/app/capgo/speechrecognition/SpeechRecognitionPlugin.java +983 -137
- package/dist/docs.json +392 -21
- package/dist/esm/definitions.d.ts +178 -3
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/web.d.ts +5 -1
- package/dist/esm/web.js +12 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +12 -0
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +12 -0
- package/dist/plugin.js.map +1 -1
- package/ios/Sources/SpeechRecognitionPlugin/SpeechAnalyzerRecognitionSession.swift +437 -0
- package/ios/Sources/SpeechRecognitionPlugin/SpeechRecognitionPlugin.swift +622 -70
- package/package.json +2 -1
package/dist/docs.json
CHANGED
|
@@ -17,6 +17,26 @@
|
|
|
17
17
|
],
|
|
18
18
|
"slug": "available"
|
|
19
19
|
},
|
|
20
|
+
{
|
|
21
|
+
"name": "isOnDeviceRecognitionAvailable",
|
|
22
|
+
"signature": "(options?: Pick<SpeechRecognitionStartOptions, \"language\"> | undefined) => Promise<SpeechRecognitionAvailability>",
|
|
23
|
+
"parameters": [
|
|
24
|
+
{
|
|
25
|
+
"name": "options",
|
|
26
|
+
"docs": "",
|
|
27
|
+
"type": "Pick<SpeechRecognitionStartOptions, 'language'> | undefined"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"returns": "Promise<SpeechRecognitionAvailability>",
|
|
31
|
+
"tags": [],
|
|
32
|
+
"docs": "Checks whether the platform's newer on-device recognition path is available for the selected locale.\n\nThis is the capability check you should use before enabling `useOnDeviceRecognition`.\nA `true` result means the current device, OS version, and locale can use the newer\non-device path for that platform.\n\nReturns `false` when the device only supports the legacy recognizer path.\n\nPlatform SDK docs:\niOS: [Speech](https://developer.apple.com/documentation/speech)\nAndroid: [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)",
|
|
33
|
+
"complexTypes": [
|
|
34
|
+
"SpeechRecognitionAvailability",
|
|
35
|
+
"Pick",
|
|
36
|
+
"SpeechRecognitionStartOptions"
|
|
37
|
+
],
|
|
38
|
+
"slug": "isondevicerecognitionavailable"
|
|
39
|
+
},
|
|
20
40
|
{
|
|
21
41
|
"name": "start",
|
|
22
42
|
"signature": "(options?: SpeechRecognitionStartOptions | undefined) => Promise<SpeechRecognitionMatches>",
|
|
@@ -29,7 +49,7 @@
|
|
|
29
49
|
],
|
|
30
50
|
"returns": "Promise<SpeechRecognitionMatches>",
|
|
31
51
|
"tags": [],
|
|
32
|
-
"docs": "Begins capturing audio and transcribing speech.\n\nWhen `partialResults` is `true`, the returned promise resolves immediately and updates are\nstreamed through the `partialResults` listener until {@link
|
|
52
|
+
"docs": "Begins capturing audio and transcribing speech.\n\nWhen `partialResults` is `true`, the returned promise resolves immediately and updates are\nstreamed through the `partialResults` listener until the session ends.\n\nThe default path keeps the legacy recognizer behavior for backward compatibility.\nPass `useOnDeviceRecognition: true` only after checking\n{@link SpeechRecognitionPlugin.isOnDeviceRecognitionAvailable}.",
|
|
33
53
|
"complexTypes": [
|
|
34
54
|
"SpeechRecognitionMatches",
|
|
35
55
|
"SpeechRecognitionStartOptions"
|
|
@@ -46,6 +66,54 @@
|
|
|
46
66
|
"complexTypes": [],
|
|
47
67
|
"slug": "stop"
|
|
48
68
|
},
|
|
69
|
+
{
|
|
70
|
+
"name": "forceStop",
|
|
71
|
+
"signature": "(options?: ForceStopOptions | undefined) => Promise<void>",
|
|
72
|
+
"parameters": [
|
|
73
|
+
{
|
|
74
|
+
"name": "options",
|
|
75
|
+
"docs": "",
|
|
76
|
+
"type": "ForceStopOptions | undefined"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"returns": "Promise<void>",
|
|
80
|
+
"tags": [],
|
|
81
|
+
"docs": "Force stops the current session.\n\nOn Android, this first tries a normal stop and then falls back to destroy/recreate after `timeout`.\nOn iOS, the current session is stopped immediately.\n\nIf a partial transcript is cached, it is emitted through the `partialResults` listener with `forced: true`.",
|
|
82
|
+
"complexTypes": [
|
|
83
|
+
"ForceStopOptions"
|
|
84
|
+
],
|
|
85
|
+
"slug": "forcestop"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "getLastPartialResult",
|
|
89
|
+
"signature": "() => Promise<LastPartialResult>",
|
|
90
|
+
"parameters": [],
|
|
91
|
+
"returns": "Promise<LastPartialResult>",
|
|
92
|
+
"tags": [],
|
|
93
|
+
"docs": "Gets the last cached partial transcription result.",
|
|
94
|
+
"complexTypes": [
|
|
95
|
+
"LastPartialResult"
|
|
96
|
+
],
|
|
97
|
+
"slug": "getlastpartialresult"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "setPTTState",
|
|
101
|
+
"signature": "(options: PTTStateOptions) => Promise<void>",
|
|
102
|
+
"parameters": [
|
|
103
|
+
{
|
|
104
|
+
"name": "options",
|
|
105
|
+
"docs": "",
|
|
106
|
+
"type": "PTTStateOptions"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"returns": "Promise<void>",
|
|
110
|
+
"tags": [],
|
|
111
|
+
"docs": "Updates the current push-to-talk button state.\n\nUse this together with `continuousPTT` or with a custom hold-to-talk flow.",
|
|
112
|
+
"complexTypes": [
|
|
113
|
+
"PTTStateOptions"
|
|
114
|
+
],
|
|
115
|
+
"slug": "setpttstate"
|
|
116
|
+
},
|
|
49
117
|
{
|
|
50
118
|
"name": "getSupportedLanguages",
|
|
51
119
|
"signature": "() => Promise<SpeechRecognitionLanguages>",
|
|
@@ -199,6 +267,54 @@
|
|
|
199
267
|
],
|
|
200
268
|
"slug": "addlistenerlisteningstate-"
|
|
201
269
|
},
|
|
270
|
+
{
|
|
271
|
+
"name": "addListener",
|
|
272
|
+
"signature": "(eventName: 'error', listenerFunc: (event: SpeechRecognitionErrorEvent) => void) => Promise<PluginListenerHandle>",
|
|
273
|
+
"parameters": [
|
|
274
|
+
{
|
|
275
|
+
"name": "eventName",
|
|
276
|
+
"docs": "",
|
|
277
|
+
"type": "'error'"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"name": "listenerFunc",
|
|
281
|
+
"docs": "",
|
|
282
|
+
"type": "(event: SpeechRecognitionErrorEvent) => void"
|
|
283
|
+
}
|
|
284
|
+
],
|
|
285
|
+
"returns": "Promise<PluginListenerHandle>",
|
|
286
|
+
"tags": [],
|
|
287
|
+
"docs": "Listen for recognition errors.",
|
|
288
|
+
"complexTypes": [
|
|
289
|
+
"PluginListenerHandle",
|
|
290
|
+
"SpeechRecognitionErrorEvent"
|
|
291
|
+
],
|
|
292
|
+
"slug": "addlistenererror-"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "addListener",
|
|
296
|
+
"signature": "(eventName: 'readyForNextSession', listenerFunc: (event: SpeechRecognitionReadyEvent) => void) => Promise<PluginListenerHandle>",
|
|
297
|
+
"parameters": [
|
|
298
|
+
{
|
|
299
|
+
"name": "eventName",
|
|
300
|
+
"docs": "",
|
|
301
|
+
"type": "'readyForNextSession'"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"name": "listenerFunc",
|
|
305
|
+
"docs": "",
|
|
306
|
+
"type": "(event: SpeechRecognitionReadyEvent) => void"
|
|
307
|
+
}
|
|
308
|
+
],
|
|
309
|
+
"returns": "Promise<PluginListenerHandle>",
|
|
310
|
+
"tags": [],
|
|
311
|
+
"docs": "Listen for the recognizer becoming ready for another session.",
|
|
312
|
+
"complexTypes": [
|
|
313
|
+
"PluginListenerHandle",
|
|
314
|
+
"SpeechRecognitionReadyEvent"
|
|
315
|
+
],
|
|
316
|
+
"slug": "addlistenerreadyfornextsession-"
|
|
317
|
+
},
|
|
202
318
|
{
|
|
203
319
|
"name": "removeAllListeners",
|
|
204
320
|
"signature": "() => Promise<void>",
|
|
@@ -229,22 +345,6 @@
|
|
|
229
345
|
}
|
|
230
346
|
]
|
|
231
347
|
},
|
|
232
|
-
{
|
|
233
|
-
"name": "SpeechRecognitionMatches",
|
|
234
|
-
"slug": "speechrecognitionmatches",
|
|
235
|
-
"docs": "",
|
|
236
|
-
"tags": [],
|
|
237
|
-
"methods": [],
|
|
238
|
-
"properties": [
|
|
239
|
-
{
|
|
240
|
-
"name": "matches",
|
|
241
|
-
"tags": [],
|
|
242
|
-
"docs": "",
|
|
243
|
-
"complexTypes": [],
|
|
244
|
-
"type": "string[] | undefined"
|
|
245
|
-
}
|
|
246
|
-
]
|
|
247
|
-
},
|
|
248
348
|
{
|
|
249
349
|
"name": "SpeechRecognitionStartOptions",
|
|
250
350
|
"slug": "speechrecognitionstartoptions",
|
|
@@ -294,12 +394,104 @@
|
|
|
294
394
|
"complexTypes": [],
|
|
295
395
|
"type": "boolean | undefined"
|
|
296
396
|
},
|
|
397
|
+
{
|
|
398
|
+
"name": "useOnDeviceRecognition",
|
|
399
|
+
"tags": [],
|
|
400
|
+
"docs": "Opt in to the platform's newer on-device recognition path when available.\n\nOn iOS 26+, this uses Apple's `SpeechAnalyzer` / `SpeechTranscriber` pipeline.\nOn recent Android versions, this uses the on-device `SpeechRecognizer` path.\n\nIt is intentionally opt-in so existing apps keep the legacy flow unless they choose\nto roll out the new behavior.\n\nUse {@link SpeechRecognitionPlugin.isOnDeviceRecognitionAvailable} before enabling it in production.\n\nPlatform SDK docs:\niOS: [Speech](https://developer.apple.com/documentation/speech),\n[SpeechAnalyzer](https://developer.apple.com/documentation/speech/speechanalyzer),\n[SpeechTranscriber](https://developer.apple.com/documentation/speech/speechtranscriber)\nAndroid: [SpeechRecognizer](https://developer.android.com/reference/android/speech/SpeechRecognizer)\n\nDefaults to `false`.",
|
|
401
|
+
"complexTypes": [],
|
|
402
|
+
"type": "boolean | undefined"
|
|
403
|
+
},
|
|
297
404
|
{
|
|
298
405
|
"name": "allowForSilence",
|
|
299
406
|
"tags": [],
|
|
300
407
|
"docs": "Allow a number of milliseconds of silence before splitting the recognition session into segments.\nRequired to be greater than zero and currently supported on Android only.",
|
|
301
408
|
"complexTypes": [],
|
|
302
409
|
"type": "number | undefined"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"name": "continuousPTT",
|
|
413
|
+
"tags": [],
|
|
414
|
+
"docs": "EXPERIMENTAL: Keep a PTT session alive across silence by restarting recognition while the button stays held.\n\nThis restart behavior is implemented for Android inline recognition and iOS native recognition.",
|
|
415
|
+
"complexTypes": [],
|
|
416
|
+
"type": "boolean | undefined"
|
|
417
|
+
}
|
|
418
|
+
]
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"name": "SpeechRecognitionMatches",
|
|
422
|
+
"slug": "speechrecognitionmatches",
|
|
423
|
+
"docs": "",
|
|
424
|
+
"tags": [],
|
|
425
|
+
"methods": [],
|
|
426
|
+
"properties": [
|
|
427
|
+
{
|
|
428
|
+
"name": "matches",
|
|
429
|
+
"tags": [],
|
|
430
|
+
"docs": "",
|
|
431
|
+
"complexTypes": [],
|
|
432
|
+
"type": "string[] | undefined"
|
|
433
|
+
}
|
|
434
|
+
]
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
"name": "ForceStopOptions",
|
|
438
|
+
"slug": "forcestopoptions",
|
|
439
|
+
"docs": "Options for {@link SpeechRecognitionPlugin.forceStop}.",
|
|
440
|
+
"tags": [],
|
|
441
|
+
"methods": [],
|
|
442
|
+
"properties": [
|
|
443
|
+
{
|
|
444
|
+
"name": "timeout",
|
|
445
|
+
"tags": [],
|
|
446
|
+
"docs": "Android only: timeout in milliseconds before forcing stop via destroy/recreate.\n\nOn iOS, the current session is stopped immediately and this value is ignored.\n\nDefaults to `1500`.",
|
|
447
|
+
"complexTypes": [],
|
|
448
|
+
"type": "number | undefined"
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
"name": "LastPartialResult",
|
|
454
|
+
"slug": "lastpartialresult",
|
|
455
|
+
"docs": "Result from {@link SpeechRecognitionPlugin.getLastPartialResult}.",
|
|
456
|
+
"tags": [],
|
|
457
|
+
"methods": [],
|
|
458
|
+
"properties": [
|
|
459
|
+
{
|
|
460
|
+
"name": "available",
|
|
461
|
+
"tags": [],
|
|
462
|
+
"docs": "Whether a partial result is currently cached.",
|
|
463
|
+
"complexTypes": [],
|
|
464
|
+
"type": "boolean"
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"name": "text",
|
|
468
|
+
"tags": [],
|
|
469
|
+
"docs": "The most recent transcript text known to the native recognizer.",
|
|
470
|
+
"complexTypes": [],
|
|
471
|
+
"type": "string"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "matches",
|
|
475
|
+
"tags": [],
|
|
476
|
+
"docs": "All current match alternatives when available.",
|
|
477
|
+
"complexTypes": [],
|
|
478
|
+
"type": "string[] | undefined"
|
|
479
|
+
}
|
|
480
|
+
]
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
"name": "PTTStateOptions",
|
|
484
|
+
"slug": "pttstateoptions",
|
|
485
|
+
"docs": "Options for {@link SpeechRecognitionPlugin.setPTTState}.",
|
|
486
|
+
"tags": [],
|
|
487
|
+
"methods": [],
|
|
488
|
+
"properties": [
|
|
489
|
+
{
|
|
490
|
+
"name": "held",
|
|
491
|
+
"tags": [],
|
|
492
|
+
"docs": "Whether the PTT button is currently held.",
|
|
493
|
+
"complexTypes": [],
|
|
494
|
+
"type": "boolean"
|
|
303
495
|
}
|
|
304
496
|
]
|
|
305
497
|
},
|
|
@@ -395,31 +587,152 @@
|
|
|
395
587
|
{
|
|
396
588
|
"name": "matches",
|
|
397
589
|
"tags": [],
|
|
398
|
-
"docs": "",
|
|
590
|
+
"docs": "Current recognition matches when the native recognizer reports them.\n\nThis can be omitted for forced or accumulated-only payloads.",
|
|
399
591
|
"complexTypes": [],
|
|
400
|
-
"type": "string[]"
|
|
592
|
+
"type": "string[] | undefined"
|
|
593
|
+
},
|
|
594
|
+
{
|
|
595
|
+
"name": "accumulated",
|
|
596
|
+
"tags": [],
|
|
597
|
+
"docs": "Accumulated transcription from earlier continuous PTT cycles.",
|
|
598
|
+
"complexTypes": [],
|
|
599
|
+
"type": "string | undefined"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"name": "accumulatedText",
|
|
603
|
+
"tags": [],
|
|
604
|
+
"docs": "Final accumulated text including the current result.",
|
|
605
|
+
"complexTypes": [],
|
|
606
|
+
"type": "string | undefined"
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "isRestarting",
|
|
610
|
+
"tags": [],
|
|
611
|
+
"docs": "`true` when the plugin is restarting recognition inside a continuous PTT session.",
|
|
612
|
+
"complexTypes": [],
|
|
613
|
+
"type": "boolean | undefined"
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"name": "forced",
|
|
617
|
+
"tags": [],
|
|
618
|
+
"docs": "`true` when the payload was emitted by `forceStop()`.",
|
|
619
|
+
"complexTypes": [],
|
|
620
|
+
"type": "boolean | undefined"
|
|
401
621
|
}
|
|
402
622
|
]
|
|
403
623
|
},
|
|
404
624
|
{
|
|
405
625
|
"name": "SpeechRecognitionListeningEvent",
|
|
406
626
|
"slug": "speechrecognitionlisteningevent",
|
|
407
|
-
"docs": "Raised when the listening state changes.",
|
|
627
|
+
"docs": "Raised when the listening state changes.\n\nThe original `status` field is preserved for backward compatibility and is present\non the binary `started` / `stopped` states.",
|
|
408
628
|
"tags": [],
|
|
409
629
|
"methods": [],
|
|
410
630
|
"properties": [
|
|
631
|
+
{
|
|
632
|
+
"name": "state",
|
|
633
|
+
"tags": [],
|
|
634
|
+
"docs": "Finite state of the recognition session.",
|
|
635
|
+
"complexTypes": [
|
|
636
|
+
"ListeningFiniteState"
|
|
637
|
+
],
|
|
638
|
+
"type": "ListeningFiniteState"
|
|
639
|
+
},
|
|
640
|
+
{
|
|
641
|
+
"name": "sessionId",
|
|
642
|
+
"tags": [],
|
|
643
|
+
"docs": "Unique identifier for the current listening session.",
|
|
644
|
+
"complexTypes": [],
|
|
645
|
+
"type": "number | undefined"
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"name": "reason",
|
|
649
|
+
"tags": [],
|
|
650
|
+
"docs": "Why this state transition occurred.",
|
|
651
|
+
"complexTypes": [
|
|
652
|
+
"ListeningReason"
|
|
653
|
+
],
|
|
654
|
+
"type": "ListeningReason"
|
|
655
|
+
},
|
|
656
|
+
{
|
|
657
|
+
"name": "errorCode",
|
|
658
|
+
"tags": [],
|
|
659
|
+
"docs": "Error code when the transition is caused by an error.",
|
|
660
|
+
"complexTypes": [],
|
|
661
|
+
"type": "string | undefined"
|
|
662
|
+
},
|
|
411
663
|
{
|
|
412
664
|
"name": "status",
|
|
413
665
|
"tags": [],
|
|
666
|
+
"docs": "Backward-compatible binary state used by earlier releases.",
|
|
667
|
+
"complexTypes": [],
|
|
668
|
+
"type": "'started' | 'stopped' | undefined"
|
|
669
|
+
}
|
|
670
|
+
]
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
"name": "SpeechRecognitionErrorEvent",
|
|
674
|
+
"slug": "speechrecognitionerrorevent",
|
|
675
|
+
"docs": "Raised whenever native recognition reports an error.",
|
|
676
|
+
"tags": [],
|
|
677
|
+
"methods": [],
|
|
678
|
+
"properties": [
|
|
679
|
+
{
|
|
680
|
+
"name": "code",
|
|
681
|
+
"tags": [],
|
|
682
|
+
"docs": "",
|
|
683
|
+
"complexTypes": [],
|
|
684
|
+
"type": "string"
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"name": "message",
|
|
688
|
+
"tags": [],
|
|
689
|
+
"docs": "",
|
|
690
|
+
"complexTypes": [],
|
|
691
|
+
"type": "string"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"name": "sessionId",
|
|
695
|
+
"tags": [],
|
|
696
|
+
"docs": "",
|
|
697
|
+
"complexTypes": [],
|
|
698
|
+
"type": "number"
|
|
699
|
+
}
|
|
700
|
+
]
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"name": "SpeechRecognitionReadyEvent",
|
|
704
|
+
"slug": "speechrecognitionreadyevent",
|
|
705
|
+
"docs": "Emitted after native resources have been torn down and the plugin is ready for another session.",
|
|
706
|
+
"tags": [],
|
|
707
|
+
"methods": [],
|
|
708
|
+
"properties": [
|
|
709
|
+
{
|
|
710
|
+
"name": "sessionId",
|
|
711
|
+
"tags": [],
|
|
414
712
|
"docs": "",
|
|
415
713
|
"complexTypes": [],
|
|
416
|
-
"type": "
|
|
714
|
+
"type": "number"
|
|
417
715
|
}
|
|
418
716
|
]
|
|
419
717
|
}
|
|
420
718
|
],
|
|
421
719
|
"enums": [],
|
|
422
720
|
"typeAliases": [
|
|
721
|
+
{
|
|
722
|
+
"name": "Pick",
|
|
723
|
+
"slug": "pick",
|
|
724
|
+
"docs": "From T, pick a set of properties whose keys are in the union K",
|
|
725
|
+
"types": [
|
|
726
|
+
{
|
|
727
|
+
"text": "{\r\n [P in K]: T[P];\r\n}",
|
|
728
|
+
"complexTypes": [
|
|
729
|
+
"K",
|
|
730
|
+
"T",
|
|
731
|
+
"P"
|
|
732
|
+
]
|
|
733
|
+
}
|
|
734
|
+
]
|
|
735
|
+
},
|
|
423
736
|
{
|
|
424
737
|
"name": "PermissionState",
|
|
425
738
|
"slug": "permissionstate",
|
|
@@ -442,6 +755,64 @@
|
|
|
442
755
|
"complexTypes": []
|
|
443
756
|
}
|
|
444
757
|
]
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
"name": "ListeningFiniteState",
|
|
761
|
+
"slug": "listeningfinitestate",
|
|
762
|
+
"docs": "Finite state values for the recognition session lifecycle.",
|
|
763
|
+
"types": [
|
|
764
|
+
{
|
|
765
|
+
"text": "'startingListening'",
|
|
766
|
+
"complexTypes": []
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"text": "'started'",
|
|
770
|
+
"complexTypes": []
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"text": "'stoppingListening'",
|
|
774
|
+
"complexTypes": []
|
|
775
|
+
},
|
|
776
|
+
{
|
|
777
|
+
"text": "'stopped'",
|
|
778
|
+
"complexTypes": []
|
|
779
|
+
}
|
|
780
|
+
]
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
"name": "ListeningReason",
|
|
784
|
+
"slug": "listeningreason",
|
|
785
|
+
"docs": "Why a listening state transition happened.",
|
|
786
|
+
"types": [
|
|
787
|
+
{
|
|
788
|
+
"text": "'userStart'",
|
|
789
|
+
"complexTypes": []
|
|
790
|
+
},
|
|
791
|
+
{
|
|
792
|
+
"text": "'userStop'",
|
|
793
|
+
"complexTypes": []
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"text": "'forceStop'",
|
|
797
|
+
"complexTypes": []
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"text": "'results'",
|
|
801
|
+
"complexTypes": []
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"text": "'silence'",
|
|
805
|
+
"complexTypes": []
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"text": "'error'",
|
|
809
|
+
"complexTypes": []
|
|
810
|
+
},
|
|
811
|
+
{
|
|
812
|
+
"text": "'unknown'",
|
|
813
|
+
"complexTypes": []
|
|
814
|
+
}
|
|
815
|
+
]
|
|
445
816
|
}
|
|
446
817
|
],
|
|
447
818
|
"pluginConfigs": []
|