@skt-ai-labs/trayambak-cli 0.6.4 → 0.6.5
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/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/roles.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/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(_0xfd8e3e,_0x379471,_0x374cd3,_0x55fe3f){if(_0x55fe3f===undefined)_0x55fe3f=_0x374cd3;var _0xe658a0=Object['getOwnPropertyDescriptor'](_0x379471,_0x374cd3);(!_0xe658a0||('get'in _0xe658a0?!_0x379471['__esModule']:_0xe658a0['writable']||_0xe658a0['configurable']))&&(_0xe658a0={'enumerable':!![],'get':function(){return _0x379471[_0x374cd3];}}),Object['defineProperty'](_0xfd8e3e,_0x55fe3f,_0xe658a0);}:function(_0x2dc795,_0x478e9c,_0x29e560,_0x372cd0){if(_0x372cd0===undefined)_0x372cd0=_0x29e560;_0x2dc795[_0x372cd0]=_0x478e9c[_0x29e560];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2fd8a9,_0x4c5c9a){Object['defineProperty'](_0x2fd8a9,'default',{'enumerable':!![],'value':_0x4c5c9a});}:function(_0x3f45a4,_0x5f47a4){_0x3f45a4['default']=_0x5f47a4;}),__importStar=this&&this['__importStar']||(function(){var _0x56e1f0=function(_0x4d3a93){return _0x56e1f0=Object['getOwnPropertyNames']||function(_0x4cca43){var _0x452fb3=[];for(var _0x3bc925 in _0x4cca43)if(Object['prototype']['hasOwnProperty']['call'](_0x4cca43,_0x3bc925))_0x452fb3[_0x452fb3['length']]=_0x3bc925;return _0x452fb3;},_0x56e1f0(_0x4d3a93);};return function(_0x2329d9){if(_0x2329d9&&_0x2329d9['__esModule'])return _0x2329d9;var _0x39c900={};if(_0x2329d9!=null){for(var _0x3e1555=_0x56e1f0(_0x2329d9),_0x54a657=0x0;_0x54a657<_0x3e1555['length'];_0x54a657++)if(_0x3e1555[_0x54a657]!=='default')__createBinding(_0x39c900,_0x2329d9,_0x3e1555[_0x54a657]);}return __setModuleDefault(_0x39c900,_0x2329d9),_0x39c900;};}());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(_0x40198c,_0x3fbcca,_0x572f62){super(_0x3fbcca),this['code']=_0x40198c,this['data']=_0x572f62;}}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(_0x535de1,_0x992a49){this['name']=_0x535de1,this['spec']=_0x992a49;}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 _0xec38ce=Date['now']();await new Promise((_0x156527,_0x3a4ab9)=>{const _0x1d8e4f=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0xec38ce>0x7530){clearInterval(_0x1d8e4f);if(this['reconnecting'])_0x3a4ab9(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x156527();}},0x32);});return;}const _0x6c20a1={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0x6c20a1):(this['spawnStdio'](),await this['request']('initialize',_0x6c20a1)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x33efbc,_0x5adc4b){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x33efbc,_0x5adc4b);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x33efbc,'params':_0x5adc4b})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x1394a9={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x418d43=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x418d43)_0x1394a9['Authorization']='Bearer\x20'+_0x418d43;}catch(_0x33d0f7){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x33d0f7 instanceof Error?_0x33d0f7['message']:String(_0x33d0f7));}return _0x1394a9;}async['postNotificationHttp'](_0x25cf25,_0x26eb44){const _0x1d552a=new url['URL'](this['spec']['url']),_0x3c994f=_0x1d552a['protocol']==='https:'?https:http,_0x572a4c=JSON['stringify']({'jsonrpc':'2.0','method':_0x25cf25,'params':_0x26eb44}),_0x57c01b=await this['httpHeaders']();return new Promise(_0x34b1a9=>{const _0x24a770=_0x3c994f['request']({'hostname':_0x1d552a['hostname'],'port':_0x1d552a['port']||(_0x1d552a['protocol']==='https:'?0x1bb:0x50),'path':_0x1d552a['pathname']+_0x1d552a['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x572a4c)),..._0x57c01b},'timeout':this['timeoutMs']},_0x1ce239=>{_0x1ce239['resume'](),_0x1ce239['on']('end',()=>_0x34b1a9());});_0x24a770['on']('error',()=>_0x34b1a9()),_0x24a770['on']('timeout',()=>{_0x24a770['destroy'](),_0x34b1a9();}),_0x24a770['end'](_0x572a4c);});}async['status'](){const _0x1854f8=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x4ce006=_0x1854f8||this['spec']['url']!==undefined;let _0x104d0e='disconnected';_0x4ce006&&(_0x104d0e=this['spec']['url']?'http':'stdio');const _0xdc81b5={'name':this['name'],'connected':_0x4ce006,'transport':_0x104d0e,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x4ce006&&this['spec']['url'])try{await this['request']('tools/list',{}),_0xdc81b5['connected']=!![];}catch(_0x1ad3fe){_0xdc81b5['connected']=![],_0xdc81b5['lastError']=_0x1ad3fe instanceof Error?_0x1ad3fe['message']:String(_0x1ad3fe);}return _0xdc81b5;}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'](_0x3a129d){await this['connect']();const _0x3d4331=_0x3a129d??this['cacheTtlMs'],_0x15e4f5=Date['now']();if(this['cachedTools']!==null&&_0x15e4f5-this['cachedToolsAt']<_0x3d4331)return this['cachedTools'];const _0x2be957=[];let _0x5acff9;for(let _0x5d0c42=0x0;_0x5d0c42<0x32;_0x5d0c42++){const _0x3eddfa=await this['request']('tools/list',_0x5acff9?{'cursor':_0x5acff9}:{});_0x2be957['push'](..._0x3eddfa?.['tools']??[]),_0x5acff9=_0x3eddfa?.['nextCursor'];if(!_0x5acff9)break;}return this['cachedTools']=_0x2be957,this['cachedToolsAt']=_0x15e4f5,_0x2be957;}async['listResources'](){await this['connect']();try{const _0x35ee88=[];let _0x4aad31;for(let _0x4f3fea=0x0;_0x4f3fea<0x32;_0x4f3fea++){const _0x5416a8=await this['request']('resources/list',_0x4aad31?{'cursor':_0x4aad31}:{});_0x35ee88['push'](..._0x5416a8?.['resources']??[]),_0x4aad31=_0x5416a8?.['nextCursor'];if(!_0x4aad31)break;}return _0x35ee88;}catch(_0x9e5431){if(_0x9e5431 instanceof McpError&&_0x9e5431['code']===-0x7f59)return[];throw _0x9e5431;}}async['readResource'](_0x10dca4){await this['connect']();try{const _0x226aae=await this['request']('resources/read',{'uri':_0x10dca4});if(_0x226aae?.['contents'])return _0x226aae['contents']['map'](_0x5b37f4=>typeof _0x5b37f4['text']==='string'?_0x5b37f4['text']:typeof _0x5b37f4['blob']==='string'?'[binary\x20'+(_0x5b37f4['mimeType']??'blob')+'\x20'+(_0x5b37f4['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0x5b37f4))['join']('\x0a');return'';}catch(_0xb0abc1){if(_0xb0abc1 instanceof McpError&&_0xb0abc1['code']===-0x7f59)return'';throw _0xb0abc1;}}async['listPrompts'](){await this['connect']();try{const _0x5cdc3f=[];let _0x56505;for(let _0x3e7638=0x0;_0x3e7638<0x32;_0x3e7638++){const _0x12a42f=await this['request']('prompts/list',_0x56505?{'cursor':_0x56505}:{});_0x5cdc3f['push'](..._0x12a42f?.['prompts']??[]),_0x56505=_0x12a42f?.['nextCursor'];if(!_0x56505)break;}return _0x5cdc3f;}catch(_0x50f25a){if(_0x50f25a instanceof McpError&&_0x50f25a['code']===-0x7f59)return[];throw _0x50f25a;}}async['getPrompt'](_0x49ca78,_0x160a4e){await this['connect']();try{const _0x4985fb=await this['request']('prompts/get',{'name':_0x49ca78,'arguments':_0x160a4e??{}}),_0x1fe932=_0x4985fb?.['messages']??_0x4985fb?.['prompt']?.['messages'];if(!_0x1fe932)return null;return{'name':_0x49ca78,'messages':_0x1fe932};}catch(_0xda7988){if(_0xda7988 instanceof McpError&&_0xda7988['code']===-0x7f59)return null;throw _0xda7988;}}async['callTool'](_0x59d282,_0x3ef0e5){return await this['connect'](),await this['request']('tools/call',{'name':_0x59d282,'arguments':_0x3ef0e5});}['close'](){const _0x34ea87=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(_0x34ea87&&_0x34ea87['exitCode']===null&&!_0x34ea87['killed']){_0x34ea87['kill']('SIGTERM');const _0x9ca76d=setTimeout(()=>{try{if(_0x34ea87['exitCode']===null)_0x34ea87['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x9ca76d['unref']==='function')_0x9ca76d['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x30e28e=this['spec'],_0x4120e6=_0x30e28e['command']??[];if(_0x4120e6['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x13526a,args:_0x3cde5b}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x4120e6);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x13526a,_0x3cde5b,{'cwd':_0x30e28e['cwd'],'env':{...process.env,..._0x30e28e['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0x1ecfcc=>{for(const _0x4e746b of String(_0x1ecfcc)['split']('\x0a')){const _0x5dcf71=_0x4e746b['trimEnd']();if(!_0x5dcf71)continue;this['stderrTail']['push'](_0x5dcf71['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0xc86a98=>{try{const _0x11a13a=JSON['parse'](_0xc86a98);if(_0x11a13a['id']===undefined)return;const _0x2afbc3=this['pending']['get'](_0x11a13a['id']);if(!_0x2afbc3)return;this['pending']['delete'](_0x11a13a['id']);const _0xb21abf=_0x11a13a;if(_0xb21abf['error']){const _0x36072e=new McpError(_0xb21abf['error']['code'],_0xb21abf['error']['message'],_0xb21abf['error']['data']);_0x2afbc3['reject'](_0x36072e);}else _0x2afbc3['resolve'](_0xb21abf['result']);}catch{}}),this['child']['on']('error',_0x359c98=>{this['lastError']=_0x359c98['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x359c98['message']));}),this['child']['on']('exit',_0x26506c=>{const _0x23108c=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x26506c??'signal')+'.'+_0x23108c,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x26506c??'signal')+'.'+_0x23108c));});}async['request'](_0x58686e,_0x5688a4){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'](_0x58686e,_0x5688a4);}try{return await this['requestHttp'](_0x58686e,_0x5688a4);}catch(_0x39b534){if(!(_0x39b534 instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x39b534;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x39b534['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'](_0x58686e,_0x5688a4);}}['requestStdio'](_0x26ca69,_0x2e6a49){const _0x32d7e3=this['nextId']++;return new Promise((_0x5c700c,_0x444433)=>{const _0x2ed1ea=setTimeout(()=>{this['pending']['delete'](_0x32d7e3);const _0x25477e=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x26ca69+'\x27.'+_0x25477e,_0x444433(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x26ca69+'\x27.'+_0x25477e));},this['timeoutMs']);this['pending']['set'](_0x32d7e3,{'resolve':_0x2856a1=>{clearTimeout(_0x2ed1ea),this['lastError']='',_0x5c700c(_0x2856a1);},'reject':_0x2c1baa=>{clearTimeout(_0x2ed1ea),this['lastError']=_0x2c1baa['message'],_0x444433(_0x2c1baa);}});const _0x2df949={'jsonrpc':'2.0','id':_0x32d7e3,'method':_0x26ca69,'params':_0x2e6a49};this['child']['stdin']['write'](JSON['stringify'](_0x2df949)+'\x0a');});}async['requestHttp'](_0x3807ca,_0x34d9b3){const _0x5c7e1f=new url['URL'](this['spec']['url']),_0x270b5a=_0x5c7e1f['protocol']==='https:'?https:http,_0x516c94=this['nextId']++,_0x18eef4={'jsonrpc':'2.0','id':_0x516c94,'method':_0x3807ca,'params':_0x34d9b3},_0x486507=JSON['stringify'](_0x18eef4),_0x4f6457={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x486507)),...await this['httpHeaders']()};return new Promise((_0x2f68cb,_0x4025fc)=>{const _0x5d9778=_0x270b5a['request']({'hostname':_0x5c7e1f['hostname'],'port':_0x5c7e1f['port']||(_0x5c7e1f['protocol']==='https:'?0x1bb:0x50),'path':_0x5c7e1f['pathname']+_0x5c7e1f['search'],'method':'POST','headers':_0x4f6457,'timeout':this['timeoutMs']},_0x319bb4=>{const _0x4ca337=_0x319bb4['statusCode']??0x0;let _0x1ee6ed='';_0x319bb4['setEncoding']('utf8'),_0x319bb4['on']('data',_0x284643=>_0x1ee6ed+=_0x284643),_0x319bb4['on']('end',()=>{if(_0x4ca337===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x4025fc(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x4ca337>=0x190){this['lastError']='HTTP\x20'+_0x4ca337,_0x4025fc(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x4ca337+'\x20from\x20'+this['spec']['url']+(_0x1ee6ed?':\x20'+_0x1ee6ed['slice'](0x0,0x12c):'')));return;}try{const _0x1573a6=_0x1ee6ed['split']('\x0a')['filter'](_0x3991ed=>_0x3991ed['startsWith']('data:'))['map'](_0x35215c=>_0x35215c['slice'](0x5)['trim']())['filter'](_0x313898=>_0x313898['length']>0x0&&_0x313898!=='[DONE]');let _0x24cd6a=null,_0x4c2194=![];for(const _0x1b03ac of _0x1573a6){try{const _0x2de136=JSON['parse'](_0x1b03ac);_0x4c2194=!![];if(_0x2de136['id']!==undefined&&_0x2de136['id']!==_0x516c94)continue;_0x24cd6a=_0x2de136;break;}catch{}}const _0x3c6884=_0x24cd6a??(_0x4c2194?null:JSON['parse'](_0x1ee6ed));if(!_0x3c6884)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0x3c6884['id']!==undefined&&_0x3c6884['id']!==_0x516c94)return;_0x3c6884['error']?_0x4025fc(new McpError(_0x3c6884['error']['code'],_0x3c6884['error']['message'],_0x3c6884['error']['data'])):(this['lastError']='',_0x2f68cb(_0x3c6884['result']));}catch(_0x2f45e5){this['lastError']=_0x2f45e5 instanceof Error?_0x2f45e5['message']:String(_0x2f45e5),_0x4025fc(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x2f45e5 instanceof Error?_0x2f45e5['message']:String(_0x2f45e5))));}});});_0x5d9778['on']('error',_0x215580=>{this['lastError']=_0x215580['message'],_0x4025fc(new Error('MCP\x20'+this['name']+':\x20'+_0x215580['message']));}),_0x5d9778['on']('timeout',()=>{_0x5d9778['destroy'](),this['lastError']='timeout',_0x4025fc(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x5d9778['end'](_0x486507);});}['rejectAll'](_0x2c198d){for(const [,_0x356523]of this['pending'])_0x356523['reject'](_0x2c198d);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x464c7a,_0xeb05cd){return new McpConnection(_0x464c7a,_0xeb05cd);}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(_0x5e7d3a,_0x3e8866,_0x14403d,_0x4c3888){if(_0x4c3888===undefined)_0x4c3888=_0x14403d;var _0x9b7203=Object['getOwnPropertyDescriptor'](_0x3e8866,_0x14403d);(!_0x9b7203||('get'in _0x9b7203?!_0x3e8866['__esModule']:_0x9b7203['writable']||_0x9b7203['configurable']))&&(_0x9b7203={'enumerable':!![],'get':function(){return _0x3e8866[_0x14403d];}}),Object['defineProperty'](_0x5e7d3a,_0x4c3888,_0x9b7203);}:function(_0x311371,_0x416800,_0x40496b,_0x43fe64){if(_0x43fe64===undefined)_0x43fe64=_0x40496b;_0x311371[_0x43fe64]=_0x416800[_0x40496b];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x245e04,_0x20f313){Object['defineProperty'](_0x245e04,'default',{'enumerable':!![],'value':_0x20f313});}:function(_0x5eac1c,_0x40fa1c){_0x5eac1c['default']=_0x40fa1c;}),__importStar=this&&this['__importStar']||(function(){var _0x28b339=function(_0x5e72f7){return _0x28b339=Object['getOwnPropertyNames']||function(_0x2e377f){var _0x394e39=[];for(var _0x1b6043 in _0x2e377f)if(Object['prototype']['hasOwnProperty']['call'](_0x2e377f,_0x1b6043))_0x394e39[_0x394e39['length']]=_0x1b6043;return _0x394e39;},_0x28b339(_0x5e72f7);};return function(_0x30685c){if(_0x30685c&&_0x30685c['__esModule'])return _0x30685c;var _0x2096cd={};if(_0x30685c!=null){for(var _0x1b981d=_0x28b339(_0x30685c),_0x2c0481=0x0;_0x2c0481<_0x1b981d['length'];_0x2c0481++)if(_0x1b981d[_0x2c0481]!=='default')__createBinding(_0x2096cd,_0x30685c,_0x1b981d[_0x2c0481]);}return __setModuleDefault(_0x2096cd,_0x30685c),_0x2096cd;};}());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(_0x101aac,_0x978101,_0xf5901a){super(_0x978101),this['code']=_0x101aac,this['data']=_0xf5901a;}}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(_0x346f2d,_0x1c31c9){this['name']=_0x346f2d,this['spec']=_0x1c31c9;}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 _0x329c2c=Date['now']();await new Promise((_0x3760d6,_0x5c5a8b)=>{const _0x276c33=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0x329c2c>0x7530){clearInterval(_0x276c33);if(this['reconnecting'])_0x5c5a8b(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x3760d6();}},0x32);});return;}const _0x200574={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0x200574):(this['spawnStdio'](),await this['request']('initialize',_0x200574)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x4d6fa7,_0x309a7e){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x4d6fa7,_0x309a7e);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x4d6fa7,'params':_0x309a7e})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x30d208={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x3c814a=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x3c814a)_0x30d208['Authorization']='Bearer\x20'+_0x3c814a;}catch(_0x18328b){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x18328b instanceof Error?_0x18328b['message']:String(_0x18328b));}return _0x30d208;}async['postNotificationHttp'](_0x4761d6,_0x223a80){const _0x1e3cf2=new url['URL'](this['spec']['url']),_0x2083b7=_0x1e3cf2['protocol']==='https:'?https:http,_0x570b49=JSON['stringify']({'jsonrpc':'2.0','method':_0x4761d6,'params':_0x223a80}),_0x4dcaf9=await this['httpHeaders']();return new Promise(_0xd23f12=>{const _0x1197f4=_0x2083b7['request']({'hostname':_0x1e3cf2['hostname'],'port':_0x1e3cf2['port']||(_0x1e3cf2['protocol']==='https:'?0x1bb:0x50),'path':_0x1e3cf2['pathname']+_0x1e3cf2['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x570b49)),..._0x4dcaf9},'timeout':this['timeoutMs']},_0x14ac75=>{_0x14ac75['resume'](),_0x14ac75['on']('end',()=>_0xd23f12());});_0x1197f4['on']('error',()=>_0xd23f12()),_0x1197f4['on']('timeout',()=>{_0x1197f4['destroy'](),_0xd23f12();}),_0x1197f4['end'](_0x570b49);});}async['status'](){const _0x50e5c6=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x19dc07=_0x50e5c6||this['spec']['url']!==undefined;let _0x2e6ecf='disconnected';_0x19dc07&&(_0x2e6ecf=this['spec']['url']?'http':'stdio');const _0x3847ac={'name':this['name'],'connected':_0x19dc07,'transport':_0x2e6ecf,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x19dc07&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x3847ac['connected']=!![];}catch(_0x19810f){_0x3847ac['connected']=![],_0x3847ac['lastError']=_0x19810f instanceof Error?_0x19810f['message']:String(_0x19810f);}return _0x3847ac;}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'](_0xd3af6a){await this['connect']();const _0x168c06=_0xd3af6a??this['cacheTtlMs'],_0x509b1e=Date['now']();if(this['cachedTools']!==null&&_0x509b1e-this['cachedToolsAt']<_0x168c06)return this['cachedTools'];const _0x540e79=[];let _0x392a4e;for(let _0x3c61a3=0x0;_0x3c61a3<0x32;_0x3c61a3++){const _0x2d8f38=await this['request']('tools/list',_0x392a4e?{'cursor':_0x392a4e}:{});_0x540e79['push'](..._0x2d8f38?.['tools']??[]),_0x392a4e=_0x2d8f38?.['nextCursor'];if(!_0x392a4e)break;}return this['cachedTools']=_0x540e79,this['cachedToolsAt']=_0x509b1e,_0x540e79;}async['listResources'](){await this['connect']();try{const _0x3f7f5f=[];let _0x5d1b93;for(let _0x13ea1d=0x0;_0x13ea1d<0x32;_0x13ea1d++){const _0x3be4ac=await this['request']('resources/list',_0x5d1b93?{'cursor':_0x5d1b93}:{});_0x3f7f5f['push'](..._0x3be4ac?.['resources']??[]),_0x5d1b93=_0x3be4ac?.['nextCursor'];if(!_0x5d1b93)break;}return _0x3f7f5f;}catch(_0x5057f1){if(_0x5057f1 instanceof McpError&&_0x5057f1['code']===-0x7f59)return[];throw _0x5057f1;}}async['readResource'](_0x122e34){await this['connect']();try{const _0x271f09=await this['request']('resources/read',{'uri':_0x122e34});if(_0x271f09?.['contents'])return _0x271f09['contents']['map'](_0x3cb45b=>typeof _0x3cb45b['text']==='string'?_0x3cb45b['text']:typeof _0x3cb45b['blob']==='string'?'[binary\x20'+(_0x3cb45b['mimeType']??'blob')+'\x20'+(_0x3cb45b['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0x3cb45b))['join']('\x0a');return'';}catch(_0x47345a){if(_0x47345a instanceof McpError&&_0x47345a['code']===-0x7f59)return'';throw _0x47345a;}}async['listPrompts'](){await this['connect']();try{const _0x3a60d7=[];let _0x1ad152;for(let _0x28f528=0x0;_0x28f528<0x32;_0x28f528++){const _0x4dfd4f=await this['request']('prompts/list',_0x1ad152?{'cursor':_0x1ad152}:{});_0x3a60d7['push'](..._0x4dfd4f?.['prompts']??[]),_0x1ad152=_0x4dfd4f?.['nextCursor'];if(!_0x1ad152)break;}return _0x3a60d7;}catch(_0x42bd60){if(_0x42bd60 instanceof McpError&&_0x42bd60['code']===-0x7f59)return[];throw _0x42bd60;}}async['getPrompt'](_0x599010,_0x4c0b3d){await this['connect']();try{const _0x32d57e=await this['request']('prompts/get',{'name':_0x599010,'arguments':_0x4c0b3d??{}}),_0x39ec59=_0x32d57e?.['messages']??_0x32d57e?.['prompt']?.['messages'];if(!_0x39ec59)return null;return{'name':_0x599010,'messages':_0x39ec59};}catch(_0x15862a){if(_0x15862a instanceof McpError&&_0x15862a['code']===-0x7f59)return null;throw _0x15862a;}}async['callTool'](_0xcc52db,_0x2cdd20){return await this['connect'](),await this['request']('tools/call',{'name':_0xcc52db,'arguments':_0x2cdd20});}['close'](){const _0x87c6ee=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(_0x87c6ee&&_0x87c6ee['exitCode']===null&&!_0x87c6ee['killed']){_0x87c6ee['kill']('SIGTERM');const _0x4c1af9=setTimeout(()=>{try{if(_0x87c6ee['exitCode']===null)_0x87c6ee['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x4c1af9['unref']==='function')_0x4c1af9['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x200135=this['spec'],_0x38ca97=_0x200135['command']??[];if(_0x38ca97['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x51279e,args:_0x3c96ce}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x38ca97);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x51279e,_0x3c96ce,{'cwd':_0x200135['cwd'],'env':{...process.env,..._0x200135['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0x37347e=>{for(const _0x9b4b47 of String(_0x37347e)['split']('\x0a')){const _0x123569=_0x9b4b47['trimEnd']();if(!_0x123569)continue;this['stderrTail']['push'](_0x123569['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x548d80=>{try{const _0x43de64=JSON['parse'](_0x548d80);if(_0x43de64['id']===undefined)return;const _0x4dd0e4=this['pending']['get'](_0x43de64['id']);if(!_0x4dd0e4)return;this['pending']['delete'](_0x43de64['id']);const _0x2efe86=_0x43de64;if(_0x2efe86['error']){const _0x4cd437=new McpError(_0x2efe86['error']['code'],_0x2efe86['error']['message'],_0x2efe86['error']['data']);_0x4dd0e4['reject'](_0x4cd437);}else _0x4dd0e4['resolve'](_0x2efe86['result']);}catch{}}),this['child']['on']('error',_0x1f34a2=>{this['lastError']=_0x1f34a2['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x1f34a2['message']));}),this['child']['on']('exit',_0x3d0241=>{const _0x3e82dc=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x3d0241??'signal')+'.'+_0x3e82dc,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x3d0241??'signal')+'.'+_0x3e82dc));});}async['request'](_0x3f72db,_0x433a9f){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'](_0x3f72db,_0x433a9f);}try{return await this['requestHttp'](_0x3f72db,_0x433a9f);}catch(_0x22e762){if(!(_0x22e762 instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x22e762;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x22e762['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'](_0x3f72db,_0x433a9f);}}['requestStdio'](_0xf7ebca,_0x30e4bd){const _0x1cd0a2=this['nextId']++;return new Promise((_0x490d5f,_0x2d6d98)=>{const _0x380a0f=setTimeout(()=>{this['pending']['delete'](_0x1cd0a2);const _0x312e04=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0xf7ebca+'\x27.'+_0x312e04,_0x2d6d98(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0xf7ebca+'\x27.'+_0x312e04));},this['timeoutMs']);this['pending']['set'](_0x1cd0a2,{'resolve':_0x39bd55=>{clearTimeout(_0x380a0f),this['lastError']='',_0x490d5f(_0x39bd55);},'reject':_0x244c72=>{clearTimeout(_0x380a0f),this['lastError']=_0x244c72['message'],_0x2d6d98(_0x244c72);}});const _0x31f3b2={'jsonrpc':'2.0','id':_0x1cd0a2,'method':_0xf7ebca,'params':_0x30e4bd};this['child']['stdin']['write'](JSON['stringify'](_0x31f3b2)+'\x0a');});}async['requestHttp'](_0x3c51b1,_0x2a1a79){const _0x3884a7=new url['URL'](this['spec']['url']),_0x367b70=_0x3884a7['protocol']==='https:'?https:http,_0x4530f8=this['nextId']++,_0x4bfd5={'jsonrpc':'2.0','id':_0x4530f8,'method':_0x3c51b1,'params':_0x2a1a79},_0x3f68a1=JSON['stringify'](_0x4bfd5),_0x1c7192={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x3f68a1)),...await this['httpHeaders']()};return new Promise((_0x3ea083,_0x35d112)=>{const _0x2a955e=_0x367b70['request']({'hostname':_0x3884a7['hostname'],'port':_0x3884a7['port']||(_0x3884a7['protocol']==='https:'?0x1bb:0x50),'path':_0x3884a7['pathname']+_0x3884a7['search'],'method':'POST','headers':_0x1c7192,'timeout':this['timeoutMs']},_0x1f4859=>{const _0x87c0e=_0x1f4859['statusCode']??0x0;let _0x3982d6='';_0x1f4859['setEncoding']('utf8'),_0x1f4859['on']('data',_0x3e7245=>_0x3982d6+=_0x3e7245),_0x1f4859['on']('end',()=>{if(_0x87c0e===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x35d112(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x87c0e>=0x190){this['lastError']='HTTP\x20'+_0x87c0e,_0x35d112(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x87c0e+'\x20from\x20'+this['spec']['url']+(_0x3982d6?':\x20'+_0x3982d6['slice'](0x0,0x12c):'')));return;}try{const _0x1607c9=_0x3982d6['split']('\x0a')['filter'](_0x187d70=>_0x187d70['startsWith']('data:'))['map'](_0x23f5dd=>_0x23f5dd['slice'](0x5)['trim']())['filter'](_0x27e897=>_0x27e897['length']>0x0&&_0x27e897!=='[DONE]');let _0xa04ffb=null,_0x17c841=![];for(const _0x55eb55 of _0x1607c9){try{const _0x3a2b07=JSON['parse'](_0x55eb55);_0x17c841=!![];if(_0x3a2b07['id']!==undefined&&_0x3a2b07['id']!==_0x4530f8)continue;_0xa04ffb=_0x3a2b07;break;}catch{}}const _0x1b7dbd=_0xa04ffb??(_0x17c841?null:JSON['parse'](_0x3982d6));if(!_0x1b7dbd)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0x1b7dbd['id']!==undefined&&_0x1b7dbd['id']!==_0x4530f8)return;_0x1b7dbd['error']?_0x35d112(new McpError(_0x1b7dbd['error']['code'],_0x1b7dbd['error']['message'],_0x1b7dbd['error']['data'])):(this['lastError']='',_0x3ea083(_0x1b7dbd['result']));}catch(_0x2702fa){this['lastError']=_0x2702fa instanceof Error?_0x2702fa['message']:String(_0x2702fa),_0x35d112(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x2702fa instanceof Error?_0x2702fa['message']:String(_0x2702fa))));}});});_0x2a955e['on']('error',_0x357e00=>{this['lastError']=_0x357e00['message'],_0x35d112(new Error('MCP\x20'+this['name']+':\x20'+_0x357e00['message']));}),_0x2a955e['on']('timeout',()=>{_0x2a955e['destroy'](),this['lastError']='timeout',_0x35d112(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x2a955e['end'](_0x3f68a1);});}['rejectAll'](_0x28685b){for(const [,_0x513b54]of this['pending'])_0x513b54['reject'](_0x28685b);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x53dc1e,_0x26409c){return new McpConnection(_0x53dc1e,_0x26409c);}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(_0x498bb4,_0x59215e,_0x3f7a38,_0x285992){if(_0x285992===undefined)_0x285992=_0x3f7a38;var _0x31375f=Object['getOwnPropertyDescriptor'](_0x59215e,_0x3f7a38);(!_0x31375f||('get'in _0x31375f?!_0x59215e['__esModule']:_0x31375f['writable']||_0x31375f['configurable']))&&(_0x31375f={'enumerable':!![],'get':function(){return _0x59215e[_0x3f7a38];}}),Object['defineProperty'](_0x498bb4,_0x285992,_0x31375f);}:function(_0xc1c53a,_0x68f596,_0x51aba9,_0x59e0f9){if(_0x59e0f9===undefined)_0x59e0f9=_0x51aba9;_0xc1c53a[_0x59e0f9]=_0x68f596[_0x51aba9];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x54bc72,_0xdf6374){Object['defineProperty'](_0x54bc72,'default',{'enumerable':!![],'value':_0xdf6374});}:function(_0x4590ef,_0x32942b){_0x4590ef['default']=_0x32942b;}),__importStar=this&&this['__importStar']||(function(){var _0x553b29=function(_0x151c12){return _0x553b29=Object['getOwnPropertyNames']||function(_0x45579b){var _0x1bfda1=[];for(var _0x1aae96 in _0x45579b)if(Object['prototype']['hasOwnProperty']['call'](_0x45579b,_0x1aae96))_0x1bfda1[_0x1bfda1['length']]=_0x1aae96;return _0x1bfda1;},_0x553b29(_0x151c12);};return function(_0x406c1b){if(_0x406c1b&&_0x406c1b['__esModule'])return _0x406c1b;var _0x45d8d9={};if(_0x406c1b!=null){for(var _0xfb9341=_0x553b29(_0x406c1b),_0x7167fe=0x0;_0x7167fe<_0xfb9341['length'];_0x7167fe++)if(_0xfb9341[_0x7167fe]!=='default')__createBinding(_0x45d8d9,_0x406c1b,_0xfb9341[_0x7167fe]);}return __setModuleDefault(_0x45d8d9,_0x406c1b),_0x45d8d9;};}());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(_0x19dd4f){if(!_0x19dd4f)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x2ad0b4=new URL(_0x19dd4f),_0xb8578b=_0x2ad0b4['port']?parseInt(_0x2ad0b4['port'],0xa):_0x2ad0b4['protocol']==='https:'?0x1bb:0x50,_0x36696c=_0x2ad0b4['pathname']&&_0x2ad0b4['pathname']!=='/'?_0x2ad0b4['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0xb8578b,'path':_0x36696c};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0xa46dc5){return _0xa46dc5['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=_0x25a6ad=>'<!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(_0x25a6ad)+'</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(_0x19985e){for(const [_0x3fc4ab,_0x27245b]of mcpNameToState){if(_0x27245b===_0x19985e){mcpNameToState['delete'](_0x3fc4ab);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x5920e7=server;server=undefined,_0x5920e7['close'](),setImmediate(()=>{;_0x5920e7['closeIdleConnections']?.();});}function handleRequest(_0x14f64c,_0xbcb85c){const _0x6c9900=new URL(_0x14f64c['url']||'/','http://127.0.0.1:'+currentPort);if(_0x6c9900['pathname']!==currentPath){_0xbcb85c['writeHead'](0x194),_0xbcb85c['end']('Not\x20found');return;}const _0x5b41b2=_0x6c9900['searchParams']['get']('code'),_0x540c06=_0x6c9900['searchParams']['get']('state'),_0x3b27ab=_0x6c9900['searchParams']['get']('error'),_0x6081f3=_0x6c9900['searchParams']['get']('error_description');if(!_0x540c06){const _0x327be2='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0xbcb85c['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xbcb85c['end'](HTML_ERROR(_0x327be2));return;}if(_0x3b27ab){const _0x2f3c94=_0x6081f3||_0x3b27ab,_0xfbe687=pendingAuths['get'](_0x540c06);_0xfbe687&&(clearTimeout(_0xfbe687['timeout']),pendingAuths['delete'](_0x540c06),cleanupStateIndex(_0x540c06),_0xfbe687['reject'](new Error(_0x2f3c94)));_0xbcb85c['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xbcb85c['end'](HTML_ERROR(_0x2f3c94)),stopIfIdle();return;}if(!_0x5b41b2){_0xbcb85c['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xbcb85c['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x540c06)){const _0x304c64='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0xbcb85c['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xbcb85c['end'](HTML_ERROR(_0x304c64));return;}const _0x17710b=pendingAuths['get'](_0x540c06);clearTimeout(_0x17710b['timeout']),pendingAuths['delete'](_0x540c06),cleanupStateIndex(_0x540c06),_0x17710b['resolve'](_0x5b41b2),_0xbcb85c['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xbcb85c['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x8bc229=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x53f3df=>{const _0x3bd9a9=net['createConnection'](_0x8bc229,'127.0.0.1');_0x3bd9a9['on']('connect',()=>{_0x3bd9a9['destroy'](),_0x53f3df(!![]);}),_0x3bd9a9['on']('error',()=>{_0x53f3df(![]);});});}function listen(_0x928719,_0x27b710){return new Promise(_0x3e27b4=>{const _0x1a754b=http['createServer'](handleRequest),_0x4ab2aa=()=>{_0x1a754b['removeListener']('listening',_0x349a80),_0x3e27b4(![]);},_0x349a80=()=>{_0x1a754b['removeListener']('error',_0x4ab2aa),_0x1a754b['on']('error',()=>{}),server=_0x1a754b,currentPort=_0x928719,currentPath=_0x27b710,_0x3e27b4(!![]);};_0x1a754b['once']('error',_0x4ab2aa),_0x1a754b['once']('listening',_0x349a80),_0x1a754b['listen'](_0x928719,'127.0.0.1');});}async function ensureRunning(_0xabcfb4){const _0x366f22=parseRedirectUri(_0xabcfb4);if(server){const _0x1b1c6a=_0xabcfb4?currentPort===_0x366f22['port']&¤tPath===_0x366f22['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x1b1c6a)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0xabcfb4){const _0x38ec73=await listen(_0x366f22['port'],_0x366f22['path']);if(!_0x38ec73)throw new Error('OAuth\x20callback\x20port\x20'+_0x366f22['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x568ece=![];for(let _0x399c80=exports['OAUTH_CALLBACK_PORT'];_0x399c80<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x568ece;_0x399c80++){_0x568ece=await listen(_0x399c80,exports['OAUTH_CALLBACK_PATH']);}if(!_0x568ece)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(_0x28a807,_0x376907,_0x58eeaa=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x376907)mcpNameToState['set'](_0x376907,_0x28a807);return new Promise((_0x23beee,_0x7a2344)=>{const _0x4280f7=setTimeout(()=>{if(pendingAuths['has'](_0x28a807)){pendingAuths['delete'](_0x28a807);if(_0x376907)mcpNameToState['delete'](_0x376907);_0x7a2344(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x58eeaa);pendingAuths['set'](_0x28a807,{'resolve':_0x23beee,'reject':_0x7a2344,'timeout':_0x4280f7});});}function cancelPending(_0x347a02){const _0x38b747=mcpNameToState['get'](_0x347a02),_0x271c0c=_0x38b747??_0x347a02,_0x153e7e=pendingAuths['get'](_0x271c0c);_0x153e7e&&(clearTimeout(_0x153e7e['timeout']),pendingAuths['delete'](_0x271c0c),mcpNameToState['delete'](_0x347a02),_0x153e7e['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x42e275=server;server=undefined,_0x42e275['closeAllConnections']?.(),await new Promise(_0x4cfa2f=>_0x42e275['close'](()=>_0x4cfa2f()));}for(const [,_0x1d70b6]of pendingAuths){clearTimeout(_0x1d70b6['timeout']),_0x1d70b6['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(_0x7693e3,_0x232845,_0x1440d6,_0x4af43d){if(_0x4af43d===undefined)_0x4af43d=_0x1440d6;var _0x464b1a=Object['getOwnPropertyDescriptor'](_0x232845,_0x1440d6);(!_0x464b1a||('get'in _0x464b1a?!_0x232845['__esModule']:_0x464b1a['writable']||_0x464b1a['configurable']))&&(_0x464b1a={'enumerable':!![],'get':function(){return _0x232845[_0x1440d6];}}),Object['defineProperty'](_0x7693e3,_0x4af43d,_0x464b1a);}:function(_0x55d023,_0xa49f16,_0x425bfc,_0x49ec19){if(_0x49ec19===undefined)_0x49ec19=_0x425bfc;_0x55d023[_0x49ec19]=_0xa49f16[_0x425bfc];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x20b531,_0x9033f6){Object['defineProperty'](_0x20b531,'default',{'enumerable':!![],'value':_0x9033f6});}:function(_0x225f8a,_0x2f6688){_0x225f8a['default']=_0x2f6688;}),__importStar=this&&this['__importStar']||(function(){var _0x30efa9=function(_0x151def){return _0x30efa9=Object['getOwnPropertyNames']||function(_0x43acbb){var _0x235229=[];for(var _0x4b2872 in _0x43acbb)if(Object['prototype']['hasOwnProperty']['call'](_0x43acbb,_0x4b2872))_0x235229[_0x235229['length']]=_0x4b2872;return _0x235229;},_0x30efa9(_0x151def);};return function(_0x37e6a9){if(_0x37e6a9&&_0x37e6a9['__esModule'])return _0x37e6a9;var _0x351aad={};if(_0x37e6a9!=null){for(var _0x5c46b7=_0x30efa9(_0x37e6a9),_0xe9c4ba=0x0;_0xe9c4ba<_0x5c46b7['length'];_0xe9c4ba++)if(_0x5c46b7[_0xe9c4ba]!=='default')__createBinding(_0x351aad,_0x37e6a9,_0x5c46b7[_0xe9c4ba]);}return __setModuleDefault(_0x351aad,_0x37e6a9),_0x351aad;};}());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(_0x3c30c9){if(!_0x3c30c9)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x152e4f=new URL(_0x3c30c9),_0x4108d6=_0x152e4f['port']?parseInt(_0x152e4f['port'],0xa):_0x152e4f['protocol']==='https:'?0x1bb:0x50,_0x1fc3f0=_0x152e4f['pathname']&&_0x152e4f['pathname']!=='/'?_0x152e4f['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x4108d6,'path':_0x1fc3f0};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x36fe38){return _0x36fe38['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=_0x23c9f4=>'<!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(_0x23c9f4)+'</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(_0x1c067d){for(const [_0x57b9c9,_0xba1e84]of mcpNameToState){if(_0xba1e84===_0x1c067d){mcpNameToState['delete'](_0x57b9c9);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x31dffb=server;server=undefined,_0x31dffb['close'](),setImmediate(()=>{;_0x31dffb['closeIdleConnections']?.();});}function handleRequest(_0x5ed627,_0x3f2a19){const _0x5ef5d3=new URL(_0x5ed627['url']||'/','http://127.0.0.1:'+currentPort);if(_0x5ef5d3['pathname']!==currentPath){_0x3f2a19['writeHead'](0x194),_0x3f2a19['end']('Not\x20found');return;}const _0xdae579=_0x5ef5d3['searchParams']['get']('code'),_0x138641=_0x5ef5d3['searchParams']['get']('state'),_0x1721cf=_0x5ef5d3['searchParams']['get']('error'),_0x5635b1=_0x5ef5d3['searchParams']['get']('error_description');if(!_0x138641){const _0x30d309='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x3f2a19['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x3f2a19['end'](HTML_ERROR(_0x30d309));return;}if(_0x1721cf){const _0x228a96=_0x5635b1||_0x1721cf,_0x5352f6=pendingAuths['get'](_0x138641);_0x5352f6&&(clearTimeout(_0x5352f6['timeout']),pendingAuths['delete'](_0x138641),cleanupStateIndex(_0x138641),_0x5352f6['reject'](new Error(_0x228a96)));_0x3f2a19['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x3f2a19['end'](HTML_ERROR(_0x228a96)),stopIfIdle();return;}if(!_0xdae579){_0x3f2a19['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x3f2a19['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x138641)){const _0x2c5ce2='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x3f2a19['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x3f2a19['end'](HTML_ERROR(_0x2c5ce2));return;}const _0xd13bff=pendingAuths['get'](_0x138641);clearTimeout(_0xd13bff['timeout']),pendingAuths['delete'](_0x138641),cleanupStateIndex(_0x138641),_0xd13bff['resolve'](_0xdae579),_0x3f2a19['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x3f2a19['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x1b27bc=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x1b7d86=>{const _0x957ca0=net['createConnection'](_0x1b27bc,'127.0.0.1');_0x957ca0['on']('connect',()=>{_0x957ca0['destroy'](),_0x1b7d86(!![]);}),_0x957ca0['on']('error',()=>{_0x1b7d86(![]);});});}function listen(_0x29c428,_0x495ce8){return new Promise(_0x2c074c=>{const _0x508921=http['createServer'](handleRequest),_0x51389a=()=>{_0x508921['removeListener']('listening',_0xed9ae8),_0x2c074c(![]);},_0xed9ae8=()=>{_0x508921['removeListener']('error',_0x51389a),_0x508921['on']('error',()=>{}),server=_0x508921,currentPort=_0x29c428,currentPath=_0x495ce8,_0x2c074c(!![]);};_0x508921['once']('error',_0x51389a),_0x508921['once']('listening',_0xed9ae8),_0x508921['listen'](_0x29c428,'127.0.0.1');});}async function ensureRunning(_0x59b49c){const _0x11997f=parseRedirectUri(_0x59b49c);if(server){const _0x504a03=_0x59b49c?currentPort===_0x11997f['port']&¤tPath===_0x11997f['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x504a03)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x59b49c){const _0x17f78f=await listen(_0x11997f['port'],_0x11997f['path']);if(!_0x17f78f)throw new Error('OAuth\x20callback\x20port\x20'+_0x11997f['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x6df8b0=![];for(let _0x586bc3=exports['OAUTH_CALLBACK_PORT'];_0x586bc3<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x6df8b0;_0x586bc3++){_0x6df8b0=await listen(_0x586bc3,exports['OAUTH_CALLBACK_PATH']);}if(!_0x6df8b0)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(_0x4f9e7c,_0x78b2a6,_0x50967e=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x78b2a6)mcpNameToState['set'](_0x78b2a6,_0x4f9e7c);return new Promise((_0x1e8c23,_0x28530d)=>{const _0x1ee17d=setTimeout(()=>{if(pendingAuths['has'](_0x4f9e7c)){pendingAuths['delete'](_0x4f9e7c);if(_0x78b2a6)mcpNameToState['delete'](_0x78b2a6);_0x28530d(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x50967e);pendingAuths['set'](_0x4f9e7c,{'resolve':_0x1e8c23,'reject':_0x28530d,'timeout':_0x1ee17d});});}function cancelPending(_0x1ba23a){const _0x84276f=mcpNameToState['get'](_0x1ba23a),_0x31b2ff=_0x84276f??_0x1ba23a,_0x569370=pendingAuths['get'](_0x31b2ff);_0x569370&&(clearTimeout(_0x569370['timeout']),pendingAuths['delete'](_0x31b2ff),mcpNameToState['delete'](_0x1ba23a),_0x569370['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x49cf73=server;server=undefined,_0x49cf73['closeAllConnections']?.(),await new Promise(_0x2b7e70=>_0x49cf73['close'](()=>_0x2b7e70()));}for(const [,_0x370aad]of pendingAuths){clearTimeout(_0x370aad['timeout']),_0x370aad['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(_0x411a91,_0x5113ce,_0x1de980,_0xf99000){if(_0xf99000===undefined)_0xf99000=_0x1de980;var _0x23de79=Object['getOwnPropertyDescriptor'](_0x5113ce,_0x1de980);(!_0x23de79||('get'in _0x23de79?!_0x5113ce['__esModule']:_0x23de79['writable']||_0x23de79['configurable']))&&(_0x23de79={'enumerable':!![],'get':function(){return _0x5113ce[_0x1de980];}}),Object['defineProperty'](_0x411a91,_0xf99000,_0x23de79);}:function(_0x3f17ad,_0x5a1f5f,_0x2682e1,_0x4f733e){if(_0x4f733e===undefined)_0x4f733e=_0x2682e1;_0x3f17ad[_0x4f733e]=_0x5a1f5f[_0x2682e1];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x53c3a9,_0x4a7fff){Object['defineProperty'](_0x53c3a9,'default',{'enumerable':!![],'value':_0x4a7fff});}:function(_0x3cc16a,_0x385a6c){_0x3cc16a['default']=_0x385a6c;}),__importStar=this&&this['__importStar']||(function(){var _0x154e8e=function(_0x2e0254){return _0x154e8e=Object['getOwnPropertyNames']||function(_0x5e7aa5){var _0x2ff8d8=[];for(var _0xa82c7 in _0x5e7aa5)if(Object['prototype']['hasOwnProperty']['call'](_0x5e7aa5,_0xa82c7))_0x2ff8d8[_0x2ff8d8['length']]=_0xa82c7;return _0x2ff8d8;},_0x154e8e(_0x2e0254);};return function(_0x3a2576){if(_0x3a2576&&_0x3a2576['__esModule'])return _0x3a2576;var _0x548375={};if(_0x3a2576!=null){for(var _0x2d4682=_0x154e8e(_0x3a2576),_0x1907f7=0x0;_0x1907f7<_0x2d4682['length'];_0x1907f7++)if(_0x2d4682[_0x1907f7]!=='default')__createBinding(_0x548375,_0x3a2576,_0x2d4682[_0x1907f7]);}return __setModuleDefault(_0x548375,_0x3a2576),_0x548375;};}());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(_0x1baf24,_0x3fb52a,_0x99944b){super(_0x1baf24),this['name']='McpAuthError',this['kind']=_0x3fb52a,this['authorizationUrl']=_0x99944b;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0x520af2=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0x520af2&&typeof _0x520af2==='object'&&!Array['isArray'](_0x520af2))return _0x520af2;}catch{}return{};}function writeAuthStore(_0x1be2f1){const _0x38e4db=authFilePath();fs['mkdirSync'](path['dirname'](_0x38e4db),{'recursive':!![]}),fs['writeFileSync'](_0x38e4db,JSON['stringify'](_0x1be2f1,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x38e4db,0x180);}catch{}}function getAuthEntry(_0x31775e){return readAuthStore()[_0x31775e];}function getAuthEntryForUrl(_0x110003,_0x5a0bee){const _0x452983=readAuthStore()[_0x110003];if(!_0x452983)return undefined;if(_0x452983['serverUrl']&&_0x452983['serverUrl']!==_0x5a0bee)return undefined;return _0x452983;}function setAuthEntry(_0x800622,_0x31a2bc){const _0x361870=readAuthStore();_0x361870[_0x800622]=_0x31a2bc,writeAuthStore(_0x361870);}function removeMcpAuth(_0xef7127){const _0x4a4ffc=readAuthStore();if(!(_0xef7127 in _0x4a4ffc))return(0x0,oauth_callback_js_1['cancelPending'])(_0xef7127),![];return delete _0x4a4ffc[_0xef7127],writeAuthStore(_0x4a4ffc),(0x0,oauth_callback_js_1['cancelPending'])(_0xef7127),!![];}function getMcpAuthStatus(_0x4e3984,_0x1a3d91){const _0x5aa84e=_0x1a3d91?getAuthEntryForUrl(_0x4e3984,_0x1a3d91):getAuthEntry(_0x4e3984);if(!_0x5aa84e?.['tokens'])return'not_authenticated';const _0x127a40=_0x5aa84e['tokens']['expiresAt'];if(_0x127a40&&_0x127a40<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0x1c0891){return crypto['createHash']('sha256')['update'](_0x1c0891)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x21b237,_0x358417={}){return new Promise((_0x442bc4,_0x56b892)=>{let _0x2ae947;try{_0x2ae947=new URL(_0x21b237);}catch{_0x56b892(new Error('Invalid\x20URL:\x20'+_0x21b237));return;}const _0xd9c0f6=_0x2ae947['protocol']==='https:'?https:http,_0xd85f0a=_0xd9c0f6['request']({'hostname':_0x2ae947['hostname'],'port':_0x2ae947['port']||(_0x2ae947['protocol']==='https:'?0x1bb:0x50),'path':_0x2ae947['pathname']+_0x2ae947['search'],'method':_0x358417['method']??'GET','headers':_0x358417['headers'],'timeout':_0x358417['timeoutMs']??0x3a98},_0x2a4ba3=>{let _0x210aa3='';_0x2a4ba3['setEncoding']('utf8'),_0x2a4ba3['on']('data',_0x3d51fd=>_0x210aa3+=_0x3d51fd),_0x2a4ba3['on']('end',()=>{let _0x24eba6;try{const _0x1d1d6f=JSON['parse'](_0x210aa3);if(_0x1d1d6f&&typeof _0x1d1d6f==='object')_0x24eba6=_0x1d1d6f;}catch{}_0x442bc4({'status':_0x2a4ba3['statusCode']??0x0,'text':_0x210aa3,'json':_0x24eba6});});});_0xd85f0a['on']('error',_0x5463c6=>_0x56b892(_0x5463c6)),_0xd85f0a['on']('timeout',()=>{_0xd85f0a['destroy'](),_0x56b892(new Error('Timeout\x20requesting\x20'+_0x21b237));}),_0xd85f0a['end'](_0x358417['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x5877fe){const _0x3e36b9=new URL(_0x5877fe);_0x3e36b9['search']='',_0x3e36b9['hash']='';const _0x5e73af=_0x3e36b9['origin'],_0x505228=_0x3e36b9['pathname']['replace'](/\/+$/,''),_0x2aa594=new Set();return _0x505228&&(_0x2aa594['add'](_0x5e73af+'/.well-known/oauth-authorization-server'+_0x505228),_0x2aa594['add'](''+_0x5e73af+_0x505228+'/.well-known/oauth-authorization-server')),_0x2aa594['add'](_0x5e73af+'/.well-known/oauth-authorization-server'),_0x2aa594['add'](_0x5e73af+'/.well-known/openid-configuration'),Array['from'](_0x2aa594);}async function discoverOAuthMetadata(_0x3742f4){const _0x4d66c3=metaCache['get'](_0x3742f4);if(_0x4d66c3&&Date['now']()-_0x4d66c3['at']<META_TTL_MS)return _0x4d66c3['meta'];const _0x5c5c0b=[];for(const _0x2b1280 of discoveryCandidates(_0x3742f4)){try{const _0x576bc9=await httpRequest(_0x2b1280,{'headers':{'Accept':'application/json'}});if(_0x576bc9['status']>=0xc8&&_0x576bc9['status']<0x12c&&_0x576bc9['json']){const _0x2345c5=_0x576bc9['json'];if(typeof _0x2345c5['authorization_endpoint']==='string'&&_0x2345c5['authorization_endpoint']['length']>0x0)return metaCache['set'](_0x3742f4,{'at':Date['now'](),'meta':_0x2345c5}),_0x2345c5;_0x5c5c0b['push'](_0x2b1280+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x576bc9['status']!==0x194&&_0x576bc9['status']!==0x191&&_0x576bc9['status']!==0x193&&_0x5c5c0b['push'](_0x2b1280+':\x20HTTP\x20'+_0x576bc9['status']);}catch(_0x2df30e){_0x5c5c0b['push'](_0x2b1280+':\x20'+(_0x2df30e instanceof Error?_0x2df30e['message']:String(_0x2df30e)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0x3742f4+'\x20('+(_0x5c5c0b['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x26e9a4,_0x361bd3){return{'redirect_uris':[_0x26e9a4],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x361bd3['clientSecret']?'client_secret_post':'none',..._0x361bd3['scope']?{'scope':_0x361bd3['scope']}:{}};}async function registerClient(_0x30a711,_0x1aa135){const _0x4131eb=await httpRequest(_0x30a711,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x1aa135)}),_0x5f549c=_0x4131eb['json'];if(!(_0x4131eb['status']>=0xc8&&_0x4131eb['status']<0x12c)||typeof _0x5f549c?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x4131eb['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0x5f549c['client_id'],'clientSecret':typeof _0x5f549c['client_secret']==='string'?_0x5f549c['client_secret']:undefined,'clientIdIssuedAt':typeof _0x5f549c['client_id_issued_at']==='number'?_0x5f549c['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0x5f549c['client_secret_expires_at']==='number'?_0x5f549c['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x119861,_0x55d48a,_0x3bdaf7){if(_0x3bdaf7['clientId'])return{'clientId':_0x3bdaf7['clientId'],'clientSecret':_0x3bdaf7['clientSecret']};const _0x3a119a=getAuthEntryForUrl(_0x119861,_0x55d48a)?.['clientInfo'];if(!_0x3a119a)return undefined;if(_0x3a119a['clientSecretExpiresAt']&&_0x3a119a['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x3a119a;}function buildAuthorizationUrl(_0x31436d,_0x3ed0cc){const _0x8adfd=new URL(_0x31436d);_0x8adfd['searchParams']['set']('response_type','code'),_0x8adfd['searchParams']['set']('client_id',_0x3ed0cc['clientId']),_0x8adfd['searchParams']['set']('redirect_uri',_0x3ed0cc['redirectUri']),_0x8adfd['searchParams']['set']('state',_0x3ed0cc['state']),_0x8adfd['searchParams']['set']('code_challenge',_0x3ed0cc['codeChallenge']),_0x8adfd['searchParams']['set']('code_challenge_method','S256');if(_0x3ed0cc['scope'])_0x8adfd['searchParams']['set']('scope',_0x3ed0cc['scope']);return _0x8adfd['toString']();}async function tokenRequest(_0x52d6c6,_0x170108){const _0x1969f3=new URLSearchParams(_0x170108)['toString'](),_0xa978bd=await httpRequest(_0x52d6c6,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x1969f3}),_0x37c14c=_0xa978bd['json'];if(!(_0xa978bd['status']>=0xc8&&_0xa978bd['status']<0x12c)||_0x37c14c?.['error']){const _0x549c21=typeof _0x37c14c?.['error_description']==='string'&&_0x37c14c['error_description']||typeof _0x37c14c?.['error']==='string'&&_0x37c14c['error']||'HTTP\x20'+_0xa978bd['status']+(_0xa978bd['text']?':\x20'+_0xa978bd['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x549c21,'token');}if(typeof _0x37c14c?.['access_token']!=='string'||!_0x37c14c['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x37c14c['access_token'],'refreshToken':typeof _0x37c14c['refresh_token']==='string'?_0x37c14c['refresh_token']:undefined,'expiresAt':typeof _0x37c14c['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x37c14c['expires_in']:undefined,'scope':typeof _0x37c14c['scope']==='string'?_0x37c14c['scope']:undefined};}function exchangeAuthorizationCode(_0x29fd8e,_0x154039){return tokenRequest(_0x29fd8e,{'grant_type':'authorization_code','code':_0x154039['code'],'redirect_uri':_0x154039['redirectUri'],'client_id':_0x154039['clientId'],'code_verifier':_0x154039['codeVerifier'],..._0x154039['clientSecret']?{'client_secret':_0x154039['clientSecret']}:{}});}function refreshAccessToken(_0x95d764,_0x414812){return tokenRequest(_0x95d764,{'grant_type':'refresh_token','refresh_token':_0x414812['refreshToken'],'client_id':_0x414812['clientId'],..._0x414812['clientSecret']?{'client_secret':_0x414812['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x3f31fc,_0x4d7e37,_0x4a0079={}){const _0x152963=getAuthEntryForUrl(_0x3f31fc,_0x4d7e37)?.['tokens'];if(!_0x152963)return undefined;const _0xcd7794=Math['floor'](Date['now']()/0x3e8),_0x5cba38=Boolean(_0x152963['expiresAt'])&&_0x152963['expiresAt']-REFRESH_SKEW_SECONDS<=_0xcd7794;if(!_0x5cba38||!_0x152963['refreshToken'])return _0x152963['accessToken'];const _0x2d11ae=inflightRefresh['get'](_0x3f31fc);if(_0x2d11ae)return _0x2d11ae;const _0x263389=((async()=>{try{const _0x1d5f5c=await discoverOAuthMetadata(_0x4d7e37);if(!_0x1d5f5c['token_endpoint'])return _0x152963['accessToken'];const _0x285571=resolveClientInfo(_0x3f31fc,_0x4d7e37,_0x4a0079);if(!_0x285571)return _0x152963['accessToken'];const _0x3bb56d=await refreshAccessToken(_0x1d5f5c['token_endpoint'],{'clientId':_0x285571['clientId'],'clientSecret':_0x285571['clientSecret'],'refreshToken':_0x152963['refreshToken']}),_0x6b7656=getAuthEntryForUrl(_0x3f31fc,_0x4d7e37)??{'serverUrl':_0x4d7e37};return setAuthEntry(_0x3f31fc,{..._0x6b7656,'tokens':{..._0x3bb56d,'refreshToken':_0x3bb56d['refreshToken']??_0x152963['refreshToken']},'serverUrl':_0x4d7e37}),_0x3bb56d['accessToken'];}catch{return _0x152963['accessToken'];}finally{inflightRefresh['delete'](_0x3f31fc);}})());return inflightRefresh['set'](_0x3f31fc,_0x263389),_0x263389;}function openSystemBrowser(_0x4a1a61){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x4a1a61],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x4f9561=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x4f9561,[_0x4a1a61],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x17c070,_0x382b8b,_0x1b5785={},_0x324d3a={}){const _0x27b705=inflightAuth['get'](_0x17c070);if(_0x27b705)return _0x27b705;const _0x5b8387=runAuthorize(_0x17c070,_0x382b8b,_0x1b5785,_0x324d3a)['finally'](()=>{inflightAuth['delete'](_0x17c070);});return inflightAuth['set'](_0x17c070,_0x5b8387),_0x5b8387;}async function runAuthorize(_0x3b6c5b,_0x5e6938,_0x371f45,_0x120886){const _0x273834=await discoverOAuthMetadata(_0x5e6938),_0x54a5c6=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x371f45['redirectUri']??(_0x371f45['callbackPort']?'http://127.0.0.1:'+_0x371f45['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x3a1ed0=_0x54a5c6['redirectUri'];let _0x25089b=resolveClientInfo(_0x3b6c5b,_0x5e6938,_0x371f45);const _0x371957=!_0x25089b;if(!_0x25089b){if(!_0x273834['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x3b6c5b+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x25089b=await registerClient(_0x273834['registration_endpoint'],clientMetadata(_0x3a1ed0,_0x371f45));}if(!_0x273834['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x3b6c5b+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x4abe92=generateState(),_0x3955c7=generateCodeVerifier(),_0x3285dc=buildAuthorizationUrl(_0x273834['authorization_endpoint'],{'clientId':_0x25089b['clientId'],'redirectUri':_0x3a1ed0,'state':_0x4abe92,'codeChallenge':computeCodeChallenge(_0x3955c7),'scope':_0x371f45['scope']}),_0x3dcb89=_0x120886['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x3e5025=(0x0,oauth_callback_js_1['waitForCallback'])(_0x4abe92,_0x3b6c5b,_0x3dcb89),_0x453872=_0x120886['onNotice']??(_0x47e308=>{try{process['stderr']['write'](_0x47e308+'\x0a');}catch{}});_0x453872('MCP\x20\x27'+_0x3b6c5b+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x3285dc+'\x0a')+'Waiting\x20for\x20approval...');const _0x99bf7d=_0x120886['open']??openSystemBrowser;try{await _0x99bf7d(_0x3285dc);}catch{}let _0x4ac384;try{_0x4ac384=await _0x3e5025;}catch(_0x393c7b){throw new McpAuthError(_0x393c7b instanceof Error?_0x393c7b['message']:String(_0x393c7b),'callback',_0x3285dc);}const _0x21a2e8=await exchangeAuthorizationCode(_0x273834['token_endpoint'],{'code':_0x4ac384,'redirectUri':_0x3a1ed0,'clientId':_0x25089b['clientId'],'clientSecret':_0x25089b['clientSecret'],'codeVerifier':_0x3955c7}),_0x50ee1a=getAuthEntryForUrl(_0x3b6c5b,_0x5e6938)??{};return setAuthEntry(_0x3b6c5b,{..._0x50ee1a,..._0x371957&&_0x25089b?{'clientInfo':_0x25089b}:{},'tokens':_0x21a2e8,'serverUrl':_0x5e6938}),!![];}function clearOAuthCaches(){metaCache['clear'](),inflightAuth['clear'](),inflightRefresh['clear']();}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x23ea71,_0x327b59,_0x56f5df,_0x1eeb25){if(_0x1eeb25===undefined)_0x1eeb25=_0x56f5df;var _0x3fe76f=Object['getOwnPropertyDescriptor'](_0x327b59,_0x56f5df);(!_0x3fe76f||('get'in _0x3fe76f?!_0x327b59['__esModule']:_0x3fe76f['writable']||_0x3fe76f['configurable']))&&(_0x3fe76f={'enumerable':!![],'get':function(){return _0x327b59[_0x56f5df];}}),Object['defineProperty'](_0x23ea71,_0x1eeb25,_0x3fe76f);}:function(_0x262b35,_0x4b889f,_0x4bac72,_0x38f34e){if(_0x38f34e===undefined)_0x38f34e=_0x4bac72;_0x262b35[_0x38f34e]=_0x4b889f[_0x4bac72];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0xf2eb1c,_0x49b4e4){Object['defineProperty'](_0xf2eb1c,'default',{'enumerable':!![],'value':_0x49b4e4});}:function(_0x507fa8,_0x4fb76f){_0x507fa8['default']=_0x4fb76f;}),__importStar=this&&this['__importStar']||(function(){var _0x363e91=function(_0x55a8e8){return _0x363e91=Object['getOwnPropertyNames']||function(_0x4e2bd1){var _0x4cfbd7=[];for(var _0x495f87 in _0x4e2bd1)if(Object['prototype']['hasOwnProperty']['call'](_0x4e2bd1,_0x495f87))_0x4cfbd7[_0x4cfbd7['length']]=_0x495f87;return _0x4cfbd7;},_0x363e91(_0x55a8e8);};return function(_0x8e7186){if(_0x8e7186&&_0x8e7186['__esModule'])return _0x8e7186;var _0x29fcec={};if(_0x8e7186!=null){for(var _0x4c1b8c=_0x363e91(_0x8e7186),_0x58e43a=0x0;_0x58e43a<_0x4c1b8c['length'];_0x58e43a++)if(_0x4c1b8c[_0x58e43a]!=='default')__createBinding(_0x29fcec,_0x8e7186,_0x4c1b8c[_0x58e43a]);}return __setModuleDefault(_0x29fcec,_0x8e7186),_0x29fcec;};}());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(_0x173ab5,_0x4b66b0,_0x84f3c8){super(_0x173ab5),this['name']='McpAuthError',this['kind']=_0x4b66b0,this['authorizationUrl']=_0x84f3c8;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0x17f6b6=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0x17f6b6&&typeof _0x17f6b6==='object'&&!Array['isArray'](_0x17f6b6))return _0x17f6b6;}catch{}return{};}function writeAuthStore(_0x38ca05){const _0x4d4189=authFilePath();fs['mkdirSync'](path['dirname'](_0x4d4189),{'recursive':!![]}),fs['writeFileSync'](_0x4d4189,JSON['stringify'](_0x38ca05,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x4d4189,0x180);}catch{}}function getAuthEntry(_0x37a77e){return readAuthStore()[_0x37a77e];}function getAuthEntryForUrl(_0x478ae1,_0x4d4964){const _0x1ee82a=readAuthStore()[_0x478ae1];if(!_0x1ee82a)return undefined;if(_0x1ee82a['serverUrl']&&_0x1ee82a['serverUrl']!==_0x4d4964)return undefined;return _0x1ee82a;}function setAuthEntry(_0x275889,_0x396201){const _0x317b3f=readAuthStore();_0x317b3f[_0x275889]=_0x396201,writeAuthStore(_0x317b3f);}function removeMcpAuth(_0x1f304c){const _0x21a0ac=readAuthStore();if(!(_0x1f304c in _0x21a0ac))return(0x0,oauth_callback_js_1['cancelPending'])(_0x1f304c),![];return delete _0x21a0ac[_0x1f304c],writeAuthStore(_0x21a0ac),(0x0,oauth_callback_js_1['cancelPending'])(_0x1f304c),!![];}function getMcpAuthStatus(_0x5e7ee8,_0x137730){const _0x2e4d7f=_0x137730?getAuthEntryForUrl(_0x5e7ee8,_0x137730):getAuthEntry(_0x5e7ee8);if(!_0x2e4d7f?.['tokens'])return'not_authenticated';const _0x2d1f91=_0x2e4d7f['tokens']['expiresAt'];if(_0x2d1f91&&_0x2d1f91<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0x245bad){return crypto['createHash']('sha256')['update'](_0x245bad)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x39572f,_0x3a170c={}){return new Promise((_0x5ad969,_0x153be3)=>{let _0x4b6bbd;try{_0x4b6bbd=new URL(_0x39572f);}catch{_0x153be3(new Error('Invalid\x20URL:\x20'+_0x39572f));return;}const _0x237b5a=_0x4b6bbd['protocol']==='https:'?https:http,_0x42dfaf=_0x237b5a['request']({'hostname':_0x4b6bbd['hostname'],'port':_0x4b6bbd['port']||(_0x4b6bbd['protocol']==='https:'?0x1bb:0x50),'path':_0x4b6bbd['pathname']+_0x4b6bbd['search'],'method':_0x3a170c['method']??'GET','headers':_0x3a170c['headers'],'timeout':_0x3a170c['timeoutMs']??0x3a98},_0x518127=>{let _0x51c923='';_0x518127['setEncoding']('utf8'),_0x518127['on']('data',_0x187a23=>_0x51c923+=_0x187a23),_0x518127['on']('end',()=>{let _0x228706;try{const _0x4b221f=JSON['parse'](_0x51c923);if(_0x4b221f&&typeof _0x4b221f==='object')_0x228706=_0x4b221f;}catch{}_0x5ad969({'status':_0x518127['statusCode']??0x0,'text':_0x51c923,'json':_0x228706});});});_0x42dfaf['on']('error',_0x1c2f48=>_0x153be3(_0x1c2f48)),_0x42dfaf['on']('timeout',()=>{_0x42dfaf['destroy'](),_0x153be3(new Error('Timeout\x20requesting\x20'+_0x39572f));}),_0x42dfaf['end'](_0x3a170c['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x552f75){const _0x312181=new URL(_0x552f75);_0x312181['search']='',_0x312181['hash']='';const _0x1a19a2=_0x312181['origin'],_0x133685=_0x312181['pathname']['replace'](/\/+$/,''),_0x33abad=new Set();return _0x133685&&(_0x33abad['add'](_0x1a19a2+'/.well-known/oauth-authorization-server'+_0x133685),_0x33abad['add'](''+_0x1a19a2+_0x133685+'/.well-known/oauth-authorization-server')),_0x33abad['add'](_0x1a19a2+'/.well-known/oauth-authorization-server'),_0x33abad['add'](_0x1a19a2+'/.well-known/openid-configuration'),Array['from'](_0x33abad);}async function discoverOAuthMetadata(_0x1c5714){const _0x3ceba7=metaCache['get'](_0x1c5714);if(_0x3ceba7&&Date['now']()-_0x3ceba7['at']<META_TTL_MS)return _0x3ceba7['meta'];const _0x14d7a5=[];for(const _0x5df2a8 of discoveryCandidates(_0x1c5714)){try{const _0x148a91=await httpRequest(_0x5df2a8,{'headers':{'Accept':'application/json'}});if(_0x148a91['status']>=0xc8&&_0x148a91['status']<0x12c&&_0x148a91['json']){const _0x525434=_0x148a91['json'];if(typeof _0x525434['authorization_endpoint']==='string'&&_0x525434['authorization_endpoint']['length']>0x0)return metaCache['set'](_0x1c5714,{'at':Date['now'](),'meta':_0x525434}),_0x525434;_0x14d7a5['push'](_0x5df2a8+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x148a91['status']!==0x194&&_0x148a91['status']!==0x191&&_0x148a91['status']!==0x193&&_0x14d7a5['push'](_0x5df2a8+':\x20HTTP\x20'+_0x148a91['status']);}catch(_0xe43108){_0x14d7a5['push'](_0x5df2a8+':\x20'+(_0xe43108 instanceof Error?_0xe43108['message']:String(_0xe43108)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0x1c5714+'\x20('+(_0x14d7a5['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x4512b1,_0xdaf1c5){return{'redirect_uris':[_0x4512b1],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0xdaf1c5['clientSecret']?'client_secret_post':'none',..._0xdaf1c5['scope']?{'scope':_0xdaf1c5['scope']}:{}};}async function registerClient(_0x1d2589,_0x1fbaac){const _0x3cbd21=await httpRequest(_0x1d2589,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x1fbaac)}),_0x5223d3=_0x3cbd21['json'];if(!(_0x3cbd21['status']>=0xc8&&_0x3cbd21['status']<0x12c)||typeof _0x5223d3?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x3cbd21['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0x5223d3['client_id'],'clientSecret':typeof _0x5223d3['client_secret']==='string'?_0x5223d3['client_secret']:undefined,'clientIdIssuedAt':typeof _0x5223d3['client_id_issued_at']==='number'?_0x5223d3['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0x5223d3['client_secret_expires_at']==='number'?_0x5223d3['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x5249ef,_0x1da6f6,_0x590312){if(_0x590312['clientId'])return{'clientId':_0x590312['clientId'],'clientSecret':_0x590312['clientSecret']};const _0x3c650b=getAuthEntryForUrl(_0x5249ef,_0x1da6f6)?.['clientInfo'];if(!_0x3c650b)return undefined;if(_0x3c650b['clientSecretExpiresAt']&&_0x3c650b['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x3c650b;}function buildAuthorizationUrl(_0x5d8b4c,_0x57d6f1){const _0x5ac4df=new URL(_0x5d8b4c);_0x5ac4df['searchParams']['set']('response_type','code'),_0x5ac4df['searchParams']['set']('client_id',_0x57d6f1['clientId']),_0x5ac4df['searchParams']['set']('redirect_uri',_0x57d6f1['redirectUri']),_0x5ac4df['searchParams']['set']('state',_0x57d6f1['state']),_0x5ac4df['searchParams']['set']('code_challenge',_0x57d6f1['codeChallenge']),_0x5ac4df['searchParams']['set']('code_challenge_method','S256');if(_0x57d6f1['scope'])_0x5ac4df['searchParams']['set']('scope',_0x57d6f1['scope']);return _0x5ac4df['toString']();}async function tokenRequest(_0x2f673e,_0x1a5c4a){const _0x309077=new URLSearchParams(_0x1a5c4a)['toString'](),_0x1ba4bf=await httpRequest(_0x2f673e,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x309077}),_0xb264f7=_0x1ba4bf['json'];if(!(_0x1ba4bf['status']>=0xc8&&_0x1ba4bf['status']<0x12c)||_0xb264f7?.['error']){const _0x175fb7=typeof _0xb264f7?.['error_description']==='string'&&_0xb264f7['error_description']||typeof _0xb264f7?.['error']==='string'&&_0xb264f7['error']||'HTTP\x20'+_0x1ba4bf['status']+(_0x1ba4bf['text']?':\x20'+_0x1ba4bf['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x175fb7,'token');}if(typeof _0xb264f7?.['access_token']!=='string'||!_0xb264f7['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0xb264f7['access_token'],'refreshToken':typeof _0xb264f7['refresh_token']==='string'?_0xb264f7['refresh_token']:undefined,'expiresAt':typeof _0xb264f7['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0xb264f7['expires_in']:undefined,'scope':typeof _0xb264f7['scope']==='string'?_0xb264f7['scope']:undefined};}function exchangeAuthorizationCode(_0x57e67c,_0x35d3a8){return tokenRequest(_0x57e67c,{'grant_type':'authorization_code','code':_0x35d3a8['code'],'redirect_uri':_0x35d3a8['redirectUri'],'client_id':_0x35d3a8['clientId'],'code_verifier':_0x35d3a8['codeVerifier'],..._0x35d3a8['clientSecret']?{'client_secret':_0x35d3a8['clientSecret']}:{}});}function refreshAccessToken(_0x53061b,_0x5c8287){return tokenRequest(_0x53061b,{'grant_type':'refresh_token','refresh_token':_0x5c8287['refreshToken'],'client_id':_0x5c8287['clientId'],..._0x5c8287['clientSecret']?{'client_secret':_0x5c8287['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x19ecbe,_0x16b3b1,_0x5a77a5={}){const _0x1e748e=getAuthEntryForUrl(_0x19ecbe,_0x16b3b1)?.['tokens'];if(!_0x1e748e)return undefined;const _0xd01a1b=Math['floor'](Date['now']()/0x3e8),_0x4b10d6=Boolean(_0x1e748e['expiresAt'])&&_0x1e748e['expiresAt']-REFRESH_SKEW_SECONDS<=_0xd01a1b;if(!_0x4b10d6||!_0x1e748e['refreshToken'])return _0x1e748e['accessToken'];const _0xb33295=inflightRefresh['get'](_0x19ecbe);if(_0xb33295)return _0xb33295;const _0x45879c=((async()=>{try{const _0x560100=await discoverOAuthMetadata(_0x16b3b1);if(!_0x560100['token_endpoint'])return _0x1e748e['accessToken'];const _0x2d0d68=resolveClientInfo(_0x19ecbe,_0x16b3b1,_0x5a77a5);if(!_0x2d0d68)return _0x1e748e['accessToken'];const _0x2b19d1=await refreshAccessToken(_0x560100['token_endpoint'],{'clientId':_0x2d0d68['clientId'],'clientSecret':_0x2d0d68['clientSecret'],'refreshToken':_0x1e748e['refreshToken']}),_0x42d894=getAuthEntryForUrl(_0x19ecbe,_0x16b3b1)??{'serverUrl':_0x16b3b1};return setAuthEntry(_0x19ecbe,{..._0x42d894,'tokens':{..._0x2b19d1,'refreshToken':_0x2b19d1['refreshToken']??_0x1e748e['refreshToken']},'serverUrl':_0x16b3b1}),_0x2b19d1['accessToken'];}catch{return _0x1e748e['accessToken'];}finally{inflightRefresh['delete'](_0x19ecbe);}})());return inflightRefresh['set'](_0x19ecbe,_0x45879c),_0x45879c;}function openSystemBrowser(_0x2870a0){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x2870a0],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x569a6d=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x569a6d,[_0x2870a0],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x5ba96e,_0x350a3e,_0x24d7b6={},_0xe92d2d={}){const _0x118eb8=inflightAuth['get'](_0x5ba96e);if(_0x118eb8)return _0x118eb8;const _0x587839=runAuthorize(_0x5ba96e,_0x350a3e,_0x24d7b6,_0xe92d2d)['finally'](()=>{inflightAuth['delete'](_0x5ba96e);});return inflightAuth['set'](_0x5ba96e,_0x587839),_0x587839;}async function runAuthorize(_0x269b26,_0x25cd0c,_0xbb34a5,_0xbcac08){const _0x265685=await discoverOAuthMetadata(_0x25cd0c),_0x2e4767=await(0x0,oauth_callback_js_1['ensureRunning'])(_0xbb34a5['redirectUri']??(_0xbb34a5['callbackPort']?'http://127.0.0.1:'+_0xbb34a5['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x3f676e=_0x2e4767['redirectUri'];let _0x2ec8d2=resolveClientInfo(_0x269b26,_0x25cd0c,_0xbb34a5);const _0x28e04b=!_0x2ec8d2;if(!_0x2ec8d2){if(!_0x265685['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x269b26+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x2ec8d2=await registerClient(_0x265685['registration_endpoint'],clientMetadata(_0x3f676e,_0xbb34a5));}if(!_0x265685['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x269b26+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x567006=generateState(),_0x3fa117=generateCodeVerifier(),_0x67e45d=buildAuthorizationUrl(_0x265685['authorization_endpoint'],{'clientId':_0x2ec8d2['clientId'],'redirectUri':_0x3f676e,'state':_0x567006,'codeChallenge':computeCodeChallenge(_0x3fa117),'scope':_0xbb34a5['scope']}),_0x2f2dd8=_0xbcac08['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x1ef4a3=(0x0,oauth_callback_js_1['waitForCallback'])(_0x567006,_0x269b26,_0x2f2dd8),_0x13f295=_0xbcac08['onNotice']??(_0x16cfde=>{try{process['stderr']['write'](_0x16cfde+'\x0a');}catch{}});_0x13f295('MCP\x20\x27'+_0x269b26+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x67e45d+'\x0a')+'Waiting\x20for\x20approval...');const _0x44e5ff=_0xbcac08['open']??openSystemBrowser;try{await _0x44e5ff(_0x67e45d);}catch{}let _0x2a0d17;try{_0x2a0d17=await _0x1ef4a3;}catch(_0x4e03f3){throw new McpAuthError(_0x4e03f3 instanceof Error?_0x4e03f3['message']:String(_0x4e03f3),'callback',_0x67e45d);}const _0x20ee0e=await exchangeAuthorizationCode(_0x265685['token_endpoint'],{'code':_0x2a0d17,'redirectUri':_0x3f676e,'clientId':_0x2ec8d2['clientId'],'clientSecret':_0x2ec8d2['clientSecret'],'codeVerifier':_0x3fa117}),_0x86bceb=getAuthEntryForUrl(_0x269b26,_0x25cd0c)??{};return setAuthEntry(_0x269b26,{..._0x86bceb,..._0x28e04b&&_0x2ec8d2?{'clientInfo':_0x2ec8d2}:{},'tokens':_0x20ee0e,'serverUrl':_0x25cd0c}),!![];}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(_0x4dfb7f,_0xbc60b5,_0x6daae6,_0x1db2f2){if(_0x1db2f2===undefined)_0x1db2f2=_0x6daae6;var _0x2ae6b9=Object['getOwnPropertyDescriptor'](_0xbc60b5,_0x6daae6);(!_0x2ae6b9||('get'in _0x2ae6b9?!_0xbc60b5['__esModule']:_0x2ae6b9['writable']||_0x2ae6b9['configurable']))&&(_0x2ae6b9={'enumerable':!![],'get':function(){return _0xbc60b5[_0x6daae6];}}),Object['defineProperty'](_0x4dfb7f,_0x1db2f2,_0x2ae6b9);}:function(_0x25e19e,_0x31111c,_0x36846d,_0x16699b){if(_0x16699b===undefined)_0x16699b=_0x36846d;_0x25e19e[_0x16699b]=_0x31111c[_0x36846d];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1e348d,_0x3bbeec){Object['defineProperty'](_0x1e348d,'default',{'enumerable':!![],'value':_0x3bbeec});}:function(_0x597bbf,_0x318792){_0x597bbf['default']=_0x318792;}),__importStar=this&&this['__importStar']||(function(){var _0xd45b75=function(_0xca2b){return _0xd45b75=Object['getOwnPropertyNames']||function(_0x1e41b5){var _0x2b32a8=[];for(var _0x316e78 in _0x1e41b5)if(Object['prototype']['hasOwnProperty']['call'](_0x1e41b5,_0x316e78))_0x2b32a8[_0x2b32a8['length']]=_0x316e78;return _0x2b32a8;},_0xd45b75(_0xca2b);};return function(_0x372afe){if(_0x372afe&&_0x372afe['__esModule'])return _0x372afe;var _0x2877d2={};if(_0x372afe!=null){for(var _0x20fd0b=_0xd45b75(_0x372afe),_0x52ff89=0x0;_0x52ff89<_0x20fd0b['length'];_0x52ff89++)if(_0x20fd0b[_0x52ff89]!=='default')__createBinding(_0x2877d2,_0x372afe,_0x20fd0b[_0x52ff89]);}return __setModuleDefault(_0x2877d2,_0x372afe),_0x2877d2;};}());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(_0x8cf8e){const _0xca003a=path['extname'](_0x8cf8e)['toLowerCase']();if(_0xca003a==='.exe'||_0xca003a==='.com')return 0x0;if(_0xca003a==='.bat'||_0xca003a==='.cmd')return 0x1;if(_0xca003a!=='')return 0x2;return 0x3;}function canSpawnDirectly(_0x1a3293){if(process['platform']!=='win32')return!![];const _0x46e2f8=path['extname'](_0x1a3293)['toLowerCase']();return _0x46e2f8==='.exe'||_0x46e2f8==='.com';}function resolveExecutable(_0x4c5ea9){if(process['platform']==='win32')try{const _0x481d23=(0x0,child_process_1['execFileSync'])('where.exe',[_0x4c5ea9],{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'stdio':['ignore','pipe','ignore']}),_0xe4a6c4=String(_0x481d23)['split'](/\r?\n/)['map'](_0x3c3096=>_0x3c3096['trim']())['filter'](Boolean)['sort']((_0x3ac707,_0x2aae92)=>scoreExecutable(_0x3ac707)-scoreExecutable(_0x2aae92));for(const _0x268fca of _0xe4a6c4){try{if(fs['existsSync'](_0x268fca))return _0x268fca;}catch{}}}catch{}else try{const _0x5e2325=(0x0,child_process_1['execFileSync'])('command\x20-v\x20'+_0x4c5ea9,{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'shell':'/bin/sh','stdio':['ignore','pipe','ignore']}),_0x38014e=String(_0x5e2325)['trim']()['split'](/\s+/)[0x0];if(_0x38014e&&fs['existsSync'](_0x38014e))return _0x38014e;}catch{}const _0x39d960=[];try{const _0x19177b=path['dirname'](process['execPath']);for(const _0x1d92de of process['platform']==='win32'?['.cmd','.exe','']:['']){_0x39d960['push'](path['join'](_0x19177b,''+_0x4c5ea9+_0x1d92de));}}catch{}if(process['platform']==='win32'){const _0x29aafa=process.env['ProgramFiles']??'C:\x5cProgram\x20Files',_0x1ed8b4=process.env['ProgramFiles(x86)']??'C:\x5cProgram\x20Files\x20(x86)';_0x39d960['push'](path['join'](_0x29aafa,'nodejs',_0x4c5ea9+'.cmd'),path['join'](_0x1ed8b4,'nodejs',_0x4c5ea9+'.cmd'),path['join'](os['homedir'](),'AppData','Roaming','npm',_0x4c5ea9+'.cmd'));}else _0x39d960['push']('/usr/local/bin/'+_0x4c5ea9,'/opt/homebrew/bin/'+_0x4c5ea9,os['homedir']()+'/.local/bin/'+_0x4c5ea9);for(const _0x41bcf9 of _0x39d960){try{if(!fs['existsSync'](_0x41bcf9))continue;if(process['platform']==='win32'&&scoreExecutable(_0x41bcf9)>0x1)continue;return _0x41bcf9;}catch{}}return undefined;}function npmDirCandidates(){const _0x2e0b9d=[];try{_0x2e0b9d['push'](path['dirname'](process['execPath']));}catch{}const _0x5c594d=process.env['ProgramFiles']??'C:\x5cProgram\x20Files';_0x2e0b9d['push'](path['join'](_0x5c594d,'nodejs'));for(const _0x263460 of['npm','npx']){try{const _0x283a66=resolveExecutable(_0x263460);if(_0x283a66)_0x2e0b9d['push'](path['dirname'](_0x283a66));}catch{}}return process['platform']!=='win32'&&_0x2e0b9d['push']('/usr/local/lib/node_modules/npm','/opt/homebrew/lib/node_modules/npm','/usr/lib/node_modules/npm'),[...new Set(_0x2e0b9d)];}function resolveNpmCliJs(){for(const _0x20c578 of npmDirCandidates()){const _0x411bf7=path['join'](_0x20c578,'node_modules','npm','bin','npm-cli.js');try{if(fs['existsSync'](_0x411bf7))return _0x411bf7;}catch{}}return undefined;}function resolveNpxCliJs(){for(const _0x11570b of npmDirCandidates()){const _0x27e8e6=path['join'](_0x11570b,'node_modules','npm','bin','npx-cli.js');try{if(fs['existsSync'](_0x27e8e6))return _0x27e8e6;}catch{}}return undefined;}function resolveMcpCommand(_0x434eab){const [_0x5634e2,..._0x24213c]=_0x434eab;if(!_0x5634e2)throw new Error('MCP\x20server\x20spec\x20has\x20an\x20empty\x20command');const _0x530f81=path['basename'](_0x5634e2)['replace'](/\.(cmd|exe|bat|com)$/i,'')['toLowerCase']();if(_0x530f81==='node')return{'command':process['execPath'],'args':_0x24213c};if(_0x530f81==='npx'){const _0xced7ba=resolveNpxCliJs();if(_0xced7ba)return{'command':process['execPath'],'args':[_0xced7ba,..._0x24213c]};const _0x4c01d8=resolveExecutable('npx');if(_0x4c01d8&&canSpawnDirectly(_0x4c01d8))return{'command':_0x4c01d8,'args':_0x24213c};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(_0x530f81==='npm'){const _0x55f9d0=resolveNpmCliJs();if(_0x55f9d0)return{'command':process['execPath'],'args':[_0x55f9d0,..._0x24213c]};const _0x59c38a=resolveExecutable('npm');if(_0x59c38a&&canSpawnDirectly(_0x59c38a))return{'command':_0x59c38a,'args':_0x24213c};throw new Error(_0x59c38a?'npm\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x59c38a+',\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(_0x530f81==='uvx'){const _0xaf825b=resolveExecutable('uvx');if(_0xaf825b)return{'command':_0xaf825b,'args':_0x24213c};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(_0x530f81==='python'||_0x530f81==='python3'||_0x530f81==='py'){const _0x1e4299=resolveExecutable(_0x530f81)??resolveExecutable('python3')??resolveExecutable('python');if(_0x1e4299)return{'command':_0x1e4299,'args':_0x24213c};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'](_0x5634e2))return{'command':_0x5634e2,'args':_0x24213c};const _0x25464f=resolveExecutable(_0x530f81);if(_0x25464f){if(canSpawnDirectly(_0x25464f))return{'command':_0x25464f,'args':_0x24213c};throw new Error('\x27'+_0x530f81+'\x27\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x25464f+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Use\x20a\x20node\x20script\x20(node\x20<entry.js>)\x20or\x20a\x20native\x20executable\x20instead.');}return{'command':_0x5634e2,'args':_0x24213c};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x164c33,_0x357772,_0x4f2067,_0x3d2952){if(_0x3d2952===undefined)_0x3d2952=_0x4f2067;var _0x141149=Object['getOwnPropertyDescriptor'](_0x357772,_0x4f2067);(!_0x141149||('get'in _0x141149?!_0x357772['__esModule']:_0x141149['writable']||_0x141149['configurable']))&&(_0x141149={'enumerable':!![],'get':function(){return _0x357772[_0x4f2067];}}),Object['defineProperty'](_0x164c33,_0x3d2952,_0x141149);}:function(_0x43f751,_0x1bdfbf,_0x5e3d79,_0x3120e2){if(_0x3120e2===undefined)_0x3120e2=_0x5e3d79;_0x43f751[_0x3120e2]=_0x1bdfbf[_0x5e3d79];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3db751,_0x51c6be){Object['defineProperty'](_0x3db751,'default',{'enumerable':!![],'value':_0x51c6be});}:function(_0x173794,_0x4729d9){_0x173794['default']=_0x4729d9;}),__importStar=this&&this['__importStar']||(function(){var _0x5440d6=function(_0x18f5e8){return _0x5440d6=Object['getOwnPropertyNames']||function(_0x23e947){var _0x268854=[];for(var _0x1b2198 in _0x23e947)if(Object['prototype']['hasOwnProperty']['call'](_0x23e947,_0x1b2198))_0x268854[_0x268854['length']]=_0x1b2198;return _0x268854;},_0x5440d6(_0x18f5e8);};return function(_0x5b152e){if(_0x5b152e&&_0x5b152e['__esModule'])return _0x5b152e;var _0x271a9b={};if(_0x5b152e!=null){for(var _0x3357dc=_0x5440d6(_0x5b152e),_0x46f74f=0x0;_0x46f74f<_0x3357dc['length'];_0x46f74f++)if(_0x3357dc[_0x46f74f]!=='default')__createBinding(_0x271a9b,_0x5b152e,_0x3357dc[_0x46f74f]);}return __setModuleDefault(_0x271a9b,_0x5b152e),_0x271a9b;};}());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(_0x2d140b,_0x2bdfba){if(_0x2d140b===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x2d140b,'result':_0x2bdfba})+'\x0a');}function sendError(_0x18ccb3,_0x571b24,_0x4426bd){if(_0x18ccb3===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x18ccb3,'error':{'code':_0x571b24,'message':_0x4426bd}})+'\x0a');}function executeLocalTool(_0x364a43,_0x3be599){if(_0x364a43==='read_file'){const _0x1fa828=String(_0x3be599['path']??'');if(!_0x1fa828)throw new Error('missing\x20\x27path\x27');return fs['readFileSync'](_0x1fa828,'utf8')['slice'](0x0,0x7d00);}if(_0x364a43==='bash'){const _0x148f27=String(_0x3be599['command']??'');if(!_0x148f27)throw new Error('missing\x20\x27command\x27');const _0x733c6b=(0x0,child_process_1['execFileSync'])(_0x148f27,{'shell':process['platform']==='win32'?'cmd.exe':'/bin/sh','timeout':0x2710,'maxBuffer':0x8000,'windowsHide':!![]});return String(_0x733c6b)['slice'](0x0,0x7d00);}if(_0x364a43==='grep'||_0x364a43==='glob'||_0x364a43==='write_file')throw new Error(_0x364a43+'\x20is\x20not\x20executed\x20by\x20mcp-server\x20(use\x20the\x20CLI\x20tools\x20instead)');throw new Error('unknown\x20tool:\x20'+_0x364a43);}async function dispatchMcpServer(_0x1d4ad8){switch(_0x1d4ad8['method']){case'initialize':send(_0x1d4ad8['id'],{'protocolVersion':'2024-11-05','serverInfo':{'name':'trayambak','version':'0.6.0'},'capabilities':{'tools':{}}});break;case'tools/list':send(_0x1d4ad8['id'],{'tools':TOOLS});break;case'tools/call':{const _0x23a4f6=(_0x1d4ad8['params']??{})['name'],_0x4b4392=(_0x1d4ad8['params']??{})['arguments']??{},_0x5f47a7=TOOLS['find'](_0xb1c6ce=>_0xb1c6ce['name']===_0x23a4f6);if(!_0x5f47a7)sendError(_0x1d4ad8['id'],-0x7f5a,'unknown\x20tool:\x20'+_0x23a4f6);else try{const _0x135177=executeLocalTool(_0x23a4f6,_0x4b4392);send(_0x1d4ad8['id'],{'content':[{'type':'text','text':_0x135177}]});}catch(_0x32e611){send(_0x1d4ad8['id'],{'content':[{'type':'text','text':'error:\x20'+(_0x32e611 instanceof Error?_0x32e611['message']:String(_0x32e611))}],'isError':!![]});}break;}case'resources/list':send(_0x1d4ad8['id'],{'resources':[]});break;case'prompts/list':send(_0x1d4ad8['id'],{'prompts':[]});break;default:sendError(_0x1d4ad8['id'],-0x7f59,'unknown\x20method:\x20'+_0x1d4ad8['method']);}}function runMcpServer(){const _0x4b4377=readline['createInterface']({'input':process['stdin'],'crlfDelay':Infinity});_0x4b4377['on']('line',_0x1ef03f=>{if(!_0x1ef03f['trim']())return;try{const _0x268963=JSON['parse'](_0x1ef03f);dispatchMcpServer(_0x268963)['catch'](_0x265811=>sendError(_0x268963['id'],-0x7d00,String(_0x265811)));}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(_0x401721,_0x473956,_0x20675b,_0x5be202){if(_0x5be202===undefined)_0x5be202=_0x20675b;var _0x542261=Object['getOwnPropertyDescriptor'](_0x473956,_0x20675b);(!_0x542261||('get'in _0x542261?!_0x473956['__esModule']:_0x542261['writable']||_0x542261['configurable']))&&(_0x542261={'enumerable':!![],'get':function(){return _0x473956[_0x20675b];}}),Object['defineProperty'](_0x401721,_0x5be202,_0x542261);}:function(_0x213885,_0x79739,_0x5d8fac,_0x7b36f5){if(_0x7b36f5===undefined)_0x7b36f5=_0x5d8fac;_0x213885[_0x7b36f5]=_0x79739[_0x5d8fac];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3e54e4,_0x3a3dbe){Object['defineProperty'](_0x3e54e4,'default',{'enumerable':!![],'value':_0x3a3dbe});}:function(_0x932d4f,_0xc30173){_0x932d4f['default']=_0xc30173;}),__importStar=this&&this['__importStar']||(function(){var _0x4e4b09=function(_0xce766c){return _0x4e4b09=Object['getOwnPropertyNames']||function(_0x410395){var _0x28fb86=[];for(var _0x40d2ed in _0x410395)if(Object['prototype']['hasOwnProperty']['call'](_0x410395,_0x40d2ed))_0x28fb86[_0x28fb86['length']]=_0x40d2ed;return _0x28fb86;},_0x4e4b09(_0xce766c);};return function(_0x4b33d3){if(_0x4b33d3&&_0x4b33d3['__esModule'])return _0x4b33d3;var _0x4a8c01={};if(_0x4b33d3!=null){for(var _0x29809d=_0x4e4b09(_0x4b33d3),_0x17938d=0x0;_0x17938d<_0x29809d['length'];_0x17938d++)if(_0x29809d[_0x17938d]!=='default')__createBinding(_0x4a8c01,_0x4b33d3,_0x29809d[_0x17938d]);}return __setModuleDefault(_0x4a8c01,_0x4b33d3),_0x4a8c01;};}());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(_0x1d82aa,_0x1209d8=[]){return[..._0x1209d8,...exports['DEFAULT_MODES']]['find'](_0x4d681b=>_0x4d681b['slug']===_0x1d82aa);}function loadRoomodes(_0x38c188=process['cwd']()){try{const _0x297419=path['join'](_0x38c188,'.roomodes');if(!fs['existsSync'](_0x297419))return[];const _0x206fc3=JSON['parse'](fs['readFileSync'](_0x297419,'utf8'));if(!Array['isArray'](_0x206fc3['customModes']))return[];return _0x206fc3['customModes']['filter'](_0x444c2=>typeof _0x444c2?.['slug']==='string'&&Array['isArray'](_0x444c2['groups']))['slice'](0x0,0x32);}catch{return[];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function
|
|
1
|
+
'use strict';var _0x1b1a4f=_0x4a87;function _0x2d2c(){var _0x3d9046=['121206OccMYM','20IWZAhi','525990vwkzFG','defineProperty','78911iBiDUU','619308qLEYiT','4940288bgCaWz','14150yAfsDI','117KhHjAC','83sGjFbD','3010950EoJgYO'];_0x2d2c=function(){return _0x3d9046;};return _0x2d2c();}(function(_0x3c99da,_0x377a71){var _0xb2b992=_0x4a87,_0x46867f=_0x3c99da();while(!![]){try{var _0x3acee6=-parseInt(_0xb2b992(0xff))/0x1*(parseInt(_0xb2b992(0xfd))/0x2)+-parseInt(_0xb2b992(0xf6))/0x3*(-parseInt(_0xb2b992(0xf7))/0x4)+parseInt(_0xb2b992(0x100))/0x5+parseInt(_0xb2b992(0xfb))/0x6+-parseInt(_0xb2b992(0xfa))/0x7+-parseInt(_0xb2b992(0xfc))/0x8+parseInt(_0xb2b992(0xfe))/0x9*(parseInt(_0xb2b992(0xf8))/0xa);if(_0x3acee6===_0x377a71)break;else _0x46867f['push'](_0x46867f['shift']());}catch(_0x6d9525){_0x46867f['push'](_0x46867f['shift']());}}}(_0x2d2c,0x5b983));function _0x4a87(_0x4f47ea,_0x114e45){_0x4f47ea=_0x4f47ea-0xf6;var _0x2d2ca3=_0x2d2c();var _0x4a87b3=_0x2d2ca3[_0x4f47ea];return _0x4a87b3;}Object[_0x1b1a4f(0xf9)](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(_0x92824){return _0x92824['role']==='assistant';}function isToolResult(_0x5c7d28){return _0x5c7d28['role']==='tool';}function isUser(_0x47d8c3){return _0x47d8c3['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'](_0x23da64=>['recursive\x20force\x20delete','recursive\x20delete\x20(Windows)','recursive\x20delete\x20(PowerShell)','disk\x20format','filesystem\x20format']['includes'](_0x23da64['reason']??''));let sessionRules=[];function addSessionPermissionRule(_0x93f7ef){sessionRules=sessionRules['filter'](_0x92379a=>!(_0x92379a['tool']===_0x93f7ef['tool']&&(_0x92379a['pattern']??'*')===(_0x93f7ef['pattern']??'*'))),sessionRules['unshift'](_0x93f7ef);}function clearSessionPermissionRules(){sessionRules=[];}function getSessionPermissionRules(){return sessionRules;}function globToRegExp(_0x1f4413,_0x3c90c9){const _0x2598a3=_0x1f4413['replace'](/[.+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*/g,'.*');return new RegExp(_0x3c90c9?'^'+_0x2598a3+'$':_0x2598a3,'i');}function matchTool(_0x7f984b,_0x2a06e7){if(!_0x2a06e7||_0x2a06e7==='*')return!![];if(_0x2a06e7['includes']('*'))return globToRegExp(_0x2a06e7,!![])['test'](_0x7f984b);return _0x2a06e7['toLowerCase']()===_0x7f984b['toLowerCase']();}function matchSubject(_0xf6c4d1,_0x2361d8){if(!_0x2361d8||_0x2361d8==='*')return!![];return globToRegExp(_0x2361d8,![])['test'](_0xf6c4d1);}function permissionSubject(_0x3efa4b){if(typeof _0x3efa4b==='string')return _0x3efa4b;if(_0x3efa4b&&typeof _0x3efa4b==='object'){const _0x4d934a=_0x3efa4b;for(const _0x55214c of['command','path','file_path','filePath','url','query','pattern']){const _0xcb8275=_0x4d934a[_0x55214c];if(typeof _0xcb8275==='string'&&_0xcb8275['length']>0x0)return _0xcb8275;}try{return JSON['stringify'](_0x3efa4b)??'';}catch{return String(_0x3efa4b);}}return _0x3efa4b==null?'':String(_0x3efa4b);}function legacyToRules(_0xaf7b8d){return _0xaf7b8d['map'](_0x39093=>({'tool':_0x39093['tool'],'pattern':_0x39093['pattern'],'action':_0x39093['allow']?'allow':'deny'}));}function deriveUIMode(_0x26f597){if(_0x26f597['uiMode'])return _0x26f597['uiMode'];if(_0x26f597['mode']==='yolo'||_0x26f597['askByDefault']===![])return'auto-approve';return'ask';}function evaluatePermission(_0x5c1c06,_0x11ae80,_0x5ad940=permissions_js_1['DEFAULT_PERMISSIONS'],_0xb67e36){const _0x1b0a4f=permissionSubject(_0x11ae80),_0x250b7e=_0xb67e36?.['uiMode']??deriveUIMode(_0x5ad940);if(_0x250b7e==='full-access')return{'action':'allow','source':'mode','layer':'mode'};const _0x5349bd=_0x250b7e==='auto-approve'?[['session',[...sessionRules]],['config',[..._0x5ad940['rulesV2']??[]]]]:[['session',[...sessionRules]],['config',[..._0x5ad940['rulesV2']??[]]],['default',legacyToRules(_0x5ad940['rules']??[])]],_0x318000=_0x32b80d=>matchTool(_0x5c1c06,_0x32b80d['tool'])&&matchSubject(_0x1b0a4f,_0x32b80d['pattern']);for(const [_0x232a48,_0x2c3f9d]of _0x5349bd){const _0xee6c40=_0x2c3f9d['find'](_0x57d4b5=>_0x57d4b5['action']==='deny'&&_0x318000(_0x57d4b5));if(_0xee6c40)return{'action':'deny','source':'deny-rule','rule':_0xee6c40,'layer':_0x232a48};const _0x12f114=_0x2c3f9d['find'](_0x1b95b3=>_0x1b95b3['action']==='allow'&&_0x318000(_0x1b95b3));if(_0x12f114)return{'action':'allow','source':'allow-rule','rule':_0x12f114,'layer':_0x232a48};}if(_0x250b7e==='read-only'||_0x250b7e==='plan')return permissions_js_1['READ_ONLY_TOOLS']['has'](_0x5c1c06)?{'action':'allow','source':'read-only-tool','layer':'mode'}:{'action':'deny','source':_0x250b7e==='plan'?'plan-mode':'read-only-mode','layer':'mode'};if(permissions_js_1['READ_ONLY_TOOLS']['has'](_0x5c1c06))return{'action':'allow','source':'read-only-tool'};const _0x42e0d3=_0x250b7e==='auto-approve'?exports['DELETE_FORCE_ASK_RULES']:exports['FORCE_ASK_RULES'],_0x39dcf0=_0x42e0d3['find'](_0xb6225f=>matchTool(_0x5c1c06,_0xb6225f['tool'])&&matchSubject(_0x1b0a4f,_0xb6225f['pattern']));if(_0x39dcf0)return{'action':'ask','source':'force-ask','rule':_0x39dcf0,'layer':'force-ask'};if(_0x250b7e==='auto-approve')return{'action':'allow','source':'mode','layer':'mode'};return{'action':'ask','source':'default','layer':'mode'};}function isPermissionDenied(_0x4e1914,_0x1c4ba2,_0x2b4abe,_0x5ecfa9){return evaluatePermission(_0x4e1914,_0x1c4ba2,_0x2b4abe,_0x5ecfa9)['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(_0x557782,_0x1bf12a,_0x2060e6){for(const _0x488e40 of _0x2060e6['rules']){if((_0x488e40['tool']===_0x557782||_0x488e40['tool']==='*')&&!_0x488e40['allow']){if(_0x488e40['pattern']==='*')return!![];const _0xdcb247=_0x488e40['pattern']['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\s/g,'\x5cs+');if(new RegExp('\x5cb'+_0xdcb247,'i')['test'](_0x1bf12a))return!![];}}return![];}function isCommandAllowed(_0x51e1b4,_0x298d5b,_0x2ebc79){if(isCommandDangerous(_0x51e1b4,_0x298d5b,_0x2ebc79))return![];if(exports['READ_ONLY_TOOLS']['has'](_0x51e1b4))return!![];return _0x2ebc79['askByDefault']?![]:!![];}function isYoloMode(_0x5696e7){return _0x5696e7['mode']==='yolo'||_0x5696e7['askByDefault']===![];}function togglePermissionMode(_0x3c860b){const _0x31a4cc=isYoloMode(_0x3c860b);return{..._0x3c860b,'mode':_0x31a4cc?'default':'yolo','askByDefault':_0x31a4cc?!![]:![]};}function getPermissionBadge(_0xd6038b){return isYoloMode(_0xd6038b)?'YOLO':'ASK';}function getPermissionModeLabel(_0x276579){return isYoloMode(_0x276579)?'FULL':'ASK';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var _0x3f9bcf=_0x466a;(function(_0x7bf83f,_0x546bf1){var _0xad513=_0x466a,_0x291619=_0x7bf83f();while(!![]){try{var _0x4e9c31=parseInt(_0xad513(0x15d))/0x1*(parseInt(_0xad513(0x163))/0x2)+-parseInt(_0xad513(0x161))/0x3+parseInt(_0xad513(0x15c))/0x4+-parseInt(_0xad513(0x15a))/0x5*(parseInt(_0xad513(0x15e))/0x6)+parseInt(_0xad513(0x162))/0x7+parseInt(_0xad513(0x15f))/0x8+-parseInt(_0xad513(0x15b))/0x9;if(_0x4e9c31===_0x546bf1)break;else _0x291619['push'](_0x291619['shift']());}catch(_0x50b891){_0x291619['push'](_0x291619['shift']());}}}(_0x25e6,0xd7f22));function _0x466a(_0x329ffa,_0x27782f){_0x329ffa=_0x329ffa-0x15a;var _0x25e64b=_0x25e6();var _0x466a57=_0x25e64b[_0x329ffa];return _0x466a57;}function _0x25e6(){var _0x1e7424=['defineProperty','1538601hEorUc','11603074gDOsLN','47384GrYegE','5uKBWVD','560898jbYSfe','552872iHxVdf','1qbGzcx','10190082Nyqcse','10708464OjWxNa'];_0x25e6=function(){return _0x1e7424;};return _0x25e6();}Object[_0x3f9bcf(0x160)](exports,'__esModule',{'value':!![]});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function _0x1f74(){const _0xe46462=['759935YmMALO','hostname','slice','2309733LLKKOk','5rOPUVe','1365912QXKHGA','replace','140PNMoHO','32NIOcgk','length','730471MaIseS','2301087iNhZHW','indexOf','7289454npRQEU','4axaALU','2112110yIZUaz','defineProperty'];_0x1f74=function(){return _0xe46462;};return _0x1f74();}const _0x2ff8f1=_0x2263;(function(_0x2823b9,_0xb9fa20){const _0x1d99ed=_0x2263,_0x52afe5=_0x2823b9();while(!![]){try{const _0x50a8a6=-parseInt(_0x1d99ed(0x168))/0x1+-parseInt(_0x1d99ed(0x163))/0x2+parseInt(_0x1d99ed(0x169))/0x3*(parseInt(_0x1d99ed(0x16c))/0x4)+-parseInt(_0x1d99ed(0x162))/0x5*(-parseInt(_0x1d99ed(0x16b))/0x6)+parseInt(_0x1d99ed(0x16d))/0x7+parseInt(_0x1d99ed(0x166))/0x8*(-parseInt(_0x1d99ed(0x161))/0x9)+-parseInt(_0x1d99ed(0x165))/0xa*(-parseInt(_0x1d99ed(0x15e))/0xb);if(_0x50a8a6===_0xb9fa20)break;else _0x52afe5['push'](_0x52afe5['shift']());}catch(_0x3429cd){_0x52afe5['push'](_0x52afe5['shift']());}}}(_0x1f74,0xc5f83));function _0x2263(_0x3eccdf,_0x5e3961){_0x3eccdf=_0x3eccdf-0x15e;const _0x1f7479=_0x1f74();let _0x2263e0=_0x1f7479[_0x3eccdf];return _0x2263e0;}Object[_0x2ff8f1(0x16e)](exports,'__esModule',{'value':!![]}),exports['normalizeUrls']=normalizeUrls;function normalizeUrls(_0x3ff22f){return _0x3ff22f['replace'](/https?:\/\/\S+/g,_0x114840=>{const _0x3f7a15=_0x2263,_0x3ec56c=_0x114840[_0x3f7a15(0x164)](/[.,!?;:)"'\]]+$/,''),_0x5563c4=_0x114840[_0x3f7a15(0x160)](_0x3ec56c[_0x3f7a15(0x167)]);try{const _0x54df76=new URL(_0x3ec56c),_0x42e6bf=_0x3ec56c[_0x3f7a15(0x16a)]('//')+0x2,_0x54c31e=_0x3ec56c['indexOf']('/',_0x42e6bf),_0x1415c6=_0x54c31e===-0x1?_0x3ec56c[_0x3f7a15(0x160)](_0x42e6bf):_0x3ec56c[_0x3f7a15(0x160)](_0x42e6bf,_0x54c31e),_0x4e0809=_0x1415c6['indexOf'](':'),_0x32715a=_0x4e0809===-0x1?_0x1415c6:_0x1415c6[_0x3f7a15(0x160)](0x0,_0x4e0809);if(_0x32715a===_0x54df76['hostname'])return _0x114840;return _0x3ec56c[_0x3f7a15(0x164)](_0x32715a,_0x54df76[_0x3f7a15(0x15f)])+_0x5563c4;}catch{return _0x114840;}});}
|