@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.
- package/README.md +65 -46
- package/THIRD_PARTY_NOTICES.md +7 -2
- package/bin/zmux-darwin-arm64 +0 -0
- package/bin/ztc-audio-darwin-arm64 +0 -0
- package/bin/ztc-capture-darwin-arm64 +0 -0
- package/bin/ztc-computer-darwin-arm64 +0 -0
- package/bin/ztc-llm-darwin-arm64 +0 -0
- package/bin/ztc-tts-darwin-arm64 +0 -0
- package/bin/ztc-tui-darwin-arm64 +0 -0
- package/bin/zterm-darwin-arm64 +0 -0
- package/dist/App.js +26 -9
- package/dist/agent/agent.d.ts +77 -0
- package/dist/agent/agent.js +618 -94
- package/dist/agent/backends/account_login.js +3 -1
- package/dist/agent/backends/anthropic.js +4 -3
- package/dist/agent/backends/bedrock.d.ts +20 -0
- package/dist/agent/backends/bedrock.js +175 -0
- package/dist/agent/backends/claude_cli.js +8 -0
- package/dist/agent/backends/codex_app_server.js +2 -0
- package/dist/agent/backends/codex_auth.d.ts +5 -2
- package/dist/agent/backends/codex_auth.js +131 -31
- package/dist/agent/backends/gemini.js +1 -1
- package/dist/agent/backends/http_error.d.ts +2 -0
- package/dist/agent/backends/http_error.js +4 -0
- package/dist/agent/backends/index.d.ts +3 -0
- package/dist/agent/backends/index.js +16 -0
- package/dist/agent/backends/model_pool.d.ts +20 -0
- package/dist/agent/backends/model_pool.js +98 -0
- package/dist/agent/backends/openai.js +2 -0
- package/dist/agent/backends/openai_compatible.js +8 -3
- package/dist/agent/backends/openai_responses.d.ts +14 -3
- package/dist/agent/backends/openai_responses.js +91 -26
- package/dist/agent/backends/responses_reasoning.d.ts +5 -0
- package/dist/agent/backends/responses_reasoning.js +23 -0
- package/dist/agent/backends/transport_errors.d.ts +6 -0
- package/dist/agent/backends/transport_errors.js +11 -0
- package/dist/agent/backends/types.d.ts +25 -2
- package/dist/agent/backends/types.js +4 -0
- package/dist/agent/backends/zrouter_stream.d.ts +16 -0
- package/dist/agent/backends/zrouter_stream.js +162 -17
- package/dist/agent/background_workers.d.ts +68 -0
- package/dist/agent/background_workers.js +139 -0
- package/dist/agent/commands/accounts.d.ts +9 -1
- package/dist/agent/commands/accounts.js +13 -5
- package/dist/agent/commands/auth.d.ts +30 -1
- package/dist/agent/commands/auth.js +166 -35
- package/dist/agent/commands/command_refusal.d.ts +8 -0
- package/dist/agent/commands/command_refusal.js +8 -0
- package/dist/agent/commands/compact.js +16 -10
- package/dist/agent/commands/config.js +386 -80
- package/dist/agent/commands/connect.d.ts +20 -0
- package/dist/agent/commands/connect.js +150 -0
- package/dist/agent/commands/credential_redaction.d.ts +12 -0
- package/dist/agent/commands/credential_redaction.js +46 -0
- package/dist/agent/commands/credential_status.d.ts +72 -0
- package/dist/agent/commands/credential_status.js +181 -0
- package/dist/agent/commands/direct_credential_prompt.d.ts +71 -0
- package/dist/agent/commands/direct_credential_prompt.js +422 -0
- package/dist/agent/commands/effort.d.ts +1 -0
- package/dist/agent/commands/effort.js +16 -34
- package/dist/agent/commands/goal.d.ts +0 -4
- package/dist/agent/commands/goal.js +48 -10
- package/dist/agent/commands/handoff.d.ts +6 -0
- package/dist/agent/commands/handoff.js +17 -0
- package/dist/agent/commands/help.js +1 -1
- package/dist/agent/commands/inbox.js +3 -0
- package/dist/agent/commands/index.js +5 -3
- package/dist/agent/commands/keybindings.js +4 -3
- package/dist/agent/commands/mirror.js +29 -16
- package/dist/agent/commands/model.js +83 -4
- package/dist/agent/commands/models.d.ts +1 -1
- package/dist/agent/commands/models.js +89 -67
- package/dist/agent/commands/openai_compat_wizard.d.ts +3 -2
- package/dist/agent/commands/openai_compat_wizard.js +53 -15
- package/dist/agent/commands/provider_choices.d.ts +56 -0
- package/dist/agent/commands/provider_choices.js +72 -3
- package/dist/agent/commands/provider_model_defaults.d.ts +7 -0
- package/dist/agent/commands/provider_model_defaults.js +11 -0
- package/dist/agent/commands/provider_selection.d.ts +27 -2
- package/dist/agent/commands/provider_selection.js +143 -8
- package/dist/agent/commands/reasoning_page.d.ts +33 -0
- package/dist/agent/commands/reasoning_page.js +595 -0
- package/dist/agent/commands/reasoning_picker.d.ts +14 -0
- package/dist/agent/commands/reasoning_picker.js +99 -0
- package/dist/agent/commands/reasoning_settings.d.ts +18 -0
- package/dist/agent/commands/reasoning_settings.js +46 -0
- package/dist/agent/commands/settings.d.ts +2 -0
- package/dist/agent/commands/settings.js +689 -264
- package/dist/agent/commands/status.js +13 -44
- package/dist/agent/commands/types.d.ts +108 -2
- package/dist/agent/commands/update.d.ts +18 -0
- package/dist/agent/commands/update.js +55 -96
- package/dist/agent/completion_state.d.ts +18 -0
- package/dist/agent/completion_state.js +35 -3
- package/dist/agent/factory.d.ts +9 -1
- package/dist/agent/factory.js +61 -17
- package/dist/agent/loop_policy.d.ts +14 -0
- package/dist/agent/loop_policy.js +9 -0
- package/dist/agent/request_encoder.d.ts +6 -0
- package/dist/agent/request_encoder.js +36 -6
- package/dist/agent/result_emit_cap.d.ts +1 -0
- package/dist/agent/result_emit_cap.js +1 -0
- package/dist/agent/runaway_output.d.ts +32 -0
- package/dist/agent/runaway_output.js +80 -0
- package/dist/agent/runtime/command_execution_policy.d.ts +6 -0
- package/dist/agent/runtime/command_execution_policy.js +39 -0
- package/dist/agent/runtime/evidence.d.ts +17 -1
- package/dist/agent/runtime/evidence.js +58 -8
- package/dist/agent/runtime/execution_context.js +7 -3
- package/dist/agent/runtime/read_only_command.d.ts +15 -0
- package/dist/agent/runtime/read_only_command.js +265 -0
- package/dist/agent/runtime/recovery.js +2 -38
- package/dist/agent/runtime/source_verification.js +3 -1
- package/dist/agent/runtime/tool_checkpoints.js +5 -1
- package/dist/agent/runtime/tool_runtime.js +15 -1
- package/dist/agent/runtime/tool_scheduler.js +3 -1
- package/dist/agent/subagent.d.ts +4 -0
- package/dist/agent/subagent.js +195 -23
- package/dist/agent/system_prompt.d.ts +3 -1
- package/dist/agent/system_prompt.js +3 -1
- package/dist/agent/tool_response_store.d.ts +9 -0
- package/dist/agent/tool_response_store.js +39 -3
- package/dist/agent/tool_result_parsing.d.ts +2 -0
- package/dist/agent/tool_result_parsing.js +1 -0
- package/dist/agent/tool_result_presentation.d.ts +21 -0
- package/dist/agent/tool_result_presentation.js +237 -0
- package/dist/agent/tools/apply_patch.js +130 -42
- package/dist/agent/tools/deferred.js +22 -2
- package/dist/agent/tools/delegate.js +182 -49
- package/dist/agent/tools/edit_view.d.ts +13 -0
- package/dist/agent/tools/edit_view.js +134 -0
- package/dist/agent/tools/file.js +54 -16
- package/dist/agent/tools/recall_tool_response.d.ts +6 -0
- package/dist/agent/tools/recall_tool_response.js +60 -17
- package/dist/agent/tools/screenshot.js +5 -3
- package/dist/agent/tools/search.js +18 -9
- package/dist/agent/tools/shell.d.ts +1 -1
- package/dist/agent/tools/shell.js +48 -10
- package/dist/agent/tools/sim_domain_tools.js +7 -1
- package/dist/agent/tools/tool_groups.d.ts +34 -0
- package/dist/agent/tools/tool_groups.js +112 -0
- package/dist/agent/tools/types.d.ts +10 -0
- package/dist/app/activity.js +2 -1
- package/dist/app/agent_runner.js +13 -4
- package/dist/app/ask_user_response.d.ts +6 -0
- package/dist/app/ask_user_response.js +26 -0
- package/dist/app/command_context.js +11 -5
- package/dist/app/launch_notices.d.ts +10 -0
- package/dist/app/launch_notices.js +20 -0
- package/dist/app/selection_completion.d.ts +30 -1
- package/dist/app/selection_completion.js +191 -28
- package/dist/app/session_manager.d.ts +5 -0
- package/dist/app/session_manager.js +50 -12
- package/dist/app/session_messages.d.ts +3 -0
- package/dist/app/session_messages.js +34 -12
- package/dist/app/workspace_admission_details.d.ts +7 -0
- package/dist/app/workspace_admission_details.js +45 -1
- package/dist/cli_args.js +1 -1
- package/dist/cli_main.js +20 -3
- package/dist/cli_ratatui.d.ts +95 -3
- package/dist/cli_ratatui.js +654 -161
- package/dist/components/InputArea.js +1 -1
- package/dist/config/compaction.d.ts +2 -1
- package/dist/config/compaction.js +2 -1
- package/dist/config/defaults.js +20 -48
- package/dist/config/provider_api_key_env.d.ts +76 -0
- package/dist/config/provider_api_key_env.js +148 -0
- package/dist/config/resolved.d.ts +4 -4
- package/dist/config/types.d.ts +102 -1
- package/dist/config.d.ts +70 -8
- package/dist/config.js +253 -63
- package/dist/diagnostics/session_export.d.ts +1 -0
- package/dist/diagnostics/session_export.js +81 -13
- package/dist/emulation/catalog.d.ts +2 -0
- package/dist/emulation/catalog.js +50 -21
- package/dist/emulation/tool_adapters.d.ts +6 -0
- package/dist/emulation/tool_adapters.js +30 -0
- package/dist/emulation/ztc_addendum.d.ts +22 -0
- package/dist/emulation/ztc_addendum.js +37 -0
- package/dist/events.d.ts +3 -0
- package/dist/headless.d.ts +35 -1
- package/dist/headless.js +209 -14
- package/dist/headless_cli.js +6 -0
- package/dist/headless_cli_args.d.ts +4 -0
- package/dist/headless_cli_args.js +2 -0
- package/dist/headless_output_schema.d.ts +46 -0
- package/dist/headless_output_schema.js +386 -0
- package/dist/headless_trajectory.d.ts +44 -0
- package/dist/headless_trajectory.js +113 -0
- package/dist/library.d.ts +6 -3
- package/dist/library.js +8 -4
- package/dist/lsp/client.js +4 -1
- package/dist/lsp/servers.js +2 -0
- package/dist/onboarding/first_run.d.ts +26 -6
- package/dist/onboarding/first_run.js +63 -45
- package/dist/onboarding/router_tips.d.ts +7 -0
- package/dist/onboarding/router_tips.js +38 -0
- package/dist/onboarding/setup.js +1 -1
- package/dist/onboarding/wordmark.d.ts +7 -0
- package/dist/onboarding/wordmark.js +14 -0
- package/dist/onboarding/zergai_login.d.ts +48 -0
- package/dist/onboarding/zergai_login.js +60 -0
- package/dist/prompts/subagent_worker.j2 +20 -0
- package/dist/prompts/tool_delegate_task.j2 +5 -14
- package/dist/router_auth.d.ts +37 -3
- package/dist/router_auth.js +221 -73
- package/dist/runtime_info.d.ts +19 -6
- package/dist/runtime_info.js +64 -28
- package/dist/session.d.ts +9 -0
- package/dist/session.js +41 -8
- package/dist/session_handoff_contract.d.ts +13 -0
- package/dist/session_handoff_contract.js +81 -15
- package/dist/session_media.d.ts +5 -0
- package/dist/session_media.js +2 -1
- package/dist/simulation/domain_types.d.ts +3 -3
- package/dist/simulation/living/context.d.ts +9 -9
- package/dist/simulation/living/definition.d.ts +1 -1
- package/dist/simulation/living/open-world.d.ts +3 -3
- package/dist/simulation/living/recall.d.ts +1 -1
- package/dist/simulation/living/types.d.ts +18 -18
- package/dist/simulation/orchestration/world_response.d.ts +2 -2
- package/dist/simulation/toolkit/dynamic_meetings.d.ts +1 -1
- package/dist/simulation/toolkit/dynamic_state.d.ts +1 -1
- package/dist/simulation/world/bootstrap_schema.d.ts +1 -1
- package/dist/simulation/world/gm_schema.d.ts +8 -8
- package/dist/skills/loader.js +3 -1
- package/dist/types.d.ts +6 -2
- package/dist/ui/core/input.d.ts +5 -1
- package/dist/ui/core/input.js +5 -1
- package/dist/ui/core/input_segments.d.ts +5 -1
- package/dist/ui/core/input_segments.js +5 -3
- package/dist/ui/ratatui/headless_pane_manager.d.ts +3 -1
- package/dist/ui/ratatui/headless_pane_manager.js +16 -5
- package/dist/ui/ratatui/input.js +4 -3
- package/dist/ui/ratatui/process.js +22 -13
- package/dist/ui/ratatui/protocol.d.ts +14 -0
- package/dist/ui/ratatui/protocol.js +2 -0
- package/dist/ui/scrollback.d.ts +17 -0
- package/dist/ui/scrollback.js +138 -4
- package/dist/ui/terminal_image.d.ts +129 -0
- package/dist/ui/terminal_image.js +516 -0
- package/dist/ui/transcript_render_cache.d.ts +4 -4
- package/dist/ui/transcript_render_cache.js +7 -4
- package/dist/ui/views/app.d.ts +7 -3
- package/dist/ui/views/app.js +13 -6
- package/dist/ui/views/completion_menu.js +18 -10
- package/dist/ui/views/input_area.d.ts +1 -2
- package/dist/ui/views/input_area.js +2 -2
- package/dist/ui/views/message_list.d.ts +8 -1
- package/dist/ui/views/message_list.js +176 -45
- package/dist/ui/views/status_bar.js +7 -1
- package/dist/ui/views/theme.d.ts +2 -0
- package/dist/ui/views/theme.js +2 -0
- package/dist/ui/widgets/color_panel.js +4 -3
- package/dist/ui/widgets/form.d.ts +8 -1
- package/dist/ui/widgets/form.js +36 -22
- package/dist/ui/widgets/index.d.ts +1 -1
- package/dist/ui/widgets/index.js +1 -1
- package/dist/ui/widgets/log_view.js +4 -3
- package/dist/ui/widgets/navigator_panel.js +5 -4
- package/dist/ui/widgets/panel_frame.d.ts +2 -0
- package/dist/ui/widgets/panel_frame.js +14 -0
- package/dist/ui/widgets/prompt_viewer.js +2 -1
- package/dist/ui/widgets/questionnaire.js +3 -3
- package/dist/ui/widgets/reasoning_track.d.ts +60 -0
- package/dist/ui/widgets/reasoning_track.js +218 -0
- package/dist/ui/widgets/resume_panel.js +15 -10
- package/dist/ui/widgets/rewind_panel.js +4 -16
- package/dist/ui/widgets/select.d.ts +90 -4
- package/dist/ui/widgets/select.js +305 -135
- package/dist/ui/widgets/settings_panel.d.ts +21 -1
- package/dist/ui/widgets/settings_panel.js +266 -45
- package/dist/ui/widgets/status_line_panel.js +6 -5
- package/dist/ui/widgets/text_input.d.ts +4 -0
- package/dist/ui/widgets/text_input.js +20 -13
- package/dist/ui/widgets/types.d.ts +2 -0
- package/dist/utils/compaction.d.ts +24 -4
- package/dist/utils/compaction.js +228 -44
- package/dist/utils/context.js +1 -0
- package/dist/utils/debug_log.d.ts +12 -0
- package/dist/utils/debug_log.js +25 -3
- package/dist/utils/deepseek.d.ts +3 -1
- package/dist/utils/deepseek.js +29 -1
- package/dist/utils/docker_target.d.ts +28 -0
- package/dist/utils/docker_target.js +89 -0
- package/dist/utils/ephemeral.js +2 -0
- package/dist/utils/fireworks.d.ts +4 -4
- package/dist/utils/fireworks.js +11 -7
- package/dist/utils/idle_compaction.d.ts +32 -0
- package/dist/utils/idle_compaction.js +113 -0
- package/dist/utils/mid_turn_compaction.d.ts +12 -0
- package/dist/utils/mid_turn_compaction.js +17 -0
- package/dist/utils/open_url.d.ts +4 -0
- package/dist/utils/open_url.js +10 -0
- package/dist/utils/openrouter_prices.d.ts +165 -0
- package/dist/utils/openrouter_prices.js +313 -0
- package/dist/utils/router_catalog.d.ts +13 -0
- package/dist/utils/router_catalog.js +30 -3
- package/dist/utils/sandbox.d.ts +12 -0
- package/dist/utils/sandbox.js +23 -5
- package/dist/utils/session_interactivity.d.ts +21 -0
- package/dist/utils/session_interactivity.js +28 -0
- package/dist/utils/shell.d.ts +7 -0
- package/dist/utils/shell.js +43 -7
- package/dist/utils/subprocess_env.d.ts +27 -0
- package/dist/utils/subprocess_env.js +69 -3
- package/dist/utils/tool_output_copies.d.ts +44 -0
- package/dist/utils/tool_output_copies.js +196 -0
- package/dist/utils/tool_result_message.d.ts +7 -0
- package/dist/utils/tool_result_message.js +11 -0
- package/dist/utils/tool_trace.d.ts +15 -0
- package/dist/utils/tool_trace.js +40 -9
- package/dist/web/event_history_store.d.ts +2 -0
- package/dist/web/event_history_store.js +31 -6
- package/dist/web/mirror_client.d.ts +3 -0
- package/dist/web/mirror_stream.d.ts +11 -0
- package/dist/web/mirror_stream.js +23 -3
- package/dist/worker/executor.js +3 -1
- package/dist/worker/toolsets.d.ts +1 -1
- package/dist/worker/toolsets.js +4 -3
- package/dist/worker/types.d.ts +6 -0
- package/dist/worker/worker_models.d.ts +17 -0
- package/dist/worker/worker_models.js +79 -0
- package/dist/zlm-embed.mjs +53761 -10916
- package/node_modules/@zerg/model-contracts/README.md +16 -5
- package/node_modules/@zerg/model-contracts/index.d.ts +7 -3
- package/node_modules/@zerg/model-contracts/index.js +40 -18
- package/node_modules/abort-controller/LICENSE +21 -0
- package/node_modules/abort-controller/README.md +98 -0
- package/node_modules/abort-controller/browser.js +13 -0
- package/node_modules/abort-controller/browser.mjs +11 -0
- package/node_modules/abort-controller/dist/abort-controller.d.ts +43 -0
- package/node_modules/abort-controller/dist/abort-controller.js +127 -0
- package/node_modules/abort-controller/dist/abort-controller.js.map +1 -0
- package/node_modules/abort-controller/dist/abort-controller.mjs +118 -0
- package/node_modules/abort-controller/dist/abort-controller.mjs.map +1 -0
- package/node_modules/abort-controller/dist/abort-controller.umd.js +5 -0
- package/node_modules/abort-controller/dist/abort-controller.umd.js.map +1 -0
- package/node_modules/abort-controller/package.json +97 -0
- package/node_modules/abort-controller/polyfill.js +21 -0
- package/node_modules/abort-controller/polyfill.mjs +19 -0
- package/node_modules/bluebird/LICENSE +1 -1
- package/node_modules/bluebird/README.md +8 -2
- package/node_modules/bluebird/js/browser/bluebird.core.js +325 -150
- package/node_modules/bluebird/js/browser/bluebird.core.min.js +4 -4
- package/node_modules/bluebird/js/browser/bluebird.js +362 -165
- package/node_modules/bluebird/js/browser/bluebird.min.js +5 -5
- package/node_modules/bluebird/js/release/async.js +15 -56
- package/node_modules/bluebird/js/release/debuggability.js +118 -25
- package/node_modules/bluebird/js/release/finally.js +37 -2
- package/node_modules/bluebird/js/release/generators.js +1 -1
- package/node_modules/bluebird/js/release/join.js +4 -7
- package/node_modules/bluebird/js/release/map.js +10 -3
- package/node_modules/bluebird/js/release/promise.js +89 -43
- package/node_modules/bluebird/js/release/promise_array.js +2 -0
- package/node_modules/bluebird/js/release/props.js +1 -1
- package/node_modules/bluebird/js/release/reduce.js +16 -5
- package/node_modules/bluebird/js/release/schedule.js +6 -5
- package/node_modules/bluebird/js/release/settle.js +4 -0
- package/node_modules/bluebird/js/release/util.js +53 -11
- package/node_modules/bluebird/package.json +7 -5
- package/node_modules/buffer/AUTHORS.md +3 -0
- package/node_modules/buffer/README.md +1 -1
- package/node_modules/buffer/index.d.ts +11 -3
- package/node_modules/buffer/index.js +424 -135
- package/node_modules/buffer/package.json +8 -11
- package/node_modules/compress-commons/README.md +1 -1
- package/node_modules/compress-commons/lib/archivers/archive-entry.js +6 -16
- package/node_modules/compress-commons/lib/archivers/archive-output-stream.js +79 -98
- package/node_modules/compress-commons/lib/archivers/zip/constants.js +99 -70
- package/node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js +70 -92
- package/node_modules/compress-commons/lib/archivers/zip/unix-stat.js +19 -53
- package/node_modules/compress-commons/lib/archivers/zip/util.js +49 -49
- package/node_modules/compress-commons/lib/archivers/zip/zip-archive-entry.js +356 -389
- package/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js +335 -404
- package/node_modules/compress-commons/lib/compress-commons.js +18 -13
- package/node_modules/compress-commons/lib/util/index.js +11 -21
- package/node_modules/compress-commons/node_modules/readable-stream/README.md +116 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_readable.js +4 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_transform.js +4 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/_stream_writable.js +4 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/legacy.js +94 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/internal/validators.js +530 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/browser.js +35 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/errors.js +343 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/index.js +65 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/primordials.js +124 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/ours/util.js +148 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/stream/promises.js +43 -0
- package/node_modules/compress-commons/node_modules/readable-stream/lib/stream.js +143 -0
- package/node_modules/compress-commons/node_modules/readable-stream/package.json +89 -0
- package/node_modules/compress-commons/package.json +13 -10
- package/node_modules/crc32-stream/README.md +8 -8
- package/node_modules/crc32-stream/lib/crc32-stream.js +4 -23
- package/node_modules/crc32-stream/lib/deflate-crc32-stream.js +5 -27
- package/node_modules/crc32-stream/lib/index.js +7 -6
- package/node_modules/crc32-stream/node_modules/readable-stream/README.md +116 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_readable.js +4 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_transform.js +4 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/_stream_writable.js +4 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/legacy.js +94 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/internal/validators.js +530 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/browser.js +35 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/errors.js +343 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/index.js +65 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/primordials.js +124 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/ours/util.js +148 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/stream/promises.js +43 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/lib/stream.js +143 -0
- package/node_modules/crc32-stream/node_modules/readable-stream/package.json +89 -0
- package/node_modules/crc32-stream/package.json +9 -10
- package/node_modules/event-target-shim/LICENSE +22 -0
- package/node_modules/event-target-shim/README.md +293 -0
- package/node_modules/event-target-shim/dist/event-target-shim.js +871 -0
- package/node_modules/event-target-shim/dist/event-target-shim.js.map +1 -0
- package/node_modules/event-target-shim/dist/event-target-shim.mjs +862 -0
- package/node_modules/event-target-shim/dist/event-target-shim.mjs.map +1 -0
- package/node_modules/event-target-shim/dist/event-target-shim.umd.js +6 -0
- package/node_modules/event-target-shim/dist/event-target-shim.umd.js.map +1 -0
- package/node_modules/event-target-shim/index.d.ts +399 -0
- package/node_modules/event-target-shim/package.json +82 -0
- package/node_modules/events/.airtap.yml +15 -0
- package/node_modules/events/.github/FUNDING.yml +12 -0
- package/node_modules/events/.travis.yml +18 -0
- package/node_modules/events/History.md +118 -0
- package/node_modules/events/LICENSE +22 -0
- package/node_modules/events/Readme.md +50 -0
- package/node_modules/events/events.js +497 -0
- package/node_modules/events/package.json +37 -0
- package/node_modules/events/security.md +10 -0
- package/node_modules/events/tests/add-listeners.js +111 -0
- package/node_modules/events/tests/check-listener-leaks.js +101 -0
- package/node_modules/events/tests/common.js +104 -0
- package/node_modules/events/tests/errors.js +13 -0
- package/node_modules/events/tests/events-list.js +28 -0
- package/node_modules/events/tests/events-once.js +234 -0
- package/node_modules/events/tests/index.js +64 -0
- package/node_modules/events/tests/legacy-compat.js +16 -0
- package/node_modules/events/tests/listener-count.js +37 -0
- package/node_modules/events/tests/listeners-side-effects.js +56 -0
- package/node_modules/events/tests/listeners.js +168 -0
- package/node_modules/events/tests/max-listeners.js +47 -0
- package/node_modules/events/tests/method-names.js +35 -0
- package/node_modules/events/tests/modify-in-emit.js +90 -0
- package/node_modules/events/tests/num-args.js +60 -0
- package/node_modules/events/tests/once.js +83 -0
- package/node_modules/events/tests/prepend.js +31 -0
- package/node_modules/events/tests/remove-all-listeners.js +133 -0
- package/node_modules/events/tests/remove-listeners.js +212 -0
- package/node_modules/events/tests/set-max-listeners-side-effects.js +31 -0
- package/node_modules/events/tests/special-event-names.js +45 -0
- package/node_modules/events/tests/subclass.js +66 -0
- package/node_modules/events/tests/symbols.js +25 -0
- package/node_modules/exceljs/lib/stream/xlsx/workbook-reader.js +5 -1
- package/node_modules/exceljs/lib/stream/xlsx/workbook-writer.js +2 -2
- package/node_modules/exceljs/lib/utils/zip-archive.js +85 -0
- package/node_modules/exceljs/package.json +3 -3
- package/node_modules/fs-extra/LICENSE +15 -0
- package/node_modules/fs-extra/README.md +294 -0
- package/node_modules/fs-extra/lib/copy/copy-sync.js +171 -0
- package/node_modules/fs-extra/lib/copy/copy.js +182 -0
- package/node_modules/fs-extra/lib/copy/index.js +7 -0
- package/node_modules/fs-extra/lib/empty/index.js +39 -0
- package/node_modules/fs-extra/lib/ensure/file.js +66 -0
- package/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/node_modules/fs-extra/lib/ensure/link.js +64 -0
- package/node_modules/fs-extra/lib/ensure/symlink-paths.js +101 -0
- package/node_modules/fs-extra/lib/ensure/symlink-type.js +34 -0
- package/node_modules/fs-extra/lib/ensure/symlink.js +67 -0
- package/node_modules/fs-extra/lib/esm.mjs +68 -0
- package/node_modules/fs-extra/lib/fs/index.js +146 -0
- package/node_modules/fs-extra/lib/index.js +16 -0
- package/node_modules/fs-extra/lib/json/index.js +16 -0
- package/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
- package/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
- package/node_modules/fs-extra/lib/move/index.js +7 -0
- package/node_modules/fs-extra/lib/move/move-sync.js +55 -0
- package/node_modules/fs-extra/lib/move/move.js +59 -0
- package/node_modules/fs-extra/lib/output-file/index.js +31 -0
- package/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/node_modules/fs-extra/lib/remove/index.js +17 -0
- package/node_modules/fs-extra/lib/util/stat.js +159 -0
- package/node_modules/fs-extra/lib/util/utimes.js +36 -0
- package/node_modules/fs-extra/package.json +71 -0
- package/node_modules/is-stream/index.d.ts +90 -0
- package/node_modules/is-stream/index.js +37 -0
- package/node_modules/is-stream/license +9 -0
- package/node_modules/is-stream/package.json +48 -0
- package/node_modules/is-stream/readme.md +57 -0
- package/node_modules/jsonfile/LICENSE +15 -0
- package/node_modules/jsonfile/README.md +230 -0
- package/node_modules/jsonfile/index.js +88 -0
- package/node_modules/jsonfile/package.json +40 -0
- package/node_modules/jsonfile/utils.js +18 -0
- package/node_modules/node-int64/.npmignore +3 -0
- package/node_modules/node-int64/Int64.js +268 -0
- package/node_modules/node-int64/LICENSE +19 -0
- package/node_modules/node-int64/README.md +78 -0
- package/node_modules/node-int64/package.json +27 -0
- package/node_modules/node-int64/test.js +120 -0
- package/node_modules/process/.eslintrc +21 -0
- package/node_modules/process/LICENSE +22 -0
- package/node_modules/process/README.md +26 -0
- package/node_modules/process/browser.js +184 -0
- package/node_modules/process/index.js +2 -0
- package/node_modules/process/package.json +27 -0
- package/node_modules/process/test.js +199 -0
- package/node_modules/universalify/LICENSE +20 -0
- package/node_modules/universalify/README.md +76 -0
- package/node_modules/universalify/index.js +24 -0
- package/node_modules/universalify/package.json +34 -0
- package/node_modules/unzipper/README.md +206 -176
- package/node_modules/unzipper/eslint.config.mjs +29 -0
- package/node_modules/unzipper/lib/BufferStream.js +9 -15
- package/node_modules/unzipper/lib/Decrypt.js +58 -36
- package/node_modules/unzipper/lib/NoopStream.js +5 -10
- package/node_modules/unzipper/lib/Open/directory.js +140 -127
- package/node_modules/unzipper/lib/Open/index.js +72 -32
- package/node_modules/unzipper/lib/Open/unzip.js +68 -74
- package/node_modules/unzipper/lib/PullStream.js +50 -55
- package/node_modules/unzipper/lib/extract.js +26 -18
- package/node_modules/unzipper/lib/parse.js +119 -118
- package/node_modules/unzipper/lib/parseBuffer.js +55 -0
- package/node_modules/unzipper/lib/parseExtraField.js +17 -14
- package/node_modules/unzipper/lib/parseOne.js +23 -27
- package/node_modules/unzipper/package.json +12 -13
- package/node_modules/unzipper/unzip.js +0 -6
- package/node_modules/zip-stream/README.md +5 -5
- package/node_modules/zip-stream/index.js +143 -169
- package/node_modules/zip-stream/node_modules/readable-stream/README.md +116 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_duplex.js +4 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_passthrough.js +4 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_readable.js +4 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_transform.js +4 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/_stream_writable.js +4 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/add-abort-signal.js +52 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/buffer_list.js +157 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/compose.js +194 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/destroy.js +290 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/duplex.js +143 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/duplexify.js +378 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +286 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/from.js +98 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/lazy_transform.js +51 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/legacy.js +94 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/operators.js +457 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/passthrough.js +39 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/pipeline.js +471 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/readable.js +1290 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/state.js +39 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/transform.js +180 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/utils.js +327 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/streams/writable.js +819 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/internal/validators.js +530 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/browser.js +35 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/errors.js +343 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/index.js +65 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/primordials.js +124 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/util/inspect.js +55 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/ours/util.js +148 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/stream/promises.js +43 -0
- package/node_modules/zip-stream/node_modules/readable-stream/lib/stream.js +143 -0
- package/node_modules/zip-stream/node_modules/readable-stream/package.json +89 -0
- package/node_modules/zip-stream/package.json +15 -12
- package/node_modules/zip-stream/utils.js +21 -0
- package/package.json +22 -10
- package/packages/exceljs/PROVENANCE.md +24 -1
- package/packages/exceljs/lib/stream/xlsx/workbook-reader.js +5 -1
- package/packages/exceljs/lib/stream/xlsx/workbook-writer.js +2 -2
- package/packages/exceljs/lib/utils/zip-archive.js +85 -0
- package/packages/exceljs/package.json +3 -3
- package/packages/model-contracts/README.md +16 -5
- package/packages/model-contracts/index.d.ts +7 -3
- package/packages/model-contracts/index.js +40 -18
- package/scripts/install-macos-app.mjs +10 -1
- package/node_modules/archiver/LICENSE +0 -22
- package/node_modules/archiver/README.md +0 -94
- package/node_modules/archiver/index.js +0 -84
- package/node_modules/archiver/lib/core.js +0 -974
- package/node_modules/archiver/lib/error.js +0 -40
- package/node_modules/archiver/lib/plugins/json.js +0 -110
- package/node_modules/archiver/lib/plugins/tar.js +0 -167
- package/node_modules/archiver/lib/plugins/zip.js +0 -120
- package/node_modules/archiver/package.json +0 -60
- package/node_modules/archiver-utils/LICENSE +0 -22
- package/node_modules/archiver-utils/README.md +0 -7
- package/node_modules/archiver-utils/file.js +0 -209
- package/node_modules/archiver-utils/index.js +0 -156
- package/node_modules/archiver-utils/node_modules/readable-stream/.travis.yml +0 -34
- package/node_modules/archiver-utils/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/archiver-utils/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/archiver-utils/node_modules/readable-stream/README.md +0 -58
- package/node_modules/archiver-utils/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/node_modules/archiver-utils/node_modules/readable-stream/duplex-browser.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/duplex.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/_stream_writable.js +0 -685
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/package.json +0 -52
- package/node_modules/archiver-utils/node_modules/readable-stream/passthrough.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/readable-browser.js +0 -7
- package/node_modules/archiver-utils/node_modules/readable-stream/readable.js +0 -19
- package/node_modules/archiver-utils/node_modules/readable-stream/transform.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/writable-browser.js +0 -1
- package/node_modules/archiver-utils/node_modules/readable-stream/writable.js +0 -8
- package/node_modules/archiver-utils/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/archiver-utils/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/archiver-utils/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/archiver-utils/node_modules/safe-buffer/index.js +0 -62
- package/node_modules/archiver-utils/node_modules/safe-buffer/package.json +0 -37
- package/node_modules/archiver-utils/node_modules/string_decoder/.travis.yml +0 -50
- package/node_modules/archiver-utils/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/archiver-utils/node_modules/string_decoder/README.md +0 -47
- package/node_modules/archiver-utils/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/archiver-utils/node_modules/string_decoder/package.json +0 -31
- package/node_modules/archiver-utils/package.json +0 -54
- package/node_modules/async/CHANGELOG.md +0 -351
- package/node_modules/async/LICENSE +0 -19
- package/node_modules/async/README.md +0 -59
- package/node_modules/async/all.js +0 -119
- package/node_modules/async/allLimit.js +0 -46
- package/node_modules/async/allSeries.js +0 -45
- package/node_modules/async/any.js +0 -122
- package/node_modules/async/anyLimit.js +0 -47
- package/node_modules/async/anySeries.js +0 -46
- package/node_modules/async/apply.js +0 -11
- package/node_modules/async/applyEach.js +0 -57
- package/node_modules/async/applyEachSeries.js +0 -37
- package/node_modules/async/asyncify.js +0 -118
- package/node_modules/async/auto.js +0 -333
- package/node_modules/async/autoInject.js +0 -182
- package/node_modules/async/bower.json +0 -17
- package/node_modules/async/cargo.js +0 -63
- package/node_modules/async/cargoQueue.js +0 -71
- package/node_modules/async/compose.js +0 -55
- package/node_modules/async/concat.js +0 -115
- package/node_modules/async/concatLimit.js +0 -60
- package/node_modules/async/concatSeries.js +0 -41
- package/node_modules/async/constant.js +0 -14
- package/node_modules/async/detect.js +0 -96
- package/node_modules/async/detectLimit.js +0 -48
- package/node_modules/async/detectSeries.js +0 -47
- package/node_modules/async/dir.js +0 -43
- package/node_modules/async/dist/async.js +0 -6061
- package/node_modules/async/dist/async.min.js +0 -1
- package/node_modules/async/dist/async.mjs +0 -5948
- package/node_modules/async/doDuring.js +0 -68
- package/node_modules/async/doUntil.js +0 -46
- package/node_modules/async/doWhilst.js +0 -68
- package/node_modules/async/during.js +0 -78
- package/node_modules/async/each.js +0 -129
- package/node_modules/async/eachLimit.js +0 -50
- package/node_modules/async/eachOf.js +0 -185
- package/node_modules/async/eachOfLimit.js +0 -47
- package/node_modules/async/eachOfSeries.js +0 -39
- package/node_modules/async/eachSeries.js +0 -44
- package/node_modules/async/ensureAsync.js +0 -67
- package/node_modules/async/every.js +0 -119
- package/node_modules/async/everyLimit.js +0 -46
- package/node_modules/async/everySeries.js +0 -45
- package/node_modules/async/filter.js +0 -93
- package/node_modules/async/filterLimit.js +0 -45
- package/node_modules/async/filterSeries.js +0 -43
- package/node_modules/async/find.js +0 -96
- package/node_modules/async/findLimit.js +0 -48
- package/node_modules/async/findSeries.js +0 -47
- package/node_modules/async/flatMap.js +0 -115
- package/node_modules/async/flatMapLimit.js +0 -60
- package/node_modules/async/flatMapSeries.js +0 -41
- package/node_modules/async/foldl.js +0 -153
- package/node_modules/async/foldr.js +0 -41
- package/node_modules/async/forEach.js +0 -129
- package/node_modules/async/forEachLimit.js +0 -50
- package/node_modules/async/forEachOf.js +0 -185
- package/node_modules/async/forEachOfLimit.js +0 -47
- package/node_modules/async/forEachOfSeries.js +0 -39
- package/node_modules/async/forEachSeries.js +0 -44
- package/node_modules/async/forever.js +0 -68
- package/node_modules/async/groupBy.js +0 -108
- package/node_modules/async/groupByLimit.js +0 -71
- package/node_modules/async/groupBySeries.js +0 -36
- package/node_modules/async/index.js +0 -588
- package/node_modules/async/inject.js +0 -153
- package/node_modules/async/internal/DoublyLinkedList.js +0 -92
- package/node_modules/async/internal/Heap.js +0 -120
- package/node_modules/async/internal/applyEach.js +0 -29
- package/node_modules/async/internal/asyncEachOfLimit.js +0 -75
- package/node_modules/async/internal/awaitify.js +0 -28
- package/node_modules/async/internal/breakLoop.js +0 -10
- package/node_modules/async/internal/consoleFunc.js +0 -31
- package/node_modules/async/internal/createTester.js +0 -40
- package/node_modules/async/internal/eachOfLimit.js +0 -90
- package/node_modules/async/internal/filter.js +0 -55
- package/node_modules/async/internal/getIterator.js +0 -11
- package/node_modules/async/internal/initialParams.js +0 -14
- package/node_modules/async/internal/isArrayLike.js +0 -10
- package/node_modules/async/internal/iterator.js +0 -57
- package/node_modules/async/internal/map.js +0 -30
- package/node_modules/async/internal/once.js +0 -17
- package/node_modules/async/internal/onlyOnce.js +0 -15
- package/node_modules/async/internal/parallel.js +0 -34
- package/node_modules/async/internal/promiseCallback.js +0 -23
- package/node_modules/async/internal/queue.js +0 -294
- package/node_modules/async/internal/range.js +0 -14
- package/node_modules/async/internal/reject.js +0 -26
- package/node_modules/async/internal/setImmediate.js +0 -34
- package/node_modules/async/internal/withoutIndex.js +0 -10
- package/node_modules/async/internal/wrapAsync.js +0 -34
- package/node_modules/async/log.js +0 -41
- package/node_modules/async/map.js +0 -142
- package/node_modules/async/mapLimit.js +0 -45
- package/node_modules/async/mapSeries.js +0 -44
- package/node_modules/async/mapValues.js +0 -152
- package/node_modules/async/mapValuesLimit.js +0 -61
- package/node_modules/async/mapValuesSeries.js +0 -37
- package/node_modules/async/memoize.js +0 -91
- package/node_modules/async/nextTick.js +0 -52
- package/node_modules/async/package.json +0 -75
- package/node_modules/async/parallel.js +0 -180
- package/node_modules/async/parallelLimit.js +0 -41
- package/node_modules/async/priorityQueue.js +0 -60
- package/node_modules/async/queue.js +0 -24
- package/node_modules/async/race.js +0 -67
- package/node_modules/async/reduce.js +0 -153
- package/node_modules/async/reduceRight.js +0 -41
- package/node_modules/async/reflect.js +0 -78
- package/node_modules/async/reflectAll.js +0 -93
- package/node_modules/async/reject.js +0 -87
- package/node_modules/async/rejectLimit.js +0 -45
- package/node_modules/async/rejectSeries.js +0 -43
- package/node_modules/async/retry.js +0 -159
- package/node_modules/async/retryable.js +0 -77
- package/node_modules/async/select.js +0 -93
- package/node_modules/async/selectLimit.js +0 -45
- package/node_modules/async/selectSeries.js +0 -43
- package/node_modules/async/seq.js +0 -79
- package/node_modules/async/series.js +0 -186
- package/node_modules/async/setImmediate.js +0 -45
- package/node_modules/async/some.js +0 -122
- package/node_modules/async/someLimit.js +0 -47
- package/node_modules/async/someSeries.js +0 -46
- package/node_modules/async/sortBy.js +0 -190
- package/node_modules/async/timeout.js +0 -89
- package/node_modules/async/times.js +0 -50
- package/node_modules/async/timesLimit.js +0 -43
- package/node_modules/async/timesSeries.js +0 -32
- package/node_modules/async/transform.js +0 -173
- package/node_modules/async/tryEach.js +0 -78
- package/node_modules/async/unmemoize.js +0 -25
- package/node_modules/async/until.js +0 -61
- package/node_modules/async/waterfall.js +0 -105
- package/node_modules/async/whilst.js +0 -78
- package/node_modules/async/wrapSync.js +0 -118
- package/node_modules/big-integer/BigInteger.d.ts +0 -2393
- package/node_modules/big-integer/BigInteger.js +0 -1453
- package/node_modules/big-integer/BigInteger.min.js +0 -1
- package/node_modules/big-integer/LICENSE +0 -24
- package/node_modules/big-integer/README.md +0 -589
- package/node_modules/big-integer/bower.json +0 -29
- package/node_modules/big-integer/package.json +0 -48
- package/node_modules/big-integer/tsconfig.json +0 -24
- package/node_modules/binary/.npmignore +0 -1
- package/node_modules/binary/.travis.yml +0 -4
- package/node_modules/binary/README.markdown +0 -177
- package/node_modules/binary/example/buf.js +0 -11
- package/node_modules/binary/example/parse.js +0 -10
- package/node_modules/binary/example/stream.js +0 -12
- package/node_modules/binary/index.js +0 -397
- package/node_modules/binary/lib/vars.js +0 -28
- package/node_modules/binary/package.json +0 -38
- package/node_modules/binary/perf/loop.js +0 -92
- package/node_modules/binary/perf/small.js +0 -80
- package/node_modules/binary/test/bu.js +0 -46
- package/node_modules/binary/test/deferred.js +0 -20
- package/node_modules/binary/test/dots.js +0 -23
- package/node_modules/binary/test/eof.js +0 -41
- package/node_modules/binary/test/flush.js +0 -17
- package/node_modules/binary/test/from_buffer.js +0 -14
- package/node_modules/binary/test/get_buffer.js +0 -28
- package/node_modules/binary/test/immediate.js +0 -18
- package/node_modules/binary/test/interval.js +0 -38
- package/node_modules/binary/test/into_buffer.js +0 -35
- package/node_modules/binary/test/into_stream.js +0 -43
- package/node_modules/binary/test/loop.js +0 -44
- package/node_modules/binary/test/loop_scan.js +0 -54
- package/node_modules/binary/test/lu.js +0 -46
- package/node_modules/binary/test/negbs.js +0 -29
- package/node_modules/binary/test/negls.js +0 -29
- package/node_modules/binary/test/nested.js +0 -35
- package/node_modules/binary/test/not_enough_buf.js +0 -17
- package/node_modules/binary/test/not_enough_parse.js +0 -19
- package/node_modules/binary/test/parse.js +0 -54
- package/node_modules/binary/test/peek.js +0 -40
- package/node_modules/binary/test/pipe.js +0 -49
- package/node_modules/binary/test/posbs.js +0 -29
- package/node_modules/binary/test/posls.js +0 -29
- package/node_modules/binary/test/scan.js +0 -33
- package/node_modules/binary/test/scan_buf.js +0 -18
- package/node_modules/binary/test/scan_buf_null.js +0 -16
- package/node_modules/binary/test/skip.js +0 -58
- package/node_modules/binary/test/split.js +0 -34
- package/node_modules/bl/.travis.yml +0 -17
- package/node_modules/bl/BufferList.js +0 -396
- package/node_modules/bl/LICENSE.md +0 -13
- package/node_modules/bl/README.md +0 -247
- package/node_modules/bl/bl.js +0 -84
- package/node_modules/bl/package.json +0 -37
- package/node_modules/bl/test/convert.js +0 -21
- package/node_modules/bl/test/indexOf.js +0 -492
- package/node_modules/bl/test/isBufferList.js +0 -32
- package/node_modules/bl/test/test.js +0 -869
- package/node_modules/buffer-crc32/LICENSE +0 -19
- package/node_modules/buffer-crc32/README.md +0 -47
- package/node_modules/buffer-crc32/index.js +0 -111
- package/node_modules/buffer-crc32/package.json +0 -39
- package/node_modules/buffer-indexof-polyfill/.eslintrc +0 -33
- package/node_modules/buffer-indexof-polyfill/.travis.yml +0 -17
- package/node_modules/buffer-indexof-polyfill/LICENSE +0 -22
- package/node_modules/buffer-indexof-polyfill/README.md +0 -33
- package/node_modules/buffer-indexof-polyfill/index.js +0 -73
- package/node_modules/buffer-indexof-polyfill/init-buffer.js +0 -8
- package/node_modules/buffer-indexof-polyfill/package.json +0 -34
- package/node_modules/buffer-indexof-polyfill/test/indexof.js +0 -128
- package/node_modules/buffers/README.markdown +0 -122
- package/node_modules/buffers/examples/slice.js +0 -9
- package/node_modules/buffers/examples/splice.js +0 -17
- package/node_modules/buffers/index.js +0 -269
- package/node_modules/buffers/package.json +0 -14
- package/node_modules/buffers/test/buffers.js +0 -209
- package/node_modules/chainsaw/.npmignore +0 -1
- package/node_modules/chainsaw/README.markdown +0 -157
- package/node_modules/chainsaw/examples/add_do.js +0 -25
- package/node_modules/chainsaw/examples/prompt.js +0 -67
- package/node_modules/chainsaw/index.js +0 -145
- package/node_modules/chainsaw/package.json +0 -23
- package/node_modules/chainsaw/test/chainsaw.js +0 -418
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/end-of-stream/LICENSE +0 -21
- package/node_modules/end-of-stream/README.md +0 -54
- package/node_modules/end-of-stream/index.js +0 -96
- package/node_modules/end-of-stream/package.json +0 -37
- package/node_modules/fs-constants/LICENSE +0 -21
- package/node_modules/fs-constants/README.md +0 -26
- package/node_modules/fs-constants/browser.js +0 -1
- package/node_modules/fs-constants/index.js +0 -1
- package/node_modules/fs-constants/package.json +0 -19
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/fstream/.travis.yml +0 -9
- package/node_modules/fstream/LICENSE +0 -15
- package/node_modules/fstream/README.md +0 -76
- package/node_modules/fstream/examples/filter-pipe.js +0 -134
- package/node_modules/fstream/examples/pipe.js +0 -118
- package/node_modules/fstream/examples/reader.js +0 -68
- package/node_modules/fstream/examples/symlink-write.js +0 -27
- package/node_modules/fstream/fstream.js +0 -35
- package/node_modules/fstream/lib/abstract.js +0 -85
- package/node_modules/fstream/lib/collect.js +0 -70
- package/node_modules/fstream/lib/dir-reader.js +0 -252
- package/node_modules/fstream/lib/dir-writer.js +0 -174
- package/node_modules/fstream/lib/file-reader.js +0 -150
- package/node_modules/fstream/lib/file-writer.js +0 -107
- package/node_modules/fstream/lib/get-type.js +0 -33
- package/node_modules/fstream/lib/link-reader.js +0 -53
- package/node_modules/fstream/lib/link-writer.js +0 -95
- package/node_modules/fstream/lib/proxy-reader.js +0 -95
- package/node_modules/fstream/lib/proxy-writer.js +0 -111
- package/node_modules/fstream/lib/reader.js +0 -255
- package/node_modules/fstream/lib/socket-reader.js +0 -36
- package/node_modules/fstream/lib/writer.js +0 -390
- package/node_modules/fstream/package.json +0 -28
- package/node_modules/glob/LICENSE +0 -21
- package/node_modules/glob/README.md +0 -378
- package/node_modules/glob/common.js +0 -238
- package/node_modules/glob/glob.js +0 -790
- package/node_modules/glob/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/glob/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/glob/node_modules/balanced-match/README.md +0 -97
- package/node_modules/glob/node_modules/balanced-match/index.js +0 -62
- package/node_modules/glob/node_modules/balanced-match/package.json +0 -48
- package/node_modules/glob/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/glob/node_modules/brace-expansion/README.md +0 -151
- package/node_modules/glob/node_modules/brace-expansion/index.js +0 -438
- package/node_modules/glob/node_modules/brace-expansion/package.json +0 -50
- package/node_modules/glob/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/glob/node_modules/minimatch/README.md +0 -267
- package/node_modules/glob/node_modules/minimatch/minimatch.js +0 -1005
- package/node_modules/glob/node_modules/minimatch/package.json +0 -33
- package/node_modules/glob/package.json +0 -55
- package/node_modules/glob/sync.js +0 -486
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/lazystream/LICENSE +0 -23
- package/node_modules/lazystream/README.md +0 -114
- package/node_modules/lazystream/lib/lazystream.js +0 -54
- package/node_modules/lazystream/node_modules/readable-stream/.travis.yml +0 -34
- package/node_modules/lazystream/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/lazystream/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/lazystream/node_modules/readable-stream/README.md +0 -58
- package/node_modules/lazystream/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/node_modules/lazystream/node_modules/readable-stream/duplex-browser.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/duplex.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/node_modules/lazystream/node_modules/readable-stream/lib/_stream_writable.js +0 -685
- package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
- package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
- package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/package.json +0 -52
- package/node_modules/lazystream/node_modules/readable-stream/passthrough.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/readable-browser.js +0 -7
- package/node_modules/lazystream/node_modules/readable-stream/readable.js +0 -19
- package/node_modules/lazystream/node_modules/readable-stream/transform.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/writable-browser.js +0 -1
- package/node_modules/lazystream/node_modules/readable-stream/writable.js +0 -8
- package/node_modules/lazystream/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/lazystream/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/lazystream/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/lazystream/node_modules/safe-buffer/index.js +0 -62
- package/node_modules/lazystream/node_modules/safe-buffer/package.json +0 -37
- package/node_modules/lazystream/node_modules/string_decoder/.travis.yml +0 -50
- package/node_modules/lazystream/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/lazystream/node_modules/string_decoder/README.md +0 -47
- package/node_modules/lazystream/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/lazystream/node_modules/string_decoder/package.json +0 -31
- package/node_modules/lazystream/package.json +0 -46
- package/node_modules/lazystream/test/data.md +0 -13
- package/node_modules/lazystream/test/fs_test.js +0 -69
- package/node_modules/lazystream/test/helper.js +0 -39
- package/node_modules/lazystream/test/pipe_test.js +0 -36
- package/node_modules/lazystream/test/readable_test.js +0 -90
- package/node_modules/lazystream/test/writable_test.js +0 -59
- package/node_modules/listenercount/.npmignore +0 -2
- package/node_modules/listenercount/LICENSE.md +0 -5
- package/node_modules/listenercount/README.md +0 -50
- package/node_modules/listenercount/circle.yml +0 -6
- package/node_modules/listenercount/index.js +0 -16
- package/node_modules/listenercount/package.json +0 -27
- package/node_modules/listenercount/test/test.js +0 -31
- package/node_modules/lodash.defaults/LICENSE +0 -47
- package/node_modules/lodash.defaults/README.md +0 -18
- package/node_modules/lodash.defaults/index.js +0 -668
- package/node_modules/lodash.defaults/package.json +0 -17
- package/node_modules/lodash.difference/LICENSE +0 -47
- package/node_modules/lodash.difference/README.md +0 -18
- package/node_modules/lodash.difference/index.js +0 -1170
- package/node_modules/lodash.difference/package.json +0 -17
- package/node_modules/lodash.flatten/LICENSE +0 -47
- package/node_modules/lodash.flatten/README.md +0 -18
- package/node_modules/lodash.flatten/index.js +0 -349
- package/node_modules/lodash.flatten/package.json +0 -17
- package/node_modules/lodash.isplainobject/LICENSE +0 -47
- package/node_modules/lodash.isplainobject/README.md +0 -18
- package/node_modules/lodash.isplainobject/index.js +0 -139
- package/node_modules/lodash.isplainobject/package.json +0 -17
- package/node_modules/lodash.union/LICENSE +0 -47
- package/node_modules/lodash.union/README.md +0 -18
- package/node_modules/lodash.union/index.js +0 -1181
- package/node_modules/lodash.union/package.json +0 -17
- package/node_modules/minimist/.eslintrc +0 -29
- package/node_modules/minimist/.github/FUNDING.yml +0 -12
- package/node_modules/minimist/.nycrc +0 -14
- package/node_modules/minimist/CHANGELOG.md +0 -298
- package/node_modules/minimist/LICENSE +0 -18
- package/node_modules/minimist/README.md +0 -121
- package/node_modules/minimist/example/parse.js +0 -4
- package/node_modules/minimist/index.js +0 -263
- package/node_modules/minimist/package.json +0 -75
- package/node_modules/minimist/test/all_bool.js +0 -34
- package/node_modules/minimist/test/bool.js +0 -177
- package/node_modules/minimist/test/dash.js +0 -43
- package/node_modules/minimist/test/default_bool.js +0 -37
- package/node_modules/minimist/test/dotted.js +0 -24
- package/node_modules/minimist/test/kv_short.js +0 -32
- package/node_modules/minimist/test/long.js +0 -33
- package/node_modules/minimist/test/num.js +0 -38
- package/node_modules/minimist/test/parse.js +0 -209
- package/node_modules/minimist/test/parse_modified.js +0 -11
- package/node_modules/minimist/test/proto.js +0 -64
- package/node_modules/minimist/test/short.js +0 -69
- package/node_modules/minimist/test/stop_early.js +0 -17
- package/node_modules/minimist/test/unknown.js +0 -104
- package/node_modules/minimist/test/whitespace.js +0 -10
- package/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/mkdirp/bin/cmd.js +0 -33
- package/node_modules/mkdirp/bin/usage.txt +0 -12
- package/node_modules/mkdirp/index.js +0 -102
- package/node_modules/mkdirp/package.json +0 -33
- package/node_modules/mkdirp/readme.markdown +0 -100
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/readdir-glob/LICENSE +0 -201
- package/node_modules/readdir-glob/README.md +0 -85
- package/node_modules/readdir-glob/index.js +0 -243
- package/node_modules/readdir-glob/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/readdir-glob/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/readdir-glob/node_modules/balanced-match/README.md +0 -97
- package/node_modules/readdir-glob/node_modules/balanced-match/index.js +0 -62
- package/node_modules/readdir-glob/node_modules/balanced-match/package.json +0 -48
- package/node_modules/readdir-glob/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
- package/node_modules/readdir-glob/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/readdir-glob/node_modules/brace-expansion/README.md +0 -157
- package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +0 -394
- package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +0 -49
- package/node_modules/readdir-glob/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/readdir-glob/node_modules/minimatch/README.md +0 -296
- package/node_modules/readdir-glob/node_modules/minimatch/lib/path.js +0 -4
- package/node_modules/readdir-glob/node_modules/minimatch/minimatch.js +0 -996
- package/node_modules/readdir-glob/node_modules/minimatch/package.json +0 -35
- package/node_modules/readdir-glob/package.json +0 -43
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -50
- package/node_modules/rimraf/package.json +0 -29
- package/node_modules/rimraf/rimraf.js +0 -372
- package/node_modules/tar-stream/LICENSE +0 -21
- package/node_modules/tar-stream/README.md +0 -168
- package/node_modules/tar-stream/extract.js +0 -257
- package/node_modules/tar-stream/headers.js +0 -295
- package/node_modules/tar-stream/index.js +0 -2
- package/node_modules/tar-stream/pack.js +0 -255
- package/node_modules/tar-stream/package.json +0 -58
- package/node_modules/tar-stream/sandbox.js +0 -11
- package/node_modules/traverse/.npmignore +0 -1
- package/node_modules/traverse/LICENSE +0 -24
- package/node_modules/traverse/README.markdown +0 -247
- package/node_modules/traverse/examples/json.js +0 -16
- package/node_modules/traverse/examples/leaves.js +0 -15
- package/node_modules/traverse/examples/negative.js +0 -8
- package/node_modules/traverse/examples/stringify.js +0 -38
- package/node_modules/traverse/index.js +0 -322
- package/node_modules/traverse/package.json +0 -18
- package/node_modules/traverse/test/circular.js +0 -114
- package/node_modules/traverse/test/date.js +0 -35
- package/node_modules/traverse/test/equal.js +0 -219
- package/node_modules/traverse/test/instance.js +0 -17
- package/node_modules/traverse/test/interface.js +0 -42
- package/node_modules/traverse/test/json.js +0 -47
- package/node_modules/traverse/test/leaves.js +0 -21
- package/node_modules/traverse/test/mutability.js +0 -203
- package/node_modules/traverse/test/negative.js +0 -20
- package/node_modules/traverse/test/obj.js +0 -15
- package/node_modules/traverse/test/stop.js +0 -41
- package/node_modules/traverse/test/stringify.js +0 -36
- package/node_modules/traverse/test/super_deep.js +0 -54
- package/node_modules/unzipper/.circleci/config.yml +0 -13
- package/node_modules/unzipper/.travis.yml +0 -21
- package/node_modules/unzipper/lib/Buffer.js +0 -12
- package/node_modules/unzipper/node_modules/readable-stream/.travis.yml +0 -34
- package/node_modules/unzipper/node_modules/readable-stream/CONTRIBUTING.md +0 -38
- package/node_modules/unzipper/node_modules/readable-stream/GOVERNANCE.md +0 -136
- package/node_modules/unzipper/node_modules/readable-stream/README.md +0 -58
- package/node_modules/unzipper/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
- package/node_modules/unzipper/node_modules/readable-stream/duplex-browser.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/duplex.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
- package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
- package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
- package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_transform.js +0 -214
- package/node_modules/unzipper/node_modules/readable-stream/lib/_stream_writable.js +0 -685
- package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -78
- package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -84
- package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/package.json +0 -52
- package/node_modules/unzipper/node_modules/readable-stream/passthrough.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/readable-browser.js +0 -7
- package/node_modules/unzipper/node_modules/readable-stream/readable.js +0 -19
- package/node_modules/unzipper/node_modules/readable-stream/transform.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/writable-browser.js +0 -1
- package/node_modules/unzipper/node_modules/readable-stream/writable.js +0 -8
- package/node_modules/unzipper/node_modules/safe-buffer/LICENSE +0 -21
- package/node_modules/unzipper/node_modules/safe-buffer/README.md +0 -584
- package/node_modules/unzipper/node_modules/safe-buffer/index.d.ts +0 -187
- package/node_modules/unzipper/node_modules/safe-buffer/index.js +0 -62
- package/node_modules/unzipper/node_modules/safe-buffer/package.json +0 -37
- package/node_modules/unzipper/node_modules/string_decoder/.travis.yml +0 -50
- package/node_modules/unzipper/node_modules/string_decoder/LICENSE +0 -48
- package/node_modules/unzipper/node_modules/string_decoder/README.md +0 -47
- package/node_modules/unzipper/node_modules/string_decoder/lib/string_decoder.js +0 -296
- package/node_modules/unzipper/node_modules/string_decoder/package.json +0 -31
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
- package/node_modules/zip-stream/node_modules/archiver-utils/LICENSE +0 -22
- package/node_modules/zip-stream/node_modules/archiver-utils/README.md +0 -6
- package/node_modules/zip-stream/node_modules/archiver-utils/file.js +0 -209
- package/node_modules/zip-stream/node_modules/archiver-utils/index.js +0 -149
- package/node_modules/zip-stream/node_modules/archiver-utils/package.json +0 -54
- /package/node_modules/{archiver-utils → compress-commons}/node_modules/readable-stream/LICENSE +0 -0
- /package/node_modules/{lazystream → crc32-stream}/node_modules/readable-stream/LICENSE +0 -0
- /package/node_modules/{unzipper → zip-stream}/node_modules/readable-stream/LICENSE +0 -0
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { ToolDefinition, Message } from '../../types.js';
|
|
2
|
+
/** A request ZTC refuses before sending it. Nothing reached a provider, so its message is shown as written. */
|
|
3
|
+
export declare class RequestRefusedError extends Error {
|
|
4
|
+
readonly name = "RequestRefusedError";
|
|
5
|
+
}
|
|
2
6
|
export interface RequestTextBlock {
|
|
3
7
|
type: 'text';
|
|
4
8
|
text: string;
|
|
@@ -35,6 +39,13 @@ export interface ToolUseRequestBlock {
|
|
|
35
39
|
id: string;
|
|
36
40
|
name: string;
|
|
37
41
|
input: Record<string, unknown>;
|
|
42
|
+
/** Exact native Responses function item; call_id remains the execution identity. */
|
|
43
|
+
responsesItem?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
export interface ResponsesReasoningBlock {
|
|
46
|
+
type: 'responses_reasoning';
|
|
47
|
+
/** Opaque encrypted provider context. Never render it or replay across models/prefixes. */
|
|
48
|
+
item: Record<string, unknown>;
|
|
38
49
|
}
|
|
39
50
|
export interface ThinkingBlock {
|
|
40
51
|
type: 'thinking';
|
|
@@ -46,8 +57,9 @@ export interface RedactedThinkingBlock {
|
|
|
46
57
|
type: 'redacted_thinking';
|
|
47
58
|
data: string;
|
|
48
59
|
}
|
|
49
|
-
export type RequestContentBlock = RequestTextBlock | RequestImageBlock | RequestVideoBlock | ToolResultBlock | ToolUseRequestBlock | ThinkingBlock | RedactedThinkingBlock;
|
|
60
|
+
export type RequestContentBlock = RequestTextBlock | RequestImageBlock | RequestVideoBlock | ToolResultBlock | ToolUseRequestBlock | ThinkingBlock | RedactedThinkingBlock | ResponsesReasoningBlock;
|
|
50
61
|
export interface LlmMessage {
|
|
62
|
+
responseItems?: Array<Record<string, unknown>>;
|
|
51
63
|
role: 'user' | 'assistant';
|
|
52
64
|
content: string | RequestContentBlock[];
|
|
53
65
|
/** Provider-specific opaque reasoning trace (e.g. Kimi/Moonshot
|
|
@@ -64,8 +76,9 @@ export interface ToolUseBlock {
|
|
|
64
76
|
id: string;
|
|
65
77
|
name: string;
|
|
66
78
|
input: Record<string, unknown>;
|
|
79
|
+
responsesItem?: Record<string, unknown>;
|
|
67
80
|
}
|
|
68
|
-
export type ContentBlock = TextBlock | ToolUseBlock | ThinkingBlock | RedactedThinkingBlock;
|
|
81
|
+
export type ContentBlock = TextBlock | ToolUseBlock | ThinkingBlock | RedactedThinkingBlock | ResponsesReasoningBlock;
|
|
69
82
|
/**
|
|
70
83
|
* An action surfaced by a provider that runs its OWN tool/command loop (e.g. the
|
|
71
84
|
* official Codex App Server). Unlike ZTC-owned tool calls — where the model
|
|
@@ -278,6 +291,7 @@ export interface ClientToolCallResult {
|
|
|
278
291
|
}>;
|
|
279
292
|
}
|
|
280
293
|
export interface BackendResponse {
|
|
294
|
+
responseItems?: Array<Record<string, unknown>>;
|
|
281
295
|
content: ContentBlock[];
|
|
282
296
|
stopReason: string;
|
|
283
297
|
stopDetails?: Record<string, unknown>;
|
|
@@ -314,6 +328,9 @@ export interface TokenUsage {
|
|
|
314
328
|
contextWindow?: number;
|
|
315
329
|
}
|
|
316
330
|
export type StreamEvent = {
|
|
331
|
+
type: 'response_items';
|
|
332
|
+
items: Array<Record<string, unknown>>;
|
|
333
|
+
} | {
|
|
317
334
|
type: 'heartbeat';
|
|
318
335
|
} | {
|
|
319
336
|
type: 'reasoning_delta';
|
|
@@ -382,6 +399,12 @@ export interface AgentBackend {
|
|
|
382
399
|
allowsBufferedFallbackAfterStreamFailure?(request: BackendRequest): boolean;
|
|
383
400
|
/** Native harnesses return false once dispatch may have produced external effects. */
|
|
384
401
|
allowsRequestRetryAfterFailure?(request: BackendRequest): boolean;
|
|
402
|
+
/**
|
|
403
|
+
* Ask the provider to stop generating a request the agent abandoned. Router
|
|
404
|
+
* keeps producing a turn after the client stops reading so it can resume, so
|
|
405
|
+
* a response dropped as runaway output would otherwise run to its limit.
|
|
406
|
+
*/
|
|
407
|
+
cancelTurn?(request: BackendRequest): Promise<void>;
|
|
385
408
|
/**
|
|
386
409
|
* True when the backend correlates a logical turn across transport reconnects
|
|
387
410
|
* (it stamps a `transportTurnId` so the Router can resume the same buffered
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** A request ZTC refuses before sending it. Nothing reached a provider, so its message is shown as written. */
|
|
2
|
+
export class RequestRefusedError extends Error {
|
|
3
|
+
name = 'RequestRefusedError';
|
|
4
|
+
}
|
|
1
5
|
/** Convert a non-streaming BackendResponse into synthetic StreamEvents. */
|
|
2
6
|
export function* syntheticStreamEvents(response) {
|
|
3
7
|
if (response.reasoning) {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { RouterCatalog, RouterModelCapabilities } from '../../utils/router_catalog.js';
|
|
2
|
+
import type { OpenRouterPreferences } from '../../config/types.js';
|
|
2
3
|
import { AgentBackend, BackendRequest, BackendResponse, StreamEvent } from './types.js';
|
|
3
4
|
export interface ZRouterStreamConfig {
|
|
5
|
+
model?: string;
|
|
4
6
|
catalog?: RouterCatalog;
|
|
5
7
|
apiKey: string;
|
|
6
8
|
proxyUrl: string;
|
|
@@ -19,6 +21,8 @@ export interface ZRouterStreamConfig {
|
|
|
19
21
|
conversationId?: string;
|
|
20
22
|
/** Product identity for attribution. Defaults to the regular ZTC client. */
|
|
21
23
|
clientName?: string;
|
|
24
|
+
/** Read on every request, so a changed preference applies to the next one. */
|
|
25
|
+
openRouterPreferences?: () => OpenRouterPreferences | undefined;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* Backend that streams LLM responses through ZRouter proxy.
|
|
@@ -28,6 +32,7 @@ export interface ZRouterStreamConfig {
|
|
|
28
32
|
* uses the unified chat endpoint so routing can fall back across providers.
|
|
29
33
|
*/
|
|
30
34
|
export declare class ZRouterStreamBackend implements AgentBackend {
|
|
35
|
+
readonly preservesNativeHistory: boolean;
|
|
31
36
|
private readonly initialCatalog?;
|
|
32
37
|
private get catalog();
|
|
33
38
|
private apiKey;
|
|
@@ -37,11 +42,22 @@ export declare class ZRouterStreamBackend implements AgentBackend {
|
|
|
37
42
|
private workspaceId?;
|
|
38
43
|
private conversationId?;
|
|
39
44
|
private clientName;
|
|
45
|
+
private openRouterPreferences?;
|
|
40
46
|
constructor(config: ZRouterStreamConfig);
|
|
41
47
|
private endpointFor;
|
|
42
48
|
isAuthenticationConfigured(): boolean;
|
|
43
49
|
allowsBufferedFallbackAfterStreamFailure(): boolean;
|
|
44
50
|
handlesTransportRetries(): boolean;
|
|
51
|
+
allowsRequestRetryAfterFailure(request: BackendRequest): boolean;
|
|
52
|
+
private usesNativeResponses;
|
|
53
|
+
private nativeResponses;
|
|
54
|
+
/**
|
|
55
|
+
* Stop the provider stream of an abandoned turn. Without it Router keeps
|
|
56
|
+
* producing until the response ends. Router then has no provider usage
|
|
57
|
+
* report, so the request settles as incomplete: use it only for responses
|
|
58
|
+
* that would otherwise run to their output limit.
|
|
59
|
+
*/
|
|
60
|
+
cancelTurn(request: BackendRequest): Promise<void>;
|
|
45
61
|
getModelCapabilities(model: string): RouterModelCapabilities | undefined;
|
|
46
62
|
private buildOpenAIBody;
|
|
47
63
|
private serializeBody;
|
|
@@ -3,15 +3,17 @@ import { readRouterCatalog, resolveRouterModel } from '../../utils/router_catalo
|
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { measureResponse, measureStream } from './request_metrics.js';
|
|
5
5
|
import { BackendHttpError, readHttpErrorBody, retryAfterDelayMs } from './http_error.js';
|
|
6
|
+
import { RequestRefusedError } from './types.js';
|
|
6
7
|
import { parseSSEEvents } from './sse.js';
|
|
7
8
|
import { buildOpenAIMessages, buildOpenAIToolDefs } from './openai_format.js';
|
|
8
9
|
import { isKimiModel } from './kimi_params.js';
|
|
9
10
|
import { runtimeDiag } from '../../utils/debug_log.js';
|
|
10
11
|
import { createZrouterEventMapper } from './zrouter_events.js';
|
|
11
12
|
import { parseTokenUsage } from './token_usage.js';
|
|
12
|
-
import {
|
|
13
|
+
import { clampCompletionTokens } from '../../utils/deepseek.js';
|
|
13
14
|
import { getVersion } from '../../utils/version.js';
|
|
14
|
-
import { isTransportError } from './transport_errors.js';
|
|
15
|
+
import { IncompleteStreamError, isTransportError } from './transport_errors.js';
|
|
16
|
+
import { OpenAIResponsesBackend } from './openai_responses.js';
|
|
15
17
|
const ZROUTER_HEADERS_TIMEOUT_MS = 90_000;
|
|
16
18
|
// A process session is descriptive telemetry, never a registered machine identity.
|
|
17
19
|
const routerClientSession = randomUUID();
|
|
@@ -48,6 +50,26 @@ function resolveReconnectPolicy() {
|
|
|
48
50
|
capMs: envBoundedInt('ZTC_ROUTER_RECONNECT_CAP_MS', DEFAULT_RECONNECT_CAP_MS, 0, MAX_RECONNECT_MS),
|
|
49
51
|
};
|
|
50
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* The limits as Router's fields: the model's price caps (OpenRouter applies
|
|
55
|
+
* them) and fixed speed, and the profile's shares of providers to beat, which
|
|
56
|
+
* Router turns into speed figures, its uptime and whether speed is required.
|
|
57
|
+
*/
|
|
58
|
+
function routerLimits(profile, model) {
|
|
59
|
+
const { maxInputPrice: prompt, maxOutputPrice: completion, minThroughput, maxLatency } = model ?? {};
|
|
60
|
+
const { fasterThan, quickerThan, minUptime, requireSpeed } = profile ?? {};
|
|
61
|
+
return {
|
|
62
|
+
...(prompt === undefined && completion === undefined ? {} : { max_price: {
|
|
63
|
+
...(prompt === undefined ? {} : { prompt }), ...(completion === undefined ? {} : { completion })
|
|
64
|
+
} }),
|
|
65
|
+
...(minThroughput === undefined ? {} : { min_throughput: minThroughput }),
|
|
66
|
+
...(maxLatency === undefined ? {} : { max_latency: maxLatency }),
|
|
67
|
+
...(fasterThan === undefined ? {} : { faster_than: fasterThan }),
|
|
68
|
+
...(quickerThan === undefined ? {} : { quicker_than: quickerThan }),
|
|
69
|
+
...(minUptime === undefined ? {} : { min_uptime: minUptime }),
|
|
70
|
+
...(requireSpeed ? { require_speed: true } : {}),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
51
73
|
/**
|
|
52
74
|
* Backend that streams LLM responses through ZRouter proxy.
|
|
53
75
|
*
|
|
@@ -56,6 +78,7 @@ function resolveReconnectPolicy() {
|
|
|
56
78
|
* uses the unified chat endpoint so routing can fall back across providers.
|
|
57
79
|
*/
|
|
58
80
|
export class ZRouterStreamBackend {
|
|
81
|
+
preservesNativeHistory;
|
|
59
82
|
initialCatalog;
|
|
60
83
|
get catalog() {
|
|
61
84
|
return readRouterCatalog({ origin: this.proxyUrl, token: this.apiKey, workspaceId: this.workspaceId }) ?? this.initialCatalog;
|
|
@@ -67,7 +90,9 @@ export class ZRouterStreamBackend {
|
|
|
67
90
|
workspaceId;
|
|
68
91
|
conversationId;
|
|
69
92
|
clientName;
|
|
93
|
+
openRouterPreferences;
|
|
70
94
|
constructor(config) {
|
|
95
|
+
this.preservesNativeHistory = config.provider === 'openai' && (config.model === 'gpt-6.1-sol' || process.env.ZTC_ROUTER_REQUIRED === '1');
|
|
71
96
|
this.initialCatalog = config.catalog ? structuredClone(config.catalog) : undefined;
|
|
72
97
|
this.apiKey = config.apiKey;
|
|
73
98
|
this.proxyUrl = config.proxyUrl.replace(/\/+$/, '');
|
|
@@ -76,6 +101,7 @@ export class ZRouterStreamBackend {
|
|
|
76
101
|
this.workspaceId = normalizeHeaderValue(config.workspaceId, 'workspace id', 128);
|
|
77
102
|
this.conversationId = normalizeHeaderValue(config.conversationId, 'conversation id', 128);
|
|
78
103
|
this.clientName = normalizeHeaderValue(config.clientName ?? 'ztc', 'client name', 64);
|
|
104
|
+
this.openRouterPreferences = config.openRouterPreferences;
|
|
79
105
|
}
|
|
80
106
|
endpointFor() {
|
|
81
107
|
return `${this.proxyUrl}/v1/chat/completions`;
|
|
@@ -89,6 +115,62 @@ export class ZRouterStreamBackend {
|
|
|
89
115
|
handlesTransportRetries() {
|
|
90
116
|
return true;
|
|
91
117
|
}
|
|
118
|
+
allowsRequestRetryAfterFailure(request) {
|
|
119
|
+
return !this.usesNativeResponses(request);
|
|
120
|
+
}
|
|
121
|
+
usesNativeResponses(request) {
|
|
122
|
+
if (process.env.ZTC_ROUTER_REQUIRED === '1' && (this.provider !== 'openai' || request.model !== 'gpt-6.1-sol'
|
|
123
|
+
|| request.routePlan?.allow_fallbacks || request.routePlan?.fallbacks.length)) {
|
|
124
|
+
throw new Error('Required Router profile permits only openai/gpt-6.1-sol without fallbacks');
|
|
125
|
+
}
|
|
126
|
+
return this.provider === 'openai' && request.model === 'gpt-6.1-sol';
|
|
127
|
+
}
|
|
128
|
+
async nativeResponses(request, fetcher) {
|
|
129
|
+
const contract = modelContract('openai', request.model);
|
|
130
|
+
const effort = request.codexEffort ?? 'low';
|
|
131
|
+
if (process.env.ZTC_ROUTER_REQUIRED === '1' && (effort !== 'low' || request.codexFastMode)) {
|
|
132
|
+
throw new Error('Required Router profile permits only low reasoning and standard processing');
|
|
133
|
+
}
|
|
134
|
+
if (!contract?.reasoningEfforts.includes(effort))
|
|
135
|
+
throw new Error('Unsupported reasoning effort for Router Sol Responses');
|
|
136
|
+
if (request.maxTokens !== undefined && (!Number.isSafeInteger(request.maxTokens) || request.maxTokens < 1
|
|
137
|
+
|| request.maxTokens > (contract.maxOutputTokens?.max ?? 0)))
|
|
138
|
+
throw new Error('Invalid Router Sol output token limit');
|
|
139
|
+
if (request.routePlan?.allow_fallbacks || request.routePlan?.fallbacks.length)
|
|
140
|
+
throw new Error('Router Sol Responses does not allow fallback routing');
|
|
141
|
+
const timeoutMs = Math.min(300_000, Math.max(1, request.timeoutMs ?? 180_000));
|
|
142
|
+
const controller = new AbortController();
|
|
143
|
+
const signal = request.signal ? AbortSignal.any([request.signal, controller.signal]) : controller.signal;
|
|
144
|
+
const timer = setTimeout(() => controller.abort(new Error('Router Responses request deadline exceeded')), timeoutMs);
|
|
145
|
+
timer.unref();
|
|
146
|
+
try {
|
|
147
|
+
const headers = await this.buildHeaders(request);
|
|
148
|
+
headers['X-Zerg-Request-Timeout-Ms'] = String(timeoutMs);
|
|
149
|
+
return { request: { ...request, signal, codexEffort: effort }, dispose: () => clearTimeout(timer),
|
|
150
|
+
backend: new OpenAIResponsesBackend({ apiKey: '', baseUrl: `${this.proxyUrl}/v1`, extraHeaders: headers, fetcher,
|
|
151
|
+
preserveNativeHistory: true, reasoningFromRequestOnly: true, extraBody: { provider: 'openai', store: false, include: ['reasoning.encrypted_content'] } }) };
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
clearTimeout(timer);
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Stop the provider stream of an abandoned turn. Without it Router keeps
|
|
160
|
+
* producing until the response ends. Router then has no provider usage
|
|
161
|
+
* report, so the request settles as incomplete: use it only for responses
|
|
162
|
+
* that would otherwise run to their output limit.
|
|
163
|
+
*/
|
|
164
|
+
async cancelTurn(request) {
|
|
165
|
+
if (!request.transportTurnId)
|
|
166
|
+
return;
|
|
167
|
+
const headers = await this.buildHeaders(request);
|
|
168
|
+
const response = await fetch(`${this.proxyUrl}/v1/chat/turns/cancel`, {
|
|
169
|
+
method: 'POST', headers: { ...headers, 'X-Zerg-Turn-ID': request.transportTurnId },
|
|
170
|
+
signal: AbortSignal.timeout(10_000),
|
|
171
|
+
});
|
|
172
|
+
await response.body?.cancel();
|
|
173
|
+
}
|
|
92
174
|
getModelCapabilities(model) {
|
|
93
175
|
return this.catalog?.version === 1
|
|
94
176
|
? resolveRouterModel(this.catalog, this.provider, model)?.capabilities : undefined;
|
|
@@ -97,21 +179,39 @@ export class ZRouterStreamBackend {
|
|
|
97
179
|
if (this.catalog?.version === 1) {
|
|
98
180
|
const descriptor = resolveRouterModel(this.catalog, this.provider, request.model);
|
|
99
181
|
if (!descriptor?.capabilities?.chat)
|
|
100
|
-
throw new
|
|
182
|
+
throw new RequestRefusedError('This model is no longer in the Router chat catalog. Refresh /model.');
|
|
101
183
|
const caps = descriptor.capabilities;
|
|
102
184
|
if (request.codexEffort && caps.reasoning && !caps.reasoning.choices.includes(request.codexEffort)) {
|
|
103
|
-
throw new
|
|
185
|
+
throw new RequestRefusedError(`Unsupported reasoning effort: ${request.codexEffort}`);
|
|
104
186
|
}
|
|
105
187
|
if (request.maxTokens !== undefined && caps.max_output_tokens !== undefined && request.maxTokens > caps.max_output_tokens) {
|
|
106
|
-
throw new
|
|
188
|
+
throw new RequestRefusedError(`Max output tokens exceeds the advertised limit (${caps.max_output_tokens}).`);
|
|
189
|
+
}
|
|
190
|
+
const media = caps.images === false ? request.messages.flatMap(message => Array.isArray(message.content)
|
|
191
|
+
? message.content.filter(block => block.type === 'image' || block.type === 'video') : [])[0] : undefined;
|
|
192
|
+
if (media) {
|
|
193
|
+
const [kind, item] = media.type === 'image' ? ['images', 'image'] : ['video', 'video'];
|
|
194
|
+
throw new RequestRefusedError(`${descriptor.display_name ?? request.model} does not take ${kind}. `
|
|
195
|
+
+ `Choose a model that does with /model, or send the message without the ${item}.`);
|
|
107
196
|
}
|
|
108
|
-
if (caps.images === false && request.messages.some(message => Array.isArray(message.content)
|
|
109
|
-
&& message.content.some(block => block.type === 'image' || block.type === 'video')))
|
|
110
|
-
throw new Error('This model does not support images.');
|
|
111
197
|
const prepared = caps.tools === false ? chatOnlyRequest(request) : request;
|
|
112
|
-
|
|
198
|
+
const outputLimit = clampCompletionTokens(request.model, request.maxTokens)
|
|
199
|
+
?? clampCompletionTokens(request.model, caps.max_output_tokens);
|
|
200
|
+
const openRouter = descriptor.owned_by === 'openrouter' ? this.openRouterPreferences?.() : undefined;
|
|
201
|
+
const pinned = openRouter?.providers?.[descriptor.id];
|
|
202
|
+
// OpenRouter's routing variants; free models have none, and a provider pinned for the model replaces them.
|
|
203
|
+
const variant = openRouter?.variant && !pinned && !descriptor.id.endsWith(':free') ? `:${openRouter.variant}` : '';
|
|
204
|
+
const routing = openRouter && { ...(openRouter.zdr ? { zdr: true } : {}),
|
|
205
|
+
...(openRouter.quantizations?.length ? { quantizations: openRouter.quantizations } : {}),
|
|
206
|
+
// A variant is its own sort.
|
|
207
|
+
...(openRouter.sort && !variant ? { sort: openRouter.sort } : {}),
|
|
208
|
+
...(openRouter.dataCollection ? { data_collection: openRouter.dataCollection } : {}),
|
|
209
|
+
...(pinned ? { provider: pinned.tag, fallbacks: pinned.fallbacks } : {}),
|
|
210
|
+
...routerLimits(openRouter.limits, openRouter.modelLimits?.[descriptor.id]) };
|
|
211
|
+
return { provider: descriptor.owned_by, model: `${descriptor.id}${variant}`,
|
|
212
|
+
...(routing && Object.keys(routing).length ? { openrouter: routing } : {}),
|
|
113
213
|
...(request.routePlan ? { route: request.routePlan } : {}),
|
|
114
|
-
...(
|
|
214
|
+
...(outputLimit === undefined ? {} : { max_output_tokens: outputLimit }),
|
|
115
215
|
...(caps.reasoning && request.codexEffort ? { reasoning_effort: request.codexEffort } : {}),
|
|
116
216
|
messages: buildOpenAIMessages(prepared),
|
|
117
217
|
...(prepared.tools.length ? { tools: buildOpenAIToolDefs(prepared.tools) } : {}),
|
|
@@ -135,10 +235,9 @@ export class ZRouterStreamBackend {
|
|
|
135
235
|
|| /^gpt-5/.test(request.model)
|
|
136
236
|
|| isKimiModel(request.model);
|
|
137
237
|
const isGpt4o = request.model.startsWith('gpt-4o');
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const effectiveMaxTokens = request.maxTokens === undefined ? undefined : Math.min(request.maxTokens, limit);
|
|
238
|
+
const reviewedLimit = modelContract(this.provider, request.model)?.maxOutputTokens?.max;
|
|
239
|
+
const limit = reviewedLimit ?? (isGpt4o ? 16384 : Infinity);
|
|
240
|
+
const effectiveMaxTokens = clampCompletionTokens(request.model, request.maxTokens === undefined ? undefined : Math.min(request.maxTokens, limit));
|
|
142
241
|
const tokenParam = effectiveMaxTokens === undefined ? {} : useCompletionTokens
|
|
143
242
|
? { max_completion_tokens: effectiveMaxTokens }
|
|
144
243
|
: { max_tokens: effectiveMaxTokens };
|
|
@@ -241,6 +340,15 @@ export class ZRouterStreamBackend {
|
|
|
241
340
|
return measureResponse(routedRequest, fetcher => this.generateResponse(routedRequest, fetcher));
|
|
242
341
|
}
|
|
243
342
|
async generateResponse(request, fetcher) {
|
|
343
|
+
if (this.usesNativeResponses(request)) {
|
|
344
|
+
const native = await this.nativeResponses(request, fetcher);
|
|
345
|
+
try {
|
|
346
|
+
return await native.backend.generate(native.request);
|
|
347
|
+
}
|
|
348
|
+
finally {
|
|
349
|
+
native.dispose();
|
|
350
|
+
}
|
|
351
|
+
}
|
|
244
352
|
const body = this.serializeBody(request);
|
|
245
353
|
const headers = await this.buildHeaders(request);
|
|
246
354
|
// Proof-chain log: the exact router endpoint + model this turn dispatches to.
|
|
@@ -314,11 +422,25 @@ export class ZRouterStreamBackend {
|
|
|
314
422
|
return measureStream(routedRequest, fetcher => this.streamResponse(routedRequest, fetcher));
|
|
315
423
|
}
|
|
316
424
|
async *streamResponse(request, fetcher) {
|
|
425
|
+
if (this.usesNativeResponses(request)) {
|
|
426
|
+
const native = await this.nativeResponses(request, fetcher);
|
|
427
|
+
try {
|
|
428
|
+
yield* native.backend.generateStream(native.request);
|
|
429
|
+
}
|
|
430
|
+
finally {
|
|
431
|
+
native.dispose();
|
|
432
|
+
}
|
|
433
|
+
return;
|
|
434
|
+
}
|
|
317
435
|
const body = this.serializeBody(request, true);
|
|
318
436
|
const mapEvent = createZrouterEventMapper();
|
|
319
437
|
let resumeAfter;
|
|
320
438
|
let emittedMappedEvent = false;
|
|
439
|
+
let sawTerminalEvent = false;
|
|
321
440
|
let resumeSupported = false;
|
|
441
|
+
// Router appends a router_error as the turn's last event and ends the turn,
|
|
442
|
+
// so a resume past it replays nothing: report the error instead.
|
|
443
|
+
let routerTurnEnded = false;
|
|
322
444
|
const policy = resolveReconnectPolicy();
|
|
323
445
|
let reconnectStarted;
|
|
324
446
|
const budget = () => resumeAfter ? 300_000 : 30_000;
|
|
@@ -336,7 +458,7 @@ export class ZRouterStreamBackend {
|
|
|
336
458
|
}, Math.min(ZROUTER_HEADERS_TIMEOUT_MS, Math.max(1, remaining())));
|
|
337
459
|
if (!response.ok) {
|
|
338
460
|
const failure = await readHttpErrorBody(response, request.signal);
|
|
339
|
-
const error = new BackendHttpError(response.status, failure.body, { prefix: 'ZRouter API', headers,
|
|
461
|
+
const error = new BackendHttpError(response.status, routerErrorFrameBody(failure.body), { prefix: 'ZRouter API', headers,
|
|
340
462
|
bodyReadState: failure.bodyReadState, retryAfter: response.headers.get('retry-after'),
|
|
341
463
|
rateLimitReset: response.headers.get('x-ratelimit-reset') });
|
|
342
464
|
error.message += failureHeaderSuffix(response);
|
|
@@ -368,6 +490,7 @@ export class ZRouterStreamBackend {
|
|
|
368
490
|
const status = Number.isInteger(suppliedStatus) && suppliedStatus >= 400 && suppliedStatus <= 599
|
|
369
491
|
? suppliedStatus
|
|
370
492
|
: 502;
|
|
493
|
+
routerTurnEnded = true;
|
|
371
494
|
throw new BackendHttpError(status, JSON.stringify(ev.body ?? {}), { prefix: 'ZRouter API', headers });
|
|
372
495
|
}
|
|
373
496
|
const mapped = mapEvent(ev);
|
|
@@ -380,11 +503,16 @@ export class ZRouterStreamBackend {
|
|
|
380
503
|
// stays eligible for the reconnect below without Router resume.
|
|
381
504
|
if (mapped.some(event => event.type !== 'heartbeat'))
|
|
382
505
|
emittedMappedEvent = true;
|
|
506
|
+
if (mapped.some(event => event.type === 'done'))
|
|
507
|
+
sawTerminalEvent = true;
|
|
383
508
|
if (!validEventId)
|
|
384
509
|
resumeSupported = false;
|
|
385
510
|
}
|
|
386
511
|
yield* mapped;
|
|
387
512
|
}
|
|
513
|
+
if (!sawTerminalEvent) {
|
|
514
|
+
throw new IncompleteStreamError();
|
|
515
|
+
}
|
|
388
516
|
return;
|
|
389
517
|
}
|
|
390
518
|
catch (error) {
|
|
@@ -393,9 +521,9 @@ export class ZRouterStreamBackend {
|
|
|
393
521
|
// emitted output. So a transient HTTP failure on a resume (the Router's
|
|
394
522
|
// coordination 503 while its shared store blips, a gateway 502/504) is
|
|
395
523
|
// retryable here, not just a raw socket error.
|
|
396
|
-
const retryable = error instanceof BackendHttpError
|
|
524
|
+
const retryable = !routerTurnEnded && (error instanceof BackendHttpError
|
|
397
525
|
? resumeAfter !== undefined && isRetryableResumeStatus(error)
|
|
398
|
-
: isTransportError(error);
|
|
526
|
+
: isTransportError(error));
|
|
399
527
|
if (request.signal?.aborted
|
|
400
528
|
|| !retryable
|
|
401
529
|
|| (emittedMappedEvent && (!resumeSupported || !resumeAfter))) {
|
|
@@ -493,6 +621,23 @@ function failureHeaderSuffix(response) {
|
|
|
493
621
|
}
|
|
494
622
|
return parts.length > 0 ? ` [${parts.join(' ')}]` : '';
|
|
495
623
|
}
|
|
624
|
+
/**
|
|
625
|
+
* A failed streamed turn can answer with an SSE router_error frame instead of a JSON body. Its body is the same error
|
|
626
|
+
* the stream path reports, so callers read Router's code and message either way: the frame alone left only "Rate
|
|
627
|
+
* limit exceeded" on screen (2026-10-27). Any other body passes through unchanged.
|
|
628
|
+
*/
|
|
629
|
+
function routerErrorFrameBody(body) {
|
|
630
|
+
const frame = /^(?:id: [^\n]*\n)?data: (\{.*\})\s*$/s.exec(body);
|
|
631
|
+
if (!frame)
|
|
632
|
+
return body;
|
|
633
|
+
try {
|
|
634
|
+
const event = JSON.parse(frame[1]);
|
|
635
|
+
return event.type === 'router_error' && event.body !== undefined ? JSON.stringify(event.body) : body;
|
|
636
|
+
}
|
|
637
|
+
catch {
|
|
638
|
+
return body;
|
|
639
|
+
}
|
|
640
|
+
}
|
|
496
641
|
/**
|
|
497
642
|
* True for a `ZRouter API error (NNN)` a resume is worth retrying: a gateway or
|
|
498
643
|
* rate-limit failure that is expected to clear. Kept separate from
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workers a lead started in the background (delegate_task `background: true`)
|
|
3
|
+
* and supervises. Each worker's report waits here until the lead's next
|
|
4
|
+
* request, where it joins the conversation once, or until the lead collects it.
|
|
5
|
+
* While workers run the lead gets a progress check every check interval: their
|
|
6
|
+
* steps, recent actions and milestone notes, so it can steer a worker that is
|
|
7
|
+
* off track or stop one it no longer needs. Workers still running when the
|
|
8
|
+
* lead's run ends are stopped.
|
|
9
|
+
*/
|
|
10
|
+
export interface WorkerReport {
|
|
11
|
+
id: string;
|
|
12
|
+
task: string;
|
|
13
|
+
report: string;
|
|
14
|
+
}
|
|
15
|
+
/** What a running worker's job sees of its supervision. */
|
|
16
|
+
export interface WorkerControl {
|
|
17
|
+
signal: AbortSignal;
|
|
18
|
+
/** A milestone note for the lead's next progress check. */
|
|
19
|
+
note(text: string): void;
|
|
20
|
+
/** One worker step. */
|
|
21
|
+
step(): void;
|
|
22
|
+
/** A tool the worker called. */
|
|
23
|
+
tool(name: string): void;
|
|
24
|
+
/** Messages from the lead not yet delivered to the worker. */
|
|
25
|
+
takeMessages(): string[];
|
|
26
|
+
}
|
|
27
|
+
/** Background workers that may run at once; each can run shell commands for up to an hour. */
|
|
28
|
+
export declare const MAX_RUNNING_WORKERS = 4;
|
|
29
|
+
export declare class BackgroundWorkers {
|
|
30
|
+
private readonly checkIntervalMs;
|
|
31
|
+
private readonly now;
|
|
32
|
+
private readonly running;
|
|
33
|
+
private ready;
|
|
34
|
+
private nextId;
|
|
35
|
+
private lastCheckAt;
|
|
36
|
+
/** A worker started, posted a milestone note or finished since the last check the lead saw. */
|
|
37
|
+
private news;
|
|
38
|
+
constructor(checkIntervalMs?: number, now?: () => number);
|
|
39
|
+
/** Workers that can start before the cap is reached. */
|
|
40
|
+
room(): number;
|
|
41
|
+
/** Starts `run` and returns the worker's id; its report (or failure) becomes ready when it settles. */
|
|
42
|
+
start(task: string, run: (control: WorkerControl) => Promise<string>): string;
|
|
43
|
+
/** Reports that arrived since the last call, in arrival order. */
|
|
44
|
+
takeReady(): WorkerReport[];
|
|
45
|
+
/**
|
|
46
|
+
* The running workers' progress, for the lead to supervise. A check the lead
|
|
47
|
+
* asks for with nothing new since the last one answers in one line.
|
|
48
|
+
*/
|
|
49
|
+
progress(asked?: boolean): string;
|
|
50
|
+
/** The progress check, when workers are running and a check interval has passed since the last one. */
|
|
51
|
+
takeDueCheck(): string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Waits for every running worker, or for the next progress check if that
|
|
54
|
+
* comes first, and returns the reports not yet handed over and the check.
|
|
55
|
+
*/
|
|
56
|
+
collect(): Promise<{
|
|
57
|
+
reports: WorkerReport[];
|
|
58
|
+
check: string | null;
|
|
59
|
+
}>;
|
|
60
|
+
/** Delivers `message` to a running worker before its next step; false when it is not running. */
|
|
61
|
+
steer(id: string, message: string): boolean;
|
|
62
|
+
/** Stops one running worker; false when it is not running. */
|
|
63
|
+
stop(id: string): boolean;
|
|
64
|
+
/** Stops every running worker; their results are dropped. */
|
|
65
|
+
stopAll(): void;
|
|
66
|
+
}
|
|
67
|
+
/** Reports as the lead reads them. */
|
|
68
|
+
export declare function formatWorkerReports(reports: readonly WorkerReport[]): string;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workers a lead started in the background (delegate_task `background: true`)
|
|
3
|
+
* and supervises. Each worker's report waits here until the lead's next
|
|
4
|
+
* request, where it joins the conversation once, or until the lead collects it.
|
|
5
|
+
* While workers run the lead gets a progress check every check interval: their
|
|
6
|
+
* steps, recent actions and milestone notes, so it can steer a worker that is
|
|
7
|
+
* off track or stop one it no longer needs. Workers still running when the
|
|
8
|
+
* lead's run ends are stopped.
|
|
9
|
+
*/
|
|
10
|
+
const RECENT_TOOLS = 6;
|
|
11
|
+
/** Background workers that may run at once; each can run shell commands for up to an hour. */
|
|
12
|
+
export const MAX_RUNNING_WORKERS = 4;
|
|
13
|
+
export class BackgroundWorkers {
|
|
14
|
+
checkIntervalMs;
|
|
15
|
+
now;
|
|
16
|
+
running = new Map();
|
|
17
|
+
ready = [];
|
|
18
|
+
nextId = 1;
|
|
19
|
+
lastCheckAt = 0;
|
|
20
|
+
/** A worker started, posted a milestone note or finished since the last check the lead saw. */
|
|
21
|
+
news = false;
|
|
22
|
+
constructor(checkIntervalMs = 600_000, now = Date.now) {
|
|
23
|
+
this.checkIntervalMs = checkIntervalMs;
|
|
24
|
+
this.now = now;
|
|
25
|
+
}
|
|
26
|
+
/** Workers that can start before the cap is reached. */
|
|
27
|
+
room() {
|
|
28
|
+
return MAX_RUNNING_WORKERS - this.running.size;
|
|
29
|
+
}
|
|
30
|
+
/** Starts `run` and returns the worker's id; its report (or failure) becomes ready when it settles. */
|
|
31
|
+
start(task, run) {
|
|
32
|
+
if (this.room() <= 0)
|
|
33
|
+
throw new Error(`at most ${MAX_RUNNING_WORKERS} background workers run at once`);
|
|
34
|
+
const id = `w${this.nextId++}`;
|
|
35
|
+
const controller = new AbortController();
|
|
36
|
+
if (this.running.size === 0)
|
|
37
|
+
this.lastCheckAt = this.now();
|
|
38
|
+
this.news = true;
|
|
39
|
+
const worker = { task, controller, done: Promise.resolve(), startedAt: this.now(), steps: 0,
|
|
40
|
+
recentTools: [], notes: [], inbox: [] };
|
|
41
|
+
const settle = (report) => {
|
|
42
|
+
// A stopped worker's late result is dropped.
|
|
43
|
+
if (this.running.delete(id)) {
|
|
44
|
+
this.ready.push({ id, task, report });
|
|
45
|
+
this.news = true;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
worker.done = run({
|
|
49
|
+
signal: controller.signal,
|
|
50
|
+
note: text => { worker.notes.push(text); this.news = true; },
|
|
51
|
+
step: () => { worker.steps++; },
|
|
52
|
+
tool: name => { worker.recentTools = [...worker.recentTools, name].slice(-RECENT_TOOLS); },
|
|
53
|
+
takeMessages: () => worker.inbox.splice(0),
|
|
54
|
+
}).then(settle, (error) => settle(`Worker failed: ${error instanceof Error ? error.message : String(error)}`));
|
|
55
|
+
this.running.set(id, worker);
|
|
56
|
+
return id;
|
|
57
|
+
}
|
|
58
|
+
/** Reports that arrived since the last call, in arrival order. */
|
|
59
|
+
takeReady() {
|
|
60
|
+
const reports = this.ready;
|
|
61
|
+
this.ready = [];
|
|
62
|
+
return reports;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The running workers' progress, for the lead to supervise. A check the lead
|
|
66
|
+
* asks for with nothing new since the last one answers in one line.
|
|
67
|
+
*/
|
|
68
|
+
progress(asked = false) {
|
|
69
|
+
if (this.running.size === 0)
|
|
70
|
+
return '[Progress check] No workers are running.';
|
|
71
|
+
const next = `The next check arrives on its own in ${Math.round(this.checkIntervalMs / 60_000)} min.`;
|
|
72
|
+
if (asked && !this.news) {
|
|
73
|
+
const steps = [...this.running].map(([id, worker]) => `${id}: ${worker.steps} step${worker.steps === 1 ? '' : 's'}`);
|
|
74
|
+
return `[Progress check] No new milestone notes since the last check. ${steps.join(', ')}. ${next} `
|
|
75
|
+
+ 'Keep working on your own part, or collect to wait for reports.';
|
|
76
|
+
}
|
|
77
|
+
const lines = [`[Progress check] ${this.running.size} worker${this.running.size === 1 ? '' : 's'} running`];
|
|
78
|
+
for (const [id, worker] of this.running) {
|
|
79
|
+
const minutes = Math.round((this.now() - worker.startedAt) / 60_000);
|
|
80
|
+
lines.push(`- ${id} (${minutes} min, ${worker.steps} step${worker.steps === 1 ? '' : 's'}): ${worker.task.split('\n')[0].slice(0, 160)}`);
|
|
81
|
+
if (worker.notes.length > 0)
|
|
82
|
+
lines.push(` latest note: ${worker.notes.at(-1)}`);
|
|
83
|
+
if (worker.recentTools.length > 0)
|
|
84
|
+
lines.push(` recent tools: ${worker.recentTools.join(', ')}`);
|
|
85
|
+
}
|
|
86
|
+
lines.push('Steer a worker that is off track, inefficient or repeating failures (delegate_task steer), stop one you no '
|
|
87
|
+
+ `longer need (stop), and keep working. ${next}`);
|
|
88
|
+
this.lastCheckAt = this.now();
|
|
89
|
+
this.news = false;
|
|
90
|
+
return lines.join('\n');
|
|
91
|
+
}
|
|
92
|
+
/** The progress check, when workers are running and a check interval has passed since the last one. */
|
|
93
|
+
takeDueCheck() {
|
|
94
|
+
if (this.running.size === 0 || this.now() - this.lastCheckAt < this.checkIntervalMs)
|
|
95
|
+
return null;
|
|
96
|
+
return this.progress();
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Waits for every running worker, or for the next progress check if that
|
|
100
|
+
* comes first, and returns the reports not yet handed over and the check.
|
|
101
|
+
*/
|
|
102
|
+
async collect() {
|
|
103
|
+
const all = Promise.all([...this.running.values()].map(worker => worker.done));
|
|
104
|
+
if (this.running.size > 0) {
|
|
105
|
+
const wait = Math.max(0, this.lastCheckAt + this.checkIntervalMs - this.now());
|
|
106
|
+
let timer;
|
|
107
|
+
await Promise.race([all, new Promise(resolve => { timer = setTimeout(resolve, wait); })]);
|
|
108
|
+
clearTimeout(timer);
|
|
109
|
+
}
|
|
110
|
+
return { reports: this.takeReady(), check: this.takeDueCheck() };
|
|
111
|
+
}
|
|
112
|
+
/** Delivers `message` to a running worker before its next step; false when it is not running. */
|
|
113
|
+
steer(id, message) {
|
|
114
|
+
const worker = this.running.get(id);
|
|
115
|
+
if (!worker)
|
|
116
|
+
return false;
|
|
117
|
+
worker.inbox.push(message);
|
|
118
|
+
return true;
|
|
119
|
+
}
|
|
120
|
+
/** Stops one running worker; false when it is not running. */
|
|
121
|
+
stop(id) {
|
|
122
|
+
const worker = this.running.get(id);
|
|
123
|
+
if (!worker)
|
|
124
|
+
return false;
|
|
125
|
+
worker.controller.abort();
|
|
126
|
+
this.running.delete(id);
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
/** Stops every running worker; their results are dropped. */
|
|
130
|
+
stopAll() {
|
|
131
|
+
for (const worker of this.running.values())
|
|
132
|
+
worker.controller.abort();
|
|
133
|
+
this.running.clear();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/** Reports as the lead reads them. */
|
|
137
|
+
export function formatWorkerReports(reports) {
|
|
138
|
+
return ['[Worker reports]', ...reports.map(({ id, task, report }) => `### ${id}: ${task.split('\n')[0]}\n\n${report}`)].join('\n\n');
|
|
139
|
+
}
|
|
@@ -9,11 +9,19 @@
|
|
|
9
9
|
* /accounts login <id> run the official CLI login at the account's dir
|
|
10
10
|
* /accounts remove <id> drop an account from the pool
|
|
11
11
|
*/
|
|
12
|
-
import { Command } from './types.js';
|
|
12
|
+
import { Command, CommandContext } from './types.js';
|
|
13
13
|
/**
|
|
14
14
|
* The account list is written into the transcript, which is saved and mirrored
|
|
15
15
|
* to every viewer, so the ChatGPT email appears masked: enough to tell two
|
|
16
16
|
* logins apart, not enough to publish the address.
|
|
17
17
|
*/
|
|
18
18
|
export declare function maskAccountEmail(email: string | undefined): string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The account manager opened from the settings panel: Escape hands the user
|
|
21
|
+
* back to `onBack` (the panel) instead of the transcript.
|
|
22
|
+
*/
|
|
23
|
+
export declare function openAccountsManager(ctx: CommandContext, options?: {
|
|
24
|
+
focus?: string;
|
|
25
|
+
onBack?: () => void;
|
|
26
|
+
}): Promise<void>;
|
|
19
27
|
export declare const accountsCommand: Command;
|