taskchef 8.6.2 → 8.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (630) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/README.md +8 -4
  3. package/assets/README.md +19 -0
  4. package/assets/taskchef-app-rounded.png +0 -0
  5. package/assets/taskchef-avatar-square.png +0 -0
  6. package/assets/taskchef-avatar-square.svg +8 -0
  7. package/assets/taskchef-sidebar-dark.svg +6 -0
  8. package/assets/taskchef-sidebar-light.svg +6 -0
  9. package/assets/taskchef-sidebar.svg +6 -0
  10. package/docs/advanced-guide.md +20 -29
  11. package/docs/dashboard-ui.md +15 -0
  12. package/docs/diagrams/taskchef-next-reply-lookup.drawio +38 -0
  13. package/docs/diagrams/taskchef-next-reply-lookup.drawio.png +0 -0
  14. package/docs/diagrams/taskchef-next-storage.drawio +41 -0
  15. package/docs/diagrams/taskchef-next-storage.drawio.png +0 -0
  16. package/docs/images/taskchef-pr-icon-comparison.jpg +0 -0
  17. package/docs/images/taskchef-unified-status-popup.jpg +0 -0
  18. package/docs/mcp-app.md +261 -6
  19. package/docs/spec.md +24 -69
  20. package/docs/taskchef-next-github.md +206 -0
  21. package/docs/taskchef-next-status-research.md +102 -0
  22. package/docs/taskchef-next-storage.md +167 -0
  23. package/docs/workflows.md +4 -2
  24. package/node_modules/@napi-rs/keyring/LICENSE +21 -0
  25. package/node_modules/@napi-rs/keyring/README.md +45 -0
  26. package/node_modules/@napi-rs/keyring/index.d.ts +232 -0
  27. package/node_modules/@napi-rs/keyring/index.js +706 -0
  28. package/node_modules/@napi-rs/keyring/keytar.d.ts +53 -0
  29. package/node_modules/@napi-rs/keyring/keytar.js +26 -0
  30. package/node_modules/@napi-rs/keyring/package.json +126 -0
  31. package/node_modules/@napi-rs/keyring-darwin-arm64/README.md +3 -0
  32. package/node_modules/@napi-rs/keyring-darwin-arm64/keyring.darwin-arm64.node +0 -0
  33. package/node_modules/@napi-rs/keyring-darwin-arm64/package.json +32 -0
  34. package/node_modules/@napi-rs/keyring-darwin-x64/README.md +3 -0
  35. package/node_modules/@napi-rs/keyring-darwin-x64/keyring.darwin-x64.node +0 -0
  36. package/node_modules/@napi-rs/keyring-darwin-x64/package.json +32 -0
  37. package/node_modules/@napi-rs/keyring-linux-arm64-gnu/README.md +3 -0
  38. package/node_modules/@napi-rs/keyring-linux-arm64-gnu/keyring.linux-arm64-gnu.node +0 -0
  39. package/node_modules/@napi-rs/keyring-linux-arm64-gnu/package.json +35 -0
  40. package/node_modules/@napi-rs/keyring-linux-arm64-musl/README.md +3 -0
  41. package/node_modules/@napi-rs/keyring-linux-arm64-musl/keyring.linux-arm64-musl.node +0 -0
  42. package/node_modules/@napi-rs/keyring-linux-arm64-musl/package.json +35 -0
  43. package/node_modules/@napi-rs/keyring-linux-x64-gnu/README.md +3 -0
  44. package/node_modules/@napi-rs/keyring-linux-x64-gnu/keyring.linux-x64-gnu.node +0 -0
  45. package/node_modules/@napi-rs/keyring-linux-x64-gnu/package.json +35 -0
  46. package/node_modules/@napi-rs/keyring-linux-x64-musl/README.md +3 -0
  47. package/node_modules/@napi-rs/keyring-linux-x64-musl/keyring.linux-x64-musl.node +0 -0
  48. package/node_modules/@napi-rs/keyring-linux-x64-musl/package.json +35 -0
  49. package/node_modules/@napi-rs/keyring-win32-arm64-msvc/README.md +3 -0
  50. package/node_modules/@napi-rs/keyring-win32-arm64-msvc/keyring.win32-arm64-msvc.node +0 -0
  51. package/node_modules/@napi-rs/keyring-win32-arm64-msvc/package.json +32 -0
  52. package/node_modules/@napi-rs/keyring-win32-x64-msvc/README.md +3 -0
  53. package/node_modules/@napi-rs/keyring-win32-x64-msvc/keyring.win32-x64-msvc.node +0 -0
  54. package/node_modules/@napi-rs/keyring-win32-x64-msvc/package.json +32 -0
  55. package/node_modules/@types/debug/LICENSE +21 -0
  56. package/node_modules/@types/debug/README.md +69 -0
  57. package/node_modules/@types/debug/index.d.ts +50 -0
  58. package/node_modules/@types/debug/package.json +58 -0
  59. package/node_modules/@types/mdast/LICENSE +21 -0
  60. package/node_modules/@types/mdast/README.md +15 -0
  61. package/node_modules/@types/mdast/index.d.ts +1123 -0
  62. package/node_modules/@types/mdast/package.json +47 -0
  63. package/node_modules/@types/ms/LICENSE +21 -0
  64. package/node_modules/@types/ms/README.md +82 -0
  65. package/node_modules/@types/ms/index.d.ts +63 -0
  66. package/node_modules/@types/ms/package.json +26 -0
  67. package/node_modules/@types/unist/LICENSE +21 -0
  68. package/node_modules/@types/unist/README.md +15 -0
  69. package/node_modules/@types/unist/index.d.ts +119 -0
  70. package/node_modules/@types/unist/package.json +60 -0
  71. package/node_modules/character-entities/index.d.ts +6 -0
  72. package/node_modules/character-entities/index.js +2132 -0
  73. package/node_modules/character-entities/license +22 -0
  74. package/node_modules/character-entities/package.json +78 -0
  75. package/node_modules/character-entities/readme.md +152 -0
  76. package/node_modules/decode-named-character-reference/index.d.ts +13 -0
  77. package/node_modules/decode-named-character-reference/index.d.ts.map +1 -0
  78. package/node_modules/decode-named-character-reference/index.dom.d.ts +6 -0
  79. package/node_modules/decode-named-character-reference/index.dom.d.ts.map +1 -0
  80. package/node_modules/decode-named-character-reference/index.dom.js +32 -0
  81. package/node_modules/decode-named-character-reference/index.js +19 -0
  82. package/node_modules/decode-named-character-reference/license +22 -0
  83. package/node_modules/decode-named-character-reference/package.json +90 -0
  84. package/node_modules/decode-named-character-reference/readme.md +136 -0
  85. package/node_modules/dequal/dist/index.js +86 -0
  86. package/node_modules/dequal/dist/index.min.js +1 -0
  87. package/node_modules/dequal/dist/index.mjs +84 -0
  88. package/node_modules/dequal/index.d.ts +1 -0
  89. package/node_modules/dequal/license +21 -0
  90. package/node_modules/dequal/lite/index.d.ts +1 -0
  91. package/node_modules/dequal/lite/index.js +31 -0
  92. package/node_modules/dequal/lite/index.min.js +1 -0
  93. package/node_modules/dequal/lite/index.mjs +29 -0
  94. package/node_modules/dequal/package.json +57 -0
  95. package/node_modules/dequal/readme.md +112 -0
  96. package/node_modules/devlop/lib/default.js +9 -0
  97. package/node_modules/devlop/lib/development.d.ts +84 -0
  98. package/node_modules/devlop/lib/development.js +238 -0
  99. package/node_modules/devlop/license +22 -0
  100. package/node_modules/devlop/package.json +80 -0
  101. package/node_modules/devlop/readme.md +360 -0
  102. package/node_modules/mdast-util-from-markdown/dev/index.d.ts +23 -0
  103. package/node_modules/mdast-util-from-markdown/dev/index.js +2 -0
  104. package/node_modules/mdast-util-from-markdown/dev/lib/index.d.ts +53 -0
  105. package/node_modules/mdast-util-from-markdown/dev/lib/index.d.ts.map +1 -0
  106. package/node_modules/mdast-util-from-markdown/dev/lib/index.js +1348 -0
  107. package/node_modules/mdast-util-from-markdown/dev/lib/types.d.ts +295 -0
  108. package/node_modules/mdast-util-from-markdown/dev/lib/types.js +2 -0
  109. package/node_modules/mdast-util-from-markdown/index.d.ts +23 -0
  110. package/node_modules/mdast-util-from-markdown/index.js +2 -0
  111. package/node_modules/mdast-util-from-markdown/lib/index.d.ts +53 -0
  112. package/node_modules/mdast-util-from-markdown/lib/index.js +1177 -0
  113. package/node_modules/mdast-util-from-markdown/lib/types.d.ts +295 -0
  114. package/node_modules/mdast-util-from-markdown/lib/types.js +2 -0
  115. package/node_modules/mdast-util-from-markdown/license +22 -0
  116. package/node_modules/mdast-util-from-markdown/package.json +139 -0
  117. package/node_modules/mdast-util-from-markdown/readme.md +537 -0
  118. package/node_modules/mdast-util-to-string/index.d.ts +2 -0
  119. package/node_modules/mdast-util-to-string/index.js +5 -0
  120. package/node_modules/mdast-util-to-string/lib/index.d.ts +31 -0
  121. package/node_modules/mdast-util-to-string/lib/index.js +108 -0
  122. package/node_modules/mdast-util-to-string/license +22 -0
  123. package/node_modules/mdast-util-to-string/package.json +78 -0
  124. package/node_modules/mdast-util-to-string/readme.md +218 -0
  125. package/node_modules/micromark/dev/index.d.ts +82 -0
  126. package/node_modules/micromark/dev/index.d.ts.map +1 -0
  127. package/node_modules/micromark/dev/index.js +68 -0
  128. package/node_modules/micromark/dev/lib/compile.d.ts +16 -0
  129. package/node_modules/micromark/dev/lib/compile.d.ts.map +1 -0
  130. package/node_modules/micromark/dev/lib/compile.js +1162 -0
  131. package/node_modules/micromark/dev/lib/constructs.d.ts +73 -0
  132. package/node_modules/micromark/dev/lib/constructs.d.ts.map +1 -0
  133. package/node_modules/micromark/dev/lib/constructs.js +101 -0
  134. package/node_modules/micromark/dev/lib/create-tokenizer.d.ts +46 -0
  135. package/node_modules/micromark/dev/lib/create-tokenizer.d.ts.map +1 -0
  136. package/node_modules/micromark/dev/lib/create-tokenizer.js +718 -0
  137. package/node_modules/micromark/dev/lib/initialize/content.d.ts +4 -0
  138. package/node_modules/micromark/dev/lib/initialize/content.d.ts.map +1 -0
  139. package/node_modules/micromark/dev/lib/initialize/content.js +99 -0
  140. package/node_modules/micromark/dev/lib/initialize/document.d.ts +10 -0
  141. package/node_modules/micromark/dev/lib/initialize/document.d.ts.map +1 -0
  142. package/node_modules/micromark/dev/lib/initialize/document.js +449 -0
  143. package/node_modules/micromark/dev/lib/initialize/flow.d.ts +4 -0
  144. package/node_modules/micromark/dev/lib/initialize/flow.d.ts.map +1 -0
  145. package/node_modules/micromark/dev/lib/initialize/flow.js +86 -0
  146. package/node_modules/micromark/dev/lib/initialize/text.d.ts +8 -0
  147. package/node_modules/micromark/dev/lib/initialize/text.d.ts.map +1 -0
  148. package/node_modules/micromark/dev/lib/initialize/text.js +248 -0
  149. package/node_modules/micromark/dev/lib/parse.d.ts +10 -0
  150. package/node_modules/micromark/dev/lib/parse.d.ts.map +1 -0
  151. package/node_modules/micromark/dev/lib/parse.js +58 -0
  152. package/node_modules/micromark/dev/lib/postprocess.d.ts +9 -0
  153. package/node_modules/micromark/dev/lib/postprocess.d.ts.map +1 -0
  154. package/node_modules/micromark/dev/lib/postprocess.js +19 -0
  155. package/node_modules/micromark/dev/lib/preprocess.d.ts +13 -0
  156. package/node_modules/micromark/dev/lib/preprocess.d.ts.map +1 -0
  157. package/node_modules/micromark/dev/lib/preprocess.js +139 -0
  158. package/node_modules/micromark/dev/stream.d.ts +35 -0
  159. package/node_modules/micromark/dev/stream.d.ts.map +1 -0
  160. package/node_modules/micromark/dev/stream.js +270 -0
  161. package/node_modules/micromark/index.d.ts +82 -0
  162. package/node_modules/micromark/index.d.ts.map +1 -0
  163. package/node_modules/micromark/index.js +60 -0
  164. package/node_modules/micromark/lib/compile.d.ts +16 -0
  165. package/node_modules/micromark/lib/compile.d.ts.map +1 -0
  166. package/node_modules/micromark/lib/compile.js +1068 -0
  167. package/node_modules/micromark/lib/constructs.d.ts +73 -0
  168. package/node_modules/micromark/lib/constructs.d.ts.map +1 -0
  169. package/node_modules/micromark/lib/constructs.js +85 -0
  170. package/node_modules/micromark/lib/create-tokenizer.d.ts +46 -0
  171. package/node_modules/micromark/lib/create-tokenizer.d.ts.map +1 -0
  172. package/node_modules/micromark/lib/create-tokenizer.js +613 -0
  173. package/node_modules/micromark/lib/initialize/content.d.ts +4 -0
  174. package/node_modules/micromark/lib/initialize/content.d.ts.map +1 -0
  175. package/node_modules/micromark/lib/initialize/content.js +79 -0
  176. package/node_modules/micromark/lib/initialize/document.d.ts +10 -0
  177. package/node_modules/micromark/lib/initialize/document.d.ts.map +1 -0
  178. package/node_modules/micromark/lib/initialize/document.js +370 -0
  179. package/node_modules/micromark/lib/initialize/flow.d.ts +4 -0
  180. package/node_modules/micromark/lib/initialize/flow.d.ts.map +1 -0
  181. package/node_modules/micromark/lib/initialize/flow.js +58 -0
  182. package/node_modules/micromark/lib/initialize/text.d.ts +8 -0
  183. package/node_modules/micromark/lib/initialize/text.d.ts.map +1 -0
  184. package/node_modules/micromark/lib/initialize/text.js +216 -0
  185. package/node_modules/micromark/lib/parse.d.ts +10 -0
  186. package/node_modules/micromark/lib/parse.d.ts.map +1 -0
  187. package/node_modules/micromark/lib/parse.js +56 -0
  188. package/node_modules/micromark/lib/postprocess.d.ts +9 -0
  189. package/node_modules/micromark/lib/postprocess.d.ts.map +1 -0
  190. package/node_modules/micromark/lib/postprocess.js +18 -0
  191. package/node_modules/micromark/lib/preprocess.d.ts +13 -0
  192. package/node_modules/micromark/lib/preprocess.d.ts.map +1 -0
  193. package/node_modules/micromark/lib/preprocess.js +112 -0
  194. package/node_modules/micromark/license +22 -0
  195. package/node_modules/micromark/package.json +87 -0
  196. package/node_modules/micromark/readme.md +488 -0
  197. package/node_modules/micromark/stream.d.ts +35 -0
  198. package/node_modules/micromark/stream.d.ts.map +1 -0
  199. package/node_modules/micromark/stream.js +256 -0
  200. package/node_modules/micromark-core-commonmark/dev/index.d.ts +23 -0
  201. package/node_modules/micromark-core-commonmark/dev/index.d.ts.map +1 -0
  202. package/node_modules/micromark-core-commonmark/dev/index.js +22 -0
  203. package/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts +4 -0
  204. package/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts.map +1 -0
  205. package/node_modules/micromark-core-commonmark/dev/lib/attention.js +294 -0
  206. package/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts +4 -0
  207. package/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts.map +1 -0
  208. package/node_modules/micromark-core-commonmark/dev/lib/autolink.js +269 -0
  209. package/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts +4 -0
  210. package/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts.map +1 -0
  211. package/node_modules/micromark-core-commonmark/dev/lib/blank-line.js +62 -0
  212. package/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts +4 -0
  213. package/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts.map +1 -0
  214. package/node_modules/micromark-core-commonmark/dev/lib/block-quote.js +162 -0
  215. package/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts +4 -0
  216. package/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts.map +1 -0
  217. package/node_modules/micromark-core-commonmark/dev/lib/character-escape.js +69 -0
  218. package/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts +4 -0
  219. package/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts.map +1 -0
  220. package/node_modules/micromark-core-commonmark/dev/lib/character-reference.js +166 -0
  221. package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts +4 -0
  222. package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts.map +1 -0
  223. package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js +472 -0
  224. package/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts +4 -0
  225. package/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts.map +1 -0
  226. package/node_modules/micromark-core-commonmark/dev/lib/code-indented.js +178 -0
  227. package/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts +4 -0
  228. package/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts.map +1 -0
  229. package/node_modules/micromark-core-commonmark/dev/lib/code-text.js +257 -0
  230. package/node_modules/micromark-core-commonmark/dev/lib/content.d.ts +7 -0
  231. package/node_modules/micromark-core-commonmark/dev/lib/content.d.ts.map +1 -0
  232. package/node_modules/micromark-core-commonmark/dev/lib/content.js +185 -0
  233. package/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts +4 -0
  234. package/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts.map +1 -0
  235. package/node_modules/micromark-core-commonmark/dev/lib/definition.js +295 -0
  236. package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts +4 -0
  237. package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts.map +1 -0
  238. package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js +65 -0
  239. package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts +4 -0
  240. package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts.map +1 -0
  241. package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js +229 -0
  242. package/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts +4 -0
  243. package/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts.map +1 -0
  244. package/node_modules/micromark-core-commonmark/dev/lib/html-flow.js +938 -0
  245. package/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts +4 -0
  246. package/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts.map +1 -0
  247. package/node_modules/micromark-core-commonmark/dev/lib/html-text.js +783 -0
  248. package/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts +4 -0
  249. package/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts.map +1 -0
  250. package/node_modules/micromark-core-commonmark/dev/lib/label-end.js +658 -0
  251. package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts +4 -0
  252. package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts.map +1 -0
  253. package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js +119 -0
  254. package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts +4 -0
  255. package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts.map +1 -0
  256. package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js +71 -0
  257. package/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts +4 -0
  258. package/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts.map +1 -0
  259. package/node_modules/micromark-core-commonmark/dev/lib/line-ending.js +34 -0
  260. package/node_modules/micromark-core-commonmark/dev/lib/list.d.ts +4 -0
  261. package/node_modules/micromark-core-commonmark/dev/lib/list.d.ts.map +1 -0
  262. package/node_modules/micromark-core-commonmark/dev/lib/list.js +306 -0
  263. package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts +4 -0
  264. package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  265. package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.js +67 -0
  266. package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts +4 -0
  267. package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts.map +1 -0
  268. package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js +213 -0
  269. package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts +4 -0
  270. package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts.map +1 -0
  271. package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js +120 -0
  272. package/node_modules/micromark-core-commonmark/index.d.ts +23 -0
  273. package/node_modules/micromark-core-commonmark/index.d.ts.map +1 -0
  274. package/node_modules/micromark-core-commonmark/index.js +22 -0
  275. package/node_modules/micromark-core-commonmark/lib/attention.d.ts +4 -0
  276. package/node_modules/micromark-core-commonmark/lib/attention.d.ts.map +1 -0
  277. package/node_modules/micromark-core-commonmark/lib/attention.js +231 -0
  278. package/node_modules/micromark-core-commonmark/lib/autolink.d.ts +4 -0
  279. package/node_modules/micromark-core-commonmark/lib/autolink.d.ts.map +1 -0
  280. package/node_modules/micromark-core-commonmark/lib/autolink.js +233 -0
  281. package/node_modules/micromark-core-commonmark/lib/blank-line.d.ts +4 -0
  282. package/node_modules/micromark-core-commonmark/lib/blank-line.d.ts.map +1 -0
  283. package/node_modules/micromark-core-commonmark/lib/blank-line.js +61 -0
  284. package/node_modules/micromark-core-commonmark/lib/block-quote.d.ts +4 -0
  285. package/node_modules/micromark-core-commonmark/lib/block-quote.d.ts.map +1 -0
  286. package/node_modules/micromark-core-commonmark/lib/block-quote.js +143 -0
  287. package/node_modules/micromark-core-commonmark/lib/character-escape.d.ts +4 -0
  288. package/node_modules/micromark-core-commonmark/lib/character-escape.d.ts.map +1 -0
  289. package/node_modules/micromark-core-commonmark/lib/character-escape.js +64 -0
  290. package/node_modules/micromark-core-commonmark/lib/character-reference.d.ts +4 -0
  291. package/node_modules/micromark-core-commonmark/lib/character-reference.d.ts.map +1 -0
  292. package/node_modules/micromark-core-commonmark/lib/character-reference.js +149 -0
  293. package/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts +4 -0
  294. package/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts.map +1 -0
  295. package/node_modules/micromark-core-commonmark/lib/code-fenced.js +422 -0
  296. package/node_modules/micromark-core-commonmark/lib/code-indented.d.ts +4 -0
  297. package/node_modules/micromark-core-commonmark/lib/code-indented.d.ts.map +1 -0
  298. package/node_modules/micromark-core-commonmark/lib/code-indented.js +159 -0
  299. package/node_modules/micromark-core-commonmark/lib/code-text.d.ts +4 -0
  300. package/node_modules/micromark-core-commonmark/lib/code-text.d.ts.map +1 -0
  301. package/node_modules/micromark-core-commonmark/lib/code-text.js +225 -0
  302. package/node_modules/micromark-core-commonmark/lib/content.d.ts +7 -0
  303. package/node_modules/micromark-core-commonmark/lib/content.d.ts.map +1 -0
  304. package/node_modules/micromark-core-commonmark/lib/content.js +163 -0
  305. package/node_modules/micromark-core-commonmark/lib/definition.d.ts +4 -0
  306. package/node_modules/micromark-core-commonmark/lib/definition.d.ts.map +1 -0
  307. package/node_modules/micromark-core-commonmark/lib/definition.js +254 -0
  308. package/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts +4 -0
  309. package/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts.map +1 -0
  310. package/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +60 -0
  311. package/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts +4 -0
  312. package/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts.map +1 -0
  313. package/node_modules/micromark-core-commonmark/lib/heading-atx.js +191 -0
  314. package/node_modules/micromark-core-commonmark/lib/html-flow.d.ts +4 -0
  315. package/node_modules/micromark-core-commonmark/lib/html-flow.d.ts.map +1 -0
  316. package/node_modules/micromark-core-commonmark/lib/html-flow.js +827 -0
  317. package/node_modules/micromark-core-commonmark/lib/html-text.d.ts +4 -0
  318. package/node_modules/micromark-core-commonmark/lib/html-text.d.ts.map +1 -0
  319. package/node_modules/micromark-core-commonmark/lib/html-text.js +678 -0
  320. package/node_modules/micromark-core-commonmark/lib/label-end.d.ts +4 -0
  321. package/node_modules/micromark-core-commonmark/lib/label-end.d.ts.map +1 -0
  322. package/node_modules/micromark-core-commonmark/lib/label-end.js +561 -0
  323. package/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts +4 -0
  324. package/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts.map +1 -0
  325. package/node_modules/micromark-core-commonmark/lib/label-start-image.js +110 -0
  326. package/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts +4 -0
  327. package/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts.map +1 -0
  328. package/node_modules/micromark-core-commonmark/lib/label-start-link.js +63 -0
  329. package/node_modules/micromark-core-commonmark/lib/line-ending.d.ts +4 -0
  330. package/node_modules/micromark-core-commonmark/lib/line-ending.d.ts.map +1 -0
  331. package/node_modules/micromark-core-commonmark/lib/line-ending.js +33 -0
  332. package/node_modules/micromark-core-commonmark/lib/list.d.ts +4 -0
  333. package/node_modules/micromark-core-commonmark/lib/list.d.ts.map +1 -0
  334. package/node_modules/micromark-core-commonmark/lib/list.js +213 -0
  335. package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts +4 -0
  336. package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  337. package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js +61 -0
  338. package/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts +4 -0
  339. package/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts.map +1 -0
  340. package/node_modules/micromark-core-commonmark/lib/setext-underline.js +187 -0
  341. package/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts +4 -0
  342. package/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts.map +1 -0
  343. package/node_modules/micromark-core-commonmark/lib/thematic-break.js +102 -0
  344. package/node_modules/micromark-core-commonmark/license +22 -0
  345. package/node_modules/micromark-core-commonmark/package.json +62 -0
  346. package/node_modules/micromark-core-commonmark/readme.md +171 -0
  347. package/node_modules/micromark-factory-destination/dev/index.d.ts +42 -0
  348. package/node_modules/micromark-factory-destination/dev/index.d.ts.map +1 -0
  349. package/node_modules/micromark-factory-destination/dev/index.js +255 -0
  350. package/node_modules/micromark-factory-destination/index.d.ts +42 -0
  351. package/node_modules/micromark-factory-destination/index.d.ts.map +1 -0
  352. package/node_modules/micromark-factory-destination/index.js +206 -0
  353. package/node_modules/micromark-factory-destination/license +22 -0
  354. package/node_modules/micromark-factory-destination/package.json +57 -0
  355. package/node_modules/micromark-factory-destination/readme.md +234 -0
  356. package/node_modules/micromark-factory-label/dev/index.d.ts +37 -0
  357. package/node_modules/micromark-factory-label/dev/index.d.ts.map +1 -0
  358. package/node_modules/micromark-factory-label/dev/index.js +172 -0
  359. package/node_modules/micromark-factory-label/index.d.ts +37 -0
  360. package/node_modules/micromark-factory-label/index.d.ts.map +1 -0
  361. package/node_modules/micromark-factory-label/index.js +148 -0
  362. package/node_modules/micromark-factory-label/license +22 -0
  363. package/node_modules/micromark-factory-label/package.json +60 -0
  364. package/node_modules/micromark-factory-label/readme.md +224 -0
  365. package/node_modules/micromark-factory-space/dev/index.d.ts +60 -0
  366. package/node_modules/micromark-factory-space/dev/index.d.ts.map +1 -0
  367. package/node_modules/micromark-factory-space/dev/index.js +122 -0
  368. package/node_modules/micromark-factory-space/index.d.ts +60 -0
  369. package/node_modules/micromark-factory-space/index.d.ts.map +1 -0
  370. package/node_modules/micromark-factory-space/index.js +116 -0
  371. package/node_modules/micromark-factory-space/license +22 -0
  372. package/node_modules/micromark-factory-space/package.json +46 -0
  373. package/node_modules/micromark-factory-space/readme.md +225 -0
  374. package/node_modules/micromark-factory-title/dev/index.d.ts +36 -0
  375. package/node_modules/micromark-factory-title/dev/index.d.ts.map +1 -0
  376. package/node_modules/micromark-factory-title/dev/index.js +169 -0
  377. package/node_modules/micromark-factory-title/index.d.ts +36 -0
  378. package/node_modules/micromark-factory-title/index.d.ts.map +1 -0
  379. package/node_modules/micromark-factory-title/index.js +158 -0
  380. package/node_modules/micromark-factory-title/license +22 -0
  381. package/node_modules/micromark-factory-title/package.json +58 -0
  382. package/node_modules/micromark-factory-title/readme.md +229 -0
  383. package/node_modules/micromark-factory-whitespace/dev/index.d.ts +22 -0
  384. package/node_modules/micromark-factory-whitespace/dev/index.d.ts.map +1 -0
  385. package/node_modules/micromark-factory-whitespace/dev/index.js +53 -0
  386. package/node_modules/micromark-factory-whitespace/index.d.ts +22 -0
  387. package/node_modules/micromark-factory-whitespace/index.d.ts.map +1 -0
  388. package/node_modules/micromark-factory-whitespace/index.js +44 -0
  389. package/node_modules/micromark-factory-whitespace/license +22 -0
  390. package/node_modules/micromark-factory-whitespace/package.json +57 -0
  391. package/node_modules/micromark-factory-whitespace/readme.md +205 -0
  392. package/node_modules/micromark-util-character/dev/index.d.ts +195 -0
  393. package/node_modules/micromark-util-character/dev/index.d.ts.map +1 -0
  394. package/node_modules/micromark-util-character/dev/index.js +252 -0
  395. package/node_modules/micromark-util-character/index.d.ts +195 -0
  396. package/node_modules/micromark-util-character/index.d.ts.map +1 -0
  397. package/node_modules/micromark-util-character/index.js +246 -0
  398. package/node_modules/micromark-util-character/license +22 -0
  399. package/node_modules/micromark-util-character/package.json +57 -0
  400. package/node_modules/micromark-util-character/readme.md +446 -0
  401. package/node_modules/micromark-util-chunked/dev/index.d.ts +41 -0
  402. package/node_modules/micromark-util-chunked/dev/index.d.ts.map +1 -0
  403. package/node_modules/micromark-util-chunked/dev/index.js +89 -0
  404. package/node_modules/micromark-util-chunked/index.d.ts +41 -0
  405. package/node_modules/micromark-util-chunked/index.d.ts.map +1 -0
  406. package/node_modules/micromark-util-chunked/index.js +81 -0
  407. package/node_modules/micromark-util-chunked/license +22 -0
  408. package/node_modules/micromark-util-chunked/package.json +57 -0
  409. package/node_modules/micromark-util-chunked/readme.md +219 -0
  410. package/node_modules/micromark-util-classify-character/dev/index.d.ts +18 -0
  411. package/node_modules/micromark-util-classify-character/dev/index.d.ts.map +1 -0
  412. package/node_modules/micromark-util-classify-character/dev/index.js +38 -0
  413. package/node_modules/micromark-util-classify-character/index.d.ts +18 -0
  414. package/node_modules/micromark-util-classify-character/index.d.ts.map +1 -0
  415. package/node_modules/micromark-util-classify-character/index.js +27 -0
  416. package/node_modules/micromark-util-classify-character/license +22 -0
  417. package/node_modules/micromark-util-classify-character/package.json +59 -0
  418. package/node_modules/micromark-util-classify-character/readme.md +205 -0
  419. package/node_modules/micromark-util-combine-extensions/index.d.ts +22 -0
  420. package/node_modules/micromark-util-combine-extensions/index.d.ts.map +1 -0
  421. package/node_modules/micromark-util-combine-extensions/index.js +143 -0
  422. package/node_modules/micromark-util-combine-extensions/license +22 -0
  423. package/node_modules/micromark-util-combine-extensions/package.json +52 -0
  424. package/node_modules/micromark-util-combine-extensions/readme.md +201 -0
  425. package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts +16 -0
  426. package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts.map +1 -0
  427. package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.js +42 -0
  428. package/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts +16 -0
  429. package/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts.map +1 -0
  430. package/node_modules/micromark-util-decode-numeric-character-reference/index.js +32 -0
  431. package/node_modules/micromark-util-decode-numeric-character-reference/license +22 -0
  432. package/node_modules/micromark-util-decode-numeric-character-reference/package.json +59 -0
  433. package/node_modules/micromark-util-decode-numeric-character-reference/readme.md +184 -0
  434. package/node_modules/micromark-util-decode-string/dev/index.d.ts +14 -0
  435. package/node_modules/micromark-util-decode-string/dev/index.d.ts.map +1 -0
  436. package/node_modules/micromark-util-decode-string/dev/index.js +53 -0
  437. package/node_modules/micromark-util-decode-string/index.d.ts +14 -0
  438. package/node_modules/micromark-util-decode-string/index.d.ts.map +1 -0
  439. package/node_modules/micromark-util-decode-string/index.js +45 -0
  440. package/node_modules/micromark-util-decode-string/license +22 -0
  441. package/node_modules/micromark-util-decode-string/package.json +63 -0
  442. package/node_modules/micromark-util-decode-string/readme.md +179 -0
  443. package/node_modules/micromark-util-edit-map/dev/index.d.ts +78 -0
  444. package/node_modules/micromark-util-edit-map/dev/index.d.ts.map +1 -0
  445. package/node_modules/micromark-util-edit-map/dev/index.js +237 -0
  446. package/node_modules/micromark-util-edit-map/index.d.ts +78 -0
  447. package/node_modules/micromark-util-edit-map/index.d.ts.map +1 -0
  448. package/node_modules/micromark-util-edit-map/index.js +225 -0
  449. package/node_modules/micromark-util-edit-map/license +22 -0
  450. package/node_modules/micromark-util-edit-map/package.json +48 -0
  451. package/node_modules/micromark-util-edit-map/readme.md +234 -0
  452. package/node_modules/micromark-util-encode/index.d.ts +14 -0
  453. package/node_modules/micromark-util-encode/index.d.ts.map +1 -0
  454. package/node_modules/micromark-util-encode/index.js +33 -0
  455. package/node_modules/micromark-util-encode/license +22 -0
  456. package/node_modules/micromark-util-encode/package.json +47 -0
  457. package/node_modules/micromark-util-encode/readme.md +176 -0
  458. package/node_modules/micromark-util-html-tag-name/index.d.ts +30 -0
  459. package/node_modules/micromark-util-html-tag-name/index.d.ts.map +1 -0
  460. package/node_modules/micromark-util-html-tag-name/index.js +93 -0
  461. package/node_modules/micromark-util-html-tag-name/license +22 -0
  462. package/node_modules/micromark-util-html-tag-name/package.json +47 -0
  463. package/node_modules/micromark-util-html-tag-name/readme.md +193 -0
  464. package/node_modules/micromark-util-normalize-identifier/dev/index.d.ts +21 -0
  465. package/node_modules/micromark-util-normalize-identifier/dev/index.d.ts.map +1 -0
  466. package/node_modules/micromark-util-normalize-identifier/dev/index.js +38 -0
  467. package/node_modules/micromark-util-normalize-identifier/index.d.ts +21 -0
  468. package/node_modules/micromark-util-normalize-identifier/index.d.ts.map +1 -0
  469. package/node_modules/micromark-util-normalize-identifier/index.js +33 -0
  470. package/node_modules/micromark-util-normalize-identifier/license +22 -0
  471. package/node_modules/micromark-util-normalize-identifier/package.json +58 -0
  472. package/node_modules/micromark-util-normalize-identifier/readme.md +187 -0
  473. package/node_modules/micromark-util-resolve-all/index.d.ts +22 -0
  474. package/node_modules/micromark-util-resolve-all/index.d.ts.map +1 -0
  475. package/node_modules/micromark-util-resolve-all/index.js +32 -0
  476. package/node_modules/micromark-util-resolve-all/license +22 -0
  477. package/node_modules/micromark-util-resolve-all/package.json +48 -0
  478. package/node_modules/micromark-util-resolve-all/readme.md +238 -0
  479. package/node_modules/micromark-util-sanitize-uri/dev/index.d.ts +36 -0
  480. package/node_modules/micromark-util-sanitize-uri/dev/index.d.ts.map +1 -0
  481. package/node_modules/micromark-util-sanitize-uri/dev/index.js +124 -0
  482. package/node_modules/micromark-util-sanitize-uri/index.d.ts +36 -0
  483. package/node_modules/micromark-util-sanitize-uri/index.d.ts.map +1 -0
  484. package/node_modules/micromark-util-sanitize-uri/index.js +107 -0
  485. package/node_modules/micromark-util-sanitize-uri/license +22 -0
  486. package/node_modules/micromark-util-sanitize-uri/package.json +59 -0
  487. package/node_modules/micromark-util-sanitize-uri/readme.md +214 -0
  488. package/node_modules/micromark-util-subtokenize/dev/index.d.ts +12 -0
  489. package/node_modules/micromark-util-subtokenize/dev/index.d.ts.map +1 -0
  490. package/node_modules/micromark-util-subtokenize/dev/index.js +284 -0
  491. package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.d.ts +161 -0
  492. package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.d.ts.map +1 -0
  493. package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.js +288 -0
  494. package/node_modules/micromark-util-subtokenize/index.d.ts +12 -0
  495. package/node_modules/micromark-util-subtokenize/index.d.ts.map +1 -0
  496. package/node_modules/micromark-util-subtokenize/index.js +228 -0
  497. package/node_modules/micromark-util-subtokenize/lib/splice-buffer.d.ts +161 -0
  498. package/node_modules/micromark-util-subtokenize/lib/splice-buffer.d.ts.map +1 -0
  499. package/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +251 -0
  500. package/node_modules/micromark-util-subtokenize/license +22 -0
  501. package/node_modules/micromark-util-subtokenize/package.json +60 -0
  502. package/node_modules/micromark-util-subtokenize/readme.md +181 -0
  503. package/node_modules/micromark-util-symbol/lib/codes.d.ts +139 -0
  504. package/node_modules/micromark-util-symbol/lib/codes.d.ts.map +1 -0
  505. package/node_modules/micromark-util-symbol/lib/codes.js +158 -0
  506. package/node_modules/micromark-util-symbol/lib/constants.d.ts +37 -0
  507. package/node_modules/micromark-util-symbol/lib/constants.d.ts.map +1 -0
  508. package/node_modules/micromark-util-symbol/lib/constants.js +44 -0
  509. package/node_modules/micromark-util-symbol/lib/default.d.ts +5 -0
  510. package/node_modules/micromark-util-symbol/lib/default.d.ts.map +1 -0
  511. package/node_modules/micromark-util-symbol/lib/default.js +4 -0
  512. package/node_modules/micromark-util-symbol/lib/types.d.ts +106 -0
  513. package/node_modules/micromark-util-symbol/lib/types.d.ts.map +1 -0
  514. package/node_modules/micromark-util-symbol/lib/types.js +453 -0
  515. package/node_modules/micromark-util-symbol/lib/values.d.ts +102 -0
  516. package/node_modules/micromark-util-symbol/lib/values.d.ts.map +1 -0
  517. package/node_modules/micromark-util-symbol/lib/values.js +109 -0
  518. package/node_modules/micromark-util-symbol/license +22 -0
  519. package/node_modules/micromark-util-symbol/package.json +43 -0
  520. package/node_modules/micromark-util-symbol/readme.md +168 -0
  521. package/node_modules/micromark-util-types/index.d.ts +1315 -0
  522. package/node_modules/micromark-util-types/index.js +2 -0
  523. package/node_modules/micromark-util-types/license +22 -0
  524. package/node_modules/micromark-util-types/package.json +37 -0
  525. package/node_modules/micromark-util-types/readme.md +151 -0
  526. package/node_modules/smol-toml/LICENSE +24 -0
  527. package/node_modules/smol-toml/README.md +605 -0
  528. package/node_modules/smol-toml/dist/date.d.ts +41 -0
  529. package/node_modules/smol-toml/dist/date.js +156 -0
  530. package/node_modules/smol-toml/dist/error.d.ts +37 -0
  531. package/node_modules/smol-toml/dist/error.js +67 -0
  532. package/node_modules/smol-toml/dist/extract.js +289 -0
  533. package/node_modules/smol-toml/dist/index.cjs +770 -0
  534. package/node_modules/smol-toml/dist/index.d.ts +44 -0
  535. package/node_modules/smol-toml/dist/index.js +34 -0
  536. package/node_modules/smol-toml/dist/parse.d.ts +73 -0
  537. package/node_modules/smol-toml/dist/parse.js +164 -0
  538. package/node_modules/smol-toml/dist/primitive.js +151 -0
  539. package/node_modules/smol-toml/dist/stringify.d.ts +32 -0
  540. package/node_modules/smol-toml/dist/stringify.js +219 -0
  541. package/node_modules/smol-toml/dist/struct.js +156 -0
  542. package/node_modules/smol-toml/dist/util.d.ts +43 -0
  543. package/node_modules/smol-toml/dist/util.js +57 -0
  544. package/node_modules/smol-toml/package.json +68 -0
  545. package/node_modules/unist-util-stringify-position/index.d.ts +1 -0
  546. package/node_modules/unist-util-stringify-position/index.js +1 -0
  547. package/node_modules/unist-util-stringify-position/lib/index.d.ts +61 -0
  548. package/node_modules/unist-util-stringify-position/lib/index.js +84 -0
  549. package/node_modules/unist-util-stringify-position/license +22 -0
  550. package/node_modules/unist-util-stringify-position/package.json +80 -0
  551. package/node_modules/unist-util-stringify-position/readme.md +206 -0
  552. package/package.json +27 -8
  553. package/scripts/prepare-github-keyring.js +29 -0
  554. package/src/codex-app.js +20 -2
  555. package/src/codex-pricing.js +79 -0
  556. package/src/codex-projects.js +90 -0
  557. package/src/codex-session-scanner.js +748 -0
  558. package/src/codex-session-usage.js +332 -0
  559. package/src/dashboard/app.js +2 -2
  560. package/src/dashboard/dist/app.js +135 -60
  561. package/src/dashboard/dist/app.js.map +1 -1
  562. package/src/dashboard/dist/styles.css +1 -1
  563. package/src/dashboard/react/components/AnimatedUsage.test.tsx +78 -0
  564. package/src/dashboard/react/components/CardStatusIcons.test.tsx +146 -0
  565. package/src/dashboard/react/components/CardStatusIcons.tsx +138 -0
  566. package/src/dashboard/react/components/ImageGallery.tsx +22 -0
  567. package/src/dashboard/react/components/ModelSettings.test.tsx +4 -4
  568. package/src/dashboard/react/components/ModelSettings.tsx +1 -1
  569. package/src/dashboard/react/components/OpenChatButton.test.tsx +19 -0
  570. package/src/dashboard/react/components/OpenChatButton.tsx +2 -1
  571. package/src/dashboard/react/components/PrGlyph.tsx +35 -0
  572. package/src/dashboard/react/components/PullRequestBadges.tsx +18 -0
  573. package/src/dashboard/react/components/QueuedPrompts.test.tsx +42 -0
  574. package/src/dashboard/react/components/QueuedPrompts.tsx +34 -0
  575. package/src/dashboard/react/components/RelativeTime.test.tsx +100 -0
  576. package/src/dashboard/react/components/RelativeTime.tsx +46 -11
  577. package/src/dashboard/react/components/ReplyCover.test.tsx +30 -0
  578. package/src/dashboard/react/components/ReplyCover.tsx +33 -0
  579. package/src/dashboard/react/components/ReplyImagePreview.test.tsx +90 -0
  580. package/src/dashboard/react/components/ReplyImagePreview.tsx +34 -0
  581. package/src/dashboard/react/components/ReplyMarkdown.test.tsx +108 -0
  582. package/src/dashboard/react/components/ReplyMarkdown.tsx +112 -0
  583. package/src/dashboard/react/components/SavedUsageFormat.test.tsx +11 -0
  584. package/src/dashboard/react/components/SavedUsageFormat.tsx +68 -0
  585. package/src/dashboard/react/components/StatusBadge.tsx +2 -2
  586. package/src/dashboard/react/components/TaskBoard.test.tsx +256 -1
  587. package/src/dashboard/react/components/TaskBoard.tsx +136 -28
  588. package/src/dashboard/react/components/TaskCard.tsx +7 -4
  589. package/src/dashboard/react/components/TaskDetail.test.tsx +92 -1
  590. package/src/dashboard/react/components/TaskDetail.tsx +37 -10
  591. package/src/dashboard/react/components/TurnContent.test.tsx +44 -0
  592. package/src/dashboard/react/components/TurnContent.tsx +53 -0
  593. package/src/dashboard/react/components/UsagePanel.tsx +2 -2
  594. package/src/dashboard/react/image-cache.test.ts +23 -0
  595. package/src/dashboard/react/image-cache.ts +33 -0
  596. package/src/dashboard/react/presentation.test.tsx +31 -0
  597. package/src/dashboard/react/styles.css +126 -2
  598. package/src/dashboard/react/types.ts +55 -1
  599. package/src/dashboard/time.js +39 -0
  600. package/src/dashboard.js +4 -3
  601. package/src/data/codex-pricing.json +537 -0
  602. package/src/mcp-app/dist/index.html +216 -112
  603. package/src/mcp-app/react/AppearancePicker.test.tsx +50 -0
  604. package/src/mcp-app/react/AppearancePicker.tsx +56 -0
  605. package/src/mcp-app/react/GitHubConnection.test.tsx +78 -0
  606. package/src/mcp-app/react/GitHubConnection.tsx +78 -0
  607. package/src/mcp-app/react/NextNotificationCenter.test.tsx +121 -0
  608. package/src/mcp-app/react/NextNotificationCenter.tsx +94 -0
  609. package/src/mcp-app/react/NextTaskDetail.test.tsx +124 -0
  610. package/src/mcp-app/react/NextTaskDetail.tsx +147 -0
  611. package/src/mcp-app/react/ProjectPicker.tsx +49 -0
  612. package/src/mcp-app/react/main.test.tsx +499 -49
  613. package/src/mcp-app/react/main.tsx +359 -86
  614. package/src/mcp-app/react/styles.css +186 -9
  615. package/src/mcp-app/react/themes.test.ts +34 -0
  616. package/src/mcp-app/react/themes.ts +112 -0
  617. package/src/mcp-app.js +238 -120
  618. package/src/mcp.js +8 -1
  619. package/src/next-cache.js +16 -0
  620. package/src/next-github.js +273 -0
  621. package/src/next-notifications.js +90 -0
  622. package/src/recorded-usage-tracker.js +92 -0
  623. package/src/reply-image.js +65 -0
  624. package/src/usage-tracker.js +7 -6
  625. package/src/usage.js +7 -355
  626. package/src/user-prompt.js +55 -0
  627. package/src/version.js +0 -1
  628. package/node_modules/proper-lockfile/CHANGELOG.md +0 -108
  629. package/node_modules/which/CHANGELOG.md +0 -166
  630. package/src/resolve-ccusage.js +0 -17
