@ashx-j/lunr 0.2.20 → 0.2.22
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/CHANGELOG.md +14 -2
- package/README.md +20 -4
- package/dist/builtin-extensions/index.d.ts.map +1 -1
- package/dist/builtin-extensions/index.js +1 -0
- package/dist/builtin-extensions/index.js.map +1 -1
- package/dist/builtin-extensions/lunr-browser.d.ts +3 -0
- package/dist/builtin-extensions/lunr-browser.d.ts.map +1 -0
- package/dist/builtin-extensions/lunr-browser.js +56 -0
- package/dist/builtin-extensions/lunr-browser.js.map +1 -0
- package/dist/builtin-extensions/lunr-todos.d.ts +6 -5
- package/dist/builtin-extensions/lunr-todos.d.ts.map +1 -1
- package/dist/builtin-extensions/lunr-todos.js +24 -7
- package/dist/builtin-extensions/lunr-todos.js.map +1 -1
- package/dist/builtin-extensions/pi-intercom/broker/spawn.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-intercom/broker/spawn.js +30 -21
- package/dist/builtin-extensions/pi-intercom/broker/spawn.js.map +1 -1
- package/dist/builtin-extensions/pi-intercom/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-intercom/index.js +15 -3
- package/dist/builtin-extensions/pi-intercom/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js +5 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/control-notices.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/extension/fanout-child.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts +8 -7
- package/dist/builtin-extensions/pi-subagents/src/extension/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js +78 -31
- package/dist/builtin-extensions/pi-subagents/src/extension/index.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js +2 -2
- package/dist/builtin-extensions/pi-subagents/src/extension/schemas.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts +4 -3
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js +6 -2
- package/dist/builtin-extensions/pi-subagents/src/extension/tool-description.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/communication.d.ts +17 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/communication.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/communication.js +45 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/communication.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js +4 -11
- package/dist/builtin-extensions/pi-subagents/src/intercom/intercom-bridge.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts +5 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js +186 -58
- package/dist/builtin-extensions/pi-subagents/src/intercom/native-supervisor-channel.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/result-intercom.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-ask.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-ask.js +5 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-ask.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.js +3 -2
- package/dist/builtin-extensions/pi-subagents/src/intercom/supervisor-questions.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js +4 -3
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/async-job-tracker.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js +2 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/auto-drain.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts +6 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js +23 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/notify.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/result-watcher.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts +100 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js +46 -31
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-runner.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js +2 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/background/subagent-wait.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.d.ts +15 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.js +14 -4
- package/dist/builtin-extensions/pi-subagents/src/runs/background/top-level-async.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/background/wait-tool.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/execution.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts +0 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js +9 -9
- package/dist/builtin-extensions/pi-subagents/src/runs/foreground/subagent-executor.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.d.ts +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/completion-guard.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/parallel-utils.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts +3 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js +5 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/pi-args.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts +1 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js +3 -0
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-control.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/subagent-prompt-runtime.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts +2 -2
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js +5 -10
- package/dist/builtin-extensions/pi-subagents/src/runs/shared/task-intent.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/async-guidance.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/async-guidance.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/async-guidance.js +3 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/async-guidance.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts +6 -0
- package/dist/builtin-extensions/pi-subagents/src/shared/types.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/shared/types.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/delegation-adapters.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts +7 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js +11 -7
- package/dist/builtin-extensions/pi-subagents/src/slash/prompt-workflows.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts +4 -0
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js +22 -23
- package/dist/builtin-extensions/pi-subagents/src/slash/slash-commands.js.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.d.ts +18 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.d.ts.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.js +47 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/communication.js.map +1 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts +2 -0
- package/dist/builtin-extensions/pi-subagents/src/tui/render.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js +237 -374
- package/dist/builtin-extensions/pi-subagents/src/tui/render.js.map +1 -1
- package/dist/builtin-extensions/pi-web-access/index.d.ts.map +1 -1
- package/dist/builtin-extensions/pi-web-access/index.js +11 -7
- package/dist/builtin-extensions/pi-web-access/index.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +2 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/install-cli.d.ts.map +1 -1
- package/dist/cli/install-cli.js +15 -45
- package/dist/cli/install-cli.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts +9 -0
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +126 -29
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session.d.ts +3 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +20 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/browser/network.d.ts +9 -0
- package/dist/core/browser/network.d.ts.map +1 -0
- package/dist/core/browser/network.js +146 -0
- package/dist/core/browser/network.js.map +1 -0
- package/dist/core/browser/runtime.d.ts +24 -0
- package/dist/core/browser/runtime.d.ts.map +1 -0
- package/dist/core/browser/runtime.js +289 -0
- package/dist/core/browser/runtime.js.map +1 -0
- package/dist/core/browser/schema.d.ts +16 -0
- package/dist/core/browser/schema.d.ts.map +1 -0
- package/dist/core/browser/schema.js +36 -0
- package/dist/core/browser/schema.js.map +1 -0
- package/dist/core/browser/settings.d.ts +8 -0
- package/dist/core/browser/settings.d.ts.map +1 -0
- package/dist/core/browser/settings.js +30 -0
- package/dist/core/browser/settings.js.map +1 -0
- package/dist/core/browser/setup.d.ts +2 -0
- package/dist/core/browser/setup.d.ts.map +1 -0
- package/dist/core/browser/setup.js +16 -0
- package/dist/core/browser/setup.js.map +1 -0
- package/dist/core/customize.d.ts +2 -0
- package/dist/core/customize.d.ts.map +1 -1
- package/dist/core/customize.js +17 -13
- package/dist/core/customize.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +1 -1
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +1 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +1 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts +1 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/install-features.d.ts.map +1 -1
- package/dist/core/install-features.js +10 -8
- package/dist/core/install-features.js.map +1 -1
- package/dist/core/memory-cap.d.ts.map +1 -1
- package/dist/core/memory-cap.js +5 -3
- package/dist/core/memory-cap.js.map +1 -1
- package/dist/core/model-tiers.d.ts.map +1 -1
- package/dist/core/model-tiers.js +9 -6
- package/dist/core/model-tiers.js.map +1 -1
- package/dist/core/permissions.d.ts.map +1 -1
- package/dist/core/permissions.js +9 -0
- package/dist/core/permissions.js.map +1 -1
- package/dist/core/plan-mode.d.ts.map +1 -1
- package/dist/core/plan-mode.js +3 -0
- package/dist/core/plan-mode.js.map +1 -1
- package/dist/core/process-registry.d.ts.map +1 -1
- package/dist/core/process-registry.js +6 -4
- package/dist/core/process-registry.js.map +1 -1
- package/dist/core/runtime-scope.d.ts +11 -0
- package/dist/core/runtime-scope.d.ts.map +1 -0
- package/dist/core/runtime-scope.js +3 -0
- package/dist/core/runtime-scope.js.map +1 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +13 -0
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-handoff.d.ts +35 -0
- package/dist/core/session-handoff.d.ts.map +1 -0
- package/dist/core/session-handoff.js +214 -0
- package/dist/core/session-handoff.js.map +1 -0
- package/dist/core/session-manager.d.ts +20 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +184 -22
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-ownership.d.ts +28 -0
- package/dist/core/session-ownership.d.ts.map +1 -0
- package/dist/core/session-ownership.js +138 -0
- package/dist/core/session-ownership.js.map +1 -0
- package/dist/core/session-retention.d.ts.map +1 -1
- package/dist/core/session-retention.js +11 -2
- package/dist/core/session-retention.js.map +1 -1
- package/dist/core/settings-manager.d.ts +11 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +29 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/subagent-spinner-setting.d.ts +6 -0
- package/dist/core/subagent-spinner-setting.d.ts.map +1 -0
- package/dist/core/subagent-spinner-setting.js +12 -0
- package/dist/core/subagent-spinner-setting.js.map +1 -0
- package/dist/core/subagent-spinner.d.ts +4 -0
- package/dist/core/subagent-spinner.d.ts.map +1 -0
- package/dist/core/subagent-spinner.js +6 -0
- package/dist/core/subagent-spinner.js.map +1 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +5 -2
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/todo-settings.d.ts +5 -0
- package/dist/core/todo-settings.d.ts.map +1 -0
- package/dist/core/todo-settings.js +7 -0
- package/dist/core/todo-settings.js.map +1 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +4 -4
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +5 -3
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +4 -4
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +4 -4
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +4 -4
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +4 -4
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts +11 -2
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js +31 -4
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +4 -4
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/usage-service.d.ts.map +1 -1
- package/dist/core/usage-service.js +5 -3
- package/dist/core/usage-service.js.map +1 -1
- package/dist/gateway/adapters/discord.d.ts +12 -1
- package/dist/gateway/adapters/discord.d.ts.map +1 -1
- package/dist/gateway/adapters/discord.js +112 -17
- package/dist/gateway/adapters/discord.js.map +1 -1
- package/dist/gateway/adapters/telegram.d.ts +4 -2
- package/dist/gateway/adapters/telegram.d.ts.map +1 -1
- package/dist/gateway/adapters/telegram.js +34 -11
- package/dist/gateway/adapters/telegram.js.map +1 -1
- package/dist/gateway/agent-bridge.d.ts +14 -3
- package/dist/gateway/agent-bridge.d.ts.map +1 -1
- package/dist/gateway/agent-bridge.js +252 -60
- package/dist/gateway/agent-bridge.js.map +1 -1
- package/dist/gateway/approval.d.ts +1 -0
- package/dist/gateway/approval.d.ts.map +1 -1
- package/dist/gateway/approval.js +60 -18
- package/dist/gateway/approval.js.map +1 -1
- package/dist/gateway/authz.d.ts +2 -0
- package/dist/gateway/authz.d.ts.map +1 -1
- package/dist/gateway/authz.js +13 -0
- package/dist/gateway/authz.js.map +1 -1
- package/dist/gateway/buttons.d.ts +3 -1
- package/dist/gateway/buttons.d.ts.map +1 -1
- package/dist/gateway/buttons.js +18 -3
- package/dist/gateway/buttons.js.map +1 -1
- package/dist/gateway/command.d.ts.map +1 -1
- package/dist/gateway/command.js +49 -4
- package/dist/gateway/command.js.map +1 -1
- package/dist/gateway/commands.d.ts.map +1 -1
- package/dist/gateway/commands.js +18 -3
- package/dist/gateway/commands.js.map +1 -1
- package/dist/gateway/config.d.ts +5 -0
- package/dist/gateway/config.d.ts.map +1 -1
- package/dist/gateway/config.js +5 -0
- package/dist/gateway/config.js.map +1 -1
- package/dist/gateway/conversations.d.ts +14 -0
- package/dist/gateway/conversations.d.ts.map +1 -0
- package/dist/gateway/conversations.js +30 -0
- package/dist/gateway/conversations.js.map +1 -0
- package/dist/gateway/download.d.ts +2 -0
- package/dist/gateway/download.d.ts.map +1 -0
- package/dist/gateway/download.js +36 -0
- package/dist/gateway/download.js.map +1 -0
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +85 -26
- package/dist/gateway/index.js.map +1 -1
- package/dist/gateway/mobile-commands.d.ts +24 -0
- package/dist/gateway/mobile-commands.d.ts.map +1 -0
- package/dist/gateway/mobile-commands.js +422 -0
- package/dist/gateway/mobile-commands.js.map +1 -0
- package/dist/gateway/presenter.d.ts +16 -0
- package/dist/gateway/presenter.d.ts.map +1 -0
- package/dist/gateway/presenter.js +210 -0
- package/dist/gateway/presenter.js.map +1 -0
- package/dist/gateway/router.d.ts +1 -0
- package/dist/gateway/router.d.ts.map +1 -1
- package/dist/gateway/router.js +32 -3
- package/dist/gateway/router.js.map +1 -1
- package/dist/gateway/service.d.ts +46 -0
- package/dist/gateway/service.d.ts.map +1 -0
- package/dist/gateway/service.js +395 -0
- package/dist/gateway/service.js.map +1 -0
- package/dist/gateway/setup.d.ts +4 -0
- package/dist/gateway/setup.d.ts.map +1 -0
- package/dist/gateway/setup.js +146 -0
- package/dist/gateway/setup.js.map +1 -0
- package/dist/gateway/types.d.ts +4 -2
- package/dist/gateway/types.d.ts.map +1 -1
- package/dist/gateway/types.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +11 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +53 -16
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/copyable-text.d.ts +31 -0
- package/dist/modes/interactive/components/copyable-text.d.ts.map +1 -0
- package/dist/modes/interactive/components/copyable-text.js +165 -0
- package/dist/modes/interactive/components/copyable-text.js.map +1 -0
- package/dist/modes/interactive/components/custom-entry.d.ts +1 -0
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js +8 -0
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +1 -0
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +8 -0
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +16 -0
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts +9 -0
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +111 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/extension-widget-order.d.ts +8 -0
- package/dist/modes/interactive/extension-widget-order.d.ts.map +1 -0
- package/dist/modes/interactive/extension-widget-order.js +37 -0
- package/dist/modes/interactive/extension-widget-order.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +3 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +166 -29
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/node-runtime/agent-session-services-NQ6GKOIK.js +49 -0
- package/dist/node-runtime/{builtin-extensions-X4JMM4ZS.js → builtin-extensions-GVC6IFDU.js} +6 -4
- package/dist/node-runtime/{chunk-LTYWTR3V.js → chunk-2MI5OPMN.js} +17 -2
- package/dist/node-runtime/{chunk-W3CVH5RX.js → chunk-2TKODGBZ.js} +11 -6
- package/dist/node-runtime/chunk-4EULYYR4.js +62 -0
- package/dist/node-runtime/chunk-5BNJ4JUH.js +672 -0
- package/dist/node-runtime/{chunk-6N22HULO.js → chunk-5D7LC2ZQ.js} +7 -2
- package/dist/node-runtime/chunk-5ZH3ZFIZ.js +308 -0
- package/dist/node-runtime/{chunk-KBKMCJDU.js → chunk-5ZQXRPMC.js} +19 -4
- package/dist/node-runtime/{chunk-6KDIOJL3.js → chunk-6427XAWG.js} +3 -3
- package/dist/node-runtime/{chunk-BOHIDQT4.js → chunk-6B2POMK7.js} +1 -1
- package/dist/node-runtime/{chunk-RNBHABBA.js → chunk-7QWNYZDI.js} +7 -0
- package/dist/node-runtime/chunk-AZJHNQKQ.js +205 -0
- package/dist/node-runtime/chunk-BFNXONG3.js +521 -0
- package/dist/node-runtime/{chunk-IRPJXI6U.js → chunk-BX2RB477.js} +1 -1
- package/dist/node-runtime/chunk-CCCN2UCX.js +14 -0
- package/dist/node-runtime/{chunk-25I2BHAA.js → chunk-CSUZVNYE.js} +1 -1
- package/dist/node-runtime/{chunk-QZMODZQ2.js → chunk-E24EO34J.js} +2 -1
- package/dist/node-runtime/{chunk-QKFMBRAL.js → chunk-EQ63ANHL.js} +508 -140
- package/dist/node-runtime/{chunk-ELWEXVO5.js → chunk-GJSAD4AB.js} +216 -201
- package/dist/node-runtime/{chunk-AOFXZQKA.js → chunk-GMHJCCEN.js} +8 -8
- package/dist/node-runtime/{chunk-DDWHZ633.js → chunk-GNN7H3B7.js} +1 -1
- package/dist/node-runtime/chunk-GS66LV4M.js +2830 -0
- package/dist/node-runtime/{chunk-6BEIBLQ3.js → chunk-H3XF4UVQ.js} +1 -1
- package/dist/node-runtime/chunk-H4K3JDRB.js +47 -0
- package/dist/node-runtime/{chunk-AROOY4BB.js → chunk-HTFRRDSF.js} +2 -7
- package/dist/node-runtime/chunk-IMLCWLPI.js +9 -0
- package/dist/node-runtime/{chunk-4CSFRBCN.js → chunk-IQIEU7SB.js} +9 -674
- package/dist/node-runtime/{chunk-OPEK5RRY.js → chunk-IVXYUAJE.js} +1 -1
- package/dist/node-runtime/{chunk-AL2FMKKM.js → chunk-IWOWXRWU.js} +58 -48
- package/dist/node-runtime/chunk-KKUTQQV7.js +144 -0
- package/dist/node-runtime/chunk-LISUTZS3.js +19 -0
- package/dist/node-runtime/{chunk-K3646JTM.js → chunk-LMBNLFXQ.js} +25 -314
- package/dist/node-runtime/{chunk-7NBZ5P7I.js → chunk-NAY6UUQZ.js} +1 -1
- package/dist/node-runtime/chunk-OAR4TYZE.js +146 -0
- package/dist/node-runtime/{chunk-STERBGUB.js → chunk-OFKSVRV7.js} +2 -2
- package/dist/node-runtime/{chunk-JZQ7F36T.js → chunk-ORH324EP.js} +19 -3
- package/dist/node-runtime/{chunk-2SJB2AWP.js → chunk-PC2Z5TKZ.js} +3 -3
- package/dist/node-runtime/{chunk-46ECNOLF.js → chunk-QDGKKKUM.js} +97 -162
- package/dist/node-runtime/chunk-R3K2F5GI.js +122 -0
- package/dist/node-runtime/chunk-RMQZU2YU.js +117 -0
- package/dist/node-runtime/{chunk-JYNNB7DU.js → chunk-TDL7UWJ7.js} +283 -2999
- package/dist/node-runtime/{chunk-G6LRAP36.js → chunk-TQGPP4SC.js} +1 -1
- package/dist/node-runtime/chunk-UAEOTO52.js +119 -0
- package/dist/node-runtime/{chunk-4DJ6HEGH.js → chunk-UAFLNHSH.js} +18 -14
- package/dist/node-runtime/{chunk-AY6CAJSL.js → chunk-UJOCPOMX.js} +6 -3
- package/dist/node-runtime/chunk-UP2XBVH5.js +40 -0
- package/dist/node-runtime/{chunk-WJVFOIB5.js → chunk-UQUCFAJ3.js} +1 -1
- package/dist/node-runtime/chunk-URD2SLIT.js +1019 -0
- package/dist/node-runtime/chunk-US544NN6.js +13 -0
- package/dist/node-runtime/chunk-UWPJL22I.js +341 -0
- package/dist/node-runtime/chunk-V2A7CEXK.js +355 -0
- package/dist/node-runtime/chunk-VJPTNWAP.js +708 -0
- package/dist/node-runtime/{chunk-WKDK4C5P.js → chunk-VSSXXL36.js} +38 -164
- package/dist/node-runtime/{chunk-4I23VTC4.js → chunk-VWCE2HSZ.js} +21 -124
- package/dist/node-runtime/{chunk-CBGB57XT.js → chunk-WADV2VDS.js} +32 -1014
- package/dist/node-runtime/{chunk-GKLEQ3I4.js → chunk-XLTL257W.js} +126 -27
- package/dist/node-runtime/chunk-YPHAIRZT.js +10 -0
- package/dist/node-runtime/cli-runtime.js +2 -2
- package/dist/node-runtime/command-3JHHXOPX.js +45 -0
- package/dist/node-runtime/commands-2JVNFGMQ.js +36 -0
- package/dist/node-runtime/{commands-MV5KOZ64.js → commands-KAMO2T6P.js} +10 -10
- package/dist/node-runtime/config-RORQUQFG.js +20 -0
- package/dist/node-runtime/{customize-XEXL2DGQ.js → customize-VFJV3U6A.js} +2 -1
- package/dist/node-runtime/{direct-tool-executor-BK7CLEBX.js → direct-tool-executor-YAVOLDFY.js} +8 -8
- package/dist/node-runtime/{export-html-TEXVV5RP.js → export-html-KBFVV63J.js} +4 -3
- package/dist/node-runtime/{extension-input-O4HSAEM4.js → extension-input-K24TVKVW.js} +4 -4
- package/dist/node-runtime/{extension-selector-X5FCX43D.js → extension-selector-SPNF7EDR.js} +4 -4
- package/dist/node-runtime/{extract-XLQSJN4V.js → extract-EQJE7FZZ.js} +2 -2
- package/dist/node-runtime/{gateway-L4ANRTVE.js → gateway-VFO6SFKK.js} +275 -994
- package/dist/node-runtime/{gemini-search-U7SUMPQA.js → gemini-search-35OCRFLN.js} +1 -1
- package/dist/node-runtime/{gemini-url-context-PXWCBQHK.js → gemini-url-context-UQY3PHHW.js} +2 -2
- package/dist/node-runtime/index.js +105 -64
- package/dist/node-runtime/{init-3C7Z24OI.js → init-X2LIUB2H.js} +3 -3
- package/dist/node-runtime/{install-cli-EXMJQESX.js → install-cli-C3CF7O7N.js} +21 -82
- package/dist/node-runtime/interactive-mode-LOM6AIF6.js +72 -0
- package/dist/node-runtime/{interactive-view-ILS6TAN5.js → interactive-view-IDSCPPK7.js} +8 -8
- package/dist/node-runtime/lunr-browser-YNW7FTYX.js +87 -0
- package/dist/node-runtime/{lunr-cron-NNYTWTGF.js → lunr-cron-BKHGNBKT.js} +19 -5
- package/dist/node-runtime/main.js +45 -30
- package/dist/node-runtime/{memory-cap-3S4XRLNP.js → memory-cap-EL3KL4JJ.js} +2 -1
- package/dist/node-runtime/mobile-commands-HMP25WBC.js +32 -0
- package/dist/node-runtime/model-runtime-PLQKAG4B.js +16 -0
- package/dist/node-runtime/{model-tiers-NJLHUEGK.js → model-tiers-OU3U5CZG.js} +2 -1
- package/dist/node-runtime/{package-manager-cli-7RKSZGEN.js → package-manager-cli-VCK4E2RC.js} +23 -15
- package/dist/node-runtime/{pi-intercom-DDQMRNPJ.js → pi-intercom-HBPK5HSJ.js} +38 -34
- package/dist/node-runtime/{pi-mcp-adapter-GUFZWW54.js → pi-mcp-adapter-E6WULBKF.js} +4 -4
- package/dist/node-runtime/{pi-subagents-T5WMMLBB.js → pi-subagents-FEUDLJOE.js} +476 -412
- package/dist/node-runtime/{pi-web-access-2CQGFLT2.js → pi-web-access-WTGMNZ32.js} +15 -15
- package/dist/node-runtime/process-registry-4FAKZQOL.js +31 -0
- package/dist/node-runtime/{proxy-modes-V6YVFH3C.js → proxy-modes-OSQCWRBI.js} +9 -9
- package/dist/node-runtime/rpc-entry.js +46 -31
- package/dist/node-runtime/{rpc-mode-W5ZTLTMZ.js → rpc-mode-P5ODXPEG.js} +2 -2
- package/dist/node-runtime/runtime-4VA6JKNF.js +373 -0
- package/dist/node-runtime/{runtime-bridges-NJQERQ72.js → runtime-bridges-3XUQ46XW.js} +6 -5
- package/dist/node-runtime/service-ISSP6VHE.js +36 -0
- package/dist/node-runtime/session-handoff-HC7R5E24.js +33 -0
- package/dist/node-runtime/{session-manager-E7AREDTV.js → session-manager-CFN4UFM2.js} +2 -1
- package/dist/node-runtime/{session-selector-FJ7M2AIX.js → session-selector-LHRMJOKT.js} +5 -4
- package/dist/node-runtime/{settings-manager-GHPTUN7R.js → settings-manager-UUZ6NUXI.js} +8 -2
- package/dist/node-runtime/setup-JBKOLJ6F.js +18 -0
- package/dist/node-runtime/setup-NRXVZBLJ.js +155 -0
- package/dist/node-runtime/{subagent-executor-SRFC26SJ.js → subagent-executor-MLUMBWCP.js} +35 -63
- package/dist/node-runtime/theme-U7IGOA7O.js +68 -0
- package/dist/node-runtime/trust-manager-MMISNCYO.js +17 -0
- package/dist/node-runtime/{update-cli-L3JIBH2U.js → update-cli-4TP25CNW.js} +8 -2
- package/dist/node-runtime/usage-service-LFB2SWYV.js +37 -0
- package/dist/node-runtime/{video-extract-OYT5WKS5.js → video-extract-OOZHR7SU.js} +2 -2
- package/dist/node-runtime/{youtube-extract-TQYKGFGS.js → youtube-extract-FNPAUNHU.js} +6 -6
- package/docs/browser.md +86 -0
- package/docs/extensions.md +2 -0
- package/docs/features.md +99 -17
- package/docs/interactive-startup.md +2 -1
- package/docs/sessions.md +10 -0
- package/docs/settings.md +3 -1
- package/docs/tui.md +2 -0
- package/docs/usage.md +16 -0
- package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
- package/examples/extensions/custom-provider-anthropic/package.json +1 -1
- package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
- package/examples/extensions/gondolin/package-lock.json +2 -2
- package/examples/extensions/gondolin/package.json +1 -1
- package/examples/extensions/sandbox/package-lock.json +2 -2
- package/examples/extensions/sandbox/package.json +1 -1
- package/examples/extensions/with-deps/package-lock.json +2 -2
- package/examples/extensions/with-deps/package.json +1 -1
- package/package.json +7 -4
- package/scripts/install-browser.mjs +20 -0
- package/dist/node-runtime/agent-session-services-75JKASCW.js +0 -36
- package/dist/node-runtime/chunk-HQCKFM2O.js +0 -56
- package/dist/node-runtime/command-RBTRL55A.js +0 -13
- package/dist/node-runtime/interactive-mode-HPUNH7SV.js +0 -57
- package/dist/node-runtime/{chunk-UWQYRSYQ.js → chunk-YJMMG7C6.js} +25 -25
- package/dist/node-runtime/{mcp-panel-IIGMXQGP.js → mcp-panel-KTTFXJZ4.js} +3 -3
- package/dist/node-runtime/{src-BPQFJR76.js → src-IVPNZ2BX.js} +9 -9
|
@@ -36,10 +36,12 @@ import * as processRegistry from "../../core/process-registry.js";
|
|
|
36
36
|
import { captureTreeChanges, clearRollback, disableRollbackForSession, enableRollbackForSession, initRollback, isRollbackEnabled, isRollbackSessionForceEnabled, migrateRollbackSession, peekRollbackTurnsConsumed, beginTurn as rollbackBeginTurn, rollbackLastTurn, setRollbackWarningHandler, } from "../../core/rollback.js";
|
|
37
37
|
import { getSearchCuratorSetting, setSearchCuratorSetting } from "../../core/search-curator.js";
|
|
38
38
|
import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
|
|
39
|
+
import { cancelSessionHandoff, markSessionHandoff, recordTuiActivity, registerTransferHandler, requestSessionTransfer, } from "../../core/session-handoff.js";
|
|
39
40
|
import { SessionManager, sessionEntryToContextMessages } from "../../core/session-manager.js";
|
|
40
41
|
import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
|
|
41
42
|
import { getSubagentCancellation, SubagentEscapeSequence } from "../../core/subagent-cancellation.js";
|
|
42
43
|
import { time } from "../../core/timings.js";
|
|
44
|
+
import { notifyTodosEnabledChanged } from "../../core/todo-settings.js";
|
|
43
45
|
import { hasTrustRequiringProjectResources, ProjectTrustStore } from "../../core/trust-manager.js";
|
|
44
46
|
import { checkForUpdate, markUpdateNotified } from "../../core/update-check.js";
|
|
45
47
|
import { getAllPlanUsageResults, getUsageServiceBridge } from "../../core/usage-service.js";
|
|
@@ -88,6 +90,7 @@ import { TrustSelectorComponent } from "./components/trust-selector.js";
|
|
|
88
90
|
import { renderUsageBox } from "./components/usage-view.js";
|
|
89
91
|
import { UserMessageComponent } from "./components/user-message.js";
|
|
90
92
|
import { UserMessageSelectorComponent } from "./components/user-message-selector.js";
|
|
93
|
+
import { orderedExtensionWidgets, replaceExtensionWidget, widgetSeparatorNeedsSpacer, } from "./extension-widget-order.js";
|
|
91
94
|
import { getModelSearchText } from "./model-search.js";
|
|
92
95
|
import { wrapSkillTagAutocomplete } from "./skill-tag-autocomplete.js";
|
|
93
96
|
import { computeSmoothRevealStep, countGraphemesBeforeToolCall, countMessageGraphemes, sliceMessageContent, } from "./smooth-streaming.js";
|
|
@@ -359,7 +362,9 @@ export class InteractiveMode {
|
|
|
359
362
|
await this.rebindCurrentSession({ renderBeforeBind: true });
|
|
360
363
|
// lunr: re-init rollback for the new session id + re-apply auto force-enable.
|
|
361
364
|
initRollback(this.settingsManager, this.sessionManager.getSessionId());
|
|
362
|
-
this.
|
|
365
|
+
const mode = this.sessionManager.getPermissionMode() ?? this.settingsManager.getDefaultPermissionMode();
|
|
366
|
+
resetPermissions(mode);
|
|
367
|
+
this.syncPermissionModeEffects(mode);
|
|
363
368
|
});
|
|
364
369
|
this.version = VERSION;
|
|
365
370
|
this.ui = options.startupView?.ui ?? new TUI(new ProcessTerminal(), this.settingsManager.getShowHardwareCursor());
|
|
@@ -370,8 +375,7 @@ export class InteractiveMode {
|
|
|
370
375
|
enterGoalAuto: () => this.enterGoalAuto(),
|
|
371
376
|
leaveGoalAuto: () => this.leaveGoalAuto(),
|
|
372
377
|
});
|
|
373
|
-
|
|
374
|
-
resetPermissions(this.settingsManager.getDefaultPermissionMode());
|
|
378
|
+
resetPermissions(this.sessionManager.getPermissionMode() ?? this.settingsManager.getDefaultPermissionMode());
|
|
375
379
|
this.headerContainer = new Container();
|
|
376
380
|
if (options.startupView) {
|
|
377
381
|
this.headerContainer.addChild(new Spacer(1));
|
|
@@ -626,7 +630,7 @@ export class InteractiveMode {
|
|
|
626
630
|
// lunr: initialize rollback service for this session.
|
|
627
631
|
initRollback(this.settingsManager, this.sessionManager.getSessionId());
|
|
628
632
|
setRollbackWarningHandler((msg) => this.showStatus(msg));
|
|
629
|
-
this.syncPermissionModeEffects(this.settingsManager.getDefaultPermissionMode());
|
|
633
|
+
this.syncPermissionModeEffects(this.sessionManager.getPermissionMode() ?? this.settingsManager.getDefaultPermissionMode());
|
|
630
634
|
await this.themeController.applyFromSettings();
|
|
631
635
|
this.headerContainer.clear();
|
|
632
636
|
// Add boot screen header (unless silenced)
|
|
@@ -1451,8 +1455,26 @@ export class InteractiveMode {
|
|
|
1451
1455
|
}
|
|
1452
1456
|
return bootRows;
|
|
1453
1457
|
}
|
|
1458
|
+
unregisterSessionTransfer;
|
|
1459
|
+
transferInProgress = false;
|
|
1460
|
+
detachedDraft = "";
|
|
1454
1461
|
async rebindCurrentSession(options = {}) {
|
|
1455
1462
|
await this.waitForDeferredBuiltins();
|
|
1463
|
+
this.unregisterSessionTransfer?.();
|
|
1464
|
+
recordTuiActivity(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
1465
|
+
this.unregisterSessionTransfer = registerTransferHandler(this.sessionManager, async ({ stop, signal }) => {
|
|
1466
|
+
this.transferInProgress = true;
|
|
1467
|
+
try {
|
|
1468
|
+
this.detachedDraft = this.editor.getText();
|
|
1469
|
+
await this.runtimeHost.releaseForTransfer({ stop, signal });
|
|
1470
|
+
this.editor.setText(this.detachedDraft);
|
|
1471
|
+
this.unregisterSessionTransfer?.();
|
|
1472
|
+
this.showStatus("Session released for remote continuation. Draft retained. Use /reclaim to continue here.");
|
|
1473
|
+
}
|
|
1474
|
+
finally {
|
|
1475
|
+
this.transferInProgress = false;
|
|
1476
|
+
}
|
|
1477
|
+
});
|
|
1456
1478
|
this.unsubscribe?.();
|
|
1457
1479
|
this.unsubscribe = undefined;
|
|
1458
1480
|
this.applyRuntimeSettings();
|
|
@@ -1616,21 +1638,8 @@ export class InteractiveMode {
|
|
|
1616
1638
|
*/
|
|
1617
1639
|
setExtensionWidget(key, content, options) {
|
|
1618
1640
|
const placement = options?.placement ?? "aboveEditor";
|
|
1619
|
-
const removeExisting = (map) => {
|
|
1620
|
-
const existing = map.get(key);
|
|
1621
|
-
if (existing?.dispose)
|
|
1622
|
-
existing.dispose();
|
|
1623
|
-
map.delete(key);
|
|
1624
|
-
};
|
|
1625
|
-
removeExisting(this.extensionWidgetsAbove);
|
|
1626
|
-
removeExisting(this.extensionWidgetsBelow);
|
|
1627
|
-
if (content === undefined) {
|
|
1628
|
-
this.renderWidgets();
|
|
1629
|
-
return;
|
|
1630
|
-
}
|
|
1631
1641
|
let component;
|
|
1632
1642
|
if (Array.isArray(content)) {
|
|
1633
|
-
// Wrap string array in a Container with Text components
|
|
1634
1643
|
const container = new Container();
|
|
1635
1644
|
for (const line of content.slice(0, InteractiveMode.MAX_WIDGET_LINES)) {
|
|
1636
1645
|
container.addChild(new Text(line, 1, 0));
|
|
@@ -1640,12 +1649,10 @@ export class InteractiveMode {
|
|
|
1640
1649
|
}
|
|
1641
1650
|
component = container;
|
|
1642
1651
|
}
|
|
1643
|
-
else {
|
|
1644
|
-
// Factory function - create component
|
|
1652
|
+
else if (content) {
|
|
1645
1653
|
component = content(this.ui, theme);
|
|
1646
1654
|
}
|
|
1647
|
-
|
|
1648
|
-
targetMap.set(key, component);
|
|
1655
|
+
replaceExtensionWidget(this.extensionWidgetsAbove, this.extensionWidgetsBelow, key, component, placement);
|
|
1649
1656
|
this.renderWidgets();
|
|
1650
1657
|
}
|
|
1651
1658
|
clearExtensionWidgets() {
|
|
@@ -1712,13 +1719,14 @@ export class InteractiveMode {
|
|
|
1712
1719
|
if (leadingSpacer) {
|
|
1713
1720
|
container.addChild(new Spacer(1));
|
|
1714
1721
|
}
|
|
1715
|
-
let
|
|
1716
|
-
for (const component of widgets
|
|
1717
|
-
if (
|
|
1718
|
-
|
|
1722
|
+
let previousKey;
|
|
1723
|
+
for (const [key, component] of orderedExtensionWidgets(widgets)) {
|
|
1724
|
+
if (previousKey !== undefined) {
|
|
1725
|
+
if (widgetSeparatorNeedsSpacer(previousKey, key))
|
|
1726
|
+
container.addChild(new Spacer(1));
|
|
1719
1727
|
container.addChild(new DynamicBorder((s) => theme.fg("dim", s)));
|
|
1720
1728
|
}
|
|
1721
|
-
|
|
1729
|
+
previousKey = key;
|
|
1722
1730
|
container.addChild(component);
|
|
1723
1731
|
}
|
|
1724
1732
|
}
|
|
@@ -2407,6 +2415,51 @@ export class InteractiveMode {
|
|
|
2407
2415
|
setupEditorSubmitHandler() {
|
|
2408
2416
|
this.defaultEditor.onSubmit = async (text) => {
|
|
2409
2417
|
text = text.trim();
|
|
2418
|
+
if (text === "/reclaim" || text === "/reclaim stop") {
|
|
2419
|
+
const file = this.sessionManager.getSessionFile();
|
|
2420
|
+
try {
|
|
2421
|
+
if (!file)
|
|
2422
|
+
throw new Error("This session is not saved.");
|
|
2423
|
+
if (!this.runtimeHost.isDetached) {
|
|
2424
|
+
this.showStatus("This terminal already owns the session.");
|
|
2425
|
+
return;
|
|
2426
|
+
}
|
|
2427
|
+
const draft = this.editor.getText();
|
|
2428
|
+
await requestSessionTransfer(file, { stop: text === "/reclaim stop" });
|
|
2429
|
+
await this.runtimeHost.switchSession(file);
|
|
2430
|
+
this.editor.setText(draft === text ? this.detachedDraft : draft);
|
|
2431
|
+
this.showStatus("Session reclaimed.");
|
|
2432
|
+
}
|
|
2433
|
+
catch (error) {
|
|
2434
|
+
this.showError(error instanceof Error ? error.message : String(error));
|
|
2435
|
+
}
|
|
2436
|
+
return;
|
|
2437
|
+
}
|
|
2438
|
+
if ((this.runtimeHost.isDetached || this.transferInProgress) && !["/quit", "/exit"].includes(text)) {
|
|
2439
|
+
this.showError("Session is detached or transferring. Draft retained. Use /reclaim, /reclaim stop, or /quit.");
|
|
2440
|
+
return;
|
|
2441
|
+
}
|
|
2442
|
+
if (text === "/handoff" || text === "/handoff cancel") {
|
|
2443
|
+
try {
|
|
2444
|
+
if (text === "/handoff cancel")
|
|
2445
|
+
cancelSessionHandoff(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
2446
|
+
else
|
|
2447
|
+
markSessionHandoff(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
2448
|
+
this.showStatus(text === "/handoff cancel"
|
|
2449
|
+
? "Handoff mark cancelled."
|
|
2450
|
+
: "Marked for phone continuation for 8 hours. Busy work must finish or be explicitly stopped before transfer.");
|
|
2451
|
+
}
|
|
2452
|
+
catch (error) {
|
|
2453
|
+
this.showError(error instanceof Error ? error.message : String(error));
|
|
2454
|
+
}
|
|
2455
|
+
return;
|
|
2456
|
+
}
|
|
2457
|
+
if (text &&
|
|
2458
|
+
!this.runtimeHost.isDetached &&
|
|
2459
|
+
(!text.startsWith("/") ||
|
|
2460
|
+
/^\/(?:model|thinking|effort|reasoning|off|minimal|low|medium|high|xhigh|max|mode|plan|manual|yolo|auto|name|title|undo|edit|redo|tree|compact)(?:\s|$)/.test(text))) {
|
|
2461
|
+
recordTuiActivity(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
2462
|
+
}
|
|
2410
2463
|
if (!text) {
|
|
2411
2464
|
this.takeSubmittedImages(text);
|
|
2412
2465
|
return;
|
|
@@ -2832,7 +2885,7 @@ export class InteractiveMode {
|
|
|
2832
2885
|
this.ui.requestRender();
|
|
2833
2886
|
}
|
|
2834
2887
|
else if (event.message.role === "assistant") {
|
|
2835
|
-
this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad, this.thinkingCollapse);
|
|
2888
|
+
this.streamingComponent = new AssistantMessageComponent(undefined, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad, this.thinkingCollapse, { requestRender: () => this.ui.requestRender() });
|
|
2836
2889
|
// lunr: collapsible reasoning — fresh timing array for this message.
|
|
2837
2890
|
this.thinkingRunTimings = [];
|
|
2838
2891
|
this.streamingComponent.setThinkingTimings(this.thinkingRunTimings);
|
|
@@ -3199,7 +3252,7 @@ export class InteractiveMode {
|
|
|
3199
3252
|
break;
|
|
3200
3253
|
}
|
|
3201
3254
|
case "assistant": {
|
|
3202
|
-
const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad, this.thinkingCollapse);
|
|
3255
|
+
const assistantComponent = new AssistantMessageComponent(message, this.hideThinkingBlock, this.getMarkdownThemeWithSettings(), this.hiddenThinkingLabel, this.outputPad, this.thinkingCollapse, { requestRender: () => this.ui.requestRender() });
|
|
3203
3256
|
// lunr: collapsible reasoning — re-attach live timings when this
|
|
3204
3257
|
// message was streamed in this session (undefined = history).
|
|
3205
3258
|
assistantComponent.setThinkingTimings(this.thinkingTimingsByMessage.get(message));
|
|
@@ -3401,6 +3454,7 @@ export class InteractiveMode {
|
|
|
3401
3454
|
if (this.isShuttingDown)
|
|
3402
3455
|
return;
|
|
3403
3456
|
this.isShuttingDown = true;
|
|
3457
|
+
this.unregisterSessionTransfer?.();
|
|
3404
3458
|
this.stopSmoothStreaming();
|
|
3405
3459
|
if (this.planUsageTimer) {
|
|
3406
3460
|
clearInterval(this.planUsageTimer);
|
|
@@ -3588,6 +3642,10 @@ export class InteractiveMode {
|
|
|
3588
3642
|
}
|
|
3589
3643
|
}
|
|
3590
3644
|
async handleFollowUp() {
|
|
3645
|
+
if (this.runtimeHost.isDetached || this.transferInProgress) {
|
|
3646
|
+
this.showError("Use /reclaim before sending more work. Draft retained.");
|
|
3647
|
+
return;
|
|
3648
|
+
}
|
|
3591
3649
|
const text = (this.editor.getExpandedText?.() ?? this.editor.getText()).trim();
|
|
3592
3650
|
if (!text)
|
|
3593
3651
|
return;
|
|
@@ -3642,6 +3700,9 @@ export class InteractiveMode {
|
|
|
3642
3700
|
this.ui.requestRender();
|
|
3643
3701
|
}
|
|
3644
3702
|
cycleThinkingLevel() {
|
|
3703
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
3704
|
+
return;
|
|
3705
|
+
recordTuiActivity(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
3645
3706
|
const newLevel = this.session.cycleThinkingLevel();
|
|
3646
3707
|
if (newLevel === undefined) {
|
|
3647
3708
|
this.showStatus("Current model does not support thinking");
|
|
@@ -3655,6 +3716,9 @@ export class InteractiveMode {
|
|
|
3655
3716
|
this.applyPermissionMode(nextPermissionMode(getPermissionMode()), { silent: true });
|
|
3656
3717
|
}
|
|
3657
3718
|
async cycleModel(direction) {
|
|
3719
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
3720
|
+
return;
|
|
3721
|
+
recordTuiActivity(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
3658
3722
|
try {
|
|
3659
3723
|
const result = await this.session.cycleModel(direction);
|
|
3660
3724
|
if (result === undefined) {
|
|
@@ -4019,6 +4083,7 @@ export class InteractiveMode {
|
|
|
4019
4083
|
autocompleteMaxVisible: this.settingsManager.getAutocompleteMaxVisible(),
|
|
4020
4084
|
quietStartup: this.settingsManager.getQuietStartup(),
|
|
4021
4085
|
smoothStreaming: this.settingsManager.getSmoothStreaming(),
|
|
4086
|
+
subagentSpinner: this.settingsManager.getSubagentSpinner(),
|
|
4022
4087
|
sessionRetentionDays: this.settingsManager.getSessionRetentionDays(),
|
|
4023
4088
|
clearOnShrink: this.settingsManager.getClearOnShrink(),
|
|
4024
4089
|
showTerminalProgress: this.settingsManager.getShowTerminalProgress(),
|
|
@@ -4027,8 +4092,10 @@ export class InteractiveMode {
|
|
|
4027
4092
|
globalInstructionsPath: getGlobalInstructionsPath(getAgentDir()),
|
|
4028
4093
|
modelInstructionsPath: getModelInstructionsPath(getAgentDir(), this.session.model?.id ?? "no-model-selected"),
|
|
4029
4094
|
confirmLargeSubagentLaunches: this.settingsManager.getConfirmLargeSubagentLaunches(),
|
|
4095
|
+
browserEnabled: this.settingsManager.getBrowserEnabled(),
|
|
4030
4096
|
memoryEnabled: this.settingsManager.getMemoryEnabled(),
|
|
4031
4097
|
memoryCharCap: this.settingsManager.getMemoryCharCap(),
|
|
4098
|
+
todosEnabled: this.settingsManager.getTodosEnabled(),
|
|
4032
4099
|
searchCurator: getSearchCuratorSetting(),
|
|
4033
4100
|
// lunr: TUI customize settings
|
|
4034
4101
|
footerMcp: this.settingsManager.getFooterMcp(),
|
|
@@ -4145,6 +4212,10 @@ export class InteractiveMode {
|
|
|
4145
4212
|
onSmoothStreamingChange: (enabled) => {
|
|
4146
4213
|
this.applySmoothStreamingSettingChange(enabled);
|
|
4147
4214
|
},
|
|
4215
|
+
onSubagentSpinnerChange: (spinner) => {
|
|
4216
|
+
this.settingsManager.setSubagentSpinner(spinner);
|
|
4217
|
+
this.ui.requestRender();
|
|
4218
|
+
},
|
|
4148
4219
|
onSessionRetentionDaysChange: (days) => {
|
|
4149
4220
|
this.settingsManager.setSessionRetentionDays(days);
|
|
4150
4221
|
},
|
|
@@ -4232,11 +4303,20 @@ export class InteractiveMode {
|
|
|
4232
4303
|
onMemoryCharCapChange: (cap) => {
|
|
4233
4304
|
this.settingsManager.setMemoryCharCap(cap);
|
|
4234
4305
|
},
|
|
4306
|
+
onBrowserEnabledChange: (enabled) => {
|
|
4307
|
+
this.settingsManager.setBrowserEnabled(enabled);
|
|
4308
|
+
this.session.refreshToolRegistry();
|
|
4309
|
+
},
|
|
4235
4310
|
onMemoryEnabledChange: (enabled) => {
|
|
4236
4311
|
this.settingsManager.setMemoryEnabled(enabled);
|
|
4237
4312
|
this.session.refreshToolRegistry();
|
|
4238
4313
|
this.showStatus(`Agent memory: ${enabled ? "on" : "off"}`);
|
|
4239
4314
|
},
|
|
4315
|
+
onTodosEnabledChange: (enabled) => {
|
|
4316
|
+
this.settingsManager.setTodosEnabled(enabled);
|
|
4317
|
+
notifyTodosEnabledChanged(enabled);
|
|
4318
|
+
this.session.refreshToolRegistry();
|
|
4319
|
+
},
|
|
4240
4320
|
onSearchCuratorChange: (setting) => {
|
|
4241
4321
|
if (!setSearchCuratorSetting(setting)) {
|
|
4242
4322
|
this.showError("pi-web-access is not loaded; curator setting unavailable.");
|
|
@@ -4276,6 +4356,36 @@ export class InteractiveMode {
|
|
|
4276
4356
|
onPlanUsageWindowChange: (window) => {
|
|
4277
4357
|
this.settingsManager.setPlanUsageWindow(window);
|
|
4278
4358
|
},
|
|
4359
|
+
onGatewayAction: (action) => {
|
|
4360
|
+
void (async () => {
|
|
4361
|
+
if (this.session.isStreaming) {
|
|
4362
|
+
this.showStatus("Wait for the current turn before managing the gateway.");
|
|
4363
|
+
return;
|
|
4364
|
+
}
|
|
4365
|
+
if (action === "status") {
|
|
4366
|
+
this.showStatus((await import("../../gateway/service.js")).serviceStatusText());
|
|
4367
|
+
return;
|
|
4368
|
+
}
|
|
4369
|
+
this.ui.stop();
|
|
4370
|
+
try {
|
|
4371
|
+
await new Promise((resolve, reject) => {
|
|
4372
|
+
const child = spawn(process.execPath, [process.argv[1], "gateway", ...action.split(" ")], {
|
|
4373
|
+
stdio: "inherit",
|
|
4374
|
+
env: process.env,
|
|
4375
|
+
});
|
|
4376
|
+
child.once("error", reject);
|
|
4377
|
+
child.once("exit", (code) => code === 0
|
|
4378
|
+
? resolve()
|
|
4379
|
+
: reject(new Error(`Gateway command exited with code ${code}. Run lunr gateway doctor.`)));
|
|
4380
|
+
});
|
|
4381
|
+
}
|
|
4382
|
+
finally {
|
|
4383
|
+
this.ui.start();
|
|
4384
|
+
this.ui.requestRender(true);
|
|
4385
|
+
}
|
|
4386
|
+
this.showStatus((await import("../../gateway/service.js")).serviceStatusText());
|
|
4387
|
+
})().catch((error) => this.showStatus(error instanceof Error ? error.message : String(error)));
|
|
4388
|
+
},
|
|
4279
4389
|
onDefaultPermissionModeChange: (mode) => {
|
|
4280
4390
|
this.settingsManager.setDefaultPermissionMode(mode);
|
|
4281
4391
|
},
|
|
@@ -4305,6 +4415,7 @@ export class InteractiveMode {
|
|
|
4305
4415
|
autoManage: () => this.settingsManager.getAutoManageSubscriptions(),
|
|
4306
4416
|
requestRender: () => this.ui.requestRender(),
|
|
4307
4417
|
},
|
|
4418
|
+
requestRender: () => this.ui.requestRender(),
|
|
4308
4419
|
createModelTierPicker: (_tier, currentModelRef, done) => {
|
|
4309
4420
|
const selector = new ModelSelectorComponent(this.ui, this.resolveModelReference(currentModelRef), this.settingsManager, this.session.modelRuntime, this.session.scopedModels, (model) => {
|
|
4310
4421
|
done(`${model.provider}/${model.id}`);
|
|
@@ -4505,6 +4616,8 @@ export class InteractiveMode {
|
|
|
4505
4616
|
});
|
|
4506
4617
|
}
|
|
4507
4618
|
async showModelSelector(initialSearchInput) {
|
|
4619
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
4620
|
+
return;
|
|
4508
4621
|
// lunr: prefetch active subscription names so row rendering stays synchronous.
|
|
4509
4622
|
const subscriptionNames = await this.getActiveSubscriptionNames();
|
|
4510
4623
|
this.showSelector((done) => {
|
|
@@ -4697,6 +4810,8 @@ export class InteractiveMode {
|
|
|
4697
4810
|
});
|
|
4698
4811
|
}
|
|
4699
4812
|
showUserMessageSelector() {
|
|
4813
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
4814
|
+
return;
|
|
4700
4815
|
const userMessages = this.session.getUserMessagesForForking();
|
|
4701
4816
|
if (userMessages.length === 0) {
|
|
4702
4817
|
this.showStatus("No messages to fork from");
|
|
@@ -4745,6 +4860,8 @@ export class InteractiveMode {
|
|
|
4745
4860
|
}
|
|
4746
4861
|
}
|
|
4747
4862
|
showTreeSelector(initialSelectedId) {
|
|
4863
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
4864
|
+
return;
|
|
4748
4865
|
const tree = this.sessionManager.getTree();
|
|
4749
4866
|
const realLeafId = this.sessionManager.getLeafId();
|
|
4750
4867
|
const initialFilterMode = this.settingsManager.getTreeFilterMode();
|
|
@@ -4875,8 +4992,17 @@ export class InteractiveMode {
|
|
|
4875
4992
|
const next = (nextName ?? "").trim();
|
|
4876
4993
|
if (!next)
|
|
4877
4994
|
return;
|
|
4995
|
+
if (sessionFilePath === this.sessionManager.getSessionFile() && !this.runtimeHost.isDetached) {
|
|
4996
|
+
this.sessionManager.appendSessionInfo(next);
|
|
4997
|
+
return;
|
|
4998
|
+
}
|
|
4878
4999
|
const mgr = SessionManager.open(sessionFilePath);
|
|
4879
|
-
|
|
5000
|
+
try {
|
|
5001
|
+
mgr.appendSessionInfo(next);
|
|
5002
|
+
}
|
|
5003
|
+
finally {
|
|
5004
|
+
mgr.dispose();
|
|
5005
|
+
}
|
|
4880
5006
|
},
|
|
4881
5007
|
showRenameHint: true,
|
|
4882
5008
|
keybindings: this.keybindings,
|
|
@@ -6307,6 +6433,9 @@ export class InteractiveMode {
|
|
|
6307
6433
|
}
|
|
6308
6434
|
/** Apply addendum + auto-rollback for a mode without a status toast. */
|
|
6309
6435
|
syncPermissionModeEffects(mode) {
|
|
6436
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
6437
|
+
return;
|
|
6438
|
+
this.sessionManager.setPermissionMode(mode);
|
|
6310
6439
|
if (mode === "plan") {
|
|
6311
6440
|
this.session.setSystemPromptAppend(PLAN_MODE_ADDENDUM);
|
|
6312
6441
|
}
|
|
@@ -6334,6 +6463,10 @@ export class InteractiveMode {
|
|
|
6334
6463
|
}
|
|
6335
6464
|
}
|
|
6336
6465
|
applyPermissionMode(mode, opts) {
|
|
6466
|
+
if (this.runtimeHost.isDetached || this.transferInProgress)
|
|
6467
|
+
return;
|
|
6468
|
+
this.sessionManager.setPermissionMode(mode);
|
|
6469
|
+
recordTuiActivity(this.sessionManager, this.runtimeHost.services.agentDir);
|
|
6337
6470
|
const prev = getPermissionMode();
|
|
6338
6471
|
if (mode === "plan" && prev !== "plan") {
|
|
6339
6472
|
this.previousPermissionMode = prev;
|
|
@@ -6672,6 +6805,10 @@ ${toggleThinking ? `| \`${toggleThinking}\` | Toggle thinking block visibility |
|
|
|
6672
6805
|
this.ui.requestRender();
|
|
6673
6806
|
}
|
|
6674
6807
|
async handleClearCommand() {
|
|
6808
|
+
if (this.runtimeHost.isDetached || this.transferInProgress) {
|
|
6809
|
+
this.showError("Use /reclaim first, or /quit to leave this terminal.");
|
|
6810
|
+
return;
|
|
6811
|
+
}
|
|
6675
6812
|
this.clearStatusIndicator();
|
|
6676
6813
|
this.ui.setChatScroll(0);
|
|
6677
6814
|
// Deferred factories must be on builtinRoster before /new rebuilds the runtime.
|