@lessly/sdk-app 83.2.0 → 83.4.0

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.
@@ -97368,6 +97368,99 @@ export interface SupportMessageCreateOutput {
97368
97368
  * The message text, byte-identical to what was stored
97369
97369
  */
97370
97370
  body: string;
97371
+ /**
97372
+ * ISO-8601 time of the last edit, or null when the message was never edited
97373
+ */
97374
+ editedAt: (string | null);
97375
+ /**
97376
+ * Thread this message belongs to
97377
+ */
97378
+ threadId: string;
97379
+ /**
97380
+ * ISO-8601 creation timestamp
97381
+ */
97382
+ createdAt: string;
97383
+ /**
97384
+ * ISO-8601 time the message was deleted, or null. A deleted message stays in the thread as a placeholder: its body is empty and it carries no attachments
97385
+ */
97386
+ deletedAt: (string | null);
97387
+ /**
97388
+ * inbound: written by the external end user. outbound: written by support, going out to them
97389
+ */
97390
+ direction: ("inbound" | "outbound");
97391
+ /**
97392
+ * public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
97393
+ */
97394
+ visibility: ("public" | "internal");
97395
+ /**
97396
+ * Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
97397
+ */
97398
+ attachments: {
97399
+ /**
97400
+ * Attachment id
97401
+ */
97402
+ id: string;
97403
+ /**
97404
+ * Display name of the file
97405
+ */
97406
+ fileName: string;
97407
+ /**
97408
+ * ISO-8601 timestamp of when the attachment was created
97409
+ */
97410
+ createdAt: string;
97411
+ /**
97412
+ * Size in bytes as reported by storage
97413
+ */
97414
+ sizeBytes: number;
97415
+ /**
97416
+ * MIME type of the file
97417
+ */
97418
+ contentType: string;
97419
+ /**
97420
+ * Short-lived signed URL to read the file. Re-read the message to get a fresh one
97421
+ */
97422
+ downloadUrl: string;
97423
+ }[];
97424
+ /**
97425
+ * The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
97426
+ */
97427
+ attachmentIds: string[];
97428
+ /**
97429
+ * The agent author, or null when the external end user wrote the message
97430
+ */
97431
+ authorAgentId: (string | null);
97432
+ /**
97433
+ * How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
97434
+ */
97435
+ attachmentCount: number;
97436
+ /**
97437
+ * The external author, or null when an agent wrote the message
97438
+ */
97439
+ authorExternalId: (string | null);
97440
+ /**
97441
+ * The Lessly identity that posted the message — the one allowed to edit or delete it. Null for a message from the public edge or from before authorship was recorded: nobody owns those, and only support_message_delete_any removes them
97442
+ */
97443
+ createdByIdentityId: (string | null);
97444
+ }
97445
+ export interface SupportMessageDeleteInput {
97446
+ /**
97447
+ * Message id
97448
+ */
97449
+ id: string;
97450
+ }
97451
+ export interface SupportMessageDeleteOutput {
97452
+ /**
97453
+ * Message id
97454
+ */
97455
+ id: string;
97456
+ /**
97457
+ * The message text, byte-identical to what was stored
97458
+ */
97459
+ body: string;
97460
+ /**
97461
+ * ISO-8601 time of the last edit, or null when the message was never edited
97462
+ */
97463
+ editedAt: (string | null);
97371
97464
  /**
97372
97465
  * Thread this message belongs to
97373
97466
  */
@@ -97376,6 +97469,10 @@ export interface SupportMessageCreateOutput {
97376
97469
  * ISO-8601 creation timestamp
97377
97470
  */
97378
97471
  createdAt: string;
97472
+ /**
97473
+ * ISO-8601 time the message was deleted, or null. A deleted message stays in the thread as a placeholder: its body is empty and it carries no attachments
97474
+ */
97475
+ deletedAt: (string | null);
97379
97476
  /**
97380
97477
  * inbound: written by the external end user. outbound: written by support, going out to them
97381
97478
  */
@@ -97429,6 +97526,99 @@ export interface SupportMessageCreateOutput {
97429
97526
  * The external author, or null when an agent wrote the message
97430
97527
  */
97431
97528
  authorExternalId: (string | null);
97529
+ /**
97530
+ * The Lessly identity that posted the message — the one allowed to edit or delete it. Null for a message from the public edge or from before authorship was recorded: nobody owns those, and only support_message_delete_any removes them
97531
+ */
97532
+ createdByIdentityId: (string | null);
97533
+ }
97534
+ export interface SupportMessageDeleteAnyInput {
97535
+ /**
97536
+ * Message id
97537
+ */
97538
+ id: string;
97539
+ }
97540
+ export interface SupportMessageDeleteAnyOutput {
97541
+ /**
97542
+ * Message id
97543
+ */
97544
+ id: string;
97545
+ /**
97546
+ * The message text, byte-identical to what was stored
97547
+ */
97548
+ body: string;
97549
+ /**
97550
+ * ISO-8601 time of the last edit, or null when the message was never edited
97551
+ */
97552
+ editedAt: (string | null);
97553
+ /**
97554
+ * Thread this message belongs to
97555
+ */
97556
+ threadId: string;
97557
+ /**
97558
+ * ISO-8601 creation timestamp
97559
+ */
97560
+ createdAt: string;
97561
+ /**
97562
+ * ISO-8601 time the message was deleted, or null. A deleted message stays in the thread as a placeholder: its body is empty and it carries no attachments
97563
+ */
97564
+ deletedAt: (string | null);
97565
+ /**
97566
+ * inbound: written by the external end user. outbound: written by support, going out to them
97567
+ */
97568
+ direction: ("inbound" | "outbound");
97569
+ /**
97570
+ * public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
97571
+ */
97572
+ visibility: ("public" | "internal");
97573
+ /**
97574
+ * Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
97575
+ */
97576
+ attachments: {
97577
+ /**
97578
+ * Attachment id
97579
+ */
97580
+ id: string;
97581
+ /**
97582
+ * Display name of the file
97583
+ */
97584
+ fileName: string;
97585
+ /**
97586
+ * ISO-8601 timestamp of when the attachment was created
97587
+ */
97588
+ createdAt: string;
97589
+ /**
97590
+ * Size in bytes as reported by storage
97591
+ */
97592
+ sizeBytes: number;
97593
+ /**
97594
+ * MIME type of the file
97595
+ */
97596
+ contentType: string;
97597
+ /**
97598
+ * Short-lived signed URL to read the file. Re-read the message to get a fresh one
97599
+ */
97600
+ downloadUrl: string;
97601
+ }[];
97602
+ /**
97603
+ * The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
97604
+ */
97605
+ attachmentIds: string[];
97606
+ /**
97607
+ * The agent author, or null when the external end user wrote the message
97608
+ */
97609
+ authorAgentId: (string | null);
97610
+ /**
97611
+ * How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
97612
+ */
97613
+ attachmentCount: number;
97614
+ /**
97615
+ * The external author, or null when an agent wrote the message
97616
+ */
97617
+ authorExternalId: (string | null);
97618
+ /**
97619
+ * The Lessly identity that posted the message — the one allowed to edit or delete it. Null for a message from the public edge or from before authorship was recorded: nobody owns those, and only support_message_delete_any removes them
97620
+ */
97621
+ createdByIdentityId: (string | null);
97432
97622
  }
97433
97623
  export interface SupportMessageGetInput {
97434
97624
  /**
@@ -97445,6 +97635,10 @@ export interface SupportMessageGetOutput {
97445
97635
  * The message text, byte-identical to what was stored
97446
97636
  */
97447
97637
  body: string;
97638
+ /**
97639
+ * ISO-8601 time of the last edit, or null when the message was never edited
97640
+ */
97641
+ editedAt: (string | null);
97448
97642
  /**
97449
97643
  * Thread this message belongs to
97450
97644
  */
@@ -97453,6 +97647,10 @@ export interface SupportMessageGetOutput {
97453
97647
  * ISO-8601 creation timestamp
97454
97648
  */
97455
97649
  createdAt: string;
97650
+ /**
97651
+ * ISO-8601 time the message was deleted, or null. A deleted message stays in the thread as a placeholder: its body is empty and it carries no attachments
97652
+ */
97653
+ deletedAt: (string | null);
97456
97654
  /**
97457
97655
  * inbound: written by the external end user. outbound: written by support, going out to them
97458
97656
  */
@@ -97506,6 +97704,10 @@ export interface SupportMessageGetOutput {
97506
97704
  * The external author, or null when an agent wrote the message
97507
97705
  */
97508
97706
  authorExternalId: (string | null);
97707
+ /**
97708
+ * The Lessly identity that posted the message — the one allowed to edit or delete it. Null for a message from the public edge or from before authorship was recorded: nobody owns those, and only support_message_delete_any removes them
97709
+ */
97710
+ createdByIdentityId: (string | null);
97509
97711
  }
97510
97712
  export interface SupportMessageListInput {
97511
97713
  /**
@@ -97558,6 +97760,10 @@ export interface SupportMessageListOutput {
97558
97760
  * The message text, byte-identical to what was stored
97559
97761
  */
97560
97762
  body: string;
97763
+ /**
97764
+ * ISO-8601 time of the last edit, or null when the message was never edited
97765
+ */
97766
+ editedAt: (string | null);
97561
97767
  /**
97562
97768
  * Thread this message belongs to
97563
97769
  */
@@ -97566,6 +97772,10 @@ export interface SupportMessageListOutput {
97566
97772
  * ISO-8601 creation timestamp
97567
97773
  */
97568
97774
  createdAt: string;
97775
+ /**
97776
+ * ISO-8601 time the message was deleted, or null. A deleted message stays in the thread as a placeholder: its body is empty and it carries no attachments
97777
+ */
97778
+ deletedAt: (string | null);
97569
97779
  /**
97570
97780
  * inbound: written by the external end user. outbound: written by support, going out to them
97571
97781
  */
@@ -97619,12 +97829,142 @@ export interface SupportMessageListOutput {
97619
97829
  * The external author, or null when an agent wrote the message
97620
97830
  */
97621
97831
  authorExternalId: (string | null);
97832
+ /**
97833
+ * The Lessly identity that posted the message — the one allowed to edit or delete it. Null for a message from the public edge or from before authorship was recorded: nobody owns those, and only support_message_delete_any removes them
97834
+ */
97835
+ createdByIdentityId: (string | null);
97622
97836
  }[];
97623
97837
  /**
97624
97838
  * Position to resume from: pass it back as cursor for the next page. Null when this page is the last one
97625
97839
  */
97626
97840
  nextCursor: (string | null);
97627
97841
  }
97842
+ export interface SupportMessageRevisionsListInput {
97843
+ /**
97844
+ * Message id
97845
+ */
97846
+ id: string;
97847
+ }
97848
+ export interface SupportMessageRevisionsListOutput {
97849
+ /**
97850
+ * Every earlier body of the message, newest first. Empty when it was never edited, and empty again once the message is deleted — a removed body does not survive in its history
97851
+ */
97852
+ revisions: {
97853
+ /**
97854
+ * Revision id
97855
+ */
97856
+ id: string;
97857
+ /**
97858
+ * The body the message had before this edit
97859
+ */
97860
+ body: string;
97861
+ /**
97862
+ * ISO-8601 time of the edit
97863
+ */
97864
+ createdAt: string;
97865
+ /**
97866
+ * The message this revision belongs to
97867
+ */
97868
+ messageId: string;
97869
+ /**
97870
+ * The Lessly identity that made the edit
97871
+ */
97872
+ editedByIdentityId: (string | null);
97873
+ }[];
97874
+ }
97875
+ export interface SupportMessageUpdateInput {
97876
+ /**
97877
+ * Id of the message to edit
97878
+ */
97879
+ id: string;
97880
+ /**
97881
+ * The new message text, stored verbatim. It replaces the whole body. An empty string is accepted only on a message that carries at least one attachment — a picture may stand alone, a message with nothing to show may not
97882
+ */
97883
+ body: string;
97884
+ }
97885
+ export interface SupportMessageUpdateOutput {
97886
+ /**
97887
+ * Message id
97888
+ */
97889
+ id: string;
97890
+ /**
97891
+ * The message text, byte-identical to what was stored
97892
+ */
97893
+ body: string;
97894
+ /**
97895
+ * ISO-8601 time of the last edit, or null when the message was never edited
97896
+ */
97897
+ editedAt: (string | null);
97898
+ /**
97899
+ * Thread this message belongs to
97900
+ */
97901
+ threadId: string;
97902
+ /**
97903
+ * ISO-8601 creation timestamp
97904
+ */
97905
+ createdAt: string;
97906
+ /**
97907
+ * ISO-8601 time the message was deleted, or null. A deleted message stays in the thread as a placeholder: its body is empty and it carries no attachments
97908
+ */
97909
+ deletedAt: (string | null);
97910
+ /**
97911
+ * inbound: written by the external end user. outbound: written by support, going out to them
97912
+ */
97913
+ direction: ("inbound" | "outbound");
97914
+ /**
97915
+ * public: part of the conversation the external end user sees. internal: a note between agents that never leaves the support contour
97916
+ */
97917
+ visibility: ("public" | "internal");
97918
+ /**
97919
+ * Files this message carries, each with a freshly signed download URL. Empty when there are none. Attachments whose upload was never confirmed are never listed here
97920
+ */
97921
+ attachments: {
97922
+ /**
97923
+ * Attachment id
97924
+ */
97925
+ id: string;
97926
+ /**
97927
+ * Display name of the file
97928
+ */
97929
+ fileName: string;
97930
+ /**
97931
+ * ISO-8601 timestamp of when the attachment was created
97932
+ */
97933
+ createdAt: string;
97934
+ /**
97935
+ * Size in bytes as reported by storage
97936
+ */
97937
+ sizeBytes: number;
97938
+ /**
97939
+ * MIME type of the file
97940
+ */
97941
+ contentType: string;
97942
+ /**
97943
+ * Short-lived signed URL to read the file. Re-read the message to get a fresh one
97944
+ */
97945
+ downloadUrl: string;
97946
+ }[];
97947
+ /**
97948
+ * The same files as a flat list of ids, in the order attachments[] has them. This is the value support_message_create takes back; attachments.0.id names only the first file
97949
+ */
97950
+ attachmentIds: string[];
97951
+ /**
97952
+ * The agent author, or null when the external end user wrote the message
97953
+ */
97954
+ authorAgentId: (string | null);
97955
+ /**
97956
+ * How many files this message carries, 0 when it carries none. A dot-path has no length, so this is the only way a step can branch on whether there are files at all — and a message may carry a file and no body, so it is what tells those two messages apart
97957
+ */
97958
+ attachmentCount: number;
97959
+ /**
97960
+ * The external author, or null when an agent wrote the message
97961
+ */
97962
+ authorExternalId: (string | null);
97963
+ /**
97964
+ * The Lessly identity that posted the message — the one allowed to edit or delete it. Null for a message from the public edge or from before authorship was recorded: nobody owns those, and only support_message_delete_any removes them
97965
+ */
97966
+ createdByIdentityId: (string | null);
97967
+ }
97628
97968
  export interface SupportResponseEscalateInput {
97629
97969
  /**
97630
97970
  * Response id
@@ -118278,11 +118618,11 @@ export interface SupportWebhookCreateInput {
118278
118618
  */
118279
118619
  url: string;
118280
118620
  /**
118281
- * Event types this endpoint subscribes to. One or more of support.message.created, support.thread.status-changed, support.thread.assigned, support.survey.published, support.response.created
118621
+ * Event types this endpoint subscribes to. One or more of support.message.created, support.message.updated, support.message.deleted, support.thread.status-changed, support.thread.assigned, support.survey.published, support.response.created
118282
118622
  *
118283
118623
  * @minItems 1
118284
118624
  */
118285
- eventTypes: [("support.message.created" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"), ...(("support.message.created" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"))[]];
118625
+ eventTypes: [("support.message.created" | "support.message.updated" | "support.message.deleted" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"), ...(("support.message.created" | "support.message.updated" | "support.message.deleted" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"))[]];
118286
118626
  /**
118287
118627
  * Free-form note about what this endpoint is for, up to 1000 characters
118288
118628
  */
@@ -118362,7 +118702,7 @@ export interface SupportWebhookDeliveriesListInput {
118362
118702
  /**
118363
118703
  * Only deliveries of this event type
118364
118704
  */
118365
- eventType?: ("support.message.created" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created");
118705
+ eventType?: ("support.message.created" | "support.message.updated" | "support.message.deleted" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created");
118366
118706
  /**
118367
118707
  * Only deliveries for this endpoint
118368
118708
  */
@@ -118639,11 +118979,11 @@ export interface SupportWebhookUpdateInput {
118639
118979
  */
118640
118980
  status?: ("active" | "disabled");
118641
118981
  /**
118642
- * Event types this endpoint subscribes to. One or more of support.message.created, support.thread.status-changed, support.thread.assigned, support.survey.published, support.response.created
118982
+ * Event types this endpoint subscribes to. One or more of support.message.created, support.message.updated, support.message.deleted, support.thread.status-changed, support.thread.assigned, support.survey.published, support.response.created
118643
118983
  *
118644
118984
  * @minItems 1
118645
118985
  */
118646
- eventTypes?: [("support.message.created" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"), ...(("support.message.created" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"))[]];
118986
+ eventTypes?: [("support.message.created" | "support.message.updated" | "support.message.deleted" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"), ...(("support.message.created" | "support.message.updated" | "support.message.deleted" | "support.thread.status-changed" | "support.thread.assigned" | "support.survey.published" | "support.response.created"))[]];
118647
118987
  /**
118648
118988
  * Free-form note about what this endpoint is for, up to 1000 characters
118649
118989
  */
package/dist/index.cjs CHANGED
@@ -8227,6 +8227,19 @@ var bindings = {
8227
8227
  "path": "/support/messages",
8228
8228
  "readOnly": false
8229
8229
  },
8230
+ "delete": {
8231
+ "level": "write",
8232
+ "method": "DELETE",
8233
+ "operationKey": "support_message_delete",
8234
+ "params": [
8235
+ {
8236
+ "in": "path",
8237
+ "name": "id"
8238
+ }
8239
+ ],
8240
+ "path": "/support/messages/:id",
8241
+ "readOnly": false
8242
+ },
8230
8243
  "get": {
8231
8244
  "level": "read",
8232
8245
  "method": "GET",
@@ -8276,6 +8289,53 @@ var bindings = {
8276
8289
  ],
8277
8290
  "path": "/support/messages",
8278
8291
  "readOnly": true
8292
+ },
8293
+ "update": {
8294
+ "level": "write",
8295
+ "method": "PATCH",
8296
+ "operationKey": "support_message_update",
8297
+ "params": [
8298
+ {
8299
+ "in": "path",
8300
+ "name": "id"
8301
+ },
8302
+ {
8303
+ "in": "body",
8304
+ "name": "body"
8305
+ }
8306
+ ],
8307
+ "path": "/support/messages/:id",
8308
+ "readOnly": false
8309
+ }
8310
+ },
8311
+ "message-delete": {
8312
+ "any": {
8313
+ "level": "admin",
8314
+ "method": "POST",
8315
+ "operationKey": "support_message_delete_any",
8316
+ "params": [
8317
+ {
8318
+ "in": "path",
8319
+ "name": "id"
8320
+ }
8321
+ ],
8322
+ "path": "/support/messages/:id/delete-any",
8323
+ "readOnly": false
8324
+ }
8325
+ },
8326
+ "message-revisions": {
8327
+ "list": {
8328
+ "level": "admin",
8329
+ "method": "GET",
8330
+ "operationKey": "support_message_revisions_list",
8331
+ "params": [
8332
+ {
8333
+ "in": "path",
8334
+ "name": "id"
8335
+ }
8336
+ ],
8337
+ "path": "/support/messages/:id/revisions",
8338
+ "readOnly": true
8279
8339
  }
8280
8340
  },
8281
8341
  "response": {
@@ -11867,8 +11927,12 @@ var operations = {
11867
11927
  "support_label_get": "read",
11868
11928
  "support_label_list": "read",
11869
11929
  "support_message_create": "write",
11930
+ "support_message_delete": "write",
11931
+ "support_message_delete_any": "admin",
11870
11932
  "support_message_get": "read",
11871
11933
  "support_message_list": "read",
11934
+ "support_message_revisions_list": "admin",
11935
+ "support_message_update": "write",
11872
11936
  "support_response_escalate": "write",
11873
11937
  "support_response_get": "read",
11874
11938
  "support_response_list": "read",
@@ -12109,8 +12173,11 @@ var compositions = {
12109
12173
  "support_label_get": { "label": "Get label", "options": { "id": "support_label_list" } },
12110
12174
  "support_label_list": { "label": "List labels" },
12111
12175
  "support_message_create": { "pii": ["input.body", "input.authorExternalId", "output.body", "output.authorExternalId"], "label": "Write message", "options": { "threadId": "support_thread_list", "authorAgentId": "support_agent_list" } },
12176
+ "support_message_delete": { "pii": ["output.body", "output.authorExternalId"], "label": "Delete own message", "options": { "id": "support_message_list" } },
12177
+ "support_message_delete_any": { "pii": ["output.body", "output.authorExternalId"], "label": "Delete any message", "options": { "id": "support_message_list" } },
12112
12178
  "support_message_get": { "pii": ["output.body", "output.authorExternalId"], "label": "Get message", "options": { "id": "support_message_list" } },
12113
12179
  "support_message_list": { "pii": ["output.messages[].body", "output.messages[].authorExternalId"], "label": "List messages", "options": { "threadId": "support_thread_list" } },
12180
+ "support_message_update": { "pii": ["input.body", "output.body", "output.authorExternalId"], "label": "Edit message", "options": { "id": "support_message_list" } },
12114
12181
  "support_response_escalate": { "pii": ["output.response.authorExternalId", "output.response.answers", "output.thread.title", "output.thread.authorExternalId", "output.thread.authorDisplay"], "label": "Escalate response into a thread", "options": { "id": "support_response_list" } },
12115
12182
  "support_response_get": { "pii": ["output.authorExternalId", "output.answers"], "label": "Get survey response", "options": { "id": "support_response_list" } },
12116
12183
  "support_response_list": { "pii": ["output.responses[].authorExternalId", "output.responses[].answers"], "label": "List survey responses", "options": { "surveyId": "support_survey_list" } },