@lessly/sdk-app 74.8.0 → 75.0.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lessly/sdk-app",
3
- "version": "74.8.0",
3
+ "version": "75.0.0",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "engines": {
@@ -219,5 +219,5 @@
219
219
  }
220
220
  }
221
221
  },
222
- "sdkContentHash": "sha256:5ce33791b8d2e4533c1d91af8c28690b23310d9b15c5276b2576d59eb9b3d989"
222
+ "sdkContentHash": "sha256:9bff247e42e10f0b84d9426c24dbe956d5d60800cd02eb64ac1a60fc64ad0d93"
223
223
  }
@@ -634,8 +634,10 @@ export const compositions: Record<string, ToolComposition> = {
634
634
  'brain_memory_update': {"pii":["input.content"],"label":"Update memory"},
635
635
  'brain_usage_report': {"label":"Get usage report"},
636
636
  'content_metrics_post_series': {"label":"Read post metrics","options":{"id":"content_publications_list"}},
637
- 'content_posts_create': {"pii":["output.author"],"label":"Create draft post"},
638
- 'content_posts_submit': {"pii":["output.author"],"label":"Submit post for approval","options":{"id":"content_posts_list"}},
637
+ 'content_posts_create': {"pii":["output.author","output.text","output.media"],"label":"Create draft post"},
638
+ 'content_posts_get': {"pii":["output.author","output.text","output.media"],"label":"Get post","options":{"id":"content_posts_list"}},
639
+ 'content_posts_list': {"pii":["output.posts[].author","output.posts[].text","output.posts[].media"],"label":"List posts"},
640
+ 'content_posts_submit': {"pii":["output.author","output.text","output.media"],"label":"Submit post for approval","options":{"id":"content_posts_list"}},
639
641
  'content_publications_cancel': {"label":"Cancel publication","options":{"id":"content_publications_list"}},
640
642
  'content_publications_publish': {"label":"Publish now","options":{"postId":"content_posts_list","channelId":"content_channels_list"},"completion_event":"content/publication.settled"},
641
643
  'content_publications_schedule': {"label":"Schedule publication","options":{"postId":"content_posts_list","channelId":"content_channels_list"},"completion_event":"content/publication.settled"},
@@ -67739,7 +67739,7 @@ capturedAt: string
67739
67739
  /**
67740
67740
  * The network the channel publishes to.
67741
67741
  */
67742
- network: string
67742
+ network: ("linkedin" | "x" | "youtube" | "instagram" | "reddit")
67743
67743
  /**
67744
67744
  * What this network reports for this account. "none" means no snapshot will ever be taken — a personal Instagram profile has no API at all; "basic" means fewer numbers than a business account gets, so an absent metric is the network's silence, not a zero.
67745
67745
  */
@@ -67770,6 +67770,39 @@ limit?: number
67770
67770
  }
67771
67771
 
