@gajae-code/coding-agent 0.17.2 → 0.17.4

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 (349) hide show
  1. package/CHANGELOG.md +194 -0
  2. package/dist/types/cli/daemon-cli.d.ts +3 -1
  3. package/dist/types/cli/github-release.d.ts +17 -0
  4. package/dist/types/cli/public-command-entry.d.ts +56 -0
  5. package/dist/types/cli/public-command-errors.d.ts +126 -0
  6. package/dist/types/cli/public-command-evidence.d.ts +99 -0
  7. package/dist/types/cli/public-command-help.d.ts +65 -0
  8. package/dist/types/cli/public-command-registry.d.ts +69 -0
  9. package/dist/types/cli/session-picker.d.ts +1 -1
  10. package/dist/types/cli/setup-cli.d.ts +1 -0
  11. package/dist/types/cli/skills-cli.d.ts +5 -0
  12. package/dist/types/cli.d.ts +3 -0
  13. package/dist/types/commands/daemon.d.ts +4 -50
  14. package/dist/types/commands/sdk.d.ts +20 -37
  15. package/dist/types/commands/setup.d.ts +3 -0
  16. package/dist/types/commands/skills.d.ts +9 -0
  17. package/dist/types/config/autorouting-tier-map.d.ts +18 -0
  18. package/dist/types/config/file-lock.d.ts +9 -1
  19. package/dist/types/config/model-profile-activation.d.ts +45 -1
  20. package/dist/types/config/model-registry.d.ts +11 -2
  21. package/dist/types/config/settings-schema.d.ts +11 -0
  22. package/dist/types/coordinator-mcp/question-state.d.ts +6 -1
  23. package/dist/types/daemon/operator-contract.d.ts +5 -1
  24. package/dist/types/eval/js/worker-protocol.d.ts +2 -0
  25. package/dist/types/extensibility/extensions/types.d.ts +12 -0
  26. package/dist/types/extensibility/gjc-plugins/registry.d.ts +4 -0
  27. package/dist/types/extensibility/runtime-skill-discovery.d.ts +18 -0
  28. package/dist/types/extensibility/shared-events.d.ts +3 -1
  29. package/dist/types/gjc-runtime/session-state-lock.d.ts +61 -0
  30. package/dist/types/internal-urls/embedded-protocol.d.ts +9 -0
  31. package/dist/types/internal-urls/index.d.ts +1 -0
  32. package/dist/types/internal-urls/parse.d.ts +9 -1
  33. package/dist/types/main.d.ts +22 -0
  34. package/dist/types/modes/acp/acp-agent.d.ts +55 -1
  35. package/dist/types/modes/acp/startup-provenance.d.ts +16 -0
  36. package/dist/types/modes/components/custom-provider-wizard.d.ts +19 -1
  37. package/dist/types/modes/components/session-selector.d.ts +5 -2
  38. package/dist/types/modes/components/user-message-selector.d.ts +5 -2
  39. package/dist/types/modes/controllers/command-controller.d.ts +1 -1
  40. package/dist/types/modes/controllers/selector-controller.d.ts +1 -1
  41. package/dist/types/modes/interactive-mode.d.ts +1 -1
  42. package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +11 -1
  43. package/dist/types/modes/shared/agent-wire/workflow-gate-types.d.ts +14 -1
  44. package/dist/types/modes/types.d.ts +2 -2
  45. package/dist/types/runtime/process-lifecycle.d.ts +2 -0
  46. package/dist/types/runtime-mcp/manager.d.ts +56 -0
  47. package/dist/types/runtime-mcp/pool.d.ts +17 -0
  48. package/dist/types/runtime-mcp/redaction.d.ts +20 -0
  49. package/dist/types/runtime-mcp/startup-policy.d.ts +6 -0
  50. package/dist/types/runtime-mcp/tool-bridge.d.ts +9 -0
  51. package/dist/types/runtime-mcp/transports/http.d.ts +11 -0
  52. package/dist/types/sdk/broker/broker.d.ts +13 -2
  53. package/dist/types/sdk/broker/identity.d.ts +3 -1
  54. package/dist/types/sdk/broker/lifecycle-ledger.d.ts +23 -3
  55. package/dist/types/sdk/broker/lifecycle.d.ts +15 -8
  56. package/dist/types/sdk/broker/runtime.d.ts +1 -1
  57. package/dist/types/sdk/broker/session-index.d.ts +22 -3
  58. package/dist/types/sdk/broker/spawn-authority.d.ts +4 -0
  59. package/dist/types/sdk/broker/stderr-drainer.d.ts +13 -0
  60. package/dist/types/sdk/bus/index.d.ts +19 -0
  61. package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +3 -1
  62. package/dist/types/sdk/bus/telegram-daemon.d.ts +5 -0
  63. package/dist/types/sdk/cli/master-cli.d.ts +6 -10
  64. package/dist/types/sdk/cli/rows.d.ts +19 -1
  65. package/dist/types/sdk/cli/session-cli.d.ts +22 -5
  66. package/dist/types/sdk/client/client.d.ts +2 -0
  67. package/dist/types/sdk/guides/cli.d.ts +3 -4
  68. package/dist/types/sdk/guides/verify.d.ts +2 -0
  69. package/dist/types/sdk/host/host.d.ts +9 -0
  70. package/dist/types/sdk/host/session-runtime.d.ts +31 -0
  71. package/dist/types/sdk/host/types.d.ts +10 -0
  72. package/dist/types/sdk/index.d.ts +1 -0
  73. package/dist/types/sdk/prompt-deadline-flush.d.ts +83 -0
  74. package/dist/types/sdk/prompt-deadline-manager.d.ts +37 -0
  75. package/dist/types/sdk/prompt-tool-boundary.d.ts +73 -0
  76. package/dist/types/sdk/router/session-router.d.ts +2 -0
  77. package/dist/types/sdk/startup-capability.d.ts +2 -0
  78. package/dist/types/sdk/transport/relay.d.ts +1 -0
  79. package/dist/types/sdk/transport/serve-cli.d.ts +48 -4
  80. package/dist/types/sdk/transport/stdio.d.ts +5 -1
  81. package/dist/types/session/agent-session.d.ts +168 -21
  82. package/dist/types/session/fallback-chain-controller.d.ts +6 -6
  83. package/dist/types/session/fold-coordinator.d.ts +17 -3
  84. package/dist/types/session/internal/managed-session-storage.d.ts +7 -1
  85. package/dist/types/session/session-manager.d.ts +64 -1
  86. package/dist/types/session/session-work-lease.d.ts +14 -0
  87. package/dist/types/setup/model-onboarding-guidance.d.ts +1 -1
  88. package/dist/types/setup/provider-onboarding.d.ts +81 -1
  89. package/dist/types/tools/bash.d.ts +37 -11
  90. package/dist/types/tools/job.d.ts +1 -1
  91. package/dist/types/tools/steer-fold.d.ts +31 -0
  92. package/dist/types/utils/git.d.ts +28 -2
  93. package/dist/types/utils/mupdf-embedded.d.ts +2 -0
  94. package/dist/types/utils/mupdf.d.ts +4 -0
  95. package/dist/types/utils/session-title-generation.d.ts +6 -0
  96. package/dist/types/utils/title-generator.d.ts +11 -2
  97. package/dist/types/web/scrapers/types.d.ts +3 -0
  98. package/package.json +18 -10
  99. package/scripts/build-binary.ts +9 -3
  100. package/scripts/compile-args.ts +0 -9
  101. package/scripts/embed-mupdf.ts +52 -0
  102. package/scripts/generate-sdk-operation-inventory.ts +31 -1
  103. package/scripts/vendor-markit.ts +196 -0
  104. package/src/async/job-manager.ts +22 -1
  105. package/src/cli/daemon-cli.ts +53 -18
  106. package/src/cli/github-release.ts +87 -5
  107. package/src/cli/mcp-cli.ts +38 -4
  108. package/src/cli/public-command-entry.ts +450 -0
  109. package/src/cli/public-command-errors.ts +581 -0
  110. package/src/cli/public-command-evidence.ts +717 -0
  111. package/src/cli/public-command-help.ts +360 -0
  112. package/src/cli/public-command-registry.ts +535 -0
  113. package/src/cli/session-picker.ts +2 -1
  114. package/src/cli/setup-cli.ts +9 -1
  115. package/src/cli/skills-cli.ts +46 -2
  116. package/src/cli.ts +61 -1
  117. package/src/commands/daemon.ts +65 -69
  118. package/src/commands/sdk.ts +175 -117
  119. package/src/commands/setup.ts +2 -0
  120. package/src/commands/skills.ts +11 -0
  121. package/src/config/autorouting-tier-map.ts +14 -0
  122. package/src/config/file-lock.ts +147 -51
  123. package/src/config/model-profile-activation.ts +334 -43
  124. package/src/config/model-registry.ts +183 -25
  125. package/src/config/settings-schema.ts +26 -2
  126. package/src/coordinator-mcp/policy.ts +10 -5
  127. package/src/coordinator-mcp/question-gate-codec.ts +17 -0
  128. package/src/coordinator-mcp/question-state.ts +175 -8
  129. package/src/coordinator-mcp/server.ts +507 -81
  130. package/src/coordinator-mcp/session-reaper.ts +6 -4
  131. package/src/crash/record-loader.ts +6 -2
  132. package/src/daemon/operator-contract.ts +26 -12
  133. package/src/defaults/gjc/skills/ultragoal/SKILL.md +1 -1
  134. package/src/eval/js/context-manager.ts +8 -8
  135. package/src/eval/js/worker-core.ts +9 -4
  136. package/src/eval/js/worker-protocol.ts +2 -0
  137. package/src/extensibility/extensions/runner.ts +52 -4
  138. package/src/extensibility/extensions/types.ts +10 -0
  139. package/src/extensibility/gjc-plugins/registry.ts +196 -37
  140. package/src/extensibility/runtime-skill-discovery.ts +61 -3
  141. package/src/extensibility/shared-events.ts +3 -1
  142. package/src/gjc-runtime/session-state-lock.ts +165 -24
  143. package/src/gjc-runtime/ultragoal-succession.ts +31 -3
  144. package/src/internal-urls/docs-index.generated.ts +20 -19
  145. package/src/internal-urls/embedded-protocol.ts +83 -0
  146. package/src/internal-urls/index.ts +1 -0
  147. package/src/internal-urls/parse.ts +21 -1
  148. package/src/internal-urls/router.ts +4 -2
  149. package/src/main.ts +123 -55
  150. package/src/modes/acp/acp-agent.ts +408 -35
  151. package/src/modes/acp/startup-provenance.ts +59 -0
  152. package/src/modes/components/custom-provider-wizard.ts +308 -7
  153. package/src/modes/components/oauth-selector.ts +9 -0
  154. package/src/modes/components/session-selector.ts +47 -4
  155. package/src/modes/components/user-message-selector.ts +57 -15
  156. package/src/modes/controllers/command-controller.ts +58 -32
  157. package/src/modes/controllers/extension-ui-controller.ts +33 -7
  158. package/src/modes/controllers/input-controller.ts +4 -0
  159. package/src/modes/controllers/selector-controller.ts +161 -15
  160. package/src/modes/interactive-mode.ts +21 -7
  161. package/src/modes/runtime-init.ts +1 -0
  162. package/src/modes/shared/agent-wire/workflow-gate-broker.ts +124 -7
  163. package/src/modes/shared/agent-wire/workflow-gate-types.ts +16 -2
  164. package/src/modes/types.ts +2 -2
  165. package/src/prompts/agent-fragments/browser-aside.md +1 -0
  166. package/src/prompts/system/title-system.md +1 -1
  167. package/src/prompts/tools/bash.md +1 -1
  168. package/src/prompts/tools/job.md +1 -1
  169. package/src/prompts/tools/read.md +2 -0
  170. package/src/runtime/network-prewarm-service.test.ts +36 -1
  171. package/src/runtime/network-prewarm-service.ts +28 -3
  172. package/src/runtime/process-lifecycle.ts +22 -11
  173. package/src/runtime-mcp/config.ts +16 -1
  174. package/src/runtime-mcp/manager.ts +689 -55
  175. package/src/runtime-mcp/pool.test.ts +31 -0
  176. package/src/runtime-mcp/pool.ts +304 -28
  177. package/src/runtime-mcp/redaction.ts +42 -0
  178. package/src/runtime-mcp/startup-policy.ts +7 -0
  179. package/src/runtime-mcp/tool-bridge.ts +71 -0
  180. package/src/runtime-mcp/transports/http.ts +108 -25
  181. package/src/sdk/acp/adapter.ts +27 -8
  182. package/src/sdk/broker/broker.ts +378 -52
  183. package/src/sdk/broker/identity.ts +9 -1
  184. package/src/sdk/broker/lifecycle-ledger.ts +95 -31
  185. package/src/sdk/broker/lifecycle.ts +690 -141
  186. package/src/sdk/broker/runtime.ts +1 -1
  187. package/src/sdk/broker/session-index.ts +97 -4
  188. package/src/sdk/broker/spawn-authority.ts +35 -7
  189. package/src/sdk/broker/stderr-drainer.ts +59 -0
  190. package/src/sdk/bus/chat-daemon-control.ts +2 -2
  191. package/src/sdk/bus/chat-daemon-runtime.ts +1 -0
  192. package/src/sdk/bus/index.ts +690 -80
  193. package/src/sdk/bus/telegram-daemon-cli.ts +31 -2
  194. package/src/sdk/bus/telegram-daemon-contract.ts +3 -1
  195. package/src/sdk/bus/telegram-daemon.ts +10 -3
  196. package/src/sdk/cli/master-cli.ts +47 -36
  197. package/src/sdk/cli/rows.ts +30 -7
  198. package/src/sdk/cli/session-cli.ts +687 -184
  199. package/src/sdk/client/client.ts +18 -0
  200. package/src/sdk/guides/catalog.ts +2 -2
  201. package/src/sdk/guides/cli.ts +20 -62
  202. package/src/sdk/guides/verify.ts +14 -0
  203. package/src/sdk/host/host.ts +49 -5
  204. package/src/sdk/host/session-runtime.test.ts +138 -2
  205. package/src/sdk/host/session-runtime.ts +311 -97
  206. package/src/sdk/host/types.ts +12 -1
  207. package/src/sdk/host/websocket-transport.lifecycle.test.ts +84 -0
  208. package/src/sdk/host/websocket-transport.ts +40 -6
  209. package/src/sdk/index.ts +11 -0
  210. package/src/sdk/prompt-deadline-flush.ts +334 -0
  211. package/src/sdk/prompt-deadline-manager.ts +133 -1
  212. package/src/sdk/prompt-tool-boundary.ts +121 -0
  213. package/src/sdk/protocol/operation-inventory.generated.json +106 -0
  214. package/src/sdk/router/session-router.ts +9 -1
  215. package/src/sdk/session.ts +182 -7
  216. package/src/sdk/startup-capability.ts +1 -1
  217. package/src/sdk/transport/relay.ts +71 -6
  218. package/src/sdk/transport/serve-cli.ts +397 -42
  219. package/src/sdk/transport/socket.ts +12 -11
  220. package/src/sdk/transport/stdio.ts +7 -3
  221. package/src/session/agent-session.ts +2437 -400
  222. package/src/session/fallback-chain-controller.ts +6 -7
  223. package/src/session/fold-coordinator.ts +24 -5
  224. package/src/session/internal/managed-session-scope.ts +58 -18
  225. package/src/session/internal/managed-session-storage.ts +304 -11
  226. package/src/session/session-manager.ts +382 -44
  227. package/src/session/session-work-lease.ts +34 -0
  228. package/src/setup/model-onboarding-guidance.ts +1 -1
  229. package/src/setup/provider-onboarding.ts +397 -24
  230. package/src/slash-commands/builtin-registry.ts +258 -14
  231. package/src/task/index.ts +14 -2
  232. package/src/tools/bash.ts +98 -78
  233. package/src/tools/fetch.ts +119 -20
  234. package/src/tools/job.ts +151 -25
  235. package/src/tools/output-meta.ts +15 -2
  236. package/src/tools/path-utils.ts +27 -3
  237. package/src/tools/read.ts +3 -3
  238. package/src/tools/steer-fold.ts +107 -0
  239. package/src/tools/tool-catalog.generated.ts +29 -2
  240. package/src/tools/tool-errors.ts +4 -0
  241. package/src/utils/git.ts +53 -3
  242. package/src/utils/markit.ts +55 -41
  243. package/src/utils/mupdf-assets.d.ts +4 -0
  244. package/src/utils/mupdf-embedded.ts +4 -0
  245. package/src/utils/mupdf.ts +129 -0
  246. package/src/utils/session-title-generation.ts +29 -0
  247. package/src/utils/title-generator.ts +46 -2
  248. package/src/web/scrapers/types.ts +24 -3
  249. package/vendor/markit-ai/LICENSE +21 -0
  250. package/vendor/markit-ai/MANIFEST.json +412 -0
  251. package/vendor/markit-ai/dist/commands/config.d.ts +4 -0
  252. package/vendor/markit-ai/dist/commands/config.js +139 -0
  253. package/vendor/markit-ai/dist/commands/convert.d.ts +6 -0
  254. package/vendor/markit-ai/dist/commands/convert.js +113 -0
  255. package/vendor/markit-ai/dist/commands/formats.d.ts +2 -0
  256. package/vendor/markit-ai/dist/commands/formats.js +92 -0
  257. package/vendor/markit-ai/dist/commands/init.d.ts +2 -0
  258. package/vendor/markit-ai/dist/commands/init.js +29 -0
  259. package/vendor/markit-ai/dist/commands/onboard.d.ts +2 -0
  260. package/vendor/markit-ai/dist/commands/onboard.js +61 -0
  261. package/vendor/markit-ai/dist/commands/plugin.d.ts +4 -0
  262. package/vendor/markit-ai/dist/commands/plugin.js +58 -0
  263. package/vendor/markit-ai/dist/config.d.ts +26 -0
  264. package/vendor/markit-ai/dist/config.js +42 -0
  265. package/vendor/markit-ai/dist/converters/audio.d.ts +7 -0
  266. package/vendor/markit-ai/dist/converters/audio.js +104 -0
  267. package/vendor/markit-ai/dist/converters/csv.d.ts +7 -0
  268. package/vendor/markit-ai/dist/converters/csv.js +83 -0
  269. package/vendor/markit-ai/dist/converters/docx.d.ts +6 -0
  270. package/vendor/markit-ai/dist/converters/docx.js +57 -0
  271. package/vendor/markit-ai/dist/converters/epub.d.ts +8 -0
  272. package/vendor/markit-ai/dist/converters/epub.js +128 -0
  273. package/vendor/markit-ai/dist/converters/github.d.ts +18 -0
  274. package/vendor/markit-ai/dist/converters/github.js +148 -0
  275. package/vendor/markit-ai/dist/converters/html.d.ts +6 -0
  276. package/vendor/markit-ai/dist/converters/html.js +30 -0
  277. package/vendor/markit-ai/dist/converters/image.d.ts +6 -0
  278. package/vendor/markit-ai/dist/converters/image.js +124 -0
  279. package/vendor/markit-ai/dist/converters/ipynb.d.ts +6 -0
  280. package/vendor/markit-ai/dist/converters/ipynb.js +75 -0
  281. package/vendor/markit-ai/dist/converters/iwork.d.ts +20 -0
  282. package/vendor/markit-ai/dist/converters/iwork.js +391 -0
  283. package/vendor/markit-ai/dist/converters/json.d.ts +6 -0
  284. package/vendor/markit-ai/dist/converters/json.js +21 -0
  285. package/vendor/markit-ai/dist/converters/pdf/columns.d.ts +35 -0
  286. package/vendor/markit-ai/dist/converters/pdf/columns.js +93 -0
  287. package/vendor/markit-ai/dist/converters/pdf/extract.d.ts +19 -0
  288. package/vendor/markit-ai/dist/converters/pdf/extract.js +514 -0
  289. package/vendor/markit-ai/dist/converters/pdf/grid.d.ts +25 -0
  290. package/vendor/markit-ai/dist/converters/pdf/grid.js +795 -0
  291. package/vendor/markit-ai/dist/converters/pdf/headers.d.ts +24 -0
  292. package/vendor/markit-ai/dist/converters/pdf/headers.js +108 -0
  293. package/vendor/markit-ai/dist/converters/pdf/index.d.ts +19 -0
  294. package/vendor/markit-ai/dist/converters/pdf/index.js +136 -0
  295. package/vendor/markit-ai/dist/converters/pdf/mupdf-loader.js +9 -0
  296. package/vendor/markit-ai/dist/converters/pdf/render.d.ts +24 -0
  297. package/vendor/markit-ai/dist/converters/pdf/render.js +513 -0
  298. package/vendor/markit-ai/dist/converters/pdf/types.d.ts +75 -0
  299. package/vendor/markit-ai/dist/converters/pdf/types.js +1 -0
  300. package/vendor/markit-ai/dist/converters/plain-text.d.ts +6 -0
  301. package/vendor/markit-ai/dist/converters/plain-text.js +87 -0
  302. package/vendor/markit-ai/dist/converters/pptx.d.ts +8 -0
  303. package/vendor/markit-ai/dist/converters/pptx.js +289 -0
  304. package/vendor/markit-ai/dist/converters/rss.d.ts +11 -0
  305. package/vendor/markit-ai/dist/converters/rss.js +138 -0
  306. package/vendor/markit-ai/dist/converters/wikipedia.d.ts +6 -0
  307. package/vendor/markit-ai/dist/converters/wikipedia.js +33 -0
  308. package/vendor/markit-ai/dist/converters/xlsx.d.ts +8 -0
  309. package/vendor/markit-ai/dist/converters/xlsx.js +147 -0
  310. package/vendor/markit-ai/dist/converters/xml.d.ts +6 -0
  311. package/vendor/markit-ai/dist/converters/xml.js +18 -0
  312. package/vendor/markit-ai/dist/converters/yaml.d.ts +6 -0
  313. package/vendor/markit-ai/dist/converters/yaml.js +17 -0
  314. package/vendor/markit-ai/dist/converters/zip.d.ts +8 -0
  315. package/vendor/markit-ai/dist/converters/zip.js +57 -0
  316. package/vendor/markit-ai/dist/index.d.ts +30 -0
  317. package/vendor/markit-ai/dist/index.js +26 -0
  318. package/vendor/markit-ai/dist/main.d.ts +2 -0
  319. package/vendor/markit-ai/dist/main.js +191 -0
  320. package/vendor/markit-ai/dist/markit.d.ts +45 -0
  321. package/vendor/markit-ai/dist/markit.js +267 -0
  322. package/vendor/markit-ai/dist/plugins/api.d.ts +7 -0
  323. package/vendor/markit-ai/dist/plugins/api.js +42 -0
  324. package/vendor/markit-ai/dist/plugins/index.d.ts +4 -0
  325. package/vendor/markit-ai/dist/plugins/index.js +3 -0
  326. package/vendor/markit-ai/dist/plugins/installer.d.ts +25 -0
  327. package/vendor/markit-ai/dist/plugins/installer.js +176 -0
  328. package/vendor/markit-ai/dist/plugins/loader.d.ts +6 -0
  329. package/vendor/markit-ai/dist/plugins/loader.js +61 -0
  330. package/vendor/markit-ai/dist/plugins/types.d.ts +25 -0
  331. package/vendor/markit-ai/dist/plugins/types.js +1 -0
  332. package/vendor/markit-ai/dist/providers/anthropic.d.ts +2 -0
  333. package/vendor/markit-ai/dist/providers/anthropic.js +47 -0
  334. package/vendor/markit-ai/dist/providers/index.d.ts +21 -0
  335. package/vendor/markit-ai/dist/providers/index.js +56 -0
  336. package/vendor/markit-ai/dist/providers/openai.d.ts +2 -0
  337. package/vendor/markit-ai/dist/providers/openai.js +76 -0
  338. package/vendor/markit-ai/dist/providers/types.d.ts +26 -0
  339. package/vendor/markit-ai/dist/providers/types.js +1 -0
  340. package/vendor/markit-ai/dist/types.d.ts +36 -0
  341. package/vendor/markit-ai/dist/types.js +1 -0
  342. package/vendor/markit-ai/dist/utils/exit-codes.d.ts +4 -0
  343. package/vendor/markit-ai/dist/utils/exit-codes.js +4 -0
  344. package/vendor/markit-ai/dist/utils/output.d.ts +22 -0
  345. package/vendor/markit-ai/dist/utils/output.js +31 -0
  346. package/vendor/markit-ai/dist/utils/turndown.d.ts +8 -0
  347. package/vendor/markit-ai/dist/utils/turndown.js +70 -0
  348. package/vendor/markit-ai/package.json +74 -0
  349. package/vendor/markit-ai.patch +49 -0
