@relaymessenger/sdk 0.3.6-staging.3 → 0.3.6-staging.30

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 (70) hide show
  1. package/README.md +490 -20
  2. package/dist/a2ui.d.ts +79 -0
  3. package/dist/a2ui.d.ts.map +1 -0
  4. package/dist/a2ui.js +99 -0
  5. package/dist/a2ui.js.map +1 -0
  6. package/dist/buttons.d.ts +69 -0
  7. package/dist/buttons.d.ts.map +1 -0
  8. package/dist/buttons.js +141 -0
  9. package/dist/buttons.js.map +1 -0
  10. package/dist/calls/call-room.d.ts +110 -0
  11. package/dist/calls/call-room.d.ts.map +1 -0
  12. package/dist/calls/call-room.js +616 -0
  13. package/dist/calls/call-room.js.map +1 -0
  14. package/dist/calls/engine-werift-video.d.ts +70 -0
  15. package/dist/calls/engine-werift-video.d.ts.map +1 -0
  16. package/dist/calls/engine-werift-video.js +594 -0
  17. package/dist/calls/engine-werift-video.js.map +1 -0
  18. package/dist/calls/engine-werift.d.ts +48 -0
  19. package/dist/calls/engine-werift.d.ts.map +1 -0
  20. package/dist/calls/engine-werift.js +457 -0
  21. package/dist/calls/engine-werift.js.map +1 -0
  22. package/dist/calls/index.d.ts +11 -0
  23. package/dist/calls/index.d.ts.map +1 -0
  24. package/dist/calls/index.js +11 -0
  25. package/dist/calls/index.js.map +1 -0
  26. package/dist/calls/transport.d.ts +466 -0
  27. package/dist/calls/transport.d.ts.map +1 -0
  28. package/dist/calls/transport.js +1409 -0
  29. package/dist/calls/transport.js.map +1 -0
  30. package/dist/calls/video-frame.d.ts +56 -0
  31. package/dist/calls/video-frame.d.ts.map +1 -0
  32. package/dist/calls/video-frame.js +245 -0
  33. package/dist/calls/video-frame.js.map +1 -0
  34. package/dist/calls/video-rtp.d.ts +51 -0
  35. package/dist/calls/video-rtp.d.ts.map +1 -0
  36. package/dist/calls/video-rtp.js +294 -0
  37. package/dist/calls/video-rtp.js.map +1 -0
  38. package/dist/calls/video.d.ts +188 -0
  39. package/dist/calls/video.d.ts.map +1 -0
  40. package/dist/calls/video.js +228 -0
  41. package/dist/calls/video.js.map +1 -0
  42. package/dist/client.d.ts +52 -24
  43. package/dist/client.d.ts.map +1 -1
  44. package/dist/client.js +131 -41
  45. package/dist/client.js.map +1 -1
  46. package/dist/index.d.ts +7 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +7 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/links.d.ts +57 -0
  51. package/dist/links.d.ts.map +1 -0
  52. package/dist/links.js +126 -0
  53. package/dist/links.js.map +1 -0
  54. package/dist/operations.d.ts +41 -25
  55. package/dist/operations.d.ts.map +1 -1
  56. package/dist/operations.js +55 -30
  57. package/dist/operations.js.map +1 -1
  58. package/dist/payment.d.ts +67 -0
  59. package/dist/payment.d.ts.map +1 -0
  60. package/dist/payment.js +147 -0
  61. package/dist/payment.js.map +1 -0
  62. package/dist/selection.d.ts +38 -0
  63. package/dist/selection.d.ts.map +1 -0
  64. package/dist/selection.js +132 -0
  65. package/dist/selection.js.map +1 -0
  66. package/dist/types.d.ts +731 -56
  67. package/dist/types.d.ts.map +1 -1
  68. package/dist/websocket.d.ts +2 -2
  69. package/dist/websocket.d.ts.map +1 -1
  70. package/package.json +37 -3
