charness 3.3.1 → 3.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.
Files changed (203) hide show
  1. package/CHANGELOG.md +612 -0
  2. package/DEVELOPMENT.md +76 -0
  3. package/README.md +5 -2
  4. package/SETUP.md +66 -20
  5. package/dist/adapters/claudeJsonStreamAdapter.d.ts +2 -0
  6. package/dist/adapters/claudeJsonStreamAdapter.d.ts.map +1 -1
  7. package/dist/adapters/claudeJsonStreamAdapter.js +15 -2
  8. package/dist/adapters/claudeJsonStreamAdapter.js.map +1 -1
  9. package/dist/adapters/openCodeAdapter.d.ts +13 -1
  10. package/dist/adapters/openCodeAdapter.d.ts.map +1 -1
  11. package/dist/adapters/openCodeAdapter.js +35 -13
  12. package/dist/adapters/openCodeAdapter.js.map +1 -1
  13. package/dist/agentLogin/agentLogin.d.ts +1 -0
  14. package/dist/agentLogin/agentLogin.d.ts.map +1 -1
  15. package/dist/agentLogin/agentLogin.js +5 -0
  16. package/dist/agentLogin/agentLogin.js.map +1 -1
  17. package/dist/apiErrorRetry.d.ts +10 -4
  18. package/dist/apiErrorRetry.d.ts.map +1 -1
  19. package/dist/apiErrorRetry.js +14 -7
  20. package/dist/apiErrorRetry.js.map +1 -1
  21. package/dist/apiRetryKick.d.ts +6 -0
  22. package/dist/apiRetryKick.d.ts.map +1 -1
  23. package/dist/apiRetryKick.js +2 -1
  24. package/dist/apiRetryKick.js.map +1 -1
  25. package/dist/bot.d.ts +0 -3
  26. package/dist/bot.d.ts.map +1 -1
  27. package/dist/bot.js +337 -173
  28. package/dist/bot.js.map +1 -1
  29. package/dist/changelogEntries.d.ts +25 -0
  30. package/dist/changelogEntries.d.ts.map +1 -0
  31. package/dist/changelogEntries.js +66 -0
  32. package/dist/changelogEntries.js.map +1 -0
  33. package/dist/cli/bot.d.ts +6 -2
  34. package/dist/cli/bot.d.ts.map +1 -1
  35. package/dist/cli/bot.js +34 -2
  36. package/dist/cli/bot.js.map +1 -1
  37. package/dist/cli/hot.d.ts +7 -0
  38. package/dist/cli/hot.d.ts.map +1 -1
  39. package/dist/cli/hot.js +53 -3
  40. package/dist/cli/hot.js.map +1 -1
  41. package/dist/cli.d.ts +1 -1
  42. package/dist/cli.d.ts.map +1 -1
  43. package/dist/cli.js +8 -0
  44. package/dist/cli.js.map +1 -1
  45. package/dist/connectors/telegram/bindPicker.d.ts +64 -0
  46. package/dist/connectors/telegram/bindPicker.d.ts.map +1 -0
  47. package/dist/connectors/telegram/bindPicker.js +97 -0
  48. package/dist/connectors/telegram/bindPicker.js.map +1 -0
  49. package/dist/connectors/telegram/commands/selfUpdate.d.ts +16 -0
  50. package/dist/connectors/telegram/commands/selfUpdate.d.ts.map +1 -0
  51. package/dist/connectors/telegram/commands/selfUpdate.js +210 -0
  52. package/dist/connectors/telegram/commands/selfUpdate.js.map +1 -0
  53. package/dist/connectors/telegram/commands/stt.d.ts +1 -0
  54. package/dist/connectors/telegram/commands/stt.d.ts.map +1 -1
  55. package/dist/connectors/telegram/commands/stt.js +5 -0
  56. package/dist/connectors/telegram/commands/stt.js.map +1 -1
  57. package/dist/connectors/telegram/commands/topicCommand.d.ts +75 -0
  58. package/dist/connectors/telegram/commands/topicCommand.d.ts.map +1 -0
  59. package/dist/connectors/telegram/commands/topicCommand.js +391 -0
  60. package/dist/connectors/telegram/commands/topicCommand.js.map +1 -0
  61. package/dist/i18n/de.d.ts.map +1 -1
  62. package/dist/i18n/de.js +109 -3
  63. package/dist/i18n/de.js.map +1 -1
  64. package/dist/i18n/en.d.ts.map +1 -1
  65. package/dist/i18n/en.js +109 -3
  66. package/dist/i18n/en.js.map +1 -1
  67. package/dist/i18n/es.d.ts.map +1 -1
  68. package/dist/i18n/es.js +109 -3
  69. package/dist/i18n/es.js.map +1 -1
  70. package/dist/i18n/fr.d.ts.map +1 -1
  71. package/dist/i18n/fr.js +109 -3
  72. package/dist/i18n/fr.js.map +1 -1
  73. package/dist/i18n/hi.d.ts.map +1 -1
  74. package/dist/i18n/hi.js +109 -3
  75. package/dist/i18n/hi.js.map +1 -1
  76. package/dist/i18n/ja.d.ts.map +1 -1
  77. package/dist/i18n/ja.js +109 -3
  78. package/dist/i18n/ja.js.map +1 -1
  79. package/dist/i18n/ka.d.ts.map +1 -1
  80. package/dist/i18n/ka.js +109 -3
  81. package/dist/i18n/ka.js.map +1 -1
  82. package/dist/i18n/pt.d.ts.map +1 -1
  83. package/dist/i18n/pt.js +109 -3
  84. package/dist/i18n/pt.js.map +1 -1
  85. package/dist/i18n/ru.d.ts.map +1 -1
  86. package/dist/i18n/ru.js +109 -3
  87. package/dist/i18n/ru.js.map +1 -1
  88. package/dist/i18n/uk.d.ts.map +1 -1
  89. package/dist/i18n/uk.js +109 -3
  90. package/dist/i18n/uk.js.map +1 -1
  91. package/dist/i18n/uz.d.ts.map +1 -1
  92. package/dist/i18n/uz.js +109 -3
  93. package/dist/i18n/uz.js.map +1 -1
  94. package/dist/i18n/zh.d.ts.map +1 -1
  95. package/dist/i18n/zh.js +109 -3
  96. package/dist/i18n/zh.js.map +1 -1
  97. package/dist/installManager.d.ts +28 -0
  98. package/dist/installManager.d.ts.map +1 -1
  99. package/dist/installManager.js +85 -11
  100. package/dist/installManager.js.map +1 -1
  101. package/dist/instanceSettings.d.ts +12 -1
  102. package/dist/instanceSettings.d.ts.map +1 -1
  103. package/dist/instanceSettings.js +40 -4
  104. package/dist/instanceSettings.js.map +1 -1
  105. package/dist/selfUpdate/bootRollback.d.ts +22 -0
  106. package/dist/selfUpdate/bootRollback.d.ts.map +1 -0
  107. package/dist/selfUpdate/bootRollback.js +79 -0
  108. package/dist/selfUpdate/bootRollback.js.map +1 -0
  109. package/dist/selfUpdate/commandRunner.d.ts +21 -0
  110. package/dist/selfUpdate/commandRunner.d.ts.map +1 -0
  111. package/dist/selfUpdate/commandRunner.js +32 -0
  112. package/dist/selfUpdate/commandRunner.js.map +1 -0
  113. package/dist/selfUpdate/constants.d.ts +26 -0
  114. package/dist/selfUpdate/constants.d.ts.map +1 -0
  115. package/dist/selfUpdate/constants.js +31 -0
  116. package/dist/selfUpdate/constants.js.map +1 -0
  117. package/dist/selfUpdate/gitSource.d.ts +58 -0
  118. package/dist/selfUpdate/gitSource.d.ts.map +1 -0
  119. package/dist/selfUpdate/gitSource.js +183 -0
  120. package/dist/selfUpdate/gitSource.js.map +1 -0
  121. package/dist/selfUpdate/hostLock.d.ts +16 -0
  122. package/dist/selfUpdate/hostLock.d.ts.map +1 -0
  123. package/dist/selfUpdate/hostLock.js +101 -0
  124. package/dist/selfUpdate/hostLock.js.map +1 -0
  125. package/dist/selfUpdate/hotSupervisor.d.ts +47 -0
  126. package/dist/selfUpdate/hotSupervisor.d.ts.map +1 -0
  127. package/dist/selfUpdate/hotSupervisor.js +125 -0
  128. package/dist/selfUpdate/hotSupervisor.js.map +1 -0
  129. package/dist/selfUpdate/installKind.d.ts +45 -0
  130. package/dist/selfUpdate/installKind.d.ts.map +1 -0
  131. package/dist/selfUpdate/installKind.js +99 -0
  132. package/dist/selfUpdate/installKind.js.map +1 -0
  133. package/dist/selfUpdate/launchEnvironment.d.ts +3 -0
  134. package/dist/selfUpdate/launchEnvironment.d.ts.map +1 -0
  135. package/dist/selfUpdate/launchEnvironment.js +16 -0
  136. package/dist/selfUpdate/launchEnvironment.js.map +1 -0
  137. package/dist/selfUpdate/npmSource.d.ts +34 -0
  138. package/dist/selfUpdate/npmSource.d.ts.map +1 -0
  139. package/dist/selfUpdate/npmSource.js +107 -0
  140. package/dist/selfUpdate/npmSource.js.map +1 -0
  141. package/dist/selfUpdate/releaseNotes.d.ts +33 -0
  142. package/dist/selfUpdate/releaseNotes.d.ts.map +1 -0
  143. package/dist/selfUpdate/releaseNotes.js +115 -0
  144. package/dist/selfUpdate/releaseNotes.js.map +1 -0
  145. package/dist/selfUpdate/restart.d.ts +33 -0
  146. package/dist/selfUpdate/restart.d.ts.map +1 -0
  147. package/dist/selfUpdate/restart.js +94 -0
  148. package/dist/selfUpdate/restart.js.map +1 -0
  149. package/dist/selfUpdate/selfCheck.d.ts +20 -0
  150. package/dist/selfUpdate/selfCheck.d.ts.map +1 -0
  151. package/dist/selfUpdate/selfCheck.js +126 -0
  152. package/dist/selfUpdate/selfCheck.js.map +1 -0
  153. package/dist/selfUpdate/semver.d.ts +24 -0
  154. package/dist/selfUpdate/semver.d.ts.map +1 -0
  155. package/dist/selfUpdate/semver.js +165 -0
  156. package/dist/selfUpdate/semver.js.map +1 -0
  157. package/dist/selfUpdate/types.d.ts +51 -0
  158. package/dist/selfUpdate/types.d.ts.map +1 -0
  159. package/dist/selfUpdate/types.js +3 -0
  160. package/dist/selfUpdate/types.js.map +1 -0
  161. package/dist/selfUpdate/updateEngine.d.ts +110 -0
  162. package/dist/selfUpdate/updateEngine.d.ts.map +1 -0
  163. package/dist/selfUpdate/updateEngine.js +727 -0
  164. package/dist/selfUpdate/updateEngine.js.map +1 -0
  165. package/dist/selfUpdate/updateMessages.d.ts +84 -0
  166. package/dist/selfUpdate/updateMessages.d.ts.map +1 -0
  167. package/dist/selfUpdate/updateMessages.js +115 -0
  168. package/dist/selfUpdate/updateMessages.js.map +1 -0
  169. package/dist/selfUpdate/updateModes.d.ts +17 -0
  170. package/dist/selfUpdate/updateModes.d.ts.map +1 -0
  171. package/dist/selfUpdate/updateModes.js +14 -0
  172. package/dist/selfUpdate/updateModes.js.map +1 -0
  173. package/dist/selfUpdate/updatePending.d.ts +76 -0
  174. package/dist/selfUpdate/updatePending.d.ts.map +1 -0
  175. package/dist/selfUpdate/updatePending.js +131 -0
  176. package/dist/selfUpdate/updatePending.js.map +1 -0
  177. package/dist/selfUpdate/updatePolicy.d.ts +115 -0
  178. package/dist/selfUpdate/updatePolicy.d.ts.map +1 -0
  179. package/dist/selfUpdate/updatePolicy.js +83 -0
  180. package/dist/selfUpdate/updatePolicy.js.map +1 -0
  181. package/dist/selfUpdate/updateRuntime.d.ts +22 -0
  182. package/dist/selfUpdate/updateRuntime.d.ts.map +1 -0
  183. package/dist/selfUpdate/updateRuntime.js +148 -0
  184. package/dist/selfUpdate/updateRuntime.js.map +1 -0
  185. package/dist/startupPromptBuffer.d.ts +2 -0
  186. package/dist/startupPromptBuffer.d.ts.map +1 -1
  187. package/dist/startupPromptBuffer.js +4 -0
  188. package/dist/startupPromptBuffer.js.map +1 -1
  189. package/dist/state.d.ts +12 -0
  190. package/dist/state.d.ts.map +1 -1
  191. package/dist/state.js +18 -0
  192. package/dist/state.js.map +1 -1
  193. package/dist/types.d.ts +4 -0
  194. package/dist/types.d.ts.map +1 -1
  195. package/dist/utils/promptDelivery.d.ts +10 -4
  196. package/dist/utils/promptDelivery.d.ts.map +1 -1
  197. package/dist/utils/promptDelivery.js +6 -3
  198. package/dist/utils/promptDelivery.js.map +1 -1
  199. package/dist/utils/updateScreenPlan.d.ts +38 -0
  200. package/dist/utils/updateScreenPlan.d.ts.map +1 -0
  201. package/dist/utils/updateScreenPlan.js +143 -0
  202. package/dist/utils/updateScreenPlan.js.map +1 -0
  203. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateEngine.js","sourceRoot":"","sources":["../../src/selfUpdate/updateEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { WhatsNewSummary } from './releaseNotes';
