@taskless-app/shared 0.1.30 → 0.1.31
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.
|
@@ -4,19 +4,29 @@ import { z } from "zod";
|
|
|
4
4
|
* знает, была ли подписка и шли ли PCM-кадры; здесь мы её читаем.
|
|
5
5
|
*
|
|
6
6
|
* `not_subscribed` — публиковал аудио, а рекордера на дорожке не было ни разу;
|
|
7
|
+
* `track_unseen` — дорожка БЫЛА, а агент её не увидел (v6, TAS-536). Доказано
|
|
8
|
+
* одним из двух: комната называла человека активным
|
|
9
|
+
* говорящим (это считает SFU по звуку публикующей стороны и
|
|
10
|
+
* рассылает всем — мимо наших подписок), либо у него висели
|
|
11
|
+
* неподписанные публикации. Дейли 18.08: Дмитрий Гребенев
|
|
12
|
+
* отвечал 102 секунды, его слышали все, Сергей поблагодарил
|
|
13
|
+
* по имени — а в отчёте он «аудио не публиковал»;
|
|
7
14
|
* `no_track` — аудио не публиковал ВОВСЕ, но просидел в комнате дольше
|
|
8
15
|
* порога сверки присутствия (пять минут). Про этих людей до
|
|
9
16
|
* TAS-511 отчёт говорил «слушатель»: Дима Гальянов, 39 минут
|
|
10
|
-
* в звонке, ноль реплик — и ни строки о нём в логе
|
|
17
|
+
* в звонке, ноль реплик — и ни строки о нём в логе агента.
|
|
18
|
+
* С v6 это ровно «микрофон не включали»: признаков дорожки
|
|
19
|
+
* нет ни одного, и раньше сюда же уезжала потеря;
|
|
11
20
|
* `no_audio` — подписка была, но ни одного кадра не доехало;
|
|
12
21
|
* `suppressed` — сегменты распознавались, но их выбрасывал анти-дубль
|
|
13
22
|
* «участник вышел» (собственно баг PRJ3-101).
|
|
14
23
|
*
|
|
15
24
|
* Молчавших и слушателей здесь НЕТ: их ноль объяснён, и сигналом он не
|
|
16
|
-
* является — иначе предупреждение висело бы на каждом созвоне.
|
|
17
|
-
*
|
|
25
|
+
* является — иначе предупреждение висело бы на каждом созвоне. Границу между
|
|
26
|
+
* «слушал» и «не слышали» проводит время в комнате, а границу между «не
|
|
27
|
+
* включал микрофон» и «не увидели дорожку» — доказательство, а не время.
|
|
18
28
|
*/
|
|
19
|
-
export declare const TranscriptCoverageGapReason: z.ZodEnum<["not_subscribed", "no_track", "no_audio", "suppressed"]>;
|
|
29
|
+
export declare const TranscriptCoverageGapReason: z.ZodEnum<["not_subscribed", "track_unseen", "no_track", "no_audio", "suppressed"]>;
|
|
20
30
|
export type TranscriptCoverageGapReason = z.infer<typeof TranscriptCoverageGapReason>;
|
|
21
31
|
/**
|
|
22
32
|
* Отчёт агента за одну сессию.
|
|
@@ -33,7 +43,17 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
33
43
|
* комнате дольше пяти минут без единой дорожки, теперь gap с причиной
|
|
34
44
|
* `no_track`, а не слушатель; v4 (TAS-509) — появился `audioStall`;
|
|
35
45
|
* v5 (TAS-524) — появились `window` и `jobId`: отчёт наконец говорит, за
|
|
36
|
-
* какой отрезок он
|
|
46
|
+
* какой отрезок он отвечает; v6 (TAS-536) — `no_track` разошёлся надвое:
|
|
47
|
+
* «микрофон не включали» остался `no_track`, а доказанная потеря стала
|
|
48
|
+
* `track_unseen`; появились `presenceChecks`, `heardWithoutTrack` и
|
|
49
|
+
* `evidence` у gap'ов.
|
|
50
|
+
*
|
|
51
|
+
* ВЫКАТКА v6: агент едет образом, api — своим релизом, и порядок не
|
|
52
|
+
* гарантирован. Новый агент шлёт причину `track_unseen`, которой у старого
|
|
53
|
+
* api нет в enum, — такой отчёт не разберётся целиком и станет `null`, то
|
|
54
|
+
* есть «данных нет». Это безопасная сторона (звук держим, ничего не удаляем),
|
|
55
|
+
* но api с этой схемой должен уехать НЕ ПОЗЖЕ образа агента. Ровно те же
|
|
56
|
+
* грабли были у `no_track` в TAS-511, см. api calls/audioReconcile.test.ts.
|
|
37
57
|
*
|
|
38
58
|
* ПРИ ЧТЕНИИ поля разбираются по одному, отсутствующие дают значение по
|
|
39
59
|
* умолчанию — агент и api выкатываются раздельно, и отчёт старого образа не
|
|
@@ -103,20 +123,31 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
103
123
|
identity: string;
|
|
104
124
|
name?: string | undefined;
|
|
105
125
|
}>, "many">>;
|
|
106
|
-
/**
|
|
126
|
+
/**
|
|
127
|
+
* Те, у кого речь могла потеряться. Список урезан, счётчик — нет.
|
|
128
|
+
*
|
|
129
|
+
* `evidence` (v6, TAS-536) — чем причина доказана, словами: «комната слышала
|
|
130
|
+
* его как говорящего (4)», «проверок присутствия: 20, публикаций не видели ни
|
|
131
|
+
* одной». Разбирать такой случай будут по одному отчёту, без доступа к логам
|
|
132
|
+
* того контейнера, а `track_unseen` без основания — это утверждение, которому
|
|
133
|
+
* нечем верить. Пусто у отчётов старее v6 и там, где причина однозначна.
|
|
134
|
+
*/
|
|
107
135
|
gaps: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
108
136
|
identity: z.ZodString;
|
|
109
137
|
name: z.ZodDefault<z.ZodString>;
|
|
110
138
|
} & {
|
|
111
|
-
reason: z.ZodEnum<["not_subscribed", "no_track", "no_audio", "suppressed"]>;
|
|
139
|
+
reason: z.ZodEnum<["not_subscribed", "track_unseen", "no_track", "no_audio", "suppressed"]>;
|
|
140
|
+
evidence: z.ZodDefault<z.ZodString>;
|
|
112
141
|
}, "strip", z.ZodTypeAny, {
|
|
113
142
|
identity: string;
|
|
114
143
|
name: string;
|
|
115
|
-
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed";
|
|
144
|
+
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed" | "track_unseen";
|
|
145
|
+
evidence: string;
|
|
116
146
|
}, {
|
|
117
147
|
identity: string;
|
|
118
148
|
name?: string | undefined;
|
|
119
|
-
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed";
|
|
149
|
+
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed" | "track_unseen";
|
|
150
|
+
evidence?: string | undefined;
|
|
120
151
|
}>, "many">>;
|
|
121
152
|
gapCount: z.ZodDefault<z.ZodNumber>;
|
|
122
153
|
/**
|
|
@@ -150,6 +181,30 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
150
181
|
* дожимать было нечего — публикации от него нет вовсе.
|
|
151
182
|
*/
|
|
152
183
|
presenceProbes: z.ZodDefault<z.ZodNumber>;
|
|
184
|
+
/**
|
|
185
|
+
* А сколько раз сверка присутствия вообще СМОТРЕЛА на людей без дорожки
|
|
186
|
+
* (v6, TAS-536).
|
|
187
|
+
*
|
|
188
|
+
* Ровно то, чего не хватало при разборе дейли 18.08: в отчёте стояло
|
|
189
|
+
* `presenceProbes: 0` при восьми gap'ах `no_track`, и это прочли как «сверка
|
|
190
|
+
* не отработала ни разу». Отработала: флаг `no_track` ставит ТОЛЬКО она, то
|
|
191
|
+
* есть проходов было минимум восемь — просто дожимать было нечего, публикаций
|
|
192
|
+
* у этих людей агент не видел ни одной («дожали публикаций: 0» в логе).
|
|
193
|
+
*
|
|
194
|
+
* Ноль ЗДЕСЬ при непустых gap'ах — вот это уже поломка самой сверки, и она
|
|
195
|
+
* наконец отличима от «сверка работала, а дожимать нечего».
|
|
196
|
+
*/
|
|
197
|
+
presenceChecks: z.ZodDefault<z.ZodNumber>;
|
|
198
|
+
/**
|
|
199
|
+
* Скольких комната слышала как говорящих, а аудио-дорожки от них агент не
|
|
200
|
+
* видел (v6, TAS-536).
|
|
201
|
+
*
|
|
202
|
+
* Самое дорогое число в отчёте: больше нуля значит, что человек говорил, его
|
|
203
|
+
* слышали остальные, и мимо расшифровки прошла живая речь — не тишина, не
|
|
204
|
+
* режим слушателя. До v6 такой человек попадал в `no_track` вперемешку с
|
|
205
|
+
* теми, кто просто не включал микрофон, и потеря была невидима.
|
|
206
|
+
*/
|
|
207
|
+
heardWithoutTrack: z.ZodDefault<z.ZodNumber>;
|
|
153
208
|
/**
|
|
154
209
|
* Чем кончился выход джоба. `drain: "cancelled" | "abandoned"` означает, что
|
|
155
210
|
* хвост очереди распознавания не доехал до базы, — снаружи это выглядит как
|
|
@@ -269,7 +324,8 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
269
324
|
gaps: {
|
|
270
325
|
identity: string;
|
|
271
326
|
name: string;
|
|
272
|
-
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed";
|
|
327
|
+
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed" | "track_unseen";
|
|
328
|
+
evidence: string;
|
|
273
329
|
}[];
|
|
274
330
|
gapCount: number;
|
|
275
331
|
repairedSubscriptions: number;
|
|
@@ -281,6 +337,8 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
281
337
|
stuckCount: number;
|
|
282
338
|
suppressedSegments: number;
|
|
283
339
|
presenceProbes: number;
|
|
340
|
+
presenceChecks: number;
|
|
341
|
+
heardWithoutTrack: number;
|
|
284
342
|
shutdown: {
|
|
285
343
|
drain: "abandoned" | "cancelled" | "drained";
|
|
286
344
|
unfinishedRecorders: number;
|
|
@@ -323,7 +381,8 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
323
381
|
gaps?: {
|
|
324
382
|
identity: string;
|
|
325
383
|
name?: string | undefined;
|
|
326
|
-
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed";
|
|
384
|
+
reason: "no_audio" | "no_track" | "not_subscribed" | "suppressed" | "track_unseen";
|
|
385
|
+
evidence?: string | undefined;
|
|
327
386
|
}[] | undefined;
|
|
328
387
|
gapCount?: number | undefined;
|
|
329
388
|
repairedSubscriptions?: number | undefined;
|
|
@@ -335,6 +394,8 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
335
394
|
stuckCount?: number | undefined;
|
|
336
395
|
suppressedSegments?: number | undefined;
|
|
337
396
|
presenceProbes?: number | undefined;
|
|
397
|
+
presenceChecks?: number | undefined;
|
|
398
|
+
heardWithoutTrack?: number | undefined;
|
|
338
399
|
shutdown?: {
|
|
339
400
|
drain?: "abandoned" | "cancelled" | "drained" | undefined;
|
|
340
401
|
unfinishedRecorders?: number | undefined;
|
|
@@ -19,20 +19,31 @@ import { z } from "zod";
|
|
|
19
19
|
* знает, была ли подписка и шли ли PCM-кадры; здесь мы её читаем.
|
|
20
20
|
*
|
|
21
21
|
* `not_subscribed` — публиковал аудио, а рекордера на дорожке не было ни разу;
|
|
22
|
+
* `track_unseen` — дорожка БЫЛА, а агент её не увидел (v6, TAS-536). Доказано
|
|
23
|
+
* одним из двух: комната называла человека активным
|
|
24
|
+
* говорящим (это считает SFU по звуку публикующей стороны и
|
|
25
|
+
* рассылает всем — мимо наших подписок), либо у него висели
|
|
26
|
+
* неподписанные публикации. Дейли 18.08: Дмитрий Гребенев
|
|
27
|
+
* отвечал 102 секунды, его слышали все, Сергей поблагодарил
|
|
28
|
+
* по имени — а в отчёте он «аудио не публиковал»;
|
|
22
29
|
* `no_track` — аудио не публиковал ВОВСЕ, но просидел в комнате дольше
|
|
23
30
|
* порога сверки присутствия (пять минут). Про этих людей до
|
|
24
31
|
* TAS-511 отчёт говорил «слушатель»: Дима Гальянов, 39 минут
|
|
25
|
-
* в звонке, ноль реплик — и ни строки о нём в логе
|
|
32
|
+
* в звонке, ноль реплик — и ни строки о нём в логе агента.
|
|
33
|
+
* С v6 это ровно «микрофон не включали»: признаков дорожки
|
|
34
|
+
* нет ни одного, и раньше сюда же уезжала потеря;
|
|
26
35
|
* `no_audio` — подписка была, но ни одного кадра не доехало;
|
|
27
36
|
* `suppressed` — сегменты распознавались, но их выбрасывал анти-дубль
|
|
28
37
|
* «участник вышел» (собственно баг PRJ3-101).
|
|
29
38
|
*
|
|
30
39
|
* Молчавших и слушателей здесь НЕТ: их ноль объяснён, и сигналом он не
|
|
31
|
-
* является — иначе предупреждение висело бы на каждом созвоне.
|
|
32
|
-
*
|
|
40
|
+
* является — иначе предупреждение висело бы на каждом созвоне. Границу между
|
|
41
|
+
* «слушал» и «не слышали» проводит время в комнате, а границу между «не
|
|
42
|
+
* включал микрофон» и «не увидели дорожку» — доказательство, а не время.
|
|
33
43
|
*/
|
|
34
44
|
export const TranscriptCoverageGapReason = z.enum([
|
|
35
45
|
"not_subscribed",
|
|
46
|
+
"track_unseen",
|
|
36
47
|
"no_track",
|
|
37
48
|
"no_audio",
|
|
38
49
|
"suppressed",
|
|
@@ -56,7 +67,17 @@ export const TranscriptCoverage = z.object({
|
|
|
56
67
|
* комнате дольше пяти минут без единой дорожки, теперь gap с причиной
|
|
57
68
|
* `no_track`, а не слушатель; v4 (TAS-509) — появился `audioStall`;
|
|
58
69
|
* v5 (TAS-524) — появились `window` и `jobId`: отчёт наконец говорит, за
|
|
59
|
-
* какой отрезок он
|
|
70
|
+
* какой отрезок он отвечает; v6 (TAS-536) — `no_track` разошёлся надвое:
|
|
71
|
+
* «микрофон не включали» остался `no_track`, а доказанная потеря стала
|
|
72
|
+
* `track_unseen`; появились `presenceChecks`, `heardWithoutTrack` и
|
|
73
|
+
* `evidence` у gap'ов.
|
|
74
|
+
*
|
|
75
|
+
* ВЫКАТКА v6: агент едет образом, api — своим релизом, и порядок не
|
|
76
|
+
* гарантирован. Новый агент шлёт причину `track_unseen`, которой у старого
|
|
77
|
+
* api нет в enum, — такой отчёт не разберётся целиком и станет `null`, то
|
|
78
|
+
* есть «данных нет». Это безопасная сторона (звук держим, ничего не удаляем),
|
|
79
|
+
* но api с этой схемой должен уехать НЕ ПОЗЖЕ образа агента. Ровно те же
|
|
80
|
+
* грабли были у `no_track` в TAS-511, см. api calls/audioReconcile.test.ts.
|
|
60
81
|
*
|
|
61
82
|
* ПРИ ЧТЕНИИ поля разбираются по одному, отсутствующие дают значение по
|
|
62
83
|
* умолчанию — агент и api выкатываются раздельно, и отчёт старого образа не
|
|
@@ -105,8 +126,21 @@ export const TranscriptCoverage = z.object({
|
|
|
105
126
|
silent: z.array(Person).default([]),
|
|
106
127
|
/** Аудио не публиковал вовсе — слушатель, ноль реплик ожидаем. */
|
|
107
128
|
listeners: z.array(Person).default([]),
|
|
108
|
-
/**
|
|
109
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Те, у кого речь могла потеряться. Список урезан, счётчик — нет.
|
|
131
|
+
*
|
|
132
|
+
* `evidence` (v6, TAS-536) — чем причина доказана, словами: «комната слышала
|
|
133
|
+
* его как говорящего (4)», «проверок присутствия: 20, публикаций не видели ни
|
|
134
|
+
* одной». Разбирать такой случай будут по одному отчёту, без доступа к логам
|
|
135
|
+
* того контейнера, а `track_unseen` без основания — это утверждение, которому
|
|
136
|
+
* нечем верить. Пусто у отчётов старее v6 и там, где причина однозначна.
|
|
137
|
+
*/
|
|
138
|
+
gaps: z
|
|
139
|
+
.array(Person.extend({
|
|
140
|
+
reason: TranscriptCoverageGapReason,
|
|
141
|
+
evidence: z.string().default(""),
|
|
142
|
+
}))
|
|
143
|
+
.default([]),
|
|
110
144
|
gapCount: z.number().int().min(0).default(0),
|
|
111
145
|
/**
|
|
112
146
|
* Сколько дорожек реконсиляция починила ПО-НАСТОЯЩЕМУ: дожала подписку, и
|
|
@@ -130,6 +164,30 @@ export const TranscriptCoverage = z.object({
|
|
|
130
164
|
* дожимать было нечего — публикации от него нет вовсе.
|
|
131
165
|
*/
|
|
132
166
|
presenceProbes: z.number().int().min(0).default(0),
|
|
167
|
+
/**
|
|
168
|
+
* А сколько раз сверка присутствия вообще СМОТРЕЛА на людей без дорожки
|
|
169
|
+
* (v6, TAS-536).
|
|
170
|
+
*
|
|
171
|
+
* Ровно то, чего не хватало при разборе дейли 18.08: в отчёте стояло
|
|
172
|
+
* `presenceProbes: 0` при восьми gap'ах `no_track`, и это прочли как «сверка
|
|
173
|
+
* не отработала ни разу». Отработала: флаг `no_track` ставит ТОЛЬКО она, то
|
|
174
|
+
* есть проходов было минимум восемь — просто дожимать было нечего, публикаций
|
|
175
|
+
* у этих людей агент не видел ни одной («дожали публикаций: 0» в логе).
|
|
176
|
+
*
|
|
177
|
+
* Ноль ЗДЕСЬ при непустых gap'ах — вот это уже поломка самой сверки, и она
|
|
178
|
+
* наконец отличима от «сверка работала, а дожимать нечего».
|
|
179
|
+
*/
|
|
180
|
+
presenceChecks: z.number().int().min(0).default(0),
|
|
181
|
+
/**
|
|
182
|
+
* Скольких комната слышала как говорящих, а аудио-дорожки от них агент не
|
|
183
|
+
* видел (v6, TAS-536).
|
|
184
|
+
*
|
|
185
|
+
* Самое дорогое число в отчёте: больше нуля значит, что человек говорил, его
|
|
186
|
+
* слышали остальные, и мимо расшифровки прошла живая речь — не тишина, не
|
|
187
|
+
* режим слушателя. До v6 такой человек попадал в `no_track` вперемешку с
|
|
188
|
+
* теми, кто просто не включал микрофон, и потеря была невидима.
|
|
189
|
+
*/
|
|
190
|
+
heardWithoutTrack: z.number().int().min(0).default(0),
|
|
133
191
|
/**
|
|
134
192
|
* Чем кончился выход джоба. `drain: "cancelled" | "abandoned"` означает, что
|
|
135
193
|
* хвост очереди распознавания не доехал до базы, — снаружи это выглядит как
|
|
@@ -242,6 +300,9 @@ export function pluralPeople(n) {
|
|
|
242
300
|
/** Человеческая причина провала — одними словами в UI и в логах. */
|
|
243
301
|
export const TRANSCRIPT_COVERAGE_GAP_LABEL = {
|
|
244
302
|
not_subscribed: "дорожку не слушали",
|
|
303
|
+
// TAS-536: два соседних ярлыка — это и есть развод причин. Первый читается
|
|
304
|
+
// как потеря («его слышали, а мы нет»), второй — как объяснимый ноль.
|
|
305
|
+
track_unseen: "его слышали в звонке, а дорожку мы не увидели",
|
|
245
306
|
no_track: "дорожки от него не было",
|
|
246
307
|
no_audio: "звук не доехал",
|
|
247
308
|
suppressed: "речь распозналась, но не записалась",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transcriptCoverage.js","sourceRoot":"","sources":["../src/transcriptCoverage.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,EAAE;AACF,gEAAgE;AAChE,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,EAAE;AACF,4EAA4E;AAC5E,iEAAiE;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB
|
|
1
|
+
{"version":3,"file":"transcriptCoverage.js","sourceRoot":"","sources":["../src/transcriptCoverage.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taskless-app/shared",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.31",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared types, Zod schemas and design tokens for the Taskless API contract — consumed by @taskless/api, @taskless/web and the Taskless mobile app.",
|
|
6
6
|
"license": "MIT",
|