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