@code-yeongyu/senpi 2026.5.20-4 → 2026.5.21

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 (794) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +4 -10
  4. package/dist/cli.js.map +1 -1
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +10 -4
  7. package/dist/config.js.map +1 -1
  8. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  9. package/dist/core/agent-session-runtime.js +2 -3
  10. package/dist/core/agent-session-runtime.js.map +1 -1
  11. package/dist/core/http-dispatcher.d.ts +21 -0
  12. package/dist/core/http-dispatcher.d.ts.map +1 -0
  13. package/dist/core/http-dispatcher.js +48 -0
  14. package/dist/core/http-dispatcher.js.map +1 -0
  15. package/dist/core/package-manager.d.ts.map +1 -1
  16. package/dist/core/package-manager.js +2 -1
  17. package/dist/core/package-manager.js.map +1 -1
  18. package/dist/core/settings-manager.d.ts +3 -0
  19. package/dist/core/settings-manager.d.ts.map +1 -1
  20. package/dist/core/settings-manager.js +20 -0
  21. package/dist/core/settings-manager.js.map +1 -1
  22. package/dist/main.d.ts.map +1 -1
  23. package/dist/main.js +2 -0
  24. package/dist/main.js.map +1 -1
  25. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  26. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  27. package/dist/modes/interactive/components/settings-selector.js +15 -0
  28. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  29. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  30. package/dist/modes/interactive/interactive-mode.js +10 -1
  31. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  32. package/dist/senpi +4 -10
  33. package/dist/utils/paths.d.ts +1 -0
  34. package/dist/utils/paths.d.ts.map +1 -1
  35. package/dist/utils/paths.js +16 -0
  36. package/dist/utils/paths.js.map +1 -1
  37. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  38. package/examples/extensions/custom-provider-anthropic/package.json +2 -2
  39. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  40. package/examples/extensions/sandbox/package-lock.json +2 -2
  41. package/examples/extensions/sandbox/package.json +2 -2
  42. package/examples/extensions/with-deps/package-lock.json +2 -2
  43. package/examples/extensions/with-deps/package.json +3 -3
  44. package/node_modules/@earendil-works/pi-agent-core/README.md +488 -0
  45. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +24 -0
  46. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -0
  47. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +610 -0
  48. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -0
  49. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +120 -0
  50. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -0
  51. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +405 -0
  52. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -0
  53. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +92 -0
  54. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -0
  55. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +904 -0
  56. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -0
  57. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +53 -0
  58. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -0
  59. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +174 -0
  60. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -0
  61. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +95 -0
  62. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -0
  63. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +533 -0
  64. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -0
  65. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +25 -0
  66. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -0
  67. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js +131 -0
  68. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -0
  69. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +51 -0
  70. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -0
  71. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +486 -0
  72. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -0
  73. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +52 -0
  74. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -0
  75. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js +102 -0
  76. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -0
  77. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts +48 -0
  78. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts.map +1 -0
  79. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js +230 -0
  80. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -0
  81. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts +26 -0
  82. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +1 -0
  83. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js +101 -0
  84. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +1 -0
  85. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +33 -0
  86. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -0
  87. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +231 -0
  88. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -0
  89. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts +18 -0
  90. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts.map +1 -0
  91. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js +42 -0
  92. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js.map +1 -0
  93. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts +25 -0
  94. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +1 -0
  95. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js +114 -0
  96. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +1 -0
  97. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts +11 -0
  98. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +1 -0
  99. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js +39 -0
  100. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +1 -0
  101. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +32 -0
  102. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -0
  103. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +197 -0
  104. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -0
  105. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts +2 -0
  106. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts.map +1 -0
  107. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.js +50 -0
  108. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.js.map +1 -0
  109. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts +44 -0
  110. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -0
  111. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js +311 -0
  112. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -0
  113. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts +3 -0
  114. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts.map +1 -0
  115. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.js +30 -0
  116. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.js.map +1 -0
  117. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +604 -0
  118. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -0
  119. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js +103 -0
  120. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -0
  121. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +14 -0
  122. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -0
  123. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +126 -0
  124. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -0
  125. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts +70 -0
  126. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts.map +1 -0
  127. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js +290 -0
  128. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js.map +1 -0
  129. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +20 -0
  130. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -0
  131. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +25 -0
  132. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -0
  133. package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts +3 -0
  134. package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts.map +1 -0
  135. package/node_modules/@earendil-works/pi-agent-core/dist/node.js +3 -0
  136. package/node_modules/@earendil-works/pi-agent-core/dist/node.js.map +1 -0
  137. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts +69 -0
  138. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.d.ts.map +1 -0
  139. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js +278 -0
  140. package/node_modules/@earendil-works/pi-agent-core/dist/proxy.js.map +1 -0
  141. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +394 -0
  142. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -0
  143. package/node_modules/@earendil-works/pi-agent-core/dist/types.js +2 -0
  144. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -0
  145. package/node_modules/@earendil-works/pi-agent-core/package.json +61 -0
  146. package/node_modules/@earendil-works/pi-ai/README.md +1386 -0
  147. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +20 -0
  148. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -0
  149. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js +44 -0
  150. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -0
  151. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts +5 -0
  152. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts.map +1 -0
  153. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js +6 -0
  154. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js.map +1 -0
  155. package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts +3 -0
  156. package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts.map +1 -0
  157. package/node_modules/@earendil-works/pi-ai/dist/cli.js +116 -0
  158. package/node_modules/@earendil-works/pi-ai/dist/cli.js.map +1 -0
  159. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts +18 -0
  160. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -0
  161. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +178 -0
  162. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -0
  163. package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts +10 -0
  164. package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts.map +1 -0
  165. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +440 -0
  166. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -0
  167. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +442 -0
  168. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -0
  169. package/node_modules/@earendil-works/pi-ai/dist/image-models.js +23 -0
  170. package/node_modules/@earendil-works/pi-ai/dist/image-models.js.map +1 -0
  171. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +14 -0
  172. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -0
  173. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js +22 -0
  174. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -0
  175. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts +4 -0
  176. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -0
  177. package/node_modules/@earendil-works/pi-ai/dist/images.js +14 -0
  178. package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -0
  179. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +33 -0
  180. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -0
  181. package/node_modules/@earendil-works/pi-ai/dist/index.js +21 -0
  182. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -0
  183. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +37 -0
  184. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -0
  185. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +17658 -0
  186. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -0
  187. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +16510 -0
  188. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -0
  189. package/node_modules/@earendil-works/pi-ai/dist/models.js +114 -0
  190. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -0
  191. package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts +2 -0
  192. package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts.map +1 -0
  193. package/node_modules/@earendil-works/pi-ai/dist/oauth.js +2 -0
  194. package/node_modules/@earendil-works/pi-ai/dist/oauth.js.map +1 -0
  195. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +38 -0
  196. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -0
  197. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +787 -0
  198. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -0
  199. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +52 -0
  200. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -0
  201. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +1127 -0
  202. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -0
  203. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts +15 -0
  204. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -0
  205. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +229 -0
  206. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -0
  207. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts +13 -0
  208. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts.map +1 -0
  209. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.js +26 -0
  210. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.js.map +1 -0
  211. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts +66 -0
  212. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -0
  213. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +401 -0
  214. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -0
  215. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts +8 -0
  216. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts.map +1 -0
  217. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.js +29 -0
  218. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.js.map +1 -0
  219. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts +73 -0
  220. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts.map +1 -0
  221. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js +359 -0
  222. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js.map +1 -0
  223. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts +15 -0
  224. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -0
  225. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +465 -0
  226. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -0
  227. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts +13 -0
  228. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -0
  229. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +431 -0
  230. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -0
  231. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts +3 -0
  232. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -0
  233. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +129 -0
  234. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -0
  235. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts +4 -0
  236. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts.map +1 -0
  237. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js +34 -0
  238. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -0
  239. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts +25 -0
  240. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -0
  241. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +542 -0
  242. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -0
  243. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts +30 -0
  244. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -0
  245. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +1112 -0
  246. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -0
  247. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts +22 -0
  248. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -0
  249. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +977 -0
  250. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -0
  251. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts +3 -0
  252. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts.map +1 -0
  253. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js +10 -0
  254. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js.map +1 -0
  255. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts +19 -0
  256. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -0
  257. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +579 -0
  258. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -0
  259. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts +13 -0
  260. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -0
  261. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +651 -0
  262. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -0
  263. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts +35 -0
  264. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts.map +1 -0
  265. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js +254 -0
  266. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js.map +1 -0
  267. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts +38 -0
  268. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -0
  269. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +174 -0
  270. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -0
  271. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts +16 -0
  272. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts.map +1 -0
  273. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js +186 -0
  274. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js.map +1 -0
  275. package/node_modules/@earendil-works/pi-ai/dist/session-resources.d.ts +4 -0
  276. package/node_modules/@earendil-works/pi-ai/dist/session-resources.d.ts.map +1 -0
  277. package/node_modules/@earendil-works/pi-ai/dist/session-resources.js +22 -0
  278. package/node_modules/@earendil-works/pi-ai/dist/session-resources.js.map +1 -0
  279. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts +8 -0
  280. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -0
  281. package/node_modules/@earendil-works/pi-ai/dist/stream.js +42 -0
  282. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -0
  283. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.d.ts +22 -0
  284. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.d.ts.map +1 -0
  285. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.js +161 -0
  286. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/context-transformer.js.map +1 -0
  287. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts +13 -0
  288. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.d.ts.map +1 -0
  289. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js +23 -0
  290. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/index.js.map +1 -0
  291. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.d.ts +21 -0
  292. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.d.ts.map +1 -0
  293. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.js +559 -0
  294. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/gemma4.js.map +1 -0
  295. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/hermes.d.ts +21 -0
  296. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/hermes.d.ts.map +1 -0
  297. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/hermes.js +69 -0
  298. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/hermes.js.map +1 -0
  299. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/json-mix.d.ts +12 -0
  300. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/json-mix.d.ts.map +1 -0
  301. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/json-mix.js +570 -0
  302. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/json-mix.js.map +1 -0
  303. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/morph-xml.d.ts +15 -0
  304. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/morph-xml.d.ts.map +1 -0
  305. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/morph-xml.js +935 -0
  306. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/morph-xml.js.map +1 -0
  307. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.d.ts +14 -0
  308. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.d.ts.map +1 -0
  309. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.js +54 -0
  310. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.js.map +1 -0
  311. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/yaml-xml.d.ts +8 -0
  312. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/yaml-xml.d.ts.map +1 -0
  313. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/yaml-xml.js +295 -0
  314. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/protocols/yaml-xml.js.map +1 -0
  315. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.d.ts +4 -0
  316. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.d.ts.map +1 -0
  317. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.js +336 -0
  318. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/stream-wrapper.js.map +1 -0
  319. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/types.d.ts +103 -0
  320. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/types.d.ts.map +1 -0
  321. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/types.js +2 -0
  322. package/node_modules/@earendil-works/pi-ai/dist/tool-call-middleware/types.js.map +1 -0
  323. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +543 -0
  324. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -0
  325. package/node_modules/@earendil-works/pi-ai/dist/types.js +2 -0
  326. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -0
  327. package/node_modules/@earendil-works/pi-ai/dist/utils/diagnostics.d.ts +19 -0
  328. package/node_modules/@earendil-works/pi-ai/dist/utils/diagnostics.d.ts.map +1 -0
  329. package/node_modules/@earendil-works/pi-ai/dist/utils/diagnostics.js +25 -0
  330. package/node_modules/@earendil-works/pi-ai/dist/utils/diagnostics.js.map +1 -0
  331. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts +21 -0
  332. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -0
  333. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +81 -0
  334. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -0
  335. package/node_modules/@earendil-works/pi-ai/dist/utils/hash.d.ts +3 -0
  336. package/node_modules/@earendil-works/pi-ai/dist/utils/hash.d.ts.map +1 -0
  337. package/node_modules/@earendil-works/pi-ai/dist/utils/hash.js +14 -0
  338. package/node_modules/@earendil-works/pi-ai/dist/utils/hash.js.map +1 -0
  339. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.d.ts +2 -0
  340. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.d.ts.map +1 -0
  341. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.js +8 -0
  342. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.js.map +1 -0
  343. package/node_modules/@earendil-works/pi-ai/dist/utils/json-parse.d.ts +16 -0
  344. package/node_modules/@earendil-works/pi-ai/dist/utils/json-parse.d.ts.map +1 -0
  345. package/node_modules/@earendil-works/pi-ai/dist/utils/json-parse.js +113 -0
  346. package/node_modules/@earendil-works/pi-ai/dist/utils/json-parse.js.map +1 -0
  347. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.d.ts +10 -0
  348. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.d.ts.map +1 -0
  349. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js +97 -0
  350. package/node_modules/@earendil-works/pi-ai/dist/utils/node-http-proxy.js.map +1 -0
  351. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts +25 -0
  352. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts.map +1 -0
  353. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js +335 -0
  354. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js.map +1 -0
  355. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts +30 -0
  356. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -0
  357. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +292 -0
  358. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -0
  359. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +57 -0
  360. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -0
  361. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +121 -0
  362. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -0
  363. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/oauth-page.d.ts +3 -0
  364. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/oauth-page.d.ts.map +1 -0
  365. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/oauth-page.js +105 -0
  366. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/oauth-page.js.map +1 -0
  367. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +34 -0
  368. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -0
  369. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +385 -0
  370. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -0
  371. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/pkce.d.ts +13 -0
  372. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/pkce.d.ts.map +1 -0
  373. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/pkce.js +31 -0
  374. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/pkce.js.map +1 -0
  375. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts +57 -0
  376. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts.map +1 -0
  377. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.js +2 -0
  378. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.js.map +1 -0
  379. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +56 -0
  380. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -0
  381. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +151 -0
  382. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -0
  383. package/node_modules/@earendil-works/pi-ai/dist/utils/sanitize-unicode.d.ts +22 -0
  384. package/node_modules/@earendil-works/pi-ai/dist/utils/sanitize-unicode.d.ts.map +1 -0
  385. package/node_modules/@earendil-works/pi-ai/dist/utils/sanitize-unicode.js +26 -0
  386. package/node_modules/@earendil-works/pi-ai/dist/utils/sanitize-unicode.js.map +1 -0
  387. package/node_modules/@earendil-works/pi-ai/dist/utils/tool-pair-repair.d.ts +5 -0
  388. package/node_modules/@earendil-works/pi-ai/dist/utils/tool-pair-repair.d.ts.map +1 -0
  389. package/node_modules/@earendil-works/pi-ai/dist/utils/tool-pair-repair.js +49 -0
  390. package/node_modules/@earendil-works/pi-ai/dist/utils/tool-pair-repair.js.map +1 -0
  391. package/node_modules/@earendil-works/pi-ai/dist/utils/typebox-helpers.d.ts +17 -0
  392. package/node_modules/@earendil-works/pi-ai/dist/utils/typebox-helpers.d.ts.map +1 -0
  393. package/node_modules/@earendil-works/pi-ai/dist/utils/typebox-helpers.js +21 -0
  394. package/node_modules/@earendil-works/pi-ai/dist/utils/typebox-helpers.js.map +1 -0
  395. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts +18 -0
  396. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts.map +1 -0
  397. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js +281 -0
  398. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -0
  399. package/node_modules/@earendil-works/pi-ai/package.json +113 -0
  400. package/node_modules/@earendil-works/pi-tui/README.md +779 -0
  401. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +54 -0
  402. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -0
  403. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js +632 -0
  404. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -0
  405. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts +22 -0
  406. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -0
  407. package/node_modules/@earendil-works/pi-tui/dist/components/box.js +104 -0
  408. package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +1 -0
  409. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts +22 -0
  410. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +1 -0
  411. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js +35 -0
  412. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js.map +1 -0
  413. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +249 -0
  414. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -0
  415. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +1916 -0
  416. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -0
  417. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts +28 -0
  418. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -0
  419. package/node_modules/@earendil-works/pi-tui/dist/components/image.js +89 -0
  420. package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -0
  421. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts +37 -0
  422. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -0
  423. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +426 -0
  424. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -0
  425. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +40 -0
  426. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -0
  427. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +95 -0
  428. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -0
  429. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +90 -0
  430. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -0
  431. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +634 -0
  432. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -0
  433. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts +50 -0
  434. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -0
  435. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js +159 -0
  436. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -0
  437. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +50 -0
  438. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -0
  439. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js +185 -0
  440. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -0
  441. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts +12 -0
  442. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +1 -0
  443. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js +23 -0
  444. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +1 -0
  445. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts +19 -0
  446. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -0
  447. package/node_modules/@earendil-works/pi-tui/dist/components/text.js +89 -0
  448. package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -0
  449. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts +13 -0
  450. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +1 -0
  451. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js +51 -0
  452. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +1 -0
  453. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts +39 -0
  454. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +1 -0
  455. package/node_modules/@earendil-works/pi-tui/dist/editor-component.js +2 -0
  456. package/node_modules/@earendil-works/pi-tui/dist/editor-component.js.map +1 -0
  457. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts +16 -0
  458. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +1 -0
  459. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js +110 -0
  460. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +1 -0
  461. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +23 -0
  462. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -0
  463. package/node_modules/@earendil-works/pi-tui/dist/index.js +32 -0
  464. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -0
  465. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +193 -0
  466. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -0
  467. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js +174 -0
  468. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -0
  469. package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts +184 -0
  470. package/node_modules/@earendil-works/pi-tui/dist/keys.d.ts.map +1 -0
  471. package/node_modules/@earendil-works/pi-tui/dist/keys.js +1173 -0
  472. package/node_modules/@earendil-works/pi-tui/dist/keys.js.map +1 -0
  473. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts +28 -0
  474. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.d.ts.map +1 -0
  475. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js +44 -0
  476. package/node_modules/@earendil-works/pi-tui/dist/kill-ring.js.map +1 -0
  477. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts +50 -0
  478. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.d.ts.map +1 -0
  479. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js +361 -0
  480. package/node_modules/@earendil-works/pi-tui/dist/stdin-buffer.js.map +1 -0
  481. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +90 -0
  482. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -0
  483. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +336 -0
  484. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -0
  485. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +88 -0
  486. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -0
  487. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +329 -0
  488. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -0
  489. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +231 -0
  490. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -0
  491. package/node_modules/@earendil-works/pi-tui/dist/tui.js +1230 -0
  492. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -0
  493. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts +17 -0
  494. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.d.ts.map +1 -0
  495. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js +25 -0
  496. package/node_modules/@earendil-works/pi-tui/dist/undo-stack.js.map +1 -0
  497. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +79 -0
  498. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -0
  499. package/node_modules/@earendil-works/pi-tui/dist/utils.js +1031 -0
  500. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -0
  501. package/node_modules/@earendil-works/pi-tui/package.json +48 -0
  502. package/node_modules/@smithy/node-http-handler/LICENSE +201 -0
  503. package/node_modules/@smithy/node-http-handler/README.md +9 -0
  504. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +724 -0
  505. package/node_modules/@smithy/node-http-handler/dist-es/constants.js +1 -0
  506. package/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +9 -0
  507. package/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -0
  508. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +216 -0
  509. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +87 -0
  510. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +32 -0
  511. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +170 -0
  512. package/node_modules/@smithy/node-http-handler/dist-es/readable.mock.js +21 -0
  513. package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +88 -0
  514. package/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +36 -0
  515. package/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +21 -0
  516. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +22 -0
  517. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +23 -0
  518. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +8 -0
  519. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +41 -0
  520. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/readable.mock.js +21 -0
  521. package/node_modules/@smithy/node-http-handler/dist-es/timing.js +4 -0
  522. package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +56 -0
  523. package/node_modules/@smithy/node-http-handler/dist-types/constants.d.ts +5 -0
  524. package/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +4 -0
  525. package/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -0
  526. package/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +46 -0
  527. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +24 -0
  528. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +12 -0
  529. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +63 -0
  530. package/node_modules/@smithy/node-http-handler/dist-types/readable.mock.d.ts +13 -0
  531. package/node_modules/@smithy/node-http-handler/dist-types/server.mock.d.ts +12 -0
  532. package/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +2 -0
  533. package/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +6 -0
  534. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +6 -0
  535. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +2 -0
  536. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +5 -0
  537. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +6 -0
  538. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/readable.mock.d.ts +13 -0
  539. package/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +8 -0
  540. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +5 -0
  541. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +4 -0
  542. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +3 -0
  543. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +46 -0
  544. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +24 -0
  545. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +12 -0
  546. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +63 -0
  547. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/readable.mock.d.ts +13 -0
  548. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/server.mock.d.ts +12 -0
  549. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +2 -0
  550. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +6 -0
  551. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +6 -0
  552. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +2 -0
  553. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/collector.d.ts +5 -0
  554. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/index.d.ts +6 -0
  555. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/stream-collector/readable.mock.d.ts +13 -0
  556. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +8 -0
  557. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +11 -0
  558. package/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +11 -0
  559. package/node_modules/@smithy/node-http-handler/package.json +68 -0
  560. package/node_modules/@smithy/types/LICENSE +201 -0
  561. package/node_modules/@smithy/types/README.md +115 -0
  562. package/node_modules/@smithy/types/dist-cjs/index.js +91 -0
  563. package/node_modules/@smithy/types/dist-es/abort-handler.js +1 -0
  564. package/node_modules/@smithy/types/dist-es/abort.js +1 -0
  565. package/node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js +5 -0
  566. package/node_modules/@smithy/types/dist-es/auth/HttpAuthScheme.js +1 -0
  567. package/node_modules/@smithy/types/dist-es/auth/HttpAuthSchemeProvider.js +1 -0
  568. package/node_modules/@smithy/types/dist-es/auth/HttpSigner.js +1 -0
  569. package/node_modules/@smithy/types/dist-es/auth/IdentityProviderConfig.js +1 -0
  570. package/node_modules/@smithy/types/dist-es/auth/auth.js +5 -0
  571. package/node_modules/@smithy/types/dist-es/auth/index.js +6 -0
  572. package/node_modules/@smithy/types/dist-es/blob/blob-payload-input-types.js +1 -0
  573. package/node_modules/@smithy/types/dist-es/checksum.js +1 -0
  574. package/node_modules/@smithy/types/dist-es/client.js +1 -0
  575. package/node_modules/@smithy/types/dist-es/command.js +1 -0
  576. package/node_modules/@smithy/types/dist-es/connection/config.js +1 -0
  577. package/node_modules/@smithy/types/dist-es/connection/index.js +3 -0
  578. package/node_modules/@smithy/types/dist-es/connection/manager.js +1 -0
  579. package/node_modules/@smithy/types/dist-es/connection/pool.js +1 -0
  580. package/node_modules/@smithy/types/dist-es/crypto.js +1 -0
  581. package/node_modules/@smithy/types/dist-es/downlevel-ts3.4/transform/type-transform.js +1 -0
  582. package/node_modules/@smithy/types/dist-es/encode.js +1 -0
  583. package/node_modules/@smithy/types/dist-es/endpoint.js +5 -0
  584. package/node_modules/@smithy/types/dist-es/endpoints/EndpointRuleObject.js +1 -0
  585. package/node_modules/@smithy/types/dist-es/endpoints/ErrorRuleObject.js +1 -0
  586. package/node_modules/@smithy/types/dist-es/endpoints/RuleSetObject.js +1 -0
  587. package/node_modules/@smithy/types/dist-es/endpoints/TreeRuleObject.js +1 -0
  588. package/node_modules/@smithy/types/dist-es/endpoints/index.js +5 -0
  589. package/node_modules/@smithy/types/dist-es/endpoints/shared.js +1 -0
  590. package/node_modules/@smithy/types/dist-es/eventStream.js +1 -0
  591. package/node_modules/@smithy/types/dist-es/extensions/checksum.js +38 -0
  592. package/node_modules/@smithy/types/dist-es/extensions/defaultClientConfiguration.js +7 -0
  593. package/node_modules/@smithy/types/dist-es/extensions/defaultExtensionConfiguration.js +1 -0
  594. package/node_modules/@smithy/types/dist-es/extensions/index.js +3 -0
  595. package/node_modules/@smithy/types/dist-es/extensions/retry.js +1 -0
  596. package/node_modules/@smithy/types/dist-es/externals-check/browser-externals-check.js +1 -0
  597. package/node_modules/@smithy/types/dist-es/feature-ids.js +1 -0
  598. package/node_modules/@smithy/types/dist-es/http/httpHandlerInitialization.js +1 -0
  599. package/node_modules/@smithy/types/dist-es/http.js +5 -0
  600. package/node_modules/@smithy/types/dist-es/identity/apiKeyIdentity.js +1 -0
  601. package/node_modules/@smithy/types/dist-es/identity/awsCredentialIdentity.js +1 -0
  602. package/node_modules/@smithy/types/dist-es/identity/identity.js +1 -0
  603. package/node_modules/@smithy/types/dist-es/identity/index.js +4 -0
  604. package/node_modules/@smithy/types/dist-es/identity/tokenIdentity.js +1 -0
  605. package/node_modules/@smithy/types/dist-es/index.js +42 -0
  606. package/node_modules/@smithy/types/dist-es/logger.js +1 -0
  607. package/node_modules/@smithy/types/dist-es/middleware.js +1 -0
  608. package/node_modules/@smithy/types/dist-es/pagination.js +1 -0
  609. package/node_modules/@smithy/types/dist-es/profile.js +6 -0
  610. package/node_modules/@smithy/types/dist-es/response.js +1 -0
  611. package/node_modules/@smithy/types/dist-es/retry.js +1 -0
  612. package/node_modules/@smithy/types/dist-es/schema/schema-deprecated.js +1 -0
  613. package/node_modules/@smithy/types/dist-es/schema/schema.js +1 -0
  614. package/node_modules/@smithy/types/dist-es/schema/sentinels.js +1 -0
  615. package/node_modules/@smithy/types/dist-es/schema/static-schemas.js +1 -0
  616. package/node_modules/@smithy/types/dist-es/schema/traits.js +1 -0
  617. package/node_modules/@smithy/types/dist-es/serde.js +1 -0
  618. package/node_modules/@smithy/types/dist-es/shapes.js +1 -0
  619. package/node_modules/@smithy/types/dist-es/signature.js +1 -0
  620. package/node_modules/@smithy/types/dist-es/stream.js +1 -0
  621. package/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-common-types.js +1 -0
  622. package/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-input-types.js +1 -0
  623. package/node_modules/@smithy/types/dist-es/streaming-payload/streaming-blob-payload-output-types.js +1 -0
  624. package/node_modules/@smithy/types/dist-es/transfer.js +6 -0
  625. package/node_modules/@smithy/types/dist-es/transform/client-method-transforms.js +1 -0
  626. package/node_modules/@smithy/types/dist-es/transform/client-payload-blob-type-narrow.js +1 -0
  627. package/node_modules/@smithy/types/dist-es/transform/exact.js +1 -0
  628. package/node_modules/@smithy/types/dist-es/transform/mutable.js +1 -0
  629. package/node_modules/@smithy/types/dist-es/transform/no-undefined.js +1 -0
  630. package/node_modules/@smithy/types/dist-es/transform/type-transform.js +1 -0
  631. package/node_modules/@smithy/types/dist-es/uri.js +1 -0
  632. package/node_modules/@smithy/types/dist-es/util.js +1 -0
  633. package/node_modules/@smithy/types/dist-es/waiter.js +1 -0
  634. package/node_modules/@smithy/types/dist-types/abort-handler.d.ts +7 -0
  635. package/node_modules/@smithy/types/dist-types/abort.d.ts +50 -0
  636. package/node_modules/@smithy/types/dist-types/auth/HttpApiKeyAuth.d.ts +7 -0
  637. package/node_modules/@smithy/types/dist-types/auth/HttpAuthScheme.d.ts +49 -0
  638. package/node_modules/@smithy/types/dist-types/auth/HttpAuthSchemeProvider.d.ts +20 -0
  639. package/node_modules/@smithy/types/dist-types/auth/HttpSigner.d.ts +41 -0
  640. package/node_modules/@smithy/types/dist-types/auth/IdentityProviderConfig.d.ts +14 -0
  641. package/node_modules/@smithy/types/dist-types/auth/auth.d.ts +57 -0
  642. package/node_modules/@smithy/types/dist-types/auth/index.d.ts +6 -0
  643. package/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +40 -0
  644. package/node_modules/@smithy/types/dist-types/checksum.d.ts +63 -0
  645. package/node_modules/@smithy/types/dist-types/client.d.ts +57 -0
  646. package/node_modules/@smithy/types/dist-types/command.d.ts +28 -0
  647. package/node_modules/@smithy/types/dist-types/connection/config.d.ts +10 -0
  648. package/node_modules/@smithy/types/dist-types/connection/index.d.ts +3 -0
  649. package/node_modules/@smithy/types/dist-types/connection/manager.d.ts +34 -0
  650. package/node_modules/@smithy/types/dist-types/connection/pool.d.ts +32 -0
  651. package/node_modules/@smithy/types/dist-types/crypto.d.ts +60 -0
  652. package/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +25 -0
  653. package/node_modules/@smithy/types/dist-types/encode.d.ts +31 -0
  654. package/node_modules/@smithy/types/dist-types/endpoint.d.ts +77 -0
  655. package/node_modules/@smithy/types/dist-types/endpoints/EndpointRuleObject.d.ts +27 -0
  656. package/node_modules/@smithy/types/dist-types/endpoints/ErrorRuleObject.d.ts +10 -0
  657. package/node_modules/@smithy/types/dist-types/endpoints/RuleSetObject.d.ts +28 -0
  658. package/node_modules/@smithy/types/dist-types/endpoints/TreeRuleObject.d.ts +16 -0
  659. package/node_modules/@smithy/types/dist-types/endpoints/index.d.ts +5 -0
  660. package/node_modules/@smithy/types/dist-types/endpoints/shared.d.ts +55 -0
  661. package/node_modules/@smithy/types/dist-types/eventStream.d.ts +137 -0
  662. package/node_modules/@smithy/types/dist-types/extensions/checksum.d.ts +58 -0
  663. package/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +33 -0
  664. package/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +9 -0
  665. package/node_modules/@smithy/types/dist-types/extensions/index.d.ts +4 -0
  666. package/node_modules/@smithy/types/dist-types/extensions/retry.d.ts +18 -0
  667. package/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +35 -0
  668. package/node_modules/@smithy/types/dist-types/feature-ids.d.ts +16 -0
  669. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +128 -0
  670. package/node_modules/@smithy/types/dist-types/http.d.ts +112 -0
  671. package/node_modules/@smithy/types/dist-types/identity/apiKeyIdentity.d.ts +14 -0
  672. package/node_modules/@smithy/types/dist-types/identity/awsCredentialIdentity.d.ts +31 -0
  673. package/node_modules/@smithy/types/dist-types/identity/identity.d.ts +15 -0
  674. package/node_modules/@smithy/types/dist-types/identity/index.d.ts +4 -0
  675. package/node_modules/@smithy/types/dist-types/identity/tokenIdentity.d.ts +14 -0
  676. package/node_modules/@smithy/types/dist-types/index.d.ts +42 -0
  677. package/node_modules/@smithy/types/dist-types/logger.d.ts +13 -0
  678. package/node_modules/@smithy/types/dist-types/middleware.d.ts +534 -0
  679. package/node_modules/@smithy/types/dist-types/pagination.d.ts +33 -0
  680. package/node_modules/@smithy/types/dist-types/profile.d.ts +30 -0
  681. package/node_modules/@smithy/types/dist-types/response.d.ts +40 -0
  682. package/node_modules/@smithy/types/dist-types/retry.d.ts +133 -0
  683. package/node_modules/@smithy/types/dist-types/schema/schema-deprecated.d.ts +136 -0
  684. package/node_modules/@smithy/types/dist-types/schema/schema.d.ts +230 -0
  685. package/node_modules/@smithy/types/dist-types/schema/sentinels.d.ts +65 -0
  686. package/node_modules/@smithy/types/dist-types/schema/static-schemas.d.ts +82 -0
  687. package/node_modules/@smithy/types/dist-types/schema/traits.d.ts +46 -0
  688. package/node_modules/@smithy/types/dist-types/serde.d.ts +114 -0
  689. package/node_modules/@smithy/types/dist-types/shapes.d.ts +82 -0
  690. package/node_modules/@smithy/types/dist-types/signature.d.ts +155 -0
  691. package/node_modules/@smithy/types/dist-types/stream.d.ts +22 -0
  692. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +32 -0
  693. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +60 -0
  694. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +51 -0
  695. package/node_modules/@smithy/types/dist-types/transfer.d.ts +41 -0
  696. package/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +26 -0
  697. package/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +77 -0
  698. package/node_modules/@smithy/types/dist-types/transform/exact.d.ts +6 -0
  699. package/node_modules/@smithy/types/dist-types/transform/mutable.d.ts +6 -0
  700. package/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +68 -0
  701. package/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +34 -0
  702. package/node_modules/@smithy/types/dist-types/ts3.4/abort-handler.d.ts +7 -0
  703. package/node_modules/@smithy/types/dist-types/ts3.4/abort.d.ts +50 -0
  704. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpApiKeyAuth.d.ts +7 -0
  705. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthScheme.d.ts +49 -0
  706. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpAuthSchemeProvider.d.ts +20 -0
  707. package/node_modules/@smithy/types/dist-types/ts3.4/auth/HttpSigner.d.ts +41 -0
  708. package/node_modules/@smithy/types/dist-types/ts3.4/auth/IdentityProviderConfig.d.ts +14 -0
  709. package/node_modules/@smithy/types/dist-types/ts3.4/auth/auth.d.ts +57 -0
  710. package/node_modules/@smithy/types/dist-types/ts3.4/auth/index.d.ts +6 -0
  711. package/node_modules/@smithy/types/dist-types/ts3.4/blob/blob-payload-input-types.d.ts +40 -0
  712. package/node_modules/@smithy/types/dist-types/ts3.4/checksum.d.ts +63 -0
  713. package/node_modules/@smithy/types/dist-types/ts3.4/client.d.ts +57 -0
  714. package/node_modules/@smithy/types/dist-types/ts3.4/command.d.ts +28 -0
  715. package/node_modules/@smithy/types/dist-types/ts3.4/connection/config.d.ts +10 -0
  716. package/node_modules/@smithy/types/dist-types/ts3.4/connection/index.d.ts +3 -0
  717. package/node_modules/@smithy/types/dist-types/ts3.4/connection/manager.d.ts +34 -0
  718. package/node_modules/@smithy/types/dist-types/ts3.4/connection/pool.d.ts +32 -0
  719. package/node_modules/@smithy/types/dist-types/ts3.4/crypto.d.ts +60 -0
  720. package/node_modules/@smithy/types/dist-types/ts3.4/downlevel-ts3.4/transform/type-transform.d.ts +41 -0
  721. package/node_modules/@smithy/types/dist-types/ts3.4/encode.d.ts +31 -0
  722. package/node_modules/@smithy/types/dist-types/ts3.4/endpoint.d.ts +77 -0
  723. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/EndpointRuleObject.d.ts +27 -0
  724. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/ErrorRuleObject.d.ts +10 -0
  725. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/RuleSetObject.d.ts +28 -0
  726. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/TreeRuleObject.d.ts +16 -0
  727. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/index.d.ts +5 -0
  728. package/node_modules/@smithy/types/dist-types/ts3.4/endpoints/shared.d.ts +55 -0
  729. package/node_modules/@smithy/types/dist-types/ts3.4/eventStream.d.ts +137 -0
  730. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/checksum.d.ts +58 -0
  731. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultClientConfiguration.d.ts +33 -0
  732. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/defaultExtensionConfiguration.d.ts +9 -0
  733. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/index.d.ts +4 -0
  734. package/node_modules/@smithy/types/dist-types/ts3.4/extensions/retry.d.ts +18 -0
  735. package/node_modules/@smithy/types/dist-types/ts3.4/externals-check/browser-externals-check.d.ts +35 -0
  736. package/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +16 -0
  737. package/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +128 -0
  738. package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +112 -0
  739. package/node_modules/@smithy/types/dist-types/ts3.4/identity/apiKeyIdentity.d.ts +14 -0
  740. package/node_modules/@smithy/types/dist-types/ts3.4/identity/awsCredentialIdentity.d.ts +31 -0
  741. package/node_modules/@smithy/types/dist-types/ts3.4/identity/identity.d.ts +15 -0
  742. package/node_modules/@smithy/types/dist-types/ts3.4/identity/index.d.ts +4 -0
  743. package/node_modules/@smithy/types/dist-types/ts3.4/identity/tokenIdentity.d.ts +14 -0
  744. package/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +42 -0
  745. package/node_modules/@smithy/types/dist-types/ts3.4/logger.d.ts +13 -0
  746. package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +534 -0
  747. package/node_modules/@smithy/types/dist-types/ts3.4/pagination.d.ts +33 -0
  748. package/node_modules/@smithy/types/dist-types/ts3.4/profile.d.ts +30 -0
  749. package/node_modules/@smithy/types/dist-types/ts3.4/response.d.ts +40 -0
  750. package/node_modules/@smithy/types/dist-types/ts3.4/retry.d.ts +133 -0
  751. package/node_modules/@smithy/types/dist-types/ts3.4/schema/schema-deprecated.d.ts +142 -0
  752. package/node_modules/@smithy/types/dist-types/ts3.4/schema/schema.d.ts +245 -0
  753. package/node_modules/@smithy/types/dist-types/ts3.4/schema/sentinels.d.ts +65 -0
  754. package/node_modules/@smithy/types/dist-types/ts3.4/schema/static-schemas.d.ts +101 -0
  755. package/node_modules/@smithy/types/dist-types/ts3.4/schema/traits.d.ts +46 -0
  756. package/node_modules/@smithy/types/dist-types/ts3.4/serde.d.ts +114 -0
  757. package/node_modules/@smithy/types/dist-types/ts3.4/shapes.d.ts +82 -0
  758. package/node_modules/@smithy/types/dist-types/ts3.4/signature.d.ts +155 -0
  759. package/node_modules/@smithy/types/dist-types/ts3.4/stream.d.ts +22 -0
  760. package/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-common-types.d.ts +32 -0
  761. package/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-input-types.d.ts +60 -0
  762. package/node_modules/@smithy/types/dist-types/ts3.4/streaming-payload/streaming-blob-payload-output-types.d.ts +51 -0
  763. package/node_modules/@smithy/types/dist-types/ts3.4/transfer.d.ts +41 -0
  764. package/node_modules/@smithy/types/dist-types/ts3.4/transform/client-method-transforms.d.ts +26 -0
  765. package/node_modules/@smithy/types/dist-types/ts3.4/transform/client-payload-blob-type-narrow.d.ts +81 -0
  766. package/node_modules/@smithy/types/dist-types/ts3.4/transform/exact.d.ts +14 -0
  767. package/node_modules/@smithy/types/dist-types/ts3.4/transform/mutable.d.ts +6 -0
  768. package/node_modules/@smithy/types/dist-types/ts3.4/transform/no-undefined.d.ts +88 -0
  769. package/node_modules/@smithy/types/dist-types/ts3.4/transform/type-transform.d.ts +41 -0
  770. package/node_modules/@smithy/types/dist-types/ts3.4/uri.d.ts +17 -0
  771. package/node_modules/@smithy/types/dist-types/ts3.4/util.d.ts +192 -0
  772. package/node_modules/@smithy/types/dist-types/ts3.4/waiter.d.ts +35 -0
  773. package/node_modules/@smithy/types/dist-types/uri.d.ts +17 -0
  774. package/node_modules/@smithy/types/dist-types/util.d.ts +176 -0
  775. package/node_modules/@smithy/types/dist-types/waiter.d.ts +35 -0
  776. package/node_modules/@smithy/types/package.json +61 -0
  777. package/node_modules/marked/LICENSE.md +44 -0
  778. package/node_modules/marked/README.md +106 -0
  779. package/node_modules/marked/bin/main.js +282 -0
  780. package/node_modules/marked/bin/marked.js +15 -0
  781. package/node_modules/marked/lib/marked.cjs +2211 -0
  782. package/node_modules/marked/lib/marked.cjs.map +7 -0
  783. package/node_modules/marked/lib/marked.d.cts +728 -0
  784. package/node_modules/marked/lib/marked.d.ts +728 -0
  785. package/node_modules/marked/lib/marked.esm.js +2189 -0
  786. package/node_modules/marked/lib/marked.esm.js.map +7 -0
  787. package/node_modules/marked/lib/marked.umd.js +2213 -0
  788. package/node_modules/marked/lib/marked.umd.js.map +7 -0
  789. package/node_modules/marked/man/marked.1 +111 -0
  790. package/node_modules/marked/man/marked.1.md +92 -0
  791. package/node_modules/marked/marked.min.js +69 -0
  792. package/node_modules/marked/package.json +111 -0
  793. package/npm-shrinkwrap.json +1841 -0
  794. package/package.json +49 -31