2
+ import type { AutoUpdateMode } from './updateModes';
3
+ /**
4
+ * What the update engine says in General, as data; {@link renderUpdateMessage} words it in the chat's language. The entries
5
+ * of a what's-new list stay English (they are the CHANGELOG's own words, never translated at run time); everything around
6
+ * them is localised.
7
+ */
8
+ /** Where the full CHANGELOG lives, for "…and N more". */
9
+ export declare const changelogUrl = "https://github.com/olosegres/charness/blob/main/CHANGELOG.md";
10
+ /** The tap that installs the version printed on the button — its identity is baked in, so an old keyboard never installs another. */
11
+ export declare const updateInstallCallbackPrefix = "upd_go_";
12
+ /**
13
+ * The same tap under an ANNOUNCEMENT in General (a new version is out, a major or a migration guide is offered). A separate prefix on
14
+ * purpose: a tap on the `/update` screen re-renders the screen, a tap on an announcement must leave the announcement as it is — it
15
+ * would otherwise be overwritten with the generic screen, the major's «read the notes first» included.
16
+ */
17
+ export declare const updateAnnouncementInstallCallbackPrefix = "upd_ann_";
18
+ /** Why an automatic update did not finish, worded by the renderer. */
19
+ export type UpdateFailureReason = 'install' | 'start' | 'build' | 'boot';
20
+ export type UpdateMessage = {
21
+ kind: 'updated';
22
+ from: string;
23
+ to: string;
24
+ commitCount: number | null;
25
+ summary: WhatsNewSummary | null;
26
+ } | {
27
+ kind: 'nowRunning';
28
+ from: string;
29
+ to: string;
30
+ summary: WhatsNewSummary | null;
31
+ } | {
32
+ kind: 'notify';
33
+ version: string;
34
+ running: string;
35
+ canInstall: boolean;
36
+ manualCommand: string;
37
+ } | {
38
+ kind: 'offerMajor';
39
+ version: string;
40
+ running: string;
41
+ } | {
42
+ kind: 'offerBreaking';
43
+ from: string;
44
+ to: string;
45
+ migrationGuides: string[];
46
+ } | {
47
+ kind: 'needsNode';
48
+ version: string;
49
+ required: string;
50
+ runningNode: string;
51
+ } | {
52
+ kind: 'installFailed';
53
+ target: string;
54
+ reason: UpdateFailureReason;
55
+ stillRunning: string;
56
+ manualCommand: string;
57
+ } | {
58
+ kind: 'rollbackFailed';
59
+ target: string;
60
+ reason: UpdateFailureReason;
61
+ manualCommand: string;
62
+ } | {
63
+ kind: 'checkFailing';
64
+ reason: string;
65
+ } | {
66
+ kind: 'featureAnnounced';
67
+ mode: AutoUpdateMode;
68
+ } | {
69
+ kind: 'restartSupervisor';
70
+ };
71
+ export interface UpdateMessageButton {
72
+ label: string;
73
+ callbackData: string;
74
+ }
75
+ export interface RenderedUpdateMessage {
76
+ text: string;
77
+ /** Pinned in General: the operator must act, or a restart would boot a broken install. */
78
+ pin: boolean;
79
+ buttons: UpdateMessageButton[];
80
+ }
81
+ export type Translate = (code: string, vars?: Record<string, string | number>) => string;
82
+ /** @description Word an update message: its text, whether to pin it, and its buttons. */
83
+ export declare function renderUpdateMessage(message: UpdateMessage, translate: Translate): RenderedUpdateMessage;
84
+ //# sourceMappingURL=updateMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMessages.d.ts","sourceRoot":"","sources":["../../src/selfUpdate/updateMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;;;GAIG;AAEH,yDAAyD;AACzD,eAAO,MAAM,YAAY,iEAAiE,CAAC;AAG3F,qIAAqI;AACrI,eAAO,MAAM,2BAA2B,YAAY,CAAC;AACrD;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,aAAa,CAAC;AAElE,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzE,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GAC1G;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CAAE,GACjF;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC7E;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACnH;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9F;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAElC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;AA2BzF,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,GAAG,qBAAqB,CAqEvG"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateAnnouncementInstallCallbackPrefix = exports.updateInstallCallbackPrefix = exports.changelogUrl = void 0;
4
+ exports.renderUpdateMessage = renderUpdateMessage;
5
+ /**
6
+ * What the update engine says in General, as data; {@link renderUpdateMessage} words it in the chat's language. The entries
7
+ * of a what's-new list stay English (they are the CHANGELOG's own words, never translated at run time); everything around
8
+ * them is localised.
9
+ */
10
+ /** Where the full CHANGELOG lives, for "…and N more". */
11
+ exports.changelogUrl = 'https://github.com/olosegres/charness/blob/main/CHANGELOG.md';
12
+ const releaseUrlPrefix = 'https://github.com/olosegres/charness/releases/tag/v';
13
+ const migrationGuideUrlPrefix = 'https://github.com/olosegres/charness/blob/main/';
14
+ /** The tap that installs the version printed on the button — its identity is baked in, so an old keyboard never installs another. */
15
+ exports.updateInstallCallbackPrefix = 'upd_go_';
16
+ /**
17
+ * The same tap under an ANNOUNCEMENT in General (a new version is out, a major or a migration guide is offered). A separate prefix on
18
+ * purpose: a tap on the `/update` screen re-renders the screen, a tap on an announcement must leave the announcement as it is — it
19
+ * would otherwise be overwritten with the generic screen, the major's «read the notes first» included.
20
+ */
21
+ exports.updateAnnouncementInstallCallbackPrefix = 'upd_ann_';
22
+ const bullet = '•';
23
+ /** The what's-new block: the to-do list first, then the headlines by version, then how many did not fit. */
24
+ function renderSummary(summary, translate) {
25
+ const lines = [];
26
+ if (summary.todo.length > 0) {
27
+ lines.push(translate('update.notes.todoLabel'));
28
+ lines.push(...summary.todo.map((entry) => `${bullet} ${entry}`));
29
+ }
30
+ for (const group of summary.groups) {
31
+ if (group.version !== null)
32
+ lines.push(group.version);
33
+ lines.push(...group.headlines.map((headline) => `${bullet} ${headline}`));
34
+ }
35
+ if (summary.moreCount > 0)
36
+ lines.push(translate('update.notes.moreLine', { count: summary.moreCount, url: exports.changelogUrl }));
37
+ return lines.join('\n');
38
+ }
39
+ function withSummary(heading, summary, translate) {
40
+ return summary === null ? heading : `${heading}\n${renderSummary(summary, translate)}`;
41
+ }
42
+ function getUpdateButton(version, translate) {
43
+ return { label: translate('update.updateButton', { version }), callbackData: `${exports.updateAnnouncementInstallCallbackPrefix}${version}` };
44
+ }
45
+ /** @description Word an update message: its text, whether to pin it, and its buttons. */
46
+ function renderUpdateMessage(message, translate) {
47
+ switch (message.kind) {
48
+ case 'updated': {
49
+ const heading = message.commitCount === null
50
+ ? translate('update.updated.heading', { from: message.from, to: message.to })
51
+ : translate('update.updatedCommits.heading', { from: message.from, to: message.to, count: message.commitCount });
52
+ return { text: withSummary(heading, message.summary, translate), pin: (message.summary?.todo.length ?? 0) > 0, buttons: [] };
53
+ }
54
+ case 'nowRunning':
55
+ return {
56
+ text: withSummary(translate('update.nowRunning.heading', { from: message.from, to: message.to }), message.summary, translate),
57
+ pin: (message.summary?.todo.length ?? 0) > 0,
58
+ buttons: [],
59
+ };
60
+ case 'notify':
61
+ return message.canInstall
62
+ ? { text: translate('update.notify', { version: message.version, running: message.running }), pin: false, buttons: [getUpdateButton(message.version, translate)] }
63
+ : { text: translate('update.notifyManual', { version: message.version, running: message.running, command: message.manualCommand }), pin: false, buttons: [] };
64
+ case 'offerMajor':
65
+ return {
66
+ text: translate('update.offerMajor', { version: message.version, running: message.running, url: `${releaseUrlPrefix}${message.version}` }),
67
+ pin: false,
68
+ buttons: [getUpdateButton(message.version, translate)],
69
+ };
70
+ case 'offerBreaking':
71
+ return {
72
+ text: translate('update.offerBreaking', {
73
+ from: message.from,
74
+ to: message.to,
75
+ guides: message.migrationGuides.map((guide) => `${migrationGuideUrlPrefix}${guide}`).join(' '),
76
+ }),
77
+ pin: false,
78
+ buttons: [getUpdateButton(message.to, translate)],
79
+ };
80
+ case 'needsNode':
81
+ return {
82
+ text: translate('update.needsNode', { version: message.version, required: message.required, running: message.runningNode }),
83
+ pin: false,
84
+ buttons: [],
85
+ };
86
+ case 'installFailed':
87
+ return {
88
+ text: translate('update.installFailed', {
89
+ target: message.target,
90
+ reason: translate(`update.failed.${message.reason}`),
91
+ running: message.stillRunning,
92
+ command: message.manualCommand,
93
+ }),
94
+ pin: false,
95
+ buttons: [],
96
+ };
97
+ case 'rollbackFailed':
98
+ return {
99
+ text: translate('update.rollbackFailed', {
100
+ target: message.target,
101
+ reason: translate(`update.failed.${message.reason}`),
102
+ command: message.manualCommand,
103
+ }),
104
+ pin: true,
105
+ buttons: [],
106
+ };
107
+ case 'checkFailing':
108
+ return { text: translate('update.checkFailing', { reason: message.reason }), pin: false, buttons: [] };
109
+ case 'featureAnnounced':
110
+ return { text: translate(message.mode === 'on' ? 'update.featureAnnounced.on' : 'update.featureAnnounced.notify'), pin: false, buttons: [] };
111
+ case 'restartSupervisor':
112
+ return { text: translate('update.restartSupervisor'), pin: false, buttons: [] };
113
+ }
114
+ }
115
+ //# sourceMappingURL=updateMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateMessages.js","sourceRoot":"","sources":["../../src/selfUpdate/updateMessages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @name AutoUpdateMode
3
+ * @description How an instance treats a new charness version: `on` installs it by itself when the bot is idle,
4
+ * `notify` only says it is out (a button installs it), `off` never looks. Persisted as `autoUpdate` in `settings.json`.
5
+ */
6
+ export declare const autoUpdateModes: readonly ["on", "notify", "off"];
7
+ export type AutoUpdateMode = (typeof autoUpdateModes)[number];
8
+ /** @description What `autoUpdate` means while `settings.json` does not set it. */
9
+ export declare const defaultAutoUpdateMode: AutoUpdateMode;
10
+ /** @description What `whatsNew` means while `settings.json` does not set it. */
11
+ export declare const defaultWhatsNew = true;
12
+ /** The update settings as the engine and the `/update` screen read them: `settings.json` with the defaults filled in. */
13
+ export interface UpdateSettings {
14
+ autoUpdate: AutoUpdateMode;
15
+ whatsNew: boolean;
16
+ }
17
+ //# sourceMappingURL=updateModes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateModes.d.ts","sourceRoot":"","sources":["../../src/selfUpdate/updateModes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,eAAe,kCAAmC,CAAC;AAChE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,EAAE,cAAqB,CAAC;AAE1D,gFAAgF;AAChF,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,yHAAyH;AACzH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultWhatsNew = exports.defaultAutoUpdateMode = exports.autoUpdateModes = void 0;
4
+ /**
5
+ * @name AutoUpdateMode
6
+ * @description How an instance treats a new charness version: `on` installs it by itself when the bot is idle,
7
+ * `notify` only says it is out (a button installs it), `off` never looks. Persisted as `autoUpdate` in `settings.json`.
8
+ */
9
+ exports.autoUpdateModes = ['on', 'notify', 'off'];
10
+ /** @description What `autoUpdate` means while `settings.json` does not set it. */
11
+ exports.defaultAutoUpdateMode = 'on';
12
+ /** @description What `whatsNew` means while `settings.json` does not set it. */
13
+ exports.defaultWhatsNew = true;
14
+ //# sourceMappingURL=updateModes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateModes.js","sourceRoot":"","sources":["../../src/selfUpdate/updateModes.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,eAAe,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAGhE,kFAAkF;AACrE,QAAA,qBAAqB,GAAmB,IAAI,CAAC;AAE1D,gFAAgF;AACnE,QAAA,eAAe,GAAG,IAAI,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * `DATA_DIR/update-pending.json` — written BEFORE the switch to a new version, and the one thing the next boot needs to know
4
+ * about it. Each boot of an unconfirmed version counts itself in; a version that cannot boot `maxUnconfirmedBoots` times in a
5
+ * row (a supervisor keeps restarting it) is rolled back by the boot itself, before it imports the bot. A version that stays up
6
+ * is confirmed by the running bot, which deletes the marker. A rolled-back marker is kept for the restored version to report.
7
+ */
8
+ export declare const updatePendingFileName = "update-pending.json";
9
+ declare const versionPointSchema: z.ZodObject<{
10
+ version: z.ZodString;
11
+ commit: z.ZodNullable<z.ZodString>;
12
+ }, z.core.$strip>;
13
+ declare const markerSchema: z.ZodObject<{
14
+ kind: z.ZodEnum<{
15
+ npm: "npm";
16
+ git: "git";
17
+ }>;
18
+ status: z.ZodEnum<{
19
+ pending: "pending";
20
+ rollbackFailed: "rollbackFailed";
21
+ rolledBack: "rolledBack";
22
+ }>;
23
+ from: z.ZodObject<{
24
+ version: z.ZodString;
25
+ commit: z.ZodNullable<z.ZodString>;
26
+ }, z.core.$strip>;
27
+ to: z.ZodObject<{
28
+ version: z.ZodString;
29
+ commit: z.ZodNullable<z.ZodString>;
30
+ }, z.core.$strip>;
31
+ attempts: z.ZodNumber;
32
+ isUserRequested: z.ZodBoolean;
33
+ failureReason: z.ZodOptional<z.ZodString>;
34
+ }, z.core.$strip>;
35
+ export type UpdatePendingMarker = z.infer<typeof markerSchema>;
36
+ export type VersionPoint = z.infer<typeof versionPointSchema>;
37
+ export declare function getUpdatePendingPath(dataDir: string): string;
38
+ /** @description The marker; `null` when there is none or it is unreadable (never a reason to refuse to boot). */
39
+ export declare function readUpdatePending(dataDir: string): UpdatePendingMarker | null;
40
+ export declare function writeUpdatePending(dataDir: string, marker: UpdatePendingMarker): void;
41
+ export declare function clearUpdatePending(dataDir: string): void;
42
+ /** @description A marker for a switch about to happen: no boot of the new version has started. */
43
+ export declare function createPendingMarker(options: {
44
+ kind: 'npm' | 'git';
45
+ from: VersionPoint;
46
+ to: VersionPoint;
47
+ isUserRequested: boolean;
48
+ }): UpdatePendingMarker;
49
+ export type BootAction = {
50
+ action: 'proceed';
51
+ marker: UpdatePendingMarker | null;
52
+ } | {
53
+ action: 'rollback';
54
+ marker: UpdatePendingMarker;
55
+ };
56
+ /**
57
+ * @description What this boot does about the marker: nothing without one or once it is settled; otherwise count itself in
58
+ * and go on — unless the new version has already started and not been confirmed `limit` times, which is a version that does
59
+ * not boot: roll back.
60
+ */
61
+ export declare function decideBootAction(marker: UpdatePendingMarker | null, limit?: number): BootAction;
62
+ export interface BootRollbackDeps {
63
+ dataDir: string;
64
+ /** Put the previous version back (npm: reinstall it; checkout: reset and rebuild). Throws when it cannot. */
65
+ rollback: (marker: UpdatePendingMarker) => Promise<void>;
66
+ log: (line: string) => void;
67
+ }
68
+ export type BootOutcome = 'proceed' | 'rolledBack' | 'rollbackFailed';
69
+ /**
70
+ * @description The boot-time check, run BEFORE the bot module is imported (a broken new bot must not be able to stop it from
71
+ * counting). `rolledBack`: the old version is back — the caller restarts onto it; `rollbackFailed`: it could not be put back,
72
+ * boot on and let the bot say so.
73
+ */
74
+ export declare function runBootUpdateCheck(deps: BootRollbackDeps): Promise<BootOutcome>;
75
+ export {};
76
+ //# sourceMappingURL=updatePending.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updatePending.d.ts","sourceRoot":"","sources":["../../src/selfUpdate/updatePending.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;GAKG;AAEH,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAG3D,QAAA,MAAM,kBAAkB;;;iBAAmE,CAAC;AAE5F,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;iBAUhB,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,iHAAiH;AACjH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAO7E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAErF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,kGAAkG;AAClG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,YAAY,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,GAAG,mBAAmB,CAEzJ;AAED,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEzI;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,EAAE,KAAK,GAAE,MAA4B,GAAG,UAAU,CAIpH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,6GAA6G;IAC7G,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAEtE;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBrF"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.updatePendingFileName = void 0;
37
+ exports.getUpdatePendingPath = getUpdatePendingPath;
38
+ exports.readUpdatePending = readUpdatePending;
39
+ exports.writeUpdatePending = writeUpdatePending;
40
+ exports.clearUpdatePending = clearUpdatePending;
41
+ exports.createPendingMarker = createPendingMarker;
42
+ exports.decideBootAction = decideBootAction;
43
+ exports.runBootUpdateCheck = runBootUpdateCheck;
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ const zod_1 = require("zod");
47
+ const configDirFile_1 = require("../configDirFile");
48
+ const constants_1 = require("./constants");
49
+ /**
50
+ * `DATA_DIR/update-pending.json` — written BEFORE the switch to a new version, and the one thing the next boot needs to know
51
+ * about it. Each boot of an unconfirmed version counts itself in; a version that cannot boot `maxUnconfirmedBoots` times in a
52
+ * row (a supervisor keeps restarting it) is rolled back by the boot itself, before it imports the bot. A version that stays up
53
+ * is confirmed by the running bot, which deletes the marker. A rolled-back marker is kept for the restored version to report.
54
+ */
55
+ exports.updatePendingFileName = 'update-pending.json';
56
+ const markerFileMode = 0o600;
57
+ const versionPointSchema = zod_1.z.object({ version: zod_1.z.string(), commit: zod_1.z.string().nullable() });
58
+ const markerSchema = zod_1.z.object({
59
+ kind: zod_1.z.enum(['npm', 'git']),
60
+ /** `pending`: the new version is booting / unconfirmed; `rolledBack`: it did not start and the old one is back; `rollbackFailed`: it did not start and going back failed too. */
61
+ status: zod_1.z.enum(['pending', 'rolledBack', 'rollbackFailed']),
62
+ from: versionPointSchema,
63
+ to: versionPointSchema,
64
+ /** How many boots of the new version have started without being confirmed. */
65
+ attempts: zod_1.z.number().int().nonnegative(),
66
+ isUserRequested: zod_1.z.boolean(),
67
+ failureReason: zod_1.z.string().optional(),
68
+ });
69
+ function getUpdatePendingPath(dataDir) {
70
+ return path.join(dataDir, exports.updatePendingFileName);
71
+ }
72
+ /** @description The marker; `null` when there is none or it is unreadable (never a reason to refuse to boot). */
73
+ function readUpdatePending(dataDir) {
74
+ try {
75
+ const parsed = markerSchema.safeParse(JSON.parse(fs.readFileSync(getUpdatePendingPath(dataDir), 'utf8')));
76
+ return parsed.success ? parsed.data : null;
77
+ }
78
+ catch {
79
+ return null;
80
+ }
81
+ }
82
+ function writeUpdatePending(dataDir, marker) {
83
+ (0, configDirFile_1.writeJsonFileAtomically)(getUpdatePendingPath(dataDir), marker, markerFileMode);
84
+ }
85
+ function clearUpdatePending(dataDir) {
86
+ fs.rmSync(getUpdatePendingPath(dataDir), { force: true });
87
+ }
88
+ /** @description A marker for a switch about to happen: no boot of the new version has started. */
89
+ function createPendingMarker(options) {
90
+ return { ...options, status: 'pending', attempts: 0 };
91
+ }
92
+ /**
93
+ * @description What this boot does about the marker: nothing without one or once it is settled; otherwise count itself in
94
+ * and go on — unless the new version has already started and not been confirmed `limit` times, which is a version that does
95
+ * not boot: roll back.
96
+ */
97
+ function decideBootAction(marker, limit = constants_1.maxUnconfirmedBoots) {
98
+ if (marker === null || marker.status !== 'pending')
99
+ return { action: 'proceed', marker };
100
+ if (marker.attempts >= limit)
101
+ return { action: 'rollback', marker };
102
+ return { action: 'proceed', marker: { ...marker, attempts: marker.attempts + 1 } };
103
+ }
104
+ /**
105
+ * @description The boot-time check, run BEFORE the bot module is imported (a broken new bot must not be able to stop it from
106
+ * counting). `rolledBack`: the old version is back — the caller restarts onto it; `rollbackFailed`: it could not be put back,
107
+ * boot on and let the bot say so.
108
+ */
109
+ async function runBootUpdateCheck(deps) {
110
+ const decision = decideBootAction(readUpdatePending(deps.dataDir));
111
+ if (decision.action === 'proceed') {
112
+ if (decision.marker?.status === 'pending')
113
+ writeUpdatePending(deps.dataDir, decision.marker);
114
+ return 'proceed';
115
+ }
116
+ const { marker } = decision;
117
+ deps.log(`[update] ${marker.to.version} did not start ${marker.attempts} times — going back to ${marker.from.version}`);
118
+ const reason = `the new version did not start (${marker.attempts} boots without confirmation)`;
119
+ try {
120
+ await deps.rollback(marker);
121
+ writeUpdatePending(deps.dataDir, { ...marker, status: 'rolledBack', failureReason: reason });
122
+ return 'rolledBack';
123
+ }
124
+ catch (error) {
125
+ const detail = error instanceof Error ? error.message : String(error);
126
+ deps.log(`[update] going back failed: ${detail}`);
127
+ writeUpdatePending(deps.dataDir, { ...marker, status: 'rollbackFailed', failureReason: `${reason}; going back failed: ${detail}` });
128
+ return 'rollbackFailed';
129
+ }
130
+ }
131
+ //# sourceMappingURL=updatePending.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updatePending.js","sourceRoot":"","sources":["../../src/selfUpdate/updatePending.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,oDAEC;AAGD,8CAOC;AAED,gDAEC;AAED,gDAEC;AAGD,kDAEC;AASD,4CAIC;AAgBD,gDAmBC;AA1GD,uCAAyB;AACzB,2CAA6B;AAC7B,6BAAwB;AACxB,oDAA2D;AAC3D,2CAAkD;AAElD;;;;;GAKG;AAEU,QAAA,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAE5F,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,iLAAiL;IACjL,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;IAC3D,IAAI,EAAE,kBAAkB;IACxB,EAAE,EAAE,kBAAkB;IACtB,8EAA8E;IAC9E,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IACxC,eAAe,EAAE,OAAC,CAAC,OAAO,EAAE;IAC5B,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAKH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,6BAAqB,CAAC,CAAC;AACnD,CAAC;AAED,iHAAiH;AACjH,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1G,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe,EAAE,MAA2B;IAC7E,IAAA,uCAAuB,EAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AACjF,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAChD,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,kGAAkG;AAClG,SAAgB,mBAAmB,CAAC,OAAgG;IAClI,OAAO,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACxD,CAAC;AAID;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAkC,EAAE,QAAgB,+BAAmB;IACtG,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IACzF,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IACpE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC;AACrF,CAAC;AAWD;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CAAC,IAAsB;IAC7D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS;YAAE,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,EAAE,CAAC,OAAO,kBAAkB,MAAM,CAAC,QAAQ,0BAA0B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACxH,MAAM,MAAM,GAAG,kCAAkC,MAAM,CAAC,QAAQ,8BAA8B,CAAC;IAC/F,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5B,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7F,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;QAClD,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,MAAM,wBAAwB,MAAM,EAAE,EAAE,CAAC,CAAC;QACpI,OAAO,gBAAgB,CAAC;IAC1B,CAAC;AACH,CAAC"}