shortcutxl 0.3.76 → 0.3.78
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/BINARY-INVENTORY.json +813 -813
- package/CHANGELOG.md +14 -0
- package/dist/ai/models.d.ts +10 -6
- package/dist/ai/models.generated.d.ts +72 -0
- package/dist/ai/models.generated.js +33 -0
- package/dist/ai/models.js +36 -13
- package/dist/ai/providers/anthropic.d.ts +4 -2
- package/dist/ai/providers/anthropic.js +59 -29
- package/dist/ai/providers/azure-openai-responses.d.ts +2 -1
- package/dist/ai/providers/azure-openai-responses.js +4 -20
- package/dist/ai/providers/google-vertex.d.ts +8 -2
- package/dist/ai/providers/google-vertex.js +66 -54
- package/dist/ai/providers/google.js +15 -48
- package/dist/ai/providers/openai-completions.d.ts +4 -1
- package/dist/ai/providers/openai-completions.js +26 -10
- package/dist/ai/providers/openai-reasoning.d.ts +5 -0
- package/dist/ai/providers/openai-reasoning.js +13 -0
- package/dist/ai/providers/openai-responses-shared.js +1 -1
- package/dist/ai/providers/openai-responses.d.ts +6 -2
- package/dist/ai/providers/openai-responses.js +28 -23
- package/dist/ai/providers/simple-options.d.ts +2 -3
- package/dist/ai/providers/simple-options.js +4 -6
- package/dist/ai/types.d.ts +19 -2
- package/dist/app/agent-session-runtime-adapter.js +7 -6
- package/dist/app/agent-session.d.ts +0 -15
- package/dist/app/agent-session.js +0 -37
- package/dist/app/approvals/approval-errors.d.ts +15 -0
- package/dist/app/approvals/approval-errors.js +14 -0
- package/dist/app/approvals/runtime-approval-gates.d.ts +1 -2
- package/dist/app/approvals/tool-approval.d.ts +1 -0
- package/dist/app/approvals/tool-approval.js +11 -23
- package/dist/app/approvals/types.d.ts +0 -14
- package/dist/app/approvals/types.js +0 -2
- package/dist/app/background/tool-summaries.js +0 -2
- package/dist/app/extensions/slash-commands.js +1 -3
- package/dist/app/local/tools/execute-code/executor.d.ts +1 -1
- package/dist/app/local/tools/execute-code/executor.js +20 -10
- package/dist/app/local/tools/execute-code/tool.js +21 -2
- package/dist/app/modes/action/agent.js +4 -5
- package/dist/app/modes/ask/agent.js +4 -6
- package/dist/app/modes/index.js +20 -10
- package/dist/app/modes/installation/agent.js +4 -5
- package/dist/app/modes/manage/agent.js +3 -4
- package/dist/app/modes/manage/prompt.js +1 -2
- package/dist/app/modes/metadata.d.ts +31 -0
- package/dist/app/modes/metadata.js +35 -0
- package/dist/app/modes/plan/agent.js +5 -8
- package/dist/app/modes/plan/prompt.js +3 -3
- package/dist/app/permissions/runtime-approval-flow.d.ts +1 -5
- package/dist/app/permissions/runtime-approval-flow.js +0 -28
- package/dist/app/permissions/tool-gates.d.ts +2 -3
- package/dist/app/permissions/tool-gates.js +3 -81
- package/dist/app/prompts/com-api.js +1 -1
- package/dist/app/prompts/shared-guidelines.js +7 -3
- package/dist/app/providers/google-vertex-gateway.js +4 -51
- package/dist/app/providers/model-registry.d.ts +1 -0
- package/dist/app/providers/model-registry.js +39 -0
- package/dist/app/providers/model-resolver.js +10 -7
- package/dist/app/providers/register-shortcut-provider.js +6 -6
- package/dist/app/providers/shortcut-api-v2-transport.js +4 -0
- package/dist/app/providers/shortcut-llm-proxy-client.d.ts +2 -2
- package/dist/app/providers/shortcut-llm-proxy-client.js +1 -0
- package/dist/app/resources/package-manager.js +2 -123
- package/dist/app/resources/resource-patterns.d.ts +9 -0
- package/dist/app/resources/resource-patterns.js +120 -0
- package/dist/app/session/forked-agent.d.ts +2 -2
- package/dist/app/session/model-manager.js +3 -2
- package/dist/app/session/session-lifecycle.js +3 -2
- package/dist/app/session/session-models.d.ts +2 -0
- package/dist/app/session/session-models.js +14 -6
- package/dist/app/settings-manager.d.ts +3 -3
- package/dist/app/shared/tools/execute-code/mog.d.ts +3 -1
- package/dist/app/shared/tools/execute-code/mog.js +18 -2
- package/dist/app/tools/bash.js +3 -3
- package/dist/app/tools/execute-code/index.d.ts +1 -0
- package/dist/app/tools/execute-code/index.js +3 -1
- package/dist/app/tools/find-ignore-files.d.ts +3 -0
- package/dist/app/tools/find-ignore-files.js +33 -0
- package/dist/app/tools/find.js +2 -21
- package/dist/app/tools/llm-analysis.js +0 -2
- package/dist/app/tools/refresh-context.d.ts +1 -1
- package/dist/app/tools/session-settings/update-session-settings.js +2 -2
- package/dist/app/tools/switch-mode.js +2 -2
- package/dist/app/tools/take-screenshot.js +0 -2
- package/dist/app/tools/task/runner.js +1 -2
- package/dist/app/tools/task/task.d.ts +1 -3
- package/dist/app/tools/task/task.js +20 -40
- package/dist/app/tools/web-search.js +12 -2
- package/dist/autocomplete/core.d.ts +33 -0
- package/dist/autocomplete/core.js +113 -0
- package/dist/{tui → autocomplete}/fuzzy.d.ts +0 -1
- package/dist/{tui → autocomplete}/fuzzy.js +0 -1
- package/dist/{tui/autocomplete.d.ts → autocomplete/index.d.ts} +0 -1
- package/dist/{tui/autocomplete.js → autocomplete/index.js} +62 -158
- package/dist/cli/args.js +1 -1
- package/dist/cli/list-models.js +1 -1
- package/dist/cli.js +26227 -30480
- package/dist/constants.d.ts +0 -2
- package/dist/constants.js +0 -3
- package/dist/contracts/agent-session-store.d.ts +1 -1
- package/dist/contracts/agent-settings.d.ts +1 -0
- package/dist/contracts/agent-settings.js +2 -1
- package/dist/contracts/model-call.d.ts +1 -2
- package/dist/contracts/model-call.js +1 -2
- package/dist/contracts/model-stream.d.ts +1 -0
- package/dist/contracts/model-stream.js +1 -0
- package/dist/contracts/wire.d.ts +10 -7
- package/dist/contracts/wire.js +8 -0
- package/dist/core/agent-engine.js +1 -1
- package/dist/core/core-types.d.ts +1 -21
- package/dist/core/defaults.d.ts +1 -1
- package/dist/core/defaults.js +9 -1
- package/dist/core/prompts/agent-guidelines.d.ts +4 -5
- package/dist/core/prompts/agent-guidelines.js +28 -42
- package/dist/core/session-schema.d.ts +1 -1
- package/dist/embedded-agent/ai-invoke.d.ts +1 -2
- package/dist/embedded-agent/ai-invoke.js +2 -70
- package/dist/embedded-agent/anthropic-messages-transport.d.ts +4 -20
- package/dist/embedded-agent/anthropic-messages-transport.js +23 -786
- package/dist/embedded-agent/bootstrap.js +2 -2
- package/dist/embedded-agent/compose.js +8 -7
- package/dist/embedded-agent/gateway-base-url.d.ts +3 -0
- package/dist/embedded-agent/gateway-base-url.js +35 -0
- package/dist/embedded-agent/google-vertex-transport.d.ts +2 -11
- package/dist/embedded-agent/google-vertex-transport.js +20 -117
- package/dist/embedded-agent/host-runtime-options.d.ts +0 -8
- package/dist/embedded-agent/host-runtime-options.js +10 -2
- package/dist/embedded-agent/host-tools/invoke-llm/contract.d.ts +2 -2
- package/dist/embedded-agent/host-tools/invoke-llm/contract.js +4 -2
- package/dist/embedded-agent/host-tools/sandbox-llm/contract.d.ts +8 -3
- package/dist/embedded-agent/host-tools/sandbox-llm/contract.js +12 -8
- package/dist/embedded-agent/host-tools/sandbox-llm/index.d.ts +1 -1
- package/dist/embedded-agent/host-tools/sandbox-llm/index.js +1 -1
- package/dist/embedded-agent/host-tools/shared/index.d.ts +1 -1
- package/dist/embedded-agent/host-tools/shared/index.js +1 -1
- package/dist/embedded-agent/host-tools/shared/llm-stream-error.d.ts +7 -0
- package/dist/embedded-agent/host-tools/shared/llm-stream-error.js +10 -0
- package/dist/embedded-agent/host-tools/take-screenshot/contract.d.ts +0 -2
- package/dist/embedded-agent/host-tools/take-screenshot/contract.js +1 -3
- package/dist/embedded-agent/host-tools/take-screenshot/index.d.ts +1 -1
- package/dist/embedded-agent/host-tools/take-screenshot/index.js +1 -1
- package/dist/embedded-agent/host-tools/task/agents/clone.js +1 -2
- package/dist/embedded-agent/host-tools/task/contract.js +1 -1
- package/dist/embedded-agent/index.d.ts +3 -4
- package/dist/embedded-agent/index.js +2 -3
- package/dist/embedded-agent/model-selection.d.ts +0 -6
- package/dist/embedded-agent/model-selection.js +15 -8
- package/dist/embedded-agent/openai-completions-transport.d.ts +2 -11
- package/dist/embedded-agent/openai-completions-transport.js +20 -120
- package/dist/embedded-agent/openai-responses-transport.d.ts +2 -11
- package/dist/embedded-agent/openai-responses-transport.js +15 -170
- package/dist/embedded-agent/prompt/build.js +1 -2
- package/dist/embedded-agent/prompt/sections.d.ts +1 -1
- package/dist/embedded-agent/prompt/sections.js +2 -0
- package/dist/embedded-agent/provider-native-request.d.ts +29 -0
- package/dist/embedded-agent/provider-native-request.js +65 -0
- package/dist/embedded-agent/run-stats.d.ts +1 -1
- package/dist/embedded-agent/stream.d.ts +10 -96
- package/dist/embedded-agent/stream.js +31 -556
- package/dist/embedded-agent/suggestions.d.ts +1 -1
- package/dist/embedded-agent/suggestions.js +1 -1
- package/dist/embedded-agent/worker-bridge/host-client.d.ts +7 -0
- package/dist/embedded-agent/worker-bridge/host-client.js +15 -0
- package/dist/embedded-agent/worker-bridge/worker-port.js +17 -1
- package/dist/main.js +18 -14
- package/dist/rpc/index.d.ts +1 -1
- package/dist/rpc/rpc-approval-gates.js +1 -2
- package/dist/rpc/rpc-host.d.ts +4 -0
- package/dist/rpc/rpc-host.js +13 -24
- package/dist/rpc/rpc-types.d.ts +6 -17
- package/dist/shared/platform/open.d.ts +4 -1
- package/dist/shared/platform/open.js +14 -2
- package/dist/shell/approvals/runtime-approval-gates.js +1 -3
- package/dist/shell/components/selectors/model-selector.js +2 -1
- package/dist/shell/components/selectors/session-selector-search.js +1 -1
- package/dist/shell/components/selectors/thinking-selector.js +7 -6
- package/dist/shell/index.d.ts +0 -1
- package/dist/shell/index.js +0 -1
- package/dist/shell/interactive/interactive-mode-options.d.ts +10 -0
- package/dist/shell/interactive/interactive-mode.d.ts +6 -12
- package/dist/shell/interactive/interactive-mode.js +39 -158
- package/dist/shell/interactive/slash-commands.d.ts +0 -34
- package/dist/shell/interactive/slash-commands.js +0 -2
- package/dist/shell/links/local-file-link-input.d.ts +15 -0
- package/dist/shell/links/local-file-link-input.js +38 -0
- package/dist/shell/links/local-file-link.d.ts +7 -0
- package/dist/shell/links/local-file-link.js +35 -0
- package/dist/shell/links/local-file-opener.d.ts +16 -0
- package/dist/shell/links/local-file-opener.js +90 -0
- package/dist/shell/session-client.d.ts +0 -1
- package/dist/shell/session-client.js +0 -6
- package/dist/shell/status/update-check-scheduler.d.ts +30 -0
- package/dist/shell/status/update-check-scheduler.js +71 -0
- package/dist/shell/status/update-reminder-controller.d.ts +22 -0
- package/dist/shell/status/update-reminder-controller.js +40 -0
- package/dist/shell/status/update-reminder.d.ts +6 -0
- package/dist/shell/status/update-reminder.js +4 -0
- package/dist/shell/theme/dark.json +1 -2
- package/dist/shell/theme/light.json +1 -2
- package/dist/shell/theme/runtime.d.ts +2 -3
- package/dist/shell/theme/runtime.js +2 -6
- package/dist/shell/theme/theme-schema.json +1 -6
- package/dist/shortcut-model-catalog.d.ts +7 -2
- package/dist/shortcut-model-catalog.js +134 -10
- package/dist/startup/update-manager.d.ts +6 -6
- package/dist/startup/update-manager.js +23 -38
- package/dist/startup/update-prompt.d.ts +1 -0
- package/dist/startup/update-prompt.js +2 -2
- package/dist/tui/components/editor.d.ts +1 -1
- package/dist/tui/components/editor.js +1 -1
- package/dist/tui/components/markdown.js +15 -6
- package/dist/tui/components/settings-list.js +1 -1
- package/dist/tui/editor-component.d.ts +1 -1
- package/dist/tui/index.d.ts +7 -8
- package/dist/tui/index.js +7 -6
- package/dist/tui/tui.d.ts +2 -0
- package/dist/tui/tui.js +16 -1
- package/dist/tui/utils.d.ts +7 -0
- package/dist/tui/utils.js +58 -8
- package/native-app/main/index.js +3200 -48
- package/native-app/main/{photon_rs-SoVDgheu.js → photon_rs-XkYyYTVA.js} +2 -2
- package/native-app/package.json +1 -1
- package/native-app/preload/index.cjs +2 -0
- package/native-app/renderer/assets/{index-CFc-oZuS.js → index-B4jz6epR.js} +825 -155
- package/native-app/renderer/assets/{index-OhGE0UY4.css → index-C__g36ft.css} +412 -162
- package/native-app/renderer/assets/shortcutagent-DxFsGSkw.png +0 -0
- package/native-app/renderer/index.html +2 -2
- package/package.json +17 -3
- package/skills/add-custom-model/SKILL.md +52 -0
- package/user-docs/dist/index.html +1 -1
- package/user-docs/dist/shortcutxl-docs.pdf +0 -0
- package/xll/ShortcutXL.xll +0 -0
- package/xll/modules/shortcut_xl/_managed.py +26 -7
- package/xll/modules/shortcut_xl/_tracking.py +141 -251
- package/xll/modules/shortcut_xl/api/__init__.py +60 -0
- package/xll/modules/shortcut_xl/api/workbook.py +9 -1
- package/xll/modules/shortcut_xl/api/worksheet.py +4 -1
- package/xll/python/Lib/site-packages/httpx-0.28.1.dist-info/RECORD +1 -1
- package/xll/python/Lib/site-packages/idna-3.18.dist-info/RECORD +1 -1
- package/xll/python/Lib/site-packages/pip/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/build_env/__init__.py +25 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/base.py +103 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/installer.py +333 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/noop.py +42 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/venv.py +145 -0
- package/xll/python/Lib/site-packages/pip/_internal/build_env/virtual.py +139 -0
- package/xll/python/Lib/site-packages/pip/_internal/cache.py +4 -1
- package/xll/python/Lib/site-packages/pip/_internal/cli/autocompletion.py +4 -1
- package/xll/python/Lib/site-packages/pip/_internal/cli/base_command.py +11 -14
- package/xll/python/Lib/site-packages/pip/_internal/cli/cmdoptions.py +133 -22
- package/xll/python/Lib/site-packages/pip/_internal/cli/index_command.py +11 -6
- package/xll/python/Lib/site-packages/pip/_internal/cli/main.py +2 -1
- package/xll/python/Lib/site-packages/pip/_internal/cli/main_parser.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/cli/parser.py +10 -2
- package/xll/python/Lib/site-packages/pip/_internal/cli/progress_bars.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/cli/req_command.py +57 -25
- package/xll/python/Lib/site-packages/pip/_internal/cli/status_codes.py +1 -0
- package/xll/python/Lib/site-packages/pip/_internal/commands/cache.py +7 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/configuration.py +2 -1
- package/xll/python/Lib/site-packages/pip/_internal/commands/debug.py +4 -5
- package/xll/python/Lib/site-packages/pip/_internal/commands/download.py +4 -0
- package/xll/python/Lib/site-packages/pip/_internal/commands/freeze.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/commands/index.py +10 -3
- package/xll/python/Lib/site-packages/pip/_internal/commands/inspect.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/commands/install.py +6 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/list.py +11 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/lock.py +4 -6
- package/xll/python/Lib/site-packages/pip/_internal/commands/show.py +14 -8
- package/xll/python/Lib/site-packages/pip/_internal/commands/wheel.py +7 -1
- package/xll/python/Lib/site-packages/pip/_internal/configuration.py +2 -3
- package/xll/python/Lib/site-packages/pip/_internal/distributions/base.py +5 -3
- package/xll/python/Lib/site-packages/pip/_internal/distributions/installed.py +3 -2
- package/xll/python/Lib/site-packages/pip/_internal/distributions/sdist.py +45 -20
- package/xll/python/Lib/site-packages/pip/_internal/distributions/wheel.py +3 -2
- package/xll/python/Lib/site-packages/pip/_internal/exceptions.py +174 -0
- package/xll/python/Lib/site-packages/pip/_internal/index/collector.py +70 -48
- package/xll/python/Lib/site-packages/pip/_internal/index/package_finder.py +46 -7
- package/xll/python/Lib/site-packages/pip/_internal/index/sources.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/locations/_sysconfig.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/locations/base.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/metadata/base.py +10 -5
- package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_dists.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/metadata/importlib/_envs.py +8 -3
- package/xll/python/Lib/site-packages/pip/_internal/models/candidate.py +5 -1
- package/xll/python/Lib/site-packages/pip/_internal/models/link.py +53 -13
- package/xll/python/Lib/site-packages/pip/_internal/network/auth.py +38 -21
- package/xll/python/Lib/site-packages/pip/_internal/network/cache.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/network/download.py +58 -11
- package/xll/python/Lib/site-packages/pip/_internal/network/session.py +35 -40
- package/xll/python/Lib/site-packages/pip/_internal/network/utils.py +109 -1
- package/xll/python/Lib/site-packages/pip/_internal/operations/check.py +2 -3
- package/xll/python/Lib/site-packages/pip/_internal/operations/install/wheel.py +23 -18
- package/xll/python/Lib/site-packages/pip/_internal/operations/prepare.py +152 -7
- package/xll/python/Lib/site-packages/pip/_internal/req/__init__.py +2 -0
- package/xll/python/Lib/site-packages/pip/_internal/req/constructors.py +54 -69
- package/xll/python/Lib/site-packages/pip/_internal/req/req_file.py +6 -6
- package/xll/python/Lib/site-packages/pip/_internal/req/req_install.py +25 -21
- package/xll/python/Lib/site-packages/pip/_internal/req/req_uninstall.py +13 -8
- package/xll/python/Lib/site-packages/pip/_internal/resolution/base.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +1 -1
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +0 -1
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +39 -52
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +3 -3
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +3 -0
- package/xll/python/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +9 -0
- package/xll/python/Lib/site-packages/pip/_internal/utils/compat.py +15 -9
- package/xll/python/Lib/site-packages/pip/_internal/utils/deprecation.py +6 -1
- package/xll/python/Lib/site-packages/pip/_internal/utils/filesystem.py +2 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/logging.py +11 -3
- package/xll/python/Lib/site-packages/pip/_internal/utils/misc.py +48 -4
- package/xll/python/Lib/site-packages/pip/_internal/utils/pylock.py +18 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/retry.py +2 -1
- package/xll/python/Lib/site-packages/pip/_internal/utils/subprocess.py +4 -3
- package/xll/python/Lib/site-packages/pip/_internal/utils/temp_dir.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/unpacking.py +30 -4
- package/xll/python/Lib/site-packages/pip/_internal/utils/urls.py +5 -2
- package/xll/python/Lib/site-packages/pip/_internal/utils/virtualenv.py +2 -36
- package/xll/python/Lib/site-packages/pip/_internal/vcs/git.py +8 -5
- package/xll/python/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +1 -2
- package/xll/python/Lib/site-packages/pip/_internal/wheel_builder.py +5 -1
- package/xll/python/Lib/site-packages/pip/_vendor/bom.cdx.json +231 -0
- package/xll/python/Lib/site-packages/pip/_vendor/certifi/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/certifi/cacert.pem +0 -631
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/compat.py +34 -64
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/resources.py +28 -14
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/scripts.py +7 -3
- package/xll/python/Lib/site-packages/pip/_vendor/distlib/util.py +48 -11
- package/xll/python/Lib/site-packages/pip/_vendor/idna/LICENSE.md +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/idna/__main__.py +6 -0
- package/xll/python/Lib/site-packages/pip/_vendor/idna/cli.py +128 -0
- package/xll/python/Lib/site-packages/pip/_vendor/idna/codec.py +50 -13
- package/xll/python/Lib/site-packages/pip/_vendor/idna/compat.py +26 -0
- package/xll/python/Lib/site-packages/pip/_vendor/idna/core.py +352 -141
- package/xll/python/Lib/site-packages/pip/_vendor/idna/idnadata.py +571 -2983
- package/xll/python/Lib/site-packages/pip/_vendor/idna/intranges.py +5 -7
- package/xll/python/Lib/site-packages/pip/_vendor/idna/package_data.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/idna/uts46data.py +16887 -8832
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__init__.py +352 -66
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/__main__.py +11 -0
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/_xdg.py +171 -0
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/android.py +92 -41
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/api.py +213 -49
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/macos.py +128 -51
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/unix.py +176 -127
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/version.py +8 -18
- package/xll/python/Lib/site-packages/pip/_vendor/platformdirs/windows.py +185 -68
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/__init__.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/__main__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/console.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/filter.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/filters/__init__.py +10 -8
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatter.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/formatters/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexer.py +7 -5
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/_mapping.py +9 -8
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/lexers/python.py +35 -32
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/modeline.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/plugin.py +3 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/regexopt.py +13 -2
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/scanner.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/sphinxext.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/style.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/styles/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/token.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/unistring.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/pygments/util.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/__init__.py +52 -16
- package/xll/python/Lib/site-packages/pip/_vendor/requests/__version__.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/_types.py +183 -0
- package/xll/python/Lib/site-packages/pip/_vendor/requests/adapters.py +101 -50
- package/xll/python/Lib/site-packages/pip/_vendor/requests/api.py +31 -8
- package/xll/python/Lib/site-packages/pip/_vendor/requests/auth.py +80 -40
- package/xll/python/Lib/site-packages/pip/_vendor/requests/compat.py +9 -3
- package/xll/python/Lib/site-packages/pip/_vendor/requests/cookies.py +143 -79
- package/xll/python/Lib/site-packages/pip/_vendor/requests/exceptions.py +15 -5
- package/xll/python/Lib/site-packages/pip/_vendor/requests/help.py +13 -10
- package/xll/python/Lib/site-packages/pip/_vendor/requests/hooks.py +23 -9
- package/xll/python/Lib/site-packages/pip/_vendor/requests/models.py +265 -126
- package/xll/python/Lib/site-packages/pip/_vendor/requests/py.typed +0 -0
- package/xll/python/Lib/site-packages/pip/_vendor/requests/sessions.py +164 -78
- package/xll/python/Lib/site-packages/pip/_vendor/requests/status_codes.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/requests/structures.py +51 -20
- package/xll/python/Lib/site-packages/pip/_vendor/requests/utils.py +161 -89
- package/xll/python/Lib/site-packages/pip/_vendor/tomli/__init__.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/tomli/_parser.py +9 -4
- package/xll/python/Lib/site-packages/pip/_vendor/tomli/_re.py +13 -9
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_base_connection.py +3 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_collections.py +0 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/_version.py +8 -18
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connection.py +4 -4
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +23 -10
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/emscripten/response.py +5 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +7 -8
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +1 -1
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +2 -2
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/fields.py +14 -14
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +8 -6
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/response.py +35 -22
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +8 -0
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +11 -61
- package/xll/python/Lib/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +5 -11
- package/xll/python/Lib/site-packages/pip/_vendor/vendor.txt +8 -8
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/METADATA +3 -2
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/RECORD +208 -188
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/AUTHORS.txt +20 -0
- package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/idna/LICENSE.md +1 -1
- package/xll/python/Lib/site-packages/pywin32-311.dist-info/RECORD +2 -2
- package/xll/python/Scripts/httpx.exe +0 -0
- package/xll/python/Scripts/idna.exe +0 -0
- package/xll/python/Scripts/pip.exe +0 -0
- package/xll/python/Scripts/pip3.13.exe +0 -0
- package/xll/python/Scripts/pip3.exe +0 -0
- package/xll/python/Scripts/pywin32_postinstall.exe +0 -0
- package/xll/python/Scripts/pywin32_testall.exe +0 -0
- package/dist/app/collab/awareness.d.ts +0 -32
- package/dist/app/collab/awareness.js +0 -52
- package/dist/app/collab/collab-client.d.ts +0 -37
- package/dist/app/collab/collab-client.js +0 -208
- package/dist/app/collab/collab-manager.d.ts +0 -91
- package/dist/app/collab/collab-manager.js +0 -218
- package/dist/app/collab/collab-sync.d.ts +0 -62
- package/dist/app/collab/collab-sync.js +0 -215
- package/dist/app/collab/index.d.ts +0 -9
- package/dist/app/collab/index.js +0 -6
- package/dist/app/collab/super-fight.d.ts +0 -90
- package/dist/app/collab/super-fight.js +0 -310
- package/dist/app/collab/sync-bridge.d.ts +0 -35
- package/dist/app/collab/sync-bridge.js +0 -109
- package/dist/app/collab/types.d.ts +0 -75
- package/dist/app/collab/types.js +0 -5
- package/dist/embedded-agent/ai-content.d.ts +0 -52
- package/dist/embedded-agent/ai-content.js +0 -101
- package/dist/embedded-agent/host-tools/shared/llm-stream.d.ts +0 -31
- package/dist/embedded-agent/host-tools/shared/llm-stream.js +0 -136
- package/dist/embedded-agent/model-call-orchestrator.d.ts +0 -22
- package/dist/embedded-agent/model-call-orchestrator.js +0 -22
- package/dist/embedded-agent/stream-errors.d.ts +0 -10
- package/dist/embedded-agent/stream-errors.js +0 -73
- package/dist/embedded-agent/stream-message-state.d.ts +0 -14
- package/dist/embedded-agent/stream-message-state.js +0 -271
- package/dist/embedded-agent/stream-sse.d.ts +0 -78
- package/dist/embedded-agent/stream-sse.js +0 -73
- package/dist/shell/approvals/task-spawn-approval.d.ts +0 -20
- package/dist/shell/approvals/task-spawn-approval.js +0 -93
- package/dist/shell/interactive/collab-command.d.ts +0 -9
- package/dist/shell/interactive/collab-command.js +0 -115
- package/dist/shell/interactive/super-fight-ui.d.ts +0 -80
- package/dist/shell/interactive/super-fight-ui.js +0 -484
- package/dist/shell/status/collab-status.d.ts +0 -18
- package/dist/shell/status/collab-status.js +0 -46
- package/xll/python/Lib/site-packages/pip/_internal/build_env.py +0 -606
- /package/dist/{tui → autocomplete}/skill-autocomplete.js +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/INSTALLER +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/REQUESTED +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/WHEEL +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/entry_points.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/LICENSE.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/cachecontrol/LICENSE.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/certifi/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distlib/LICENSE.txt +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/distro/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/msgpack/COPYING +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.APACHE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/packaging/LICENSE.BSD +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pkg_resources/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/platformdirs/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pygments/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/pyproject_hooks/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/requests/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/resolvelib/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/rich/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/tomli_w/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/truststore/LICENSE +0 -0
- /package/xll/python/Lib/site-packages/{pip-26.1.2.dist-info → pip-26.2.dist-info}/licenses/src/pip/_vendor/urllib3/LICENSE.txt +0 -0
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export const SHORTCUT_STREAM_IDLE_TIMEOUT_MS = 180_000;
|
|
2
|
-
function parseSseBlock(block) {
|
|
3
|
-
if (!block.trim()) {
|
|
4
|
-
return null;
|
|
5
|
-
}
|
|
6
|
-
let eventName = '';
|
|
7
|
-
let data = '';
|
|
8
|
-
for (const rawLine of block.replace(/\r\n/g, '\n').split('\n')) {
|
|
9
|
-
const line = rawLine.trimEnd();
|
|
10
|
-
if (line.startsWith('event: ')) {
|
|
11
|
-
eventName = line.slice(7);
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
if (line.startsWith('data: ')) {
|
|
15
|
-
data = line.slice(6);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
if (!eventName || !data) {
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
return JSON.parse(`{"event":${JSON.stringify(eventName)},"payload":${data}}`);
|
|
22
|
-
}
|
|
23
|
-
export async function readShortcutStream(response, onEvent, idleTimeoutMs = SHORTCUT_STREAM_IDLE_TIMEOUT_MS, observers = {}) {
|
|
24
|
-
if (!response.body) {
|
|
25
|
-
throw new Error('ShortcutXL runtime stream returned no response body.');
|
|
26
|
-
}
|
|
27
|
-
const reader = response.body.getReader();
|
|
28
|
-
const decoder = new TextDecoder();
|
|
29
|
-
let buffer = '';
|
|
30
|
-
while (true) {
|
|
31
|
-
const next = await readWithIdleTimeout(reader, idleTimeoutMs);
|
|
32
|
-
if (next.done) {
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
observers.onBytes?.(next.value.byteLength);
|
|
36
|
-
buffer += decoder.decode(next.value, { stream: true });
|
|
37
|
-
const parts = buffer.replace(/\r\n/g, '\n').split('\n\n');
|
|
38
|
-
buffer = parts.pop() ?? '';
|
|
39
|
-
for (const part of parts) {
|
|
40
|
-
const parsed = parseSseBlock(part);
|
|
41
|
-
if (parsed) {
|
|
42
|
-
observers.onEvent?.();
|
|
43
|
-
onEvent(parsed);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
buffer += decoder.decode();
|
|
48
|
-
const parsed = parseSseBlock(buffer);
|
|
49
|
-
if (parsed) {
|
|
50
|
-
observers.onEvent?.();
|
|
51
|
-
onEvent(parsed);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async function readWithIdleTimeout(reader, idleTimeoutMs) {
|
|
55
|
-
if (idleTimeoutMs <= 0)
|
|
56
|
-
return reader.read();
|
|
57
|
-
let timeout;
|
|
58
|
-
try {
|
|
59
|
-
return await Promise.race([
|
|
60
|
-
reader.read(),
|
|
61
|
-
new Promise((_, reject) => {
|
|
62
|
-
timeout = setTimeout(() => {
|
|
63
|
-
reject(new Error('ShortcutXL runtime stream timed out waiting for data.'));
|
|
64
|
-
}, idleTimeoutMs);
|
|
65
|
-
})
|
|
66
|
-
]);
|
|
67
|
-
}
|
|
68
|
-
finally {
|
|
69
|
-
if (timeout !== undefined)
|
|
70
|
-
clearTimeout(timeout);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=stream-sse.js.map
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { ApprovalChoice, ApprovalQueueInfo, TaskSpawnApprovalData } from '../../app/approvals/types.js';
|
|
2
|
-
import { Container, type TUI } from '../../tui/index.js';
|
|
3
|
-
import type { Theme } from '../theme/runtime.js';
|
|
4
|
-
export declare class TaskSpawnApprovalComponent extends Container {
|
|
5
|
-
private readonly data;
|
|
6
|
-
private readonly theme;
|
|
7
|
-
private readonly onDone;
|
|
8
|
-
private readonly queueInfo?;
|
|
9
|
-
private readonly buttonBar;
|
|
10
|
-
private expanded;
|
|
11
|
-
/** Build the approval component for one or more subagent spawn requests. */
|
|
12
|
-
constructor(data: TaskSpawnApprovalData[], theme: Theme, onDone: (choice: ApprovalChoice) => void, queueInfo?: ApprovalQueueInfo, _viewport?: number | Pick<TUI, 'terminal'> | {
|
|
13
|
-
rows: number;
|
|
14
|
-
});
|
|
15
|
-
/** Re-render the approval container's children based on current state. */
|
|
16
|
-
private renderContent;
|
|
17
|
-
/** Route key input to button bar or expand toggle. */
|
|
18
|
-
handleInput(keyData: string): void;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=task-spawn-approval.d.ts.map
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { APPROVAL } from '../../app/approvals/types.js';
|
|
2
|
-
import { Container, getEditorKeybindings, Spacer, Text } from '../../tui/index.js';
|
|
3
|
-
import { editorKey } from '../components/primitives/keybinding-hints.js';
|
|
4
|
-
import { ApprovalButtonBar, Border } from './approval.js';
|
|
5
|
-
const QUERY_PREVIEW_LINES = 5;
|
|
6
|
-
/** Convert snake_case agent type to Title Case for display. */
|
|
7
|
-
function formatAgentType(agentType) {
|
|
8
|
-
return agentType.replace(/_/g, ' ').replace(/\b\w/g, (c) => c.toUpperCase());
|
|
9
|
-
}
|
|
10
|
-
/** Render the query as preview lines, with an expand hint when truncated. */
|
|
11
|
-
function renderQueryLines(query, expanded, contPrefix, theme) {
|
|
12
|
-
const allLines = query.split('\n');
|
|
13
|
-
const displayLines = expanded ? allLines : allLines.slice(0, QUERY_PREVIEW_LINES);
|
|
14
|
-
const lines = displayLines.map((line) => `${contPrefix}${theme.fg('text', line)}`);
|
|
15
|
-
if (!expanded && allLines.length > QUERY_PREVIEW_LINES) {
|
|
16
|
-
lines.push(`${contPrefix}${theme.fg('muted', `... (${allLines.length - QUERY_PREVIEW_LINES} more lines, ${editorKey('expandTools')} to expand)`)}`);
|
|
17
|
-
}
|
|
18
|
-
return lines;
|
|
19
|
-
}
|
|
20
|
-
/** Render the tree-style list of pending subagent task entries. */
|
|
21
|
-
function renderTaskEntries(items, expanded, theme) {
|
|
22
|
-
const lines = [];
|
|
23
|
-
for (let i = 0; i < items.length; i++) {
|
|
24
|
-
const item = items[i];
|
|
25
|
-
const isLast = i === items.length - 1;
|
|
26
|
-
const branch = isLast ? '└─ ' : '├─ ';
|
|
27
|
-
const cont = isLast ? ' ' : '│ ';
|
|
28
|
-
const agentLabel = formatAgentType(item.subagentType);
|
|
29
|
-
const modelSuffix = item.model ? theme.fg('dim', ` ${item.model}`) : '';
|
|
30
|
-
const fullWorkerLabel = theme.fg('warning', ' full worker');
|
|
31
|
-
const launchLabel = theme.fg('muted', ` requested ${item.requestedRunInBackground ? 'background' : 'foreground'}`);
|
|
32
|
-
const recursiveSpawnLabel = item.canSpawnSubagents
|
|
33
|
-
? theme.fg('warning', ' recursive spawn')
|
|
34
|
-
: '';
|
|
35
|
-
lines.push(`${theme.fg('dim', branch)}${theme.fg('accent', item.name || 'Subagent')} ${theme.fg('dim', `[${agentLabel}]`)}${modelSuffix}${fullWorkerLabel}${launchLabel}${recursiveSpawnLabel}`);
|
|
36
|
-
lines.push(...renderQueryLines(item.query, expanded, theme.fg('dim', cont), theme));
|
|
37
|
-
}
|
|
38
|
-
return lines;
|
|
39
|
-
}
|
|
40
|
-
export class TaskSpawnApprovalComponent extends Container {
|
|
41
|
-
data;
|
|
42
|
-
theme;
|
|
43
|
-
onDone;
|
|
44
|
-
queueInfo;
|
|
45
|
-
buttonBar;
|
|
46
|
-
expanded = false;
|
|
47
|
-
/** Build the approval component for one or more subagent spawn requests. */
|
|
48
|
-
constructor(data, theme, onDone, queueInfo, _viewport) {
|
|
49
|
-
super();
|
|
50
|
-
this.data = data;
|
|
51
|
-
this.theme = theme;
|
|
52
|
-
this.onDone = onDone;
|
|
53
|
-
this.queueInfo = queueInfo;
|
|
54
|
-
this.buttonBar = new ApprovalButtonBar(theme, `←→ select enter confirm ${editorKey('expandTools')} expand esc cancel`, [APPROVAL.RUN_FOREGROUND, APPROVAL.RUN_BACKGROUND, APPROVAL.REJECT]);
|
|
55
|
-
this.renderContent();
|
|
56
|
-
}
|
|
57
|
-
/** Re-render the approval container's children based on current state. */
|
|
58
|
-
renderContent() {
|
|
59
|
-
this.clear();
|
|
60
|
-
const borderColor = (s) => this.theme.fg('border', s);
|
|
61
|
-
const queueLabel = this.queueInfo
|
|
62
|
-
? this.theme.fg('accent', ` (${this.queueInfo.current}/${this.queueInfo.total})`)
|
|
63
|
-
: '';
|
|
64
|
-
const count = this.data.length;
|
|
65
|
-
const header = count === 1 ? ' Review subagent spawn' : ` Review ${count} parallel subagent spawns`;
|
|
66
|
-
this.addChild(new Border(borderColor));
|
|
67
|
-
this.addChild(new Text(this.theme.fg('accent', header) + queueLabel, 0, 0));
|
|
68
|
-
this.addChild(new Spacer(1));
|
|
69
|
-
this.addChild(new Text(this.theme.fg('dim', ' Approving this launch authorizes a full-worker subagent for this run.'), 0, 0));
|
|
70
|
-
if (this.data.some((item) => item.canSpawnSubagents)) {
|
|
71
|
-
this.addChild(new Text(this.theme.fg('warning', ' This subagent can recursively spawn more full-worker subagents.'), 0, 0));
|
|
72
|
-
this.addChild(new Spacer(1));
|
|
73
|
-
}
|
|
74
|
-
this.addChild(new Spacer(1));
|
|
75
|
-
this.addChild(new Text(renderTaskEntries(this.data, this.expanded, this.theme).join('\n'), 0, 0));
|
|
76
|
-
this.addChild(new Spacer(1));
|
|
77
|
-
this.addChild(this.buttonBar.getContainer());
|
|
78
|
-
this.addChild(new Border(borderColor));
|
|
79
|
-
}
|
|
80
|
-
/** Route key input to button bar or expand toggle. */
|
|
81
|
-
handleInput(keyData) {
|
|
82
|
-
const choice = this.buttonBar.handleInput(keyData);
|
|
83
|
-
if (choice) {
|
|
84
|
-
this.onDone(choice);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
if (getEditorKeybindings().matches(keyData, 'expandTools')) {
|
|
88
|
-
this.expanded = !this.expanded;
|
|
89
|
-
this.renderContent();
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=task-spawn-approval.js.map
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* /collab slash command — thin TUI wrapper over CollabManager.
|
|
3
|
-
*
|
|
4
|
-
* All orchestration logic lives in app/collab/collab-manager.ts.
|
|
5
|
-
* This file only handles argument parsing and TUI rendering.
|
|
6
|
-
*/
|
|
7
|
-
import type { CommandContext } from './slash-commands.js';
|
|
8
|
-
export declare function collabCommand(args: string, ctx: CommandContext): Promise<void>;
|
|
9
|
-
//# sourceMappingURL=collab-command.d.ts.map
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* /collab slash command — thin TUI wrapper over CollabManager.
|
|
3
|
-
*
|
|
4
|
-
* All orchestration logic lives in app/collab/collab-manager.ts.
|
|
5
|
-
* This file only handles argument parsing and TUI rendering.
|
|
6
|
-
*/
|
|
7
|
-
import { Spacer, Text } from '../../tui/index.js';
|
|
8
|
-
import { theme } from '../theme/runtime.js';
|
|
9
|
-
// ── Command handler ─────────────────────────────────────────────────────
|
|
10
|
-
export async function collabCommand(args, ctx) {
|
|
11
|
-
const parts = args.trim().split(/\s+/);
|
|
12
|
-
const subcommand = parts[0] || '';
|
|
13
|
-
const manager = ctx.getCollabClient();
|
|
14
|
-
// /collab name <username>
|
|
15
|
-
if (subcommand === 'name') {
|
|
16
|
-
const newName = parts.slice(1).join(' ').trim();
|
|
17
|
-
if (!newName) {
|
|
18
|
-
const current = manager.currentDisplayName() ?? '(not set)';
|
|
19
|
-
ctx.chat.addChild(new Spacer(1));
|
|
20
|
-
ctx.chat.addChild(new Text(theme.fg('dim', `Collab name: ${current}`), 1, 0));
|
|
21
|
-
ctx.requestRender();
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
manager.setDisplayName(newName);
|
|
25
|
-
ctx.chat.addChild(new Spacer(1));
|
|
26
|
-
ctx.chat.addChild(new Text(theme.fg('dim', `Collab name set: ${newName}`), 1, 0));
|
|
27
|
-
ctx.requestRender();
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
// /collab leave
|
|
31
|
-
if (subcommand === 'leave') {
|
|
32
|
-
if (!manager.inRoom) {
|
|
33
|
-
ctx.feedback.showError('Not in a collaboration session.');
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
ctx.stopSuperFight?.();
|
|
37
|
-
manager.leave();
|
|
38
|
-
ctx.chat.addChild(new Spacer(1));
|
|
39
|
-
ctx.chat.addChild(new Text(theme.fg('dim', 'Left the collaboration session.'), 1, 0));
|
|
40
|
-
ctx.requestRender();
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
// /collab status
|
|
44
|
-
if (subcommand === 'status') {
|
|
45
|
-
if (!manager.inRoom) {
|
|
46
|
-
ctx.feedback.showError('Not in a collaboration session. Use /collab to create or join one.');
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
renderStatus(manager, ctx);
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
// Show generated name on first use
|
|
53
|
-
const { name: displayName, isNew: isNewName } = manager.getDisplayName();
|
|
54
|
-
if (isNewName) {
|
|
55
|
-
ctx.chat.addChild(new Spacer(1));
|
|
56
|
-
ctx.chat.addChild(new Text(theme.fg('dim', `Your collab name: ${displayName} — change it with /collab name <name>`), 1, 0));
|
|
57
|
-
}
|
|
58
|
-
// /collab (no args) — create room or show status
|
|
59
|
-
if (!subcommand) {
|
|
60
|
-
if (manager.inRoom) {
|
|
61
|
-
renderStatus(manager, ctx);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
try {
|
|
65
|
-
const result = await manager.createRoom(displayName);
|
|
66
|
-
ctx.chat.addChild(new Spacer(1));
|
|
67
|
-
ctx.chat.addChild(new Text(theme.fg('accent', `Room created: ${result.roomId}`), 1, 0));
|
|
68
|
-
ctx.chat.addChild(new Text(theme.fg('dim', `Share this ID with peers: /collab ${result.roomId}`), 1, 0));
|
|
69
|
-
ctx.requestRender();
|
|
70
|
-
}
|
|
71
|
-
catch (err) {
|
|
72
|
-
ctx.feedback.showError(`Failed to create room: ${err instanceof Error ? err.message : err}`);
|
|
73
|
-
}
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
// /collab <roomId> — join room
|
|
77
|
-
try {
|
|
78
|
-
const result = await manager.joinRoom(subcommand, displayName);
|
|
79
|
-
ctx.chat.addChild(new Spacer(1));
|
|
80
|
-
ctx.chat.addChild(new Text(theme.fg('accent', `Joined room: ${result.roomId}`), 1, 0));
|
|
81
|
-
if (result.peers.length > 0) {
|
|
82
|
-
const names = result.peers.map((p) => p.displayName).join(', ');
|
|
83
|
-
ctx.chat.addChild(new Text(theme.fg('dim', `Peers: ${names}`), 1, 0));
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
ctx.chat.addChild(new Text(theme.fg('dim', 'No other peers in the room yet.'), 1, 0));
|
|
87
|
-
}
|
|
88
|
-
ctx.requestRender();
|
|
89
|
-
}
|
|
90
|
-
catch (err) {
|
|
91
|
-
ctx.feedback.showError(`Failed to join room: ${err instanceof Error ? err.message : err}`);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// ── Status rendering ────────────────────────────────────────────────────
|
|
95
|
-
function renderStatus(manager, ctx) {
|
|
96
|
-
const status = manager.getStatus();
|
|
97
|
-
ctx.chat.addChild(new Spacer(1));
|
|
98
|
-
ctx.chat.addChild(new Text(theme.fg('accent', `Room: ${status.roomId}`), 1, 0));
|
|
99
|
-
ctx.chat.addChild(new Text(theme.fg('dim', `Peers (${status.peers.length}):`), 1, 0));
|
|
100
|
-
for (const peer of status.peers) {
|
|
101
|
-
let line = ` • ${peer.displayName}`;
|
|
102
|
-
if (peer.sheets && peer.sheets.length > 0) {
|
|
103
|
-
const sheetNames = peer.sheets
|
|
104
|
-
.map((s) => `${s.name} (${s.cellCount} cells${s.usedRange ? `, ${s.usedRange}` : ''})`)
|
|
105
|
-
.join(', ');
|
|
106
|
-
line += ` — ${sheetNames}`;
|
|
107
|
-
}
|
|
108
|
-
ctx.chat.addChild(new Text(theme.fg('dim', line), 1, 0));
|
|
109
|
-
}
|
|
110
|
-
if (status.peers.length === 0) {
|
|
111
|
-
ctx.chat.addChild(new Text(theme.fg('dim', ' (none)'), 1, 0));
|
|
112
|
-
}
|
|
113
|
-
ctx.requestRender();
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=collab-command.js.map
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Super Fight UI — Terminal takeover for the multiplayer ASCII fighting game.
|
|
3
|
-
*
|
|
4
|
-
* Clears and takes over the outer TUI's alternate screen, intercepts all
|
|
5
|
-
* keyboard input, runs the game loop, and bridges the headless game engine
|
|
6
|
-
* with terminal rendering and network I/O.
|
|
7
|
-
*/
|
|
8
|
-
import type { CollabClient } from '../../app/collab/collab-client.js';
|
|
9
|
-
import type { PeerInfo } from '../../app/collab/types.js';
|
|
10
|
-
interface TUILike {
|
|
11
|
-
addInputListener(listener: (data: string) => {
|
|
12
|
-
consume: boolean;
|
|
13
|
-
} | undefined): () => void;
|
|
14
|
-
removeInputListener(listener: (data: string) => {
|
|
15
|
-
consume: boolean;
|
|
16
|
-
} | undefined): void;
|
|
17
|
-
requestRender(force?: boolean): void;
|
|
18
|
-
/** Suppress TUI rendering while a fullscreen takeover is active */
|
|
19
|
-
renderSuspended: boolean;
|
|
20
|
-
terminal: {
|
|
21
|
-
columns: number;
|
|
22
|
-
rows: number;
|
|
23
|
-
write(data: string): void;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export interface SuperFightUIOptions {
|
|
27
|
-
ui: TUILike;
|
|
28
|
-
client: CollabClient;
|
|
29
|
-
localPeerId: string;
|
|
30
|
-
localDisplayName: string;
|
|
31
|
-
peers: Map<string, PeerInfo>;
|
|
32
|
-
}
|
|
33
|
-
export declare class SuperFightUI {
|
|
34
|
-
private ui;
|
|
35
|
-
private client;
|
|
36
|
-
private localPeerId;
|
|
37
|
-
private localDisplayName;
|
|
38
|
-
private gameState;
|
|
39
|
-
private gameLoop;
|
|
40
|
-
private removeInputListener;
|
|
41
|
-
private inputListener;
|
|
42
|
-
private resizeHandler;
|
|
43
|
-
private running;
|
|
44
|
-
private paused;
|
|
45
|
-
private localAction;
|
|
46
|
-
/** Set of target IDs we've already registered a hit for this attack */
|
|
47
|
-
private hitTargets;
|
|
48
|
-
private titleScreenTimeout;
|
|
49
|
-
private showingTitle;
|
|
50
|
-
private killFeed;
|
|
51
|
-
/** Tick counter for respawn invincibility flash */
|
|
52
|
-
private invincibilityTicks;
|
|
53
|
-
/** Callback fired when game stops (for cleanup by InteractiveMode) */
|
|
54
|
-
onStop?: () => void;
|
|
55
|
-
constructor(opts: SuperFightUIOptions);
|
|
56
|
-
start(): void;
|
|
57
|
-
stop(): void;
|
|
58
|
-
private showTitleAndStart;
|
|
59
|
-
private startGameLoop;
|
|
60
|
-
private tick;
|
|
61
|
-
private handleInput;
|
|
62
|
-
private applyLocalInput;
|
|
63
|
-
/** Called by the chat handler when a game message arrives */
|
|
64
|
-
handleGameMessage(peerId: string, text: string): void;
|
|
65
|
-
private handleRemoteState;
|
|
66
|
-
/** Add a peer that joined the collab room during the game */
|
|
67
|
-
addPeer(peerId: string, displayName: string): void;
|
|
68
|
-
/** Remove a peer that left the collab room during the game */
|
|
69
|
-
removePeer(peerId: string): void;
|
|
70
|
-
private addKillFeedEntry;
|
|
71
|
-
private tickCount;
|
|
72
|
-
private renderGameFrame;
|
|
73
|
-
private renderTitleScreen;
|
|
74
|
-
private checkSize;
|
|
75
|
-
private handleResize;
|
|
76
|
-
private renderSizeWarning;
|
|
77
|
-
get isRunning(): boolean;
|
|
78
|
-
}
|
|
79
|
-
export {};
|
|
80
|
-
//# sourceMappingURL=super-fight-ui.d.ts.map
|