@zergai/ztc 0.5.0-beta.1 → 0.6.0-beta.1

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 (1166) hide show
  1. package/README.md +65 -46
  2. package/THIRD_PARTY_NOTICES.md +7 -2
  3. package/bin/zmux-darwin-arm64 +0 -0
  4. package/bin/ztc-audio-darwin-arm64 +0 -0
  5. package/bin/ztc-capture-darwin-arm64 +0 -0
  6. package/bin/ztc-computer-darwin-arm64 +0 -0
  7. package/bin/ztc-llm-darwin-arm64 +0 -0
  8. package/bin/ztc-tts-darwin-arm64 +0 -0
  9. package/bin/ztc-tui-darwin-arm64 +0 -0
  10. package/bin/zterm-darwin-arm64 +0 -0
  11. package/dist/App.js +26 -9
  12. package/dist/agent/agent.d.ts +77 -0
  13. package/dist/agent/agent.js +618 -94
  14. package/dist/agent/backends/account_login.js +3 -1
  15. package/dist/agent/backends/anthropic.js +4 -3
  16. package/dist/agent/backends/bedrock.d.ts +20 -0
  17. package/dist/agent/backends/bedrock.js +175 -0
  18. package/dist/agent/backends/claude_cli.js +8 -0
  19. package/dist/agent/backends/codex_app_server.js +2 -0
  20. package/dist/agent/backends/codex_auth.d.ts +5 -2
  21. package/dist/agent/backends/codex_auth.js +131 -31
  22. package/dist/agent/backends/gemini.js +1 -1
  23. package/dist/agent/backends/http_error.d.ts +2 -0
  24. package/dist/agent/backends/http_error.js +4 -0
  25. package/dist/agent/backends/index.d.ts +3 -0
  26. package/dist/agent/backends/index.js +16 -0
  27. package/dist/agent/backends/model_pool.d.ts +20 -0
  28. package/dist/agent/backends/model_pool.js +98 -0
  29. package/dist/agent/backends/openai.js +2 -0
  30. package/dist/agent/backends/openai_compatible.js +8 -3
  31. package/dist/agent/backends/openai_responses.d.ts +14 -3
  32. package/dist/agent/backends/openai_responses.js +91 -26
  33. package/dist/agent/backends/responses_reasoning.d.ts +5 -0
  34. package/dist/agent/backends/responses_reasoning.js +23 -0
  35. package/dist/agent/backends/transport_errors.d.ts +6 -0
  36. package/dist/agent/backends/transport_errors.js +11 -0
  37. package/dist/agent/backends/types.d.ts +25 -2
  38. package/dist/agent/backends/types.js +4 -0
  39. package/dist/agent/backends/zrouter_stream.d.ts +16 -0
  40. package/dist/agent/backends/zrouter_stream.js +162 -17
  41. package/dist/agent/background_workers.d.ts +68 -0
  42. package/dist/agent/background_workers.js +139 -0
  43. package/dist/agent/commands/accounts.d.ts +9 -1
  44. package/dist/agent/commands/accounts.js +13 -5
  45. package/dist/agent/commands/auth.d.ts +30 -1
  46. package/dist/agent/commands/auth.js +166 -35
  47. package/dist/agent/commands/command_refusal.d.ts +8 -0
  48. package/dist/agent/commands/command_refusal.js +8 -0
  49. package/dist/agent/commands/compact.js +16 -10
  50. package/dist/agent/commands/config.js +386 -80
  51. package/dist/agent/commands/connect.d.ts +20 -0
  52. package/dist/agent/commands/connect.js +150 -0
  53. package/dist/agent/commands/credential_redaction.d.ts +12 -0
  54. package/dist/agent/commands/credential_redaction.js +46 -0
  55. package/dist/agent/commands/credential_status.d.ts +72 -0
  56. package/dist/agent/commands/credential_status.js +181 -0
  57. package/dist/agent/commands/direct_credential_prompt.d.ts +71 -0
  58. package/dist/agent/commands/direct_credential_prompt.js +422 -0
  59. package/dist/agent/commands/effort.d.ts +1 -0
  60. package/dist/agent/commands/effort.js +16 -34
  61. package/dist/agent/commands/goal.d.ts +0 -4
  62. package/dist/agent/commands/goal.js +48 -10
  63. package/dist/agent/commands/handoff.d.ts +6 -0
  64. package/dist/agent/commands/handoff.js +17 -0
  65. package/dist/agent/commands/help.js +1 -1
  66. package/dist/agent/commands/inbox.js +3 -0
  67. package/dist/agent/commands/index.js +5 -3
  68. package/dist/agent/commands/keybindings.js +4 -3
  69. package/dist/agent/commands/mirror.js +29 -16
  70. package/dist/agent/commands/model.js +83 -4
  71. package/dist/agent/commands/models.d.ts +1 -1
  72. package/dist/agent/commands/models.js +89 -67
  73. package/dist/agent/commands/openai_compat_wizard.d.ts +3 -2
  74. package/dist/agent/commands/openai_compat_wizard.js +53 -15
  75. package/dist/agent/commands/provider_choices.d.ts +56 -0
  76. package/dist/agent/commands/provider_choices.js +72 -3
  77. package/dist/agent/commands/provider_model_defaults.d.ts +7 -0
  78. package/dist/agent/commands/provider_model_defaults.js +11 -0
  79. package/dist/agent/commands/provider_selection.d.ts +27 -2
  80. package/dist/agent/commands/provider_selection.js +143 -8
  81. package/dist/agent/commands/reasoning_page.d.ts +33 -0
  82. package/dist/agent/commands/reasoning_page.js +595 -0
  83. package/dist/agent/commands/reasoning_picker.d.ts +14 -0
  84. package/dist/agent/commands/reasoning_picker.js +99 -0
  85. package/dist/agent/commands/reasoning_settings.d.ts +18 -0
  86. package/dist/agent/commands/reasoning_settings.js +46 -0
  87. package/dist/agent/commands/settings.d.ts +2 -0
  88. package/dist/agent/commands/settings.js +689 -264
  89. package/dist/agent/commands/status.js +13 -44
  90. package/dist/agent/commands/types.d.ts +108 -2
  91. package/dist/agent/commands/update.d.ts +18 -0
  92. package/dist/agent/commands/update.js +55 -96
  93. package/dist/agent/completion_state.d.ts +18 -0
  94. package/dist/agent/completion_state.js +35 -3
  95. package/dist/agent/factory.d.ts +9 -1
  96. package/dist/agent/factory.js +61 -17
  97. package/dist/agent/loop_policy.d.ts +14 -0
  98. package/dist/agent/loop_policy.js +9 -0
  99. package/dist/agent/request_encoder.d.ts +6 -0
  100. package/dist/agent/request_encoder.js +36 -6
  101. package/dist/agent/result_emit_cap.d.ts +1 -0
  102. package/dist/agent/result_emit_cap.js +1 -0
  103. package/dist/agent/runaway_output.d.ts +32 -0
  104. package/dist/agent/runaway_output.js +80 -0
  105. package/dist/agent/runtime/command_execution_policy.d.ts +6 -0
  106. package/dist/agent/runtime/command_execution_policy.js +39 -0
  107. package/dist/agent/runtime/evidence.d.ts +17 -1
  108. package/dist/agent/runtime/evidence.js +58 -8
  109. package/dist/agent/runtime/execution_context.js +7 -3
  110. package/dist/agent/runtime/read_only_command.d.ts +15 -0
  111. package/dist/agent/runtime/read_only_command.js +265 -0
  112. package/dist/agent/runtime/recovery.js +2 -38
  113. package/dist/agent/runtime/source_verification.js +3 -1
  114. package/dist/agent/runtime/tool_checkpoints.js +5 -1
  115. package/dist/agent/runtime/tool_runtime.js +15 -1
  116. package/dist/agent/runtime/tool_scheduler.js +3 -1
  117. package/dist/agent/subagent.d.ts +4 -0
  118. package/dist/agent/subagent.js +195 -23
  119. package/dist/agent/system_prompt.d.ts +3 -1
  120. package/dist/agent/system_prompt.js +3 -1
  121. package/dist/agent/tool_response_store.d.ts +9 -0
  122. package/dist/agent/tool_response_store.js +39 -3
  123. package/dist/agent/tool_result_parsing.d.ts +2 -0
  124. package/dist/agent/tool_result_parsing.js +1 -0
  125. package/dist/agent/tool_result_presentation.d.ts +21 -0
  126. package/dist/agent/tool_result_presentation.js +237 -0
  127. package/dist/agent/tools/apply_patch.js +130 -42
  128. package/dist/agent/tools/deferred.js +22 -2
  129. package/dist/agent/tools/delegate.js +182 -49
  130. package/dist/agent/tools/edit_view.d.ts +13 -0
  131. package/dist/agent/tools/edit_view.js +134 -0
  132. package/dist/agent/tools/file.js +54 -16
  133. package/dist/agent/tools/recall_tool_response.d.ts +6 -0
  134. package/dist/agent/tools/recall_tool_response.js +60 -17
  135. package/dist/agent/tools/screenshot.js +5 -3
  136. package/dist/agent/tools/search.js +18 -9
  137. package/dist/agent/tools/shell.d.ts +1 -1
  138. package/dist/agent/tools/shell.js +48 -10
  139. package/dist/agent/tools/sim_domain_tools.js +7 -1
  140. package/dist/agent/tools/tool_groups.d.ts +34 -0
  141. package/dist/agent/tools/tool_groups.js +112 -0
  142. package/dist/agent/tools/types.d.ts +10 -0
  143. package/dist/app/activity.js +2 -1
  144. package/dist/app/agent_runner.js +13 -4
  145. package/dist/app/ask_user_response.d.ts +6 -0
  146. package/dist/app/ask_user_response.js +26 -0
  147. package/dist/app/command_context.js +11 -5
  148. package/dist/app/launch_notices.d.ts +10 -0
  149. package/dist/app/launch_notices.js +20 -0
  150. package/dist/app/selection_completion.d.ts +30 -1
  151. package/dist/app/selection_completion.js +191 -28
  152. package/dist/app/session_manager.d.ts +5 -0
  153. package/dist/app/session_manager.js +50 -12
  154. package/dist/app/session_messages.d.ts +3 -0
  155. package/dist/app/session_messages.js +34 -12
  156. package/dist/app/workspace_admission_details.d.ts +7 -0
  157. package/dist/app/workspace_admission_details.js +45 -1
  158. package/dist/cli_args.js +1 -1
  159. package/dist/cli_main.js +20 -3
  160. package/dist/cli_ratatui.d.ts +95 -3
  161. package/dist/cli_ratatui.js +654 -161
  162. package/dist/components/InputArea.js +1 -1
  163. package/dist/config/compaction.d.ts +2 -1
  164. package/dist/config/compaction.js +2 -1
  165. package/dist/config/defaults.js +20 -48
  166. package/dist/config/provider_api_key_env.d.ts +76 -0
  167. package/dist/config/provider_api_key_env.js +148 -0
  168. package/dist/config/resolved.d.ts +4 -4
  169. package/dist/config/types.d.ts +102 -1
  170. package/dist/config.d.ts +70 -8
  171. package/dist/config.js +253 -63
  172. package/dist/diagnostics/session_export.d.ts +1 -0
  173. package/dist/diagnostics/session_export.js +81 -13
  174. package/dist/emulation/catalog.d.ts +2 -0
  175. package/dist/emulation/catalog.js +50 -21
  176. package/dist/emulation/tool_adapters.d.ts +6 -0
  177. package/dist/emulation/tool_adapters.js +30 -0
  178. package/dist/emulation/ztc_addendum.d.ts +22 -0
  179. package/dist/emulation/ztc_addendum.js +37 -0
  180. package/dist/events.d.ts +3 -0
  181. package/dist/headless.d.ts +35 -1
  182. package/dist/headless.js +209 -14
  183. package/dist/headless_cli.js +6 -0
  184. package/dist/headless_cli_args.d.ts +4 -0
  185. package/dist/headless_cli_args.js +2 -0
  186. package/dist/headless_output_schema.d.ts +46 -0
  187. package/dist/headless_output_schema.js +386 -0
  188. package/dist/headless_trajectory.d.ts +44 -0
  189. package/dist/headless_trajectory.js +113 -0
  190. package/dist/library.d.ts +6 -3
  191. package/dist/library.js +8 -4
  192. package/dist/lsp/client.js +4 -1
  193. package/dist/lsp/servers.js +2 -0
  194. package/dist/onboarding/first_run.d.ts +26 -6
  195. package/dist/onboarding/first_run.js +63 -45
  196. package/dist/onboarding/router_tips.d.ts +7 -0
  197. package/dist/onboarding/router_tips.js +38 -0
  198. package/dist/onboarding/setup.js +1 -1
  199. package/dist/onboarding/wordmark.d.ts +7 -0
  200. package/dist/onboarding/wordmark.js +14 -0
  201. package/dist/onboarding/zergai_login.d.ts +48 -0
  202. package/dist/onboarding/zergai_login.js +60 -0
  203. package/dist/prompts/subagent_worker.j2 +20 -0
  204. package/dist/prompts/tool_delegate_task.j2 +5 -14
  205. package/dist/router_auth.d.ts +37 -3
  206. package/dist/router_auth.js +221 -73
  207. package/dist/runtime_info.d.ts +19 -6
  208. package/dist/runtime_info.js +64 -28
  209. package/dist/session.d.ts +9 -0
  210. package/dist/session.js +41 -8
  211. package/dist/session_handoff_contract.d.ts +13 -0
  212. package/dist/session_handoff_contract.js +81 -15
  213. package/dist/session_media.d.ts +5 -0
  214. package/dist/session_media.js +2 -1
  215. package/dist/simulation/domain_types.d.ts +3 -3
  216. package/dist/simulation/living/context.d.ts +9 -9
  217. package/dist/simulation/living/definition.d.ts +1 -1
  218. package/dist/simulation/living/open-world.d.ts +3 -3
  219. package/dist/simulation/living/recall.d.ts +1 -1
  220. package/dist/simulation/living/types.d.ts +18 -18
  221. package/dist/simulation/orchestration/world_response.d.ts +2 -2
  222. package/dist/simulation/toolkit/dynamic_meetings.d.ts +1 -1
  223. package/dist/simulation/toolkit/dynamic_state.d.ts +1 -1
  224. package/dist/simulation/world/bootstrap_schema.d.ts +1 -1
  225. package/dist/simulation/world/gm_schema.d.ts +8 -8
  226. package/dist/skills/loader.js +3 -1
  227. package/dist/types.d.ts +6 -2
  228. package/dist/ui/core/input.d.ts +5 -1
  229. package/dist/ui/core/input.js +5 -1
  230. package/dist/ui/core/input_segments.d.ts +5 -1
  231. package/dist/ui/core/input_segments.js +5 -3
  232. package/dist/ui/ratatui/headless_pane_manager.d.ts +3 -1
  233. package/dist/ui/ratatui/headless_pane_manager.js +16 -5
  234. package/dist/ui/ratatui/input.js +4 -3
  235. package/dist/ui/ratatui/process.js +22 -13
  236. package/dist/ui/ratatui/protocol.d.ts +14 -0
  237. package/dist/ui/ratatui/protocol.js +2 -0
  238. package/dist/ui/scrollback.d.ts +17 -0
  239. package/dist/ui/scrollback.js +138 -4
  240. package/dist/ui/terminal_image.d.ts +129 -0
  241. package/dist/ui/terminal_image.js +516 -0
  242. package/dist/ui/transcript_render_cache.d.ts +4 -4
  243. package/dist/ui/transcript_render_cache.js +7 -4
  244. package/dist/ui/views/app.d.ts +7 -3
  245. package/dist/ui/views/app.js +13 -6
  246. package/dist/ui/views/completion_menu.js +18 -10
  247. package/dist/ui/views/input_area.d.ts +1 -2
  248. package/dist/ui/views/input_area.js +2 -2
  249. package/dist/ui/views/message_list.d.ts +8 -1
  250. package/dist/ui/views/message_list.js +176 -45
  251. package/dist/ui/views/status_bar.js +7 -1
  252. package/dist/ui/views/theme.d.ts +2 -0
  253. package/dist/ui/views/theme.js +2 -0
  254. package/dist/ui/widgets/color_panel.js +4 -3
  255. package/dist/ui/widgets/form.d.ts +8 -1
  256. package/dist/ui/widgets/form.js +36 -22
  257. package/dist/ui/widgets/index.d.ts +1 -1
  258. package/dist/ui/widgets/index.js +1 -1
  259. package/dist/ui/widgets/log_view.js +4 -3
  260. package/dist/ui/widgets/navigator_panel.js +5 -4
  261. package/dist/ui/widgets/panel_frame.d.ts +2 -0
  262. package/dist/ui/widgets/panel_frame.js +14 -0
  263. package/dist/ui/widgets/prompt_viewer.js +2 -1
  264. package/dist/ui/widgets/questionnaire.js +3 -3
  265. package/dist/ui/widgets/reasoning_track.d.ts +60 -0
  266. package/dist/ui/widgets/reasoning_track.js +218 -0
  267. package/dist/ui/widgets/resume_panel.js +15 -10
  268. package/dist/ui/widgets/rewind_panel.js +4 -16
  269. package/dist/ui/widgets/select.d.ts +90 -4
  270. package/dist/ui/widgets/select.js +305 -135
  271. package/dist/ui/widgets/settings_panel.d.ts +21 -1
  272. package/dist/ui/widgets/settings_panel.js +266 -45
  273. package/dist/ui/widgets/status_line_panel.js +6 -5
  274. package/dist/ui/widgets/text_input.d.ts +4 -0
  275. package/dist/ui/widgets/text_input.js +20 -13
  276. package/dist/ui/widgets/types.d.ts +2 -0
  277. package/dist/utils/compaction.d.ts +24 -4
  278. package/dist/utils/compaction.js +228 -44
  279. package/dist/utils/context.js +1 -0
  280. package/dist/utils/debug_log.d.ts +12 -0
  281. package/dist/utils/debug_log.js +25 -3
  282. package/dist/utils/deepseek.d.ts +3 -1
  283. package/dist/utils/deepseek.js +29 -1
  284. package/dist/utils/docker_target.d.ts +28 -0
  285. package/dist/utils/docker_target.js +89 -0
  286. package/dist/utils/ephemeral.js +2 -0
  287. package/dist/utils/fireworks.d.ts +4 -4
  288. package/dist/utils/fireworks.js +11 -7
  289. package/dist/utils/idle_compaction.d.ts +32 -0
  290. package/dist/utils/idle_compaction.js +113 -0
  291. package/dist/utils/mid_turn_compaction.d.ts +12 -0
  292. package/dist/utils/mid_turn_compaction.js +17 -0
  293. package/dist/utils/open_url.d.ts +4 -0
  294. package/dist/utils/open_url.js +10 -0
  295. package/dist/utils/openrouter_prices.d.ts +165 -0
  296. package/dist/utils/openrouter_prices.js +313 -0
  297. package/dist/utils/router_catalog.d.ts +13 -0
  298. package/dist/utils/router_catalog.js +30 -3
  299. package/dist/utils/sandbox.d.ts +12 -0
  300. package/dist/utils/sandbox.js +23 -5
  301. package/dist/utils/session_interactivity.d.ts +21 -0
  302. package/dist/utils/session_interactivity.js +28 -0
  303. package/dist/utils/shell.d.ts +7 -0
  304. package/dist/utils/shell.js +43 -7
  305. package/dist/utils/subprocess_env.d.ts +27 -0
  306. package/dist/utils/subprocess_env.js +69 -3
  307. package/dist/utils/tool_output_copies.d.ts +44 -0
  308. package/dist/utils/tool_output_copies.js +196 -0
  309. package/dist/utils/tool_result_message.d.ts +7 -0
  310. package/dist/utils/tool_result_message.js +11 -0
  311. package/dist/utils/tool_trace.d.ts +15 -0
  312. package/dist/utils/tool_trace.js +40 -9
  313. package/dist/web/event_history_store.d.ts +2 -0
  314. package/dist/web/event_history_store.js +31 -6
  315. package/dist/web/mirror_client.d.ts +3 -0
  316. package/dist/web/mirror_stream.d.ts +11 -0
  317. package/dist/web/mirror_stream.js +23 -3
  318. package/dist/worker/executor.js +3 -1
  319. package/dist/worker/toolsets.d.ts +1 -1
  320. package/dist/worker/toolsets.js +4 -3
  321. package/dist/worker/types.d.ts +6 -0
  322. package/dist/worker/worker_models.d.ts +17 -0
  323. package/dist/worker/worker_models.js +79 -0
  324. package/dist/zlm-embed.mjs +53761 -10916
  325. package/node_modules/@zerg/model-contracts/README.md +16 -5
  326. package/node_modules/@zerg/model-contracts/index.d.ts +7 -3
  327. package/node_modules/@zerg/model-contracts/index.js +40 -18
  328. package/node_modules/abort-controller/LICENSE +21 -0
  329. package/node_modules/abort-controller/README.md +98 -0
  330. package/node_modules/abort-controller/browser.js +13 -0
  331. package/node_modules/abort-controller/browser.mjs +11 -0
  332. package/node_modules/abort-controller/dist/abort-controller.d.ts +43 -0
  333. package/node_modules/abort-controller/dist/abort-controller.js +127 -0
  334. package/node_modules/abort-controller/dist/abort-controller.js.map +1 -0
  335. package/node_modules/abort-controller/dist/abort-controller.mjs +118 -0
  336. package/node_modules/abort-controller/dist/abort-controller.mjs.map +1 -0
  337. package/node_modules/abort-controller/dist/abort-controller.umd.js +5 -0
  338. package/node_modules/abort-controller/dist/abort-controller.umd.js.map +1 -0
  339. package/node_modules/abort-controller/package.json +97 -0
  340. package/node_modules/abort-controller/polyfill.js +21 -0
  341. package/node_modules/abort-controller/polyfill.mjs +19 -0
  342. package/node_modules/bluebird/LICENSE +1 -1
  343. package/node_modules/bluebird/README.md +8 -2
  344. package/node_modules/bluebird/js/browser/bluebird.core.js +325 -150
  345. package/node_modules/bluebird/js/browser/bluebird.core.min.js +4 -4
  346. package/node_modules/bluebird/js/browser/bluebird.js +362 -165
  347. package/node_modules/bluebird/js/browser/bluebird.min.js +5 -5
  348. package/node_modules/bluebird/js/release/async.js +15 -56
  349. package/node_modules/bluebird/js/release/debuggability.js +118 -25
  350. package/node_modules/bluebird/js/release/finally.js +37 -2
  351. package/node_modules/bluebird/js/release/generators.js +1 -1
  352. package/node_modules/bluebird/js/release/join.js +4 -7
  353. package/node_modules/bluebird/js/release/map.js +10 -3
  354. package/node_modules/bluebird/js/release/promise.js +89 -43
  355. package/node_modules/bluebird/js/release/promise_array.js +2 -0
  356. package/node_modules/bluebird/js/release/props.js +1 -1
  357. package/node_modules/bluebird/js/release/reduce.js +16 -5
  358. package/node_modules/bluebird/js/release/schedule.js +6 -5
  359. package/node_modules/bluebird/js/release/settle.js +4 -0
  360. package/node_modules/bluebird/js/release/util.js +53 -11
  361. package/node_modules/bluebird/package.json +7 -5
  362. package/node_modules/buffer/AUTHORS.md +3 -0
  363. package/node_modules/buffer/README.md +1 -1
  364. package/node_modules/buffer/index.d.ts +11 -3
  365. package/node_modules/buffer/index.js +424 -135
  366. package/node_modules/buffer/package.json +8 -11
  367. package/node_modules/compress-commons/README.md +1 -1
  368. package/node_modules/compress-commons/lib/archivers/archive-entry.js +6 -16
  369. package/node_modules/compress-commons/lib/archivers/archive-output-stream.js +79 -98
  370. package/node_modules/compress-commons/lib/archivers/zip/constants.js +99 -70
  371. package/node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js +70 -92
  372. package/node_modules/compress-commons/lib/archivers/zip/unix-stat.js +19 -53
  373. package/node_modules/compress-commons/lib/archivers/zip/util.js +49 -49
  374. package/node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js +356 -389
  375. package/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js +335 -404
  376. package/node_modules/compress-commons/lib/compress-commons.js +18 -13
  377. package/node_modules/compress-commons/lib/util/index.js +11 -21
  378. package/node_modules/compress-commons/node_modules/readable-stream/README.md +116 -0
  379. package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
  380. package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
  381. package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_readable.js +4 -0
  382. package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_transform.js +4 -0
  383. package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_writable.js +4 -0
  384. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
  385. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
  386. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
  387. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
  388. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
  389. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
  390. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
  391. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
  392. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
  393. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
  394. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/legacy.js +94 -0
  395. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
  396. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
  397. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
  398. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
  399. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
  400. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
  401. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
  402. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
  403. package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/validators.js +530 -0
  404. package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/browser.js +35 -0
  405. package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/errors.js +343 -0
  406. package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/index.js +65 -0
  407. package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/primordials.js +124 -0
  408. package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
  409. package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/util.js +148 -0
  410. package/node_modules/compress-commons/node_modules/readable-stream/lib/stream/promises.js +43 -0
  411. package/node_modules/compress-commons/node_modules/readable-stream/lib/stream.js +143 -0
  412. package/node_modules/compress-commons/node_modules/readable-stream/package.json +89 -0
  413. package/node_modules/compress-commons/package.json +13 -10
  414. package/node_modules/crc32-stream/README.md +8 -8
  415. package/node_modules/crc32-stream/lib/crc32-stream.js +4 -23
  416. package/node_modules/crc32-stream/lib/deflate-crc32-stream.js +5 -27
  417. package/node_modules/crc32-stream/lib/index.js +7 -6
  418. package/node_modules/crc32-stream/node_modules/readable-stream/README.md +116 -0
  419. package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
  420. package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
  421. package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_readable.js +4 -0
  422. package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_transform.js +4 -0
  423. package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_writable.js +4 -0
  424. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
  425. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
  426. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
  427. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
  428. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
  429. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
  430. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
  431. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
  432. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
  433. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
  434. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/legacy.js +94 -0
  435. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
  436. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
  437. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
  438. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
  439. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
  440. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
  441. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
  442. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
  443. package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/validators.js +530 -0
  444. package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/browser.js +35 -0
  445. package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/errors.js +343 -0
  446. package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/index.js +65 -0
  447. package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/primordials.js +124 -0
  448. package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
  449. package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/util.js +148 -0
  450. package/node_modules/crc32-stream/node_modules/readable-stream/lib/stream/promises.js +43 -0
  451. package/node_modules/crc32-stream/node_modules/readable-stream/lib/stream.js +143 -0
  452. package/node_modules/crc32-stream/node_modules/readable-stream/package.json +89 -0
  453. package/node_modules/crc32-stream/package.json +9 -10
  454. package/node_modules/event-target-shim/LICENSE +22 -0
  455. package/node_modules/event-target-shim/README.md +293 -0
  456. package/node_modules/event-target-shim/dist/event-target-shim.js +871 -0
  457. package/node_modules/event-target-shim/dist/event-target-shim.js.map +1 -0
  458. package/node_modules/event-target-shim/dist/event-target-shim.mjs +862 -0
  459. package/node_modules/event-target-shim/dist/event-target-shim.mjs.map +1 -0
  460. package/node_modules/event-target-shim/dist/event-target-shim.umd.js +6 -0
  461. package/node_modules/event-target-shim/dist/event-target-shim.umd.js.map +1 -0
  462. package/node_modules/event-target-shim/index.d.ts +399 -0
  463. package/node_modules/event-target-shim/package.json +82 -0
  464. package/node_modules/events/.airtap.yml +15 -0
  465. package/node_modules/events/.github/FUNDING.yml +12 -0
  466. package/node_modules/events/.travis.yml +18 -0
  467. package/node_modules/events/History.md +118 -0
  468. package/node_modules/events/LICENSE +22 -0
  469. package/node_modules/events/Readme.md +50 -0
  470. package/node_modules/events/events.js +497 -0
  471. package/node_modules/events/package.json +37 -0
  472. package/node_modules/events/security.md +10 -0
  473. package/node_modules/events/tests/add-listeners.js +111 -0
  474. package/node_modules/events/tests/check-listener-leaks.js +101 -0
  475. package/node_modules/events/tests/common.js +104 -0
  476. package/node_modules/events/tests/errors.js +13 -0
  477. package/node_modules/events/tests/events-list.js +28 -0
  478. package/node_modules/events/tests/events-once.js +234 -0
  479. package/node_modules/events/tests/index.js +64 -0
  480. package/node_modules/events/tests/legacy-compat.js +16 -0
  481. package/node_modules/events/tests/listener-count.js +37 -0
  482. package/node_modules/events/tests/listeners-side-effects.js +56 -0
  483. package/node_modules/events/tests/listeners.js +168 -0
  484. package/node_modules/events/tests/max-listeners.js +47 -0
  485. package/node_modules/events/tests/method-names.js +35 -0
  486. package/node_modules/events/tests/modify-in-emit.js +90 -0
  487. package/node_modules/events/tests/num-args.js +60 -0
  488. package/node_modules/events/tests/once.js +83 -0
  489. package/node_modules/events/tests/prepend.js +31 -0
  490. package/node_modules/events/tests/remove-all-listeners.js +133 -0
  491. package/node_modules/events/tests/remove-listeners.js +212 -0
  492. package/node_modules/events/tests/set-max-listeners-side-effects.js +31 -0
  493. package/node_modules/events/tests/special-event-names.js +45 -0
  494. package/node_modules/events/tests/subclass.js +66 -0
  495. package/node_modules/events/tests/symbols.js +25 -0
  496. package/node_modules/exceljs/lib/stream/xlsx/workbook-reader.js +5 -1
  497. package/node_modules/exceljs/lib/stream/xlsx/workbook-writer.js +2 -2
  498. package/node_modules/exceljs/lib/utils/zip-archive.js +85 -0
  499. package/node_modules/exceljs/package.json +3 -3
  500. package/node_modules/fs-extra/LICENSE +15 -0
  501. package/node_modules/fs-extra/README.md +294 -0
  502. package/node_modules/fs-extra/lib/copy/copy-sync.js +171 -0
  503. package/node_modules/fs-extra/lib/copy/copy.js +182 -0
  504. package/node_modules/fs-extra/lib/copy/index.js +7 -0
  505. package/node_modules/fs-extra/lib/empty/index.js +39 -0
  506. package/node_modules/fs-extra/lib/ensure/file.js +66 -0
  507. package/node_modules/fs-extra/lib/ensure/index.js +23 -0
  508. package/node_modules/fs-extra/lib/ensure/link.js +64 -0
  509. package/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
  510. package/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
  511. package/node_modules/fs-extra/lib/ensure/symlink.js +67 -0
  512. package/node_modules/fs-extra/lib/esm.mjs +68 -0
  513. package/node_modules/fs-extra/lib/fs/index.js +146 -0
  514. package/node_modules/fs-extra/lib/index.js +16 -0
  515. package/node_modules/fs-extra/lib/json/index.js +16 -0
  516. package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
  517. package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
  518. package/node_modules/fs-extra/lib/json/output-json.js +12 -0
  519. package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
  520. package/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
  521. package/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
  522. package/node_modules/fs-extra/lib/move/index.js +7 -0
  523. package/node_modules/fs-extra/lib/move/move-sync.js +55 -0
  524. package/node_modules/fs-extra/lib/move/move.js +59 -0
  525. package/node_modules/fs-extra/lib/output-file/index.js +31 -0
  526. package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
  527. package/node_modules/fs-extra/lib/remove/index.js +17 -0
  528. package/node_modules/fs-extra/lib/util/stat.js +159 -0
  529. package/node_modules/fs-extra/lib/util/utimes.js +36 -0
  530. package/node_modules/fs-extra/package.json +71 -0
  531. package/node_modules/is-stream/index.d.ts +90 -0
  532. package/node_modules/is-stream/index.js +37 -0
  533. package/node_modules/is-stream/license +9 -0
  534. package/node_modules/is-stream/package.json +48 -0
  535. package/node_modules/is-stream/readme.md +57 -0
  536. package/node_modules/jsonfile/LICENSE +15 -0
  537. package/node_modules/jsonfile/README.md +230 -0
  538. package/node_modules/jsonfile/index.js +88 -0
  539. package/node_modules/jsonfile/package.json +40 -0
  540. package/node_modules/jsonfile/utils.js +18 -0
  541. package/node_modules/node-int64/.npmignore +3 -0
  542. package/node_modules/node-int64/Int64.js +268 -0
  543. package/node_modules/node-int64/LICENSE +19 -0
  544. package/node_modules/node-int64/README.md +78 -0
  545. package/node_modules/node-int64/package.json +27 -0
  546. package/node_modules/node-int64/test.js +120 -0
  547. package/node_modules/process/.eslintrc +21 -0
  548. package/node_modules/process/LICENSE +22 -0
  549. package/node_modules/process/README.md +26 -0
  550. package/node_modules/process/browser.js +184 -0
  551. package/node_modules/process/index.js +2 -0
  552. package/node_modules/process/package.json +27 -0
  553. package/node_modules/process/test.js +199 -0
  554. package/node_modules/universalify/LICENSE +20 -0
  555. package/node_modules/universalify/README.md +76 -0
  556. package/node_modules/universalify/index.js +24 -0
  557. package/node_modules/universalify/package.json +34 -0
  558. package/node_modules/unzipper/README.md +206 -176
  559. package/node_modules/unzipper/eslint.config.mjs +29 -0
  560. package/node_modules/unzipper/lib/BufferStream.js +9 -15
  561. package/node_modules/unzipper/lib/Decrypt.js +58 -36
  562. package/node_modules/unzipper/lib/NoopStream.js +5 -10
  563. package/node_modules/unzipper/lib/Open/directory.js +140 -127
  564. package/node_modules/unzipper/lib/Open/index.js +72 -32
  565. package/node_modules/unzipper/lib/Open/unzip.js +68 -74
  566. package/node_modules/unzipper/lib/PullStream.js +50 -55
  567. package/node_modules/unzipper/lib/extract.js +26 -18
  568. package/node_modules/unzipper/lib/parse.js +119 -118
  569. package/node_modules/unzipper/lib/parseBuffer.js +55 -0
  570. package/node_modules/unzipper/lib/parseExtraField.js +17 -14
  571. package/node_modules/unzipper/lib/parseOne.js +23 -27
  572. package/node_modules/unzipper/package.json +12 -13
  573. package/node_modules/unzipper/unzip.js +0 -6
  574. package/node_modules/zip-stream/README.md +5 -5
  575. package/node_modules/zip-stream/index.js +143 -169
  576. package/node_modules/zip-stream/node_modules/readable-stream/README.md +116 -0
  577. package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
  578. package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
  579. package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_readable.js +4 -0
  580. package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_transform.js +4 -0
  581. package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_writable.js +4 -0
  582. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
  583. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
  584. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
  585. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
  586. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
  587. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
  588. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
  589. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
  590. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
  591. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
  592. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/legacy.js +94 -0
  593. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
  594. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
  595. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
  596. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
  597. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
  598. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
  599. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
  600. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
  601. package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/validators.js +530 -0
  602. package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/browser.js +35 -0
  603. package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/errors.js +343 -0
  604. package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/index.js +65 -0
  605. package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/primordials.js +124 -0
  606. package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
  607. package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/util.js +148 -0
  608. package/node_modules/zip-stream/node_modules/readable-stream/lib/stream/promises.js +43 -0
  609. package/node_modules/zip-stream/node_modules/readable-stream/lib/stream.js +143 -0
  610. package/node_modules/zip-stream/node_modules/readable-stream/package.json +89 -0
  611. package/node_modules/zip-stream/package.json +15 -12
  612. package/node_modules/zip-stream/utils.js +21 -0
  613. package/package.json +22 -10
  614. package/packages/exceljs/PROVENANCE.md +24 -1
  615. package/packages/exceljs/lib/stream/xlsx/workbook-reader.js +5 -1
  616. package/packages/exceljs/lib/stream/xlsx/workbook-writer.js +2 -2
  617. package/packages/exceljs/lib/utils/zip-archive.js +85 -0
  618. package/packages/exceljs/package.json +3 -3
  619. package/packages/model-contracts/README.md +16 -5
  620. package/packages/model-contracts/index.d.ts +7 -3
  621. package/packages/model-contracts/index.js +40 -18
  622. package/scripts/install-macos-app.mjs +10 -1
  623. package/node_modules/archiver/LICENSE +0 -22
  624. package/node_modules/archiver/README.md +0 -94
  625. package/node_modules/archiver/index.js +0 -84
  626. package/node_modules/archiver/lib/core.js +0 -974
  627. package/node_modules/archiver/lib/error.js +0 -40
  628. package/node_modules/archiver/lib/plugins/json.js +0 -110
  629. package/node_modules/archiver/lib/plugins/tar.js +0 -167
  630. package/node_modules/archiver/lib/plugins/zip.js +0 -120
  631. package/node_modules/archiver/package.json +0 -60
  632. package/node_modules/archiver-utils/LICENSE +0 -22
  633. package/node_modules/archiver-utils/README.md +0 -7
  634. package/node_modules/archiver-utils/file.js +0 -209
  635. package/node_modules/archiver-utils/index.js +0 -156
  636. package/node_modules/archiver-utils/node_modules/readable-stream/.travis.yml +0 -34
  637. package/node_modules/archiver-utils/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  638. package/node_modules/archiver-utils/node_modules/readable-stream/GOVERNANCE.md +0 -136
  639. package/node_modules/archiver-utils/node_modules/readable-stream/README.md +0 -58
  640. package/node_modules/archiver-utils/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  641. package/node_modules/archiver-utils/node_modules/readable-stream/duplex-browser.js +0 -1
  642. package/node_modules/archiver-utils/node_modules/readable-stream/duplex.js +0 -1
  643. package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  644. package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  645. package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  646. package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  647. package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  648. package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  649. package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  650. package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  651. package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  652. package/node_modules/archiver-utils/node_modules/readable-stream/package.json +0 -52
  653. package/node_modules/archiver-utils/node_modules/readable-stream/passthrough.js +0 -1
  654. package/node_modules/archiver-utils/node_modules/readable-stream/readable-browser.js +0 -7
  655. package/node_modules/archiver-utils/node_modules/readable-stream/readable.js +0 -19
  656. package/node_modules/archiver-utils/node_modules/readable-stream/transform.js +0 -1
  657. package/node_modules/archiver-utils/node_modules/readable-stream/writable-browser.js +0 -1
  658. package/node_modules/archiver-utils/node_modules/readable-stream/writable.js +0 -8
  659. package/node_modules/archiver-utils/node_modules/safe-buffer/LICENSE +0 -21
  660. package/node_modules/archiver-utils/node_modules/safe-buffer/README.md +0 -584
  661. package/node_modules/archiver-utils/node_modules/safe-buffer/index.d.ts +0 -187
  662. package/node_modules/archiver-utils/node_modules/safe-buffer/index.js +0 -62
  663. package/node_modules/archiver-utils/node_modules/safe-buffer/package.json +0 -37
  664. package/node_modules/archiver-utils/node_modules/string_decoder/.travis.yml +0 -50
  665. package/node_modules/archiver-utils/node_modules/string_decoder/LICENSE +0 -48
  666. package/node_modules/archiver-utils/node_modules/string_decoder/README.md +0 -47
  667. package/node_modules/archiver-utils/node_modules/string_decoder/lib/string_decoder.js +0 -296
  668. package/node_modules/archiver-utils/node_modules/string_decoder/package.json +0 -31
  669. package/node_modules/archiver-utils/package.json +0 -54
  670. package/node_modules/async/CHANGELOG.md +0 -351
  671. package/node_modules/async/LICENSE +0 -19
  672. package/node_modules/async/README.md +0 -59
  673. package/node_modules/async/all.js +0 -119
  674. package/node_modules/async/allLimit.js +0 -46
  675. package/node_modules/async/allSeries.js +0 -45
  676. package/node_modules/async/any.js +0 -122
  677. package/node_modules/async/anyLimit.js +0 -47
  678. package/node_modules/async/anySeries.js +0 -46
  679. package/node_modules/async/apply.js +0 -11
  680. package/node_modules/async/applyEach.js +0 -57
  681. package/node_modules/async/applyEachSeries.js +0 -37
  682. package/node_modules/async/asyncify.js +0 -118
  683. package/node_modules/async/auto.js +0 -333
  684. package/node_modules/async/autoInject.js +0 -182
  685. package/node_modules/async/bower.json +0 -17
  686. package/node_modules/async/cargo.js +0 -63
  687. package/node_modules/async/cargoQueue.js +0 -71
  688. package/node_modules/async/compose.js +0 -55
  689. package/node_modules/async/concat.js +0 -115
  690. package/node_modules/async/concatLimit.js +0 -60
  691. package/node_modules/async/concatSeries.js +0 -41
  692. package/node_modules/async/constant.js +0 -14
  693. package/node_modules/async/detect.js +0 -96
  694. package/node_modules/async/detectLimit.js +0 -48
  695. package/node_modules/async/detectSeries.js +0 -47
  696. package/node_modules/async/dir.js +0 -43
  697. package/node_modules/async/dist/async.js +0 -6061
  698. package/node_modules/async/dist/async.min.js +0 -1
  699. package/node_modules/async/dist/async.mjs +0 -5948
  700. package/node_modules/async/doDuring.js +0 -68
  701. package/node_modules/async/doUntil.js +0 -46
  702. package/node_modules/async/doWhilst.js +0 -68
  703. package/node_modules/async/during.js +0 -78
  704. package/node_modules/async/each.js +0 -129
  705. package/node_modules/async/eachLimit.js +0 -50
  706. package/node_modules/async/eachOf.js +0 -185
  707. package/node_modules/async/eachOfLimit.js +0 -47
  708. package/node_modules/async/eachOfSeries.js +0 -39
  709. package/node_modules/async/eachSeries.js +0 -44
  710. package/node_modules/async/ensureAsync.js +0 -67
  711. package/node_modules/async/every.js +0 -119
  712. package/node_modules/async/everyLimit.js +0 -46
  713. package/node_modules/async/everySeries.js +0 -45
  714. package/node_modules/async/filter.js +0 -93
  715. package/node_modules/async/filterLimit.js +0 -45
  716. package/node_modules/async/filterSeries.js +0 -43
  717. package/node_modules/async/find.js +0 -96
  718. package/node_modules/async/findLimit.js +0 -48
  719. package/node_modules/async/findSeries.js +0 -47
  720. package/node_modules/async/flatMap.js +0 -115
  721. package/node_modules/async/flatMapLimit.js +0 -60
  722. package/node_modules/async/flatMapSeries.js +0 -41
  723. package/node_modules/async/foldl.js +0 -153
  724. package/node_modules/async/foldr.js +0 -41
  725. package/node_modules/async/forEach.js +0 -129
  726. package/node_modules/async/forEachLimit.js +0 -50
  727. package/node_modules/async/forEachOf.js +0 -185
  728. package/node_modules/async/forEachOfLimit.js +0 -47
  729. package/node_modules/async/forEachOfSeries.js +0 -39
  730. package/node_modules/async/forEachSeries.js +0 -44
  731. package/node_modules/async/forever.js +0 -68
  732. package/node_modules/async/groupBy.js +0 -108
  733. package/node_modules/async/groupByLimit.js +0 -71
  734. package/node_modules/async/groupBySeries.js +0 -36
  735. package/node_modules/async/index.js +0 -588
  736. package/node_modules/async/inject.js +0 -153
  737. package/node_modules/async/internal/DoublyLinkedList.js +0 -92
  738. package/node_modules/async/internal/Heap.js +0 -120
  739. package/node_modules/async/internal/applyEach.js +0 -29
  740. package/node_modules/async/internal/asyncEachOfLimit.js +0 -75
  741. package/node_modules/async/internal/awaitify.js +0 -28
  742. package/node_modules/async/internal/breakLoop.js +0 -10
  743. package/node_modules/async/internal/consoleFunc.js +0 -31
  744. package/node_modules/async/internal/createTester.js +0 -40
  745. package/node_modules/async/internal/eachOfLimit.js +0 -90
  746. package/node_modules/async/internal/filter.js +0 -55
  747. package/node_modules/async/internal/getIterator.js +0 -11
  748. package/node_modules/async/internal/initialParams.js +0 -14
  749. package/node_modules/async/internal/isArrayLike.js +0 -10
  750. package/node_modules/async/internal/iterator.js +0 -57
  751. package/node_modules/async/internal/map.js +0 -30
  752. package/node_modules/async/internal/once.js +0 -17
  753. package/node_modules/async/internal/onlyOnce.js +0 -15
  754. package/node_modules/async/internal/parallel.js +0 -34
  755. package/node_modules/async/internal/promiseCallback.js +0 -23
  756. package/node_modules/async/internal/queue.js +0 -294
  757. package/node_modules/async/internal/range.js +0 -14
  758. package/node_modules/async/internal/reject.js +0 -26
  759. package/node_modules/async/internal/setImmediate.js +0 -34
  760. package/node_modules/async/internal/withoutIndex.js +0 -10
  761. package/node_modules/async/internal/wrapAsync.js +0 -34
  762. package/node_modules/async/log.js +0 -41
  763. package/node_modules/async/map.js +0 -142
  764. package/node_modules/async/mapLimit.js +0 -45
  765. package/node_modules/async/mapSeries.js +0 -44
  766. package/node_modules/async/mapValues.js +0 -152
  767. package/node_modules/async/mapValuesLimit.js +0 -61
  768. package/node_modules/async/mapValuesSeries.js +0 -37
  769. package/node_modules/async/memoize.js +0 -91
  770. package/node_modules/async/nextTick.js +0 -52
  771. package/node_modules/async/package.json +0 -75
  772. package/node_modules/async/parallel.js +0 -180
  773. package/node_modules/async/parallelLimit.js +0 -41
  774. package/node_modules/async/priorityQueue.js +0 -60
  775. package/node_modules/async/queue.js +0 -24
  776. package/node_modules/async/race.js +0 -67
  777. package/node_modules/async/reduce.js +0 -153
  778. package/node_modules/async/reduceRight.js +0 -41
  779. package/node_modules/async/reflect.js +0 -78
  780. package/node_modules/async/reflectAll.js +0 -93
  781. package/node_modules/async/reject.js +0 -87
  782. package/node_modules/async/rejectLimit.js +0 -45
  783. package/node_modules/async/rejectSeries.js +0 -43
  784. package/node_modules/async/retry.js +0 -159
  785. package/node_modules/async/retryable.js +0 -77
  786. package/node_modules/async/select.js +0 -93
  787. package/node_modules/async/selectLimit.js +0 -45
  788. package/node_modules/async/selectSeries.js +0 -43
  789. package/node_modules/async/seq.js +0 -79
  790. package/node_modules/async/series.js +0 -186
  791. package/node_modules/async/setImmediate.js +0 -45
  792. package/node_modules/async/some.js +0 -122
  793. package/node_modules/async/someLimit.js +0 -47
  794. package/node_modules/async/someSeries.js +0 -46
  795. package/node_modules/async/sortBy.js +0 -190
  796. package/node_modules/async/timeout.js +0 -89
  797. package/node_modules/async/times.js +0 -50
  798. package/node_modules/async/timesLimit.js +0 -43
  799. package/node_modules/async/timesSeries.js +0 -32
  800. package/node_modules/async/transform.js +0 -173
  801. package/node_modules/async/tryEach.js +0 -78
  802. package/node_modules/async/unmemoize.js +0 -25
  803. package/node_modules/async/until.js +0 -61
  804. package/node_modules/async/waterfall.js +0 -105
  805. package/node_modules/async/whilst.js +0 -78
  806. package/node_modules/async/wrapSync.js +0 -118
  807. package/node_modules/big-integer/BigInteger.d.ts +0 -2393
  808. package/node_modules/big-integer/BigInteger.js +0 -1453
  809. package/node_modules/big-integer/BigInteger.min.js +0 -1
  810. package/node_modules/big-integer/LICENSE +0 -24
  811. package/node_modules/big-integer/README.md +0 -589
  812. package/node_modules/big-integer/bower.json +0 -29
  813. package/node_modules/big-integer/package.json +0 -48
  814. package/node_modules/big-integer/tsconfig.json +0 -24
  815. package/node_modules/binary/.npmignore +0 -1
  816. package/node_modules/binary/.travis.yml +0 -4
  817. package/node_modules/binary/README.markdown +0 -177
  818. package/node_modules/binary/example/buf.js +0 -11
  819. package/node_modules/binary/example/parse.js +0 -10
  820. package/node_modules/binary/example/stream.js +0 -12
  821. package/node_modules/binary/index.js +0 -397
  822. package/node_modules/binary/lib/vars.js +0 -28
  823. package/node_modules/binary/package.json +0 -38
  824. package/node_modules/binary/perf/loop.js +0 -92
  825. package/node_modules/binary/perf/small.js +0 -80
  826. package/node_modules/binary/test/bu.js +0 -46
  827. package/node_modules/binary/test/deferred.js +0 -20
  828. package/node_modules/binary/test/dots.js +0 -23
  829. package/node_modules/binary/test/eof.js +0 -41
  830. package/node_modules/binary/test/flush.js +0 -17
  831. package/node_modules/binary/test/from_buffer.js +0 -14
  832. package/node_modules/binary/test/get_buffer.js +0 -28
  833. package/node_modules/binary/test/immediate.js +0 -18
  834. package/node_modules/binary/test/interval.js +0 -38
  835. package/node_modules/binary/test/into_buffer.js +0 -35
  836. package/node_modules/binary/test/into_stream.js +0 -43
  837. package/node_modules/binary/test/loop.js +0 -44
  838. package/node_modules/binary/test/loop_scan.js +0 -54
  839. package/node_modules/binary/test/lu.js +0 -46
  840. package/node_modules/binary/test/negbs.js +0 -29
  841. package/node_modules/binary/test/negls.js +0 -29
  842. package/node_modules/binary/test/nested.js +0 -35
  843. package/node_modules/binary/test/not_enough_buf.js +0 -17
  844. package/node_modules/binary/test/not_enough_parse.js +0 -19
  845. package/node_modules/binary/test/parse.js +0 -54
  846. package/node_modules/binary/test/peek.js +0 -40
  847. package/node_modules/binary/test/pipe.js +0 -49
  848. package/node_modules/binary/test/posbs.js +0 -29
  849. package/node_modules/binary/test/posls.js +0 -29
  850. package/node_modules/binary/test/scan.js +0 -33
  851. package/node_modules/binary/test/scan_buf.js +0 -18
  852. package/node_modules/binary/test/scan_buf_null.js +0 -16
  853. package/node_modules/binary/test/skip.js +0 -58
  854. package/node_modules/binary/test/split.js +0 -34
  855. package/node_modules/bl/.travis.yml +0 -17
  856. package/node_modules/bl/BufferList.js +0 -396
  857. package/node_modules/bl/LICENSE.md +0 -13
  858. package/node_modules/bl/README.md +0 -247
  859. package/node_modules/bl/bl.js +0 -84
  860. package/node_modules/bl/package.json +0 -37
  861. package/node_modules/bl/test/convert.js +0 -21
  862. package/node_modules/bl/test/indexOf.js +0 -492
  863. package/node_modules/bl/test/isBufferList.js +0 -32
  864. package/node_modules/bl/test/test.js +0 -869
  865. package/node_modules/buffer-crc32/LICENSE +0 -19
  866. package/node_modules/buffer-crc32/README.md +0 -47
  867. package/node_modules/buffer-crc32/index.js +0 -111
  868. package/node_modules/buffer-crc32/package.json +0 -39
  869. package/node_modules/buffer-indexof-polyfill/.eslintrc +0 -33
  870. package/node_modules/buffer-indexof-polyfill/.travis.yml +0 -17
  871. package/node_modules/buffer-indexof-polyfill/LICENSE +0 -22
  872. package/node_modules/buffer-indexof-polyfill/README.md +0 -33
  873. package/node_modules/buffer-indexof-polyfill/index.js +0 -73
  874. package/node_modules/buffer-indexof-polyfill/init-buffer.js +0 -8
  875. package/node_modules/buffer-indexof-polyfill/package.json +0 -34
  876. package/node_modules/buffer-indexof-polyfill/test/indexof.js +0 -128
  877. package/node_modules/buffers/README.markdown +0 -122
  878. package/node_modules/buffers/examples/slice.js +0 -9
  879. package/node_modules/buffers/examples/splice.js +0 -17
  880. package/node_modules/buffers/index.js +0 -269
  881. package/node_modules/buffers/package.json +0 -14
  882. package/node_modules/buffers/test/buffers.js +0 -209
  883. package/node_modules/chainsaw/.npmignore +0 -1
  884. package/node_modules/chainsaw/README.markdown +0 -157
  885. package/node_modules/chainsaw/examples/add_do.js +0 -25
  886. package/node_modules/chainsaw/examples/prompt.js +0 -67
  887. package/node_modules/chainsaw/index.js +0 -145
  888. package/node_modules/chainsaw/package.json +0 -23
  889. package/node_modules/chainsaw/test/chainsaw.js +0 -418
  890. package/node_modules/concat-map/.travis.yml +0 -4
  891. package/node_modules/concat-map/LICENSE +0 -18
  892. package/node_modules/concat-map/README.markdown +0 -62
  893. package/node_modules/concat-map/example/map.js +0 -6
  894. package/node_modules/concat-map/index.js +0 -13
  895. package/node_modules/concat-map/package.json +0 -43
  896. package/node_modules/concat-map/test/map.js +0 -39
  897. package/node_modules/end-of-stream/LICENSE +0 -21
  898. package/node_modules/end-of-stream/README.md +0 -54
  899. package/node_modules/end-of-stream/index.js +0 -96
  900. package/node_modules/end-of-stream/package.json +0 -37
  901. package/node_modules/fs-constants/LICENSE +0 -21
  902. package/node_modules/fs-constants/README.md +0 -26
  903. package/node_modules/fs-constants/browser.js +0 -1
  904. package/node_modules/fs-constants/index.js +0 -1
  905. package/node_modules/fs-constants/package.json +0 -19
  906. package/node_modules/fs.realpath/LICENSE +0 -43
  907. package/node_modules/fs.realpath/README.md +0 -33
  908. package/node_modules/fs.realpath/index.js +0 -66
  909. package/node_modules/fs.realpath/old.js +0 -303
  910. package/node_modules/fs.realpath/package.json +0 -26
  911. package/node_modules/fstream/.travis.yml +0 -9
  912. package/node_modules/fstream/LICENSE +0 -15
  913. package/node_modules/fstream/README.md +0 -76
  914. package/node_modules/fstream/examples/filter-pipe.js +0 -134
  915. package/node_modules/fstream/examples/pipe.js +0 -118
  916. package/node_modules/fstream/examples/reader.js +0 -68
  917. package/node_modules/fstream/examples/symlink-write.js +0 -27
  918. package/node_modules/fstream/fstream.js +0 -35
  919. package/node_modules/fstream/lib/abstract.js +0 -85
  920. package/node_modules/fstream/lib/collect.js +0 -70
  921. package/node_modules/fstream/lib/dir-reader.js +0 -252
  922. package/node_modules/fstream/lib/dir-writer.js +0 -174
  923. package/node_modules/fstream/lib/file-reader.js +0 -150
  924. package/node_modules/fstream/lib/file-writer.js +0 -107
  925. package/node_modules/fstream/lib/get-type.js +0 -33
  926. package/node_modules/fstream/lib/link-reader.js +0 -53
  927. package/node_modules/fstream/lib/link-writer.js +0 -95
  928. package/node_modules/fstream/lib/proxy-reader.js +0 -95
  929. package/node_modules/fstream/lib/proxy-writer.js +0 -111
  930. package/node_modules/fstream/lib/reader.js +0 -255
  931. package/node_modules/fstream/lib/socket-reader.js +0 -36
  932. package/node_modules/fstream/lib/writer.js +0 -390
  933. package/node_modules/fstream/package.json +0 -28
  934. package/node_modules/glob/LICENSE +0 -21
  935. package/node_modules/glob/README.md +0 -378
  936. package/node_modules/glob/common.js +0 -238
  937. package/node_modules/glob/glob.js +0 -790
  938. package/node_modules/glob/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  939. package/node_modules/glob/node_modules/balanced-match/LICENSE.md +0 -21
  940. package/node_modules/glob/node_modules/balanced-match/README.md +0 -97
  941. package/node_modules/glob/node_modules/balanced-match/index.js +0 -62
  942. package/node_modules/glob/node_modules/balanced-match/package.json +0 -48
  943. package/node_modules/glob/node_modules/brace-expansion/LICENSE +0 -21
  944. package/node_modules/glob/node_modules/brace-expansion/README.md +0 -151
  945. package/node_modules/glob/node_modules/brace-expansion/index.js +0 -438
  946. package/node_modules/glob/node_modules/brace-expansion/package.json +0 -50
  947. package/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
  948. package/node_modules/glob/node_modules/minimatch/README.md +0 -267
  949. package/node_modules/glob/node_modules/minimatch/minimatch.js +0 -1005
  950. package/node_modules/glob/node_modules/minimatch/package.json +0 -33
  951. package/node_modules/glob/package.json +0 -55
  952. package/node_modules/glob/sync.js +0 -486
  953. package/node_modules/inflight/LICENSE +0 -15
  954. package/node_modules/inflight/README.md +0 -37
  955. package/node_modules/inflight/inflight.js +0 -54
  956. package/node_modules/inflight/package.json +0 -29
  957. package/node_modules/lazystream/LICENSE +0 -23
  958. package/node_modules/lazystream/README.md +0 -114
  959. package/node_modules/lazystream/lib/lazystream.js +0 -54
  960. package/node_modules/lazystream/node_modules/readable-stream/.travis.yml +0 -34
  961. package/node_modules/lazystream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  962. package/node_modules/lazystream/node_modules/readable-stream/GOVERNANCE.md +0 -136
  963. package/node_modules/lazystream/node_modules/readable-stream/README.md +0 -58
  964. package/node_modules/lazystream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  965. package/node_modules/lazystream/node_modules/readable-stream/duplex-browser.js +0 -1
  966. package/node_modules/lazystream/node_modules/readable-stream/duplex.js +0 -1
  967. package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  968. package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  969. package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  970. package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  971. package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  972. package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  973. package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  974. package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  975. package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  976. package/node_modules/lazystream/node_modules/readable-stream/package.json +0 -52
  977. package/node_modules/lazystream/node_modules/readable-stream/passthrough.js +0 -1
  978. package/node_modules/lazystream/node_modules/readable-stream/readable-browser.js +0 -7
  979. package/node_modules/lazystream/node_modules/readable-stream/readable.js +0 -19
  980. package/node_modules/lazystream/node_modules/readable-stream/transform.js +0 -1
  981. package/node_modules/lazystream/node_modules/readable-stream/writable-browser.js +0 -1
  982. package/node_modules/lazystream/node_modules/readable-stream/writable.js +0 -8
  983. package/node_modules/lazystream/node_modules/safe-buffer/LICENSE +0 -21
  984. package/node_modules/lazystream/node_modules/safe-buffer/README.md +0 -584
  985. package/node_modules/lazystream/node_modules/safe-buffer/index.d.ts +0 -187
  986. package/node_modules/lazystream/node_modules/safe-buffer/index.js +0 -62
  987. package/node_modules/lazystream/node_modules/safe-buffer/package.json +0 -37
  988. package/node_modules/lazystream/node_modules/string_decoder/.travis.yml +0 -50
  989. package/node_modules/lazystream/node_modules/string_decoder/LICENSE +0 -48
  990. package/node_modules/lazystream/node_modules/string_decoder/README.md +0 -47
  991. package/node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js +0 -296
  992. package/node_modules/lazystream/node_modules/string_decoder/package.json +0 -31
  993. package/node_modules/lazystream/package.json +0 -46
  994. package/node_modules/lazystream/test/data.md +0 -13
  995. package/node_modules/lazystream/test/fs_test.js +0 -69
  996. package/node_modules/lazystream/test/helper.js +0 -39
  997. package/node_modules/lazystream/test/pipe_test.js +0 -36
  998. package/node_modules/lazystream/test/readable_test.js +0 -90
  999. package/node_modules/lazystream/test/writable_test.js +0 -59
  1000. package/node_modules/listenercount/.npmignore +0 -2
  1001. package/node_modules/listenercount/LICENSE.md +0 -5
  1002. package/node_modules/listenercount/README.md +0 -50
  1003. package/node_modules/listenercount/circle.yml +0 -6
  1004. package/node_modules/listenercount/index.js +0 -16
  1005. package/node_modules/listenercount/package.json +0 -27
  1006. package/node_modules/listenercount/test/test.js +0 -31
  1007. package/node_modules/lodash.defaults/LICENSE +0 -47
  1008. package/node_modules/lodash.defaults/README.md +0 -18
  1009. package/node_modules/lodash.defaults/index.js +0 -668
  1010. package/node_modules/lodash.defaults/package.json +0 -17
  1011. package/node_modules/lodash.difference/LICENSE +0 -47
  1012. package/node_modules/lodash.difference/README.md +0 -18
  1013. package/node_modules/lodash.difference/index.js +0 -1170
  1014. package/node_modules/lodash.difference/package.json +0 -17
  1015. package/node_modules/lodash.flatten/LICENSE +0 -47
  1016. package/node_modules/lodash.flatten/README.md +0 -18
  1017. package/node_modules/lodash.flatten/index.js +0 -349
  1018. package/node_modules/lodash.flatten/package.json +0 -17
  1019. package/node_modules/lodash.isplainobject/LICENSE +0 -47
  1020. package/node_modules/lodash.isplainobject/README.md +0 -18
  1021. package/node_modules/lodash.isplainobject/index.js +0 -139
  1022. package/node_modules/lodash.isplainobject/package.json +0 -17
  1023. package/node_modules/lodash.union/LICENSE +0 -47
  1024. package/node_modules/lodash.union/README.md +0 -18
  1025. package/node_modules/lodash.union/index.js +0 -1181
  1026. package/node_modules/lodash.union/package.json +0 -17
  1027. package/node_modules/minimist/.eslintrc +0 -29
  1028. package/node_modules/minimist/.github/FUNDING.yml +0 -12
  1029. package/node_modules/minimist/.nycrc +0 -14
  1030. package/node_modules/minimist/CHANGELOG.md +0 -298
  1031. package/node_modules/minimist/LICENSE +0 -18
  1032. package/node_modules/minimist/README.md +0 -121
  1033. package/node_modules/minimist/example/parse.js +0 -4
  1034. package/node_modules/minimist/index.js +0 -263
  1035. package/node_modules/minimist/package.json +0 -75
  1036. package/node_modules/minimist/test/all_bool.js +0 -34
  1037. package/node_modules/minimist/test/bool.js +0 -177
  1038. package/node_modules/minimist/test/dash.js +0 -43
  1039. package/node_modules/minimist/test/default_bool.js +0 -37
  1040. package/node_modules/minimist/test/dotted.js +0 -24
  1041. package/node_modules/minimist/test/kv_short.js +0 -32
  1042. package/node_modules/minimist/test/long.js +0 -33
  1043. package/node_modules/minimist/test/num.js +0 -38
  1044. package/node_modules/minimist/test/parse.js +0 -209
  1045. package/node_modules/minimist/test/parse_modified.js +0 -11
  1046. package/node_modules/minimist/test/proto.js +0 -64
  1047. package/node_modules/minimist/test/short.js +0 -69
  1048. package/node_modules/minimist/test/stop_early.js +0 -17
  1049. package/node_modules/minimist/test/unknown.js +0 -104
  1050. package/node_modules/minimist/test/whitespace.js +0 -10
  1051. package/node_modules/mkdirp/LICENSE +0 -21
  1052. package/node_modules/mkdirp/bin/cmd.js +0 -33
  1053. package/node_modules/mkdirp/bin/usage.txt +0 -12
  1054. package/node_modules/mkdirp/index.js +0 -102
  1055. package/node_modules/mkdirp/package.json +0 -33
  1056. package/node_modules/mkdirp/readme.markdown +0 -100
  1057. package/node_modules/once/LICENSE +0 -15
  1058. package/node_modules/once/README.md +0 -79
  1059. package/node_modules/once/once.js +0 -42
  1060. package/node_modules/once/package.json +0 -33
  1061. package/node_modules/path-is-absolute/index.js +0 -20
  1062. package/node_modules/path-is-absolute/license +0 -21
  1063. package/node_modules/path-is-absolute/package.json +0 -43
  1064. package/node_modules/path-is-absolute/readme.md +0 -59
  1065. package/node_modules/readdir-glob/LICENSE +0 -201
  1066. package/node_modules/readdir-glob/README.md +0 -85
  1067. package/node_modules/readdir-glob/index.js +0 -243
  1068. package/node_modules/readdir-glob/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  1069. package/node_modules/readdir-glob/node_modules/balanced-match/LICENSE.md +0 -21
  1070. package/node_modules/readdir-glob/node_modules/balanced-match/README.md +0 -97
  1071. package/node_modules/readdir-glob/node_modules/balanced-match/index.js +0 -62
  1072. package/node_modules/readdir-glob/node_modules/balanced-match/package.json +0 -48
  1073. package/node_modules/readdir-glob/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  1074. package/node_modules/readdir-glob/node_modules/brace-expansion/LICENSE +0 -21
  1075. package/node_modules/readdir-glob/node_modules/brace-expansion/README.md +0 -157
  1076. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +0 -394
  1077. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +0 -49
  1078. package/node_modules/readdir-glob/node_modules/minimatch/LICENSE +0 -15
  1079. package/node_modules/readdir-glob/node_modules/minimatch/README.md +0 -296
  1080. package/node_modules/readdir-glob/node_modules/minimatch/lib/path.js +0 -4
  1081. package/node_modules/readdir-glob/node_modules/minimatch/minimatch.js +0 -996
  1082. package/node_modules/readdir-glob/node_modules/minimatch/package.json +0 -35
  1083. package/node_modules/readdir-glob/package.json +0 -43
  1084. package/node_modules/rimraf/LICENSE +0 -15
  1085. package/node_modules/rimraf/README.md +0 -101
  1086. package/node_modules/rimraf/bin.js +0 -50
  1087. package/node_modules/rimraf/package.json +0 -29
  1088. package/node_modules/rimraf/rimraf.js +0 -372
  1089. package/node_modules/tar-stream/LICENSE +0 -21
  1090. package/node_modules/tar-stream/README.md +0 -168
  1091. package/node_modules/tar-stream/extract.js +0 -257
  1092. package/node_modules/tar-stream/headers.js +0 -295
  1093. package/node_modules/tar-stream/index.js +0 -2
  1094. package/node_modules/tar-stream/pack.js +0 -255
  1095. package/node_modules/tar-stream/package.json +0 -58
  1096. package/node_modules/tar-stream/sandbox.js +0 -11
  1097. package/node_modules/traverse/.npmignore +0 -1
  1098. package/node_modules/traverse/LICENSE +0 -24
  1099. package/node_modules/traverse/README.markdown +0 -247
  1100. package/node_modules/traverse/examples/json.js +0 -16
  1101. package/node_modules/traverse/examples/leaves.js +0 -15
  1102. package/node_modules/traverse/examples/negative.js +0 -8
  1103. package/node_modules/traverse/examples/stringify.js +0 -38
  1104. package/node_modules/traverse/index.js +0 -322
  1105. package/node_modules/traverse/package.json +0 -18
  1106. package/node_modules/traverse/test/circular.js +0 -114
  1107. package/node_modules/traverse/test/date.js +0 -35
  1108. package/node_modules/traverse/test/equal.js +0 -219
  1109. package/node_modules/traverse/test/instance.js +0 -17
  1110. package/node_modules/traverse/test/interface.js +0 -42
  1111. package/node_modules/traverse/test/json.js +0 -47
  1112. package/node_modules/traverse/test/leaves.js +0 -21
  1113. package/node_modules/traverse/test/mutability.js +0 -203
  1114. package/node_modules/traverse/test/negative.js +0 -20
  1115. package/node_modules/traverse/test/obj.js +0 -15
  1116. package/node_modules/traverse/test/stop.js +0 -41
  1117. package/node_modules/traverse/test/stringify.js +0 -36
  1118. package/node_modules/traverse/test/super_deep.js +0 -54
  1119. package/node_modules/unzipper/.circleci/config.yml +0 -13
  1120. package/node_modules/unzipper/.travis.yml +0 -21
  1121. package/node_modules/unzipper/lib/Buffer.js +0 -12
  1122. package/node_modules/unzipper/node_modules/readable-stream/.travis.yml +0 -34
  1123. package/node_modules/unzipper/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  1124. package/node_modules/unzipper/node_modules/readable-stream/GOVERNANCE.md +0 -136
  1125. package/node_modules/unzipper/node_modules/readable-stream/README.md +0 -58
  1126. package/node_modules/unzipper/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  1127. package/node_modules/unzipper/node_modules/readable-stream/duplex-browser.js +0 -1
  1128. package/node_modules/unzipper/node_modules/readable-stream/duplex.js +0 -1
  1129. package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  1130. package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  1131. package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  1132. package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  1133. package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_writable.js +0 -685
  1134. package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
  1135. package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
  1136. package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  1137. package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  1138. package/node_modules/unzipper/node_modules/readable-stream/package.json +0 -52
  1139. package/node_modules/unzipper/node_modules/readable-stream/passthrough.js +0 -1
  1140. package/node_modules/unzipper/node_modules/readable-stream/readable-browser.js +0 -7
  1141. package/node_modules/unzipper/node_modules/readable-stream/readable.js +0 -19
  1142. package/node_modules/unzipper/node_modules/readable-stream/transform.js +0 -1
  1143. package/node_modules/unzipper/node_modules/readable-stream/writable-browser.js +0 -1
  1144. package/node_modules/unzipper/node_modules/readable-stream/writable.js +0 -8
  1145. package/node_modules/unzipper/node_modules/safe-buffer/LICENSE +0 -21
  1146. package/node_modules/unzipper/node_modules/safe-buffer/README.md +0 -584
  1147. package/node_modules/unzipper/node_modules/safe-buffer/index.d.ts +0 -187
  1148. package/node_modules/unzipper/node_modules/safe-buffer/index.js +0 -62
  1149. package/node_modules/unzipper/node_modules/safe-buffer/package.json +0 -37
  1150. package/node_modules/unzipper/node_modules/string_decoder/.travis.yml +0 -50
  1151. package/node_modules/unzipper/node_modules/string_decoder/LICENSE +0 -48
  1152. package/node_modules/unzipper/node_modules/string_decoder/README.md +0 -47
  1153. package/node_modules/unzipper/node_modules/string_decoder/lib/string_decoder.js +0 -296
  1154. package/node_modules/unzipper/node_modules/string_decoder/package.json +0 -31
  1155. package/node_modules/wrappy/LICENSE +0 -15
  1156. package/node_modules/wrappy/README.md +0 -36
  1157. package/node_modules/wrappy/package.json +0 -29
  1158. package/node_modules/wrappy/wrappy.js +0 -33
  1159. package/node_modules/zip-stream/node_modules/archiver-utils/LICENSE +0 -22
  1160. package/node_modules/zip-stream/node_modules/archiver-utils/README.md +0 -6
  1161. package/node_modules/zip-stream/node_modules/archiver-utils/file.js +0 -209
  1162. package/node_modules/zip-stream/node_modules/archiver-utils/index.js +0 -149
  1163. package/node_modules/zip-stream/node_modules/archiver-utils/package.json +0 -54
  1164. /package/node_modules/{archiver-utils → compress-commons}/node_modules/readable-stream/LICENSE +0 -0
  1165. /package/node_modules/{lazystream → crc32-stream}/node_modules/readable-stream/LICENSE +0 -0
  1166. /package/node_modules/{unzipper → zip-stream}/node_modules/readable-stream/LICENSE +0 -0