@@ -0,0 +1,412 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "upstream": {
4
+ "name": "markit-ai",
5
+ "version": "0.5.3",
6
+ "license": "MIT",
7
+ "url": "https://registry.npmjs.org/markit-ai/-/markit-ai-0.5.3.tgz",
8
+ "integrity": "sha512-h4nhn6a/SNXEdc3kLVtL37TspxjUNCNL0OM7LRWxd389ZByI/B7bjNNgxFdVAT0O+H7ZekSwLdVe/lws1l2AZQ=="
9
+ },
10
+ "patch": {
11
+ "path": "../markit-ai.patch",
12
+ "sha256": "daca8ed30ae124f85aa06d0f1b4601e487f97bdfad72aa4983807a0bd2c5d1a9"
13
+ },
14
+ "files": [
15
+ {
16
+ "path": "LICENSE",
17
+ "sha256": "3f0ab2bce863d7355e98f147f60a14145ebf1cb2a945fc0b2aa3c6aad4a8d3e3"
18
+ },
19
+ {
20
+ "path": "dist/commands/config.d.ts",
21
+ "sha256": "14edf0b10a04e9adf05bbdf364d7d4f12771370f30277828d0309d4b75560632"
22
+ },
23
+ {
24
+ "path": "dist/commands/config.js",
25
+ "sha256": "1e1fb441de614163fbb6196955fbbdd0b0af9d962d4186f7b4070d27ad6baaa6"
26
+ },
27
+ {
28
+ "path": "dist/commands/convert.d.ts",
29
+ "sha256": "43aefa89311b0a6e7dc80ddeadab5c5b8de2310723d05fd3fad24de57a39447d"
30
+ },
31
+ {
32
+ "path": "dist/commands/convert.js",
33
+ "sha256": "1ce7fa548e7f0e16f493f706de4be8a31a331e2979f07e44c0cbb6d0844afee8"
34
+ },
35
+ {
36
+ "path": "dist/commands/formats.d.ts",
37
+ "sha256": "2fee4520d595b07997d8490ff23cd9a97fa1c5564c4320addca949637867756b"
38
+ },
39
+ {
40
+ "path": "dist/commands/formats.js",
41
+ "sha256": "568abc3fbc7eb38542e3052003d12d88410f1296d07152207e608e93cd4856be"
42
+ },
43
+ {
44
+ "path": "dist/commands/init.d.ts",
45
+ "sha256": "f506d4f1dd3e105fcc426d8d7e58cbf4537d4b1fb97954e8069b6b6986287087"
46
+ },
47
+ {
48
+ "path": "dist/commands/init.js",
49
+ "sha256": "d1182cee3f44fa97c802a5f3887bf72efad624235a6543cd53e86c2ad0016418"
50
+ },
51
+ {
52
+ "path": "dist/commands/onboard.d.ts",
53
+ "sha256": "1e8a757d091aa111521f1240a42df8070f4b8d9086ee2ca3c5cb0be35d2452ef"
54
+ },
55
+ {
56
+ "path": "dist/commands/onboard.js",
57
+ "sha256": "926e03eed4b13a345cd985b543403febc83eb668cc4003e5e13839ae5c0b4390"
58
+ },
59
+ {
60
+ "path": "dist/commands/plugin.d.ts",
61
+ "sha256": "cdc80ecc4e6732b92e18b6166c41bb72a6360709666b8a4a02a6015e9166f622"
62
+ },
63
+ {
64
+ "path": "dist/commands/plugin.js",
65
+ "sha256": "5af84eebea8409dd130f7bd318acfe354779c5c6745c060933936f2ac3ce45fd"
66
+ },
67
+ {
68
+ "path": "dist/config.d.ts",
69
+ "sha256": "df229f1f7fc4fe189bb836136eb9372fcdbb804bd81cdc0e584a2472b09e776a"
70
+ },
71
+ {
72
+ "path": "dist/config.js",
73
+ "sha256": "87209df79fbcc71d62a47f569099545c5b8b95e1787ccfe8f797d972e1a41206"
74
+ },
75
+ {
76
+ "path": "dist/converters/audio.d.ts",
77
+ "sha256": "ce3617b2e5b69e90fd2faf2cbecc4ee24c0d6ce177a2f4a661df8ecde31951e3"
78
+ },
79
+ {
80
+ "path": "dist/converters/audio.js",
81
+ "sha256": "f0cb603dacd19f478bf0748ae8b88c590f971d1728eb8d3a0fcb38ad4040624e"
82
+ },
83
+ {
84
+ "path": "dist/converters/csv.d.ts",
85
+ "sha256": "221f05568631012a4c8bbad486a37a0c23b102960672b09ef7f2fa5b343c39b9"
86
+ },
87
+ {
88
+ "path": "dist/converters/csv.js",
89
+ "sha256": "740bf97b22ddf6bff0e7eba0bd04b48a565c641a7600c735244484a127a94c73"
90
+ },
91
+ {
92
+ "path": "dist/converters/docx.d.ts",
93
+ "sha256": "fe6a6bad38caa45f2c18d5cd5b0cdc61d0525af73d19b0d967a1fac3a66ed4a8"
94
+ },
95
+ {
96
+ "path": "dist/converters/docx.js",
97
+ "sha256": "c8c25024030ad5db39e7d771e26b95ee33fc2f3983b143861a1550236855b56c"
98
+ },
99
+ {
100
+ "path": "dist/converters/epub.d.ts",
101
+ "sha256": "c8d12d8ed13c3c6714a3a1abbccd7ef256eafa77885e2a01c28159ae64171651"
102
+ },
103
+ {
104
+ "path": "dist/converters/epub.js",
105
+ "sha256": "2f243fdf1027356b4850639e82a38cf4b0b904ba1bfd4a5e2d28fd5a29381caf"
106
+ },
107
+ {
108
+ "path": "dist/converters/github.d.ts",
109
+ "sha256": "710dc91fbaa7bfb81249f5f3d8b844173a79a7f33ad7638299aebbfa102ecca5"
110
+ },
111
+ {
112
+ "path": "dist/converters/github.js",
113
+ "sha256": "815f3e6dbc3884f2d2556d12c1bec9ce51da792841c8910759200259be70b5dc"
114
+ },
115
+ {
116
+ "path": "dist/converters/html.d.ts",
117
+ "sha256": "14f014bc3afcf2afee8dcbd12d0f8e9e93093c2131bf4150bc45d1b7a252be9a"
118
+ },
119
+ {
120
+ "path": "dist/converters/html.js",
121
+ "sha256": "575948380b0700448571b952063ed710c95c3206112062319f039dec925cb25e"
122
+ },
123
+ {
124
+ "path": "dist/converters/image.d.ts",
125
+ "sha256": "d2569cfb536fdc5862d59d465769bbb3db7f40cf43f3707c565a24c8561ca9b4"
126
+ },
127
+ {
128
+ "path": "dist/converters/image.js",
129
+ "sha256": "c38f637876f93e625e77af18d7a6057a3288eec3181ed964f9c4a885d01051d4"
130
+ },
131
+ {
132
+ "path": "dist/converters/ipynb.d.ts",
133
+ "sha256": "360cb67d95339943dc6adedbd264b78c53afc893b920ac4ddc6cd44660ae7604"
134
+ },
135
+ {
136
+ "path": "dist/converters/ipynb.js",
137
+ "sha256": "f1dbd8b50e6f8f152e0b522fe1dc7ba5f338415786adfb6bc251f51dd91b7799"
138
+ },
139
+ {
140
+ "path": "dist/converters/iwork.d.ts",
141
+ "sha256": "c8a60ae3ec967ab252365a4373dc256ee577cc563cf0348c70b15d7f8839ad60"
142
+ },
143
+ {
144
+ "path": "dist/converters/iwork.js",
145
+ "sha256": "1b3878d7932f758ab265c3084ab577a6c7c0fb107a579fe8edb9f556b5e7e7e1"
146
+ },
147
+ {
148
+ "path": "dist/converters/json.d.ts",
149
+ "sha256": "0acd033446fbd296dcf7a8bbf60685e48841bdd8b82bca5ae068a1a1b3825813"
150
+ },
151
+ {
152
+ "path": "dist/converters/json.js",
153
+ "sha256": "61ab4ef81485b7d353f207ef4aa37c023ebd05a5bdfa32550a83c799a97ab5b7"
154
+ },
155
+ {
156
+ "path": "dist/converters/pdf/columns.d.ts",
157
+ "sha256": "5c41d029f26232103d095fb9bd7f74d3e3dbaaa6e4a5df04e58facfc6868b1a0"
158
+ },
159
+ {
160
+ "path": "dist/converters/pdf/columns.js",
161
+ "sha256": "03ea41e4c4ae524f1b71df8dd9f783eba523cb5e10608423c8841a870add874a"
162
+ },
163
+ {
164
+ "path": "dist/converters/pdf/extract.d.ts",
165
+ "sha256": "4c81563a7f892ec7ac0688d871c2cc90f72825b71c61e830e14b35c8dab16119"
166
+ },
167
+ {
168
+ "path": "dist/converters/pdf/extract.js",
169
+ "sha256": "d361c2685f5684e64d1ffd2c8f64d5e2cb3931aae67cd154f12576cee14b9b84"
170
+ },
171
+ {
172
+ "path": "dist/converters/pdf/grid.d.ts",
173
+ "sha256": "538eff55772bec3cdf209e7eb99f2982e04cf08b3fb8c931e18b04d976c701bb"
174
+ },
175
+ {
176
+ "path": "dist/converters/pdf/grid.js",
177
+ "sha256": "8f70c8aea07d1ee83fd07fe2dd352ddc99bdc71c9c49d4ef04789c1cf9e40c3b"
178
+ },
179
+ {
180
+ "path": "dist/converters/pdf/headers.d.ts",
181
+ "sha256": "8fa5cd12989ee2859995fca20145d37a24a82a6f17f7dcd725357f54944ffc90"
182
+ },
183
+ {
184
+ "path": "dist/converters/pdf/headers.js",
185
+ "sha256": "8b3d366dabdb435323b94b795ee369d8664c478c1b710e2e51521dd2c39d0b29"
186
+ },
187
+ {
188
+ "path": "dist/converters/pdf/index.d.ts",
189
+ "sha256": "6554cc9544543099a55bf54247b2638365c859c911b60d5250070aae8dafbffc"
190
+ },
191
+ {
192
+ "path": "dist/converters/pdf/index.js",
193
+ "sha256": "903c55e04f31366e28e454abb96d99f7d058368672b1bfe2a79052e90a2d452a"
194
+ },
195
+ {
196
+ "path": "dist/converters/pdf/mupdf-loader.js",
197
+ "sha256": "f15708fa360fc9e678d0d511ae4d634dc5a15da9bfa47d3e335857315f87660a"
198
+ },
199
+ {
200
+ "path": "dist/converters/pdf/render.d.ts",
201
+ "sha256": "a153b8fc0920fdb10a02cfac94bc7410b6ee2b727281c604e7a39354fdffd5b1"
202
+ },
203
+ {
204
+ "path": "dist/converters/pdf/render.js",
205
+ "sha256": "d1521833206e3e8a3efd4d8bb54a809f267e5c29939204b26c8c83df26195b42"
206
+ },
207
+ {
208
+ "path": "dist/converters/pdf/types.d.ts",
209
+ "sha256": "24ed9a2b95fece655de02fcff61ad394727a25fda7be9ed1445f038d4725dd7f"
210
+ },
211
+ {
212
+ "path": "dist/converters/pdf/types.js",
213
+ "sha256": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"
214
+ },
215
+ {
216
+ "path": "dist/converters/plain-text.d.ts",
217
+ "sha256": "8047bbbc2b527caf7bd2e059dced0563365713a9f1f9626e6a970949690c3831"
218
+ },
219
+ {
220
+ "path": "dist/converters/plain-text.js",
221
+ "sha256": "45165a64dd9f4ab90d982ca7bd2ed613e20ae70c53bb337ae05877d448e8d76c"
222
+ },
223
+ {
224
+ "path": "dist/converters/pptx.d.ts",
225
+ "sha256": "bd9fa074e24fb3a14437feebd2285142e463e8928350ed0d73b927bea7f4fe01"
226
+ },
227
+ {
228
+ "path": "dist/converters/pptx.js",
229
+ "sha256": "2e3f6cb3475fdc76e9b9ce77a9b8612137e77e5f830f4671ebef8c387dc06c44"
230
+ },
231
+ {
232
+ "path": "dist/converters/rss.d.ts",
233
+ "sha256": "80f2d0363e067a9b0b2372bc4ceb281d91d00564bb9c785bf6ccb944783d8129"
234
+ },
235
+ {
236
+ "path": "dist/converters/rss.js",
237
+ "sha256": "965bc0770d8e2b8f60f7bf8863495cd963861a1aa1bc29dd3a144e2c6fd18fd5"
238
+ },
239
+ {
240
+ "path": "dist/converters/wikipedia.d.ts",
241
+ "sha256": "3dd8fcee0a6e8d33841a2f062197f266eb32b9f4b9c3adb34a1771dd2cfd9ccc"
242
+ },
243
+ {
244
+ "path": "dist/converters/wikipedia.js",
245
+ "sha256": "e6391ef3a91dd7c488368da018fb955150f1916936d1d0c78dd7beba2b3eae76"
246
+ },
247
+ {
248
+ "path": "dist/converters/xlsx.d.ts",
249
+ "sha256": "29b5aed672b728a2bcf33a06ee0e29adaa5ecfeab21f2331388358fa722a8a7c"
250
+ },
251
+ {
252
+ "path": "dist/converters/xlsx.js",
253
+ "sha256": "49e7cf6e3580fbb087ac0be4961c4baa4d9181df9aa89bd2efa1210b1443b5cd"
254
+ },
255
+ {
256
+ "path": "dist/converters/xml.d.ts",
257
+ "sha256": "38fb91096b6828fdc0b8746c033ba1a53e159b6c3ab08139ade52dffc8101813"
258
+ },
259
+ {
260
+ "path": "dist/converters/xml.js",
261
+ "sha256": "c9f388fa1a5e5f9042c2b650de6b92be69fc1098df1fd2af7d76a7c7e9650e72"
262
+ },
263
+ {
264
+ "path": "dist/converters/yaml.d.ts",
265
+ "sha256": "1df98a6377131b1fc44288a81e7685ea3583438582b4d50cd12a6b4dfbea9668"
266
+ },
267
+ {
268
+ "path": "dist/converters/yaml.js",
269
+ "sha256": "e213d850fbb3cb59e69ee20875128f4b41eb555a0f32046516a1faf469e3dd33"
270
+ },
271
+ {
272
+ "path": "dist/converters/zip.d.ts",
273
+ "sha256": "6d957f44b22dea482c9977a4e47917e63640b905f1cb1e4a7f1eed0d04a44013"
274
+ },
275
+ {
276
+ "path": "dist/converters/zip.js",
277
+ "sha256": "2bd0776303adb86adbd451c25b4109f9589cfaa8587a00434c9923ff8cc76bf5"
278
+ },
279
+ {
280
+ "path": "dist/index.d.ts",
281
+ "sha256": "2ab8371cc561e1c804a3d4141307fc84c94b6cf732ef09cc929041f51c032cb6"
282
+ },
283
+ {
284
+ "path": "dist/index.js",
285
+ "sha256": "89def6be0f8d77dbce617523684584221f2f57b0db3181cabb43056ed9605773"
286
+ },
287
+ {
288
+ "path": "dist/main.d.ts",
289
+ "sha256": "43e818adf60173644896298637f47b01d5819b17eda46eaa32d0c7d64724d012"
290
+ },
291
+ {
292
+ "path": "dist/main.js",
293
+ "sha256": "35d20d3d342709de824e52046001b4ccc8de8214bf247401e0b79c5ccdda2a1e"
294
+ },
295
+ {
296
+ "path": "dist/markit.d.ts",
297
+ "sha256": "4f92ca1b77b3a605243bf507a1210f9cd77209856df241adb5b3b9ab828482da"
298
+ },
299
+ {
300
+ "path": "dist/markit.js",
301
+ "sha256": "aeca6d69d6c7cd0d475e52b889e3ceef5a3fd952f65aadef1cc68096efacc610"
302
+ },
303
+ {
304
+ "path": "dist/plugins/api.d.ts",
305
+ "sha256": "f923c7528a1d1622bae47a44e650fbf0b1c284e9fd54a24eaedc77ea3877cf0b"
306
+ },
307
+ {
308
+ "path": "dist/plugins/api.js",
309
+ "sha256": "e2240b83b12e64bf597719bff48fddc00ecea7222f7612f33131813db9e24b19"
310
+ },
311
+ {
312
+ "path": "dist/plugins/index.d.ts",
313
+ "sha256": "4c53ef23c9826e0e2c95293ee000cde11292a6310f640d9902083c853510aa64"
314
+ },
315
+ {
316
+ "path": "dist/plugins/index.js",
317
+ "sha256": "2747d8917370170b971bc994c3cd68639e2820d99ad7d2b2718de141294d5d2c"
318
+ },
319
+ {
320
+ "path": "dist/plugins/installer.d.ts",
321
+ "sha256": "76ef55037e45fdb23c3edf2af4df957a7b8368bd28a626c8770115002d90acaa"
322
+ },
323
+ {
324
+ "path": "dist/plugins/installer.js",
325
+ "sha256": "73094b443b46e1158ed1ff74b562de7361a64e0d1fa61e97603b52a996780179"
326
+ },
327
+ {
328
+ "path": "dist/plugins/loader.d.ts",
329
+ "sha256": "5cec016e1ec21073aa901d279c502ef4ea98fff5d1ad55aa6a389a0af2e60b8e"
330
+ },
331
+ {
332
+ "path": "dist/plugins/loader.js",
333
+ "sha256": "7c27d7729d4dc1ae46cd11adf156e1d66c010b18c4076052309eff4efcb0e4c4"
334
+ },
335
+ {
336
+ "path": "dist/plugins/types.d.ts",
337
+ "sha256": "954a0b53ad01b4a3d6eb568508b4a3527a627a340558397310979fc6c89e303c"
338
+ },
339
+ {
340
+ "path": "dist/plugins/types.js",
341
+ "sha256": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"
342
+ },
343
+ {
344
+ "path": "dist/providers/anthropic.d.ts",
345
+ "sha256": "3b11b17548bdb4e0f864cce9b63e7d97482881bfb017f1fc7fd23f5ede990e69"
346
+ },
347
+ {
348
+ "path": "dist/providers/anthropic.js",
349
+ "sha256": "7bdbe8decee6440649626b7e456f546799acc2fda9783db57cd2051d8637b1b4"
350
+ },
351
+ {
352
+ "path": "dist/providers/index.d.ts",
353
+ "sha256": "0a339d561685fd985488dfc01d7fc2b8a4e500f67dd81f91c53628507275dd35"
354
+ },
355
+ {
356
+ "path": "dist/providers/index.js",
357
+ "sha256": "487385f3f8bb3231b8074dc1e285cfcb11932b510b545b6361cb02eadd9ea937"
358
+ },
359
+ {
360
+ "path": "dist/providers/openai.d.ts",
361
+ "sha256": "eee78da4c2483f23769ad26e26ad879bddb00d80eb52e85edce69bc4554036ad"
362
+ },
363
+ {
364
+ "path": "dist/providers/openai.js",
365
+ "sha256": "7542d5a5e59bcbde26796a372414a5275256005c57df498d93b5775a34288694"
366
+ },
367
+ {
368
+ "path": "dist/providers/types.d.ts",
369
+ "sha256": "d8c7b8825a508ab4b8ba857e69af514811965821e4425951394a0413db9f770b"
370
+ },
371
+ {
372
+ "path": "dist/providers/types.js",
373
+ "sha256": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"
374
+ },
375
+ {
376
+ "path": "dist/types.d.ts",
377
+ "sha256": "9d37cea20bfd6d385f1df97a726dbc917a4bbe490fea00659062f10ed4289927"
378
+ },
379
+ {
380
+ "path": "dist/types.js",
381
+ "sha256": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"
382
+ },
383
+ {
384
+ "path": "dist/utils/exit-codes.d.ts",
385
+ "sha256": "5cd53d8677645ddf4ba0eeb5ef5c14b75fc9416df867dcc3d6ed61a17bcd4153"
386
+ },
387
+ {
388
+ "path": "dist/utils/exit-codes.js",
389
+ "sha256": "439d79f0cccba5b74529529995f83f8f18fd4822ad0c8e4c1401681b1815bd0b"
390
+ },
391
+ {
392
+ "path": "dist/utils/output.d.ts",
393
+ "sha256": "bc01c197ff911dc09987d114dc39edc6019cafd7ac4919b9df0ff75efec713fa"
394
+ },
395
+ {
396
+ "path": "dist/utils/output.js",
397
+ "sha256": "8b61aa72ae6077577afd512f50d281124b92d63d78a7ab5f8500841803ed8de3"
398
+ },
399
+ {
400
+ "path": "dist/utils/turndown.d.ts",
401
+ "sha256": "2ab2e6ddd488a74e8e2f529e68b58cfe17a2f78e72f69a7f73579c7304dcaa82"
402
+ },
403
+ {
404
+ "path": "dist/utils/turndown.js",
405
+ "sha256": "eeaf1ef31654f26f4abf0119a0db9e43e8d165b1b8bec941b45c0765b2223824"
406
+ },
407
+ {
408
+ "path": "package.json",
409
+ "sha256": "c6c028214b6a498a7e1f616375a1d413ee727661ecaeec5e7b93b97fbe6786e3"
410
+ }
411
+ ]
412
+ }
@@ -0,0 +1,4 @@
1
+ import type { OutputOptions } from "../utils/output.js";
2
+ export declare function configShow(_args: string[], options: OutputOptions): Promise<void>;
3
+ export declare function configGet(key: string, options: OutputOptions): Promise<void>;
4
+ export declare function configSet(key: string, value: string | undefined, options: OutputOptions): Promise<void>;
@@ -0,0 +1,139 @@
1
+ import { findConfigDir, loadConfig, saveConfig } from "../config.js";
2
+ import { getProvider, listProviders } from "../providers/index.js";
3
+ import { EXIT_ERROR, EXIT_USER_ERROR } from "../utils/exit-codes.js";
4
+ import { bold, dim, error, output, success } from "../utils/output.js";
5
+ export async function configShow(_args, options) {
6
+ const config = loadConfig();
7
+ const configDir = findConfigDir();
8
+ const providerName = config.llm?.provider || "openai";
9
+ const provider = getProvider(providerName);
10
+ output(options, {
11
+ json: () => ({
12
+ configDir,
13
+ config,
14
+ providers: listProviders(),
15
+ }),
16
+ human: () => {
17
+ console.log();
18
+ console.log(bold("Configuration"));
19
+ console.log();
20
+ if (configDir) {
21
+ console.log(` ${dim("config:")} ${configDir}/config.json`);
22
+ }
23
+ else {
24
+ console.log(` ${dim("config:")} none (run 'markit init')`);
25
+ }
26
+ console.log();
27
+ console.log(bold("LLM Settings"));
28
+ console.log();
29
+ console.log(` ${dim("provider:")} ${providerName}`);
30
+ if (provider) {
31
+ // Resolve API key
32
+ const apiKey = provider.envKeys.reduce((found, key) => found || process.env[key], undefined) || config.llm?.apiKey;
33
+ const keySource = provider.envKeys.find((k) => process.env[k]) ||
34
+ (config.llm?.apiKey ? "config" : undefined);
35
+ console.log(` ${dim("api key:")} ${apiKey ? `***${apiKey.slice(-4)} (${keySource})` : dim("not set")}`);
36
+ console.log(` ${dim("api base:")} ${config.llm?.apiBase || provider.defaultBase}`);
37
+ console.log(` ${dim("model:")} ${config.llm?.model || provider.defaultModel}`);
38
+ if (provider.defaultTranscriptionModel) {
39
+ console.log(` ${dim("transcription:")} ${config.llm?.transcriptionModel || provider.defaultTranscriptionModel}`);
40
+ }
41
+ console.log(` ${dim("env vars:")} ${provider.envKeys.join(", ")}`);
42
+ }
43
+ else {
44
+ console.log(` ${dim("(unknown provider)")}`);
45
+ }
46
+ console.log();
47
+ console.log(dim(` Available providers: ${listProviders().join(", ")}`));
48
+ console.log();
49
+ },
50
+ });
51
+ }
52
+ export async function configGet(key, options) {
53
+ const config = loadConfig();
54
+ const value = getNestedValue(config, key);
55
+ if (value === undefined) {
56
+ output(options, {
57
+ json: () => ({ key, value: null }),
58
+ human: () => error(`Key '${key}' not found`),
59
+ });
60
+ process.exit(EXIT_USER_ERROR);
61
+ }
62
+ output(options, {
63
+ json: () => ({ key, value }),
64
+ quiet: () => console.log(String(value)),
65
+ human: () => console.log(String(value)),
66
+ });
67
+ }
68
+ export async function configSet(key, value, options) {
69
+ if (!findConfigDir()) {
70
+ output(options, {
71
+ json: () => ({
72
+ success: false,
73
+ error: "No .markit/ directory. Run 'markit init'",
74
+ }),
75
+ human: () => error("No .markit/ directory. Run 'markit init' first."),
76
+ });
77
+ process.exit(EXIT_ERROR);
78
+ }
79
+ // Secrets: read from stdin instead of args (avoids shell history)
80
+ const isSecret = key.toLowerCase().includes("key") ||
81
+ key.toLowerCase().includes("secret") ||
82
+ key.toLowerCase().includes("token");
83
+ let resolved;
84
+ if (isSecret && !value) {
85
+ // Prompt from stdin
86
+ if (process.stdin.isTTY) {
87
+ process.stderr.write(`Enter value for ${key}: `);
88
+ }
89
+ const chunks = [];
90
+ for await (const chunk of process.stdin) {
91
+ chunks.push(chunk);
92
+ }
93
+ resolved = Buffer.concat(chunks).toString("utf-8").trim();
94
+ if (!resolved) {
95
+ error("No value provided");
96
+ process.exit(EXIT_USER_ERROR);
97
+ }
98
+ }
99
+ else if (isSecret && value) {
100
+ // Warn if secret passed as arg
101
+ console.error(dim(" hint: secrets in args leak to shell history. Use: markit config set llm.apiKey < keyfile"));
102
+ resolved = value;
103
+ }
104
+ else if (value === undefined) {
105
+ error("Missing value. Usage: markit config set <key> <value>");
106
+ process.exit(EXIT_USER_ERROR);
107
+ }
108
+ else {
109
+ resolved = value;
110
+ }
111
+ const config = loadConfig();
112
+ let parsed = resolved;
113
+ if (resolved === "true")
114
+ parsed = true;
115
+ else if (resolved === "false")
116
+ parsed = false;
117
+ else if (/^\d+$/.test(resolved))
118
+ parsed = parseInt(resolved, 10);
119
+ setNestedValue(config, key, parsed);
120
+ saveConfig(config);
121
+ output(options, {
122
+ json: () => ({ success: true, key, value: parsed }),
123
+ human: () => success(`${key} = ${JSON.stringify(parsed)}`),
124
+ });
125
+ }
126
+ function getNestedValue(obj, path) {
127
+ return path.split(".").reduce((o, k) => o?.[k], obj);
128
+ }
129
+ function setNestedValue(obj, path, value) {
130
+ const keys = path.split(".");
131
+ let current = obj;
132
+ for (let i = 0; i < keys.length - 1; i++) {
133
+ if (!current[keys[i]] || typeof current[keys[i]] !== "object") {
134
+ current[keys[i]] = {};
135
+ }
136
+ current = current[keys[i]];
137
+ }
138
+ current[keys[keys.length - 1]] = value;
139
+ }
@@ -0,0 +1,6 @@
1
+ import type { OutputOptions } from "../utils/output.js";
2
+ export declare function convert(source: string, options: OutputOptions & {
3
+ output?: string;
4
+ prompt?: string;
5
+ imageDir?: string;
6
+ }): Promise<void>;
@@ -0,0 +1,113 @@
1
+ import { mkdtempSync, writeFileSync } from "node:fs";
2
+ import { tmpdir } from "node:os";
3
+ import { join } from "node:path";
4
+ import { loadConfig } from "../config.js";
5
+ import { Markit } from "../markit.js";
6
+ import { loadAllPlugins } from "../plugins/loader.js";
7
+ import { createLlmFunctions, registerProvider } from "../providers/index.js";
8
+ import { EXIT_ERROR, EXIT_UNSUPPORTED } from "../utils/exit-codes.js";
9
+ import { dim, error, output, success } from "../utils/output.js";
10
+ async function readStdin() {
11
+ const chunks = [];
12
+ for await (const chunk of process.stdin) {
13
+ chunks.push(chunk);
14
+ }
15
+ return Buffer.concat(chunks);
16
+ }
17
+ export async function convert(source, options) {
18
+ const config = loadConfig();
19
+ const plugins = await loadAllPlugins();
20
+ // Register any providers from plugins
21
+ for (const plugin of plugins) {
22
+ for (const provider of plugin.providers) {
23
+ registerProvider(provider);
24
+ }
25
+ }
26
+ const llmFunctions = createLlmFunctions(config, options.prompt);
27
+ const markit = new Markit(llmFunctions, plugins);
28
+ // Auto-create a temp dir for images if not explicitly provided
29
+ const imageDir = options.imageDir || mkdtempSync(join(tmpdir(), "markit-images-"));
30
+ try {
31
+ let result;
32
+ const isStdin = source === "-";
33
+ const isUrl = source.startsWith("http:") ||
34
+ source.startsWith("https:") ||
35
+ source.startsWith("file:");
36
+ if (isStdin) {
37
+ // Check if stdin is a TTY (no piped input)
38
+ if (process.stdin.isTTY) {
39
+ error("No input on stdin. Pipe a file: cat report.pdf | markit -");
40
+ process.exit(EXIT_ERROR);
41
+ }
42
+ const buffer = await readStdin();
43
+ result = await markit.convert(buffer, { imageDir });
44
+ }
45
+ else if (isUrl) {
46
+ // Progress hint for URL fetches (stderr so it doesn't pollute piped output)
47
+ if (!options.json && !options.quiet) {
48
+ process.stderr.write(`ℹ Fetching ${source}...\n`);
49
+ }
50
+ result = await markit.convertUrl(source);
51
+ }
52
+ else {
53
+ result = await markit.convertFile(source, { imageDir });
54
+ }
55
+ const label = isStdin ? "stdin" : source;
56
+ // Write to file or stdout
57
+ if (options.output) {
58
+ writeFileSync(options.output, result.markdown);
59
+ output(options, {
60
+ json: () => ({
61
+ success: true,
62
+ source: label,
63
+ output: options.output,
64
+ title: result.title,
65
+ length: result.markdown.length,
66
+ }),
67
+ human: () => {
68
+ success(`Converted → ${options.output}`);
69
+ if (result.title)
70
+ console.log(dim(` title: ${result.title}`));
71
+ console.log(dim(` ${result.markdown.length} chars`));
72
+ },
73
+ });
74
+ }
75
+ else {
76
+ output(options, {
77
+ json: () => ({
78
+ success: true,
79
+ source: label,
80
+ title: result.title,
81
+ markdown: result.markdown,
82
+ }),
83
+ quiet: () => process.stdout.write(result.markdown),
84
+ human: () => process.stdout.write(result.markdown),
85
+ });
86
+ }
87
+ }
88
+ catch (err) {
89
+ const msg = err instanceof Error ? err.message : String(err);
90
+ if (msg.includes("Unsupported format")) {
91
+ output(options, {
92
+ json: () => ({ success: false, error: msg }),
93
+ human: () => {
94
+ error(msg);
95
+ console.log(dim(" Run 'markit formats' to see supported formats."));
96
+ },
97
+ });
98
+ process.exit(EXIT_UNSUPPORTED);
99
+ }
100
+ if (msg.includes("ENOENT") || msg.includes("no such file")) {
101
+ output(options, {
102
+ json: () => ({ success: false, error: `File not found: ${source}` }),
103
+ human: () => error(`File not found: ${source}`),
104
+ });
105
+ process.exit(EXIT_ERROR);
106
+ }
107
+ output(options, {
108
+ json: () => ({ success: false, error: msg }),
109
+ human: () => error(msg),
110
+ });
111
+ process.exit(EXIT_ERROR);
112
+ }
113
+ }
@@ -0,0 +1,2 @@
1
+ import type { OutputOptions } from "../utils/output.js";
2
+ export declare function formats(_args: string[], options: OutputOptions): Promise<void>;