@lemoncat7/dsh-partner 2.23.55 → 2.25.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 (301) hide show
  1. package/README.md +7 -2
  2. package/docs/compatibility-0.2.2-rc.1.md +7 -0
  3. package/docs/releases/2.24.0-rc.10.md +8 -0
  4. package/docs/releases/2.24.0-rc.11.md +10 -0
  5. package/docs/releases/2.24.0-rc.2.md +9 -0
  6. package/docs/releases/2.24.0-rc.3.md +6 -0
  7. package/docs/releases/2.24.0-rc.4.md +11 -0
  8. package/docs/releases/2.24.0-rc.5.md +11 -0
  9. package/docs/releases/2.24.0-rc.6.md +12 -0
  10. package/docs/releases/2.24.0-rc.9.md +5 -0
  11. package/docs/releases/2.25.0-rc.1.md +12 -0
  12. package/docs/releases/2.25.0-rc.11.md +5 -0
  13. package/docs/releases/2.25.0-rc.2.md +10 -0
  14. package/docs/releases/2.25.0-rc.3.md +11 -0
  15. package/docs/releases/2.25.0-rc.4.md +3 -0
  16. package/docs/releases/2.25.0-rc.5.md +3 -0
  17. package/docs/releases/2.25.0.md +32 -0
  18. package/lib/agent-runtime.d.ts +3 -1
  19. package/lib/agent-runtime.d.ts.map +1 -1
  20. package/lib/agent-runtime.js +91 -18
  21. package/lib/agent-runtime.js.map +1 -1
  22. package/lib/api/features/tts-api.d.ts +4 -0
  23. package/lib/api/features/tts-api.d.ts.map +1 -0
  24. package/lib/api/features/tts-api.js +49 -0
  25. package/lib/api/features/tts-api.js.map +1 -0
  26. package/lib/api.d.ts +3 -0
  27. package/lib/api.d.ts.map +1 -1
  28. package/lib/api.js +79 -6
  29. package/lib/api.js.map +1 -1
  30. package/lib/channels/activity-defaults.d.ts.map +1 -1
  31. package/lib/channels/activity-defaults.js +7 -0
  32. package/lib/channels/activity-defaults.js.map +1 -1
  33. package/lib/channels/bilibili/activity-provider.d.ts +3 -0
  34. package/lib/channels/bilibili/activity-provider.d.ts.map +1 -0
  35. package/lib/channels/bilibili/activity-provider.js +8 -0
  36. package/lib/channels/bilibili/activity-provider.js.map +1 -0
  37. package/lib/channels/bilibili/catalog.d.ts +23 -0
  38. package/lib/channels/bilibili/catalog.d.ts.map +1 -0
  39. package/lib/channels/bilibili/catalog.js +45 -0
  40. package/lib/channels/bilibili/catalog.js.map +1 -0
  41. package/lib/channels/bilibili/media.d.ts +9 -0
  42. package/lib/channels/bilibili/media.d.ts.map +1 -0
  43. package/lib/channels/bilibili/media.js +67 -0
  44. package/lib/channels/bilibili/media.js.map +1 -0
  45. package/lib/channels/bilibili/service.d.ts +37 -0
  46. package/lib/channels/bilibili/service.d.ts.map +1 -0
  47. package/lib/channels/bilibili/service.js +138 -0
  48. package/lib/channels/bilibili/service.js.map +1 -0
  49. package/lib/channels/bilibili/tools.d.ts +6 -0
  50. package/lib/channels/bilibili/tools.d.ts.map +1 -0
  51. package/lib/channels/bilibili/tools.js +48 -0
  52. package/lib/channels/bilibili/tools.js.map +1 -0
  53. package/lib/channels/direct/message-format.js +298 -206
  54. package/lib/channels/direct/message-format.js.map +4 -4
  55. package/lib/channels/direct/transport.d.ts +1 -1
  56. package/lib/channels/direct/transport.d.ts.map +1 -1
  57. package/lib/channels/manager.d.ts +2 -0
  58. package/lib/channels/manager.d.ts.map +1 -1
  59. package/lib/channels/manager.js +24 -4
  60. package/lib/channels/manager.js.map +1 -1
  61. package/lib/channels/outbound-media.d.ts +1 -1
  62. package/lib/channels/outbound-media.d.ts.map +1 -1
  63. package/lib/channels/outbound-media.js +3 -2
  64. package/lib/channels/outbound-media.js.map +1 -1
  65. package/lib/channels/qq/authority.d.ts +1 -1
  66. package/lib/channels/qq/authority.d.ts.map +1 -1
  67. package/lib/channels/qq/authority.js +2 -2
  68. package/lib/channels/qq/authority.js.map +1 -1
  69. package/lib/channels/qq/reply-tool.d.ts +1 -1
  70. package/lib/channels/qq/reply-tool.d.ts.map +1 -1
  71. package/lib/channels/qq/reply-tool.js +7 -2
  72. package/lib/channels/qq/reply-tool.js.map +1 -1
  73. package/lib/channels/weixin/api.d.ts +1 -1
  74. package/lib/channels/weixin/api.d.ts.map +1 -1
  75. package/lib/channels/weixin/api.js +7 -1
  76. package/lib/channels/weixin/api.js.map +1 -1
  77. package/lib/channels/weixin/connect.d.ts +5 -1
  78. package/lib/channels/weixin/connect.d.ts.map +1 -1
  79. package/lib/character/activity-journal.d.ts +3 -1
  80. package/lib/character/activity-journal.d.ts.map +1 -1
  81. package/lib/character/activity-journal.js +43 -7
  82. package/lib/character/activity-journal.js.map +1 -1
  83. package/lib/character/activity-summary.d.ts +23 -0
  84. package/lib/character/activity-summary.d.ts.map +1 -0
  85. package/lib/character/activity-summary.js +23 -0
  86. package/lib/character/activity-summary.js.map +1 -0
  87. package/lib/character/affection-tool.js +2 -2
  88. package/lib/character/affection-tool.js.map +1 -1
  89. package/lib/character/affection.d.ts +6 -42
  90. package/lib/character/affection.d.ts.map +1 -1
  91. package/lib/character/affection.js +4 -13
  92. package/lib/character/affection.js.map +1 -1
  93. package/lib/character/conversation-behavior.d.ts +1 -0
  94. package/lib/character/conversation-behavior.d.ts.map +1 -1
  95. package/lib/character/conversation-behavior.js +8 -5
  96. package/lib/character/conversation-behavior.js.map +1 -1
  97. package/lib/character/habit-tool.d.ts +4 -0
  98. package/lib/character/habit-tool.d.ts.map +1 -0
  99. package/lib/character/habit-tool.js +31 -0
  100. package/lib/character/habit-tool.js.map +1 -0
  101. package/lib/character/habits.d.ts +38 -0
  102. package/lib/character/habits.d.ts.map +1 -0
  103. package/lib/character/habits.js +92 -0
  104. package/lib/character/habits.js.map +1 -0
  105. package/lib/character/idle-contact.d.ts +9 -0
  106. package/lib/character/idle-contact.d.ts.map +1 -1
  107. package/lib/character/idle-contact.js +62 -9
  108. package/lib/character/idle-contact.js.map +1 -1
  109. package/lib/character/interaction-review.d.ts +10 -0
  110. package/lib/character/interaction-review.d.ts.map +1 -1
  111. package/lib/character/interaction-review.js +51 -31
  112. package/lib/character/interaction-review.js.map +1 -1
  113. package/lib/chat/live-speech.d.ts +5 -2
  114. package/lib/chat/live-speech.d.ts.map +1 -1
  115. package/lib/chat/live-speech.js +37 -9
  116. package/lib/chat/live-speech.js.map +1 -1
  117. package/lib/chat/persona-delivery.d.ts +31 -0
  118. package/lib/chat/persona-delivery.d.ts.map +1 -0
  119. package/lib/chat/persona-delivery.js +131 -0
  120. package/lib/chat/persona-delivery.js.map +1 -0
  121. package/lib/chat/protocol.d.ts +1 -1
  122. package/lib/chat/protocol.js +1 -1
  123. package/lib/chat/reply-continuity.d.ts.map +1 -1
  124. package/lib/chat/reply-continuity.js +12 -0
  125. package/lib/chat/reply-continuity.js.map +1 -1
  126. package/lib/chat/tools.d.ts.map +1 -1
  127. package/lib/chat/tools.js +26 -11
  128. package/lib/chat/tools.js.map +1 -1
  129. package/lib/chat/work-expression.d.ts +36 -0
  130. package/lib/chat/work-expression.d.ts.map +1 -1
  131. package/lib/chat/work-expression.js +80 -17
  132. package/lib/chat/work-expression.js.map +1 -1
  133. package/lib/client-api.d.ts +17 -1
  134. package/lib/client-api.d.ts.map +1 -1
  135. package/lib/client-api.js.map +1 -1
  136. package/lib/client.activities.js +3 -0
  137. package/lib/client.d.ts.map +1 -1
  138. package/lib/client.js +4119 -3763
  139. package/lib/client.js.map +4 -4
  140. package/lib/client.tts.js +7 -0
  141. package/lib/collaboration/composition.d.ts.map +1 -1
  142. package/lib/collaboration/composition.js +2 -0
  143. package/lib/collaboration/composition.js.map +1 -1
  144. package/lib/collaboration/tool-discovery.d.ts +1 -1
  145. package/lib/collaboration/tool-discovery.d.ts.map +1 -1
  146. package/lib/collaboration/tool-discovery.js +15 -9
  147. package/lib/collaboration/tool-discovery.js.map +1 -1
  148. package/lib/companions/identity-tool.d.ts +1 -1
  149. package/lib/companions/identity-tool.d.ts.map +1 -1
  150. package/lib/companions/identity-tool.js +3 -4
  151. package/lib/companions/identity-tool.js.map +1 -1
  152. package/lib/companions/identity.js +4 -4
  153. package/lib/companions/identity.js.map +1 -1
  154. package/lib/companions/management.d.ts +4 -4
  155. package/lib/companions/persona-refinement.d.ts.map +1 -1
  156. package/lib/companions/persona-refinement.js +1 -45
  157. package/lib/companions/persona-refinement.js.map +1 -1
  158. package/lib/compat/native-presentation.d.ts +4 -0
  159. package/lib/compat/native-presentation.d.ts.map +1 -0
  160. package/lib/compat/native-presentation.js +40 -0
  161. package/lib/compat/native-presentation.js.map +1 -0
  162. package/lib/compat/ptc-events.d.ts +2 -0
  163. package/lib/compat/ptc-events.d.ts.map +1 -0
  164. package/lib/compat/ptc-events.js +2 -0
  165. package/lib/compat/ptc-events.js.map +1 -0
  166. package/lib/compat/tool-dispatch.d.ts +4 -0
  167. package/lib/compat/tool-dispatch.d.ts.map +1 -0
  168. package/lib/compat/tool-dispatch.js +14 -0
  169. package/lib/compat/tool-dispatch.js.map +1 -0
  170. package/lib/concern-execution-receipt.d.ts +2 -1
  171. package/lib/concern-execution-receipt.d.ts.map +1 -1
  172. package/lib/concern-execution-receipt.js +15 -13
  173. package/lib/concern-execution-receipt.js.map +1 -1
  174. package/lib/concern-execution.d.ts +3 -1
  175. package/lib/concern-execution.d.ts.map +1 -1
  176. package/lib/concern-execution.js +20 -1
  177. package/lib/concern-execution.js.map +1 -1
  178. package/lib/concern-recording.d.ts +1 -1
  179. package/lib/concern-recording.d.ts.map +1 -1
  180. package/lib/concern-recording.js +14 -5
  181. package/lib/concern-recording.js.map +1 -1
  182. package/lib/concern-store.d.ts.map +1 -1
  183. package/lib/concern-store.js +3 -1
  184. package/lib/concern-store.js.map +1 -1
  185. package/lib/concern-tool.d.ts.map +1 -1
  186. package/lib/concern-tool.js +5 -3
  187. package/lib/concern-tool.js.map +1 -1
  188. package/lib/domain.d.ts +13 -1
  189. package/lib/domain.d.ts.map +1 -1
  190. package/lib/domain.js.map +1 -1
  191. package/lib/execution/operation-tool-access.d.ts.map +1 -1
  192. package/lib/execution/operation-tool-access.js +2 -6
  193. package/lib/execution/operation-tool-access.js.map +1 -1
  194. package/lib/execution/service.d.ts +2 -0
  195. package/lib/execution/service.d.ts.map +1 -1
  196. package/lib/execution/service.js +7 -1
  197. package/lib/execution/service.js.map +1 -1
  198. package/lib/execution/task-preamble.js +2 -2
  199. package/lib/execution/task-preamble.js.map +1 -1
  200. package/lib/execution/work-progress-card.d.ts +10 -0
  201. package/lib/execution/work-progress-card.d.ts.map +1 -0
  202. package/lib/execution/work-progress-card.js +45 -0
  203. package/lib/execution/work-progress-card.js.map +1 -0
  204. package/lib/execution/work-progress-state.d.ts +32 -0
  205. package/lib/execution/work-progress-state.d.ts.map +1 -0
  206. package/lib/execution/work-progress-state.js +19 -0
  207. package/lib/execution/work-progress-state.js.map +1 -0
  208. package/lib/execution/work-progress.d.ts +16 -0
  209. package/lib/execution/work-progress.d.ts.map +1 -0
  210. package/lib/execution/work-progress.js +76 -0
  211. package/lib/execution/work-progress.js.map +1 -0
  212. package/lib/execution/work-tool.d.ts.map +1 -1
  213. package/lib/execution/work-tool.js +63 -52
  214. package/lib/execution/work-tool.js.map +1 -1
  215. package/lib/heartbeat.js +1 -1
  216. package/lib/heartbeat.js.map +1 -1
  217. package/lib/index.d.ts.map +1 -1
  218. package/lib/index.js +11 -3
  219. package/lib/index.js.map +1 -1
  220. package/lib/memory-store.d.ts +1 -1
  221. package/lib/observation-loop.d.ts.map +1 -1
  222. package/lib/observation-loop.js +24 -6
  223. package/lib/observation-loop.js.map +1 -1
  224. package/lib/store.d.ts.map +1 -1
  225. package/lib/store.js +12 -1
  226. package/lib/store.js.map +1 -1
  227. package/lib/ui/affection-panel.js +1 -1
  228. package/lib/ui/affection-panel.js.map +1 -1
  229. package/lib/ui/bilibili-settings.d.ts +12 -0
  230. package/lib/ui/bilibili-settings.d.ts.map +1 -0
  231. package/lib/ui/bilibili-settings.js +77 -0
  232. package/lib/ui/bilibili-settings.js.map +1 -0
  233. package/lib/ui/channels-panel.d.ts.map +1 -1
  234. package/lib/ui/channels-panel.js +11 -4
  235. package/lib/ui/channels-panel.js.map +1 -1
  236. package/lib/ui/companion-vitals.js +1 -1
  237. package/lib/ui/companion-vitals.js.map +1 -1
  238. package/lib/ui/habits-panel.d.ts +4 -0
  239. package/lib/ui/habits-panel.d.ts.map +1 -0
  240. package/lib/ui/habits-panel.js +30 -0
  241. package/lib/ui/habits-panel.js.map +1 -0
  242. package/lib/ui/identity-editor.js +1 -8
  243. package/lib/ui/identity-editor.js.map +1 -1
  244. package/lib/ui/idle-contact-editor.d.ts.map +1 -1
  245. package/lib/ui/idle-contact-editor.js +3 -2
  246. package/lib/ui/idle-contact-editor.js.map +1 -1
  247. package/lib/ui/memory/concern-board.js +1 -1
  248. package/lib/ui/memory/concern-board.js.map +1 -1
  249. package/lib/ui/memory/concern-execution-status.d.ts.map +1 -1
  250. package/lib/ui/memory/concern-execution-status.js +2 -2
  251. package/lib/ui/memory/concern-execution-status.js.map +1 -1
  252. package/lib/ui/push-draft.d.ts +2 -2
  253. package/lib/ui/qq-channel-settings.js +3 -3
  254. package/lib/ui/qq-channel-settings.js.map +1 -1
  255. package/lib/ui/thoughts-panel-loader.d.ts +4 -0
  256. package/lib/ui/thoughts-panel-loader.d.ts.map +1 -0
  257. package/lib/ui/thoughts-panel-loader.js +23 -0
  258. package/lib/ui/thoughts-panel-loader.js.map +1 -0
  259. package/lib/ui/thoughts-panel.d.ts.map +1 -1
  260. package/lib/ui/thoughts-panel.js +7 -5
  261. package/lib/ui/thoughts-panel.js.map +1 -1
  262. package/lib/ui/tts-settings-loader.d.ts +4 -0
  263. package/lib/ui/tts-settings-loader.d.ts.map +1 -0
  264. package/lib/ui/tts-settings-loader.js +23 -0
  265. package/lib/ui/tts-settings-loader.js.map +1 -0
  266. package/lib/ui/tts-settings.d.ts +11 -0
  267. package/lib/ui/tts-settings.d.ts.map +1 -0
  268. package/lib/ui/tts-settings.js +63 -0
  269. package/lib/ui/tts-settings.js.map +1 -0
  270. package/lib/ui/workspace-navigation.d.ts +16 -16
  271. package/lib/voice/credentials.d.ts +9 -0
  272. package/lib/voice/credentials.d.ts.map +1 -0
  273. package/lib/voice/credentials.js +12 -0
  274. package/lib/voice/credentials.js.map +1 -0
  275. package/lib/voice/domain.d.ts +42 -0
  276. package/lib/voice/domain.d.ts.map +1 -0
  277. package/lib/voice/domain.js +53 -0
  278. package/lib/voice/domain.js.map +1 -0
  279. package/lib/voice/service.d.ts +63 -0
  280. package/lib/voice/service.d.ts.map +1 -0
  281. package/lib/voice/service.js +211 -0
  282. package/lib/voice/service.js.map +1 -0
  283. package/lib/voice/synthesize.d.ts +12 -0
  284. package/lib/voice/synthesize.d.ts.map +1 -0
  285. package/lib/voice/synthesize.js +97 -0
  286. package/lib/voice/synthesize.js.map +1 -0
  287. package/lib/voice/tool.d.ts +7 -0
  288. package/lib/voice/tool.d.ts.map +1 -0
  289. package/lib/voice/tool.js +73 -0
  290. package/lib/voice/tool.js.map +1 -0
  291. package/lib/voice/validation.d.ts +3 -0
  292. package/lib/voice/validation.d.ts.map +1 -0
  293. package/lib/voice/validation.js +31 -0
  294. package/lib/voice/validation.js.map +1 -0
  295. package/package.json +71 -48
  296. package/resources/bilibili/Dockerfile +7 -0
  297. package/resources/bilibili/media.py +245 -0
  298. package/resources/bilibili/requirements.txt +3 -0
  299. package/resources/bilibili/server.py +300 -0
  300. package/resources/bilibili/test_bridge.py +115 -0
  301. package/resources/bilibili/test_media.py +110 -0
