@talk2view/sdk 0.18.1 → 0.20.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 +71 -103
- package/dist/assistant-ui/index.d.ts.map +1 -1
- package/dist/assistant-ui/index.js +4 -2
- package/dist/assistant-ui/index.js.map +1 -1
- package/dist/auth.d.ts +8 -0
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +27 -11
- package/dist/auth.js.map +1 -1
- package/dist/chat/auth-gate.d.ts +3 -1
- package/dist/chat/auth-gate.d.ts.map +1 -1
- package/dist/chat/auth-gate.js +29 -5
- package/dist/chat/auth-gate.js.map +1 -1
- package/dist/chat/composer-extras.js +2 -2
- package/dist/chat/index.d.ts +1 -0
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/index.js +1 -0
- package/dist/chat/index.js.map +1 -1
- package/dist/chat/launcher.d.ts.map +1 -1
- package/dist/chat/launcher.js +6 -2
- package/dist/chat/launcher.js.map +1 -1
- package/dist/chat/markdown.d.ts +14 -4
- package/dist/chat/markdown.d.ts.map +1 -1
- package/dist/chat/markdown.js +28 -1
- package/dist/chat/markdown.js.map +1 -1
- package/dist/chat/provider.d.ts +7 -0
- package/dist/chat/provider.d.ts.map +1 -1
- package/dist/chat/provider.js +22 -1
- package/dist/chat/provider.js.map +1 -1
- package/dist/chat/vendor/LICENSE +21 -0
- package/dist/chat/vendor/MANIFEST.json +84 -0
- package/dist/chat/vendor/attachment.aui.d.ts.map +1 -1
- package/dist/chat/vendor/attachment.aui.js +8 -0
- package/dist/chat/vendor/attachment.aui.js.map +1 -1
- package/dist/chat/vendor/file.d.ts.map +1 -1
- package/dist/chat/vendor/file.js +8 -0
- package/dist/chat/vendor/file.js.map +1 -1
- package/dist/chat/vendor/follow-up-suggestions.aui.d.ts.map +1 -1
- package/dist/chat/vendor/follow-up-suggestions.aui.js +8 -0
- package/dist/chat/vendor/follow-up-suggestions.aui.js.map +1 -1
- package/dist/chat/vendor/image.d.ts.map +1 -1
- package/dist/chat/vendor/image.js +8 -0
- package/dist/chat/vendor/image.js.map +1 -1
- package/dist/chat/vendor/markdown-text.d.ts.map +1 -1
- package/dist/chat/vendor/markdown-text.js +8 -0
- package/dist/chat/vendor/markdown-text.js.map +1 -1
- package/dist/chat/vendor/reasoning.aui.d.ts.map +1 -1
- package/dist/chat/vendor/reasoning.aui.js +8 -0
- package/dist/chat/vendor/reasoning.aui.js.map +1 -1
- package/dist/chat/vendor/reasoning.d.ts.map +1 -1
- package/dist/chat/vendor/reasoning.js +8 -0
- package/dist/chat/vendor/reasoning.js.map +1 -1
- package/dist/chat/vendor/thread-list.aui.d.ts.map +1 -1
- package/dist/chat/vendor/thread-list.aui.js +8 -0
- package/dist/chat/vendor/thread-list.aui.js.map +1 -1
- package/dist/chat/vendor/thread.aui.d.ts.map +1 -1
- package/dist/chat/vendor/thread.aui.js +8 -0
- package/dist/chat/vendor/thread.aui.js.map +1 -1
- package/dist/chat/vendor/tool-fallback.aui.d.ts.map +1 -1
- package/dist/chat/vendor/tool-fallback.aui.js +8 -0
- package/dist/chat/vendor/tool-fallback.aui.js.map +1 -1
- package/dist/chat/vendor/tool-group.aui.d.ts.map +1 -1
- package/dist/chat/vendor/tool-group.aui.js +8 -0
- package/dist/chat/vendor/tool-group.aui.js.map +1 -1
- package/dist/chat/vendor/tooltip-icon-button.d.ts.map +1 -1
- package/dist/chat/vendor/tooltip-icon-button.js +8 -0
- package/dist/chat/vendor/tooltip-icon-button.js.map +1 -1
- package/dist/chat/views/account.d.ts.map +1 -1
- package/dist/chat/views/account.js +6 -0
- package/dist/chat/views/account.js.map +1 -1
- package/dist/chat/voice-button.d.ts +34 -0
- package/dist/chat/voice-button.d.ts.map +1 -0
- package/dist/chat/voice-button.js +175 -0
- package/dist/chat/voice-button.js.map +1 -0
- package/dist/chat-css.js +1 -1
- package/dist/chat.css +1 -1
- package/dist/chat.isolated.css +176 -3
- package/dist/chat.raw.css +176 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +49 -0
- package/dist/client.js.map +1 -1
- package/dist/event-emitter.d.ts +1 -0
- package/dist/event-emitter.d.ts.map +1 -1
- package/dist/event-emitter.js +3 -0
- package/dist/event-emitter.js.map +1 -1
- package/dist/index.d.ts +24 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -1
- package/dist/streaming.d.ts.map +1 -1
- package/dist/streaming.js +5 -1
- package/dist/streaming.js.map +1 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +13 -2
- package/dist/tools.js.map +1 -1
- package/dist/types.d.ts +60 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/components/MarkdownRenderer.d.ts +1 -1
- package/dist/ui/components/MarkdownRenderer.js +1 -1
- package/dist/ui/index.d.ts +10 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +10 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/safeMarkdown.d.ts.map +1 -1
- package/dist/ui/safeMarkdown.js +4 -2
- package/dist/ui/safeMarkdown.js.map +1 -1
- package/dist/voice-error.d.ts +8 -0
- package/dist/voice-error.d.ts.map +1 -0
- package/dist/voice-error.js +10 -0
- package/dist/voice-error.js.map +1 -0
- package/dist/voice-facade.d.ts +57 -0
- package/dist/voice-facade.d.ts.map +1 -0
- package/dist/voice-facade.js +139 -0
- package/dist/voice-facade.js.map +1 -0
- package/dist/voice.d.ts +157 -0
- package/dist/voice.d.ts.map +1 -0
- package/dist/voice.js +630 -0
- package/dist/voice.js.map +1 -0
- package/docs/chat.md +532 -0
- package/docs/voice.md +88 -0
- package/package.json +22 -9
package/dist/chat.isolated.css
CHANGED
|
@@ -687,6 +687,9 @@
|
|
|
687
687
|
.t2v-chat .h-\[17px\] {
|
|
688
688
|
height: 17px !important;
|
|
689
689
|
}
|
|
690
|
+
.t2v-chat .h-\[20px\] {
|
|
691
|
+
height: 20px !important;
|
|
692
|
+
}
|
|
690
693
|
.t2v-chat .h-\[29px\] {
|
|
691
694
|
height: 29px !important;
|
|
692
695
|
}
|
|
@@ -771,6 +774,9 @@
|
|
|
771
774
|
.t2v-chat .w-\[14px\] {
|
|
772
775
|
width: 14px !important;
|
|
773
776
|
}
|
|
777
|
+
.t2v-chat .w-\[22px\] {
|
|
778
|
+
width: 22px !important;
|
|
779
|
+
}
|
|
774
780
|
.t2v-chat .w-\[40px\] {
|
|
775
781
|
width: 40px !important;
|
|
776
782
|
}
|
|
@@ -3251,6 +3257,13 @@
|
|
|
3251
3257
|
height: 100%;
|
|
3252
3258
|
font-family: var(--t2v-font);
|
|
3253
3259
|
color: var(--foreground);
|
|
3260
|
+
text-align: start;
|
|
3261
|
+
text-transform: none;
|
|
3262
|
+
letter-spacing: normal;
|
|
3263
|
+
word-spacing: normal;
|
|
3264
|
+
line-height: normal;
|
|
3265
|
+
text-indent: 0;
|
|
3266
|
+
white-space: normal;
|
|
3254
3267
|
}
|
|
3255
3268
|
.t2v-chat.t2v-portal-host {
|
|
3256
3269
|
height: auto;
|
|
@@ -3332,14 +3345,154 @@
|
|
|
3332
3345
|
animation: t2v-cursor-blink 1s step-end infinite;
|
|
3333
3346
|
}
|
|
3334
3347
|
}
|
|
3335
|
-
.t2v-chat .
|
|
3348
|
+
.t2v-chat .t2v-voice, .t2v-chat.t2v-voice {
|
|
3349
|
+
position: relative;
|
|
3350
|
+
display: flex;
|
|
3351
|
+
align-items: flex-end;
|
|
3352
|
+
}
|
|
3353
|
+
.t2v-chat .t2v-voice {
|
|
3354
|
+
margin-inline-end: 0.5rem;
|
|
3355
|
+
}
|
|
3356
|
+
.t2v-chat.t2v-voice {
|
|
3357
|
+
display: inline-flex;
|
|
3358
|
+
height: auto;
|
|
3359
|
+
}
|
|
3360
|
+
.t2v-chat .t2v-voice-button {
|
|
3361
|
+
display: inline-flex;
|
|
3362
|
+
flex-shrink: 0;
|
|
3363
|
+
align-items: center;
|
|
3364
|
+
justify-content: center;
|
|
3365
|
+
width: 4rem;
|
|
3366
|
+
height: 4rem;
|
|
3367
|
+
padding: 0;
|
|
3368
|
+
border: 0;
|
|
3369
|
+
border-radius: 0;
|
|
3370
|
+
background-color: var(--primary);
|
|
3371
|
+
color: var(--primary-foreground);
|
|
3372
|
+
cursor: pointer;
|
|
3373
|
+
box-shadow: 0 6px 20px -8px rgb(2 28 37 / 0.55);
|
|
3374
|
+
}
|
|
3375
|
+
.t2v-chat .t2v-voice-button:hover {
|
|
3376
|
+
filter: brightness(0.95);
|
|
3377
|
+
}
|
|
3378
|
+
.t2v-chat .t2v-voice-button:active {
|
|
3379
|
+
scale: 0.96;
|
|
3380
|
+
}
|
|
3381
|
+
.t2v-chat .t2v-voice-button:focus-visible {
|
|
3382
|
+
outline: 2px solid var(--ring);
|
|
3383
|
+
outline-offset: 6px;
|
|
3384
|
+
}
|
|
3385
|
+
.t2v-chat .t2v-voice-button[data-state='listening'] {
|
|
3386
|
+
background-color: var(--primary-foreground);
|
|
3387
|
+
color: var(--primary);
|
|
3388
|
+
}
|
|
3389
|
+
.t2v-chat .t2v-voice-spin {
|
|
3390
|
+
animation: t2v-voice-spin 0.9s linear infinite;
|
|
3391
|
+
}
|
|
3392
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
3393
|
+
.t2v-chat .t2v-voice-button {
|
|
3394
|
+
transition: scale 150ms ease-out;
|
|
3395
|
+
}
|
|
3396
|
+
}
|
|
3397
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3398
|
+
.t2v-chat .t2v-voice-button .t2v-wave-bar {
|
|
3399
|
+
animation: none;
|
|
3400
|
+
}
|
|
3401
|
+
}
|
|
3402
|
+
.t2v-chat .t2v-voice-popover {
|
|
3403
|
+
position: absolute;
|
|
3404
|
+
inset-block-end: calc(100% + 0.75rem);
|
|
3405
|
+
inset-inline-end: 0;
|
|
3406
|
+
display: flex;
|
|
3407
|
+
flex-direction: column;
|
|
3408
|
+
align-items: flex-end;
|
|
3409
|
+
gap: 0.5rem;
|
|
3410
|
+
width: max-content;
|
|
3411
|
+
max-width: min(20rem, calc(100vw - 2rem));
|
|
3412
|
+
font-size: 0.8125rem;
|
|
3413
|
+
line-height: 1.4;
|
|
3414
|
+
}
|
|
3415
|
+
.t2v-chat .t2v-voice-status, .t2v-chat .t2v-voice-error {
|
|
3416
|
+
border: 1px solid var(--border);
|
|
3417
|
+
border-radius: var(--radius);
|
|
3418
|
+
background-color: var(--popover);
|
|
3419
|
+
color: var(--popover-foreground);
|
|
3420
|
+
box-shadow: 0 6px 20px -8px rgb(2 28 37 / 0.35);
|
|
3421
|
+
}
|
|
3422
|
+
.t2v-chat .t2v-voice-status {
|
|
3423
|
+
padding: 0.375rem 0.75rem;
|
|
3424
|
+
font-weight: 500;
|
|
3425
|
+
white-space: nowrap;
|
|
3426
|
+
}
|
|
3427
|
+
.t2v-chat .t2v-voice-error {
|
|
3428
|
+
display: flex;
|
|
3429
|
+
align-items: flex-start;
|
|
3430
|
+
gap: 0.5rem;
|
|
3431
|
+
padding: 0.5rem 0.5rem 0.5rem 0.75rem;
|
|
3432
|
+
border-inline-start: 3px solid var(--destructive);
|
|
3433
|
+
}
|
|
3434
|
+
.t2v-chat .t2v-voice-dismiss {
|
|
3435
|
+
display: inline-flex;
|
|
3436
|
+
flex-shrink: 0;
|
|
3437
|
+
padding: 0.125rem;
|
|
3438
|
+
border: 0;
|
|
3439
|
+
background: transparent;
|
|
3440
|
+
color: var(--muted-foreground);
|
|
3441
|
+
cursor: pointer;
|
|
3442
|
+
}
|
|
3443
|
+
.t2v-chat .t2v-voice-dismiss:hover {
|
|
3444
|
+
color: var(--popover-foreground);
|
|
3445
|
+
}
|
|
3446
|
+
.t2v-chat .t2v-voice-dismiss:focus-visible {
|
|
3447
|
+
outline: 2px solid var(--ring);
|
|
3448
|
+
outline-offset: 1px;
|
|
3449
|
+
}
|
|
3450
|
+
.t2v-chat .t2v-voice-approval {
|
|
3451
|
+
width: 20rem;
|
|
3452
|
+
max-width: 100%;
|
|
3453
|
+
color-scheme: light;
|
|
3454
|
+
background-color: #ffffff;
|
|
3455
|
+
box-shadow: 0 16px 48px -24px rgb(0 0 0 / 0.35);
|
|
3456
|
+
--t2v-bg: #ffffff;
|
|
3457
|
+
--t2v-foreground: var(--t2v-smoke);
|
|
3458
|
+
--t2v-surface: var(--t2v-ivory);
|
|
3459
|
+
--t2v-surface-hover: var(--t2v-stone);
|
|
3460
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3461
|
+
--t2v-surface-hover: color-mix(in srgb, var(--t2v-stone) 25%, var(--t2v-ivory));
|
|
3462
|
+
}
|
|
3463
|
+
--t2v-muted: var(--t2v-slate);
|
|
3464
|
+
--t2v-border: var(--t2v-stone);
|
|
3465
|
+
--t2v-error: #bb524e;
|
|
3466
|
+
--t2v-radius-sm: calc(var(--radius) * 0.6);
|
|
3467
|
+
--t2v-radius-md: calc(var(--radius) * 0.8);
|
|
3468
|
+
--t2v-radius-lg: var(--radius);
|
|
3469
|
+
--t2v-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
3470
|
+
}
|
|
3471
|
+
.t2v-chat .t2v-voice-approval > [role='region'] {
|
|
3472
|
+
margin: 0 !important;
|
|
3473
|
+
}
|
|
3474
|
+
.t2v-chat .t2v-voice-sr {
|
|
3475
|
+
position: absolute;
|
|
3476
|
+
width: 1px;
|
|
3477
|
+
height: 1px;
|
|
3478
|
+
margin: -1px;
|
|
3479
|
+
padding: 0;
|
|
3480
|
+
overflow: hidden;
|
|
3481
|
+
clip-path: inset(50%);
|
|
3482
|
+
white-space: nowrap;
|
|
3483
|
+
border: 0;
|
|
3484
|
+
}
|
|
3485
|
+
.t2v-chat .t2v-voice-tucked:not([data-on]) {
|
|
3486
|
+
display: none;
|
|
3487
|
+
}
|
|
3488
|
+
.t2v-chat .aui-modal-button, .t2v-chat .t2v-voice-button {
|
|
3336
3489
|
position: relative;
|
|
3337
3490
|
--t2v-beam-tail: #26c8b8;
|
|
3338
3491
|
--t2v-beam-mid: #73ffff;
|
|
3339
3492
|
--t2v-beam-head: #ffffff;
|
|
3340
3493
|
--t2v-beam-ring: rgb(115 255 255 / 0.4);
|
|
3341
3494
|
}
|
|
3342
|
-
.t2v-chat .aui-modal-button::before {
|
|
3495
|
+
.t2v-chat .aui-modal-button::before, .t2v-chat .t2v-voice-button::before {
|
|
3343
3496
|
content: "";
|
|
3344
3497
|
position: absolute;
|
|
3345
3498
|
inset: 0;
|
|
@@ -3351,11 +3504,26 @@
|
|
|
3351
3504
|
animation: t2v-beam 3.2s linear infinite;
|
|
3352
3505
|
}
|
|
3353
3506
|
@media (prefers-reduced-motion: reduce) {
|
|
3354
|
-
.t2v-chat .aui-modal-button::before {
|
|
3507
|
+
.t2v-chat .aui-modal-button::before, .t2v-chat .t2v-voice-button::before {
|
|
3355
3508
|
background: linear-gradient(var(--t2v-beam-mid) 0 0);
|
|
3356
3509
|
animation: t2v-beam-breathe 2.4s ease-in-out infinite;
|
|
3357
3510
|
}
|
|
3358
3511
|
}
|
|
3512
|
+
.t2v-chat .t2v-voice-button[data-state='connecting']::before, .t2v-chat .t2v-voice-button[data-state='listening']::before {
|
|
3513
|
+
filter: drop-shadow(0 0 9px var(--t2v-beam-mid));
|
|
3514
|
+
animation-duration: 1.2s;
|
|
3515
|
+
}
|
|
3516
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3517
|
+
.t2v-chat .t2v-voice-button[data-state='connecting']::before, .t2v-chat .t2v-voice-button[data-state='listening']::before {
|
|
3518
|
+
animation-duration: 1.1s;
|
|
3519
|
+
}
|
|
3520
|
+
}
|
|
3521
|
+
.t2v-chat .t2v-voice-button[data-busy] {
|
|
3522
|
+
--t2v-beam-tail: #bb524e;
|
|
3523
|
+
--t2v-beam-mid: #f0a74a;
|
|
3524
|
+
--t2v-beam-head: #fff490;
|
|
3525
|
+
--t2v-beam-ring: rgb(240 167 74 / 0.4);
|
|
3526
|
+
}
|
|
3359
3527
|
.t2v-chat .t2v-tool-approval-prompt {
|
|
3360
3528
|
display: -webkit-box;
|
|
3361
3529
|
-webkit-box-orient: vertical;
|
|
@@ -3435,6 +3603,11 @@
|
|
|
3435
3603
|
opacity: 0;
|
|
3436
3604
|
}
|
|
3437
3605
|
}
|
|
3606
|
+
@keyframes t2v-voice-spin {
|
|
3607
|
+
to {
|
|
3608
|
+
rotate: 360deg;
|
|
3609
|
+
}
|
|
3610
|
+
}
|
|
3438
3611
|
@keyframes t2v-collapsible-down {
|
|
3439
3612
|
from {
|
|
3440
3613
|
height: 0;
|
package/dist/chat.raw.css
CHANGED
|
@@ -694,6 +694,9 @@
|
|
|
694
694
|
.h-\[17px\] {
|
|
695
695
|
height: 17px;
|
|
696
696
|
}
|
|
697
|
+
.h-\[20px\] {
|
|
698
|
+
height: 20px;
|
|
699
|
+
}
|
|
697
700
|
.h-\[29px\] {
|
|
698
701
|
height: 29px;
|
|
699
702
|
}
|
|
@@ -778,6 +781,9 @@
|
|
|
778
781
|
.w-\[14px\] {
|
|
779
782
|
width: 14px;
|
|
780
783
|
}
|
|
784
|
+
.w-\[22px\] {
|
|
785
|
+
width: 22px;
|
|
786
|
+
}
|
|
781
787
|
.w-\[40px\] {
|
|
782
788
|
width: 40px;
|
|
783
789
|
}
|
|
@@ -3259,6 +3265,13 @@
|
|
|
3259
3265
|
height: 100%;
|
|
3260
3266
|
font-family: var(--t2v-font);
|
|
3261
3267
|
color: var(--foreground);
|
|
3268
|
+
text-align: start;
|
|
3269
|
+
text-transform: none;
|
|
3270
|
+
letter-spacing: normal;
|
|
3271
|
+
word-spacing: normal;
|
|
3272
|
+
line-height: normal;
|
|
3273
|
+
text-indent: 0;
|
|
3274
|
+
white-space: normal;
|
|
3262
3275
|
}
|
|
3263
3276
|
:root.t2v-portal-host {
|
|
3264
3277
|
height: auto;
|
|
@@ -3340,14 +3353,154 @@
|
|
|
3340
3353
|
animation: t2v-cursor-blink 1s step-end infinite;
|
|
3341
3354
|
}
|
|
3342
3355
|
}
|
|
3343
|
-
.
|
|
3356
|
+
.t2v-voice, :root.t2v-voice {
|
|
3357
|
+
position: relative;
|
|
3358
|
+
display: flex;
|
|
3359
|
+
align-items: flex-end;
|
|
3360
|
+
}
|
|
3361
|
+
.t2v-voice {
|
|
3362
|
+
margin-inline-end: 0.5rem;
|
|
3363
|
+
}
|
|
3364
|
+
:root.t2v-voice {
|
|
3365
|
+
display: inline-flex;
|
|
3366
|
+
height: auto;
|
|
3367
|
+
}
|
|
3368
|
+
.t2v-voice-button {
|
|
3369
|
+
display: inline-flex;
|
|
3370
|
+
flex-shrink: 0;
|
|
3371
|
+
align-items: center;
|
|
3372
|
+
justify-content: center;
|
|
3373
|
+
width: 4rem;
|
|
3374
|
+
height: 4rem;
|
|
3375
|
+
padding: 0;
|
|
3376
|
+
border: 0;
|
|
3377
|
+
border-radius: 0;
|
|
3378
|
+
background-color: var(--primary);
|
|
3379
|
+
color: var(--primary-foreground);
|
|
3380
|
+
cursor: pointer;
|
|
3381
|
+
box-shadow: 0 6px 20px -8px rgb(2 28 37 / 0.55);
|
|
3382
|
+
}
|
|
3383
|
+
.t2v-voice-button:hover {
|
|
3384
|
+
filter: brightness(0.95);
|
|
3385
|
+
}
|
|
3386
|
+
.t2v-voice-button:active {
|
|
3387
|
+
scale: 0.96;
|
|
3388
|
+
}
|
|
3389
|
+
.t2v-voice-button:focus-visible {
|
|
3390
|
+
outline: 2px solid var(--ring);
|
|
3391
|
+
outline-offset: 6px;
|
|
3392
|
+
}
|
|
3393
|
+
.t2v-voice-button[data-state='listening'] {
|
|
3394
|
+
background-color: var(--primary-foreground);
|
|
3395
|
+
color: var(--primary);
|
|
3396
|
+
}
|
|
3397
|
+
.t2v-voice-spin {
|
|
3398
|
+
animation: t2v-voice-spin 0.9s linear infinite;
|
|
3399
|
+
}
|
|
3400
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
3401
|
+
.t2v-voice-button {
|
|
3402
|
+
transition: scale 150ms ease-out;
|
|
3403
|
+
}
|
|
3404
|
+
}
|
|
3405
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3406
|
+
.t2v-voice-button .t2v-wave-bar {
|
|
3407
|
+
animation: none;
|
|
3408
|
+
}
|
|
3409
|
+
}
|
|
3410
|
+
.t2v-voice-popover {
|
|
3411
|
+
position: absolute;
|
|
3412
|
+
inset-block-end: calc(100% + 0.75rem);
|
|
3413
|
+
inset-inline-end: 0;
|
|
3414
|
+
display: flex;
|
|
3415
|
+
flex-direction: column;
|
|
3416
|
+
align-items: flex-end;
|
|
3417
|
+
gap: 0.5rem;
|
|
3418
|
+
width: max-content;
|
|
3419
|
+
max-width: min(20rem, calc(100vw - 2rem));
|
|
3420
|
+
font-size: 0.8125rem;
|
|
3421
|
+
line-height: 1.4;
|
|
3422
|
+
}
|
|
3423
|
+
.t2v-voice-status, .t2v-voice-error {
|
|
3424
|
+
border: 1px solid var(--border);
|
|
3425
|
+
border-radius: var(--radius);
|
|
3426
|
+
background-color: var(--popover);
|
|
3427
|
+
color: var(--popover-foreground);
|
|
3428
|
+
box-shadow: 0 6px 20px -8px rgb(2 28 37 / 0.35);
|
|
3429
|
+
}
|
|
3430
|
+
.t2v-voice-status {
|
|
3431
|
+
padding: 0.375rem 0.75rem;
|
|
3432
|
+
font-weight: 500;
|
|
3433
|
+
white-space: nowrap;
|
|
3434
|
+
}
|
|
3435
|
+
.t2v-voice-error {
|
|
3436
|
+
display: flex;
|
|
3437
|
+
align-items: flex-start;
|
|
3438
|
+
gap: 0.5rem;
|
|
3439
|
+
padding: 0.5rem 0.5rem 0.5rem 0.75rem;
|
|
3440
|
+
border-inline-start: 3px solid var(--destructive);
|
|
3441
|
+
}
|
|
3442
|
+
.t2v-voice-dismiss {
|
|
3443
|
+
display: inline-flex;
|
|
3444
|
+
flex-shrink: 0;
|
|
3445
|
+
padding: 0.125rem;
|
|
3446
|
+
border: 0;
|
|
3447
|
+
background: transparent;
|
|
3448
|
+
color: var(--muted-foreground);
|
|
3449
|
+
cursor: pointer;
|
|
3450
|
+
}
|
|
3451
|
+
.t2v-voice-dismiss:hover {
|
|
3452
|
+
color: var(--popover-foreground);
|
|
3453
|
+
}
|
|
3454
|
+
.t2v-voice-dismiss:focus-visible {
|
|
3455
|
+
outline: 2px solid var(--ring);
|
|
3456
|
+
outline-offset: 1px;
|
|
3457
|
+
}
|
|
3458
|
+
.t2v-voice-approval {
|
|
3459
|
+
width: 20rem;
|
|
3460
|
+
max-width: 100%;
|
|
3461
|
+
color-scheme: light;
|
|
3462
|
+
background-color: #ffffff;
|
|
3463
|
+
box-shadow: 0 16px 48px -24px rgb(0 0 0 / 0.35);
|
|
3464
|
+
--t2v-bg: #ffffff;
|
|
3465
|
+
--t2v-foreground: var(--t2v-smoke);
|
|
3466
|
+
--t2v-surface: var(--t2v-ivory);
|
|
3467
|
+
--t2v-surface-hover: var(--t2v-stone);
|
|
3468
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
3469
|
+
--t2v-surface-hover: color-mix(in srgb, var(--t2v-stone) 25%, var(--t2v-ivory));
|
|
3470
|
+
}
|
|
3471
|
+
--t2v-muted: var(--t2v-slate);
|
|
3472
|
+
--t2v-border: var(--t2v-stone);
|
|
3473
|
+
--t2v-error: #bb524e;
|
|
3474
|
+
--t2v-radius-sm: calc(var(--radius) * 0.6);
|
|
3475
|
+
--t2v-radius-md: calc(var(--radius) * 0.8);
|
|
3476
|
+
--t2v-radius-lg: var(--radius);
|
|
3477
|
+
--t2v-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
3478
|
+
}
|
|
3479
|
+
.t2v-voice-approval > [role='region'] {
|
|
3480
|
+
margin: 0 !important;
|
|
3481
|
+
}
|
|
3482
|
+
.t2v-voice-sr {
|
|
3483
|
+
position: absolute;
|
|
3484
|
+
width: 1px;
|
|
3485
|
+
height: 1px;
|
|
3486
|
+
margin: -1px;
|
|
3487
|
+
padding: 0;
|
|
3488
|
+
overflow: hidden;
|
|
3489
|
+
clip-path: inset(50%);
|
|
3490
|
+
white-space: nowrap;
|
|
3491
|
+
border: 0;
|
|
3492
|
+
}
|
|
3493
|
+
.t2v-voice-tucked:not([data-on]) {
|
|
3494
|
+
display: none;
|
|
3495
|
+
}
|
|
3496
|
+
.aui-modal-button, .t2v-voice-button {
|
|
3344
3497
|
position: relative;
|
|
3345
3498
|
--t2v-beam-tail: #26c8b8;
|
|
3346
3499
|
--t2v-beam-mid: #73ffff;
|
|
3347
3500
|
--t2v-beam-head: #ffffff;
|
|
3348
3501
|
--t2v-beam-ring: rgb(115 255 255 / 0.4);
|
|
3349
3502
|
}
|
|
3350
|
-
.aui-modal-button::before {
|
|
3503
|
+
.aui-modal-button::before, .t2v-voice-button::before {
|
|
3351
3504
|
content: "";
|
|
3352
3505
|
position: absolute;
|
|
3353
3506
|
inset: 0;
|
|
@@ -3359,11 +3512,26 @@
|
|
|
3359
3512
|
animation: t2v-beam 3.2s linear infinite;
|
|
3360
3513
|
}
|
|
3361
3514
|
@media (prefers-reduced-motion: reduce) {
|
|
3362
|
-
.aui-modal-button::before {
|
|
3515
|
+
.aui-modal-button::before, .t2v-voice-button::before {
|
|
3363
3516
|
background: linear-gradient(var(--t2v-beam-mid) 0 0);
|
|
3364
3517
|
animation: t2v-beam-breathe 2.4s ease-in-out infinite;
|
|
3365
3518
|
}
|
|
3366
3519
|
}
|
|
3520
|
+
.t2v-voice-button[data-state='connecting']::before, .t2v-voice-button[data-state='listening']::before {
|
|
3521
|
+
filter: drop-shadow(0 0 9px var(--t2v-beam-mid));
|
|
3522
|
+
animation-duration: 1.2s;
|
|
3523
|
+
}
|
|
3524
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3525
|
+
.t2v-voice-button[data-state='connecting']::before, .t2v-voice-button[data-state='listening']::before {
|
|
3526
|
+
animation-duration: 1.1s;
|
|
3527
|
+
}
|
|
3528
|
+
}
|
|
3529
|
+
.t2v-voice-button[data-busy] {
|
|
3530
|
+
--t2v-beam-tail: #bb524e;
|
|
3531
|
+
--t2v-beam-mid: #f0a74a;
|
|
3532
|
+
--t2v-beam-head: #fff490;
|
|
3533
|
+
--t2v-beam-ring: rgb(240 167 74 / 0.4);
|
|
3534
|
+
}
|
|
3367
3535
|
.t2v-tool-approval-prompt {
|
|
3368
3536
|
display: -webkit-box;
|
|
3369
3537
|
-webkit-box-orient: vertical;
|
|
@@ -3443,6 +3611,11 @@
|
|
|
3443
3611
|
opacity: 0;
|
|
3444
3612
|
}
|
|
3445
3613
|
}
|
|
3614
|
+
@keyframes t2v-voice-spin {
|
|
3615
|
+
to {
|
|
3616
|
+
rotate: 360deg;
|
|
3617
|
+
}
|
|
3618
|
+
}
|
|
3446
3619
|
@keyframes collapsible-down {
|
|
3447
3620
|
from {
|
|
3448
3621
|
height: 0;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,KAAK,EACV,mBAAmB,EAEnB,SAAS,EACV,MAAM,YAAY,CAAC;AAgBpB,KAAK,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH,OAAO,KAAK,EACV,mBAAmB,EAEnB,SAAS,EACV,MAAM,YAAY,CAAC;AAgBpB,KAAK,aAAa,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AA0D3D,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,cAAc,CAAuC;gBAEjD,MAAM,EAAE,SAAS;IAQ7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IASpB;;;;;;;;OAQG;YACW,iBAAiB;IAe/B;;OAEG;YACW,aAAa;IAiE3B,OAAO,CAAC,YAAY;IAiBpB;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;IAKvE;;OAEG;IACG,OAAO,CAAC,CAAC,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,EACzB,YAAY,UAAO,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,CAAC;IAgBb;;;OAGG;IACG,aAAa,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,YAAY,UAAO,EACnB,OAAO,GAAE,MAA+B,GACvC,OAAO,CAAC,CAAC,CAAC;IAiBb;;;;;;;OAOG;IACI,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,WAAW,GAC3B,cAAc,CAAC,mBAAmB,CAAC;IA+CtC;;;;;;;;;;;;OAYG;IACG,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;YAI/B,eAAe;YAgBf,cAAc;CAgD7B"}
|
package/dist/client.js
CHANGED
|
@@ -9,6 +9,53 @@ const DEFAULT_REQUEST_TIMEOUT = 30_000;
|
|
|
9
9
|
// Uploads (attachments, audio) move real bytes — a multi-MB file on a slow link
|
|
10
10
|
// or a busy backend easily exceeds the 30s API timeout. Give them a wider window.
|
|
11
11
|
const DEFAULT_UPLOAD_TIMEOUT = 120_000;
|
|
12
|
+
/**
|
|
13
|
+
* A missing or empty key used to travel as the literal header
|
|
14
|
+
* `X-T2V-Partner-Key: undefined` and come back as a 401 three layers away,
|
|
15
|
+
* usually while the developer was looking at something else. It is the first
|
|
16
|
+
* thing an integrator gets wrong — an environment variable that did not load —
|
|
17
|
+
* so say it where it happened, in their own stack trace.
|
|
18
|
+
*
|
|
19
|
+
* The shape check is deliberately loose: a wrong-but-plausible key is the
|
|
20
|
+
* engine's to reject, and this must never refuse a key format Talk2View
|
|
21
|
+
* introduces later.
|
|
22
|
+
*/
|
|
23
|
+
function assertPartnerKey(partnerKey) {
|
|
24
|
+
if (typeof partnerKey !== 'string' || partnerKey.trim() === '') {
|
|
25
|
+
throw new PartnerKeyError('No partner key. Pass `partnerKey` when creating the client — ' +
|
|
26
|
+
'get one at https://dashboard.talk2view.com.', 'partner_key_error', 0);
|
|
27
|
+
}
|
|
28
|
+
// `pk_` and nothing more. The rest of a key's shape is the engine's to know,
|
|
29
|
+
// and a check that encoded today's format would reject tomorrow's. What this
|
|
30
|
+
// catches is the mistake worth catching: a secret in the wrong field.
|
|
31
|
+
if (!partnerKey.startsWith('pk_')) {
|
|
32
|
+
throw new PartnerKeyError(`That does not look like a partner key: "${partnerKey.slice(0, 12)}…". ` +
|
|
33
|
+
'Partner keys begin with pk_ and are public identifiers rather than ' +
|
|
34
|
+
'secrets — a server-side API key does not belong here.', 'partner_key_error', 0);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Every request to this address carries the end-user's access token in an
|
|
39
|
+
* `Authorization` header. Over plain http that token crosses the network in
|
|
40
|
+
* the clear, and a typo in an integrator's environment variable is all it
|
|
41
|
+
* takes. Loud, once, rather than silent: a local address is how people
|
|
42
|
+
* develop, so only that is exempt.
|
|
43
|
+
*/
|
|
44
|
+
function warnIfInsecure(baseUrl) {
|
|
45
|
+
try {
|
|
46
|
+
const url = new URL(baseUrl);
|
|
47
|
+
if (url.protocol === 'https:')
|
|
48
|
+
return;
|
|
49
|
+
const local = ['localhost', '127.0.0.1', '::1', '0.0.0.0'].includes(url.hostname);
|
|
50
|
+
if (url.protocol === 'http:' && local)
|
|
51
|
+
return;
|
|
52
|
+
console.warn(`[Talk2View] baseUrl is ${url.protocol}//${url.host} — not https. Access tokens ` +
|
|
53
|
+
'will be sent over an unencrypted connection. Use https outside local development.');
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
console.warn(`[Talk2View] baseUrl is not a valid URL: ${baseUrl}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
12
59
|
export class T2VClient {
|
|
13
60
|
baseUrl;
|
|
14
61
|
partnerKey;
|
|
@@ -16,9 +63,11 @@ export class T2VClient {
|
|
|
16
63
|
isRefreshing = false;
|
|
17
64
|
refreshPromise = null;
|
|
18
65
|
constructor(config) {
|
|
66
|
+
assertPartnerKey(config.partnerKey);
|
|
19
67
|
this.partnerKey = config.partnerKey;
|
|
20
68
|
this.baseUrl = config.baseUrl ?? DEFAULT_BASE_URL;
|
|
21
69
|
this.requestTimeout = config.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT;
|
|
70
|
+
warnIfInsecure(this.baseUrl);
|
|
22
71
|
}
|
|
23
72
|
/**
|
|
24
73
|
* Create an AbortController that auto-aborts after the configured timeout.
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,eAAe,EAEf,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAOjD,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AACxD,MAAM,uBAAuB,GAAG,MAAM,CAAC;AACvC,gFAAgF;AAChF,kFAAkF;AAClF,MAAM,sBAAsB,GAAG,OAAO,CAAC;AAYvC,MAAM,OAAO,SAAS;IACH,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,cAAc,CAAS;IAChC,YAAY,GAAG,KAAK,CAAC;IACrB,cAAc,GAAkC,IAAI,CAAC;IAE7D,YAAY,MAAiB;QAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/event-emitter.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare class TypedEventEmitter<TEvents extends Record<string, unknown[]>> {
|
|
2
2
|
private listeners;
|
|
3
3
|
on<K extends keyof TEvents>(event: K, callback: (...args: TEvents[K]) => void): () => void;
|
|
4
|
+
off<K extends keyof TEvents>(event: K, callback: (...args: TEvents[K]) => void): void;
|
|
4
5
|
emit<K extends keyof TEvents>(event: K, ...args: TEvents[K]): void;
|
|
5
6
|
removeAllListeners(): void;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../src/event-emitter.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACtE,OAAO,CAAC,SAAS,CAA+D;IAEhF,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EACxB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GACtC,MAAM,IAAI;IASb,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IASlE,kBAAkB,IAAI,IAAI;CAG3B"}
|
|
1
|
+
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../src/event-emitter.ts"],"names":[],"mappings":"AAAA,qBAAa,iBAAiB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACtE,OAAO,CAAC,SAAS,CAA+D;IAEhF,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EACxB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GACtC,MAAM,IAAI;IASb,GAAG,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAIrF,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IASlE,kBAAkB,IAAI,IAAI;CAG3B"}
|
package/dist/event-emitter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../src/event-emitter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IACpB,SAAS,GAAG,IAAI,GAAG,EAAoD,CAAC;IAEhF,EAAE,CACA,KAAQ,EACR,QAAuC;QAEvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,QAAwC,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAwC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,CAA0B,KAAQ,EAAE,GAAG,IAAgB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"event-emitter.js","sourceRoot":"","sources":["../src/event-emitter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iBAAiB;IACpB,SAAS,GAAG,IAAI,GAAG,EAAoD,CAAC;IAEhF,EAAE,CACA,KAAQ,EACR,QAAuC;QAEvC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,QAAwC,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,QAAwC,CAAC,CAAC;IACpE,CAAC;IAED,GAAG,CAA0B,KAAQ,EAAE,QAAuC;QAC5E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAwC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,CAA0B,KAAQ,EAAE,GAAG,IAAgB;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ import { T2VAuth } from './auth.js';
|
|
|
34
34
|
import { T2VSession } from './sessions.js';
|
|
35
35
|
import { T2VSkills } from './skills.js';
|
|
36
36
|
import { T2VTools } from './tools.js';
|
|
37
|
+
import { T2VVoice } from './voice-facade.js';
|
|
37
38
|
import type { AgentStatus, Attachment, AudioModelsResponse, ChatEvent, ChatMessage, ConversationSnapshot, DisplayMessage, HumanDecision, PartnerConfig, PendingApproval, ModelsResponse, T2VConfig, T2VEventMap, TranscriptionResponse } from './types.js';
|
|
38
39
|
type SessionClearCallback = () => void;
|
|
39
40
|
type SessionCreateCallback = (toolNames: string[]) => void;
|
|
@@ -74,8 +75,15 @@ export declare class Talk2View {
|
|
|
74
75
|
/** True between stop() and stream teardown, so the abort isn't surfaced as an error. */
|
|
75
76
|
private _stopped;
|
|
76
77
|
private readonly emitter;
|
|
78
|
+
private _voice;
|
|
77
79
|
private debug;
|
|
78
80
|
constructor(config: T2VConfig);
|
|
81
|
+
/**
|
|
82
|
+
* The realtime voice agent (`<VoiceButton>` uses this). A thin facade built
|
|
83
|
+
* on first access; the voice controller and the Pipecat client libraries
|
|
84
|
+
* load on the first `start()`.
|
|
85
|
+
*/
|
|
86
|
+
get voice(): T2VVoice;
|
|
79
87
|
/**
|
|
80
88
|
* Create a new chat session.
|
|
81
89
|
*/
|
|
@@ -258,6 +266,13 @@ export declare class Talk2View {
|
|
|
258
266
|
* whatever replaces the conversation it belongs to.
|
|
259
267
|
*/
|
|
260
268
|
private endCurrentTurn;
|
|
269
|
+
/**
|
|
270
|
+
* A call belongs to the account that started it. A deliberate sign-out or a
|
|
271
|
+
* switch to another account hangs it up (`stopped`); a session that died
|
|
272
|
+
* under it (`null` without {@link T2VAuth.logout}) ends it as `auth_expired`,
|
|
273
|
+
* with an `auth_expired` error, so the end-user is told to sign in again.
|
|
274
|
+
*/
|
|
275
|
+
private endVoiceCallForIdentityChange;
|
|
261
276
|
/**
|
|
262
277
|
* Drop the cached session when the signed-in identity changes, so the next
|
|
263
278
|
* chat() opens a fresh session owned by the new user. Unlike {@link clearSession}
|
|
@@ -368,11 +383,19 @@ export declare class Talk2View {
|
|
|
368
383
|
}
|
|
369
384
|
export { T2VAuth } from './auth.js';
|
|
370
385
|
export type { PopupProvider } from './auth.js';
|
|
386
|
+
/** @internal Exported for typing. Construct {@link Talk2View} instead. */
|
|
371
387
|
export { T2VClient } from './client.js';
|
|
388
|
+
/** @internal Exported for typing. Sessions are created by {@link Talk2View}. */
|
|
372
389
|
export { T2VSession } from './sessions.js';
|
|
373
390
|
export { T2VSkills } from './skills.js';
|
|
374
391
|
export { T2VTools } from './tools.js';
|
|
392
|
+
/** @internal Exported for typing `t2v.on(...)`. Not part of the supported surface. */
|
|
375
393
|
export { TypedEventEmitter } from './event-emitter.js';
|
|
376
394
|
export { T2VError, AuthenticationError, PartnerKeyError, SessionError, NetworkError } from './errors.js';
|
|
377
|
-
export
|
|
395
|
+
export { T2VVoice } from './voice-facade.js';
|
|
396
|
+
/** @internal Exported for typing `t2v.voice`. Not part of the supported surface. */
|
|
397
|
+
export type { T2VVoiceOptions, VoiceControllerLoader } from './voice-facade.js';
|
|
398
|
+
export { VoiceStartError } from './voice-error.js';
|
|
399
|
+
export type { T2VVoiceController, T2VVoiceDeps, VoiceLibs, VoiceLibLoader } from './voice.js';
|
|
400
|
+
export type { T2VEventMap, T2VConfig, User, Attachment, AttachmentContentPart, MessageContentPart, TextContentPart, ChatEvent, ChatMessage, ConversationSnapshot, ClientTool, ClientToolSchema, ToolHandler, TokenResponse, SignupOutcome, ToolCallInterrupt, AgentStatus, ChatCompletionChunk, RegisterToolsResponse, RegisterSkillsResponse, UserSkill, HumanDecision, PendingApproval, PermissionResult, PermissionCheckResult, ToolPermissionCallback, Model, AudioModel, ModelsResponse, TranscriptionResponse, AudioModelsResponse, GeneratedImageDisplay, ImageFailureDisplay, ImageToolDisplay, ImageGenerationRequest, ImageEditRequest, ImageData, ImagesResponse, ImageModel, ImageModelsResponse, PartnerConfig, UserPreferences, DisplayMessage, ToolStep, VoiceSessionResponse, VoiceState, VoiceEndReason, VoiceError, VoiceTranscript, VoiceToolCall, VoicePendingApproval, VoiceEventMap, VoiceIceServer, } from './types.js';
|
|
378
401
|
//# sourceMappingURL=index.d.ts.map
|