@ixo/sqlite-saver 1.0.4

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 (35) hide show
  1. package/.eslintrc.js +9 -0
  2. package/.prettierignore +3 -0
  3. package/.prettierrc.js +4 -0
  4. package/.turbo/turbo-build.log +4 -0
  5. package/CHANGELOG.md +25 -0
  6. package/README.md +0 -0
  7. package/dist/index.d.ts +38 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +567 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/migrations/001_add_created_at_to_messages.d.ts +8 -0
  12. package/dist/migrations/001_add_created_at_to_messages.d.ts.map +1 -0
  13. package/dist/migrations/001_add_created_at_to_messages.js +32 -0
  14. package/dist/migrations/001_add_created_at_to_messages.js.map +1 -0
  15. package/dist/tests/agent-with-checkpoiner.test.d.ts +2 -0
  16. package/dist/tests/agent-with-checkpoiner.test.d.ts.map +1 -0
  17. package/dist/tests/agent-with-checkpoiner.test.js +206 -0
  18. package/dist/tests/agent-with-checkpoiner.test.js.map +1 -0
  19. package/dist/tests/checkpointer.test.d.ts +2 -0
  20. package/dist/tests/checkpointer.test.d.ts.map +1 -0
  21. package/dist/tests/checkpointer.test.js +426 -0
  22. package/dist/tests/checkpointer.test.js.map +1 -0
  23. package/dist/utils.d.ts +15 -0
  24. package/dist/utils.d.ts.map +1 -0
  25. package/dist/utils.js +284 -0
  26. package/dist/utils.js.map +1 -0
  27. package/jest.config.js +6 -0
  28. package/package.json +41 -0
  29. package/src/index.ts +929 -0
  30. package/src/migrations/001_add_created_at_to_messages.ts +48 -0
  31. package/src/tests/agent-with-checkpoiner.test.ts +264 -0
  32. package/src/tests/checkpointer.test.ts +628 -0
  33. package/src/utils.ts +358 -0
  34. package/tsconfig.json +11 -0
  35. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,426 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const langgraph_checkpoint_1 = require("@langchain/langgraph-checkpoint");