@@ -0,0 +1,770 @@
1
+ /*!
2
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
3
+ * SPDX-License-Identifier: BSD-3-Clause
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions are met:
7
+ *
8
+ * 1. Redistributions of source code must retain the above copyright notice, this
9
+ * list of conditions and the following disclaimer.
10
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
11
+ * this list of conditions and the following disclaimer in the
12
+ * documentation and/or other materials provided with the distribution.
13
+ * 3. Neither the name of the copyright holder nor the names of its contributors
14
+ * may be used to endorse or promote products derived from this software without
15
+ * specific prior written permission.
16
+ *
17
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
21
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+ "use strict";
29
+ Object.defineProperties(exports, {
30
+ __esModule: { value: true },
31
+ [Symbol.toStringTag]: { value: "Module" }
32
+ });
33
+ //#region src/error.ts
34
+ function getLineColFromPtr(string, ptr) {
35
+ let lines = string.slice(0, ptr).split(/\r?\n/);
36
+ return [lines.length, lines.pop().length + 1];
37
+ }
38
+ function makeCodeBlock(string, line, column) {
39
+ let lines = string.split(/\r?\n/);
40
+ let codeblock = "";
41
+ let numberLen = (Math.log10(line + 1) | 0) + 1;
42
+ for (let i = line - 1; i <= line + 1; i++) {
43
+ let l = lines[i - 1];
44
+ if (!l) continue;
45
+ codeblock += i.toString().padEnd(numberLen, " ");
46
+ codeblock += ": ";
47
+ codeblock += l;
48
+ codeblock += "\n";
49
+ if (i === line) {
50
+ codeblock += " ".repeat(numberLen + column + 2);
51
+ codeblock += "^\n";
52
+ }
53
+ }
54
+ return codeblock;
55
+ }
56
+ var TomlError = class TomlError extends Error {
57
+ line;
58
+ column;
59
+ codeblock;
60
+ constructor(message, options) {
61
+ const [line, column] = getLineColFromPtr(options.toml, options.ptr);
62
+ const codeblock = makeCodeBlock(options.toml, line, column);
63
+ super(`Invalid TOML document: ${message}\n\n${codeblock}`, options);
64
+ this.line = line;
65
+ this.column = column;
66
+ this.codeblock = codeblock;
67
+ }
68
+ /** @internal */
69
+ static x(message, ctx, ptr) {
70
+ throw new TomlError(message, {
71
+ toml: ctx.s,
72
+ ptr: ptr ?? ctx.p
73
+ });
74
+ }
75
+ };
76
+ //#endregion
77
+ //#region src/primitive.ts
78
+ /** @internal */
79
+ function parseString(ctx) {
80
+ let startPtr = ctx.p;
81
+ let c = ctx.s.charCodeAt(ctx.p++);
82
+ let first = c;
83
+ let isLiteral = c === 39;
84
+ let isMultiline = c === ctx.s.charCodeAt(ctx.p) && c === ctx.s.charCodeAt(ctx.p + 1);
85
+ if (isMultiline) {
86
+ if ((c = ctx.s.charCodeAt(ctx.p += 2)) === 10) ctx.p++;
87
+ else if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10) ctx.p += 2;
88
+ }
89
+ let parsed = "";
90
+ let sliceStart = ctx.p;
91
+ let state = 0;
92
+ for (; ctx.p < ctx.s.length; ctx.p++) {
93
+ c = ctx.s.charCodeAt(ctx.p);
94
+ if (isMultiline && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10)) state = state && 3;
95
+ else if (c < 32 && c !== 9 || c === 127) TomlError.x("control characters are not allowed in strings", ctx);
96
+ else if ((!state || state === 3) && c === first && (!isMultiline || ctx.s.charCodeAt(ctx.p + 1) === first && ctx.s.charCodeAt(ctx.p + 2) === first)) {
97
+ if (isMultiline) {
98
+ if (ctx.s.charCodeAt(ctx.p + 3) === first) ctx.p++;
99
+ if (ctx.s.charCodeAt(ctx.p + 3) === first) ctx.p++;
100
+ }
101
+ if (!state) {
102
+ let s = ctx.s.slice(sliceStart, ctx.p);
103
+ parsed = parsed ? parsed + s : s;
104
+ }
105
+ ctx.p += isMultiline ? 3 : 1;
106
+ return parsed;
107
+ } else if (!state) {
108
+ if (!isLiteral && c === 92) {
109
+ parsed += ctx.s.slice(sliceStart, sliceStart = ctx.p);
110
+ state = 1;
111
+ }
112
+ } else if (state === 1) {
113
+ if (c === 120 || c === 117 || c === 85) {
114
+ let errPtr = ctx.p++ - 1;
115
+ let value = 0;
116
+ let len = c === 120 ? 2 : c === 117 ? 4 : 8;
117
+ for (let j = 0; j < len; j++, ctx.p++) {
118
+ let hex = ctx.s.charCodeAt(ctx.p);
119
+ let digit = hex >= 48 && hex <= 57 ? hex - 48 : hex >= 65 && hex <= 70 ? hex - 65 + 10 : hex >= 97 && hex <= 102 ? hex - 97 + 10 : -1;
120
+ if (digit < 0) TomlError.x("invalid non-hex character in unicode escape", ctx);
121
+ value = value << 4 | digit;
122
+ }
123
+ if (value < 0 || value > 1114111 || value >= 55296 && value <= 57343) TomlError.x("invalid unicode escape", ctx, errPtr);
124
+ parsed += String.fromCodePoint(value);
125
+ sliceStart = ctx.p--;
126
+ state = 0;
127
+ } else if (isMultiline && (c === 32 || c === 9)) state = 2;
128
+ else {
129
+ if (c === 98) parsed += "\b";
130
+ else if (c === 116) parsed += " ";
131
+ else if (c === 110) parsed += "\n";
132
+ else if (c === 102) parsed += "\f";
133
+ else if (c === 114) parsed += "\r";
134
+ else if (c === 101) parsed += "\x1B";
135
+ else if (c === 34) parsed += "\"";
136
+ else if (c === 92) parsed += "\\";
137
+ else TomlError.x("unrecognised escape sequence", ctx);
138
+ sliceStart = ctx.p + 1;
139
+ state = 0;
140
+ }
141
+ } else if (c !== 32 && c !== 9) {
142
+ if (state === 2) TomlError.x("invalid escape: only line-ending whitespace may be escaped", ctx, sliceStart);
143
+ state = !isLiteral && c === 92 ? 1 : 0;
144
+ sliceStart = ctx.p;
145
+ }
146
+ }
147
+ TomlError.x("unfinished string", ctx, startPtr);
148
+ }
149
+ //#endregion
150
+ //#region src/date.ts
151
+ let DATE_TIME_RE = /^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i;
152
+ var TomlDate = class TomlDate extends Date {
153
+ #hasDate = false;
154
+ #hasTime = false;
155
+ #offset = null;
156
+ constructor(date, fasttype, unsafeDelim) {
157
+ let hasDate = true;
158
+ let hasTime = true;
159
+ let offset = "Z";
160
+ let c;
161
+ if (typeof date === "string") {
162
+ if (fasttype) prep: {
163
+ if (fasttype < 3) {
164
+ if (+date.slice(11, 13) > 23) {
165
+ date = "";
166
+ break prep;
167
+ }
168
+ if (fasttype === 2) {
169
+ offset = null;
170
+ date += "Z";
171
+ } else if ((c = date.charCodeAt(date.length - 1)) !== 90 && c !== 122) offset = date.slice(date.length - 6);
172
+ if (unsafeDelim) date = date.slice(0, 10) + "T" + date.slice(11);
173
+ } else if (fasttype === 4) date = +date.slice(0, 2) > 23 ? "" : `0000-01-01T${date}Z`;
174
+ hasDate = fasttype !== 4;
175
+ hasTime = fasttype !== 3;
176
+ }
177
+ else {
178
+ let match = date.match(DATE_TIME_RE);
179
+ if (match) {
180
+ if (!match[1]) {
181
+ hasDate = false;
182
+ date = `0000-01-01T${date}`;
183
+ }
184
+ hasTime = !!match[2];
185
+ hasTime && date[10] === " " && (date = date.replace(" ", "T"));
186
+ if (match[2] && +match[2] > 23) date = "";
187
+ else {
188
+ offset = match[3] || null;
189
+ if (!offset && hasTime) date += "Z";
190
+ }
191
+ } else date = "";
192
+ }
193
+ }
194
+ super(date);
195
+ if (!isNaN(this.getTime())) {
196
+ this.#hasDate = hasDate;
197
+ this.#hasTime = hasTime;
198
+ this.#offset = offset;
199
+ }
200
+ }
201
+ isDateTime() {
202
+ return this.#hasDate && this.#hasTime;
203
+ }
204
+ isLocal() {
205
+ return !this.#hasDate || !this.#hasTime || !this.#offset;
206
+ }
207
+ isDate() {
208
+ return this.#hasDate && !this.#hasTime;
209
+ }
210
+ isTime() {
211
+ return this.#hasTime && !this.#hasDate;
212
+ }
213
+ isValid() {
214
+ return this.#hasDate || this.#hasTime;
215
+ }
216
+ toISOString() {
217
+ let iso = super.toISOString();
218
+ if (this.isDate()) return iso.slice(0, 10);
219
+ if (this.isTime()) return iso.slice(11, 23);
220
+ if (this.#offset === null) return iso.slice(0, -1);
221
+ if (this.#offset === "Z" || this.#offset === "z") return iso;
222
+ let offset = +this.#offset.slice(1, 3) * 60 + +this.#offset.slice(4, 6);
223
+ offset = this.#offset[0] === "-" ? offset : -offset;
224
+ return (/* @__PURE__ */ new Date(this.getTime() - offset * 6e4)).toISOString().slice(0, -1) + this.#offset;
225
+ }
226
+ static wrapAsOffsetDateTime(jsDate, offset = "Z") {
227
+ let date = new TomlDate(jsDate);
228
+ date.#offset = offset;
229
+ return date;
230
+ }
231
+ static wrapAsLocalDateTime(jsDate) {
232
+ let date = new TomlDate(jsDate);
233
+ date.#offset = null;
234
+ return date;
235
+ }
236
+ static wrapAsLocalDate(jsDate) {
237
+ let date = new TomlDate(jsDate);
238
+ date.#hasTime = false;
239
+ date.#offset = null;
240
+ return date;
241
+ }
242
+ static wrapAsLocalTime(jsDate) {
243
+ let date = new TomlDate(jsDate);
244
+ date.#hasDate = false;
245
+ date.#offset = null;
246
+ return date;
247
+ }
248
+ };
249
+ //#endregion
250
+ //#region src/extract.ts
251
+ function isDigit(char, base = 10) {
252
+ return base === 16 ? char > 47 && char < 58 || char > 64 && char < 71 || char > 96 && char < 103 : char > 47 && char < 48 + base;
253
+ }
254
+ function isEndOfValue(char, delim) {
255
+ return char === 32 || char === 9 || char === 10 || char === 13 || delim && (char === delim || char === 44) || char === 35;
256
+ }
257
+ /** @internal */
258
+ function extractValue(ctx, end) {
259
+ let errPtr = ctx.p;
260
+ let c = ctx.s.charCodeAt(ctx.p);
261
+ if (c === 91 || c === 123) {
262
+ ctx.d-- || TomlError.x("document contains excessively nested structures. aborting.", ctx);
263
+ let value = c === 91 ? parseArray(ctx) : parseInlineTable(ctx);
264
+ ctx.d++;
265
+ return value;
266
+ }
267
+ if (c === 34 || c === 39) return parseString(ctx);
268
+ if (c === 116) {
269
+ if (ctx.s.charCodeAt(++ctx.p) !== 114 || ctx.s.charCodeAt(++ctx.p) !== 117 || ctx.s.charCodeAt(++ctx.p) !== 101) TomlError.x("invalid value", ctx, errPtr);
270
+ return ctx.p++, true;
271
+ }
272
+ if (c === 102) {
273
+ if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 108 || ctx.s.charCodeAt(++ctx.p) !== 115 || ctx.s.charCodeAt(++ctx.p) !== 101) TomlError.x("invalid value", ctx, errPtr);
274
+ return ctx.p++, false;
275
+ }
276
+ if (c === 43 || c === 45) return parseNumber(ctx, ctx.p, ctx.s.charCodeAt(++ctx.p), 44 - c, end);
277
+ if (ctx.s.charCodeAt(ctx.p + 4) === 45 && ctx.s.charCodeAt(ctx.p + 7) === 45) return parseDate(ctx, c, end);
278
+ if (ctx.s.charCodeAt(ctx.p + 2) === 58) return parseTime(ctx, c, end);
279
+ return parseNumber(ctx, ctx.p, c, 0, end);
280
+ }
281
+ function parseNumber(ctx, startPtr, startChr, sign, endChr) {
282
+ let c = startChr;
283
+ let state = 0;
284
+ let hasUnderscores = false;
285
+ if (c === 105) {
286
+ if (ctx.s.charCodeAt(++ctx.p) !== 110 || ctx.s.charCodeAt(++ctx.p) !== 102) TomlError.x("invalid value", ctx, startPtr);
287
+ return ctx.p++, (sign || 1) / 0;
288
+ }
289
+ if (c === 110) {
290
+ if (ctx.s.charCodeAt(++ctx.p) !== 97 || ctx.s.charCodeAt(++ctx.p) !== 110) TomlError.x("invalid value", ctx, startPtr);
291
+ return ctx.p++, NaN;
292
+ }
293
+ if (c === 48) {
294
+ if (++ctx.p >= ctx.s.length || isEndOfValue(c = ctx.s.charCodeAt(ctx.p), endChr)) return ctx.bi === true ? 0n : 0;
295
+ if (!sign) {
296
+ if (c === 120) return parseIntegerBaseN(ctx, startPtr, 16, endChr);
297
+ else if (c === 98) return parseIntegerBaseN(ctx, startPtr, 2, endChr);
298
+ else if (c === 111) return parseIntegerBaseN(ctx, startPtr, 8, endChr);
299
+ }
300
+ if (c === 46) state = 2;
301
+ else if (c === 101 || c === 69) state = 4;
302
+ else TomlError.x("illegal leading zero", ctx, startPtr);
303
+ } else if (!isDigit(c)) TomlError.x("invalid value", ctx, startPtr);
304
+ while (++ctx.p < ctx.s.length && (c = ctx.s.charCodeAt(ctx.p), !isEndOfValue(c, endChr))) {
305
+ if (!state) state = 1;
306
+ if (c === 95) {
307
+ if (!(state & 1)) TomlError.x("illegal underscore", ctx);
308
+ state += 11;
309
+ hasUnderscores = true;
310
+ } else if (state === 1 && c === 46) state = 2;
311
+ else if ((state === 1 || state === 3) && (c === 101 || c === 69)) state = 4;
312
+ else if (state === 4 && (c === 43 || c === 45)) {} else if (!isDigit(c)) TomlError.x(`illegal character in numeric literal`, ctx);
313
+ else if (state > 9) state -= 11;
314
+ else if (!(state & 1)) state++;
315
+ }
316
+ if (!state) {
317
+ let val = (startChr - 48) * (sign || 1);
318
+ return ctx.bi === true ? BigInt(val) : val;
319
+ }
320
+ if (!(state & 1)) TomlError.x("unfinished numeric value", ctx, startPtr);
321
+ let str = ctx.s.slice(startPtr, ctx.p);
322
+ if (hasUnderscores) str = str.replaceAll("_", "");
323
+ return state > 1 ? parseFloat(str) : parseInteger(ctx, str, 10, startPtr);
324
+ }
325
+ function parseIntegerBaseN(ctx, startPtr, base, endChr) {
326
+ let c, underscore = 1;
327
+ while (++ctx.p < ctx.s.length && (c = ctx.s.charCodeAt(ctx.p), !isEndOfValue(c, endChr))) if (c === 95) {
328
+ if (underscore & 1) TomlError.x("illegal underscore", ctx);
329
+ underscore = 3;
330
+ } else if (!isDigit(c, base)) TomlError.x(`illegal character in numeric literal`, ctx);
331
+ else if (underscore & 1) underscore--;
332
+ if (underscore & 1) TomlError.x("unfinished numeric value", ctx);
333
+ let str = ctx.s.slice(startPtr + 2, ctx.p);
334
+ if (underscore) str = str.replaceAll("_", "");
335
+ return parseInteger(ctx, str, base, startPtr);
336
+ }
337
+ function parseInteger(ctx, str, base, startPtr) {
338
+ if (ctx.bi !== true) int: {
339
+ let val = parseInt(str, base);
340
+ if (!Number.isSafeInteger(val)) {
341
+ if (ctx.bi) break int;
342
+ TomlError.x("integer value cannot be represented losslessly", ctx, startPtr);
343
+ }
344
+ return val;
345
+ }
346
+ return base === 10 ? BigInt(str) : BigInt((base === 2 ? "0b" : base === 8 ? "0o" : "0x") + str);
347
+ }
348
+ function parseDate(ctx, c, endChr) {
349
+ let startPtr = ctx.p++, unsafeSeparator;
350
+ if (!isDigit(c) || !isDigit(ctx.s.charCodeAt(ctx.p++)) || !isDigit(ctx.s.charCodeAt(ctx.p++)) || !isDigit(ctx.s.charCodeAt(ctx.p++))) return parseNumber(ctx, ctx.p = startPtr, c, 0, endChr);
351
+ ctx.p += 5;
352
+ if (!isDigit(ctx.s.charCodeAt(ctx.p++))) TomlError.x("invalid date-time: date part is malformed", ctx, startPtr);
353
+ if (ctx.p >= ctx.s.length || ((c = ctx.s.charCodeAt(ctx.p)) !== 32 || (unsafeSeparator = true, !isDigit(ctx.s.charCodeAt(ctx.p + 1)))) && c !== 84 && c !== 116) return readDate(ctx, ctx.s.slice(startPtr, ctx.p), 3, false, startPtr);
354
+ if (ctx.s.charCodeAt(ctx.p += 3) !== 58) TomlError.x("invalid date-time: time part is malformed", ctx, startPtr);
355
+ if (ctx.s.charCodeAt(ctx.p += 3) === 58) ctx.p += 3;
356
+ if (ctx.s.charCodeAt(ctx.p) === 46) while (isDigit(ctx.s.charCodeAt(++ctx.p)));
357
+ if (c = ctx.s.charCodeAt(ctx.p)) {
358
+ if (c === 90 || c === 122) return readDate(ctx, ctx.s.slice(startPtr, ++ctx.p), 1, unsafeSeparator, startPtr, "[+00:00]");
359
+ if (c === 43 || c === 45) return readDate(ctx, ctx.s.slice(startPtr, ctx.p += 6), 1, unsafeSeparator, startPtr, !ctx.ld && "[" + ctx.s.slice(ctx.p - 6, ctx.p) + "]");
360
+ }
361
+ return readDate(ctx, ctx.s.slice(startPtr, ctx.p), 2, unsafeSeparator, startPtr);
362
+ }
363
+ function parseTime(ctx, c, endChr) {
364
+ let start = ctx.p;
365
+ if (!isDigit(c) || !isDigit(ctx.s.charCodeAt(++ctx.p))) return parseNumber(ctx, --ctx.p, c, 0, endChr);
366
+ if (ctx.s.charCodeAt(ctx.p += 4) === 58) ctx.p += 3;
367
+ if (ctx.s.charCodeAt(ctx.p) === 46) while (isDigit(ctx.s.charCodeAt(++ctx.p)));
368
+ return readDate(ctx, ctx.s.slice(start, ctx.p), 4, false, start);
369
+ }
370
+ function readDate(ctx, str, type, unsafeDelim, errPtr, temporalSuffix) {
371
+ if (ctx.ld) {
372
+ let date = new TomlDate(str, type, unsafeDelim);
373
+ if (!date.isValid()) TomlError.x("invalid date", ctx, errPtr);
374
+ return date;
375
+ }
376
+ try {
377
+ if (temporalSuffix) str += temporalSuffix;
378
+ switch (type) {
379
+ case 1: return Temporal.ZonedDateTime.from(str);
380
+ case 2: return Temporal.PlainDateTime.from(str);
381
+ case 3: return Temporal.PlainDate.from(str);
382
+ case 4: return Temporal.PlainTime.from(str);
383
+ }
384
+ } catch (e) {
385
+ TomlError.x(e instanceof Error ? e.message : "" + e, ctx, errPtr);
386
+ }
387
+ }
388
+ //#endregion
389
+ //#region src/util.ts
390
+ /** @internal */
391
+ function skipComment(ctx) {
392
+ for (; ctx.p < ctx.s.length; ctx.p++) {
393
+ let c = ctx.s.charCodeAt(ctx.p);
394
+ if (c === 10) break;
395
+ if (c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10) {
396
+ ctx.p++;
397
+ break;
398
+ }
399
+ if (c < 32 && c !== 9 || c === 127) TomlError.x("control characters are not allowed in comments", ctx);
400
+ }
401
+ }
402
+ /** @internal */
403
+ function skipVoid(ctx, banNewLines, banComments) {
404
+ let c;
405
+ while (ctx.p < ctx.s.length) {
406
+ while (ctx.p < ctx.s.length && ((c = ctx.s.charCodeAt(ctx.p)) === 32 || c === 9 || !banNewLines && (c === 10 || c === 13 && ctx.s.charCodeAt(ctx.p + 1) === 10))) ctx.p++;
407
+ if (banComments || c !== 35) break;
408
+ skipComment(ctx);
409
+ }
410
+ }
411
+ //#endregion
412
+ //#region src/struct.ts
413
+ /** @internal */
414
+ function parseKey(ctx, end = 61) {
415
+ let startPtr;
416
+ let state = 0;
417
+ let parsed = [];
418
+ let sliceStart;
419
+ let c = ctx.s.charCodeAt(startPtr = ctx.p);
420
+ do
421
+ if (c === end) {
422
+ if (!state) TomlError.x("unexpected end of key", ctx);
423
+ if (state === 1) parsed.push(ctx.s.slice(sliceStart, ctx.p));
424
+ return ctx.p++, parsed;
425
+ } else if (c === 46) {
426
+ if (!state) TomlError.x("illegal empty bare key", ctx);
427
+ if (state === 1) parsed.push(ctx.s.slice(sliceStart, ctx.p));
428
+ state = 0;
429
+ } else if (!state && (c === 34 || c === 39)) {
430
+ if (c === ctx.s.charCodeAt(ctx.p + 1) && c === ctx.s.charCodeAt(ctx.p + 2)) TomlError.x("illegal quoted key: multiline strings are not allowed", ctx);
431
+ parsed.push(parseString(ctx));
432
+ state = 2;
433
+ ctx.p--;
434
+ } else if (c === 32 || c === 9) {
435
+ if (state === 1) {
436
+ parsed.push(ctx.s.slice(sliceStart, ctx.p));
437
+ state = 2;
438
+ }
439
+ } else if (state === 2 || c < 48 && c !== 45 || c > 57 && c < 65 || c > 90 && c < 97 && c !== 95 || c > 122) TomlError.x("illegal character in key", ctx);
440
+ else if (!state) {
441
+ state = 1;
442
+ sliceStart = ctx.p;
443
+ }
444
+ while (c = ctx.s.charCodeAt(++ctx.p));
445
+ TomlError.x("incomplete key-value: cannot find end of key", ctx, startPtr);
446
+ }
447
+ /** @internal */
448
+ function parseInlineTable(ctx) {
449
+ let startPtr = ctx.p++;
450
+ let res = Object.create(null);
451
+ let seen = /* @__PURE__ */ new Set();
452
+ let c;
453
+ while (ctx.p < ctx.s.length) {
454
+ skipVoid(ctx);
455
+ if ((c = ctx.s.charCodeAt(ctx.p)) === 125) {
456
+ ctx.p++;
457
+ return res;
458
+ }
459
+ let k;
460
+ let t = res;
461
+ let hasOwn = false;
462
+ let errPtr = ctx.p;
463
+ let key = parseKey(ctx);
464
+ for (let i = 0; i < key.length; i++) {
465
+ if (i) t = hasOwn ? t[k] : t[k] = Object.create(null);
466
+ k = key[i];
467
+ if ((hasOwn = Object.hasOwn(t, k)) && (typeof t[k] !== "object" || seen.has(t[k]))) TomlError.x("trying to redefine an already defined value", ctx, errPtr);
468
+ let unsafe = k === "__proto__";
469
+ if (ctx.uk && (unsafe || k === "constructor")) {
470
+ t = ctx.uk !== 1 && TomlError.x("document contains an unsafe property", ctx, errPtr);
471
+ break;
472
+ }
473
+ if (!hasOwn && unsafe) Object.defineProperty(t, k, {
474
+ enumerable: true,
475
+ configurable: true,
476
+ writable: true
477
+ });
478
+ }
479
+ if (hasOwn) TomlError.x("trying to redefine an already defined value", ctx, errPtr);
480
+ skipVoid(ctx, true, true);
481
+ let value = extractValue(ctx, 125);
482
+ if (t && typeof (t[k] = value) === "object") seen.add(value);
483
+ skipVoid(ctx);
484
+ if ((c = ctx.s.charCodeAt(ctx.p++)) === 125) return res;
485
+ if (c !== 44) TomlError.x("expected comma or end of structure", ctx, ctx.p - 1);
486
+ }
487
+ TomlError.x("unfinished table", ctx, startPtr);
488
+ }
489
+ /** @internal */
490
+ function parseArray(ctx) {
491
+ let startPtr = ctx.p++;
492
+ let res = [];
493
+ let c;
494
+ while (ctx.p < ctx.s.length) {
495
+ skipVoid(ctx);
496
+ if ((c = ctx.s.charCodeAt(ctx.p)) === 93) {
497
+ ctx.p++;
498
+ return res;
499
+ }
500
+ res.push(extractValue(ctx, 93));
501
+ skipVoid(ctx);
502
+ if ((c = ctx.s.charCodeAt(ctx.p++)) === 93) return res;
503
+ if (c !== 44) TomlError.x("expected comma or end of structure", ctx, ctx.p - 1);
504
+ }
505
+ TomlError.x("unfinished array", ctx, startPtr);
506
+ }
507
+ //#endregion
508
+ //#region src/parse.ts
509
+ function peekTable(ctx, key, table, meta, type) {
510
+ let t = table;
511
+ let m = meta;
512
+ let k;
513
+ let hasOwn = false;
514
+ let state;
515
+ for (let i = 0; i < key.length; i++) {
516
+ if (i) {
517
+ t = hasOwn ? t[k] : t[k] = Object.create(null);
518
+ m = (state = m[k]).c;
519
+ if (type === 0 && (state.t === 1 || state.t === 2)) return null;
520
+ if (state.t === 2) {
521
+ let l = t.length - 1;
522
+ t = t[l];
523
+ m = m[l].c;
524
+ }
525
+ }
526
+ k = key[i];
527
+ if ((hasOwn = Object.hasOwn(t, k)) && m[k]?.t === 0 && m[k]?.d) return null;
528
+ if (!hasOwn) {
529
+ let unsafe = k === "__proto__";
530
+ if (ctx.uk && (unsafe || k === "constructor")) return false;
531
+ if (unsafe) {
532
+ Object.defineProperty(t, k, {
533
+ enumerable: true,
534
+ configurable: true,
535
+ writable: true
536
+ });
537
+ Object.defineProperty(m, k, {
538
+ enumerable: true,
539
+ configurable: true,
540
+ writable: true
541
+ });
542
+ }
543
+ m[k] = {
544
+ t: i < key.length - 1 && type === 2 ? 3 : type,
545
+ d: false,
546
+ i: 0,
547
+ c: Object.create(null)
548
+ };
549
+ }
550
+ }
551
+ state = m[k];
552
+ if (state.t !== type && !(type === 1 && state.t === 3)) return null;
553
+ if (type === 2) {
554
+ if (!state.d) {
555
+ state.d = true;
556
+ t[k] = [];
557
+ }
558
+ t[k].push(t = Object.create(null));
559
+ state.c[state.i++] = state = {
560
+ t: 1,
561
+ d: false,
562
+ i: 0,
563
+ c: Object.create(null)
564
+ };
565
+ }
566
+ if (state.d) return null;
567
+ state.d = true;
568
+ if (type === 1) t = hasOwn ? t[k] : t[k] = Object.create(null);
569
+ else if (type === 0 && hasOwn) return null;
570
+ return [
571
+ k,
572
+ t,
573
+ state.c
574
+ ];
575
+ }
576
+ function validateTablePeek(ctx, peek, ptr) {
577
+ if (peek === null || ctx.uk === 2) TomlError.x(peek === null ? "trying to redefine an already defined table or value" : "document contains an unsafe property", ctx, ptr);
578
+ }
579
+ function parse(toml, options = {}) {
580
+ let ctx = {
581
+ s: toml,
582
+ p: 0,
583
+ d: options.maxDepth ?? 1e3,
584
+ bi: options.integersAsBigInt ?? false,
585
+ ld: options.useLegacyDate ?? true,
586
+ uk: options.unsafeKeyBehaviour === "throw" ? 2 : options.unsafeKeyBehaviour === "drop" ? 1 : 0
587
+ };
588
+ let res = Object.create(null);
589
+ let meta = Object.create(null);
590
+ let tmp;
591
+ let skipping = false;
592
+ let tbl = res;
593
+ let m = meta;
594
+ if (toml.charCodeAt(0) === 65279) ctx.p++;
595
+ skipVoid(ctx);
596
+ while (ctx.p < toml.length) {
597
+ if (toml.charCodeAt(ctx.p) === 91) {
598
+ let isTableArray = toml.charCodeAt(++ctx.p) === 91;
599
+ tmp = ctx.p += +isTableArray;
600
+ skipping = false;
601
+ let k = parseKey(ctx, 93);
602
+ if (isTableArray) {
603
+ if (toml.charCodeAt(ctx.p) !== 93) TomlError.x("expected end of table array declaration", ctx);
604
+ ctx.p++;
605
+ }
606
+ let p = peekTable(ctx, k, res, meta, isTableArray ? 2 : 1);
607
+ if (!p) {
608
+ validateTablePeek(ctx, p, tmp);
609
+ skipping = true;
610
+ } else {
611
+ m = p[2];
612
+ tbl = p[1];
613
+ }
614
+ } else {
615
+ tmp = ctx.p;
616
+ let p = peekTable(ctx, parseKey(ctx), tbl, m, 0);
617
+ if (!p && !skipping) validateTablePeek(ctx, p, tmp);
618
+ skipVoid(ctx, true, true);
619
+ let v = extractValue(ctx, void 0);
620
+ if (p && !skipping) p[1][p[0]] = v;
621
+ }
622
+ skipVoid(ctx, true);
623
+ if (ctx.p < toml.length && (tmp = toml.charCodeAt(ctx.p)) !== 10 && (tmp !== 13 || toml.charCodeAt(ctx.p + 1) !== 10)) TomlError.x("each key-value declaration must be followed by an end-of-line", ctx);
624
+ skipVoid(ctx);
625
+ }
626
+ return res;
627
+ }
628
+ //#endregion
629
+ //#region src/stringify.ts
630
+ let BARE_KEY = /^[a-z0-9-_]+$/i;
631
+ let HAS_WELLFORMED = !!"".isWellFormed;
632
+ function extendedTypeOf(obj) {
633
+ let type = typeof obj;
634
+ if (type === "object") {
635
+ if (Array.isArray(obj)) return "array";
636
+ if (typeof obj.getUTCDate === "function" && obj instanceof Date) return "date";
637
+ if (globalThis.Temporal) {
638
+ if (obj.until) {
639
+ if (obj instanceof Temporal.ZonedDateTime) return "temporal/tz+uc";
640
+ if (obj instanceof Temporal.PlainDateTime || obj instanceof Temporal.PlainDate) return "temporal/uc";
641
+ if (obj instanceof Temporal.PlainTime || obj instanceof Temporal.Instant) return "temporal";
642
+ if (obj instanceof Temporal.PlainYearMonth) return "temporal/x";
643
+ } else if (obj.toPlainDate && obj instanceof Temporal.PlainMonthDay || obj.negated && obj instanceof Temporal.Duration) return "temporal/x";
644
+ }
645
+ }
646
+ return type;
647
+ }
648
+ function isArrayOfTables(obj) {
649
+ for (let i = 0; i < obj.length; i++) if (extendedTypeOf(obj[i]) !== "object") return false;
650
+ return obj.length != 0;
651
+ }
652
+ function formatWellFormedStringUnchecked(s) {
653
+ return JSON.stringify(s).replaceAll("", "\\u007f");
654
+ }
655
+ function formatString(s) {
656
+ return formatWellFormedStringUnchecked(HAS_WELLFORMED ? s.toWellFormed() : s);
657
+ }
658
+ function formatKey(s) {
659
+ if (BARE_KEY.test(s)) return s;
660
+ if (HAS_WELLFORMED && !s.isWellFormed()) throw new RangeError("key contains illegal lone surrogates");
661
+ return formatWellFormedStringUnchecked(s);
662
+ }
663
+ function stringifyValue(val, type, depth, numberAsFloat, strictTemporal) {
664
+ if (depth === 0) throw new Error("Could not stringify the object: maximum object depth exceeded");
665
+ switch (type) {
666
+ case "number":
667
+ if (isNaN(val)) return "nan";
668
+ if (val === Infinity) return "inf";
669
+ if (val === -Infinity) return "-inf";
670
+ if (Number.isInteger(val) && (numberAsFloat || !Number.isSafeInteger(val))) return val.toFixed(1);
671
+ case "bigint":
672
+ case "boolean":
673
+ case "temporal": return val.toString();
674
+ case "string": return formatString(val);
675
+ case "date":
676
+ if (isNaN(val.getTime())) throw new TypeError("cannot serialize invalid date");
677
+ return val.toISOString();
678
+ case "object": return stringifyInlineTable(val, depth, numberAsFloat, strictTemporal);
679
+ case "array": return stringifyArray(val, depth, numberAsFloat, strictTemporal);
680
+ case "temporal/tz+uc": if (strictTemporal) {
681
+ let tz = val.timeZoneId;
682
+ let tzc = tz.charCodeAt(0);
683
+ if (tzc !== 43 && tzc !== 45 && (tzc !== 85 && tzc !== 71 && tzc !== 90 && tzc !== 69 || tz !== "UTC" && tz !== "UCT" && tz !== "Universal" && tz !== "Zulu" && !tz.startsWith("GMT") && tz !== "Greenwich" && !tz.startsWith("Etc/"))) throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode");
684
+ }
685
+ case "temporal/uc":
686
+ if (strictTemporal && val.calendarId !== "iso8601") throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");
687
+ return val.toString({
688
+ calendarName: "never",
689
+ timeZoneName: "never"
690
+ });
691
+ case "temporal/x": throw new TypeError("Unsupported " + val[Symbol.toStringTag]);
692
+ }
693
+ }
694
+ function stringifyInlineTable(obj, depth, numberAsFloat, strictTemporal) {
695
+ let keys = Object.keys(obj);
696
+ if (keys.length === 0) return "{}";
697
+ let res = "{ ";
698
+ for (let i = 0; i < keys.length; i++) {
699
+ let k = keys[i];
700
+ if (i) res += ", ";
701
+ res += formatKey(k) + " = " + stringifyValue(obj[k], extendedTypeOf(obj[k]), depth - 1, numberAsFloat, strictTemporal);
702
+ }
703
+ return res + " }";
704
+ }
705
+ function stringifyArray(array, depth, numberAsFloat, strictTemporal) {
706
+ if (array.length === 0) return "[]";
707
+ let res = "[ ";
708
+ for (let i = 0; i < array.length; i++) {
709
+ if (i) res += ", ";
710
+ if (array[i] === null || array[i] === void 0) throw new TypeError("arrays cannot contain null or undefined values");
711
+ res += stringifyValue(array[i], extendedTypeOf(array[i]), depth - 1, numberAsFloat, strictTemporal);
712
+ }
713
+ return res + " ]";
714
+ }
715
+ function stringifyArrayTable(array, key, depth, numberAsFloat, strictTemporal) {
716
+ if (depth === 0) throw new Error("Could not stringify the object: maximum object depth exceeded");
717
+ let res = "";
718
+ for (let i = 0; i < array.length; i++) {
719
+ res += `${res && "\n"}[[${key}]]\n`;
720
+ res += stringifyTable(0, array[i], key, depth, numberAsFloat, strictTemporal);
721
+ }
722
+ return res;
723
+ }
724
+ function stringifyTable(tableKey, obj, prefix, depth, numberAsFloat, strictTemporal) {
725
+ if (depth === 0) throw new Error("Could not stringify the object: maximum object depth exceeded");
726
+ let preamble = "";
727
+ let tables = "";
728
+ let keys = Object.keys(obj);
729
+ for (let i = 0; i < keys.length; i++) {
730
+ let k = keys[i];
731
+ if (obj[k] !== null && obj[k] !== void 0) {
732
+ let type = extendedTypeOf(obj[k]);
733
+ if (type === "symbol" || type === "function") throw new TypeError(`cannot serialize values of type '${type}'`);
734
+ let key = formatKey(k);
735
+ if (type === "array" && isArrayOfTables(obj[k])) tables += (tables && "\n") + stringifyArrayTable(obj[k], prefix ? `${prefix}.${key}` : key, depth - 1, numberAsFloat, strictTemporal);
736
+ else if (type === "object") {
737
+ let tblKey = prefix ? `${prefix}.${key}` : key;
738
+ tables += (tables && "\n") + stringifyTable(tblKey, obj[k], tblKey, depth - 1, numberAsFloat, strictTemporal);
739
+ } else {
740
+ preamble += key;
741
+ preamble += " = ";
742
+ preamble += stringifyValue(obj[k], type, depth, numberAsFloat, strictTemporal);
743
+ preamble += "\n";
744
+ }
745
+ }
746
+ }
747
+ if (tableKey && (preamble || !tables)) preamble = preamble ? `[${tableKey}]\n${preamble}` : `[${tableKey}]`;
748
+ return preamble && tables ? `${preamble}\n${tables}` : preamble || tables;
749
+ }
750
+ function stringify(obj, { maxDepth = 1e3, numbersAsFloat = false, strictTemporal = false } = {}) {
751
+ if (extendedTypeOf(obj) !== "object") throw new TypeError("stringify can only be called with an object");
752
+ let str = stringifyTable(0, obj, "", maxDepth, numbersAsFloat, strictTemporal);
753
+ if (str[str.length - 1] !== "\n") return str + "\n";
754
+ return str;
755
+ }
756
+ //#endregion
757
+ //#region src/index.ts
758
+ /** @deprecated use `import * as ... from 'smol-toml'` instead */
759
+ var src_default = {
760
+ parse,
761
+ stringify,
762
+ TomlDate,
763
+ TomlError
764
+ };
765
+ //#endregion
766
+ exports.TomlDate = TomlDate;
767
+ exports.TomlError = TomlError;
768
+ exports.default = src_default;
769
+ exports.parse = parse;
770
+ exports.stringify = stringify;