@@ -0,0 +1,2211 @@
1
+ /**
2
+ * marked v15.0.12 - a markdown parser
3
+ * Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)
4
+ * https://github.com/markedjs/marked
5
+ */
6
+
7
+ /**
8
+ * DO NOT EDIT THIS FILE
9
+ * The code in this file is generated from files in ./src/
10
+ */
11
+
12
+ "use strict";
13
+ var __defProp = Object.defineProperty;
14
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
15
+ var __getOwnPropNames = Object.getOwnPropertyNames;
16
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+
31
+ // src/marked.ts
32
+ var marked_exports = {};
33
+ __export(marked_exports, {
34
+ Hooks: () => _Hooks,
35
+ Lexer: () => _Lexer,
36
+ Marked: () => Marked,
37
+ Parser: () => _Parser,
38
+ Renderer: () => _Renderer,
39
+ TextRenderer: () => _TextRenderer,
40
+ Tokenizer: () => _Tokenizer,
41
+ defaults: () => _defaults,
42
+ getDefaults: () => _getDefaults,
43
+ lexer: () => lexer,
44
+ marked: () => marked,
45
+ options: () => options,
46
+ parse: () => parse,
47
+ parseInline: () => parseInline,
48
+ parser: () => parser,
49
+ setOptions: () => setOptions,
50
+ use: () => use,
51
+ walkTokens: () => walkTokens
52
+ });
53
+ module.exports = __toCommonJS(marked_exports);
54
+
55
+ // src/defaults.ts
56
+ function _getDefaults() {
57
+ return {
58
+ async: false,
59
+ breaks: false,
60
+ extensions: null,
61
+ gfm: true,
62
+ hooks: null,
63
+ pedantic: false,
64
+ renderer: null,
65
+ silent: false,
66
+ tokenizer: null,
67
+ walkTokens: null
68
+ };
69
+ }
70
+ var _defaults = _getDefaults();
71
+ function changeDefaults(newDefaults) {
72
+ _defaults = newDefaults;
73
+ }
74
+
75
+ // src/rules.ts
76
+ var noopTest = { exec: () => null };
77
+ function edit(regex, opt = "") {
78
+ let source = typeof regex === "string" ? regex : regex.source;
79
+ const obj = {
80
+ replace: (name, val) => {
81
+ let valSource = typeof val === "string" ? val : val.source;
82
+ valSource = valSource.replace(other.caret, "$1");
83
+ source = source.replace(name, valSource);
84
+ return obj;
85
+ },
86
+ getRegex: () => {
87
+ return new RegExp(source, opt);
88
+ }
89
+ };
90
+ return obj;
91
+ }
92
+ var other = {
93
+ codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm,
94
+ outputLinkReplace: /\\([\[\]])/g,
95
+ indentCodeCompensation: /^(\s+)(?:```)/,
96
+ beginningSpace: /^\s+/,
97
+ endingHash: /#$/,
98
+ startingSpaceChar: /^ /,
99
+ endingSpaceChar: / $/,
100
+ nonSpaceChar: /[^ ]/,
101
+ newLineCharGlobal: /\n/g,
102
+ tabCharGlobal: /\t/g,
103
+ multipleSpaceGlobal: /\s+/g,
104
+ blankLine: /^[ \t]*$/,
105
+ doubleBlankLine: /\n[ \t]*\n[ \t]*$/,
106
+ blockquoteStart: /^ {0,3}>/,
107
+ blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g,
108
+ blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm,
109
+ listReplaceTabs: /^\t+/,
110
+ listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g,
111
+ listIsTask: /^\[[ xX]\] /,
112
+ listReplaceTask: /^\[[ xX]\] +/,
113
+ anyLine: /\n.*\n/,
114
+ hrefBrackets: /^<(.*)>$/,
115
+ tableDelimiter: /[:|]/,
116
+ tableAlignChars: /^\||\| *$/g,
117
+ tableRowBlankLine: /\n[ \t]*$/,
118
+ tableAlignRight: /^ *-+: *$/,
119
+ tableAlignCenter: /^ *:-+: *$/,
120
+ tableAlignLeft: /^ *:-+ *$/,
121
+ startATag: /^<a /i,
122
+ endATag: /^<\/a>/i,
123
+ startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i,
124
+ endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i,
125
+ startAngleBracket: /^</,
126
+ endAngleBracket: />$/,
127
+ pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/,
128
+ unicodeAlphaNumeric: /[\p{L}\p{N}]/u,
129
+ escapeTest: /[&<>"']/,
130
+ escapeReplace: /[&<>"']/g,
131
+ escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,
132
+ escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,
133
+ unescapeTest: /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,
134
+ caret: /(^|[^\[])\^/g,
135
+ percentDecode: /%25/g,
136
+ findPipe: /\|/g,
137
+ splitPipe: / \|/,
138
+ slashPipe: /\\\|/g,
139
+ carriageReturn: /\r\n|\r/g,
140
+ spaceLine: /^ +$/gm,
141
+ notSpaceStart: /^\S*/,
142
+ endingNewline: /\n$/,
143
+ listItemRegex: (bull) => new RegExp(`^( {0,3}${bull})((?:[ ][^\\n]*)?(?:\\n|$))`),
144
+ nextBulletRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),
145
+ hrRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),
146
+ fencesBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`),
147
+ headingBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),
148
+ htmlBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, "i")
149
+ };
150
+ var newline = /^(?:[ \t]*(?:\n|$))+/;
151
+ var blockCode = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/;
152
+ var fences = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
153
+ var hr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
154
+ var heading = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
155
+ var bullet = /(?:[*+-]|\d{1,9}[.)])/;
156
+ var lheadingCore = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
157
+ var lheading = edit(lheadingCore).replace(/bull/g, bullet).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
158
+ var lheadingGfm = edit(lheadingCore).replace(/bull/g, bullet).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
159
+ var _paragraph = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
160
+ var blockText = /^[^\n]+/;
161
+ var _blockLabel = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
162
+ var def = edit(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", _blockLabel).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
163
+ var list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, bullet).getRegex();
164
+ var _tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
165
+ var _comment = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
166
+ var html = edit(
167
+ "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))",
168
+ "i"
169
+ ).replace("comment", _comment).replace("tag", _tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
170
+ var paragraph = edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
171
+ var blockquote = edit(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", paragraph).getRegex();
172
+ var blockNormal = {
173
+ blockquote,
174
+ code: blockCode,
175
+ def,
176
+ fences,
177
+ heading,
178
+ hr,
179
+ html,
180
+ lheading,
181
+ list,
182
+ newline,
183
+ paragraph,
184
+ table: noopTest,
185
+ text: blockText
186
+ };
187
+ var gfmTable = edit(
188
+ "^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"
189
+ ).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex();
190
+ var blockGfm = {
191
+ ...blockNormal,
192
+ lheading: lheadingGfm,
193
+ table: gfmTable,
194
+ paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", gfmTable).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", _tag).getRegex()
195
+ };
196
+ var blockPedantic = {
197
+ ...blockNormal,
198
+ html: edit(
199
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
200
+ ).replace("comment", _comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
201
+ def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
202
+ heading: /^(#{1,6})(.*)(?:\n+|$)/,
203
+ fences: noopTest,
204
+ // fences not supported
205
+ lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
206
+ paragraph: edit(_paragraph).replace("hr", hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", lheading).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex()
207
+ };
208
+ var escape = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
209
+ var inlineCode = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
210
+ var br = /^( {2,}|\\)\n(?!\s*$)/;
211
+ var inlineText = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/;
212
+ var _punctuation = /[\p{P}\p{S}]/u;
213
+ var _punctuationOrSpace = /[\s\p{P}\p{S}]/u;
214
+ var _notPunctuationOrSpace = /[^\s\p{P}\p{S}]/u;
215
+ var punctuation = edit(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, _punctuationOrSpace).getRegex();
216
+ var _punctuationGfmStrongEm = /(?!~)[\p{P}\p{S}]/u;
217
+ var _punctuationOrSpaceGfmStrongEm = /(?!~)[\s\p{P}\p{S}]/u;
218
+ var _notPunctuationOrSpaceGfmStrongEm = /(?:[^\s\p{P}\p{S}]|~)/u;
219
+ var blockSkip = /\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g;
220
+ var emStrongLDelimCore = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
221
+ var emStrongLDelim = edit(emStrongLDelimCore, "u").replace(/punct/g, _punctuation).getRegex();
222
+ var emStrongLDelimGfm = edit(emStrongLDelimCore, "u").replace(/punct/g, _punctuationGfmStrongEm).getRegex();
223
+ var emStrongRDelimAstCore = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
224
+ var emStrongRDelimAst = edit(emStrongRDelimAstCore, "gu").replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
225
+ var emStrongRDelimAstGfm = edit(emStrongRDelimAstCore, "gu").replace(/notPunctSpace/g, _notPunctuationOrSpaceGfmStrongEm).replace(/punctSpace/g, _punctuationOrSpaceGfmStrongEm).replace(/punct/g, _punctuationGfmStrongEm).getRegex();
226
+ var emStrongRDelimUnd = edit(
227
+ "^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)",
228
+ "gu"
229
+ ).replace(/notPunctSpace/g, _notPunctuationOrSpace).replace(/punctSpace/g, _punctuationOrSpace).replace(/punct/g, _punctuation).getRegex();
230
+ var anyPunctuation = edit(/\\(punct)/, "gu").replace(/punct/g, _punctuation).getRegex();
231
+ var autolink = edit(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
232
+ var _inlineComment = edit(_comment).replace("(?:-->|$)", "-->").getRegex();
233
+ var tag = edit(
234
+ "^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>"
235
+ ).replace("comment", _inlineComment).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
236
+ var _inlineLabel = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
237
+ var link = edit(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", _inlineLabel).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
238
+ var reflink = edit(/^!?\[(label)\]\[(ref)\]/).replace("label", _inlineLabel).replace("ref", _blockLabel).getRegex();
239
+ var nolink = edit(/^!?\[(ref)\](?:\[\])?/).replace("ref", _blockLabel).getRegex();
240
+ var reflinkSearch = edit("reflink|nolink(?!\\()", "g").replace("reflink", reflink).replace("nolink", nolink).getRegex();
241
+ var inlineNormal = {
242
+ _backpedal: noopTest,
243
+ // only used for GFM url
244
+ anyPunctuation,
245
+ autolink,
246
+ blockSkip,
247
+ br,
248
+ code: inlineCode,
249
+ del: noopTest,
250
+ emStrongLDelim,
251
+ emStrongRDelimAst,
252
+ emStrongRDelimUnd,
253
+ escape,
254
+ link,
255
+ nolink,
256
+ punctuation,
257
+ reflink,
258
+ reflinkSearch,
259
+ tag,
260
+ text: inlineText,
261
+ url: noopTest
262
+ };
263
+ var inlinePedantic = {
264
+ ...inlineNormal,
265
+ link: edit(/^!?\[(label)\]\((.*?)\)/).replace("label", _inlineLabel).getRegex(),
266
+ reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", _inlineLabel).getRegex()
267
+ };
268
+ var inlineGfm = {
269
+ ...inlineNormal,
270
+ emStrongRDelimAst: emStrongRDelimAstGfm,
271
+ emStrongLDelim: emStrongLDelimGfm,
272
+ url: edit(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, "i").replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),
273
+ _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
274
+ del: /^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,
275
+ text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
276
+ };
277
+ var inlineBreaks = {
278
+ ...inlineGfm,
279
+ br: edit(br).replace("{2,}", "*").getRegex(),
280
+ text: edit(inlineGfm.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex()
281
+ };
282
+ var block = {
283
+ normal: blockNormal,
284
+ gfm: blockGfm,
285
+ pedantic: blockPedantic
286
+ };
287
+ var inline = {
288
+ normal: inlineNormal,
289
+ gfm: inlineGfm,
290
+ breaks: inlineBreaks,
291
+ pedantic: inlinePedantic
292
+ };
293
+
294
+ // src/helpers.ts
295
+ var escapeReplacements = {
296
+ "&": "&amp;",
297
+ "<": "&lt;",
298
+ ">": "&gt;",
299
+ '"': "&quot;",
300
+ "'": "&#39;"
301
+ };
302
+ var getEscapeReplacement = (ch) => escapeReplacements[ch];
303
+ function escape2(html2, encode) {
304
+ if (encode) {
305
+ if (other.escapeTest.test(html2)) {
306
+ return html2.replace(other.escapeReplace, getEscapeReplacement);
307
+ }
308
+ } else {
309
+ if (other.escapeTestNoEncode.test(html2)) {
310
+ return html2.replace(other.escapeReplaceNoEncode, getEscapeReplacement);
311
+ }
312
+ }
313
+ return html2;
314
+ }
315
+ function cleanUrl(href) {
316
+ try {
317
+ href = encodeURI(href).replace(other.percentDecode, "%");
318
+ } catch {
319
+ return null;
320
+ }
321
+ return href;
322
+ }
323
+ function splitCells(tableRow, count) {
324
+ const row = tableRow.replace(other.findPipe, (match, offset, str) => {
325
+ let escaped = false;
326
+ let curr = offset;
327
+ while (--curr >= 0 && str[curr] === "\\") escaped = !escaped;
328
+ if (escaped) {
329
+ return "|";
330
+ } else {
331
+ return " |";
332
+ }
333
+ }), cells = row.split(other.splitPipe);
334
+ let i = 0;
335
+ if (!cells[0].trim()) {
336
+ cells.shift();
337
+ }
338
+ if (cells.length > 0 && !cells.at(-1)?.trim()) {
339
+ cells.pop();
340
+ }
341
+ if (count) {
342
+ if (cells.length > count) {
343
+ cells.splice(count);
344
+ } else {
345
+ while (cells.length < count) cells.push("");
346
+ }
347
+ }
348
+ for (; i < cells.length; i++) {
349
+ cells[i] = cells[i].trim().replace(other.slashPipe, "|");
350
+ }
351
+ return cells;
352
+ }
353
+ function rtrim(str, c, invert) {
354
+ const l = str.length;
355
+ if (l === 0) {
356
+ return "";
357
+ }
358
+ let suffLen = 0;
359
+ while (suffLen < l) {
360
+ const currChar = str.charAt(l - suffLen - 1);
361
+ if (currChar === c && !invert) {
362
+ suffLen++;
363
+ } else if (currChar !== c && invert) {
364
+ suffLen++;
365
+ } else {
366
+ break;
367
+ }
368
+ }
369
+ return str.slice(0, l - suffLen);
370
+ }
371
+ function findClosingBracket(str, b) {
372
+ if (str.indexOf(b[1]) === -1) {
373
+ return -1;
374
+ }
375
+ let level = 0;
376
+ for (let i = 0; i < str.length; i++) {
377
+ if (str[i] === "\\") {
378
+ i++;
379
+ } else if (str[i] === b[0]) {
380
+ level++;
381
+ } else if (str[i] === b[1]) {
382
+ level--;
383
+ if (level < 0) {
384
+ return i;
385
+ }
386
+ }
387
+ }
388
+ if (level > 0) {
389
+ return -2;
390
+ }
391
+ return -1;
392
+ }
393
+
394
+ // src/Tokenizer.ts
395
+ function outputLink(cap, link2, raw, lexer2, rules) {
396
+ const href = link2.href;
397
+ const title = link2.title || null;
398
+ const text = cap[1].replace(rules.other.outputLinkReplace, "$1");
399
+ lexer2.state.inLink = true;
400
+ const token = {
401
+ type: cap[0].charAt(0) === "!" ? "image" : "link",
402
+ raw,
403
+ href,
404
+ title,
405
+ text,
406
+ tokens: lexer2.inlineTokens(text)
407
+ };
408
+ lexer2.state.inLink = false;
409
+ return token;
410
+ }
411
+ function indentCodeCompensation(raw, text, rules) {
412
+ const matchIndentToCode = raw.match(rules.other.indentCodeCompensation);
413
+ if (matchIndentToCode === null) {
414
+ return text;
415
+ }
416
+ const indentToCode = matchIndentToCode[1];
417
+ return text.split("\n").map((node) => {
418
+ const matchIndentInNode = node.match(rules.other.beginningSpace);
419
+ if (matchIndentInNode === null) {
420
+ return node;
421
+ }
422
+ const [indentInNode] = matchIndentInNode;
423
+ if (indentInNode.length >= indentToCode.length) {
424
+ return node.slice(indentToCode.length);
425
+ }
426
+ return node;
427
+ }).join("\n");
428
+ }
429
+ var _Tokenizer = class {
430
+ options;
431
+ rules;
432
+ // set by the lexer
433
+ lexer;
434
+ // set by the lexer
435
+ constructor(options2) {
436
+ this.options = options2 || _defaults;
437
+ }
438
+ space(src) {
439
+ const cap = this.rules.block.newline.exec(src);
440
+ if (cap && cap[0].length > 0) {
441
+ return {
442
+ type: "space",
443
+ raw: cap[0]
444
+ };
445
+ }
446
+ }
447
+ code(src) {
448
+ const cap = this.rules.block.code.exec(src);
449
+ if (cap) {
450
+ const text = cap[0].replace(this.rules.other.codeRemoveIndent, "");
451
+ return {
452
+ type: "code",
453
+ raw: cap[0],
454
+ codeBlockStyle: "indented",
455
+ text: !this.options.pedantic ? rtrim(text, "\n") : text
456
+ };
457
+ }
458
+ }
459
+ fences(src) {
460
+ const cap = this.rules.block.fences.exec(src);
461
+ if (cap) {
462
+ const raw = cap[0];
463
+ const text = indentCodeCompensation(raw, cap[3] || "", this.rules);
464
+ return {
465
+ type: "code",
466
+ raw,
467
+ lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : cap[2],
468
+ text
469
+ };
470
+ }
471
+ }
472
+ heading(src) {
473
+ const cap = this.rules.block.heading.exec(src);
474
+ if (cap) {
475
+ let text = cap[2].trim();
476
+ if (this.rules.other.endingHash.test(text)) {
477
+ const trimmed = rtrim(text, "#");
478
+ if (this.options.pedantic) {
479
+ text = trimmed.trim();
480
+ } else if (!trimmed || this.rules.other.endingSpaceChar.test(trimmed)) {
481
+ text = trimmed.trim();
482
+ }
483
+ }
484
+ return {
485
+ type: "heading",
486
+ raw: cap[0],
487
+ depth: cap[1].length,
488
+ text,
489
+ tokens: this.lexer.inline(text)
490
+ };
491
+ }
492
+ }
493
+ hr(src) {
494
+ const cap = this.rules.block.hr.exec(src);
495
+ if (cap) {
496
+ return {
497
+ type: "hr",
498
+ raw: rtrim(cap[0], "\n")
499
+ };
500
+ }
501
+ }
502
+ blockquote(src) {
503
+ const cap = this.rules.block.blockquote.exec(src);
504
+ if (cap) {
505
+ let lines = rtrim(cap[0], "\n").split("\n");
506
+ let raw = "";
507
+ let text = "";
508
+ const tokens = [];
509
+ while (lines.length > 0) {
510
+ let inBlockquote = false;
511
+ const currentLines = [];
512
+ let i;
513
+ for (i = 0; i < lines.length; i++) {
514
+ if (this.rules.other.blockquoteStart.test(lines[i])) {
515
+ currentLines.push(lines[i]);
516
+ inBlockquote = true;
517
+ } else if (!inBlockquote) {
518
+ currentLines.push(lines[i]);
519
+ } else {
520
+ break;
521
+ }
522
+ }
523
+ lines = lines.slice(i);
524
+ const currentRaw = currentLines.join("\n");
525
+ const currentText = currentRaw.replace(this.rules.other.blockquoteSetextReplace, "\n $1").replace(this.rules.other.blockquoteSetextReplace2, "");
526
+ raw = raw ? `${raw}
527
+ ${currentRaw}` : currentRaw;
528
+ text = text ? `${text}
529
+ ${currentText}` : currentText;
530
+ const top = this.lexer.state.top;
531
+ this.lexer.state.top = true;
532
+ this.lexer.blockTokens(currentText, tokens, true);
533
+ this.lexer.state.top = top;
534
+ if (lines.length === 0) {
535
+ break;
536
+ }
537
+ const lastToken = tokens.at(-1);
538
+ if (lastToken?.type === "code") {
539
+ break;
540
+ } else if (lastToken?.type === "blockquote") {
541
+ const oldToken = lastToken;
542
+ const newText = oldToken.raw + "\n" + lines.join("\n");
543
+ const newToken = this.blockquote(newText);
544
+ tokens[tokens.length - 1] = newToken;
545
+ raw = raw.substring(0, raw.length - oldToken.raw.length) + newToken.raw;
546
+ text = text.substring(0, text.length - oldToken.text.length) + newToken.text;
547
+ break;
548
+ } else if (lastToken?.type === "list") {
549
+ const oldToken = lastToken;
550
+ const newText = oldToken.raw + "\n" + lines.join("\n");
551
+ const newToken = this.list(newText);
552
+ tokens[tokens.length - 1] = newToken;
553
+ raw = raw.substring(0, raw.length - lastToken.raw.length) + newToken.raw;
554
+ text = text.substring(0, text.length - oldToken.raw.length) + newToken.raw;
555
+ lines = newText.substring(tokens.at(-1).raw.length).split("\n");
556
+ continue;
557
+ }
558
+ }
559
+ return {
560
+ type: "blockquote",
561
+ raw,
562
+ tokens,
563
+ text
564
+ };
565
+ }
566
+ }
567
+ list(src) {
568
+ let cap = this.rules.block.list.exec(src);
569
+ if (cap) {
570
+ let bull = cap[1].trim();
571
+ const isordered = bull.length > 1;
572
+ const list2 = {
573
+ type: "list",
574
+ raw: "",
575
+ ordered: isordered,
576
+ start: isordered ? +bull.slice(0, -1) : "",
577
+ loose: false,
578
+ items: []
579
+ };
580
+ bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`;
581
+ if (this.options.pedantic) {
582
+ bull = isordered ? bull : "[*+-]";
583
+ }
584
+ const itemRegex = this.rules.other.listItemRegex(bull);
585
+ let endsWithBlankLine = false;
586
+ while (src) {
587
+ let endEarly = false;
588
+ let raw = "";
589
+ let itemContents = "";
590
+ if (!(cap = itemRegex.exec(src))) {
591
+ break;
592
+ }
593
+ if (this.rules.block.hr.test(src)) {
594
+ break;
595
+ }
596
+ raw = cap[0];
597
+ src = src.substring(raw.length);
598
+ let line = cap[2].split("\n", 1)[0].replace(this.rules.other.listReplaceTabs, (t) => " ".repeat(3 * t.length));
599
+ let nextLine = src.split("\n", 1)[0];
600
+ let blankLine = !line.trim();
601
+ let indent = 0;
602
+ if (this.options.pedantic) {
603
+ indent = 2;
604
+ itemContents = line.trimStart();
605
+ } else if (blankLine) {
606
+ indent = cap[1].length + 1;
607
+ } else {
608
+ indent = cap[2].search(this.rules.other.nonSpaceChar);
609
+ indent = indent > 4 ? 1 : indent;
610
+ itemContents = line.slice(indent);
611
+ indent += cap[1].length;
612
+ }
613
+ if (blankLine && this.rules.other.blankLine.test(nextLine)) {
614
+ raw += nextLine + "\n";
615
+ src = src.substring(nextLine.length + 1);
616
+ endEarly = true;
617
+ }
618
+ if (!endEarly) {
619
+ const nextBulletRegex = this.rules.other.nextBulletRegex(indent);
620
+ const hrRegex = this.rules.other.hrRegex(indent);
621
+ const fencesBeginRegex = this.rules.other.fencesBeginRegex(indent);
622
+ const headingBeginRegex = this.rules.other.headingBeginRegex(indent);
623
+ const htmlBeginRegex = this.rules.other.htmlBeginRegex(indent);
624
+ while (src) {
625
+ const rawLine = src.split("\n", 1)[0];
626
+ let nextLineWithoutTabs;
627
+ nextLine = rawLine;
628
+ if (this.options.pedantic) {
629
+ nextLine = nextLine.replace(this.rules.other.listReplaceNesting, " ");
630
+ nextLineWithoutTabs = nextLine;
631
+ } else {
632
+ nextLineWithoutTabs = nextLine.replace(this.rules.other.tabCharGlobal, " ");
633
+ }
634
+ if (fencesBeginRegex.test(nextLine)) {
635
+ break;
636
+ }
637
+ if (headingBeginRegex.test(nextLine)) {
638
+ break;
639
+ }
640
+ if (htmlBeginRegex.test(nextLine)) {
641
+ break;
642
+ }
643
+ if (nextBulletRegex.test(nextLine)) {
644
+ break;
645
+ }
646
+ if (hrRegex.test(nextLine)) {
647
+ break;
648
+ }
649
+ if (nextLineWithoutTabs.search(this.rules.other.nonSpaceChar) >= indent || !nextLine.trim()) {
650
+ itemContents += "\n" + nextLineWithoutTabs.slice(indent);
651
+ } else {
652
+ if (blankLine) {
653
+ break;
654
+ }
655
+ if (line.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4) {
656
+ break;
657
+ }
658
+ if (fencesBeginRegex.test(line)) {
659
+ break;
660
+ }
661
+ if (headingBeginRegex.test(line)) {
662
+ break;
663
+ }
664
+ if (hrRegex.test(line)) {
665
+ break;
666
+ }
667
+ itemContents += "\n" + nextLine;
668
+ }
669
+ if (!blankLine && !nextLine.trim()) {
670
+ blankLine = true;
671
+ }
672
+ raw += rawLine + "\n";
673
+ src = src.substring(rawLine.length + 1);
674
+ line = nextLineWithoutTabs.slice(indent);
675
+ }
676
+ }
677
+ if (!list2.loose) {
678
+ if (endsWithBlankLine) {
679
+ list2.loose = true;
680
+ } else if (this.rules.other.doubleBlankLine.test(raw)) {
681
+ endsWithBlankLine = true;
682
+ }
683
+ }
684
+ let istask = null;
685
+ let ischecked;
686
+ if (this.options.gfm) {
687
+ istask = this.rules.other.listIsTask.exec(itemContents);
688
+ if (istask) {
689
+ ischecked = istask[0] !== "[ ] ";
690
+ itemContents = itemContents.replace(this.rules.other.listReplaceTask, "");
691
+ }
692
+ }
693
+ list2.items.push({
694
+ type: "list_item",
695
+ raw,
696
+ task: !!istask,
697
+ checked: ischecked,
698
+ loose: false,
699
+ text: itemContents,
700
+ tokens: []
701
+ });
702
+ list2.raw += raw;
703
+ }
704
+ const lastItem = list2.items.at(-1);
705
+ if (lastItem) {
706
+ lastItem.raw = lastItem.raw.trimEnd();
707
+ lastItem.text = lastItem.text.trimEnd();
708
+ } else {
709
+ return;
710
+ }
711
+ list2.raw = list2.raw.trimEnd();
712
+ for (let i = 0; i < list2.items.length; i++) {
713
+ this.lexer.state.top = false;
714
+ list2.items[i].tokens = this.lexer.blockTokens(list2.items[i].text, []);
715
+ if (!list2.loose) {
716
+ const spacers = list2.items[i].tokens.filter((t) => t.type === "space");
717
+ const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t) => this.rules.other.anyLine.test(t.raw));
718
+ list2.loose = hasMultipleLineBreaks;
719
+ }
720
+ }
721
+ if (list2.loose) {
722
+ for (let i = 0; i < list2.items.length; i++) {
723
+ list2.items[i].loose = true;
724
+ }
725
+ }
726
+ return list2;
727
+ }
728
+ }
729
+ html(src) {
730
+ const cap = this.rules.block.html.exec(src);
731
+ if (cap) {
732
+ const token = {
733
+ type: "html",
734
+ block: true,
735
+ raw: cap[0],
736
+ pre: cap[1] === "pre" || cap[1] === "script" || cap[1] === "style",
737
+ text: cap[0]
738
+ };
739
+ return token;
740
+ }
741
+ }
742
+ def(src) {
743
+ const cap = this.rules.block.def.exec(src);
744
+ if (cap) {
745
+ const tag2 = cap[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " ");
746
+ const href = cap[2] ? cap[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "";
747
+ const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : cap[3];
748
+ return {
749
+ type: "def",
750
+ tag: tag2,
751
+ raw: cap[0],
752
+ href,
753
+ title
754
+ };
755
+ }
756
+ }
757
+ table(src) {
758
+ const cap = this.rules.block.table.exec(src);
759
+ if (!cap) {
760
+ return;
761
+ }
762
+ if (!this.rules.other.tableDelimiter.test(cap[2])) {
763
+ return;
764
+ }
765
+ const headers = splitCells(cap[1]);
766
+ const aligns = cap[2].replace(this.rules.other.tableAlignChars, "").split("|");
767
+ const rows = cap[3]?.trim() ? cap[3].replace(this.rules.other.tableRowBlankLine, "").split("\n") : [];
768
+ const item = {
769
+ type: "table",
770
+ raw: cap[0],
771
+ header: [],
772
+ align: [],
773
+ rows: []
774
+ };
775
+ if (headers.length !== aligns.length) {
776
+ return;
777
+ }
778
+ for (const align of aligns) {
779
+ if (this.rules.other.tableAlignRight.test(align)) {
780
+ item.align.push("right");
781
+ } else if (this.rules.other.tableAlignCenter.test(align)) {
782
+ item.align.push("center");
783
+ } else if (this.rules.other.tableAlignLeft.test(align)) {
784
+ item.align.push("left");
785
+ } else {
786
+ item.align.push(null);
787
+ }
788
+ }
789
+ for (let i = 0; i < headers.length; i++) {
790
+ item.header.push({
791
+ text: headers[i],
792
+ tokens: this.lexer.inline(headers[i]),
793
+ header: true,
794
+ align: item.align[i]
795
+ });
796
+ }
797
+ for (const row of rows) {
798
+ item.rows.push(splitCells(row, item.header.length).map((cell, i) => {
799
+ return {
800
+ text: cell,
801
+ tokens: this.lexer.inline(cell),
802
+ header: false,
803
+ align: item.align[i]
804
+ };
805
+ }));
806
+ }
807
+ return item;
808
+ }
809
+ lheading(src) {
810
+ const cap = this.rules.block.lheading.exec(src);
811
+ if (cap) {
812
+ return {
813
+ type: "heading",
814
+ raw: cap[0],
815
+ depth: cap[2].charAt(0) === "=" ? 1 : 2,
816
+ text: cap[1],
817
+ tokens: this.lexer.inline(cap[1])
818
+ };
819
+ }
820
+ }
821
+ paragraph(src) {
822
+ const cap = this.rules.block.paragraph.exec(src);
823
+ if (cap) {
824
+ const text = cap[1].charAt(cap[1].length - 1) === "\n" ? cap[1].slice(0, -1) : cap[1];
825
+ return {
826
+ type: "paragraph",
827
+ raw: cap[0],
828
+ text,
829
+ tokens: this.lexer.inline(text)
830
+ };
831
+ }
832
+ }
833
+ text(src) {
834
+ const cap = this.rules.block.text.exec(src);
835
+ if (cap) {
836
+ return {
837
+ type: "text",
838
+ raw: cap[0],
839
+ text: cap[0],
840
+ tokens: this.lexer.inline(cap[0])
841
+ };
842
+ }
843
+ }
844
+ escape(src) {
845
+ const cap = this.rules.inline.escape.exec(src);
846
+ if (cap) {
847
+ return {
848
+ type: "escape",
849
+ raw: cap[0],
850
+ text: cap[1]
851
+ };
852
+ }
853
+ }
854
+ tag(src) {
855
+ const cap = this.rules.inline.tag.exec(src);
856
+ if (cap) {
857
+ if (!this.lexer.state.inLink && this.rules.other.startATag.test(cap[0])) {
858
+ this.lexer.state.inLink = true;
859
+ } else if (this.lexer.state.inLink && this.rules.other.endATag.test(cap[0])) {
860
+ this.lexer.state.inLink = false;
861
+ }
862
+ if (!this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(cap[0])) {
863
+ this.lexer.state.inRawBlock = true;
864
+ } else if (this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(cap[0])) {
865
+ this.lexer.state.inRawBlock = false;
866
+ }
867
+ return {
868
+ type: "html",
869
+ raw: cap[0],
870
+ inLink: this.lexer.state.inLink,
871
+ inRawBlock: this.lexer.state.inRawBlock,
872
+ block: false,
873
+ text: cap[0]
874
+ };
875
+ }
876
+ }
877
+ link(src) {
878
+ const cap = this.rules.inline.link.exec(src);
879
+ if (cap) {
880
+ const trimmedUrl = cap[2].trim();
881
+ if (!this.options.pedantic && this.rules.other.startAngleBracket.test(trimmedUrl)) {
882
+ if (!this.rules.other.endAngleBracket.test(trimmedUrl)) {
883
+ return;
884
+ }
885
+ const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), "\\");
886
+ if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
887
+ return;
888
+ }
889
+ } else {
890
+ const lastParenIndex = findClosingBracket(cap[2], "()");
891
+ if (lastParenIndex === -2) {
892
+ return;
893
+ }
894
+ if (lastParenIndex > -1) {
895
+ const start = cap[0].indexOf("!") === 0 ? 5 : 4;
896
+ const linkLen = start + cap[1].length + lastParenIndex;
897
+ cap[2] = cap[2].substring(0, lastParenIndex);
898
+ cap[0] = cap[0].substring(0, linkLen).trim();
899
+ cap[3] = "";
900
+ }
901
+ }
902
+ let href = cap[2];
903
+ let title = "";
904
+ if (this.options.pedantic) {
905
+ const link2 = this.rules.other.pedanticHrefTitle.exec(href);
906
+ if (link2) {
907
+ href = link2[1];
908
+ title = link2[3];
909
+ }
910
+ } else {
911
+ title = cap[3] ? cap[3].slice(1, -1) : "";
912
+ }
913
+ href = href.trim();
914
+ if (this.rules.other.startAngleBracket.test(href)) {
915
+ if (this.options.pedantic && !this.rules.other.endAngleBracket.test(trimmedUrl)) {
916
+ href = href.slice(1);
917
+ } else {
918
+ href = href.slice(1, -1);
919
+ }
920
+ }
921
+ return outputLink(cap, {
922
+ href: href ? href.replace(this.rules.inline.anyPunctuation, "$1") : href,
923
+ title: title ? title.replace(this.rules.inline.anyPunctuation, "$1") : title
924
+ }, cap[0], this.lexer, this.rules);
925
+ }
926
+ }
927
+ reflink(src, links) {
928
+ let cap;
929
+ if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
930
+ const linkString = (cap[2] || cap[1]).replace(this.rules.other.multipleSpaceGlobal, " ");
931
+ const link2 = links[linkString.toLowerCase()];
932
+ if (!link2) {
933
+ const text = cap[0].charAt(0);
934
+ return {
935
+ type: "text",
936
+ raw: text,
937
+ text
938
+ };
939
+ }
940
+ return outputLink(cap, link2, cap[0], this.lexer, this.rules);
941
+ }
942
+ }
943
+ emStrong(src, maskedSrc, prevChar = "") {
944
+ let match = this.rules.inline.emStrongLDelim.exec(src);
945
+ if (!match) return;
946
+ if (match[3] && prevChar.match(this.rules.other.unicodeAlphaNumeric)) return;
947
+ const nextChar = match[1] || match[2] || "";
948
+ if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {
949
+ const lLength = [...match[0]].length - 1;
950
+ let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;
951
+ const endReg = match[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
952
+ endReg.lastIndex = 0;
953
+ maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
954
+ while ((match = endReg.exec(maskedSrc)) != null) {
955
+ rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
956
+ if (!rDelim) continue;
957
+ rLength = [...rDelim].length;
958
+ if (match[3] || match[4]) {
959
+ delimTotal += rLength;
960
+ continue;
961
+ } else if (match[5] || match[6]) {
962
+ if (lLength % 3 && !((lLength + rLength) % 3)) {
963
+ midDelimTotal += rLength;
964
+ continue;
965
+ }
966
+ }
967
+ delimTotal -= rLength;
968
+ if (delimTotal > 0) continue;
969
+ rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
970
+ const lastCharLength = [...match[0]][0].length;
971
+ const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);
972
+ if (Math.min(lLength, rLength) % 2) {
973
+ const text2 = raw.slice(1, -1);
974
+ return {
975
+ type: "em",
976
+ raw,
977
+ text: text2,
978
+ tokens: this.lexer.inlineTokens(text2)
979
+ };
980
+ }
981
+ const text = raw.slice(2, -2);
982
+ return {
983
+ type: "strong",
984
+ raw,
985
+ text,
986
+ tokens: this.lexer.inlineTokens(text)
987
+ };
988
+ }
989
+ }
990
+ }
991
+ codespan(src) {
992
+ const cap = this.rules.inline.code.exec(src);
993
+ if (cap) {
994
+ let text = cap[2].replace(this.rules.other.newLineCharGlobal, " ");
995
+ const hasNonSpaceChars = this.rules.other.nonSpaceChar.test(text);
996
+ const hasSpaceCharsOnBothEnds = this.rules.other.startingSpaceChar.test(text) && this.rules.other.endingSpaceChar.test(text);
997
+ if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
998
+ text = text.substring(1, text.length - 1);
999
+ }
1000
+ return {
1001
+ type: "codespan",
1002
+ raw: cap[0],
1003
+ text
1004
+ };
1005
+ }
1006
+ }
1007
+ br(src) {
1008
+ const cap = this.rules.inline.br.exec(src);
1009
+ if (cap) {
1010
+ return {
1011
+ type: "br",
1012
+ raw: cap[0]
1013
+ };
1014
+ }
1015
+ }
1016
+ del(src) {
1017
+ const cap = this.rules.inline.del.exec(src);
1018
+ if (cap) {
1019
+ return {
1020
+ type: "del",
1021
+ raw: cap[0],
1022
+ text: cap[2],
1023
+ tokens: this.lexer.inlineTokens(cap[2])
1024
+ };
1025
+ }
1026
+ }
1027
+ autolink(src) {
1028
+ const cap = this.rules.inline.autolink.exec(src);
1029
+ if (cap) {
1030
+ let text, href;
1031
+ if (cap[2] === "@") {
1032
+ text = cap[1];
1033
+ href = "mailto:" + text;
1034
+ } else {
1035
+ text = cap[1];
1036
+ href = text;
1037
+ }
1038
+ return {
1039
+ type: "link",
1040
+ raw: cap[0],
1041
+ text,
1042
+ href,
1043
+ tokens: [
1044
+ {
1045
+ type: "text",
1046
+ raw: text,
1047
+ text
1048
+ }
1049
+ ]
1050
+ };
1051
+ }
1052
+ }
1053
+ url(src) {
1054
+ let cap;
1055
+ if (cap = this.rules.inline.url.exec(src)) {
1056
+ let text, href;
1057
+ if (cap[2] === "@") {
1058
+ text = cap[0];
1059
+ href = "mailto:" + text;
1060
+ } else {
1061
+ let prevCapZero;
1062
+ do {
1063
+ prevCapZero = cap[0];
1064
+ cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? "";
1065
+ } while (prevCapZero !== cap[0]);
1066
+ text = cap[0];
1067
+ if (cap[1] === "www.") {
1068
+ href = "http://" + cap[0];
1069
+ } else {
1070
+ href = cap[0];
1071
+ }
1072
+ }
1073
+ return {
1074
+ type: "link",
1075
+ raw: cap[0],
1076
+ text,
1077
+ href,
1078
+ tokens: [
1079
+ {
1080
+ type: "text",
1081
+ raw: text,
1082
+ text
1083
+ }
1084
+ ]
1085
+ };
1086
+ }
1087
+ }
1088
+ inlineText(src) {
1089
+ const cap = this.rules.inline.text.exec(src);
1090
+ if (cap) {
1091
+ const escaped = this.lexer.state.inRawBlock;
1092
+ return {
1093
+ type: "text",
1094
+ raw: cap[0],
1095
+ text: cap[0],
1096
+ escaped
1097
+ };
1098
+ }
1099
+ }
1100
+ };
1101
+
1102
+ // src/Lexer.ts
1103
+ var _Lexer = class __Lexer {
1104
+ tokens;
1105
+ options;
1106
+ state;
1107
+ tokenizer;
1108
+ inlineQueue;
1109
+ constructor(options2) {
1110
+ this.tokens = [];
1111
+ this.tokens.links = /* @__PURE__ */ Object.create(null);
1112
+ this.options = options2 || _defaults;
1113
+ this.options.tokenizer = this.options.tokenizer || new _Tokenizer();
1114
+ this.tokenizer = this.options.tokenizer;
1115
+ this.tokenizer.options = this.options;
1116
+ this.tokenizer.lexer = this;
1117
+ this.inlineQueue = [];
1118
+ this.state = {
1119
+ inLink: false,
1120
+ inRawBlock: false,
1121
+ top: true
1122
+ };
1123
+ const rules = {
1124
+ other,
1125
+ block: block.normal,
1126
+ inline: inline.normal
1127
+ };
1128
+ if (this.options.pedantic) {
1129
+ rules.block = block.pedantic;
1130
+ rules.inline = inline.pedantic;
1131
+ } else if (this.options.gfm) {
1132
+ rules.block = block.gfm;
1133
+ if (this.options.breaks) {
1134
+ rules.inline = inline.breaks;
1135
+ } else {
1136
+ rules.inline = inline.gfm;
1137
+ }
1138
+ }
1139
+ this.tokenizer.rules = rules;
1140
+ }
1141
+ /**
1142
+ * Expose Rules
1143
+ */
1144
+ static get rules() {
1145
+ return {
1146
+ block,
1147
+ inline
1148
+ };
1149
+ }
1150
+ /**
1151
+ * Static Lex Method
1152
+ */
1153
+ static lex(src, options2) {
1154
+ const lexer2 = new __Lexer(options2);
1155
+ return lexer2.lex(src);
1156
+ }
1157
+ /**
1158
+ * Static Lex Inline Method
1159
+ */
1160
+ static lexInline(src, options2) {
1161
+ const lexer2 = new __Lexer(options2);
1162
+ return lexer2.inlineTokens(src);
1163
+ }
1164
+ /**
1165
+ * Preprocessing
1166
+ */
1167
+ lex(src) {
1168
+ src = src.replace(other.carriageReturn, "\n");
1169
+ this.blockTokens(src, this.tokens);
1170
+ for (let i = 0; i < this.inlineQueue.length; i++) {
1171
+ const next = this.inlineQueue[i];
1172
+ this.inlineTokens(next.src, next.tokens);
1173
+ }
1174
+ this.inlineQueue = [];
1175
+ return this.tokens;
1176
+ }
1177
+ blockTokens(src, tokens = [], lastParagraphClipped = false) {
1178
+ if (this.options.pedantic) {
1179
+ src = src.replace(other.tabCharGlobal, " ").replace(other.spaceLine, "");
1180
+ }
1181
+ while (src) {
1182
+ let token;
1183
+ if (this.options.extensions?.block?.some((extTokenizer) => {
1184
+ if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
1185
+ src = src.substring(token.raw.length);
1186
+ tokens.push(token);
1187
+ return true;
1188
+ }
1189
+ return false;
1190
+ })) {
1191
+ continue;
1192
+ }
1193
+ if (token = this.tokenizer.space(src)) {
1194
+ src = src.substring(token.raw.length);
1195
+ const lastToken = tokens.at(-1);
1196
+ if (token.raw.length === 1 && lastToken !== void 0) {
1197
+ lastToken.raw += "\n";
1198
+ } else {
1199
+ tokens.push(token);
1200
+ }
1201
+ continue;
1202
+ }
1203
+ if (token = this.tokenizer.code(src)) {
1204
+ src = src.substring(token.raw.length);
1205
+ const lastToken = tokens.at(-1);
1206
+ if (lastToken?.type === "paragraph" || lastToken?.type === "text") {
1207
+ lastToken.raw += "\n" + token.raw;
1208
+ lastToken.text += "\n" + token.text;
1209
+ this.inlineQueue.at(-1).src = lastToken.text;
1210
+ } else {
1211
+ tokens.push(token);
1212
+ }
1213
+ continue;
1214
+ }
1215
+ if (token = this.tokenizer.fences(src)) {
1216
+ src = src.substring(token.raw.length);
1217
+ tokens.push(token);
1218
+ continue;
1219
+ }
1220
+ if (token = this.tokenizer.heading(src)) {
1221
+ src = src.substring(token.raw.length);
1222
+ tokens.push(token);
1223
+ continue;
1224
+ }
1225
+ if (token = this.tokenizer.hr(src)) {
1226
+ src = src.substring(token.raw.length);
1227
+ tokens.push(token);
1228
+ continue;
1229
+ }
1230
+ if (token = this.tokenizer.blockquote(src)) {
1231
+ src = src.substring(token.raw.length);
1232
+ tokens.push(token);
1233
+ continue;
1234
+ }
1235
+ if (token = this.tokenizer.list(src)) {
1236
+ src = src.substring(token.raw.length);
1237
+ tokens.push(token);
1238
+ continue;
1239
+ }
1240
+ if (token = this.tokenizer.html(src)) {
1241
+ src = src.substring(token.raw.length);
1242
+ tokens.push(token);
1243
+ continue;
1244
+ }
1245
+ if (token = this.tokenizer.def(src)) {
1246
+ src = src.substring(token.raw.length);
1247
+ const lastToken = tokens.at(-1);
1248
+ if (lastToken?.type === "paragraph" || lastToken?.type === "text") {
1249
+ lastToken.raw += "\n" + token.raw;
1250
+ lastToken.text += "\n" + token.raw;
1251
+ this.inlineQueue.at(-1).src = lastToken.text;
1252
+ } else if (!this.tokens.links[token.tag]) {
1253
+ this.tokens.links[token.tag] = {
1254
+ href: token.href,
1255
+ title: token.title
1256
+ };
1257
+ }
1258
+ continue;
1259
+ }
1260
+ if (token = this.tokenizer.table(src)) {
1261
+ src = src.substring(token.raw.length);
1262
+ tokens.push(token);
1263
+ continue;
1264
+ }
1265
+ if (token = this.tokenizer.lheading(src)) {
1266
+ src = src.substring(token.raw.length);
1267
+ tokens.push(token);
1268
+ continue;
1269
+ }
1270
+ let cutSrc = src;
1271
+ if (this.options.extensions?.startBlock) {
1272
+ let startIndex = Infinity;
1273
+ const tempSrc = src.slice(1);
1274
+ let tempStart;
1275
+ this.options.extensions.startBlock.forEach((getStartIndex) => {
1276
+ tempStart = getStartIndex.call({ lexer: this }, tempSrc);
1277
+ if (typeof tempStart === "number" && tempStart >= 0) {
1278
+ startIndex = Math.min(startIndex, tempStart);
1279
+ }
1280
+ });
1281
+ if (startIndex < Infinity && startIndex >= 0) {
1282
+ cutSrc = src.substring(0, startIndex + 1);
1283
+ }
1284
+ }
1285
+ if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
1286
+ const lastToken = tokens.at(-1);
1287
+ if (lastParagraphClipped && lastToken?.type === "paragraph") {
1288
+ lastToken.raw += "\n" + token.raw;
1289
+ lastToken.text += "\n" + token.text;
1290
+ this.inlineQueue.pop();
1291
+ this.inlineQueue.at(-1).src = lastToken.text;
1292
+ } else {
1293
+ tokens.push(token);
1294
+ }
1295
+ lastParagraphClipped = cutSrc.length !== src.length;
1296
+ src = src.substring(token.raw.length);
1297
+ continue;
1298
+ }
1299
+ if (token = this.tokenizer.text(src)) {
1300
+ src = src.substring(token.raw.length);
1301
+ const lastToken = tokens.at(-1);
1302
+ if (lastToken?.type === "text") {
1303
+ lastToken.raw += "\n" + token.raw;
1304
+ lastToken.text += "\n" + token.text;
1305
+ this.inlineQueue.pop();
1306
+ this.inlineQueue.at(-1).src = lastToken.text;
1307
+ } else {
1308
+ tokens.push(token);
1309
+ }
1310
+ continue;
1311
+ }
1312
+ if (src) {
1313
+ const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
1314
+ if (this.options.silent) {
1315
+ console.error(errMsg);
1316
+ break;
1317
+ } else {
1318
+ throw new Error(errMsg);
1319
+ }
1320
+ }
1321
+ }
1322
+ this.state.top = true;
1323
+ return tokens;
1324
+ }
1325
+ inline(src, tokens = []) {
1326
+ this.inlineQueue.push({ src, tokens });
1327
+ return tokens;
1328
+ }
1329
+ /**
1330
+ * Lexing/Compiling
1331
+ */
1332
+ inlineTokens(src, tokens = []) {
1333
+ let maskedSrc = src;
1334
+ let match = null;
1335
+ if (this.tokens.links) {
1336
+ const links = Object.keys(this.tokens.links);
1337
+ if (links.length > 0) {
1338
+ while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
1339
+ if (links.includes(match[0].slice(match[0].lastIndexOf("[") + 1, -1))) {
1340
+ maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
1341
+ }
1342
+ }
1343
+ }
1344
+ }
1345
+ while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
1346
+ maskedSrc = maskedSrc.slice(0, match.index) + "++" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
1347
+ }
1348
+ while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
1349
+ maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
1350
+ }
1351
+ let keepPrevChar = false;
1352
+ let prevChar = "";
1353
+ while (src) {
1354
+ if (!keepPrevChar) {
1355
+ prevChar = "";
1356
+ }
1357
+ keepPrevChar = false;
1358
+ let token;
1359
+ if (this.options.extensions?.inline?.some((extTokenizer) => {
1360
+ if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
1361
+ src = src.substring(token.raw.length);
1362
+ tokens.push(token);
1363
+ return true;
1364
+ }
1365
+ return false;
1366
+ })) {
1367
+ continue;
1368
+ }
1369
+ if (token = this.tokenizer.escape(src)) {
1370
+ src = src.substring(token.raw.length);
1371
+ tokens.push(token);
1372
+ continue;
1373
+ }
1374
+ if (token = this.tokenizer.tag(src)) {
1375
+ src = src.substring(token.raw.length);
1376
+ tokens.push(token);
1377
+ continue;
1378
+ }
1379
+ if (token = this.tokenizer.link(src)) {
1380
+ src = src.substring(token.raw.length);
1381
+ tokens.push(token);
1382
+ continue;
1383
+ }
1384
+ if (token = this.tokenizer.reflink(src, this.tokens.links)) {
1385
+ src = src.substring(token.raw.length);
1386
+ const lastToken = tokens.at(-1);
1387
+ if (token.type === "text" && lastToken?.type === "text") {
1388
+ lastToken.raw += token.raw;
1389
+ lastToken.text += token.text;
1390
+ } else {
1391
+ tokens.push(token);
1392
+ }
1393
+ continue;
1394
+ }
1395
+ if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
1396
+ src = src.substring(token.raw.length);
1397
+ tokens.push(token);
1398
+ continue;
1399
+ }
1400
+ if (token = this.tokenizer.codespan(src)) {
1401
+ src = src.substring(token.raw.length);
1402
+ tokens.push(token);
1403
+ continue;
1404
+ }
1405
+ if (token = this.tokenizer.br(src)) {
1406
+ src = src.substring(token.raw.length);
1407
+ tokens.push(token);
1408
+ continue;
1409
+ }
1410
+ if (token = this.tokenizer.del(src)) {
1411
+ src = src.substring(token.raw.length);
1412
+ tokens.push(token);
1413
+ continue;
1414
+ }
1415
+ if (token = this.tokenizer.autolink(src)) {
1416
+ src = src.substring(token.raw.length);
1417
+ tokens.push(token);
1418
+ continue;
1419
+ }
1420
+ if (!this.state.inLink && (token = this.tokenizer.url(src))) {
1421
+ src = src.substring(token.raw.length);
1422
+ tokens.push(token);
1423
+ continue;
1424
+ }
1425
+ let cutSrc = src;
1426
+ if (this.options.extensions?.startInline) {
1427
+ let startIndex = Infinity;
1428
+ const tempSrc = src.slice(1);
1429
+ let tempStart;
1430
+ this.options.extensions.startInline.forEach((getStartIndex) => {
1431
+ tempStart = getStartIndex.call({ lexer: this }, tempSrc);
1432
+ if (typeof tempStart === "number" && tempStart >= 0) {
1433
+ startIndex = Math.min(startIndex, tempStart);
1434
+ }
1435
+ });
1436
+ if (startIndex < Infinity && startIndex >= 0) {
1437
+ cutSrc = src.substring(0, startIndex + 1);
1438
+ }
1439
+ }
1440
+ if (token = this.tokenizer.inlineText(cutSrc)) {
1441
+ src = src.substring(token.raw.length);
1442
+ if (token.raw.slice(-1) !== "_") {
1443
+ prevChar = token.raw.slice(-1);
1444
+ }
1445
+ keepPrevChar = true;
1446
+ const lastToken = tokens.at(-1);
1447
+ if (lastToken?.type === "text") {
1448
+ lastToken.raw += token.raw;
1449
+ lastToken.text += token.text;
1450
+ } else {
1451
+ tokens.push(token);
1452
+ }
1453
+ continue;
1454
+ }
1455
+ if (src) {
1456
+ const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
1457
+ if (this.options.silent) {
1458
+ console.error(errMsg);
1459
+ break;
1460
+ } else {
1461
+ throw new Error(errMsg);
1462
+ }
1463
+ }
1464
+ }
1465
+ return tokens;
1466
+ }
1467
+ };
1468
+
1469
+ // src/Renderer.ts
1470
+ var _Renderer = class {
1471
+ options;
1472
+ parser;
1473
+ // set by the parser
1474
+ constructor(options2) {
1475
+ this.options = options2 || _defaults;
1476
+ }
1477
+ space(token) {
1478
+ return "";
1479
+ }
1480
+ code({ text, lang, escaped }) {
1481
+ const langString = (lang || "").match(other.notSpaceStart)?.[0];
1482
+ const code = text.replace(other.endingNewline, "") + "\n";
1483
+ if (!langString) {
1484
+ return "<pre><code>" + (escaped ? code : escape2(code, true)) + "</code></pre>\n";
1485
+ }
1486
+ return '<pre><code class="language-' + escape2(langString) + '">' + (escaped ? code : escape2(code, true)) + "</code></pre>\n";
1487
+ }
1488
+ blockquote({ tokens }) {
1489
+ const body = this.parser.parse(tokens);
1490
+ return `<blockquote>
1491
+ ${body}</blockquote>
1492
+ `;
1493
+ }
1494
+ html({ text }) {
1495
+ return text;
1496
+ }
1497
+ heading({ tokens, depth }) {
1498
+ return `<h${depth}>${this.parser.parseInline(tokens)}</h${depth}>
1499
+ `;
1500
+ }
1501
+ hr(token) {
1502
+ return "<hr>\n";
1503
+ }
1504
+ list(token) {
1505
+ const ordered = token.ordered;
1506
+ const start = token.start;
1507
+ let body = "";
1508
+ for (let j = 0; j < token.items.length; j++) {
1509
+ const item = token.items[j];
1510
+ body += this.listitem(item);
1511
+ }
1512
+ const type = ordered ? "ol" : "ul";
1513
+ const startAttr = ordered && start !== 1 ? ' start="' + start + '"' : "";
1514
+ return "<" + type + startAttr + ">\n" + body + "</" + type + ">\n";
1515
+ }
1516
+ listitem(item) {
1517
+ let itemBody = "";
1518
+ if (item.task) {
1519
+ const checkbox = this.checkbox({ checked: !!item.checked });
1520
+ if (item.loose) {
1521
+ if (item.tokens[0]?.type === "paragraph") {
1522
+ item.tokens[0].text = checkbox + " " + item.tokens[0].text;
1523
+ if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === "text") {
1524
+ item.tokens[0].tokens[0].text = checkbox + " " + escape2(item.tokens[0].tokens[0].text);
1525
+ item.tokens[0].tokens[0].escaped = true;
1526
+ }
1527
+ } else {
1528
+ item.tokens.unshift({
1529
+ type: "text",
1530
+ raw: checkbox + " ",
1531
+ text: checkbox + " ",
1532
+ escaped: true
1533
+ });
1534
+ }
1535
+ } else {
1536
+ itemBody += checkbox + " ";
1537
+ }
1538
+ }
1539
+ itemBody += this.parser.parse(item.tokens, !!item.loose);
1540
+ return `<li>${itemBody}</li>
1541
+ `;
1542
+ }
1543
+ checkbox({ checked }) {
1544
+ return "<input " + (checked ? 'checked="" ' : "") + 'disabled="" type="checkbox">';
1545
+ }
1546
+ paragraph({ tokens }) {
1547
+ return `<p>${this.parser.parseInline(tokens)}</p>
1548
+ `;
1549
+ }
1550
+ table(token) {
1551
+ let header = "";
1552
+ let cell = "";
1553
+ for (let j = 0; j < token.header.length; j++) {
1554
+ cell += this.tablecell(token.header[j]);
1555
+ }
1556
+ header += this.tablerow({ text: cell });
1557
+ let body = "";
1558
+ for (let j = 0; j < token.rows.length; j++) {
1559
+ const row = token.rows[j];
1560
+ cell = "";
1561
+ for (let k = 0; k < row.length; k++) {
1562
+ cell += this.tablecell(row[k]);
1563
+ }
1564
+ body += this.tablerow({ text: cell });
1565
+ }
1566
+ if (body) body = `<tbody>${body}</tbody>`;
1567
+ return "<table>\n<thead>\n" + header + "</thead>\n" + body + "</table>\n";
1568
+ }
1569
+ tablerow({ text }) {
1570
+ return `<tr>
1571
+ ${text}</tr>
1572
+ `;
1573
+ }
1574
+ tablecell(token) {
1575
+ const content = this.parser.parseInline(token.tokens);
1576
+ const type = token.header ? "th" : "td";
1577
+ const tag2 = token.align ? `<${type} align="${token.align}">` : `<${type}>`;
1578
+ return tag2 + content + `</${type}>
1579
+ `;
1580
+ }
1581
+ /**
1582
+ * span level renderer
1583
+ */
1584
+ strong({ tokens }) {
1585
+ return `<strong>${this.parser.parseInline(tokens)}</strong>`;
1586
+ }
1587
+ em({ tokens }) {
1588
+ return `<em>${this.parser.parseInline(tokens)}</em>`;
1589
+ }
1590
+ codespan({ text }) {
1591
+ return `<code>${escape2(text, true)}</code>`;
1592
+ }
1593
+ br(token) {
1594
+ return "<br>";
1595
+ }
1596
+ del({ tokens }) {
1597
+ return `<del>${this.parser.parseInline(tokens)}</del>`;
1598
+ }
1599
+ link({ href, title, tokens }) {
1600
+ const text = this.parser.parseInline(tokens);
1601
+ const cleanHref = cleanUrl(href);
1602
+ if (cleanHref === null) {
1603
+ return text;
1604
+ }
1605
+ href = cleanHref;
1606
+ let out = '<a href="' + href + '"';
1607
+ if (title) {
1608
+ out += ' title="' + escape2(title) + '"';
1609
+ }
1610
+ out += ">" + text + "</a>";
1611
+ return out;
1612
+ }
1613
+ image({ href, title, text, tokens }) {
1614
+ if (tokens) {
1615
+ text = this.parser.parseInline(tokens, this.parser.textRenderer);
1616
+ }
1617
+ const cleanHref = cleanUrl(href);
1618
+ if (cleanHref === null) {
1619
+ return escape2(text);
1620
+ }
1621
+ href = cleanHref;
1622
+ let out = `<img src="${href}" alt="${text}"`;
1623
+ if (title) {
1624
+ out += ` title="${escape2(title)}"`;
1625
+ }
1626
+ out += ">";
1627
+ return out;
1628
+ }
1629
+ text(token) {
1630
+ return "tokens" in token && token.tokens ? this.parser.parseInline(token.tokens) : "escaped" in token && token.escaped ? token.text : escape2(token.text);
1631
+ }
1632
+ };
1633
+
1634
+ // src/TextRenderer.ts
1635
+ var _TextRenderer = class {
1636
+ // no need for block level renderers
1637
+ strong({ text }) {
1638
+ return text;
1639
+ }
1640
+ em({ text }) {
1641
+ return text;
1642
+ }
1643
+ codespan({ text }) {
1644
+ return text;
1645
+ }
1646
+ del({ text }) {
1647
+ return text;
1648
+ }
1649
+ html({ text }) {
1650
+ return text;
1651
+ }
1652
+ text({ text }) {
1653
+ return text;
1654
+ }
1655
+ link({ text }) {
1656
+ return "" + text;
1657
+ }
1658
+ image({ text }) {
1659
+ return "" + text;
1660
+ }
1661
+ br() {
1662
+ return "";
1663
+ }
1664
+ };
1665
+
1666
+ // src/Parser.ts
1667
+ var _Parser = class __Parser {
1668
+ options;
1669
+ renderer;
1670
+ textRenderer;
1671
+ constructor(options2) {
1672
+ this.options = options2 || _defaults;
1673
+ this.options.renderer = this.options.renderer || new _Renderer();
1674
+ this.renderer = this.options.renderer;
1675
+ this.renderer.options = this.options;
1676
+ this.renderer.parser = this;
1677
+ this.textRenderer = new _TextRenderer();
1678
+ }
1679
+ /**
1680
+ * Static Parse Method
1681
+ */
1682
+ static parse(tokens, options2) {
1683
+ const parser2 = new __Parser(options2);
1684
+ return parser2.parse(tokens);
1685
+ }
1686
+ /**
1687
+ * Static Parse Inline Method
1688
+ */
1689
+ static parseInline(tokens, options2) {
1690
+ const parser2 = new __Parser(options2);
1691
+ return parser2.parseInline(tokens);
1692
+ }
1693
+ /**
1694
+ * Parse Loop
1695
+ */
1696
+ parse(tokens, top = true) {
1697
+ let out = "";
1698
+ for (let i = 0; i < tokens.length; i++) {
1699
+ const anyToken = tokens[i];
1700
+ if (this.options.extensions?.renderers?.[anyToken.type]) {
1701
+ const genericToken = anyToken;
1702
+ const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);
1703
+ if (ret !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(genericToken.type)) {
1704
+ out += ret || "";
1705
+ continue;
1706
+ }
1707
+ }
1708
+ const token = anyToken;
1709
+ switch (token.type) {
1710
+ case "space": {
1711
+ out += this.renderer.space(token);
1712
+ continue;
1713
+ }
1714
+ case "hr": {
1715
+ out += this.renderer.hr(token);
1716
+ continue;
1717
+ }
1718
+ case "heading": {
1719
+ out += this.renderer.heading(token);
1720
+ continue;
1721
+ }
1722
+ case "code": {
1723
+ out += this.renderer.code(token);
1724
+ continue;
1725
+ }
1726
+ case "table": {
1727
+ out += this.renderer.table(token);
1728
+ continue;
1729
+ }
1730
+ case "blockquote": {
1731
+ out += this.renderer.blockquote(token);
1732
+ continue;
1733
+ }
1734
+ case "list": {
1735
+ out += this.renderer.list(token);
1736
+ continue;
1737
+ }
1738
+ case "html": {
1739
+ out += this.renderer.html(token);
1740
+ continue;
1741
+ }
1742
+ case "paragraph": {
1743
+ out += this.renderer.paragraph(token);
1744
+ continue;
1745
+ }
1746
+ case "text": {
1747
+ let textToken = token;
1748
+ let body = this.renderer.text(textToken);
1749
+ while (i + 1 < tokens.length && tokens[i + 1].type === "text") {
1750
+ textToken = tokens[++i];
1751
+ body += "\n" + this.renderer.text(textToken);
1752
+ }
1753
+ if (top) {
1754
+ out += this.renderer.paragraph({
1755
+ type: "paragraph",
1756
+ raw: body,
1757
+ text: body,
1758
+ tokens: [{ type: "text", raw: body, text: body, escaped: true }]
1759
+ });
1760
+ } else {
1761
+ out += body;
1762
+ }
1763
+ continue;
1764
+ }
1765
+ default: {
1766
+ const errMsg = 'Token with "' + token.type + '" type was not found.';
1767
+ if (this.options.silent) {
1768
+ console.error(errMsg);
1769
+ return "";
1770
+ } else {
1771
+ throw new Error(errMsg);
1772
+ }
1773
+ }
1774
+ }
1775
+ }
1776
+ return out;
1777
+ }
1778
+ /**
1779
+ * Parse Inline Tokens
1780
+ */
1781
+ parseInline(tokens, renderer = this.renderer) {
1782
+ let out = "";
1783
+ for (let i = 0; i < tokens.length; i++) {
1784
+ const anyToken = tokens[i];
1785
+ if (this.options.extensions?.renderers?.[anyToken.type]) {
1786
+ const ret = this.options.extensions.renderers[anyToken.type].call({ parser: this }, anyToken);
1787
+ if (ret !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(anyToken.type)) {
1788
+ out += ret || "";
1789
+ continue;
1790
+ }
1791
+ }
1792
+ const token = anyToken;
1793
+ switch (token.type) {
1794
+ case "escape": {
1795
+ out += renderer.text(token);
1796
+ break;
1797
+ }
1798
+ case "html": {
1799
+ out += renderer.html(token);
1800
+ break;
1801
+ }
1802
+ case "link": {
1803
+ out += renderer.link(token);
1804
+ break;
1805
+ }
1806
+ case "image": {
1807
+ out += renderer.image(token);
1808
+ break;
1809
+ }
1810
+ case "strong": {
1811
+ out += renderer.strong(token);
1812
+ break;
1813
+ }
1814
+ case "em": {
1815
+ out += renderer.em(token);
1816
+ break;
1817
+ }
1818
+ case "codespan": {
1819
+ out += renderer.codespan(token);
1820
+ break;
1821
+ }
1822
+ case "br": {
1823
+ out += renderer.br(token);
1824
+ break;
1825
+ }
1826
+ case "del": {
1827
+ out += renderer.del(token);
1828
+ break;
1829
+ }
1830
+ case "text": {
1831
+ out += renderer.text(token);
1832
+ break;
1833
+ }
1834
+ default: {
1835
+ const errMsg = 'Token with "' + token.type + '" type was not found.';
1836
+ if (this.options.silent) {
1837
+ console.error(errMsg);
1838
+ return "";
1839
+ } else {
1840
+ throw new Error(errMsg);
1841
+ }
1842
+ }
1843
+ }
1844
+ }
1845
+ return out;
1846
+ }
1847
+ };
1848
+
1849
+ // src/Hooks.ts
1850
+ var _Hooks = class {
1851
+ options;
1852
+ block;
1853
+ constructor(options2) {
1854
+ this.options = options2 || _defaults;
1855
+ }
1856
+ static passThroughHooks = /* @__PURE__ */ new Set([
1857
+ "preprocess",
1858
+ "postprocess",
1859
+ "processAllTokens"
1860
+ ]);
1861
+ /**
1862
+ * Process markdown before marked
1863
+ */
1864
+ preprocess(markdown) {
1865
+ return markdown;
1866
+ }
1867
+ /**
1868
+ * Process HTML after marked is finished
1869
+ */
1870
+ postprocess(html2) {
1871
+ return html2;
1872
+ }
1873
+ /**
1874
+ * Process all tokens before walk tokens
1875
+ */
1876
+ processAllTokens(tokens) {
1877
+ return tokens;
1878
+ }
1879
+ /**
1880
+ * Provide function to tokenize markdown
1881
+ */
1882
+ provideLexer() {
1883
+ return this.block ? _Lexer.lex : _Lexer.lexInline;
1884
+ }
1885
+ /**
1886
+ * Provide function to parse tokens
1887
+ */
1888
+ provideParser() {
1889
+ return this.block ? _Parser.parse : _Parser.parseInline;
1890
+ }
1891
+ };
1892
+
1893
+ // src/Instance.ts
1894
+ var Marked = class {
1895
+ defaults = _getDefaults();
1896
+ options = this.setOptions;
1897
+ parse = this.parseMarkdown(true);
1898
+ parseInline = this.parseMarkdown(false);
1899
+ Parser = _Parser;
1900
+ Renderer = _Renderer;
1901
+ TextRenderer = _TextRenderer;
1902
+ Lexer = _Lexer;
1903
+ Tokenizer = _Tokenizer;
1904
+ Hooks = _Hooks;
1905
+ constructor(...args) {
1906
+ this.use(...args);
1907
+ }
1908
+ /**
1909
+ * Run callback for every token
1910
+ */
1911
+ walkTokens(tokens, callback) {
1912
+ let values = [];
1913
+ for (const token of tokens) {
1914
+ values = values.concat(callback.call(this, token));
1915
+ switch (token.type) {
1916
+ case "table": {
1917
+ const tableToken = token;
1918
+ for (const cell of tableToken.header) {
1919
+ values = values.concat(this.walkTokens(cell.tokens, callback));
1920
+ }
1921
+ for (const row of tableToken.rows) {
1922
+ for (const cell of row) {
1923
+ values = values.concat(this.walkTokens(cell.tokens, callback));
1924
+ }
1925
+ }
1926
+ break;
1927
+ }
1928
+ case "list": {
1929
+ const listToken = token;
1930
+ values = values.concat(this.walkTokens(listToken.items, callback));
1931
+ break;
1932
+ }
1933
+ default: {
1934
+ const genericToken = token;
1935
+ if (this.defaults.extensions?.childTokens?.[genericToken.type]) {
1936
+ this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {
1937
+ const tokens2 = genericToken[childTokens].flat(Infinity);
1938
+ values = values.concat(this.walkTokens(tokens2, callback));
1939
+ });
1940
+ } else if (genericToken.tokens) {
1941
+ values = values.concat(this.walkTokens(genericToken.tokens, callback));
1942
+ }
1943
+ }
1944
+ }
1945
+ }
1946
+ return values;
1947
+ }
1948
+ use(...args) {
1949
+ const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };
1950
+ args.forEach((pack) => {
1951
+ const opts = { ...pack };
1952
+ opts.async = this.defaults.async || opts.async || false;
1953
+ if (pack.extensions) {
1954
+ pack.extensions.forEach((ext) => {
1955
+ if (!ext.name) {
1956
+ throw new Error("extension name required");
1957
+ }
1958
+ if ("renderer" in ext) {
1959
+ const prevRenderer = extensions.renderers[ext.name];
1960
+ if (prevRenderer) {
1961
+ extensions.renderers[ext.name] = function(...args2) {
1962
+ let ret = ext.renderer.apply(this, args2);
1963
+ if (ret === false) {
1964
+ ret = prevRenderer.apply(this, args2);
1965
+ }
1966
+ return ret;
1967
+ };
1968
+ } else {
1969
+ extensions.renderers[ext.name] = ext.renderer;
1970
+ }
1971
+ }
1972
+ if ("tokenizer" in ext) {
1973
+ if (!ext.level || ext.level !== "block" && ext.level !== "inline") {
1974
+ throw new Error("extension level must be 'block' or 'inline'");
1975
+ }
1976
+ const extLevel = extensions[ext.level];
1977
+ if (extLevel) {
1978
+ extLevel.unshift(ext.tokenizer);
1979
+ } else {
1980
+ extensions[ext.level] = [ext.tokenizer];
1981
+ }
1982
+ if (ext.start) {
1983
+ if (ext.level === "block") {
1984
+ if (extensions.startBlock) {
1985
+ extensions.startBlock.push(ext.start);
1986
+ } else {
1987
+ extensions.startBlock = [ext.start];
1988
+ }
1989
+ } else if (ext.level === "inline") {
1990
+ if (extensions.startInline) {
1991
+ extensions.startInline.push(ext.start);
1992
+ } else {
1993
+ extensions.startInline = [ext.start];
1994
+ }
1995
+ }
1996
+ }
1997
+ }
1998
+ if ("childTokens" in ext && ext.childTokens) {
1999
+ extensions.childTokens[ext.name] = ext.childTokens;
2000
+ }
2001
+ });
2002
+ opts.extensions = extensions;
2003
+ }
2004
+ if (pack.renderer) {
2005
+ const renderer = this.defaults.renderer || new _Renderer(this.defaults);
2006
+ for (const prop in pack.renderer) {
2007
+ if (!(prop in renderer)) {
2008
+ throw new Error(`renderer '${prop}' does not exist`);
2009
+ }
2010
+ if (["options", "parser"].includes(prop)) {
2011
+ continue;
2012
+ }
2013
+ const rendererProp = prop;
2014
+ const rendererFunc = pack.renderer[rendererProp];
2015
+ const prevRenderer = renderer[rendererProp];
2016
+ renderer[rendererProp] = (...args2) => {
2017
+ let ret = rendererFunc.apply(renderer, args2);
2018
+ if (ret === false) {
2019
+ ret = prevRenderer.apply(renderer, args2);
2020
+ }
2021
+ return ret || "";
2022
+ };
2023
+ }
2024
+ opts.renderer = renderer;
2025
+ }
2026
+ if (pack.tokenizer) {
2027
+ const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);
2028
+ for (const prop in pack.tokenizer) {
2029
+ if (!(prop in tokenizer)) {
2030
+ throw new Error(`tokenizer '${prop}' does not exist`);
2031
+ }
2032
+ if (["options", "rules", "lexer"].includes(prop)) {
2033
+ continue;
2034
+ }
2035
+ const tokenizerProp = prop;
2036
+ const tokenizerFunc = pack.tokenizer[tokenizerProp];
2037
+ const prevTokenizer = tokenizer[tokenizerProp];
2038
+ tokenizer[tokenizerProp] = (...args2) => {
2039
+ let ret = tokenizerFunc.apply(tokenizer, args2);
2040
+ if (ret === false) {
2041
+ ret = prevTokenizer.apply(tokenizer, args2);
2042
+ }
2043
+ return ret;
2044
+ };
2045
+ }
2046
+ opts.tokenizer = tokenizer;
2047
+ }
2048
+ if (pack.hooks) {
2049
+ const hooks = this.defaults.hooks || new _Hooks();
2050
+ for (const prop in pack.hooks) {
2051
+ if (!(prop in hooks)) {
2052
+ throw new Error(`hook '${prop}' does not exist`);
2053
+ }
2054
+ if (["options", "block"].includes(prop)) {
2055
+ continue;
2056
+ }
2057
+ const hooksProp = prop;
2058
+ const hooksFunc = pack.hooks[hooksProp];
2059
+ const prevHook = hooks[hooksProp];
2060
+ if (_Hooks.passThroughHooks.has(prop)) {
2061
+ hooks[hooksProp] = (arg) => {
2062
+ if (this.defaults.async) {
2063
+ return Promise.resolve(hooksFunc.call(hooks, arg)).then((ret2) => {
2064
+ return prevHook.call(hooks, ret2);
2065
+ });
2066
+ }
2067
+ const ret = hooksFunc.call(hooks, arg);
2068
+ return prevHook.call(hooks, ret);
2069
+ };
2070
+ } else {
2071
+ hooks[hooksProp] = (...args2) => {
2072
+ let ret = hooksFunc.apply(hooks, args2);
2073
+ if (ret === false) {
2074
+ ret = prevHook.apply(hooks, args2);
2075
+ }
2076
+ return ret;
2077
+ };
2078
+ }
2079
+ }
2080
+ opts.hooks = hooks;
2081
+ }
2082
+ if (pack.walkTokens) {
2083
+ const walkTokens2 = this.defaults.walkTokens;
2084
+ const packWalktokens = pack.walkTokens;
2085
+ opts.walkTokens = function(token) {
2086
+ let values = [];
2087
+ values.push(packWalktokens.call(this, token));
2088
+ if (walkTokens2) {
2089
+ values = values.concat(walkTokens2.call(this, token));
2090
+ }
2091
+ return values;
2092
+ };
2093
+ }
2094
+ this.defaults = { ...this.defaults, ...opts };
2095
+ });
2096
+ return this;
2097
+ }
2098
+ setOptions(opt) {
2099
+ this.defaults = { ...this.defaults, ...opt };
2100
+ return this;
2101
+ }
2102
+ lexer(src, options2) {
2103
+ return _Lexer.lex(src, options2 ?? this.defaults);
2104
+ }
2105
+ parser(tokens, options2) {
2106
+ return _Parser.parse(tokens, options2 ?? this.defaults);
2107
+ }
2108
+ parseMarkdown(blockType) {
2109
+ const parse2 = (src, options2) => {
2110
+ const origOpt = { ...options2 };
2111
+ const opt = { ...this.defaults, ...origOpt };
2112
+ const throwError = this.onError(!!opt.silent, !!opt.async);
2113
+ if (this.defaults.async === true && origOpt.async === false) {
2114
+ return throwError(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
2115
+ }
2116
+ if (typeof src === "undefined" || src === null) {
2117
+ return throwError(new Error("marked(): input parameter is undefined or null"));
2118
+ }
2119
+ if (typeof src !== "string") {
2120
+ return throwError(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(src) + ", string expected"));
2121
+ }
2122
+ if (opt.hooks) {
2123
+ opt.hooks.options = opt;
2124
+ opt.hooks.block = blockType;
2125
+ }
2126
+ const lexer2 = opt.hooks ? opt.hooks.provideLexer() : blockType ? _Lexer.lex : _Lexer.lexInline;
2127
+ const parser2 = opt.hooks ? opt.hooks.provideParser() : blockType ? _Parser.parse : _Parser.parseInline;
2128
+ if (opt.async) {
2129
+ return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src2) => lexer2(src2, opt)).then((tokens) => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens).then((tokens) => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then((tokens) => parser2(tokens, opt)).then((html2) => opt.hooks ? opt.hooks.postprocess(html2) : html2).catch(throwError);
2130
+ }
2131
+ try {
2132
+ if (opt.hooks) {
2133
+ src = opt.hooks.preprocess(src);
2134
+ }
2135
+ let tokens = lexer2(src, opt);
2136
+ if (opt.hooks) {
2137
+ tokens = opt.hooks.processAllTokens(tokens);
2138
+ }
2139
+ if (opt.walkTokens) {
2140
+ this.walkTokens(tokens, opt.walkTokens);
2141
+ }
2142
+ let html2 = parser2(tokens, opt);
2143
+ if (opt.hooks) {
2144
+ html2 = opt.hooks.postprocess(html2);
2145
+ }
2146
+ return html2;
2147
+ } catch (e) {
2148
+ return throwError(e);
2149
+ }
2150
+ };
2151
+ return parse2;
2152
+ }
2153
+ onError(silent, async) {
2154
+ return (e) => {
2155
+ e.message += "\nPlease report this to https://github.com/markedjs/marked.";
2156
+ if (silent) {
2157
+ const msg = "<p>An error occurred:</p><pre>" + escape2(e.message + "", true) + "</pre>";
2158
+ if (async) {
2159
+ return Promise.resolve(msg);
2160
+ }
2161
+ return msg;
2162
+ }
2163
+ if (async) {
2164
+ return Promise.reject(e);
2165
+ }
2166
+ throw e;
2167
+ };
2168
+ }
2169
+ };
2170
+
2171
+ // src/marked.ts
2172
+ var markedInstance = new Marked();
2173
+ function marked(src, opt) {
2174
+ return markedInstance.parse(src, opt);
2175
+ }
2176
+ marked.options = marked.setOptions = function(options2) {
2177
+ markedInstance.setOptions(options2);
2178
+ marked.defaults = markedInstance.defaults;
2179
+ changeDefaults(marked.defaults);
2180
+ return marked;
2181
+ };
2182
+ marked.getDefaults = _getDefaults;
2183
+ marked.defaults = _defaults;
2184
+ marked.use = function(...args) {
2185
+ markedInstance.use(...args);
2186
+ marked.defaults = markedInstance.defaults;
2187
+ changeDefaults(marked.defaults);
2188
+ return marked;
2189
+ };
2190
+ marked.walkTokens = function(tokens, callback) {
2191
+ return markedInstance.walkTokens(tokens, callback);
2192
+ };
2193
+ marked.parseInline = markedInstance.parseInline;
2194
+ marked.Parser = _Parser;
2195
+ marked.parser = _Parser.parse;
2196
+ marked.Renderer = _Renderer;
2197
+ marked.TextRenderer = _TextRenderer;
2198
+ marked.Lexer = _Lexer;
2199
+ marked.lexer = _Lexer.lex;
2200
+ marked.Tokenizer = _Tokenizer;
2201
+ marked.Hooks = _Hooks;
2202
+ marked.parse = marked;
2203
+ var options = marked.options;
2204
+ var setOptions = marked.setOptions;
2205
+ var use = marked.use;
2206
+ var walkTokens = marked.walkTokens;
2207
+ var parseInline = marked.parseInline;
2208
+ var parse = marked;
2209
+ var parser = _Parser.parse;
2210
+ var lexer = _Lexer.lex;
2211
+ //# sourceMappingURL=marked.cjs.map