@rfnry/thread 0.1.1 → 0.1.3

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/dist/client.d.ts CHANGED
@@ -41,7 +41,9 @@ export declare class Stream {
41
41
  private readonly started;
42
42
  constructor(wire: Wire, threadId: string, options: StreamOptions);
43
43
  write(text: string): void;
44
- finish(content?: Content): Promise<Message>;
44
+ finish(content?: Content, options?: {
45
+ metadata?: Record<string, unknown>;
46
+ }): Promise<Message>;
45
47
  abort(): Promise<void>;
46
48
  private end;
47
49
  }
@@ -60,7 +62,7 @@ export declare class Client {
60
62
  private following;
61
63
  private readonly held;
62
64
  private readonly left;
63
- private leaving;
65
+ private readonly made;
64
66
  private stopped;
65
67
  private current;
66
68
  private failure;
@@ -76,6 +78,7 @@ export declare class Client {
76
78
  private lost;
77
79
  private reconnect;
78
80
  private rejoin;
81
+ private rejoined;
79
82
  private fail;
80
83
  private request;
81
84
  private notify;
@@ -85,6 +88,7 @@ export declare class Client {
85
88
  createThread(options?: {
86
89
  threadId?: string;
87
90
  metadata?: Record<string, unknown>;
91
+ history?: 'all' | 'since_added';
88
92
  }): Promise<Thread>;
89
93
  getThread(threadId: string): Promise<Thread>;
90
94
  listThreads(options?: {
@@ -100,11 +104,14 @@ export declare class Client {
100
104
  resume?: boolean;
101
105
  }): Promise<Joined>;
102
106
  leave(threadId: string): Promise<void>;
107
+ away(threadId: string): Promise<void>;
103
108
  follow(options?: {
104
109
  resume?: boolean;
105
110
  }): Promise<Joined[]>;
106
111
  private followFrom;
107
- mark(threadId: string, seq: number): Promise<number>;
112
+ mark(threadId: string, seq: number, options?: {
113
+ back?: boolean;
114
+ }): Promise<number>;
108
115
  marked(threadId: string): Promise<number | null>;
109
116
  history(threadId: string, options?: {
110
117
  before?: number;
@@ -112,6 +119,7 @@ export declare class Client {
112
119
  limit?: number;
113
120
  kinds?: string[];
114
121
  }): Promise<Event[]>;
122
+ getEvent(threadId: string, eventId: string): Promise<Event>;
115
123
  present(threadId: string): Promise<Identity[]>;
116
124
  addMember(threadId: string, identity: Identity): Promise<Member>;
117
125
  removeMember(threadId: string, identity: Identity): Promise<void>;
package/dist/client.js CHANGED
@@ -81,13 +81,16 @@ export class Stream {
81
81
  text,
82
82
  }), () => undefined);
83
83
  }
84
- async finish(content) {
84
+ async finish(content, options = {}) {
85
85
  if (this.ended)
86
86
  throw new InputError(`client: stream '${this.id}' has already ended`);
87
87
  this.ended = true;
88
+ const metadata = options.metadata === undefined
89
+ ? this.options.metadata
90
+ : { ...this.options.metadata, ...options.metadata };
88
91
  await this.started;
89
92
  try {
90
- return await this.wire.message(this.threadId, content ?? this.text, this.options, this.id);
93
+ return await this.wire.message(this.threadId, content ?? this.text, { ...this.options, metadata }, this.id);
91
94
  }
92
95
  finally {
93
96
  await this.end();
@@ -124,8 +127,8 @@ export class Client {
124
127
  rewinds = [];
125
128
  following = false;
126
129
  held = new Set();
127
- left = new Set();
128
- leaving = new Set();
130
+ left = new Map();
131
+ made = new Map();
129
132
  stopped = false;
130
133
  current = 'open';
131
134
  failure = null;
@@ -214,15 +217,13 @@ export class Client {
214
217
  if (frame.name === 'joined') {
215
218
  const joined = frame.payload;
216
219
  this.left.delete(joined.thread.id);
217
- this.leaving.delete(joined.thread.id);
220
+ this.made.set(joined.thread.id, joined.thread.created_at);
218
221
  this.cursors.set(joined.thread.id, Math.max(this.cursors.get(joined.thread.id) ?? 0, joined.seq));
219
222
  this.emit(joined);
220
223
  return;
221
224
  }
222
225
  if (frame.name === 'event') {
223
226
  const event = frame.payload;
224
- if (this.leaving.has(event.thread_id))
225
- return;
226
227
  const rewind = this.rewinds.find((pending) => pending.threadId === event.thread_id &&
227
228
  event.seq > pending.since &&
228
229
  event.seq <= pending.held &&
@@ -238,16 +239,18 @@ export class Client {
238
239
  return;
239
240
  this.cursors.set(event.thread_id, event.seq);
240
241
  }
241
- if (event.kind === 'member_removed' && event.identity.id === this.identity.id)
242
+ if (event.kind === 'member_removed' && event.identity.id === this.identity.id) {
242
243
  this.cursors.delete(event.thread_id);
244
+ this.held.delete(event.thread_id);
245
+ }
243
246
  this.emit(event);
244
247
  return;
245
248
  }
246
249
  const signal = frame.payload;
247
- if (this.leaving.has(signal.thread_id) && signal.kind !== 'marked')
248
- return;
249
- if (signal.kind === 'thread.deleted')
250
+ if (signal.kind === 'thread.deleted') {
250
251
  this.cursors.delete(signal.thread_id);
252
+ this.held.delete(signal.thread_id);
253
+ }
251
254
  this.emit(signal);
252
255
  }
253
256
  emit(item) {
@@ -309,34 +312,29 @@ export class Client {
309
312
  async rejoin() {
310
313
  let followed = false;
311
314
  if (this.following) {
312
- this.leaving = new Set(this.left);
315
+ const left = Object.fromEntries(this.left);
313
316
  try {
314
- await this.followFrom(true, Object.fromEntries(this.cursors));
317
+ try {
318
+ await this.followFrom(true, Object.fromEntries(this.cursors), left);
319
+ }
320
+ catch (error) {
321
+ if (!(error instanceof InputError) || Object.keys(left).length === 0)
322
+ throw error;
323
+ await this.followFrom(true, { ...Object.fromEntries(this.cursors), ...left }, {});
324
+ }
315
325
  followed = true;
316
326
  }
317
327
  catch (error) {
318
328
  if (error instanceof TransportError)
319
329
  return;
320
330
  }
321
- for (const threadId of [...this.leaving].sort()) {
322
- if (!this.leaving.has(threadId))
323
- continue;
324
- try {
325
- await this.request('thread.leave', { thread_id: threadId });
326
- }
327
- catch (error) {
328
- if (error instanceof TransportError)
329
- return;
330
- }
331
- }
332
- this.leaving = new Set();
333
331
  }
334
332
  for (const threadId of [...this.cursors.keys()]) {
335
333
  const cursor = this.cursors.get(threadId);
336
334
  if (cursor === undefined || (followed && !this.held.has(threadId)))
337
335
  continue;
338
336
  try {
339
- this.emit(await this.joinFrom(threadId, cursor));
337
+ this.emit(await this.rejoined(threadId, cursor));
340
338
  }
341
339
  catch (error) {
342
340
  if (error instanceof TransportError)
@@ -346,6 +344,18 @@ export class Client {
346
344
  }
347
345
  }
348
346
  }
347
+ async rejoined(threadId, cursor) {
348
+ if (this.held.has(threadId))
349
+ return this.joinFrom(threadId, cursor);
350
+ try {
351
+ return await this.joinFrom(threadId, cursor, false, true);
352
+ }
353
+ catch (error) {
354
+ if (!(error instanceof InputError))
355
+ throw error;
356
+ return this.joinFrom(threadId, cursor);
357
+ }
358
+ }
349
359
  fail(error) {
350
360
  this.failure = error;
351
361
  this.stopped = true;
@@ -396,7 +406,7 @@ export class Client {
396
406
  };
397
407
  return (await this.event(threadId, fields, clientId));
398
408
  }
399
- async joinFrom(threadId, since, resume = false) {
409
+ async joinFrom(threadId, since, resume = false, away = false) {
400
410
  const held = this.cursors.get(threadId);
401
411
  const start = resume ? 0 : since;
402
412
  const rewind = start !== null && held !== undefined && start < held
@@ -409,6 +419,8 @@ export class Client {
409
419
  const payload = { thread_id: threadId, since };
410
420
  if (resume)
411
421
  payload.resume = true;
422
+ if (away)
423
+ payload.away = true;
412
424
  let joined;
413
425
  try {
414
426
  joined = (await this.request('thread.join', payload));
@@ -416,14 +428,18 @@ export class Client {
416
428
  finally {
417
429
  this.rewinds = this.rewinds.filter((other) => other !== rewind);
418
430
  }
431
+ this.made.set(threadId, joined.thread.created_at);
419
432
  this.cursors.set(threadId, joined.seq < (since ?? 0) ? joined.seq : Math.max(this.cursors.get(threadId) ?? 0, joined.seq));
420
433
  return joined;
421
434
  }
422
435
  async createThread(options = {}) {
423
- const reply = await this.request('thread.create', {
436
+ const payload = {
424
437
  thread_id: options.threadId ?? null,
425
438
  metadata: options.metadata ?? {},
426
- });
439
+ };
440
+ if (options.history !== undefined && options.history !== 'all')
441
+ payload.history = options.history;
442
+ const reply = await this.request('thread.create', payload);
427
443
  return reply.thread;
428
444
  }
429
445
  async getThread(threadId) {
@@ -447,7 +463,6 @@ export class Client {
447
463
  }
448
464
  async join(threadId, options = {}) {
449
465
  this.left.delete(threadId);
450
- this.leaving.delete(threadId);
451
466
  const known = this.cursors.has(threadId);
452
467
  try {
453
468
  const joined = await this.joinFrom(threadId, options.since ?? null, options.resume ?? false);
@@ -461,33 +476,56 @@ export class Client {
461
476
  }
462
477
  }
463
478
  async leave(threadId) {
479
+ const seq = this.cursors.get(threadId);
464
480
  this.cursors.delete(threadId);
465
481
  this.held.delete(threadId);
466
- if (this.following)
467
- this.left.add(threadId);
482
+ if (this.following && (seq !== undefined || !this.left.has(threadId)))
483
+ this.left.set(threadId, seq ?? 0);
468
484
  await this.request('thread.leave', { thread_id: threadId });
469
485
  }
486
+ async away(threadId) {
487
+ await this.request('thread.away', { thread_id: threadId });
488
+ this.held.delete(threadId);
489
+ }
470
490
  async follow(options = {}) {
471
491
  this.left.clear();
472
- this.leaving.clear();
473
- return this.followFrom(options.resume ?? false, null);
474
- }
475
- async followFrom(resume, since) {
476
- const reply = await this.request('thread.follow', { resume, since });
492
+ return this.followFrom(options.resume ?? false, null, {});
493
+ }
494
+ async followFrom(resume, since, left) {
495
+ const payload = { resume, since };
496
+ if (Object.keys(left).length > 0)
497
+ payload.left = Object.fromEntries(Object.entries(left).map(([id, seq]) => {
498
+ const created = this.made.get(id);
499
+ return [id, created === undefined ? { seq } : { seq, created_at: created }];
500
+ }));
501
+ const reply = await this.request('thread.follow', payload);
477
502
  this.following = true;
478
- const found = reply.joined.filter((joined) => !this.leaving.has(joined.thread.id));
479
- for (const joined of found) {
503
+ const found = [];
504
+ const raced = [];
505
+ for (const joined of reply.joined) {
480
506
  const id = joined.thread.id;
507
+ if (this.left.has(id) && !Object.hasOwn(left, id)) {
508
+ raced.push(id);
509
+ continue;
510
+ }
511
+ this.left.delete(id);
512
+ this.made.set(id, joined.thread.created_at);
513
+ found.push(joined);
481
514
  const sent = since?.[id];
482
515
  this.cursors.set(id, sent !== undefined && joined.seq < sent
483
516
  ? joined.seq
484
517
  : Math.max(this.cursors.get(id) ?? 0, joined.seq));
485
518
  this.emit(joined);
486
519
  }
520
+ for (const id of raced)
521
+ await this.request('thread.leave', { thread_id: id });
487
522
  return found;
488
523
  }
489
- async mark(threadId, seq) {
490
- const reply = await this.request('thread.mark', { thread_id: threadId, seq });
524
+ async mark(threadId, seq, options = {}) {
525
+ const payload = { thread_id: threadId, seq };
526
+ if (options.back)
527
+ payload.back = true;
528
+ const reply = await this.request('thread.mark', payload);
491
529
  return reply.seq;
492
530
  }
493
531
  async marked(threadId) {
@@ -506,6 +544,10 @@ export class Client {
506
544
  const reply = await this.request('thread.history', payload);
507
545
  return reply.events;
508
546
  }
547
+ async getEvent(threadId, eventId) {
548
+ const reply = await this.request('event.get', { thread_id: threadId, event_id: eventId });
549
+ return reply.event;
550
+ }
509
551
  async present(threadId) {
510
552
  return (await this.request('thread.present', { thread_id: threadId })).identities;
511
553
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export type { ConnectOptions, Listener, Protocols, SendOptions, StepOptions, StreamOptions, WriteOptions, } from './client.js';
2
2
  export { Client, connect, Stream } from './client.js';
3
3
  export { ConfigurationError, ForbiddenError, InputError, NotFoundError, StorageError, ThreadException, TransportError, } from './errors.js';
4
+ export { CLOSE_REFUSED } from './protocol.js';
4
5
  export { resolve } from './resolve.js';
5
6
  export type * from './types.js';
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Client, connect, Stream } from './client.js';
2
2
  export { ConfigurationError, ForbiddenError, InputError, NotFoundError, StorageError, ThreadException, TransportError, } from './errors.js';
3
+ export { CLOSE_REFUSED } from './protocol.js';
3
4
  export { resolve } from './resolve.js';
4
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,GACf,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA"}
package/dist/types.d.ts CHANGED
@@ -30,6 +30,7 @@ export type Thread = {
30
30
  scope: string;
31
31
  metadata: Record<string, unknown>;
32
32
  created_at: string;
33
+ history: 'all' | 'since_added';
33
34
  last_seq?: number;
34
35
  last_message_at?: string;
35
36
  marked?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rfnry/thread",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "description": "Conversational text interfaces for humans and machines",
6
6
  "license": "MIT",