4
+ const index_1 = require("../index");
5
+ const checkpoint1 = {
6
+ v: 1,
7
+ id: (0, langgraph_checkpoint_1.uuid6)(-1),
8
+ ts: '2024-04-19T17:19:07.952Z',
9
+ channel_values: {
10
+ someKey1: 'someValue1',
11
+ },
12
+ channel_versions: {
13
+ someKey2: 1,
14
+ },
15
+ versions_seen: {
16
+ someKey3: {
17
+ someKey4: 1,
18
+ },
19
+ },
20
+ };
21
+ const checkpoint2 = {
22
+ v: 1,
23
+ id: (0, langgraph_checkpoint_1.uuid6)(1),
24
+ ts: '2024-04-20T17:19:07.952Z',
25
+ channel_values: {
26
+ someKey1: 'someValue2',
27
+ },
28
+ channel_versions: {
29
+ someKey2: 2,
30
+ },
31
+ versions_seen: {
32
+ someKey3: {
33
+ someKey4: 2,
34
+ },
35
+ },
36
+ };
37
+ describe('SqliteSaver', () => {
38
+ it('should save and retrieve checkpoints correctly', async () => {
39
+ const sqliteSaver = index_1.SqliteSaver.fromConnString(':memory:');
40
+ const undefinedCheckpoint = await sqliteSaver.getTuple({
41
+ configurable: { thread_id: '1' },
42
+ });
43
+ expect(undefinedCheckpoint).toBeUndefined();
44
+ const runnableConfig = await sqliteSaver.put({ configurable: { thread_id: '1' } }, checkpoint1, { source: 'update', step: -1, parents: {} });
45
+ expect(runnableConfig).toEqual({
46
+ configurable: {
47
+ thread_id: '1',
48
+ checkpoint_ns: '',
49
+ checkpoint_id: checkpoint1.id,
50
+ },
51
+ });
52
+ await sqliteSaver.putWrites({
53
+ configurable: {
54
+ checkpoint_id: checkpoint1.id,
55
+ checkpoint_ns: '',
56
+ thread_id: '1',
57
+ },
58
+ }, [['bar', 'baz']], 'foo');
59
+ const firstCheckpointTuple = await sqliteSaver.getTuple({
60
+ configurable: { thread_id: '1' },
61
+ });
62
+ expect(firstCheckpointTuple?.config).toEqual({
63
+ configurable: {
64
+ thread_id: '1',
65
+ checkpoint_ns: '',
66
+ checkpoint_id: checkpoint1.id,
67
+ },
68
+ });
69
+ expect(firstCheckpointTuple?.checkpoint).toEqual(checkpoint1);
70
+ expect(firstCheckpointTuple?.parentConfig).toBeUndefined();
71
+ expect(firstCheckpointTuple?.pendingWrites).toEqual([
72
+ ['foo', 'bar', 'baz'],
73
+ ]);
74
+ await sqliteSaver.put({
75
+ configurable: {
76
+ thread_id: '1',
77
+ checkpoint_id: '2024-04-18T17:19:07.952Z',
78
+ },
79
+ }, checkpoint2, {
80
+ source: 'update',
81
+ step: -1,
82
+ parents: { '': checkpoint1.id },
83
+ });
84
+ const secondCheckpointTuple = await sqliteSaver.getTuple({
85
+ configurable: { thread_id: '1' },
86
+ });
87
+ expect(secondCheckpointTuple?.parentConfig).toEqual({
88
+ configurable: {
89
+ thread_id: '1',
90
+ checkpoint_ns: '',
91
+ checkpoint_id: '2024-04-18T17:19:07.952Z',
92
+ },
93
+ });
94
+ const checkpointTupleGenerator = await sqliteSaver.list({
95
+ configurable: { thread_id: '1' },
96
+ }, {
97
+ filter: {
98
+ source: 'update',
99
+ step: -1,
100
+ parents: { '': checkpoint1.id },
101
+ },
102
+ });
103
+ const checkpointTuples = [];
104
+ for await (const checkpoint of checkpointTupleGenerator) {
105
+ checkpointTuples.push(checkpoint);
106
+ }
107
+ expect(checkpointTuples.length).toBe(1);
108
+ const checkpointTuple1 = checkpointTuples[0];
109
+ expect(checkpointTuple1?.checkpoint.ts).toBe('2024-04-20T17:19:07.952Z');
110
+ });
111
+ it('should delete thread', async () => {
112
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
113
+ await saver.put({ configurable: { thread_id: '1' } }, (0, langgraph_checkpoint_1.emptyCheckpoint)(), {
114
+ source: 'update',
115
+ step: -1,
116
+ parents: {},
117
+ });
118
+ await saver.put({ configurable: { thread_id: '2' } }, (0, langgraph_checkpoint_1.emptyCheckpoint)(), {
119
+ source: 'update',
120
+ step: -1,
121
+ parents: {},
122
+ });
123
+ await saver.deleteThread('1');
124
+ expect(await saver.getTuple({ configurable: { thread_id: '1' } })).toBeUndefined();
125
+ expect(await saver.getTuple({ configurable: { thread_id: '2' } })).toBeDefined();
126
+ });
127
+ it('pending sends migration', async () => {
128
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
129
+ let config = {
130
+ configurable: { thread_id: 'thread-1', checkpoint_ns: '' },
131
+ };
132
+ const checkpoint0 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
133
+ config = await saver.put(config, checkpoint0, {
134
+ source: 'loop',
135
+ parents: {},
136
+ step: 0,
137
+ });
138
+ await saver.putWrites(config, [
139
+ [langgraph_checkpoint_1.TASKS, 'send-1'],
140
+ [langgraph_checkpoint_1.TASKS, 'send-2'],
141
+ ], 'task-1');
142
+ await saver.putWrites(config, [[langgraph_checkpoint_1.TASKS, 'send-3']], 'task-2');
143
+ const tuple0 = await saver.getTuple(config);
144
+ expect(tuple0?.checkpoint.channel_values).toEqual({});
145
+ expect(tuple0?.checkpoint.channel_versions).toEqual({});
146
+ const checkpoint1 = {
147
+ v: 1,
148
+ id: (0, langgraph_checkpoint_1.uuid6)(1),
149
+ ts: '2024-04-20T17:19:07.952Z',
150
+ channel_values: {},
151
+ channel_versions: checkpoint0.channel_versions,
152
+ versions_seen: checkpoint0.versions_seen,
153
+ };
154
+ config = await saver.put(config, checkpoint1, {
155
+ source: 'loop',
156
+ parents: {},
157
+ step: 1,
158
+ });
159
+ const checkpoint1Tuple = await saver.getTuple(config);
160
+ expect(checkpoint1Tuple?.checkpoint.channel_values).toEqual({
161
+ [langgraph_checkpoint_1.TASKS]: ['send-1', 'send-2', 'send-3'],
162
+ });
163
+ expect(checkpoint1Tuple?.checkpoint.channel_versions[langgraph_checkpoint_1.TASKS]).toBeDefined();
164
+ const checkpointTupleGenerator = saver.list({
165
+ configurable: { thread_id: 'thread-1' },
166
+ });
167
+ const checkpointTuples = [];
168
+ for await (const checkpoint of checkpointTupleGenerator) {
169
+ checkpointTuples.push(checkpoint);
170
+ }
171
+ expect(checkpointTuples.length).toBe(2);
172
+ expect(checkpointTuples[0]?.checkpoint.channel_values).toEqual({
173
+ [langgraph_checkpoint_1.TASKS]: ['send-1', 'send-2', 'send-3'],
174
+ });
175
+ expect(checkpointTuples[0]?.checkpoint.channel_versions[langgraph_checkpoint_1.TASKS]).toBeDefined();
176
+ });
177
+ it('should filter list by checkpoint_ns', async () => {
178
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
179
+ const checkpoint1 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
180
+ const checkpoint2 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
181
+ const checkpoint3 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
182
+ await saver.put({ configurable: { thread_id: 'thread-1', checkpoint_ns: 'ns1' } }, checkpoint1, { source: 'update', step: -1, parents: {} });
183
+ await saver.put({ configurable: { thread_id: 'thread-1', checkpoint_ns: 'ns2' } }, checkpoint2, { source: 'update', step: -1, parents: {} });
184
+ await saver.put({ configurable: { thread_id: 'thread-1', checkpoint_ns: 'ns1' } }, checkpoint3, { source: 'update', step: -1, parents: {} });
185
+ const ns1Generator = saver.list({
186
+ configurable: { thread_id: 'thread-1', checkpoint_ns: 'ns1' },
187
+ });
188
+ const ns1Tuples = [];
189
+ for await (const checkpoint of ns1Generator) {
190
+ ns1Tuples.push(checkpoint);
191
+ }
192
+ expect(ns1Tuples.length).toBe(2);
193
+ expect(ns1Tuples.every((t) => t.config.configurable?.checkpoint_ns === 'ns1')).toBe(true);
194
+ const ns2Generator = saver.list({
195
+ configurable: { thread_id: 'thread-1', checkpoint_ns: 'ns2' },
196
+ });
197
+ const ns2Tuples = [];
198
+ for await (const checkpoint of ns2Generator) {
199
+ ns2Tuples.push(checkpoint);
200
+ }
201
+ expect(ns2Tuples.length).toBe(1);
202
+ expect(ns2Tuples[0]?.config.configurable?.checkpoint_ns).toBe('ns2');
203
+ });
204
+ it('should paginate list with before cursor', async () => {
205
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
206
+ const checkpoint1 = {
207
+ v: 1,
208
+ id: (0, langgraph_checkpoint_1.uuid6)(-2),
209
+ ts: '2024-04-19T17:19:07.952Z',
210
+ channel_values: {},
211
+ channel_versions: {},
212
+ versions_seen: {},
213
+ };
214
+ const checkpoint2 = {
215
+ v: 1,
216
+ id: (0, langgraph_checkpoint_1.uuid6)(-1),
217
+ ts: '2024-04-20T17:19:07.952Z',
218
+ channel_values: {},
219
+ channel_versions: {},
220
+ versions_seen: {},
221
+ };
222
+ const checkpoint3 = {
223
+ v: 1,
224
+ id: (0, langgraph_checkpoint_1.uuid6)(0),
225
+ ts: '2024-04-21T17:19:07.952Z',
226
+ channel_values: {},
227
+ channel_versions: {},
228
+ versions_seen: {},
229
+ };
230
+ await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint1, {
231
+ source: 'update',
232
+ step: -1,
233
+ parents: {},
234
+ });
235
+ await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint2, {
236
+ source: 'update',
237
+ step: -1,
238
+ parents: {},
239
+ });
240
+ const config3 = await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint3, { source: 'update', step: -1, parents: {} });
241
+ const allGenerator = saver.list({
242
+ configurable: { thread_id: 'thread-1' },
243
+ });
244
+ const allTuples = [];
245
+ for await (const checkpoint of allGenerator) {
246
+ allTuples.push(checkpoint);
247
+ }
248
+ expect(allTuples.length).toBe(3);
249
+ const beforeGenerator = saver.list({
250
+ configurable: { thread_id: 'thread-1' },
251
+ }, {
252
+ before: {
253
+ configurable: {
254
+ checkpoint_id: config3.configurable?.checkpoint_id,
255
+ },
256
+ },
257
+ });
258
+ const beforeTuples = [];
259
+ for await (const checkpoint of beforeGenerator) {
260
+ beforeTuples.push(checkpoint);
261
+ }
262
+ expect(beforeTuples.length).toBe(2);
263
+ expect(beforeTuples.every((t) => t.config.configurable?.checkpoint_id !==
264
+ config3.configurable?.checkpoint_id)).toBe(true);
265
+ });
266
+ it('should limit list results', async () => {
267
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
268
+ for (let i = 0; i < 5; i++) {
269
+ const checkpoint = {
270
+ v: 1,
271
+ id: (0, langgraph_checkpoint_1.uuid6)(i - 3),
272
+ ts: `2024-04-${19 + i}T17:19:07.952Z`,
273
+ channel_values: {},
274
+ channel_versions: {},
275
+ versions_seen: {},
276
+ };
277
+ await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint, {
278
+ source: 'update',
279
+ step: -1,
280
+ parents: {},
281
+ });
282
+ }
283
+ const allGenerator = saver.list({
284
+ configurable: { thread_id: 'thread-1' },
285
+ });
286
+ const allTuples = [];
287
+ for await (const checkpoint of allGenerator) {
288
+ allTuples.push(checkpoint);
289
+ }
290
+ expect(allTuples.length).toBe(5);
291
+ const limitedGenerator = saver.list({
292
+ configurable: { thread_id: 'thread-1' },
293
+ }, { limit: 2 });
294
+ const limitedTuples = [];
295
+ for await (const checkpoint of limitedGenerator) {
296
+ limitedTuples.push(checkpoint);
297
+ }
298
+ expect(limitedTuples.length).toBe(2);
299
+ });
300
+ it('should filter list by metadata fields', async () => {
301
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
302
+ const checkpoint1 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
303
+ const checkpoint2 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
304
+ const checkpoint3 = (0, langgraph_checkpoint_1.emptyCheckpoint)();
305
+ await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint1, {
306
+ source: 'update',
307
+ step: 1,
308
+ parents: {},
309
+ });
310
+ await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint2, {
311
+ source: 'loop',
312
+ step: 2,
313
+ parents: {},
314
+ });
315
+ await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint3, {
316
+ source: 'update',
317
+ step: 3,
318
+ parents: {},
319
+ });
320
+ const updateGenerator = saver.list({
321
+ configurable: { thread_id: 'thread-1' },
322
+ }, {
323
+ filter: { source: 'update' },
324
+ });
325
+ const updateTuples = [];
326
+ for await (const checkpoint of updateGenerator) {
327
+ updateTuples.push(checkpoint);
328
+ }
329
+ expect(updateTuples.length).toBe(2);
330
+ expect(updateTuples.every((t) => t.metadata?.source === 'update')).toBe(true);
331
+ const stepGenerator = saver.list({
332
+ configurable: { thread_id: 'thread-1' },
333
+ }, {
334
+ filter: { step: 2 },
335
+ });
336
+ const stepTuples = [];
337
+ for await (const checkpoint of stepGenerator) {
338
+ stepTuples.push(checkpoint);
339
+ }
340
+ expect(stepTuples.length).toBe(1);
341
+ expect(stepTuples[0]?.metadata?.step).toBe(2);
342
+ });
343
+ it('should throw error when put() is called without config.configurable', async () => {
344
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
345
+ const checkpoint = (0, langgraph_checkpoint_1.emptyCheckpoint)();
346
+ await expect(saver.put({}, checkpoint, {
347
+ source: 'update',
348
+ step: -1,
349
+ parents: {},
350
+ })).rejects.toThrow('Empty configuration supplied.');
351
+ });
352
+ it('should throw error when put() is called without thread_id', async () => {
353
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
354
+ const checkpoint = (0, langgraph_checkpoint_1.emptyCheckpoint)();
355
+ await expect(saver.put({ configurable: {} }, checkpoint, {
356
+ source: 'update',
357
+ step: -1,
358
+ parents: {},
359
+ })).rejects.toThrow('Missing "thread_id" field in passed "config.configurable".');
360
+ });
361
+ it('should throw error when putWrites() is called without config.configurable', async () => {
362
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
363
+ await expect(saver.putWrites({}, [['channel', 'value']], 'task-1')).rejects.toThrow('Empty configuration supplied.');
364
+ });
365
+ it('should throw error when putWrites() is called without thread_id', async () => {
366
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
367
+ await expect(saver.putWrites({ configurable: {} }, [['channel', 'value']], 'task-1')).rejects.toThrow('Missing thread_id field in config.configurable.');
368
+ });
369
+ it('should throw error when putWrites() is called without checkpoint_id', async () => {
370
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
371
+ await expect(saver.putWrites({ configurable: { thread_id: 'thread-1' } }, [['channel', 'value']], 'task-1')).rejects.toThrow('Missing checkpoint_id field in config.configurable.');
372
+ });
373
+ it('should migrate pending sends for v<4 checkpoints in list()', async () => {
374
+ const saver = index_1.SqliteSaver.fromConnString(':memory:');
375
+ const checkpoint0 = {
376
+ v: 1,
377
+ id: (0, langgraph_checkpoint_1.uuid6)(-1),
378
+ ts: '2024-04-19T17:19:07.952Z',
379
+ channel_values: {},
380
+ channel_versions: {},
381
+ versions_seen: {},
382
+ };
383
+ let config = await saver.put({ configurable: { thread_id: 'thread-1' } }, checkpoint0, {
384
+ source: 'loop',
385
+ parents: {},
386
+ step: 0,
387
+ });
388
+ await saver.putWrites(config, [
389
+ [langgraph_checkpoint_1.TASKS, 'send-1'],
390
+ [langgraph_checkpoint_1.TASKS, 'send-2'],
391
+ ], 'task-1');
392
+ const checkpoint1 = {
393
+ v: 1,
394
+ id: (0, langgraph_checkpoint_1.uuid6)(0),
395
+ ts: '2024-04-20T17:19:07.952Z',
396
+ channel_values: {},
397
+ channel_versions: {},
398
+ versions_seen: {},
399
+ };
400
+ config = await saver.put({
401
+ configurable: {
402
+ thread_id: 'thread-1',
403
+ checkpoint_id: checkpoint0.id,
404
+ },
405
+ }, checkpoint1, {
406
+ source: 'loop',
407
+ parents: { '': checkpoint0.id },
408
+ step: 1,
409
+ });
410
+ const listGenerator = saver.list({
411
+ configurable: { thread_id: 'thread-1' },
412
+ });
413
+ const listTuples = [];
414
+ for await (const checkpoint of listGenerator) {
415
+ listTuples.push(checkpoint);
416
+ }
417
+ const checkpoint1Tuple = listTuples.find((t) => t.config.configurable?.checkpoint_id === checkpoint1.id);
418
+ expect(checkpoint1Tuple).toBeDefined();
419
+ expect(checkpoint1Tuple?.checkpoint.channel_values[langgraph_checkpoint_1.TASKS]).toEqual([
420
+ 'send-1',
421
+ 'send-2',
422
+ ]);
423
+ expect(checkpoint1Tuple?.checkpoint.channel_versions[langgraph_checkpoint_1.TASKS]).toBeDefined();
424
+ });
425
+ });
426
+ //# sourceMappingURL=checkpointer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpointer.test.js","sourceRoot":"","sources":["../../src/tests/checkpointer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare function stringify(obj: any, replacer?: any, spacer?: any, options?: any): string;
2
+ export declare function _default(obj: any): any;
3
+ export interface CleanAdditionalKwargs {
4
+ msgFromMatrixRoom: boolean;
5
+ timestamp: string;
6
+ oracleName: string;
7
+ reasoning?: string;
8
+ reasoningDetails?: Array<{
9
+ type: string;
10
+ text: string;
11
+ }>;
12
+ [key: string]: unknown;
13
+ }
14
+ export declare function cleanAdditionalKwargs(additionalKwargs: any, msgFromMatrixRoom: boolean): CleanAdditionalKwargs;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAqBA,wBAAgB,SAAS,CAAC,GAAG,KAAA,EAAE,QAAQ,CAAC,KAAA,EAAE,MAAM,CAAC,KAAA,EAAE,OAAO,CAAC,KAAA,UA4B1D;AA4MD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAuBtC;AAED,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAQD,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,GAAG,EACrB,iBAAiB,EAAE,OAAO,GACzB,qBAAqB,CA0DvB"}