67772
67772
  export interface ContentMetricsPostSeriesOutput {
67773
+ /**
67774
+ * The newest snapshot as flat, named numbers — what to read when you want "how is this post doing" rather than the whole curve. Null when nothing has been captured yet.
67775
+ */
67776
+ latest: ({
67777
+ /**
67778
+ * Likes. Null when this network does not report it.
67779
+ */
67780
+ likes: (number | null)
67781
+ /**
67782
+ * Plays, on a video surface. Distinct from impressions — YouTube reports one, not both. Null when this network does not report it.
67783
+ */
67784
+ views: (number | null)
67785
+ /**
67786
+ * Clicks on the post or its link. Null when this network does not report it.
67787
+ */
67788
+ clicks: (number | null)
67789
+ /**
67790
+ * Reposts, retweets, shares — whatever the network calls passing it on. Null when this network does not report it.
67791
+ */
67792
+ shares: (number | null)
67793
+ /**
67794
+ * Comments or replies. Null when this network does not report it.
67795
+ */
67796
+ comments: (number | null)
67797
+ /**
67798
+ * ISO-8601 time this snapshot was taken.
67799
+ */
67800
+ capturedAt: string
67801
+ /**
67802
+ * Times the post was served. Null when this network does not report it.
67803
+ */
67804
+ impressions: (number | null)
67805
+ } | null)
67773
67806
  /**
67774
67807
  * Snapshots oldest first. Readings over time, not a current value: reach keeps growing for weeks. Empty means nothing has been captured yet.
67775
67808
  */
@@ -67786,9 +67819,9 @@ metrics: {
67786
67819
  capturedAt: string
67787
67820
  }[]
67788
67821
  /**
67789
- * The network the channel publishes to.
67822
+ * The network the channel publishes to. "unknown" means the channel behind this publication can no longer be read — the publication outlives the channel binding.
67790
67823
  */
67791
- network: string
67824
+ network: ("linkedin" | "x" | "youtube" | "instagram" | "reddit" | "unknown")
67792
67825
  /**
67793
67826
  * What this network reports for this account. "none" means no snapshot will ever be taken — a personal Instagram profile has no API at all; "basic" means fewer numbers than a business account gets, so an absent metric is the network's silence, not a zero.
67794
67827
  */
@@ -68298,9 +68331,9 @@ attempts: number
68298
68331
  */
68299
68332
  channelId: string
68300
68333
  /**
68301
- * Which rate produced costUsd: "plain", "link" or "free".
68334
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68302
68335
  */
68303
- costBasis: (string | null)
68336
+ costBasis: (("plain" | "link" | "free") | null)
68304
68337
  /**
68305
68338
  * ISO-8601 creation time.
68306
68339
  */
@@ -68329,6 +68362,10 @@ publishedAt: (string | null)
68329
68362
  * ISO-8601 time the publication is due.
68330
68363
  */
68331
68364
  scheduledAt: string
68365
+ /**
68366
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68367
+ */
68368
+ publicationId: string
68332
68369
  /**
68333
68370
  * How many reminders have been sent for this publication.
68334
68371
  */
@@ -68388,9 +68425,9 @@ attempts: number
68388
68425
  */
68389
68426
  channelId: string
68390
68427
  /**
68391
- * Which rate produced costUsd: "plain", "link" or "free".
68428
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68392
68429
  */
68393
- costBasis: (string | null)
68430
+ costBasis: (("plain" | "link" | "free") | null)
68394
68431
  /**
68395
68432
  * ISO-8601 creation time.
68396
68433
  */
@@ -68419,6 +68456,10 @@ publishedAt: (string | null)
68419
68456
  * ISO-8601 time the publication is due.
68420
68457
  */
68421
68458
  scheduledAt: string
68459
+ /**
68460
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68461
+ */
68462
+ publicationId: string
68422
68463
  /**
68423
68464
  * How many reminders have been sent for this publication.
68424
68465
  */
@@ -68470,9 +68511,9 @@ attempts: number
68470
68511
  */
68471
68512
  channelId: string
68472
68513
  /**
68473
- * Which rate produced costUsd: "plain", "link" or "free".
68514
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68474
68515
  */
68475
- costBasis: (string | null)
68516
+ costBasis: (("plain" | "link" | "free") | null)
68476
68517
  /**
68477
68518
  * ISO-8601 creation time.
68478
68519
  */
@@ -68501,6 +68542,10 @@ publishedAt: (string | null)
68501
68542
  * ISO-8601 time the publication is due.
68502
68543
  */
68503
68544
  scheduledAt: string
68545
+ /**
68546
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68547
+ */
68548
+ publicationId: string
68504
68549
  /**
68505
68550
  * How many reminders have been sent for this publication.
68506
68551
  */
@@ -68584,9 +68629,9 @@ attempts: number
68584
68629
  */
68585
68630
  channelId: string
68586
68631
  /**
68587
- * Which rate produced costUsd: "plain", "link" or "free".
68632
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68588
68633
  */
68589
- costBasis: (string | null)
68634
+ costBasis: (("plain" | "link" | "free") | null)
68590
68635
  /**
68591
68636
  * ISO-8601 creation time.
68592
68637
  */
@@ -68615,6 +68660,10 @@ publishedAt: (string | null)
68615
68660
  * ISO-8601 time the publication is due.
68616
68661
  */
68617
68662
  scheduledAt: string
68663
+ /**
68664
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68665
+ */
68666
+ publicationId: string
68618
68667
  /**
68619
68668
  * How many reminders have been sent for this publication.
68620
68669
  */
@@ -68679,9 +68728,9 @@ attempts: number
68679
68728
  */
68680
68729
  channelId: string
68681
68730
  /**
68682
- * Which rate produced costUsd: "plain", "link" or "free".
68731
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68683
68732
  */
68684
- costBasis: (string | null)
68733
+ costBasis: (("plain" | "link" | "free") | null)
68685
68734
  /**
68686
68735
  * ISO-8601 creation time.
68687
68736
  */
@@ -68710,6 +68759,10 @@ publishedAt: (string | null)
68710
68759
  * ISO-8601 time the publication is due.
68711
68760
  */
68712
68761
  scheduledAt: string
68762
+ /**
68763
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68764
+ */
68765
+ publicationId: string
68713
68766
  /**
68714
68767
  * How many reminders have been sent for this publication.
68715
68768
  */
@@ -68761,9 +68814,9 @@ attempts: number
68761
68814
  */
68762
68815
  channelId: string
68763
68816
  /**
68764
- * Which rate produced costUsd: "plain", "link" or "free".
68817
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68765
68818
  */
68766
- costBasis: (string | null)
68819
+ costBasis: (("plain" | "link" | "free") | null)
68767
68820
  /**
68768
68821
  * ISO-8601 creation time.
68769
68822
  */
@@ -68792,6 +68845,10 @@ publishedAt: (string | null)
68792
68845
  * ISO-8601 time the publication is due.
68793
68846
  */
68794
68847
  scheduledAt: string
68848
+ /**
68849
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68850
+ */
68851
+ publicationId: string
68795
68852
  /**
68796
68853
  * How many reminders have been sent for this publication.
68797
68854
  */
@@ -68847,9 +68904,9 @@ attempts: number
68847
68904
  */
68848
68905
  channelId: string
68849
68906
  /**
68850
- * Which rate produced costUsd: "plain", "link" or "free".
68907
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68851
68908
  */
68852
- costBasis: (string | null)
68909
+ costBasis: (("plain" | "link" | "free") | null)
68853
68910
  /**
68854
68911
  * ISO-8601 creation time.
68855
68912
  */
@@ -68878,6 +68935,10 @@ publishedAt: (string | null)
68878
68935
  * ISO-8601 time the publication is due.
68879
68936
  */
68880
68937
  scheduledAt: string
68938
+ /**
68939
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
68940
+ */
68941
+ publicationId: string
68881
68942
  /**
68882
68943
  * How many reminders have been sent for this publication.
68883
68944
  */
@@ -68945,9 +69006,9 @@ attempts: number
68945
69006
  */
68946
69007
  channelId: string
68947
69008
  /**
68948
- * Which rate produced costUsd: "plain", "link" or "free".
69009
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost is not known.
68949
69010
  */
68950
- costBasis: (string | null)
69011
+ costBasis: (("plain" | "link" | "free") | null)
68951
69012
  /**
68952
69013
  * ISO-8601 creation time.
68953
69014
  */
@@ -68976,6 +69037,10 @@ publishedAt: (string | null)
68976
69037
  * ISO-8601 time the publication is due.
68977
69038
  */
68978
69039
  scheduledAt: string
69040
+ /**
69041
+ * The publication id again, under the name the content/publication.settled event uses to report this publication finishing. Always identical to id.
69042
+ */
69043
+ publicationId: string
68979
69044
  /**
68980
69045
  * How many reminders have been sent for this publication.
68981
69046
  */
@@ -70899,6 +70964,10 @@ scheduledAt?: string
70899
70964
  }
