@skt-ai-labs/trayambak-cli 0.6.1 → 0.6.2
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 +1 -1
- package/dist/apps/cli/src/command-registry.js +1 -1
- package/dist/apps/cli/src/commands/agent.js +1 -1
- package/dist/apps/cli/src/commands/archive.js +1 -1
- package/dist/apps/cli/src/commands/checkpoint.js +1 -1
- package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
- package/dist/apps/cli/src/commands/commit.js +1 -1
- package/dist/apps/cli/src/commands/compact.js +1 -1
- package/dist/apps/cli/src/commands/config.js +1 -1
- package/dist/apps/cli/src/commands/db.js +1 -1
- package/dist/apps/cli/src/commands/doctor.js +1 -1
- package/dist/apps/cli/src/commands/download.js +1 -1
- package/dist/apps/cli/src/commands/exec.js +1 -1
- package/dist/apps/cli/src/commands/index.js +1 -1
- package/dist/apps/cli/src/commands/login.js +1 -1
- package/dist/apps/cli/src/commands/manager.js +1 -1
- package/dist/apps/cli/src/commands/marketplace.js +1 -1
- package/dist/apps/cli/src/commands/mcp.js +1 -1
- package/dist/apps/cli/src/commands/mode.js +1 -1
- package/dist/apps/cli/src/commands/models.js +1 -1
- package/dist/apps/cli/src/commands/plan.js +1 -1
- package/dist/apps/cli/src/commands/pr.js +1 -1
- package/dist/apps/cli/src/commands/registry.js +1 -1
- package/dist/apps/cli/src/commands/run.js +1 -1
- package/dist/apps/cli/src/commands/sandbox.js +1 -1
- package/dist/apps/cli/src/commands/serve.js +1 -1
- package/dist/apps/cli/src/commands/session-export.js +1 -1
- package/dist/apps/cli/src/commands/session-resume.js +1 -1
- package/dist/apps/cli/src/commands/shortcuts.js +1 -1
- package/dist/apps/cli/src/commands/slash-command.js +1 -1
- package/dist/apps/cli/src/commands/stats.js +1 -1
- package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
- package/dist/apps/cli/src/commands/task.js +1 -1
- package/dist/apps/cli/src/commands/todo.js +1 -1
- package/dist/apps/cli/src/commands/uninstall.js +1 -1
- package/dist/apps/cli/src/commands/upgrade.js +1 -1
- package/dist/apps/cli/src/commands/worktree.js +1 -1
- package/dist/apps/cli/src/flags.js +1 -1
- package/dist/apps/cli/src/index.js +1 -1
- package/dist/apps/cli/src/integration/board.js +1 -1
- package/dist/apps/cli/src/integration/git-refs.js +1 -1
- package/dist/apps/cli/src/integration/index.js +1 -1
- package/dist/apps/cli/src/integration/indexing.js +1 -1
- package/dist/apps/cli/src/integration/notebook.js +1 -1
- package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
- package/dist/apps/cli/src/integration/plan.js +1 -1
- package/dist/apps/cli/src/integration/presence.js +1 -1
- package/dist/apps/cli/src/integration/project-id.js +1 -1
- package/dist/apps/cli/src/integration/rules.js +1 -1
- package/dist/apps/cli/src/integration/sandbox.js +1 -1
- package/dist/apps/cli/src/integration/task-resume.js +1 -1
- package/dist/apps/cli/src/integration/text-stream.js +1 -1
- package/dist/apps/cli/src/integration/unique-id.js +1 -1
- package/dist/apps/cli/src/integration/watcher.js +1 -1
- package/dist/apps/cli/src/logger.js +1 -1
- package/dist/apps/cli/src/session/index.js +1 -1
- package/dist/apps/cli/src/session/session-compaction.js +1 -1
- package/dist/apps/cli/src/session/session-continuation.js +1 -1
- package/dist/apps/cli/src/session/session-control.js +1 -1
- package/dist/apps/cli/src/session/session-fork.js +1 -1
- package/dist/apps/cli/src/session/session-manager.js +1 -1
- package/dist/apps/cli/src/session/session-transcript.js +1 -1
- package/dist/apps/cli/src/tui/index.js +1 -1
- package/dist/apps/cli/src/tui/tui-features.js +1 -1
- package/dist/apps/cli/src/version.js +1 -1
- package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
- package/dist/apps/runtime/src/agent/agent.js +1 -1
- package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
- package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
- package/dist/apps/runtime/src/agent/review-init.js +1 -1
- package/dist/apps/runtime/src/agent/sota.js +1 -1
- package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
- package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
- package/dist/apps/runtime/src/checkpoints.js +1 -1
- package/dist/apps/runtime/src/compaction.js +1 -1
- package/dist/apps/runtime/src/config.js +1 -1
- package/dist/apps/runtime/src/controller/controller.js +1 -1
- package/dist/apps/runtime/src/controller/executor.js +1 -1
- package/dist/apps/runtime/src/controller/reviewer.js +1 -1
- package/dist/apps/runtime/src/controller/router.js +1 -1
- package/dist/apps/runtime/src/controller/state.js +1 -1
- package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
- package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
- package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
- package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
- package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
- package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
- package/dist/apps/runtime/src/github-auth.js +1 -1
- package/dist/apps/runtime/src/goals.js +1 -1
- package/dist/apps/runtime/src/index.js +1 -1
- package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
- package/dist/apps/runtime/src/license.js +1 -1
- package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
- package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
- package/dist/apps/runtime/src/notifications.js +1 -1
- package/dist/apps/runtime/src/planner/planner.js +1 -1
- package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
- package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
- package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
- package/dist/apps/runtime/src/prompt/rules.js +1 -1
- package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
- package/dist/apps/runtime/src/self-improvement.js +1 -1
- package/dist/apps/runtime/src/session/session.js +1 -1
- package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
- package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
- package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
- package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
- package/dist/apps/runtime/src/tools/code/fim.js +1 -1
- package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
- package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
- package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
- package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
- package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
- package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
- package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
- package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
- package/dist/apps/runtime/src/tools/github/github.js +1 -1
- package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
- package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
- package/dist/apps/runtime/src/tools/index.js +1 -1
- package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
- package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
- package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
- package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
- package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
- package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
- package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
- package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
- package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
- package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
- package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
- package/dist/apps/runtime/src/tools/text/csv.js +1 -1
- package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
- package/dist/apps/runtime/src/tools/text/diff.js +1 -1
- package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
- package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
- package/dist/apps/runtime/src/tools/types.js +1 -1
- package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
- package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
- package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
- package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
- package/dist/apps/runtime/src/update/auto-update.js +1 -1
- package/dist/packages/acp/src/index.js +1 -1
- package/dist/packages/approval/src/index.js +1 -1
- package/dist/packages/checkpoints/src/index.js +1 -1
- package/dist/packages/cli/src/commands/registry.js +1 -1
- package/dist/packages/client/src/index.js +1 -1
- package/dist/packages/coding-agent/src/index.js +1 -1
- package/dist/packages/core/src/agent_communication.js +1 -1
- package/dist/packages/core/src/agent_registry.js +1 -1
- package/dist/packages/core/src/agents_md.js +1 -1
- package/dist/packages/core/src/analytics.js +1 -1
- package/dist/packages/core/src/approval.js +1 -1
- package/dist/packages/core/src/auth.js +1 -1
- package/dist/packages/core/src/context/compactor.js +1 -1
- package/dist/packages/core/src/cron/scheduler.js +1 -1
- package/dist/packages/core/src/curator/librarian.js +1 -1
- package/dist/packages/core/src/env_filter.js +1 -1
- package/dist/packages/core/src/extension_api.js +1 -1
- package/dist/packages/core/src/feature_flags.js +1 -1
- package/dist/packages/core/src/hook_runtime.js +1 -1
- package/dist/packages/core/src/i18n.js +1 -1
- package/dist/packages/core/src/memory/manager.js +1 -1
- package/dist/packages/core/src/memory/provider.js +1 -1
- package/dist/packages/core/src/plan_mode.js +1 -1
- package/dist/packages/core/src/process.js +1 -1
- package/dist/packages/core/src/providers/manager.js +1 -1
- package/dist/packages/core/src/providers/registry.js +1 -1
- package/dist/packages/core/src/rollout_budget.js +1 -1
- package/dist/packages/core/src/secrets.js +1 -1
- package/dist/packages/core/src/session_store.js +1 -1
- package/dist/packages/core/src/state_db.js +1 -1
- package/dist/packages/core/src/subagents.js +1 -1
- package/dist/packages/core/src/token_budget.js +1 -1
- package/dist/packages/core/src/toolsets/arsenal.js +1 -1
- package/dist/packages/core/src/validate.js +1 -1
- package/dist/packages/execpolicy/src/policy.js +1 -1
- package/dist/packages/function/src/index.js +1 -1
- package/dist/packages/harness/src/index.js +1 -1
- package/dist/packages/mcp/src/index.js +1 -1
- package/dist/packages/mcp/src/oauth-callback.js +1 -1
- package/dist/packages/mcp/src/oauth.js +1 -1
- package/dist/packages/mcp/src/spawn-resolve.js +1 -1
- package/dist/packages/mcp-server/src/index.js +1 -1
- package/dist/packages/modes/src/index.js +1 -1
- package/dist/packages/protocol/src/events.js +1 -1
- package/dist/packages/protocol/src/messages.js +1 -1
- package/dist/packages/protocol/src/permission-rules.js +1 -1
- package/dist/packages/protocol/src/permissions.js +1 -1
- package/dist/packages/protocol/src/tools.js +1 -1
- package/dist/packages/protocol/src/util/url.js +1 -1
- package/dist/packages/provider/src/anthropic.js +1 -1
- package/dist/packages/provider/src/catalog.js +1 -1
- package/dist/packages/provider/src/custom.js +1 -1
- package/dist/packages/provider/src/faux-stream.js +1 -1
- package/dist/packages/provider/src/google.js +1 -1
- package/dist/packages/provider/src/huggingface.js +1 -1
- package/dist/packages/provider/src/index.js +1 -1
- package/dist/packages/provider/src/llama-cpp.js +1 -1
- package/dist/packages/provider/src/nvidia.js +1 -1
- package/dist/packages/provider/src/ollama.js +1 -1
- package/dist/packages/provider/src/openai.js +1 -1
- package/dist/packages/provider/src/types.js +1 -1
- package/dist/packages/provider/src/xai.js +1 -1
- package/dist/packages/sandbox/src/gate.js +1 -1
- package/dist/packages/sandbox/src/index.js +1 -1
- package/dist/packages/sandbox/src/spawn.js +1 -1
- package/dist/packages/sandbox/src/types.js +1 -1
- package/dist/packages/sandbox/src/violation.js +1 -1
- package/dist/packages/schema/src/index.js +1 -1
- package/dist/packages/sdk/src/index.js +1 -1
- package/dist/packages/server/src/cors.js +1 -1
- package/dist/packages/server/src/daemon.js +1 -1
- package/dist/packages/server/src/github-app.js +1 -1
- package/dist/packages/server/src/github-autofix.js +1 -1
- package/dist/packages/server/src/github-jobs.js +1 -1
- package/dist/packages/server/src/github-oauth.js +1 -1
- package/dist/packages/server/src/index.js +1 -1
- package/dist/packages/server/src/install-ps1.js +1 -1
- package/dist/packages/server/src/license-store.js +1 -1
- package/dist/packages/session-backends/src/index.js +1 -1
- package/dist/packages/session-backends/src/transcript.js +1 -1
- package/dist/packages/telemetry/src/index.js +1 -1
- package/dist/packages/tui/src/app/app-state.js +1 -1
- package/dist/packages/tui/src/app/events.js +1 -1
- package/dist/packages/tui/src/approval-notification.js +1 -1
- package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
- package/dist/packages/tui/src/bottom_pane/index.js +1 -1
- package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
- package/dist/packages/tui/src/dialogs.js +1 -1
- package/dist/packages/tui/src/index.js +1 -1
- package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
- package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
- package/dist/packages/tui/src/keybindings.js +1 -1
- package/dist/packages/tui/src/keys.js +1 -1
- package/dist/packages/tui/src/notifications.js +1 -1
- package/dist/packages/tui/src/premium-ui.js +1 -1
- package/dist/packages/tui/src/stdin-buffer.js +1 -1
- package/dist/packages/tui/src/terminal-ui.js +1 -1
- package/dist/packages/tui/src/tui/terminal.js +1 -1
- package/dist/packages/tui/src/ui/box.js +1 -1
- package/dist/packages/tui/src/ui/dialog.js +1 -1
- package/dist/packages/tui/src/ui/footer-mode.js +1 -1
- package/dist/packages/tui/src/ui/footer.js +1 -1
- package/dist/packages/tui/src/ui/key-hint.js +1 -1
- package/dist/packages/tui/src/ui/skt-themes.js +1 -1
- package/dist/packages/tui/src/ui/spinner.js +1 -1
- package/dist/packages/tui/src/ui/theme.js +1 -1
- package/dist/packages/tui/src/ui/toast.js +1 -1
- package/dist/packages/tui/src/ui/tool-display.js +1 -1
- package/dist/packages/tui/src/ui/tool-palette.js +1 -1
- package/dist/skt/0-points/points.js +1 -1
- package/dist/skt/1-errors/mistake.js +1 -1
- package/dist/skt/1-errors/penalty.js +1 -1
- package/dist/skt/10-upload/upload.js +1 -1
- package/dist/skt/11-ui/components.js +1 -1
- package/dist/skt/12-control/content-control.js +1 -1
- package/dist/skt/12-control/hallucination.js +1 -1
- package/dist/skt/12-control/points.js +1 -1
- package/dist/skt/12-control/repetition.js +1 -1
- package/dist/skt/12-control/verification.js +1 -1
- package/dist/skt/13-healing/ast-validator.js +1 -1
- package/dist/skt/13-healing/healing-controller.js +1 -1
- package/dist/skt/13-healing/journal.js +1 -1
- package/dist/skt/13-healing/rollback.js +1 -1
- package/dist/skt/13-healing/scratchpad.js +1 -1
- package/dist/skt/13-healing/subprocess.js +1 -1
- package/dist/skt/13-healing/verify.js +1 -1
- package/dist/skt/14-hooks/codec.js +1 -1
- package/dist/skt/14-hooks/events.js +1 -1
- package/dist/skt/14-hooks/matcher.js +1 -1
- package/dist/skt/14-hooks/merge.js +1 -1
- package/dist/skt/14-hooks/runner.js +1 -1
- package/dist/skt/14-hooks/types.js +1 -1
- package/dist/skt/3-user/instructions.js +1 -1
- package/dist/skt/4-mem/memory.js +1 -1
- package/dist/skt/5-eval/cot-chain.js +1 -1
- package/dist/skt/5-eval/cot.js +1 -1
- package/dist/skt/5-eval/eval.js +1 -1
- package/dist/skt/6-u/improvements.js +1 -1
- package/dist/skt/6-u/reward.js +1 -1
- package/dist/skt/7-cli/autorepair.js +1 -1
- package/dist/skt/7-cli/clibugs.js +1 -1
- package/dist/skt/7-cli/reinstall.js +1 -1
- package/dist/skt/7-cli/reset.js +1 -1
- package/dist/skt/9-session/session.js +1 -1
- package/dist/skt/context.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x4531d5,_0x4fbdf0,_0x4d2b57,_0x1e5547){if(_0x1e5547===undefined)_0x1e5547=_0x4d2b57;var _0x389998=Object['getOwnPropertyDescriptor'](_0x4fbdf0,_0x4d2b57);(!_0x389998||('get'in _0x389998?!_0x4fbdf0['__esModule']:_0x389998['writable']||_0x389998['configurable']))&&(_0x389998={'enumerable':!![],'get':function(){return _0x4fbdf0[_0x4d2b57];}}),Object['defineProperty'](_0x4531d5,_0x1e5547,_0x389998);}:function(_0x447445,_0x4d95f3,_0xcc179f,_0x5b3b7a){if(_0x5b3b7a===undefined)_0x5b3b7a=_0xcc179f;_0x447445[_0x5b3b7a]=_0x4d95f3[_0xcc179f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x50e297,_0x51abf1){Object['defineProperty'](_0x50e297,'default',{'enumerable':!![],'value':_0x51abf1});}:function(_0x3d7a1b,_0x1b1da0){_0x3d7a1b['default']=_0x1b1da0;}),__importStar=this&&this['__importStar']||(function(){var _0x4130a6=function(_0xb0b7d1){return _0x4130a6=Object['getOwnPropertyNames']||function(_0x243a31){var _0x1486e7=[];for(var _0x466e1b in _0x243a31)if(Object['prototype']['hasOwnProperty']['call'](_0x243a31,_0x466e1b))_0x1486e7[_0x1486e7['length']]=_0x466e1b;return _0x1486e7;},_0x4130a6(_0xb0b7d1);};return function(_0x55131f){if(_0x55131f&&_0x55131f['__esModule'])return _0x55131f;var _0x55eb45={};if(_0x55131f!=null){for(var _0xedc298=_0x4130a6(_0x55131f),_0x15888=0x0;_0x15888<_0xedc298['length'];_0x15888++)if(_0xedc298[_0x15888]!=='default')__createBinding(_0x55eb45,_0x55131f,_0xedc298[_0x15888]);}return __setModuleDefault(_0x55eb45,_0x55131f),_0x55eb45;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpxCliJs']=exports['resolveNpmCliJs']=exports['resolveMcpCommand']=exports['resolveExecutable']=exports['clearOAuthCaches']=exports['authFilePath']=exports['removeMcpAuth']=exports['getMcpAuthStatus']=exports['getValidAccessToken']=exports['authorizeMcpServer']=exports['McpAuthError']=exports['McpConnection']=exports['McpError']=void 0x0,exports['createMcpConnection']=createMcpConnection;const child_process_1=require('child_process'),http=__importStar(require('http')),https=__importStar(require('https')),readline=__importStar(require('readline')),url=__importStar(require('url')),oauth_js_1=require('./oauth.js'),spawn_resolve_js_1=require('./spawn-resolve.js');class McpError extends Error{['code'];['data'];constructor(_0x2a0c40,_0x494970,_0x20d5e7){super(_0x494970),this['code']=_0x2a0c40,this['data']=_0x20d5e7;}}exports['McpError']=McpError;class McpConnection{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['lastRequestAt']=0x0;['lastError']='';['cachedTools']=null;['cachedToolsAt']=0x0;['cacheTtlMs']=0x493e0;['reconnecting']=![];['authAttempted']=![];constructor(_0x25eca6,_0x3d25ce){this['name']=_0x25eca6,this['spec']=_0x3d25ce;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}get['oauthEnabled'](){return Boolean(this['spec']['url'])&&this['spec']['oauth']!==![];}get['oauthConfig'](){return typeof this['spec']['oauth']==='object'&&this['spec']['oauth']!==null?this['spec']['oauth']:{};}async['connect'](){if(this['initialized'])return;if(this['reconnecting']){const _0x527626=Date['now']();await new Promise((_0x3b58a4,_0x5a561b)=>{const _0x380f5b=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0x527626>0x7530){clearInterval(_0x380f5b);if(this['reconnecting'])_0x5a561b(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x3b58a4();}},0x32);});return;}const _0x549f45={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0x549f45):(this['spawnStdio'](),await this['request']('initialize',_0x549f45)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x5bb451,_0x5506bd){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x5bb451,_0x5506bd);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x5bb451,'params':_0x5506bd})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x3963fc={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x244f71=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x244f71)_0x3963fc['Authorization']='Bearer\x20'+_0x244f71;}catch(_0x505b7d){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x505b7d instanceof Error?_0x505b7d['message']:String(_0x505b7d));}return _0x3963fc;}async['postNotificationHttp'](_0x31f987,_0x11226b){const _0x10f435=new url['URL'](this['spec']['url']),_0x517579=_0x10f435['protocol']==='https:'?https:http,_0x18bbd8=JSON['stringify']({'jsonrpc':'2.0','method':_0x31f987,'params':_0x11226b}),_0x509fff=await this['httpHeaders']();return new Promise(_0x2d3563=>{const _0x304ecd=_0x517579['request']({'hostname':_0x10f435['hostname'],'port':_0x10f435['port']||(_0x10f435['protocol']==='https:'?0x1bb:0x50),'path':_0x10f435['pathname']+_0x10f435['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x18bbd8)),..._0x509fff},'timeout':this['timeoutMs']},_0x2655a4=>{_0x2655a4['resume'](),_0x2655a4['on']('end',()=>_0x2d3563());});_0x304ecd['on']('error',()=>_0x2d3563()),_0x304ecd['on']('timeout',()=>{_0x304ecd['destroy'](),_0x2d3563();}),_0x304ecd['end'](_0x18bbd8);});}async['status'](){const _0x2958a7=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x5d8d0e=_0x2958a7||this['spec']['url']!==undefined;let _0x4016c1='disconnected';_0x5d8d0e&&(_0x4016c1=this['spec']['url']?'http':'stdio');const _0x91b4c8={'name':this['name'],'connected':_0x5d8d0e,'transport':_0x4016c1,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x5d8d0e&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x91b4c8['connected']=!![];}catch(_0x271960){_0x91b4c8['connected']=![],_0x91b4c8['lastError']=_0x271960 instanceof Error?_0x271960['message']:String(_0x271960);}return _0x91b4c8;}async['reconnect'](){this['reconnecting']=!![],this['close'](),this['initialized']=![],this['cachedTools']=null,this['cachedToolsAt']=0x0,this['lastError']='';try{await this['connect']();}finally{this['reconnecting']=![];}}async['listTools'](_0x486f23){await this['connect']();const _0x236a99=_0x486f23??this['cacheTtlMs'],_0x16ea6e=Date['now']();if(this['cachedTools']!==null&&_0x16ea6e-this['cachedToolsAt']<_0x236a99)return this['cachedTools'];const _0x57b48a=[];let _0x49be53;for(let _0x2d2201=0x0;_0x2d2201<0x32;_0x2d2201++){const _0x26a01e=await this['request']('tools/list',_0x49be53?{'cursor':_0x49be53}:{});_0x57b48a['push'](..._0x26a01e?.['tools']??[]),_0x49be53=_0x26a01e?.['nextCursor'];if(!_0x49be53)break;}return this['cachedTools']=_0x57b48a,this['cachedToolsAt']=_0x16ea6e,_0x57b48a;}async['listResources'](){await this['connect']();try{const _0x5d4ff3=[];let _0xdede16;for(let _0x24529c=0x0;_0x24529c<0x32;_0x24529c++){const _0x3cf1b4=await this['request']('resources/list',_0xdede16?{'cursor':_0xdede16}:{});_0x5d4ff3['push'](..._0x3cf1b4?.['resources']??[]),_0xdede16=_0x3cf1b4?.['nextCursor'];if(!_0xdede16)break;}return _0x5d4ff3;}catch(_0x2946dd){if(_0x2946dd instanceof McpError&&_0x2946dd['code']===-0x7f59)return[];throw _0x2946dd;}}async['readResource'](_0x10aa51){await this['connect']();try{const _0x51a1e5=await this['request']('resources/read',{'uri':_0x10aa51});if(_0x51a1e5?.['contents'])return _0x51a1e5['contents']['map'](_0x17033a=>typeof _0x17033a['text']==='string'?_0x17033a['text']:typeof _0x17033a['blob']==='string'?'[binary\x20'+(_0x17033a['mimeType']??'blob')+'\x20'+(_0x17033a['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0x17033a))['join']('\x0a');return'';}catch(_0x33ece7){if(_0x33ece7 instanceof McpError&&_0x33ece7['code']===-0x7f59)return'';throw _0x33ece7;}}async['listPrompts'](){await this['connect']();try{const _0x24e016=[];let _0x93f443;for(let _0x3df732=0x0;_0x3df732<0x32;_0x3df732++){const _0x3ff4c9=await this['request']('prompts/list',_0x93f443?{'cursor':_0x93f443}:{});_0x24e016['push'](..._0x3ff4c9?.['prompts']??[]),_0x93f443=_0x3ff4c9?.['nextCursor'];if(!_0x93f443)break;}return _0x24e016;}catch(_0x541168){if(_0x541168 instanceof McpError&&_0x541168['code']===-0x7f59)return[];throw _0x541168;}}async['getPrompt'](_0x2614bf,_0x570f5c){await this['connect']();try{const _0x401736=await this['request']('prompts/get',{'name':_0x2614bf,'arguments':_0x570f5c??{}}),_0x11e3a0=_0x401736?.['messages']??_0x401736?.['prompt']?.['messages'];if(!_0x11e3a0)return null;return{'name':_0x2614bf,'messages':_0x11e3a0};}catch(_0x1616c7){if(_0x1616c7 instanceof McpError&&_0x1616c7['code']===-0x7f59)return null;throw _0x1616c7;}}async['callTool'](_0x1e0310,_0x5cfc30){return await this['connect'](),await this['request']('tools/call',{'name':_0x1e0310,'arguments':_0x5cfc30});}['close'](){const _0x118fc0=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['cachedTools']=null,this['authAttempted']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x118fc0&&_0x118fc0['exitCode']===null&&!_0x118fc0['killed']){_0x118fc0['kill']('SIGTERM');const _0x1fe035=setTimeout(()=>{try{if(_0x118fc0['exitCode']===null)_0x118fc0['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x1fe035['unref']==='function')_0x1fe035['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x22928b=this['spec'],_0x19f9e5=_0x22928b['command']??[];if(_0x19f9e5['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x33248b,args:_0x5c3355}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x19f9e5);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x33248b,_0x5c3355,{'cwd':_0x22928b['cwd'],'env':{...process.env,..._0x22928b['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0x56d4c6=>{for(const _0x3ce9dc of String(_0x56d4c6)['split']('\x0a')){const _0x419b89=_0x3ce9dc['trimEnd']();if(!_0x419b89)continue;this['stderrTail']['push'](_0x419b89['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x5e00c2=>{try{const _0x4517df=JSON['parse'](_0x5e00c2);if(_0x4517df['id']===undefined)return;const _0x34f015=this['pending']['get'](_0x4517df['id']);if(!_0x34f015)return;this['pending']['delete'](_0x4517df['id']);const _0x13562d=_0x4517df;if(_0x13562d['error']){const _0x41cf54=new McpError(_0x13562d['error']['code'],_0x13562d['error']['message'],_0x13562d['error']['data']);_0x34f015['reject'](_0x41cf54);}else _0x34f015['resolve'](_0x13562d['result']);}catch{}}),this['child']['on']('error',_0x3a222e=>{this['lastError']=_0x3a222e['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x3a222e['message']));}),this['child']['on']('exit',_0x49a745=>{const _0x18e08e=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x49a745??'signal')+'.'+_0x18e08e,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x49a745??'signal')+'.'+_0x18e08e));});}async['request'](_0x540430,_0x5c0215){this['lastRequestAt']=Date['now'](),this['lastError']='';if(!this['spec']['url']){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');return this['requestStdio'](_0x540430,_0x5c0215);}try{return await this['requestHttp'](_0x540430,_0x5c0215);}catch(_0x17edac){if(!(_0x17edac instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x17edac;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x17edac['message']+'\x20Run\x20`trayambak\x20mcp\x20auth\x20'+this['name']+'`\x20to\x20authorize\x20interactively.','auth-required');return await(0x0,oauth_js_1['authorizeMcpServer'])(this['name'],this['spec']['url'],this['oauthConfig']),await this['requestHttp'](_0x540430,_0x5c0215);}}['requestStdio'](_0x5d245b,_0x5a6f63){const _0x5cdf27=this['nextId']++;return new Promise((_0x5d95dc,_0x5c9805)=>{const _0x21b6e8=setTimeout(()=>{this['pending']['delete'](_0x5cdf27);const _0x36b815=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x5d245b+'\x27.'+_0x36b815,_0x5c9805(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x5d245b+'\x27.'+_0x36b815));},this['timeoutMs']);this['pending']['set'](_0x5cdf27,{'resolve':_0x3ca377=>{clearTimeout(_0x21b6e8),this['lastError']='',_0x5d95dc(_0x3ca377);},'reject':_0x52128f=>{clearTimeout(_0x21b6e8),this['lastError']=_0x52128f['message'],_0x5c9805(_0x52128f);}});const _0x4115b9={'jsonrpc':'2.0','id':_0x5cdf27,'method':_0x5d245b,'params':_0x5a6f63};this['child']['stdin']['write'](JSON['stringify'](_0x4115b9)+'\x0a');});}async['requestHttp'](_0x57fce7,_0x3b2298){const _0x1be70d=new url['URL'](this['spec']['url']),_0x48b2df=_0x1be70d['protocol']==='https:'?https:http,_0x2f8a82=this['nextId']++,_0x655298={'jsonrpc':'2.0','id':_0x2f8a82,'method':_0x57fce7,'params':_0x3b2298},_0x3907ae=JSON['stringify'](_0x655298),_0x22be42={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x3907ae)),...await this['httpHeaders']()};return new Promise((_0xb56587,_0x450e2f)=>{const _0x1e545b=_0x48b2df['request']({'hostname':_0x1be70d['hostname'],'port':_0x1be70d['port']||(_0x1be70d['protocol']==='https:'?0x1bb:0x50),'path':_0x1be70d['pathname']+_0x1be70d['search'],'method':'POST','headers':_0x22be42,'timeout':this['timeoutMs']},_0x183dbe=>{const _0x5f103d=_0x183dbe['statusCode']??0x0;let _0x5c2297='';_0x183dbe['setEncoding']('utf8'),_0x183dbe['on']('data',_0x4d924e=>_0x5c2297+=_0x4d924e),_0x183dbe['on']('end',()=>{if(_0x5f103d===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x450e2f(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x5f103d>=0x190){this['lastError']='HTTP\x20'+_0x5f103d,_0x450e2f(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x5f103d+'\x20from\x20'+this['spec']['url']+(_0x5c2297?':\x20'+_0x5c2297['slice'](0x0,0x12c):'')));return;}try{const _0x3c647f=_0x5c2297['split']('\x0a')['filter'](_0x35c0d9=>_0x35c0d9['startsWith']('data:'))['map'](_0x1d7e57=>_0x1d7e57['slice'](0x5)['trim']())['filter'](_0x283c35=>_0x283c35['length']>0x0&&_0x283c35!=='[DONE]');let _0x1324f7=null,_0x334724=![];for(const _0x2e81aa of _0x3c647f){try{const _0x319379=JSON['parse'](_0x2e81aa);_0x334724=!![];if(_0x319379['id']!==undefined&&_0x319379['id']!==_0x2f8a82)continue;_0x1324f7=_0x319379;break;}catch{}}const _0x1ab05c=_0x1324f7??(_0x334724?null:JSON['parse'](_0x5c2297));if(!_0x1ab05c)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0x1ab05c['id']!==undefined&&_0x1ab05c['id']!==_0x2f8a82)return;_0x1ab05c['error']?_0x450e2f(new McpError(_0x1ab05c['error']['code'],_0x1ab05c['error']['message'],_0x1ab05c['error']['data'])):(this['lastError']='',_0xb56587(_0x1ab05c['result']));}catch(_0x1b2aea){this['lastError']=_0x1b2aea instanceof Error?_0x1b2aea['message']:String(_0x1b2aea),_0x450e2f(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x1b2aea instanceof Error?_0x1b2aea['message']:String(_0x1b2aea))));}});});_0x1e545b['on']('error',_0x564649=>{this['lastError']=_0x564649['message'],_0x450e2f(new Error('MCP\x20'+this['name']+':\x20'+_0x564649['message']));}),_0x1e545b['on']('timeout',()=>{_0x1e545b['destroy'](),this['lastError']='timeout',_0x450e2f(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x1e545b['end'](_0x3907ae);});}['rejectAll'](_0x1a8e4f){for(const [,_0x725b4f]of this['pending'])_0x725b4f['reject'](_0x1a8e4f);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x2078b3,_0x39eca6){return new McpConnection(_0x2078b3,_0x39eca6);}var oauth_js_2=require('./oauth.js');Object['defineProperty'](exports,'McpAuthError',{'enumerable':!![],'get':function(){return oauth_js_2['McpAuthError'];}});var oauth_js_3=require('./oauth.js');Object['defineProperty'](exports,'authorizeMcpServer',{'enumerable':!![],'get':function(){return oauth_js_3['authorizeMcpServer'];}}),Object['defineProperty'](exports,'getValidAccessToken',{'enumerable':!![],'get':function(){return oauth_js_3['getValidAccessToken'];}}),Object['defineProperty'](exports,'getMcpAuthStatus',{'enumerable':!![],'get':function(){return oauth_js_3['getMcpAuthStatus'];}}),Object['defineProperty'](exports,'removeMcpAuth',{'enumerable':!![],'get':function(){return oauth_js_3['removeMcpAuth'];}}),Object['defineProperty'](exports,'authFilePath',{'enumerable':!![],'get':function(){return oauth_js_3['authFilePath'];}}),Object['defineProperty'](exports,'clearOAuthCaches',{'enumerable':!![],'get':function(){return oauth_js_3['clearOAuthCaches'];}});var spawn_resolve_js_2=require('./spawn-resolve.js');Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveMcpCommand',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveMcpCommand'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}}),Object['defineProperty'](exports,'resolveNpxCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpxCliJs'];}});
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3833d4,_0x547cd5,_0x4d7235,_0xbc199a){if(_0xbc199a===undefined)_0xbc199a=_0x4d7235;var _0xf0e478=Object['getOwnPropertyDescriptor'](_0x547cd5,_0x4d7235);(!_0xf0e478||('get'in _0xf0e478?!_0x547cd5['__esModule']:_0xf0e478['writable']||_0xf0e478['configurable']))&&(_0xf0e478={'enumerable':!![],'get':function(){return _0x547cd5[_0x4d7235];}}),Object['defineProperty'](_0x3833d4,_0xbc199a,_0xf0e478);}:function(_0xd30b76,_0x54fc27,_0x70ed54,_0x2e653f){if(_0x2e653f===undefined)_0x2e653f=_0x70ed54;_0xd30b76[_0x2e653f]=_0x54fc27[_0x70ed54];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x4e835c,_0x31a7db){Object['defineProperty'](_0x4e835c,'default',{'enumerable':!![],'value':_0x31a7db});}:function(_0x1dff57,_0x37efc6){_0x1dff57['default']=_0x37efc6;}),__importStar=this&&this['__importStar']||(function(){var _0x28f129=function(_0x529762){return _0x28f129=Object['getOwnPropertyNames']||function(_0x699d68){var _0x2034d3=[];for(var _0x2e4f11 in _0x699d68)if(Object['prototype']['hasOwnProperty']['call'](_0x699d68,_0x2e4f11))_0x2034d3[_0x2034d3['length']]=_0x2e4f11;return _0x2034d3;},_0x28f129(_0x529762);};return function(_0x4e856a){if(_0x4e856a&&_0x4e856a['__esModule'])return _0x4e856a;var _0x23cc82={};if(_0x4e856a!=null){for(var _0x3788ac=_0x28f129(_0x4e856a),_0x4817cd=0x0;_0x4817cd<_0x3788ac['length'];_0x4817cd++)if(_0x3788ac[_0x4817cd]!=='default')__createBinding(_0x23cc82,_0x4e856a,_0x3788ac[_0x4817cd]);}return __setModuleDefault(_0x23cc82,_0x4e856a),_0x23cc82;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpxCliJs']=exports['resolveNpmCliJs']=exports['resolveMcpCommand']=exports['resolveExecutable']=exports['clearOAuthCaches']=exports['authFilePath']=exports['removeMcpAuth']=exports['getMcpAuthStatus']=exports['getValidAccessToken']=exports['authorizeMcpServer']=exports['McpAuthError']=exports['McpConnection']=exports['McpError']=void 0x0,exports['createMcpConnection']=createMcpConnection;const child_process_1=require('child_process'),http=__importStar(require('http')),https=__importStar(require('https')),readline=__importStar(require('readline')),url=__importStar(require('url')),oauth_js_1=require('./oauth.js'),spawn_resolve_js_1=require('./spawn-resolve.js');class McpError extends Error{['code'];['data'];constructor(_0x13bb8d,_0x4df1bc,_0x449e42){super(_0x4df1bc),this['code']=_0x13bb8d,this['data']=_0x449e42;}}exports['McpError']=McpError;class McpConnection{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['lastRequestAt']=0x0;['lastError']='';['cachedTools']=null;['cachedToolsAt']=0x0;['cacheTtlMs']=0x493e0;['reconnecting']=![];['authAttempted']=![];constructor(_0x10ed62,_0x466b8f){this['name']=_0x10ed62,this['spec']=_0x466b8f;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}get['oauthEnabled'](){return Boolean(this['spec']['url'])&&this['spec']['oauth']!==![];}get['oauthConfig'](){return typeof this['spec']['oauth']==='object'&&this['spec']['oauth']!==null?this['spec']['oauth']:{};}async['connect'](){if(this['initialized'])return;if(this['reconnecting']){const _0x51b595=Date['now']();await new Promise((_0x2ad4cd,_0x542775)=>{const _0x297df4=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0x51b595>0x7530){clearInterval(_0x297df4);if(this['reconnecting'])_0x542775(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x2ad4cd();}},0x32);});return;}const _0xe3d06={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0xe3d06):(this['spawnStdio'](),await this['request']('initialize',_0xe3d06)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x23cfa3,_0x41af48){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x23cfa3,_0x41af48);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x23cfa3,'params':_0x41af48})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x1c6bc6={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x162100=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x162100)_0x1c6bc6['Authorization']='Bearer\x20'+_0x162100;}catch(_0x1bd899){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x1bd899 instanceof Error?_0x1bd899['message']:String(_0x1bd899));}return _0x1c6bc6;}async['postNotificationHttp'](_0x63dd97,_0x35d29c){const _0x55dfb4=new url['URL'](this['spec']['url']),_0x104cbe=_0x55dfb4['protocol']==='https:'?https:http,_0x5be8e0=JSON['stringify']({'jsonrpc':'2.0','method':_0x63dd97,'params':_0x35d29c}),_0x378167=await this['httpHeaders']();return new Promise(_0x4d6d63=>{const _0x3394f4=_0x104cbe['request']({'hostname':_0x55dfb4['hostname'],'port':_0x55dfb4['port']||(_0x55dfb4['protocol']==='https:'?0x1bb:0x50),'path':_0x55dfb4['pathname']+_0x55dfb4['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x5be8e0)),..._0x378167},'timeout':this['timeoutMs']},_0x488bfe=>{_0x488bfe['resume'](),_0x488bfe['on']('end',()=>_0x4d6d63());});_0x3394f4['on']('error',()=>_0x4d6d63()),_0x3394f4['on']('timeout',()=>{_0x3394f4['destroy'](),_0x4d6d63();}),_0x3394f4['end'](_0x5be8e0);});}async['status'](){const _0x2b4585=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x69e37=_0x2b4585||this['spec']['url']!==undefined;let _0x4a07c3='disconnected';_0x69e37&&(_0x4a07c3=this['spec']['url']?'http':'stdio');const _0x39bbd0={'name':this['name'],'connected':_0x69e37,'transport':_0x4a07c3,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x69e37&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x39bbd0['connected']=!![];}catch(_0x36074d){_0x39bbd0['connected']=![],_0x39bbd0['lastError']=_0x36074d instanceof Error?_0x36074d['message']:String(_0x36074d);}return _0x39bbd0;}async['reconnect'](){this['reconnecting']=!![],this['close'](),this['initialized']=![],this['cachedTools']=null,this['cachedToolsAt']=0x0,this['lastError']='';try{await this['connect']();}finally{this['reconnecting']=![];}}async['listTools'](_0x2c5741){await this['connect']();const _0x2109b5=_0x2c5741??this['cacheTtlMs'],_0x3a2031=Date['now']();if(this['cachedTools']!==null&&_0x3a2031-this['cachedToolsAt']<_0x2109b5)return this['cachedTools'];const _0x329fca=[];let _0x4dd3f6;for(let _0x4a34f5=0x0;_0x4a34f5<0x32;_0x4a34f5++){const _0x5c2d4f=await this['request']('tools/list',_0x4dd3f6?{'cursor':_0x4dd3f6}:{});_0x329fca['push'](..._0x5c2d4f?.['tools']??[]),_0x4dd3f6=_0x5c2d4f?.['nextCursor'];if(!_0x4dd3f6)break;}return this['cachedTools']=_0x329fca,this['cachedToolsAt']=_0x3a2031,_0x329fca;}async['listResources'](){await this['connect']();try{const _0x935126=[];let _0x27ff3c;for(let _0x47d988=0x0;_0x47d988<0x32;_0x47d988++){const _0x57a86e=await this['request']('resources/list',_0x27ff3c?{'cursor':_0x27ff3c}:{});_0x935126['push'](..._0x57a86e?.['resources']??[]),_0x27ff3c=_0x57a86e?.['nextCursor'];if(!_0x27ff3c)break;}return _0x935126;}catch(_0xc45197){if(_0xc45197 instanceof McpError&&_0xc45197['code']===-0x7f59)return[];throw _0xc45197;}}async['readResource'](_0x5a595e){await this['connect']();try{const _0x2855ad=await this['request']('resources/read',{'uri':_0x5a595e});if(_0x2855ad?.['contents'])return _0x2855ad['contents']['map'](_0xb7e66b=>typeof _0xb7e66b['text']==='string'?_0xb7e66b['text']:typeof _0xb7e66b['blob']==='string'?'[binary\x20'+(_0xb7e66b['mimeType']??'blob')+'\x20'+(_0xb7e66b['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0xb7e66b))['join']('\x0a');return'';}catch(_0x2c69db){if(_0x2c69db instanceof McpError&&_0x2c69db['code']===-0x7f59)return'';throw _0x2c69db;}}async['listPrompts'](){await this['connect']();try{const _0x2e5b80=[];let _0x51b007;for(let _0x172ae3=0x0;_0x172ae3<0x32;_0x172ae3++){const _0x71db2b=await this['request']('prompts/list',_0x51b007?{'cursor':_0x51b007}:{});_0x2e5b80['push'](..._0x71db2b?.['prompts']??[]),_0x51b007=_0x71db2b?.['nextCursor'];if(!_0x51b007)break;}return _0x2e5b80;}catch(_0x4e9c69){if(_0x4e9c69 instanceof McpError&&_0x4e9c69['code']===-0x7f59)return[];throw _0x4e9c69;}}async['getPrompt'](_0x2b4212,_0x22cfd3){await this['connect']();try{const _0x128e1a=await this['request']('prompts/get',{'name':_0x2b4212,'arguments':_0x22cfd3??{}}),_0x25d357=_0x128e1a?.['messages']??_0x128e1a?.['prompt']?.['messages'];if(!_0x25d357)return null;return{'name':_0x2b4212,'messages':_0x25d357};}catch(_0x5a83f1){if(_0x5a83f1 instanceof McpError&&_0x5a83f1['code']===-0x7f59)return null;throw _0x5a83f1;}}async['callTool'](_0x17b0ab,_0x49d6a5){return await this['connect'](),await this['request']('tools/call',{'name':_0x17b0ab,'arguments':_0x49d6a5});}['close'](){const _0x1c3db5=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['cachedTools']=null,this['authAttempted']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x1c3db5&&_0x1c3db5['exitCode']===null&&!_0x1c3db5['killed']){_0x1c3db5['kill']('SIGTERM');const _0x3ffa50=setTimeout(()=>{try{if(_0x1c3db5['exitCode']===null)_0x1c3db5['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x3ffa50['unref']==='function')_0x3ffa50['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x2e7270=this['spec'],_0x15ae5a=_0x2e7270['command']??[];if(_0x15ae5a['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x5a0b45,args:_0xb8ba67}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x15ae5a);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x5a0b45,_0xb8ba67,{'cwd':_0x2e7270['cwd'],'env':{...process.env,..._0x2e7270['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0x19b9c9=>{for(const _0x464eef of String(_0x19b9c9)['split']('\x0a')){const _0x782f1c=_0x464eef['trimEnd']();if(!_0x782f1c)continue;this['stderrTail']['push'](_0x782f1c['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x5c319c=>{try{const _0x2d6e47=JSON['parse'](_0x5c319c);if(_0x2d6e47['id']===undefined)return;const _0xeca195=this['pending']['get'](_0x2d6e47['id']);if(!_0xeca195)return;this['pending']['delete'](_0x2d6e47['id']);const _0x2ce894=_0x2d6e47;if(_0x2ce894['error']){const _0x179694=new McpError(_0x2ce894['error']['code'],_0x2ce894['error']['message'],_0x2ce894['error']['data']);_0xeca195['reject'](_0x179694);}else _0xeca195['resolve'](_0x2ce894['result']);}catch{}}),this['child']['on']('error',_0x254d28=>{this['lastError']=_0x254d28['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x254d28['message']));}),this['child']['on']('exit',_0x132120=>{const _0x205091=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x132120??'signal')+'.'+_0x205091,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x132120??'signal')+'.'+_0x205091));});}async['request'](_0x1c43ad,_0x44d420){this['lastRequestAt']=Date['now'](),this['lastError']='';if(!this['spec']['url']){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');return this['requestStdio'](_0x1c43ad,_0x44d420);}try{return await this['requestHttp'](_0x1c43ad,_0x44d420);}catch(_0x5af7da){if(!(_0x5af7da instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x5af7da;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x5af7da['message']+'\x20Run\x20`trayambak\x20mcp\x20auth\x20'+this['name']+'`\x20to\x20authorize\x20interactively.','auth-required');return await(0x0,oauth_js_1['authorizeMcpServer'])(this['name'],this['spec']['url'],this['oauthConfig']),await this['requestHttp'](_0x1c43ad,_0x44d420);}}['requestStdio'](_0x3c33c3,_0x2f7125){const _0x305352=this['nextId']++;return new Promise((_0x163da5,_0x14ea06)=>{const _0x55a23b=setTimeout(()=>{this['pending']['delete'](_0x305352);const _0x133dd9=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x3c33c3+'\x27.'+_0x133dd9,_0x14ea06(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x3c33c3+'\x27.'+_0x133dd9));},this['timeoutMs']);this['pending']['set'](_0x305352,{'resolve':_0xf2aa12=>{clearTimeout(_0x55a23b),this['lastError']='',_0x163da5(_0xf2aa12);},'reject':_0x1ce7f4=>{clearTimeout(_0x55a23b),this['lastError']=_0x1ce7f4['message'],_0x14ea06(_0x1ce7f4);}});const _0x1bc6b4={'jsonrpc':'2.0','id':_0x305352,'method':_0x3c33c3,'params':_0x2f7125};this['child']['stdin']['write'](JSON['stringify'](_0x1bc6b4)+'\x0a');});}async['requestHttp'](_0x52fd9e,_0x1684c6){const _0x4623d9=new url['URL'](this['spec']['url']),_0x54ee3a=_0x4623d9['protocol']==='https:'?https:http,_0x17873c=this['nextId']++,_0x24e85a={'jsonrpc':'2.0','id':_0x17873c,'method':_0x52fd9e,'params':_0x1684c6},_0x586ca3=JSON['stringify'](_0x24e85a),_0x12e366={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x586ca3)),...await this['httpHeaders']()};return new Promise((_0x43ee81,_0x459a76)=>{const _0x57aaa4=_0x54ee3a['request']({'hostname':_0x4623d9['hostname'],'port':_0x4623d9['port']||(_0x4623d9['protocol']==='https:'?0x1bb:0x50),'path':_0x4623d9['pathname']+_0x4623d9['search'],'method':'POST','headers':_0x12e366,'timeout':this['timeoutMs']},_0x11b153=>{const _0x3bf283=_0x11b153['statusCode']??0x0;let _0x2f0397='';_0x11b153['setEncoding']('utf8'),_0x11b153['on']('data',_0x50403a=>_0x2f0397+=_0x50403a),_0x11b153['on']('end',()=>{if(_0x3bf283===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x459a76(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x3bf283>=0x190){this['lastError']='HTTP\x20'+_0x3bf283,_0x459a76(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x3bf283+'\x20from\x20'+this['spec']['url']+(_0x2f0397?':\x20'+_0x2f0397['slice'](0x0,0x12c):'')));return;}try{const _0x53ccea=_0x2f0397['split']('\x0a')['filter'](_0x222e9b=>_0x222e9b['startsWith']('data:'))['map'](_0x40adec=>_0x40adec['slice'](0x5)['trim']())['filter'](_0x4fb205=>_0x4fb205['length']>0x0&&_0x4fb205!=='[DONE]');let _0x3460f8=null,_0x2a2c66=![];for(const _0x52b21a of _0x53ccea){try{const _0x1b9643=JSON['parse'](_0x52b21a);_0x2a2c66=!![];if(_0x1b9643['id']!==undefined&&_0x1b9643['id']!==_0x17873c)continue;_0x3460f8=_0x1b9643;break;}catch{}}const _0x1d9a00=_0x3460f8??(_0x2a2c66?null:JSON['parse'](_0x2f0397));if(!_0x1d9a00)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0x1d9a00['id']!==undefined&&_0x1d9a00['id']!==_0x17873c)return;_0x1d9a00['error']?_0x459a76(new McpError(_0x1d9a00['error']['code'],_0x1d9a00['error']['message'],_0x1d9a00['error']['data'])):(this['lastError']='',_0x43ee81(_0x1d9a00['result']));}catch(_0x144a6a){this['lastError']=_0x144a6a instanceof Error?_0x144a6a['message']:String(_0x144a6a),_0x459a76(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x144a6a instanceof Error?_0x144a6a['message']:String(_0x144a6a))));}});});_0x57aaa4['on']('error',_0x2bac4a=>{this['lastError']=_0x2bac4a['message'],_0x459a76(new Error('MCP\x20'+this['name']+':\x20'+_0x2bac4a['message']));}),_0x57aaa4['on']('timeout',()=>{_0x57aaa4['destroy'](),this['lastError']='timeout',_0x459a76(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x57aaa4['end'](_0x586ca3);});}['rejectAll'](_0x456a4c){for(const [,_0x2d91ae]of this['pending'])_0x2d91ae['reject'](_0x456a4c);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x47d66e,_0x3cb494){return new McpConnection(_0x47d66e,_0x3cb494);}var oauth_js_2=require('./oauth.js');Object['defineProperty'](exports,'McpAuthError',{'enumerable':!![],'get':function(){return oauth_js_2['McpAuthError'];}});var oauth_js_3=require('./oauth.js');Object['defineProperty'](exports,'authorizeMcpServer',{'enumerable':!![],'get':function(){return oauth_js_3['authorizeMcpServer'];}}),Object['defineProperty'](exports,'getValidAccessToken',{'enumerable':!![],'get':function(){return oauth_js_3['getValidAccessToken'];}}),Object['defineProperty'](exports,'getMcpAuthStatus',{'enumerable':!![],'get':function(){return oauth_js_3['getMcpAuthStatus'];}}),Object['defineProperty'](exports,'removeMcpAuth',{'enumerable':!![],'get':function(){return oauth_js_3['removeMcpAuth'];}}),Object['defineProperty'](exports,'authFilePath',{'enumerable':!![],'get':function(){return oauth_js_3['authFilePath'];}}),Object['defineProperty'](exports,'clearOAuthCaches',{'enumerable':!![],'get':function(){return oauth_js_3['clearOAuthCaches'];}});var spawn_resolve_js_2=require('./spawn-resolve.js');Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveMcpCommand',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveMcpCommand'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}}),Object['defineProperty'](exports,'resolveNpxCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpxCliJs'];}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x56ffa4,_0x3f30a8,_0x2649b2,_0x1f297b){if(_0x1f297b===undefined)_0x1f297b=_0x2649b2;var _0x107368=Object['getOwnPropertyDescriptor'](_0x3f30a8,_0x2649b2);(!_0x107368||('get'in _0x107368?!_0x3f30a8['__esModule']:_0x107368['writable']||_0x107368['configurable']))&&(_0x107368={'enumerable':!![],'get':function(){return _0x3f30a8[_0x2649b2];}}),Object['defineProperty'](_0x56ffa4,_0x1f297b,_0x107368);}:function(_0x3f824d,_0x44faab,_0x3ff538,_0x2c45c3){if(_0x2c45c3===undefined)_0x2c45c3=_0x3ff538;_0x3f824d[_0x2c45c3]=_0x44faab[_0x3ff538];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3f832d,_0x12111f){Object['defineProperty'](_0x3f832d,'default',{'enumerable':!![],'value':_0x12111f});}:function(_0x4ac5ae,_0x226cd3){_0x4ac5ae['default']=_0x226cd3;}),__importStar=this&&this['__importStar']||(function(){var _0x13f63c=function(_0x3ca283){return _0x13f63c=Object['getOwnPropertyNames']||function(_0x546529){var _0x4422bd=[];for(var _0x1ca362 in _0x546529)if(Object['prototype']['hasOwnProperty']['call'](_0x546529,_0x1ca362))_0x4422bd[_0x4422bd['length']]=_0x1ca362;return _0x4422bd;},_0x13f63c(_0x3ca283);};return function(_0x20dfcc){if(_0x20dfcc&&_0x20dfcc['__esModule'])return _0x20dfcc;var _0x2bdf49={};if(_0x20dfcc!=null){for(var _0x5786ce=_0x13f63c(_0x20dfcc),_0x108aff=0x0;_0x108aff<_0x5786ce['length'];_0x108aff++)if(_0x5786ce[_0x108aff]!=='default')__createBinding(_0x2bdf49,_0x20dfcc,_0x5786ce[_0x108aff]);}return __setModuleDefault(_0x2bdf49,_0x20dfcc),_0x2bdf49;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OAUTH_CALLBACK_TIMEOUT_MS']=exports['OAUTH_CALLBACK_PATH']=exports['OAUTH_CALLBACK_PORT']=void 0x0,exports['parseRedirectUri']=parseRedirectUri,exports['isPortInUse']=isPortInUse,exports['ensureRunning']=ensureRunning,exports['waitForCallback']=waitForCallback,exports['cancelPending']=cancelPending,exports['stop']=stop,exports['isRunning']=isRunning;const http=__importStar(require('http')),net=__importStar(require('net'));exports['OAUTH_CALLBACK_PORT']=0x4da4,exports['OAUTH_CALLBACK_PATH']='/mcp/oauth/callback',exports['OAUTH_CALLBACK_TIMEOUT_MS']=0x5*0x3c*0x3e8;const DEFAULT_PORT_FALLBACKS=0x5;function parseRedirectUri(_0x55e732){if(!_0x55e732)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x4decd5=new URL(_0x55e732),_0x2bb31a=_0x4decd5['port']?parseInt(_0x4decd5['port'],0xa):_0x4decd5['protocol']==='https:'?0x1bb:0x50,_0x553842=_0x4decd5['pathname']&&_0x4decd5['pathname']!=='/'?_0x4decd5['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x2bb31a,'path':_0x553842};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x1f6e03){return _0x1f6e03['replace'](/&/g,'&')['replace'](/</g,'<')['replace'](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');}const HTML_SUCCESS='<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Successful</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#4ade80;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Successful</h1>\x0a\x20\x20\x20\x20<p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20Trayambak.</p>\x0a\x20\x20</div>\x0a\x20\x20<script>setTimeout(()\x20=>\x20window.close(),\x202000);</script>\x0a</body>\x0a</html>',HTML_ERROR=_0x4580be=>'<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Failed</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#f87171;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20\x20\x20.detail\x20{\x20color:\x20#fca5a5;\x20font-family:\x20monospace;\x20margin-top:\x201rem;\x20padding:\x201rem;\x20background:\x20rgba(248,113,113,0.1);\x20border-radius:\x200.5rem;\x20white-space:\x20pre-wrap;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Failed</h1>\x0a\x20\x20\x20\x20<p>An\x20error\x20occurred\x20during\x20authorization.</p>\x0a\x20\x20\x20\x20<pre\x20class=\x22detail\x22>'+escapeHtml(_0x4580be)+'</pre>\x0a\x20\x20</div>\x0a</body>\x0a</html>';let server,currentPort=exports['OAUTH_CALLBACK_PORT'],currentPath=exports['OAUTH_CALLBACK_PATH'];const pendingAuths=new Map(),mcpNameToState=new Map();function cleanupStateIndex(_0x4fc173){for(const [_0x4c2318,_0x46d89c]of mcpNameToState){if(_0x46d89c===_0x4fc173){mcpNameToState['delete'](_0x4c2318);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x27dddf=server;server=undefined,_0x27dddf['close'](),setImmediate(()=>{;_0x27dddf['closeIdleConnections']?.();});}function handleRequest(_0x480134,_0x1ed29b){const _0x52a54f=new URL(_0x480134['url']||'/','http://127.0.0.1:'+currentPort);if(_0x52a54f['pathname']!==currentPath){_0x1ed29b['writeHead'](0x194),_0x1ed29b['end']('Not\x20found');return;}const _0x41ac9c=_0x52a54f['searchParams']['get']('code'),_0x4d7f04=_0x52a54f['searchParams']['get']('state'),_0x47f9e4=_0x52a54f['searchParams']['get']('error'),_0x5e88d5=_0x52a54f['searchParams']['get']('error_description');if(!_0x4d7f04){const _0x523ddf='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x1ed29b['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR(_0x523ddf));return;}if(_0x47f9e4){const _0x55adfe=_0x5e88d5||_0x47f9e4,_0x4a0670=pendingAuths['get'](_0x4d7f04);_0x4a0670&&(clearTimeout(_0x4a0670['timeout']),pendingAuths['delete'](_0x4d7f04),cleanupStateIndex(_0x4d7f04),_0x4a0670['reject'](new Error(_0x55adfe)));_0x1ed29b['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR(_0x55adfe)),stopIfIdle();return;}if(!_0x41ac9c){_0x1ed29b['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x4d7f04)){const _0x1e3f3f='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x1ed29b['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR(_0x1e3f3f));return;}const _0x55c28b=pendingAuths['get'](_0x4d7f04);clearTimeout(_0x55c28b['timeout']),pendingAuths['delete'](_0x4d7f04),cleanupStateIndex(_0x4d7f04),_0x55c28b['resolve'](_0x41ac9c),_0x1ed29b['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x33f66b=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x145940=>{const _0x594c2b=net['createConnection'](_0x33f66b,'127.0.0.1');_0x594c2b['on']('connect',()=>{_0x594c2b['destroy'](),_0x145940(!![]);}),_0x594c2b['on']('error',()=>{_0x145940(![]);});});}function listen(_0x774994,_0x3591eb){return new Promise(_0x1c41ac=>{const _0x599527=http['createServer'](handleRequest),_0x58b052=()=>{_0x599527['removeListener']('listening',_0x4c88e2),_0x1c41ac(![]);},_0x4c88e2=()=>{_0x599527['removeListener']('error',_0x58b052),_0x599527['on']('error',()=>{}),server=_0x599527,currentPort=_0x774994,currentPath=_0x3591eb,_0x1c41ac(!![]);};_0x599527['once']('error',_0x58b052),_0x599527['once']('listening',_0x4c88e2),_0x599527['listen'](_0x774994,'127.0.0.1');});}async function ensureRunning(_0x324886){const _0xd2dfb6=parseRedirectUri(_0x324886);if(server){const _0x489e8e=_0x324886?currentPort===_0xd2dfb6['port']&¤tPath===_0xd2dfb6['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x489e8e)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x324886){const _0x198ff1=await listen(_0xd2dfb6['port'],_0xd2dfb6['path']);if(!_0x198ff1)throw new Error('OAuth\x20callback\x20port\x20'+_0xd2dfb6['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x46a9b7=![];for(let _0x18a118=exports['OAUTH_CALLBACK_PORT'];_0x18a118<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x46a9b7;_0x18a118++){_0x46a9b7=await listen(_0x18a118,exports['OAUTH_CALLBACK_PATH']);}if(!_0x46a9b7)throw new Error('Could\x20not\x20bind\x20an\x20OAuth\x20callback\x20port\x20(tried\x20'+exports['OAUTH_CALLBACK_PORT']+'-'+(exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS-0x1)+'\x20on\x20127.0.0.1).');}return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};}function waitForCallback(_0x55286e,_0x2ae116,_0x59244a=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x2ae116)mcpNameToState['set'](_0x2ae116,_0x55286e);return new Promise((_0x33b69a,_0x16e3d4)=>{const _0x10c3db=setTimeout(()=>{if(pendingAuths['has'](_0x55286e)){pendingAuths['delete'](_0x55286e);if(_0x2ae116)mcpNameToState['delete'](_0x2ae116);_0x16e3d4(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x59244a);pendingAuths['set'](_0x55286e,{'resolve':_0x33b69a,'reject':_0x16e3d4,'timeout':_0x10c3db});});}function cancelPending(_0x112cc6){const _0x1b6ee=mcpNameToState['get'](_0x112cc6),_0x4704fc=_0x1b6ee??_0x112cc6,_0x8ba931=pendingAuths['get'](_0x4704fc);_0x8ba931&&(clearTimeout(_0x8ba931['timeout']),pendingAuths['delete'](_0x4704fc),mcpNameToState['delete'](_0x112cc6),_0x8ba931['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x1c289f=server;server=undefined,_0x1c289f['closeAllConnections']?.(),await new Promise(_0x5746c1=>_0x1c289f['close'](()=>_0x5746c1()));}for(const [,_0x379b03]of pendingAuths){clearTimeout(_0x379b03['timeout']),_0x379b03['reject'](new Error('OAuth\x20callback\x20server\x20stopped'));}pendingAuths['clear'](),mcpNameToState['clear']();}function isRunning(){return server!==undefined;}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0xcb98b9,_0x343298,_0x2fc628,_0x20146d){if(_0x20146d===undefined)_0x20146d=_0x2fc628;var _0x2d37c3=Object['getOwnPropertyDescriptor'](_0x343298,_0x2fc628);(!_0x2d37c3||('get'in _0x2d37c3?!_0x343298['__esModule']:_0x2d37c3['writable']||_0x2d37c3['configurable']))&&(_0x2d37c3={'enumerable':!![],'get':function(){return _0x343298[_0x2fc628];}}),Object['defineProperty'](_0xcb98b9,_0x20146d,_0x2d37c3);}:function(_0x2a5d9d,_0x2cd8f9,_0x35ce6c,_0x2d795d){if(_0x2d795d===undefined)_0x2d795d=_0x35ce6c;_0x2a5d9d[_0x2d795d]=_0x2cd8f9[_0x35ce6c];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x259c68,_0x4364ec){Object['defineProperty'](_0x259c68,'default',{'enumerable':!![],'value':_0x4364ec});}:function(_0x16034b,_0x413a28){_0x16034b['default']=_0x413a28;}),__importStar=this&&this['__importStar']||(function(){var _0x3aba0a=function(_0x30db32){return _0x3aba0a=Object['getOwnPropertyNames']||function(_0x2d0970){var _0x7fde8e=[];for(var _0x330024 in _0x2d0970)if(Object['prototype']['hasOwnProperty']['call'](_0x2d0970,_0x330024))_0x7fde8e[_0x7fde8e['length']]=_0x330024;return _0x7fde8e;},_0x3aba0a(_0x30db32);};return function(_0x18a3ec){if(_0x18a3ec&&_0x18a3ec['__esModule'])return _0x18a3ec;var _0x12e436={};if(_0x18a3ec!=null){for(var _0x3c423c=_0x3aba0a(_0x18a3ec),_0x1b92c1=0x0;_0x1b92c1<_0x3c423c['length'];_0x1b92c1++)if(_0x3c423c[_0x1b92c1]!=='default')__createBinding(_0x12e436,_0x18a3ec,_0x3c423c[_0x1b92c1]);}return __setModuleDefault(_0x12e436,_0x18a3ec),_0x12e436;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OAUTH_CALLBACK_TIMEOUT_MS']=exports['OAUTH_CALLBACK_PATH']=exports['OAUTH_CALLBACK_PORT']=void 0x0,exports['parseRedirectUri']=parseRedirectUri,exports['isPortInUse']=isPortInUse,exports['ensureRunning']=ensureRunning,exports['waitForCallback']=waitForCallback,exports['cancelPending']=cancelPending,exports['stop']=stop,exports['isRunning']=isRunning;const http=__importStar(require('http')),net=__importStar(require('net'));exports['OAUTH_CALLBACK_PORT']=0x4da4,exports['OAUTH_CALLBACK_PATH']='/mcp/oauth/callback',exports['OAUTH_CALLBACK_TIMEOUT_MS']=0x5*0x3c*0x3e8;const DEFAULT_PORT_FALLBACKS=0x5;function parseRedirectUri(_0x11cb97){if(!_0x11cb97)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x1b33e8=new URL(_0x11cb97),_0x3db315=_0x1b33e8['port']?parseInt(_0x1b33e8['port'],0xa):_0x1b33e8['protocol']==='https:'?0x1bb:0x50,_0x1daf64=_0x1b33e8['pathname']&&_0x1b33e8['pathname']!=='/'?_0x1b33e8['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x3db315,'path':_0x1daf64};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x49f95a){return _0x49f95a['replace'](/&/g,'&')['replace'](/</g,'<')['replace'](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');}const HTML_SUCCESS='<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Successful</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#4ade80;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Successful</h1>\x0a\x20\x20\x20\x20<p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20Trayambak.</p>\x0a\x20\x20</div>\x0a\x20\x20<script>setTimeout(()\x20=>\x20window.close(),\x202000);</script>\x0a</body>\x0a</html>',HTML_ERROR=_0x4ad169=>'<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Failed</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#f87171;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20\x20\x20.detail\x20{\x20color:\x20#fca5a5;\x20font-family:\x20monospace;\x20margin-top:\x201rem;\x20padding:\x201rem;\x20background:\x20rgba(248,113,113,0.1);\x20border-radius:\x200.5rem;\x20white-space:\x20pre-wrap;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Failed</h1>\x0a\x20\x20\x20\x20<p>An\x20error\x20occurred\x20during\x20authorization.</p>\x0a\x20\x20\x20\x20<pre\x20class=\x22detail\x22>'+escapeHtml(_0x4ad169)+'</pre>\x0a\x20\x20</div>\x0a</body>\x0a</html>';let server,currentPort=exports['OAUTH_CALLBACK_PORT'],currentPath=exports['OAUTH_CALLBACK_PATH'];const pendingAuths=new Map(),mcpNameToState=new Map();function cleanupStateIndex(_0x4e8468){for(const [_0x473a54,_0x2d0162]of mcpNameToState){if(_0x2d0162===_0x4e8468){mcpNameToState['delete'](_0x473a54);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x15034f=server;server=undefined,_0x15034f['close'](),setImmediate(()=>{;_0x15034f['closeIdleConnections']?.();});}function handleRequest(_0x1a6de9,_0x4891ad){const _0x3e5213=new URL(_0x1a6de9['url']||'/','http://127.0.0.1:'+currentPort);if(_0x3e5213['pathname']!==currentPath){_0x4891ad['writeHead'](0x194),_0x4891ad['end']('Not\x20found');return;}const _0x11699d=_0x3e5213['searchParams']['get']('code'),_0x1e5daf=_0x3e5213['searchParams']['get']('state'),_0xa796fa=_0x3e5213['searchParams']['get']('error'),_0x11c5f5=_0x3e5213['searchParams']['get']('error_description');if(!_0x1e5daf){const _0x4f8bf6='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x4891ad['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR(_0x4f8bf6));return;}if(_0xa796fa){const _0xdda703=_0x11c5f5||_0xa796fa,_0x180859=pendingAuths['get'](_0x1e5daf);_0x180859&&(clearTimeout(_0x180859['timeout']),pendingAuths['delete'](_0x1e5daf),cleanupStateIndex(_0x1e5daf),_0x180859['reject'](new Error(_0xdda703)));_0x4891ad['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR(_0xdda703)),stopIfIdle();return;}if(!_0x11699d){_0x4891ad['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x1e5daf)){const _0x5dd2f4='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x4891ad['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR(_0x5dd2f4));return;}const _0x4adba5=pendingAuths['get'](_0x1e5daf);clearTimeout(_0x4adba5['timeout']),pendingAuths['delete'](_0x1e5daf),cleanupStateIndex(_0x1e5daf),_0x4adba5['resolve'](_0x11699d),_0x4891ad['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x34512c=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x4e4bf2=>{const _0x1f2e5c=net['createConnection'](_0x34512c,'127.0.0.1');_0x1f2e5c['on']('connect',()=>{_0x1f2e5c['destroy'](),_0x4e4bf2(!![]);}),_0x1f2e5c['on']('error',()=>{_0x4e4bf2(![]);});});}function listen(_0x449a38,_0x1056e1){return new Promise(_0x2ee19e=>{const _0x36168e=http['createServer'](handleRequest),_0x3ec330=()=>{_0x36168e['removeListener']('listening',_0x3a739b),_0x2ee19e(![]);},_0x3a739b=()=>{_0x36168e['removeListener']('error',_0x3ec330),_0x36168e['on']('error',()=>{}),server=_0x36168e,currentPort=_0x449a38,currentPath=_0x1056e1,_0x2ee19e(!![]);};_0x36168e['once']('error',_0x3ec330),_0x36168e['once']('listening',_0x3a739b),_0x36168e['listen'](_0x449a38,'127.0.0.1');});}async function ensureRunning(_0x1c231b){const _0x1e5929=parseRedirectUri(_0x1c231b);if(server){const _0x500d21=_0x1c231b?currentPort===_0x1e5929['port']&¤tPath===_0x1e5929['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x500d21)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x1c231b){const _0xd1ebde=await listen(_0x1e5929['port'],_0x1e5929['path']);if(!_0xd1ebde)throw new Error('OAuth\x20callback\x20port\x20'+_0x1e5929['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x4c5331=![];for(let _0x541f5b=exports['OAUTH_CALLBACK_PORT'];_0x541f5b<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x4c5331;_0x541f5b++){_0x4c5331=await listen(_0x541f5b,exports['OAUTH_CALLBACK_PATH']);}if(!_0x4c5331)throw new Error('Could\x20not\x20bind\x20an\x20OAuth\x20callback\x20port\x20(tried\x20'+exports['OAUTH_CALLBACK_PORT']+'-'+(exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS-0x1)+'\x20on\x20127.0.0.1).');}return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};}function waitForCallback(_0x54d641,_0x5360de,_0x337873=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x5360de)mcpNameToState['set'](_0x5360de,_0x54d641);return new Promise((_0x55f803,_0x1c4e02)=>{const _0x51e99e=setTimeout(()=>{if(pendingAuths['has'](_0x54d641)){pendingAuths['delete'](_0x54d641);if(_0x5360de)mcpNameToState['delete'](_0x5360de);_0x1c4e02(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x337873);pendingAuths['set'](_0x54d641,{'resolve':_0x55f803,'reject':_0x1c4e02,'timeout':_0x51e99e});});}function cancelPending(_0x50d4d7){const _0x4bbed9=mcpNameToState['get'](_0x50d4d7),_0x4e0e92=_0x4bbed9??_0x50d4d7,_0xff29ca=pendingAuths['get'](_0x4e0e92);_0xff29ca&&(clearTimeout(_0xff29ca['timeout']),pendingAuths['delete'](_0x4e0e92),mcpNameToState['delete'](_0x50d4d7),_0xff29ca['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x59a5f1=server;server=undefined,_0x59a5f1['closeAllConnections']?.(),await new Promise(_0x1280ba=>_0x59a5f1['close'](()=>_0x1280ba()));}for(const [,_0x16be62]of pendingAuths){clearTimeout(_0x16be62['timeout']),_0x16be62['reject'](new Error('OAuth\x20callback\x20server\x20stopped'));}pendingAuths['clear'](),mcpNameToState['clear']();}function isRunning(){return server!==undefined;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x29777f,_0x4e594d,_0x3f3084,_0x4e51dd){if(_0x4e51dd===undefined)_0x4e51dd=_0x3f3084;var _0x5c0f21=Object['getOwnPropertyDescriptor'](_0x4e594d,_0x3f3084);(!_0x5c0f21||('get'in _0x5c0f21?!_0x4e594d['__esModule']:_0x5c0f21['writable']||_0x5c0f21['configurable']))&&(_0x5c0f21={'enumerable':!![],'get':function(){return _0x4e594d[_0x3f3084];}}),Object['defineProperty'](_0x29777f,_0x4e51dd,_0x5c0f21);}:function(_0x42b292,_0x4895b0,_0x3d980d,_0x290322){if(_0x290322===undefined)_0x290322=_0x3d980d;_0x42b292[_0x290322]=_0x4895b0[_0x3d980d];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x39cb49,_0x31afe8){Object['defineProperty'](_0x39cb49,'default',{'enumerable':!![],'value':_0x31afe8});}:function(_0x599025,_0x45e558){_0x599025['default']=_0x45e558;}),__importStar=this&&this['__importStar']||(function(){var _0x4feb87=function(_0x4f7df8){return _0x4feb87=Object['getOwnPropertyNames']||function(_0x578cec){var _0x32c482=[];for(var _0x207e18 in _0x578cec)if(Object['prototype']['hasOwnProperty']['call'](_0x578cec,_0x207e18))_0x32c482[_0x32c482['length']]=_0x207e18;return _0x32c482;},_0x4feb87(_0x4f7df8);};return function(_0xda3b39){if(_0xda3b39&&_0xda3b39['__esModule'])return _0xda3b39;var _0x4b9b1c={};if(_0xda3b39!=null){for(var _0x5a2061=_0x4feb87(_0xda3b39),_0x219ed6=0x0;_0x219ed6<_0x5a2061['length'];_0x219ed6++)if(_0x5a2061[_0x219ed6]!=='default')__createBinding(_0x4b9b1c,_0xda3b39,_0x5a2061[_0x219ed6]);}return __setModuleDefault(_0x4b9b1c,_0xda3b39),_0x4b9b1c;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpAuthError']=void 0x0,exports['authFilePath']=authFilePath,exports['getAuthEntry']=getAuthEntry,exports['getAuthEntryForUrl']=getAuthEntryForUrl,exports['setAuthEntry']=setAuthEntry,exports['removeMcpAuth']=removeMcpAuth,exports['getMcpAuthStatus']=getMcpAuthStatus,exports['generateCodeVerifier']=generateCodeVerifier,exports['computeCodeChallenge']=computeCodeChallenge,exports['generateState']=generateState,exports['discoveryCandidates']=discoveryCandidates,exports['discoverOAuthMetadata']=discoverOAuthMetadata,exports['clientMetadata']=clientMetadata,exports['registerClient']=registerClient,exports['buildAuthorizationUrl']=buildAuthorizationUrl,exports['exchangeAuthorizationCode']=exchangeAuthorizationCode,exports['refreshAccessToken']=refreshAccessToken,exports['getValidAccessToken']=getValidAccessToken,exports['openSystemBrowser']=openSystemBrowser,exports['authorizeMcpServer']=authorizeMcpServer,exports['clearOAuthCaches']=clearOAuthCaches;const child_process_1=require('child_process'),crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),http=__importStar(require('http')),https=__importStar(require('https')),os=__importStar(require('os')),path=__importStar(require('path')),oauth_callback_js_1=require('./oauth-callback.js');class McpAuthError extends Error{['kind'];['authorizationUrl'];constructor(_0x354d85,_0x38ca1b,_0x270a96){super(_0x354d85),this['name']='McpAuthError',this['kind']=_0x38ca1b,this['authorizationUrl']=_0x270a96;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0xde5af1=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0xde5af1&&typeof _0xde5af1==='object'&&!Array['isArray'](_0xde5af1))return _0xde5af1;}catch{}return{};}function writeAuthStore(_0x5d1f97){const _0x541dfe=authFilePath();fs['mkdirSync'](path['dirname'](_0x541dfe),{'recursive':!![]}),fs['writeFileSync'](_0x541dfe,JSON['stringify'](_0x5d1f97,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x541dfe,0x180);}catch{}}function getAuthEntry(_0x3421c8){return readAuthStore()[_0x3421c8];}function getAuthEntryForUrl(_0x2324c8,_0x59e7d8){const _0x5a3293=readAuthStore()[_0x2324c8];if(!_0x5a3293)return undefined;if(_0x5a3293['serverUrl']&&_0x5a3293['serverUrl']!==_0x59e7d8)return undefined;return _0x5a3293;}function setAuthEntry(_0x3544d7,_0x492962){const _0x1758c5=readAuthStore();_0x1758c5[_0x3544d7]=_0x492962,writeAuthStore(_0x1758c5);}function removeMcpAuth(_0x3b58a2){const _0x57d2c1=readAuthStore();if(!(_0x3b58a2 in _0x57d2c1))return(0x0,oauth_callback_js_1['cancelPending'])(_0x3b58a2),![];return delete _0x57d2c1[_0x3b58a2],writeAuthStore(_0x57d2c1),(0x0,oauth_callback_js_1['cancelPending'])(_0x3b58a2),!![];}function getMcpAuthStatus(_0x5a8092,_0x5aa791){const _0x598e0b=_0x5aa791?getAuthEntryForUrl(_0x5a8092,_0x5aa791):getAuthEntry(_0x5a8092);if(!_0x598e0b?.['tokens'])return'not_authenticated';const _0x49e597=_0x598e0b['tokens']['expiresAt'];if(_0x49e597&&_0x49e597<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0x176251){return crypto['createHash']('sha256')['update'](_0x176251)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x1625f1,_0x38d09c={}){return new Promise((_0x2b6bf1,_0x31cdfb)=>{let _0x5acf09;try{_0x5acf09=new URL(_0x1625f1);}catch{_0x31cdfb(new Error('Invalid\x20URL:\x20'+_0x1625f1));return;}const _0x44e60c=_0x5acf09['protocol']==='https:'?https:http,_0x4942a5=_0x44e60c['request']({'hostname':_0x5acf09['hostname'],'port':_0x5acf09['port']||(_0x5acf09['protocol']==='https:'?0x1bb:0x50),'path':_0x5acf09['pathname']+_0x5acf09['search'],'method':_0x38d09c['method']??'GET','headers':_0x38d09c['headers'],'timeout':_0x38d09c['timeoutMs']??0x3a98},_0xb290a6=>{let _0x1bd764='';_0xb290a6['setEncoding']('utf8'),_0xb290a6['on']('data',_0x178af2=>_0x1bd764+=_0x178af2),_0xb290a6['on']('end',()=>{let _0x179f44;try{const _0x4933af=JSON['parse'](_0x1bd764);if(_0x4933af&&typeof _0x4933af==='object')_0x179f44=_0x4933af;}catch{}_0x2b6bf1({'status':_0xb290a6['statusCode']??0x0,'text':_0x1bd764,'json':_0x179f44});});});_0x4942a5['on']('error',_0x3212a2=>_0x31cdfb(_0x3212a2)),_0x4942a5['on']('timeout',()=>{_0x4942a5['destroy'](),_0x31cdfb(new Error('Timeout\x20requesting\x20'+_0x1625f1));}),_0x4942a5['end'](_0x38d09c['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x2b447b){const _0x14da61=new URL(_0x2b447b);_0x14da61['search']='',_0x14da61['hash']='';const _0x488b52=_0x14da61['origin'],_0x33516b=_0x14da61['pathname']['replace'](/\/+$/,''),_0x10d18e=new Set();return _0x33516b&&(_0x10d18e['add'](_0x488b52+'/.well-known/oauth-authorization-server'+_0x33516b),_0x10d18e['add'](''+_0x488b52+_0x33516b+'/.well-known/oauth-authorization-server')),_0x10d18e['add'](_0x488b52+'/.well-known/oauth-authorization-server'),_0x10d18e['add'](_0x488b52+'/.well-known/openid-configuration'),Array['from'](_0x10d18e);}async function discoverOAuthMetadata(_0x1c537b){const _0x558b57=metaCache['get'](_0x1c537b);if(_0x558b57&&Date['now']()-_0x558b57['at']<META_TTL_MS)return _0x558b57['meta'];const _0x30117b=[];for(const _0x59ffb9 of discoveryCandidates(_0x1c537b)){try{const _0x32bd4e=await httpRequest(_0x59ffb9,{'headers':{'Accept':'application/json'}});if(_0x32bd4e['status']>=0xc8&&_0x32bd4e['status']<0x12c&&_0x32bd4e['json']){const _0x332998=_0x32bd4e['json'];if(typeof _0x332998['authorization_endpoint']==='string'&&_0x332998['authorization_endpoint']['length']>0x0)return metaCache['set'](_0x1c537b,{'at':Date['now'](),'meta':_0x332998}),_0x332998;_0x30117b['push'](_0x59ffb9+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x32bd4e['status']!==0x194&&_0x32bd4e['status']!==0x191&&_0x32bd4e['status']!==0x193&&_0x30117b['push'](_0x59ffb9+':\x20HTTP\x20'+_0x32bd4e['status']);}catch(_0x4aaceb){_0x30117b['push'](_0x59ffb9+':\x20'+(_0x4aaceb instanceof Error?_0x4aaceb['message']:String(_0x4aaceb)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0x1c537b+'\x20('+(_0x30117b['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x30bfa0,_0x5b5230){return{'redirect_uris':[_0x30bfa0],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x5b5230['clientSecret']?'client_secret_post':'none',..._0x5b5230['scope']?{'scope':_0x5b5230['scope']}:{}};}async function registerClient(_0x3ae09b,_0x575aeb){const _0x333807=await httpRequest(_0x3ae09b,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x575aeb)}),_0xb3ef8f=_0x333807['json'];if(!(_0x333807['status']>=0xc8&&_0x333807['status']<0x12c)||typeof _0xb3ef8f?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x333807['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0xb3ef8f['client_id'],'clientSecret':typeof _0xb3ef8f['client_secret']==='string'?_0xb3ef8f['client_secret']:undefined,'clientIdIssuedAt':typeof _0xb3ef8f['client_id_issued_at']==='number'?_0xb3ef8f['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0xb3ef8f['client_secret_expires_at']==='number'?_0xb3ef8f['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x467dce,_0x197633,_0x1710dc){if(_0x1710dc['clientId'])return{'clientId':_0x1710dc['clientId'],'clientSecret':_0x1710dc['clientSecret']};const _0x25fafb=getAuthEntryForUrl(_0x467dce,_0x197633)?.['clientInfo'];if(!_0x25fafb)return undefined;if(_0x25fafb['clientSecretExpiresAt']&&_0x25fafb['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x25fafb;}function buildAuthorizationUrl(_0x5d8cd6,_0x9683e1){const _0x5c174d=new URL(_0x5d8cd6);_0x5c174d['searchParams']['set']('response_type','code'),_0x5c174d['searchParams']['set']('client_id',_0x9683e1['clientId']),_0x5c174d['searchParams']['set']('redirect_uri',_0x9683e1['redirectUri']),_0x5c174d['searchParams']['set']('state',_0x9683e1['state']),_0x5c174d['searchParams']['set']('code_challenge',_0x9683e1['codeChallenge']),_0x5c174d['searchParams']['set']('code_challenge_method','S256');if(_0x9683e1['scope'])_0x5c174d['searchParams']['set']('scope',_0x9683e1['scope']);return _0x5c174d['toString']();}async function tokenRequest(_0x381bab,_0xf552d){const _0x16b479=new URLSearchParams(_0xf552d)['toString'](),_0x5d28d5=await httpRequest(_0x381bab,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x16b479}),_0x2bcda9=_0x5d28d5['json'];if(!(_0x5d28d5['status']>=0xc8&&_0x5d28d5['status']<0x12c)||_0x2bcda9?.['error']){const _0x55d4fe=typeof _0x2bcda9?.['error_description']==='string'&&_0x2bcda9['error_description']||typeof _0x2bcda9?.['error']==='string'&&_0x2bcda9['error']||'HTTP\x20'+_0x5d28d5['status']+(_0x5d28d5['text']?':\x20'+_0x5d28d5['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x55d4fe,'token');}if(typeof _0x2bcda9?.['access_token']!=='string'||!_0x2bcda9['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x2bcda9['access_token'],'refreshToken':typeof _0x2bcda9['refresh_token']==='string'?_0x2bcda9['refresh_token']:undefined,'expiresAt':typeof _0x2bcda9['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x2bcda9['expires_in']:undefined,'scope':typeof _0x2bcda9['scope']==='string'?_0x2bcda9['scope']:undefined};}function exchangeAuthorizationCode(_0x4578bd,_0x3946c1){return tokenRequest(_0x4578bd,{'grant_type':'authorization_code','code':_0x3946c1['code'],'redirect_uri':_0x3946c1['redirectUri'],'client_id':_0x3946c1['clientId'],'code_verifier':_0x3946c1['codeVerifier'],..._0x3946c1['clientSecret']?{'client_secret':_0x3946c1['clientSecret']}:{}});}function refreshAccessToken(_0x25beb4,_0x4aded3){return tokenRequest(_0x25beb4,{'grant_type':'refresh_token','refresh_token':_0x4aded3['refreshToken'],'client_id':_0x4aded3['clientId'],..._0x4aded3['clientSecret']?{'client_secret':_0x4aded3['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x56fada,_0x3deae4,_0x2577fb={}){const _0x349666=getAuthEntryForUrl(_0x56fada,_0x3deae4)?.['tokens'];if(!_0x349666)return undefined;const _0x390500=Math['floor'](Date['now']()/0x3e8),_0x1e8446=Boolean(_0x349666['expiresAt'])&&_0x349666['expiresAt']-REFRESH_SKEW_SECONDS<=_0x390500;if(!_0x1e8446||!_0x349666['refreshToken'])return _0x349666['accessToken'];const _0x3d17ae=inflightRefresh['get'](_0x56fada);if(_0x3d17ae)return _0x3d17ae;const _0x52b28f=((async()=>{try{const _0xf6fbf3=await discoverOAuthMetadata(_0x3deae4);if(!_0xf6fbf3['token_endpoint'])return _0x349666['accessToken'];const _0x23681c=resolveClientInfo(_0x56fada,_0x3deae4,_0x2577fb);if(!_0x23681c)return _0x349666['accessToken'];const _0x251db6=await refreshAccessToken(_0xf6fbf3['token_endpoint'],{'clientId':_0x23681c['clientId'],'clientSecret':_0x23681c['clientSecret'],'refreshToken':_0x349666['refreshToken']}),_0x55b9de=getAuthEntryForUrl(_0x56fada,_0x3deae4)??{'serverUrl':_0x3deae4};return setAuthEntry(_0x56fada,{..._0x55b9de,'tokens':{..._0x251db6,'refreshToken':_0x251db6['refreshToken']??_0x349666['refreshToken']},'serverUrl':_0x3deae4}),_0x251db6['accessToken'];}catch{return _0x349666['accessToken'];}finally{inflightRefresh['delete'](_0x56fada);}})());return inflightRefresh['set'](_0x56fada,_0x52b28f),_0x52b28f;}function openSystemBrowser(_0x37cadb){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x37cadb],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x3f0f25=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x3f0f25,[_0x37cadb],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x452e3d,_0x17e5af,_0x432fdb={},_0x38fa57={}){const _0x462001=inflightAuth['get'](_0x452e3d);if(_0x462001)return _0x462001;const _0x2f7aa6=runAuthorize(_0x452e3d,_0x17e5af,_0x432fdb,_0x38fa57)['finally'](()=>{inflightAuth['delete'](_0x452e3d);});return inflightAuth['set'](_0x452e3d,_0x2f7aa6),_0x2f7aa6;}async function runAuthorize(_0x4541e4,_0x222dde,_0x4875bb,_0x240fc1){const _0x308c0d=await discoverOAuthMetadata(_0x222dde),_0x1ef8b4=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x4875bb['redirectUri']??(_0x4875bb['callbackPort']?'http://127.0.0.1:'+_0x4875bb['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x1deeca=_0x1ef8b4['redirectUri'];let _0x124f47=resolveClientInfo(_0x4541e4,_0x222dde,_0x4875bb);const _0x45799d=!_0x124f47;if(!_0x124f47){if(!_0x308c0d['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x4541e4+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x124f47=await registerClient(_0x308c0d['registration_endpoint'],clientMetadata(_0x1deeca,_0x4875bb));}if(!_0x308c0d['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x4541e4+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x3b0a88=generateState(),_0x43f3ac=generateCodeVerifier(),_0x441538=buildAuthorizationUrl(_0x308c0d['authorization_endpoint'],{'clientId':_0x124f47['clientId'],'redirectUri':_0x1deeca,'state':_0x3b0a88,'codeChallenge':computeCodeChallenge(_0x43f3ac),'scope':_0x4875bb['scope']}),_0x1be700=_0x240fc1['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x359c2b=(0x0,oauth_callback_js_1['waitForCallback'])(_0x3b0a88,_0x4541e4,_0x1be700),_0x128bd1=_0x240fc1['onNotice']??(_0x2c6535=>{try{process['stderr']['write'](_0x2c6535+'\x0a');}catch{}});_0x128bd1('MCP\x20\x27'+_0x4541e4+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x441538+'\x0a')+'Waiting\x20for\x20approval...');const _0x2c8661=_0x240fc1['open']??openSystemBrowser;try{await _0x2c8661(_0x441538);}catch{}let _0x497845;try{_0x497845=await _0x359c2b;}catch(_0x5adb19){throw new McpAuthError(_0x5adb19 instanceof Error?_0x5adb19['message']:String(_0x5adb19),'callback',_0x441538);}const _0xc90c11=await exchangeAuthorizationCode(_0x308c0d['token_endpoint'],{'code':_0x497845,'redirectUri':_0x1deeca,'clientId':_0x124f47['clientId'],'clientSecret':_0x124f47['clientSecret'],'codeVerifier':_0x43f3ac}),_0x4b4c14=getAuthEntryForUrl(_0x4541e4,_0x222dde)??{};return setAuthEntry(_0x4541e4,{..._0x4b4c14,..._0x45799d&&_0x124f47?{'clientInfo':_0x124f47}:{},'tokens':_0xc90c11,'serverUrl':_0x222dde}),!![];}function clearOAuthCaches(){metaCache['clear'](),inflightAuth['clear'](),inflightRefresh['clear']();}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x551436,_0xd420a6,_0x5599f6,_0x33e68c){if(_0x33e68c===undefined)_0x33e68c=_0x5599f6;var _0x164310=Object['getOwnPropertyDescriptor'](_0xd420a6,_0x5599f6);(!_0x164310||('get'in _0x164310?!_0xd420a6['__esModule']:_0x164310['writable']||_0x164310['configurable']))&&(_0x164310={'enumerable':!![],'get':function(){return _0xd420a6[_0x5599f6];}}),Object['defineProperty'](_0x551436,_0x33e68c,_0x164310);}:function(_0x1c3633,_0x3029ba,_0x45a301,_0x37ac5e){if(_0x37ac5e===undefined)_0x37ac5e=_0x45a301;_0x1c3633[_0x37ac5e]=_0x3029ba[_0x45a301];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1d3c72,_0x2979f9){Object['defineProperty'](_0x1d3c72,'default',{'enumerable':!![],'value':_0x2979f9});}:function(_0x127363,_0x59cd27){_0x127363['default']=_0x59cd27;}),__importStar=this&&this['__importStar']||(function(){var _0x34fbd3=function(_0x5f0234){return _0x34fbd3=Object['getOwnPropertyNames']||function(_0x2b774e){var _0x3ed745=[];for(var _0x41dcb4 in _0x2b774e)if(Object['prototype']['hasOwnProperty']['call'](_0x2b774e,_0x41dcb4))_0x3ed745[_0x3ed745['length']]=_0x41dcb4;return _0x3ed745;},_0x34fbd3(_0x5f0234);};return function(_0x2dadc3){if(_0x2dadc3&&_0x2dadc3['__esModule'])return _0x2dadc3;var _0x391f5f={};if(_0x2dadc3!=null){for(var _0x7c808c=_0x34fbd3(_0x2dadc3),_0xa932d9=0x0;_0xa932d9<_0x7c808c['length'];_0xa932d9++)if(_0x7c808c[_0xa932d9]!=='default')__createBinding(_0x391f5f,_0x2dadc3,_0x7c808c[_0xa932d9]);}return __setModuleDefault(_0x391f5f,_0x2dadc3),_0x391f5f;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpAuthError']=void 0x0,exports['authFilePath']=authFilePath,exports['getAuthEntry']=getAuthEntry,exports['getAuthEntryForUrl']=getAuthEntryForUrl,exports['setAuthEntry']=setAuthEntry,exports['removeMcpAuth']=removeMcpAuth,exports['getMcpAuthStatus']=getMcpAuthStatus,exports['generateCodeVerifier']=generateCodeVerifier,exports['computeCodeChallenge']=computeCodeChallenge,exports['generateState']=generateState,exports['discoveryCandidates']=discoveryCandidates,exports['discoverOAuthMetadata']=discoverOAuthMetadata,exports['clientMetadata']=clientMetadata,exports['registerClient']=registerClient,exports['buildAuthorizationUrl']=buildAuthorizationUrl,exports['exchangeAuthorizationCode']=exchangeAuthorizationCode,exports['refreshAccessToken']=refreshAccessToken,exports['getValidAccessToken']=getValidAccessToken,exports['openSystemBrowser']=openSystemBrowser,exports['authorizeMcpServer']=authorizeMcpServer,exports['clearOAuthCaches']=clearOAuthCaches;const child_process_1=require('child_process'),crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),http=__importStar(require('http')),https=__importStar(require('https')),os=__importStar(require('os')),path=__importStar(require('path')),oauth_callback_js_1=require('./oauth-callback.js');class McpAuthError extends Error{['kind'];['authorizationUrl'];constructor(_0x25e04e,_0x4c2ae5,_0x565ea2){super(_0x25e04e),this['name']='McpAuthError',this['kind']=_0x4c2ae5,this['authorizationUrl']=_0x565ea2;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0x32eda7=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0x32eda7&&typeof _0x32eda7==='object'&&!Array['isArray'](_0x32eda7))return _0x32eda7;}catch{}return{};}function writeAuthStore(_0x66b21f){const _0x3fd251=authFilePath();fs['mkdirSync'](path['dirname'](_0x3fd251),{'recursive':!![]}),fs['writeFileSync'](_0x3fd251,JSON['stringify'](_0x66b21f,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x3fd251,0x180);}catch{}}function getAuthEntry(_0x357d94){return readAuthStore()[_0x357d94];}function getAuthEntryForUrl(_0x5b28a9,_0x3aae9f){const _0x1eb766=readAuthStore()[_0x5b28a9];if(!_0x1eb766)return undefined;if(_0x1eb766['serverUrl']&&_0x1eb766['serverUrl']!==_0x3aae9f)return undefined;return _0x1eb766;}function setAuthEntry(_0x25d36e,_0x175410){const _0x15e63e=readAuthStore();_0x15e63e[_0x25d36e]=_0x175410,writeAuthStore(_0x15e63e);}function removeMcpAuth(_0x494147){const _0x4d0d8e=readAuthStore();if(!(_0x494147 in _0x4d0d8e))return(0x0,oauth_callback_js_1['cancelPending'])(_0x494147),![];return delete _0x4d0d8e[_0x494147],writeAuthStore(_0x4d0d8e),(0x0,oauth_callback_js_1['cancelPending'])(_0x494147),!![];}function getMcpAuthStatus(_0x23f53c,_0x1a80ae){const _0x1ce141=_0x1a80ae?getAuthEntryForUrl(_0x23f53c,_0x1a80ae):getAuthEntry(_0x23f53c);if(!_0x1ce141?.['tokens'])return'not_authenticated';const _0x3cff29=_0x1ce141['tokens']['expiresAt'];if(_0x3cff29&&_0x3cff29<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0x259b88){return crypto['createHash']('sha256')['update'](_0x259b88)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x1c3776,_0x51d859={}){return new Promise((_0x54cba5,_0x54a15c)=>{let _0x16375c;try{_0x16375c=new URL(_0x1c3776);}catch{_0x54a15c(new Error('Invalid\x20URL:\x20'+_0x1c3776));return;}const _0x2f9538=_0x16375c['protocol']==='https:'?https:http,_0x2ae083=_0x2f9538['request']({'hostname':_0x16375c['hostname'],'port':_0x16375c['port']||(_0x16375c['protocol']==='https:'?0x1bb:0x50),'path':_0x16375c['pathname']+_0x16375c['search'],'method':_0x51d859['method']??'GET','headers':_0x51d859['headers'],'timeout':_0x51d859['timeoutMs']??0x3a98},_0x25658a=>{let _0x54663f='';_0x25658a['setEncoding']('utf8'),_0x25658a['on']('data',_0x4e816b=>_0x54663f+=_0x4e816b),_0x25658a['on']('end',()=>{let _0x45a16f;try{const _0xbc688b=JSON['parse'](_0x54663f);if(_0xbc688b&&typeof _0xbc688b==='object')_0x45a16f=_0xbc688b;}catch{}_0x54cba5({'status':_0x25658a['statusCode']??0x0,'text':_0x54663f,'json':_0x45a16f});});});_0x2ae083['on']('error',_0x52def1=>_0x54a15c(_0x52def1)),_0x2ae083['on']('timeout',()=>{_0x2ae083['destroy'](),_0x54a15c(new Error('Timeout\x20requesting\x20'+_0x1c3776));}),_0x2ae083['end'](_0x51d859['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x58704c){const _0x5d187c=new URL(_0x58704c);_0x5d187c['search']='',_0x5d187c['hash']='';const _0x4d46fa=_0x5d187c['origin'],_0x53ad26=_0x5d187c['pathname']['replace'](/\/+$/,''),_0x202388=new Set();return _0x53ad26&&(_0x202388['add'](_0x4d46fa+'/.well-known/oauth-authorization-server'+_0x53ad26),_0x202388['add'](''+_0x4d46fa+_0x53ad26+'/.well-known/oauth-authorization-server')),_0x202388['add'](_0x4d46fa+'/.well-known/oauth-authorization-server'),_0x202388['add'](_0x4d46fa+'/.well-known/openid-configuration'),Array['from'](_0x202388);}async function discoverOAuthMetadata(_0xe2c196){const _0x17cce0=metaCache['get'](_0xe2c196);if(_0x17cce0&&Date['now']()-_0x17cce0['at']<META_TTL_MS)return _0x17cce0['meta'];const _0x35e3e5=[];for(const _0x37cddd of discoveryCandidates(_0xe2c196)){try{const _0x53ec9c=await httpRequest(_0x37cddd,{'headers':{'Accept':'application/json'}});if(_0x53ec9c['status']>=0xc8&&_0x53ec9c['status']<0x12c&&_0x53ec9c['json']){const _0x4b86d9=_0x53ec9c['json'];if(typeof _0x4b86d9['authorization_endpoint']==='string'&&_0x4b86d9['authorization_endpoint']['length']>0x0)return metaCache['set'](_0xe2c196,{'at':Date['now'](),'meta':_0x4b86d9}),_0x4b86d9;_0x35e3e5['push'](_0x37cddd+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x53ec9c['status']!==0x194&&_0x53ec9c['status']!==0x191&&_0x53ec9c['status']!==0x193&&_0x35e3e5['push'](_0x37cddd+':\x20HTTP\x20'+_0x53ec9c['status']);}catch(_0x540c1d){_0x35e3e5['push'](_0x37cddd+':\x20'+(_0x540c1d instanceof Error?_0x540c1d['message']:String(_0x540c1d)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0xe2c196+'\x20('+(_0x35e3e5['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x54f644,_0x2f5231){return{'redirect_uris':[_0x54f644],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x2f5231['clientSecret']?'client_secret_post':'none',..._0x2f5231['scope']?{'scope':_0x2f5231['scope']}:{}};}async function registerClient(_0x3e9d5b,_0x5cd410){const _0x10cbd7=await httpRequest(_0x3e9d5b,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x5cd410)}),_0x427552=_0x10cbd7['json'];if(!(_0x10cbd7['status']>=0xc8&&_0x10cbd7['status']<0x12c)||typeof _0x427552?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x10cbd7['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0x427552['client_id'],'clientSecret':typeof _0x427552['client_secret']==='string'?_0x427552['client_secret']:undefined,'clientIdIssuedAt':typeof _0x427552['client_id_issued_at']==='number'?_0x427552['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0x427552['client_secret_expires_at']==='number'?_0x427552['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x396b9b,_0x132c3c,_0x2de5bf){if(_0x2de5bf['clientId'])return{'clientId':_0x2de5bf['clientId'],'clientSecret':_0x2de5bf['clientSecret']};const _0x539142=getAuthEntryForUrl(_0x396b9b,_0x132c3c)?.['clientInfo'];if(!_0x539142)return undefined;if(_0x539142['clientSecretExpiresAt']&&_0x539142['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x539142;}function buildAuthorizationUrl(_0x5a2d29,_0x17ec38){const _0x1b507c=new URL(_0x5a2d29);_0x1b507c['searchParams']['set']('response_type','code'),_0x1b507c['searchParams']['set']('client_id',_0x17ec38['clientId']),_0x1b507c['searchParams']['set']('redirect_uri',_0x17ec38['redirectUri']),_0x1b507c['searchParams']['set']('state',_0x17ec38['state']),_0x1b507c['searchParams']['set']('code_challenge',_0x17ec38['codeChallenge']),_0x1b507c['searchParams']['set']('code_challenge_method','S256');if(_0x17ec38['scope'])_0x1b507c['searchParams']['set']('scope',_0x17ec38['scope']);return _0x1b507c['toString']();}async function tokenRequest(_0x22da13,_0x720d12){const _0x322fd0=new URLSearchParams(_0x720d12)['toString'](),_0x2bb057=await httpRequest(_0x22da13,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x322fd0}),_0x164a30=_0x2bb057['json'];if(!(_0x2bb057['status']>=0xc8&&_0x2bb057['status']<0x12c)||_0x164a30?.['error']){const _0x44345c=typeof _0x164a30?.['error_description']==='string'&&_0x164a30['error_description']||typeof _0x164a30?.['error']==='string'&&_0x164a30['error']||'HTTP\x20'+_0x2bb057['status']+(_0x2bb057['text']?':\x20'+_0x2bb057['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x44345c,'token');}if(typeof _0x164a30?.['access_token']!=='string'||!_0x164a30['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x164a30['access_token'],'refreshToken':typeof _0x164a30['refresh_token']==='string'?_0x164a30['refresh_token']:undefined,'expiresAt':typeof _0x164a30['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x164a30['expires_in']:undefined,'scope':typeof _0x164a30['scope']==='string'?_0x164a30['scope']:undefined};}function exchangeAuthorizationCode(_0x5b7c05,_0x419931){return tokenRequest(_0x5b7c05,{'grant_type':'authorization_code','code':_0x419931['code'],'redirect_uri':_0x419931['redirectUri'],'client_id':_0x419931['clientId'],'code_verifier':_0x419931['codeVerifier'],..._0x419931['clientSecret']?{'client_secret':_0x419931['clientSecret']}:{}});}function refreshAccessToken(_0x2d7514,_0x35773c){return tokenRequest(_0x2d7514,{'grant_type':'refresh_token','refresh_token':_0x35773c['refreshToken'],'client_id':_0x35773c['clientId'],..._0x35773c['clientSecret']?{'client_secret':_0x35773c['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x55eb36,_0x221f2d,_0xeeedf={}){const _0x42504b=getAuthEntryForUrl(_0x55eb36,_0x221f2d)?.['tokens'];if(!_0x42504b)return undefined;const _0x3ac329=Math['floor'](Date['now']()/0x3e8),_0x513ed5=Boolean(_0x42504b['expiresAt'])&&_0x42504b['expiresAt']-REFRESH_SKEW_SECONDS<=_0x3ac329;if(!_0x513ed5||!_0x42504b['refreshToken'])return _0x42504b['accessToken'];const _0x65dd5e=inflightRefresh['get'](_0x55eb36);if(_0x65dd5e)return _0x65dd5e;const _0x1db591=((async()=>{try{const _0x5dcd73=await discoverOAuthMetadata(_0x221f2d);if(!_0x5dcd73['token_endpoint'])return _0x42504b['accessToken'];const _0x1aba1a=resolveClientInfo(_0x55eb36,_0x221f2d,_0xeeedf);if(!_0x1aba1a)return _0x42504b['accessToken'];const _0x1ac074=await refreshAccessToken(_0x5dcd73['token_endpoint'],{'clientId':_0x1aba1a['clientId'],'clientSecret':_0x1aba1a['clientSecret'],'refreshToken':_0x42504b['refreshToken']}),_0x370cfc=getAuthEntryForUrl(_0x55eb36,_0x221f2d)??{'serverUrl':_0x221f2d};return setAuthEntry(_0x55eb36,{..._0x370cfc,'tokens':{..._0x1ac074,'refreshToken':_0x1ac074['refreshToken']??_0x42504b['refreshToken']},'serverUrl':_0x221f2d}),_0x1ac074['accessToken'];}catch{return _0x42504b['accessToken'];}finally{inflightRefresh['delete'](_0x55eb36);}})());return inflightRefresh['set'](_0x55eb36,_0x1db591),_0x1db591;}function openSystemBrowser(_0x13f0db){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x13f0db],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x145e54=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x145e54,[_0x13f0db],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x5c21cc,_0x104563,_0x4889cd={},_0x4c3adf={}){const _0x34e3df=inflightAuth['get'](_0x5c21cc);if(_0x34e3df)return _0x34e3df;const _0x3790a3=runAuthorize(_0x5c21cc,_0x104563,_0x4889cd,_0x4c3adf)['finally'](()=>{inflightAuth['delete'](_0x5c21cc);});return inflightAuth['set'](_0x5c21cc,_0x3790a3),_0x3790a3;}async function runAuthorize(_0x20594b,_0xd7113d,_0x5eba5b,_0x23e4a5){const _0x39ba35=await discoverOAuthMetadata(_0xd7113d),_0x329d9b=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x5eba5b['redirectUri']??(_0x5eba5b['callbackPort']?'http://127.0.0.1:'+_0x5eba5b['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x556f81=_0x329d9b['redirectUri'];let _0x1c8c58=resolveClientInfo(_0x20594b,_0xd7113d,_0x5eba5b);const _0x187246=!_0x1c8c58;if(!_0x1c8c58){if(!_0x39ba35['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x20594b+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x1c8c58=await registerClient(_0x39ba35['registration_endpoint'],clientMetadata(_0x556f81,_0x5eba5b));}if(!_0x39ba35['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x20594b+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x595f39=generateState(),_0x54af7b=generateCodeVerifier(),_0x5345ab=buildAuthorizationUrl(_0x39ba35['authorization_endpoint'],{'clientId':_0x1c8c58['clientId'],'redirectUri':_0x556f81,'state':_0x595f39,'codeChallenge':computeCodeChallenge(_0x54af7b),'scope':_0x5eba5b['scope']}),_0x1b7464=_0x23e4a5['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x376991=(0x0,oauth_callback_js_1['waitForCallback'])(_0x595f39,_0x20594b,_0x1b7464),_0x31cffe=_0x23e4a5['onNotice']??(_0x40edbf=>{try{process['stderr']['write'](_0x40edbf+'\x0a');}catch{}});_0x31cffe('MCP\x20\x27'+_0x20594b+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x5345ab+'\x0a')+'Waiting\x20for\x20approval...');const _0x341fef=_0x23e4a5['open']??openSystemBrowser;try{await _0x341fef(_0x5345ab);}catch{}let _0x58084e;try{_0x58084e=await _0x376991;}catch(_0x515fdd){throw new McpAuthError(_0x515fdd instanceof Error?_0x515fdd['message']:String(_0x515fdd),'callback',_0x5345ab);}const _0x5ebf5c=await exchangeAuthorizationCode(_0x39ba35['token_endpoint'],{'code':_0x58084e,'redirectUri':_0x556f81,'clientId':_0x1c8c58['clientId'],'clientSecret':_0x1c8c58['clientSecret'],'codeVerifier':_0x54af7b}),_0x5df7fd=getAuthEntryForUrl(_0x20594b,_0xd7113d)??{};return setAuthEntry(_0x20594b,{..._0x5df7fd,..._0x187246&&_0x1c8c58?{'clientInfo':_0x1c8c58}:{},'tokens':_0x5ebf5c,'serverUrl':_0xd7113d}),!![];}function clearOAuthCaches(){metaCache['clear'](),inflightAuth['clear'](),inflightRefresh['clear']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x4cb65f,_0x5b15a7,_0x26c9c7,_0x1d1195){if(_0x1d1195===undefined)_0x1d1195=_0x26c9c7;var _0x286558=Object['getOwnPropertyDescriptor'](_0x5b15a7,_0x26c9c7);(!_0x286558||('get'in _0x286558?!_0x5b15a7['__esModule']:_0x286558['writable']||_0x286558['configurable']))&&(_0x286558={'enumerable':!![],'get':function(){return _0x5b15a7[_0x26c9c7];}}),Object['defineProperty'](_0x4cb65f,_0x1d1195,_0x286558);}:function(_0x1a2d92,_0x24ca0a,_0x3408e8,_0x18b2df){if(_0x18b2df===undefined)_0x18b2df=_0x3408e8;_0x1a2d92[_0x18b2df]=_0x24ca0a[_0x3408e8];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x48df4d,_0x56d19b){Object['defineProperty'](_0x48df4d,'default',{'enumerable':!![],'value':_0x56d19b});}:function(_0x3fc35b,_0x4a7edc){_0x3fc35b['default']=_0x4a7edc;}),__importStar=this&&this['__importStar']||(function(){var _0x3f527d=function(_0x3ddfa2){return _0x3f527d=Object['getOwnPropertyNames']||function(_0x5c1859){var _0x422b47=[];for(var _0xeb4ed2 in _0x5c1859)if(Object['prototype']['hasOwnProperty']['call'](_0x5c1859,_0xeb4ed2))_0x422b47[_0x422b47['length']]=_0xeb4ed2;return _0x422b47;},_0x3f527d(_0x3ddfa2);};return function(_0x5f1f17){if(_0x5f1f17&&_0x5f1f17['__esModule'])return _0x5f1f17;var _0x1b4269={};if(_0x5f1f17!=null){for(var _0x3f4ebc=_0x3f527d(_0x5f1f17),_0x4d2350=0x0;_0x4d2350<_0x3f4ebc['length'];_0x4d2350++)if(_0x3f4ebc[_0x4d2350]!=='default')__createBinding(_0x1b4269,_0x5f1f17,_0x3f4ebc[_0x4d2350]);}return __setModuleDefault(_0x1b4269,_0x5f1f17),_0x1b4269;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['canSpawnDirectly']=canSpawnDirectly,exports['resolveExecutable']=resolveExecutable,exports['resolveNpmCliJs']=resolveNpmCliJs,exports['resolveNpxCliJs']=resolveNpxCliJs,exports['resolveMcpCommand']=resolveMcpCommand;const child_process_1=require('child_process'),fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path'));function scoreExecutable(_0x45ee18){const _0x5b1abd=path['extname'](_0x45ee18)['toLowerCase']();if(_0x5b1abd==='.exe'||_0x5b1abd==='.com')return 0x0;if(_0x5b1abd==='.bat'||_0x5b1abd==='.cmd')return 0x1;if(_0x5b1abd!=='')return 0x2;return 0x3;}function canSpawnDirectly(_0x5b3eb9){if(process['platform']!=='win32')return!![];const _0x2d3b42=path['extname'](_0x5b3eb9)['toLowerCase']();return _0x2d3b42==='.exe'||_0x2d3b42==='.com';}function resolveExecutable(_0x202b9b){if(process['platform']==='win32')try{const _0x421cf4=(0x0,child_process_1['execFileSync'])('where.exe',[_0x202b9b],{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'stdio':['ignore','pipe','ignore']}),_0x2e8b89=String(_0x421cf4)['split'](/\r?\n/)['map'](_0x354ecf=>_0x354ecf['trim']())['filter'](Boolean)['sort']((_0x585679,_0x19af4f)=>scoreExecutable(_0x585679)-scoreExecutable(_0x19af4f));for(const _0xf5f981 of _0x2e8b89){try{if(fs['existsSync'](_0xf5f981))return _0xf5f981;}catch{}}}catch{}else try{const _0x1865f4=(0x0,child_process_1['execFileSync'])('command\x20-v\x20'+_0x202b9b,{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'shell':'/bin/sh','stdio':['ignore','pipe','ignore']}),_0x5b1bb8=String(_0x1865f4)['trim']()['split'](/\s+/)[0x0];if(_0x5b1bb8&&fs['existsSync'](_0x5b1bb8))return _0x5b1bb8;}catch{}const _0x168054=[];try{const _0x41e403=path['dirname'](process['execPath']);for(const _0x44041f of process['platform']==='win32'?['.cmd','.exe','']:['']){_0x168054['push'](path['join'](_0x41e403,''+_0x202b9b+_0x44041f));}}catch{}if(process['platform']==='win32'){const _0x3a843a=process.env['ProgramFiles']??'C:\x5cProgram\x20Files',_0x3873f8=process.env['ProgramFiles(x86)']??'C:\x5cProgram\x20Files\x20(x86)';_0x168054['push'](path['join'](_0x3a843a,'nodejs',_0x202b9b+'.cmd'),path['join'](_0x3873f8,'nodejs',_0x202b9b+'.cmd'),path['join'](os['homedir'](),'AppData','Roaming','npm',_0x202b9b+'.cmd'));}else _0x168054['push']('/usr/local/bin/'+_0x202b9b,'/opt/homebrew/bin/'+_0x202b9b,os['homedir']()+'/.local/bin/'+_0x202b9b);for(const _0x32fcdb of _0x168054){try{if(!fs['existsSync'](_0x32fcdb))continue;if(process['platform']==='win32'&&scoreExecutable(_0x32fcdb)>0x1)continue;return _0x32fcdb;}catch{}}return undefined;}function npmDirCandidates(){const _0xb92d38=[];try{_0xb92d38['push'](path['dirname'](process['execPath']));}catch{}const _0x3eafa3=process.env['ProgramFiles']??'C:\x5cProgram\x20Files';_0xb92d38['push'](path['join'](_0x3eafa3,'nodejs'));for(const _0x49e813 of['npm','npx']){try{const _0x1069ef=resolveExecutable(_0x49e813);if(_0x1069ef)_0xb92d38['push'](path['dirname'](_0x1069ef));}catch{}}return process['platform']!=='win32'&&_0xb92d38['push']('/usr/local/lib/node_modules/npm','/opt/homebrew/lib/node_modules/npm','/usr/lib/node_modules/npm'),[...new Set(_0xb92d38)];}function resolveNpmCliJs(){for(const _0x1e6c47 of npmDirCandidates()){const _0x250af9=path['join'](_0x1e6c47,'node_modules','npm','bin','npm-cli.js');try{if(fs['existsSync'](_0x250af9))return _0x250af9;}catch{}}return undefined;}function resolveNpxCliJs(){for(const _0x2f14db of npmDirCandidates()){const _0x26f0fa=path['join'](_0x2f14db,'node_modules','npm','bin','npx-cli.js');try{if(fs['existsSync'](_0x26f0fa))return _0x26f0fa;}catch{}}return undefined;}function resolveMcpCommand(_0x10c1ec){const [_0x80e2be,..._0x2daa1d]=_0x10c1ec;if(!_0x80e2be)throw new Error('MCP\x20server\x20spec\x20has\x20an\x20empty\x20command');const _0x4a3bbc=path['basename'](_0x80e2be)['replace'](/\.(cmd|exe|bat|com)$/i,'')['toLowerCase']();if(_0x4a3bbc==='node')return{'command':process['execPath'],'args':_0x2daa1d};if(_0x4a3bbc==='npx'){const _0x44df68=resolveNpxCliJs();if(_0x44df68)return{'command':process['execPath'],'args':[_0x44df68,..._0x2daa1d]};const _0x1115ec=resolveExecutable('npx');if(_0x1115ec&&canSpawnDirectly(_0x1115ec))return{'command':_0x1115ec,'args':_0x2daa1d};throw new Error('npx\x20was\x20not\x20found.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npx\x20--version`\x20works,\x20then\x20retry.');}if(_0x4a3bbc==='npm'){const _0x682b52=resolveNpmCliJs();if(_0x682b52)return{'command':process['execPath'],'args':[_0x682b52,..._0x2daa1d]};const _0x4dcc7d=resolveExecutable('npm');if(_0x4dcc7d&&canSpawnDirectly(_0x4dcc7d))return{'command':_0x4dcc7d,'args':_0x2daa1d};throw new Error(_0x4dcc7d?'npm\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x4dcc7d+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Reinstall\x20Node.js\x20(https://nodejs.org)\x20so\x20node_modules/npm\x20is\x20present,\x20then\x20retry.':'npm\x20was\x20not\x20found.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npm\x20--version`\x20works,\x20then\x20retry.');}if(_0x4a3bbc==='uvx'){const _0x2247f1=resolveExecutable('uvx');if(_0x2247f1)return{'command':_0x2247f1,'args':_0x2daa1d};throw new Error('uvx\x20was\x20not\x20found.\x20Install\x20uv\x20(https://docs.astral.sh/uv/)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`uvx\x20--version`\x20works,\x20then\x20retry.');}if(_0x4a3bbc==='python'||_0x4a3bbc==='python3'||_0x4a3bbc==='py'){const _0x4f380e=resolveExecutable(_0x4a3bbc)??resolveExecutable('python3')??resolveExecutable('python');if(_0x4f380e)return{'command':_0x4f380e,'args':_0x2daa1d};throw new Error('python\x20was\x20not\x20found.\x20Install\x20Python\x20(https://www.python.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`python\x20--version`\x20works,\x20then\x20retry.');}if(path['isAbsolute'](_0x80e2be))return{'command':_0x80e2be,'args':_0x2daa1d};const _0x3d5401=resolveExecutable(_0x4a3bbc);if(_0x3d5401){if(canSpawnDirectly(_0x3d5401))return{'command':_0x3d5401,'args':_0x2daa1d};throw new Error('\x27'+_0x4a3bbc+'\x27\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x3d5401+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Use\x20a\x20node\x20script\x20(node\x20<entry.js>)\x20or\x20a\x20native\x20executable\x20instead.');}return{'command':_0x80e2be,'args':_0x2daa1d};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0xa34e4b,_0x43cbe3,_0x86eadf,_0x28ce1d){if(_0x28ce1d===undefined)_0x28ce1d=_0x86eadf;var _0x420842=Object['getOwnPropertyDescriptor'](_0x43cbe3,_0x86eadf);(!_0x420842||('get'in _0x420842?!_0x43cbe3['__esModule']:_0x420842['writable']||_0x420842['configurable']))&&(_0x420842={'enumerable':!![],'get':function(){return _0x43cbe3[_0x86eadf];}}),Object['defineProperty'](_0xa34e4b,_0x28ce1d,_0x420842);}:function(_0x3275d7,_0x20aa8d,_0x452da4,_0xab1b27){if(_0xab1b27===undefined)_0xab1b27=_0x452da4;_0x3275d7[_0xab1b27]=_0x20aa8d[_0x452da4];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x15bac9,_0x8d9d2){Object['defineProperty'](_0x15bac9,'default',{'enumerable':!![],'value':_0x8d9d2});}:function(_0x422276,_0x406cd6){_0x422276['default']=_0x406cd6;}),__importStar=this&&this['__importStar']||(function(){var _0x3abd0e=function(_0xe1182f){return _0x3abd0e=Object['getOwnPropertyNames']||function(_0x3bff32){var _0x4972d8=[];for(var _0x4fcb08 in _0x3bff32)if(Object['prototype']['hasOwnProperty']['call'](_0x3bff32,_0x4fcb08))_0x4972d8[_0x4972d8['length']]=_0x4fcb08;return _0x4972d8;},_0x3abd0e(_0xe1182f);};return function(_0x3bb7f3){if(_0x3bb7f3&&_0x3bb7f3['__esModule'])return _0x3bb7f3;var _0x458b0b={};if(_0x3bb7f3!=null){for(var _0x48a842=_0x3abd0e(_0x3bb7f3),_0x424500=0x0;_0x424500<_0x48a842['length'];_0x424500++)if(_0x48a842[_0x424500]!=='default')__createBinding(_0x458b0b,_0x3bb7f3,_0x48a842[_0x424500]);}return __setModuleDefault(_0x458b0b,_0x3bb7f3),_0x458b0b;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['dispatchMcpServer']=dispatchMcpServer,exports['runMcpServer']=runMcpServer;const readline=__importStar(require('readline')),fs=__importStar(require('fs')),child_process_1=require('child_process'),TOOLS=[{'name':'bash','description':'Execute\x20a\x20shell\x20command','inputSchema':{'type':'object','properties':{'command':{'type':'string'}}}},{'name':'read_file','description':'Read\x20a\x20file','inputSchema':{'type':'object','properties':{'path':{'type':'string'}}}},{'name':'write_file','description':'Write\x20a\x20file','inputSchema':{'type':'object','properties':{'path':{'type':'string'},'content':{'type':'string'}}}},{'name':'grep','description':'Search\x20file\x20contents','inputSchema':{'type':'object','properties':{'pattern':{'type':'string'}}}},{'name':'glob','description':'Find\x20files\x20by\x20glob','inputSchema':{'type':'object','properties':{'pattern':{'type':'string'}}}}];function send(_0x3ba885,_0x714fb8){if(_0x3ba885===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x3ba885,'result':_0x714fb8})+'\x0a');}function sendError(_0x29458e,_0x440950,_0x2aa41e){if(_0x29458e===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x29458e,'error':{'code':_0x440950,'message':_0x2aa41e}})+'\x0a');}function executeLocalTool(_0x5ca9ea,_0x284b81){if(_0x5ca9ea==='read_file'){const _0x4e7f35=String(_0x284b81['path']??'');if(!_0x4e7f35)throw new Error('missing\x20\x27path\x27');return fs['readFileSync'](_0x4e7f35,'utf8')['slice'](0x0,0x7d00);}if(_0x5ca9ea==='bash'){const _0x33ee3d=String(_0x284b81['command']??'');if(!_0x33ee3d)throw new Error('missing\x20\x27command\x27');const _0x38c576=(0x0,child_process_1['execFileSync'])(_0x33ee3d,{'shell':process['platform']==='win32'?'cmd.exe':'/bin/sh','timeout':0x2710,'maxBuffer':0x8000,'windowsHide':!![]});return String(_0x38c576)['slice'](0x0,0x7d00);}if(_0x5ca9ea==='grep'||_0x5ca9ea==='glob'||_0x5ca9ea==='write_file')throw new Error(_0x5ca9ea+'\x20is\x20not\x20executed\x20by\x20mcp-server\x20(use\x20the\x20CLI\x20tools\x20instead)');throw new Error('unknown\x20tool:\x20'+_0x5ca9ea);}async function dispatchMcpServer(_0x551d5c){switch(_0x551d5c['method']){case'initialize':send(_0x551d5c['id'],{'protocolVersion':'2024-11-05','serverInfo':{'name':'trayambak','version':'0.6.0'},'capabilities':{'tools':{}}});break;case'tools/list':send(_0x551d5c['id'],{'tools':TOOLS});break;case'tools/call':{const _0x99f61d=(_0x551d5c['params']??{})['name'],_0x29d940=(_0x551d5c['params']??{})['arguments']??{},_0x461b69=TOOLS['find'](_0x3fb29d=>_0x3fb29d['name']===_0x99f61d);if(!_0x461b69)sendError(_0x551d5c['id'],-0x7f5a,'unknown\x20tool:\x20'+_0x99f61d);else try{const _0x51ec29=executeLocalTool(_0x99f61d,_0x29d940);send(_0x551d5c['id'],{'content':[{'type':'text','text':_0x51ec29}]});}catch(_0x4ed9e0){send(_0x551d5c['id'],{'content':[{'type':'text','text':'error:\x20'+(_0x4ed9e0 instanceof Error?_0x4ed9e0['message']:String(_0x4ed9e0))}],'isError':!![]});}break;}case'resources/list':send(_0x551d5c['id'],{'resources':[]});break;case'prompts/list':send(_0x551d5c['id'],{'prompts':[]});break;default:sendError(_0x551d5c['id'],-0x7f59,'unknown\x20method:\x20'+_0x551d5c['method']);}}function runMcpServer(){const _0x2bcc4b=readline['createInterface']({'input':process['stdin'],'crlfDelay':Infinity});_0x2bcc4b['on']('line',_0x52668a=>{if(!_0x52668a['trim']())return;try{const _0x338ecc=JSON['parse'](_0x52668a);dispatchMcpServer(_0x338ecc)['catch'](_0x89d741=>sendError(_0x338ecc['id'],-0x7d00,String(_0x89d741)));}catch{}});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x1fa6b4,_0x3dc7b3,_0x188968,_0x35cda2){if(_0x35cda2===undefined)_0x35cda2=_0x188968;var _0x106df9=Object['getOwnPropertyDescriptor'](_0x3dc7b3,_0x188968);(!_0x106df9||('get'in _0x106df9?!_0x3dc7b3['__esModule']:_0x106df9['writable']||_0x106df9['configurable']))&&(_0x106df9={'enumerable':!![],'get':function(){return _0x3dc7b3[_0x188968];}}),Object['defineProperty'](_0x1fa6b4,_0x35cda2,_0x106df9);}:function(_0x510a21,_0x27b44c,_0x643c5e,_0x269bba){if(_0x269bba===undefined)_0x269bba=_0x643c5e;_0x510a21[_0x269bba]=_0x27b44c[_0x643c5e];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2f2dad,_0x2c4954){Object['defineProperty'](_0x2f2dad,'default',{'enumerable':!![],'value':_0x2c4954});}:function(_0x1c0108,_0x289117){_0x1c0108['default']=_0x289117;}),__importStar=this&&this['__importStar']||(function(){var _0x5ae3e9=function(_0x54d9a4){return _0x5ae3e9=Object['getOwnPropertyNames']||function(_0x271481){var _0x27c7e9=[];for(var _0x335969 in _0x271481)if(Object['prototype']['hasOwnProperty']['call'](_0x271481,_0x335969))_0x27c7e9[_0x27c7e9['length']]=_0x335969;return _0x27c7e9;},_0x5ae3e9(_0x54d9a4);};return function(_0xd41d1c){if(_0xd41d1c&&_0xd41d1c['__esModule'])return _0xd41d1c;var _0xb437c0={};if(_0xd41d1c!=null){for(var _0x2c8418=_0x5ae3e9(_0xd41d1c),_0x578baf=0x0;_0x578baf<_0x2c8418['length'];_0x578baf++)if(_0x2c8418[_0x578baf]!=='default')__createBinding(_0xb437c0,_0xd41d1c,_0x2c8418[_0x578baf]);}return __setModuleDefault(_0xb437c0,_0xd41d1c),_0xb437c0;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DEFAULT_MODES']=void 0x0,exports['getModeBySlug']=getModeBySlug,exports['loadRoomodes']=loadRoomodes;const fs=__importStar(require('fs')),path=__importStar(require('path'));exports['DEFAULT_MODES']=[{'slug':'code','name':'Code','roleDefinition':'Implement\x20features\x20and\x20fix\x20bugs.','groups':['read','edit','command','mcp']},{'slug':'architect','name':'Architect','roleDefinition':'Plan\x20high-level\x20architecture.','groups':['read','mcp','modes']},{'slug':'ask','name':'Ask','roleDefinition':'Answer\x20questions\x20about\x20the\x20codebase.','groups':['read','mcp']},{'slug':'debug','name':'Debug','roleDefinition':'Diagnose\x20failures\x20systematically.','groups':['read','edit','command','mcp']},{'slug':'orchestrator','name':'Orchestrator','roleDefinition':'Break\x20down\x20tasks\x20and\x20delegate.','groups':['read','modes','mcp']}];function getModeBySlug(_0xa39f48,_0x158489=[]){return[..._0x158489,...exports['DEFAULT_MODES']]['find'](_0x43fbe2=>_0x43fbe2['slug']===_0xa39f48);}function loadRoomodes(_0x1e2781=process['cwd']()){try{const _0x556a52=path['join'](_0x1e2781,'.roomodes');if(!fs['existsSync'](_0x556a52))return[];const _0x1b9feb=JSON['parse'](fs['readFileSync'](_0x556a52,'utf8'));if(!Array['isArray'](_0x1b9feb['customModes']))return[];return _0x1b9feb['customModes']['filter'](_0x5c5ad2=>typeof _0x5c5ad2?.['slug']==='string'&&Array['isArray'](_0x5c5ad2['groups']))['slice'](0x0,0x32);}catch{return[];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';function _0x22f9(){var _0x2847d2=['255510vxDyem','1298080YCUpRD','153CpudvA','18UsmlFH','1187060JLkfep','defineProperty','18644ErJcxl','374131yzJpac','1618183dRJPId','144096pAEteD','9zfgbMn'];_0x22f9=function(){return _0x2847d2;};return _0x22f9();}function _0x58d5(_0x23d885,_0x5a0bfb){_0x23d885=_0x23d885-0x1be;var _0x22f90e=_0x22f9();var _0x58d57a=_0x22f90e[_0x23d885];return _0x58d57a;}var _0x39f447=_0x58d5;(function(_0x3c7e82,_0x54151d){var _0x2819d7=_0x58d5,_0x5597a2=_0x3c7e82();while(!![]){try{var _0x3ffb5b=-parseInt(_0x2819d7(0x1c8))/0x1+parseInt(_0x2819d7(0x1c5))/0x2+-parseInt(_0x2819d7(0x1c0))/0x3*(parseInt(_0x2819d7(0x1c7))/0x4)+-parseInt(_0x2819d7(0x1c1))/0x5*(-parseInt(_0x2819d7(0x1c4))/0x6)+-parseInt(_0x2819d7(0x1be))/0x7+-parseInt(_0x2819d7(0x1bf))/0x8*(-parseInt(_0x2819d7(0x1c3))/0x9)+-parseInt(_0x2819d7(0x1c2))/0xa;if(_0x3ffb5b===_0x54151d)break;else _0x5597a2['push'](_0x5597a2['shift']());}catch(_0x221cc8){_0x5597a2['push'](_0x5597a2['shift']());}}}(_0x22f9,0x4a34d));Object[_0x39f447(0x1c6)](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['isAssistant']=isAssistant,exports['isToolResult']=isToolResult,exports['isUser']=isUser;function isAssistant(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['isAssistant']=isAssistant,exports['isToolResult']=isToolResult,exports['isUser']=isUser;function isAssistant(_0x405af0){return _0x405af0['role']==='assistant';}function isToolResult(_0x365856){return _0x365856['role']==='tool';}function isUser(_0x2aa6c3){return _0x2aa6c3['role']==='user';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DELETE_FORCE_ASK_RULES']=exports['FORCE_ASK_RULES']=void 0x0,exports['addSessionPermissionRule']=addSessionPermissionRule,exports['clearSessionPermissionRules']=clearSessionPermissionRules,exports['getSessionPermissionRules']=getSessionPermissionRules,exports['permissionSubject']=permissionSubject,exports['evaluatePermission']=evaluatePermission,exports['isPermissionDenied']=isPermissionDenied;const permissions_js_1=require('./permissions.js');exports['FORCE_ASK_RULES']=[{'tool':'*','pattern':'rm\x20-rf','action':'ask','reason':'recursive\x20force\x20delete'},{'tool':'*','pattern':'sudo\x20','action':'ask','reason':'privilege\x20escalation'},{'tool':'*','pattern':'shutdown','action':'ask','reason':'system\x20power'},{'tool':'*','pattern':'reboot','action':'ask','reason':'system\x20power'},{'tool':'*','pattern':'mkfs','action':'ask','reason':'filesystem\x20format'},{'tool':'*','pattern':'dd\x20if=','action':'ask','reason':'raw\x20disk\x20write'},{'tool':'*','pattern':'git\x20push\x20--force','action':'ask','reason':'force\x20push'},{'tool':'*','pattern':'git\x20push\x20-f','action':'ask','reason':'force\x20push'},{'tool':'*','pattern':'del\x20/s\x20/q','action':'ask','reason':'recursive\x20delete\x20(Windows)'},{'tool':'*','pattern':'Remove-Item\x20-Recurse\x20-Force','action':'ask','reason':'recursive\x20delete\x20(PowerShell)'},{'tool':'*','pattern':'format\x20','action':'ask','reason':'disk\x20format'},{'tool':'*','pattern':'\x20|\x20sh','action':'ask','reason':'pipe-to-shell\x20download'},{'tool':'*','pattern':'\x20|\x20bash','action':'ask','reason':'pipe-to-shell\x20download'},{'tool':'*','pattern':'iex\x20','action':'ask','reason':'PowerShell\x20Invoke-Expression\x20download'},{'tool':'*','pattern':'Invoke-Expression','action':'ask','reason':'PowerShell\x20Invoke-Expression\x20download'}],exports['DELETE_FORCE_ASK_RULES']=exports['FORCE_ASK_RULES']['filter'](
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DELETE_FORCE_ASK_RULES']=exports['FORCE_ASK_RULES']=void 0x0,exports['addSessionPermissionRule']=addSessionPermissionRule,exports['clearSessionPermissionRules']=clearSessionPermissionRules,exports['getSessionPermissionRules']=getSessionPermissionRules,exports['permissionSubject']=permissionSubject,exports['evaluatePermission']=evaluatePermission,exports['isPermissionDenied']=isPermissionDenied;const permissions_js_1=require('./permissions.js');exports['FORCE_ASK_RULES']=[{'tool':'*','pattern':'rm\x20-rf','action':'ask','reason':'recursive\x20force\x20delete'},{'tool':'*','pattern':'sudo\x20','action':'ask','reason':'privilege\x20escalation'},{'tool':'*','pattern':'shutdown','action':'ask','reason':'system\x20power'},{'tool':'*','pattern':'reboot','action':'ask','reason':'system\x20power'},{'tool':'*','pattern':'mkfs','action':'ask','reason':'filesystem\x20format'},{'tool':'*','pattern':'dd\x20if=','action':'ask','reason':'raw\x20disk\x20write'},{'tool':'*','pattern':'git\x20push\x20--force','action':'ask','reason':'force\x20push'},{'tool':'*','pattern':'git\x20push\x20-f','action':'ask','reason':'force\x20push'},{'tool':'*','pattern':'del\x20/s\x20/q','action':'ask','reason':'recursive\x20delete\x20(Windows)'},{'tool':'*','pattern':'Remove-Item\x20-Recurse\x20-Force','action':'ask','reason':'recursive\x20delete\x20(PowerShell)'},{'tool':'*','pattern':'format\x20','action':'ask','reason':'disk\x20format'},{'tool':'*','pattern':'\x20|\x20sh','action':'ask','reason':'pipe-to-shell\x20download'},{'tool':'*','pattern':'\x20|\x20bash','action':'ask','reason':'pipe-to-shell\x20download'},{'tool':'*','pattern':'iex\x20','action':'ask','reason':'PowerShell\x20Invoke-Expression\x20download'},{'tool':'*','pattern':'Invoke-Expression','action':'ask','reason':'PowerShell\x20Invoke-Expression\x20download'}],exports['DELETE_FORCE_ASK_RULES']=exports['FORCE_ASK_RULES']['filter'](_0x5c6aa6=>['recursive\x20force\x20delete','recursive\x20delete\x20(Windows)','recursive\x20delete\x20(PowerShell)','disk\x20format','filesystem\x20format']['includes'](_0x5c6aa6['reason']??''));let sessionRules=[];function addSessionPermissionRule(_0x3c29b7){sessionRules=sessionRules['filter'](_0x181c69=>!(_0x181c69['tool']===_0x3c29b7['tool']&&(_0x181c69['pattern']??'*')===(_0x3c29b7['pattern']??'*'))),sessionRules['unshift'](_0x3c29b7);}function clearSessionPermissionRules(){sessionRules=[];}function getSessionPermissionRules(){return sessionRules;}function globToRegExp(_0x21972b,_0x30866e){const _0x4a1adf=_0x21972b['replace'](/[.+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*/g,'.*');return new RegExp(_0x30866e?'^'+_0x4a1adf+'$':_0x4a1adf,'i');}function matchTool(_0x543a7c,_0x3a877f){if(!_0x3a877f||_0x3a877f==='*')return!![];if(_0x3a877f['includes']('*'))return globToRegExp(_0x3a877f,!![])['test'](_0x543a7c);return _0x3a877f['toLowerCase']()===_0x543a7c['toLowerCase']();}function matchSubject(_0x42cc33,_0x435633){if(!_0x435633||_0x435633==='*')return!![];return globToRegExp(_0x435633,![])['test'](_0x42cc33);}function permissionSubject(_0x45256a){if(typeof _0x45256a==='string')return _0x45256a;if(_0x45256a&&typeof _0x45256a==='object'){const _0x42ad32=_0x45256a;for(const _0x6fdcdd of['command','path','file_path','filePath','url','query','pattern']){const _0x1868c4=_0x42ad32[_0x6fdcdd];if(typeof _0x1868c4==='string'&&_0x1868c4['length']>0x0)return _0x1868c4;}try{return JSON['stringify'](_0x45256a)??'';}catch{return String(_0x45256a);}}return _0x45256a==null?'':String(_0x45256a);}function legacyToRules(_0x228742){return _0x228742['map'](_0x3d81c4=>({'tool':_0x3d81c4['tool'],'pattern':_0x3d81c4['pattern'],'action':_0x3d81c4['allow']?'allow':'deny'}));}function deriveUIMode(_0x2c2b08){if(_0x2c2b08['uiMode'])return _0x2c2b08['uiMode'];if(_0x2c2b08['mode']==='yolo'||_0x2c2b08['askByDefault']===![])return'auto-approve';return'ask';}function evaluatePermission(_0x44c6f7,_0xd0bdc5,_0x3aa60c=permissions_js_1['DEFAULT_PERMISSIONS'],_0x96af14){const _0x3b3381=permissionSubject(_0xd0bdc5),_0x4e8de2=_0x96af14?.['uiMode']??deriveUIMode(_0x3aa60c);if(_0x4e8de2==='full-access')return{'action':'allow','source':'mode','layer':'mode'};const _0x4aa537=_0x4e8de2==='auto-approve'?[['session',[...sessionRules]],['config',[..._0x3aa60c['rulesV2']??[]]]]:[['session',[...sessionRules]],['config',[..._0x3aa60c['rulesV2']??[]]],['default',legacyToRules(_0x3aa60c['rules']??[])]],_0x463424=_0x18d9c0=>matchTool(_0x44c6f7,_0x18d9c0['tool'])&&matchSubject(_0x3b3381,_0x18d9c0['pattern']);for(const [_0x2b8c8b,_0x91e192]of _0x4aa537){const _0x3db234=_0x91e192['find'](_0x598e1b=>_0x598e1b['action']==='deny'&&_0x463424(_0x598e1b));if(_0x3db234)return{'action':'deny','source':'deny-rule','rule':_0x3db234,'layer':_0x2b8c8b};const _0x3989cd=_0x91e192['find'](_0x1bee17=>_0x1bee17['action']==='allow'&&_0x463424(_0x1bee17));if(_0x3989cd)return{'action':'allow','source':'allow-rule','rule':_0x3989cd,'layer':_0x2b8c8b};}if(_0x4e8de2==='read-only'||_0x4e8de2==='plan')return permissions_js_1['READ_ONLY_TOOLS']['has'](_0x44c6f7)?{'action':'allow','source':'read-only-tool','layer':'mode'}:{'action':'deny','source':_0x4e8de2==='plan'?'plan-mode':'read-only-mode','layer':'mode'};if(permissions_js_1['READ_ONLY_TOOLS']['has'](_0x44c6f7))return{'action':'allow','source':'read-only-tool'};const _0x71d14a=_0x4e8de2==='auto-approve'?exports['DELETE_FORCE_ASK_RULES']:exports['FORCE_ASK_RULES'],_0x176873=_0x71d14a['find'](_0x4ae4e4=>matchTool(_0x44c6f7,_0x4ae4e4['tool'])&&matchSubject(_0x3b3381,_0x4ae4e4['pattern']));if(_0x176873)return{'action':'ask','source':'force-ask','rule':_0x176873,'layer':'force-ask'};if(_0x4e8de2==='auto-approve')return{'action':'allow','source':'mode','layer':'mode'};return{'action':'ask','source':'default','layer':'mode'};}function isPermissionDenied(_0x371c96,_0x4692ce,_0x56928e,_0x4c89be){return evaluatePermission(_0x371c96,_0x4692ce,_0x56928e,_0x4c89be)['action']==='deny';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['READ_ONLY_TOOLS']=exports['DEFAULT_PERMISSIONS']=void 0x0,exports['isCommandDangerous']=isCommandDangerous,exports['isCommandAllowed']=isCommandAllowed,exports['isYoloMode']=isYoloMode,exports['togglePermissionMode']=togglePermissionMode,exports['getPermissionBadge']=getPermissionBadge,exports['getPermissionModeLabel']=getPermissionModeLabel,exports['DEFAULT_PERMISSIONS']={'mode':'default','rules':[{'tool':'bash','pattern':'rm\x20-rf\x20/','allow':![]},{'tool':'bash','pattern':'rm\x20-rf\x20~','allow':![]},{'tool':'bash','pattern':'rm\x20-rf\x20.','allow':![]},{'tool':'bash','pattern':'del\x20/s\x20/q','allow':![]},{'tool':'bash','pattern':'format','allow':![]},{'tool':'bash','pattern':'shutdown','allow':![]},{'tool':'bash','pattern':'reboot','allow':![]},{'tool':'bash','pattern':'sudo','allow':![]},{'tool':'bash','pattern':'su\x20','allow':![]}],'askByDefault':!![]},exports['READ_ONLY_TOOLS']=new Set(['read_file','list_dir','glob','grep','code_search','read_manifest','web_search','web_fetch','web_browse','memory','todo','summarize','extract','diff','csv','yaml','artifact','get_mode','tool_search']);function isCommandDangerous(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['READ_ONLY_TOOLS']=exports['DEFAULT_PERMISSIONS']=void 0x0,exports['isCommandDangerous']=isCommandDangerous,exports['isCommandAllowed']=isCommandAllowed,exports['isYoloMode']=isYoloMode,exports['togglePermissionMode']=togglePermissionMode,exports['getPermissionBadge']=getPermissionBadge,exports['getPermissionModeLabel']=getPermissionModeLabel,exports['DEFAULT_PERMISSIONS']={'mode':'default','rules':[{'tool':'bash','pattern':'rm\x20-rf\x20/','allow':![]},{'tool':'bash','pattern':'rm\x20-rf\x20~','allow':![]},{'tool':'bash','pattern':'rm\x20-rf\x20.','allow':![]},{'tool':'bash','pattern':'del\x20/s\x20/q','allow':![]},{'tool':'bash','pattern':'format','allow':![]},{'tool':'bash','pattern':'shutdown','allow':![]},{'tool':'bash','pattern':'reboot','allow':![]},{'tool':'bash','pattern':'sudo','allow':![]},{'tool':'bash','pattern':'su\x20','allow':![]}],'askByDefault':!![]},exports['READ_ONLY_TOOLS']=new Set(['read_file','list_dir','glob','grep','code_search','read_manifest','web_search','web_fetch','web_browse','memory','todo','summarize','extract','diff','csv','yaml','artifact','get_mode','tool_search']);function isCommandDangerous(_0x4f43e9,_0x496ebb,_0x14b412){for(const _0x4cfa51 of _0x14b412['rules']){if((_0x4cfa51['tool']===_0x4f43e9||_0x4cfa51['tool']==='*')&&!_0x4cfa51['allow']){if(_0x4cfa51['pattern']==='*')return!![];const _0x2cdae3=_0x4cfa51['pattern']['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\s/g,'\x5cs+');if(new RegExp('\x5cb'+_0x2cdae3,'i')['test'](_0x496ebb))return!![];}}return![];}function isCommandAllowed(_0x235ab0,_0x41d436,_0x5025e8){if(isCommandDangerous(_0x235ab0,_0x41d436,_0x5025e8))return![];if(exports['READ_ONLY_TOOLS']['has'](_0x235ab0))return!![];return _0x5025e8['askByDefault']?![]:!![];}function isYoloMode(_0x2d24b2){return _0x2d24b2['mode']==='yolo'||_0x2d24b2['askByDefault']===![];}function togglePermissionMode(_0x1dfa63){const _0x3ea30d=isYoloMode(_0x1dfa63);return{..._0x1dfa63,'mode':_0x3ea30d?'default':'yolo','askByDefault':_0x3ea30d?!![]:![]};}function getPermissionBadge(_0x3d2fc5){return isYoloMode(_0x3d2fc5)?'YOLO':'ASK';}function getPermissionModeLabel(_0x4aa621){return isYoloMode(_0x4aa621)?'FULL':'ASK';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';var _0x43ffd8=_0x4773;function _0x4773(_0x3fdea8,_0x1cbc53){_0x3fdea8=_0x3fdea8-0x1b6;var _0x284758=_0x2847();var _0x47738f=_0x284758[_0x3fdea8];return _0x47738f;}(function(_0x54a6e3,_0x56ef2d){var _0x41722d=_0x4773,_0xc7340c=_0x54a6e3();while(!![]){try{var _0x2b233d=parseInt(_0x41722d(0x1be))/0x1*(parseInt(_0x41722d(0x1bf))/0x2)+-parseInt(_0x41722d(0x1ba))/0x3+-parseInt(_0x41722d(0x1c0))/0x4+-parseInt(_0x41722d(0x1bb))/0x5*(parseInt(_0x41722d(0x1b9))/0x6)+-parseInt(_0x41722d(0x1b8))/0x7*(parseInt(_0x41722d(0x1c1))/0x8)+-parseInt(_0x41722d(0x1b6))/0x9*(-parseInt(_0x41722d(0x1bc))/0xa)+parseInt(_0x41722d(0x1bd))/0xb;if(_0x2b233d===_0x56ef2d)break;else _0xc7340c['push'](_0xc7340c['shift']());}catch(_0x19ae9c){_0xc7340c['push'](_0xc7340c['shift']());}}}(_0x2847,0x2746c));function _0x2847(){var _0x1347e8=['defineProperty','994mLJYGx','48lvThqK','626124EATPbv','122945mRMpEw','255980HqlCXr','4564835sfvJXH','2Bhpdhx','100210wEwviN','335164EEIhLn','8264ZkffkL','99kvbAcB'];_0x2847=function(){return _0x1347e8;};return _0x2847();}Object[_0x43ffd8(0x1b7)](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['normalizeUrls']=normalizeUrls;function normalizeUrls(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['normalizeUrls']=normalizeUrls;function normalizeUrls(_0x26d83e){return _0x26d83e['replace'](/https?:\/\/\S+/g,_0xd3c0fa=>{const _0x1c7d1e=_0xd3c0fa['replace'](/[.,!?;:)"'\]]+$/,''),_0x418f9b=_0xd3c0fa['slice'](_0x1c7d1e['length']);try{const _0x581bb1=new URL(_0x1c7d1e),_0x2848d7=_0x1c7d1e['indexOf']('//')+0x2,_0x5e990e=_0x1c7d1e['indexOf']('/',_0x2848d7),_0x56a19c=_0x5e990e===-0x1?_0x1c7d1e['slice'](_0x2848d7):_0x1c7d1e['slice'](_0x2848d7,_0x5e990e),_0x9d8c5=_0x56a19c['indexOf'](':'),_0x2587c1=_0x9d8c5===-0x1?_0x56a19c:_0x56a19c['slice'](0x0,_0x9d8c5);if(_0x2587c1===_0x581bb1['hostname'])return _0xd3c0fa;return _0x1c7d1e['replace'](_0x2587c1,_0x581bb1['hostname'])+_0x418f9b;}catch{return _0xd3c0fa;}});}
|