@@ -4,7 +4,7 @@ var __export = (target, all2) => {
4
4
  __defProp(target, name, { get: all2[name], enumerable: true });
5
5
  };
6
6
 
7
- // node_modules/mdast-util-to-string/lib/index.js
7
+ // ../../node_modules/mdast-util-to-string/lib/index.js
8
8
  var emptyOptions = {};
9
9
  function toString(value, options) {
10
10
  const settings = options || emptyOptions;
@@ -41,7 +41,7 @@ function node(value) {
41
41
  return Boolean(value && typeof value === "object");
42
42
  }
43
43
 
44
- // node_modules/character-entities/index.js
44
+ // ../../node_modules/character-entities/index.js
45
45
  var characterEntities = {
46
46
  AElig: "\xC6",
47
47
  AMP: "&",
@@ -2170,13 +2170,13 @@ var characterEntities = {
2170
2170
  zwnj: "\u200C"
2171
2171
  };
2172
2172
 
2173
- // node_modules/decode-named-character-reference/index.js
2173
+ // ../../node_modules/decode-named-character-reference/index.js
2174
2174
  var own = {}.hasOwnProperty;
2175
2175
  function decodeNamedCharacterReference(value) {
2176
2176
  return own.call(characterEntities, value) ? characterEntities[value] : false;
2177
2177
  }
2178
2178
 
2179
- // node_modules/micromark-util-chunked/index.js
2179
+ // ../../node_modules/micromark-util-chunked/index.js
2180
2180
  function splice(list4, start, remove, items) {
2181
2181
  const end = list4.length;
2182
2182
  let chunkStart = 0;
@@ -2210,7 +2210,7 @@ function push(list4, items) {
2210
2210
  return items;
2211
2211
  }
2212
2212
 
2213
- // node_modules/micromark-util-combine-extensions/index.js
2213
+ // ../../node_modules/micromark-util-combine-extensions/index.js
2214
2214
  var hasOwnProperty = {}.hasOwnProperty;
2215
2215
  function combineExtensions(extensions) {
2216
2216
  const all2 = {};
@@ -2250,7 +2250,7 @@ function constructs(existing, list4) {
2250
2250
  splice(existing, 0, 0, before);
2251
2251
  }
2252
2252
 
2253
- // node_modules/micromark-util-decode-numeric-character-reference/index.js
2253
+ // ../../node_modules/micromark-util-decode-numeric-character-reference/index.js
2254
2254
  function decodeNumericCharacterReference(value, base) {
2255
2255
  const code3 = Number.parseInt(value, base);
2256
2256
  if (
@@ -2268,12 +2268,12 @@ function decodeNumericCharacterReference(value, base) {
2268
2268
  return String.fromCodePoint(code3);
2269
2269
  }
2270
2270
 
2271
- // node_modules/micromark-util-normalize-identifier/index.js
2271
+ // ../../node_modules/micromark-util-normalize-identifier/index.js
2272
2272
  function normalizeIdentifier(value) {
2273
2273
  return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
2274
2274
  }
2275
2275
 
2276
- // node_modules/micromark-util-character/index.js
2276
+ // ../../node_modules/micromark-util-character/index.js
2277
2277
  var asciiAlpha = regexCheck(/[A-Za-z]/);
2278
2278
  var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/);
2279
2279
  var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
@@ -2305,7 +2305,7 @@ function regexCheck(regex) {
2305
2305
  }
2306
2306
  }
2307
2307
 
2308
- // node_modules/micromark-factory-space/index.js
2308
+ // ../../node_modules/micromark-factory-space/index.js
2309
2309
  function factorySpace(effects, ok3, type, max) {
2310
2310
  const limit = max ? max - 1 : Infinity;
2311
2311
  let size = 0;
@@ -2350,7 +2350,7 @@ function factorySpaceMinMax(effects, ok3, nok, type, min, max) {
2350
2350
  }
2351
2351
  }
2352
2352
 
2353
- // node_modules/micromark/lib/initialize/content.js
2353
+ // ../../node_modules/micromark/lib/initialize/content.js
2354
2354
  var content = {
2355
2355
  tokenize: initializeContent
2356
2356
  };
@@ -2400,7 +2400,7 @@ function initializeContent(effects) {
2400
2400
  }
2401
2401
  }
2402
2402
 
2403
- // node_modules/micromark-util-edit-map/index.js
2403
+ // ../../node_modules/micromark-util-edit-map/index.js
2404
2404
  var EditMap = class {
2405
2405
  /**
2406
2406
  * Create a new edit map.
@@ -2498,7 +2498,7 @@ function addImplementation(editMap, at, remove, add, before) {
2498
2498
  editMap.index.set(at, change);
2499
2499
  }
2500
2500
 
2501
- // node_modules/micromark/lib/initialize/document.js
2501
+ // ../../node_modules/micromark/lib/initialize/document.js
2502
2502
  var document = {
2503
2503
  tokenize: initializeDocument
2504
2504
  };
@@ -2692,7 +2692,7 @@ function tokenizeContainer(effects, ok3, nok) {
2692
2692
  return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok3, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
2693
2693
  }
2694
2694
 
2695
- // node_modules/micromark-util-classify-character/index.js
2695
+ // ../../node_modules/micromark-util-classify-character/index.js
2696
2696
  function classifyCharacter(code3) {
2697
2697
  if (code3 === null || markdownLineEndingOrSpace(code3) || unicodeWhitespace(code3)) {
2698
2698
  return 1;
@@ -2702,7 +2702,7 @@ function classifyCharacter(code3) {
2702
2702
  }
2703
2703
  }
2704
2704
 
2705
- // node_modules/micromark-util-resolve-all/index.js
2705
+ // ../../node_modules/micromark-util-resolve-all/index.js
2706
2706
  function resolveAll(constructs2, events, context) {
2707
2707
  const called = [];
2708
2708
  let index2 = -1;
@@ -2716,7 +2716,7 @@ function resolveAll(constructs2, events, context) {
2716
2716
  return events;
2717
2717
  }
2718
2718
 
2719
- // node_modules/micromark-core-commonmark/lib/attention.js
2719
+ // ../../node_modules/micromark-core-commonmark/lib/attention.js
2720
2720
  var attention = {
2721
2721
  name: "attention",
2722
2722
  resolveAll: resolveAllAttention,
@@ -2839,7 +2839,7 @@ function movePoint(point3, offset) {
2839
2839
  point3._bufferIndex += offset;
2840
2840
  }
2841
2841
 
2842
- // node_modules/micromark-core-commonmark/lib/autolink.js
2842
+ // ../../node_modules/micromark-core-commonmark/lib/autolink.js
2843
2843
  var autolink = {
2844
2844
  name: "autolink",
2845
2845
  tokenize: tokenizeAutolink
@@ -2940,7 +2940,7 @@ function tokenizeAutolink(effects, ok3, nok) {
2940
2940
  }
2941
2941
  }
2942
2942
 
2943
- // node_modules/micromark-core-commonmark/lib/blank-line.js
2943
+ // ../../node_modules/micromark-core-commonmark/lib/blank-line.js
2944
2944
  var blankLine = {
2945
2945
  partial: true,
2946
2946
  tokenize: tokenizeBlankLine
@@ -2955,7 +2955,7 @@ function tokenizeBlankLine(effects, ok3, nok) {
2955
2955
  }
2956
2956
  }
2957
2957
 
2958
- // node_modules/micromark-core-commonmark/lib/block-quote.js
2958
+ // ../../node_modules/micromark-core-commonmark/lib/block-quote.js
2959
2959
  var blockQuote = {
2960
2960
  continuation: {
2961
2961
  tokenize: tokenizeBlockQuoteContinuation
@@ -3013,7 +3013,7 @@ function exit(effects) {
3013
3013
  effects.exit("blockQuote");
3014
3014
  }
3015
3015
 
3016
- // node_modules/micromark-core-commonmark/lib/character-escape.js
3016
+ // ../../node_modules/micromark-core-commonmark/lib/character-escape.js
3017
3017
  var characterEscape = {
3018
3018
  name: "characterEscape",
3019
3019
  tokenize: tokenizeCharacterEscape
@@ -3039,7 +3039,7 @@ function tokenizeCharacterEscape(effects, ok3, nok) {
3039
3039
  }
3040
3040
  }
3041
3041
 
3042
- // node_modules/micromark-core-commonmark/lib/character-reference.js
3042
+ // ../../node_modules/micromark-core-commonmark/lib/character-reference.js
3043
3043
  var characterReference = {
3044
3044
  name: "characterReference",
3045
3045
  tokenize: tokenizeCharacterReference
@@ -3104,7 +3104,7 @@ function tokenizeCharacterReference(effects, ok3, nok) {
3104
3104
  }
3105
3105
  }
3106
3106
 
3107
- // node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js
3107
+ // ../../node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js
3108
3108
  var nonLazyContinuation = {
3109
3109
  partial: true,
3110
3110
  tokenize: tokenizeNonLazyContinuation
@@ -3126,7 +3126,7 @@ function tokenizeNonLazyContinuation(effects, ok3, nok) {
3126
3126
  }
3127
3127
  }
3128
3128
 
3129
- // node_modules/micromark-core-commonmark/lib/code-fenced.js
3129
+ // ../../node_modules/micromark-core-commonmark/lib/code-fenced.js
3130
3130
  var codeFenced = {
3131
3131
  concrete: true,
3132
3132
  name: "codeFenced",
@@ -3289,7 +3289,7 @@ function tokenizeCodeFenced(effects, ok3, nok) {
3289
3289
  }
3290
3290
  }
3291
3291
 
3292
- // node_modules/micromark-core-commonmark/lib/code-indented.js
3292
+ // ../../node_modules/micromark-core-commonmark/lib/code-indented.js
3293
3293
  var codeIndented = {
3294
3294
  name: "codeIndented",
3295
3295
  tokenize: tokenizeCodeIndented
@@ -3347,7 +3347,7 @@ function tokenizeFurtherStart(effects, ok3, nok) {
3347
3347
  }
3348
3348
  }
3349
3349
 
3350
- // node_modules/micromark-core-commonmark/lib/code-text.js
3350
+ // ../../node_modules/micromark-core-commonmark/lib/code-text.js
3351
3351
  var codeText = {
3352
3352
  name: "codeText",
3353
3353
  previous,
@@ -3462,7 +3462,7 @@ function tokenizeCodeText(effects, ok3, nok) {
3462
3462
  }
3463
3463
  }
3464
3464
 
3465
- // node_modules/micromark-util-subtokenize/lib/splice-buffer.js
3465
+ // ../../node_modules/micromark-util-subtokenize/lib/splice-buffer.js
3466
3466
  var SpliceBuffer = class {
3467
3467
  /**
3468
3468
  * @param {ReadonlyArray<T> | null | undefined} [initial]
@@ -3655,7 +3655,7 @@ function chunkedPush(list4, right) {
3655
3655
  }
3656
3656
  }
3657
3657
 
3658
- // node_modules/micromark-util-subtokenize/index.js
3658
+ // ../../node_modules/micromark-util-subtokenize/index.js
3659
3659
  function subtokenize(eventsArray) {
3660
3660
  const jumps = {};
3661
3661
  let index2 = -1;
@@ -3808,7 +3808,7 @@ function subcontent(events, eventIndex) {
3808
3808
  return gaps;
3809
3809
  }
3810
3810
 
3811
- // node_modules/micromark-core-commonmark/lib/content.js
3811
+ // ../../node_modules/micromark-core-commonmark/lib/content.js
3812
3812
  var content2 = {
3813
3813
  resolve: resolveContent,
3814
3814
  tokenize: tokenizeContent
@@ -3879,7 +3879,7 @@ function tokenizeContinuation(effects, ok3, nok) {
3879
3879
  }
3880
3880
  }
3881
3881
 
3882
- // node_modules/micromark-factory-destination/index.js
3882
+ // ../../node_modules/micromark-factory-destination/index.js
3883
3883
  function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerType, rawType, stringType, max) {
3884
3884
  const limit = max || Number.POSITIVE_INFINITY;
3885
3885
  let balance = 0;
@@ -3971,7 +3971,7 @@ function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerT
3971
3971
  }
3972
3972
  }
3973
3973
 
3974
- // node_modules/micromark-factory-label/index.js
3974
+ // ../../node_modules/micromark-factory-label/index.js
3975
3975
  function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
3976
3976
  const self = this;
3977
3977
  let size = 0;
@@ -4032,7 +4032,7 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
4032
4032
  }
4033
4033
  }
4034
4034
 
4035
- // node_modules/micromark-factory-title/index.js
4035
+ // ../../node_modules/micromark-factory-title/index.js
4036
4036
  function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
4037
4037
  let marker;
4038
4038
  return start;
@@ -4094,7 +4094,7 @@ function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
4094
4094
  }
4095
4095
  }
4096
4096
 
4097
- // node_modules/micromark-factory-whitespace/index.js
4097
+ // ../../node_modules/micromark-factory-whitespace/index.js
4098
4098
  function factoryWhitespace(effects, ok3) {
4099
4099
  let seen;
4100
4100
  return start;
@@ -4113,7 +4113,7 @@ function factoryWhitespace(effects, ok3) {
4113
4113
  }
4114
4114
  }
4115
4115
 
4116
- // node_modules/micromark-core-commonmark/lib/definition.js
4116
+ // ../../node_modules/micromark-core-commonmark/lib/definition.js
4117
4117
  var definition = {
4118
4118
  name: "definition",
4119
4119
  tokenize: tokenizeDefinition
@@ -4199,7 +4199,7 @@ function tokenizeTitleBefore(effects, ok3, nok) {
4199
4199
  }
4200
4200
  }
4201
4201
 
4202
- // node_modules/micromark-core-commonmark/lib/hard-break-escape.js
4202
+ // ../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js
4203
4203
  var hardBreakEscape = {
4204
4204
  name: "hardBreakEscape",
4205
4205
  tokenize: tokenizeHardBreakEscape
@@ -4220,7 +4220,7 @@ function tokenizeHardBreakEscape(effects, ok3, nok) {
4220
4220
  }
4221
4221
  }
4222
4222
 
4223
- // node_modules/micromark-core-commonmark/lib/heading-atx.js
4223
+ // ../../node_modules/micromark-core-commonmark/lib/heading-atx.js
4224
4224
  var headingAtx = {
4225
4225
  name: "headingAtx",
4226
4226
  resolve: resolveHeadingAtx,
@@ -4309,7 +4309,7 @@ function tokenizeHeadingAtx(effects, ok3, nok) {
4309
4309
  }
4310
4310
  }
4311
4311
 
4312
- // node_modules/micromark-util-html-tag-name/index.js
4312
+ // ../../node_modules/micromark-util-html-tag-name/index.js
4313
4313
  var htmlBlockNames = [
4314
4314
  "address",
4315
4315
  "article",
@@ -4376,7 +4376,7 @@ var htmlBlockNames = [
4376
4376
  ];
4377
4377
  var htmlRawNames = ["pre", "script", "style", "textarea"];
4378
4378
 
4379
- // node_modules/micromark-core-commonmark/lib/html-flow.js
4379
+ // ../../node_modules/micromark-core-commonmark/lib/html-flow.js
4380
4380
  var htmlFlow = {
4381
4381
  concrete: true,
4382
4382
  name: "htmlFlow",
@@ -4735,7 +4735,7 @@ function tokenizeBlankLineBefore(effects, ok3, nok) {
4735
4735
  }
4736
4736
  }
4737
4737
 
4738
- // node_modules/micromark-core-commonmark/lib/html-text.js
4738
+ // ../../node_modules/micromark-core-commonmark/lib/html-text.js
4739
4739
  var htmlText = {
4740
4740
  name: "htmlText",
4741
4741
  tokenize: tokenizeHtmlText
@@ -5041,7 +5041,7 @@ function tokenizeHtmlText(effects, ok3, nok) {
5041
5041
  }
5042
5042
  }
5043
5043
 
5044
- // node_modules/micromark-core-commonmark/lib/label-end.js
5044
+ // ../../node_modules/micromark-core-commonmark/lib/label-end.js
5045
5045
  var labelEnd = {
5046
5046
  name: "labelEnd",
5047
5047
  resolveAll: resolveAllLabelEnd,
@@ -5267,7 +5267,7 @@ function tokenizeReferenceCollapsed(effects, ok3, nok) {
5267
5267
  }
5268
5268
  }
5269
5269
 
5270
- // node_modules/micromark-core-commonmark/lib/label-start-image.js
5270
+ // ../../node_modules/micromark-core-commonmark/lib/label-start-image.js
5271
5271
  var labelStartImage = {
5272
5272
  name: "labelStartImage",
5273
5273
  resolveAll: labelEnd.resolveAll,
@@ -5304,7 +5304,7 @@ function tokenizeLabelStartImage(effects, ok3, nok) {
5304
5304
  }
5305
5305
  }
5306
5306
 
5307
- // node_modules/micromark-core-commonmark/lib/label-start-link.js
5307
+ // ../../node_modules/micromark-core-commonmark/lib/label-start-link.js
5308
5308
  var labelStartLink = {
5309
5309
  name: "labelStartLink",
5310
5310
  resolveAll: labelEnd.resolveAll,
@@ -5332,7 +5332,7 @@ function tokenizeLabelStartLink(effects, ok3, nok) {
5332
5332
  }
5333
5333
  }
5334
5334
 
5335
- // node_modules/micromark-core-commonmark/lib/line-ending.js
5335
+ // ../../node_modules/micromark-core-commonmark/lib/line-ending.js
5336
5336
  var lineEnding = {
5337
5337
  name: "lineEnding",
5338
5338
  tokenize: tokenizeLineEnding
@@ -5347,7 +5347,7 @@ function tokenizeLineEnding(effects, ok3) {
5347
5347
  }
5348
5348
  }
5349
5349
 
5350
- // node_modules/micromark-core-commonmark/lib/thematic-break.js
5350
+ // ../../node_modules/micromark-core-commonmark/lib/thematic-break.js
5351
5351
  var thematicBreak = {
5352
5352
  name: "thematicBreak",
5353
5353
  tokenize: tokenizeThematicBreak
@@ -5386,7 +5386,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
5386
5386
  }
5387
5387
  }
5388
5388
 
5389
- // node_modules/micromark-core-commonmark/lib/list.js
5389
+ // ../../node_modules/micromark-core-commonmark/lib/list.js
5390
5390
  var list = {
5391
5391
  continuation: {
5392
5392
  tokenize: tokenizeListContinuation
@@ -5516,7 +5516,7 @@ function tokenizeListItemPrefixWhitespace(effects, ok3, nok) {
5516
5516
  }
5517
5517
  }
5518
5518
 
5519
- // node_modules/micromark-core-commonmark/lib/setext-underline.js
5519
+ // ../../node_modules/micromark-core-commonmark/lib/setext-underline.js
5520
5520
  var setextUnderline = {
5521
5521
  name: "setextUnderline",
5522
5522
  resolveTo: resolveToSetextUnderline,
@@ -5610,7 +5610,7 @@ function tokenizeSetextUnderline(effects, ok3, nok) {
5610
5610
  }
5611
5611
  }
5612
5612
 
5613
- // node_modules/micromark/lib/initialize/flow.js
5613
+ // ../../node_modules/micromark/lib/initialize/flow.js
5614
5614
  var flow = {
5615
5615
  tokenize: initializeFlow
5616
5616
  };
@@ -5648,7 +5648,7 @@ function initializeFlow(effects) {
5648
5648
  }
5649
5649
  }
5650
5650
 
5651
- // node_modules/micromark/lib/initialize/text.js
5651
+ // ../../node_modules/micromark/lib/initialize/text.js
5652
5652
  var resolver = {
5653
5653
  resolveAll: createResolver()
5654
5654
  };
@@ -5790,7 +5790,7 @@ function resolveAllLineSuffixes(events, context) {
5790
5790
  return events;
5791
5791
  }
5792
5792
 
5793
- // node_modules/micromark/lib/constructs.js
5793
+ // ../../node_modules/micromark/lib/constructs.js
5794
5794
  var constructs_exports = {};
5795
5795
  __export(constructs_exports, {
5796
5796
  attentionMarkers: () => attentionMarkers,
@@ -5865,7 +5865,7 @@ var disable = {
5865
5865
  null: []
5866
5866
  };
5867
5867
 
5868
- // node_modules/micromark/lib/create-tokenizer.js
5868
+ // ../../node_modules/micromark/lib/create-tokenizer.js
5869
5869
  function createTokenizer(parser, initialize, from) {
5870
5870
  let point3 = {
5871
5871
  _bufferIndex: -1,
@@ -6191,7 +6191,7 @@ function serializeChunks(chunks, expandTabs) {
6191
6191
  return result.join("");
6192
6192
  }
6193
6193
 
6194
- // node_modules/micromark/lib/parse.js
6194
+ // ../../node_modules/micromark/lib/parse.js
6195
6195
  function parse(options) {
6196
6196
  const settings = options || {};
6197
6197
  const constructs2 = (
@@ -6217,14 +6217,14 @@ function parse(options) {
6217
6217
  }
6218
6218
  }
6219
6219
 
6220
- // node_modules/micromark/lib/postprocess.js
6220
+ // ../../node_modules/micromark/lib/postprocess.js
6221
6221
  function postprocess(events) {
6222
6222
  while (!subtokenize(events)) {
6223
6223
  }
6224
6224
  return events;
6225
6225
  }
6226
6226
 
6227
- // node_modules/micromark/lib/preprocess.js
6227
+ // ../../node_modules/micromark/lib/preprocess.js
6228
6228
  var search = /[\0\t\n\r]/g;
6229
6229
  function preprocess() {
6230
6230
  let column = 1;
@@ -6304,7 +6304,7 @@ function preprocess() {
6304
6304
  }
6305
6305
  }
6306
6306
 
6307
- // node_modules/micromark-util-decode-string/index.js
6307
+ // ../../node_modules/micromark-util-decode-string/index.js
6308
6308
  var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
6309
6309
  function decodeString(value) {
6310
6310
  return value.replace(characterEscapeOrReference, decode);
@@ -6322,7 +6322,7 @@ function decode($0, $1, $2) {
6322
6322
  return decodeNamedCharacterReference($2) || $0;
6323
6323
  }
6324
6324
 
6325
- // node_modules/unist-util-stringify-position/lib/index.js
6325
+ // ../../node_modules/unist-util-stringify-position/lib/index.js
6326
6326
  function stringifyPosition(value) {
6327
6327
  if (!value || typeof value !== "object") {
6328
6328
  return "";
@@ -6348,7 +6348,7 @@ function index(value) {
6348
6348
  return value && typeof value === "number" ? value : 1;
6349
6349
  }
6350
6350
 
6351
- // node_modules/mdast-util-from-markdown/lib/index.js
6351
+ // ../../node_modules/mdast-util-from-markdown/lib/index.js
6352
6352
  var own2 = {}.hasOwnProperty;
6353
6353
  function fromMarkdown(value, encoding, options) {
6354
6354
  if (encoding && typeof encoding === "object") {
@@ -7057,7 +7057,7 @@ function defaultOnError(left, right) {
7057
7057
  }
7058
7058
  }
7059
7059
 
7060
- // node_modules/ccount/index.js
7060
+ // ../../node_modules/ccount/index.js
7061
7061
  function ccount(value, character) {
7062
7062
  const source = String(value);
7063
7063
  if (typeof character !== "string") {
@@ -7072,11 +7072,11 @@ function ccount(value, character) {
7072
7072
  return count;
7073
7073
  }
7074
7074
 
7075
- // node_modules/devlop/lib/default.js
7075
+ // ../../node_modules/devlop/lib/default.js
7076
7076
  function ok() {
7077
7077
  }
7078
7078
 
7079
- // node_modules/escape-string-regexp/index.js
7079
+ // ../../node_modules/escape-string-regexp/index.js
7080
7080
  function escapeStringRegexp(string3) {
7081
7081
  if (typeof string3 !== "string") {
7082
7082
  throw new TypeError("Expected a string");
@@ -7084,7 +7084,7 @@ function escapeStringRegexp(string3) {
7084
7084
  return string3.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
7085
7085
  }
7086
7086
 
7087
- // node_modules/unist-util-is/lib/index.js
7087
+ // ../../node_modules/unist-util-is/lib/index.js
7088
7088
  var convert = (
7089
7089
  // Note: overloads in JSDoc can’t yet use different `@template`s.
7090
7090
  /**
@@ -7183,26 +7183,60 @@ function looksLikeANode(value) {
7183
7183
  return value !== null && typeof value === "object" && "type" in value;
7184
7184
  }
7185
7185
 
7186
- // node_modules/unist-util-visit-parents/lib/color.node.js
7186
+ // ../../node_modules/unist-util-visit-parents/lib/color.node.js
7187
7187
  function color(d) {
7188
7188
  return "\x1B[33m" + d + "\x1B[39m";
7189
7189
  }
7190
7190
 
7191
- // node_modules/unist-util-visit-parents/lib/index.js
7191
+ // ../../node_modules/unist-util-visit-parents/lib/index.js
7192
7192
  var empty = [];
7193
7193
  var CONTINUE = true;
7194
7194
  var EXIT = false;
7195
7195
  var SKIP = "skip";
7196
- function visitParents(tree, test, visitor, reverse) {
7196
+ function visitParents(tree, testOrEnterOrVisitors, enterOrVisitorsOrReverse, reverse) {
7197
+ if (!tree || typeof tree !== "object") {
7198
+ throw new Error("Unexpected value `" + tree + "` for `tree`, expected node");
7199
+ }
7200
+ let preorder = true;
7197
7201
  let check;
7198
- if (typeof test === "function" && typeof visitor !== "function") {
7199
- reverse = visitor;
7200
- visitor = test;
7202
+ let visitors;
7203
+ let enter;
7204
+ let exit3;
7205
+ if (typeof enterOrVisitorsOrReverse === "function" || enterOrVisitorsOrReverse && typeof enterOrVisitorsOrReverse === "object") {
7206
+ check = /** @type {Test} */
7207
+ testOrEnterOrVisitors;
7208
+ visitors = enterOrVisitorsOrReverse;
7209
+ if (reverse) preorder = false;
7210
+ } else {
7211
+ visitors = /** @type {Visitors | Visitor} */
7212
+ testOrEnterOrVisitors;
7213
+ if (enterOrVisitorsOrReverse) preorder = false;
7214
+ }
7215
+ if (typeof visitors === "function") {
7216
+ enter = visitors;
7217
+ } else if (visitors && typeof visitors === "object") {
7218
+ if (visitors.enter === null || visitors.enter === void 0) {
7219
+ } else if (typeof visitors.enter === "function") {
7220
+ enter = visitors.enter;
7221
+ } else {
7222
+ throw new Error(
7223
+ "Unexpected value `" + visitors.enter + "` for `visitors.enter`, expected optional visitor"
7224
+ );
7225
+ }
7226
+ if (typeof visitors.exit === "function") {
7227
+ exit3 = visitors.exit;
7228
+ } else {
7229
+ throw new Error(
7230
+ "Unexpected value `" + visitors.exit + "` for `visitors.exit`, expected visitor (pass a visitor directly if you only want an enter visitor)"
7231
+ );
7232
+ }
7201
7233
  } else {
7202
- check = test;
7234
+ throw new Error(
7235
+ "Unexpected value `" + visitors + "` for `enter` or `visitors`, expected visitor or object with visitors"
7236
+ );
7203
7237
  }
7204
7238
  const is2 = convert(check);
7205
- const step = reverse ? -1 : 1;
7239
+ const step = preorder ? 1 : -1;
7206
7240
  factory(tree, void 0, [])();
7207
7241
  function factory(node2, index2, parents) {
7208
7242
  const value = (
@@ -7223,12 +7257,10 @@ function visitParents(tree, test, visitor, reverse) {
7223
7257
  }
7224
7258
  return visit2;
7225
7259
  function visit2() {
7260
+ const matches = !check || is2(node2, index2, parents[parents.length - 1] || void 0);
7226
7261
  let result = empty;
7227
- let subresult;
7228
- let offset;
7229
- let grandparents;
7230
- if (!test || is2(node2, index2, parents[parents.length - 1] || void 0)) {
7231
- result = toResult(visitor(node2, parents));
7262
+ if (enter && matches) {
7263
+ result = toResult(enter(node2, parents, index2));
7232
7264
  if (result[0] === EXIT) {
7233
7265
  return result;
7234
7266
  }
@@ -7239,11 +7271,11 @@ function visitParents(tree, test, visitor, reverse) {
7239
7271
  node2
7240
7272
  );
7241
7273
  if (nodeAsParent.children && result[0] !== SKIP) {
7242
- offset = (reverse ? nodeAsParent.children.length : -1) + step;
7243
- grandparents = parents.concat(nodeAsParent);
7274
+ let offset = (preorder ? -1 : nodeAsParent.children.length) + step;
7275
+ const grandparents = [...parents, nodeAsParent];
7244
7276
  while (offset > -1 && offset < nodeAsParent.children.length) {
7245
7277
  const child = nodeAsParent.children[offset];
7246
- subresult = factory(child, offset, grandparents)();
7278
+ const subresult = factory(child, offset, grandparents)();
7247
7279
  if (subresult[0] === EXIT) {
7248
7280
  return subresult;
7249
7281
  }
@@ -7251,6 +7283,17 @@ function visitParents(tree, test, visitor, reverse) {
7251
7283
  }
7252
7284
  }
7253
7285
  }
7286
+ if (exit3 && matches) {
7287
+ const exitResult = toResult(exit3(node2, parents, index2));
7288
+ if (exitResult[0] === SKIP) {
7289
+ throw new Error(
7290
+ "Unexpected value `" + exitResult[0] + "` from `exit`, expected `CONTINUE`, `EXIT`, index, or nothing"
7291
+ );
7292
+ }
7293
+ if (exitResult[0] === EXIT || typeof exitResult[1] === "number") {
7294
+ return exitResult;
7295
+ }
7296
+ }
7254
7297
  return result;
7255
7298
  }
7256
7299
  }
@@ -7265,41 +7308,26 @@ function toResult(value) {
7265
7308
  return value === null || value === void 0 ? empty : [value];
7266
7309
  }
7267
7310
 
7268
- // node_modules/mdast-util-find-and-replace/lib/index.js
7311
+ // ../../node_modules/mdast-util-find-and-replace/lib/index.js
7269
7312
  function findAndReplace(tree, list4, options) {
7270
7313
  const settings = options || {};
7271
7314
  const ignored = convert(settings.ignore || []);
7272
7315
  const pairs = toPairs(list4);
7273
7316
  let pairIndex = -1;
7274
7317
  while (++pairIndex < pairs.length) {
7275
- visitParents(tree, "text", visitor);
7318
+ visitParents(tree, visitor);
7276
7319
  }
7277
- function visitor(node2, parents) {
7278
- let index2 = -1;
7279
- let grandparent;
7280
- while (++index2 < parents.length) {
7281
- const parent = parents[index2];
7282
- const siblings = grandparent ? grandparent.children : void 0;
7283
- if (ignored(
7284
- parent,
7285
- siblings ? siblings.indexOf(parent) : void 0,
7286
- grandparent
7287
- )) {
7288
- return;
7289
- }
7290
- grandparent = parent;
7291
- }
7292
- if (grandparent) {
7293
- return handler(node2, parents);
7320
+ function visitor(node2, parents, index2) {
7321
+ if (node2.type === "text" && typeof index2 === "number") {
7322
+ return handler(node2, parents, index2);
7294
7323
  }
7324
+ if (ignored(node2, index2, parents[parents.length - 1])) return SKIP;
7295
7325
  }
7296
- function handler(node2, parents) {
7326
+ function handler(node2, parents, index2) {
7297
7327
  const parent = parents[parents.length - 1];
7298
7328
  const find = pairs[pairIndex][0];
7299
7329
  const replace2 = pairs[pairIndex][1];
7300
7330
  let start = 0;
7301
- const siblings = parent.children;
7302
- const index2 = siblings.indexOf(node2);
7303
7331
  let change = false;
7304
7332
  let nodes = [];
7305
7333
  find.lastIndex = 0;
@@ -7358,7 +7386,13 @@ function toPairs(tupleOrList) {
7358
7386
  throw new TypeError("Expected find and replace tuple or list of tuples");
7359
7387
  }
7360
7388
  const result = [];
7361
- const list4 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? tupleOrList : [tupleOrList];
7389
+ const list4 = !tupleOrList[0] || Array.isArray(tupleOrList[0]) ? (
7390
+ /** @type {FindAndReplaceList} */
7391
+ tupleOrList
7392
+ ) : [
7393
+ /** @type {FindAndReplaceTuple} */
7394
+ tupleOrList
7395
+ ];
7362
7396
  let index2 = -1;
7363
7397
  while (++index2 < list4.length) {
7364
7398
  const tuple = list4[index2];
@@ -7375,7 +7409,7 @@ function toFunction(replace2) {
7375
7409
  };
7376
7410
  }
7377
7411
 
7378
- // node_modules/mdast-util-gfm-autolink-literal/lib/index.js
7412
+ // ../../node_modules/mdast-util-gfm-autolink-literal/lib/index.js
7379
7413
  var inConstruct = "phrasing";
7380
7414
  var notInConstruct = ["autolink", "link", "image", "label"];
7381
7415
  function gfmAutolinkLiteralFromMarkdown() {
@@ -7525,7 +7559,7 @@ function previous2(match, email) {
7525
7559
  (!email || code3 !== 47);
7526
7560
  }
7527
7561
 
7528
- // node_modules/mdast-util-gfm-footnote/lib/index.js
7562
+ // ../../node_modules/mdast-util-gfm-footnote/lib/index.js
7529
7563
  footnoteReference.peek = footnoteReferencePeek;
7530
7564
  function enterFootnoteCallString() {
7531
7565
  this.buffer();
@@ -7638,7 +7672,7 @@ function mapAll(line, index2, blank) {
7638
7672
  return (blank ? "" : " ") + line;
7639
7673
  }
7640
7674
 
7641
- // node_modules/mdast-util-gfm-strikethrough/lib/index.js
7675
+ // ../../node_modules/mdast-util-gfm-strikethrough/lib/index.js
7642
7676
  var constructsWithoutStrikethrough = [
7643
7677
  "autolink",
7644
7678
  "destinationLiteral",
@@ -7695,7 +7729,7 @@ function peekDelete() {
7695
7729
  return "~";
7696
7730
  }
7697
7731
 
7698
- // node_modules/markdown-table/index.js
7732
+ // ../../node_modules/markdown-table/index.js
7699
7733
  function defaultStringLength(value) {
7700
7734
  return value.length;
7701
7735
  }
@@ -7777,9 +7811,10 @@ function markdownTable(table, options) {
7777
7811
  while (++rowIndex < cellMatrix.length) {
7778
7812
  const row2 = cellMatrix[rowIndex];
7779
7813
  const sizes2 = sizeMatrix[rowIndex];
7814
+ const cellsInRow = settings.fillRows === false ? Math.max(1, cellMatrix[rowIndex === 1 ? 0 : rowIndex].length) : mostCellsPerRow;
7780
7815
  columnIndex = -1;
7781
7816
  const line = [];
7782
- while (++columnIndex < mostCellsPerRow) {
7817
+ while (++columnIndex < cellsInRow) {
7783
7818
  const cell = row2[columnIndex] || "";
7784
7819
  let before = "";
7785
7820
  let after = "";
@@ -7789,11 +7824,12 @@ function markdownTable(table, options) {
7789
7824
  if (code3 === 114) {
7790
7825
  before = " ".repeat(size);
7791
7826
  } else if (code3 === 99) {
7827
+ const half = size / 2;
7792
7828
  if (size % 2) {
7793
- before = " ".repeat(size / 2 + 0.5);
7794
- after = " ".repeat(size / 2 - 0.5);
7829
+ before = " ".repeat(half + 0.5);
7830
+ after = " ".repeat(half - 0.5);
7795
7831
  } else {
7796
- before = " ".repeat(size / 2);
7832
+ before = " ".repeat(half);
7797
7833
  after = before;
7798
7834
  }
7799
7835
  } else {
@@ -7818,7 +7854,7 @@ function markdownTable(table, options) {
7818
7854
  if (settings.padding !== false) {
7819
7855
  line.push(" ");
7820
7856
  }
7821
- if (settings.delimiterEnd !== false || columnIndex !== mostCellsPerRow - 1) {
7857
+ if (settings.delimiterEnd !== false || columnIndex !== cellsInRow - 1) {
7822
7858
  line.push("|");
7823
7859
  }
7824
7860
  }
@@ -7836,7 +7872,7 @@ function toAlignment(value) {
7836
7872
  return code3 === 67 || code3 === 99 ? 99 : code3 === 76 || code3 === 108 ? 108 : code3 === 82 || code3 === 114 ? 114 : 0;
7837
7873
  }
7838
7874
 
7839
- // node_modules/zwitch/index.js
7875
+ // ../../node_modules/zwitch/index.js
7840
7876
  var own3 = {}.hasOwnProperty;
7841
7877
  function zwitch(key, options) {
7842
7878
  const settings = options || {};
@@ -7857,7 +7893,7 @@ function zwitch(key, options) {
7857
7893
  return one2;
7858
7894
  }
7859
7895
 
7860
- // node_modules/mdast-util-to-markdown/lib/configure.js
7896
+ // ../../node_modules/mdast-util-to-markdown/lib/configure.js
7861
7897
  var own4 = {}.hasOwnProperty;
7862
7898
  function configure2(base, extension2) {
7863
7899
  let index2 = -1;
@@ -7905,7 +7941,7 @@ function map(left, right) {
7905
7941
  }
7906
7942
  }
7907
7943
 
7908
- // node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
7944
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
7909
7945
  function blockquote(node2, _, state, info) {
7910
7946
  const exit3 = state.enter("blockquote");
7911
7947
  const tracker = state.createTracker(info);
@@ -7922,7 +7958,7 @@ function map2(line, _, blank) {
7922
7958
  return ">" + (blank ? "" : " ") + line;
7923
7959
  }
7924
7960
 
7925
- // node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js
7961
+ // ../../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js
7926
7962
  function patternInScope(stack, pattern) {
7927
7963
  return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);
7928
7964
  }
@@ -7942,7 +7978,7 @@ function listInScope(stack, list4, none) {
7942
7978
  return false;
7943
7979
  }
7944
7980
 
7945
- // node_modules/mdast-util-to-markdown/lib/handle/break.js
7981
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/break.js
7946
7982
  function hardBreak(_, _1, state, info) {
7947
7983
  let index2 = -1;
7948
7984
  while (++index2 < state.unsafe.length) {
@@ -7953,7 +7989,7 @@ function hardBreak(_, _1, state, info) {
7953
7989
  return "\\\n";
7954
7990
  }
7955
7991
 
7956
- // node_modules/longest-streak/index.js
7992
+ // ../../node_modules/longest-streak/index.js
7957
7993
  function longestStreak(value, substring) {
7958
7994
  const source = String(value);
7959
7995
  let index2 = source.indexOf(substring);
@@ -7977,7 +8013,7 @@ function longestStreak(value, substring) {
7977
8013
  return max;
7978
8014
  }
7979
8015
 
7980
- // node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js
8016
+ // ../../node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js
7981
8017
  function formatCodeAsIndented(node2, state) {
7982
8018
  return Boolean(
7983
8019
  state.options.fences === false && node2.value && // If there’s no info…
@@ -7987,7 +8023,7 @@ function formatCodeAsIndented(node2, state) {
7987
8023
  );
7988
8024
  }
7989
8025
 
7990
- // node_modules/mdast-util-to-markdown/lib/util/check-fence.js
8026
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-fence.js
7991
8027
  function checkFence(state) {
7992
8028
  const marker = state.options.fence || "`";
7993
8029
  if (marker !== "`" && marker !== "~") {
@@ -7998,7 +8034,7 @@ function checkFence(state) {
7998
8034
  return marker;
7999
8035
  }
8000
8036
 
8001
- // node_modules/mdast-util-to-markdown/lib/handle/code.js
8037
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/code.js
8002
8038
  function code(node2, _, state, info) {
8003
8039
  const marker = checkFence(state);
8004
8040
  const raw = node2.value || "";
@@ -8050,7 +8086,7 @@ function map3(line, _, blank) {
8050
8086
  return (blank ? "" : " ") + line;
8051
8087
  }
8052
8088
 
8053
- // node_modules/mdast-util-to-markdown/lib/util/check-quote.js
8089
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-quote.js
8054
8090
  function checkQuote(state) {
8055
8091
  const marker = state.options.quote || '"';
8056
8092
  if (marker !== '"' && marker !== "'") {
@@ -8061,7 +8097,7 @@ function checkQuote(state) {
8061
8097
  return marker;
8062
8098
  }
8063
8099
 
8064
- // node_modules/mdast-util-to-markdown/lib/handle/definition.js
8100
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/definition.js
8065
8101
  function definition2(node2, _, state, info) {
8066
8102
  const quote = checkQuote(state);
8067
8103
  const suffix = quote === '"' ? "Quote" : "Apostrophe";
@@ -8117,7 +8153,7 @@ function definition2(node2, _, state, info) {
8117
8153
  return value;
8118
8154
  }
8119
8155
 
8120
- // node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
8156
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
8121
8157
  function checkEmphasis(state) {
8122
8158
  const marker = state.options.emphasis || "*";
8123
8159
  if (marker !== "*" && marker !== "_") {
@@ -8128,12 +8164,12 @@ function checkEmphasis(state) {
8128
8164
  return marker;
8129
8165
  }
8130
8166
 
8131
- // node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
8167
+ // ../../node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
8132
8168
  function encodeCharacterReference(code3) {
8133
8169
  return "&#x" + code3.toString(16).toUpperCase() + ";";
8134
8170
  }
8135
8171
 
8136
- // node_modules/mdast-util-to-markdown/lib/util/encode-info.js
8172
+ // ../../node_modules/mdast-util-to-markdown/lib/util/encode-info.js
8137
8173
  function encodeInfo(outside, inside, marker) {
8138
8174
  const outsideKind = classifyCharacter(outside);
8139
8175
  const insideKind = classifyCharacter(inside);
@@ -8175,7 +8211,7 @@ function encodeInfo(outside, inside, marker) {
8175
8211
  );
8176
8212
  }
8177
8213
 
8178
- // node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
8214
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
8179
8215
  emphasis.peek = emphasisPeek;
8180
8216
  function emphasis(node2, _, state, info) {
8181
8217
  const marker = checkEmphasis(state);
@@ -8215,29 +8251,42 @@ function emphasisPeek(_, _1, state) {
8215
8251
  return state.options.emphasis || "*";
8216
8252
  }
8217
8253
 
8218
- // node_modules/unist-util-visit/lib/index.js
8219
- function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
8254
+ // ../../node_modules/unist-util-visit/lib/index.js
8255
+ function visit(tree, testOrEnterOrVisitors, enterOrVisitorsOrReverse, maybeReverse) {
8256
+ let check;
8257
+ let visitors;
8220
8258
  let reverse;
8221
- let test;
8222
- let visitor;
8223
- if (typeof testOrVisitor === "function" && typeof visitorOrReverse !== "function") {
8224
- test = void 0;
8225
- visitor = testOrVisitor;
8226
- reverse = visitorOrReverse;
8227
- } else {
8228
- test = testOrVisitor;
8229
- visitor = visitorOrReverse;
8259
+ if (typeof enterOrVisitorsOrReverse === "function" || enterOrVisitorsOrReverse && typeof enterOrVisitorsOrReverse === "object") {
8260
+ check = /** @type {Test} */
8261
+ testOrEnterOrVisitors;
8262
+ visitors = enterOrVisitorsOrReverse;
8230
8263
  reverse = maybeReverse;
8264
+ } else {
8265
+ visitors = /** @type {Visitor | Visitors} */
8266
+ testOrEnterOrVisitors;
8267
+ reverse = enterOrVisitorsOrReverse;
8231
8268
  }
8232
- visitParents(tree, test, overload, reverse);
8233
- function overload(node2, parents) {
8234
- const parent = parents[parents.length - 1];
8235
- const index2 = parent ? parent.children.indexOf(node2) : void 0;
8236
- return visitor(node2, index2, parent);
8269
+ if (typeof visitors === "function") {
8270
+ visitParents(tree, check, wrap(visitors), reverse);
8271
+ } else {
8272
+ visitParents(tree, check, wrapVisitors(visitors), reverse);
8273
+ }
8274
+ }
8275
+ function wrapVisitors(visitors) {
8276
+ if (!visitors || typeof visitors !== "object") return visitors;
8277
+ return {
8278
+ enter: typeof visitors.enter === "function" ? wrap(visitors.enter) : visitors.enter,
8279
+ exit: typeof visitors.exit === "function" ? wrap(visitors.exit) : visitors.exit
8280
+ };
8281
+ }
8282
+ function wrap(visitor) {
8283
+ return overload;
8284
+ function overload(node2, parents, index2) {
8285
+ return visitor(node2, index2, parents[parents.length - 1]);
8237
8286
  }
8238
8287
  }
8239
8288
 
8240
- // node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
8289
+ // ../../node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
8241
8290
  function formatHeadingAsSetext(node2, state) {
8242
8291
  let literalWithBreak = false;
8243
8292
  visit(node2, function(node3) {
@@ -8251,7 +8300,7 @@ function formatHeadingAsSetext(node2, state) {
8251
8300
  );
8252
8301
  }
8253
8302
 
8254
- // node_modules/mdast-util-to-markdown/lib/handle/heading.js
8303
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/heading.js
8255
8304
  function heading(node2, _, state, info) {
8256
8305
  const rank = Math.max(Math.min(6, node2.depth || 1), 1);
8257
8306
  const tracker = state.createTracker(info);
@@ -8293,7 +8342,7 @@ function heading(node2, _, state, info) {
8293
8342
  return value;
8294
8343
  }
8295
8344
 
8296
- // node_modules/mdast-util-to-markdown/lib/handle/html.js
8345
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/html.js
8297
8346
  html.peek = htmlPeek;
8298
8347
  function html(node2) {
8299
8348
  return node2.value || "";
@@ -8302,7 +8351,7 @@ function htmlPeek() {
8302
8351
  return "<";
8303
8352
  }
8304
8353
 
8305
- // node_modules/mdast-util-to-markdown/lib/handle/image.js
8354
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/image.js
8306
8355
  image.peek = imagePeek;
8307
8356
  function image(node2, _, state, info) {
8308
8357
  const quote = checkQuote(state);
@@ -8359,7 +8408,7 @@ function imagePeek() {
8359
8408
  return "!";
8360
8409
  }
8361
8410
 
8362
- // node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
8411
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
8363
8412
  imageReference.peek = imageReferencePeek;
8364
8413
  function imageReference(node2, _, state, info) {
8365
8414
  const type = node2.referenceType;
@@ -8398,7 +8447,7 @@ function imageReferencePeek() {
8398
8447
  return "!";
8399
8448
  }
8400
8449
 
8401
- // node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
8450
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
8402
8451
  inlineCode.peek = inlineCodePeek;
8403
8452
  function inlineCode(node2, _, state) {
8404
8453
  let value = node2.value || "";
@@ -8429,7 +8478,7 @@ function inlineCodePeek() {
8429
8478
  return "`";
8430
8479
  }
8431
8480
 
8432
- // node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
8481
+ // ../../node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
8433
8482
  function formatLinkAsAutolink(node2, state) {
8434
8483
  const raw = toString(node2);
8435
8484
  return Boolean(
@@ -8444,7 +8493,7 @@ function formatLinkAsAutolink(node2, state) {
8444
8493
  );
8445
8494
  }
8446
8495
 
8447
- // node_modules/mdast-util-to-markdown/lib/handle/link.js
8496
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/link.js
8448
8497
  link.peek = linkPeek;
8449
8498
  function link(node2, _, state, info) {
8450
8499
  const quote = checkQuote(state);
@@ -8524,7 +8573,7 @@ function linkPeek(node2, _, state) {
8524
8573
  return formatLinkAsAutolink(node2, state) ? "<" : "[";
8525
8574
  }
8526
8575
 
8527
- // node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
8576
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
8528
8577
  linkReference.peek = linkReferencePeek;
8529
8578
  function linkReference(node2, _, state, info) {
8530
8579
  const type = node2.referenceType;
@@ -8563,7 +8612,7 @@ function linkReferencePeek() {
8563
8612
  return "[";
8564
8613
  }
8565
8614
 
8566
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
8615
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
8567
8616
  function checkBullet(state) {
8568
8617
  const marker = state.options.bullet || "*";
8569
8618
  if (marker !== "*" && marker !== "+" && marker !== "-") {
@@ -8574,7 +8623,7 @@ function checkBullet(state) {
8574
8623
  return marker;
8575
8624
  }
8576
8625
 
8577
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
8626
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
8578
8627
  function checkBulletOther(state) {
8579
8628
  const bullet = checkBullet(state);
8580
8629
  const bulletOther = state.options.bulletOther;
@@ -8594,7 +8643,7 @@ function checkBulletOther(state) {
8594
8643
  return bulletOther;
8595
8644
  }
8596
8645
 
8597
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js
8646
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js
8598
8647
  function checkBulletOrdered(state) {
8599
8648
  const marker = state.options.bulletOrdered || ".";
8600
8649
  if (marker !== "." && marker !== ")") {
@@ -8605,7 +8654,7 @@ function checkBulletOrdered(state) {
8605
8654
  return marker;
8606
8655
  }
8607
8656
 
8608
- // node_modules/mdast-util-to-markdown/lib/util/check-rule.js
8657
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule.js
8609
8658
  function checkRule(state) {
8610
8659
  const marker = state.options.rule || "*";
8611
8660
  if (marker !== "*" && marker !== "-" && marker !== "_") {
@@ -8616,7 +8665,7 @@ function checkRule(state) {
8616
8665
  return marker;
8617
8666
  }
8618
8667
 
8619
- // node_modules/mdast-util-to-markdown/lib/handle/list.js
8668
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/list.js
8620
8669
  function list3(node2, parent, state, info) {
8621
8670
  const exit3 = state.enter("list");
8622
8671
  const bulletCurrent = state.bulletCurrent;
@@ -8656,7 +8705,7 @@ function list3(node2, parent, state, info) {
8656
8705
  return value;
8657
8706
  }
8658
8707
 
8659
- // node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js
8708
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js
8660
8709
  function checkListItemIndent(state) {
8661
8710
  const style = state.options.listItemIndent || "one";
8662
8711
  if (style !== "tab" && style !== "one" && style !== "mixed") {
@@ -8667,7 +8716,7 @@ function checkListItemIndent(state) {
8667
8716
  return style;
8668
8717
  }
8669
8718
 
8670
- // node_modules/mdast-util-to-markdown/lib/handle/list-item.js
8719
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js
8671
8720
  function listItem(node2, parent, state, info) {
8672
8721
  const listItemIndent = checkListItemIndent(state);
8673
8722
  let bullet = state.bulletCurrent || checkBullet(state);
@@ -8696,7 +8745,7 @@ function listItem(node2, parent, state, info) {
8696
8745
  }
8697
8746
  }
8698
8747
 
8699
- // node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
8748
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
8700
8749
  function paragraph(node2, _, state, info) {
8701
8750
  const exit3 = state.enter("paragraph");
8702
8751
  const subexit = state.enter("phrasing");
@@ -8706,7 +8755,7 @@ function paragraph(node2, _, state, info) {
8706
8755
  return value;
8707
8756
  }
8708
8757
 
8709
- // node_modules/mdast-util-phrasing/lib/index.js
8758
+ // ../../node_modules/mdast-util-phrasing/lib/index.js
8710
8759
  var phrasing = (
8711
8760
  /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */
8712
8761
  convert([
@@ -8734,7 +8783,7 @@ var phrasing = (
8734
8783
  ])
8735
8784
  );
8736
8785
 
8737
- // node_modules/mdast-util-to-markdown/lib/handle/root.js
8786
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/root.js
8738
8787
  function root(node2, _, state, info) {
8739
8788
  const hasPhrasing = node2.children.some(function(d) {
8740
8789
  return phrasing(d);
@@ -8743,7 +8792,7 @@ function root(node2, _, state, info) {
8743
8792
  return container.call(state, node2, info);
8744
8793
  }
8745
8794
 
8746
- // node_modules/mdast-util-to-markdown/lib/util/check-strong.js
8795
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-strong.js
8747
8796
  function checkStrong(state) {
8748
8797
  const marker = state.options.strong || "*";
8749
8798
  if (marker !== "*" && marker !== "_") {
@@ -8754,7 +8803,7 @@ function checkStrong(state) {
8754
8803
  return marker;
8755
8804
  }
8756
8805
 
8757
- // node_modules/mdast-util-to-markdown/lib/handle/strong.js
8806
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/strong.js
8758
8807
  strong.peek = strongPeek;
8759
8808
  function strong(node2, _, state, info) {
8760
8809
  const marker = checkStrong(state);
@@ -8794,12 +8843,12 @@ function strongPeek(_, _1, state) {
8794
8843
  return state.options.strong || "*";
8795
8844
  }
8796
8845
 
8797
- // node_modules/mdast-util-to-markdown/lib/handle/text.js
8846
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/text.js
8798
8847
  function text3(node2, _, state, info) {
8799
8848
  return state.safe(node2.value, info);
8800
8849
  }
8801
8850
 
8802
- // node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js
8851
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js
8803
8852
  function checkRuleRepetition(state) {
8804
8853
  const repetition = state.options.ruleRepetition || 3;
8805
8854
  if (repetition < 3) {
@@ -8810,13 +8859,13 @@ function checkRuleRepetition(state) {
8810
8859
  return repetition;
8811
8860
  }
8812
8861
 
8813
- // node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
8862
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
8814
8863
  function thematicBreak2(_, _1, state) {
8815
8864
  const value = (checkRule(state) + (state.options.ruleSpaces ? " " : "")).repeat(checkRuleRepetition(state));
8816
8865
  return state.options.ruleSpaces ? value.slice(0, -1) : value;
8817
8866
  }
8818
8867
 
8819
- // node_modules/mdast-util-to-markdown/lib/handle/index.js
8868
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/index.js
8820
8869
  var handle = {
8821
8870
  blockquote,
8822
8871
  break: hardBreak,
@@ -8840,7 +8889,7 @@ var handle = {
8840
8889
  thematicBreak: thematicBreak2
8841
8890
  };
8842
8891
 
8843
- // node_modules/mdast-util-to-markdown/lib/join.js
8892
+ // ../../node_modules/mdast-util-to-markdown/lib/join.js
8844
8893
  var join = [joinDefaults];
8845
8894
  function joinDefaults(left, right, parent, state) {
8846
8895
  if (right.type === "code" && formatCodeAsIndented(right, state) && (left.type === "list" || left.type === right.type && formatCodeAsIndented(left, state))) {
@@ -8856,7 +8905,7 @@ function joinDefaults(left, right, parent, state) {
8856
8905
  }
8857
8906
  }
8858
8907
 
8859
- // node_modules/mdast-util-to-markdown/lib/unsafe.js
8908
+ // ../../node_modules/mdast-util-to-markdown/lib/unsafe.js
8860
8909
  var fullPhrasingSpans = [
8861
8910
  "autolink",
8862
8911
  "destinationLiteral",
@@ -8990,7 +9039,7 @@ var unsafe = [
8990
9039
  { atBreak: true, character: "~" }
8991
9040
  ];
8992
9041
 
8993
- // node_modules/mdast-util-to-markdown/lib/util/association.js
9042
+ // ../../node_modules/mdast-util-to-markdown/lib/util/association.js
8994
9043
  function association(node2) {
8995
9044
  if (node2.label || !node2.identifier) {
8996
9045
  return node2.label || "";
@@ -8998,7 +9047,7 @@ function association(node2) {
8998
9047
  return decodeString(node2.identifier);
8999
9048
  }
9000
9049
 
9001
- // node_modules/mdast-util-to-markdown/lib/util/compile-pattern.js
9050
+ // ../../node_modules/mdast-util-to-markdown/lib/util/compile-pattern.js
9002
9051
  function compilePattern(pattern) {
9003
9052
  if (!pattern._compiled) {
9004
9053
  const before = (pattern.atBreak ? "[\\r\\n][\\t ]*" : "") + (pattern.before ? "(?:" + pattern.before + ")" : "");
@@ -9010,7 +9059,7 @@ function compilePattern(pattern) {
9010
9059
  return pattern._compiled;
9011
9060
  }
9012
9061
 
9013
- // node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js
9062
+ // ../../node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js
9014
9063
  function containerPhrasing(parent, state, info) {
9015
9064
  const indexStack = state.indexStack;
9016
9065
  const children = parent.children || [];
@@ -9069,7 +9118,7 @@ function containerPhrasing(parent, state, info) {
9069
9118
  return results.join("");
9070
9119
  }
9071
9120
 
9072
- // node_modules/mdast-util-to-markdown/lib/util/container-flow.js
9121
+ // ../../node_modules/mdast-util-to-markdown/lib/util/container-flow.js
9073
9122
  function containerFlow(parent, state, info) {
9074
9123
  const indexStack = state.indexStack;
9075
9124
  const children = parent.children || [];
@@ -9118,7 +9167,7 @@ function between(left, right, parent, state) {
9118
9167
  return "\n\n";
9119
9168
  }
9120
9169
 
9121
- // node_modules/mdast-util-to-markdown/lib/util/indent-lines.js
9170
+ // ../../node_modules/mdast-util-to-markdown/lib/util/indent-lines.js
9122
9171
  var eol = /\r?\n|\r/g;
9123
9172
  function indentLines(value, map4) {
9124
9173
  const result = [];
@@ -9138,7 +9187,7 @@ function indentLines(value, map4) {
9138
9187
  }
9139
9188
  }
9140
9189
 
9141
- // node_modules/mdast-util-to-markdown/lib/util/safe.js
9190
+ // ../../node_modules/mdast-util-to-markdown/lib/util/safe.js
9142
9191
  function safe(state, input, config) {
9143
9192
  const value = (config.before || "") + (input || "") + (config.after || "");
9144
9193
  const positions = [];
@@ -9220,7 +9269,7 @@ function escapeBackslashes(value, after) {
9220
9269
  return results.join("");
9221
9270
  }
9222
9271
 
9223
- // node_modules/mdast-util-to-markdown/lib/util/track.js
9272
+ // ../../node_modules/mdast-util-to-markdown/lib/util/track.js
9224
9273
  function track(config) {
9225
9274
  const options = config || {};
9226
9275
  const now = options.now || {};
@@ -9244,7 +9293,7 @@ function track(config) {
9244
9293
  }
9245
9294
  }
9246
9295
 
9247
- // node_modules/mdast-util-to-markdown/lib/index.js
9296
+ // ../../node_modules/mdast-util-to-markdown/lib/index.js
9248
9297
  function toMarkdown(tree, options) {
9249
9298
  const settings = options || {};
9250
9299
  const state = {
@@ -9319,7 +9368,7 @@ function safeBound(value, config) {
9319
9368
  return safe(this, value, config);
9320
9369
  }
9321
9370
 
9322
- // node_modules/mdast-util-gfm-table/lib/index.js
9371
+ // ../../node_modules/mdast-util-gfm-table/lib/index.js
9323
9372
  function gfmTableFromMarkdown() {
9324
9373
  return {
9325
9374
  enter: {
@@ -9346,7 +9395,8 @@ function enterTable(token) {
9346
9395
  align: align.map(function(d) {
9347
9396
  return d === "none" ? null : d;
9348
9397
  }),
9349
- children: []
9398
+ children: [],
9399
+ position: void 0
9350
9400
  },
9351
9401
  token
9352
9402
  );
@@ -9357,13 +9407,13 @@ function exitTable(token) {
9357
9407
  this.data.inTable = void 0;
9358
9408
  }
9359
9409
  function enterRow(token) {
9360
- this.enter({ type: "tableRow", children: [] }, token);
9410
+ this.enter({ type: "tableRow", children: [], position: void 0 }, token);
9361
9411
  }
9362
9412
  function exit2(token) {
9363
9413
  this.exit(token);
9364
9414
  }
9365
9415
  function enterCell(token) {
9366
- this.enter({ type: "tableCell", children: [] }, token);
9416
+ this.enter({ type: "tableCell", children: [], position: void 0 }, token);
9367
9417
  }
9368
9418
  function exitCodeText(token) {
9369
9419
  let value = this.resume();
@@ -9380,11 +9430,20 @@ function replace($0, $1) {
9380
9430
  }
9381
9431
  function gfmTableToMarkdown(options) {
9382
9432
  const settings = options || {};
9383
- const padding = settings.tableCellPadding;
9384
- const alignDelimiters = settings.tablePipeAlign;
9385
- const stringLength = settings.stringLength;
9433
+ const {
9434
+ tableCellPadding: padding,
9435
+ tablePipeAlign: alignDelimiters,
9436
+ stringLength
9437
+ } = settings;
9386
9438
  const around = padding ? " " : "|";
9387
9439
  return {
9440
+ handlers: {
9441
+ inlineCode: inlineCodeWithTable,
9442
+ table: handleTable,
9443
+ tableCell: handleTableCell,
9444
+ tableRow: handleTableRow
9445
+ },
9446
+ join: [joinTable],
9388
9447
  unsafe: [
9389
9448
  { character: "\r", inConstruct: "tableCell" },
9390
9449
  { character: "\n", inConstruct: "tableCell" },
@@ -9402,16 +9461,22 @@ function gfmTableToMarkdown(options) {
9402
9461
  // breaks, and setex heading underlines though:
9403
9462
  // <https://github.com/syntax-tree/mdast-util-to-markdown/blob/51a2038/lib/unsafe.js#L57>
9404
9463
  { atBreak: true, character: "-", after: "[:|-]" }
9405
- ],
9406
- handlers: {
9407
- inlineCode: inlineCodeWithTable,
9408
- table: handleTable,
9409
- tableCell: handleTableCell,
9410
- tableRow: handleTableRow
9411
- }
9464
+ ]
9412
9465
  };
9413
9466
  function handleTable(node2, _, state, info) {
9414
- return serializeData(handleTableAsData(node2, state, info), node2.align);
9467
+ const matrix = handleTableAsData(node2, state, info);
9468
+ const head = matrix[0];
9469
+ if (head) {
9470
+ let columns = node2.align ? node2.align.length : 0;
9471
+ let index2 = -1;
9472
+ if (!columns) {
9473
+ while (++index2 < matrix.length) {
9474
+ if (matrix[index2].length > columns) columns = matrix[index2].length;
9475
+ }
9476
+ }
9477
+ while (head.length < columns) head.push("");
9478
+ }
9479
+ return serializeData(matrix, node2.align);
9415
9480
  }
9416
9481
  function handleTableRow(node2, _, state, info) {
9417
9482
  const row = handleTableRowAsData(node2, state, info);
@@ -9433,16 +9498,14 @@ function gfmTableToMarkdown(options) {
9433
9498
  function serializeData(matrix, align) {
9434
9499
  return markdownTable(matrix, {
9435
9500
  align,
9436
- // @ts-expect-error: `markdown-table` types should support `null`.
9437
9501
  alignDelimiters,
9438
- // @ts-expect-error: `markdown-table` types should support `null`.
9502
+ fillRows: false,
9439
9503
  padding,
9440
- // @ts-expect-error: `markdown-table` types should support `null`.
9441
9504
  stringLength
9442
9505
  });
9443
9506
  }
9444
9507
  function handleTableAsData(node2, state, info) {
9445
- const children = node2.children;
9508
+ const { children } = node2;
9446
9509
  let index2 = -1;
9447
9510
  const result = [];
9448
9511
  const subexit = state.enter("table");
@@ -9453,7 +9516,7 @@ function gfmTableToMarkdown(options) {
9453
9516
  return result;
9454
9517
  }
9455
9518
  function handleTableRowAsData(node2, state, info) {
9456
- const children = node2.children;
9519
+ const { children } = node2;
9457
9520
  let index2 = -1;
9458
9521
  const result = [];
9459
9522
  const subexit = state.enter("tableRow");
@@ -9464,15 +9527,44 @@ function gfmTableToMarkdown(options) {
9464
9527
  return result;
9465
9528
  }
9466
9529
  function inlineCodeWithTable(node2, parent, state) {
9467
- let value = handle.inlineCode(node2, parent, state);
9468
- if (state.stack.includes("tableCell")) {
9469
- value = value.replace(/\|/g, "\\$&");
9530
+ const value = handle.inlineCode(node2, parent, state);
9531
+ if (!state.stack.includes("tableCell")) return value;
9532
+ const result = [];
9533
+ let start = 0;
9534
+ let index2 = value.indexOf("|");
9535
+ while (index2 !== -1) {
9536
+ let before = index2;
9537
+ while (before > start && value.charCodeAt(before - 1) === 92) {
9538
+ before--;
9539
+ }
9540
+ result.push(value.slice(start, index2));
9541
+ if ((index2 - before) % 2 === 0) result.push("\\");
9542
+ start = index2;
9543
+ index2 = value.indexOf("|", index2 + 1);
9470
9544
  }
9471
- return value;
9545
+ result.push(value.slice(start));
9546
+ return result.join("");
9472
9547
  }
9473
9548
  }
9549
+ function joinTable(left, right, parent, state) {
9550
+ if (left.type === "table" && parent.type === "listItem" && parent.spread === false && (right.type === "definition" || right.type === "heading" && formatHeadingAsSetext2(right, state) || right.type === "paragraph" || right.type === "table")) {
9551
+ return 1;
9552
+ }
9553
+ }
9554
+ function formatHeadingAsSetext2(node2, state) {
9555
+ let literalWithBreak = false;
9556
+ visit(node2, function(node3) {
9557
+ if (node3.type === "break" || "value" in node3 && /\r?\n|\r/.test(node3.value)) {
9558
+ literalWithBreak = true;
9559
+ return EXIT;
9560
+ }
9561
+ });
9562
+ return Boolean(
9563
+ (!node2.depth || node2.depth < 3) && toString(node2) && (state.options.setext || literalWithBreak)
9564
+ );
9565
+ }
9474
9566
 
9475
- // node_modules/mdast-util-gfm-task-list-item/lib/index.js
9567
+ // ../../node_modules/mdast-util-gfm-task-list-item/lib/index.js
9476
9568
  function gfmTaskListItemFromMarkdown() {
9477
9569
  return {
9478
9570
  exit: {
@@ -9545,7 +9637,7 @@ function listItemWithTaskListItem(node2, parent, state, info) {
9545
9637
  }
9546
9638
  }
9547
9639
 
9548
- // node_modules/mdast-util-gfm/lib/index.js
9640
+ // ../../node_modules/mdast-util-gfm/lib/index.js
9549
9641
  function gfmFromMarkdown() {
9550
9642
  return [
9551
9643
  gfmAutolinkLiteralFromMarkdown(),
@@ -9567,7 +9659,7 @@ function gfmToMarkdown(options) {
9567
9659
  };
9568
9660
  }
9569
9661
 
9570
- // node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
9662
+ // ../../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
9571
9663
  var wwwPrefix = {
9572
9664
  tokenize: tokenizeWwwPrefix,
9573
9665
  partial: true
@@ -9909,7 +10001,7 @@ function previousUnbalanced(events) {
9909
10001
  return result;
9910
10002
  }
9911
10003
 
9912
- // node_modules/micromark-extension-gfm-footnote/lib/syntax.js
10004
+ // ../../node_modules/micromark-extension-gfm-footnote/lib/syntax.js
9913
10005
  var indent = {
9914
10006
  tokenize: tokenizeIndent2,
9915
10007
  partial: true
@@ -10184,7 +10276,7 @@ function tokenizeIndent2(effects, ok3, nok) {
10184
10276
  }
10185
10277
  }
10186
10278
 
10187
- // node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
10279
+ // ../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
10188
10280
  function gfmStrikethrough(options) {
10189
10281
  const options_ = options || {};
10190
10282
  let single = options_.singleTilde;
@@ -10278,7 +10370,7 @@ function gfmStrikethrough(options) {
10278
10370
  }
10279
10371
  }
10280
10372
 
10281
- // node_modules/micromark-extension-gfm-table/lib/edit-map.js
10373
+ // ../../node_modules/micromark-extension-gfm-table/lib/edit-map.js
10282
10374
  var EditMap2 = class {
10283
10375
  /**
10284
10376
  * Create a new edit map.
@@ -10364,7 +10456,7 @@ function addImplementation2(editMap, at, remove, add) {
10364
10456
  editMap.index.set(at, change);
10365
10457
  }
10366
10458
 
10367
- // node_modules/micromark-extension-gfm-table/lib/infer.js
10459
+ // ../../node_modules/micromark-extension-gfm-table/lib/infer.js
10368
10460
  function gfmTableAlign(events, index2) {
10369
10461
  let inDelimiterRow = false;
10370
10462
  const align = [];
@@ -10391,7 +10483,7 @@ function gfmTableAlign(events, index2) {
10391
10483
  return align;
10392
10484
  }
10393
10485
 
10394
- // node_modules/micromark-extension-gfm-table/lib/syntax.js
10486
+ // ../../node_modules/micromark-extension-gfm-table/lib/syntax.js
10395
10487
  function gfmTable() {
10396
10488
  return {
10397
10489
  flow: {
@@ -10782,7 +10874,7 @@ function getPoint(events, index2) {
10782
10874
  return event[1][side];
10783
10875
  }
10784
10876
 
10785
- // node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
10877
+ // ../../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
10786
10878
  var tasklistCheck = {
10787
10879
  name: "tasklistCheck",
10788
10880
  tokenize: tokenizeTasklistCheck
@@ -10856,7 +10948,7 @@ function spaceThenNonSpace(effects, ok3, nok) {
10856
10948
  }
10857
10949
  }
10858
10950
 
10859
- // node_modules/micromark-extension-gfm/index.js
10951
+ // ../../node_modules/micromark-extension-gfm/index.js
10860
10952
  function gfm(options) {
10861
10953
  return combineExtensions([
10862
10954
  gfmAutolinkLiteral(),