@skt-ai-labs/trayambak-cli 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -18
- package/dist/apps/cli/src/command-registry.js +1 -1
- package/dist/apps/cli/src/commands/agent.js +1 -1
- package/dist/apps/cli/src/commands/archive.js +1 -1
- package/dist/apps/cli/src/commands/checkpoint.js +1 -1
- package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
- package/dist/apps/cli/src/commands/commit.js +1 -1
- package/dist/apps/cli/src/commands/compact.js +1 -1
- package/dist/apps/cli/src/commands/config.js +1 -1
- package/dist/apps/cli/src/commands/db.js +1 -1
- package/dist/apps/cli/src/commands/doctor.js +1 -1
- package/dist/apps/cli/src/commands/download.js +1 -1
- package/dist/apps/cli/src/commands/exec.js +1 -1
- package/dist/apps/cli/src/commands/index.js +1 -1
- package/dist/apps/cli/src/commands/login.js +1 -1
- package/dist/apps/cli/src/commands/manager.js +1 -1
- package/dist/apps/cli/src/commands/marketplace.js +1 -1
- package/dist/apps/cli/src/commands/mcp.js +1 -1
- package/dist/apps/cli/src/commands/mode.js +1 -1
- package/dist/apps/cli/src/commands/models.js +1 -1
- package/dist/apps/cli/src/commands/plan.js +1 -1
- package/dist/apps/cli/src/commands/pr.js +1 -1
- package/dist/apps/cli/src/commands/registry.js +1 -1
- package/dist/apps/cli/src/commands/run.js +1 -1
- package/dist/apps/cli/src/commands/sandbox.js +1 -1
- package/dist/apps/cli/src/commands/serve.js +1 -1
- package/dist/apps/cli/src/commands/session-export.js +1 -1
- package/dist/apps/cli/src/commands/session-resume.js +1 -1
- package/dist/apps/cli/src/commands/shortcuts.js +1 -1
- package/dist/apps/cli/src/commands/slash-command.js +1 -1
- package/dist/apps/cli/src/commands/stats.js +1 -1
- package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
- package/dist/apps/cli/src/commands/task.js +1 -1
- package/dist/apps/cli/src/commands/todo.js +1 -1
- package/dist/apps/cli/src/commands/uninstall.js +1 -1
- package/dist/apps/cli/src/commands/upgrade.js +1 -1
- package/dist/apps/cli/src/commands/worktree.js +1 -1
- package/dist/apps/cli/src/flags.js +1 -1
- package/dist/apps/cli/src/index.js +1 -1
- package/dist/apps/cli/src/integration/board.js +1 -1
- package/dist/apps/cli/src/integration/git-refs.js +1 -1
- package/dist/apps/cli/src/integration/index.js +1 -1
- package/dist/apps/cli/src/integration/indexing.js +1 -1
- package/dist/apps/cli/src/integration/notebook.js +1 -1
- package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
- package/dist/apps/cli/src/integration/plan.js +1 -1
- package/dist/apps/cli/src/integration/presence.js +1 -1
- package/dist/apps/cli/src/integration/project-id.js +1 -1
- package/dist/apps/cli/src/integration/rules.js +1 -1
- package/dist/apps/cli/src/integration/sandbox.js +1 -1
- package/dist/apps/cli/src/integration/task-resume.js +1 -1
- package/dist/apps/cli/src/integration/text-stream.js +1 -1
- package/dist/apps/cli/src/integration/unique-id.js +1 -1
- package/dist/apps/cli/src/integration/watcher.js +1 -1
- package/dist/apps/cli/src/logger.js +1 -1
- package/dist/apps/cli/src/session/index.js +1 -1
- package/dist/apps/cli/src/session/session-compaction.js +1 -1
- package/dist/apps/cli/src/session/session-continuation.js +1 -1
- package/dist/apps/cli/src/session/session-control.js +1 -1
- package/dist/apps/cli/src/session/session-fork.js +1 -1
- package/dist/apps/cli/src/session/session-manager.js +1 -1
- package/dist/apps/cli/src/session/session-transcript.js +1 -1
- package/dist/apps/cli/src/tui/index.js +1 -1
- package/dist/apps/cli/src/tui/tui-features.js +1 -1
- package/dist/apps/cli/src/version.js +1 -1
- package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
- package/dist/apps/runtime/src/agent/agent.js +1 -1
- package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
- package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
- package/dist/apps/runtime/src/agent/review-init.js +1 -1
- package/dist/apps/runtime/src/agent/sota.js +1 -1
- package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
- package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
- package/dist/apps/runtime/src/checkpoints.js +1 -1
- package/dist/apps/runtime/src/compaction.js +1 -1
- package/dist/apps/runtime/src/config.js +1 -1
- package/dist/apps/runtime/src/controller/controller.js +1 -1
- package/dist/apps/runtime/src/controller/executor.js +1 -1
- package/dist/apps/runtime/src/controller/reviewer.js +1 -1
- package/dist/apps/runtime/src/controller/router.js +1 -1
- package/dist/apps/runtime/src/controller/state.js +1 -1
- package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
- package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
- package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
- package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
- package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
- package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
- package/dist/apps/runtime/src/github-auth.js +1 -1
- package/dist/apps/runtime/src/goals.js +1 -1
- package/dist/apps/runtime/src/index.js +1 -1
- package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
- package/dist/apps/runtime/src/license.js +1 -1
- package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
- package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
- package/dist/apps/runtime/src/notifications.js +1 -1
- package/dist/apps/runtime/src/planner/planner.js +1 -1
- package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
- package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
- package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
- package/dist/apps/runtime/src/prompt/rules.js +1 -1
- package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
- package/dist/apps/runtime/src/self-improvement.js +1 -1
- package/dist/apps/runtime/src/session/session.js +1 -1
- package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
- package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
- package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
- package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
- package/dist/apps/runtime/src/tools/code/fim.js +1 -1
- package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
- package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
- package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
- package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
- package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
- package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
- package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
- package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
- package/dist/apps/runtime/src/tools/github/github.js +1 -1
- package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
- package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
- package/dist/apps/runtime/src/tools/index.js +1 -1
- package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
- package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
- package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
- package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
- package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
- package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
- package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
- package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
- package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
- package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
- package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
- package/dist/apps/runtime/src/tools/text/csv.js +1 -1
- package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
- package/dist/apps/runtime/src/tools/text/diff.js +1 -1
- package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
- package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
- package/dist/apps/runtime/src/tools/types.js +1 -1
- package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
- package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
- package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
- package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
- package/dist/apps/runtime/src/update/auto-update.js +1 -1
- package/dist/packages/acp/src/index.js +1 -1
- package/dist/packages/approval/src/index.js +1 -1
- package/dist/packages/checkpoints/src/index.js +1 -1
- package/dist/packages/cli/src/commands/registry.js +1 -1
- package/dist/packages/client/src/index.js +1 -1
- package/dist/packages/coding-agent/src/index.js +1 -1
- package/dist/packages/core/src/agent_communication.js +1 -1
- package/dist/packages/core/src/agent_registry.js +1 -1
- package/dist/packages/core/src/agents_md.js +1 -1
- package/dist/packages/core/src/analytics.js +1 -1
- package/dist/packages/core/src/approval.js +1 -1
- package/dist/packages/core/src/auth.js +1 -1
- package/dist/packages/core/src/context/compactor.js +1 -1
- package/dist/packages/core/src/cron/scheduler.js +1 -1
- package/dist/packages/core/src/curator/librarian.js +1 -1
- package/dist/packages/core/src/env_filter.js +1 -1
- package/dist/packages/core/src/extension_api.js +1 -1
- package/dist/packages/core/src/feature_flags.js +1 -1
- package/dist/packages/core/src/hook_runtime.js +1 -1
- package/dist/packages/core/src/i18n.js +1 -1
- package/dist/packages/core/src/memory/manager.js +1 -1
- package/dist/packages/core/src/memory/provider.js +1 -1
- package/dist/packages/core/src/plan_mode.js +1 -1
- package/dist/packages/core/src/process.js +1 -1
- package/dist/packages/core/src/providers/manager.js +1 -1
- package/dist/packages/core/src/providers/registry.js +1 -1
- package/dist/packages/core/src/rollout_budget.js +1 -1
- package/dist/packages/core/src/secrets.js +1 -1
- package/dist/packages/core/src/session_store.js +1 -1
- package/dist/packages/core/src/state_db.js +1 -1
- package/dist/packages/core/src/subagents.js +1 -1
- package/dist/packages/core/src/token_budget.js +1 -1
- package/dist/packages/core/src/toolsets/arsenal.js +1 -1
- package/dist/packages/core/src/validate.js +1 -1
- package/dist/packages/execpolicy/src/policy.js +1 -1
- package/dist/packages/function/src/index.js +1 -1
- package/dist/packages/harness/src/index.js +1 -1
- package/dist/packages/mcp/src/index.js +1 -1
- package/dist/packages/mcp/src/oauth-callback.js +1 -1
- package/dist/packages/mcp/src/oauth.js +1 -1
- package/dist/packages/mcp/src/spawn-resolve.js +1 -1
- package/dist/packages/mcp-server/src/index.js +1 -1
- package/dist/packages/modes/src/index.js +1 -1
- package/dist/packages/protocol/src/events.js +1 -1
- package/dist/packages/protocol/src/messages.js +1 -1
- package/dist/packages/protocol/src/permission-rules.js +1 -1
- package/dist/packages/protocol/src/permissions.js +1 -1
- package/dist/packages/protocol/src/tools.js +1 -1
- package/dist/packages/protocol/src/toolsets.js +1 -1
- package/dist/packages/protocol/src/util/url.js +1 -1
- package/dist/packages/provider/src/anthropic.js +1 -1
- package/dist/packages/provider/src/catalog.js +1 -1
- package/dist/packages/provider/src/custom.js +1 -1
- package/dist/packages/provider/src/faux-stream.js +1 -1
- package/dist/packages/provider/src/google.js +1 -1
- package/dist/packages/provider/src/huggingface.js +1 -1
- package/dist/packages/provider/src/index.js +1 -1
- package/dist/packages/provider/src/llama-cpp.js +1 -1
- package/dist/packages/provider/src/nvidia.js +1 -1
- package/dist/packages/provider/src/ollama.js +1 -1
- package/dist/packages/provider/src/openai.js +1 -1
- package/dist/packages/provider/src/types.js +1 -1
- package/dist/packages/provider/src/xai.js +1 -1
- package/dist/packages/sandbox/src/gate.js +1 -1
- package/dist/packages/sandbox/src/index.js +1 -1
- package/dist/packages/sandbox/src/spawn.js +1 -1
- package/dist/packages/sandbox/src/types.js +1 -1
- package/dist/packages/sandbox/src/violation.js +1 -1
- package/dist/packages/schema/src/index.js +1 -1
- package/dist/packages/sdk/src/index.js +1 -1
- package/dist/packages/server/src/cors.js +1 -1
- package/dist/packages/server/src/daemon.js +1 -1
- package/dist/packages/server/src/github-app.js +1 -1
- package/dist/packages/server/src/github-autofix.js +1 -1
- package/dist/packages/server/src/github-jobs.js +1 -1
- package/dist/packages/server/src/github-oauth.js +1 -1
- package/dist/packages/server/src/index.js +1 -1
- package/dist/packages/server/src/install-ps1.js +1 -1
- package/dist/packages/server/src/license-store.js +1 -1
- package/dist/packages/session-backends/src/index.js +1 -1
- package/dist/packages/session-backends/src/transcript.js +1 -1
- package/dist/packages/telemetry/src/index.js +1 -1
- package/dist/packages/tui/src/app/app-state.js +1 -1
- package/dist/packages/tui/src/app/events.js +1 -1
- package/dist/packages/tui/src/approval-notification.js +1 -1
- package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
- package/dist/packages/tui/src/bottom_pane/index.js +1 -1
- package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
- package/dist/packages/tui/src/chatwidget/index.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/border.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(_0x3833d4,_0x547cd5,_0x4d7235,_0xbc199a){if(_0xbc199a===undefined)_0xbc199a=_0x4d7235;var _0xf0e478=Object['getOwnPropertyDescriptor'](_0x547cd5,_0x4d7235);(!_0xf0e478||('get'in _0xf0e478?!_0x547cd5['__esModule']:_0xf0e478['writable']||_0xf0e478['configurable']))&&(_0xf0e478={'enumerable':!![],'get':function(){return _0x547cd5[_0x4d7235];}}),Object['defineProperty'](_0x3833d4,_0xbc199a,_0xf0e478);}:function(_0xd30b76,_0x54fc27,_0x70ed54,_0x2e653f){if(_0x2e653f===undefined)_0x2e653f=_0x70ed54;_0xd30b76[_0x2e653f]=_0x54fc27[_0x70ed54];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x4e835c,_0x31a7db){Object['defineProperty'](_0x4e835c,'default',{'enumerable':!![],'value':_0x31a7db});}:function(_0x1dff57,_0x37efc6){_0x1dff57['default']=_0x37efc6;}),__importStar=this&&this['__importStar']||(function(){var _0x28f129=function(_0x529762){return _0x28f129=Object['getOwnPropertyNames']||function(_0x699d68){var _0x2034d3=[];for(var _0x2e4f11 in _0x699d68)if(Object['prototype']['hasOwnProperty']['call'](_0x699d68,_0x2e4f11))_0x2034d3[_0x2034d3['length']]=_0x2e4f11;return _0x2034d3;},_0x28f129(_0x529762);};return function(_0x4e856a){if(_0x4e856a&&_0x4e856a['__esModule'])return _0x4e856a;var _0x23cc82={};if(_0x4e856a!=null){for(var _0x3788ac=_0x28f129(_0x4e856a),_0x4817cd=0x0;_0x4817cd<_0x3788ac['length'];_0x4817cd++)if(_0x3788ac[_0x4817cd]!=='default')__createBinding(_0x23cc82,_0x4e856a,_0x3788ac[_0x4817cd]);}return __setModuleDefault(_0x23cc82,_0x4e856a),_0x23cc82;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpxCliJs']=exports['resolveNpmCliJs']=exports['resolveMcpCommand']=exports['resolveExecutable']=exports['clearOAuthCaches']=exports['authFilePath']=exports['removeMcpAuth']=exports['getMcpAuthStatus']=exports['getValidAccessToken']=exports['authorizeMcpServer']=exports['McpAuthError']=exports['McpConnection']=exports['McpError']=void 0x0,exports['createMcpConnection']=createMcpConnection;const child_process_1=require('child_process'),http=__importStar(require('http')),https=__importStar(require('https')),readline=__importStar(require('readline')),url=__importStar(require('url')),oauth_js_1=require('./oauth.js'),spawn_resolve_js_1=require('./spawn-resolve.js');class McpError extends Error{['code'];['data'];constructor(_0x13bb8d,_0x4df1bc,_0x449e42){super(_0x4df1bc),this['code']=_0x13bb8d,this['data']=_0x449e42;}}exports['McpError']=McpError;class McpConnection{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['lastRequestAt']=0x0;['lastError']='';['cachedTools']=null;['cachedToolsAt']=0x0;['cacheTtlMs']=0x493e0;['reconnecting']=![];['authAttempted']=![];constructor(_0x10ed62,_0x466b8f){this['name']=_0x10ed62,this['spec']=_0x466b8f;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}get['oauthEnabled'](){return Boolean(this['spec']['url'])&&this['spec']['oauth']!==![];}get['oauthConfig'](){return typeof this['spec']['oauth']==='object'&&this['spec']['oauth']!==null?this['spec']['oauth']:{};}async['connect'](){if(this['initialized'])return;if(this['reconnecting']){const _0x51b595=Date['now']();await new Promise((_0x2ad4cd,_0x542775)=>{const _0x297df4=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0x51b595>0x7530){clearInterval(_0x297df4);if(this['reconnecting'])_0x542775(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x2ad4cd();}},0x32);});return;}const _0xe3d06={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0xe3d06):(this['spawnStdio'](),await this['request']('initialize',_0xe3d06)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x23cfa3,_0x41af48){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x23cfa3,_0x41af48);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x23cfa3,'params':_0x41af48})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x1c6bc6={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x162100=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x162100)_0x1c6bc6['Authorization']='Bearer\x20'+_0x162100;}catch(_0x1bd899){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x1bd899 instanceof Error?_0x1bd899['message']:String(_0x1bd899));}return _0x1c6bc6;}async['postNotificationHttp'](_0x63dd97,_0x35d29c){const _0x55dfb4=new url['URL'](this['spec']['url']),_0x104cbe=_0x55dfb4['protocol']==='https:'?https:http,_0x5be8e0=JSON['stringify']({'jsonrpc':'2.0','method':_0x63dd97,'params':_0x35d29c}),_0x378167=await this['httpHeaders']();return new Promise(_0x4d6d63=>{const _0x3394f4=_0x104cbe['request']({'hostname':_0x55dfb4['hostname'],'port':_0x55dfb4['port']||(_0x55dfb4['protocol']==='https:'?0x1bb:0x50),'path':_0x55dfb4['pathname']+_0x55dfb4['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x5be8e0)),..._0x378167},'timeout':this['timeoutMs']},_0x488bfe=>{_0x488bfe['resume'](),_0x488bfe['on']('end',()=>_0x4d6d63());});_0x3394f4['on']('error',()=>_0x4d6d63()),_0x3394f4['on']('timeout',()=>{_0x3394f4['destroy'](),_0x4d6d63();}),_0x3394f4['end'](_0x5be8e0);});}async['status'](){const _0x2b4585=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x69e37=_0x2b4585||this['spec']['url']!==undefined;let _0x4a07c3='disconnected';_0x69e37&&(_0x4a07c3=this['spec']['url']?'http':'stdio');const _0x39bbd0={'name':this['name'],'connected':_0x69e37,'transport':_0x4a07c3,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x69e37&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x39bbd0['connected']=!![];}catch(_0x36074d){_0x39bbd0['connected']=![],_0x39bbd0['lastError']=_0x36074d instanceof Error?_0x36074d['message']:String(_0x36074d);}return _0x39bbd0;}async['reconnect'](){this['reconnecting']=!![],this['close'](),this['initialized']=![],this['cachedTools']=null,this['cachedToolsAt']=0x0,this['lastError']='';try{await this['connect']();}finally{this['reconnecting']=![];}}async['listTools'](_0x2c5741){await this['connect']();const _0x2109b5=_0x2c5741??this['cacheTtlMs'],_0x3a2031=Date['now']();if(this['cachedTools']!==null&&_0x3a2031-this['cachedToolsAt']<_0x2109b5)return this['cachedTools'];const _0x329fca=[];let _0x4dd3f6;for(let _0x4a34f5=0x0;_0x4a34f5<0x32;_0x4a34f5++){const _0x5c2d4f=await this['request']('tools/list',_0x4dd3f6?{'cursor':_0x4dd3f6}:{});_0x329fca['push'](..._0x5c2d4f?.['tools']??[]),_0x4dd3f6=_0x5c2d4f?.['nextCursor'];if(!_0x4dd3f6)break;}return this['cachedTools']=_0x329fca,this['cachedToolsAt']=_0x3a2031,_0x329fca;}async['listResources'](){await this['connect']();try{const _0x935126=[];let _0x27ff3c;for(let _0x47d988=0x0;_0x47d988<0x32;_0x47d988++){const _0x57a86e=await this['request']('resources/list',_0x27ff3c?{'cursor':_0x27ff3c}:{});_0x935126['push'](..._0x57a86e?.['resources']??[]),_0x27ff3c=_0x57a86e?.['nextCursor'];if(!_0x27ff3c)break;}return _0x935126;}catch(_0xc45197){if(_0xc45197 instanceof McpError&&_0xc45197['code']===-0x7f59)return[];throw _0xc45197;}}async['readResource'](_0x5a595e){await this['connect']();try{const _0x2855ad=await this['request']('resources/read',{'uri':_0x5a595e});if(_0x2855ad?.['contents'])return _0x2855ad['contents']['map'](_0xb7e66b=>typeof _0xb7e66b['text']==='string'?_0xb7e66b['text']:typeof _0xb7e66b['blob']==='string'?'[binary\x20'+(_0xb7e66b['mimeType']??'blob')+'\x20'+(_0xb7e66b['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0xb7e66b))['join']('\x0a');return'';}catch(_0x2c69db){if(_0x2c69db instanceof McpError&&_0x2c69db['code']===-0x7f59)return'';throw _0x2c69db;}}async['listPrompts'](){await this['connect']();try{const _0x2e5b80=[];let _0x51b007;for(let _0x172ae3=0x0;_0x172ae3<0x32;_0x172ae3++){const _0x71db2b=await this['request']('prompts/list',_0x51b007?{'cursor':_0x51b007}:{});_0x2e5b80['push'](..._0x71db2b?.['prompts']??[]),_0x51b007=_0x71db2b?.['nextCursor'];if(!_0x51b007)break;}return _0x2e5b80;}catch(_0x4e9c69){if(_0x4e9c69 instanceof McpError&&_0x4e9c69['code']===-0x7f59)return[];throw _0x4e9c69;}}async['getPrompt'](_0x2b4212,_0x22cfd3){await this['connect']();try{const _0x128e1a=await this['request']('prompts/get',{'name':_0x2b4212,'arguments':_0x22cfd3??{}}),_0x25d357=_0x128e1a?.['messages']??_0x128e1a?.['prompt']?.['messages'];if(!_0x25d357)return null;return{'name':_0x2b4212,'messages':_0x25d357};}catch(_0x5a83f1){if(_0x5a83f1 instanceof McpError&&_0x5a83f1['code']===-0x7f59)return null;throw _0x5a83f1;}}async['callTool'](_0x17b0ab,_0x49d6a5){return await this['connect'](),await this['request']('tools/call',{'name':_0x17b0ab,'arguments':_0x49d6a5});}['close'](){const _0x1c3db5=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['cachedTools']=null,this['authAttempted']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x1c3db5&&_0x1c3db5['exitCode']===null&&!_0x1c3db5['killed']){_0x1c3db5['kill']('SIGTERM');const _0x3ffa50=setTimeout(()=>{try{if(_0x1c3db5['exitCode']===null)_0x1c3db5['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x3ffa50['unref']==='function')_0x3ffa50['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x2e7270=this['spec'],_0x15ae5a=_0x2e7270['command']??[];if(_0x15ae5a['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x5a0b45,args:_0xb8ba67}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x15ae5a);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x5a0b45,_0xb8ba67,{'cwd':_0x2e7270['cwd'],'env':{...process.env,..._0x2e7270['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0x19b9c9=>{for(const _0x464eef of String(_0x19b9c9)['split']('\x0a')){const _0x782f1c=_0x464eef['trimEnd']();if(!_0x782f1c)continue;this['stderrTail']['push'](_0x782f1c['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x5c319c=>{try{const _0x2d6e47=JSON['parse'](_0x5c319c);if(_0x2d6e47['id']===undefined)return;const _0xeca195=this['pending']['get'](_0x2d6e47['id']);if(!_0xeca195)return;this['pending']['delete'](_0x2d6e47['id']);const _0x2ce894=_0x2d6e47;if(_0x2ce894['error']){const _0x179694=new McpError(_0x2ce894['error']['code'],_0x2ce894['error']['message'],_0x2ce894['error']['data']);_0xeca195['reject'](_0x179694);}else _0xeca195['resolve'](_0x2ce894['result']);}catch{}}),this['child']['on']('error',_0x254d28=>{this['lastError']=_0x254d28['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x254d28['message']));}),this['child']['on']('exit',_0x132120=>{const _0x205091=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x132120??'signal')+'.'+_0x205091,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x132120??'signal')+'.'+_0x205091));});}async['request'](_0x1c43ad,_0x44d420){this['lastRequestAt']=Date['now'](),this['lastError']='';if(!this['spec']['url']){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');return this['requestStdio'](_0x1c43ad,_0x44d420);}try{return await this['requestHttp'](_0x1c43ad,_0x44d420);}catch(_0x5af7da){if(!(_0x5af7da instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x5af7da;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x5af7da['message']+'\x20Run\x20`trayambak\x20mcp\x20auth\x20'+this['name']+'`\x20to\x20authorize\x20interactively.','auth-required');return await(0x0,oauth_js_1['authorizeMcpServer'])(this['name'],this['spec']['url'],this['oauthConfig']),await this['requestHttp'](_0x1c43ad,_0x44d420);}}['requestStdio'](_0x3c33c3,_0x2f7125){const _0x305352=this['nextId']++;return new Promise((_0x163da5,_0x14ea06)=>{const _0x55a23b=setTimeout(()=>{this['pending']['delete'](_0x305352);const _0x133dd9=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x3c33c3+'\x27.'+_0x133dd9,_0x14ea06(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x3c33c3+'\x27.'+_0x133dd9));},this['timeoutMs']);this['pending']['set'](_0x305352,{'resolve':_0xf2aa12=>{clearTimeout(_0x55a23b),this['lastError']='',_0x163da5(_0xf2aa12);},'reject':_0x1ce7f4=>{clearTimeout(_0x55a23b),this['lastError']=_0x1ce7f4['message'],_0x14ea06(_0x1ce7f4);}});const _0x1bc6b4={'jsonrpc':'2.0','id':_0x305352,'method':_0x3c33c3,'params':_0x2f7125};this['child']['stdin']['write'](JSON['stringify'](_0x1bc6b4)+'\x0a');});}async['requestHttp'](_0x52fd9e,_0x1684c6){const _0x4623d9=new url['URL'](this['spec']['url']),_0x54ee3a=_0x4623d9['protocol']==='https:'?https:http,_0x17873c=this['nextId']++,_0x24e85a={'jsonrpc':'2.0','id':_0x17873c,'method':_0x52fd9e,'params':_0x1684c6},_0x586ca3=JSON['stringify'](_0x24e85a),_0x12e366={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x586ca3)),...await this['httpHeaders']()};return new Promise((_0x43ee81,_0x459a76)=>{const _0x57aaa4=_0x54ee3a['request']({'hostname':_0x4623d9['hostname'],'port':_0x4623d9['port']||(_0x4623d9['protocol']==='https:'?0x1bb:0x50),'path':_0x4623d9['pathname']+_0x4623d9['search'],'method':'POST','headers':_0x12e366,'timeout':this['timeoutMs']},_0x11b153=>{const _0x3bf283=_0x11b153['statusCode']??0x0;let _0x2f0397='';_0x11b153['setEncoding']('utf8'),_0x11b153['on']('data',_0x50403a=>_0x2f0397+=_0x50403a),_0x11b153['on']('end',()=>{if(_0x3bf283===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x459a76(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x3bf283>=0x190){this['lastError']='HTTP\x20'+_0x3bf283,_0x459a76(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x3bf283+'\x20from\x20'+this['spec']['url']+(_0x2f0397?':\x20'+_0x2f0397['slice'](0x0,0x12c):'')));return;}try{const _0x53ccea=_0x2f0397['split']('\x0a')['filter'](_0x222e9b=>_0x222e9b['startsWith']('data:'))['map'](_0x40adec=>_0x40adec['slice'](0x5)['trim']())['filter'](_0x4fb205=>_0x4fb205['length']>0x0&&_0x4fb205!=='[DONE]');let _0x3460f8=null,_0x2a2c66=![];for(const _0x52b21a of _0x53ccea){try{const _0x1b9643=JSON['parse'](_0x52b21a);_0x2a2c66=!![];if(_0x1b9643['id']!==undefined&&_0x1b9643['id']!==_0x17873c)continue;_0x3460f8=_0x1b9643;break;}catch{}}const _0x1d9a00=_0x3460f8??(_0x2a2c66?null:JSON['parse'](_0x2f0397));if(!_0x1d9a00)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0x1d9a00['id']!==undefined&&_0x1d9a00['id']!==_0x17873c)return;_0x1d9a00['error']?_0x459a76(new McpError(_0x1d9a00['error']['code'],_0x1d9a00['error']['message'],_0x1d9a00['error']['data'])):(this['lastError']='',_0x43ee81(_0x1d9a00['result']));}catch(_0x144a6a){this['lastError']=_0x144a6a instanceof Error?_0x144a6a['message']:String(_0x144a6a),_0x459a76(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x144a6a instanceof Error?_0x144a6a['message']:String(_0x144a6a))));}});});_0x57aaa4['on']('error',_0x2bac4a=>{this['lastError']=_0x2bac4a['message'],_0x459a76(new Error('MCP\x20'+this['name']+':\x20'+_0x2bac4a['message']));}),_0x57aaa4['on']('timeout',()=>{_0x57aaa4['destroy'](),this['lastError']='timeout',_0x459a76(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x57aaa4['end'](_0x586ca3);});}['rejectAll'](_0x456a4c){for(const [,_0x2d91ae]of this['pending'])_0x2d91ae['reject'](_0x456a4c);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x47d66e,_0x3cb494){return new McpConnection(_0x47d66e,_0x3cb494);}var oauth_js_2=require('./oauth.js');Object['defineProperty'](exports,'McpAuthError',{'enumerable':!![],'get':function(){return oauth_js_2['McpAuthError'];}});var oauth_js_3=require('./oauth.js');Object['defineProperty'](exports,'authorizeMcpServer',{'enumerable':!![],'get':function(){return oauth_js_3['authorizeMcpServer'];}}),Object['defineProperty'](exports,'getValidAccessToken',{'enumerable':!![],'get':function(){return oauth_js_3['getValidAccessToken'];}}),Object['defineProperty'](exports,'getMcpAuthStatus',{'enumerable':!![],'get':function(){return oauth_js_3['getMcpAuthStatus'];}}),Object['defineProperty'](exports,'removeMcpAuth',{'enumerable':!![],'get':function(){return oauth_js_3['removeMcpAuth'];}}),Object['defineProperty'](exports,'authFilePath',{'enumerable':!![],'get':function(){return oauth_js_3['authFilePath'];}}),Object['defineProperty'](exports,'clearOAuthCaches',{'enumerable':!![],'get':function(){return oauth_js_3['clearOAuthCaches'];}});var spawn_resolve_js_2=require('./spawn-resolve.js');Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveMcpCommand',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveMcpCommand'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}}),Object['defineProperty'](exports,'resolveNpxCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpxCliJs'];}});
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x46d94b,_0x1b1674,_0x55cc59,_0x13ff58){if(_0x13ff58===undefined)_0x13ff58=_0x55cc59;var _0x56b33d=Object['getOwnPropertyDescriptor'](_0x1b1674,_0x55cc59);(!_0x56b33d||('get'in _0x56b33d?!_0x1b1674['__esModule']:_0x56b33d['writable']||_0x56b33d['configurable']))&&(_0x56b33d={'enumerable':!![],'get':function(){return _0x1b1674[_0x55cc59];}}),Object['defineProperty'](_0x46d94b,_0x13ff58,_0x56b33d);}:function(_0x112883,_0xf995cb,_0x34799b,_0x9940f5){if(_0x9940f5===undefined)_0x9940f5=_0x34799b;_0x112883[_0x9940f5]=_0xf995cb[_0x34799b];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2f5a61,_0x4989c5){Object['defineProperty'](_0x2f5a61,'default',{'enumerable':!![],'value':_0x4989c5});}:function(_0x536206,_0x304751){_0x536206['default']=_0x304751;}),__importStar=this&&this['__importStar']||(function(){var _0x3d2b9a=function(_0x4a4a8d){return _0x3d2b9a=Object['getOwnPropertyNames']||function(_0x1f2459){var _0x1cd0cf=[];for(var _0x11fb01 in _0x1f2459)if(Object['prototype']['hasOwnProperty']['call'](_0x1f2459,_0x11fb01))_0x1cd0cf[_0x1cd0cf['length']]=_0x11fb01;return _0x1cd0cf;},_0x3d2b9a(_0x4a4a8d);};return function(_0x2ea86e){if(_0x2ea86e&&_0x2ea86e['__esModule'])return _0x2ea86e;var _0x332ad6={};if(_0x2ea86e!=null){for(var _0x528c6d=_0x3d2b9a(_0x2ea86e),_0x2714b9=0x0;_0x2714b9<_0x528c6d['length'];_0x2714b9++)if(_0x528c6d[_0x2714b9]!=='default')__createBinding(_0x332ad6,_0x2ea86e,_0x528c6d[_0x2714b9]);}return __setModuleDefault(_0x332ad6,_0x2ea86e),_0x332ad6;};}());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(_0x1592f2,_0x2a8c20,_0x17db9f){super(_0x2a8c20),this['code']=_0x1592f2,this['data']=_0x17db9f;}}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(_0x3c4d16,_0x11c9ec){this['name']=_0x3c4d16,this['spec']=_0x11c9ec;}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 _0xa2cb4b=Date['now']();await new Promise((_0x1d9cb9,_0x22aa76)=>{const _0x117876=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0xa2cb4b>0x7530){clearInterval(_0x117876);if(this['reconnecting'])_0x22aa76(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x1d9cb9();}},0x32);});return;}const _0x816172={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0x816172):(this['spawnStdio'](),await this['request']('initialize',_0x816172)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x30ba9c,_0x4ac999){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x30ba9c,_0x4ac999);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x30ba9c,'params':_0x4ac999})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x38ef2c={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x134510=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x134510)_0x38ef2c['Authorization']='Bearer\x20'+_0x134510;}catch(_0x3cd171){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x3cd171 instanceof Error?_0x3cd171['message']:String(_0x3cd171));}return _0x38ef2c;}async['postNotificationHttp'](_0x180b2b,_0x1a4501){const _0x1800d6=new url['URL'](this['spec']['url']),_0x5c369f=_0x1800d6['protocol']==='https:'?https:http,_0x188934=JSON['stringify']({'jsonrpc':'2.0','method':_0x180b2b,'params':_0x1a4501}),_0x2945bd=await this['httpHeaders']();return new Promise(_0x3595aa=>{const _0x26277c=_0x5c369f['request']({'hostname':_0x1800d6['hostname'],'port':_0x1800d6['port']||(_0x1800d6['protocol']==='https:'?0x1bb:0x50),'path':_0x1800d6['pathname']+_0x1800d6['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x188934)),..._0x2945bd},'timeout':this['timeoutMs']},_0xb8f794=>{_0xb8f794['resume'](),_0xb8f794['on']('end',()=>_0x3595aa());});_0x26277c['on']('error',()=>_0x3595aa()),_0x26277c['on']('timeout',()=>{_0x26277c['destroy'](),_0x3595aa();}),_0x26277c['end'](_0x188934);});}async['status'](){const _0x227bc0=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x5eeb51=_0x227bc0||this['spec']['url']!==undefined;let _0x40f767='disconnected';_0x5eeb51&&(_0x40f767=this['spec']['url']?'http':'stdio');const _0x553bc0={'name':this['name'],'connected':_0x5eeb51,'transport':_0x40f767,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x5eeb51&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x553bc0['connected']=!![];}catch(_0x3ce715){_0x553bc0['connected']=![],_0x553bc0['lastError']=_0x3ce715 instanceof Error?_0x3ce715['message']:String(_0x3ce715);}return _0x553bc0;}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'](_0x385a8c){await this['connect']();const _0x3d0cdc=_0x385a8c??this['cacheTtlMs'],_0x41fcfa=Date['now']();if(this['cachedTools']!==null&&_0x41fcfa-this['cachedToolsAt']<_0x3d0cdc)return this['cachedTools'];const _0x5598fc=[];let _0x17ad19;for(let _0x20935e=0x0;_0x20935e<0x32;_0x20935e++){const _0xe5b3f1=await this['request']('tools/list',_0x17ad19?{'cursor':_0x17ad19}:{});_0x5598fc['push'](..._0xe5b3f1?.['tools']??[]),_0x17ad19=_0xe5b3f1?.['nextCursor'];if(!_0x17ad19)break;}return this['cachedTools']=_0x5598fc,this['cachedToolsAt']=_0x41fcfa,_0x5598fc;}async['listResources'](){await this['connect']();try{const _0x142aa6=[];let _0x11ccec;for(let _0x1269ff=0x0;_0x1269ff<0x32;_0x1269ff++){const _0x357882=await this['request']('resources/list',_0x11ccec?{'cursor':_0x11ccec}:{});_0x142aa6['push'](..._0x357882?.['resources']??[]),_0x11ccec=_0x357882?.['nextCursor'];if(!_0x11ccec)break;}return _0x142aa6;}catch(_0x18c347){if(_0x18c347 instanceof McpError&&_0x18c347['code']===-0x7f59)return[];throw _0x18c347;}}async['readResource'](_0x481028){await this['connect']();try{const _0x7b5761=await this['request']('resources/read',{'uri':_0x481028});if(_0x7b5761?.['contents'])return _0x7b5761['contents']['map'](_0x538fab=>typeof _0x538fab['text']==='string'?_0x538fab['text']:typeof _0x538fab['blob']==='string'?'[binary\x20'+(_0x538fab['mimeType']??'blob')+'\x20'+(_0x538fab['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0x538fab))['join']('\x0a');return'';}catch(_0x5a64e1){if(_0x5a64e1 instanceof McpError&&_0x5a64e1['code']===-0x7f59)return'';throw _0x5a64e1;}}async['listPrompts'](){await this['connect']();try{const _0x131b17=[];let _0x1f9e5c;for(let _0x5316c4=0x0;_0x5316c4<0x32;_0x5316c4++){const _0x3d4b2a=await this['request']('prompts/list',_0x1f9e5c?{'cursor':_0x1f9e5c}:{});_0x131b17['push'](..._0x3d4b2a?.['prompts']??[]),_0x1f9e5c=_0x3d4b2a?.['nextCursor'];if(!_0x1f9e5c)break;}return _0x131b17;}catch(_0x69e691){if(_0x69e691 instanceof McpError&&_0x69e691['code']===-0x7f59)return[];throw _0x69e691;}}async['getPrompt'](_0x1b60bc,_0x1b730b){await this['connect']();try{const _0x2b0c31=await this['request']('prompts/get',{'name':_0x1b60bc,'arguments':_0x1b730b??{}}),_0x510bf2=_0x2b0c31?.['messages']??_0x2b0c31?.['prompt']?.['messages'];if(!_0x510bf2)return null;return{'name':_0x1b60bc,'messages':_0x510bf2};}catch(_0x15c993){if(_0x15c993 instanceof McpError&&_0x15c993['code']===-0x7f59)return null;throw _0x15c993;}}async['callTool'](_0x4d05c0,_0x3bbf48){return await this['connect'](),await this['request']('tools/call',{'name':_0x4d05c0,'arguments':_0x3bbf48});}['close'](){const _0x55c609=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(_0x55c609&&_0x55c609['exitCode']===null&&!_0x55c609['killed']){_0x55c609['kill']('SIGTERM');const _0x1bf9ed=setTimeout(()=>{try{if(_0x55c609['exitCode']===null)_0x55c609['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x1bf9ed['unref']==='function')_0x1bf9ed['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x1976bd=this['spec'],_0x40f023=_0x1976bd['command']??[];if(_0x40f023['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x51dacb,args:_0x3545d5}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x40f023);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x51dacb,_0x3545d5,{'cwd':_0x1976bd['cwd'],'env':{...process.env,..._0x1976bd['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0xbdcd6a=>{for(const _0x3773ce of String(_0xbdcd6a)['split']('\x0a')){const _0x652a1f=_0x3773ce['trimEnd']();if(!_0x652a1f)continue;this['stderrTail']['push'](_0x652a1f['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x593f92=>{try{const _0x3a24e0=JSON['parse'](_0x593f92);if(_0x3a24e0['id']===undefined)return;const _0x3d5025=this['pending']['get'](_0x3a24e0['id']);if(!_0x3d5025)return;this['pending']['delete'](_0x3a24e0['id']);const _0x32d623=_0x3a24e0;if(_0x32d623['error']){const _0x5e45a0=new McpError(_0x32d623['error']['code'],_0x32d623['error']['message'],_0x32d623['error']['data']);_0x3d5025['reject'](_0x5e45a0);}else _0x3d5025['resolve'](_0x32d623['result']);}catch{}}),this['child']['on']('error',_0x4ecd3f=>{this['lastError']=_0x4ecd3f['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x4ecd3f['message']));}),this['child']['on']('exit',_0x2e8c11=>{const _0x58f204=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x2e8c11??'signal')+'.'+_0x58f204,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x2e8c11??'signal')+'.'+_0x58f204));});}async['request'](_0xfa6294,_0x10e2bb){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'](_0xfa6294,_0x10e2bb);}try{return await this['requestHttp'](_0xfa6294,_0x10e2bb);}catch(_0x43b017){if(!(_0x43b017 instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x43b017;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x43b017['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'](_0xfa6294,_0x10e2bb);}}['requestStdio'](_0x3b243c,_0x4ff498){const _0x397b18=this['nextId']++;return new Promise((_0x2cf621,_0x280c71)=>{const _0x55f500=setTimeout(()=>{this['pending']['delete'](_0x397b18);const _0x410080=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x3b243c+'\x27.'+_0x410080,_0x280c71(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x3b243c+'\x27.'+_0x410080));},this['timeoutMs']);this['pending']['set'](_0x397b18,{'resolve':_0x4f7eb4=>{clearTimeout(_0x55f500),this['lastError']='',_0x2cf621(_0x4f7eb4);},'reject':_0x113151=>{clearTimeout(_0x55f500),this['lastError']=_0x113151['message'],_0x280c71(_0x113151);}});const _0x126f87={'jsonrpc':'2.0','id':_0x397b18,'method':_0x3b243c,'params':_0x4ff498};this['child']['stdin']['write'](JSON['stringify'](_0x126f87)+'\x0a');});}async['requestHttp'](_0xeac26f,_0x1239d9){const _0x48124c=new url['URL'](this['spec']['url']),_0x2bd323=_0x48124c['protocol']==='https:'?https:http,_0x1f99f5=this['nextId']++,_0xfef08c={'jsonrpc':'2.0','id':_0x1f99f5,'method':_0xeac26f,'params':_0x1239d9},_0x3aa1af=JSON['stringify'](_0xfef08c),_0x56475b={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x3aa1af)),...await this['httpHeaders']()};return new Promise((_0x2aae1d,_0x3ded44)=>{const _0x218047=_0x2bd323['request']({'hostname':_0x48124c['hostname'],'port':_0x48124c['port']||(_0x48124c['protocol']==='https:'?0x1bb:0x50),'path':_0x48124c['pathname']+_0x48124c['search'],'method':'POST','headers':_0x56475b,'timeout':this['timeoutMs']},_0x1c6da4=>{const _0x2e0f75=_0x1c6da4['statusCode']??0x0;let _0x5eb9cb='';_0x1c6da4['setEncoding']('utf8'),_0x1c6da4['on']('data',_0x38cd2e=>_0x5eb9cb+=_0x38cd2e),_0x1c6da4['on']('end',()=>{if(_0x2e0f75===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x3ded44(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x2e0f75>=0x190){this['lastError']='HTTP\x20'+_0x2e0f75,_0x3ded44(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x2e0f75+'\x20from\x20'+this['spec']['url']+(_0x5eb9cb?':\x20'+_0x5eb9cb['slice'](0x0,0x12c):'')));return;}try{const _0x31903b=_0x5eb9cb['split']('\x0a')['filter'](_0x2f10f3=>_0x2f10f3['startsWith']('data:'))['map'](_0x56165f=>_0x56165f['slice'](0x5)['trim']())['filter'](_0x222ad4=>_0x222ad4['length']>0x0&&_0x222ad4!=='[DONE]');let _0x27b53b=null,_0xc48324=![];for(const _0xdaf6b5 of _0x31903b){try{const _0x5735df=JSON['parse'](_0xdaf6b5);_0xc48324=!![];if(_0x5735df['id']!==undefined&&_0x5735df['id']!==_0x1f99f5)continue;_0x27b53b=_0x5735df;break;}catch{}}const _0xf84081=_0x27b53b??(_0xc48324?null:JSON['parse'](_0x5eb9cb));if(!_0xf84081)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0xf84081['id']!==undefined&&_0xf84081['id']!==_0x1f99f5)return;_0xf84081['error']?_0x3ded44(new McpError(_0xf84081['error']['code'],_0xf84081['error']['message'],_0xf84081['error']['data'])):(this['lastError']='',_0x2aae1d(_0xf84081['result']));}catch(_0x1f54df){this['lastError']=_0x1f54df instanceof Error?_0x1f54df['message']:String(_0x1f54df),_0x3ded44(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x1f54df instanceof Error?_0x1f54df['message']:String(_0x1f54df))));}});});_0x218047['on']('error',_0x39eb99=>{this['lastError']=_0x39eb99['message'],_0x3ded44(new Error('MCP\x20'+this['name']+':\x20'+_0x39eb99['message']));}),_0x218047['on']('timeout',()=>{_0x218047['destroy'](),this['lastError']='timeout',_0x3ded44(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x218047['end'](_0x3aa1af);});}['rejectAll'](_0x4c730d){for(const [,_0x374559]of this['pending'])_0x374559['reject'](_0x4c730d);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x182206,_0x4f753a){return new McpConnection(_0x182206,_0x4f753a);}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(_0xcb98b9,_0x343298,_0x2fc628,_0x20146d){if(_0x20146d===undefined)_0x20146d=_0x2fc628;var _0x2d37c3=Object['getOwnPropertyDescriptor'](_0x343298,_0x2fc628);(!_0x2d37c3||('get'in _0x2d37c3?!_0x343298['__esModule']:_0x2d37c3['writable']||_0x2d37c3['configurable']))&&(_0x2d37c3={'enumerable':!![],'get':function(){return _0x343298[_0x2fc628];}}),Object['defineProperty'](_0xcb98b9,_0x20146d,_0x2d37c3);}:function(_0x2a5d9d,_0x2cd8f9,_0x35ce6c,_0x2d795d){if(_0x2d795d===undefined)_0x2d795d=_0x35ce6c;_0x2a5d9d[_0x2d795d]=_0x2cd8f9[_0x35ce6c];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x259c68,_0x4364ec){Object['defineProperty'](_0x259c68,'default',{'enumerable':!![],'value':_0x4364ec});}:function(_0x16034b,_0x413a28){_0x16034b['default']=_0x413a28;}),__importStar=this&&this['__importStar']||(function(){var _0x3aba0a=function(_0x30db32){return _0x3aba0a=Object['getOwnPropertyNames']||function(_0x2d0970){var _0x7fde8e=[];for(var _0x330024 in _0x2d0970)if(Object['prototype']['hasOwnProperty']['call'](_0x2d0970,_0x330024))_0x7fde8e[_0x7fde8e['length']]=_0x330024;return _0x7fde8e;},_0x3aba0a(_0x30db32);};return function(_0x18a3ec){if(_0x18a3ec&&_0x18a3ec['__esModule'])return _0x18a3ec;var _0x12e436={};if(_0x18a3ec!=null){for(var _0x3c423c=_0x3aba0a(_0x18a3ec),_0x1b92c1=0x0;_0x1b92c1<_0x3c423c['length'];_0x1b92c1++)if(_0x3c423c[_0x1b92c1]!=='default')__createBinding(_0x12e436,_0x18a3ec,_0x3c423c[_0x1b92c1]);}return __setModuleDefault(_0x12e436,_0x18a3ec),_0x12e436;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OAUTH_CALLBACK_TIMEOUT_MS']=exports['OAUTH_CALLBACK_PATH']=exports['OAUTH_CALLBACK_PORT']=void 0x0,exports['parseRedirectUri']=parseRedirectUri,exports['isPortInUse']=isPortInUse,exports['ensureRunning']=ensureRunning,exports['waitForCallback']=waitForCallback,exports['cancelPending']=cancelPending,exports['stop']=stop,exports['isRunning']=isRunning;const http=__importStar(require('http')),net=__importStar(require('net'));exports['OAUTH_CALLBACK_PORT']=0x4da4,exports['OAUTH_CALLBACK_PATH']='/mcp/oauth/callback',exports['OAUTH_CALLBACK_TIMEOUT_MS']=0x5*0x3c*0x3e8;const DEFAULT_PORT_FALLBACKS=0x5;function parseRedirectUri(_0x11cb97){if(!_0x11cb97)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x1b33e8=new URL(_0x11cb97),_0x3db315=_0x1b33e8['port']?parseInt(_0x1b33e8['port'],0xa):_0x1b33e8['protocol']==='https:'?0x1bb:0x50,_0x1daf64=_0x1b33e8['pathname']&&_0x1b33e8['pathname']!=='/'?_0x1b33e8['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x3db315,'path':_0x1daf64};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x49f95a){return _0x49f95a['replace'](/&/g,'&')['replace'](/</g,'<')['replace'](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');}const HTML_SUCCESS='<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Successful</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#4ade80;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Successful</h1>\x0a\x20\x20\x20\x20<p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20Trayambak.</p>\x0a\x20\x20</div>\x0a\x20\x20<script>setTimeout(()\x20=>\x20window.close(),\x202000);</script>\x0a</body>\x0a</html>',HTML_ERROR=_0x4ad169=>'<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Failed</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#f87171;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20\x20\x20.detail\x20{\x20color:\x20#fca5a5;\x20font-family:\x20monospace;\x20margin-top:\x201rem;\x20padding:\x201rem;\x20background:\x20rgba(248,113,113,0.1);\x20border-radius:\x200.5rem;\x20white-space:\x20pre-wrap;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Failed</h1>\x0a\x20\x20\x20\x20<p>An\x20error\x20occurred\x20during\x20authorization.</p>\x0a\x20\x20\x20\x20<pre\x20class=\x22detail\x22>'+escapeHtml(_0x4ad169)+'</pre>\x0a\x20\x20</div>\x0a</body>\x0a</html>';let server,currentPort=exports['OAUTH_CALLBACK_PORT'],currentPath=exports['OAUTH_CALLBACK_PATH'];const pendingAuths=new Map(),mcpNameToState=new Map();function cleanupStateIndex(_0x4e8468){for(const [_0x473a54,_0x2d0162]of mcpNameToState){if(_0x2d0162===_0x4e8468){mcpNameToState['delete'](_0x473a54);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x15034f=server;server=undefined,_0x15034f['close'](),setImmediate(()=>{;_0x15034f['closeIdleConnections']?.();});}function handleRequest(_0x1a6de9,_0x4891ad){const _0x3e5213=new URL(_0x1a6de9['url']||'/','http://127.0.0.1:'+currentPort);if(_0x3e5213['pathname']!==currentPath){_0x4891ad['writeHead'](0x194),_0x4891ad['end']('Not\x20found');return;}const _0x11699d=_0x3e5213['searchParams']['get']('code'),_0x1e5daf=_0x3e5213['searchParams']['get']('state'),_0xa796fa=_0x3e5213['searchParams']['get']('error'),_0x11c5f5=_0x3e5213['searchParams']['get']('error_description');if(!_0x1e5daf){const _0x4f8bf6='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x4891ad['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR(_0x4f8bf6));return;}if(_0xa796fa){const _0xdda703=_0x11c5f5||_0xa796fa,_0x180859=pendingAuths['get'](_0x1e5daf);_0x180859&&(clearTimeout(_0x180859['timeout']),pendingAuths['delete'](_0x1e5daf),cleanupStateIndex(_0x1e5daf),_0x180859['reject'](new Error(_0xdda703)));_0x4891ad['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR(_0xdda703)),stopIfIdle();return;}if(!_0x11699d){_0x4891ad['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x1e5daf)){const _0x5dd2f4='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x4891ad['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_ERROR(_0x5dd2f4));return;}const _0x4adba5=pendingAuths['get'](_0x1e5daf);clearTimeout(_0x4adba5['timeout']),pendingAuths['delete'](_0x1e5daf),cleanupStateIndex(_0x1e5daf),_0x4adba5['resolve'](_0x11699d),_0x4891ad['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x4891ad['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x34512c=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x4e4bf2=>{const _0x1f2e5c=net['createConnection'](_0x34512c,'127.0.0.1');_0x1f2e5c['on']('connect',()=>{_0x1f2e5c['destroy'](),_0x4e4bf2(!![]);}),_0x1f2e5c['on']('error',()=>{_0x4e4bf2(![]);});});}function listen(_0x449a38,_0x1056e1){return new Promise(_0x2ee19e=>{const _0x36168e=http['createServer'](handleRequest),_0x3ec330=()=>{_0x36168e['removeListener']('listening',_0x3a739b),_0x2ee19e(![]);},_0x3a739b=()=>{_0x36168e['removeListener']('error',_0x3ec330),_0x36168e['on']('error',()=>{}),server=_0x36168e,currentPort=_0x449a38,currentPath=_0x1056e1,_0x2ee19e(!![]);};_0x36168e['once']('error',_0x3ec330),_0x36168e['once']('listening',_0x3a739b),_0x36168e['listen'](_0x449a38,'127.0.0.1');});}async function ensureRunning(_0x1c231b){const _0x1e5929=parseRedirectUri(_0x1c231b);if(server){const _0x500d21=_0x1c231b?currentPort===_0x1e5929['port']&¤tPath===_0x1e5929['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x500d21)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x1c231b){const _0xd1ebde=await listen(_0x1e5929['port'],_0x1e5929['path']);if(!_0xd1ebde)throw new Error('OAuth\x20callback\x20port\x20'+_0x1e5929['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x4c5331=![];for(let _0x541f5b=exports['OAUTH_CALLBACK_PORT'];_0x541f5b<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x4c5331;_0x541f5b++){_0x4c5331=await listen(_0x541f5b,exports['OAUTH_CALLBACK_PATH']);}if(!_0x4c5331)throw new Error('Could\x20not\x20bind\x20an\x20OAuth\x20callback\x20port\x20(tried\x20'+exports['OAUTH_CALLBACK_PORT']+'-'+(exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS-0x1)+'\x20on\x20127.0.0.1).');}return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};}function waitForCallback(_0x54d641,_0x5360de,_0x337873=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x5360de)mcpNameToState['set'](_0x5360de,_0x54d641);return new Promise((_0x55f803,_0x1c4e02)=>{const _0x51e99e=setTimeout(()=>{if(pendingAuths['has'](_0x54d641)){pendingAuths['delete'](_0x54d641);if(_0x5360de)mcpNameToState['delete'](_0x5360de);_0x1c4e02(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x337873);pendingAuths['set'](_0x54d641,{'resolve':_0x55f803,'reject':_0x1c4e02,'timeout':_0x51e99e});});}function cancelPending(_0x50d4d7){const _0x4bbed9=mcpNameToState['get'](_0x50d4d7),_0x4e0e92=_0x4bbed9??_0x50d4d7,_0xff29ca=pendingAuths['get'](_0x4e0e92);_0xff29ca&&(clearTimeout(_0xff29ca['timeout']),pendingAuths['delete'](_0x4e0e92),mcpNameToState['delete'](_0x50d4d7),_0xff29ca['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x59a5f1=server;server=undefined,_0x59a5f1['closeAllConnections']?.(),await new Promise(_0x1280ba=>_0x59a5f1['close'](()=>_0x1280ba()));}for(const [,_0x16be62]of pendingAuths){clearTimeout(_0x16be62['timeout']),_0x16be62['reject'](new Error('OAuth\x20callback\x20server\x20stopped'));}pendingAuths['clear'](),mcpNameToState['clear']();}function isRunning(){return server!==undefined;}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x30452e,_0x5afb23,_0x2e806d,_0x2184cb){if(_0x2184cb===undefined)_0x2184cb=_0x2e806d;var _0x458546=Object['getOwnPropertyDescriptor'](_0x5afb23,_0x2e806d);(!_0x458546||('get'in _0x458546?!_0x5afb23['__esModule']:_0x458546['writable']||_0x458546['configurable']))&&(_0x458546={'enumerable':!![],'get':function(){return _0x5afb23[_0x2e806d];}}),Object['defineProperty'](_0x30452e,_0x2184cb,_0x458546);}:function(_0x47a2f7,_0x351a6b,_0x216ae1,_0x59c420){if(_0x59c420===undefined)_0x59c420=_0x216ae1;_0x47a2f7[_0x59c420]=_0x351a6b[_0x216ae1];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5170be,_0x2968cf){Object['defineProperty'](_0x5170be,'default',{'enumerable':!![],'value':_0x2968cf});}:function(_0x54bc10,_0x9cca3e){_0x54bc10['default']=_0x9cca3e;}),__importStar=this&&this['__importStar']||(function(){var _0x6425f3=function(_0x36ee3c){return _0x6425f3=Object['getOwnPropertyNames']||function(_0x48de40){var _0x16ef16=[];for(var _0x3db5d0 in _0x48de40)if(Object['prototype']['hasOwnProperty']['call'](_0x48de40,_0x3db5d0))_0x16ef16[_0x16ef16['length']]=_0x3db5d0;return _0x16ef16;},_0x6425f3(_0x36ee3c);};return function(_0x32932e){if(_0x32932e&&_0x32932e['__esModule'])return _0x32932e;var _0x1bfeef={};if(_0x32932e!=null){for(var _0xcc0253=_0x6425f3(_0x32932e),_0x850b71=0x0;_0x850b71<_0xcc0253['length'];_0x850b71++)if(_0xcc0253[_0x850b71]!=='default')__createBinding(_0x1bfeef,_0x32932e,_0xcc0253[_0x850b71]);}return __setModuleDefault(_0x1bfeef,_0x32932e),_0x1bfeef;};}());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(_0x529bb1){if(!_0x529bb1)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x108e45=new URL(_0x529bb1),_0x4e6169=_0x108e45['port']?parseInt(_0x108e45['port'],0xa):_0x108e45['protocol']==='https:'?0x1bb:0x50,_0x4e654e=_0x108e45['pathname']&&_0x108e45['pathname']!=='/'?_0x108e45['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x4e6169,'path':_0x4e654e};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x58cc25){return _0x58cc25['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=_0x139292=>'<!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(_0x139292)+'</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(_0x38f8a6){for(const [_0x396769,_0x37a688]of mcpNameToState){if(_0x37a688===_0x38f8a6){mcpNameToState['delete'](_0x396769);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x397ea9=server;server=undefined,_0x397ea9['close'](),setImmediate(()=>{;_0x397ea9['closeIdleConnections']?.();});}function handleRequest(_0x6840c1,_0x53f143){const _0x4589d0=new URL(_0x6840c1['url']||'/','http://127.0.0.1:'+currentPort);if(_0x4589d0['pathname']!==currentPath){_0x53f143['writeHead'](0x194),_0x53f143['end']('Not\x20found');return;}const _0x156795=_0x4589d0['searchParams']['get']('code'),_0x3ffdb5=_0x4589d0['searchParams']['get']('state'),_0x11a848=_0x4589d0['searchParams']['get']('error'),_0x36d60=_0x4589d0['searchParams']['get']('error_description');if(!_0x3ffdb5){const _0x142903='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x53f143['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR(_0x142903));return;}if(_0x11a848){const _0x53ec01=_0x36d60||_0x11a848,_0x542d0b=pendingAuths['get'](_0x3ffdb5);_0x542d0b&&(clearTimeout(_0x542d0b['timeout']),pendingAuths['delete'](_0x3ffdb5),cleanupStateIndex(_0x3ffdb5),_0x542d0b['reject'](new Error(_0x53ec01)));_0x53f143['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR(_0x53ec01)),stopIfIdle();return;}if(!_0x156795){_0x53f143['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x3ffdb5)){const _0x28f2e4='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x53f143['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR(_0x28f2e4));return;}const _0x586fe8=pendingAuths['get'](_0x3ffdb5);clearTimeout(_0x586fe8['timeout']),pendingAuths['delete'](_0x3ffdb5),cleanupStateIndex(_0x3ffdb5),_0x586fe8['resolve'](_0x156795),_0x53f143['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x324d8b=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x541437=>{const _0x2f3c06=net['createConnection'](_0x324d8b,'127.0.0.1');_0x2f3c06['on']('connect',()=>{_0x2f3c06['destroy'](),_0x541437(!![]);}),_0x2f3c06['on']('error',()=>{_0x541437(![]);});});}function listen(_0x905cda,_0x533106){return new Promise(_0x337127=>{const _0x496d8d=http['createServer'](handleRequest),_0x2a6a37=()=>{_0x496d8d['removeListener']('listening',_0x55a7d8),_0x337127(![]);},_0x55a7d8=()=>{_0x496d8d['removeListener']('error',_0x2a6a37),_0x496d8d['on']('error',()=>{}),server=_0x496d8d,currentPort=_0x905cda,currentPath=_0x533106,_0x337127(!![]);};_0x496d8d['once']('error',_0x2a6a37),_0x496d8d['once']('listening',_0x55a7d8),_0x496d8d['listen'](_0x905cda,'127.0.0.1');});}async function ensureRunning(_0x55a354){const _0x39c426=parseRedirectUri(_0x55a354);if(server){const _0x2ea45a=_0x55a354?currentPort===_0x39c426['port']&¤tPath===_0x39c426['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x2ea45a)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x55a354){const _0x34e40f=await listen(_0x39c426['port'],_0x39c426['path']);if(!_0x34e40f)throw new Error('OAuth\x20callback\x20port\x20'+_0x39c426['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x124868=![];for(let _0x517c8a=exports['OAUTH_CALLBACK_PORT'];_0x517c8a<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x124868;_0x517c8a++){_0x124868=await listen(_0x517c8a,exports['OAUTH_CALLBACK_PATH']);}if(!_0x124868)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(_0x153c00,_0x11e639,_0x4cf38b=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x11e639)mcpNameToState['set'](_0x11e639,_0x153c00);return new Promise((_0x59e740,_0x5a9372)=>{const _0x18b226=setTimeout(()=>{if(pendingAuths['has'](_0x153c00)){pendingAuths['delete'](_0x153c00);if(_0x11e639)mcpNameToState['delete'](_0x11e639);_0x5a9372(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x4cf38b);pendingAuths['set'](_0x153c00,{'resolve':_0x59e740,'reject':_0x5a9372,'timeout':_0x18b226});});}function cancelPending(_0x5b610b){const _0x23241e=mcpNameToState['get'](_0x5b610b),_0x1e1041=_0x23241e??_0x5b610b,_0x528844=pendingAuths['get'](_0x1e1041);_0x528844&&(clearTimeout(_0x528844['timeout']),pendingAuths['delete'](_0x1e1041),mcpNameToState['delete'](_0x5b610b),_0x528844['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x196484=server;server=undefined,_0x196484['closeAllConnections']?.(),await new Promise(_0x5d8122=>_0x196484['close'](()=>_0x5d8122()));}for(const [,_0x2204bf]of pendingAuths){clearTimeout(_0x2204bf['timeout']),_0x2204bf['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(_0x551436,_0xd420a6,_0x5599f6,_0x33e68c){if(_0x33e68c===undefined)_0x33e68c=_0x5599f6;var _0x164310=Object['getOwnPropertyDescriptor'](_0xd420a6,_0x5599f6);(!_0x164310||('get'in _0x164310?!_0xd420a6['__esModule']:_0x164310['writable']||_0x164310['configurable']))&&(_0x164310={'enumerable':!![],'get':function(){return _0xd420a6[_0x5599f6];}}),Object['defineProperty'](_0x551436,_0x33e68c,_0x164310);}:function(_0x1c3633,_0x3029ba,_0x45a301,_0x37ac5e){if(_0x37ac5e===undefined)_0x37ac5e=_0x45a301;_0x1c3633[_0x37ac5e]=_0x3029ba[_0x45a301];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1d3c72,_0x2979f9){Object['defineProperty'](_0x1d3c72,'default',{'enumerable':!![],'value':_0x2979f9});}:function(_0x127363,_0x59cd27){_0x127363['default']=_0x59cd27;}),__importStar=this&&this['__importStar']||(function(){var _0x34fbd3=function(_0x5f0234){return _0x34fbd3=Object['getOwnPropertyNames']||function(_0x2b774e){var _0x3ed745=[];for(var _0x41dcb4 in _0x2b774e)if(Object['prototype']['hasOwnProperty']['call'](_0x2b774e,_0x41dcb4))_0x3ed745[_0x3ed745['length']]=_0x41dcb4;return _0x3ed745;},_0x34fbd3(_0x5f0234);};return function(_0x2dadc3){if(_0x2dadc3&&_0x2dadc3['__esModule'])return _0x2dadc3;var _0x391f5f={};if(_0x2dadc3!=null){for(var _0x7c808c=_0x34fbd3(_0x2dadc3),_0xa932d9=0x0;_0xa932d9<_0x7c808c['length'];_0xa932d9++)if(_0x7c808c[_0xa932d9]!=='default')__createBinding(_0x391f5f,_0x2dadc3,_0x7c808c[_0xa932d9]);}return __setModuleDefault(_0x391f5f,_0x2dadc3),_0x391f5f;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpAuthError']=void 0x0,exports['authFilePath']=authFilePath,exports['getAuthEntry']=getAuthEntry,exports['getAuthEntryForUrl']=getAuthEntryForUrl,exports['setAuthEntry']=setAuthEntry,exports['removeMcpAuth']=removeMcpAuth,exports['getMcpAuthStatus']=getMcpAuthStatus,exports['generateCodeVerifier']=generateCodeVerifier,exports['computeCodeChallenge']=computeCodeChallenge,exports['generateState']=generateState,exports['discoveryCandidates']=discoveryCandidates,exports['discoverOAuthMetadata']=discoverOAuthMetadata,exports['clientMetadata']=clientMetadata,exports['registerClient']=registerClient,exports['buildAuthorizationUrl']=buildAuthorizationUrl,exports['exchangeAuthorizationCode']=exchangeAuthorizationCode,exports['refreshAccessToken']=refreshAccessToken,exports['getValidAccessToken']=getValidAccessToken,exports['openSystemBrowser']=openSystemBrowser,exports['authorizeMcpServer']=authorizeMcpServer,exports['clearOAuthCaches']=clearOAuthCaches;const child_process_1=require('child_process'),crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),http=__importStar(require('http')),https=__importStar(require('https')),os=__importStar(require('os')),path=__importStar(require('path')),oauth_callback_js_1=require('./oauth-callback.js');class McpAuthError extends Error{['kind'];['authorizationUrl'];constructor(_0x25e04e,_0x4c2ae5,_0x565ea2){super(_0x25e04e),this['name']='McpAuthError',this['kind']=_0x4c2ae5,this['authorizationUrl']=_0x565ea2;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0x32eda7=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0x32eda7&&typeof _0x32eda7==='object'&&!Array['isArray'](_0x32eda7))return _0x32eda7;}catch{}return{};}function writeAuthStore(_0x66b21f){const _0x3fd251=authFilePath();fs['mkdirSync'](path['dirname'](_0x3fd251),{'recursive':!![]}),fs['writeFileSync'](_0x3fd251,JSON['stringify'](_0x66b21f,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x3fd251,0x180);}catch{}}function getAuthEntry(_0x357d94){return readAuthStore()[_0x357d94];}function getAuthEntryForUrl(_0x5b28a9,_0x3aae9f){const _0x1eb766=readAuthStore()[_0x5b28a9];if(!_0x1eb766)return undefined;if(_0x1eb766['serverUrl']&&_0x1eb766['serverUrl']!==_0x3aae9f)return undefined;return _0x1eb766;}function setAuthEntry(_0x25d36e,_0x175410){const _0x15e63e=readAuthStore();_0x15e63e[_0x25d36e]=_0x175410,writeAuthStore(_0x15e63e);}function removeMcpAuth(_0x494147){const _0x4d0d8e=readAuthStore();if(!(_0x494147 in _0x4d0d8e))return(0x0,oauth_callback_js_1['cancelPending'])(_0x494147),![];return delete _0x4d0d8e[_0x494147],writeAuthStore(_0x4d0d8e),(0x0,oauth_callback_js_1['cancelPending'])(_0x494147),!![];}function getMcpAuthStatus(_0x23f53c,_0x1a80ae){const _0x1ce141=_0x1a80ae?getAuthEntryForUrl(_0x23f53c,_0x1a80ae):getAuthEntry(_0x23f53c);if(!_0x1ce141?.['tokens'])return'not_authenticated';const _0x3cff29=_0x1ce141['tokens']['expiresAt'];if(_0x3cff29&&_0x3cff29<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0x259b88){return crypto['createHash']('sha256')['update'](_0x259b88)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x1c3776,_0x51d859={}){return new Promise((_0x54cba5,_0x54a15c)=>{let _0x16375c;try{_0x16375c=new URL(_0x1c3776);}catch{_0x54a15c(new Error('Invalid\x20URL:\x20'+_0x1c3776));return;}const _0x2f9538=_0x16375c['protocol']==='https:'?https:http,_0x2ae083=_0x2f9538['request']({'hostname':_0x16375c['hostname'],'port':_0x16375c['port']||(_0x16375c['protocol']==='https:'?0x1bb:0x50),'path':_0x16375c['pathname']+_0x16375c['search'],'method':_0x51d859['method']??'GET','headers':_0x51d859['headers'],'timeout':_0x51d859['timeoutMs']??0x3a98},_0x25658a=>{let _0x54663f='';_0x25658a['setEncoding']('utf8'),_0x25658a['on']('data',_0x4e816b=>_0x54663f+=_0x4e816b),_0x25658a['on']('end',()=>{let _0x45a16f;try{const _0xbc688b=JSON['parse'](_0x54663f);if(_0xbc688b&&typeof _0xbc688b==='object')_0x45a16f=_0xbc688b;}catch{}_0x54cba5({'status':_0x25658a['statusCode']??0x0,'text':_0x54663f,'json':_0x45a16f});});});_0x2ae083['on']('error',_0x52def1=>_0x54a15c(_0x52def1)),_0x2ae083['on']('timeout',()=>{_0x2ae083['destroy'](),_0x54a15c(new Error('Timeout\x20requesting\x20'+_0x1c3776));}),_0x2ae083['end'](_0x51d859['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x58704c){const _0x5d187c=new URL(_0x58704c);_0x5d187c['search']='',_0x5d187c['hash']='';const _0x4d46fa=_0x5d187c['origin'],_0x53ad26=_0x5d187c['pathname']['replace'](/\/+$/,''),_0x202388=new Set();return _0x53ad26&&(_0x202388['add'](_0x4d46fa+'/.well-known/oauth-authorization-server'+_0x53ad26),_0x202388['add'](''+_0x4d46fa+_0x53ad26+'/.well-known/oauth-authorization-server')),_0x202388['add'](_0x4d46fa+'/.well-known/oauth-authorization-server'),_0x202388['add'](_0x4d46fa+'/.well-known/openid-configuration'),Array['from'](_0x202388);}async function discoverOAuthMetadata(_0xe2c196){const _0x17cce0=metaCache['get'](_0xe2c196);if(_0x17cce0&&Date['now']()-_0x17cce0['at']<META_TTL_MS)return _0x17cce0['meta'];const _0x35e3e5=[];for(const _0x37cddd of discoveryCandidates(_0xe2c196)){try{const _0x53ec9c=await httpRequest(_0x37cddd,{'headers':{'Accept':'application/json'}});if(_0x53ec9c['status']>=0xc8&&_0x53ec9c['status']<0x12c&&_0x53ec9c['json']){const _0x4b86d9=_0x53ec9c['json'];if(typeof _0x4b86d9['authorization_endpoint']==='string'&&_0x4b86d9['authorization_endpoint']['length']>0x0)return metaCache['set'](_0xe2c196,{'at':Date['now'](),'meta':_0x4b86d9}),_0x4b86d9;_0x35e3e5['push'](_0x37cddd+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x53ec9c['status']!==0x194&&_0x53ec9c['status']!==0x191&&_0x53ec9c['status']!==0x193&&_0x35e3e5['push'](_0x37cddd+':\x20HTTP\x20'+_0x53ec9c['status']);}catch(_0x540c1d){_0x35e3e5['push'](_0x37cddd+':\x20'+(_0x540c1d instanceof Error?_0x540c1d['message']:String(_0x540c1d)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0xe2c196+'\x20('+(_0x35e3e5['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x54f644,_0x2f5231){return{'redirect_uris':[_0x54f644],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x2f5231['clientSecret']?'client_secret_post':'none',..._0x2f5231['scope']?{'scope':_0x2f5231['scope']}:{}};}async function registerClient(_0x3e9d5b,_0x5cd410){const _0x10cbd7=await httpRequest(_0x3e9d5b,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x5cd410)}),_0x427552=_0x10cbd7['json'];if(!(_0x10cbd7['status']>=0xc8&&_0x10cbd7['status']<0x12c)||typeof _0x427552?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x10cbd7['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0x427552['client_id'],'clientSecret':typeof _0x427552['client_secret']==='string'?_0x427552['client_secret']:undefined,'clientIdIssuedAt':typeof _0x427552['client_id_issued_at']==='number'?_0x427552['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0x427552['client_secret_expires_at']==='number'?_0x427552['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x396b9b,_0x132c3c,_0x2de5bf){if(_0x2de5bf['clientId'])return{'clientId':_0x2de5bf['clientId'],'clientSecret':_0x2de5bf['clientSecret']};const _0x539142=getAuthEntryForUrl(_0x396b9b,_0x132c3c)?.['clientInfo'];if(!_0x539142)return undefined;if(_0x539142['clientSecretExpiresAt']&&_0x539142['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x539142;}function buildAuthorizationUrl(_0x5a2d29,_0x17ec38){const _0x1b507c=new URL(_0x5a2d29);_0x1b507c['searchParams']['set']('response_type','code'),_0x1b507c['searchParams']['set']('client_id',_0x17ec38['clientId']),_0x1b507c['searchParams']['set']('redirect_uri',_0x17ec38['redirectUri']),_0x1b507c['searchParams']['set']('state',_0x17ec38['state']),_0x1b507c['searchParams']['set']('code_challenge',_0x17ec38['codeChallenge']),_0x1b507c['searchParams']['set']('code_challenge_method','S256');if(_0x17ec38['scope'])_0x1b507c['searchParams']['set']('scope',_0x17ec38['scope']);return _0x1b507c['toString']();}async function tokenRequest(_0x22da13,_0x720d12){const _0x322fd0=new URLSearchParams(_0x720d12)['toString'](),_0x2bb057=await httpRequest(_0x22da13,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x322fd0}),_0x164a30=_0x2bb057['json'];if(!(_0x2bb057['status']>=0xc8&&_0x2bb057['status']<0x12c)||_0x164a30?.['error']){const _0x44345c=typeof _0x164a30?.['error_description']==='string'&&_0x164a30['error_description']||typeof _0x164a30?.['error']==='string'&&_0x164a30['error']||'HTTP\x20'+_0x2bb057['status']+(_0x2bb057['text']?':\x20'+_0x2bb057['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x44345c,'token');}if(typeof _0x164a30?.['access_token']!=='string'||!_0x164a30['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x164a30['access_token'],'refreshToken':typeof _0x164a30['refresh_token']==='string'?_0x164a30['refresh_token']:undefined,'expiresAt':typeof _0x164a30['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x164a30['expires_in']:undefined,'scope':typeof _0x164a30['scope']==='string'?_0x164a30['scope']:undefined};}function exchangeAuthorizationCode(_0x5b7c05,_0x419931){return tokenRequest(_0x5b7c05,{'grant_type':'authorization_code','code':_0x419931['code'],'redirect_uri':_0x419931['redirectUri'],'client_id':_0x419931['clientId'],'code_verifier':_0x419931['codeVerifier'],..._0x419931['clientSecret']?{'client_secret':_0x419931['clientSecret']}:{}});}function refreshAccessToken(_0x2d7514,_0x35773c){return tokenRequest(_0x2d7514,{'grant_type':'refresh_token','refresh_token':_0x35773c['refreshToken'],'client_id':_0x35773c['clientId'],..._0x35773c['clientSecret']?{'client_secret':_0x35773c['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x55eb36,_0x221f2d,_0xeeedf={}){const _0x42504b=getAuthEntryForUrl(_0x55eb36,_0x221f2d)?.['tokens'];if(!_0x42504b)return undefined;const _0x3ac329=Math['floor'](Date['now']()/0x3e8),_0x513ed5=Boolean(_0x42504b['expiresAt'])&&_0x42504b['expiresAt']-REFRESH_SKEW_SECONDS<=_0x3ac329;if(!_0x513ed5||!_0x42504b['refreshToken'])return _0x42504b['accessToken'];const _0x65dd5e=inflightRefresh['get'](_0x55eb36);if(_0x65dd5e)return _0x65dd5e;const _0x1db591=((async()=>{try{const _0x5dcd73=await discoverOAuthMetadata(_0x221f2d);if(!_0x5dcd73['token_endpoint'])return _0x42504b['accessToken'];const _0x1aba1a=resolveClientInfo(_0x55eb36,_0x221f2d,_0xeeedf);if(!_0x1aba1a)return _0x42504b['accessToken'];const _0x1ac074=await refreshAccessToken(_0x5dcd73['token_endpoint'],{'clientId':_0x1aba1a['clientId'],'clientSecret':_0x1aba1a['clientSecret'],'refreshToken':_0x42504b['refreshToken']}),_0x370cfc=getAuthEntryForUrl(_0x55eb36,_0x221f2d)??{'serverUrl':_0x221f2d};return setAuthEntry(_0x55eb36,{..._0x370cfc,'tokens':{..._0x1ac074,'refreshToken':_0x1ac074['refreshToken']??_0x42504b['refreshToken']},'serverUrl':_0x221f2d}),_0x1ac074['accessToken'];}catch{return _0x42504b['accessToken'];}finally{inflightRefresh['delete'](_0x55eb36);}})());return inflightRefresh['set'](_0x55eb36,_0x1db591),_0x1db591;}function openSystemBrowser(_0x13f0db){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x13f0db],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x145e54=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x145e54,[_0x13f0db],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x5c21cc,_0x104563,_0x4889cd={},_0x4c3adf={}){const _0x34e3df=inflightAuth['get'](_0x5c21cc);if(_0x34e3df)return _0x34e3df;const _0x3790a3=runAuthorize(_0x5c21cc,_0x104563,_0x4889cd,_0x4c3adf)['finally'](()=>{inflightAuth['delete'](_0x5c21cc);});return inflightAuth['set'](_0x5c21cc,_0x3790a3),_0x3790a3;}async function runAuthorize(_0x20594b,_0xd7113d,_0x5eba5b,_0x23e4a5){const _0x39ba35=await discoverOAuthMetadata(_0xd7113d),_0x329d9b=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x5eba5b['redirectUri']??(_0x5eba5b['callbackPort']?'http://127.0.0.1:'+_0x5eba5b['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x556f81=_0x329d9b['redirectUri'];let _0x1c8c58=resolveClientInfo(_0x20594b,_0xd7113d,_0x5eba5b);const _0x187246=!_0x1c8c58;if(!_0x1c8c58){if(!_0x39ba35['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x20594b+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x1c8c58=await registerClient(_0x39ba35['registration_endpoint'],clientMetadata(_0x556f81,_0x5eba5b));}if(!_0x39ba35['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x20594b+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x595f39=generateState(),_0x54af7b=generateCodeVerifier(),_0x5345ab=buildAuthorizationUrl(_0x39ba35['authorization_endpoint'],{'clientId':_0x1c8c58['clientId'],'redirectUri':_0x556f81,'state':_0x595f39,'codeChallenge':computeCodeChallenge(_0x54af7b),'scope':_0x5eba5b['scope']}),_0x1b7464=_0x23e4a5['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x376991=(0x0,oauth_callback_js_1['waitForCallback'])(_0x595f39,_0x20594b,_0x1b7464),_0x31cffe=_0x23e4a5['onNotice']??(_0x40edbf=>{try{process['stderr']['write'](_0x40edbf+'\x0a');}catch{}});_0x31cffe('MCP\x20\x27'+_0x20594b+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x5345ab+'\x0a')+'Waiting\x20for\x20approval...');const _0x341fef=_0x23e4a5['open']??openSystemBrowser;try{await _0x341fef(_0x5345ab);}catch{}let _0x58084e;try{_0x58084e=await _0x376991;}catch(_0x515fdd){throw new McpAuthError(_0x515fdd instanceof Error?_0x515fdd['message']:String(_0x515fdd),'callback',_0x5345ab);}const _0x5ebf5c=await exchangeAuthorizationCode(_0x39ba35['token_endpoint'],{'code':_0x58084e,'redirectUri':_0x556f81,'clientId':_0x1c8c58['clientId'],'clientSecret':_0x1c8c58['clientSecret'],'codeVerifier':_0x54af7b}),_0x5df7fd=getAuthEntryForUrl(_0x20594b,_0xd7113d)??{};return setAuthEntry(_0x20594b,{..._0x5df7fd,..._0x187246&&_0x1c8c58?{'clientInfo':_0x1c8c58}:{},'tokens':_0x5ebf5c,'serverUrl':_0xd7113d}),!![];}function clearOAuthCaches(){metaCache['clear'](),inflightAuth['clear'](),inflightRefresh['clear']();}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x41fc47,_0x5c53ec,_0x153771,_0xf4a946){if(_0xf4a946===undefined)_0xf4a946=_0x153771;var _0x2ac012=Object['getOwnPropertyDescriptor'](_0x5c53ec,_0x153771);(!_0x2ac012||('get'in _0x2ac012?!_0x5c53ec['__esModule']:_0x2ac012['writable']||_0x2ac012['configurable']))&&(_0x2ac012={'enumerable':!![],'get':function(){return _0x5c53ec[_0x153771];}}),Object['defineProperty'](_0x41fc47,_0xf4a946,_0x2ac012);}:function(_0x4bf590,_0x5e6630,_0x2f3806,_0x2ee133){if(_0x2ee133===undefined)_0x2ee133=_0x2f3806;_0x4bf590[_0x2ee133]=_0x5e6630[_0x2f3806];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2e143f,_0x3d5906){Object['defineProperty'](_0x2e143f,'default',{'enumerable':!![],'value':_0x3d5906});}:function(_0x326c86,_0x4be949){_0x326c86['default']=_0x4be949;}),__importStar=this&&this['__importStar']||(function(){var _0x3dbbb8=function(_0xd0f497){return _0x3dbbb8=Object['getOwnPropertyNames']||function(_0x511ad8){var _0x840e24=[];for(var _0x200c7c in _0x511ad8)if(Object['prototype']['hasOwnProperty']['call'](_0x511ad8,_0x200c7c))_0x840e24[_0x840e24['length']]=_0x200c7c;return _0x840e24;},_0x3dbbb8(_0xd0f497);};return function(_0x8ac85c){if(_0x8ac85c&&_0x8ac85c['__esModule'])return _0x8ac85c;var _0x3afe9a={};if(_0x8ac85c!=null){for(var _0x5277dd=_0x3dbbb8(_0x8ac85c),_0x2125df=0x0;_0x2125df<_0x5277dd['length'];_0x2125df++)if(_0x5277dd[_0x2125df]!=='default')__createBinding(_0x3afe9a,_0x8ac85c,_0x5277dd[_0x2125df]);}return __setModuleDefault(_0x3afe9a,_0x8ac85c),_0x3afe9a;};}());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(_0xc84444,_0x41acfb,_0x52f079){super(_0xc84444),this['name']='McpAuthError',this['kind']=_0x41acfb,this['authorizationUrl']=_0x52f079;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0x1bd95f=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0x1bd95f&&typeof _0x1bd95f==='object'&&!Array['isArray'](_0x1bd95f))return _0x1bd95f;}catch{}return{};}function writeAuthStore(_0x186068){const _0x29e48d=authFilePath();fs['mkdirSync'](path['dirname'](_0x29e48d),{'recursive':!![]}),fs['writeFileSync'](_0x29e48d,JSON['stringify'](_0x186068,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x29e48d,0x180);}catch{}}function getAuthEntry(_0x148810){return readAuthStore()[_0x148810];}function getAuthEntryForUrl(_0x5bd1b8,_0x50da4c){const _0x149b2b=readAuthStore()[_0x5bd1b8];if(!_0x149b2b)return undefined;if(_0x149b2b['serverUrl']&&_0x149b2b['serverUrl']!==_0x50da4c)return undefined;return _0x149b2b;}function setAuthEntry(_0x419f3f,_0xf7126a){const _0x12b813=readAuthStore();_0x12b813[_0x419f3f]=_0xf7126a,writeAuthStore(_0x12b813);}function removeMcpAuth(_0xb7cf61){const _0x5182c5=readAuthStore();if(!(_0xb7cf61 in _0x5182c5))return(0x0,oauth_callback_js_1['cancelPending'])(_0xb7cf61),![];return delete _0x5182c5[_0xb7cf61],writeAuthStore(_0x5182c5),(0x0,oauth_callback_js_1['cancelPending'])(_0xb7cf61),!![];}function getMcpAuthStatus(_0x3ffda8,_0x2c3932){const _0x42f074=_0x2c3932?getAuthEntryForUrl(_0x3ffda8,_0x2c3932):getAuthEntry(_0x3ffda8);if(!_0x42f074?.['tokens'])return'not_authenticated';const _0x5e37b1=_0x42f074['tokens']['expiresAt'];if(_0x5e37b1&&_0x5e37b1<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0xb91665){return crypto['createHash']('sha256')['update'](_0xb91665)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x466db4,_0x1b02a9={}){return new Promise((_0x1abbe8,_0x52e9b3)=>{let _0x5dfb3a;try{_0x5dfb3a=new URL(_0x466db4);}catch{_0x52e9b3(new Error('Invalid\x20URL:\x20'+_0x466db4));return;}const _0x3e6b72=_0x5dfb3a['protocol']==='https:'?https:http,_0x549abf=_0x3e6b72['request']({'hostname':_0x5dfb3a['hostname'],'port':_0x5dfb3a['port']||(_0x5dfb3a['protocol']==='https:'?0x1bb:0x50),'path':_0x5dfb3a['pathname']+_0x5dfb3a['search'],'method':_0x1b02a9['method']??'GET','headers':_0x1b02a9['headers'],'timeout':_0x1b02a9['timeoutMs']??0x3a98},_0x1e0bfd=>{let _0x4f89f6='';_0x1e0bfd['setEncoding']('utf8'),_0x1e0bfd['on']('data',_0x964c1c=>_0x4f89f6+=_0x964c1c),_0x1e0bfd['on']('end',()=>{let _0x59258c;try{const _0x276005=JSON['parse'](_0x4f89f6);if(_0x276005&&typeof _0x276005==='object')_0x59258c=_0x276005;}catch{}_0x1abbe8({'status':_0x1e0bfd['statusCode']??0x0,'text':_0x4f89f6,'json':_0x59258c});});});_0x549abf['on']('error',_0x38960b=>_0x52e9b3(_0x38960b)),_0x549abf['on']('timeout',()=>{_0x549abf['destroy'](),_0x52e9b3(new Error('Timeout\x20requesting\x20'+_0x466db4));}),_0x549abf['end'](_0x1b02a9['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x4af336){const _0x4c11d0=new URL(_0x4af336);_0x4c11d0['search']='',_0x4c11d0['hash']='';const _0x4dfe89=_0x4c11d0['origin'],_0xf922b1=_0x4c11d0['pathname']['replace'](/\/+$/,''),_0x56ff01=new Set();return _0xf922b1&&(_0x56ff01['add'](_0x4dfe89+'/.well-known/oauth-authorization-server'+_0xf922b1),_0x56ff01['add'](''+_0x4dfe89+_0xf922b1+'/.well-known/oauth-authorization-server')),_0x56ff01['add'](_0x4dfe89+'/.well-known/oauth-authorization-server'),_0x56ff01['add'](_0x4dfe89+'/.well-known/openid-configuration'),Array['from'](_0x56ff01);}async function discoverOAuthMetadata(_0x20624f){const _0x1a54b4=metaCache['get'](_0x20624f);if(_0x1a54b4&&Date['now']()-_0x1a54b4['at']<META_TTL_MS)return _0x1a54b4['meta'];const _0x1fc143=[];for(const _0x2c94e4 of discoveryCandidates(_0x20624f)){try{const _0x16a2a1=await httpRequest(_0x2c94e4,{'headers':{'Accept':'application/json'}});if(_0x16a2a1['status']>=0xc8&&_0x16a2a1['status']<0x12c&&_0x16a2a1['json']){const _0x30419c=_0x16a2a1['json'];if(typeof _0x30419c['authorization_endpoint']==='string'&&_0x30419c['authorization_endpoint']['length']>0x0)return metaCache['set'](_0x20624f,{'at':Date['now'](),'meta':_0x30419c}),_0x30419c;_0x1fc143['push'](_0x2c94e4+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x16a2a1['status']!==0x194&&_0x16a2a1['status']!==0x191&&_0x16a2a1['status']!==0x193&&_0x1fc143['push'](_0x2c94e4+':\x20HTTP\x20'+_0x16a2a1['status']);}catch(_0x16901a){_0x1fc143['push'](_0x2c94e4+':\x20'+(_0x16901a instanceof Error?_0x16901a['message']:String(_0x16901a)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0x20624f+'\x20('+(_0x1fc143['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x25cd75,_0x5d25a4){return{'redirect_uris':[_0x25cd75],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x5d25a4['clientSecret']?'client_secret_post':'none',..._0x5d25a4['scope']?{'scope':_0x5d25a4['scope']}:{}};}async function registerClient(_0x55ea2b,_0x8ba378){const _0x4e43c8=await httpRequest(_0x55ea2b,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x8ba378)}),_0xb7c6bc=_0x4e43c8['json'];if(!(_0x4e43c8['status']>=0xc8&&_0x4e43c8['status']<0x12c)||typeof _0xb7c6bc?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x4e43c8['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0xb7c6bc['client_id'],'clientSecret':typeof _0xb7c6bc['client_secret']==='string'?_0xb7c6bc['client_secret']:undefined,'clientIdIssuedAt':typeof _0xb7c6bc['client_id_issued_at']==='number'?_0xb7c6bc['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0xb7c6bc['client_secret_expires_at']==='number'?_0xb7c6bc['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x15a9eb,_0x26481d,_0x5dd02b){if(_0x5dd02b['clientId'])return{'clientId':_0x5dd02b['clientId'],'clientSecret':_0x5dd02b['clientSecret']};const _0x35a472=getAuthEntryForUrl(_0x15a9eb,_0x26481d)?.['clientInfo'];if(!_0x35a472)return undefined;if(_0x35a472['clientSecretExpiresAt']&&_0x35a472['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x35a472;}function buildAuthorizationUrl(_0x49c223,_0x581a42){const _0x29ff85=new URL(_0x49c223);_0x29ff85['searchParams']['set']('response_type','code'),_0x29ff85['searchParams']['set']('client_id',_0x581a42['clientId']),_0x29ff85['searchParams']['set']('redirect_uri',_0x581a42['redirectUri']),_0x29ff85['searchParams']['set']('state',_0x581a42['state']),_0x29ff85['searchParams']['set']('code_challenge',_0x581a42['codeChallenge']),_0x29ff85['searchParams']['set']('code_challenge_method','S256');if(_0x581a42['scope'])_0x29ff85['searchParams']['set']('scope',_0x581a42['scope']);return _0x29ff85['toString']();}async function tokenRequest(_0x5c3a63,_0x418b31){const _0x4633de=new URLSearchParams(_0x418b31)['toString'](),_0x4b0d69=await httpRequest(_0x5c3a63,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x4633de}),_0x132104=_0x4b0d69['json'];if(!(_0x4b0d69['status']>=0xc8&&_0x4b0d69['status']<0x12c)||_0x132104?.['error']){const _0x4c394d=typeof _0x132104?.['error_description']==='string'&&_0x132104['error_description']||typeof _0x132104?.['error']==='string'&&_0x132104['error']||'HTTP\x20'+_0x4b0d69['status']+(_0x4b0d69['text']?':\x20'+_0x4b0d69['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x4c394d,'token');}if(typeof _0x132104?.['access_token']!=='string'||!_0x132104['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x132104['access_token'],'refreshToken':typeof _0x132104['refresh_token']==='string'?_0x132104['refresh_token']:undefined,'expiresAt':typeof _0x132104['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x132104['expires_in']:undefined,'scope':typeof _0x132104['scope']==='string'?_0x132104['scope']:undefined};}function exchangeAuthorizationCode(_0x1395c4,_0x3004ff){return tokenRequest(_0x1395c4,{'grant_type':'authorization_code','code':_0x3004ff['code'],'redirect_uri':_0x3004ff['redirectUri'],'client_id':_0x3004ff['clientId'],'code_verifier':_0x3004ff['codeVerifier'],..._0x3004ff['clientSecret']?{'client_secret':_0x3004ff['clientSecret']}:{}});}function refreshAccessToken(_0x81b33f,_0x3d38bd){return tokenRequest(_0x81b33f,{'grant_type':'refresh_token','refresh_token':_0x3d38bd['refreshToken'],'client_id':_0x3d38bd['clientId'],..._0x3d38bd['clientSecret']?{'client_secret':_0x3d38bd['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x49d9cb,_0x2438fa,_0x2b89d6={}){const _0x55ad15=getAuthEntryForUrl(_0x49d9cb,_0x2438fa)?.['tokens'];if(!_0x55ad15)return undefined;const _0x40db13=Math['floor'](Date['now']()/0x3e8),_0x4daca3=Boolean(_0x55ad15['expiresAt'])&&_0x55ad15['expiresAt']-REFRESH_SKEW_SECONDS<=_0x40db13;if(!_0x4daca3||!_0x55ad15['refreshToken'])return _0x55ad15['accessToken'];const _0x50dcd7=inflightRefresh['get'](_0x49d9cb);if(_0x50dcd7)return _0x50dcd7;const _0x21fe04=((async()=>{try{const _0x18d9d9=await discoverOAuthMetadata(_0x2438fa);if(!_0x18d9d9['token_endpoint'])return _0x55ad15['accessToken'];const _0x4db483=resolveClientInfo(_0x49d9cb,_0x2438fa,_0x2b89d6);if(!_0x4db483)return _0x55ad15['accessToken'];const _0x2cc366=await refreshAccessToken(_0x18d9d9['token_endpoint'],{'clientId':_0x4db483['clientId'],'clientSecret':_0x4db483['clientSecret'],'refreshToken':_0x55ad15['refreshToken']}),_0x52c0cd=getAuthEntryForUrl(_0x49d9cb,_0x2438fa)??{'serverUrl':_0x2438fa};return setAuthEntry(_0x49d9cb,{..._0x52c0cd,'tokens':{..._0x2cc366,'refreshToken':_0x2cc366['refreshToken']??_0x55ad15['refreshToken']},'serverUrl':_0x2438fa}),_0x2cc366['accessToken'];}catch{return _0x55ad15['accessToken'];}finally{inflightRefresh['delete'](_0x49d9cb);}})());return inflightRefresh['set'](_0x49d9cb,_0x21fe04),_0x21fe04;}function openSystemBrowser(_0x5e2bdb){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x5e2bdb],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x3cc488=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x3cc488,[_0x5e2bdb],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x139332,_0x188476,_0x988a23={},_0x54d0c8={}){const _0x2d654b=inflightAuth['get'](_0x139332);if(_0x2d654b)return _0x2d654b;const _0x156940=runAuthorize(_0x139332,_0x188476,_0x988a23,_0x54d0c8)['finally'](()=>{inflightAuth['delete'](_0x139332);});return inflightAuth['set'](_0x139332,_0x156940),_0x156940;}async function runAuthorize(_0x1d839d,_0x59647c,_0x40137e,_0x518890){const _0x5cf5ae=await discoverOAuthMetadata(_0x59647c),_0x5452dc=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x40137e['redirectUri']??(_0x40137e['callbackPort']?'http://127.0.0.1:'+_0x40137e['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x28fc05=_0x5452dc['redirectUri'];let _0x3c3825=resolveClientInfo(_0x1d839d,_0x59647c,_0x40137e);const _0x4e0173=!_0x3c3825;if(!_0x3c3825){if(!_0x5cf5ae['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x1d839d+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x3c3825=await registerClient(_0x5cf5ae['registration_endpoint'],clientMetadata(_0x28fc05,_0x40137e));}if(!_0x5cf5ae['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x1d839d+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x246010=generateState(),_0x74163=generateCodeVerifier(),_0x2ed8c3=buildAuthorizationUrl(_0x5cf5ae['authorization_endpoint'],{'clientId':_0x3c3825['clientId'],'redirectUri':_0x28fc05,'state':_0x246010,'codeChallenge':computeCodeChallenge(_0x74163),'scope':_0x40137e['scope']}),_0x485e93=_0x518890['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x1c0176=(0x0,oauth_callback_js_1['waitForCallback'])(_0x246010,_0x1d839d,_0x485e93),_0x398e63=_0x518890['onNotice']??(_0x499104=>{try{process['stderr']['write'](_0x499104+'\x0a');}catch{}});_0x398e63('MCP\x20\x27'+_0x1d839d+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x2ed8c3+'\x0a')+'Waiting\x20for\x20approval...');const _0x4af112=_0x518890['open']??openSystemBrowser;try{await _0x4af112(_0x2ed8c3);}catch{}let _0x273cee;try{_0x273cee=await _0x1c0176;}catch(_0x1623bf){throw new McpAuthError(_0x1623bf instanceof Error?_0x1623bf['message']:String(_0x1623bf),'callback',_0x2ed8c3);}const _0x5291f2=await exchangeAuthorizationCode(_0x5cf5ae['token_endpoint'],{'code':_0x273cee,'redirectUri':_0x28fc05,'clientId':_0x3c3825['clientId'],'clientSecret':_0x3c3825['clientSecret'],'codeVerifier':_0x74163}),_0xd2965f=getAuthEntryForUrl(_0x1d839d,_0x59647c)??{};return setAuthEntry(_0x1d839d,{..._0xd2965f,..._0x4e0173&&_0x3c3825?{'clientInfo':_0x3c3825}:{},'tokens':_0x5291f2,'serverUrl':_0x59647c}),!![];}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(_0x2a675a,_0x51fe80,_0xc63849,_0x298159){if(_0x298159===undefined)_0x298159=_0xc63849;var _0x2005d4=Object['getOwnPropertyDescriptor'](_0x51fe80,_0xc63849);(!_0x2005d4||('get'in _0x2005d4?!_0x51fe80['__esModule']:_0x2005d4['writable']||_0x2005d4['configurable']))&&(_0x2005d4={'enumerable':!![],'get':function(){return _0x51fe80[_0xc63849];}}),Object['defineProperty'](_0x2a675a,_0x298159,_0x2005d4);}:function(_0x222c06,_0x2edac0,_0x47896f,_0x4d8fb5){if(_0x4d8fb5===undefined)_0x4d8fb5=_0x47896f;_0x222c06[_0x4d8fb5]=_0x2edac0[_0x47896f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2eafc3,_0x5a64dd){Object['defineProperty'](_0x2eafc3,'default',{'enumerable':!![],'value':_0x5a64dd});}:function(_0x153fe5,_0x288b76){_0x153fe5['default']=_0x288b76;}),__importStar=this&&this['__importStar']||(function(){var _0x17d4ac=function(_0x4a14e8){return _0x17d4ac=Object['getOwnPropertyNames']||function(_0x5169f1){var _0x431a8b=[];for(var _0x415569 in _0x5169f1)if(Object['prototype']['hasOwnProperty']['call'](_0x5169f1,_0x415569))_0x431a8b[_0x431a8b['length']]=_0x415569;return _0x431a8b;},_0x17d4ac(_0x4a14e8);};return function(_0x4526e9){if(_0x4526e9&&_0x4526e9['__esModule'])return _0x4526e9;var _0x23214f={};if(_0x4526e9!=null){for(var _0x56599e=_0x17d4ac(_0x4526e9),_0x10cfb6=0x0;_0x10cfb6<_0x56599e['length'];_0x10cfb6++)if(_0x56599e[_0x10cfb6]!=='default')__createBinding(_0x23214f,_0x4526e9,_0x56599e[_0x10cfb6]);}return __setModuleDefault(_0x23214f,_0x4526e9),_0x23214f;};}());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(_0x327de9){const _0x29db79=path['extname'](_0x327de9)['toLowerCase']();if(_0x29db79==='.exe'||_0x29db79==='.com')return 0x0;if(_0x29db79==='.bat'||_0x29db79==='.cmd')return 0x1;if(_0x29db79!=='')return 0x2;return 0x3;}function canSpawnDirectly(_0x132eb9){if(process['platform']!=='win32')return!![];const _0x4db846=path['extname'](_0x132eb9)['toLowerCase']();return _0x4db846==='.exe'||_0x4db846==='.com';}function resolveExecutable(_0x430b5f){if(process['platform']==='win32')try{const _0x3c751e=(0x0,child_process_1['execFileSync'])('where.exe',[_0x430b5f],{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'stdio':['ignore','pipe','ignore']}),_0x2363fd=String(_0x3c751e)['split'](/\r?\n/)['map'](_0x3fb393=>_0x3fb393['trim']())['filter'](Boolean)['sort']((_0x12a9e2,_0x5cc7ff)=>scoreExecutable(_0x12a9e2)-scoreExecutable(_0x5cc7ff));for(const _0x4a8602 of _0x2363fd){try{if(fs['existsSync'](_0x4a8602))return _0x4a8602;}catch{}}}catch{}else try{const _0x4ae6b8=(0x0,child_process_1['execFileSync'])('command\x20-v\x20'+_0x430b5f,{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'shell':'/bin/sh','stdio':['ignore','pipe','ignore']}),_0x2bcb03=String(_0x4ae6b8)['trim']()['split'](/\s+/)[0x0];if(_0x2bcb03&&fs['existsSync'](_0x2bcb03))return _0x2bcb03;}catch{}const _0x38924c=[];try{const _0x253817=path['dirname'](process['execPath']);for(const _0xb0e17b of process['platform']==='win32'?['.cmd','.exe','']:['']){_0x38924c['push'](path['join'](_0x253817,''+_0x430b5f+_0xb0e17b));}}catch{}if(process['platform']==='win32'){const _0x449c63=process.env['ProgramFiles']??'C:\x5cProgram\x20Files',_0x412705=process.env['ProgramFiles(x86)']??'C:\x5cProgram\x20Files\x20(x86)';_0x38924c['push'](path['join'](_0x449c63,'nodejs',_0x430b5f+'.cmd'),path['join'](_0x412705,'nodejs',_0x430b5f+'.cmd'),path['join'](os['homedir'](),'AppData','Roaming','npm',_0x430b5f+'.cmd'));}else _0x38924c['push']('/usr/local/bin/'+_0x430b5f,'/opt/homebrew/bin/'+_0x430b5f,os['homedir']()+'/.local/bin/'+_0x430b5f);for(const _0x4e277f of _0x38924c){try{if(!fs['existsSync'](_0x4e277f))continue;if(process['platform']==='win32'&&scoreExecutable(_0x4e277f)>0x1)continue;return _0x4e277f;}catch{}}return undefined;}function npmDirCandidates(){const _0x27ad77=[];try{_0x27ad77['push'](path['dirname'](process['execPath']));}catch{}const _0x4f2754=process.env['ProgramFiles']??'C:\x5cProgram\x20Files';_0x27ad77['push'](path['join'](_0x4f2754,'nodejs'));for(const _0x1d678c of['npm','npx']){try{const _0x2664c8=resolveExecutable(_0x1d678c);if(_0x2664c8)_0x27ad77['push'](path['dirname'](_0x2664c8));}catch{}}return process['platform']!=='win32'&&_0x27ad77['push']('/usr/local/lib/node_modules/npm','/opt/homebrew/lib/node_modules/npm','/usr/lib/node_modules/npm'),[...new Set(_0x27ad77)];}function resolveNpmCliJs(){for(const _0xc44ea0 of npmDirCandidates()){const _0x60d5dc=path['join'](_0xc44ea0,'node_modules','npm','bin','npm-cli.js');try{if(fs['existsSync'](_0x60d5dc))return _0x60d5dc;}catch{}}return undefined;}function resolveNpxCliJs(){for(const _0x6475a of npmDirCandidates()){const _0x1e01f3=path['join'](_0x6475a,'node_modules','npm','bin','npx-cli.js');try{if(fs['existsSync'](_0x1e01f3))return _0x1e01f3;}catch{}}return undefined;}function resolveMcpCommand(_0x371d29){const [_0x33b4d0,..._0xd3fd3b]=_0x371d29;if(!_0x33b4d0)throw new Error('MCP\x20server\x20spec\x20has\x20an\x20empty\x20command');const _0x5e18f1=path['basename'](_0x33b4d0)['replace'](/\.(cmd|exe|bat|com)$/i,'')['toLowerCase']();if(_0x5e18f1==='node')return{'command':process['execPath'],'args':_0xd3fd3b};if(_0x5e18f1==='npx'){const _0x401b74=resolveNpxCliJs();if(_0x401b74)return{'command':process['execPath'],'args':[_0x401b74,..._0xd3fd3b]};const _0x13a16f=resolveExecutable('npx');if(_0x13a16f&&canSpawnDirectly(_0x13a16f))return{'command':_0x13a16f,'args':_0xd3fd3b};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(_0x5e18f1==='npm'){const _0x2edfe1=resolveNpmCliJs();if(_0x2edfe1)return{'command':process['execPath'],'args':[_0x2edfe1,..._0xd3fd3b]};const _0x39a0cf=resolveExecutable('npm');if(_0x39a0cf&&canSpawnDirectly(_0x39a0cf))return{'command':_0x39a0cf,'args':_0xd3fd3b};throw new Error(_0x39a0cf?'npm\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x39a0cf+',\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(_0x5e18f1==='uvx'){const _0x1f8eb0=resolveExecutable('uvx');if(_0x1f8eb0)return{'command':_0x1f8eb0,'args':_0xd3fd3b};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(_0x5e18f1==='python'||_0x5e18f1==='python3'||_0x5e18f1==='py'){const _0x35415b=resolveExecutable(_0x5e18f1)??resolveExecutable('python3')??resolveExecutable('python');if(_0x35415b)return{'command':_0x35415b,'args':_0xd3fd3b};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'](_0x33b4d0))return{'command':_0x33b4d0,'args':_0xd3fd3b};const _0x186e4e=resolveExecutable(_0x5e18f1);if(_0x186e4e){if(canSpawnDirectly(_0x186e4e))return{'command':_0x186e4e,'args':_0xd3fd3b};throw new Error('\x27'+_0x5e18f1+'\x27\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x186e4e+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Use\x20a\x20node\x20script\x20(node\x20<entry.js>)\x20or\x20a\x20native\x20executable\x20instead.');}return{'command':_0x33b4d0,'args':_0xd3fd3b};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x563e79,_0x39a1a9,_0x268140,_0x576d67){if(_0x576d67===undefined)_0x576d67=_0x268140;var _0x2c1ba0=Object['getOwnPropertyDescriptor'](_0x39a1a9,_0x268140);(!_0x2c1ba0||('get'in _0x2c1ba0?!_0x39a1a9['__esModule']:_0x2c1ba0['writable']||_0x2c1ba0['configurable']))&&(_0x2c1ba0={'enumerable':!![],'get':function(){return _0x39a1a9[_0x268140];}}),Object['defineProperty'](_0x563e79,_0x576d67,_0x2c1ba0);}:function(_0x39b9a0,_0x33aa17,_0x478936,_0x56e1fa){if(_0x56e1fa===undefined)_0x56e1fa=_0x478936;_0x39b9a0[_0x56e1fa]=_0x33aa17[_0x478936];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0xd5c26e,_0x3edc3f){Object['defineProperty'](_0xd5c26e,'default',{'enumerable':!![],'value':_0x3edc3f});}:function(_0x26ffd0,_0x5f14b5){_0x26ffd0['default']=_0x5f14b5;}),__importStar=this&&this['__importStar']||(function(){var _0x3af1f1=function(_0x100830){return _0x3af1f1=Object['getOwnPropertyNames']||function(_0x54cb54){var _0x1f1892=[];for(var _0x57fa51 in _0x54cb54)if(Object['prototype']['hasOwnProperty']['call'](_0x54cb54,_0x57fa51))_0x1f1892[_0x1f1892['length']]=_0x57fa51;return _0x1f1892;},_0x3af1f1(_0x100830);};return function(_0x45e212){if(_0x45e212&&_0x45e212['__esModule'])return _0x45e212;var _0x51d3c1={};if(_0x45e212!=null){for(var _0x27d011=_0x3af1f1(_0x45e212),_0x242d98=0x0;_0x242d98<_0x27d011['length'];_0x242d98++)if(_0x27d011[_0x242d98]!=='default')__createBinding(_0x51d3c1,_0x45e212,_0x27d011[_0x242d98]);}return __setModuleDefault(_0x51d3c1,_0x45e212),_0x51d3c1;};}());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(_0x4e42f4,_0x28ddd3){if(_0x4e42f4===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x4e42f4,'result':_0x28ddd3})+'\x0a');}function sendError(_0x353acd,_0x5a632d,_0xe40e05){if(_0x353acd===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x353acd,'error':{'code':_0x5a632d,'message':_0xe40e05}})+'\x0a');}function executeLocalTool(_0x1f1dff,_0x14092e){if(_0x1f1dff==='read_file'){const _0x3ecd2f=String(_0x14092e['path']??'');if(!_0x3ecd2f)throw new Error('missing\x20\x27path\x27');return fs['readFileSync'](_0x3ecd2f,'utf8')['slice'](0x0,0x7d00);}if(_0x1f1dff==='bash'){const _0x372b18=String(_0x14092e['command']??'');if(!_0x372b18)throw new Error('missing\x20\x27command\x27');const _0x5b2ef8=(0x0,child_process_1['execFileSync'])(_0x372b18,{'shell':process['platform']==='win32'?'cmd.exe':'/bin/sh','timeout':0x2710,'maxBuffer':0x8000,'windowsHide':!![]});return String(_0x5b2ef8)['slice'](0x0,0x7d00);}if(_0x1f1dff==='grep'||_0x1f1dff==='glob'||_0x1f1dff==='write_file')throw new Error(_0x1f1dff+'\x20is\x20not\x20executed\x20by\x20mcp-server\x20(use\x20the\x20CLI\x20tools\x20instead)');throw new Error('unknown\x20tool:\x20'+_0x1f1dff);}async function dispatchMcpServer(_0x18872){switch(_0x18872['method']){case'initialize':send(_0x18872['id'],{'protocolVersion':'2024-11-05','serverInfo':{'name':'trayambak','version':'0.6.0'},'capabilities':{'tools':{}}});break;case'tools/list':send(_0x18872['id'],{'tools':TOOLS});break;case'tools/call':{const _0x38ff62=(_0x18872['params']??{})['name'],_0x36af53=(_0x18872['params']??{})['arguments']??{},_0x47fea6=TOOLS['find'](_0x5383ff=>_0x5383ff['name']===_0x38ff62);if(!_0x47fea6)sendError(_0x18872['id'],-0x7f5a,'unknown\x20tool:\x20'+_0x38ff62);else try{const _0x47f153=executeLocalTool(_0x38ff62,_0x36af53);send(_0x18872['id'],{'content':[{'type':'text','text':_0x47f153}]});}catch(_0x581af2){send(_0x18872['id'],{'content':[{'type':'text','text':'error:\x20'+(_0x581af2 instanceof Error?_0x581af2['message']:String(_0x581af2))}],'isError':!![]});}break;}case'resources/list':send(_0x18872['id'],{'resources':[]});break;case'prompts/list':send(_0x18872['id'],{'prompts':[]});break;default:sendError(_0x18872['id'],-0x7f59,'unknown\x20method:\x20'+_0x18872['method']);}}function runMcpServer(){const _0xbf4197=readline['createInterface']({'input':process['stdin'],'crlfDelay':Infinity});_0xbf4197['on']('line',_0xfb65a8=>{if(!_0xfb65a8['trim']())return;try{const _0x4d56b0=JSON['parse'](_0xfb65a8);dispatchMcpServer(_0x4d56b0)['catch'](_0x334296=>sendError(_0x4d56b0['id'],-0x7d00,String(_0x334296)));}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(_0x3ba3b1,_0x2c5617,_0x1dcb13,_0x496b7b){if(_0x496b7b===undefined)_0x496b7b=_0x1dcb13;var _0xb3c3d4=Object['getOwnPropertyDescriptor'](_0x2c5617,_0x1dcb13);(!_0xb3c3d4||('get'in _0xb3c3d4?!_0x2c5617['__esModule']:_0xb3c3d4['writable']||_0xb3c3d4['configurable']))&&(_0xb3c3d4={'enumerable':!![],'get':function(){return _0x2c5617[_0x1dcb13];}}),Object['defineProperty'](_0x3ba3b1,_0x496b7b,_0xb3c3d4);}:function(_0x4c17d3,_0x134962,_0x210841,_0x4bdda6){if(_0x4bdda6===undefined)_0x4bdda6=_0x210841;_0x4c17d3[_0x4bdda6]=_0x134962[_0x210841];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5e100f,_0x23a7d7){Object['defineProperty'](_0x5e100f,'default',{'enumerable':!![],'value':_0x23a7d7});}:function(_0x5995c2,_0x4c2dc7){_0x5995c2['default']=_0x4c2dc7;}),__importStar=this&&this['__importStar']||(function(){var _0x366767=function(_0x56f21a){return _0x366767=Object['getOwnPropertyNames']||function(_0xa9b7f2){var _0x5bd429=[];for(var _0x37b504 in _0xa9b7f2)if(Object['prototype']['hasOwnProperty']['call'](_0xa9b7f2,_0x37b504))_0x5bd429[_0x5bd429['length']]=_0x37b504;return _0x5bd429;},_0x366767(_0x56f21a);};return function(_0x47dd1f){if(_0x47dd1f&&_0x47dd1f['__esModule'])return _0x47dd1f;var _0x59c655={};if(_0x47dd1f!=null){for(var _0x350557=_0x366767(_0x47dd1f),_0x153e78=0x0;_0x153e78<_0x350557['length'];_0x153e78++)if(_0x350557[_0x153e78]!=='default')__createBinding(_0x59c655,_0x47dd1f,_0x350557[_0x153e78]);}return __setModuleDefault(_0x59c655,_0x47dd1f),_0x59c655;};}());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(_0x1272a5,_0x26edd3=[]){return[..._0x26edd3,...exports['DEFAULT_MODES']]['find'](_0x3e4705=>_0x3e4705['slug']===_0x1272a5);}function loadRoomodes(_0x3f3e5a=process['cwd']()){try{const _0x336312=path['join'](_0x3f3e5a,'.roomodes');if(!fs['existsSync'](_0x336312))return[];const _0x1d0ccb=JSON['parse'](fs['readFileSync'](_0x336312,'utf8'));if(!Array['isArray'](_0x1d0ccb['customModes']))return[];return _0x1d0ccb['customModes']['filter'](_0x409025=>typeof _0x409025?.['slug']==='string'&&Array['isArray'](_0x409025['groups']))['slice'](0x0,0x32);}catch{return[];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';var _0xb0071b=_0x2a0e;(function(_0x4ff79d,_0x4eddb4){var _0x1368d3=_0x2a0e,_0x290be8=_0x4ff79d();while(!![]){try{var _0x3ab5b3=parseInt(_0x1368d3(0x164))/0x1*(-parseInt(_0x1368d3(0x160))/0x2)+-parseInt(_0x1368d3(0x15f))/0x3+-parseInt(_0x1368d3(0x167))/0x4*(parseInt(_0x1368d3(0x162))/0x5)+parseInt(_0x1368d3(0x166))/0x6*(parseInt(_0x1368d3(0x15e))/0x7)+parseInt(_0x1368d3(0x161))/0x8*(-parseInt(_0x1368d3(0x165))/0x9)+parseInt(_0x1368d3(0x168))/0xa+parseInt(_0x1368d3(0x15d))/0xb*(parseInt(_0x1368d3(0x169))/0xc);if(_0x3ab5b3===_0x4eddb4)break;else _0x290be8['push'](_0x290be8['shift']());}catch(_0x423b31){_0x290be8['push'](_0x290be8['shift']());}}}(_0x2cde,0x8b189));function _0x2a0e(_0x8016ff,_0x5e5dd6){_0x8016ff=_0x8016ff-0x15d;var _0x2cde69=_0x2cde();var _0x2a0e16=_0x2cde69[_0x8016ff];return _0x2a0e16;}Object[_0xb0071b(0x163)](exports,'__esModule',{'value':!![]});function _0x2cde(){var _0x23e32f=['1626282ksFCcQ','2043942wKyCZk','5644360ilVrbn','25EYYMah','defineProperty','1xHKefW','9nteoAb','18uovDzG','557972sLsWfn','1277840hTYEEL','2532tpLBmI','132154PiyTYS','2039506BFWuma'];_0x2cde=function(){return _0x23e32f;};return _0x2cde();}
|
|
@@ -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(_0x3761aa){return _0x3761aa['role']==='assistant';}function isToolResult(_0x383d87){return _0x383d87['role']==='tool';}function isUser(_0x5d2636){return _0x5d2636['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'](_0x3b17d8=>['recursive\x20force\x20delete','recursive\x20delete\x20(Windows)','recursive\x20delete\x20(PowerShell)','disk\x20format','filesystem\x20format']['includes'](_0x3b17d8['reason']??''));let sessionRules=[];function addSessionPermissionRule(_0x2a9388){sessionRules=sessionRules['filter'](_0xe9fff2=>!(_0xe9fff2['tool']===_0x2a9388['tool']&&(_0xe9fff2['pattern']??'*')===(_0x2a9388['pattern']??'*'))),sessionRules['unshift'](_0x2a9388);}function clearSessionPermissionRules(){sessionRules=[];}function getSessionPermissionRules(){return sessionRules;}function globToRegExp(_0xcbcb70,_0x671df){const _0x404cae=_0xcbcb70['replace'](/[.+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*/g,'.*');return new RegExp(_0x671df?'^'+_0x404cae+'$':_0x404cae,'i');}function matchTool(_0x217c12,_0x4355c7){if(!_0x4355c7||_0x4355c7==='*')return!![];if(_0x4355c7['includes']('*'))return globToRegExp(_0x4355c7,!![])['test'](_0x217c12);return _0x4355c7['toLowerCase']()===_0x217c12['toLowerCase']();}function matchSubject(_0xdfdb18,_0x2d6999){if(!_0x2d6999||_0x2d6999==='*')return!![];return globToRegExp(_0x2d6999,![])['test'](_0xdfdb18);}function permissionSubject(_0x95a2b){if(typeof _0x95a2b==='string')return _0x95a2b;if(_0x95a2b&&typeof _0x95a2b==='object'){const _0x273f27=_0x95a2b;for(const _0x439d16 of['command','path','file_path','filePath','url','query','pattern']){const _0x2e1236=_0x273f27[_0x439d16];if(typeof _0x2e1236==='string'&&_0x2e1236['length']>0x0)return _0x2e1236;}try{return JSON['stringify'](_0x95a2b)??'';}catch{return String(_0x95a2b);}}return _0x95a2b==null?'':String(_0x95a2b);}function legacyToRules(_0x217120){return _0x217120['map'](_0x4c7646=>({'tool':_0x4c7646['tool'],'pattern':_0x4c7646['pattern'],'action':_0x4c7646['allow']?'allow':'deny'}));}function deriveUIMode(_0x4aa6a0){if(_0x4aa6a0['uiMode'])return _0x4aa6a0['uiMode'];if(_0x4aa6a0['mode']==='yolo'||_0x4aa6a0['askByDefault']===![])return'auto-approve';return'ask';}function evaluatePermission(_0x2d3d42,_0x584a97,_0x54331a=permissions_js_1['DEFAULT_PERMISSIONS'],_0x54acef){const _0x481e0c=permissionSubject(_0x584a97),_0x1b9c50=_0x54acef?.['uiMode']??deriveUIMode(_0x54331a);if(_0x1b9c50==='full-access')return{'action':'allow','source':'mode','layer':'mode'};const _0x501d23=_0x1b9c50==='auto-approve'?[['session',[...sessionRules]],['config',[..._0x54331a['rulesV2']??[]]]]:[['session',[...sessionRules]],['config',[..._0x54331a['rulesV2']??[]]],['default',legacyToRules(_0x54331a['rules']??[])]],_0x394b01=_0x1e087b=>matchTool(_0x2d3d42,_0x1e087b['tool'])&&matchSubject(_0x481e0c,_0x1e087b['pattern']);for(const [_0x3cf6be,_0x55baa2]of _0x501d23){const _0x434e86=_0x55baa2['find'](_0x303bec=>_0x303bec['action']==='deny'&&_0x394b01(_0x303bec));if(_0x434e86)return{'action':'deny','source':'deny-rule','rule':_0x434e86,'layer':_0x3cf6be};const _0xb8be37=_0x55baa2['find'](_0x5bd819=>_0x5bd819['action']==='allow'&&_0x394b01(_0x5bd819));if(_0xb8be37)return{'action':'allow','source':'allow-rule','rule':_0xb8be37,'layer':_0x3cf6be};}if(_0x1b9c50==='read-only'||_0x1b9c50==='plan')return permissions_js_1['READ_ONLY_TOOLS']['has'](_0x2d3d42)?{'action':'allow','source':'read-only-tool','layer':'mode'}:{'action':'deny','source':_0x1b9c50==='plan'?'plan-mode':'read-only-mode','layer':'mode'};if(permissions_js_1['READ_ONLY_TOOLS']['has'](_0x2d3d42))return{'action':'allow','source':'read-only-tool'};const _0x565c9a=_0x1b9c50==='auto-approve'?exports['DELETE_FORCE_ASK_RULES']:exports['FORCE_ASK_RULES'],_0x581f45=_0x565c9a['find'](_0x1d36e1=>matchTool(_0x2d3d42,_0x1d36e1['tool'])&&matchSubject(_0x481e0c,_0x1d36e1['pattern']));if(_0x581f45)return{'action':'ask','source':'force-ask','rule':_0x581f45,'layer':'force-ask'};if(_0x1b9c50==='auto-approve')return{'action':'allow','source':'mode','layer':'mode'};return{'action':'ask','source':'default','layer':'mode'};}function isPermissionDenied(_0x219a58,_0x557dd6,_0x17ca55,_0x5055ce){return evaluatePermission(_0x219a58,_0x557dd6,_0x17ca55,_0x5055ce)['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(_0x4393c1,_0x5d64c3,_0x34a15b){for(const _0x276549 of _0x34a15b['rules']){if((_0x276549['tool']===_0x4393c1||_0x276549['tool']==='*')&&!_0x276549['allow']){if(_0x276549['pattern']==='*')return!![];const _0x2b94ca=_0x276549['pattern']['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&')['replace'](/\s/g,'\x5cs+');if(new RegExp('\x5cb'+_0x2b94ca,'i')['test'](_0x5d64c3))return!![];}}return![];}function isCommandAllowed(_0x5cf94a,_0x95fb7b,_0x49904b){if(isCommandDangerous(_0x5cf94a,_0x95fb7b,_0x49904b))return![];if(exports['READ_ONLY_TOOLS']['has'](_0x5cf94a))return!![];return _0x49904b['askByDefault']?![]:!![];}function isYoloMode(_0x2f56dc){return _0x2f56dc['mode']==='yolo'||_0x2f56dc['askByDefault']===![];}function togglePermissionMode(_0x35cecb){const _0x4e3cad=isYoloMode(_0x35cecb);return{..._0x35cecb,'mode':_0x4e3cad?'default':'yolo','askByDefault':_0x4e3cad?!![]:![]};}function getPermissionBadge(_0x4ddac0){return isYoloMode(_0x4ddac0)?'YOLO':'ASK';}function getPermissionModeLabel(_0x348aa8){return isYoloMode(_0x348aa8)?'FULL':'ASK';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x291aa8,_0x4403ed){var _0x3dbba6=_0x3935,_0x4bad50=_0x291aa8();while(!![]){try{var _0x5633a6=-parseInt(_0x3dbba6(0xa2))/0x1*(-parseInt(_0x3dbba6(0xa1))/0x2)+-parseInt(_0x3dbba6(0xa4))/0x3+parseInt(_0x3dbba6(0xa6))/0x4*(-parseInt(_0x3dbba6(0x9f))/0x5)+parseInt(_0x3dbba6(0xa0))/0x6+parseInt(_0x3dbba6(0xa5))/0x7+parseInt(_0x3dbba6(0xa3))/0x8+parseInt(_0x3dbba6(0x9e))/0x9;if(_0x5633a6===_0x4403ed)break;else _0x4bad50['push'](_0x4bad50['shift']());}catch(_0x598bc9){_0x4bad50['push'](_0x4bad50['shift']());}}}(_0x5e13,0x9cd34));function _0x3935(_0x446bdf,_0x28b0f3){_0x446bdf=_0x446bdf-0x9e;var _0x5e136c=_0x5e13();var _0x3935cb=_0x5e136c[_0x446bdf];return _0x3935cb;}Object['defineProperty'](exports,'__esModule',{'value':!![]});function _0x5e13(){var _0x39d6ad=['4620544JZLDPq','2328588NOJBQQ','5kPXlMO','5873226RuHTgS','82582fkoQAi','11WNFdyV','5585384RYEsiy','2776392NGIJrH','2330853srtqsp'];_0x5e13=function(){return _0x39d6ad;};return _0x5e13();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';var _0x3a9a44=_0x9245;function _0x9245(_0x2b7834,_0x14eb9d){_0x2b7834=_0x2b7834-0x79;var _0x3dc08b=_0x3dc0();var _0x924509=_0x3dc08b[_0x2b7834];return _0x924509;}function _0x3dc0(){var _0x371b38=['1884660CVUtnC','7aHzWLO','core','1329400BexQHb','2557251Vshwdj','729404oRtylZ','1374728uOexNa','3399909mUmvVo','4ztrfvv','defineProperty','DEFAULT_TOOLSETS','240476xSCqdc','DEFAULT_ARSENAL_CONFIG'];_0x3dc0=function(){return _0x371b38;};return _0x3dc0();}(function(_0x5be0fb,_0x45f172){var _0x477cd9=_0x9245,_0xc916e4=_0x5be0fb();while(!![]){try{var _0x3c1793=-parseInt(_0x477cd9(0x83))/0x1+parseInt(_0x477cd9(0x7d))/0x2+parseInt(_0x477cd9(0x7f))/0x3*(parseInt(_0x477cd9(0x80))/0x4)+-parseInt(_0x477cd9(0x7b))/0x5+parseInt(_0x477cd9(0x85))/0x6+parseInt(_0x477cd9(0x79))/0x7*(-parseInt(_0x477cd9(0x7e))/0x8)+-parseInt(_0x477cd9(0x7c))/0x9;if(_0x3c1793===_0x45f172)break;else _0xc916e4['push'](_0xc916e4['shift']());}catch(_0x20497a){_0xc916e4['push'](_0xc916e4['shift']());}}}(_0x3dc0,0xcf773));Object[_0x3a9a44(0x81)](exports,'__esModule',{'value':!![]}),exports['DEFAULT_ARSENAL_CONFIG']=exports['DEFAULT_TOOLSETS']=void 0x0,exports['DEFAULT_TOOLSETS']=[_0x3a9a44(0x7a)],exports[_0x3a9a44(0x84)]={'defaultToolsets':exports[_0x3a9a44(0x82)],'disabledToolsets':[],'platformToolsets':{}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['normalizeUrls']=normalizeUrls;function normalizeUrls(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['normalizeUrls']=normalizeUrls;function normalizeUrls(_0x2938b9){return _0x2938b9['replace'](/https?:\/\/\S+/g,_0x281061=>{const _0x23a315=_0x281061['replace'](/[.,!?;:)"'\]]+$/,''),_0x188d6e=_0x281061['slice'](_0x23a315['length']);try{const _0x1bf2fc=new URL(_0x23a315),_0x5cefa0=_0x23a315['indexOf']('//')+0x2,_0x461df6=_0x23a315['indexOf']('/',_0x5cefa0),_0x1e1ba0=_0x461df6===-0x1?_0x23a315['slice'](_0x5cefa0):_0x23a315['slice'](_0x5cefa0,_0x461df6),_0x156bc9=_0x1e1ba0['indexOf'](':'),_0x4566e8=_0x156bc9===-0x1?_0x1e1ba0:_0x1e1ba0['slice'](0x0,_0x156bc9);if(_0x4566e8===_0x1bf2fc['hostname'])return _0x281061;return _0x23a315['replace'](_0x4566e8,_0x1bf2fc['hostname'])+_0x188d6e;}catch{return _0x281061;}});}
|