turboflux 1.0.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/LICENSE +21 -0
- package/README.md +177 -0
- package/bin/turboflux.mjs +28 -0
- package/dist/cli/brand.d.ts +7 -0
- package/dist/cli/brand.js +33 -0
- package/dist/cli/brand.js.map +1 -0
- package/dist/cli/commands/index.d.ts +4 -0
- package/dist/cli/commands/index.js +671 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/registry.d.ts +24 -0
- package/dist/cli/commands/registry.js +124 -0
- package/dist/cli/commands/registry.js.map +1 -0
- package/dist/cli/commands/types.d.ts +69 -0
- package/dist/cli/commands/types.js +2 -0
- package/dist/cli/commands/types.js.map +1 -0
- package/dist/cli/components/App.d.ts +15 -0
- package/dist/cli/components/App.js +1738 -0
- package/dist/cli/components/App.js.map +1 -0
- package/dist/cli/components/ConversationHistory.d.ts +15 -0
- package/dist/cli/components/ConversationHistory.js +92 -0
- package/dist/cli/components/ConversationHistory.js.map +1 -0
- package/dist/cli/components/TranscriptViewport.d.ts +25 -0
- package/dist/cli/components/TranscriptViewport.js +77 -0
- package/dist/cli/components/TranscriptViewport.js.map +1 -0
- package/dist/cli/components/agentActivityModel.d.ts +24 -0
- package/dist/cli/components/agentActivityModel.js +45 -0
- package/dist/cli/components/agentActivityModel.js.map +1 -0
- package/dist/cli/components/appHelpers.d.ts +34 -0
- package/dist/cli/components/appHelpers.js +209 -0
- package/dist/cli/components/appHelpers.js.map +1 -0
- package/dist/cli/components/design-system/StatusIcon.d.ts +5 -0
- package/dist/cli/components/design-system/StatusIcon.js +25 -0
- package/dist/cli/components/design-system/StatusIcon.js.map +1 -0
- package/dist/cli/components/developerFlowModel.d.ts +36 -0
- package/dist/cli/components/developerFlowModel.js +88 -0
- package/dist/cli/components/developerFlowModel.js.map +1 -0
- package/dist/cli/components/diff/DiffCard.d.ts +16 -0
- package/dist/cli/components/diff/DiffCard.js +30 -0
- package/dist/cli/components/diff/DiffCard.js.map +1 -0
- package/dist/cli/components/diff/DiffHunks.d.ts +11 -0
- package/dist/cli/components/diff/DiffHunks.js +58 -0
- package/dist/cli/components/diff/DiffHunks.js.map +1 -0
- package/dist/cli/components/header/Header.d.ts +13 -0
- package/dist/cli/components/header/Header.js +25 -0
- package/dist/cli/components/header/Header.js.map +1 -0
- package/dist/cli/components/header/Mascot.d.ts +4 -0
- package/dist/cli/components/header/Mascot.js +53 -0
- package/dist/cli/components/header/Mascot.js.map +1 -0
- package/dist/cli/components/header/StatusLine.d.ts +21 -0
- package/dist/cli/components/header/StatusLine.js +110 -0
- package/dist/cli/components/header/StatusLine.js.map +1 -0
- package/dist/cli/components/input/EffortPicker.d.ts +30 -0
- package/dist/cli/components/input/EffortPicker.js +126 -0
- package/dist/cli/components/input/EffortPicker.js.map +1 -0
- package/dist/cli/components/input/ModelPicker.d.ts +15 -0
- package/dist/cli/components/input/ModelPicker.js +95 -0
- package/dist/cli/components/input/ModelPicker.js.map +1 -0
- package/dist/cli/components/input/PromptInput.d.ts +79 -0
- package/dist/cli/components/input/PromptInput.js +496 -0
- package/dist/cli/components/input/PromptInput.js.map +1 -0
- package/dist/cli/components/input/RewindSelector.d.ts +8 -0
- package/dist/cli/components/input/RewindSelector.js +45 -0
- package/dist/cli/components/input/RewindSelector.js.map +1 -0
- package/dist/cli/components/input/pasteState.d.ts +6 -0
- package/dist/cli/components/input/pasteState.js +42 -0
- package/dist/cli/components/input/pasteState.js.map +1 -0
- package/dist/cli/components/input/terminalInputStateMachine.d.ts +29 -0
- package/dist/cli/components/input/terminalInputStateMachine.js +67 -0
- package/dist/cli/components/input/terminalInputStateMachine.js.map +1 -0
- package/dist/cli/components/layout/CockpitRails.d.ts +6 -0
- package/dist/cli/components/layout/CockpitRails.js +13 -0
- package/dist/cli/components/layout/CockpitRails.js.map +1 -0
- package/dist/cli/components/layout/LandingView.d.ts +15 -0
- package/dist/cli/components/layout/LandingView.js +12 -0
- package/dist/cli/components/layout/LandingView.js.map +1 -0
- package/dist/cli/components/layout/SessionSidebar.d.ts +18 -0
- package/dist/cli/components/layout/SessionSidebar.js +70 -0
- package/dist/cli/components/layout/SessionSidebar.js.map +1 -0
- package/dist/cli/components/layout/StartupAnimation.d.ts +14 -0
- package/dist/cli/components/layout/StartupAnimation.js +30 -0
- package/dist/cli/components/layout/StartupAnimation.js.map +1 -0
- package/dist/cli/components/markdown/highlighter.d.ts +1 -0
- package/dist/cli/components/markdown/highlighter.js +110 -0
- package/dist/cli/components/markdown/highlighter.js.map +1 -0
- package/dist/cli/components/markdown/index.d.ts +11 -0
- package/dist/cli/components/markdown/index.js +86 -0
- package/dist/cli/components/markdown/index.js.map +1 -0
- package/dist/cli/components/messages/MessageList.d.ts +16 -0
- package/dist/cli/components/messages/MessageList.js +56 -0
- package/dist/cli/components/messages/MessageList.js.map +1 -0
- package/dist/cli/components/messages/Messages.d.ts +26 -0
- package/dist/cli/components/messages/Messages.js +32 -0
- package/dist/cli/components/messages/Messages.js.map +1 -0
- package/dist/cli/components/messages/ThinkingBlock.d.ts +9 -0
- package/dist/cli/components/messages/ThinkingBlock.js +51 -0
- package/dist/cli/components/messages/ThinkingBlock.js.map +1 -0
- package/dist/cli/components/messages/WindowedMessageList.d.ts +21 -0
- package/dist/cli/components/messages/WindowedMessageList.js +44 -0
- package/dist/cli/components/messages/WindowedMessageList.js.map +1 -0
- package/dist/cli/components/permissions/PermissionDialog.d.ts +23 -0
- package/dist/cli/components/permissions/PermissionDialog.js +83 -0
- package/dist/cli/components/permissions/PermissionDialog.js.map +1 -0
- package/dist/cli/components/spinner/SpinnerGlyph.d.ts +6 -0
- package/dist/cli/components/spinner/SpinnerGlyph.js +55 -0
- package/dist/cli/components/spinner/SpinnerGlyph.js.map +1 -0
- package/dist/cli/components/spinner/constants.d.ts +4 -0
- package/dist/cli/components/spinner/constants.js +5 -0
- package/dist/cli/components/spinner/constants.js.map +1 -0
- package/dist/cli/components/tools/ActiveWorkPanel.d.ts +22 -0
- package/dist/cli/components/tools/ActiveWorkPanel.js +70 -0
- package/dist/cli/components/tools/ActiveWorkPanel.js.map +1 -0
- package/dist/cli/components/tools/AgentActivityLine.d.ts +13 -0
- package/dist/cli/components/tools/AgentActivityLine.js +88 -0
- package/dist/cli/components/tools/AgentActivityLine.js.map +1 -0
- package/dist/cli/components/tools/QueuedPromptList.d.ts +10 -0
- package/dist/cli/components/tools/QueuedPromptList.js +26 -0
- package/dist/cli/components/tools/QueuedPromptList.js.map +1 -0
- package/dist/cli/components/tools/TaskFlowHud.d.ts +15 -0
- package/dist/cli/components/tools/TaskFlowHud.js +55 -0
- package/dist/cli/components/tools/TaskFlowHud.js.map +1 -0
- package/dist/cli/components/tools/TerminalSessionsFooter.d.ts +6 -0
- package/dist/cli/components/tools/TerminalSessionsFooter.js +36 -0
- package/dist/cli/components/tools/TerminalSessionsFooter.js.map +1 -0
- package/dist/cli/components/tools/ToolActivityList.d.ts +11 -0
- package/dist/cli/components/tools/ToolActivityList.js +73 -0
- package/dist/cli/components/tools/ToolActivityList.js.map +1 -0
- package/dist/cli/components/tools/ToolCallTree.d.ts +11 -0
- package/dist/cli/components/tools/ToolCallTree.js +14 -0
- package/dist/cli/components/tools/ToolCallTree.js.map +1 -0
- package/dist/cli/components/tools/toolLifecycleModel.d.ts +16 -0
- package/dist/cli/components/tools/toolLifecycleModel.js +30 -0
- package/dist/cli/components/tools/toolLifecycleModel.js.map +1 -0
- package/dist/cli/components/tools/toolPresentation.d.ts +9 -0
- package/dist/cli/components/tools/toolPresentation.js +171 -0
- package/dist/cli/components/tools/toolPresentation.js.map +1 -0
- package/dist/cli/components/tools/toolTypes.d.ts +16 -0
- package/dist/cli/components/tools/toolTypes.js +2 -0
- package/dist/cli/components/tools/toolTypes.js.map +1 -0
- package/dist/cli/components/transcriptWindowing.d.ts +19 -0
- package/dist/cli/components/transcriptWindowing.js +81 -0
- package/dist/cli/components/transcriptWindowing.js.map +1 -0
- package/dist/cli/config.d.ts +1 -0
- package/dist/cli/config.js +2 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/conversations/journalWriter.d.ts +50 -0
- package/dist/cli/conversations/journalWriter.js +191 -0
- package/dist/cli/conversations/journalWriter.js.map +1 -0
- package/dist/cli/conversations/manager.d.ts +65 -0
- package/dist/cli/conversations/manager.js +435 -0
- package/dist/cli/conversations/manager.js.map +1 -0
- package/dist/cli/conversations/recoveryExport.d.ts +18 -0
- package/dist/cli/conversations/recoveryExport.js +39 -0
- package/dist/cli/conversations/recoveryExport.js.map +1 -0
- package/dist/cli/conversations/recoveryMessages.d.ts +2 -0
- package/dist/cli/conversations/recoveryMessages.js +3 -0
- package/dist/cli/conversations/recoveryMessages.js.map +1 -0
- package/dist/cli/conversations/store.d.ts +14 -0
- package/dist/cli/conversations/store.js +603 -0
- package/dist/cli/conversations/store.js.map +1 -0
- package/dist/cli/conversations/types.d.ts +142 -0
- package/dist/cli/conversations/types.js +2 -0
- package/dist/cli/conversations/types.js.map +1 -0
- package/dist/cli/globalConfiguration.d.ts +13 -0
- package/dist/cli/globalConfiguration.js +61 -0
- package/dist/cli/globalConfiguration.js.map +1 -0
- package/dist/cli/hooks/useMessageCursor.d.ts +16 -0
- package/dist/cli/hooks/useMessageCursor.js +75 -0
- package/dist/cli/hooks/useMessageCursor.js.map +1 -0
- package/dist/cli/hooks/useOverlayStack.d.ts +9 -0
- package/dist/cli/hooks/useOverlayStack.js +26 -0
- package/dist/cli/hooks/useOverlayStack.js.map +1 -0
- package/dist/cli/hooks/useTerminalSize.d.ts +16 -0
- package/dist/cli/hooks/useTerminalSize.js +37 -0
- package/dist/cli/hooks/useTerminalSize.js.map +1 -0
- package/dist/cli/i18n/index.d.ts +15 -0
- package/dist/cli/i18n/index.js +32 -0
- package/dist/cli/i18n/index.js.map +1 -0
- package/dist/cli/i18n/messages.d.ts +1305 -0
- package/dist/cli/i18n/messages.js +1305 -0
- package/dist/cli/i18n/messages.js.map +1 -0
- package/dist/cli/imageAttachments.d.ts +22 -0
- package/dist/cli/imageAttachments.js +329 -0
- package/dist/cli/imageAttachments.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +146 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/platform/terminalAttention.d.ts +46 -0
- package/dist/cli/platform/terminalAttention.js +152 -0
- package/dist/cli/platform/terminalAttention.js.map +1 -0
- package/dist/cli/platform/terminalTransparency.d.ts +11 -0
- package/dist/cli/platform/terminalTransparency.js +193 -0
- package/dist/cli/platform/terminalTransparency.js.map +1 -0
- package/dist/cli/repl.d.ts +15 -0
- package/dist/cli/repl.js +38 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/setup.d.ts +17 -0
- package/dist/cli/setup.js +991 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/singleShot.d.ts +30 -0
- package/dist/cli/singleShot.js +167 -0
- package/dist/cli/singleShot.js.map +1 -0
- package/dist/cli/state/adaptiveStreamScheduler.d.ts +53 -0
- package/dist/cli/state/adaptiveStreamScheduler.js +136 -0
- package/dist/cli/state/adaptiveStreamScheduler.js.map +1 -0
- package/dist/cli/state/agentFlowController.d.ts +37 -0
- package/dist/cli/state/agentFlowController.js +402 -0
- package/dist/cli/state/agentFlowController.js.map +1 -0
- package/dist/cli/state/approvalPresentationScheduler.d.ts +28 -0
- package/dist/cli/state/approvalPresentationScheduler.js +72 -0
- package/dist/cli/state/approvalPresentationScheduler.js.map +1 -0
- package/dist/cli/state/flowFeatureFlags.d.ts +18 -0
- package/dist/cli/state/flowFeatureFlags.js +45 -0
- package/dist/cli/state/flowFeatureFlags.js.map +1 -0
- package/dist/cli/state/flowReducer.d.ts +120 -0
- package/dist/cli/state/flowReducer.js +535 -0
- package/dist/cli/state/flowReducer.js.map +1 -0
- package/dist/cli/state/flowSelectors.d.ts +45 -0
- package/dist/cli/state/flowSelectors.js +144 -0
- package/dist/cli/state/flowSelectors.js.map +1 -0
- package/dist/cli/state/flowStore.d.ts +19 -0
- package/dist/cli/state/flowStore.js +51 -0
- package/dist/cli/state/flowStore.js.map +1 -0
- package/dist/cli/state/globalCommandActivity.d.ts +25 -0
- package/dist/cli/state/globalCommandActivity.js +57 -0
- package/dist/cli/state/globalCommandActivity.js.map +1 -0
- package/dist/cli/state/goldenTraces.d.ts +2 -0
- package/dist/cli/state/goldenTraces.js +15 -0
- package/dist/cli/state/goldenTraces.js.map +1 -0
- package/dist/cli/state/notificationCoordinator.d.ts +38 -0
- package/dist/cli/state/notificationCoordinator.js +101 -0
- package/dist/cli/state/notificationCoordinator.js.map +1 -0
- package/dist/cli/stateProvider.d.ts +5 -0
- package/dist/cli/stateProvider.js +7 -0
- package/dist/cli/stateProvider.js.map +1 -0
- package/dist/cli/telemetry/localFlowTelemetry.d.ts +42 -0
- package/dist/cli/telemetry/localFlowTelemetry.js +131 -0
- package/dist/cli/telemetry/localFlowTelemetry.js.map +1 -0
- package/dist/cli/telemetry/terminalBaseline.d.ts +93 -0
- package/dist/cli/telemetry/terminalBaseline.js +199 -0
- package/dist/cli/telemetry/terminalBaseline.js.map +1 -0
- package/dist/cli/telemetry/terminalLatencyTracker.d.ts +24 -0
- package/dist/cli/telemetry/terminalLatencyTracker.js +59 -0
- package/dist/cli/telemetry/terminalLatencyTracker.js.map +1 -0
- package/dist/cli/terminalLayout.d.ts +2 -0
- package/dist/cli/terminalLayout.js +16 -0
- package/dist/cli/terminalLayout.js.map +1 -0
- package/dist/cli/terminalMouse.d.ts +10 -0
- package/dist/cli/terminalMouse.js +29 -0
- package/dist/cli/terminalMouse.js.map +1 -0
- package/dist/cli/theme/ThemeProvider.d.ts +9 -0
- package/dist/cli/theme/ThemeProvider.js +26 -0
- package/dist/cli/theme/ThemeProvider.js.map +1 -0
- package/dist/cli/theme/dark.d.ts +2 -0
- package/dist/cli/theme/dark.js +27 -0
- package/dist/cli/theme/dark.js.map +1 -0
- package/dist/cli/theme/index.d.ts +5 -0
- package/dist/cli/theme/index.js +5 -0
- package/dist/cli/theme/index.js.map +1 -0
- package/dist/cli/theme/light.d.ts +2 -0
- package/dist/cli/theme/light.js +26 -0
- package/dist/cli/theme/light.js.map +1 -0
- package/dist/cli/theme/palette.d.ts +7 -0
- package/dist/cli/theme/palette.js +8 -0
- package/dist/cli/theme/palette.js.map +1 -0
- package/dist/cli/theme/resolveColor.d.ts +4 -0
- package/dist/cli/theme/resolveColor.js +43 -0
- package/dist/cli/theme/resolveColor.js.map +1 -0
- package/dist/cli/theme/types.d.ts +27 -0
- package/dist/cli/theme/types.js +2 -0
- package/dist/cli/theme/types.js.map +1 -0
- package/dist/cli/toolExecutor.d.ts +1 -0
- package/dist/cli/toolExecutor.js +2 -0
- package/dist/cli/toolExecutor.js.map +1 -0
- package/dist/core/agentEngine.d.ts +425 -0
- package/dist/core/agentEngine.js +5170 -0
- package/dist/core/agentEngine.js.map +1 -0
- package/dist/core/agents/loader.d.ts +9 -0
- package/dist/core/agents/loader.js +144 -0
- package/dist/core/agents/loader.js.map +1 -0
- package/dist/core/applyPatch.d.ts +24 -0
- package/dist/core/applyPatch.js +158 -0
- package/dist/core/applyPatch.js.map +1 -0
- package/dist/core/cacheMonitor.d.ts +24 -0
- package/dist/core/cacheMonitor.js +211 -0
- package/dist/core/cacheMonitor.js.map +1 -0
- package/dist/core/clientIdentity.d.ts +6 -0
- package/dist/core/clientIdentity.js +44 -0
- package/dist/core/clientIdentity.js.map +1 -0
- package/dist/core/config.d.ts +99 -0
- package/dist/core/config.js +715 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/contextCompaction.d.ts +20 -0
- package/dist/core/contextCompaction.js +158 -0
- package/dist/core/contextCompaction.js.map +1 -0
- package/dist/core/contextManager.d.ts +44 -0
- package/dist/core/contextManager.js +590 -0
- package/dist/core/contextManager.js.map +1 -0
- package/dist/core/contextPolicy.d.ts +18 -0
- package/dist/core/contextPolicy.js +39 -0
- package/dist/core/contextPolicy.js.map +1 -0
- package/dist/core/credentialStore.d.ts +8 -0
- package/dist/core/credentialStore.js +37 -0
- package/dist/core/credentialStore.js.map +1 -0
- package/dist/core/diffCompute.d.ts +31 -0
- package/dist/core/diffCompute.js +116 -0
- package/dist/core/diffCompute.js.map +1 -0
- package/dist/core/editHelpers.d.ts +8 -0
- package/dist/core/editHelpers.js +35 -0
- package/dist/core/editHelpers.js.map +1 -0
- package/dist/core/fileIO.d.ts +12 -0
- package/dist/core/fileIO.js +199 -0
- package/dist/core/fileIO.js.map +1 -0
- package/dist/core/gitService.d.ts +83 -0
- package/dist/core/gitService.js +522 -0
- package/dist/core/gitService.js.map +1 -0
- package/dist/core/index.d.ts +30 -0
- package/dist/core/index.js +19 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/mcp/client.d.ts +32 -0
- package/dist/core/mcp/client.js +186 -0
- package/dist/core/mcp/client.js.map +1 -0
- package/dist/core/mcp/settings.d.ts +2 -0
- package/dist/core/mcp/settings.js +26 -0
- package/dist/core/mcp/settings.js.map +1 -0
- package/dist/core/mcp/toolBridge.d.ts +20 -0
- package/dist/core/mcp/toolBridge.js +74 -0
- package/dist/core/mcp/toolBridge.js.map +1 -0
- package/dist/core/mcp/types.d.ts +29 -0
- package/dist/core/mcp/types.js +2 -0
- package/dist/core/mcp/types.js.map +1 -0
- package/dist/core/modelDiscovery.d.ts +14 -0
- package/dist/core/modelDiscovery.js +566 -0
- package/dist/core/modelDiscovery.js.map +1 -0
- package/dist/core/modelProtocol.d.ts +43 -0
- package/dist/core/modelProtocol.js +238 -0
- package/dist/core/modelProtocol.js.map +1 -0
- package/dist/core/modelRegistry.d.ts +56 -0
- package/dist/core/modelRegistry.js +308 -0
- package/dist/core/modelRegistry.js.map +1 -0
- package/dist/core/networkProxy.d.ts +20 -0
- package/dist/core/networkProxy.js +145 -0
- package/dist/core/networkProxy.js.map +1 -0
- package/dist/core/normalizeBaseUrl.d.ts +1 -0
- package/dist/core/normalizeBaseUrl.js +9 -0
- package/dist/core/normalizeBaseUrl.js.map +1 -0
- package/dist/core/pathUtils.d.ts +3 -0
- package/dist/core/pathUtils.js +46 -0
- package/dist/core/pathUtils.js.map +1 -0
- package/dist/core/permissions.d.ts +29 -0
- package/dist/core/permissions.js +245 -0
- package/dist/core/permissions.js.map +1 -0
- package/dist/core/persona/voiceProfile.d.ts +7 -0
- package/dist/core/persona/voiceProfile.js +14 -0
- package/dist/core/persona/voiceProfile.js.map +1 -0
- package/dist/core/profile.d.ts +35 -0
- package/dist/core/profile.js +373 -0
- package/dist/core/profile.js.map +1 -0
- package/dist/core/requestCompatibility.d.ts +13 -0
- package/dist/core/requestCompatibility.js +181 -0
- package/dist/core/requestCompatibility.js.map +1 -0
- package/dist/core/runtime/agentRuntime.d.ts +43 -0
- package/dist/core/runtime/agentRuntime.js +137 -0
- package/dist/core/runtime/agentRuntime.js.map +1 -0
- package/dist/core/runtime/approvalCoordinator.d.ts +36 -0
- package/dist/core/runtime/approvalCoordinator.js +113 -0
- package/dist/core/runtime/approvalCoordinator.js.map +1 -0
- package/dist/core/runtime/capabilityBoundary.d.ts +18 -0
- package/dist/core/runtime/capabilityBoundary.js +89 -0
- package/dist/core/runtime/capabilityBoundary.js.map +1 -0
- package/dist/core/runtime/nodeToolExecutor.d.ts +200 -0
- package/dist/core/runtime/nodeToolExecutor.js +2446 -0
- package/dist/core/runtime/nodeToolExecutor.js.map +1 -0
- package/dist/core/runtime/runtimeLogWriter.d.ts +32 -0
- package/dist/core/runtime/runtimeLogWriter.js +129 -0
- package/dist/core/runtime/runtimeLogWriter.js.map +1 -0
- package/dist/core/runtime/runtimeTaskManager.d.ts +78 -0
- package/dist/core/runtime/runtimeTaskManager.js +374 -0
- package/dist/core/runtime/runtimeTaskManager.js.map +1 -0
- package/dist/core/runtime/sessionRegistry.d.ts +19 -0
- package/dist/core/runtime/sessionRegistry.js +41 -0
- package/dist/core/runtime/sessionRegistry.js.map +1 -0
- package/dist/core/runtime/stateProvider.d.ts +69 -0
- package/dist/core/runtime/stateProvider.js +131 -0
- package/dist/core/runtime/stateProvider.js.map +1 -0
- package/dist/core/runtime/subAgentTaskManager.d.ts +111 -0
- package/dist/core/runtime/subAgentTaskManager.js +386 -0
- package/dist/core/runtime/subAgentTaskManager.js.map +1 -0
- package/dist/core/schemaValidation.d.ts +5 -0
- package/dist/core/schemaValidation.js +153 -0
- package/dist/core/schemaValidation.js.map +1 -0
- package/dist/core/skills/loader.d.ts +7 -0
- package/dist/core/skills/loader.js +91 -0
- package/dist/core/skills/loader.js.map +1 -0
- package/dist/core/skills/runtime.d.ts +19 -0
- package/dist/core/skills/runtime.js +61 -0
- package/dist/core/skills/runtime.js.map +1 -0
- package/dist/core/subAgent.d.ts +50 -0
- package/dist/core/subAgent.js +1258 -0
- package/dist/core/subAgent.js.map +1 -0
- package/dist/core/systemPrompt.d.ts +27 -0
- package/dist/core/systemPrompt.js +219 -0
- package/dist/core/systemPrompt.js.map +1 -0
- package/dist/core/taskManager.d.ts +105 -0
- package/dist/core/taskManager.js +617 -0
- package/dist/core/taskManager.js.map +1 -0
- package/dist/core/tokenCompressor.d.ts +14 -0
- package/dist/core/tokenCompressor.js +161 -0
- package/dist/core/tokenCompressor.js.map +1 -0
- package/dist/core/tokenCounter.d.ts +28 -0
- package/dist/core/tokenCounter.js +101 -0
- package/dist/core/tokenCounter.js.map +1 -0
- package/dist/core/toolDispatcher.d.ts +11 -0
- package/dist/core/toolDispatcher.js +38 -0
- package/dist/core/toolDispatcher.js.map +1 -0
- package/dist/core/toolExecutionLedger.d.ts +9 -0
- package/dist/core/toolExecutionLedger.js +84 -0
- package/dist/core/toolExecutionLedger.js.map +1 -0
- package/dist/core/toolRegistry.d.ts +19 -0
- package/dist/core/toolRegistry.js +820 -0
- package/dist/core/toolRegistry.js.map +1 -0
- package/dist/core/turnStrategy.d.ts +20 -0
- package/dist/core/turnStrategy.js +103 -0
- package/dist/core/turnStrategy.js.map +1 -0
- package/dist/platform/process.d.ts +14 -0
- package/dist/platform/process.js +28 -0
- package/dist/platform/process.js.map +1 -0
- package/dist/platform/runtime.d.ts +8 -0
- package/dist/platform/runtime.js +21 -0
- package/dist/platform/runtime.js.map +1 -0
- package/dist/server/adminPage.d.ts +1 -0
- package/dist/server/adminPage.js +755 -0
- package/dist/server/adminPage.js.map +1 -0
- package/dist/server/index.d.ts +22 -0
- package/dist/server/index.js +566 -0
- package/dist/server/index.js.map +1 -0
- package/dist/shared/agentTypes.d.ts +227 -0
- package/dist/shared/agentTypes.js +79 -0
- package/dist/shared/agentTypes.js.map +1 -0
- package/dist/shared/codeIndexTypes.d.ts +32 -0
- package/dist/shared/codeIndexTypes.js +2 -0
- package/dist/shared/codeIndexTypes.js.map +1 -0
- package/dist/shared/flowEvents.d.ts +192 -0
- package/dist/shared/flowEvents.js +37 -0
- package/dist/shared/flowEvents.js.map +1 -0
- package/dist/shared/memoryTypes.d.ts +100 -0
- package/dist/shared/memoryTypes.js +2 -0
- package/dist/shared/memoryTypes.js.map +1 -0
- package/dist/shared/pluginTypes.d.ts +345 -0
- package/dist/shared/pluginTypes.js +2 -0
- package/dist/shared/pluginTypes.js.map +1 -0
- package/dist/shared/runtimeTaskTypes.d.ts +43 -0
- package/dist/shared/runtimeTaskTypes.js +2 -0
- package/dist/shared/runtimeTaskTypes.js.map +1 -0
- package/dist/shared/skillTypes.d.ts +1 -0
- package/dist/shared/skillTypes.js +2 -0
- package/dist/shared/skillTypes.js.map +1 -0
- package/dist/shared/subAgentTypes.d.ts +99 -0
- package/dist/shared/subAgentTypes.js +2 -0
- package/dist/shared/subAgentTypes.js.map +1 -0
- package/dist/shared/terminalTypes.d.ts +102 -0
- package/dist/shared/terminalTypes.js +2 -0
- package/dist/shared/terminalTypes.js.map +1 -0
- package/dist/shared/toolCallMarkup.d.ts +10 -0
- package/dist/shared/toolCallMarkup.js +107 -0
- package/dist/shared/toolCallMarkup.js.map +1 -0
- package/dist/shared/toolTypes.d.ts +24 -0
- package/dist/shared/toolTypes.js +2 -0
- package/dist/shared/toolTypes.js.map +1 -0
- package/dist/shared/types.d.ts +81 -0
- package/dist/shared/types.js +2 -0
- package/dist/shared/types.js.map +1 -0
- package/dist/state/types.d.ts +69 -0
- package/dist/state/types.js +2 -0
- package/dist/state/types.js.map +1 -0
- package/dist/tools/executor.d.ts +133 -0
- package/dist/tools/executor.js +2 -0
- package/dist/tools/executor.js.map +1 -0
- package/dist/tools/memory/loaders.d.ts +6 -0
- package/dist/tools/memory/loaders.js +292 -0
- package/dist/tools/memory/loaders.js.map +1 -0
- package/dist/tools/memory/sanitizer.d.ts +6 -0
- package/dist/tools/memory/sanitizer.js +48 -0
- package/dist/tools/memory/sanitizer.js.map +1 -0
- package/dist/tools/memory/service.d.ts +24 -0
- package/dist/tools/memory/service.js +273 -0
- package/dist/tools/memory/service.js.map +1 -0
- package/dist/tools/memory/writer.d.ts +17 -0
- package/dist/tools/memory/writer.js +192 -0
- package/dist/tools/memory/writer.js.map +1 -0
- package/package.json +68 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolRegistry.js","sourceRoot":"","sources":["../../src/core/toolRegistry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AgentMode, AgentSession } from '../shared/agentTypes';
|
|
2
|
+
export type TurnIntent = 'model_decides';
|
|
3
|
+
export type TurnScope = 'model_decides';
|
|
4
|
+
export interface TurnStrategy {
|
|
5
|
+
intent: TurnIntent;
|
|
6
|
+
scope: TurnScope;
|
|
7
|
+
needsWorkspaceContext: boolean;
|
|
8
|
+
requiresEvidence: boolean;
|
|
9
|
+
allowWrites: boolean;
|
|
10
|
+
confidence: number;
|
|
11
|
+
reasons: string[];
|
|
12
|
+
retrievalPlan: string[];
|
|
13
|
+
verificationPlan: string[];
|
|
14
|
+
}
|
|
15
|
+
export declare class TurnStrategyPlanner {
|
|
16
|
+
plan(session: AgentSession, mode: AgentMode): TurnStrategy | null;
|
|
17
|
+
buildStrategyContext(strategy: TurnStrategy | null): string | null;
|
|
18
|
+
private buildRetrievalPlan;
|
|
19
|
+
private buildVerificationPlan;
|
|
20
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
function latestUserMessage(turns) {
|
|
2
|
+
for (let index = turns.length - 1; index >= 0; index -= 1) {
|
|
3
|
+
const turn = turns[index];
|
|
4
|
+
if (turn.role === 'user' && turn.content.trim())
|
|
5
|
+
return turn.content.trim();
|
|
6
|
+
}
|
|
7
|
+
return '';
|
|
8
|
+
}
|
|
9
|
+
function recentToolErrors(turns) {
|
|
10
|
+
const errors = [];
|
|
11
|
+
for (const turn of turns.slice(-8)) {
|
|
12
|
+
if (!turn.toolResults)
|
|
13
|
+
continue;
|
|
14
|
+
for (const result of turn.toolResults) {
|
|
15
|
+
if (result.isError)
|
|
16
|
+
errors.push(result);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return errors;
|
|
20
|
+
}
|
|
21
|
+
function recentToolCalls(turns) {
|
|
22
|
+
return turns.slice(-8).flatMap(turn => turn.toolCalls?.map(tool => tool.name) || []);
|
|
23
|
+
}
|
|
24
|
+
function hasRecentEvidence(turns) {
|
|
25
|
+
return recentToolCalls(turns).some(name => name === 'read_file'
|
|
26
|
+
|| name === 'list_directory'
|
|
27
|
+
|| name === 'get_codemap'
|
|
28
|
+
|| name.startsWith('search_'));
|
|
29
|
+
}
|
|
30
|
+
function hasOpenWork(session) {
|
|
31
|
+
return session.currentTaskId !== null;
|
|
32
|
+
}
|
|
33
|
+
export class TurnStrategyPlanner {
|
|
34
|
+
plan(session, mode) {
|
|
35
|
+
const message = latestUserMessage(session.turns);
|
|
36
|
+
if (!message)
|
|
37
|
+
return null;
|
|
38
|
+
const errors = recentToolErrors(session.turns);
|
|
39
|
+
const hasEvidence = hasRecentEvidence(session.turns);
|
|
40
|
+
const hasTasks = hasOpenWork(session);
|
|
41
|
+
const canWriteByMode = mode === 'vibe';
|
|
42
|
+
const needsWorkspaceContext = true;
|
|
43
|
+
const requiresEvidence = false;
|
|
44
|
+
const reasons = [
|
|
45
|
+
`mode=${mode}`,
|
|
46
|
+
hasTasks ? 'active task exists' : 'no active task',
|
|
47
|
+
errors.length > 0 ? `recent tool errors=${errors.length}` : 'no recent tool errors',
|
|
48
|
+
hasEvidence ? 'recent code evidence exists' : 'no recent code evidence',
|
|
49
|
+
'workspace rules available without automatic repository mapping',
|
|
50
|
+
];
|
|
51
|
+
return {
|
|
52
|
+
intent: 'model_decides',
|
|
53
|
+
scope: 'model_decides',
|
|
54
|
+
needsWorkspaceContext,
|
|
55
|
+
requiresEvidence,
|
|
56
|
+
allowWrites: canWriteByMode,
|
|
57
|
+
confidence: 1,
|
|
58
|
+
reasons,
|
|
59
|
+
retrievalPlan: this.buildRetrievalPlan(mode, hasEvidence),
|
|
60
|
+
verificationPlan: this.buildVerificationPlan(mode, errors.length > 0),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
buildStrategyContext(strategy) {
|
|
64
|
+
if (!strategy)
|
|
65
|
+
return null;
|
|
66
|
+
const lines = [
|
|
67
|
+
'<turn_strategy intent="model_decides" scope="model_decides">',
|
|
68
|
+
'This is execution guidance only. It must not classify the user request or hide tools.',
|
|
69
|
+
`workspace_context: ${strategy.needsWorkspaceContext ? 'available' : 'lightweight by default'}`,
|
|
70
|
+
`evidence: ${strategy.requiresEvidence ? 'gather before codebase claims' : 'use tools only when repository state is needed'}`,
|
|
71
|
+
`writes_by_mode: ${strategy.allowWrites ? 'available subject to permissions' : 'not available in plan mode until approved'}`,
|
|
72
|
+
'Runtime signals:',
|
|
73
|
+
...strategy.reasons.map(reason => `- ${reason}`),
|
|
74
|
+
'Tool policy:',
|
|
75
|
+
...strategy.retrievalPlan.map(item => `- ${item}`),
|
|
76
|
+
'Verification policy:',
|
|
77
|
+
...strategy.verificationPlan.map(item => `- ${item}`),
|
|
78
|
+
'</turn_strategy>',
|
|
79
|
+
];
|
|
80
|
+
return lines.join('\n');
|
|
81
|
+
}
|
|
82
|
+
buildRetrievalPlan(mode, hasEvidence) {
|
|
83
|
+
const plan = [
|
|
84
|
+
'Maximize information gain per model round: batch all independent searches and reads needed for the next decision.',
|
|
85
|
+
'Use user-provided and tool-returned paths directly. Search only unresolved locations, and do not repeat successful reads without a concrete reason.',
|
|
86
|
+
];
|
|
87
|
+
if (!hasEvidence) {
|
|
88
|
+
plan.push('Gather enough direct evidence for the next decision in one batch when dependencies are already known.');
|
|
89
|
+
}
|
|
90
|
+
return plan;
|
|
91
|
+
}
|
|
92
|
+
buildVerificationPlan(mode, hasRecentErrors) {
|
|
93
|
+
const plan = ['After edits, run the narrowest relevant check when mode permits execution.'];
|
|
94
|
+
if (mode === 'plan') {
|
|
95
|
+
plan.push('Ask for approval before write operations.');
|
|
96
|
+
}
|
|
97
|
+
if (hasRecentErrors) {
|
|
98
|
+
plan.push('If a tool failed, recover from the failure with a different read/search path before concluding.');
|
|
99
|
+
}
|
|
100
|
+
return plan;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=turnStrategy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnStrategy.js","sourceRoot":"","sources":["../../src/core/turnStrategy.ts"],"names":[],"mappings":"AAiBA,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC7E,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,MAAM,MAAM,GAAiB,EAAE,CAAA;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,SAAQ;QAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,eAAe,CAAC,KAAkB;IACzC,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;AACtF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAkB;IAC3C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxC,IAAI,KAAK,WAAW;WACjB,IAAI,KAAK,gBAAgB;WACzB,IAAI,KAAK,aAAa;WACtB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAC9B,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAqB;IACxC,OAAO,OAAO,CAAC,aAAa,KAAK,IAAI,CAAA;AACvC,CAAC;AAUD,MAAM,OAAO,mBAAmB;IAC9B,IAAI,CAAC,OAAqB,EAAE,IAAe;QACzC,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAA;QAEzB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;QACrC,MAAM,cAAc,GAAG,IAAI,KAAK,MAAM,CAAA;QACtC,MAAM,qBAAqB,GAAG,IAAI,CAAA;QAClC,MAAM,gBAAgB,GAAG,KAAK,CAAA;QAE9B,MAAM,OAAO,GAAG;YACd,QAAQ,IAAI,EAAE;YACd,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB;YAClD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,uBAAuB;YACnF,WAAW,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,yBAAyB;YACvE,gEAAgE;SACjE,CAAA;QAED,OAAO;YACL,MAAM,EAAE,eAAe;YACvB,KAAK,EAAE,eAAe;YACtB,qBAAqB;YACrB,gBAAgB;YAChB,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,CAAC;YACb,OAAO;YACP,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;YACzD,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SACtE,CAAA;IACH,CAAC;IAED,oBAAoB,CAAC,QAA6B;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1B,MAAM,KAAK,GAAG;YACZ,8DAA8D;YAC9D,uFAAuF;YACvF,sBAAsB,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,EAAE;YAC/F,aAAa,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,gDAAgD,EAAE;YAC7H,mBAAmB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,2CAA2C,EAAE;YAC5H,kBAAkB;YAClB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC;YAChD,cAAc;YACd,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,sBAAsB;YACtB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,kBAAkB;SACnB,CAAA;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAEO,kBAAkB,CAAC,IAAe,EAAE,WAAoB;QAC9D,MAAM,IAAI,GAAG;YACX,mHAAmH;YACnH,qJAAqJ;SACtJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,uGAAuG,CAAC,CAAA;QACpH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,qBAAqB,CAAC,IAAe,EAAE,eAAwB;QACrE,MAAM,IAAI,GAAG,CAAC,4EAA4E,CAAC,CAAA;QAC3F,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACxD,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAA;QAC9G,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SpawnOptions } from 'node:child_process';
|
|
2
|
+
export interface ShellSpec {
|
|
3
|
+
command: string;
|
|
4
|
+
args: string[];
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
}
|
|
8
|
+
export type SupportedProcessPlatform = 'win32' | 'linux' | 'darwin' | (string & {});
|
|
9
|
+
export declare function getDefaultShellSpec(platform?: SupportedProcessPlatform): ShellSpec;
|
|
10
|
+
export declare function getChildProcessSpawnOptions(platform?: SupportedProcessPlatform): SpawnOptions & {
|
|
11
|
+
stdio: 'pipe';
|
|
12
|
+
};
|
|
13
|
+
export declare function usesProcessGroup(platform?: SupportedProcessPlatform): boolean;
|
|
14
|
+
export declare function getProcessGroupSignal(): NodeJS.Signals;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export function getDefaultShellSpec(platform = process.platform) {
|
|
2
|
+
if (platform === 'win32') {
|
|
3
|
+
return {
|
|
4
|
+
command: 'powershell.exe',
|
|
5
|
+
args: ['-NoLogo', '-NoProfile', '-ExecutionPolicy', 'Bypass'],
|
|
6
|
+
id: 'powershell',
|
|
7
|
+
label: 'PowerShell',
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
if (platform === 'darwin') {
|
|
11
|
+
return { command: '/bin/zsh', args: [], id: 'zsh', label: 'Zsh' };
|
|
12
|
+
}
|
|
13
|
+
return { command: '/bin/bash', args: [], id: 'bash', label: 'Bash' };
|
|
14
|
+
}
|
|
15
|
+
export function getChildProcessSpawnOptions(platform = process.platform) {
|
|
16
|
+
return {
|
|
17
|
+
detached: platform !== 'win32',
|
|
18
|
+
stdio: 'pipe',
|
|
19
|
+
...(platform === 'win32' ? { windowsHide: true } : {}),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export function usesProcessGroup(platform = process.platform) {
|
|
23
|
+
return platform !== 'win32';
|
|
24
|
+
}
|
|
25
|
+
export function getProcessGroupSignal() {
|
|
26
|
+
return 'SIGTERM';
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/platform/process.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mBAAmB,CAAC,WAAqC,OAAO,CAAC,QAAQ;IACvF,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,gBAAgB;YACzB,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,kBAAkB,EAAE,QAAQ,CAAC;YAC7D,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACnE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AACtE,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAAqC,OAAO,CAAC,QAAQ;IAC/F,OAAO;QACL,QAAQ,EAAE,QAAQ,KAAK,OAAO;QAC9B,KAAK,EAAE,MAAM;QACb,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAqC,OAAO,CAAC,QAAQ;IACpF,OAAO,QAAQ,KAAK,OAAO,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function getRuntimeInfo() {
|
|
2
|
+
const globalRecord = globalThis;
|
|
3
|
+
if (globalRecord.Bun) {
|
|
4
|
+
return {
|
|
5
|
+
name: 'bun',
|
|
6
|
+
version: globalRecord.Bun.version || 'unknown',
|
|
7
|
+
platform: process.platform,
|
|
8
|
+
arch: process.arch,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
if (typeof process !== 'undefined' && process.versions?.node) {
|
|
12
|
+
return {
|
|
13
|
+
name: 'node',
|
|
14
|
+
version: process.versions.node,
|
|
15
|
+
platform: process.platform,
|
|
16
|
+
arch: process.arch,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return { name: 'unknown', version: 'unknown', platform: process.platform, arch: process.arch };
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/platform/runtime.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,cAAc;IAC5B,MAAM,YAAY,GAAG,UAEpB,CAAA;IACD,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS;YAC9C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAA;IACH,CAAC;IACD,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7D,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAA;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;AAChG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ADMIN_HTML = "<!doctype html>\n<html lang=\"zh-CN\">\n<head>\n <meta charset=\"utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n <title>TurboFlux Admin</title>\n <style>\n :root {\n --paper: #f5eedf;\n --paper-deep: #e4d4ba;\n --paper-line: rgba(72, 50, 28, 0.18);\n --ink: #2d2419;\n --muted: #75634f;\n --cloth: #47574e;\n --cloth-dark: #2f3b36;\n --accent: #8a4f35;\n --accent-2: #2f6f73;\n --danger: #9b342b;\n --ok: #3d6b42;\n --shadow: 0 22px 60px rgba(45, 36, 25, 0.22);\n }\n\n * { box-sizing: border-box; }\n\n html, body { min-height: 100%; }\n\n body {\n margin: 0;\n color: var(--ink);\n font-family: ui-serif, Georgia, \"Times New Roman\", \"Noto Serif SC\", serif;\n background:\n radial-gradient(circle at 12% 8%, rgba(82, 61, 36, 0.12) 0 1px, transparent 1px),\n radial-gradient(circle at 78% 24%, rgba(82, 61, 36, 0.09) 0 1px, transparent 1px),\n linear-gradient(135deg, #dbc8a9, #f6efe2 34%, #e7d8bf 100%);\n background-size: 22px 22px, 34px 34px, 100% 100%;\n }\n\n body::before {\n content: \"\";\n position: fixed;\n inset: 0;\n pointer-events: none;\n background:\n repeating-linear-gradient(0deg, rgba(72, 50, 28, 0.025), rgba(72, 50, 28, 0.025) 1px, transparent 1px, transparent 5px),\n linear-gradient(90deg, rgba(255,255,255,0.22), rgba(95, 68, 38, 0.10));\n mix-blend-mode: multiply;\n }\n\n button, input, textarea {\n font: inherit;\n }\n\n .book {\n position: relative;\n z-index: 1;\n display: grid;\n grid-template-columns: 280px minmax(0, 1fr);\n min-height: calc(100vh - 36px);\n margin: 18px;\n border: 1px solid rgba(83, 59, 33, 0.28);\n border-radius: 8px;\n overflow: hidden;\n box-shadow: var(--shadow);\n background: var(--paper);\n }\n\n .spine {\n display: flex;\n flex-direction: column;\n gap: 28px;\n padding: 30px 24px;\n background:\n linear-gradient(90deg, rgba(34, 45, 39, 0.92), rgba(67, 82, 73, 0.94)),\n repeating-linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.05) 1px, transparent 1px, transparent 8px);\n color: #f8f1e3;\n border-right: 8px solid rgba(72, 50, 28, 0.20);\n }\n\n .brand {\n display: grid;\n gap: 8px;\n padding-bottom: 22px;\n border-bottom: 1px solid rgba(248, 241, 227, 0.25);\n }\n\n .brand-mark {\n width: 42px;\n height: 42px;\n display: grid;\n place-items: center;\n border: 1px solid rgba(248, 241, 227, 0.45);\n border-radius: 6px;\n color: #f8f1e3;\n letter-spacing: 0;\n font-weight: 800;\n }\n\n h1 {\n margin: 0;\n font-size: 26px;\n line-height: 1.05;\n letter-spacing: 0;\n }\n\n .subtitle {\n margin: 0;\n color: rgba(248, 241, 227, 0.72);\n font-size: 14px;\n line-height: 1.5;\n }\n\n .nav {\n display: grid;\n gap: 10px;\n }\n\n .nav-button {\n width: 100%;\n display: grid;\n grid-template-columns: 46px 1fr;\n align-items: center;\n gap: 12px;\n padding: 12px 10px;\n color: rgba(248, 241, 227, 0.78);\n background: transparent;\n border: 1px solid transparent;\n border-radius: 6px;\n text-align: left;\n cursor: pointer;\n }\n\n .nav-button:hover,\n .nav-button.active {\n color: #fff9ec;\n background: rgba(255, 255, 255, 0.09);\n border-color: rgba(248, 241, 227, 0.20);\n }\n\n .nav-code {\n display: grid;\n place-items: center;\n min-width: 42px;\n height: 30px;\n border: 1px solid rgba(248, 241, 227, 0.26);\n border-radius: 5px;\n font-family: ui-monospace, SFMono-Regular, Consolas, monospace;\n font-size: 12px;\n }\n\n .token-box {\n margin-top: auto;\n display: grid;\n gap: 9px;\n }\n\n .token-box label {\n color: rgba(248, 241, 227, 0.78);\n font-size: 13px;\n }\n\n .token-row {\n display: grid;\n grid-template-columns: minmax(0, 1fr) 42px;\n gap: 8px;\n }\n\n .token-row input {\n min-width: 0;\n color: #fff9ec;\n background: rgba(0, 0, 0, 0.16);\n border: 1px solid rgba(248, 241, 227, 0.24);\n border-radius: 5px;\n padding: 10px;\n }\n\n .token-row button {\n color: #fff9ec;\n background: rgba(255, 255, 255, 0.10);\n border: 1px solid rgba(248, 241, 227, 0.26);\n border-radius: 5px;\n cursor: pointer;\n }\n\n .page {\n position: relative;\n min-width: 0;\n padding: 34px;\n background:\n linear-gradient(90deg, rgba(97, 68, 36, 0.11), transparent 22px),\n linear-gradient(#f8f1e3, var(--paper));\n }\n\n .page::after {\n content: \"\";\n position: absolute;\n inset: 0;\n pointer-events: none;\n border-left: 1px solid rgba(68, 45, 24, 0.12);\n box-shadow: inset 16px 0 24px rgba(68, 45, 24, 0.08);\n }\n\n .page-head {\n position: relative;\n z-index: 1;\n display: flex;\n justify-content: space-between;\n gap: 20px;\n align-items: flex-start;\n padding-bottom: 22px;\n border-bottom: 1px solid var(--paper-line);\n }\n\n .page-title {\n margin: 0;\n font-size: 30px;\n line-height: 1.1;\n letter-spacing: 0;\n }\n\n .page-note {\n margin: 8px 0 0;\n color: var(--muted);\n line-height: 1.6;\n max-width: 650px;\n }\n\n .status-strip {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n justify-content: flex-end;\n }\n\n .pill {\n display: inline-flex;\n align-items: center;\n min-height: 30px;\n padding: 5px 10px;\n border: 1px solid var(--paper-line);\n border-radius: 999px;\n color: var(--muted);\n background: rgba(255, 255, 255, 0.28);\n font-size: 13px;\n white-space: nowrap;\n }\n\n .pill.ok { color: var(--ok); border-color: rgba(61, 107, 66, 0.28); }\n .pill.warn { color: var(--danger); border-color: rgba(155, 52, 43, 0.28); }\n\n .panel {\n position: relative;\n z-index: 1;\n margin-top: 24px;\n padding: 24px;\n border: 1px solid rgba(87, 61, 34, 0.24);\n border-radius: 8px;\n background: rgba(255, 252, 244, 0.56);\n }\n\n .panel h2 {\n margin: 0 0 18px;\n font-size: 20px;\n letter-spacing: 0;\n }\n\n .form-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 18px;\n }\n\n .field {\n display: grid;\n gap: 8px;\n }\n\n .field.full { grid-column: 1 / -1; }\n\n .field label {\n color: var(--muted);\n font-size: 14px;\n }\n\n .field input,\n .field textarea {\n width: 100%;\n padding: 10px 12px;\n color: var(--ink);\n background: rgba(255, 255, 255, 0.54);\n border: 1px solid rgba(82, 58, 32, 0.28);\n border-radius: 6px;\n outline: none;\n }\n\n .field input {\n min-height: 42px;\n }\n\n .field textarea {\n min-height: 190px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Consolas, monospace;\n font-size: 13px;\n line-height: 1.5;\n }\n\n .field input:focus,\n .field textarea:focus {\n border-color: rgba(47, 111, 115, 0.62);\n box-shadow: 0 0 0 3px rgba(47, 111, 115, 0.12);\n }\n\n .checks {\n display: flex;\n flex-wrap: wrap;\n gap: 14px;\n align-items: center;\n color: var(--muted);\n font-size: 14px;\n }\n\n .checks input { width: auto; min-height: auto; }\n\n .actions {\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n align-items: center;\n margin-top: 20px;\n }\n\n .primary,\n .secondary {\n min-height: 40px;\n padding: 9px 14px;\n border-radius: 6px;\n border: 1px solid transparent;\n cursor: pointer;\n }\n\n .primary {\n color: #fff9ec;\n background: var(--accent);\n border-color: rgba(92, 48, 31, 0.35);\n }\n\n .secondary {\n color: var(--ink);\n background: rgba(255,255,255,0.38);\n border-color: rgba(82, 58, 32, 0.28);\n }\n\n .message {\n min-height: 24px;\n color: var(--muted);\n font-size: 14px;\n }\n\n .table {\n width: 100%;\n border-collapse: collapse;\n overflow: hidden;\n border: 1px solid rgba(82, 58, 32, 0.18);\n border-radius: 6px;\n }\n\n .table th,\n .table td {\n padding: 13px 12px;\n border-bottom: 1px solid rgba(82, 58, 32, 0.14);\n text-align: left;\n vertical-align: top;\n font-size: 14px;\n }\n\n .table th {\n color: var(--muted);\n background: rgba(105, 78, 45, 0.08);\n font-weight: 700;\n }\n\n .table tr:last-child td { border-bottom: 0; }\n\n .mono {\n font-family: ui-monospace, SFMono-Regular, Consolas, monospace;\n font-size: 13px;\n }\n\n .empty {\n min-height: 180px;\n display: grid;\n place-items: center;\n color: var(--muted);\n border: 1px dashed rgba(82, 58, 32, 0.28);\n border-radius: 8px;\n background: rgba(255, 255, 255, 0.24);\n text-align: center;\n line-height: 1.7;\n }\n\n .hidden { display: none; }\n\n @media (max-width: 880px) {\n .book {\n grid-template-columns: 1fr;\n margin: 0;\n min-height: 100vh;\n border-radius: 0;\n }\n\n .spine {\n gap: 18px;\n padding: 20px;\n }\n\n .nav {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n\n .nav-button {\n grid-template-columns: 1fr;\n justify-items: center;\n text-align: center;\n }\n\n .page {\n padding: 22px;\n }\n\n .page-head {\n display: grid;\n }\n\n .status-strip {\n justify-content: flex-start;\n }\n\n .form-grid {\n grid-template-columns: 1fr;\n }\n }\n </style>\n</head>\n<body>\n <main class=\"book\">\n <aside class=\"spine\">\n <div class=\"brand\">\n <div class=\"brand-mark\">TF</div>\n <h1>TurboFlux</h1>\n <p class=\"subtitle\">\u672C\u5730\u540E\u53F0\u7BA1\u7406</p>\n </div>\n\n <nav class=\"nav\" aria-label=\"\u540E\u53F0\u5BFC\u822A\">\n <button class=\"nav-button active\" type=\"button\" data-tab=\"api\">\n <span class=\"nav-code\">API</span><span>API \u914D\u7F6E</span>\n </button>\n <button class=\"nav-button\" type=\"button\" data-tab=\"users\">\n <span class=\"nav-code\">USR</span><span>\u7528\u6237\u7BA1\u7406</span>\n </button>\n <button class=\"nav-button\" type=\"button\" data-tab=\"logs\">\n <span class=\"nav-code\">LOG</span><span>\u65E5\u5FD7</span>\n </button>\n </nav>\n\n <div class=\"token-box\">\n <label for=\"adminToken\">\u8BBF\u95EE\u4EE4\u724C</label>\n <div class=\"token-row\">\n <input id=\"adminToken\" type=\"password\" autocomplete=\"off\" placeholder=\"X-TurboFlux-Token\">\n <button id=\"saveToken\" type=\"button\" title=\"\u4FDD\u5B58\u5230\u672C\u673A\u6D4F\u89C8\u5668\">OK</button>\n </div>\n </div>\n </aside>\n\n <section class=\"page\">\n <div class=\"page-head\">\n <div>\n <h2 id=\"pageTitle\" class=\"page-title\">API \u914D\u7F6E</h2>\n <p id=\"pageNote\" class=\"page-note\">\u6A21\u578B\u4EE3\u7406\u3001\u5BC6\u94A5\u4E0E\u672C\u5730\u670D\u52A1\u72B6\u6001\u3002</p>\n </div>\n <div id=\"statusStrip\" class=\"status-strip\"></div>\n </div>\n\n <section id=\"tab-api\" class=\"tab-panel\">\n <div class=\"panel\">\n <h2>\u4E0A\u6E38\u6A21\u578B</h2>\n <form id=\"configForm\">\n <div class=\"form-grid\">\n <div class=\"field full\">\n <label for=\"upstreamBaseUrl\">Base URL</label>\n <input id=\"upstreamBaseUrl\" name=\"upstreamBaseUrl\" type=\"url\" required>\n </div>\n <div class=\"field\">\n <label for=\"defaultModel\">\u9ED8\u8BA4\u6A21\u578B</label>\n <input id=\"defaultModel\" name=\"defaultModel\" required>\n </div>\n <div class=\"field\">\n <label for=\"corsOrigin\">CORS Origin</label>\n <input id=\"corsOrigin\" name=\"corsOrigin\" placeholder=\"http://127.0.0.1\">\n </div>\n <div class=\"field full\">\n <label for=\"modelsJson\">Models JSON</label>\n <textarea id=\"modelsJson\" name=\"modelsJson\" rows=\"9\" spellcheck=\"false\"></textarea>\n </div>\n <div class=\"field\">\n <label for=\"upstreamApiKey\">\u4E0A\u6E38 API Key</label>\n <input id=\"upstreamApiKey\" name=\"upstreamApiKey\" type=\"password\" autocomplete=\"off\" placeholder=\"\u7559\u7A7A\u5219\u4FDD\u6301\u5F53\u524D\u5BC6\u94A5\">\n </div>\n <div class=\"field\">\n <label for=\"authToken\">\u4EE3\u7406\u8BBF\u95EE\u4EE4\u724C</label>\n <input id=\"authToken\" name=\"authToken\" type=\"password\" autocomplete=\"off\" placeholder=\"\u7559\u7A7A\u5219\u4FDD\u6301\u5F53\u524D\u4EE4\u724C\">\n </div>\n <div class=\"field full checks\">\n <label><input id=\"clearUpstreamApiKey\" name=\"clearUpstreamApiKey\" type=\"checkbox\"> \u6E05\u7A7A\u4E0A\u6E38\u5BC6\u94A5</label>\n <label><input id=\"clearAuthToken\" name=\"clearAuthToken\" type=\"checkbox\"> \u5173\u95ED\u4EE3\u7406\u4EE4\u724C</label>\n </div>\n </div>\n <div class=\"actions\">\n <button class=\"primary\" type=\"submit\">\u4FDD\u5B58\u914D\u7F6E</button>\n <button class=\"secondary\" id=\"testUpstream\" type=\"button\">\u6D4B\u8BD5\u4E0A\u6E38</button>\n <span id=\"formMessage\" class=\"message\"></span>\n </div>\n </form>\n </div>\n </section>\n\n <section id=\"tab-users\" class=\"tab-panel hidden\">\n <div class=\"panel\">\n <h2>\u7528\u6237\u7BA1\u7406</h2>\n <table class=\"table\">\n <thead>\n <tr><th>\u7528\u6237</th><th>\u89D2\u8272</th><th>\u72B6\u6001</th></tr>\n </thead>\n <tbody id=\"usersBody\"></tbody>\n </table>\n </div>\n </section>\n\n <section id=\"tab-logs\" class=\"tab-panel hidden\">\n <div class=\"panel\">\n <h2>\u6700\u8FD1\u65E5\u5FD7</h2>\n <table class=\"table\">\n <thead>\n <tr><th>\u65F6\u95F4</th><th>\u7EA7\u522B</th><th>\u6A21\u5757</th><th>\u6D88\u606F</th></tr>\n </thead>\n <tbody id=\"logsBody\"></tbody>\n </table>\n </div>\n </section>\n </section>\n </main>\n\n <script>\n const $ = (selector) => document.querySelector(selector);\n const $$ = (selector) => Array.from(document.querySelectorAll(selector));\n const state = { config: null, users: [], logs: [] };\n const titles = {\n api: ['API \u914D\u7F6E', '\u6A21\u578B\u4EE3\u7406\u3001\u5BC6\u94A5\u4E0E\u672C\u5730\u670D\u52A1\u72B6\u6001\u3002'],\n users: ['\u7528\u6237\u7BA1\u7406', '\u521D\u7248\u5360\u4F4D\uFF0C\u4FDD\u7559\u89D2\u8272\u4E0E\u72B6\u6001\u89C6\u56FE\u3002'],\n logs: ['\u65E5\u5FD7', '\u5F53\u524D\u8FDB\u7A0B\u5185\u7684\u6700\u8FD1\u8FD0\u884C\u8BB0\u5F55\u3002']\n };\n\n function adminToken() {\n return localStorage.getItem('turboflux.adminToken') || '';\n }\n\n function requestHeaders(hasBody) {\n const headers = { 'Accept': 'application/json' };\n if (hasBody) headers['Content-Type'] = 'application/json';\n const token = adminToken();\n if (token) headers['X-TurboFlux-Token'] = token;\n return headers;\n }\n\n function escapeHtml(value) {\n return String(value ?? '').replace(/[&<>\"']/g, (char) => ({\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n })[char]);\n }\n\n async function api(path, options) {\n const request = options || {};\n const response = await fetch(path, {\n method: request.method || 'GET',\n headers: Object.assign(requestHeaders(Boolean(request.body)), request.headers || {}),\n body: request.body\n });\n const text = await response.text();\n let payload = {};\n if (text) {\n try { payload = JSON.parse(text); } catch { payload = { raw: text }; }\n }\n if (!response.ok) {\n const message = payload && payload.error && payload.error.message ? payload.error.message : 'HTTP ' + response.status;\n throw new Error(message);\n }\n return payload;\n }\n\n function setMessage(text, tone) {\n const el = $('#formMessage');\n el.textContent = text || '';\n el.style.color = tone === 'error' ? 'var(--danger)' : tone === 'ok' ? 'var(--ok)' : 'var(--muted)';\n }\n\n function renderStatus() {\n const cfg = state.config;\n const strip = $('#statusStrip');\n if (!cfg) {\n strip.innerHTML = '<span class=\"pill warn\">\u672A\u8FDE\u63A5</span>';\n return;\n }\n const keyClass = cfg.upstreamKeyConfigured ? 'ok' : 'warn';\n const authClass = cfg.proxyAuth === 'enabled' ? 'ok' : '';\n strip.innerHTML =\n '<span class=\"pill ok\">\u670D\u52A1\u5728\u7EBF</span>' +\n '<span class=\"pill ' + keyClass + '\">Key ' + escapeHtml(cfg.upstreamKeyConfigured ? cfg.upstreamKeyPreview : '\u672A\u914D\u7F6E') + '</span>' +\n '<span class=\"pill ' + authClass + '\">Auth ' + escapeHtml(cfg.proxyAuth) + '</span>' +\n '<span class=\"pill mono\">' + escapeHtml(cfg.host) + ':' + escapeHtml(cfg.port) + '</span>';\n }\n\n function renderConfig() {\n const cfg = state.config;\n if (!cfg) return;\n $('#upstreamBaseUrl').value = cfg.upstreamBaseUrl || '';\n $('#defaultModel').value = cfg.defaultModel || '';\n $('#corsOrigin').value = cfg.corsOrigin || '';\n $('#modelsJson').value = JSON.stringify(cfg.models || [], null, 2);\n $('#upstreamApiKey').placeholder = cfg.upstreamKeyConfigured ? '\u5F53\u524D\uFF1A' + cfg.upstreamKeyPreview + '\uFF0C\u7559\u7A7A\u4FDD\u6301' : '<upstream API key>';\n $('#authToken').placeholder = cfg.proxyAuth === 'enabled' ? '\u5DF2\u542F\u7528\uFF0C\u7559\u7A7A\u4FDD\u6301' : '\u53EF\u9009';\n $('#clearUpstreamApiKey').checked = false;\n $('#clearAuthToken').checked = false;\n renderStatus();\n }\n\n function renderUsers() {\n const body = $('#usersBody');\n if (!state.users.length) {\n body.innerHTML = '<tr><td colspan=\"3\"><div class=\"empty\">\u7528\u6237\u7BA1\u7406\u5360\u4F4D</div></td></tr>';\n return;\n }\n body.innerHTML = state.users.map((user) =>\n '<tr><td class=\"mono\">' + escapeHtml(user.name) + '</td><td>' + escapeHtml(user.role) + '</td><td>' + escapeHtml(user.status) + '</td></tr>'\n ).join('');\n }\n\n function renderLogs() {\n const body = $('#logsBody');\n if (!state.logs.length) {\n body.innerHTML = '<tr><td colspan=\"4\"><div class=\"empty\">\u6682\u65E0\u65E5\u5FD7</div></td></tr>';\n return;\n }\n body.innerHTML = state.logs.map((log) =>\n '<tr><td class=\"mono\">' + escapeHtml(new Date(log.time).toLocaleString()) + '</td><td>' + escapeHtml(log.level) + '</td><td>' + escapeHtml(log.area) + '</td><td>' + escapeHtml(log.message) + '</td></tr>'\n ).join('');\n }\n\n async function loadConfig() {\n state.config = await api('/admin/api/config');\n renderConfig();\n }\n\n async function loadUsers() {\n const payload = await api('/admin/api/users');\n state.users = payload.data || [];\n renderUsers();\n }\n\n async function loadLogs() {\n const payload = await api('/admin/api/logs');\n state.logs = payload.data || [];\n renderLogs();\n }\n\n async function refreshAll() {\n try {\n await Promise.all([loadConfig(), loadUsers(), loadLogs()]);\n } catch (error) {\n setMessage(error.message, 'error');\n renderStatus();\n }\n }\n\n function switchTab(name) {\n $$('.nav-button').forEach((button) => button.classList.toggle('active', button.dataset.tab === name));\n $$('.tab-panel').forEach((panel) => panel.classList.add('hidden'));\n $('#tab-' + name).classList.remove('hidden');\n $('#pageTitle').textContent = titles[name][0];\n $('#pageNote').textContent = titles[name][1];\n if (name === 'logs') loadLogs().catch((error) => setMessage(error.message, 'error'));\n }\n\n $('#configForm').addEventListener('submit', async (event) => {\n event.preventDefault();\n setMessage('\u4FDD\u5B58\u4E2D...', '');\n const upstreamApiKey = $('#upstreamApiKey').value.trim();\n const authToken = $('#authToken').value.trim();\n let models;\n try {\n models = JSON.parse($('#modelsJson').value || '[]');\n if (!Array.isArray(models)) throw new Error('Models JSON must be an array');\n } catch (error) {\n setMessage(error.message, 'error');\n return;\n }\n const payload = {\n upstreamBaseUrl: $('#upstreamBaseUrl').value.trim(),\n defaultModel: $('#defaultModel').value.trim(),\n models,\n corsOrigin: $('#corsOrigin').value.trim(),\n clearUpstreamApiKey: $('#clearUpstreamApiKey').checked,\n clearAuthToken: $('#clearAuthToken').checked\n };\n if (upstreamApiKey) payload.upstreamApiKey = upstreamApiKey;\n if (authToken) payload.authToken = authToken;\n try {\n state.config = await api('/admin/api/config', { method: 'PUT', body: JSON.stringify(payload) });\n $('#upstreamApiKey').value = '';\n $('#authToken').value = '';\n renderConfig();\n await loadLogs();\n setMessage('\u5DF2\u4FDD\u5B58', 'ok');\n } catch (error) {\n setMessage(error.message, 'error');\n }\n });\n\n $('#testUpstream').addEventListener('click', async () => {\n setMessage('\u6D4B\u8BD5\u4E2D...', '');\n try {\n const payload = await api('/admin/api/config/test', { method: 'POST', body: JSON.stringify({}) });\n setMessage(payload.message || '\u6D4B\u8BD5\u901A\u8FC7', 'ok');\n await loadLogs();\n } catch (error) {\n setMessage(error.message, 'error');\n await loadLogs().catch(() => {});\n }\n });\n\n $('#saveToken').addEventListener('click', () => {\n localStorage.setItem('turboflux.adminToken', $('#adminToken').value.trim());\n setMessage('\u8BBF\u95EE\u4EE4\u724C\u5DF2\u4FDD\u5B58\u5230\u672C\u673A\u6D4F\u89C8\u5668', 'ok');\n refreshAll();\n });\n\n $$('.nav-button').forEach((button) => button.addEventListener('click', () => switchTab(button.dataset.tab)));\n $('#adminToken').value = adminToken();\n refreshAll();\n </script>\n</body>\n</html>";
|