@gajae-code/coding-agent 0.13.2 → 0.14.0
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 +215 -8
- package/README.md +2 -0
- package/bin/gajaessi.js +4 -0
- package/dist/types/async/job-manager.d.ts +55 -2
- package/dist/types/async/support.d.ts +14 -0
- package/dist/types/capability/mcp.d.ts +6 -0
- package/dist/types/capability/types.d.ts +6 -0
- package/dist/types/cli/accounts-cli.d.ts +19 -0
- package/dist/types/cli/args.d.ts +3 -0
- package/dist/types/cli/config-cli.d.ts +6 -0
- package/dist/types/cli/crash-cli.d.ts +10 -0
- package/dist/types/cli/customize-doctor.d.ts +145 -0
- package/dist/types/cli/daemon-cli.d.ts +3 -1
- package/dist/types/cli/mcp-cli.d.ts +11 -0
- package/dist/types/cli/notify-cli.d.ts +1 -1
- package/dist/types/cli/root-flags.d.ts +12 -0
- package/dist/types/cli/setup-cli.d.ts +3 -1
- package/dist/types/cli/skills-cli.d.ts +2 -1
- package/dist/types/cli/update-cli.d.ts +19 -1
- package/dist/types/cli.d.ts +6 -0
- package/dist/types/commands/accounts.d.ts +40 -0
- package/dist/types/commands/crash.d.ts +24 -0
- package/dist/types/commands/customize.d.ts +22 -0
- package/dist/types/commands/daemon.d.ts +1 -1
- package/dist/types/commands/launch.d.ts +6 -0
- package/dist/types/commands/setup.d.ts +6 -0
- package/dist/types/commands/skills.d.ts +6 -1
- package/dist/types/commands/update.d.ts +7 -0
- package/dist/types/config/atomic-yaml-patch-worker.d.ts +25 -0
- package/dist/types/config/atomic-yaml-patch.d.ts +62 -2
- package/dist/types/config/config-schema-version.d.ts +10 -0
- package/dist/types/config/file-lock.d.ts +18 -0
- package/dist/types/config/model-profile-activation.d.ts +3 -1
- package/dist/types/config/model-registry.d.ts +10 -1
- package/dist/types/config/models-config-schema.d.ts +2 -0
- package/dist/types/config/settings-schema.d.ts +73 -9
- package/dist/types/config/settings.d.ts +63 -0
- package/dist/types/config/skill-settings-defaults.d.ts +26 -0
- package/dist/types/config/task-delegation.d.ts +39 -0
- package/dist/types/config/update-channel.d.ts +10 -0
- package/dist/types/coordinator-mcp/server.d.ts +5 -1
- package/dist/types/crash/index-store.d.ts +87 -0
- package/dist/types/crash/nudge.d.ts +50 -0
- package/dist/types/crash/record-loader.d.ts +17 -0
- package/dist/types/crash/report.d.ts +134 -0
- package/dist/types/crash/sanitize.d.ts +25 -0
- package/dist/types/cursor.d.ts +13 -2
- package/dist/types/customization/import.d.ts +37 -0
- package/dist/types/customization/index.d.ts +4 -0
- package/dist/types/customization/inventory.d.ts +25 -0
- package/dist/types/customization/mutations.d.ts +32 -0
- package/dist/types/customization/types.d.ts +115 -0
- package/dist/types/daemon/control-types.d.ts +8 -1
- package/dist/types/daemon/operator-contract.d.ts +4 -4
- package/dist/types/discovery/claude.d.ts +39 -1
- package/dist/types/discovery/codex.d.ts +39 -1
- package/dist/types/discovery/index.d.ts +2 -0
- package/dist/types/discovery/mcp-compat.d.ts +30 -0
- package/dist/types/edit/renderer.d.ts +23 -0
- package/dist/types/extensibility/extensions/runner.d.ts +3 -0
- package/dist/types/extensibility/extensions/types.d.ts +21 -4
- package/dist/types/extensibility/gjc-plugins/observability.d.ts +6 -1
- package/dist/types/extensibility/gjc-plugins/registry.d.ts +8 -1
- package/dist/types/extensibility/hooks/loader.d.ts +19 -5
- package/dist/types/extensibility/runtime-skill-discovery.d.ts +22 -1
- package/dist/types/extensibility/skill-management.d.ts +107 -0
- package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +3 -1
- package/dist/types/gjc-runtime/launch-worktree.d.ts +8 -0
- package/dist/types/gjc-runtime/linux-proc.d.ts +3 -0
- package/dist/types/gjc-runtime/ralplan-runtime.d.ts +10 -6
- package/dist/types/gjc-runtime/session-state-lock.d.ts +104 -0
- package/dist/types/gjc-runtime/session-state-sidecar.d.ts +120 -2
- package/dist/types/gjc-runtime/state-writer.d.ts +10 -1
- package/dist/types/gjc-runtime/ultragoal-guard.d.ts +4 -2
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +8 -6
- package/dist/types/gjc-runtime/workflow-settings.d.ts +109 -0
- package/dist/types/hooks/events.d.ts +60 -0
- package/dist/types/hooks/normalize.d.ts +83 -0
- package/dist/types/hooks/skill-state.d.ts +9 -2
- package/dist/types/main.d.ts +2 -1
- package/dist/types/modes/acp/abort-scope.d.ts +13 -0
- package/dist/types/modes/acp/acp-agent.d.ts +7 -4
- package/dist/types/modes/components/customization/customization-dashboard.d.ts +44 -0
- package/dist/types/modes/components/customization/import-wizard.d.ts +21 -0
- package/dist/types/modes/components/customization/index.d.ts +1 -0
- package/dist/types/modes/components/dynamic-theme-text.d.ts +9 -0
- package/dist/types/modes/components/gajae-pet-widget.d.ts +6 -28
- package/dist/types/modes/components/irc-sidebar.d.ts +1 -0
- package/dist/types/modes/components/iterm-pet-transport.d.ts +122 -0
- package/dist/types/modes/components/oauth-selector.d.ts +10 -4
- package/dist/types/modes/components/pet-capability.d.ts +7 -21
- package/dist/types/modes/components/settings-selector.d.ts +5 -0
- package/dist/types/modes/components/status-line/gh.d.ts +6 -2
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -1
- package/dist/types/modes/controllers/selector-controller.d.ts +7 -8
- package/dist/types/modes/controllers/stt-controller.d.ts +1 -1
- package/dist/types/modes/interactive-mode.d.ts +1 -0
- package/dist/types/modes/theme/defaults/index.d.ts +118 -0
- package/dist/types/modes/types.d.ts +1 -0
- package/dist/types/modes/utils/injected-user-submission.d.ts +10 -0
- package/dist/types/runtime-mcp/config.d.ts +9 -0
- package/dist/types/runtime-mcp/manager.d.ts +26 -1
- package/dist/types/runtime-mcp/oauth-discovery.d.ts +4 -0
- package/dist/types/runtime-mcp/oauth-flow.d.ts +24 -1
- package/dist/types/runtime-mcp/pool-key.d.ts +2 -0
- package/dist/types/runtime-mcp/protocol.d.ts +278 -0
- package/dist/types/runtime-mcp/scope-config.d.ts +29 -0
- package/dist/types/runtime-mcp/tool-bridge.d.ts +15 -13
- package/dist/types/runtime-mcp/transports/http.d.ts +9 -0
- package/dist/types/runtime-mcp/types.d.ts +102 -10
- package/dist/types/sdk/acp/adapter.d.ts +26 -5
- package/dist/types/sdk/broker/broker.d.ts +3 -55
- package/dist/types/sdk/broker/lifecycle.d.ts +18 -12
- package/dist/types/sdk/broker/session-index.d.ts +14 -5
- package/dist/types/sdk/broker/startup-failure.d.ts +16 -1
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +51 -1
- package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +4 -41
- package/dist/types/sdk/bus/config.d.ts +11 -0
- package/dist/types/sdk/bus/conversation-store.d.ts +0 -1
- package/dist/types/sdk/bus/daemon-paths.d.ts +6 -0
- package/dist/types/sdk/bus/discord-conversation.d.ts +2 -0
- package/dist/types/sdk/bus/discord-daemon.d.ts +17 -12
- package/dist/types/sdk/bus/existing-thread-readiness.d.ts +4 -34
- package/dist/types/sdk/bus/inbound-reaction-ordering.d.ts +61 -0
- package/dist/types/sdk/bus/index.d.ts +85 -99
- package/dist/types/sdk/bus/kind-aware-reconciliation.d.ts +29 -7
- package/dist/types/sdk/bus/managed-daemon.d.ts +2 -32
- package/dist/types/sdk/bus/notification-service.d.ts +52 -0
- package/dist/types/sdk/bus/operator-runtime.d.ts +1 -1
- package/dist/types/sdk/bus/prompt-reconciliation.d.ts +16 -5
- package/dist/types/sdk/bus/reconciliation-store.d.ts +113 -5
- package/dist/types/sdk/bus/session-control.d.ts +25 -1
- package/dist/types/sdk/bus/slack-conversation.d.ts +4 -0
- package/dist/types/sdk/bus/slack-daemon.d.ts +9 -17
- package/dist/types/sdk/bus/slack-live-provider.d.ts +3 -1
- package/dist/types/sdk/bus/slack-provider.d.ts +4 -0
- package/dist/types/sdk/bus/slack-thread-binding.d.ts +6 -40
- package/dist/types/sdk/bus/telegram-adoption-intent.d.ts +30 -104
- package/dist/types/sdk/bus/telegram-daemon-cli.d.ts +10 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +262 -19
- package/dist/types/sdk/bus/telegram-daemon-orphan-reap.d.ts +125 -0
- package/dist/types/sdk/bus/telegram-daemon-owner-registry.d.ts +22 -0
- package/dist/types/sdk/bus/telegram-daemon.d.ts +119 -310
- package/dist/types/sdk/bus/telegram-reference.d.ts +1 -47
- package/dist/types/sdk/bus/threaded-render.d.ts +1 -0
- package/dist/types/sdk/bus/topic-registry.d.ts +33 -17
- package/dist/types/sdk/cli/rows.d.ts +2 -11
- package/dist/types/sdk/cli/session-cli.d.ts +15 -25
- package/dist/types/sdk/client/client.d.ts +97 -1
- package/dist/types/sdk/host/control/dispatch.d.ts +0 -7
- package/dist/types/sdk/host/control/index.d.ts +1 -1
- package/dist/types/sdk/host/control/operations.d.ts +18 -5
- package/dist/types/sdk/host/control/runtime-gate.d.ts +19 -0
- package/dist/types/sdk/host/host.d.ts +15 -1
- package/dist/types/sdk/host/query/handlers.d.ts +5 -0
- package/dist/types/sdk/host/reverse-leases.d.ts +1 -1
- package/dist/types/sdk/host/session-runtime.d.ts +127 -7
- package/dist/types/sdk/host/types.d.ts +1 -1
- package/dist/types/sdk/host/websocket-transport.d.ts +1 -1
- package/dist/types/sdk/index.d.ts +2 -1
- package/dist/types/sdk/lifecycle/broker-client.d.ts +8 -0
- package/dist/types/sdk/lifecycle/client.d.ts +59 -0
- package/dist/types/sdk/lifecycle/index.d.ts +3 -0
- package/dist/types/sdk/lifecycle/service.d.ts +232 -0
- package/dist/types/sdk/mcp/server.d.ts +9 -6
- package/dist/types/sdk/prompt-deadline-lease.d.ts +43 -0
- package/dist/types/sdk/prompt-deadline-manager.d.ts +28 -0
- package/dist/types/sdk/prompt-status.d.ts +10 -3
- package/dist/types/sdk/protocol/operation-registry.d.ts +5 -0
- package/dist/types/sdk/receipt-state.d.ts +17 -0
- package/dist/types/sdk/reconciliation-extensions.d.ts +2 -0
- package/dist/types/sdk/router/index.d.ts +1 -0
- package/dist/types/sdk/router/session-router.d.ts +152 -0
- package/dist/types/sdk/session-list.d.ts +22 -0
- package/dist/types/sdk/session-reconnect.d.ts +43 -1
- package/dist/types/sdk/session.d.ts +34 -1
- package/dist/types/sdk/transport/serve-cli.d.ts +1 -4
- package/dist/types/session/account-inventory.d.ts +86 -0
- package/dist/types/session/agent-session.d.ts +145 -6
- package/dist/types/session/agent-storage.d.ts +10 -0
- package/dist/types/session/coordinator-tool-label.d.ts +28 -0
- package/dist/types/session/internal/managed-session-storage.d.ts +23 -4
- package/dist/types/session/messages.d.ts +1 -1
- package/dist/types/session/secure-token-file.d.ts +3 -0
- package/dist/types/session/session-manager.d.ts +47 -1
- package/dist/types/session/startup-auth-config.d.ts +44 -0
- package/dist/types/session/terminal-abort.d.ts +378 -0
- package/dist/types/session/yield-queue.d.ts +7 -0
- package/dist/types/session-import/claude.d.ts +26 -0
- package/dist/types/session-import/codex.d.ts +88 -0
- package/dist/types/session-import/command.d.ts +35 -0
- package/dist/types/session-import/detect.d.ts +22 -0
- package/dist/types/session-import/index.d.ts +7 -0
- package/dist/types/session-import/provider-codex.d.ts +22 -0
- package/dist/types/session-import/provider-service.d.ts +38 -0
- package/dist/types/session-import/redact.d.ts +23 -0
- package/dist/types/session-import/service.d.ts +47 -0
- package/dist/types/session-import/types.d.ts +120 -0
- package/dist/types/setup/paseo/check.d.ts +16 -0
- package/dist/types/setup/paseo/install-saga.d.ts +115 -0
- package/dist/types/setup/paseo/json-publisher.d.ts +76 -0
- package/dist/types/setup/paseo/orchestration-preferences.d.ts +24 -0
- package/dist/types/setup/paseo/paseo-ownership.d.ts +87 -0
- package/dist/types/setup/paseo/paseo-setup.d.ts +29 -0
- package/dist/types/setup/paseo/provider-config.d.ts +35 -0
- package/dist/types/setup/paseo/remove.d.ts +14 -0
- package/dist/types/setup/paseo/result-types.d.ts +59 -0
- package/dist/types/setup/paseo/setup-deps.d.ts +73 -0
- package/dist/types/setup/paseo/skills-bridge.d.ts +44 -0
- package/dist/types/skill-state/active-state.d.ts +5 -1
- package/dist/types/slash-commands/acp-builtins.d.ts +5 -1
- package/dist/types/slash-commands/builtin-registry.d.ts +2 -0
- package/dist/types/slash-commands/helpers/credential-switch.d.ts +12 -0
- package/dist/types/slash-commands/helpers/usage-report.d.ts +5 -6
- package/dist/types/slash-commands/types.d.ts +7 -1
- package/dist/types/task/executor.d.ts +10 -0
- package/dist/types/task/index.d.ts +3 -1
- package/dist/types/tools/ask-answer-registry.d.ts +6 -3
- package/dist/types/tools/bash-sleep-advisory.d.ts +14 -0
- package/dist/types/tools/bash.d.ts +2 -6
- package/dist/types/tools/browser/attach.d.ts +11 -0
- package/dist/types/tools/browser/launch.d.ts +20 -0
- package/dist/types/tools/browser/profile-discovery.d.ts +6 -0
- package/dist/types/tools/browser/render.d.ts +1 -0
- package/dist/types/tools/browser.d.ts +3 -1
- package/dist/types/tools/image-gen.d.ts +10 -2
- package/dist/types/tools/index.d.ts +8 -0
- package/dist/types/tools/monitor.d.ts +1 -1
- package/dist/types/tools/skill-discovery.d.ts +8 -1
- package/dist/types/tools/subagent.d.ts +2 -0
- package/dist/types/tools/ultragoal-ask-guard.d.ts +2 -2
- package/dist/types/utils/herdr-pane.d.ts +76 -0
- package/package.json +19 -9
- package/scripts/build-binary.ts +2 -1
- package/scripts/build-sdk-package-smoke.ts +2 -13
- package/scripts/capture-sticky-viewport-showcase.ts +0 -1
- package/scripts/compile-args.ts +2 -0
- package/scripts/generate-sdk-adapter-parity-manifest.ts +31 -16
- package/scripts/generate-sdk-operation-inventory.ts +28 -0
- package/scripts/generate-telegram-baseline-manifest.ts +1 -0
- package/scripts/generate-tool-catalog.ts +6 -4
- package/scripts/verify-gjc-sdk-canonicalization.ts +5 -39
- package/src/async/job-manager.ts +352 -17
- package/src/async/support.ts +25 -0
- package/src/autoresearch/dashboard.ts +28 -13
- package/src/capability/index.ts +3 -1
- package/src/capability/mcp.ts +6 -0
- package/src/capability/types.ts +6 -0
- package/src/cli/accounts-cli.ts +395 -0
- package/src/cli/args.ts +23 -0
- package/src/cli/auth-broker-cli.ts +136 -66
- package/src/cli/auth-gateway-cli.ts +94 -70
- package/src/cli/config-cli.ts +27 -2
- package/src/cli/crash-cli.ts +78 -0
- package/src/cli/customize-doctor.ts +1605 -0
- package/src/cli/daemon-cli.ts +12 -3
- package/src/cli/fast-help.ts +1 -0
- package/src/cli/mcp-cli.ts +128 -60
- package/src/cli/notify-cli.ts +8 -14
- package/src/cli/root-flags.ts +8 -0
- package/src/cli/setup-cli.ts +145 -0
- package/src/cli/skills-cli.ts +38 -2
- package/src/cli/update-cli.ts +167 -12
- package/src/cli.ts +4 -0
- package/src/commands/accounts.ts +71 -0
- package/src/commands/crash.ts +35 -0
- package/src/commands/customize.ts +84 -0
- package/src/commands/daemon.ts +2 -2
- package/src/commands/deep-interview.ts +2 -0
- package/src/commands/launch.ts +1 -0
- package/src/commands/mcp.ts +12 -7
- package/src/commands/ralplan.ts +2 -0
- package/src/commands/sdk.ts +65 -32
- package/src/commands/setup.ts +5 -0
- package/src/commands/skills.ts +14 -4
- package/src/commands/ultragoal.ts +10 -1
- package/src/commands/update.ts +26 -15
- package/src/config/atomic-yaml-patch-worker.ts +57 -0
- package/src/config/atomic-yaml-patch.ts +769 -29
- package/src/config/config-schema-version.ts +10 -0
- package/src/config/file-lock.ts +70 -1
- package/src/config/mcp-schema.json +52 -14
- package/src/config/model-profile-activation.ts +23 -2
- package/src/config/model-profiles.ts +88 -21
- package/src/config/model-registry.ts +147 -21
- package/src/config/models-config-schema.ts +1 -1
- package/src/config/settings-schema.ts +77 -7
- package/src/config/settings.ts +4038 -199
- package/src/config/skill-settings-defaults.ts +41 -3
- package/src/config/task-delegation.ts +87 -0
- package/src/config/update-channel.ts +23 -0
- package/src/coordinator-mcp/server.ts +377 -308
- package/src/crash/index-store.ts +723 -0
- package/src/crash/nudge.ts +89 -0
- package/src/crash/record-loader.ts +149 -0
- package/src/crash/report.ts +551 -0
- package/src/crash/sanitize.ts +129 -0
- package/src/cursor.ts +36 -10
- package/src/customization/import.ts +946 -0
- package/src/customization/index.ts +4 -0
- package/src/customization/inventory.ts +335 -0
- package/src/customization/mutations.ts +141 -0
- package/src/customization/types.ts +223 -0
- package/src/daemon/control-types.ts +8 -1
- package/src/daemon/operator-contract.ts +6 -6
- package/src/defaults/gjc/extensions/grok-cli-vendor/src/models/catalog.ts +31 -6
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +11 -22
- package/src/defaults/gjc/skills/ralplan/SKILL.md +36 -23
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +16 -0
- package/src/discovery/claude-hooks.ts +38 -0
- package/src/discovery/claude.ts +142 -209
- package/src/discovery/codex-hooks.ts +38 -0
- package/src/discovery/codex.ts +132 -198
- package/src/discovery/helpers.ts +8 -1
- package/src/discovery/index.ts +2 -0
- package/src/discovery/mcp-compat.ts +234 -0
- package/src/discovery/mcp-json.ts +6 -0
- package/src/edit/renderer.ts +40 -0
- package/src/edit/streaming.ts +4 -2
- package/src/exec/bash-executor.ts +24 -20
- package/src/export/html/index.ts +51 -2
- package/src/extensibility/extensions/loader.ts +9 -1
- package/src/extensibility/extensions/runner.ts +17 -4
- package/src/extensibility/extensions/types.ts +31 -6
- package/src/extensibility/gjc-plugins/constrained-hooks.ts +33 -0
- package/src/extensibility/gjc-plugins/installer.ts +9 -5
- package/src/extensibility/gjc-plugins/observability.ts +8 -2
- package/src/extensibility/gjc-plugins/registry.ts +13 -2
- package/src/extensibility/gjc-plugins/runtime-adapters.ts +3 -1
- package/src/extensibility/gjc-plugins/schema.ts +222 -39
- package/src/extensibility/hooks/loader.ts +154 -10
- package/src/extensibility/runtime-skill-discovery.ts +257 -60
- package/src/extensibility/skill-management.ts +368 -0
- package/src/extensibility/skills.ts +52 -16
- package/src/gjc-runtime/deep-interview-runtime.ts +45 -61
- package/src/gjc-runtime/launch-worktree.ts +56 -2
- package/src/gjc-runtime/linux-proc.ts +7 -1
- package/src/gjc-runtime/ralplan-runtime.ts +100 -164
- package/src/gjc-runtime/session-state-lock.ts +992 -0
- package/src/gjc-runtime/session-state-sidecar.ts +644 -142
- package/src/gjc-runtime/state-writer.ts +39 -14
- package/src/gjc-runtime/tmux-owner-isolation.ts +5 -4
- package/src/gjc-runtime/ultragoal-guard.ts +11 -4
- package/src/gjc-runtime/ultragoal-runtime.ts +44 -41
- package/src/gjc-runtime/workflow-settings.ts +596 -0
- package/src/goals/tools/goal-tool.ts +6 -1
- package/src/hooks/events.ts +291 -0
- package/src/hooks/native-skill-hook.ts +4 -0
- package/src/hooks/normalize.ts +369 -0
- package/src/hooks/skill-state.ts +165 -46
- package/src/internal-urls/docs-index.generated.ts +41 -32
- package/src/main.ts +36 -5
- package/src/migrate/mcp-mapper.ts +25 -2
- package/src/modes/acp/abort-scope.ts +29 -0
- package/src/modes/acp/acp-agent.ts +423 -98
- package/src/modes/components/assistant-message.ts +6 -1
- package/src/modes/components/chrome.ts +4 -3
- package/src/modes/components/customization/customization-dashboard.ts +443 -0
- package/src/modes/components/customization/import-wizard.ts +372 -0
- package/src/modes/components/customization/index.ts +1 -0
- package/src/modes/components/dynamic-theme-text.ts +22 -0
- package/src/modes/components/gajae-pet-widget.ts +607 -193
- package/src/modes/components/irc-sidebar.ts +11 -0
- package/src/modes/components/iterm-pet-transport.ts +585 -0
- package/src/modes/components/model-selector.ts +1 -6
- package/src/modes/components/oauth-selector.ts +277 -86
- package/src/modes/components/pet-capability.ts +35 -31
- package/src/modes/components/settings-selector.ts +29 -5
- package/src/modes/components/status-line/gh.ts +45 -1
- package/src/modes/components/status-line/segments.ts +19 -4
- package/src/modes/components/tool-status-header.ts +13 -3
- package/src/modes/controllers/command-controller.ts +20 -8
- package/src/modes/controllers/extension-ui-controller.ts +56 -257
- package/src/modes/controllers/input-controller.ts +10 -0
- package/src/modes/controllers/runtime-mcp-command-controller.ts +16 -3
- package/src/modes/controllers/selector-controller.ts +238 -77
- package/src/modes/controllers/stt-controller.ts +3 -3
- package/src/modes/interactive-mode.ts +88 -16
- package/src/modes/print-mode.ts +35 -6
- package/src/modes/runtime-init.ts +21 -68
- package/src/modes/theme/defaults/index.ts +2 -0
- package/src/modes/theme/defaults/ouroboros.json +118 -0
- package/src/modes/types.ts +1 -0
- package/src/modes/utils/injected-user-submission.ts +25 -0
- package/src/modes/utils/terminal-bell.ts +15 -1
- package/src/prompts/agent-fragments/ralplan-persistence.md +1 -1
- package/src/prompts/agent-fragments/restricted-bash.md +1 -1
- package/src/prompts/agents/critic.md +1 -1
- package/src/prompts/system/rlm-research.md +1 -1
- package/src/prompts/system/system-prompt.md +0 -2
- package/src/prompts/tools/bash.md +7 -1
- package/src/prompts/tools/browser.md +1 -1
- package/src/prompts/tools/cron.md +6 -6
- package/src/prompts/tools/read.md +0 -2
- package/src/prompts/tools/skill-discovery.md +4 -2
- package/src/runtime-mcp/client.ts +427 -23
- package/src/runtime-mcp/config.ts +37 -5
- package/src/runtime-mcp/manager-pool.test.ts +56 -0
- package/src/runtime-mcp/manager.ts +52 -2
- package/src/runtime-mcp/oauth-discovery.ts +13 -0
- package/src/runtime-mcp/oauth-flow.ts +46 -1
- package/src/runtime-mcp/pool-key.ts +5 -1
- package/src/runtime-mcp/pool.test.ts +9 -0
- package/src/runtime-mcp/protocol.test.ts +353 -0
- package/src/runtime-mcp/protocol.ts +624 -0
- package/src/runtime-mcp/scope-config.ts +78 -0
- package/src/runtime-mcp/tool-bridge.ts +44 -10
- package/src/runtime-mcp/transports/http.ts +84 -13
- package/src/runtime-mcp/types.ts +123 -12
- package/src/sdk/acp/adapter.ts +328 -97
- package/src/sdk/broker/broker.ts +160 -741
- package/src/sdk/broker/ensure.ts +9 -1
- package/src/sdk/broker/lifecycle.ts +510 -116
- package/src/sdk/broker/operation-receipt-ledger.ts +11 -2
- package/src/sdk/broker/process-incarnation.ts +19 -0
- package/src/sdk/broker/session-index.ts +516 -117
- package/src/sdk/broker/startup-failure.ts +28 -5
- package/src/sdk/broker/transport.ts +1 -13
- package/src/sdk/bus/chat-daemon-cli.ts +4 -2
- package/src/sdk/bus/chat-daemon-control.ts +67 -6
- package/src/sdk/bus/chat-daemon-runtime.ts +183 -859
- package/src/sdk/bus/config.ts +13 -0
- package/src/sdk/bus/conversation-store.ts +59 -171
- package/src/sdk/bus/daemon-paths.ts +20 -0
- package/src/sdk/bus/discord-conversation.ts +2 -0
- package/src/sdk/bus/discord-daemon.ts +524 -126
- package/src/sdk/bus/discord-live-provider.ts +206 -79
- package/src/sdk/bus/existing-thread-readiness.ts +4 -97
- package/src/sdk/bus/inbound-reaction-ordering.ts +122 -0
- package/src/sdk/bus/index.ts +2480 -456
- package/src/sdk/bus/kind-aware-reconciliation.ts +204 -34
- package/src/sdk/bus/lifecycle-commands.ts +2 -2
- package/src/sdk/bus/managed-daemon.ts +2 -145
- package/src/sdk/bus/notification-service.ts +196 -0
- package/src/sdk/bus/operator-runtime.ts +1 -1
- package/src/sdk/bus/prompt-reconciliation.ts +24 -15
- package/src/sdk/bus/reconciliation-store.ts +553 -24
- package/src/sdk/bus/session-control.ts +49 -3
- package/src/sdk/bus/slack-conversation.ts +4 -0
- package/src/sdk/bus/slack-daemon.ts +733 -134
- package/src/sdk/bus/slack-live-provider.ts +65 -15
- package/src/sdk/bus/slack-provider.ts +4 -0
- package/src/sdk/bus/slack-thread-binding.ts +9 -104
- package/src/sdk/bus/telegram-adoption-intent.ts +299 -209
- package/src/sdk/bus/telegram-daemon-cli.ts +194 -7
- package/src/sdk/bus/telegram-daemon-contract.ts +265 -19
- package/src/sdk/bus/telegram-daemon-control.ts +3 -13
- package/src/sdk/bus/telegram-daemon-orphan-reap.ts +498 -0
- package/src/sdk/bus/telegram-daemon-owner-registry.ts +176 -0
- package/src/sdk/bus/telegram-daemon.ts +2552 -2280
- package/src/sdk/bus/telegram-reference.ts +1 -226
- package/src/sdk/bus/telegram-setup.ts +2 -2
- package/src/sdk/bus/threaded-render.ts +1 -0
- package/src/sdk/bus/topic-registry.ts +279 -146
- package/src/sdk/cli/rows.ts +2 -35
- package/src/sdk/cli/session-cli.ts +776 -700
- package/src/sdk/client/client.ts +892 -1
- package/src/sdk/host/control/dispatch.ts +93 -58
- package/src/sdk/host/control/index.ts +1 -1
- package/src/sdk/host/control/operations.ts +18 -10
- package/src/sdk/host/control/runtime-gate.ts +40 -0
- package/src/sdk/host/host.ts +63 -12
- package/src/sdk/host/query/handlers.ts +66 -7
- package/src/sdk/host/reverse-leases.ts +2 -2
- package/src/sdk/host/sdk-surface-parity.test.ts +1 -1
- package/src/sdk/host/session-runtime.test.ts +2787 -34
- package/src/sdk/host/session-runtime.ts +1489 -101
- package/src/sdk/host/surface-policy.ts +12 -8
- package/src/sdk/host/types.ts +1 -1
- package/src/sdk/host/websocket-transport.lifecycle.test.ts +31 -59
- package/src/sdk/host/websocket-transport.ts +85 -50
- package/src/sdk/index.ts +2 -1
- package/src/sdk/lifecycle/broker-client.ts +53 -0
- package/src/sdk/lifecycle/client.ts +234 -0
- package/src/sdk/lifecycle/index.ts +3 -0
- package/src/sdk/{bus/recent-activity.ts → lifecycle/recent-sessions.ts} +5 -2
- package/src/sdk/lifecycle/service.ts +720 -0
- package/src/sdk/mcp/server.ts +226 -188
- package/src/sdk/prompt-deadline-lease.ts +55 -0
- package/src/sdk/prompt-deadline-manager.ts +148 -0
- package/src/sdk/prompt-status.ts +11 -3
- package/src/sdk/protocol/operation-inventory.generated.json +272 -129
- package/src/sdk/protocol/operation-registry.ts +71 -8
- package/src/sdk/receipt-state.ts +43 -0
- package/src/sdk/reconciliation-extensions.ts +14 -0
- package/src/sdk/router/index.ts +1 -0
- package/src/sdk/router/session-router.ts +1658 -0
- package/src/sdk/session-list.ts +93 -0
- package/src/sdk/session-reconnect.ts +45 -1
- package/src/sdk/session.ts +716 -120
- package/src/sdk/transport/serve-cli.ts +18 -34
- package/src/session/account-inventory.ts +603 -0
- package/src/session/agent-session.ts +2873 -559
- package/src/session/agent-storage.ts +35 -0
- package/src/session/blob-store.ts +32 -1
- package/src/session/coordinator-tool-label.ts +40 -0
- package/src/session/internal/managed-session-scope.ts +4 -0
- package/src/session/internal/managed-session-storage.ts +199 -31
- package/src/session/messages.ts +1 -1
- package/src/session/secure-token-file.ts +80 -0
- package/src/session/session-manager.ts +757 -57
- package/src/session/session-storage.ts +25 -16
- package/src/session/startup-auth-config.ts +297 -0
- package/src/session/terminal-abort.ts +1253 -0
- package/src/session/yield-queue.ts +57 -15
- package/src/session-import/claude.ts +334 -0
- package/src/session-import/codex.ts +1033 -0
- package/src/session-import/command.ts +77 -0
- package/src/session-import/detect.ts +133 -0
- package/src/session-import/index.ts +7 -0
- package/src/session-import/provider-codex.ts +327 -0
- package/src/session-import/provider-service.ts +457 -0
- package/src/session-import/redact.ts +128 -0
- package/src/session-import/service.ts +1264 -0
- package/src/session-import/types.ts +148 -0
- package/src/setup/paseo/check.ts +213 -0
- package/src/setup/paseo/install-saga.ts +293 -0
- package/src/setup/paseo/json-publisher.ts +263 -0
- package/src/setup/paseo/orchestration-preferences.ts +86 -0
- package/src/setup/paseo/paseo-ownership.ts +224 -0
- package/src/setup/paseo/paseo-setup.ts +253 -0
- package/src/setup/paseo/provider-config.ts +139 -0
- package/src/setup/paseo/remove.ts +183 -0
- package/src/setup/paseo/result-types.ts +79 -0
- package/src/setup/paseo/setup-deps.ts +175 -0
- package/src/setup/paseo/skills-bridge.ts +260 -0
- package/src/skill-state/active-state.ts +21 -11
- package/src/slash-commands/acp-builtins.ts +9 -1
- package/src/slash-commands/builtin-registry.ts +117 -19
- package/src/slash-commands/helpers/credential-switch.ts +143 -0
- package/src/slash-commands/helpers/mcp.ts +9 -3
- package/src/slash-commands/helpers/usage-report.ts +61 -56
- package/src/slash-commands/types.ts +7 -2
- package/src/task/executor.ts +30 -11
- package/src/task/index.ts +66 -7
- package/src/task/render.ts +23 -9
- package/src/tools/ask-answer-registry.ts +23 -7
- package/src/tools/ask.ts +8 -4
- package/src/tools/bash-sleep-advisory.ts +115 -0
- package/src/tools/bash.ts +98 -18
- package/src/tools/browser/attach.ts +71 -3
- package/src/tools/browser/launch.ts +86 -13
- package/src/tools/browser/profile-discovery.ts +57 -7
- package/src/tools/browser/render.ts +8 -1
- package/src/tools/browser.ts +130 -21
- package/src/tools/computer.enforcement.test.ts +1 -1
- package/src/tools/computer.ts +3 -2
- package/src/tools/cron.ts +12 -1
- package/src/tools/image-gen.ts +349 -142
- package/src/tools/index.ts +8 -0
- package/src/tools/job.ts +33 -6
- package/src/tools/monitor.ts +41 -2
- package/src/tools/skill-discovery.ts +21 -29
- package/src/tools/subagent.ts +142 -24
- package/src/tools/todo-contract.ts +55 -3
- package/src/tools/todo-write.ts +4 -3
- package/src/tools/tool-catalog.generated.ts +6 -6
- package/src/tools/ultragoal-ask-guard.ts +10 -3
- package/src/utils/herdr-pane.ts +345 -0
- package/src/utils/title-generator.ts +2 -0
- package/src/web/scrapers/index.ts +6 -4
- package/dist/types/cli/malloc-env-guard.test.d.ts +0 -1
- package/dist/types/defaults/gjc-defaults.test.d.ts +0 -1
- package/dist/types/memory-backend/lazy-loading.test.d.ts +0 -1
- package/dist/types/runtime/boot-ordering.test.d.ts +0 -1
- package/dist/types/runtime/lazy-service.test.d.ts +0 -1
- package/dist/types/runtime/network-prewarm-service.test.d.ts +0 -1
- package/dist/types/runtime/workspace-tree-service.test.d.ts +0 -1
- package/dist/types/runtime-mcp/config.test.d.ts +0 -1
- package/dist/types/runtime-mcp/http.test.d.ts +0 -1
- package/dist/types/runtime-mcp/manager-pool.test.d.ts +0 -1
- package/dist/types/runtime-mcp/pool-key.test.d.ts +0 -1
- package/dist/types/runtime-mcp/pool.test.d.ts +0 -1
- package/dist/types/sdk/bus/lifecycle-control-runtime.d.ts +0 -117
- package/dist/types/sdk/bus/lifecycle-orchestrator.d.ts +0 -141
- package/dist/types/sdk/bus/telegram-cli.d.ts +0 -31
- package/dist/types/sdk/elevation/allowlist.d.ts +0 -20
- package/dist/types/sdk/elevation/audit.d.ts +0 -93
- package/dist/types/sdk/elevation/capability.d.ts +0 -3
- package/dist/types/sdk/elevation/digest.d.ts +0 -72
- package/dist/types/sdk/elevation/dispatch-receipt.d.ts +0 -85
- package/dist/types/sdk/elevation/grant-ledger.d.ts +0 -163
- package/dist/types/sdk/elevation/owner.d.ts +0 -48
- package/dist/types/sdk/host/import-graph.test.d.ts +0 -1
- package/dist/types/sdk/host/sdk-surface-parity.test.d.ts +0 -1
- package/dist/types/sdk/host/session-runtime.test.d.ts +0 -1
- package/dist/types/sdk/host/websocket-transport.lifecycle.test.d.ts +0 -1
- package/dist/types/session/auth-broker-config.d.ts +0 -13
- package/dist/types/session/heap-eviction-artifacts.test.d.ts +0 -1
- package/dist/types/skills/skills.test.d.ts +0 -1
- package/dist/types/slash-commands/notify-command.test.d.ts +0 -1
- package/dist/types/task/token-log.test.d.ts +0 -1
- package/dist/types/tools/computer.enforcement.test.d.ts +0 -1
- package/dist/types/tools/descriptors.test.d.ts +0 -1
- package/scripts/g005-daemon-smoke.ts +0 -180
- package/scripts/g011-daemon-path-smoke.ts +0 -153
- package/src/sdk/bus/lifecycle-control-runtime.ts +0 -1733
- package/src/sdk/bus/lifecycle-orchestrator.ts +0 -489
- package/src/sdk/bus/telegram-cli.ts +0 -212
- package/src/sdk/elevation/allowlist.ts +0 -54
- package/src/sdk/elevation/audit.ts +0 -208
- package/src/sdk/elevation/capability.ts +0 -41
- package/src/sdk/elevation/digest.ts +0 -129
- package/src/sdk/elevation/dispatch-receipt.ts +0 -184
- package/src/sdk/elevation/grant-ledger.ts +0 -1142
- package/src/sdk/elevation/owner.ts +0 -109
- package/src/session/auth-broker-config.ts +0 -109
- /package/dist/types/{ai-core-import-gate.test.d.ts → discovery/claude-hooks.d.ts} +0 -0
- /package/dist/types/{cli/fixture-report.test.d.ts → discovery/codex-hooks.d.ts} +0 -0
- /package/dist/types/sdk/{bus/recent-activity.d.ts → lifecycle/recent-sessions.d.ts} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AbortScope } from "../../sdk/host/control/operations";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves the C04 terminal-abort scope for an ACP `session/cancel`. Client
|
|
4
|
+
* metadata is authoritative; the process environment is only a fallback when
|
|
5
|
+
* that field is absent. Both default to `"turn"` so an external client that
|
|
6
|
+
* ends a turn only stops that turn, matching the SDK `turn.abort` default and
|
|
7
|
+
* other ACP clients' cancel behavior; a client that also wants exact owned
|
|
8
|
+
* subagents and background tasks stopped opts in per request with
|
|
9
|
+
* `_meta.gjc.abortScope: "owned"` (or process-wide with
|
|
10
|
+
* `GJC_ACP_ABORT_SCOPE=owned`). Paseo keeps owned cancels through its provider
|
|
11
|
+
* config `env: { "GJC_ACP_ABORT_SCOPE": "owned" }` without source changes.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveAcpAbortScope(meta: unknown, env?: NodeJS.ProcessEnv): AbortScope;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Agent, type AgentSideConnection, type AuthenticateRequest, type AuthenticateResponse, type AvailableCommand, type ClientCapabilities, type CloseSessionRequest, type CloseSessionResponse, type DeleteSessionRequest, type DeleteSessionResponse, type ForkSessionRequest, type ForkSessionResponse, type InitializeRequest, type InitializeResponse, type ListSessionsRequest, type ListSessionsResponse, type LoadSessionRequest, type LoadSessionResponse, type NewSessionRequest, type NewSessionResponse, type PromptRequest, type PromptResponse, type ResumeSessionRequest, type ResumeSessionResponse, type SetSessionConfigOptionRequest, type SetSessionConfigOptionResponse, type SetSessionModeRequest, type SetSessionModeResponse } from "@agentclientprotocol/sdk";
|
|
1
|
+
import { type Agent, type AgentSideConnection, type AuthenticateRequest, type AuthenticateResponse, type AvailableCommand, type CancelNotification, type ClientCapabilities, type CloseSessionRequest, type CloseSessionResponse, type DeleteSessionRequest, type DeleteSessionResponse, type ForkSessionRequest, type ForkSessionResponse, type InitializeRequest, type InitializeResponse, type ListSessionsRequest, type ListSessionsResponse, type LoadSessionRequest, type LoadSessionResponse, type NewSessionRequest, type NewSessionResponse, type PromptRequest, type PromptResponse, type ResumeSessionRequest, type ResumeSessionResponse, type SetSessionConfigOptionRequest, type SetSessionConfigOptionResponse, type SetSessionModeRequest, type SetSessionModeResponse } from "@agentclientprotocol/sdk";
|
|
2
2
|
import { type AcpProviderRegistration, type AcpReverseConnection, AcpSdkAdapter } from "../../sdk/acp";
|
|
3
3
|
import { type PromptWatchdogClock } from "../../sdk/prompt-watchdog";
|
|
4
4
|
import type { AcpStartupOptions } from "./startup-options";
|
|
@@ -240,6 +240,11 @@ export declare function acpSessionStateFromConfig(query: unknown, modelCatalogQu
|
|
|
240
240
|
currentModeId: string;
|
|
241
241
|
};
|
|
242
242
|
};
|
|
243
|
+
/** Recognize a canonical ACP skill command only when it is the complete, single text prompt. */
|
|
244
|
+
export declare function acpSkillInvocation(blocks: PromptRequest["prompt"]): {
|
|
245
|
+
name: string;
|
|
246
|
+
args: string;
|
|
247
|
+
} | undefined;
|
|
243
248
|
/** Convert every ACP prompt block the agent advertises without silently discarding context. */
|
|
244
249
|
export declare function acpPromptPayload(blocks: PromptRequest["prompt"]): {
|
|
245
250
|
text: string;
|
|
@@ -295,9 +300,7 @@ export declare class AcpAgent implements Agent {
|
|
|
295
300
|
setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
|
|
296
301
|
setSessionConfigOption(params: SetSessionConfigOptionRequest): Promise<SetSessionConfigOptionResponse>;
|
|
297
302
|
prompt(params: PromptRequest): Promise<PromptResponse>;
|
|
298
|
-
cancel(params:
|
|
299
|
-
sessionId: string;
|
|
300
|
-
}): Promise<void>;
|
|
303
|
+
cancel(params: CancelNotification): Promise<void>;
|
|
301
304
|
extMethod(method: string, params: JsonObject): Promise<JsonObject>;
|
|
302
305
|
extNotification(_method: string, _params: JsonObject): Promise<void>;
|
|
303
306
|
get signal(): AbortSignal;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CustomizationDashboard — the umbrella local-customization home opened by the
|
|
3
|
+
* `/extensions` slash command (issue #4291).
|
|
4
|
+
*
|
|
5
|
+
* This is a standalone state model and component tree around local
|
|
6
|
+
* Skills/Hooks/MCPs/Import. It is intentionally NOT built on the
|
|
7
|
+
* provider/extension-module ExtensionDashboard; the two surfaces share only
|
|
8
|
+
* generic TUI primitives (Container, Text, SelectList, DynamicBorder).
|
|
9
|
+
*
|
|
10
|
+
* The scope switch is a real management boundary: each list only shows rows
|
|
11
|
+
* persisted at the active scope, and mutations refuse rows from the other
|
|
12
|
+
* scope. All dynamic text is sanitized before rendering.
|
|
13
|
+
*
|
|
14
|
+
* Layout (narrow-terminal safe):
|
|
15
|
+
* title: /extensions — Configure skills, hooks, and MCPs.
|
|
16
|
+
* scope badge (Project .gjc / Global .gjc) — `s` switches
|
|
17
|
+
* section tabs: Skills | Hooks | MCPs — left/right switch
|
|
18
|
+
* inventory rows for the active section + scope with status + provenance
|
|
19
|
+
* footer key hints
|
|
20
|
+
*/
|
|
21
|
+
import { Container } from "@gajae-code/tui";
|
|
22
|
+
import { type CustomizationInventory } from "../../../customization/inventory";
|
|
23
|
+
import { type CustomizationSurface, type GjcScope } from "../../../customization/types";
|
|
24
|
+
/** Minimal settings slice the dashboard reads and writes. */
|
|
25
|
+
export interface CustomizationSettingsSlice {
|
|
26
|
+
get(key: string): unknown;
|
|
27
|
+
set?(key: string, value: unknown): void;
|
|
28
|
+
}
|
|
29
|
+
export declare class CustomizationDashboard extends Container {
|
|
30
|
+
#private;
|
|
31
|
+
/** Called when the dashboard wants to close (Esc / q / interrupt). */
|
|
32
|
+
onClose: (() => void) | undefined;
|
|
33
|
+
/** Called whenever the dashboard needs a re-render. */
|
|
34
|
+
onRequestRender: (() => void) | undefined;
|
|
35
|
+
/** Use `create()` — async inventory load runs before chrome construction. */
|
|
36
|
+
constructor(cwd: string, settings: CustomizationSettingsSlice | undefined, homeDir: string | undefined);
|
|
37
|
+
static create(cwd: string, settings?: CustomizationSettingsSlice, homeDir?: string): Promise<CustomizationDashboard>;
|
|
38
|
+
get scope(): GjcScope;
|
|
39
|
+
get section(): CustomizationSurface;
|
|
40
|
+
/** Current inventory snapshot (test-visible). */
|
|
41
|
+
get inventory(): CustomizationInventory;
|
|
42
|
+
handleInput(keyData: string): void;
|
|
43
|
+
render(width: number): string[];
|
|
44
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Container } from "@gajae-code/tui";
|
|
2
|
+
import type { GjcScope, ImportPreview, ImportResult } from "../../../customization/types";
|
|
3
|
+
type WizardStep = "product" | "sourceScope" | "surfaces" | "collision" | "preview" | "result";
|
|
4
|
+
export declare class ImportWizard extends Container {
|
|
5
|
+
#private;
|
|
6
|
+
/** Called when the wizard finishes or is cancelled; `applied` is true only when an import succeeded. */
|
|
7
|
+
onClose: ((applied: boolean) => void) | undefined;
|
|
8
|
+
onRequestRender: (() => void) | undefined;
|
|
9
|
+
constructor(cwd: string, destinationScope: GjcScope, homeDir?: string);
|
|
10
|
+
/** Current step (test-visible). */
|
|
11
|
+
get step(): WizardStep;
|
|
12
|
+
/** Last built preview DTO — redacted and serialization-safe (test-visible). */
|
|
13
|
+
get preview(): ImportPreview | null;
|
|
14
|
+
/** Last apply result (test-visible). */
|
|
15
|
+
get result(): ImportResult | null;
|
|
16
|
+
/** Whether the wizard currently shows an attached selection list (test-visible). */
|
|
17
|
+
get hasVisibleSelector(): boolean;
|
|
18
|
+
handleInput(keyData: string): void;
|
|
19
|
+
render(width: number): string[];
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customization-dashboard";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Component } from "@gajae-code/tui";
|
|
2
|
+
/** Text whose styling is resolved at render time so live theme previews recolor open overlays. */
|
|
3
|
+
export declare class DynamicThemeText implements Component {
|
|
4
|
+
#private;
|
|
5
|
+
private readonly getText;
|
|
6
|
+
constructor(getText: () => string);
|
|
7
|
+
invalidate(): void;
|
|
8
|
+
render(width: number): string[];
|
|
9
|
+
}
|
|
@@ -2,11 +2,7 @@ import { type Component, type Container, type PetMode, type PetSkinId, type TUI
|
|
|
2
2
|
import type { CustomEditor } from "./custom-editor";
|
|
3
3
|
/** Re-exported from the tui skin registry so widget-relative imports stay valid. */
|
|
4
4
|
export type { PetMode, PetSkinId };
|
|
5
|
-
/**
|
|
6
|
-
* Wraps the composer editor, reserving a right-side area beside it where the
|
|
7
|
-
* real-pixel pet is drawn. The editor just renders narrower; the pet pixels
|
|
8
|
-
* are emitted separately as an absolute-positioned overlay.
|
|
9
|
-
*/
|
|
5
|
+
/** Reserve a right-side area beside the composer where the pixel pet is drawn. */
|
|
10
6
|
export declare class PetFramedEditor implements Component {
|
|
11
7
|
#private;
|
|
12
8
|
constructor(editor: CustomEditor);
|
|
@@ -15,20 +11,7 @@ export declare class PetFramedEditor implements Component {
|
|
|
15
11
|
invalidate(): void;
|
|
16
12
|
render(width: number): string[];
|
|
17
13
|
}
|
|
18
|
-
/**
|
|
19
|
-
* The gajae pet: a 16x16 real-pixel sprite living in a reserved area beside
|
|
20
|
-
* the composer. It is nearest-neighbor scaled to the two terminal rows occupied
|
|
21
|
-
* by an empty one-line composer and lifted one row so its feet meet the input
|
|
22
|
-
* box's bottom edge.
|
|
23
|
-
*
|
|
24
|
-
* Rendering has two paths that share one payload builder:
|
|
25
|
-
* - a post-render emitter re-draws the sprite after every TUI write (line
|
|
26
|
-
* renders clear the pet cells, so the overlay must be re-applied), and
|
|
27
|
-
* - frame advances write the payload directly to the terminal, because the
|
|
28
|
-
* TUI skips writes entirely when no component line changed.
|
|
29
|
-
*
|
|
30
|
-
* Requires a sixel- or kitty-graphics terminal (`pixelProtocol()`).
|
|
31
|
-
*/
|
|
14
|
+
/** The gajae pet pixel sprite and protocol-specific rendering lifecycle. */
|
|
32
15
|
export declare class GajaePetWidget {
|
|
33
16
|
#private;
|
|
34
17
|
constructor(options: {
|
|
@@ -37,24 +20,19 @@ export declare class GajaePetWidget {
|
|
|
37
20
|
editorContainer: Container;
|
|
38
21
|
floorContainer: Container;
|
|
39
22
|
isWorking: () => boolean;
|
|
40
|
-
/** Rows rendered below the composer box (pet floor + hook widgets). */
|
|
41
23
|
getComposerBottomOffset: () => number;
|
|
24
|
+
syncManagedItermCursor: (row: number, column: number) => Promise<boolean>;
|
|
42
25
|
forcePixelProtocol?: "sixel" | "kitty";
|
|
43
|
-
/** Random [min, max] ms between auto-flexes; null disables. */
|
|
44
26
|
autoFlexGapMs?: [number, number] | null;
|
|
45
27
|
});
|
|
46
|
-
|
|
47
|
-
static pixelProtocol(): "sixel" | "kitty" | null;
|
|
28
|
+
static pixelProtocol(): "sixel" | "kitty" | "iterm" | null;
|
|
48
29
|
get mode(): PetMode;
|
|
49
30
|
get isFlexing(): boolean;
|
|
50
31
|
setMode(mode: PetMode): void;
|
|
51
|
-
|
|
52
|
-
* composer editor (that would tear down the open overlay). After a short idle
|
|
53
|
-
* eye-roll it fires the signature burst once (RedGajae flex, BlueGajae para-para
|
|
54
|
-
* then sob) so the selector demos the animation instead of waiting the random gap. */
|
|
32
|
+
suspendItermCapability(): Promise<void>;
|
|
55
33
|
previewMode(mode: PetMode): void;
|
|
56
34
|
commitPreviewMode(mode: PetMode): void;
|
|
57
35
|
dispose(): void;
|
|
58
|
-
|
|
36
|
+
disposeAsync(): Promise<void>;
|
|
59
37
|
remountComposer(): void;
|
|
60
38
|
}
|
|
@@ -77,6 +77,7 @@ export declare class IrcSplitViewComponent implements ViewportAnchorProvider {
|
|
|
77
77
|
private readonly ledger;
|
|
78
78
|
private readonly componentTheme;
|
|
79
79
|
constructor(leftPane: Component, ledger: IrcObservationLedger, componentTheme: IrcSidebarThemeSource);
|
|
80
|
+
getRenderRevision(): bigint;
|
|
80
81
|
get visible(): boolean;
|
|
81
82
|
effectiveSidebarVisible(width?: number): boolean;
|
|
82
83
|
setVisible(visible: boolean): void;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export declare const PET_CAPABILITY_DRAIN_MAX_MS = 100;
|
|
2
|
+
export declare const PET_CAPABILITY_QUIESCENCE_MS = 25;
|
|
3
|
+
export declare const PET_CAPABILITY_QUERY_TIMEOUT_MS = 1000;
|
|
4
|
+
export declare const PET_TOPOLOGY_POLL_MS = 250;
|
|
5
|
+
export type PetTransportMode = "direct" | "managed";
|
|
6
|
+
export type PetUnavailableReason = "not-iterm2" | "tty-unavailable" | "missing-f" | "invalid-f" | "probe-timeout" | "topology-ineligible" | "topology-lost" | "zero-client-recovery" | "cleanup-failed";
|
|
7
|
+
export type PetTransportAvailability = Readonly<{
|
|
8
|
+
available: boolean;
|
|
9
|
+
mode: PetTransportMode;
|
|
10
|
+
reason?: PetUnavailableReason;
|
|
11
|
+
epoch: number;
|
|
12
|
+
}>;
|
|
13
|
+
export type PetTransportClock = Readonly<{
|
|
14
|
+
now(): number;
|
|
15
|
+
setTimeout(callback: () => void, ms: number): unknown;
|
|
16
|
+
clearTimeout(handle: unknown): void;
|
|
17
|
+
}>;
|
|
18
|
+
export type PetTransportInput = Readonly<{
|
|
19
|
+
drain(maxMs: number, quiescenceMs: number): Promise<void>;
|
|
20
|
+
onData(callback: (data: Uint8Array | string) => PetInputResult | undefined): () => void;
|
|
21
|
+
}>;
|
|
22
|
+
export type PetInputResult = Readonly<{
|
|
23
|
+
consume?: true;
|
|
24
|
+
data?: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type NativePetUi = Readonly<{
|
|
27
|
+
drainPetProbeInput?(maxMs: number, quiescenceMs: number): Promise<void>;
|
|
28
|
+
drainInput(maxMs: number, quiescenceMs: number): Promise<void>;
|
|
29
|
+
addInputListener(callback: (data: string | Uint8Array) => unknown): () => void;
|
|
30
|
+
submitTerminalOutput(request: Readonly<{
|
|
31
|
+
operation: Readonly<{
|
|
32
|
+
type: "raster-probe";
|
|
33
|
+
bytes: Uint8Array;
|
|
34
|
+
}>;
|
|
35
|
+
}>): Promise<Readonly<{
|
|
36
|
+
status?: string;
|
|
37
|
+
written?: number;
|
|
38
|
+
}>>;
|
|
39
|
+
notifyTerminalLifecycle(event: Readonly<{
|
|
40
|
+
kind: "availability-restored" | "explicit-cleanup";
|
|
41
|
+
source: "transport";
|
|
42
|
+
terminalGeneration: number;
|
|
43
|
+
}>): Promise<unknown>;
|
|
44
|
+
readonly terminalGeneration: number;
|
|
45
|
+
}>;
|
|
46
|
+
export type PetTransportOutput = Readonly<{
|
|
47
|
+
write(bytes: Uint8Array): Promise<Readonly<{
|
|
48
|
+
status: "written" | "failed";
|
|
49
|
+
}>>;
|
|
50
|
+
notifyLifecycle?(event: Readonly<{
|
|
51
|
+
kind: "availability-restored" | "explicit-cleanup";
|
|
52
|
+
terminalGeneration: number;
|
|
53
|
+
}>): Promise<unknown>;
|
|
54
|
+
}>;
|
|
55
|
+
export type PetTmuxResult = Readonly<{
|
|
56
|
+
status: number;
|
|
57
|
+
stdout: string;
|
|
58
|
+
stderr?: string;
|
|
59
|
+
}>;
|
|
60
|
+
export type PetTmuxRunner = (argv: readonly string[]) => Promise<PetTmuxResult | string>;
|
|
61
|
+
export type PetTmuxTopology = Readonly<{
|
|
62
|
+
clients: number;
|
|
63
|
+
paneId?: string;
|
|
64
|
+
ownedPaneId?: string;
|
|
65
|
+
clientId?: string;
|
|
66
|
+
clientVersion?: string;
|
|
67
|
+
}>;
|
|
68
|
+
export declare function hasItermFileCapability(v: Uint8Array | string): boolean;
|
|
69
|
+
export declare function consumeCapabilityInput(callback: (data: Uint8Array | string) => void): (data: string | Uint8Array) => PetInputResult | undefined;
|
|
70
|
+
export declare function capabilityProbe(): NodeJS.NonSharedUint8Array;
|
|
71
|
+
export declare function isItermCandidate(env?: NodeJS.ProcessEnv, tty?: boolean): boolean;
|
|
72
|
+
export declare function createNativePetTransport(o: {
|
|
73
|
+
ui: NativePetUi;
|
|
74
|
+
env?: NodeJS.ProcessEnv;
|
|
75
|
+
topology?: () => Promise<PetTmuxTopology>;
|
|
76
|
+
}): ItermPetTransport | undefined;
|
|
77
|
+
export declare class ItermPetTransport {
|
|
78
|
+
#private;
|
|
79
|
+
constructor(o: Readonly<{
|
|
80
|
+
mode?: PetTransportMode;
|
|
81
|
+
ttyCandidate?: boolean;
|
|
82
|
+
clock: PetTransportClock;
|
|
83
|
+
input: PetTransportInput;
|
|
84
|
+
output: PetTransportOutput;
|
|
85
|
+
tmux?: PetTmuxRunner;
|
|
86
|
+
ownedPaneId?: string;
|
|
87
|
+
paneId?: string;
|
|
88
|
+
sessionTarget?: string;
|
|
89
|
+
topology?: () => Promise<PetTmuxTopology>;
|
|
90
|
+
expectedClientId?: string;
|
|
91
|
+
}>);
|
|
92
|
+
get availability(): {
|
|
93
|
+
available: boolean;
|
|
94
|
+
mode: PetTransportMode;
|
|
95
|
+
reason: PetUnavailableReason | undefined;
|
|
96
|
+
epoch: number;
|
|
97
|
+
};
|
|
98
|
+
refreshManagedClient(row: number, column: number): Promise<boolean>;
|
|
99
|
+
subscribe(cb: (a: PetTransportAvailability) => void): () => boolean;
|
|
100
|
+
probe(): Promise<Readonly<{
|
|
101
|
+
available: boolean;
|
|
102
|
+
mode: PetTransportMode;
|
|
103
|
+
reason?: PetUnavailableReason;
|
|
104
|
+
epoch: number;
|
|
105
|
+
}>>;
|
|
106
|
+
retry(): Promise<Readonly<{
|
|
107
|
+
available: boolean;
|
|
108
|
+
mode: PetTransportMode;
|
|
109
|
+
reason?: PetUnavailableReason;
|
|
110
|
+
epoch: number;
|
|
111
|
+
}>>;
|
|
112
|
+
revoke(reason?: PetUnavailableReason): Promise<PetTransportAvailability>;
|
|
113
|
+
inspectManagedTopology(): Promise<Readonly<{
|
|
114
|
+
available: boolean;
|
|
115
|
+
mode: PetTransportMode;
|
|
116
|
+
reason?: PetUnavailableReason;
|
|
117
|
+
epoch: number;
|
|
118
|
+
}>>;
|
|
119
|
+
startManagedPolling(): void;
|
|
120
|
+
stopManagedPolling(): void;
|
|
121
|
+
dispose(): Promise<void>;
|
|
122
|
+
}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
+
import type { AuthCredentialSelector, CredentialRemovalTarget } from "@gajae-code/ai/core";
|
|
1
2
|
import { Container } from "@gajae-code/tui";
|
|
2
3
|
import type { AuthStorage } from "../../session/auth-storage";
|
|
3
4
|
import type { ImportableCredential } from "../../setup/credential-import";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
export interface OAuthSelectorAccountOptions {
|
|
6
|
+
accountProviderId?: string;
|
|
7
|
+
onAccountSelect?: (selector: AuthCredentialSelector) => void | Promise<void>;
|
|
8
|
+
onAutoSelect?: () => void | Promise<void>;
|
|
9
|
+
onAddAccount?: () => void | Promise<void>;
|
|
10
|
+
onAccountRemove?: (targets: readonly CredentialRemovalTarget[]) => void | Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/** Component that renders an OAuth provider selector or a provider-scoped account selector. */
|
|
7
13
|
export declare class OAuthSelectorComponent extends Container {
|
|
8
14
|
#private;
|
|
9
15
|
constructor(mode: "login" | "logout", authStorage: AuthStorage, onSelect: (providerId: string) => void, onCancel: () => void, options?: {
|
|
10
16
|
validateAuth?: (providerId: string) => Promise<boolean>;
|
|
11
17
|
requestRender?: () => void;
|
|
12
18
|
externalCredentialCandidates?: ImportableCredential[];
|
|
13
|
-
});
|
|
19
|
+
} & Partial<OAuthSelectorAccountOptions>);
|
|
14
20
|
stopValidation(): void;
|
|
15
21
|
dispose(): void;
|
|
16
22
|
handleInput(keyData: string): void;
|
|
@@ -1,34 +1,20 @@
|
|
|
1
1
|
import { type SelectItem } from "@gajae-code/tui";
|
|
2
|
-
|
|
2
|
+
import type { PetTransportAvailability } from "./iterm-pet-transport";
|
|
3
|
+
export type PetPixelProtocol = "sixel" | "kitty" | "iterm";
|
|
3
4
|
export declare const PET_UNAVAILABLE_DESCRIPTION = "Unavailable: requires compatible Kitty or Sixel overlay rendering";
|
|
4
5
|
export declare const PET_SAVED_UNAVAILABLE_DESCRIPTION = "Saved, unavailable \u2014 requires compatible Kitty or Sixel overlay rendering";
|
|
5
6
|
export declare const PET_UNAVAILABLE_WARNING = "\u26A0 Pets aren\u2019t available in this terminal. Its image support isn\u2019t compatible with Gajae Pet\u2019s overlay rendering yet. Try Kitty, Ghostty, WezTerm, or a terminal with compatible Sixel support.";
|
|
6
7
|
export declare function getPetUnavailableWarning(env?: NodeJS.ProcessEnv): string;
|
|
8
|
+
export declare function subscribeVerifiedItermPetAvailability(callback: (availability: PetTransportAvailability | undefined) => void): () => void;
|
|
9
|
+
export declare function setVerifiedItermPetAvailability(availability: PetTransportAvailability | undefined): void;
|
|
10
|
+
export declare function getItermPetAvailability(): PetTransportAvailability | undefined;
|
|
11
|
+
export declare function getVerifiedItermPetAvailability(): PetTransportAvailability | undefined;
|
|
12
|
+
export declare function getItermPetUnavailableReason(): string | undefined;
|
|
7
13
|
export declare function getPetPixelProtocol(): PetPixelProtocol | null;
|
|
8
14
|
export declare function isPetAvailable(): boolean;
|
|
9
15
|
export declare function createPetSelectItems(options: ReadonlyArray<SelectItem>, currentValue: string, available: boolean): SelectItem[];
|
|
10
|
-
/**
|
|
11
|
-
* Grace period before declaring the terminal pet-incapable at startup. The
|
|
12
|
-
* asynchronous Sixel capability probe starts inside `TUI.start()` and answers
|
|
13
|
-
* within its own 250 ms deadline; this margin covers probe scheduling so a
|
|
14
|
-
* supported terminal is never told it is incompatible while the probe is
|
|
15
|
-
* still in flight.
|
|
16
|
-
*/
|
|
17
16
|
export declare const PET_CAPABILITY_SETTLE_MS = 1000;
|
|
18
|
-
/**
|
|
19
|
-
* Whether the asynchronous startup Sixel capability probe may still enable
|
|
20
|
-
* graphics for this session, meaning current unavailability is not final.
|
|
21
|
-
*/
|
|
22
17
|
export declare function isPetCapabilityProbePending(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Deliver the pet-unavailable startup warning only once the capability
|
|
25
|
-
* question is settled. With no probe pending, unavailability is final and
|
|
26
|
-
* `onUnavailable` fires immediately. While a probe may still enable
|
|
27
|
-
* graphics, the warning is deferred: a protocol-change event cancels it (the
|
|
28
|
-
* saved pet re-applies through the existing subscription), and only the
|
|
29
|
-
* settle deadline passing with the terminal still unavailable emits it.
|
|
30
|
-
* Returns a disposer that cancels the pending decision.
|
|
31
|
-
*/
|
|
32
18
|
export declare function warnWhenPetCapabilitySettled(options: {
|
|
33
19
|
probePending: boolean;
|
|
34
20
|
isAvailable?: () => boolean;
|
|
@@ -52,6 +52,11 @@ export interface SettingsCallbacks {
|
|
|
52
52
|
onThemePreview?: (theme: string) => void | Promise<void>;
|
|
53
53
|
/** Called to restore the rendered theme when theme settings preview is cancelled */
|
|
54
54
|
onThemePreviewCancel?: (theme: string) => void | Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Atomically apply and persist a theme selection. Returns false when the
|
|
57
|
+
* candidate could not be loaded, leaving the submenu open.
|
|
58
|
+
*/
|
|
59
|
+
onThemeCommit?: (path: "theme.dark" | "theme.light", theme: string, previousTheme: string) => Promise<boolean>;
|
|
55
60
|
/** Called to live-preview the gajae pet skin while browsing the pet setting. */
|
|
56
61
|
onPetPreview?: (mode: string) => void;
|
|
57
62
|
/**
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { type RunGh } from "../../../utils/gh";
|
|
2
|
-
|
|
2
|
+
type CurrentPr = {
|
|
3
3
|
number: number;
|
|
4
4
|
url: string;
|
|
5
|
-
} | null
|
|
5
|
+
} | null;
|
|
6
|
+
export declare function lookupCurrentPr(runGh?: RunGh): Promise<CurrentPr>;
|
|
7
|
+
export declare function lookupCurrentPrCached(cacheKey: string, runGh?: RunGh, now?: () => number): Promise<CurrentPr>;
|
|
8
|
+
export declare function clearCurrentPrCache(): void;
|
|
9
|
+
export {};
|
|
@@ -2,7 +2,7 @@ import { type Component, type TUI } from "@gajae-code/tui";
|
|
|
2
2
|
import { KeybindingsManager } from "../../config/keybindings";
|
|
3
3
|
import type { ExtensionUIContext, ExtensionUIDialogOptions, ExtensionWidgetContent, ExtensionWidgetOptions, TerminalInputHandler } from "../../extensibility/extensions";
|
|
4
4
|
import { type Theme } from "../../modes/theme/theme";
|
|
5
|
-
import {
|
|
5
|
+
import type { InteractiveModeContext } from "../../modes/types";
|
|
6
6
|
export declare class ExtensionUiController {
|
|
7
7
|
#private;
|
|
8
8
|
private ctx;
|
|
@@ -5,7 +5,7 @@ import { type InteractiveModeContext, type OAuthSelectorOptions } from "../../mo
|
|
|
5
5
|
import { getCurrentTelegramActivationMarker, getNotificationConfig, maskToken } from "../../sdk/bus/config";
|
|
6
6
|
import { type NotificationProviderRuntimeAuthority, proposedTelegramIdentity, reconcileCommittedTelegramConfiguration, removeTelegramConfiguration, saveTelegramInactive } from "../../sdk/bus/notification-orchestration";
|
|
7
7
|
import { buildNotificationStatusReport, checkNotificationHealth, recoverNotifications, sanitizeDiagnostic, sendNotificationTest } from "../../sdk/bus/notification-service";
|
|
8
|
-
import { ensureTelegramDaemonRunningDetailed,
|
|
8
|
+
import { ensureTelegramDaemonRunningDetailed, resolveTelegramSetupPreflight } from "../../sdk/bus/telegram-daemon";
|
|
9
9
|
import { runTelegramSetup } from "../../sdk/bus/telegram-setup";
|
|
10
10
|
import { type CredentialAutoImportStateStore } from "../../setup/credential-auto-import";
|
|
11
11
|
import { type CommandPaletteAction } from "../components/command-palette";
|
|
@@ -51,13 +51,6 @@ export interface NotificationsEditorOperationDependencies {
|
|
|
51
51
|
reconcileCommittedTelegramConfiguration: typeof reconcileCommittedTelegramConfiguration;
|
|
52
52
|
saveTelegramInactive: typeof saveTelegramInactive;
|
|
53
53
|
removeTelegramConfiguration: typeof removeTelegramConfiguration;
|
|
54
|
-
readNotificationRootRegistration: typeof readNotificationRootRegistration;
|
|
55
|
-
unregisterNotificationRoot: typeof unregisterNotificationRoot;
|
|
56
|
-
stopTelegramDaemonIfRootRegistryFenceMatches(input: {
|
|
57
|
-
settings: Settings;
|
|
58
|
-
registryFingerprint: string;
|
|
59
|
-
stop: () => Promise<TelegramDaemonStopResult>;
|
|
60
|
-
}): Promise<boolean>;
|
|
61
54
|
reloadTelegramDaemon(settings: Settings): Promise<{
|
|
62
55
|
ok: boolean;
|
|
63
56
|
message: string;
|
|
@@ -103,6 +96,12 @@ export declare class SelectorController {
|
|
|
103
96
|
* Replaces /status with a unified view of all providers and extensions.
|
|
104
97
|
*/
|
|
105
98
|
showExtensionsDashboard(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Show the `/extensions` umbrella local-customization dashboard (skills,
|
|
101
|
+
* hooks, MCPs, import) — a separate surface from the provider-focused
|
|
102
|
+
* Extension Control Center above (issue #4291).
|
|
103
|
+
*/
|
|
104
|
+
showCustomizationDashboard(): Promise<void>;
|
|
106
105
|
/**
|
|
107
106
|
* Show the Agent Control Center dashboard.
|
|
108
107
|
*/
|
|
@@ -261,6 +261,7 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
261
261
|
showPetSelector(): void;
|
|
262
262
|
showHistorySearch(): Promise<void>;
|
|
263
263
|
showExtensionsDashboard(): void;
|
|
264
|
+
showCustomizationDashboard(): void;
|
|
264
265
|
showAgentsDashboard(): void;
|
|
265
266
|
showModelSelector(options?: {
|
|
266
267
|
temporaryOnly?: boolean;
|
|
@@ -526,6 +526,124 @@ export declare const defaultThemes: {
|
|
|
526
526
|
preset: string;
|
|
527
527
|
};
|
|
528
528
|
};
|
|
529
|
+
ouroboros: {
|
|
530
|
+
$schema: string;
|
|
531
|
+
name: string;
|
|
532
|
+
vars: {
|
|
533
|
+
cyan: string;
|
|
534
|
+
blue: string;
|
|
535
|
+
green: string;
|
|
536
|
+
red: string;
|
|
537
|
+
yellow: string;
|
|
538
|
+
gray: string;
|
|
539
|
+
dimGray: string;
|
|
540
|
+
darkGray: string;
|
|
541
|
+
accent: string;
|
|
542
|
+
selectedBg: string;
|
|
543
|
+
userMsgBg: string;
|
|
544
|
+
toolPendingBg: string;
|
|
545
|
+
toolSuccessBg: string;
|
|
546
|
+
toolErrorBg: string;
|
|
547
|
+
customMsgBg: string;
|
|
548
|
+
abyss: string;
|
|
549
|
+
deepNavy: string;
|
|
550
|
+
mantle: string;
|
|
551
|
+
surface: string;
|
|
552
|
+
surfaceBright: string;
|
|
553
|
+
ouroTeal: string;
|
|
554
|
+
serpentGreen: string;
|
|
555
|
+
petLime: string;
|
|
556
|
+
ritualGold: string;
|
|
557
|
+
eyeGold: string;
|
|
558
|
+
coolScale: string;
|
|
559
|
+
foam: string;
|
|
560
|
+
mutedScale: string;
|
|
561
|
+
dimScale: string;
|
|
562
|
+
dangerRed: string;
|
|
563
|
+
diffRemovalRed: string;
|
|
564
|
+
};
|
|
565
|
+
colors: {
|
|
566
|
+
accent: string;
|
|
567
|
+
border: string;
|
|
568
|
+
borderAccent: string;
|
|
569
|
+
borderMuted: string;
|
|
570
|
+
success: string;
|
|
571
|
+
error: string;
|
|
572
|
+
warning: string;
|
|
573
|
+
muted: string;
|
|
574
|
+
dim: string;
|
|
575
|
+
text: string;
|
|
576
|
+
thinkingText: string;
|
|
577
|
+
selectedBg: string;
|
|
578
|
+
userMessageBg: string;
|
|
579
|
+
userMessageText: string;
|
|
580
|
+
customMessageBg: string;
|
|
581
|
+
customMessageText: string;
|
|
582
|
+
customMessageLabel: string;
|
|
583
|
+
toolPendingBg: string;
|
|
584
|
+
toolSuccessBg: string;
|
|
585
|
+
toolErrorBg: string;
|
|
586
|
+
toolTitle: string;
|
|
587
|
+
toolOutput: string;
|
|
588
|
+
mdHeading: string;
|
|
589
|
+
mdLink: string;
|
|
590
|
+
mdLinkUrl: string;
|
|
591
|
+
mdCode: string;
|
|
592
|
+
mdCodeBlock: string;
|
|
593
|
+
mdCodeBlockBorder: string;
|
|
594
|
+
mdQuote: string;
|
|
595
|
+
mdQuoteBorder: string;
|
|
596
|
+
mdHr: string;
|
|
597
|
+
mdListBullet: string;
|
|
598
|
+
toolDiffAdded: string;
|
|
599
|
+
toolDiffRemoved: string;
|
|
600
|
+
toolDiffContext: string;
|
|
601
|
+
syntaxComment: string;
|
|
602
|
+
syntaxKeyword: string;
|
|
603
|
+
syntaxFunction: string;
|
|
604
|
+
syntaxVariable: string;
|
|
605
|
+
syntaxString: string;
|
|
606
|
+
syntaxNumber: string;
|
|
607
|
+
syntaxType: string;
|
|
608
|
+
syntaxOperator: string;
|
|
609
|
+
syntaxPunctuation: string;
|
|
610
|
+
thinkingOff: string;
|
|
611
|
+
thinkingMinimal: string;
|
|
612
|
+
thinkingLow: string;
|
|
613
|
+
thinkingMedium: string;
|
|
614
|
+
thinkingHigh: string;
|
|
615
|
+
thinkingXhigh: string;
|
|
616
|
+
bashMode: string;
|
|
617
|
+
statusLineBg: string;
|
|
618
|
+
statusLineSep: string;
|
|
619
|
+
statusLineModel: string;
|
|
620
|
+
statusLinePath: string;
|
|
621
|
+
statusLineGitClean: string;
|
|
622
|
+
statusLineGitDirty: string;
|
|
623
|
+
statusLineContext: string;
|
|
624
|
+
statusLineSpend: string;
|
|
625
|
+
statusLineStaged: string;
|
|
626
|
+
statusLineDirty: string;
|
|
627
|
+
statusLineUntracked: string;
|
|
628
|
+
statusLineOutput: string;
|
|
629
|
+
statusLineCost: string;
|
|
630
|
+
statusLineSubagents: string;
|
|
631
|
+
pythonMode: string;
|
|
632
|
+
};
|
|
633
|
+
export: {
|
|
634
|
+
pageBg: string;
|
|
635
|
+
cardBg: string;
|
|
636
|
+
infoBg: string;
|
|
637
|
+
};
|
|
638
|
+
symbols: {
|
|
639
|
+
preset: string;
|
|
640
|
+
overrides: {
|
|
641
|
+
"icon.pi": string;
|
|
642
|
+
"status.running": string;
|
|
643
|
+
"md.bullet": string;
|
|
644
|
+
};
|
|
645
|
+
};
|
|
646
|
+
};
|
|
529
647
|
"red-claw": {
|
|
530
648
|
$schema: string;
|
|
531
649
|
name: string;
|
|
@@ -302,6 +302,7 @@ export interface InteractiveModeContext {
|
|
|
302
302
|
showPetSelector(): void;
|
|
303
303
|
showHistorySearch(): Promise<void>;
|
|
304
304
|
showExtensionsDashboard(): void;
|
|
305
|
+
showCustomizationDashboard(): void;
|
|
305
306
|
showAgentsDashboard(): void;
|
|
306
307
|
showModelSelector(options?: {
|
|
307
308
|
temporaryOnly?: boolean;
|
|
@@ -6,6 +6,16 @@ import type { InteractiveModeContext } from "../types";
|
|
|
6
6
|
* `AgentSession.sendUserMessage` (text parts joined with "\n") so the resulting
|
|
7
7
|
* text matches the eventual user `message_start` payload.
|
|
8
8
|
*/
|
|
9
|
+
/**
|
|
10
|
+
* Validate extension `sendUserMessage` content at the owning interactive
|
|
11
|
+
* boundary, before session delivery and UI bookkeeping. Returns a typed
|
|
12
|
+
* `invalid_input` Error when the content container or any array element is
|
|
13
|
+
* absent/null/malformed — exactly the shapes that would make
|
|
14
|
+
* `normalizeInjectedUserContent`'s `for-of` dereference (`part.type`) throw an
|
|
15
|
+
* untyped TypeError synchronously before the caller's `send.catch` is attached
|
|
16
|
+
* (unhandled rejection → resident crash).
|
|
17
|
+
*/
|
|
18
|
+
export declare function extensionUserMessageContentError(content: string | (TextContent | ImageContent)[]): Error | undefined;
|
|
9
19
|
export declare function normalizeInjectedUserContent(content: string | (TextContent | ImageContent)[]): {
|
|
10
20
|
text: string;
|
|
11
21
|
images: ImageContent[];
|