70900
70965
 
70901
70966
  export interface ContentPublicationsValidateOutput {
70967
+ /**
70968
+ * True when nothing blocks scheduling. False when any channel carries an issue of severity "error" — the same fact as the issue list below, stated once so it can be branched on.
70969
+ */
70970
+ ok: boolean
70902
70971
  /**
70903
70972
  * The post that was checked.
70904
70973
  */
@@ -70916,9 +70985,9 @@ text: string
70916
70985
  */
70917
70986
  issues: {
70918
70987
  /**
70919
- * Stable machine code: text_empty, text_too_long, too_many_media, link_not_supported, media_missing, media_not_ready, media_not_supported, cost_unknown, daily_ceiling_exceeded.
70988
+ * Stable machine code for what is wrong: text_empty, text_too_long, too_many_media, link_not_supported, multiple_links, media_missing, media_not_ready, media_not_supported, video_required, cost_unknown, daily_ceiling_exceeded.
70920
70989
  */
70921
- code: string
70990
+ code: ("text_empty" | "text_too_long" | "too_many_media" | "link_not_supported" | "multiple_links" | "media_missing" | "media_not_ready" | "media_not_supported" | "video_required" | "cost_unknown" | "daily_ceiling_exceeded")
70922
70991
  /**
70923
70992
  * Which input the issue is about, when it is about one.
70924
70993
  */
@@ -70956,15 +71025,15 @@ costUsd: (number | null)
70956
71025
  /**
70957
71026
  * The network behind that channel.
70958
71027
  */
70959
- network: string
71028
+ network: ("linkedin" | "x" | "youtube" | "instagram" | "reddit")
70960
71029
  /**
70961
71030
  * The channel this result is for.
70962
71031
  */
70963
71032
  channelId: string
70964
71033
  /**
70965
- * Which rate produced costUsd: "plain", "link" or "free".
71034
+ * Which rate produced costUsd: `plain` the flat per-post rate, `link` the higher rate a post carrying a link is charged, `free` a channel whose rates are both zero. Null when the cost cannot be computed.
70966
71035
  */
70967
- costBasis: (string | null)
71036
+ costBasis: (("plain" | "link" | "free") | null)
70968
71037
  /**
70969
71038
  * The channel as a person sees it.
70970
71039
  */
@@ -70974,6 +71043,14 @@ displayName: string
70974
71043
  */
70975
71044
  renderedText: string
70976
71045
  }[]
71046
+ /**
71047
+ * How many error-severity issues there are across every channel. Warnings are not counted: they do not block scheduling.
71048
+ */
71049
+ errorCount: number
71050
+ /**
71051
+ * The first error message in report order, ready to show a person or put in a notification. Null when there are no errors.
71052
+ */
71053
+ firstErrorMessage: (string | null)
70977
71054
  }
70978
71055
 
70979
71056
  export interface DeploymentAlertCreateInput {