@taktoria/sdk 0.1.0 → 0.1.2

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 (246) hide show
  1. package/dist/cjs/BaseClient.js +2 -2
  2. package/dist/cjs/Client.d.ts +3 -0
  3. package/dist/cjs/Client.js +7 -2
  4. package/dist/cjs/api/resources/artifacts/client/Client.d.ts +14 -6
  5. package/dist/cjs/api/resources/artifacts/client/Client.js +16 -7
  6. package/dist/cjs/api/resources/artifacts/client/requests/ListAllArtifactsRequest.d.ts +13 -1
  7. package/dist/cjs/api/resources/dory/client/Client.d.ts +28 -5
  8. package/dist/cjs/api/resources/dory/client/Client.js +86 -5
  9. package/dist/cjs/api/resources/dory/types/CreateEventRequest.d.ts +9 -4
  10. package/dist/cjs/api/resources/dory/types/EventCalendarInvite.d.ts +41 -0
  11. package/dist/cjs/api/resources/dory/types/EventCalendarInvite.js +3 -0
  12. package/dist/cjs/api/resources/dory/types/UpdateEventRequest.d.ts +9 -4
  13. package/dist/cjs/api/resources/dory/types/index.d.ts +1 -0
  14. package/dist/cjs/api/resources/dory/types/index.js +1 -0
  15. package/dist/cjs/api/resources/index.d.ts +3 -0
  16. package/dist/cjs/api/resources/index.js +4 -1
  17. package/dist/cjs/api/resources/insights/client/Client.js +2 -1
  18. package/dist/cjs/api/resources/insights/client/requests/ListInsightsRequest.d.ts +12 -1
  19. package/dist/cjs/api/resources/launches/client/Client.d.ts +29 -13
  20. package/dist/cjs/api/resources/launches/client/Client.js +48 -14
  21. package/dist/cjs/api/resources/launches/client/requests/ListLaunchesRequest.d.ts +25 -1
  22. package/dist/cjs/api/resources/launches/types/LaunchActivityVerb.d.ts +3 -0
  23. package/dist/cjs/api/resources/launches/types/LaunchActivityVerb.js +3 -0
  24. package/dist/cjs/api/resources/launches/types/LinkTicketingProjectRequest.d.ts +2 -2
  25. package/dist/cjs/api/resources/launches/types/SyncTicketingProjectResponse.d.ts +1 -1
  26. package/dist/cjs/api/resources/launches/types/TicketingProject.d.ts +13 -7
  27. package/dist/cjs/api/resources/okr/client/Client.d.ts +8 -0
  28. package/dist/cjs/api/resources/okr/client/Client.js +8 -0
  29. package/dist/cjs/api/resources/okr/types/KeyResult.d.ts +13 -0
  30. package/dist/cjs/api/resources/okr/types/KeyResultMetric.d.ts +12 -0
  31. package/dist/cjs/api/resources/okr/types/KeyResultMetric.js +3 -0
  32. package/dist/cjs/api/resources/okr/types/MetricSourceKind.d.ts +10 -0
  33. package/dist/cjs/api/resources/okr/types/MetricSourceKind.js +13 -0
  34. package/dist/cjs/api/resources/okr/types/index.d.ts +2 -0
  35. package/dist/cjs/api/resources/okr/types/index.js +2 -0
  36. package/dist/cjs/api/resources/organization/client/Client.d.ts +5 -2
  37. package/dist/cjs/api/resources/organization/client/Client.js +5 -2
  38. package/dist/cjs/api/resources/organization/types/Organization.d.ts +21 -0
  39. package/dist/cjs/api/resources/organization/types/UpdateOrganizationRequest.d.ts +15 -0
  40. package/dist/cjs/api/resources/platform/client/Client.d.ts +2 -2
  41. package/dist/cjs/api/resources/platform/client/Client.js +2 -2
  42. package/dist/cjs/api/resources/platform/types/NotificationChannels.d.ts +7 -2
  43. package/dist/cjs/api/resources/platform/types/UpdateNotificationChannels.d.ts +1 -0
  44. package/dist/cjs/api/resources/platform/types/UpdateNotificationPreferencesRequest.d.ts +1 -1
  45. package/dist/cjs/api/resources/platform/types/WaitingForSeat.d.ts +2 -2
  46. package/dist/cjs/api/resources/posts/client/Client.d.ts +5 -2
  47. package/dist/cjs/api/resources/posts/client/Client.js +13 -2
  48. package/dist/cjs/api/resources/posts/types/LaunchPost.d.ts +4 -3
  49. package/dist/cjs/api/resources/slackConnections/client/Client.d.ts +56 -0
  50. package/dist/cjs/api/resources/slackConnections/client/Client.js +243 -0
  51. package/dist/cjs/api/resources/slackConnections/client/index.d.ts +1 -0
  52. package/dist/cjs/api/resources/slackConnections/client/index.js +17 -0
  53. package/dist/cjs/api/resources/slackConnections/client/requests/ListSlackConnectionsRequest.d.ts +9 -0
  54. package/dist/cjs/api/resources/slackConnections/client/requests/ListSlackConnectionsRequest.js +3 -0
  55. package/dist/cjs/api/resources/slackConnections/client/requests/index.d.ts +1 -0
  56. package/dist/cjs/api/resources/slackConnections/client/requests/index.js +2 -0
  57. package/dist/cjs/api/resources/slackConnections/exports.d.ts +2 -0
  58. package/dist/cjs/api/resources/slackConnections/exports.js +21 -0
  59. package/dist/cjs/api/resources/slackConnections/index.d.ts +2 -0
  60. package/dist/cjs/api/resources/slackConnections/index.js +18 -0
  61. package/dist/cjs/api/resources/slackConnections/types/SlackConnection.d.ts +16 -0
  62. package/dist/cjs/api/resources/slackConnections/types/SlackConnection.js +3 -0
  63. package/dist/cjs/api/resources/slackConnections/types/SlackConnectionAccount.d.ts +15 -0
  64. package/dist/cjs/api/resources/slackConnections/types/SlackConnectionAccount.js +3 -0
  65. package/dist/cjs/api/resources/slackConnections/types/SlackConnectionPage.d.ts +7 -0
  66. package/dist/cjs/api/resources/slackConnections/types/SlackConnectionPage.js +3 -0
  67. package/dist/cjs/api/resources/slackConnections/types/SlackConnectionPerson.d.ts +7 -0
  68. package/dist/cjs/api/resources/slackConnections/types/SlackConnectionPerson.js +3 -0
  69. package/dist/cjs/api/resources/slackConnections/types/index.d.ts +4 -0
  70. package/dist/cjs/api/resources/slackConnections/types/index.js +20 -0
  71. package/dist/cjs/api/resources/steps/client/Client.d.ts +15 -9
  72. package/dist/cjs/api/resources/steps/client/Client.js +17 -10
  73. package/dist/cjs/api/resources/steps/client/requests/ListReviewsRequest.d.ts +12 -1
  74. package/dist/cjs/api/resources/steps/types/NudgeReason.d.ts +10 -0
  75. package/dist/cjs/api/resources/steps/types/NudgeReason.js +13 -0
  76. package/dist/cjs/api/resources/steps/types/NudgeResponse.d.ts +11 -1
  77. package/dist/cjs/api/resources/steps/types/index.d.ts +1 -0
  78. package/dist/cjs/api/resources/steps/types/index.js +1 -0
  79. package/dist/cjs/serialization/resources/dory/types/EventCalendarInvite.d.ts +20 -0
  80. package/dist/cjs/serialization/resources/dory/types/EventCalendarInvite.js +52 -0
  81. package/dist/cjs/serialization/resources/dory/types/index.d.ts +1 -0
  82. package/dist/cjs/serialization/resources/dory/types/index.js +1 -0
  83. package/dist/cjs/serialization/resources/index.d.ts +2 -0
  84. package/dist/cjs/serialization/resources/index.js +3 -1
  85. package/dist/cjs/serialization/resources/launches/types/LaunchActivityVerb.d.ts +1 -1
  86. package/dist/cjs/serialization/resources/launches/types/LaunchActivityVerb.js +1 -0
  87. package/dist/cjs/serialization/resources/okr/types/KeyResult.d.ts +3 -0
  88. package/dist/cjs/serialization/resources/okr/types/KeyResult.js +3 -0
  89. package/dist/cjs/serialization/resources/okr/types/KeyResultMetric.d.ts +12 -0
  90. package/dist/cjs/serialization/resources/okr/types/KeyResultMetric.js +44 -0
  91. package/dist/cjs/serialization/resources/okr/types/MetricSourceKind.d.ts +7 -0
  92. package/dist/cjs/serialization/resources/okr/types/MetricSourceKind.js +39 -0
  93. package/dist/cjs/serialization/resources/okr/types/index.d.ts +2 -0
  94. package/dist/cjs/serialization/resources/okr/types/index.js +2 -0
  95. package/dist/cjs/serialization/resources/organization/types/Organization.d.ts +2 -0
  96. package/dist/cjs/serialization/resources/organization/types/Organization.js +2 -0
  97. package/dist/cjs/serialization/resources/organization/types/UpdateOrganizationRequest.d.ts +2 -0
  98. package/dist/cjs/serialization/resources/organization/types/UpdateOrganizationRequest.js +2 -0
  99. package/dist/cjs/serialization/resources/platform/types/NotificationChannels.d.ts +1 -0
  100. package/dist/cjs/serialization/resources/platform/types/NotificationChannels.js +1 -0
  101. package/dist/cjs/serialization/resources/platform/types/UpdateNotificationChannels.d.ts +1 -0
  102. package/dist/cjs/serialization/resources/platform/types/UpdateNotificationChannels.js +1 -0
  103. package/dist/cjs/serialization/resources/slackConnections/index.d.ts +1 -0
  104. package/dist/cjs/serialization/resources/slackConnections/index.js +17 -0
  105. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnection.d.ts +14 -0
  106. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnection.js +46 -0
  107. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnectionAccount.d.ts +11 -0
  108. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnectionAccount.js +43 -0
  109. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnectionPage.d.ts +12 -0
  110. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnectionPage.js +44 -0
  111. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnectionPerson.d.ts +10 -0
  112. package/dist/cjs/serialization/resources/slackConnections/types/SlackConnectionPerson.js +42 -0
  113. package/dist/cjs/serialization/resources/slackConnections/types/index.d.ts +4 -0
  114. package/dist/cjs/serialization/resources/slackConnections/types/index.js +20 -0
  115. package/dist/cjs/serialization/resources/steps/types/NudgeReason.d.ts +7 -0
  116. package/dist/cjs/serialization/resources/steps/types/NudgeReason.js +39 -0
  117. package/dist/cjs/serialization/resources/steps/types/NudgeResponse.d.ts +7 -1
  118. package/dist/cjs/serialization/resources/steps/types/NudgeResponse.js +7 -1
  119. package/dist/cjs/serialization/resources/steps/types/index.d.ts +1 -0
  120. package/dist/cjs/serialization/resources/steps/types/index.js +1 -0
  121. package/dist/cjs/version.d.ts +1 -1
  122. package/dist/cjs/version.js +1 -1
  123. package/dist/esm/BaseClient.mjs +2 -2
  124. package/dist/esm/Client.d.mts +3 -0
  125. package/dist/esm/Client.mjs +5 -0
  126. package/dist/esm/api/resources/artifacts/client/Client.d.mts +14 -6
  127. package/dist/esm/api/resources/artifacts/client/Client.mjs +16 -7
  128. package/dist/esm/api/resources/artifacts/client/requests/ListAllArtifactsRequest.d.mts +13 -1
  129. package/dist/esm/api/resources/dory/client/Client.d.mts +28 -5
  130. package/dist/esm/api/resources/dory/client/Client.mjs +86 -5
  131. package/dist/esm/api/resources/dory/types/CreateEventRequest.d.mts +9 -4
  132. package/dist/esm/api/resources/dory/types/EventCalendarInvite.d.mts +41 -0
  133. package/dist/esm/api/resources/dory/types/EventCalendarInvite.mjs +2 -0
  134. package/dist/esm/api/resources/dory/types/UpdateEventRequest.d.mts +9 -4
  135. package/dist/esm/api/resources/dory/types/index.d.mts +1 -0
  136. package/dist/esm/api/resources/dory/types/index.mjs +1 -0
  137. package/dist/esm/api/resources/index.d.mts +3 -0
  138. package/dist/esm/api/resources/index.mjs +3 -0
  139. package/dist/esm/api/resources/insights/client/Client.mjs +2 -1
  140. package/dist/esm/api/resources/insights/client/requests/ListInsightsRequest.d.mts +12 -1
  141. package/dist/esm/api/resources/launches/client/Client.d.mts +29 -13
  142. package/dist/esm/api/resources/launches/client/Client.mjs +48 -14
  143. package/dist/esm/api/resources/launches/client/requests/ListLaunchesRequest.d.mts +25 -1
  144. package/dist/esm/api/resources/launches/types/LaunchActivityVerb.d.mts +3 -0
  145. package/dist/esm/api/resources/launches/types/LaunchActivityVerb.mjs +3 -0
  146. package/dist/esm/api/resources/launches/types/LinkTicketingProjectRequest.d.mts +2 -2
  147. package/dist/esm/api/resources/launches/types/SyncTicketingProjectResponse.d.mts +1 -1
  148. package/dist/esm/api/resources/launches/types/TicketingProject.d.mts +13 -7
  149. package/dist/esm/api/resources/okr/client/Client.d.mts +8 -0
  150. package/dist/esm/api/resources/okr/client/Client.mjs +8 -0
  151. package/dist/esm/api/resources/okr/types/KeyResult.d.mts +13 -0
  152. package/dist/esm/api/resources/okr/types/KeyResultMetric.d.mts +12 -0
  153. package/dist/esm/api/resources/okr/types/KeyResultMetric.mjs +2 -0
  154. package/dist/esm/api/resources/okr/types/MetricSourceKind.d.mts +10 -0
  155. package/dist/esm/api/resources/okr/types/MetricSourceKind.mjs +10 -0
  156. package/dist/esm/api/resources/okr/types/index.d.mts +2 -0
  157. package/dist/esm/api/resources/okr/types/index.mjs +2 -0
  158. package/dist/esm/api/resources/organization/client/Client.d.mts +5 -2
  159. package/dist/esm/api/resources/organization/client/Client.mjs +5 -2
  160. package/dist/esm/api/resources/organization/types/Organization.d.mts +21 -0
  161. package/dist/esm/api/resources/organization/types/UpdateOrganizationRequest.d.mts +15 -0
  162. package/dist/esm/api/resources/platform/client/Client.d.mts +2 -2
  163. package/dist/esm/api/resources/platform/client/Client.mjs +2 -2
  164. package/dist/esm/api/resources/platform/types/NotificationChannels.d.mts +7 -2
  165. package/dist/esm/api/resources/platform/types/UpdateNotificationChannels.d.mts +1 -0
  166. package/dist/esm/api/resources/platform/types/UpdateNotificationPreferencesRequest.d.mts +1 -1
  167. package/dist/esm/api/resources/platform/types/WaitingForSeat.d.mts +2 -2
  168. package/dist/esm/api/resources/posts/client/Client.d.mts +5 -2
  169. package/dist/esm/api/resources/posts/client/Client.mjs +13 -2
  170. package/dist/esm/api/resources/posts/types/LaunchPost.d.mts +4 -3
  171. package/dist/esm/api/resources/slackConnections/client/Client.d.mts +56 -0
  172. package/dist/esm/api/resources/slackConnections/client/Client.mjs +206 -0
  173. package/dist/esm/api/resources/slackConnections/client/index.d.mts +1 -0
  174. package/dist/esm/api/resources/slackConnections/client/index.mjs +1 -0
  175. package/dist/esm/api/resources/slackConnections/client/requests/ListSlackConnectionsRequest.d.mts +9 -0
  176. package/dist/esm/api/resources/slackConnections/client/requests/ListSlackConnectionsRequest.mjs +2 -0
  177. package/dist/esm/api/resources/slackConnections/client/requests/index.d.mts +1 -0
  178. package/dist/esm/api/resources/slackConnections/client/requests/index.mjs +1 -0
  179. package/dist/esm/api/resources/slackConnections/exports.d.mts +2 -0
  180. package/dist/esm/api/resources/slackConnections/exports.mjs +3 -0
  181. package/dist/esm/api/resources/slackConnections/index.d.mts +2 -0
  182. package/dist/esm/api/resources/slackConnections/index.mjs +2 -0
  183. package/dist/esm/api/resources/slackConnections/types/SlackConnection.d.mts +16 -0
  184. package/dist/esm/api/resources/slackConnections/types/SlackConnection.mjs +2 -0
  185. package/dist/esm/api/resources/slackConnections/types/SlackConnectionAccount.d.mts +15 -0
  186. package/dist/esm/api/resources/slackConnections/types/SlackConnectionAccount.mjs +2 -0
  187. package/dist/esm/api/resources/slackConnections/types/SlackConnectionPage.d.mts +7 -0
  188. package/dist/esm/api/resources/slackConnections/types/SlackConnectionPage.mjs +2 -0
  189. package/dist/esm/api/resources/slackConnections/types/SlackConnectionPerson.d.mts +7 -0
  190. package/dist/esm/api/resources/slackConnections/types/SlackConnectionPerson.mjs +2 -0
  191. package/dist/esm/api/resources/slackConnections/types/index.d.mts +4 -0
  192. package/dist/esm/api/resources/slackConnections/types/index.mjs +4 -0
  193. package/dist/esm/api/resources/steps/client/Client.d.mts +15 -9
  194. package/dist/esm/api/resources/steps/client/Client.mjs +17 -10
  195. package/dist/esm/api/resources/steps/client/requests/ListReviewsRequest.d.mts +12 -1
  196. package/dist/esm/api/resources/steps/types/NudgeReason.d.mts +10 -0
  197. package/dist/esm/api/resources/steps/types/NudgeReason.mjs +10 -0
  198. package/dist/esm/api/resources/steps/types/NudgeResponse.d.mts +11 -1
  199. package/dist/esm/api/resources/steps/types/index.d.mts +1 -0
  200. package/dist/esm/api/resources/steps/types/index.mjs +1 -0
  201. package/dist/esm/serialization/resources/dory/types/EventCalendarInvite.d.mts +20 -0
  202. package/dist/esm/serialization/resources/dory/types/EventCalendarInvite.mjs +16 -0
  203. package/dist/esm/serialization/resources/dory/types/index.d.mts +1 -0
  204. package/dist/esm/serialization/resources/dory/types/index.mjs +1 -0
  205. package/dist/esm/serialization/resources/index.d.mts +2 -0
  206. package/dist/esm/serialization/resources/index.mjs +2 -0
  207. package/dist/esm/serialization/resources/launches/types/LaunchActivityVerb.d.mts +1 -1
  208. package/dist/esm/serialization/resources/launches/types/LaunchActivityVerb.mjs +1 -0
  209. package/dist/esm/serialization/resources/okr/types/KeyResult.d.mts +3 -0
  210. package/dist/esm/serialization/resources/okr/types/KeyResult.mjs +3 -0
  211. package/dist/esm/serialization/resources/okr/types/KeyResultMetric.d.mts +12 -0
  212. package/dist/esm/serialization/resources/okr/types/KeyResultMetric.mjs +8 -0
  213. package/dist/esm/serialization/resources/okr/types/MetricSourceKind.d.mts +7 -0
  214. package/dist/esm/serialization/resources/okr/types/MetricSourceKind.mjs +3 -0
  215. package/dist/esm/serialization/resources/okr/types/index.d.mts +2 -0
  216. package/dist/esm/serialization/resources/okr/types/index.mjs +2 -0
  217. package/dist/esm/serialization/resources/organization/types/Organization.d.mts +2 -0
  218. package/dist/esm/serialization/resources/organization/types/Organization.mjs +2 -0
  219. package/dist/esm/serialization/resources/organization/types/UpdateOrganizationRequest.d.mts +2 -0
  220. package/dist/esm/serialization/resources/organization/types/UpdateOrganizationRequest.mjs +2 -0
  221. package/dist/esm/serialization/resources/platform/types/NotificationChannels.d.mts +1 -0
  222. package/dist/esm/serialization/resources/platform/types/NotificationChannels.mjs +1 -0
  223. package/dist/esm/serialization/resources/platform/types/UpdateNotificationChannels.d.mts +1 -0
  224. package/dist/esm/serialization/resources/platform/types/UpdateNotificationChannels.mjs +1 -0
  225. package/dist/esm/serialization/resources/slackConnections/index.d.mts +1 -0
  226. package/dist/esm/serialization/resources/slackConnections/index.mjs +1 -0
  227. package/dist/esm/serialization/resources/slackConnections/types/SlackConnection.d.mts +14 -0
  228. package/dist/esm/serialization/resources/slackConnections/types/SlackConnection.mjs +10 -0
  229. package/dist/esm/serialization/resources/slackConnections/types/SlackConnectionAccount.d.mts +11 -0
  230. package/dist/esm/serialization/resources/slackConnections/types/SlackConnectionAccount.mjs +7 -0
  231. package/dist/esm/serialization/resources/slackConnections/types/SlackConnectionPage.d.mts +12 -0
  232. package/dist/esm/serialization/resources/slackConnections/types/SlackConnectionPage.mjs +8 -0
  233. package/dist/esm/serialization/resources/slackConnections/types/SlackConnectionPerson.d.mts +10 -0
  234. package/dist/esm/serialization/resources/slackConnections/types/SlackConnectionPerson.mjs +6 -0
  235. package/dist/esm/serialization/resources/slackConnections/types/index.d.mts +4 -0
  236. package/dist/esm/serialization/resources/slackConnections/types/index.mjs +4 -0
  237. package/dist/esm/serialization/resources/steps/types/NudgeReason.d.mts +7 -0
  238. package/dist/esm/serialization/resources/steps/types/NudgeReason.mjs +3 -0
  239. package/dist/esm/serialization/resources/steps/types/NudgeResponse.d.mts +7 -1
  240. package/dist/esm/serialization/resources/steps/types/NudgeResponse.mjs +7 -1
  241. package/dist/esm/serialization/resources/steps/types/index.d.mts +1 -0
  242. package/dist/esm/serialization/resources/steps/types/index.mjs +1 -0
  243. package/dist/esm/version.d.mts +1 -1
  244. package/dist/esm/version.mjs +1 -1
  245. package/package.json +13 -1
  246. package/reference.md +285 -39