package/dist/client.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { RelayAPIError, isAbortError } from "./errors.js";
2
2
  import { ChatsPage, MessagesPage } from "./pagination.js";
3
+ import { CallRoom } from "./calls/call-room.js";
3
4
  import { Webhooks } from "./webhooks.js";
4
5
  import { runWebSocket, } from "./websocket.js";
5
6
  const delay = async (milliseconds, signal) => {
@@ -33,6 +34,9 @@ class Transport {
33
34
  this.#timeout = options.timeout ?? 15_000;
34
35
  this.#retryBaseDelayMs = options.retryBaseDelayMs ?? 250;
35
36
  }
37
+ callRoom(callID, options) {
38
+ return new CallRoom(callID, this.baseURL, this.#apiKey, options);
39
+ }
36
40
  async request(request) {
37
41
  const url = new URL(`${this.baseURL}${request.path}`);
38
42
  for (const [name, value] of Object.entries(request.query ?? {})) {
@@ -197,14 +201,54 @@ class ChatParticipants {
197
201
  });
198
202
  }
199
203
  }
204
+ /**
205
+ * Location sharing in a one-to-one chat with a person. Coordinates are GeoJSON,
206
+ * `[longitude, latitude]`. Reading is poll-based: `location.sharing.started`
207
+ * and `location.sharing.stopped` fire when a share begins or ends, never when
208
+ * the position moves.
209
+ */
210
+ class ChatLocation {
211
+ transport;
212
+ constructor(transport) {
213
+ this.transport = transport;
214
+ }
215
+ /**
216
+ * Asks the person in this one-to-one chat to share their location. The chat
217
+ * gets a Message from your agent with one `location_request` part; nothing is
218
+ * returned about the person's answer. Returns 409 while the person is already
219
+ * sharing, and in a group chat or a chat with no person; 429 with
220
+ * `Retry-After` after one request in the same chat in the last 60 seconds.
221
+ */
222
+ request(chatID, options) {
223
+ return this.transport.request({
224
+ method: "POST",
225
+ path: `/v1/chats/${pathID(chatID)}/location/request`,
226
+ options,
227
+ });
228
+ }
229
+ /**
230
+ * Reads the current location of everyone sharing with your agent in this
231
+ * chat, one Feature per person. `data.features` is empty when nobody is
232
+ * sharing. Use `properties.updated_at` to judge freshness.
233
+ */
234
+ retrieve(chatID, options) {
235
+ return this.transport.request({
236
+ method: "GET",
237
+ path: `/v1/chats/${pathID(chatID)}/location`,
238
+ options,
239
+ });
240
+ }
241
+ }
200
242
  export class Chats {
201
243
  transport;
202
244
  messages;
203
245
  participants;
246
+ location;
204
247
  constructor(transport) {
205
248
  this.transport = transport;
206
249
  this.messages = new ChatMessages(transport);
207
250
  this.participants = new ChatParticipants(transport);
251
+ this.location = new ChatLocation(transport);
208
252
  }
209
253
  create(body, options) {
210
254
  return this.transport.request({
@@ -264,6 +308,29 @@ export class Chats {
264
308
  retryable: true,
265
309
  });
266
310
  }
311
+ getActivity(chatID, options) {
312
+ return this.transport.request({
313
+ method: "GET",
314
+ path: `/v1/chats/${pathID(chatID)}/activity`,
315
+ options,
316
+ });
317
+ }
318
+ setActivity(chatID, body, options) {
319
+ return this.transport.request({
320
+ method: "PUT",
321
+ path: `/v1/chats/${pathID(chatID)}/activity`,
322
+ body,
323
+ options,
324
+ });
325
+ }
326
+ clearActivity(chatID, query = {}, options) {
327
+ return this.transport.request({
328
+ method: "DELETE",
329
+ path: `/v1/chats/${pathID(chatID)}/activity`,
330
+ query,
331
+ options,
332
+ });
333
+ }
267
334
  /**
268
335
  * Explicitly marks the visible Messages in this Chat as Read.
269
336
  * The SDK never calls this method automatically.
@@ -333,6 +400,49 @@ export class Messages {
333
400
  return new MessagesPage({ data: body.messages, nextCursor: body.next_cursor ?? null }, (cursor) => this.listMessagesThread(messageID, { ...query, cursor }, options));
334
401
  }
335
402
  }
403
+ /**
404
+ * Payment requests on the organization's own connected Stripe account. Create
405
+ * one, then send its `checkout_url` as a `payment` message part.
406
+ */
407
+ export class PaymentRequests {
408
+ transport;
409
+ constructor(transport) {
410
+ this.transport = transport;
411
+ }
412
+ create(body, options) {
413
+ const { idempotencyKey, ...requestOptions } = options ?? {};
414
+ return this.transport.request({
415
+ method: "POST",
416
+ path: "/v1/payment_requests",
417
+ body,
418
+ options: requestOptions,
419
+ ...(idempotencyKey ? { idempotencyKey } : {}),
420
+ });
421
+ }
422
+ list(query = {}, options) {
423
+ return this.transport.request({
424
+ method: "GET",
425
+ path: "/v1/payment_requests",
426
+ query,
427
+ options,
428
+ });
429
+ }
430
+ retrieve(paymentRequestID, options) {
431
+ return this.transport.request({
432
+ method: "GET",
433
+ path: `/v1/payment_requests/${pathID(paymentRequestID)}`,
434
+ options,
435
+ });
436
+ }
437
+ cancel(paymentRequestID, options) {
438
+ return this.transport.request({
439
+ method: "POST",
440
+ path: `/v1/payment_requests/${pathID(paymentRequestID)}/cancel`,
441
+ body: {},
442
+ options,
443
+ });
444
+ }
445
+ }
336
446
  export class Attachments {
337
447
  transport;
338
448
  constructor(transport) {
@@ -420,6 +530,20 @@ export class WebhookSubscriptions {
420
530
  });
421
531
  }
422
532
  }
533
+ export class Contacts {
534
+ transport;
535
+ constructor(transport) {
536
+ this.transport = transport;
537
+ }
538
+ lookup(body, options) {
539
+ return this.transport.request({
540
+ method: "POST",
541
+ path: "/v1/contacts/lookup",
542
+ body,
543
+ options,
544
+ });
545
+ }
546
+ }
423
547
  export class ContactCard {
424
548
  transport;
425
549
  constructor(transport) {
@@ -514,37 +638,10 @@ export class Agents {
514
638
  });
515
639
  }
516
640
  }
517
- export class CallConnections {
518
- transport;
519
- constructor(transport) {
520
- this.transport = transport;
521
- }
522
- create(callID, body, options) {
523
- return this.transport.request({
524
- method: "POST", path: `/v1/calls/${pathID(callID)}/connections`, body, options,
525
- });
526
- }
527
- subscribe(callID, connectionID, options) {
528
- return this.transport.request({
529
- method: "POST",
530
- path: `/v1/calls/${pathID(callID)}/connections/${pathID(connectionID)}/subscribe`,
531
- body: {}, options, retryable: true,
532
- });
533
- }
534
- renegotiate(callID, connectionID, body, options) {
535
- return this.transport.request({
536
- method: "POST",
537
- path: `/v1/calls/${pathID(callID)}/connections/${pathID(connectionID)}/renegotiate`,
538
- body, options, retryable: true,
539
- });
540
- }
541
- }
542
641
  export class Calls {
543
642
  transport;
544
- connections;
545
643
  constructor(transport) {
546
644
  this.transport = transport;
547
- this.connections = new CallConnections(transport);
548
645
  }
549
646
  create(chatID, body, options) {
550
647
  if (typeof options?.idempotencyKey !== "string"
@@ -564,26 +661,15 @@ export class Calls {
564
661
  method: "GET", path: `/v1/chats/${pathID(chatID)}/calls`, query, options,
565
662
  });
566
663
  }
567
- accept(callID, options) {
568
- return this.transport.request({
569
- method: "POST", path: `/v1/calls/${pathID(callID)}/accept`, body: {}, options, retryable: true,
570
- });
571
- }
572
- decline(callID, options) {
573
- return this.transport.request({
574
- method: "POST", path: `/v1/calls/${pathID(callID)}/decline`, body: {}, options, retryable: true,
575
- });
664
+ /** Authenticated WebRTC signaling room for this Call participant. */
665
+ room(callID, options) {
666
+ return this.transport.callRoom(callID, options);
576
667
  }
577
668
  end(callID, options) {
578
669
  return this.transport.request({
579
670
  method: "POST", path: `/v1/calls/${pathID(callID)}/end`, body: {}, options, retryable: true,
580
671
  });
581
672
  }
582
- connected(callID, options) {
583
- return this.transport.request({
584
- method: "POST", path: `/v1/calls/${pathID(callID)}/connected`, body: {}, options, retryable: true,
585
- });
586
- }
587
673
  }
588
674
  export class Relay {
589
675
  agents;
@@ -591,10 +677,12 @@ export class Relay {
591
677
  chats;
592
678
  calls;
593
679
  messages;
680
+ paymentRequests;
594
681
  attachments;
595
682
  webhookEvents;
596
683
  webhookSubscriptions;
597
684
  contactCard;
685
+ contacts;
598
686
  blockedHandles;
599
687
  websocket;
600
688
  webhooks;
@@ -607,10 +695,12 @@ export class Relay {
607
695
  this.chats = new Chats(transport);
608
696
  this.calls = new Calls(transport);
609
697
  this.messages = new Messages(transport);
698
+ this.paymentRequests = new PaymentRequests(transport);
610
699
  this.attachments = new Attachments(transport);
611
700
  this.webhookEvents = new WebhookEvents(transport);
612
701
  this.webhookSubscriptions = new WebhookSubscriptions(transport);
613
702
  this.contactCard = new ContactCard(transport);
703
+ this.contacts = new Contacts(transport);
614
704
  this.blockedHandles = new BlockedHandles(transport);
615
705
  this.websocket = new WebSocket(transport);
616
706
  this.webhooks = new Webhooks(options.webhookSecret ?? null);
@@ -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,9 +1,15 @@
1
- export { Agents, Attachments, BlockedHandles, Chats, Calls, CallConnections, ContactCard, Messages, Relay, WebSocket, WebhookEvents, WebhookSubscriptions, type RelayOptions, } from "./client.js";
1
+ export { Agents, Attachments, BlockedHandles, Chats, Calls, ContactCard, Contacts, Messages, PaymentRequests, Relay, WebSocket, WebhookEvents, WebhookSubscriptions, type RelayOptions, } from "./client.js";
2
+ export { CallRoom, parseCallRoomServerFrame, type CallRoomCloseEvent, type CallRoomConnectionState, type CallRoomEventMap, type CallRoomOptions, type CallRoomReconnectingEvent, } from "./calls/call-room.js";
2
3
  export { RelayAPIError, RelayWebhookConfiguredError, type RelayAPIErrorOptions, type RelayWebhookConfiguredErrorOptions, } from "./errors.js";
3
4
  export { RELAY_V1_OPERATIONS, RELAY_WEBHOOK_EVENT_TYPES, type RelayV1Operation, } from "./operations.js";
4
5
  export { ChatsPage, MessagesPage, RelayPage, type PageBody, } from "./pagination.js";
5
6
  export { Webhooks, WebhookVerificationError, signWebhookHeaders, verifyWebhookSignature, type WebhookHeaders, } from "./webhooks.js";
6
7
  export { runWebSocket, type WebSocketEventContext, type WebSocketFullSyncContext, type WebSocketRunOptions, type WebSocketConstructor, type WebSocketLike, } from "./websocket.js";
7
8
  export type * from "./types.js";
9
+ export { BUTTONS_BLOCK_INSTRUCTION, BUTTONS_FENCE, BUTTONS_GUIDANCE, BUTTONS_MAX_ITEMS, BUTTON_LABEL_MAX_LENGTH, BUTTON_URL_MAX_LENGTH, buttonsPart, parseButtonsBlock, partsWithButtons, splitButtons, type SplitButtons, } from "./buttons.js";
10
+ export { IDEMPOTENCY_KEY_MAX_LENGTH, LINK_LINE_INSTRUCTION, LINK_URL_MAX_LENGTH, answerMessages, indexedIdempotencyKey, splitLinks, standaloneLink, type AnswerMessages, type AnswerSegment, } from "./links.js";
11
+ export { PAYMENT_BLOCK_INSTRUCTION, PAYMENT_CATEGORIES, PAYMENT_DESCRIPTION_MAX_LENGTH, PAYMENT_FENCE, PAYMENT_GUIDANCE, PAYMENT_IMAGE_URL_MAX_LENGTH, createPaymentPart, parsePaymentBlock, paymentRequestFields, splitPayment, type SplitPayment, } from "./payment.js";
8
12
  export { Relay as default } from "./client.js";
13
+ export { SELECTION_BLOCK_INSTRUCTION, SELECTION_FENCE, SELECTION_GUIDANCE, SELECTION_MAX_OPTIONS, SELECTION_LABEL_MAX_LENGTH, SELECTION_VALUE_MAX_LENGTH, SELECTION_CONTEXT_MAX_LENGTH, componentParts, selectionPart, parseSelectionBlock, partsWithSelection, splitSelection, selectionReply, selectionReplyContext, type SelectionReply, type SplitSelection, } from "./selection.js";
14
+ export { A2UI_BASIC_CATALOG_ID, A2UI_MEDIA_TYPE, A2UI_VERSION, RELAY_A2UI_CATALOG_ID, a2uiPart, deleteA2uiSurface, readA2uiAction, sendA2uiSurface, updateA2uiSurface, type A2uiSendOptions, type A2uiSurface, type A2uiSurfaceUpdate, type A2uiTap, } from "./a2ui.js";
9
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,EACpB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,yBAAyB,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,GACxC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,QAAQ,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,cAAc,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,mBAAmB,YAAY,CAAC;AAChC,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,OAAO,GACb,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,14 @@
1
- export { Agents, Attachments, BlockedHandles, Chats, Calls, CallConnections, ContactCard, Messages, Relay, WebSocket, WebhookEvents, WebhookSubscriptions, } from "./client.js";
1
+ export { Agents, Attachments, BlockedHandles, Chats, Calls, ContactCard, Contacts, Messages, PaymentRequests, Relay, WebSocket, WebhookEvents, WebhookSubscriptions, } from "./client.js";
2
+ export { CallRoom, parseCallRoomServerFrame, } from "./calls/call-room.js";
2
3
  export { RelayAPIError, RelayWebhookConfiguredError, } from "./errors.js";
3
4
  export { RELAY_V1_OPERATIONS, RELAY_WEBHOOK_EVENT_TYPES, } from "./operations.js";
4
5
  export { ChatsPage, MessagesPage, RelayPage, } from "./pagination.js";
5
6
  export { Webhooks, WebhookVerificationError, signWebhookHeaders, verifyWebhookSignature, } from "./webhooks.js";
6
7
  export { runWebSocket, } from "./websocket.js";
8
+ export { BUTTONS_BLOCK_INSTRUCTION, BUTTONS_FENCE, BUTTONS_GUIDANCE, BUTTONS_MAX_ITEMS, BUTTON_LABEL_MAX_LENGTH, BUTTON_URL_MAX_LENGTH, buttonsPart, parseButtonsBlock, partsWithButtons, splitButtons, } from "./buttons.js";
9
+ export { IDEMPOTENCY_KEY_MAX_LENGTH, LINK_LINE_INSTRUCTION, LINK_URL_MAX_LENGTH, answerMessages, indexedIdempotencyKey, splitLinks, standaloneLink, } from "./links.js";
10
+ export { PAYMENT_BLOCK_INSTRUCTION, PAYMENT_CATEGORIES, PAYMENT_DESCRIPTION_MAX_LENGTH, PAYMENT_FENCE, PAYMENT_GUIDANCE, PAYMENT_IMAGE_URL_MAX_LENGTH, createPaymentPart, parsePaymentBlock, paymentRequestFields, splitPayment, } from "./payment.js";
7
11
  export { Relay as default } from "./client.js";
12
+ export { SELECTION_BLOCK_INSTRUCTION, SELECTION_FENCE, SELECTION_GUIDANCE, SELECTION_MAX_OPTIONS, SELECTION_LABEL_MAX_LENGTH, SELECTION_VALUE_MAX_LENGTH, SELECTION_CONTEXT_MAX_LENGTH, componentParts, selectionPart, parseSelectionBlock, partsWithSelection, splitSelection, selectionReply, selectionReplyContext, } from "./selection.js";
13
+ export { A2UI_BASIC_CATALOG_ID, A2UI_MEDIA_TYPE, A2UI_VERSION, RELAY_A2UI_CATALOG_ID, a2uiPart, deleteA2uiSurface, readA2uiAction, sendA2uiSurface, updateA2uiSurface, } from "./a2ui.js";
8
14
  //# 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":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,2BAA2B,GAG5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,WAAW,EACX,cAAc,EACd,KAAK,EACL,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,aAAa,EACb,oBAAoB,GAErB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,QAAQ,EACR,wBAAwB,GAMzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,2BAA2B,GAG5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,SAAS,EACT,YAAY,EACZ,SAAS,GAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,kBAAkB,EAClB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAMb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,GAEb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,qBAAqB,GAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,GAKlB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { LinkPart, MessagePart, PaymentRequestCreateParams, TextPart } from "./types.js";
2
+ /**
3
+ * How a text-only agent sends a link: the URL alone on its own line, the way
4
+ * a person pastes one into Messages and the way Linq's iMessage guide asks for
5
+ * it ("put a single URL on its own line"). The line leaves the words and goes
6
+ * out as a `link` part in its own Message, which the server requires and the
7
+ * app draws as a card. The same words for every bridge that sends the agent's
8
+ * final text for it.
9
+ */
10
+ export declare const LINK_LINE_INSTRUCTION = "To send a link, put its URL alone on its own line. That line leaves your text and is sent as its own Message, in order with your words, and drawn as a card with the page's title and image.";
11
+ /** The server's limit for a link part's URL (contracts/relay-v1-openapi.yaml). */
12
+ export declare const LINK_URL_MAX_LENGTH = 2048;
13
+ /** Relay takes 1 to 255 characters for an idempotency key. */
14
+ export declare const IDEMPOTENCY_KEY_MAX_LENGTH = 255;
15
+ /**
16
+ * The URL a line carries when the line is nothing but one absolute HTTP or
17
+ * HTTPS URL; otherwise undefined. A URL inside a sentence stays words.
18
+ */
19
+ export declare const standaloneLink: (line: string) => string | undefined;
20
+ export type AnswerSegment = TextPart | LinkPart;
21
+ /**
22
+ * Splits an answer into its words and the links written alone on a line, in
23
+ * order. Text on either side of a link keeps its own line breaks, trimmed at
24
+ * the edges; an answer with no such line comes back as one text segment,
25
+ * untouched.
26
+ */
27
+ export declare const splitLinks: (text: string) => AnswerSegment[];
28
+ export interface AnswerMessages {
29
+ /** The Messages the answer becomes, in order; each is one parts array. */
30
+ messages: MessagePart[][];
31
+ /**
32
+ * A payment request the answer asked for. The bridge creates it with its
33
+ * own token (`createPaymentPart`) and sends the card as its own, final
34
+ * Message after `messages`.
35
+ */
36
+ payment?: PaymentRequestCreateParams;
37
+ /** Why a component block could not be used. The text then keeps it. */
38
+ error?: string;
39
+ }
40
+ /**
41
+ * The Messages a text-only agent's answer becomes: a payment, buttons or
42
+ * selection block is lifted out, then each link on its own line becomes its
43
+ * own Message. Buttons and selection accompany the last Message of words; a
44
+ * payment never does — it must be the only part of its Message, so the words
45
+ * around it are sent first, and the payment request it describes is returned
46
+ * beside them for the bridge to create and send as its own, final Message.
47
+ * Selection requires a nonblank question; conflicting components remain text
48
+ * with an error.
49
+ */
50
+ export declare const answerMessages: (answer: string) => AnswerMessages;
51
+ /**
52
+ * The idempotency key for the `index`th Message of one answer: the answer's
53
+ * own key for the first, and that key with the index for the rest, kept
54
+ * within Relay's 255 characters.
55
+ */
56
+ export declare const indexedIdempotencyKey: (key: string, index: number) => string;
57
+ //# sourceMappingURL=links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3G;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,iMAC8J,CAAC;AAEjM,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAEzC,8DAA8D;AAC9D,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAUtD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,aAAa,EAsBtD,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,cA6B/C,CAAC;AAYF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,MAAM,EAAE,OAAO,MAAM,KAAG,MAIlE,CAAC"}
package/dist/links.js ADDED
@@ -0,0 +1,126 @@
1
+ import { splitButtons } from "./buttons.js";
2
+ import { splitPayment } from "./payment.js";
3
+ import { splitSelection } from "./selection.js";
4
+ /**
5
+ * How a text-only agent sends a link: the URL alone on its own line, the way
6
+ * a person pastes one into Messages and the way Linq's iMessage guide asks for
7
+ * it ("put a single URL on its own line"). The line leaves the words and goes
8
+ * out as a `link` part in its own Message, which the server requires and the
9
+ * app draws as a card. The same words for every bridge that sends the agent's
10
+ * final text for it.
11
+ */
12
+ export const LINK_LINE_INSTRUCTION = "To send a link, put its URL alone on its own line. That line leaves your text and is sent as its own Message, in order with your words, and drawn as a card with the page's title and image.";
13
+ /** The server's limit for a link part's URL (contracts/relay-v1-openapi.yaml). */
14
+ export const LINK_URL_MAX_LENGTH = 2_048;
15
+ /** Relay takes 1 to 255 characters for an idempotency key. */
16
+ export const IDEMPOTENCY_KEY_MAX_LENGTH = 255;
17
+ /**
18
+ * The URL a line carries when the line is nothing but one absolute HTTP or
19
+ * HTTPS URL; otherwise undefined. A URL inside a sentence stays words.
20
+ */
21
+ export const standaloneLink = (line) => {
22
+ const value = line.trim();
23
+ if (!/^https?:\/\/\S+$/iu.test(value) || value.length > LINK_URL_MAX_LENGTH)
24
+ return undefined;
25
+ try {
26
+ const url = new URL(value);
27
+ if ((url.protocol !== "http:" && url.protocol !== "https:") || !url.hostname)
28
+ return undefined;
29
+ }
30
+ catch {
31
+ return undefined;
32
+ }
33
+ return value;
34
+ };
35
+ /**
36
+ * Splits an answer into its words and the links written alone on a line, in
37
+ * order. Text on either side of a link keeps its own line breaks, trimmed at
38
+ * the edges; an answer with no such line comes back as one text segment,
39
+ * untouched.
40
+ */
41
+ export const splitLinks = (text) => {
42
+ const segments = [];
43
+ let words = [];
44
+ const flush = () => {
45
+ const value = words.join("\n").trim();
46
+ if (value)
47
+ segments.push({ type: "text", value });
48
+ words = [];
49
+ };
50
+ for (const line of text.split(/\r?\n/u)) {
51
+ const link = standaloneLink(line);
52
+ if (link === undefined) {
53
+ words.push(line);
54
+ continue;
55
+ }
56
+ flush();
57
+ segments.push({ type: "link", value: link });
58
+ }
59
+ if (!segments.some((segment) => segment.type === "link")) {
60
+ return text.length > 0 ? [{ type: "text", value: text }] : [];
61
+ }
62
+ flush();
63
+ return segments;
64
+ };
65
+ /**
66
+ * The Messages a text-only agent's answer becomes: a payment, buttons or
67
+ * selection block is lifted out, then each link on its own line becomes its
68
+ * own Message. Buttons and selection accompany the last Message of words; a
69
+ * payment never does — it must be the only part of its Message, so the words
70
+ * around it are sent first, and the payment request it describes is returned
71
+ * beside them for the bridge to create and send as its own, final Message.
72
+ * Selection requires a nonblank question; conflicting components remain text
73
+ * with an error.
74
+ */
75
+ export const answerMessages = (answer) => {
76
+ const paid = splitPayment(answer);
77
+ if (paid.error) {
78
+ // The block stays in the words, but a link still travels alone; a bad
79
+ // component must not also take the person's link cards away.
80
+ return { messages: splitLinks(answer).map((segment) => [segment]), error: paid.error };
81
+ }
82
+ if (paid.payment) {
83
+ return { messages: splitLinks(paid.text).map((segment) => [segment]), payment: paid.payment };
84
+ }
85
+ const selected = splitSelection(answer);
86
+ if (selected.error) {
87
+ // The block stays in the words, but a link still travels alone; a bad
88
+ // component must not also take the person's link cards away.
89
+ return { messages: splitLinks(answer).map((segment) => [segment]), error: selected.error };
90
+ }
91
+ if (selected.selection) {
92
+ const messages = splitLinks(selected.text).map((segment) => [segment]);
93
+ const prompt = messages.findLast((parts) => parts[0]?.type === "text" && parts[0].value.trim());
94
+ if (!prompt) {
95
+ return { messages: [[{ type: "text", value: answer }]], error: "selection needs a nonblank text prompt" };
96
+ }
97
+ prompt.push(selected.selection);
98
+ return { messages };
99
+ }
100
+ const { text, buttons, error } = splitButtons(answer);
101
+ const messages = splitLinks(text).map((segment) => [segment]);
102
+ if (buttons)
103
+ attachButtons(messages, buttons);
104
+ return error ? { messages, error } : { messages };
105
+ };
106
+ const attachButtons = (messages, buttons) => {
107
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
108
+ if (messages[index]?.[0]?.type === "text") {
109
+ messages[index].push(buttons);
110
+ return;
111
+ }
112
+ }
113
+ messages.push([buttons]);
114
+ };
115
+ /**
116
+ * The idempotency key for the `index`th Message of one answer: the answer's
117
+ * own key for the first, and that key with the index for the rest, kept
118
+ * within Relay's 255 characters.
119
+ */
120
+ export const indexedIdempotencyKey = (key, index) => {
121
+ if (index === 0)
122
+ return key;
123
+ const suffix = `-${index}`;
124
+ return `${key.slice(0, IDEMPOTENCY_KEY_MAX_LENGTH - suffix.length)}${suffix}`;
125
+ };
126
+ //# sourceMappingURL=links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"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"}