@@ -74,7 +74,7 @@ function splitAuxiliaryBudget(budget, rawQueueHeight, rawTodoHeight) {
74
74
  }
75
75
  return { queueHeight, todoHeight };
76
76
  }
77
- export function getAppLayoutMetrics({ rows, cols, inputState, commands = [], completion, showHeader = true, showTodos = true, todoCount = 0, widgetActive = false, queueTotal = 0, externalTranscript = false, compactWidget = false, widgetContentRows, agentActive = false, statusLine, }) {
77
+ export function getAppLayoutMetrics({ rows, cols, inputState, commands = [], completion, showHeader = true, showTodos = true, todoCount = 0, widgetActive = false, queueTotal = 0, externalTranscript = false, compactWidget = false, widgetContentRows, transcriptRows, agentActive = false, statusLine, }) {
78
78
  const headerHeight = showHeader ? 1 : 0;
79
79
  const statusHeight = resolveStatusLineSettings(statusLine).enabled ? 1 : 0;
80
80
  const activityHeight = agentActive ? 1 : 0;
@@ -126,6 +126,9 @@ export function getAppLayoutMetrics({ rows, cols, inputState, commands = [], com
126
126
  // hand the rest to the transcript.
127
127
  widgetHeight = Math.max(0, Math.min(Math.floor(widgetContentRows), contentAreaHeight - minTranscript));
128
128
  transcriptHeight = Math.max(0, contentAreaHeight - widgetHeight);
129
+ if (compactWidget && typeof transcriptRows === 'number' && Number.isFinite(transcriptRows) && transcriptRows < transcriptHeight) {
130
+ transcriptHeight = Math.max(0, Math.floor(transcriptRows));
131
+ }
129
132
  }
130
133
  else {
131
134
  transcriptHeight = minTranscript;
@@ -149,7 +152,7 @@ export function getAppLayoutMetrics({ rows, cols, inputState, commands = [], com
149
152
  transcriptHeight,
150
153
  };
151
154
  }
152
- export function buildAppView({ messages, agentState, inputState, canYank, sessionId, sessionName, cols, rows, commands, completion, hasApiKey, version = '0.1.0', contextLength, contextEstimated, contextStatus, provider, model, emulationId, inputMode = 'steer', escapeHint, toast, spinnerLabel, spinnerFrame, lastEventAt, stallHintMs, debug = false, expandToolOutputs = false, showThinking = true, showTurnMetadata = true, renderer, showHeader = true, showMessages = true, isRecording = false, recordingDevice, audioLevel = -60, partialTranscript = '', todos = [], showTodos = true, activeTask = null, taskStartedAt = null, mode = 'normal', authEmail, authWorkspace, backgroundRunning = 0, widgetContent = null, widgetView: providedWidgetView = null, queuePreview = [], queueTotal = 0, queueSelectedIndex = null, externalTranscript = false, compactWidget = false, agentActive = agentState.status === 'thinking'
155
+ export function buildAppView({ messages, agentState, inputState, sessionId, sessionName, cols, rows, commands, completion, hasApiKey, version = '0.1.0', contextLength, contextEstimated, contextStatus, provider, model, emulationId, inputMode = 'steer', escapeHint, toast, spinnerLabel, spinnerFrame, lastEventAt, stallHintMs, debug = false, expandToolOutputs = false, showThinking = true, showTurnMetadata = true, renderer, showHeader = true, showMessages = true, isRecording = false, recordingDevice, audioLevel = -60, partialTranscript = '', todos = [], showTodos = true, activeTask = null, taskStartedAt = null, mode = 'normal', authEmail, authWorkspace, backgroundRunning = 0, widgetContent = null, widgetView: providedWidgetView = null, queuePreview = [], queueTotal = 0, queueSelectedIndex = null, externalTranscript = false, transcriptAnchor = 'bottom', compactWidget = false, transcriptRows, agentActive = agentState.status === 'thinking'
153
156
  || agentState.status === 'streaming'
154
157
  || agentState.status === 'tool_use', statusLine, effort, unsupportedEffort, }) {
155
158
  // A compact widget (the question form) sizes to its own content. Deriving the
@@ -172,6 +175,7 @@ export function buildAppView({ messages, agentState, inputState, canYank, sessio
172
175
  externalTranscript,
173
176
  compactWidget,
174
177
  widgetContentRows,
178
+ transcriptRows,
175
179
  agentActive,
176
180
  statusLine,
177
181
  });
@@ -183,7 +187,7 @@ export function buildAppView({ messages, agentState, inputState, canYank, sessio
183
187
  visibleRows: Math.max(1, completionHeight - 1),
184
188
  } : null;
185
189
  const placeholder = !hasApiKey
186
- ? 'Set API key with /config key <key>'
190
+ ? 'Connect a model with /connect (ZergAI or your local API keys)'
187
191
  : getAgentActivityPlaceholder(agentState) ?? 'Type a message or /help for commands...';
188
192
  // Build widget view if active (renders in place of message list)
189
193
  // Widget renders directly in content area without flexGrow spacer
@@ -213,13 +217,17 @@ export function buildAppView({ messages, agentState, inputState, canYank, sessio
213
217
  showTurnMetadata,
214
218
  cols,
215
219
  externalTranscript,
220
+ anchor: transcriptAnchor,
216
221
  });
217
222
  const widgetRegionView = paddedWidgetView
218
223
  ? box([paddedWidgetView], { flexDirection: 'column', height: widgetHeight })
219
224
  : null;
225
+ // A compact widget that follows a short transcript leaves its spare rows
226
+ // under itself, so it sits right after the transcript's last row.
227
+ const spareRows = Math.max(0, contentAreaHeight - transcriptHeight - widgetHeight);
220
228
  const compressedWidgetContent = widgetRegionView && (externalTranscript || compactWidget)
221
229
  ? box(compactWidget
222
- ? [buildTranscriptRegion(), widgetRegionView]
230
+ ? [buildTranscriptRegion(), widgetRegionView, ...(spareRows > 0 ? [box([], { height: spareRows })] : [])]
223
231
  : [widgetRegionView, buildTranscriptRegion()], { flexDirection: 'column', height: contentAreaHeight })
224
232
  : null;
225
233
  return box([
@@ -229,7 +237,7 @@ export function buildAppView({ messages, agentState, inputState, canYank, sessio
229
237
  ? compressedWidgetContent
230
238
  : (paddedWidgetView
231
239
  ? box([paddedWidgetView], { flexDirection: 'column', height: contentAreaHeight })
232
- : (showMessages ? buildMessageListView({ messages, height: contentHeight, width: cols, debug, expandToolOutputs, showThinking, showTurnMetadata, cols, externalTranscript }) : box([], { flexGrow: 1 }))),
240
+ : (showMessages ? buildMessageListView({ messages, height: contentHeight, width: cols, debug, expandToolOutputs, showThinking, showTurnMetadata, cols, externalTranscript, anchor: transcriptAnchor }) : box([], { flexGrow: 1 }))),
233
241
  // Activity line with task metadata (Claude Code style)
234
242
  buildActivityLineView({
235
243
  cols,
@@ -254,7 +262,6 @@ export function buildAppView({ messages, agentState, inputState, canYank, sessio
254
262
  : buildQueuePanelView({ entries: queuePreview, total: queueTotal, selectedIndex: queueSelectedIndex, cols, maxLines: queueHeight }),
255
263
  buildInputAreaView({
256
264
  state: inputState,
257
- canYank,
258
265
  mode,
259
266
  isRunning: agentState.status !== 'idle' && agentState.status !== 'error',
260
267
  placeholder,
@@ -1,6 +1,7 @@
1
1
  import { box, text } from '../core/index.js';
2
2
  import { displayWidth, padEndDisplay, sanitizeTerminalText } from '../core/text_width.js';
3
3
  import { SELECTION_VISIBLE_ROWS } from '../../app/selection_completion.js';
4
+ import { formatRelativeTime } from '../widgets/panel_frame.js';
4
5
  const graphemes = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
5
6
  function clip(value, width) {
6
7
  const clean = sanitizeTerminalText(value).replace(/\s+/g, ' ');
@@ -46,14 +47,19 @@ export function buildCompletionMenu(view, cols) {
46
47
  const first = Math.min(Math.max(0, view.candidates.length - rowCount), Math.max(0, view.selected - rowCount + 1, Math.min(view.firstVisible ?? 0, view.selected)));
47
48
  const kind = view.kind ?? (view.provider ? 'model' : 'provider');
48
49
  const title = kind === 'reasoning' ? [view.command === 'thinking' ? 'Thinking' : 'Effort', view.model].filter(Boolean).join(' · ')
49
- : kind === 'model' ? `Models · ${view.provider ?? ''}` : kind === 'command' ? 'Commands' : view.mixed ? 'Providers & models' : 'Providers';
50
+ : kind === 'model' ? `Models · ${view.provider ?? ''}` : kind === 'command' ? 'Commands' : view.mixed ? 'Routes & models'
51
+ : view.route === 'zergrouter' ? 'ZergRouter · providers' : view.route === 'direct' ? 'Local API key · providers' : 'Providers';
50
52
  const count = view.candidates.length ? `${view.selected + 1}/${view.candidates.length}` : '0 results';
51
- const state = view.loading ? ' · loading' : view.unavailable ? kind === 'reasoning' ? ' · unavailable' : ' · cached' : '';
53
+ const saved = view.savedAt === undefined ? '' : ` · saved ${formatRelativeTime(new Date(view.savedAt).toISOString(), Date.now())}`;
54
+ const state = view.loading ? ' · loading' : view.unavailable ? kind === 'reasoning' ? ' · unavailable' : ' · cached' : saved;
52
55
  const heading = clip(title + state, Math.max(1, width - displayWidth(count) - 2));
53
56
  const rows = [box([
54
57
  text(padEndDisplay(heading, Math.max(0, width - displayWidth(count))), muted), text(count, muted),
55
58
  ], { flexDirection: 'row', height: 1 })];
56
- const names = view.candidates.map(candidate => kind === 'model' ? candidate.value : candidate.label);
59
+ // A model row shows the ID typed after /model, without the provider the title already names.
60
+ const prefix = view.provider ? `${view.provider}/` : '';
61
+ const names = view.candidates.map(candidate => kind !== 'model' || candidate.submitsInput ? candidate.label
62
+ : prefix && candidate.value.startsWith(prefix) ? candidate.value.slice(prefix.length) : candidate.value);
57
63
  // All candidates determine the column width, so navigating does not shift descriptions.
58
64
  const nameWidth = Math.min(Math.max(12, ...names.map(displayWidth)), Math.max(12, Math.floor(width * 0.48)));
59
65
  if (view.candidates.length) {
@@ -88,13 +94,15 @@ export function buildCompletionMenu(view, cols) {
88
94
  rows.push(text(clip(empty, width), muted));
89
95
  }
90
96
  const selected = view.candidates[view.selected];
91
- const enterAction = selected && !selected.needsArgument && (kind === 'model' || kind === 'reasoning' || view.mixed || view.query === selected.value) ? 'run' : 'fill';
92
- const hints = view.candidates.length ? [
93
- enterAction === 'run' ? '↑↓ move · Tab fill · Enter run · Esc close' : '↑↓ move · Tab/Enter fill · Esc close',
94
- enterAction === 'run' ? '↑↓ · Tab fill · ↵ run · Esc' : '↑↓ · Tab/↵ fill · Esc',
95
- '↑↓ Tab ↵ Esc',
96
- ] : kind === 'reasoning' ? ['Enter shows settings · Esc close', '↵ settings · Esc', '↵ Esc']
97
- : [kind === 'command' ? 'Keep typing · Esc close' : 'Enter exact ID · Esc close', '↵ exact ID · Esc', '↵ Esc'];
97
+ const enterAction = selected && !selected.needsArgument
98
+ && (selected.submitsInput || kind === 'model' || kind === 'reasoning' || view.mixed || view.query === selected.value) ? 'run' : 'fill';
99
+ const hints = selected?.submitsInput ? ['Enter log in · Esc close', '↵ log in · Esc', '↵ Esc']
100
+ : selected?.toggle ? ['↑↓ move · Enter toggle · Esc close', '↑↓ · ↵ toggle · Esc', '↑↓ ↵ Esc'] : view.candidates.length ? [
101
+ enterAction === 'run' ? '↑↓ move · Tab fill · Enter run · Esc close' : '↑↓ move · Tab/Enter fill · Esc close',
102
+ enterAction === 'run' ? '↑↓ · Tab fill · ↵ run · Esc' : '↑↓ · Tab/↵ fill · Esc',
103
+ '↑↓ Tab ↵ Esc',
104
+ ] : kind === 'reasoning' ? ['Enter shows settings · Esc close', '↵ settings · Esc', '↵ Esc']
105
+ : [kind === 'command' ? 'Keep typing · Esc close' : 'Enter exact ID · Esc close', '↵ exact ID · Esc', '↵ Esc'];
98
106
  const hint = hints.find(value => displayWidth(value) <= width) ?? hints.at(-1);
99
107
  return {
100
108
  menu: box(rows, { flexDirection: 'column', paddingX: 2, flexShrink: 0 }),
@@ -9,7 +9,6 @@ interface InputAreaViewProps {
9
9
  disabled?: boolean;
10
10
  mode?: string;
11
11
  isRunning?: boolean;
12
- canYank?: boolean;
13
12
  commands?: SlashCommandUsage[];
14
13
  completion?: SelectionCompletionView | null;
15
14
  cols?: number;
@@ -48,5 +47,5 @@ export declare function wrapInputSegments(segments: InputSegment[], cursor: {
48
47
  };
49
48
  export declare function renderLineWithCursorTokens(line: RenderToken[], cursorCol: number, isCursorLine: boolean): RenderToken[];
50
49
  export declare function estimateInputLines(segments: InputSegment[], cols: number): number;
51
- export declare function buildInputAreaView({ state, placeholder, disabled, mode, isRunning, canYank, commands, completion, cols, maxInputLines, badgePreview, showBadgePreview, debug, renderContent, spinnerLabel, spinnerFrame }: InputAreaViewProps): LayoutNode;
50
+ export declare function buildInputAreaView({ state, placeholder, disabled, mode, isRunning, commands, completion, cols, maxInputLines, badgePreview, showBadgePreview, debug, renderContent, spinnerLabel, spinnerFrame }: InputAreaViewProps): LayoutNode;
52
51
  export {};
@@ -183,7 +183,7 @@ export function renderLineWithCursorTokens(line, cursorCol, isCursorLine) {
183
183
  export function estimateInputLines(segments, cols) {
184
184
  return wrapInputSegments(segments, { index: segments.length, offset: 0 }, cols).lines.length;
185
185
  }
186
- export function buildInputAreaView({ state, placeholder, disabled = false, mode = 'normal', isRunning = false, canYank = false, commands = [], completion, cols = 80, maxInputLines, badgePreview, showBadgePreview = false, debug = false, renderContent = true, spinnerLabel, spinnerFrame }) {
186
+ export function buildInputAreaView({ state, placeholder, disabled = false, mode = 'normal', isRunning = false, commands = [], completion, cols = 80, maxInputLines, badgePreview, showBadgePreview = false, debug = false, renderContent = true, spinnerLabel, spinnerFrame }) {
187
187
  if (!renderContent) {
188
188
  return box([text('')], { flexDirection: 'column', flexShrink: 0, height: 5 });
189
189
  }
@@ -248,7 +248,7 @@ export function buildInputAreaView({ state, placeholder, disabled = false, mode
248
248
  const separatorTop = plan
249
249
  ? box([text(' PLAN ', { bold: true, dimColor: false }), text('─'.repeat(Math.max(0, cols - 8)), { color: PLAN_ACCENT })], { flexDirection: 'row' })
250
250
  : text('─'.repeat(Math.max(1, cols - 2)), { color: 'gray', dimColor: true });
251
- const expansionHint = disabled ? (isRunning ? 'Ctrl+C stop' : null) : getInputShortcutHint(state, isRunning, canYank);
251
+ const expansionHint = disabled ? (isRunning ? 'Ctrl+C stop' : null) : getInputShortcutHint(state, isRunning);
252
252
  const separatorBottom = text(expansionHint ?? '─'.repeat(Math.max(1, cols - 2)), { color: plan && !expansionHint ? PLAN_ACCENT : 'gray', dimColor: !plan || !!expansionHint, wrap: 'truncate-end' });
253
253
  // Build the content array
254
254
  const content = [];
@@ -12,6 +12,13 @@ interface MessageListProps {
12
12
  showThinking?: boolean;
13
13
  showTurnMetadata?: boolean;
14
14
  cols?: number;
15
+ /**
16
+ * Where a conversation shorter than the region sits: 'bottom', over the
17
+ * composer (a terminal's inline frame), or 'top', drawn top down as zmux
18
+ * draws the CLI's transcript. Once it fills the region the newest message
19
+ * sits over the composer either way.
20
+ */
21
+ anchor?: 'top' | 'bottom';
15
22
  }
16
- export declare function buildMessageListView({ messages, height, width, maxMessages, debug, expandToolOutputs, scrollback, externalTranscript, showThinking, showTurnMetadata, cols, }: MessageListProps): LayoutNode;
23
+ export declare function buildMessageListView({ messages, height, width, maxMessages, debug, expandToolOutputs, scrollback, externalTranscript, showThinking, showTurnMetadata, cols, anchor, }: MessageListProps): LayoutNode;
17
24
  export {};
@@ -1,4 +1,5 @@
1
- import { isToolResultMessage } from '../../utils/tool_result_message.js';
1
+ import { isCommandObservationMessage, isHostPromptMessage, isToolResultMessage } from '../../utils/tool_result_message.js';
2
+ import { displayAskUserResponse } from '../../app/ask_user_response.js';
2
3
  import { box, text, computeLayout } from '../core/index.js';
3
4
  import { isToolUsePlaceholderMessage } from '../../utils/assistant_message.js';
4
5
  import { wrapText } from '../core/wrap_text.js';
@@ -7,7 +8,7 @@ import { RECAP_PREFIX, THINKING_BODY_INDENT, TRANSCRIPT_INDENT_STEP } from '../i
7
8
  import { formatTranscriptTime } from '../core/time_format.js';
8
9
  import { messageHeaderSuffix } from '../core/turn_metadata.js';
9
10
  import { displayWidth } from '../core/text_width.js';
10
- import { wordWrapAnsi } from '../scrollback.js';
11
+ import { wordWrapAnsi, wordmarkWelcomeRows } from '../scrollback.js';
11
12
  import { measureText } from '../core/layout_yoga.js';
12
13
  const MESSAGE_LIST_PADDING = 1;
13
14
  const transcriptGraphemes = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
@@ -24,6 +25,10 @@ function toDate(value) {
24
25
  return null;
25
26
  return parsed;
26
27
  }
28
+ /** The launch welcome that opens on the ZTC wordmark (createFirstRunLaunchMessage). */
29
+ function isWordmarkWelcome(message) {
30
+ return message.role === 'system' && message.metadata?.wordmark === true;
31
+ }
27
32
  function isRecapMessage(message) {
28
33
  return message.role === 'system' && message.metadata?.recap === true;
29
34
  }
@@ -230,32 +235,136 @@ function parseInlineMarkdown(line) {
230
235
  }
231
236
  return parts.length > 0 ? parts : [{ text: line.replace(/\*\*/g, '') }];
232
237
  }
233
- function inlinePartNodes(line) {
234
- return parseInlineMarkdown(line).map(part => text(part.text, { ...part.style, wrap: 'wrap' }));
235
- }
236
- function renderInlineMarkdown(line) {
237
- const parts = parseInlineMarkdown(line);
238
- if (parts.length === 1 && !parts[0].style) {
239
- return text(parts[0].text, { wrap: 'wrap' });
238
+ /**
239
+ * Styled runs wrapped into rows of at most `width` cells. Rows break between
240
+ * words; a word wider than a row is split, and the spaces at a break are
241
+ * dropped. Leading spaces stay on the first row (code indentation).
242
+ */
243
+ function wrapInlineParts(parts, width) {
244
+ const tokens = [];
245
+ for (const part of parts) {
246
+ for (const piece of part.text.split(/(\s+)/)) {
247
+ if (!piece)
248
+ continue;
249
+ const space = /^\s+$/.test(piece);
250
+ const fragment = { text: piece, ...(part.style ? { style: part.style } : {}) };
251
+ const last = tokens[tokens.length - 1];
252
+ if (last && last.space === space) {
253
+ last.fragments.push(fragment);
254
+ last.width += displayWidth(piece);
255
+ }
256
+ else {
257
+ tokens.push({ space, fragments: [fragment], width: displayWidth(piece) });
258
+ }
259
+ }
240
260
  }
241
- return box(inlinePartNodes(line), { flexDirection: 'row' });
261
+ const rows = [];
262
+ let row = [];
263
+ let rowWidth = 0;
264
+ let gap = null;
265
+ const append = (fragment) => {
266
+ const previous = row[row.length - 1];
267
+ if (previous && previous.style === fragment.style)
268
+ previous.text += fragment.text;
269
+ else
270
+ row.push({ ...fragment });
271
+ };
272
+ const flush = () => {
273
+ rows.push(row);
274
+ row = [];
275
+ rowWidth = 0;
276
+ };
277
+ for (const token of tokens) {
278
+ if (token.space) {
279
+ if (rowWidth === 0 && rows.length === 0) {
280
+ token.fragments.forEach(append);
281
+ rowWidth += token.width;
282
+ }
283
+ else {
284
+ gap = token;
285
+ }
286
+ continue;
287
+ }
288
+ const gapWidth = gap && rowWidth > 0 ? gap.width : 0;
289
+ if (rowWidth > 0 && rowWidth + gapWidth + token.width > width) {
290
+ flush();
291
+ }
292
+ else if (gap && rowWidth > 0) {
293
+ gap.fragments.forEach(append);
294
+ rowWidth += gapWidth;
295
+ }
296
+ gap = null;
297
+ if (token.width <= width - rowWidth) {
298
+ token.fragments.forEach(append);
299
+ rowWidth += token.width;
300
+ continue;
301
+ }
302
+ for (const fragment of token.fragments) {
303
+ for (const char of fragment.text) {
304
+ const cells = displayWidth(char);
305
+ if (rowWidth > 0 && rowWidth + cells > width)
306
+ flush();
307
+ append({ ...fragment, text: char });
308
+ rowWidth += cells;
309
+ }
310
+ }
311
+ }
312
+ if (row.length > 0 || rows.length === 0)
313
+ rows.push(row);
314
+ return rows;
242
315
  }
243
- function renderPrefixedInline(prefix, value, prefixStyle) {
244
- return box([
245
- text(prefix, prefixStyle),
246
- ...inlinePartNodes(value),
247
- ], { flexDirection: 'row' });
316
+ /**
317
+ * A markdown line as rows that fit `width`, each row's text nodes on one line.
318
+ * `first` leads the first row and `rest` every later one (a bullet, then spaces
319
+ * under it; a quote bar or code gutter on every row), so wrapped text lines up
320
+ * under its own start. Every row fits, so no renderer has to break it again.
321
+ */
322
+ function renderWrappedInline(parts, width, lead = { first: [], rest: [] }) {
323
+ const leadWidth = displayWidth(lead.first.map(part => part.text).join(''));
324
+ const rows = wrapInlineParts(parts, Math.max(1, width - leadWidth));
325
+ const nodes = rows.map((row, index) => {
326
+ // Runs that share a style paint as one node, so a plain row stays one line of text.
327
+ const merged = [];
328
+ for (const part of [...(index === 0 ? lead.first : lead.rest), ...row]) {
329
+ const previous = merged[merged.length - 1];
330
+ if (part.text === '')
331
+ continue;
332
+ if (previous && previous.style === part.style)
333
+ previous.text += part.text;
334
+ else
335
+ merged.push({ ...part });
336
+ }
337
+ // Rows already fit; `wrap` only guards against clipping should one not.
338
+ return merged.map(part => text(part.text, { ...part.style, wrap: 'wrap' }));
339
+ });
340
+ if (nodes.length === 1 && nodes[0].length === 1)
341
+ return nodes[0][0];
342
+ const lines = nodes.map(row => box(row, { flexDirection: 'row' }));
343
+ return lines.length === 1 ? lines[0] : box(lines, { flexDirection: 'column' });
344
+ }
345
+ function renderInlineMarkdown(line, width) {
346
+ return renderWrappedInline(parseInlineMarkdown(line), width);
347
+ }
348
+ /**
349
+ * A prefixed line (list item, checkbox, quote). Wrapped rows hang under the
350
+ * text after the prefix, or repeat the prefix itself (`repeat`, for quotes).
351
+ */
352
+ function renderPrefixedInline(prefix, value, width, { prefixStyle, indent = '', repeat = false } = {}) {
353
+ const lead = { text: `${indent}${prefix}`, ...(prefixStyle ? { style: prefixStyle } : {}) };
354
+ const hang = repeat ? lead : { text: ' '.repeat(displayWidth(lead.text)) };
355
+ return renderWrappedInline(parseInlineMarkdown(value), width, { first: [lead], rest: [hang] });
248
356
  }
249
357
  function renderCodeBoundary(kind, language) {
250
358
  const label = kind === 'open' ? `┌─ ${language || 'code'} ` : '└';
251
359
  return text(`${label}${'─'.repeat(36)}`, { color: 'gray', dimColor: true });
252
360
  }
253
- function renderCodeLine(line, language) {
254
- const segments = highlightLine(line, { mode: 'code', language });
255
- return box([
256
- text('│ ', { color: 'gray', dimColor: true }),
257
- ...highlightSegmentNodes(segments),
258
- ], { flexDirection: 'row' });
361
+ function renderCodeLine(line, language, width) {
362
+ const gutter = { text: '│ ', style: { color: 'gray', dimColor: true } };
363
+ const parts = highlightLine(line, { mode: 'code', language }).map(segment => {
364
+ const base = styleForIntent(segment.intent);
365
+ return { text: segment.text, style: { ...base, bold: segment.bold || base.bold } };
366
+ });
367
+ return box([renderWrappedInline(parts, width, { first: [gutter], rest: [gutter] })], { flexDirection: 'column' });
259
368
  }
260
369
  /**
261
370
  * Text nodes for one highlighted line, one node per styled segment.
@@ -289,33 +398,36 @@ function renderToolOutputLine(line, options, marginLeft = 0) {
289
398
  ...(marginLeft > 0 ? { marginLeft } : {}),
290
399
  });
291
400
  }
292
- function renderMarkdownLine(line) {
401
+ function renderMarkdownLine(line, width) {
293
402
  const trimmed = line.trimStart();
294
- if (trimmed.startsWith('### ')) {
295
- return text(trimmed.slice(4), { bold: true, color: 'cyan', wrap: 'wrap' });
296
- }
297
- if (trimmed.startsWith('## ')) {
298
- return text(trimmed.slice(3), { bold: true, color: 'cyan', wrap: 'wrap' });
299
- }
300
- if (trimmed.startsWith('# ')) {
301
- return text(trimmed.slice(2), { bold: true, color: 'cyan', wrap: 'wrap' });
403
+ // A nested item keeps its depth; its wrapped rows hang under its own text.
404
+ const indent = ' '.repeat(displayWidth(line.slice(0, line.length - trimmed.length).replace(/\t/g, ' ')));
405
+ const heading = /^(#{1,3}) /.exec(trimmed);
406
+ if (heading) {
407
+ return renderWrappedInline([{ text: trimmed.slice(heading[0].length), style: { bold: true, color: 'cyan' } }], width);
302
408
  }
303
409
  if (trimmed.startsWith('> ')) {
304
- return renderPrefixedInline('│ ', trimmed.slice(2), { color: 'gray', dimColor: true });
410
+ return renderPrefixedInline('│ ', trimmed.slice(2), width, { prefixStyle: { color: 'gray', dimColor: true }, indent, repeat: true });
305
411
  }
306
412
  if (trimmed.startsWith('- [ ] ')) {
307
- return renderPrefixedInline('☐ ', trimmed.slice(6));
413
+ return renderPrefixedInline('☐ ', trimmed.slice(6), width, { indent });
308
414
  }
309
415
  if (trimmed.startsWith('- [x] ') || trimmed.startsWith('- [X] ')) {
310
- return renderPrefixedInline('☑ ', trimmed.slice(6), { color: 'green' });
416
+ return renderPrefixedInline('☑ ', trimmed.slice(6), width, { prefixStyle: { color: 'green' }, indent });
311
417
  }
312
418
  if (trimmed.startsWith('- ') || trimmed.startsWith('* ')) {
313
- return renderPrefixedInline('• ', trimmed.slice(2));
419
+ return renderPrefixedInline('• ', trimmed.slice(2), width, { indent });
420
+ }
421
+ const numbered = /^(\d+[.)]) /.exec(trimmed);
422
+ if (numbered) {
423
+ return renderPrefixedInline(numbered[0], trimmed.slice(numbered[0].length), width, { indent });
314
424
  }
315
425
  if (trimmed.startsWith('---') || trimmed.startsWith('***') || trimmed.startsWith('___')) {
316
426
  return text('────────────────────────────────────────────────────', { color: 'gray', dimColor: true });
317
427
  }
318
- return renderInlineMarkdown(line);
428
+ return indent
429
+ ? renderPrefixedInline('', trimmed, width, { indent })
430
+ : renderInlineMarkdown(line, width);
319
431
  }
320
432
  function isTableSeparator(line) {
321
433
  const trimmed = line.trim();
@@ -352,7 +464,7 @@ function renderTable(lines) {
352
464
  });
353
465
  return rendered;
354
466
  }
355
- function renderMarkdownLines(lines) {
467
+ function renderMarkdownLines(lines, width) {
356
468
  const normalized = [];
357
469
  let inCodeBlock = false;
358
470
  lines.forEach(line => {
@@ -407,7 +519,7 @@ function renderMarkdownLines(lines) {
407
519
  continue;
408
520
  }
409
521
  if (inCode) {
410
- nodes.push(renderCodeLine(line, codeLanguage));
522
+ nodes.push(renderCodeLine(line, codeLanguage, width));
411
523
  i += 1;
412
524
  continue;
413
525
  }
@@ -437,13 +549,13 @@ function renderMarkdownLines(lines) {
437
549
  i = j;
438
550
  continue;
439
551
  }
440
- nodes.push(renderMarkdownLine(line));
552
+ nodes.push(renderMarkdownLine(line, width));
441
553
  i += 1;
442
554
  }
443
555
  return nodes;
444
556
  }
445
557
  function messageView(message, expandToolOutputs = false, cols = 80, showTurnMetadata = true) {
446
- if (isToolResultMessage(message)) {
558
+ if (isToolResultMessage(message) || isCommandObservationMessage(message) || isHostPromptMessage(message)) {
447
559
  return box([], {});
448
560
  }
449
561
  // Special handling for widget messages - render raw without chrome
@@ -452,6 +564,13 @@ function messageView(message, expandToolOutputs = false, cols = 80, showTurnMeta
452
564
  const lines = message.content.split('\n');
453
565
  return box(lines.map(line => text(line, {})), { flexDirection: 'column' });
454
566
  }
567
+ // The launch welcome reads as the scrollback prints it: the ZTC wordmark
568
+ // with the readout beside it, and no header. A frame too short for it (see
569
+ // clipMessage) shows the readout alone.
570
+ if (isWordmarkWelcome(message)) {
571
+ const rows = wordmarkWelcomeRows(message.content, cols - MESSAGE_LIST_PADDING * 2, message.metadata?.wordmarkHidden !== true);
572
+ return box(rows.map(row => box(row.map(run => text(run.text, run.style ?? {})), { flexDirection: 'row', height: 1, flexShrink: 0 })), { flexDirection: 'column', marginTop: 1, flexShrink: 0 });
573
+ }
455
574
  // Recap messages render without role/time chrome and hug the prior message.
456
575
  if (message.role === 'system' && message.metadata?.recap === true) {
457
576
  return box([
@@ -485,7 +604,7 @@ function messageView(message, expandToolOutputs = false, cols = 80, showTurnMeta
485
604
  ? (toolOutput.full || message.content || toolOutput.preview)
486
605
  : toolOutput && toolOutput.preview
487
606
  ? toolOutput.preview
488
- : message.content) ?? '';
607
+ : message.metadata?.askUserAnswer === true ? displayAskUserResponse(message.content) : message.content) ?? '';
489
608
  const lines = content.split('\n');
490
609
  // Tool bodies are command/file output, not prose: each line goes through the
491
610
  // tool-specific highlighter instead of markdown, so flags, paths and matches
@@ -494,6 +613,9 @@ function messageView(message, expandToolOutputs = false, cols = 80, showTurnMeta
494
613
  const toolBodyPlan = message.role === 'tool' && toolOutput
495
614
  ? toolBodyHighlightPlan(toolOutput)
496
615
  : null;
616
+ const bodyIndent = meta?.reasoning === true ? THINKING_BODY_INDENT.length : TRANSCRIPT_INDENT_STEP;
617
+ // Prose is wrapped here, between words, to the body's own width.
618
+ const bodyWidth = Math.max(1, cols - MESSAGE_LIST_PADDING * 2 - bodyIndent);
497
619
  return box([
498
620
  box([
499
621
  text(`${config.icon} ${config.label}`, { color: config.color, bold: true }),
@@ -502,9 +624,9 @@ function messageView(message, expandToolOutputs = false, cols = 80, showTurnMeta
502
624
  ], { flexDirection: 'row' }),
503
625
  box(toolBodyPlan
504
626
  ? lines.map((line, index) => renderToolOutputLine(line, toolBodyLineOptions(toolBodyPlan, index)))
505
- : renderMarkdownLines(lines), {
627
+ : renderMarkdownLines(lines, bodyWidth), {
506
628
  flexDirection: 'column',
507
- marginLeft: meta?.reasoning === true ? THINKING_BODY_INDENT.length : TRANSCRIPT_INDENT_STEP,
629
+ marginLeft: bodyIndent,
508
630
  }),
509
631
  message.toolCalls && message.toolCalls.length > 0 && !meta?.toolCallsInTranscript
510
632
  ? box(message.toolCalls.map(tool => toolCallView(tool)), { flexDirection: 'column' })
@@ -549,6 +671,11 @@ function clipMessage(message, available, width, expandToolOutputs = false, showT
549
671
  return null;
550
672
  if (isToolResultMessage(message))
551
673
  return null;
674
+ // The welcome is never cut: without room for the wordmark it shows the readout alone.
675
+ if (isWordmarkWelcome(message)) {
676
+ const readout = { ...message, metadata: { ...message.metadata, wordmarkHidden: true } };
677
+ return estimateMessageLines(readout, width, expandToolOutputs, showTurnMetadata) <= available ? readout : null;
678
+ }
552
679
  // Don't clip widget messages
553
680
  if (message.id === 'form-widget' || message.id === 'select-widget' || message.id === 'text-input-widget') {
554
681
  return message;
@@ -609,7 +736,7 @@ function clipMessage(message, available, width, expandToolOutputs = false, showT
609
736
  function onlyRecapsVisible(messages) {
610
737
  return messages.length > 0 && messages.every(isRecapMessage);
611
738
  }
612
- export function buildMessageListView({ messages, height, width, maxMessages = 50, debug = false, expandToolOutputs = false, scrollback = false, externalTranscript = false, showThinking = true, showTurnMetadata = true, cols, }) {
739
+ export function buildMessageListView({ messages, height, width, maxMessages = 50, debug = false, expandToolOutputs = false, scrollback = false, externalTranscript = false, showThinking = true, showTurnMetadata = true, cols, anchor = 'bottom', }) {
613
740
  if (externalTranscript) {
614
741
  return box([], {
615
742
  flexDirection: 'column',
@@ -622,11 +749,13 @@ export function buildMessageListView({ messages, height, width, maxMessages = 50
622
749
  }
623
750
  const viewportCols = width ?? cols;
624
751
  const recentMessages = messages
625
- .filter(message => !isToolResultMessage(message) && message.metadata?.toolUseOnly !== true)
752
+ .filter(message => !isToolResultMessage(message) && !isHostPromptMessage(message) && message.metadata?.toolUseOnly !== true)
626
753
  .filter(message => !isToolUsePlaceholderMessage(message))
627
754
  .filter(message => showThinking || message.metadata?.reasoning !== true)
628
755
  .slice(-maxMessages);
629
756
  let visibleMessages = recentMessages;
757
+ // Whether some earlier message or part of one did not fit.
758
+ let overflowed = false;
630
759
  if (!scrollback && typeof height === 'number') {
631
760
  visibleMessages = [];
632
761
  let remaining = height;
@@ -641,6 +770,7 @@ export function buildMessageListView({ messages, height, width, maxMessages = 50
641
770
  remaining -= estimate;
642
771
  continue;
643
772
  }
773
+ overflowed = true;
644
774
  const output = msg.metadata?.toolOutput;
645
775
  const expandedTool = output && (expandToolOutputs || msg.content !== output.preview);
646
776
  if (visibleMessages.length === 0 || onlyRecapsVisible(visibleMessages) || expandedTool || reservedHistory) {
@@ -672,8 +802,9 @@ export function buildMessageListView({ messages, height, width, maxMessages = 50
672
802
  visibleMessages.forEach((msg) => {
673
803
  messageNodes.push(messageView(msg, expandToolOutputs, viewportCols, showTurnMetadata));
674
804
  });
805
+ const topAnchored = anchor === 'top' && !overflowed;
675
806
  return box([
676
- !scrollback ? box([], { flexGrow: 1 }) : box([], {}),
807
+ !scrollback && !topAnchored ? box([], { flexGrow: 1 }) : box([], {}),
677
808
  box(messageNodes, { flexDirection: 'column' }),
678
809
  messages.length === 0
679
810
  ? box([text('No messages yet. Type something to begin.', { color: 'gray', dimColor: true })], {
@@ -340,7 +340,13 @@ export function buildStatusBarView(rawProps) {
340
340
  }
341
341
  left = [...left, ...alerts];
342
342
  const availableWidth = Math.max(0, props.cols - 2);
343
- ({ left, right } = compactSegments(left, right, settings.separator, availableWidth));
343
+ // A toast says what just happened (a cleared draft and the key that brings
344
+ // it back), so it keeps its whole width, up to half the line; lower-priority
345
+ // items step aside until it clears.
346
+ const toastWidth = props.toast
347
+ ? Math.min(displayWidth(sanitizeTerminalText(props.toast)) + 2, Math.floor(availableWidth / 2))
348
+ : 0;
349
+ ({ left, right } = compactSegments(left, right, settings.separator, availableWidth - toastWidth));
344
350
  const usedWidth = groupWidth(left, settings.separator) + groupWidth(right, settings.separator);
345
351
  const notification = notificationNode(props.toast, Math.max(0, availableWidth - usedWidth), settings.useColors);
346
352
  return box([
@@ -11,6 +11,8 @@ export declare const TERMINAL_THEME: {
11
11
  readonly info: "#39c5cf";
12
12
  readonly error: "#f85149";
13
13
  readonly success: "#3fb950";
14
+ /** ZTC's own accent, the orange of the site's First Contact film: a select's title, pointer and choice. */
15
+ readonly accent: "#eb9a5d";
14
16
  };
15
17
  /** Rules and glyphs remain distinct on both dark and light terminal backgrounds. */
16
18
  export declare const PLAN_ACCENT = "#b7791f";
@@ -11,6 +11,8 @@ export const TERMINAL_THEME = {
11
11
  info: '#39c5cf',
12
12
  error: '#f85149',
13
13
  success: '#3fb950',
14
+ /** ZTC's own accent, the orange of the site's First Contact film: a select's title, pointer and choice. */
15
+ accent: '#eb9a5d',
14
16
  };
15
17
  /** Rules and glyphs remain distinct on both dark and light terminal backgrounds. */
16
18
  export const PLAN_ACCENT = '#b7791f';
@@ -26,6 +26,7 @@ import { TERMINAL_THEME } from '../views/theme.js';
26
26
  import { COLOR_PRESETS, blendOver, formatColor, parseColor } from '../../config/colors.js';
27
27
  import { fuzzyMatch } from '../../utils/fuzzy_match.js';
28
28
  import { widgetFrameGeometry, bodyBand, bottomBorder, clipText, dropLastGrapheme, framedLine, isInsideBand, lineText, planPanelSplit, sideBySideBands, stackedBands, topBorder, WHEEL_LINES, } from './panel_frame.js';
29
+ import { isControlKey } from '../core/input.js';
29
30
  const CHANNEL_ORDER = ['hex', 'r', 'g', 'b', 'a'];
30
31
  const CHANNEL_LABELS = {
31
32
  hex: 'Hex',
@@ -223,7 +224,7 @@ export class ColorPanelWidget {
223
224
  return;
224
225
  }
225
226
  if (this.filterMode) {
226
- if (key.ctrl && input.toLowerCase() === 'c') {
227
+ if (isControlKey(input, key, 'c')) {
227
228
  this.cancel();
228
229
  return;
229
230
  }
@@ -232,7 +233,7 @@ export class ColorPanelWidget {
232
233
  this.host.render();
233
234
  return;
234
235
  }
235
- if (key.ctrl && input.toLowerCase() === 'u')
236
+ if (isControlKey(input, key, 'u'))
236
237
  this.filterText = '';
237
238
  else if (key.backspace || key.delete)
238
239
  this.filterText = dropLastGrapheme(this.filterText);
@@ -326,7 +327,7 @@ export class ColorPanelWidget {
326
327
  this.host.render();
327
328
  return;
328
329
  }
329
- if (key.ctrl && input.toLowerCase() === 'u')
330
+ if (isControlKey(input, key, 'u'))
330
331
  this.hexValue = '';
331
332
  else if (key.backspace || key.delete)
332
333
  this.hexValue = dropLastGrapheme(this.hexValue);