@@ -60,8 +60,11 @@ class LaunchesClient {
60
60
  /**
61
61
  * List the launches in your organization, or with `mine=true` your own,
62
62
  * the ones the app's My launches page counts as yours. Drafts included,
63
- * by planned launch date. Every period unless `year` narrows it, where
64
- * the app's lists open on this quarter and later. Needs `launches:read`.
63
+ * by planned launch date. Every period unless `period` (or `year`)
64
+ * narrows it, where the app's lists open on this quarter and later:
65
+ * `period=upcoming` lists what they do. With `launched=true` it is the
66
+ * Launched page instead: launches that have launched, newest first,
67
+ * with the periods going by when each launched. Needs `launches:read`.
65
68
  *
66
69
  * @param {Taktoria.ListLaunchesRequest} request
67
70
  * @param {LaunchesClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -85,7 +88,7 @@ class LaunchesClient {
85
88
  __list() {
86
89
  return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {
87
90
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
88
- const { status, ownerUserId, pmUserId, orgTeamId, q, search, launchTemplateId, draft, health, year, quarter, mine, includeTeams, limit, cursor, } = request;
91
+ const { status, ownerUserId, pmUserId, orgTeamId, q, search, launchTemplateId, draft, health, period, year, quarter, mine, includeTeams, launched, limit, cursor, } = request;
89
92
  const _queryParams = {
90
93
  status: status != null
91
94
  ? serializers.LaunchStatus.jsonOrThrow(status, {
@@ -101,10 +104,12 @@ class LaunchesClient {
101
104
  launchTemplateId,
102
105
  draft,
103
106
  health,
107
+ period,
104
108
  year,
105
109
  quarter,
106
110
  mine,
107
111
  includeTeams,
112
+ launched,
108
113
  limit,
109
114
  cursor,
110
115
  };
@@ -194,7 +199,8 @@ class LaunchesClient {
194
199
  * Add a launch. With a `plannedLaunchDate` it gets its launch template's
195
200
  * steps at once, which is what fills each reviewer's queue; pass
196
201
  * `generateSteps: false` to leave them off. Pass `draft: true` to save it
197
- * without telling anybody.
202
+ * without telling anybody. A draft with `status: LAUNCHED` is
203
+ * `409 draft`: publish it, then launch it.
198
204
  *
199
205
  * @param {Taktoria.CreateLaunchRequest} request
200
206
  * @param {LaunchesClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -202,6 +208,7 @@ class LaunchesClient {
202
208
  * @throws {@link Taktoria.UnauthorizedError}
203
209
  * @throws {@link Taktoria.SubscriptionRequiredError}
204
210
  * @throws {@link Taktoria.ForbiddenError}
211
+ * @throws {@link Taktoria.ConflictError}
205
212
  * @throws {@link Taktoria.ValidationError}
206
213
  * @throws {@link Taktoria.TooManyRequestsError}
207
214
  * @throws {@link errors.TaktoriaError}
@@ -275,6 +282,14 @@ class LaunchesClient {
275
282
  skipValidation: true,
276
283
  breadcrumbsPrefix: ["response"],
277
284
  }), _response.rawResponse);
285
+ case 409:
286
+ throw new Taktoria.ConflictError(serializers.ErrorBody.parseOrThrow(_response.error.body, {
287
+ unrecognizedObjectKeys: "passthrough",
288
+ allowUnrecognizedUnionMembers: true,
289
+ allowUnrecognizedEnumValues: true,
290
+ skipValidation: true,
291
+ breadcrumbsPrefix: ["response"],
292
+ }), _response.rawResponse);
278
293
  case 422:
279
294
  throw new Taktoria.ValidationError(serializers.ErrorBody.parseOrThrow(_response.error.body, {
280
295
  unrecognizedObjectKeys: "passthrough",
@@ -379,7 +394,9 @@ class LaunchesClient {
379
394
  * and from what, about ten minutes after the edits stop, in one message
380
395
  * that leaves out each owner's own edits (`launchUpdates` in their
381
396
  * notification preferences). Its artifacts and links count too; its
382
- * steps do not, and nothing is sent about a draft.
397
+ * steps do not, and nothing is sent about a draft. `409 launched` when
398
+ * `draft: true` would take a launched launch back to being a draft, and
399
+ * `409 draft` when the change would leave a draft `LAUNCHED`.
383
400
  *
384
401
  * @param {string} launchId
385
402
  * @param {Taktoria.UpdateLaunchRequest} request
@@ -388,6 +405,7 @@ class LaunchesClient {
388
405
  * @throws {@link Taktoria.BadRequestError}
389
406
  * @throws {@link Taktoria.ForbiddenError}
390
407
  * @throws {@link Taktoria.NotFoundError}
408
+ * @throws {@link Taktoria.ConflictError}
391
409
  * @throws {@link Taktoria.ValidationError}
392
410
  * @throws {@link Taktoria.TooManyRequestsError}
393
411
  * @throws {@link errors.TaktoriaError}
@@ -459,6 +477,14 @@ class LaunchesClient {
459
477
  skipValidation: true,
460
478
  breadcrumbsPrefix: ["response"],
461
479
  }), _response.rawResponse);
480
+ case 409:
481
+ throw new Taktoria.ConflictError(serializers.ErrorBody.parseOrThrow(_response.error.body, {
482
+ unrecognizedObjectKeys: "passthrough",
483
+ allowUnrecognizedUnionMembers: true,
484
+ allowUnrecognizedEnumValues: true,
485
+ skipValidation: true,
486
+ breadcrumbsPrefix: ["response"],
487
+ }), _response.rawResponse);
462
488
  case 422:
463
489
  throw new Taktoria.ValidationError(serializers.ErrorBody.parseOrThrow(_response.error.body, {
464
490
  unrecognizedObjectKeys: "passthrough",
@@ -669,9 +695,15 @@ class LaunchesClient {
669
695
  * sites, in the GitHub organization the app is installed on, or in its
670
696
  * Asana or ClickUp workspaces), and syncs at once: the answer's
671
697
  * `ticketingProject` says how that went. Any other address, a whole
672
- * Jira project or a GitHub repository included, is kept as a link and
673
- * does not sync. It reads the system, so it shares the `ticketing-sync`
674
- * budget with a sync. Needs `launches:write`.
698
+ * Jira project, a GitHub repository, or a ClickUp folder or space
699
+ * included, is kept as a link and does not sync. It reads the system,
700
+ * so it shares the `ticketing-sync` budget with a sync. `404 not_found`
701
+ * when the connection cannot find or see the project, `409 conflict`
702
+ * for one in another workspace or site of the system than the one
703
+ * connected, `409 ticketing_reconnect` when the system turned the
704
+ * connection down (a workspace admin connects it again in Settings →
705
+ * Integrations), and `502 upstream_error` when it did not answer.
706
+ * Needs `launches:write`.
675
707
  *
676
708
  * @param {string} launchId
677
709
  * @param {Taktoria.LinkTicketingProjectRequest} request
@@ -867,10 +899,12 @@ class LaunchesClient {
867
899
  }
868
900
  /**
869
901
  * Sync now, as the daily sync does, for this launch: its status,
870
- * progress, and new status updates (Linear, GitHub projects, Asana) or
871
- * comments (Jira, ClickUp). `404 not_found` when the launch follows
872
- * nothing; `409 conflict` for a link that cannot sync (a whole Jira
873
- * project, a GitHub repository, or a system Taktoria does not sync);
902
+ * progress, and new status updates (Linear, GitHub projects) or
903
+ * comments (Jira, ClickUp); an Asana project brings its completion and
904
+ * progress, not its status updates. `404 not_found` when the launch
905
+ * follows nothing; `409 conflict` for a link that cannot sync (a whole
906
+ * Jira project, a GitHub repository, a ClickUp folder or space, or a
907
+ * system Taktoria does not sync);
874
908
  * `409 ticketing_not_connected` or `409 ticketing_reconnect` when a
875
909
  * workspace admin must connect its system in Settings → Integrations.
876
910
  * Needs `launches:write`.
@@ -978,8 +1012,8 @@ class LaunchesClient {
978
1012
  * What has happened to a launch, newest first, as its activity feed
979
1013
  * shows it: added, changed, published, taken back to draft, launched,
980
1014
  * its steps decided and reasons given for them, comments and updates
981
- * posted, and its ticketing project linked, unlinked and synced. Each
982
- * entry says it in a sentence. The comments and updates
1015
+ * posted, its ticketing project linked, unlinked and synced, and its
1016
+ * artifacts exported to a docs tool. Each entry says it in a sentence. The comments and updates
983
1017
  * themselves are at `/launches/{launchId}/posts`. Needs `launches:read`.
984
1018
  *
985
1019
  * @param {string} launchId
@@ -23,7 +23,20 @@ export interface ListLaunchesRequest {
23
23
  draft?: boolean;
24
24
  /** `ON_TRACK`, `AT_RISK` or `OFF_TRACK`, as the newest update says (never a launched launch), or `NONE` for launches with no health to show. */
25
25
  health?: string;
26
- /** A fiscal year, as the workspace's fiscal year start names it. Narrows by planned launch date; left out, every year. */
26
+ /**
27
+ * A fiscal period, as the app's period picker and its URL name them:
28
+ * a quarter (`2026-Q4`), a whole year (`2027`), `upcoming` for this
29
+ * quarter and every one after it, or `all`. Repeat it for several
30
+ * (`period=2026-Q4&period=2027-Q1`); `upcoming` or `all` among them
31
+ * wins over the rest. Narrows by planned launch date in the
32
+ * workspace's fiscal years, `upcoming` keeping launches with no
33
+ * date yet, as the app's lists do; with `launched=true`, by when
34
+ * each launched. Left out, with no `year`, every period. Wins
35
+ * over `year` and `quarter`; anything else is a
36
+ * `422 validation_error`.
37
+ */
38
+ period?: string | string[];
39
+ /** One fiscal year, as the workspace's fiscal year start names it. Narrows by planned launch date (actual with `launched=true`); left out, every year. `period` takes several. */
27
40
  year?: number;
28
41
  /** A fiscal quarter, 1 to 4, of `year`. Needs `year`; left out, the whole year. */
29
42
  quarter?: number;
@@ -40,6 +53,17 @@ export interface ListLaunchesRequest {
40
53
  mine?: boolean;
41
54
  /** With `mine=true`, `false` leaves out launches that are yours only through a team. Left out, `true`. */
42
55
  includeTeams?: boolean;
56
+ /**
57
+ * `true` lists what the Launched page does: only launches that
58
+ * have launched (`status` `LAUNCHED`), newest first by
59
+ * `actualLaunchDate`, with `period`, `year` and `quarter` going
60
+ * by when each launched rather than when it was planned. That is
61
+ * how the Overview counts `launchedThisQuarter`: a launch planned
62
+ * for last quarter that went out in this one is this quarter's.
63
+ * `launched=true&period=2026-Q4` is what shipped in that quarter.
64
+ * Left out, by planned launch date.
65
+ */
66
+ launched?: boolean;
43
67
  limit?: number;
44
68
  cursor?: string;
45
69
  }
@@ -38,5 +38,8 @@ export declare const LaunchActivityVerb: {
38
38
  * project done and flagged it ready to launch. Nobody did it, so
39
39
  * `actor` is null. */
40
40
  readonly Synced: "synced";
41
+ /**
42
+ * One of its artifacts was exported to a docs tool (Notion, Confluence or Google Docs). */
43
+ readonly Exported: "exported";
41
44
  };
42
45
  export type LaunchActivityVerb = (typeof LaunchActivityVerb)[keyof typeof LaunchActivityVerb];
@@ -42,4 +42,7 @@ exports.LaunchActivityVerb = {
42
42
  * project done and flagged it ready to launch. Nobody did it, so
43
43
  * `actor` is null. */
44
44
  Synced: "synced",
45
+ /**
46
+ * One of its artifacts was exported to a docs tool (Notion, Confluence or Google Docs). */
47
+ Exported: "exported",
45
48
  };
@@ -8,8 +8,8 @@ export interface LinkTicketingProjectRequest {
8
8
  * milestone (`https://github.com/acme/web/milestone/3`), an Asana
9
9
  * project (`https://app.asana.com/1/<workspace>/project/<project>`),
10
10
  * or a ClickUp list (`https://app.clickup.com/<workspace>/v/li/<list>`)
11
- * or task (`https://app.clickup.com/t/<task>`). Anything else is kept
12
- * as a link.
11
+ * or task (`https://app.clickup.com/t/<task>`). Anything else, a
12
+ * ClickUp folder or space included, is kept as a link.
13
13
  */
14
14
  url: string;
15
15
  }
@@ -2,7 +2,7 @@ import type * as Taktoria from "../../../index.js";
2
2
  export interface SyncTicketingProjectResponse {
3
3
  /** Whether the project's status moved the launch's. */
4
4
  statusChanged: boolean;
5
- /** How many of the project's status updates (Linear, GitHub projects, Asana) or comments (Jira, ClickUp) became the launch's. */
5
+ /** How many of the project's status updates (Linear, GitHub projects) or comments (Jira, ClickUp) became the launch's. Always 0 for an Asana project, whose status updates Taktoria's connection cannot read. */
6
6
  updatesAdded: number;
7
7
  /** Whether this sync found the project newly done, flagging the launch ready to launch. */
8
8
  completed: boolean;
@@ -6,11 +6,17 @@ import type * as Taktoria from "../../../index.js";
6
6
  * milestone; an Asana project; or a ClickUp list or task. Once its system
7
7
  * is connected to the workspace (Settings → Integrations), each day, and
8
8
  * on a sync, its status moves the launch's; the status updates of a
9
- * Linear, GitHub or Asana project become the launch's updates, and the
10
- * comments on a Jira issue or a ClickUp list or task its comments
11
- * (`source` on a LaunchPost; a Jira comment restricted to some people is
12
- * never brought in). Marked done, it flags the launch ready to launch; it
13
- * never launches it.
9
+ * Linear or GitHub project become the launch's updates, and the comments
10
+ * on a Jira issue or a ClickUp list or task its comments (`source` on a
11
+ * LaunchPost; a Jira comment restricted to some people is never brought
12
+ * in). An Asana project's status updates need a permission Asana's OAuth
13
+ * does not offer Taktoria's read-only connection, so none come in. It is
14
+ * followed by its tasks instead: its status kind is `PLANNED` until one
15
+ * is done, then `STARTED`, and `COMPLETED` once the project is marked
16
+ * complete, and its progress is the share of them done. A whole Jira
17
+ * project, a GitHub repository, and a ClickUp folder or space are kept
18
+ * as links. Marked done, it flags the launch ready to launch; it never
19
+ * launches it.
14
20
  */
15
21
  export interface TicketingProject {
16
22
  /** Null for a system Taktoria has no connector for. Such a link is kept as a link and never synced. */
@@ -37,8 +43,8 @@ export interface TicketingProject {
37
43
  * to the workspace), `notFound`, `unauthorized` (a workspace admin must
38
44
  * connect the system again), `unavailable` or `unsupported` (a system
39
45
  * Taktoria cannot sync, or a link to something it cannot follow, such
40
- * as a whole Jira project or a GitHub repository). Null when it
41
- * worked.
46
+ * as a whole Jira project, a GitHub repository, or a ClickUp folder
47
+ * or space). Null when it worked.
42
48
  */
43
49
  syncError?: string;
44
50
  }
@@ -238,6 +238,9 @@ export declare class OkrClient {
238
238
  private __deleteKeyResult;
239
239
  /**
240
240
  * The history behind a key result's current grade, most recent first.
241
+ * On a key result a connected metric drives (`metric` on the key
242
+ * result), the metric's own check-ins carry `metric`, and a person's
243
+ * stands only until the metric next moves.
241
244
  *
242
245
  * @param {string} keyResultId
243
246
  * @param {Taktoria.ListCheckInsRequest} request
@@ -271,6 +274,11 @@ export declare class OkrClient {
271
274
  * With `checkpoint`, it is also the key result's grade at that
272
275
  * scorecard checkpoint, as the dashboard's check-in form makes it.
273
276
  *
277
+ * On a key result a connected metric drives (`metric` on the key
278
+ * result), a check-in stands only until the metric next moves: the
279
+ * metric's next check-in is then the latest. A **Final** grade on the
280
+ * scorecard is the score whatever the metric does.
281
+ *
274
282
  * @param {string} keyResultId
275
283
  * @param {Taktoria.CreateCheckInRequest} request
276
284
  * @param {OkrClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -989,6 +989,9 @@ class OkrClient {
989
989
  }
990
990
  /**
991
991
  * The history behind a key result's current grade, most recent first.
992
+ * On a key result a connected metric drives (`metric` on the key
993
+ * result), the metric's own check-ins carry `metric`, and a person's
994
+ * stands only until the metric next moves.
992
995
  *
993
996
  * @param {string} keyResultId
994
997
  * @param {Taktoria.ListCheckInsRequest} request
@@ -1089,6 +1092,11 @@ class OkrClient {
1089
1092
  * With `checkpoint`, it is also the key result's grade at that
1090
1093
  * scorecard checkpoint, as the dashboard's check-in form makes it.
1091
1094
  *
1095
+ * On a key result a connected metric drives (`metric` on the key
1096
+ * result), a check-in stands only until the metric next moves: the
1097
+ * metric's next check-in is then the latest. A **Final** grade on the
1098
+ * scorecard is the score whatever the metric does.
1099
+ *
1092
1100
  * @param {string} keyResultId
1093
1101
  * @param {Taktoria.CreateCheckInRequest} request
1094
1102
  * @param {OkrClient.RequestOptions} requestOptions - Request-specific configuration.
@@ -35,6 +35,19 @@ export interface KeyResult {
35
35
  ownerUserIds: string[];
36
36
  /** Teams of the workspace that own it; their members count as owners. */
37
37
  ownerTeamIds: string[];
38
+ /**
39
+ * When it was last checked in on: its newest check-in's `recordedAt`,
40
+ * so a check-in recorded late counts at its date. Absent if it has
41
+ * never been checked in on. How long it has gone quiet.
42
+ */
43
+ lastCheckInAt?: Date;
44
+ /**
45
+ * The connected metric that drives its score, absent if none. Each
46
+ * number the metric hears becomes a check-in, and a person's own
47
+ * check-in stands only until the metric next moves. Sources are set
48
+ * up on the key result's page in the app, not through the API.
49
+ */
50
+ metric?: Taktoria.KeyResultMetric;
38
51
  createdAt: Date;
39
52
  updatedAt: Date;
40
53
  }
@@ -0,0 +1,12 @@
1
+ import type * as Taktoria from "../../../index.js";
2
+ /**
3
+ * The metric a key result follows, as anybody who may see the key result
4
+ * sees it. Never its secret, token or address.
5
+ */
6
+ export interface KeyResultMetric {
7
+ /** What the number is, as the history names it, such as "Weekly active teams". */
8
+ name: string;
9
+ kind: Taktoria.MetricSourceKind;
10
+ /** Paused, it records nothing until somebody resumes it. */
11
+ paused: boolean;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ /** How a metric hears its number. */
2
+ export declare const MetricSourceKind: {
3
+ /**
4
+ * A system posts it to the metric's own address, with its secret. */
5
+ readonly Webhook: "WEBHOOK";
6
+ /**
7
+ * OKR Hub fetches it from an https address on a schedule. */
8
+ readonly Pull: "PULL";
9
+ };
10
+ export type MetricSourceKind = (typeof MetricSourceKind)[keyof typeof MetricSourceKind];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MetricSourceKind = void 0;
5
+ /** How a metric hears its number. */
6
+ exports.MetricSourceKind = {
7
+ /**
8
+ * A system posts it to the metric's own address, with its secret. */
9
+ Webhook: "WEBHOOK",
10
+ /**
11
+ * OKR Hub fetches it from an https address on a schedule. */
12
+ Pull: "PULL",
13
+ };
@@ -19,6 +19,8 @@ export * from "./KeyResultDetail.js";
19
19
  export * from "./KeyResultGrade.js";
20
20
  export * from "./KeyResultGradeList.js";
21
21
  export * from "./KeyResultList.js";
22
+ export * from "./KeyResultMetric.js";
23
+ export * from "./MetricSourceKind.js";
22
24
  export * from "./Objective.js";
23
25
  export * from "./ObjectiveDetail.js";
24
26
  export * from "./ObjectivePage.js";
@@ -35,6 +35,8 @@ __exportStar(require("./KeyResultDetail.js"), exports);
35
35
  __exportStar(require("./KeyResultGrade.js"), exports);
36
36
  __exportStar(require("./KeyResultGradeList.js"), exports);
37
37
  __exportStar(require("./KeyResultList.js"), exports);
38
+ __exportStar(require("./KeyResultMetric.js"), exports);
39
+ __exportStar(require("./MetricSourceKind.js"), exports);
38
40
  __exportStar(require("./Objective.js"), exports);
39
41
  __exportStar(require("./ObjectiveDetail.js"), exports);
40
42
  __exportStar(require("./ObjectivePage.js"), exports);
@@ -28,8 +28,11 @@ export declare class OrganizationClient {
28
28
  private __get;
29
29
  /**
30
30
  * Rename the workspace, move its slug, set its fiscal year, the years
31
- * OKR Hub offers, the default time zone, LaunchCal's holiday markets or
32
- * whether seats grow as people join (`autoGrowSeats`). Requires
31
+ * OKR Hub offers, the default time zone, LaunchCal's holiday markets,
32
+ * whether seats grow as people join (`autoGrowSeats`), whether
33
+ * LaunchCal's calendar feeds are allowed (`allowCalendarFeeds`) or
34
+ * whether Slack commands take Slack's word while Google is required
35
+ * (`slackCommandsWithoutGoogle`). Requires
33
36
  * `organization:write`, which a signed-in session never has: this takes
34
37
  * a key. Everything is checked before anything is written.
35
38
  *
@@ -141,8 +141,11 @@ class OrganizationClient {
141
141
  }
142
142
  /**
143
143
  * Rename the workspace, move its slug, set its fiscal year, the years
144
- * OKR Hub offers, the default time zone, LaunchCal's holiday markets or
145
- * whether seats grow as people join (`autoGrowSeats`). Requires
144
+ * OKR Hub offers, the default time zone, LaunchCal's holiday markets,
145
+ * whether seats grow as people join (`autoGrowSeats`), whether
146
+ * LaunchCal's calendar feeds are allowed (`allowCalendarFeeds`) or
147
+ * whether Slack commands take Slack's word while Google is required
148
+ * (`slackCommandsWithoutGoogle`). Requires
146
149
  * `organization:write`, which a signed-in session never has: this takes
147
150
  * a key. Everything is checked before anything is written.
148
151
  *
@@ -44,6 +44,17 @@ export interface Organization {
44
44
  * reads true.
45
45
  */
46
46
  requireGoogleSignIn: boolean;
47
+ /**
48
+ * **Allow Slack commands without Google sign-in**, under **Require
49
+ * sign-in with Google** in Settings → Workspace. Slack cannot sign in
50
+ * with Google, so while Google is required, Taktoria's Slack commands
51
+ * act only for somebody who has connected their Slack account by
52
+ * signing in with Google once (see `GET /slack-connections`). On,
53
+ * they take the address Slack has confirmed instead, as in a
54
+ * workspace that does not require Google. It means nothing while
55
+ * `requireGoogleSignIn` is false. Off by default.
56
+ */
57
+ slackCommandsWithoutGoogle: boolean;
47
58
  /** Whether Google sign-in is set up on this installation, so it can be required. */
48
59
  googleSignInAvailable: boolean;
49
60
  /**
@@ -57,4 +68,14 @@ export interface Organization {
57
68
  * `autoJoin` on. On by default.
58
69
  */
59
70
  autoGrowSeats: boolean;
71
+ /**
72
+ * **Allow calendar feeds**, in Settings → Workspace: whether members
73
+ * may subscribe to LaunchCal from Google Calendar, Outlook or Apple
74
+ * Calendar. A feed is a private address read with no sign-in, around
75
+ * **Require Google sign-in** and single sign-on, so a workspace that
76
+ * holds every way in to those turns it off: every feed then answers
77
+ * 404 and none can be made, until it is on again. On by default.
78
+ * Feeds themselves have no API: each address is a person's secret.
79
+ */
80
+ allowCalendarFeeds: boolean;
60
81
  }
@@ -34,4 +34,19 @@ export interface UpdateOrganizationRequest {
34
34
  * Settings → Domains.
35
35
  */
36
36
  autoGrowSeats?: boolean;
37
+ /**
38
+ * Whether members may subscribe to LaunchCal from a calendar app.
39
+ * Turned off, every feed stops answering at once, and none is
40
+ * deleted: turned on again, they work as before. Each change is in
41
+ * the audit log, as it is from Settings → Workspace.
42
+ */
43
+ allowCalendarFeeds?: boolean;
44
+ /**
45
+ * Whether Taktoria's Slack commands take Slack's confirmed address
46
+ * while Google is required, rather than asking each person to connect
47
+ * with Google. Turned off, everybody who has not connected is asked
48
+ * to at their next command; connections already made keep working.
49
+ * Each change is in the audit log, as it is from Settings → Workspace.
50
+ */
51
+ slackCommandsWithoutGoogle?: boolean;
37
52
  }
@@ -29,8 +29,8 @@ export declare class PlatformClient {
29
29
  getNotificationPreferences(requestOptions?: PlatformClient.RequestOptions): core.HttpResponsePromise<Taktoria.NotificationPreferences>;
30
30
  private __getNotificationPreferences;
31
31
  /**
32
- * Turn kinds of notification on or off, by email and by Slack, for the
33
- * person behind this key or session; anything not named keeps its
32
+ * Turn kinds of notification on or off, by email, by Slack and by
33
+ * Microsoft Teams, for the person behind this key or session; anything not named keeps its
34
34
  * value. Like reading them, it needs no scope, and a signed-in session
35
35
  * may change its own. `404` for a key whose maker has left.
36
36
  *
@@ -142,8 +142,8 @@ class PlatformClient {
142
142
  });
143
143
  }
144
144
  /**
145
- * Turn kinds of notification on or off, by email and by Slack, for the
146
- * person behind this key or session; anything not named keeps its
145
+ * Turn kinds of notification on or off, by email, by Slack and by
146
+ * Microsoft Teams, for the person behind this key or session; anything not named keeps its
147
147
  * value. Like reading them, it needs no scope, and a signed-in session
148
148
  * may change its own. `404` for a key whose maker has left.
149
149
  *
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * How one kind of notification reaches you. Each is on until turned off.
3
- * Slack is a direct message, sent only in a workspace that has connected
4
- * Slack, whatever this says.
3
+ * Slack and Microsoft Teams are direct messages, each sent only in a
4
+ * workspace that has connected it, whatever this says.
5
5
  */
6
6
  export interface NotificationChannels {
7
7
  email: boolean;
8
8
  /** Always `false` for `productTips`, which come by email only. */
9
9
  slack: boolean;
10
+ /**
11
+ * A Microsoft Teams chat with Taktoria's bot. Always `false` for
12
+ * `productTips`, which come by email only.
13
+ */
14
+ teams: boolean;
10
15
  }
@@ -1,4 +1,5 @@
1
1
  export interface UpdateNotificationChannels {
2
2
  email?: boolean;
3
3
  slack?: boolean;
4
+ teams?: boolean;
4
5
  }
@@ -13,7 +13,7 @@ export interface UpdateNotificationPreferencesRequest {
13
13
  doryHostReminder?: Taktoria.UpdateNotificationChannels;
14
14
  trialEnding?: Taktoria.UpdateNotificationChannels;
15
15
  seatsAddedSummary?: Taktoria.UpdateNotificationChannels;
16
- /** `slack` is refused here: tips come by email only. */
16
+ /** `slack` and `teams` are refused here: tips come by email only. */
17
17
  productTips?: Taktoria.UpdateNotificationChannels;
18
18
  waitingListSeats?: Taktoria.UpdateNotificationChannels;
19
19
  }
@@ -4,8 +4,8 @@ import type * as Taktoria from "../../../index.js";
4
4
  * was taken, and seats were not growing as people join. Seats freed (one
5
5
  * taken away, somebody leaving) or bought (more seats, a trial starting)
6
6
  * go to the first on the list by themselves, never past the seats paid
7
- * for; they are told, by email and Slack as they choose, as
8
- * `waitingListSeats`. Taking somebody's seat away never puts them on it.
7
+ * for; they are told, by email, Slack or Microsoft Teams as they choose,
8
+ * as `waitingListSeats`. Taking somebody's seat away never puts them on it.
9
9
  */
10
10
  export interface WaitingForSeat {
11
11
  appSlug: string;
@@ -52,8 +52,10 @@ export declare class PostsClient {
52
52
  private __create;
53
53
  /**
54
54
  * Change a post's body, and an update's health. Only its author may:
55
- * through an API key, the person the key belongs to. Needs
56
- * `launches:write`.
55
+ * through an API key, the person the key belongs to. A post a ticketing
56
+ * sync brought in (one with a `source`) is that system's: changing it
57
+ * here is a `409 conflict`; change it there, and the next sync brings
58
+ * it across. Needs `launches:write`.
57
59
  *
58
60
  * @param {string} launchId
59
61
  * @param {string} postId
@@ -62,6 +64,7 @@ export declare class PostsClient {
62
64
  *
63
65
  * @throws {@link Taktoria.NotFoundError}
64
66
  * @throws {@link Taktoria.ForbiddenError}
67
+ * @throws {@link Taktoria.ConflictError}
65
68
  * @throws {@link Taktoria.ValidationError}
66
69
  * @throws {@link Taktoria.TooManyRequestsError}
67
70
  * @throws {@link errors.TaktoriaError}
@@ -252,8 +252,10 @@ class PostsClient {
252
252
  }
253
253
  /**
254
254
  * Change a post's body, and an update's health. Only its author may:
255
- * through an API key, the person the key belongs to. Needs
256
- * `launches:write`.
255
+ * through an API key, the person the key belongs to. A post a ticketing
256
+ * sync brought in (one with a `source`) is that system's: changing it
257
+ * here is a `409 conflict`; change it there, and the next sync brings
258
+ * it across. Needs `launches:write`.
257
259
  *
258
260
  * @param {string} launchId
259
261
  * @param {string} postId
@@ -262,6 +264,7 @@ class PostsClient {
262
264
  *
263
265
  * @throws {@link Taktoria.NotFoundError}
264
266
  * @throws {@link Taktoria.ForbiddenError}
267
+ * @throws {@link Taktoria.ConflictError}
265
268
  * @throws {@link Taktoria.ValidationError}
266
269
  * @throws {@link Taktoria.TooManyRequestsError}
267
270
  * @throws {@link errors.TaktoriaError}
@@ -327,6 +330,14 @@ class PostsClient {
327
330
  skipValidation: true,
328
331
  breadcrumbsPrefix: ["response"],
329
332
  }), _response.rawResponse);
333
+ case 409:
334
+ throw new Taktoria.ConflictError(serializers.ErrorBody.parseOrThrow(_response.error.body, {
335
+ unrecognizedObjectKeys: "passthrough",
336
+ allowUnrecognizedUnionMembers: true,
337
+ allowUnrecognizedEnumValues: true,
338
+ skipValidation: true,
339
+ breadcrumbsPrefix: ["response"],
340
+ }), _response.rawResponse);
330
341
  case 422:
331
342
  throw new Taktoria.ValidationError(serializers.ErrorBody.parseOrThrow(_response.error.body, {
332
343
  unrecognizedObjectKeys: "passthrough",
@@ -18,9 +18,10 @@ export interface LaunchPost {
18
18
  editedAt?: Date;
19
19
  /**
20
20
  * The ticketing system a post came from, when a sync brought it in
21
- * from the launch's ticketing project (a status update from Linear,
22
- * GitHub or Asana, or a comment from Jira or ClickUp); null for one
23
- * written here. Such a post is changed in
21
+ * from the launch's ticketing project (a status update from Linear or
22
+ * GitHub, or a comment from Jira or ClickUp); null for one written
23
+ * here. Asana's status updates are not brought in: Taktoria's
24
+ * read-only connection cannot read them. Such a post is changed in
24
25
  * that system, not here: editing it is a `409 conflict`, and the next
25
26
  * sync brings the change across.
26
27
  */