@sunsteel/contracts 0.90.0 → 0.92.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/dist/index.js CHANGED
@@ -1303,7 +1303,7 @@ var ROUTINE_VISIBILITY_VALUES = [
1303
1303
  "PUBLIC"
1304
1304
  ];
1305
1305
  var ROUTINE_SHARE_MAX_ACTIVE_LINKS = 10;
1306
- var SHARED_ROUTINE_SOURCES = ["LINK", "VISIBILITY"];
1306
+ var SHARED_ROUTINE_SOURCES = ["LINK", "VISIBILITY", "MESSAGE"];
1307
1307
  var CLONE_ROUTINE_REFUSALS = {
1308
1308
  /** Neither `token` nor `routineId`, or both at once. */
1309
1309
  SOURCE_REQUIRED: "SOURCE_REQUIRED",
@@ -1471,7 +1471,8 @@ var PUSH_PAYLOAD_KINDS = [
1471
1471
  "TRAINING_REMINDER",
1472
1472
  "STREAK_AT_RISK",
1473
1473
  "TRAINING_PARTNER_SESSION",
1474
- "TRAINING_PARTNER_ACHIEVEMENT"
1474
+ "TRAINING_PARTNER_ACHIEVEMENT",
1475
+ "MESSAGE"
1475
1476
  ];
1476
1477
  var REST_ALERT_MAX_LEAD_SECONDS = 3600;
1477
1478
  var REST_ALERT_MIN_LEAD_SECONDS = 5;
@@ -1494,7 +1495,9 @@ var NOTIFICATION_CATEGORIES = [
1494
1495
  "TRAINING_REMINDER",
1495
1496
  "STREAK_AT_RISK",
1496
1497
  "TRAINING_PARTNER_SESSION",
1497
- "TRAINING_PARTNER_ACHIEVEMENT"
1498
+ "TRAINING_PARTNER_ACHIEVEMENT",
1499
+ // MSG-08. On by default, like the training categories.
1500
+ "MESSAGE"
1498
1501
  ];
1499
1502
  var MINUTES_IN_DAY = 1440;
1500
1503
  function isWithinQuietHours(minuteOfDay, quietHours) {
@@ -1588,7 +1591,7 @@ var API_ERROR_MESSAGES = {
1588
1591
  EXERCISE_GROUP_TOO_LARGE: "A superset or circuit has at most {max} exercises",
1589
1592
  ROUTINE_ACTIVE_SESSION: "Finish the active session before changing the routine structure",
1590
1593
  ROUTINE_SHARE_LINKS_MAX: "A routine keeps at most {max} active links.",
1591
- CLONE_SOURCE_REQUIRED: "SOURCE_REQUIRED: send either a share token or a routine id",
1594
+ CLONE_SOURCE_REQUIRED: "SOURCE_REQUIRED: send one of a share token, a routine id or a message id",
1592
1595
  CLONE_UNKNOWN_EXERCISE: "UNKNOWN_EXERCISE: an exercise in this routine is no longer in the catalog",
1593
1596
  ROUTINE_VERSIONS_MAX: "A routine keeps at most {max} versions; delete one first",
1594
1597
  ROUTINE_VERSION_EXERCISE_GONE: "An exercise in this version is no longer in the catalog",
@@ -1807,8 +1810,16 @@ function normalizeMessageBody(body) {
1807
1810
  }
1808
1811
  return text;
1809
1812
  }
1813
+ var MESSAGE_ATTACHMENT_KINDS = ["ROUTINE"];
1814
+ function messageNote(body, hasAttachment) {
1815
+ if ((body ?? "").trim().length === 0) {
1816
+ return hasAttachment ? null : void 0;
1817
+ }
1818
+ return normalizeMessageBody(body ?? "") ?? void 0;
1819
+ }
1810
1820
  var CONVERSATION_BOXES = ["INBOX", "REQUESTS"];
1811
1821
  var MESSAGE_REQUEST_DECLINE_COOLDOWN_DAYS = 30;
1822
+ var MESSAGE_PUSH_DELAY_SECONDS = 30;
1812
1823
  var MESSAGE_REPORT_CONTEXT_BEFORE = 5;
1813
1824
  function isMessagePermission(value) {
1814
1825
  return MESSAGE_PERMISSIONS.includes(value);
@@ -1910,8 +1921,10 @@ export {
1910
1921
  MEASURABLE_GOAL_TYPES,
1911
1922
  MESSAGES_PAGE_SIZE,
1912
1923
  MESSAGES_PER_MINUTE_MAX,
1924
+ MESSAGE_ATTACHMENT_KINDS,
1913
1925
  MESSAGE_BODY_MAX,
1914
1926
  MESSAGE_PERMISSIONS,
1927
+ MESSAGE_PUSH_DELAY_SECONDS,
1915
1928
  MESSAGE_REPORT_CONTEXT_BEFORE,
1916
1929
  MESSAGE_REQUEST_DECLINE_COOLDOWN_DAYS,
1917
1930
  MINUTES_IN_DAY,
@@ -2101,6 +2114,7 @@ export {
2101
2114
  lpWorkingSets,
2102
2115
  matchesDeletionConfirmation,
2103
2116
  messageBodyLength,
2117
+ messageNote,
2104
2118
  normalizeDashboardLayout,
2105
2119
  normalizeExerciseLinks,
2106
2120
  normalizeExerciseName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsteel/contracts",
3
- "version": "0.90.0",
3
+ "version": "0.92.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ezee969/sunsteel-contracts.git"