@taskless-app/shared 0.1.25 → 0.1.26
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.
|
@@ -31,12 +31,48 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
31
31
|
* v2 (TAS-500) — `repairedSubscriptions` считает доехавшие починки, а не
|
|
32
32
|
* попытки; v3 (TAS-511) — у `listeners` сузился смысл: тот, кто просидел в
|
|
33
33
|
* комнате дольше пяти минут без единой дорожки, теперь gap с причиной
|
|
34
|
-
* `no_track`, а не слушатель; v4 (TAS-509) — появился `audioStall
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
34
|
+
* `no_track`, а не слушатель; v4 (TAS-509) — появился `audioStall`;
|
|
35
|
+
* v5 (TAS-524) — появились `window` и `jobId`: отчёт наконец говорит, за
|
|
36
|
+
* какой отрезок он отвечает.
|
|
37
|
+
*
|
|
38
|
+
* ПРИ ЧТЕНИИ поля разбираются по одному, отсутствующие дают значение по
|
|
39
|
+
* умолчанию — агент и api выкатываются раздельно, и отчёт старого образа не
|
|
40
|
+
* должен отбрасываться целиком.
|
|
41
|
+
*
|
|
42
|
+
* НО РЕШЕНИЕ ОБ УДАЛЕНИИ ГОЛОСОВ по версии ветвится, и обязано (TAS-524):
|
|
43
|
+
* «поля нет» там значит «не знаем», а не «чисто». Гейт живёт в
|
|
44
|
+
* api calls/audioReconcile.ts (MIN_TRUSTED_COVERAGE_VERSION), потому что это
|
|
45
|
+
* решение о данных людей, а не свойство схемы.
|
|
38
46
|
*/
|
|
39
47
|
v: z.ZodDefault<z.ZodNumber>;
|
|
48
|
+
/**
|
|
49
|
+
* ЗА КАКОЙ ОТРЕЗОК отвечает отчёт (v5, TAS-524). ISO-время начала и конца
|
|
50
|
+
* жизни ДЖОБА, который его написал.
|
|
51
|
+
*
|
|
52
|
+
* Отчёт всегда был про один джоб, а читался как «про всю сессию», и до
|
|
53
|
+
* TAS-524 это портило только пометку в интерфейсе. Теперь по нему УДАЛЯЮТ
|
|
54
|
+
* голоса, и разница стала опасной: джоб умер на 20-й минуте, LiveKit поднял
|
|
55
|
+
* новый, тот дожил до конца и написал чистый отчёт про СВОЙ отрезок — а
|
|
56
|
+
* снесётся звук за весь звонок, вместе с дырой первого джоба.
|
|
57
|
+
*
|
|
58
|
+
* Ключа нет — значит отчёт написан агентом старее v5, и чей это отрезок,
|
|
59
|
+
* неизвестно. Для решения об удалении это «не знаем», то есть держим
|
|
60
|
+
* (см. api calls/audioReconcile.ts).
|
|
61
|
+
*/
|
|
62
|
+
window: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
63
|
+
startedAt: z.ZodString;
|
|
64
|
+
endedAt: z.ZodString;
|
|
65
|
+
}, "strip", z.ZodTypeAny, {
|
|
66
|
+
startedAt: string;
|
|
67
|
+
endedAt: string;
|
|
68
|
+
}, {
|
|
69
|
+
startedAt: string;
|
|
70
|
+
endedAt: string;
|
|
71
|
+
}>>>>;
|
|
72
|
+
/** Идентификатор джоба, написавшего отчёт (v5): по нему в логах агента
|
|
73
|
+
* находится ровно тот контейнер, а два отчёта подряд отличимы друг от
|
|
74
|
+
* друга. Для решения об удалении не используется — только для разбора. */
|
|
75
|
+
jobId: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
40
76
|
/** Сколько людей агент видел в комнате, включая заглянувших на минуту. */
|
|
41
77
|
participants: z.ZodDefault<z.ZodNumber>;
|
|
42
78
|
/** Из них публиковали аудио — столько дорожек ДОЛЖНО было слушаться. */
|
|
@@ -213,6 +249,11 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
213
249
|
}>>>>;
|
|
214
250
|
}, "strip", z.ZodTypeAny, {
|
|
215
251
|
v: number;
|
|
252
|
+
window: {
|
|
253
|
+
startedAt: string;
|
|
254
|
+
endedAt: string;
|
|
255
|
+
} | null;
|
|
256
|
+
jobId: string | null;
|
|
216
257
|
participants: number;
|
|
217
258
|
audioTracks: number;
|
|
218
259
|
recognized: number;
|
|
@@ -262,6 +303,11 @@ export declare const TranscriptCoverage: z.ZodObject<{
|
|
|
262
303
|
} | null;
|
|
263
304
|
}, {
|
|
264
305
|
v?: number | undefined;
|
|
306
|
+
window?: {
|
|
307
|
+
startedAt: string;
|
|
308
|
+
endedAt: string;
|
|
309
|
+
} | null | undefined;
|
|
310
|
+
jobId?: string | null | undefined;
|
|
265
311
|
participants?: number | undefined;
|
|
266
312
|
audioTracks?: number | undefined;
|
|
267
313
|
recognized?: number | undefined;
|
|
@@ -317,6 +363,17 @@ export type TranscriptCoverage = z.infer<typeof TranscriptCoverage>;
|
|
|
317
363
|
* вовсе, и рисовать по ним зелёный вердикт было бы враньём.
|
|
318
364
|
*/
|
|
319
365
|
export declare function parseTranscriptCoverage(raw: unknown): TranscriptCoverage | null;
|
|
366
|
+
/**
|
|
367
|
+
* Отрезок, за который отчёт отвечает, — уже временем, а не строками (v5).
|
|
368
|
+
*
|
|
369
|
+
* `null` — окна нет вовсе (отчёт старого агента) либо время в нём не читается.
|
|
370
|
+
* Оба случая для решения об удалении означают одно: чей это отрезок,
|
|
371
|
+
* неизвестно.
|
|
372
|
+
*/
|
|
373
|
+
export declare function transcriptCoverageWindow(coverage: TranscriptCoverage | null): {
|
|
374
|
+
from: Date;
|
|
375
|
+
to: Date;
|
|
376
|
+
} | null;
|
|
320
377
|
/**
|
|
321
378
|
* Есть ли расхождение, о котором стоит сказать человеку.
|
|
322
379
|
*
|
|
@@ -54,12 +54,45 @@ export const TranscriptCoverage = z.object({
|
|
|
54
54
|
* v2 (TAS-500) — `repairedSubscriptions` считает доехавшие починки, а не
|
|
55
55
|
* попытки; v3 (TAS-511) — у `listeners` сузился смысл: тот, кто просидел в
|
|
56
56
|
* комнате дольше пяти минут без единой дорожки, теперь gap с причиной
|
|
57
|
-
* `no_track`, а не слушатель; v4 (TAS-509) — появился `audioStall
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
57
|
+
* `no_track`, а не слушатель; v4 (TAS-509) — появился `audioStall`;
|
|
58
|
+
* v5 (TAS-524) — появились `window` и `jobId`: отчёт наконец говорит, за
|
|
59
|
+
* какой отрезок он отвечает.
|
|
60
|
+
*
|
|
61
|
+
* ПРИ ЧТЕНИИ поля разбираются по одному, отсутствующие дают значение по
|
|
62
|
+
* умолчанию — агент и api выкатываются раздельно, и отчёт старого образа не
|
|
63
|
+
* должен отбрасываться целиком.
|
|
64
|
+
*
|
|
65
|
+
* НО РЕШЕНИЕ ОБ УДАЛЕНИИ ГОЛОСОВ по версии ветвится, и обязано (TAS-524):
|
|
66
|
+
* «поля нет» там значит «не знаем», а не «чисто». Гейт живёт в
|
|
67
|
+
* api calls/audioReconcile.ts (MIN_TRUSTED_COVERAGE_VERSION), потому что это
|
|
68
|
+
* решение о данных людей, а не свойство схемы.
|
|
61
69
|
*/
|
|
62
70
|
v: z.number().int().default(1),
|
|
71
|
+
/**
|
|
72
|
+
* ЗА КАКОЙ ОТРЕЗОК отвечает отчёт (v5, TAS-524). ISO-время начала и конца
|
|
73
|
+
* жизни ДЖОБА, который его написал.
|
|
74
|
+
*
|
|
75
|
+
* Отчёт всегда был про один джоб, а читался как «про всю сессию», и до
|
|
76
|
+
* TAS-524 это портило только пометку в интерфейсе. Теперь по нему УДАЛЯЮТ
|
|
77
|
+
* голоса, и разница стала опасной: джоб умер на 20-й минуте, LiveKit поднял
|
|
78
|
+
* новый, тот дожил до конца и написал чистый отчёт про СВОЙ отрезок — а
|
|
79
|
+
* снесётся звук за весь звонок, вместе с дырой первого джоба.
|
|
80
|
+
*
|
|
81
|
+
* Ключа нет — значит отчёт написан агентом старее v5, и чей это отрезок,
|
|
82
|
+
* неизвестно. Для решения об удалении это «не знаем», то есть держим
|
|
83
|
+
* (см. api calls/audioReconcile.ts).
|
|
84
|
+
*/
|
|
85
|
+
window: z
|
|
86
|
+
.object({
|
|
87
|
+
startedAt: z.string(),
|
|
88
|
+
endedAt: z.string(),
|
|
89
|
+
})
|
|
90
|
+
.nullish()
|
|
91
|
+
.default(null),
|
|
92
|
+
/** Идентификатор джоба, написавшего отчёт (v5): по нему в логах агента
|
|
93
|
+
* находится ровно тот контейнер, а два отчёта подряд отличимы друг от
|
|
94
|
+
* друга. Для решения об удалении не используется — только для разбора. */
|
|
95
|
+
jobId: z.string().nullish().default(null),
|
|
63
96
|
/** Сколько людей агент видел в комнате, включая заглянувших на минуту. */
|
|
64
97
|
participants: z.number().int().min(0).default(0),
|
|
65
98
|
/** Из них публиковали аудио — столько дорожек ДОЛЖНО было слушаться. */
|
|
@@ -150,6 +183,25 @@ export function parseTranscriptCoverage(raw) {
|
|
|
150
183
|
const parsed = TranscriptCoverage.safeParse(raw);
|
|
151
184
|
return parsed.success ? parsed.data : null;
|
|
152
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Отрезок, за который отчёт отвечает, — уже временем, а не строками (v5).
|
|
188
|
+
*
|
|
189
|
+
* `null` — окна нет вовсе (отчёт старого агента) либо время в нём не читается.
|
|
190
|
+
* Оба случая для решения об удалении означают одно: чей это отрезок,
|
|
191
|
+
* неизвестно.
|
|
192
|
+
*/
|
|
193
|
+
export function transcriptCoverageWindow(coverage) {
|
|
194
|
+
const w = coverage?.window;
|
|
195
|
+
if (!w)
|
|
196
|
+
return null;
|
|
197
|
+
const from = new Date(w.startedAt);
|
|
198
|
+
const to = new Date(w.endedAt);
|
|
199
|
+
if (Number.isNaN(from.getTime()) || Number.isNaN(to.getTime()))
|
|
200
|
+
return null;
|
|
201
|
+
if (to < from)
|
|
202
|
+
return null;
|
|
203
|
+
return { from, to };
|
|
204
|
+
}
|
|
153
205
|
/**
|
|
154
206
|
* Есть ли расхождение, о котором стоит сказать человеку.
|
|
155
207
|
*
|
|
@@ -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;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC;IAChD,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAGH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC
|
|
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;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC;IAChD,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAGH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC;;;;;;;;;;;;;;;;;OAiBG;IACH,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9B;;;;;;;;;;;;;OAaG;IACH,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;KACpB,CAAC;SACD,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;IAChB;;+EAE2E;IAC3E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACzC,0EAA0E;IAC1E,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,wEAAwE;IACxE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,gEAAgE;IAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,mEAAmE;IACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,wEAAwE;IACxE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,kEAAkE;IAClE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACtC,sEAAsE;IACtE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACjF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C;;;;OAIG;IACH,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzD;;;OAGG;IACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,iFAAiF;IACjF,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,wEAAwE;IACxE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD;;;;OAIG;IACH,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD;;;;OAIG;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QACvE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD;;;;;;WAMG;QACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9E,CAAC;SACD,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,0EAA0E;QAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzC,4CAA4C;QAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1C,+CAA+C;QAC/C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/E,6DAA6D;QAC7D,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KAC9C,CAAC;SACD,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;CACjB,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAmC;IAEnC,MAAM,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC;IAC3B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAAmC;IAC1E,OAAO,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAA4B;IACpE,OAAO,gBAAgB,QAAQ,CAAC,UAAU,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;AACvJ,CAAC;AAED,SAAS,MAAM,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW,EAAE,IAAY;IAC/D,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC;IACvB,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC;IACrB,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;AAC5D,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAgD;IACxF,cAAc,EAAE,oBAAoB;IACpC,QAAQ,EAAE,yBAAyB;IACnC,QAAQ,EAAE,gBAAgB;IAC1B,UAAU,EAAE,qCAAqC;CAClD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taskless-app/shared",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.26",
|
|
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",
|