@undefineds.co/linx 0.3.25 → 0.3.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/index.js +3 -832
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-stream-bridge-contract.js +2 -0
- package/dist/lib/agent-stream-bridge-contract.js.map +1 -0
- package/dist/lib/auto-mode/auth.js +100 -2
- package/dist/lib/auto-mode/auth.js.map +1 -1
- package/dist/lib/auto-mode/backend-kind.js +13 -0
- package/dist/lib/auto-mode/backend-kind.js.map +1 -0
- package/dist/lib/auto-mode/display.js +1 -1
- package/dist/lib/auto-mode/display.js.map +1 -1
- package/dist/lib/auto-mode/format.js +1 -1
- package/dist/lib/auto-mode/format.js.map +1 -1
- package/dist/lib/auto-mode/hooks/{index.js → registry.js} +1 -1
- package/dist/lib/auto-mode/hooks/registry.js.map +1 -0
- package/dist/lib/auto-mode/pod-ai.js +1 -14
- package/dist/lib/auto-mode/pod-ai.js.map +1 -1
- package/dist/lib/auto-mode/pod-approval-store.js +596 -0
- package/dist/lib/auto-mode/pod-approval-store.js.map +1 -0
- package/dist/lib/auto-mode/pod-approval.js +4 -607
- package/dist/lib/auto-mode/pod-approval.js.map +1 -1
- package/dist/lib/auto-mode/pod-persistence-builders.js +266 -0
- package/dist/lib/auto-mode/pod-persistence-builders.js.map +1 -0
- package/dist/lib/auto-mode/pod-persistence.js +1 -281
- package/dist/lib/auto-mode/pod-persistence.js.map +1 -1
- package/dist/lib/auto-mode/runner.js +41 -378
- package/dist/lib/auto-mode/runner.js.map +1 -1
- package/dist/lib/auto-mode/runtime.js +25 -0
- package/dist/lib/auto-mode/runtime.js.map +1 -0
- package/dist/lib/auto-mode/secretary-reaction-window.js +12 -0
- package/dist/lib/auto-mode/secretary-reaction-window.js.map +1 -0
- package/dist/lib/auto-mode/secretary-runtime-config.js +66 -0
- package/dist/lib/auto-mode/secretary-runtime-config.js.map +1 -0
- package/dist/lib/auto-mode/secretary.js +2 -64
- package/dist/lib/auto-mode/secretary.js.map +1 -1
- package/dist/lib/auto-mode/session-log.js +25 -0
- package/dist/lib/auto-mode/session-log.js.map +1 -0
- package/dist/lib/auto-mode/shell-command.js +172 -0
- package/dist/lib/auto-mode/shell-command.js.map +1 -0
- package/dist/lib/auto-mode-command.js +2 -1
- package/dist/lib/auto-mode-command.js.map +1 -1
- package/dist/lib/backend-command-router-contract.js +2 -0
- package/dist/lib/backend-command-router-contract.js.map +1 -0
- package/dist/lib/{pi-adapter/backend-credentials.js → backend-credentials.js} +8 -8
- package/dist/lib/backend-credentials.js.map +1 -0
- package/dist/lib/linx-ai-connect-command.js +201 -0
- package/dist/lib/linx-ai-connect-command.js.map +1 -0
- package/dist/lib/linx-assistant-message-rendering.js +33 -0
- package/dist/lib/linx-assistant-message-rendering.js.map +1 -0
- package/dist/lib/linx-auto-command-routing.js +53 -0
- package/dist/lib/linx-auto-command-routing.js.map +1 -0
- package/dist/lib/linx-auto-editor-indicator-host.js +15 -0
- package/dist/lib/linx-auto-editor-indicator-host.js.map +1 -0
- package/dist/lib/linx-auto-editor-indicator.js +56 -0
- package/dist/lib/linx-auto-editor-indicator.js.map +1 -0
- package/dist/lib/linx-auto-mode-cli-admission.js +16 -0
- package/dist/lib/linx-auto-mode-cli-admission.js.map +1 -0
- package/dist/lib/linx-backend-command-router.js +64 -0
- package/dist/lib/linx-backend-command-router.js.map +1 -0
- package/dist/lib/linx-backend-event-source.js +32 -0
- package/dist/lib/linx-backend-event-source.js.map +1 -0
- package/dist/lib/linx-chat-completion-projection.js +276 -0
- package/dist/lib/linx-chat-completion-projection.js.map +1 -0
- package/dist/lib/linx-cloud-errors.js +1 -0
- package/dist/lib/linx-cloud-errors.js.map +1 -1
- package/dist/lib/linx-cloud-models.js +75 -0
- package/dist/lib/linx-cloud-models.js.map +1 -0
- package/dist/lib/linx-cloud-runtime-auth.js +146 -0
- package/dist/lib/linx-cloud-runtime-auth.js.map +1 -0
- package/dist/lib/linx-cloud-runtime-coordinator.js +102 -0
- package/dist/lib/linx-cloud-runtime-coordinator.js.map +1 -0
- package/dist/lib/linx-codex-plugin-command.js +56 -0
- package/dist/lib/linx-codex-plugin-command.js.map +1 -0
- package/dist/lib/linx-command-autocomplete.js +123 -0
- package/dist/lib/linx-command-autocomplete.js.map +1 -0
- package/dist/lib/linx-completion-backend.js +2 -0
- package/dist/lib/linx-completion-backend.js.map +1 -0
- package/dist/lib/linx-config-command.js +12 -0
- package/dist/lib/linx-config-command.js.map +1 -0
- package/dist/lib/linx-editor-component-router.js +83 -0
- package/dist/lib/linx-editor-component-router.js.map +1 -0
- package/dist/lib/linx-extension-ui-context-router.js +43 -0
- package/dist/lib/linx-extension-ui-context-router.js.map +1 -0
- package/dist/lib/linx-external-open-host.js +8 -0
- package/dist/lib/linx-external-open-host.js.map +1 -0
- package/dist/lib/linx-external-url.js +16 -0
- package/dist/lib/linx-external-url.js.map +1 -0
- package/dist/lib/linx-footer-patch.js +52 -0
- package/dist/lib/linx-footer-patch.js.map +1 -0
- package/dist/lib/linx-input-command-routing.js +65 -0
- package/dist/lib/linx-input-command-routing.js.map +1 -0
- package/dist/lib/linx-interactive-auth-state-host.js +50 -0
- package/dist/lib/linx-interactive-auth-state-host.js.map +1 -0
- package/dist/lib/linx-interactive-autocomplete-host.js +32 -0
- package/dist/lib/linx-interactive-autocomplete-host.js.map +1 -0
- package/dist/lib/linx-interactive-bootstrap.js +66 -0
- package/dist/lib/linx-interactive-bootstrap.js.map +1 -0
- package/dist/lib/linx-interactive-branding.js +24 -0
- package/dist/lib/linx-interactive-branding.js.map +1 -0
- package/dist/lib/linx-interactive-chat-text-host.js +16 -0
- package/dist/lib/linx-interactive-chat-text-host.js.map +1 -0
- package/dist/lib/linx-interactive-command-routing-host.js +31 -0
- package/dist/lib/linx-interactive-command-routing-host.js.map +1 -0
- package/dist/lib/linx-interactive-command-routing.js +75 -0
- package/dist/lib/linx-interactive-command-routing.js.map +1 -0
- package/dist/lib/linx-interactive-command-surface.js +16 -0
- package/dist/lib/linx-interactive-command-surface.js.map +1 -0
- package/dist/lib/linx-interactive-editor-text-host.js +16 -0
- package/dist/lib/linx-interactive-editor-text-host.js.map +1 -0
- package/dist/lib/linx-interactive-error-display.js +8 -0
- package/dist/lib/linx-interactive-error-display.js.map +1 -0
- package/dist/lib/linx-interactive-event-router.js +91 -0
- package/dist/lib/linx-interactive-event-router.js.map +1 -0
- package/dist/lib/linx-interactive-extension-input-host.js +7 -0
- package/dist/lib/linx-interactive-extension-input-host.js.map +1 -0
- package/dist/lib/linx-interactive-extension-selector-host.js +12 -0
- package/dist/lib/linx-interactive-extension-selector-host.js.map +1 -0
- package/dist/lib/linx-interactive-header-host.js +14 -0
- package/dist/lib/linx-interactive-header-host.js.map +1 -0
- package/dist/lib/linx-interactive-lifecycle-host.js +4 -0
- package/dist/lib/linx-interactive-lifecycle-host.js.map +1 -0
- package/dist/lib/linx-interactive-login-ui-router.js +81 -0
- package/dist/lib/linx-interactive-login-ui-router.js.map +1 -0
- package/dist/lib/linx-interactive-model-registry-host.js +14 -0
- package/dist/lib/linx-interactive-model-registry-host.js.map +1 -0
- package/dist/lib/linx-interactive-post-init.js +60 -0
- package/dist/lib/linx-interactive-post-init.js.map +1 -0
- package/dist/lib/linx-interactive-provider-count-host.js +4 -0
- package/dist/lib/linx-interactive-provider-count-host.js.map +1 -0
- package/dist/lib/linx-interactive-run-router.js +43 -0
- package/dist/lib/linx-interactive-run-router.js.map +1 -0
- package/dist/lib/linx-interactive-runtime-host.js +113 -0
- package/dist/lib/linx-interactive-runtime-host.js.map +1 -0
- package/dist/lib/linx-interactive-selector-host.js +12 -0
- package/dist/lib/linx-interactive-selector-host.js.map +1 -0
- package/dist/lib/linx-interactive-shell-state.js +215 -0
- package/dist/lib/linx-interactive-shell-state.js.map +1 -0
- package/dist/lib/linx-interactive-status-display.js +9 -0
- package/dist/lib/linx-interactive-status-display.js.map +1 -0
- package/dist/lib/linx-interactive-stop-router.js +85 -0
- package/dist/lib/linx-interactive-stop-router.js.map +1 -0
- package/dist/lib/linx-interactive-streaming-message-host.js +11 -0
- package/dist/lib/linx-interactive-streaming-message-host.js.map +1 -0
- package/dist/lib/linx-interactive-submit-router.js +63 -0
- package/dist/lib/linx-interactive-submit-router.js.map +1 -0
- package/dist/lib/linx-interactive-update-router.js +78 -0
- package/dist/lib/linx-interactive-update-router.js.map +1 -0
- package/dist/lib/linx-interactive-update-state-host.js +43 -0
- package/dist/lib/linx-interactive-update-state-host.js.map +1 -0
- package/dist/lib/linx-interactive-warning-display.js +4 -0
- package/dist/lib/linx-interactive-warning-display.js.map +1 -0
- package/dist/lib/linx-interrupt-control-host.js +22 -0
- package/dist/lib/linx-interrupt-control-host.js.map +1 -0
- package/dist/lib/linx-interrupt-control.js +96 -0
- package/dist/lib/linx-interrupt-control.js.map +1 -0
- package/dist/lib/linx-login-flow.js +566 -0
- package/dist/lib/linx-login-flow.js.map +1 -0
- package/dist/lib/linx-models-command.js +71 -0
- package/dist/lib/linx-models-command.js.map +1 -0
- package/dist/lib/linx-package-command.js +117 -0
- package/dist/lib/linx-package-command.js.map +1 -0
- package/dist/lib/linx-peer-command-routing.js +20 -0
- package/dist/lib/linx-peer-command-routing.js.map +1 -0
- package/dist/lib/linx-pi-cli-command.js +121 -0
- package/dist/lib/linx-pi-cli-command.js.map +1 -0
- package/dist/lib/linx-pi-completion-events.js +101 -0
- package/dist/lib/linx-pi-completion-events.js.map +1 -0
- package/dist/lib/linx-pi-normalized-event-stream.js +41 -0
- package/dist/lib/linx-pi-normalized-event-stream.js.map +1 -0
- package/dist/lib/linx-pi-resume-cli-admission.js +21 -0
- package/dist/lib/linx-pi-resume-cli-admission.js.map +1 -0
- package/dist/lib/linx-pi-runtime-execution.js +67 -0
- package/dist/lib/linx-pi-runtime-execution.js.map +1 -0
- package/dist/lib/linx-pi-startup-control.js +49 -0
- package/dist/lib/linx-pi-startup-control.js.map +1 -0
- package/dist/lib/linx-pi-startup-plan.js +103 -0
- package/dist/lib/linx-pi-startup-plan.js.map +1 -0
- package/dist/lib/linx-pi-stream-errors.js +10 -0
- package/dist/lib/linx-pi-stream-errors.js.map +1 -0
- package/dist/lib/linx-pod-backed-extension-ui.js +29 -0
- package/dist/lib/linx-pod-backed-extension-ui.js.map +1 -0
- package/dist/lib/linx-pod-data-session-factory.js +19 -0
- package/dist/lib/linx-pod-data-session-factory.js.map +1 -0
- package/dist/lib/linx-pod-mirror-runtime-host.js +50 -0
- package/dist/lib/linx-pod-mirror-runtime-host.js.map +1 -0
- package/dist/lib/linx-pod-mirror-sync-cli-admission.js +18 -0
- package/dist/lib/linx-pod-mirror-sync-cli-admission.js.map +1 -0
- package/dist/lib/linx-pod-mirror-sync-command.js +30 -0
- package/dist/lib/linx-pod-mirror-sync-command.js.map +1 -0
- package/dist/lib/{pi-adapter/sync-recovery.js → linx-pod-mirror-sync-recovery.js} +13 -13
- package/dist/lib/linx-pod-mirror-sync-recovery.js.map +1 -0
- package/dist/lib/{pi-adapter/pod-mirror.js → linx-pod-mirror.js} +63 -40
- package/dist/lib/linx-pod-mirror.js.map +1 -0
- package/dist/lib/linx-restored-auto-startup.js +21 -0
- package/dist/lib/linx-restored-auto-startup.js.map +1 -0
- package/dist/lib/linx-resume-output.js +209 -0
- package/dist/lib/linx-resume-output.js.map +1 -0
- package/dist/lib/linx-retired-command.js +22 -0
- package/dist/lib/linx-retired-command.js.map +1 -0
- package/dist/lib/linx-rewind-command.js +209 -0
- package/dist/lib/linx-rewind-command.js.map +1 -0
- package/dist/lib/linx-runtime-adapter-contract.js +2 -0
- package/dist/lib/linx-runtime-adapter-contract.js.map +1 -0
- package/dist/lib/linx-runtime-adapter-defaults.js +17 -0
- package/dist/lib/linx-runtime-adapter-defaults.js.map +1 -0
- package/dist/lib/linx-runtime-adapter-dependencies.js +2 -0
- package/dist/lib/linx-runtime-adapter-dependencies.js.map +1 -0
- package/dist/lib/linx-runtime-agent-session.js +130 -0
- package/dist/lib/linx-runtime-agent-session.js.map +1 -0
- package/dist/lib/linx-runtime-auth.js +5 -0
- package/dist/lib/linx-runtime-auth.js.map +1 -0
- package/dist/lib/linx-runtime-backend-composition.js +73 -0
- package/dist/lib/linx-runtime-backend-composition.js.map +1 -0
- package/dist/lib/linx-runtime-coding-tools.js +58 -0
- package/dist/lib/linx-runtime-coding-tools.js.map +1 -0
- package/dist/lib/linx-runtime-completion-backend.js +27 -0
- package/dist/lib/linx-runtime-completion-backend.js.map +1 -0
- package/dist/lib/linx-runtime-oauth-provider.js +57 -0
- package/dist/lib/linx-runtime-oauth-provider.js.map +1 -0
- package/dist/lib/linx-runtime-provider-registration.js +33 -0
- package/dist/lib/linx-runtime-provider-registration.js.map +1 -0
- package/dist/lib/linx-runtime-resources.js +167 -0
- package/dist/lib/linx-runtime-resources.js.map +1 -0
- package/dist/lib/linx-runtime-system-prompt.js +27 -0
- package/dist/lib/linx-runtime-system-prompt.js.map +1 -0
- package/dist/lib/linx-runtime-thinking.js +21 -0
- package/dist/lib/linx-runtime-thinking.js.map +1 -0
- package/dist/lib/linx-selector-choice.js +38 -0
- package/dist/lib/linx-selector-choice.js.map +1 -0
- package/dist/lib/linx-self-update.js +113 -0
- package/dist/lib/linx-self-update.js.map +1 -0
- package/dist/lib/linx-session-command-routing-host.js +24 -0
- package/dist/lib/linx-session-command-routing-host.js.map +1 -0
- package/dist/lib/linx-session-command-routing.js +68 -0
- package/dist/lib/linx-session-command-routing.js.map +1 -0
- package/dist/lib/linx-session-cwd-router.js +15 -0
- package/dist/lib/linx-session-cwd-router.js.map +1 -0
- package/dist/lib/linx-session-history.js +388 -0
- package/dist/lib/linx-session-history.js.map +1 -0
- package/dist/lib/{pi-adapter/session.js → linx-session-manager.js} +94 -46
- package/dist/lib/linx-session-manager.js.map +1 -0
- package/dist/lib/linx-session-metadata.js +55 -0
- package/dist/lib/linx-session-metadata.js.map +1 -0
- package/dist/lib/linx-session-selector-ui.js +32 -0
- package/dist/lib/linx-session-selector-ui.js.map +1 -0
- package/dist/lib/linx-session-thinking-capability-router.js +55 -0
- package/dist/lib/linx-session-thinking-capability-router.js.map +1 -0
- package/dist/lib/linx-session-work-control.js +163 -0
- package/dist/lib/linx-session-work-control.js.map +1 -0
- package/dist/lib/linx-shell-command-executor.js +41 -0
- package/dist/lib/linx-shell-command-executor.js.map +1 -0
- package/dist/lib/linx-shell-command-router.js +151 -0
- package/dist/lib/linx-shell-command-router.js.map +1 -0
- package/dist/lib/{pi-adapter/control-state.js → linx-startup-control-state.js} +6 -6
- package/dist/lib/linx-startup-control-state.js.map +1 -0
- package/dist/lib/linx-startup-login-policy.js +48 -0
- package/dist/lib/linx-startup-login-policy.js.map +1 -0
- package/dist/lib/linx-status-line-command.js +382 -0
- package/dist/lib/linx-status-line-command.js.map +1 -0
- package/dist/lib/{status-line-command.js → linx-status-line-config-command.js} +2 -12
- package/dist/lib/linx-status-line-config-command.js.map +1 -0
- package/dist/lib/linx-status-line.js +12 -4
- package/dist/lib/linx-status-line.js.map +1 -1
- package/dist/lib/linx-stream-abort.js +12 -0
- package/dist/lib/linx-stream-abort.js.map +1 -0
- package/dist/lib/linx-stream-error-formatting.js +54 -0
- package/dist/lib/linx-stream-error-formatting.js.map +1 -0
- package/dist/lib/linx-submitted-user-message-recording.js +16 -0
- package/dist/lib/linx-submitted-user-message-recording.js.map +1 -0
- package/dist/lib/linx-symphony-interactive-command.js +493 -0
- package/dist/lib/linx-symphony-interactive-command.js.map +1 -0
- package/dist/lib/linx-terminal-title-router.js +49 -0
- package/dist/lib/linx-terminal-title-router.js.map +1 -0
- package/dist/lib/{pi-adapter/theme.js → linx-theme.js} +2 -2
- package/dist/lib/linx-theme.js.map +1 -0
- package/dist/lib/linx-top-level-command-admission.js +27 -0
- package/dist/lib/linx-top-level-command-admission.js.map +1 -0
- package/dist/lib/linx-update-notification.js +176 -0
- package/dist/lib/linx-update-notification.js.map +1 -0
- package/dist/lib/linx-welcome-header.js +148 -0
- package/dist/lib/linx-welcome-header.js.map +1 -0
- package/dist/lib/linx-workspace-command.js +45 -0
- package/dist/lib/linx-workspace-command.js.map +1 -0
- package/dist/lib/native-backend-command-router.js +25 -0
- package/dist/lib/native-backend-command-router.js.map +1 -0
- package/dist/lib/native-backend-proxy.js +2 -0
- package/dist/lib/native-backend-proxy.js.map +1 -0
- package/dist/lib/native-backend-stream-backend.js +15 -0
- package/dist/lib/native-backend-stream-backend.js.map +1 -0
- package/dist/lib/oidc-auth.js +2 -4
- package/dist/lib/oidc-auth.js.map +1 -1
- package/dist/lib/pi-adapter/runtime.js +32 -841
- package/dist/lib/pi-adapter/runtime.js.map +1 -1
- package/dist/lib/pi-adapter/stream.js +17 -516
- package/dist/lib/pi-adapter/stream.js.map +1 -1
- package/dist/lib/{pi-adapter/pod-approval.js → pod-backed-extension-ui-context.js} +2 -2
- package/dist/lib/pod-backed-extension-ui-context.js.map +1 -0
- package/dist/lib/pod-chat-store-runtime.js +38 -0
- package/dist/lib/pod-chat-store-runtime.js.map +1 -0
- package/dist/lib/pod-chat-store.js +15 -65
- package/dist/lib/pod-chat-store.js.map +1 -1
- package/dist/lib/{pi-adapter/pod-mirror-mapping.js → pod-mirror-mapping.js} +8 -18
- package/dist/lib/pod-mirror-mapping.js.map +1 -0
- package/dist/lib/{pi-adapter/pod-native.js → pod-native.js} +1 -1
- package/dist/lib/pod-native.js.map +1 -0
- package/dist/lib/pod-status-output.js.map +1 -0
- package/dist/lib/{pi-adapter/auto-input-controller.js → secretary-auto-input-controller.js} +62 -77
- package/dist/lib/secretary-auto-input-controller.js.map +1 -0
- package/dist/lib/{pi-adapter/session-control.js → session-control.js} +80 -29
- package/dist/lib/session-control.js.map +1 -0
- package/dist/lib/shell-lifecycle.js +179 -0
- package/dist/lib/shell-lifecycle.js.map +1 -0
- package/dist/lib/solid-local-store.js +3 -3
- package/dist/lib/solid-local-store.js.map +1 -1
- package/dist/lib/symphony/pod-projection.js +1 -31
- package/dist/lib/symphony/pod-projection.js.map +1 -1
- package/dist/lib/{symphony-command.js → symphony/run.js} +11 -16
- package/dist/lib/symphony/run.js.map +1 -0
- package/dist/lib/symphony/runtime.js +30 -0
- package/dist/lib/symphony/runtime.js.map +1 -0
- package/dist/lib/symphony/status.js +242 -0
- package/dist/lib/symphony/status.js.map +1 -0
- package/dist/linx-cli-app.js +70 -0
- package/dist/linx-cli-app.js.map +1 -0
- package/dist/linx-cli-runtime-adapter-factory.js +12 -0
- package/dist/linx-cli-runtime-adapter-factory.js.map +1 -0
- package/dist/plugins/linx-symphony-codex/.codex-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/dist/lib/auto-mode/hooks/index.js.map +0 -1
- package/dist/lib/auto-mode/index.js +0 -10
- package/dist/lib/auto-mode/index.js.map +0 -1
- package/dist/lib/codex-plugin/index.js +0 -5
- package/dist/lib/codex-plugin/index.js.map +0 -1
- package/dist/lib/pi-adapter/auth.js +0 -68
- package/dist/lib/pi-adapter/auth.js.map +0 -1
- package/dist/lib/pi-adapter/auto-input-controller.js.map +0 -1
- package/dist/lib/pi-adapter/backend-command.js +0 -2
- package/dist/lib/pi-adapter/backend-command.js.map +0 -1
- package/dist/lib/pi-adapter/backend-credentials.js.map +0 -1
- package/dist/lib/pi-adapter/branding.js +0 -1188
- package/dist/lib/pi-adapter/branding.js.map +0 -1
- package/dist/lib/pi-adapter/control-state.js.map +0 -1
- package/dist/lib/pi-adapter/index.js +0 -4
- package/dist/lib/pi-adapter/index.js.map +0 -1
- package/dist/lib/pi-adapter/interactive.js +0 -3186
- package/dist/lib/pi-adapter/interactive.js.map +0 -1
- package/dist/lib/pi-adapter/pod-approval.js.map +0 -1
- package/dist/lib/pi-adapter/pod-mirror-mapping.js.map +0 -1
- package/dist/lib/pi-adapter/pod-mirror.js.map +0 -1
- package/dist/lib/pi-adapter/pod-native.js.map +0 -1
- package/dist/lib/pi-adapter/pod-status-output.js.map +0 -1
- package/dist/lib/pi-adapter/pod-tools.js +0 -140
- package/dist/lib/pi-adapter/pod-tools.js.map +0 -1
- package/dist/lib/pi-adapter/session-control.js.map +0 -1
- package/dist/lib/pi-adapter/session.js.map +0 -1
- package/dist/lib/pi-adapter/sync-recovery.js.map +0 -1
- package/dist/lib/pi-adapter/theme.js.map +0 -1
- package/dist/lib/pi-adapter/web-fetch.js +0 -170
- package/dist/lib/pi-adapter/web-fetch.js.map +0 -1
- package/dist/lib/status-line-command.js.map +0 -1
- package/dist/lib/symphony-command.js.map +0 -1
- /package/dist/lib/{pi-adapter/pod-status-output.js → pod-status-output.js} +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const LINX_TERMINAL_TITLE_ROUTER = Symbol.for('linx.tui.terminalTitleRouter');
|
|
2
|
+
export function registerLinxTerminalTitleHandler(interactive, entry) {
|
|
3
|
+
const state = getLinxTerminalTitleRouterState(interactive);
|
|
4
|
+
if (state.handlers.some((existing) => existing.name === entry.name)) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
state.handlers.push(entry);
|
|
8
|
+
state.handlers.sort((left, right) => (left.priority ?? 0) - (right.priority ?? 0));
|
|
9
|
+
installLinxTerminalTitleRouter(interactive, state);
|
|
10
|
+
}
|
|
11
|
+
export function setLinxTerminalTitle(interactive, title) {
|
|
12
|
+
interactive?.ui?.terminal?.setTitle?.(title);
|
|
13
|
+
}
|
|
14
|
+
export function requestLinxTerminalTitleRefresh(interactive) {
|
|
15
|
+
interactive?.updateTerminalTitle?.();
|
|
16
|
+
}
|
|
17
|
+
function getLinxTerminalTitleRouterState(interactive) {
|
|
18
|
+
if (!interactive || typeof interactive !== 'object') {
|
|
19
|
+
return { installed: true, handlers: [] };
|
|
20
|
+
}
|
|
21
|
+
const existing = interactive[LINX_TERMINAL_TITLE_ROUTER];
|
|
22
|
+
if (existing && typeof existing === 'object' && Array.isArray(existing.handlers)) {
|
|
23
|
+
return existing;
|
|
24
|
+
}
|
|
25
|
+
const state = {
|
|
26
|
+
installed: false,
|
|
27
|
+
handlers: [],
|
|
28
|
+
};
|
|
29
|
+
interactive[LINX_TERMINAL_TITLE_ROUTER] = state;
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
function installLinxTerminalTitleRouter(interactive, state) {
|
|
33
|
+
if (state.installed) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const originalUpdateTerminalTitle = typeof interactive?.updateTerminalTitle === 'function'
|
|
37
|
+
? interactive.updateTerminalTitle.bind(interactive)
|
|
38
|
+
: undefined;
|
|
39
|
+
interactive.updateTerminalTitle = function patchedLinxTerminalTitleRouter(...args) {
|
|
40
|
+
const result = originalUpdateTerminalTitle?.(...args);
|
|
41
|
+
const context = { interactive: this, args };
|
|
42
|
+
for (const entry of state.handlers) {
|
|
43
|
+
entry.handler(context);
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
state.installed = true;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=linx-terminal-title-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linx-terminal-title-router.js","sourceRoot":"","sources":["../../src/lib/linx-terminal-title-router.ts"],"names":[],"mappings":"AAoBA,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;AAE7E,MAAM,UAAU,gCAAgC,CAC9C,WAAgB,EAChB,KAAoC;IAEpC,MAAM,KAAK,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAA;IAC1D,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpE,OAAM;IACR,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC1B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;IAClF,8BAA8B,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAgB,EAAE,KAAa;IAClE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,WAAgB;IAC9D,WAAW,EAAE,mBAAmB,EAAE,EAAE,CAAA;AACtC,CAAC;AAED,SAAS,+BAA+B,CAAC,WAAgB;IACvD,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAC1C,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,0BAA0B,CAAC,CAAA;IACxD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjF,OAAO,QAAwC,CAAA;IACjD,CAAC;IAED,MAAM,KAAK,GAAiC;QAC1C,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,EAAE;KACb,CAAA;IACD,WAAW,CAAC,0BAA0B,CAAC,GAAG,KAAK,CAAA;IAC/C,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,8BAA8B,CACrC,WAAgB,EAChB,KAAmC;IAEnC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,OAAM;IACR,CAAC;IAED,MAAM,2BAA2B,GAAG,OAAO,WAAW,EAAE,mBAAmB,KAAK,UAAU;QACxF,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;QACnD,CAAC,CAAC,SAAS,CAAA;IAEb,WAAW,CAAC,mBAAmB,GAAG,SAAS,8BAA8B,CAAC,GAAG,IAAe;QAC1F,MAAM,MAAM,GAAG,2BAA2B,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QACrD,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;QAC3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;IACD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;AACxB,CAAC"}
|
|
@@ -74,11 +74,11 @@ const LINX_THEME = {
|
|
|
74
74
|
bashMode: 'green',
|
|
75
75
|
},
|
|
76
76
|
};
|
|
77
|
-
export function
|
|
77
|
+
export function ensureLinxTheme(agentDir) {
|
|
78
78
|
const themesDir = join(agentDir, 'themes');
|
|
79
79
|
mkdirSync(themesDir, { recursive: true });
|
|
80
80
|
const themePath = join(themesDir, 'linx.json');
|
|
81
81
|
writeFileSync(themePath, `${JSON.stringify(LINX_THEME, null, 2)}\n`);
|
|
82
82
|
return themePath;
|
|
83
83
|
}
|
|
84
|
-
//# sourceMappingURL=theme.js.map
|
|
84
|
+
//# sourceMappingURL=linx-theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linx-theme.js","sourceRoot":"","sources":["../../src/lib/linx-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,6HAA6H;IACtI,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,SAAS;KACvB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,MAAM;QACd,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,QAAQ;QACjB,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,MAAM;QACpB,UAAU,EAAE,YAAY;QACxB,aAAa,EAAE,WAAW;QAC1B,eAAe,EAAE,SAAS;QAC1B,eAAe,EAAE,aAAa;QAC9B,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,SAAS;QAC7B,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,eAAe;QAC9B,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,QAAQ;QAChB,WAAW,EAAE,OAAO;QACpB,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,MAAM;QACrB,IAAI,EAAE,MAAM;QACZ,YAAY,EAAE,QAAQ;QACtB,aAAa,EAAE,OAAO;QACtB,eAAe,EAAE,KAAK;QACtB,eAAe,EAAE,MAAM;QACvB,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,SAAS;QACzB,iBAAiB,EAAE,SAAS;QAC5B,WAAW,EAAE,UAAU;QACvB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,SAAS;QACtB,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;QACvB,aAAa,EAAE,SAAS;QACxB,QAAQ,EAAE,OAAO;KAClB;CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IAC9C,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IACpE,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const RESERVED_NON_TOP_LEVEL_COMMANDS = new Set([
|
|
2
|
+
'automode',
|
|
3
|
+
'chat',
|
|
4
|
+
'footer',
|
|
5
|
+
'fork',
|
|
6
|
+
'help',
|
|
7
|
+
'model',
|
|
8
|
+
'new',
|
|
9
|
+
'pi',
|
|
10
|
+
'pi-frontend',
|
|
11
|
+
'resume',
|
|
12
|
+
'session',
|
|
13
|
+
'sessions',
|
|
14
|
+
'status-line',
|
|
15
|
+
'statusline',
|
|
16
|
+
'watch',
|
|
17
|
+
]);
|
|
18
|
+
export function assertDefaultStartupPromptTokenIsAllowed(argv, options = {}) {
|
|
19
|
+
if (!options.rejectReservedPromptCommands || argv.print || argv.backend) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const firstPromptToken = Array.isArray(argv.prompt) ? argv.prompt[0] : undefined;
|
|
23
|
+
if (firstPromptToken && RESERVED_NON_TOP_LEVEL_COMMANDS.has(firstPromptToken)) {
|
|
24
|
+
throw new Error(`Unknown command: ${firstPromptToken}`);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=linx-top-level-command-admission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linx-top-level-command-admission.js","sourceRoot":"","sources":["../../src/lib/linx-top-level-command-admission.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,GAAG,CAAC;IACrD,UAAU;IACV,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,IAAI;IACJ,aAAa;IACb,QAAQ;IACR,SAAS;IACT,UAAU;IACV,aAAa;IACb,YAAY;IACZ,OAAO;CACR,CAAC,CAAA;AAYF,MAAM,UAAU,wCAAwC,CACtD,IAAsC,EACtC,UAA+C,EAAE;IAEjD,IAAI,CAAC,OAAO,CAAC,4BAA4B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACxE,OAAM;IACR,CAAC;IAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAChF,IAAI,gBAAgB,IAAI,+BAA+B,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,oBAAoB,gBAAgB,EAAE,CAAC,CAAA;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { checkForNewLinxVersion, installLinxSelfUpdateAndRestart, LINX_CHANGELOG_URL, LINX_CLI_VERSION, LINX_UPDATE_PACKAGE_NAME, } from './linx-self-update.js';
|
|
2
|
+
import { openExternalUrl } from './linx-external-url.js';
|
|
3
|
+
import { canChooseLinxInteractiveExtensionSelectorOption, chooseLinxInteractiveExtensionSelectorOption, } from './linx-interactive-extension-selector-host.js';
|
|
4
|
+
import { normalizeSelectorChoice } from './linx-selector-choice.js';
|
|
5
|
+
import { registerLinxInteractiveRunHandler } from './linx-interactive-run-router.js';
|
|
6
|
+
import { registerLinxInteractiveUpdateNotificationHandler, registerLinxInteractiveVersionCheckHandler, } from './linx-interactive-update-router.js';
|
|
7
|
+
import { appendLinxInteractiveChatText } from './linx-interactive-chat-text-host.js';
|
|
8
|
+
import { showLinxInteractiveStatus } from './linx-interactive-status-display.js';
|
|
9
|
+
import { getLinxInteractiveUpdateState } from './linx-interactive-update-state-host.js';
|
|
10
|
+
const UPDATE_OPTION_INSTALL = 'Install update and restart';
|
|
11
|
+
const UPDATE_OPTION_CHANGELOG = 'Open changelog';
|
|
12
|
+
const UPDATE_OPTION_LATER = 'Later';
|
|
13
|
+
export function installLinxUpdateNotification(interactive, options = {}) {
|
|
14
|
+
patchVersionCheck(interactive);
|
|
15
|
+
patchUpdateNotification(interactive, options);
|
|
16
|
+
}
|
|
17
|
+
export async function checkAndShowLinxUpdate(interactive, options = {}) {
|
|
18
|
+
const latest = await checkForNewLinxVersion();
|
|
19
|
+
if (!latest) {
|
|
20
|
+
if (options.manual) {
|
|
21
|
+
showLinxInteractiveStatus(interactive, `LinX ${LINX_CLI_VERSION} is up to date.`);
|
|
22
|
+
}
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
requestLinxUpdateNotification(interactive, latest, {
|
|
26
|
+
...options,
|
|
27
|
+
force: options.manual === true,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
export function replayDeferredLinxUpdateNotification(interactive, options = {}) {
|
|
31
|
+
const updateState = getLinxInteractiveUpdateState(interactive);
|
|
32
|
+
const version = normalizeLinxUpdateVersion(updateState.deferredUpdateVersion);
|
|
33
|
+
if (!version || shouldDeferLinxUpdateNotification(options)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
updateState.deferredUpdateVersion = undefined;
|
|
37
|
+
void showLinxUpdateSelector(interactive, version);
|
|
38
|
+
}
|
|
39
|
+
function patchVersionCheck(interactive) {
|
|
40
|
+
installLinxUpstreamPiUpdateSuppression(interactive);
|
|
41
|
+
registerLinxInteractiveVersionCheckHandler(interactive, {
|
|
42
|
+
name: 'linx-update-notification:check-linx-version',
|
|
43
|
+
priority: 0,
|
|
44
|
+
async handler() {
|
|
45
|
+
const version = await checkForNewLinxVersion();
|
|
46
|
+
return version ? { handled: true, version } : { handled: true };
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function installLinxUpstreamPiUpdateSuppression(interactive) {
|
|
51
|
+
registerLinxInteractiveRunHandler(interactive, {
|
|
52
|
+
name: 'linx-update-notification:suppress-upstream-pi-update',
|
|
53
|
+
priority: 0,
|
|
54
|
+
handler({ interactive: runInteractive }) {
|
|
55
|
+
getLinxInteractiveUpdateState(runInteractive).suppressUpstreamPiUpdate = true;
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function patchUpdateNotification(interactive, options) {
|
|
60
|
+
registerLinxInteractiveUpdateNotificationHandler(interactive, {
|
|
61
|
+
name: 'linx-update-notification:show-linx-update',
|
|
62
|
+
priority: 0,
|
|
63
|
+
handler({ interactive: target, newVersion }) {
|
|
64
|
+
if (getLinxInteractiveUpdateState(target).suppressUpstreamPiUpdate) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
const normalizedVersion = normalizeLinxUpdateVersion(newVersion);
|
|
68
|
+
if (!normalizedVersion) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
requestLinxUpdateNotification(target, normalizedVersion, options);
|
|
72
|
+
return true;
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
export function scheduleLinxVersionCheckAfterInit(interactive, options = {}) {
|
|
77
|
+
const updateState = getLinxInteractiveUpdateState(interactive);
|
|
78
|
+
if (updateState.updateCheckScheduled) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
updateState.updateCheckScheduled = true;
|
|
82
|
+
queueMicrotask(() => {
|
|
83
|
+
void checkForNewLinxVersion()
|
|
84
|
+
.then((latest) => {
|
|
85
|
+
if (!latest) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
requestLinxUpdateNotification(interactive, latest, options);
|
|
89
|
+
})
|
|
90
|
+
.catch(() => undefined);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
async function showLinxUpdateSelector(interactive, newVersion) {
|
|
94
|
+
const updateState = getLinxInteractiveUpdateState(interactive);
|
|
95
|
+
if (updateState.updateInProgress) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
updateState.updateInProgress = true;
|
|
99
|
+
try {
|
|
100
|
+
const title = [
|
|
101
|
+
'LinX update available',
|
|
102
|
+
`Current ${LINX_CLI_VERSION} -> latest ${newVersion}`,
|
|
103
|
+
'Choose how to handle this update.',
|
|
104
|
+
].join('\n');
|
|
105
|
+
const options = [UPDATE_OPTION_LATER, UPDATE_OPTION_INSTALL, UPDATE_OPTION_CHANGELOG];
|
|
106
|
+
const rawSelected = canChooseLinxInteractiveExtensionSelectorOption(interactive)
|
|
107
|
+
? await chooseLinxInteractiveExtensionSelectorOption(interactive, title, options)
|
|
108
|
+
: undefined;
|
|
109
|
+
const selected = normalizeSelectorChoice(rawSelected, options);
|
|
110
|
+
if (selected === UPDATE_OPTION_INSTALL) {
|
|
111
|
+
await installLinxSelfUpdateAndRestart(interactive, newVersion);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
if (selected === UPDATE_OPTION_CHANGELOG) {
|
|
115
|
+
openExternalUrl(LINX_CHANGELOG_URL, interactive);
|
|
116
|
+
showLinxInteractiveStatus(interactive, `Opened LinX changelog for ${newVersion}.`, { render: false });
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (!selected) {
|
|
120
|
+
showLinxUpdateFallback(interactive, newVersion);
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
showLinxInteractiveStatus(interactive, `Skipped LinX ${newVersion} for now.`, { render: false });
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
updateState.updateInProgress = false;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function requestLinxUpdateNotification(interactive, newVersion, options = {}) {
|
|
130
|
+
const updateState = getLinxInteractiveUpdateState(interactive);
|
|
131
|
+
if (!options.force && shouldDeferLinxUpdateNotification(options)) {
|
|
132
|
+
updateState.deferredUpdateVersion = newVersion;
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
updateState.deferredUpdateVersion = undefined;
|
|
136
|
+
void showLinxUpdateSelector(interactive, newVersion);
|
|
137
|
+
}
|
|
138
|
+
function shouldDeferLinxUpdateNotification(options) {
|
|
139
|
+
return options.shouldDefer?.() === true;
|
|
140
|
+
}
|
|
141
|
+
function normalizeLinxUpdateVersion(value) {
|
|
142
|
+
const direct = normalizeNonEmptyString(value);
|
|
143
|
+
if (direct) {
|
|
144
|
+
return direct;
|
|
145
|
+
}
|
|
146
|
+
if (!isRecord(value)) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
for (const key of ['version', 'latest', 'latestVersion', 'packageVersion', 'newVersion']) {
|
|
150
|
+
const nested = normalizeNonEmptyString(value[key]);
|
|
151
|
+
if (nested) {
|
|
152
|
+
return nested;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
function showLinxUpdateFallback(interactive, newVersion) {
|
|
158
|
+
const lines = [
|
|
159
|
+
'\x1b[1m\x1b[33mLinX update available\x1b[39m\x1b[22m',
|
|
160
|
+
`\x1b[2mCurrent ${LINX_CLI_VERSION} -> latest ${newVersion}\x1b[22m`,
|
|
161
|
+
`\x1b[2mRun \x1b[22m\x1b[36mnpm install -g ${LINX_UPDATE_PACKAGE_NAME}@latest\x1b[39m\x1b[2m if this terminal cannot show the update selector.\x1b[22m`,
|
|
162
|
+
`\x1b[2mChangelog: \x1b[22m\x1b[36m${LINX_CHANGELOG_URL}\x1b[39m`,
|
|
163
|
+
];
|
|
164
|
+
appendLinxInteractiveChatText(interactive, lines.join('\n'));
|
|
165
|
+
}
|
|
166
|
+
function normalizeNonEmptyString(value) {
|
|
167
|
+
if (typeof value !== 'string') {
|
|
168
|
+
return undefined;
|
|
169
|
+
}
|
|
170
|
+
const normalized = value.trim();
|
|
171
|
+
return normalized || undefined;
|
|
172
|
+
}
|
|
173
|
+
function isRecord(value) {
|
|
174
|
+
return typeof value === 'object' && value !== null;
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=linx-update-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linx-update-notification.js","sourceRoot":"","sources":["../../src/lib/linx-update-notification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { basename } from 'node:path';
|
|
2
|
+
import { keyHint, rawKeyHint } from '@earendil-works/pi-coding-agent';
|
|
3
|
+
import { truncateToWidth, visibleWidth, wrapTextWithAnsi } from '@earendil-works/pi-tui';
|
|
4
|
+
import { LINX_TUI_KEYMAP_COMMAND, LINX_TUI_KEYMAP_LABEL, LINX_TUI_LOGIN_COMMAND } from './linx-tui-contract.js';
|
|
5
|
+
import { loadCredentials } from './credentials-store.js';
|
|
6
|
+
import { extractUsernameFromWebId, resolveProfileDisplayName } from './profile-identity.js';
|
|
7
|
+
import { suppressPodStatusOutput } from './pod-status-output.js';
|
|
8
|
+
import { LINX_CLI_VERSION } from './linx-self-update.js';
|
|
9
|
+
import { resolveLinxInteractiveRuntimeProviderLabel } from './linx-interactive-runtime-host.js';
|
|
10
|
+
import { registerLinxTerminalTitleHandler, requestLinxTerminalTitleRefresh, setLinxTerminalTitle } from './linx-terminal-title-router.js';
|
|
11
|
+
import { invalidateLinxInteractiveHeader, replaceLinxInteractiveHeader } from './linx-interactive-header-host.js';
|
|
12
|
+
import { resolveLinxSessionCwd, resolveLinxSessionId, resolveLinxSessionModelId, resolveLinxSessionName } from './linx-session-metadata.js';
|
|
13
|
+
export function installLinxWelcomeHeader(interactive) {
|
|
14
|
+
registerLinxTerminalTitleHandler(interactive, {
|
|
15
|
+
name: 'linx-welcome-header:terminal-title',
|
|
16
|
+
priority: 0,
|
|
17
|
+
handler({ interactive: titleInteractive }) {
|
|
18
|
+
setLinxWelcomeTerminalTitle(titleInteractive);
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function setLinxWelcomeTerminalTitle(interactive) {
|
|
23
|
+
const cwd = resolveLinxSessionCwd({ interactive }, process.cwd());
|
|
24
|
+
const sessionName = resolveLinxSessionName({ interactive });
|
|
25
|
+
const suffix = sessionName ? `${sessionName} - ${basename(cwd)}` : basename(cwd);
|
|
26
|
+
setLinxTerminalTitle(interactive, `LinX - ${suffix}`);
|
|
27
|
+
}
|
|
28
|
+
export function renderLinxWelcomeHeaderAfterInit(interactive) {
|
|
29
|
+
const quietStartup = interactive?.options?.verbose ? false : interactive?.settingsManager?.getQuietStartup?.();
|
|
30
|
+
if (quietStartup) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let profileDisplayName = null;
|
|
34
|
+
const replacement = new LinxWelcomeCard(() => buildLinxWelcomeCardState(interactive, profileDisplayName));
|
|
35
|
+
replaceLinxInteractiveHeader(interactive, replacement);
|
|
36
|
+
requestLinxTerminalTitleRefresh(interactive);
|
|
37
|
+
void suppressPodStatusOutput(() => resolveProfileDisplayName())
|
|
38
|
+
.then((displayName) => {
|
|
39
|
+
if (!displayName || displayName === profileDisplayName) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
profileDisplayName = displayName;
|
|
43
|
+
invalidateLinxInteractiveHeader(interactive, replacement);
|
|
44
|
+
})
|
|
45
|
+
.catch(() => undefined);
|
|
46
|
+
}
|
|
47
|
+
class LinxWelcomeCard {
|
|
48
|
+
getState;
|
|
49
|
+
constructor(getState) {
|
|
50
|
+
this.getState = getState;
|
|
51
|
+
}
|
|
52
|
+
invalidate() { }
|
|
53
|
+
render(width) {
|
|
54
|
+
const innerWidth = Math.max(20, width - 4);
|
|
55
|
+
const state = this.getState();
|
|
56
|
+
const titleBlock = [
|
|
57
|
+
`\x1b[1mLinX\x1b[22m \x1b[2mv${LINX_CLI_VERSION}\x1b[22m`,
|
|
58
|
+
`\x1b[1mWelcome back, ${state.username}\x1b[22m`,
|
|
59
|
+
];
|
|
60
|
+
const rows = [
|
|
61
|
+
renderField('WebID', state.webId, innerWidth),
|
|
62
|
+
renderField('Provider', state.provider, innerWidth),
|
|
63
|
+
renderField('Model', state.model, innerWidth),
|
|
64
|
+
renderField('Workspace', state.workspace, innerWidth),
|
|
65
|
+
renderField('Session', state.session, innerWidth),
|
|
66
|
+
'',
|
|
67
|
+
truncateToWidth(`\x1b[2mNext\x1b[22m ${state.next}`, innerWidth),
|
|
68
|
+
];
|
|
69
|
+
const headerLines = titleBlock.map((line) => truncateToWidth(line, innerWidth));
|
|
70
|
+
const body = [
|
|
71
|
+
...headerLines.map((line) => padLine(line, innerWidth)),
|
|
72
|
+
padLine('', innerWidth),
|
|
73
|
+
...rows.flatMap((line) => wrapAndPad(line, innerWidth)),
|
|
74
|
+
];
|
|
75
|
+
return [
|
|
76
|
+
`┌${'─'.repeat(innerWidth + 2)}┐`,
|
|
77
|
+
...body.map((line) => `│ ${line} │`),
|
|
78
|
+
`└${'─'.repeat(innerWidth + 2)}┘`,
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export function buildLinxWelcomeCardState(interactive, profileDisplayName = null) {
|
|
83
|
+
const credentials = loadCredentials();
|
|
84
|
+
const webId = credentials?.webId ?? 'not logged in';
|
|
85
|
+
const workspace = resolveLinxSessionCwd({ interactive }, process.cwd());
|
|
86
|
+
const sessionId = resolveLinxSessionId({ interactive });
|
|
87
|
+
const sessionName = resolveLinxSessionName({ interactive });
|
|
88
|
+
const session = sessionName && sessionId ? `${sessionName} (${formatSessionId(sessionId)})` : formatSessionId(sessionId);
|
|
89
|
+
const model = resolveLinxSessionModelId({ interactive }) ?? 'unknown-model';
|
|
90
|
+
return {
|
|
91
|
+
webId,
|
|
92
|
+
username: profileDisplayName ?? extractUsernameFromWebId(webId),
|
|
93
|
+
provider: resolveLinxInteractiveRuntimeProviderLabel(interactive),
|
|
94
|
+
model,
|
|
95
|
+
workspace,
|
|
96
|
+
session,
|
|
97
|
+
next: [
|
|
98
|
+
safeKeyHint('tui.input.submit', 'send'),
|
|
99
|
+
safeKeyHint('app.model.select', 'model'),
|
|
100
|
+
safeRawKeyHint(LINX_TUI_LOGIN_COMMAND, 'auth'),
|
|
101
|
+
safeRawKeyHint(LINX_TUI_KEYMAP_COMMAND, LINX_TUI_KEYMAP_LABEL),
|
|
102
|
+
].join(' \x1b[2m·\x1b[22m '),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function safeKeyHint(keybinding, description) {
|
|
106
|
+
try {
|
|
107
|
+
return keyHint(keybinding, description);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
return `\x1b[2m${keybinding}\x1b[22m \x1b[2m${description}\x1b[22m`;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
function safeRawKeyHint(key, description) {
|
|
114
|
+
try {
|
|
115
|
+
return rawKeyHint(key, description);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return `\x1b[2m${key}\x1b[22m \x1b[2m${description}\x1b[22m`;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
function renderField(label, value, width) {
|
|
122
|
+
const prefix = `\x1b[2m${label}\x1b[22m`;
|
|
123
|
+
const paddedPrefix = prefix + ' '.repeat(Math.max(1, 10 - visibleWidth(prefix)));
|
|
124
|
+
return truncateToWidth(`${paddedPrefix} ${value}`, width);
|
|
125
|
+
}
|
|
126
|
+
function wrapAndPad(line, width) {
|
|
127
|
+
if (!line) {
|
|
128
|
+
return [padLine('', width)];
|
|
129
|
+
}
|
|
130
|
+
const wrapped = wrapTextWithAnsi(line, width);
|
|
131
|
+
return wrapped.length > 0
|
|
132
|
+
? wrapped.map((entry) => padLine(entry, width))
|
|
133
|
+
: [padLine('', width)];
|
|
134
|
+
}
|
|
135
|
+
function formatSessionId(sessionId) {
|
|
136
|
+
if (typeof sessionId !== 'string' || !sessionId.trim()) {
|
|
137
|
+
return 'new session';
|
|
138
|
+
}
|
|
139
|
+
return sessionId.trim();
|
|
140
|
+
}
|
|
141
|
+
function padLine(line, width) {
|
|
142
|
+
const visible = visibleWidth(line);
|
|
143
|
+
if (visible >= width) {
|
|
144
|
+
return truncateToWidth(line, width);
|
|
145
|
+
}
|
|
146
|
+
return `${line}${' '.repeat(width - visible)}`;
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=linx-welcome-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linx-welcome-header.js","sourceRoot":"","sources":["../../src/lib/linx-welcome-header.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { existsSync, statSync } from 'node:fs';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { showLinxInteractiveError } from './linx-interactive-error-display.js';
|
|
4
|
+
import { showLinxInteractiveStatus } from './linx-interactive-status-display.js';
|
|
5
|
+
import { setLinxShellRuntimeCwd } from './linx-session-cwd-router.js';
|
|
6
|
+
import { resolveLinxSessionCwd } from './linx-session-metadata.js';
|
|
7
|
+
export async function changeInteractiveCwd(interactive, runtime, target) {
|
|
8
|
+
if (!target) {
|
|
9
|
+
showLinxInteractiveStatus(interactive, `Current workspace: ${resolveInteractiveCwd(interactive, runtime)}`);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const nextCwd = resolve(resolveInteractiveCwd(interactive, runtime), target);
|
|
13
|
+
if (!existsSync(nextCwd)) {
|
|
14
|
+
showLinxInteractiveError(interactive, `Workspace not found: ${nextCwd}`);
|
|
15
|
+
showLinxInteractiveStatus(interactive, undefined);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (!statSync(nextCwd).isDirectory()) {
|
|
19
|
+
showLinxInteractiveError(interactive, `Workspace is not a directory: ${nextCwd}`);
|
|
20
|
+
showLinxInteractiveStatus(interactive, undefined);
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
process.chdir(nextCwd);
|
|
24
|
+
setRuntimeCwd(interactive, runtime, nextCwd);
|
|
25
|
+
await runtime?.backendCommandRouter?.setCwd?.(nextCwd);
|
|
26
|
+
showLinxInteractiveStatus(interactive, `Workspace changed to ${nextCwd}. Session history stays in the current thread.`);
|
|
27
|
+
}
|
|
28
|
+
export function resolveInteractiveCwd(interactive, runtime) {
|
|
29
|
+
return resolveLinxSessionCwd({ interactive, runtime }, process.cwd());
|
|
30
|
+
}
|
|
31
|
+
export function setRuntimeCwd(interactive, runtime, cwd) {
|
|
32
|
+
setLinxShellRuntimeCwd(interactive, runtime, cwd);
|
|
33
|
+
}
|
|
34
|
+
export function scheduleLinxCwdStartupNotice(interactive, sessionCwd) {
|
|
35
|
+
const storedCwd = resolveLinxSessionCwd({ interactive }, sessionCwd);
|
|
36
|
+
const currentCwd = process.cwd();
|
|
37
|
+
if (currentCwd === storedCwd) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
process.stdout.write(`\n\x1b[33m Session was at ${storedCwd}\x1b[0m\n` +
|
|
42
|
+
`\x1b[33m You're now at ${currentCwd}\x1b[0m\n`);
|
|
43
|
+
}, 300);
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=linx-workspace-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linx-workspace-command.js","sourceRoot":"","sources":["../../src/lib/linx-workspace-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAgB,EAAE,OAAY,EAAE,MAA0B;IACnG,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,yBAAyB,CAAC,WAAW,EAAE,sBAAsB,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QAC3G,OAAM;IACR,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAA;IAC5E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,wBAAwB,CAAC,WAAW,EAAE,wBAAwB,OAAO,EAAE,CAAC,CAAA;QACxE,yBAAyB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACrC,wBAAwB,CAAC,WAAW,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAA;QACjF,yBAAyB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACtB,aAAa,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,MAAM,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAA;IACtD,yBAAyB,CAAC,WAAW,EAAE,wBAAwB,OAAO,gDAAgD,CAAC,CAAA;AACzH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAAgB,EAAE,OAAY;IAClE,OAAO,qBAAqB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,WAAgB,EAAE,OAAY,EAAE,GAAW;IACvE,sBAAsB,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAgB,EAAE,UAAkB;IAC/E,MAAM,SAAS,GAAG,qBAAqB,CAAC,EAAE,WAAW,EAAE,EAAE,UAAU,CAAC,CAAA;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAEhC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAM;IACR,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8BAA8B,SAAS,WAAW;YAClD,4BAA4B,UAAU,WAAW,CAClD,CAAA;IACH,CAAC,EAAE,GAAG,CAAC,CAAA;AACT,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function createNativeBackendCommandRouter(proxy) {
|
|
2
|
+
const executeCommand = proxy?.executeCommand;
|
|
3
|
+
if (!proxy || typeof executeCommand !== 'function') {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
const setCwd = proxy.setCwd;
|
|
7
|
+
const setSessionControl = proxy.setSessionControl;
|
|
8
|
+
const router = {
|
|
9
|
+
backend: proxy.record.backend,
|
|
10
|
+
execute(input) {
|
|
11
|
+
return executeCommand.call(proxy, input);
|
|
12
|
+
},
|
|
13
|
+
subscribe(listener) {
|
|
14
|
+
return proxy.subscribe(listener);
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
if (typeof setCwd === 'function') {
|
|
18
|
+
router.setCwd = (nextCwd) => setCwd.call(proxy, nextCwd);
|
|
19
|
+
}
|
|
20
|
+
if (typeof setSessionControl === 'function') {
|
|
21
|
+
router.setSessionControl = (control) => setSessionControl.call(proxy, control);
|
|
22
|
+
}
|
|
23
|
+
return router;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=native-backend-command-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-backend-command-router.js","sourceRoot":"","sources":["../../src/lib/native-backend-command-router.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,gCAAgC,CAC9C,KAAmD;IAEnD,MAAM,cAAc,GAAG,KAAK,EAAE,cAAc,CAAA;IAC5C,IAAI,CAAC,KAAK,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QACnD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC3B,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAA;IACjD,MAAM,MAAM,GAAyB;QACnC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;QAC7B,OAAO,CAAC,KAAK;YACX,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC1C,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,OAAO,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;IAED,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,OAAO,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAC5C,MAAM,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-backend-proxy.js","sourceRoot":"","sources":["../../src/lib/native-backend-proxy.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function createNativeBackendStreamBackend(proxy) {
|
|
2
|
+
if (!proxy) {
|
|
3
|
+
return undefined;
|
|
4
|
+
}
|
|
5
|
+
const sendTurn = proxy.sendTurn;
|
|
6
|
+
return {
|
|
7
|
+
sendTurn(input) {
|
|
8
|
+
return sendTurn.call(proxy, input);
|
|
9
|
+
},
|
|
10
|
+
subscribe(listener) {
|
|
11
|
+
return proxy.subscribe(listener);
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=native-backend-stream-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-backend-stream-backend.js","sourceRoot":"","sources":["../../src/lib/native-backend-stream-backend.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,gCAAgC,CAC9C,KAAkD;IAElD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IAE/B,OAAO;QACL,QAAQ,CAAC,KAAK;YACZ,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QACD,SAAS,CAAC,QAAQ;YAChB,OAAO,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/dist/lib/oidc-auth.js
CHANGED
|
@@ -361,7 +361,7 @@ function renderCallbackPage(input) {
|
|
|
361
361
|
</body>
|
|
362
362
|
</html>`;
|
|
363
363
|
}
|
|
364
|
-
async function reuseExistingBrowserConsentLogin(options) {
|
|
364
|
+
export async function reuseExistingBrowserConsentLogin(options) {
|
|
365
365
|
const stored = loadCredentials();
|
|
366
366
|
if (!stored || stored.authType !== 'oidc_oauth') {
|
|
367
367
|
return null;
|
|
@@ -608,7 +608,7 @@ export function isOidcTransientRemoteError(error) {
|
|
|
608
608
|
return true;
|
|
609
609
|
return resolveOidcTransientRemoteStatus(error) !== null;
|
|
610
610
|
}
|
|
611
|
-
function normalizeOidcSessionRefreshError(error) {
|
|
611
|
+
export function normalizeOidcSessionRefreshError(error) {
|
|
612
612
|
if (isOidcTransientRemoteError(error)) {
|
|
613
613
|
return new LinxOidcTransientRemoteError(error);
|
|
614
614
|
}
|
|
@@ -667,6 +667,4 @@ function fallbackOidcTransientStatusMessage(status) {
|
|
|
667
667
|
return 'Service Unavailable';
|
|
668
668
|
}
|
|
669
669
|
}
|
|
670
|
-
export const __testReuseExistingBrowserConsentLogin = reuseExistingBrowserConsentLogin;
|
|
671
|
-
export const __testNormalizeOidcSessionRefreshError = normalizeOidcSessionRefreshError;
|
|
672
670
|
//# sourceMappingURL=oidc-auth.js.map
|