@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(_0x5f1a55,_0xc085f3,_0x2bc03b,_0xc2baa3){if(_0xc2baa3===undefined)_0xc2baa3=_0x2bc03b;var _0x597ec1=Object['getOwnPropertyDescriptor'](_0xc085f3,_0x2bc03b);(!_0x597ec1||('get'in _0x597ec1?!_0xc085f3['__esModule']:_0x597ec1['writable']||_0x597ec1['configurable']))&&(_0x597ec1={'enumerable':!![],'get':function(){return _0xc085f3[_0x2bc03b];}}),Object['defineProperty'](_0x5f1a55,_0xc2baa3,_0x597ec1);}:function(_0x569591,_0x5d8feb,_0x48b072,_0x4186ff){if(_0x4186ff===undefined)_0x4186ff=_0x48b072;_0x569591[_0x4186ff]=_0x5d8feb[_0x48b072];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1cbf06,_0xe00ca2){Object['defineProperty'](_0x1cbf06,'default',{'enumerable':!![],'value':_0xe00ca2});}:function(_0x9d59a0,_0x441e96){_0x9d59a0['default']=_0x441e96;}),__importStar=this&&this['__importStar']||(function(){var _0x2b6adf=function(_0x2583ae){return _0x2b6adf=Object['getOwnPropertyNames']||function(_0x34c23c){var _0x517610=[];for(var _0x35d231 in _0x34c23c)if(Object['prototype']['hasOwnProperty']['call'](_0x34c23c,_0x35d231))_0x517610[_0x517610['length']]=_0x35d231;return _0x517610;},_0x2b6adf(_0x2583ae);};return function(_0x478705){if(_0x478705&&_0x478705['__esModule'])return _0x478705;var _0x4a1d58={};if(_0x478705!=null){for(var _0x2cb981=_0x2b6adf(_0x478705),_0x3c0ab0=0x0;_0x3c0ab0<_0x2cb981['length'];_0x3c0ab0++)if(_0x2cb981[_0x3c0ab0]!=='default')__createBinding(_0x4a1d58,_0x478705,_0x2cb981[_0x3c0ab0]);}return __setModuleDefault(_0x4a1d58,_0x478705),_0x4a1d58;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['createReadManifestTool']=createReadManifestTool;const fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),MANIFESTS=[{'file':'package.json','project':'Node'},{'file':'pyproject.toml','project':'Python\x20(pyproject)'},{'file':'requirements.txt','project':'Python\x20(requirements)'},{'file':'Cargo.toml','project':'Rust'},{'file':'go.mod','project':'Go'},{'file':'pom.xml','project':'Java/Maven'},{'file':'build.gradle','project':'Java/Gradle'},{'file':'Gemfile','project':'Ruby'},{'file':'composer.json','project':'PHP'},{'file':'tsconfig.json','project':'TypeScript\x20config'}],definition={'timeoutMs':0x7530,'name':'read_manifest','description':'Detect\x20and\x20summarize\x20the\x20project\x20manifest(s)\x20in\x20a\x20directory:\x20package.json,\x20pyproject.toml,\x20requirements.txt,\x20Cargo.toml,\x20go.mod,\x20pom.xml,\x20build.gradle,\x20Gemfile,\x20composer.json,\x20or\x20tsconfig.json.\x20Returns\x20project\x20name/version\x20plus\x20a\x20compact\x20list\x20of\x20scripts\x20and\x20dependencies\x20so\x20you\x20can\x20plan\x20builds,\x20tests,\x20and\x20install\x20commands.','parameters':{'type':'object','required':[],'properties':{'path':{'type':'string','description':'Directory\x20to\x20inspect.\x20Default:\x20project\x20root.'},'depth':{'type':'integer','description':'How\x20many\x20levels\x20deep\x20to\x20look\x20for\x20nested\x20manifests.\x20Default\x201.'}}}};function createReadManifestTool(){return{'definition':definition,async 'execute'(_0x28be1c,_0x5d5bd0,_0x18cf02,_0x4df039,_0x11ab18){const _0x4c1d3b=_0x11ab18,_0x42fb1c=path['resolve'](_0x4c1d3b['cwd'],typeof _0x5d5bd0['path']==='string'?_0x5d5bd0['path']:'.'),_0x1e8a0d=typeof _0x5d5bd0['depth']==='number'?Math['max'](0x0,Math['floor'](_0x5d5bd0['depth'])):0x1,_0x40f513=[],_0xc5521=(_0x1ed440,_0x51d575)=>{if(_0x51d575>_0x1e8a0d)return;for(const _0x271588 of MANIFESTS){const _0x39532d=path['join'](_0x1ed440,_0x271588['file']);if(!fs['existsSync'](_0x39532d)||!fs['statSync'](_0x39532d)['isFile']())continue;const _0x2435f2=summarizeManifest(_0x39532d,_0x271588['file'],_0x271588['project']);if(_0x2435f2['length']>0x0)_0x40f513['push']({'file':path['relative'](_0x42fb1c,_0x39532d)||_0x271588['file'],'summary':_0x2435f2});break;}if(_0x51d575<_0x1e8a0d){let _0x57c620;try{_0x57c620=fs['readdirSync'](_0x1ed440,{'withFileTypes':!![]});}catch{return;}for(const _0x522778 of _0x57c620){_0x522778['isDirectory']()&&!_0x522778['name']['startsWith']('.')&&_0x522778['name']!=='node_modules'&&_0xc5521(path['join'](_0x1ed440,_0x522778['name']),_0x51d575+0x1);}}};_0xc5521(_0x42fb1c,0x0);if(_0x40f513['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20supported\x20manifest\x20found\x20under\x20'+_0x42fb1c);const _0x438425=_0x40f513['map'](_0x54eca7=>'Manifest:\x20'+_0x54eca7['file']+'\x0a'+_0x54eca7['summary']['map'](_0x2eb3e0=>'\x20\x20'+_0x2eb3e0)['join']('\x0a'))['join']('\x0a\x0a');return(0x0,types_js_1['textResult'])(_0x438425);}};}function summarizeManifest(_0x311c99,_0x53d4f4,_0x131183){const _0x2ed5e8=fs['readFileSync'](_0x311c99,'utf8');switch(_0x53d4f4){case'package.json':return summarizePackageJson(_0x2ed5e8);case'pyproject.toml':return summarizePyproject(_0x2ed5e8);case'requirements.txt':return summarizeRequirements(_0x2ed5e8);case'Cargo.toml':return summarizeCargo(_0x2ed5e8);case'go.mod':return summarizeGoMod(_0x2ed5e8);case'tsconfig.json':return summarizeTsconfig(_0x2ed5e8);default:return summarizeGeneric(_0x2ed5e8,_0x131183+'\x20('+_0x53d4f4+')');}}function summarizePackageJson(_0x3157cf){let _0x1eecd6;try{_0x1eecd6=JSON['parse'](_0x3157cf['replace'](/^\uFEFF/,''));}catch{return summarizeGeneric(_0x3157cf,'package.json\x20(unparseable)');}const _0xe6d272=[];if(typeof _0x1eecd6['name']==='string')_0xe6d272['push']('name:\x20'+_0x1eecd6['name']);if(typeof _0x1eecd6['version']==='string')_0xe6d272['push']('version:\x20'+_0x1eecd6['version']);if(typeof _0x1eecd6['type']==='string')_0xe6d272['push']('type:\x20'+_0x1eecd6['type']);if(typeof _0x1eecd6['description']==='string')_0xe6d272['push']('description:\x20'+_0x1eecd6['description']);const _0x2c24e6=_0x1eecd6['scripts'];if(_0x2c24e6)_0xe6d272['push']('scripts:\x20'+Object['keys'](_0x2c24e6)['join'](',\x20'));for(const [_0x46d7eb,_0x42d5ff]of[['dependencies','dependencies'],['devDependencies','devDependencies']]){const _0x103a34=_0x1eecd6[_0x42d5ff];if(_0x103a34&&Object['keys'](_0x103a34)['length']>0x0){const _0xcf6c86=Object['keys'](_0x103a34);_0xe6d272['push'](_0x46d7eb+'\x20('+_0xcf6c86['length']+'):\x20'+_0xcf6c86['slice'](0x0,0xf)['join'](',\x20')+(_0xcf6c86['length']>0xf?'…':''));}}if(_0xe6d272['length']===0x0)_0xe6d272['push']('no\x20name/version/scripts\x20found');return _0xe6d272;}function summarizePyproject(_0xda8c7){const _0xf3c04c=[],_0x56096d=/^name\s*=\s*["']?([^"'\n]+)["']?/m,_0x51d79a=/^version\s*=\s*["']?([^"'\n]+)["']?/m,_0x722597=field(_0xda8c7,_0x56096d,'project')??field(_0xda8c7,_0x56096d),_0x86ea58=field(_0xda8c7,_0x51d79a,'project')??field(_0xda8c7,_0x51d79a);if(_0x722597)_0xf3c04c['push']('name:\x20'+_0x722597);if(_0x86ea58)_0xf3c04c['push']('version:\x20'+_0x86ea58);const _0x330f57=tomlArrayField(_0xda8c7,'project','dependencies');if(_0x330f57['length']>0x0)_0xf3c04c['push']('dependencies\x20('+_0x330f57['length']+'):\x20'+_0x330f57['slice'](0x0,0xc)['join'](',\x20')+(_0x330f57['length']>0xc?'…':''));const _0x4bc153=tomlArrayField(_0xda8c7,'build-system','requires');if(_0x4bc153['length']>0x0)_0xf3c04c['push']('build\x20requires\x20('+_0x4bc153['length']+'):\x20'+_0x4bc153['slice'](0x0,0x6)['join'](',\x20'));if(_0xf3c04c['length']===0x0)_0xf3c04c['push']('empty/unknown\x20pyproject.toml');return _0xf3c04c;}function summarizeRequirements(_0x355973){const _0x479b29=_0x355973['split']('\x0a')['map'](_0xf8a15c=>_0xf8a15c['trim']())['filter'](_0x70411d=>_0x70411d&&!_0x70411d['startsWith']('#')&&!_0x70411d['startsWith']('--')&&!_0x70411d['startsWith']('-r\x20'));return _0x479b29['length']===0x0?['empty\x20requirements.txt']:[_0x479b29['length']+'\x20requirement(s):\x20'+_0x479b29['slice'](0x0,0xf)['join'](',\x20')+(_0x479b29['length']>0xf?'…':'')];}function summarizeCargo(_0x502471){const _0x16c4e0=[],_0x10624c=sectionField(_0x502471,'package','name'),_0x21d7dd=sectionField(_0x502471,'package','version');if(_0x10624c)_0x16c4e0['push']('name:\x20'+_0x10624c);if(_0x21d7dd)_0x16c4e0['push']('version:\x20'+_0x21d7dd);const _0x3a5474=sectionLines(_0x502471,'dependencies');if(_0x3a5474['length']>0x0)_0x16c4e0['push']('dependencies\x20('+_0x3a5474['length']+'):\x20'+_0x3a5474['slice'](0x0,0xc)['join'](',\x20')+(_0x3a5474['length']>0xc?'…':''));const _0x55cc20=sectionLines(_0x502471,'dev-dependencies');if(_0x55cc20['length']>0x0)_0x16c4e0['push']('dev-dependencies\x20('+_0x55cc20['length']+'):\x20'+_0x55cc20['slice'](0x0,0x6)['join'](',\x20'));if(_0x16c4e0['length']===0x0)_0x16c4e0['push']('empty/unknown\x20Cargo.toml');return _0x16c4e0;}function summarizeGoMod(_0x52af65){const _0x1e0b5d=[],_0x49fefd=_0x52af65['match'](/^module\s+(\S+)/m);if(_0x49fefd)_0x1e0b5d['push']('module:\x20'+_0x49fefd[0x1]);const _0xffd8d=_0x52af65['match'](/^go\s+(\S+)/m);if(_0xffd8d)_0x1e0b5d['push']('go:\x20'+_0xffd8d[0x1]);const _0x319271=_0x52af65['match'](/^require\s*\(([\s\S]*?)\)/m);if(_0x319271){const _0xb15e7c=_0x319271[0x1]['split']('\x0a')['map'](_0x5abd76=>_0x5abd76['trim']()['split'](/\s+/)[0x0])['filter'](Boolean);_0x1e0b5d['push']('require\x20('+_0xb15e7c['length']+'):\x20'+_0xb15e7c['slice'](0x0,0xc)['join'](',\x20')+(_0xb15e7c['length']>0xc?'…':''));}if(_0x1e0b5d['length']===0x0)_0x1e0b5d['push']('empty\x20go.mod');return _0x1e0b5d;}function summarizeTsconfig(_0x268abf){let _0x138914;try{_0x138914=JSON['parse'](stripJsonc(_0x268abf['replace'](/^\uFEFF/,'')));}catch{return['unparseable\x20tsconfig.json'];}const _0x454a53=_0x138914['compilerOptions']??{},_0x15b554=[];_0x15b554['push']('target:\x20'+String(_0x454a53['target']??'unspecified')),_0x15b554['push']('module:\x20'+String(_0x454a53['module']??'unspecified'));if(_0x454a53['strict']!==undefined)_0x15b554['push']('strict:\x20'+String(_0x454a53['strict']));if(_0x454a53['outDir'])_0x15b554['push']('outDir:\x20'+String(_0x454a53['outDir']));const _0x2d70d3=Array['isArray'](_0x138914['include'])?_0x138914['include']['join'](',\x20'):'';if(_0x2d70d3)_0x15b554['push']('include:\x20'+_0x2d70d3);return _0x15b554;}function summarizeGeneric(_0x2a4a10,_0x228694){const _0x1a0c8d=_0x2a4a10['split']('\x0a')['slice'](0x0,0xf)['filter'](_0x42a680=>_0x42a680['trim']());return _0x1a0c8d['length']===0x0?[_0x228694+':\x20empty\x20file']:[_0x228694+':']['concat'](_0x1a0c8d['map'](_0x50d7f0=>'\x20\x20'+_0x50d7f0['trim']()['slice'](0x0,0x64)));}function field(_0x21f6dd,_0x2ce3dc,_0x59624c){const _0x4aa2e4=_0x59624c?findSection(_0x21f6dd,_0x59624c):_0x21f6dd;if(!_0x4aa2e4)return undefined;const _0x1e1489=_0x4aa2e4['match'](_0x2ce3dc);return _0x1e1489?_0x1e1489[0x1]['trim']():undefined;}function tomlArrayField(_0x176783,_0x1871e5,_0x47c400){const _0x87f5af=findSection(_0x176783,_0x1871e5);if(!_0x87f5af)return[];const _0xd00292=_0x87f5af['match'](new RegExp('^'+_0x47c400+'\x5cs*=\x5cs*\x5c[([\x5cs\x5cS]*?)\x5c]','m'));if(!_0xd00292)return[];return Array['from'](_0xd00292[0x1]['matchAll'](/["']([^"']+)["']/g))['map'](_0x23c7fc=>_0x23c7fc[0x1]);}function stripJsonc(_0x40e64a){let _0x1e41a8='',_0xabd2fb=![],_0x3c634f=![];for(let _0x49830e=0x0;_0x49830e<_0x40e64a['length'];_0x49830e++){const _0x4352fd=_0x40e64a[_0x49830e];if(_0xabd2fb){_0x1e41a8+=_0x4352fd;if(_0x3c634f)_0x3c634f=![];else{if(_0x4352fd==='\x5c')_0x3c634f=!![];else{if(_0x4352fd==='\x22')_0xabd2fb=![];}}continue;}if(_0x4352fd==='\x22'){_0xabd2fb=!![],_0x1e41a8+=_0x4352fd;continue;}if(_0x4352fd==='/'&&_0x40e64a[_0x49830e+0x1]==='/'){while(_0x49830e<_0x40e64a['length']&&_0x40e64a[_0x49830e]!=='\x0a')_0x49830e++;continue;}if(_0x4352fd==='/'&&_0x40e64a[_0x49830e+0x1]==='*'){_0x49830e+=0x2;while(_0x49830e<_0x40e64a['length']&&!(_0x40e64a[_0x49830e]==='*'&&_0x40e64a[_0x49830e+0x1]==='/'))_0x49830e++;_0x49830e++;continue;}if(_0x4352fd===','){let _0x301853=_0x49830e+0x1;while(_0x301853<_0x40e64a['length']){if(/\s/['test'](_0x40e64a[_0x301853])){_0x301853++;continue;}if(_0x40e64a[_0x301853]==='/'&&_0x40e64a[_0x301853+0x1]==='/'){while(_0x301853<_0x40e64a['length']&&_0x40e64a[_0x301853]!=='\x0a')_0x301853++;continue;}if(_0x40e64a[_0x301853]==='/'&&_0x40e64a[_0x301853+0x1]==='*'){_0x301853+=0x2;while(_0x301853<_0x40e64a['length']&&!(_0x40e64a[_0x301853]==='*'&&_0x40e64a[_0x301853+0x1]==='/'))_0x301853++;_0x301853++;continue;}break;}if(_0x40e64a[_0x301853]===']'||_0x40e64a[_0x301853]==='}')continue;_0x1e41a8+=_0x4352fd;continue;}_0x1e41a8+=_0x4352fd;}return _0x1e41a8;}function sectionField(_0x1f0a99,_0x47787d,_0x18ba0b){const _0x348c51=new RegExp('^'+_0x18ba0b+'\x5cs*=\x5cs*[\x22\x27]?([^\x22\x27\x0a]+)[\x22\x27]?','m');return field(_0x1f0a99,_0x348c51,_0x47787d);}function sectionLines(_0x185df4,_0xc17f48){const _0x1e5bf4=findSection(_0x185df4,_0xc17f48);if(!_0x1e5bf4)return[];return _0x1e5bf4['split']('\x0a')['map'](_0x29856b=>_0x29856b['trim']())['filter'](_0x28fd25=>_0x28fd25&&_0x28fd25!==']'&&!_0x28fd25['startsWith']('[')&&!_0x28fd25['startsWith']('#'))['map'](_0xd64395=>{const _0x91e724=_0xd64395['split'](/\s*=\s*/,0x1)[0x0]['trim']();return _0x91e724['startsWith']('\x22')||_0x91e724['startsWith']('\x27')||_0x91e724['includes']('==')?_0xd64395['split'](/\s+/)[0x0]['replace'](/^["']|["']$/g,''):_0xd64395['replace'](/^["']|["']$/g,'');})['filter'](Boolean);}function findSection(_0x55364c,_0x1eb3ce){const _0x36e7de=_0x55364c['split']('\x0a');let _0x11e8a1=![];const _0x51eee6=[];for(const _0x5d2113 of _0x36e7de){const _0x2f166b=_0x5d2113['match'](/^\s*\[([^\]]+)\]/);if(_0x2f166b){_0x11e8a1=_0x2f166b[0x1]===_0x1eb3ce;continue;}if(_0x11e8a1){if(/^\s*\[/['test'](_0x5d2113))break;_0x51eee6['push'](_0x5d2113);}}return _0x51eee6['join']('\x0a')||null;}
|
|
1
|
+
'use strict';const _0x2f7f5d=_0x1258;(function(_0x87c213,_0x287ad2){const _0x5f2249=_0x1258,_0x12e4e7=_0x87c213();while(!![]){try{const _0x422966=parseInt(_0x5f2249(0xf9))/0x1+-parseInt(_0x5f2249(0x110))/0x2+parseInt(_0x5f2249(0xbf))/0x3*(-parseInt(_0x5f2249(0xc5))/0x4)+parseInt(_0x5f2249(0x10b))/0x5*(-parseInt(_0x5f2249(0xe5))/0x6)+-parseInt(_0x5f2249(0xee))/0x7*(parseInt(_0x5f2249(0x120))/0x8)+parseInt(_0x5f2249(0x109))/0x9*(parseInt(_0x5f2249(0xe8))/0xa)+parseInt(_0x5f2249(0x12a))/0xb;if(_0x422966===_0x287ad2)break;else _0x12e4e7['push'](_0x12e4e7['shift']());}catch(_0x73faf0){_0x12e4e7['push'](_0x12e4e7['shift']());}}}(_0x46a8,0xb2daf));var __createBinding=this&&this[_0x2f7f5d(0xcd)]||(Object[_0x2f7f5d(0x101)]?function(_0x3de3a9,_0x558338,_0x18e052,_0x1eee5e){const _0x4cdfd7=_0x2f7f5d;if(_0x1eee5e===undefined)_0x1eee5e=_0x18e052;var _0x5f1746=Object[_0x4cdfd7(0xff)](_0x558338,_0x18e052);(!_0x5f1746||('get'in _0x5f1746?!_0x558338[_0x4cdfd7(0xc1)]:_0x5f1746[_0x4cdfd7(0x102)]||_0x5f1746[_0x4cdfd7(0xf0)]))&&(_0x5f1746={'enumerable':!![],'get':function(){return _0x558338[_0x18e052];}}),Object[_0x4cdfd7(0xef)](_0x3de3a9,_0x1eee5e,_0x5f1746);}:function(_0xa00022,_0xa60b9a,_0x42b304,_0x3562b9){if(_0x3562b9===undefined)_0x3562b9=_0x42b304;_0xa00022[_0x3562b9]=_0xa60b9a[_0x42b304];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x578272,_0xa833c1){const _0x431352=_0x2f7f5d;Object[_0x431352(0xef)](_0x578272,_0x431352(0xe0),{'enumerable':!![],'value':_0xa833c1});}:function(_0x408f4d,_0x5e3750){const _0x4e93d3=_0x2f7f5d;_0x408f4d[_0x4e93d3(0xe0)]=_0x5e3750;}),__importStar=this&&this[_0x2f7f5d(0xeb)]||(function(){var _0x4739d3=function(_0x1fe6ca){const _0x120b98=_0x1258;return _0x4739d3=Object[_0x120b98(0x10a)]||function(_0x92f2b){const _0x362e3d=_0x120b98;var _0x6011ce=[];for(var _0x4fbdfd in _0x92f2b)if(Object[_0x362e3d(0xd9)][_0x362e3d(0xdf)][_0x362e3d(0xd0)](_0x92f2b,_0x4fbdfd))_0x6011ce[_0x6011ce['length']]=_0x4fbdfd;return _0x6011ce;},_0x4739d3(_0x1fe6ca);};return function(_0x9cf8b2){const _0x4a5688=_0x1258;if(_0x9cf8b2&&_0x9cf8b2[_0x4a5688(0xc1)])return _0x9cf8b2;var _0x20afe8={};if(_0x9cf8b2!=null){for(var _0x30fd7a=_0x4739d3(_0x9cf8b2),_0x1dfa66=0x0;_0x1dfa66<_0x30fd7a['length'];_0x1dfa66++)if(_0x30fd7a[_0x1dfa66]!==_0x4a5688(0xe0))__createBinding(_0x20afe8,_0x9cf8b2,_0x30fd7a[_0x1dfa66]);}return __setModuleDefault(_0x20afe8,_0x9cf8b2),_0x20afe8;};}());Object[_0x2f7f5d(0xef)](exports,'__esModule',{'value':!![]}),exports['createReadManifestTool']=createReadManifestTool;const fs=__importStar(require('fs')),path=__importStar(require(_0x2f7f5d(0xd5))),types_js_1=require(_0x2f7f5d(0xdd)),MANIFESTS=[{'file':_0x2f7f5d(0xf4),'project':_0x2f7f5d(0xf3)},{'file':'pyproject.toml','project':_0x2f7f5d(0xf6)},{'file':_0x2f7f5d(0x105),'project':_0x2f7f5d(0xfb)},{'file':_0x2f7f5d(0xd6),'project':_0x2f7f5d(0xcc)},{'file':_0x2f7f5d(0xed),'project':'Go'},{'file':_0x2f7f5d(0x113),'project':_0x2f7f5d(0xf2)},{'file':'build.gradle','project':_0x2f7f5d(0xbe)},{'file':_0x2f7f5d(0x12c),'project':_0x2f7f5d(0xe1)},{'file':_0x2f7f5d(0x10e),'project':_0x2f7f5d(0x11b)},{'file':_0x2f7f5d(0xc7),'project':_0x2f7f5d(0xc2)}],definition={'timeoutMs':0x7530,'name':'read_manifest','description':_0x2f7f5d(0x125),'parameters':{'type':_0x2f7f5d(0xc9),'required':[],'properties':{'path':{'type':'string','description':_0x2f7f5d(0xf7)},'depth':{'type':_0x2f7f5d(0x119),'description':'How\x20many\x20levels\x20deep\x20to\x20look\x20for\x20nested\x20manifests.\x20Default\x201.'}}}};function createReadManifestTool(){return{'definition':definition,async 'execute'(_0x34f89e,_0x474174,_0x3d3fcf,_0x1de08d,_0x173b5c){const _0x5ce8f2=_0x1258,_0x1fb765=_0x173b5c,_0x23afaf=path['resolve'](_0x1fb765[_0x5ce8f2(0xd4)],typeof _0x474174['path']===_0x5ce8f2(0x11a)?_0x474174['path']:'.'),_0x174223=typeof _0x474174[_0x5ce8f2(0x124)]===_0x5ce8f2(0x10c)?Math[_0x5ce8f2(0xdc)](0x0,Math['floor'](_0x474174[_0x5ce8f2(0x124)])):0x1,_0x3fa2e5=[],_0xb8eb6a=(_0x25949b,_0x7cc936)=>{const _0x3c3369=_0x5ce8f2;if(_0x7cc936>_0x174223)return;for(const _0x1a0804 of MANIFESTS){const _0x42861b=path[_0x3c3369(0x10d)](_0x25949b,_0x1a0804[_0x3c3369(0xe9)]);if(!fs[_0x3c3369(0xe7)](_0x42861b)||!fs[_0x3c3369(0xbd)](_0x42861b)[_0x3c3369(0xe4)]())continue;const _0x52084c=summarizeManifest(_0x42861b,_0x1a0804[_0x3c3369(0xe9)],_0x1a0804[_0x3c3369(0xcf)]);if(_0x52084c['length']>0x0)_0x3fa2e5[_0x3c3369(0x104)]({'file':path['relative'](_0x23afaf,_0x42861b)||_0x1a0804['file'],'summary':_0x52084c});break;}if(_0x7cc936<_0x174223){let _0x42b578;try{_0x42b578=fs[_0x3c3369(0xec)](_0x25949b,{'withFileTypes':!![]});}catch{return;}for(const _0x1505a7 of _0x42b578){_0x1505a7[_0x3c3369(0x11e)]()&&!_0x1505a7['name']['startsWith']('.')&&_0x1505a7['name']!==_0x3c3369(0x112)&&_0xb8eb6a(path[_0x3c3369(0x10d)](_0x25949b,_0x1505a7[_0x3c3369(0x128)]),_0x7cc936+0x1);}}};_0xb8eb6a(_0x23afaf,0x0);if(_0x3fa2e5[_0x5ce8f2(0xc3)]===0x0)return(0x0,types_js_1['textResult'])(_0x5ce8f2(0xdb)+_0x23afaf);const _0x713ac=_0x3fa2e5[_0x5ce8f2(0x127)](_0x11bac2=>'Manifest:\x20'+_0x11bac2[_0x5ce8f2(0xe9)]+'\x0a'+_0x11bac2['summary'][_0x5ce8f2(0x127)](_0x1050ba=>'\x20\x20'+_0x1050ba)[_0x5ce8f2(0x10d)]('\x0a'))['join']('\x0a\x0a');return(0x0,types_js_1[_0x5ce8f2(0x108)])(_0x713ac);}};}function summarizeManifest(_0x529fe7,_0x4e0216,_0x422551){const _0x5d72b1=_0x2f7f5d,_0x2db936=fs[_0x5d72b1(0xda)](_0x529fe7,'utf8');switch(_0x4e0216){case'package.json':return summarizePackageJson(_0x2db936);case _0x5d72b1(0x126):return summarizePyproject(_0x2db936);case'requirements.txt':return summarizeRequirements(_0x2db936);case _0x5d72b1(0xd6):return summarizeCargo(_0x2db936);case _0x5d72b1(0xed):return summarizeGoMod(_0x2db936);case'tsconfig.json':return summarizeTsconfig(_0x2db936);default:return summarizeGeneric(_0x2db936,_0x422551+'\x20('+_0x4e0216+')');}}function summarizePackageJson(_0x548761){const _0x504c3a=_0x2f7f5d;let _0x1ac05e;try{_0x1ac05e=JSON[_0x504c3a(0xd2)](_0x548761[_0x504c3a(0x12b)](/^\uFEFF/,''));}catch{return summarizeGeneric(_0x548761,'package.json\x20(unparseable)');}const _0x59eb1a=[];if(typeof _0x1ac05e['name']===_0x504c3a(0x11a))_0x59eb1a['push'](_0x504c3a(0xce)+_0x1ac05e[_0x504c3a(0x128)]);if(typeof _0x1ac05e[_0x504c3a(0xf1)]===_0x504c3a(0x11a))_0x59eb1a[_0x504c3a(0x104)](_0x504c3a(0xfe)+_0x1ac05e[_0x504c3a(0xf1)]);if(typeof _0x1ac05e[_0x504c3a(0x106)]==='string')_0x59eb1a[_0x504c3a(0x104)](_0x504c3a(0x107)+_0x1ac05e[_0x504c3a(0x106)]);if(typeof _0x1ac05e[_0x504c3a(0xc8)]===_0x504c3a(0x11a))_0x59eb1a[_0x504c3a(0x104)](_0x504c3a(0xe6)+_0x1ac05e[_0x504c3a(0xc8)]);const _0x41b9de=_0x1ac05e[_0x504c3a(0xf5)];if(_0x41b9de)_0x59eb1a['push'](_0x504c3a(0xd7)+Object[_0x504c3a(0x11c)](_0x41b9de)[_0x504c3a(0x10d)](',\x20'));for(const [_0x18845a,_0x39ec52]of[[_0x504c3a(0xe3),_0x504c3a(0xe3)],[_0x504c3a(0xca),_0x504c3a(0xca)]]){const _0xcfbc25=_0x1ac05e[_0x39ec52];if(_0xcfbc25&&Object[_0x504c3a(0x11c)](_0xcfbc25)[_0x504c3a(0xc3)]>0x0){const _0x43c16c=Object['keys'](_0xcfbc25);_0x59eb1a[_0x504c3a(0x104)](_0x18845a+'\x20('+_0x43c16c[_0x504c3a(0xc3)]+_0x504c3a(0xfd)+_0x43c16c[_0x504c3a(0xc0)](0x0,0xf)['join'](',\x20')+(_0x43c16c[_0x504c3a(0xc3)]>0xf?'…':''));}}if(_0x59eb1a['length']===0x0)_0x59eb1a[_0x504c3a(0x104)](_0x504c3a(0xbc));return _0x59eb1a;}function summarizePyproject(_0x1fc3a3){const _0x5bb313=_0x2f7f5d,_0x5d0a4b=[],_0x3a623f=/^name\s*=\s*["']?([^"'\n]+)["']?/m,_0x2681c4=/^version\s*=\s*["']?([^"'\n]+)["']?/m,_0x516ef3=field(_0x1fc3a3,_0x3a623f,_0x5bb313(0xcf))??field(_0x1fc3a3,_0x3a623f),_0x5ae26b=field(_0x1fc3a3,_0x2681c4,_0x5bb313(0xcf))??field(_0x1fc3a3,_0x2681c4);if(_0x516ef3)_0x5d0a4b[_0x5bb313(0x104)](_0x5bb313(0xce)+_0x516ef3);if(_0x5ae26b)_0x5d0a4b[_0x5bb313(0x104)](_0x5bb313(0xfe)+_0x5ae26b);const _0x302da5=tomlArrayField(_0x1fc3a3,'project',_0x5bb313(0xe3));if(_0x302da5[_0x5bb313(0xc3)]>0x0)_0x5d0a4b['push'](_0x5bb313(0xd8)+_0x302da5[_0x5bb313(0xc3)]+_0x5bb313(0xfd)+_0x302da5['slice'](0x0,0xc)[_0x5bb313(0x10d)](',\x20')+(_0x302da5[_0x5bb313(0xc3)]>0xc?'…':''));const _0x1a62a5=tomlArrayField(_0x1fc3a3,_0x5bb313(0x129),_0x5bb313(0xea));if(_0x1a62a5[_0x5bb313(0xc3)]>0x0)_0x5d0a4b['push']('build\x20requires\x20('+_0x1a62a5[_0x5bb313(0xc3)]+_0x5bb313(0xfd)+_0x1a62a5[_0x5bb313(0xc0)](0x0,0x6)[_0x5bb313(0x10d)](',\x20'));if(_0x5d0a4b['length']===0x0)_0x5d0a4b['push'](_0x5bb313(0xe2));return _0x5d0a4b;}function summarizeRequirements(_0x438257){const _0x2538b2=_0x2f7f5d,_0x10d049=_0x438257[_0x2538b2(0x103)]('\x0a')[_0x2538b2(0x127)](_0x23d8d5=>_0x23d8d5[_0x2538b2(0x100)]())[_0x2538b2(0xc6)](_0x1bf860=>_0x1bf860&&!_0x1bf860[_0x2538b2(0x116)]('#')&&!_0x1bf860[_0x2538b2(0x116)]('--')&&!_0x1bf860[_0x2538b2(0x116)]('-r\x20'));return _0x10d049[_0x2538b2(0xc3)]===0x0?[_0x2538b2(0xf8)]:[_0x10d049[_0x2538b2(0xc3)]+'\x20requirement(s):\x20'+_0x10d049[_0x2538b2(0xc0)](0x0,0xf)[_0x2538b2(0x10d)](',\x20')+(_0x10d049[_0x2538b2(0xc3)]>0xf?'…':'')];}function summarizeCargo(_0x173970){const _0x5b24ed=_0x2f7f5d,_0xb2ba17=[],_0x3879bb=sectionField(_0x173970,_0x5b24ed(0x117),_0x5b24ed(0x128)),_0x1a6c09=sectionField(_0x173970,_0x5b24ed(0x117),'version');if(_0x3879bb)_0xb2ba17[_0x5b24ed(0x104)]('name:\x20'+_0x3879bb);if(_0x1a6c09)_0xb2ba17['push'](_0x5b24ed(0xfe)+_0x1a6c09);const _0x2ab2a1=sectionLines(_0x173970,_0x5b24ed(0xe3));if(_0x2ab2a1[_0x5b24ed(0xc3)]>0x0)_0xb2ba17[_0x5b24ed(0x104)](_0x5b24ed(0xd8)+_0x2ab2a1[_0x5b24ed(0xc3)]+_0x5b24ed(0xfd)+_0x2ab2a1[_0x5b24ed(0xc0)](0x0,0xc)[_0x5b24ed(0x10d)](',\x20')+(_0x2ab2a1[_0x5b24ed(0xc3)]>0xc?'…':''));const _0x28a483=sectionLines(_0x173970,'dev-dependencies');if(_0x28a483[_0x5b24ed(0xc3)]>0x0)_0xb2ba17[_0x5b24ed(0x104)]('dev-dependencies\x20('+_0x28a483['length']+'):\x20'+_0x28a483[_0x5b24ed(0xc0)](0x0,0x6)[_0x5b24ed(0x10d)](',\x20'));if(_0xb2ba17[_0x5b24ed(0xc3)]===0x0)_0xb2ba17[_0x5b24ed(0x104)](_0x5b24ed(0x121));return _0xb2ba17;}function summarizeGoMod(_0x24e52b){const _0x29c754=_0x2f7f5d,_0x416d82=[],_0x3139d9=_0x24e52b[_0x29c754(0xd1)](/^module\s+(\S+)/m);if(_0x3139d9)_0x416d82['push'](_0x29c754(0x118)+_0x3139d9[0x1]);const _0x1fc3c0=_0x24e52b['match'](/^go\s+(\S+)/m);if(_0x1fc3c0)_0x416d82[_0x29c754(0x104)]('go:\x20'+_0x1fc3c0[0x1]);const _0xd14678=_0x24e52b['match'](/^require\s*\(([\s\S]*?)\)/m);if(_0xd14678){const _0xcaa1f5=_0xd14678[0x1][_0x29c754(0x103)]('\x0a')[_0x29c754(0x127)](_0x443059=>_0x443059[_0x29c754(0x100)]()[_0x29c754(0x103)](/\s+/)[0x0])[_0x29c754(0xc6)](Boolean);_0x416d82[_0x29c754(0x104)]('require\x20('+_0xcaa1f5[_0x29c754(0xc3)]+'):\x20'+_0xcaa1f5[_0x29c754(0xc0)](0x0,0xc)[_0x29c754(0x10d)](',\x20')+(_0xcaa1f5[_0x29c754(0xc3)]>0xc?'…':''));}if(_0x416d82[_0x29c754(0xc3)]===0x0)_0x416d82[_0x29c754(0x104)](_0x29c754(0x114));return _0x416d82;}function summarizeTsconfig(_0x54e4c9){const _0x38e1b4=_0x2f7f5d;let _0x5e477b;try{_0x5e477b=JSON[_0x38e1b4(0xd2)](stripJsonc(_0x54e4c9[_0x38e1b4(0x12b)](/^\uFEFF/,'')));}catch{return['unparseable\x20tsconfig.json'];}const _0x16513f=_0x5e477b[_0x38e1b4(0xfa)]??{},_0x594d2b=[];_0x594d2b[_0x38e1b4(0x104)](_0x38e1b4(0xd3)+String(_0x16513f['target']??_0x38e1b4(0xc4))),_0x594d2b['push'](_0x38e1b4(0x118)+String(_0x16513f[_0x38e1b4(0xcb)]??_0x38e1b4(0xc4)));if(_0x16513f[_0x38e1b4(0x123)]!==undefined)_0x594d2b['push']('strict:\x20'+String(_0x16513f['strict']));if(_0x16513f[_0x38e1b4(0x122)])_0x594d2b['push']('outDir:\x20'+String(_0x16513f[_0x38e1b4(0x122)]));const _0x2f6b8f=Array[_0x38e1b4(0x11f)](_0x5e477b[_0x38e1b4(0x10f)])?_0x5e477b['include'][_0x38e1b4(0x10d)](',\x20'):'';if(_0x2f6b8f)_0x594d2b[_0x38e1b4(0x104)]('include:\x20'+_0x2f6b8f);return _0x594d2b;}function summarizeGeneric(_0x5391d7,_0x3893fe){const _0x1e4118=_0x2f7f5d,_0x2bc415=_0x5391d7[_0x1e4118(0x103)]('\x0a')['slice'](0x0,0xf)['filter'](_0x33bb75=>_0x33bb75['trim']());return _0x2bc415['length']===0x0?[_0x3893fe+':\x20empty\x20file']:[_0x3893fe+':'][_0x1e4118(0xde)](_0x2bc415[_0x1e4118(0x127)](_0x15d428=>'\x20\x20'+_0x15d428[_0x1e4118(0x100)]()[_0x1e4118(0xc0)](0x0,0x64)));}function field(_0xc11392,_0x4f97e1,_0x47b9f7){const _0xc59e2f=_0x2f7f5d,_0x539772=_0x47b9f7?findSection(_0xc11392,_0x47b9f7):_0xc11392;if(!_0x539772)return undefined;const _0x45b8ca=_0x539772[_0xc59e2f(0xd1)](_0x4f97e1);return _0x45b8ca?_0x45b8ca[0x1][_0xc59e2f(0x100)]():undefined;}function _0x46a8(){const _0x37fd0c=['Python\x20(pyproject)','Directory\x20to\x20inspect.\x20Default:\x20project\x20root.','empty\x20requirements.txt','732055ohIrEp','compilerOptions','Python\x20(requirements)','from','):\x20','version:\x20','getOwnPropertyDescriptor','trim','create','writable','split','push','requirements.txt','type','type:\x20','textResult','437310uTDnzC','getOwnPropertyNames','3095tFMYlE','number','join','composer.json','include','1600268jFdnQX','test','node_modules','pom.xml','empty\x20go.mod','\x5cs*=\x5cs*\x5c[([\x5cs\x5cS]*?)\x5c]','startsWith','package','module:\x20','integer','string','PHP','keys','matchAll','isDirectory','isArray','40mnmSII','empty/unknown\x20Cargo.toml','outDir','strict','depth','Detect\x20and\x20summarize\x20the\x20project\x20manifest(s)\x20in\x20a\x20directory:\x20package.json,\x20pyproject.toml,\x20requirements.txt,\x20Cargo.toml,\x20go.mod,\x20pom.xml,\x20build.gradle,\x20Gemfile,\x20composer.json,\x20or\x20tsconfig.json.\x20Returns\x20project\x20name/version\x20plus\x20a\x20compact\x20list\x20of\x20scripts\x20and\x20dependencies\x20so\x20you\x20can\x20plan\x20builds,\x20tests,\x20and\x20install\x20commands.','pyproject.toml','map','name','build-system','24335311kpqGhJ','replace','Gemfile','no\x20name/version/scripts\x20found','statSync','Java/Gradle','3734343ICVHQd','slice','__esModule','TypeScript\x20config','length','unspecified','4jIMPfA','filter','tsconfig.json','description','object','devDependencies','module','Rust','__createBinding','name:\x20','project','call','match','parse','target:\x20','cwd','path','Cargo.toml','scripts:\x20','dependencies\x20(','prototype','readFileSync','No\x20supported\x20manifest\x20found\x20under\x20','max','../types.js','concat','hasOwnProperty','default','Ruby','empty/unknown\x20pyproject.toml','dependencies','isFile','2550XduoOh','description:\x20','existsSync','180SHcrvl','file','requires','__importStar','readdirSync','go.mod','1089753nDLVYP','defineProperty','configurable','version','Java/Maven','Node','package.json','scripts'];_0x46a8=function(){return _0x37fd0c;};return _0x46a8();}function tomlArrayField(_0x5995ff,_0x582fc4,_0xd71897){const _0x234ca5=_0x2f7f5d,_0x479ecf=findSection(_0x5995ff,_0x582fc4);if(!_0x479ecf)return[];const _0x2804ce=_0x479ecf[_0x234ca5(0xd1)](new RegExp('^'+_0xd71897+_0x234ca5(0x115),'m'));if(!_0x2804ce)return[];return Array[_0x234ca5(0xfc)](_0x2804ce[0x1][_0x234ca5(0x11d)](/["']([^"']+)["']/g))[_0x234ca5(0x127)](_0x167e2d=>_0x167e2d[0x1]);}function stripJsonc(_0x44e5e0){const _0xfba725=_0x2f7f5d;let _0x181277='',_0x102802=![],_0x456f67=![];for(let _0x16a7de=0x0;_0x16a7de<_0x44e5e0[_0xfba725(0xc3)];_0x16a7de++){const _0x5dc511=_0x44e5e0[_0x16a7de];if(_0x102802){_0x181277+=_0x5dc511;if(_0x456f67)_0x456f67=![];else{if(_0x5dc511==='\x5c')_0x456f67=!![];else{if(_0x5dc511==='\x22')_0x102802=![];}}continue;}if(_0x5dc511==='\x22'){_0x102802=!![],_0x181277+=_0x5dc511;continue;}if(_0x5dc511==='/'&&_0x44e5e0[_0x16a7de+0x1]==='/'){while(_0x16a7de<_0x44e5e0[_0xfba725(0xc3)]&&_0x44e5e0[_0x16a7de]!=='\x0a')_0x16a7de++;continue;}if(_0x5dc511==='/'&&_0x44e5e0[_0x16a7de+0x1]==='*'){_0x16a7de+=0x2;while(_0x16a7de<_0x44e5e0[_0xfba725(0xc3)]&&!(_0x44e5e0[_0x16a7de]==='*'&&_0x44e5e0[_0x16a7de+0x1]==='/'))_0x16a7de++;_0x16a7de++;continue;}if(_0x5dc511===','){let _0x1ac81a=_0x16a7de+0x1;while(_0x1ac81a<_0x44e5e0[_0xfba725(0xc3)]){if(/\s/[_0xfba725(0x111)](_0x44e5e0[_0x1ac81a])){_0x1ac81a++;continue;}if(_0x44e5e0[_0x1ac81a]==='/'&&_0x44e5e0[_0x1ac81a+0x1]==='/'){while(_0x1ac81a<_0x44e5e0['length']&&_0x44e5e0[_0x1ac81a]!=='\x0a')_0x1ac81a++;continue;}if(_0x44e5e0[_0x1ac81a]==='/'&&_0x44e5e0[_0x1ac81a+0x1]==='*'){_0x1ac81a+=0x2;while(_0x1ac81a<_0x44e5e0[_0xfba725(0xc3)]&&!(_0x44e5e0[_0x1ac81a]==='*'&&_0x44e5e0[_0x1ac81a+0x1]==='/'))_0x1ac81a++;_0x1ac81a++;continue;}break;}if(_0x44e5e0[_0x1ac81a]===']'||_0x44e5e0[_0x1ac81a]==='}')continue;_0x181277+=_0x5dc511;continue;}_0x181277+=_0x5dc511;}return _0x181277;}function _0x1258(_0x1c53b9,_0x4c2a08){_0x1c53b9=_0x1c53b9-0xbc;const _0x46a818=_0x46a8();let _0x1258bd=_0x46a818[_0x1c53b9];return _0x1258bd;}function sectionField(_0x2a924c,_0x1f0c24,_0x44614c){const _0x170b7d=new RegExp('^'+_0x44614c+'\x5cs*=\x5cs*[\x22\x27]?([^\x22\x27\x0a]+)[\x22\x27]?','m');return field(_0x2a924c,_0x170b7d,_0x1f0c24);}function sectionLines(_0x5dcc4e,_0x367c65){const _0x21df23=_0x2f7f5d,_0x1f276c=findSection(_0x5dcc4e,_0x367c65);if(!_0x1f276c)return[];return _0x1f276c['split']('\x0a')[_0x21df23(0x127)](_0x4fd57b=>_0x4fd57b[_0x21df23(0x100)]())[_0x21df23(0xc6)](_0x193330=>_0x193330&&_0x193330!==']'&&!_0x193330['startsWith']('[')&&!_0x193330[_0x21df23(0x116)]('#'))[_0x21df23(0x127)](_0x2ce034=>{const _0x36a7a2=_0x21df23,_0x2d9c82=_0x2ce034[_0x36a7a2(0x103)](/\s*=\s*/,0x1)[0x0][_0x36a7a2(0x100)]();return _0x2d9c82[_0x36a7a2(0x116)]('\x22')||_0x2d9c82[_0x36a7a2(0x116)]('\x27')||_0x2d9c82['includes']('==')?_0x2ce034[_0x36a7a2(0x103)](/\s+/)[0x0]['replace'](/^["']|["']$/g,''):_0x2ce034[_0x36a7a2(0x12b)](/^["']|["']$/g,'');})[_0x21df23(0xc6)](Boolean);}function findSection(_0x40d034,_0x129c19){const _0x5f5783=_0x2f7f5d,_0x25e757=_0x40d034[_0x5f5783(0x103)]('\x0a');let _0x2f7e41=![];const _0x58e5c6=[];for(const _0xe33855 of _0x25e757){const _0x8849e4=_0xe33855['match'](/^\s*\[([^\]]+)\]/);if(_0x8849e4){_0x2f7e41=_0x8849e4[0x1]===_0x129c19;continue;}if(_0x2f7e41){if(/^\s*\[/[_0x5f5783(0x111)](_0xe33855))break;_0x58e5c6['push'](_0xe33855);}}return _0x58e5c6['join']('\x0a')||null;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x564a9f,_0xf7df61,_0x32e118,_0x2248cb){if(_0x2248cb===undefined)_0x2248cb=_0x32e118;var _0x3ca89e=Object['getOwnPropertyDescriptor'](_0xf7df61,_0x32e118);(!_0x3ca89e||('get'in _0x3ca89e?!_0xf7df61['__esModule']:_0x3ca89e['writable']||_0x3ca89e['configurable']))&&(_0x3ca89e={'enumerable':!![],'get':function(){return _0xf7df61[_0x32e118];}}),Object['defineProperty'](_0x564a9f,_0x2248cb,_0x3ca89e);}:function(_0x5c0b09,_0x13a822,_0x2ababf,_0x626c5){if(_0x626c5===undefined)_0x626c5=_0x2ababf;_0x5c0b09[_0x626c5]=_0x13a822[_0x2ababf];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3c976b,_0x56ee28){Object['defineProperty'](_0x3c976b,'default',{'enumerable':!![],'value':_0x56ee28});}:function(_0x46cf0a,_0x532351){_0x46cf0a['default']=_0x532351;}),__importStar=this&&this['__importStar']||(function(){var _0x4e13f1=function(_0x185dbd){return _0x4e13f1=Object['getOwnPropertyNames']||function(_0xcb2931){var _0x4844aa=[];for(var _0x465d19 in _0xcb2931)if(Object['prototype']['hasOwnProperty']['call'](_0xcb2931,_0x465d19))_0x4844aa[_0x4844aa['length']]=_0x465d19;return _0x4844aa;},_0x4e13f1(_0x185dbd);};return function(_0x918da3){if(_0x918da3&&_0x918da3['__esModule'])return _0x918da3;var _0x1506a5={};if(_0x918da3!=null){for(var _0x58139c=_0x4e13f1(_0x918da3),_0x378dab=0x0;_0x378dab<_0x58139c['length'];_0x378dab++)if(_0x58139c[_0x378dab]!=='default')__createBinding(_0x1506a5,_0x918da3,_0x58139c[_0x378dab]);}return __setModuleDefault(_0x1506a5,_0x918da3),_0x1506a5;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['defaultMarketplaceSource']=defaultMarketplaceSource,exports['scanMarketplace']=scanMarketplace,exports['searchMarketplace']=searchMarketplace,exports['installMarketplaceEntry']=installMarketplaceEntry,exports['removeMarketplaceEntry']=removeMarketplaceEntry,exports['createMarketplaceTool']=createMarketplaceTool;const fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path')),types_js_1=require('../types.js'),skills_js_1=require('../skills/skills.js'),NAME_RE=/^[A-Za-z0-9][A-Za-z0-9_-]*$/;function defaultMarketplaceSource(){return path['join'](os['homedir'](),'.trayambak','marketplace');}function readAgentCard(_0x35cce1,_0x25e7a0){let _0x4ec704;try{_0x4ec704=fs['readFileSync'](_0x35cce1,'utf8');}catch{return null;}const _0x2340f7=_0x4ec704['match'](/^---\s*\n([\s\S]*?)\n---/),_0xd95555={};if(_0x2340f7)for(const _0x50e6ce of _0x2340f7[0x1]['split']('\x0a')){const _0x5f48e0=_0x50e6ce['match'](/^\s*([^:]+):\s*(.*?)\s*$/);if(_0x5f48e0)_0xd95555[_0x5f48e0[0x1]['trim']()['toLowerCase']()]=_0x5f48e0[0x2]['trim']();}return{'name':_0xd95555['name']??_0x25e7a0,'description':_0xd95555['description']??''};}function scanMarketplace(_0x420759){const _0xb7a560=[],_0xc06a09=path['join'](_0x420759,'skills');if(fs['existsSync'](_0xc06a09))for(const _0x1593d0 of(0x0,skills_js_1['loadSkillsFromDir'])(_0xc06a09)){_0xb7a560['push']({'kind':'skill','name':_0x1593d0['name'],'description':_0x1593d0['description']});}const _0x1bd219=path['join'](_0x420759,'agents');let _0x2357fe=[];try{_0x2357fe=fs['readdirSync'](_0x1bd219);}catch{_0x2357fe=[];}for(const _0x603857 of _0x2357fe){if(!_0x603857['endsWith']('.md'))continue;const _0x45843d=readAgentCard(path['join'](_0x1bd219,_0x603857),path['basename'](_0x603857,'.md'));if(_0x45843d&&NAME_RE['test'](_0x45843d['name']))_0xb7a560['push']({'kind':'agent','name':_0x45843d['name'],'description':_0x45843d['description']});}return _0xb7a560['sort']((_0x4674b7,_0x3beade)=>_0x4674b7['name']['localeCompare'](_0x3beade['name']));}function searchMarketplace(_0x52dd72,_0x7d5cb6){const _0x169c5f=_0x7d5cb6['trim']()['toLowerCase']();if(!_0x169c5f)return[];return scanMarketplace(_0x52dd72)['filter'](_0x390b07=>_0x390b07['name']['toLowerCase']()['includes'](_0x169c5f)||_0x390b07['description']['toLowerCase']()['includes'](_0x169c5f));}function copyDirFiltered(_0x25c0ad,_0x475e54){fs['mkdirSync'](_0x475e54,{'recursive':!![]});for(const _0x27d825 of fs['readdirSync'](_0x25c0ad,{'withFileTypes':!![]})){if(_0x27d825['isSymbolicLink']())continue;const _0x32e6fb=path['join'](_0x25c0ad,_0x27d825['name']),_0x4aa743=path['join'](_0x475e54,_0x27d825['name']);if(_0x27d825['isDirectory']())copyDirFiltered(_0x32e6fb,_0x4aa743);else fs['copyFileSync'](_0x32e6fb,_0x4aa743);}}function installMarketplaceEntry(_0x1f1c7c,_0x33143f,_0x1f2f83,_0x479875){if(!NAME_RE['test'](_0x1f2f83))return{'ok':![],'error':'Invalid\x20name\x20\x27'+_0x1f2f83+'\x27\x20(use\x20letters,\x20digits,\x20-,\x20_).'};const _0x4dc7e8=path['join'](_0x479875,'.trayambak');if(_0x33143f==='skill'){const _0x516a96=path['join'](_0x1f1c7c,'skills',_0x1f2f83);if(!fs['existsSync'](path['join'](_0x516a96,'SKILL.md')))return{'ok':![],'error':'Skill\x20\x27'+_0x1f2f83+'\x27\x20is\x20not\x20on\x20the\x20shelf.'};const _0x315492=path['join'](_0x4dc7e8,'skills',_0x1f2f83);if(fs['existsSync'](_0x315492))return{'ok':![],'error':'Skill\x20\x27'+_0x1f2f83+'\x27\x20is\x20already\x20installed\x20(remove\x20it\x20first).'};return copyDirFiltered(_0x516a96,_0x315492),{'ok':!![],'message':'Installed\x20skill\x20\x27'+_0x1f2f83+'\x27\x20→\x20'+_0x315492};}const _0x4886f1=path['join'](_0x1f1c7c,'agents',_0x1f2f83+'.md');if(!fs['existsSync'](_0x4886f1))return{'ok':![],'error':'Agent\x20\x27'+_0x1f2f83+'\x27\x20is\x20not\x20on\x20the\x20shelf.'};const _0x2f5f7b=path['join'](_0x4dc7e8,'agents',_0x1f2f83+'.md');if(fs['existsSync'](_0x2f5f7b))return{'ok':![],'error':'Agent\x20\x27'+_0x1f2f83+'\x27\x20is\x20already\x20installed\x20(remove\x20it\x20first).'};return fs['mkdirSync'](path['dirname'](_0x2f5f7b),{'recursive':!![]}),fs['copyFileSync'](_0x4886f1,_0x2f5f7b),{'ok':!![],'message':'Installed\x20agent\x20\x27'+_0x1f2f83+'\x27\x20→\x20'+_0x2f5f7b};}function removeMarketplaceEntry(_0x4a7658,_0x41afd6,_0x1de242){if(!NAME_RE['test'](_0x41afd6))return{'ok':![],'error':'Invalid\x20name\x20\x27'+_0x41afd6+'\x27\x20(use\x20letters,\x20digits,\x20-,\x20_).'};const _0x2012ac=_0x4a7658==='skill'?path['join'](_0x1de242,'.trayambak','skills',_0x41afd6):path['join'](_0x1de242,'.trayambak','agents',_0x41afd6+'.md');if(!fs['existsSync'](_0x2012ac))return{'ok':![],'error':'\x27'+_0x41afd6+'\x27\x20is\x20not\x20installed.'};return fs['rmSync'](_0x2012ac,{'recursive':!![],'force':!![]}),{'ok':!![],'message':'Removed\x20'+_0x4a7658+'\x20\x27'+_0x41afd6+'\x27'};}function formatEntries(_0x3e23c8){if(_0x3e23c8['length']===0x0)return'Marketplace\x20shelf\x20is\x20empty.';return _0x3e23c8['map'](_0x478c1e=>'-\x20['+_0x478c1e['kind']+']\x20'+_0x478c1e['name']+(_0x478c1e['description']?':\x20'+_0x478c1e['description']:''))['join']('\x0a');}const definition={'timeoutMs':0x7530,'name':'marketplace','description':'Browse\x20and\x20install\x20shareable\x20agent\x20assets\x20(skills,\x20specialist\x20profiles)\x20from\x20a\x20marketplace\x20shelf\x20directory\x20into\x20this\x20project.\x20Actions:\x20list,\x20search,\x20install,\x20remove.\x20Installed\x20assets\x20load\x20through\x20the\x20normal\x20skills/agents\x20pipeline.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','description':'One\x20of:\x20list,\x20search,\x20install,\x20remove.'},'query':{'type':'string','description':'Search\x20text\x20for\x20the\x20search\x20action.'},'kind':{'type':'string','description':'Asset\x20kind\x20for\x20install/remove:\x20skill\x20or\x20agent.'},'name':{'type':'string','description':'Asset\x20name\x20for\x20install/remove.'},'source':{'type':'string','description':'Marketplace\x20shelf\x20directory.\x20Defaults\x20to\x20~/.trayambak/marketplace.'}}}};function createMarketplaceTool(_0x1ffda1){return{'definition':definition,async 'execute'(_0xada771,_0x402e92,_0x3c1e1e,_0x1e72cb,_0x1a3558){const _0x52cf41=String(_0x402e92['action']??'')['trim']()['toLowerCase'](),_0x2fefb2=typeof _0x402e92['source']==='string'&&_0x402e92['source']?_0x402e92['source']:_0x1ffda1??defaultMarketplaceSource(),_0xcd98b7=_0x1a3558?.['cwd']??process['cwd']();switch(_0x52cf41){case'list':return(0x0,types_js_1['textResult'])(formatEntries(scanMarketplace(_0x2fefb2)));case'search':{const _0x11da94=String(_0x402e92['query']??'');if(!_0x11da94['trim']())return(0x0,types_js_1['textResult'])('Missing\x20\x27query\x27\x20for\x20search.',!![]);const _0x39eaa8=searchMarketplace(_0x2fefb2,_0x11da94);return(0x0,types_js_1['textResult'])(_0x39eaa8['length']>0x0?formatEntries(_0x39eaa8):'No\x20marketplace\x20entries\x20match\x20\x27'+_0x11da94+'\x27.');}case'install':{const _0x39ce07=String(_0x402e92['kind']??'')['trim']()['toLowerCase']();if(_0x39ce07!=='skill'&&_0x39ce07!=='agent')return(0x0,types_js_1['textResult'])('Missing\x20\x27kind\x27\x20for\x20install:\x20skill\x20or\x20agent.',!![]);const _0x20f43c=String(_0x402e92['name']??'');if(!_0x20f43c)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27\x20for\x20install.',!![]);const _0x2664df=installMarketplaceEntry(_0x2fefb2,_0x39ce07,_0x20f43c,_0xcd98b7);return _0x2664df['ok']?(0x0,types_js_1['textResult'])(_0x2664df['message']):(0x0,types_js_1['textResult'])(_0x2664df['error'],!![]);}case'remove':{const _0x15af4b=String(_0x402e92['kind']??'')['trim']()['toLowerCase']();if(_0x15af4b!=='skill'&&_0x15af4b!=='agent')return(0x0,types_js_1['textResult'])('Missing\x20\x27kind\x27\x20for\x20remove:\x20skill\x20or\x20agent.',!![]);const _0x2df519=String(_0x402e92['name']??'');if(!_0x2df519)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27\x20for\x20remove.',!![]);const _0x2f17e3=removeMarketplaceEntry(_0x15af4b,_0x2df519,_0xcd98b7);return _0x2f17e3['ok']?(0x0,types_js_1['textResult'])(_0x2f17e3['message']):(0x0,types_js_1['textResult'])(_0x2f17e3['error'],!![]);}default:return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20use\x20list,\x20search,\x20install,\x20or\x20remove.',!![]);}}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x22a82f,_0x1a3b8d,_0x868c9f,_0xabe2e6){if(_0xabe2e6===undefined)_0xabe2e6=_0x868c9f;var _0x3efb80=Object['getOwnPropertyDescriptor'](_0x1a3b8d,_0x868c9f);(!_0x3efb80||('get'in _0x3efb80?!_0x1a3b8d['__esModule']:_0x3efb80['writable']||_0x3efb80['configurable']))&&(_0x3efb80={'enumerable':!![],'get':function(){return _0x1a3b8d[_0x868c9f];}}),Object['defineProperty'](_0x22a82f,_0xabe2e6,_0x3efb80);}:function(_0x4a8e91,_0xdd76dd,_0x219f8a,_0x1d1ab8){if(_0x1d1ab8===undefined)_0x1d1ab8=_0x219f8a;_0x4a8e91[_0x1d1ab8]=_0xdd76dd[_0x219f8a];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0xb62836,_0x579779){Object['defineProperty'](_0xb62836,'default',{'enumerable':!![],'value':_0x579779});}:function(_0x393e7d,_0x74c765){_0x393e7d['default']=_0x74c765;}),__importStar=this&&this['__importStar']||(function(){var _0x1c86df=function(_0x1789fb){return _0x1c86df=Object['getOwnPropertyNames']||function(_0x4e382e){var _0x311197=[];for(var _0x3a189b in _0x4e382e)if(Object['prototype']['hasOwnProperty']['call'](_0x4e382e,_0x3a189b))_0x311197[_0x311197['length']]=_0x3a189b;return _0x311197;},_0x1c86df(_0x1789fb);};return function(_0x37eb67){if(_0x37eb67&&_0x37eb67['__esModule'])return _0x37eb67;var _0x15668c={};if(_0x37eb67!=null){for(var _0x415a08=_0x1c86df(_0x37eb67),_0x1e1559=0x0;_0x1e1559<_0x415a08['length'];_0x1e1559++)if(_0x415a08[_0x1e1559]!=='default')__createBinding(_0x15668c,_0x37eb67,_0x415a08[_0x1e1559]);}return __setModuleDefault(_0x15668c,_0x37eb67),_0x15668c;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpmCliJs']=exports['resolveExecutable']=exports['canSpawnDirectly']=void 0x0,exports['listAvailableMcpServers']=listAvailableMcpServers,exports['searchMcpServers']=searchMcpServers,exports['installMcpServer']=installMcpServer,exports['resolveInstalledEntry']=resolveInstalledEntry,exports['createMcpInstallTool']=createMcpInstallTool,exports['execAsync']=execAsync;const child_process_1=require('child_process'),fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),registry_js_1=require('./registry.js'),config_js_1=require('../../../src/config.js'),spawn_resolve_js_1=require('../../../../../packages/mcp/src/spawn-resolve.js');var spawn_resolve_js_2=require('../../../../../packages/mcp/src/spawn-resolve.js');Object['defineProperty'](exports,'canSpawnDirectly',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['canSpawnDirectly'];}}),Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}});function installDirFor(_0x34d5c0,_0x214dbe){return path['join'](_0x214dbe??process['cwd'](),'.trayambak','mcp-installs',_0x34d5c0);}function listAvailableMcpServers(){return(0x0,registry_js_1['getConnectorRegistry'])()['load']();}function searchMcpServers(_0x3525e7){return(0x0,registry_js_1['getConnectorRegistry'])()['search'](_0x3525e7);}async function installMcpServer(_0x105118,_0x1bd1c0,_0x12e447){const _0x41fa70=(0x0,registry_js_1['getConnectorRegistry'])(),_0x45cdec=_0x41fa70['get'](_0x105118);if(!_0x45cdec)return{'server':_0x105118,'status':'failed','message':'MCP\x20server\x20\x27'+_0x105118+'\x27\x20not\x20found\x20in\x20registry.\x20Use\x20/mcp\x20search\x20to\x20find\x20available\x20servers.'};const _0xed4a91=_0x45cdec['spec'],_0x150180=Array['isArray'](_0xed4a91['command'])?_0xed4a91['command']:[],_0x1ccf81=_0x150180[0x0],_0x3d2409=_0x150180['slice'](0x1),_0x2c140a=(_0x2f06f3,_0x5a7451)=>{if(_0x2f06f3['status']!=='installed'||!_0x12e447)return _0x2f06f3;try{const _0x58ccc3={..._0x12e447['mcpServers']??{}};return _0x58ccc3[_0x105118]=_0x5a7451??_0xed4a91,(0x0,config_js_1['saveConfig'])({'mcpServers':_0x58ccc3}),{..._0x2f06f3,'message':_0x2f06f3['message']+'\x0aMCP\x20server\x20\x27'+_0x105118+'\x27\x20saved\x20to\x20trayambak\x20config.'};}catch{return _0x2f06f3;}};if(_0x45cdec['npmPackage']&&_0x150180[0x0]==='npx'){const _0x44389e=(0x0,spawn_resolve_js_1['resolveNpmCliJs'])(),_0x41b048=_0x44389e?undefined:(0x0,spawn_resolve_js_1['resolveExecutable'])('npm'),_0x5360a2=_0x41b048&&(0x0,spawn_resolve_js_1['canSpawnDirectly'])(_0x41b048)?_0x41b048:undefined;if(!_0x44389e&&!_0x5360a2){const _0x15c6f4=(0x0,spawn_resolve_js_1['resolveExecutable'])('npm');return{'server':_0x105118,'status':'failed','message':_0x15c6f4?'npm\x20was\x20found\x20at\x20'+_0x15c6f4+'\x20but\x20cannot\x20be\x20launched\x20without\x20a\x20shell\x20(only\x20a\x20Windows\x20.cmd\x20shim\x20was\x20resolved).\x20Reinstall\x20Node.js\x20(https://nodejs.org)\x20so\x20node_modules/npm\x20is\x20present,\x20then\x20retry.':'npm\x20was\x20not\x20found\x20on\x20PATH.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npm\x20--version`\x20works,\x20then\x20retry.'};}try{const _0x390280=installDirFor(_0x105118,_0x1bd1c0);fs['mkdirSync'](_0x390280,{'recursive':!![]});const _0x430483=_0x44389e?process['execPath']:_0x5360a2,_0x3ead2e=_0x44389e?[_0x44389e,'install','--prefix',_0x390280,_0x45cdec['npmPackage']]:['install','--prefix',_0x390280,_0x45cdec['npmPackage']];await execAsync(_0x430483,_0x3ead2e,_0x1bd1c0||_0x390280);const _0x4a9195=resolveInstalledEntry(_0x390280,_0x45cdec['npmPackage'])??{'command':_0x150180};return _0x2c140a({'server':_0x105118,'status':'installed','message':'Installed\x20'+_0x45cdec['npmPackage']+'\x20to\x20'+_0x390280},_0x4a9195);}catch(_0x2425e3){return{'server':_0x105118,'status':'failed','message':'npm\x20install\x20failed:\x20'+(_0x2425e3 instanceof Error?_0x2425e3['message']:String(_0x2425e3))};}}if(_0x45cdec['npmPackage']==='mcp'||_0x1ccf81==='python'||_0x1ccf81==='python3')try{const _0x30665d=installDirFor(_0x105118,_0x1bd1c0);fs['mkdirSync'](_0x30665d,{'recursive':!![]});const _0x51364e=_0x3d2409['find'](_0x3c7059=>typeof _0x3c7059==='string'&&_0x3c7059['endsWith']('.py'));if(_0x51364e){const _0x30950f=path['isAbsolute'](_0x51364e)?_0x51364e:path['resolve'](_0xed4a91['cwd']||_0x1bd1c0||'.',_0x51364e);if(!fs['existsSync'](_0x30950f))return{'server':_0x105118,'status':'failed','message':'Server\x20script\x20not\x20found:\x20'+_0x30950f};const _0x13aa1d=(0x0,spawn_resolve_js_1['resolveExecutable'])('pip')??(0x0,spawn_resolve_js_1['resolveExecutable'])('pip3')??(0x0,spawn_resolve_js_1['resolveExecutable'])('python')??(0x0,spawn_resolve_js_1['resolveExecutable'])('python3');if(!_0x13aa1d)return{'server':_0x105118,'status':'failed','message':'Neither\x20pip\x20nor\x20python\x20was\x20found\x20on\x20PATH.\x20Install\x20Python\x20(https://www.python.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`pip\x20--version`\x20works,\x20then\x20retry.'};return/pip3?$/['test'](path['basename'](_0x13aa1d,path['extname'](_0x13aa1d)))?await execAsync(_0x13aa1d,['install','mcp'],_0x1bd1c0||_0x30665d):await execAsync(_0x13aa1d,['-m','pip','install','mcp'],_0x1bd1c0||_0x30665d),_0x2c140a({'server':_0x105118,'status':'installed','message':'Python\x20MCP\x20server\x20ready\x20at\x20'+_0x30950f},{'command':[_0x1ccf81,_0x30950f],'cwd':path['dirname'](_0x30950f)});}return{'server':_0x105118,'status':'skipped','message':'No\x20Python\x20script\x20path\x20found\x20in\x20server\x20spec.'};}catch(_0x19cd32){return{'server':_0x105118,'status':'failed','message':'Python\x20setup\x20failed:\x20'+(_0x19cd32 instanceof Error?_0x19cd32['message']:String(_0x19cd32))};}return{'server':_0x105118,'status':'skipped','message':'Unknown\x20server\x20type\x20for\x20\x27'+_0x105118+'\x27.\x20Configure\x20manually\x20in\x20trayambak\x20config.'};}function resolveInstalledEntry(_0x3a2691,_0x36d01a){const _0x325028=path['join'](_0x3a2691,'node_modules',_0x36d01a);for(const _0x506767 of['dist/index.js','dist/index.cjs','index.js','lib/index.js']){const _0x43191d=path['join'](_0x325028,_0x506767);try{if(fs['existsSync'](_0x43191d)&&fs['statSync'](_0x43191d)['isFile']())return{'command':['node',_0x43191d]};}catch{}}return undefined;}function createMcpInstallTool(){const _0x26a0eb={'timeoutMs':0x493e0,'name':'mcp__install','description':'Install\x20and\x20manage\x20MCP\x20(Model\x20Context\x20Protocol)\x20servers.\x20Use\x20/mcp\x20search\x20to\x20find\x20servers,\x20/mcp\x20install\x20<id>\x20to\x20install,\x20/mcp\x20list\x20to\x20see\x20available.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','enum':['search','install','list','info'],'description':'Action:\x20search\x20(find\x20servers),\x20install\x20(install\x20a\x20server),\x20list\x20(all\x20available),\x20info\x20(details\x20for\x20one\x20server).'},'query':{'type':'string','description':'Search\x20query\x20for\x20search\x20action,\x20or\x20server\x20ID\x20for\x20info/install.'}}}};return{'definition':_0x26a0eb,async 'execute'(_0x2ae6e8,_0x3e1a8c,_0x2f173a,_0x3db7fa,_0x446e42){const _0x4654ab=_0x3e1a8c['action']??'list',_0x32a7c9=_0x3e1a8c['query']??'';if(_0x4654ab==='list'){const _0x2213d1=listAvailableMcpServers(),_0x449b8f=_0x2213d1['map'](_0xb02f3c=>'\x20\x20'+_0xb02f3c['id']+':\x20'+_0xb02f3c['description']+'\x20['+_0xb02f3c['category']+']');return(0x0,types_js_1['textResult'])('Available\x20MCP\x20servers\x20('+_0x2213d1['length']+'):\x0a'+_0x449b8f['join']('\x0a'));}if(_0x4654ab==='search'){const _0x47fa23=searchMcpServers(_0x32a7c9||'mcp');if(_0x47fa23['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20MCP\x20servers\x20found\x20for\x20\x27'+_0x32a7c9+'\x27.');const _0x4eb9d4=_0x47fa23['map'](_0x23aa7f=>'\x20\x20'+_0x23aa7f['id']+':\x20'+_0x23aa7f['description']+'\x20['+_0x23aa7f['category']+']');return(0x0,types_js_1['textResult'])('Found\x20'+_0x47fa23['length']+'\x20MCP\x20servers:\x0a'+_0x4eb9d4['join']('\x0a'));}if(_0x4654ab==='info'){const _0x4b8a52=(0x0,registry_js_1['getConnectorRegistry'])()['get'](_0x32a7c9);if(!_0x4b8a52)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x32a7c9+'\x27\x20not\x20found.\x20Use\x20/mcp\x20search\x20to\x20find\x20servers.',!![]);const _0x28b467=['ID:\x20'+_0x4b8a52['id'],'Name:\x20'+_0x4b8a52['name'],'Description:\x20'+_0x4b8a52['description'],'Category:\x20'+_0x4b8a52['category'],'Keywords:\x20'+(_0x4b8a52['keywords']??[])['join'](',\x20'),'Spec:\x20'+JSON['stringify'](_0x4b8a52['spec'],null,0x2),_0x4b8a52['npmPackage']?'NPM\x20Package:\x20'+_0x4b8a52['npmPackage']:'']['filter'](Boolean);return(0x0,types_js_1['textResult'])(_0x28b467['join']('\x0a'));}if(_0x4654ab==='install'){const _0x3fe84f=await installMcpServer(_0x32a7c9,_0x446e42?.['cwd'],_0x446e42?.['config']);if(_0x3fe84f['status']==='failed')return(0x0,types_js_1['textResult'])(_0x3fe84f['message'],!![]);return(0x0,types_js_1['textResult'])(_0x3fe84f['message']);}return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20'+_0x4654ab+'.\x20Use\x20search,\x20install,\x20list,\x20or\x20info.',!![]);}};}function execAsync(_0x4c9321,_0x1b6324,_0x5a8828,_0x2a281e=0x2bf20){return new Promise((_0x855d66,_0x3d3c7e)=>{const _0x181cf8=(0x0,child_process_1['spawn'])(_0x4c9321,_0x1b6324,{'cwd':_0x5a8828,'stdio':['ignore','pipe','pipe'],'shell':![],'windowsHide':!![]});let _0x3020a8='',_0x392d9f='';const _0xe83d7d=setTimeout(()=>{try{_0x181cf8['kill']('SIGKILL');}catch{}_0x3d3c7e(new Error('Command\x20timed\x20out\x20after\x20'+_0x2a281e+'ms:\x20'+_0x4c9321+'\x20'+_0x1b6324['join']('\x20')));},_0x2a281e);if(typeof _0xe83d7d['unref']==='function')_0xe83d7d['unref']();_0x181cf8['stdout']['on']('data',_0xbbb3ac=>{_0x3020a8+=_0xbbb3ac['toString']();}),_0x181cf8['stderr']['on']('data',_0x3c16a2=>{_0x392d9f+=_0x3c16a2['toString']();}),_0x181cf8['on']('close',_0x441251=>{clearTimeout(_0xe83d7d);if(_0x441251===0x0)_0x855d66();else _0x3d3c7e(new Error('Command\x20failed\x20('+_0x441251+'):\x20'+(_0x392d9f||_0x3020a8)['slice'](-0x7d0)));}),_0x181cf8['on']('error',_0x465e10=>{clearTimeout(_0xe83d7d),_0x3d3c7e(_0x465e10);});});}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x588a9c,_0x3132d0,_0x38fa08,_0x306f54){if(_0x306f54===undefined)_0x306f54=_0x38fa08;var _0xd00c6b=Object['getOwnPropertyDescriptor'](_0x3132d0,_0x38fa08);(!_0xd00c6b||('get'in _0xd00c6b?!_0x3132d0['__esModule']:_0xd00c6b['writable']||_0xd00c6b['configurable']))&&(_0xd00c6b={'enumerable':!![],'get':function(){return _0x3132d0[_0x38fa08];}}),Object['defineProperty'](_0x588a9c,_0x306f54,_0xd00c6b);}:function(_0x53efd1,_0x8e632a,_0xc02105,_0x5ce65c){if(_0x5ce65c===undefined)_0x5ce65c=_0xc02105;_0x53efd1[_0x5ce65c]=_0x8e632a[_0xc02105];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x540912,_0x4e86e8){Object['defineProperty'](_0x540912,'default',{'enumerable':!![],'value':_0x4e86e8});}:function(_0x2d322,_0xfa241){_0x2d322['default']=_0xfa241;}),__importStar=this&&this['__importStar']||(function(){var _0x28aa14=function(_0x18519a){return _0x28aa14=Object['getOwnPropertyNames']||function(_0x1f9828){var _0x185428=[];for(var _0x3c0205 in _0x1f9828)if(Object['prototype']['hasOwnProperty']['call'](_0x1f9828,_0x3c0205))_0x185428[_0x185428['length']]=_0x3c0205;return _0x185428;},_0x28aa14(_0x18519a);};return function(_0x43d695){if(_0x43d695&&_0x43d695['__esModule'])return _0x43d695;var _0x30f2c9={};if(_0x43d695!=null){for(var _0xcc5890=_0x28aa14(_0x43d695),_0x2b03c3=0x0;_0x2b03c3<_0xcc5890['length'];_0x2b03c3++)if(_0xcc5890[_0x2b03c3]!=='default')__createBinding(_0x30f2c9,_0x43d695,_0xcc5890[_0x2b03c3]);}return __setModuleDefault(_0x30f2c9,_0x43d695),_0x30f2c9;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpmCliJs']=exports['resolveExecutable']=exports['canSpawnDirectly']=void 0x0,exports['listAvailableMcpServers']=listAvailableMcpServers,exports['searchMcpServers']=searchMcpServers,exports['installMcpServer']=installMcpServer,exports['resolveInstalledEntry']=resolveInstalledEntry,exports['createMcpInstallTool']=createMcpInstallTool,exports['execAsync']=execAsync;const child_process_1=require('child_process'),fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),registry_js_1=require('./registry.js'),config_js_1=require('../../../src/config.js'),spawn_resolve_js_1=require('../../../../../packages/mcp/src/spawn-resolve.js');var spawn_resolve_js_2=require('../../../../../packages/mcp/src/spawn-resolve.js');Object['defineProperty'](exports,'canSpawnDirectly',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['canSpawnDirectly'];}}),Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}});function installDirFor(_0x4ce374,_0x158a88){return path['join'](_0x158a88??process['cwd'](),'.trayambak','mcp-installs',_0x4ce374);}function listAvailableMcpServers(){return(0x0,registry_js_1['getConnectorRegistry'])()['load']();}function searchMcpServers(_0x171f65){return(0x0,registry_js_1['getConnectorRegistry'])()['search'](_0x171f65);}async function installMcpServer(_0x2d33ca,_0x8a93cf,_0x179131){const _0x240fee=(0x0,registry_js_1['getConnectorRegistry'])(),_0x466b77=_0x240fee['get'](_0x2d33ca);if(!_0x466b77)return{'server':_0x2d33ca,'status':'failed','message':'MCP\x20server\x20\x27'+_0x2d33ca+'\x27\x20not\x20found\x20in\x20registry.\x20Use\x20/mcp\x20search\x20to\x20find\x20available\x20servers.'};const _0x52c4c9=_0x466b77['spec'],_0x146281=Array['isArray'](_0x52c4c9['command'])?_0x52c4c9['command']:[],_0x285147=_0x146281[0x0],_0x35a3da=_0x146281['slice'](0x1),_0x48393c=(_0x245209,_0x24c471)=>{if(_0x245209['status']!=='installed'||!_0x179131)return _0x245209;try{const _0x1bd0ce={..._0x179131['mcpServers']??{}};return _0x1bd0ce[_0x2d33ca]=_0x24c471??_0x52c4c9,(0x0,config_js_1['saveConfig'])({'mcpServers':_0x1bd0ce}),{..._0x245209,'message':_0x245209['message']+'\x0aMCP\x20server\x20\x27'+_0x2d33ca+'\x27\x20saved\x20to\x20trayambak\x20config.'};}catch{return _0x245209;}};if(_0x466b77['npmPackage']&&_0x146281[0x0]==='npx'){const _0x3ffa88=(0x0,spawn_resolve_js_1['resolveNpmCliJs'])(),_0x2d6835=_0x3ffa88?undefined:(0x0,spawn_resolve_js_1['resolveExecutable'])('npm'),_0x2cac64=_0x2d6835&&(0x0,spawn_resolve_js_1['canSpawnDirectly'])(_0x2d6835)?_0x2d6835:undefined;if(!_0x3ffa88&&!_0x2cac64){const _0x3b0992=(0x0,spawn_resolve_js_1['resolveExecutable'])('npm');return{'server':_0x2d33ca,'status':'failed','message':_0x3b0992?'npm\x20was\x20found\x20at\x20'+_0x3b0992+'\x20but\x20cannot\x20be\x20launched\x20without\x20a\x20shell\x20(only\x20a\x20Windows\x20.cmd\x20shim\x20was\x20resolved).\x20Reinstall\x20Node.js\x20(https://nodejs.org)\x20so\x20node_modules/npm\x20is\x20present,\x20then\x20retry.':'npm\x20was\x20not\x20found\x20on\x20PATH.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npm\x20--version`\x20works,\x20then\x20retry.'};}try{const _0x49ddf8=installDirFor(_0x2d33ca,_0x8a93cf);fs['mkdirSync'](_0x49ddf8,{'recursive':!![]});const _0x513ac4=_0x3ffa88?process['execPath']:_0x2cac64,_0xf017df=_0x3ffa88?[_0x3ffa88,'install','--prefix',_0x49ddf8,_0x466b77['npmPackage']]:['install','--prefix',_0x49ddf8,_0x466b77['npmPackage']];await execAsync(_0x513ac4,_0xf017df,_0x8a93cf||_0x49ddf8);const _0x55bf72=resolveInstalledEntry(_0x49ddf8,_0x466b77['npmPackage'])??{'command':_0x146281};return _0x48393c({'server':_0x2d33ca,'status':'installed','message':'Installed\x20'+_0x466b77['npmPackage']+'\x20to\x20'+_0x49ddf8},_0x55bf72);}catch(_0x29ffa3){return{'server':_0x2d33ca,'status':'failed','message':'npm\x20install\x20failed:\x20'+(_0x29ffa3 instanceof Error?_0x29ffa3['message']:String(_0x29ffa3))};}}if(_0x466b77['npmPackage']==='mcp'||_0x285147==='python'||_0x285147==='python3')try{const _0x206686=installDirFor(_0x2d33ca,_0x8a93cf);fs['mkdirSync'](_0x206686,{'recursive':!![]});const _0x466cd8=_0x35a3da['find'](_0x58db32=>typeof _0x58db32==='string'&&_0x58db32['endsWith']('.py'));if(_0x466cd8){const _0x5553fe=path['isAbsolute'](_0x466cd8)?_0x466cd8:path['resolve'](_0x52c4c9['cwd']||_0x8a93cf||'.',_0x466cd8);if(!fs['existsSync'](_0x5553fe))return{'server':_0x2d33ca,'status':'failed','message':'Server\x20script\x20not\x20found:\x20'+_0x5553fe};const _0x255ba2=(0x0,spawn_resolve_js_1['resolveExecutable'])('pip')??(0x0,spawn_resolve_js_1['resolveExecutable'])('pip3')??(0x0,spawn_resolve_js_1['resolveExecutable'])('python')??(0x0,spawn_resolve_js_1['resolveExecutable'])('python3');if(!_0x255ba2)return{'server':_0x2d33ca,'status':'failed','message':'Neither\x20pip\x20nor\x20python\x20was\x20found\x20on\x20PATH.\x20Install\x20Python\x20(https://www.python.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`pip\x20--version`\x20works,\x20then\x20retry.'};return/pip3?$/['test'](path['basename'](_0x255ba2,path['extname'](_0x255ba2)))?await execAsync(_0x255ba2,['install','mcp'],_0x8a93cf||_0x206686):await execAsync(_0x255ba2,['-m','pip','install','mcp'],_0x8a93cf||_0x206686),_0x48393c({'server':_0x2d33ca,'status':'installed','message':'Python\x20MCP\x20server\x20ready\x20at\x20'+_0x5553fe},{'command':[_0x285147,_0x5553fe],'cwd':path['dirname'](_0x5553fe)});}return{'server':_0x2d33ca,'status':'skipped','message':'No\x20Python\x20script\x20path\x20found\x20in\x20server\x20spec.'};}catch(_0x231f86){return{'server':_0x2d33ca,'status':'failed','message':'Python\x20setup\x20failed:\x20'+(_0x231f86 instanceof Error?_0x231f86['message']:String(_0x231f86))};}return{'server':_0x2d33ca,'status':'skipped','message':'Unknown\x20server\x20type\x20for\x20\x27'+_0x2d33ca+'\x27.\x20Configure\x20manually\x20in\x20trayambak\x20config.'};}function resolveInstalledEntry(_0x125975,_0x107cfa){const _0x4b3374=path['join'](_0x125975,'node_modules',_0x107cfa);for(const _0x2ecd90 of['dist/index.js','dist/index.cjs','index.js','lib/index.js']){const _0x2d864b=path['join'](_0x4b3374,_0x2ecd90);try{if(fs['existsSync'](_0x2d864b)&&fs['statSync'](_0x2d864b)['isFile']())return{'command':['node',_0x2d864b]};}catch{}}return undefined;}function createMcpInstallTool(){const _0x9fcb90={'timeoutMs':0x493e0,'name':'mcp__install','description':'Install\x20and\x20manage\x20MCP\x20(Model\x20Context\x20Protocol)\x20servers.\x20Use\x20/mcp\x20search\x20to\x20find\x20servers,\x20/mcp\x20install\x20<id>\x20to\x20install,\x20/mcp\x20list\x20to\x20see\x20available.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','enum':['search','install','list','info'],'description':'Action:\x20search\x20(find\x20servers),\x20install\x20(install\x20a\x20server),\x20list\x20(all\x20available),\x20info\x20(details\x20for\x20one\x20server).'},'query':{'type':'string','description':'Search\x20query\x20for\x20search\x20action,\x20or\x20server\x20ID\x20for\x20info/install.'}}}};return{'definition':_0x9fcb90,async 'execute'(_0x24d345,_0x57901b,_0x3ad4d0,_0x4a050a,_0x1b305a){const _0x4b811e=_0x57901b['action']??'list',_0x247174=_0x57901b['query']??'';if(_0x4b811e==='list'){const _0xf71250=listAvailableMcpServers(),_0x22a9db=_0xf71250['map'](_0x17b0e9=>'\x20\x20'+_0x17b0e9['id']+':\x20'+_0x17b0e9['description']+'\x20['+_0x17b0e9['category']+']');return(0x0,types_js_1['textResult'])('Available\x20MCP\x20servers\x20('+_0xf71250['length']+'):\x0a'+_0x22a9db['join']('\x0a'));}if(_0x4b811e==='search'){const _0x3dd5db=searchMcpServers(_0x247174||'mcp');if(_0x3dd5db['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20MCP\x20servers\x20found\x20for\x20\x27'+_0x247174+'\x27.');const _0x418f0b=_0x3dd5db['map'](_0x23c5c8=>'\x20\x20'+_0x23c5c8['id']+':\x20'+_0x23c5c8['description']+'\x20['+_0x23c5c8['category']+']');return(0x0,types_js_1['textResult'])('Found\x20'+_0x3dd5db['length']+'\x20MCP\x20servers:\x0a'+_0x418f0b['join']('\x0a'));}if(_0x4b811e==='info'){const _0x296f78=(0x0,registry_js_1['getConnectorRegistry'])()['get'](_0x247174);if(!_0x296f78)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x247174+'\x27\x20not\x20found.\x20Use\x20/mcp\x20search\x20to\x20find\x20servers.',!![]);const _0x3950fb=['ID:\x20'+_0x296f78['id'],'Name:\x20'+_0x296f78['name'],'Description:\x20'+_0x296f78['description'],'Category:\x20'+_0x296f78['category'],'Keywords:\x20'+(_0x296f78['keywords']??[])['join'](',\x20'),'Spec:\x20'+JSON['stringify'](_0x296f78['spec'],null,0x2),_0x296f78['npmPackage']?'NPM\x20Package:\x20'+_0x296f78['npmPackage']:'']['filter'](Boolean);return(0x0,types_js_1['textResult'])(_0x3950fb['join']('\x0a'));}if(_0x4b811e==='install'){const _0x211b45=await installMcpServer(_0x247174,_0x1b305a?.['cwd'],_0x1b305a?.['config']);if(_0x211b45['status']==='failed')return(0x0,types_js_1['textResult'])(_0x211b45['message'],!![]);return(0x0,types_js_1['textResult'])(_0x211b45['message']);}return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20'+_0x4b811e+'.\x20Use\x20search,\x20install,\x20list,\x20or\x20info.',!![]);}};}function execAsync(_0x338e9d,_0x1865d7,_0x26a715,_0x34c6c0=0x2bf20){return new Promise((_0x32adf3,_0x290528)=>{const _0x1ef3ae=(0x0,child_process_1['spawn'])(_0x338e9d,_0x1865d7,{'cwd':_0x26a715,'stdio':['ignore','pipe','pipe'],'shell':![],'windowsHide':!![]});let _0x2073ae='',_0x3b63ef='';const _0x404ee9=setTimeout(()=>{try{_0x1ef3ae['kill']('SIGKILL');}catch{}_0x290528(new Error('Command\x20timed\x20out\x20after\x20'+_0x34c6c0+'ms:\x20'+_0x338e9d+'\x20'+_0x1865d7['join']('\x20')));},_0x34c6c0);if(typeof _0x404ee9['unref']==='function')_0x404ee9['unref']();_0x1ef3ae['stdout']['on']('data',_0x42a49f=>{_0x2073ae+=_0x42a49f['toString']();}),_0x1ef3ae['stderr']['on']('data',_0x2aa4da=>{_0x3b63ef+=_0x2aa4da['toString']();}),_0x1ef3ae['on']('close',_0x2e877b=>{clearTimeout(_0x404ee9);if(_0x2e877b===0x0)_0x32adf3();else _0x290528(new Error('Command\x20failed\x20('+_0x2e877b+'):\x20'+(_0x3b63ef||_0x2073ae)['slice'](-0x7d0)));}),_0x1ef3ae['on']('error',_0x5709e4=>{clearTimeout(_0x404ee9),_0x290528(_0x5709e4);});});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3ce01b,_0x28f1e1,_0x1fd60e,_0x316650){if(_0x316650===undefined)_0x316650=_0x1fd60e;var _0xddddcb=Object['getOwnPropertyDescriptor'](_0x28f1e1,_0x1fd60e);(!_0xddddcb||('get'in _0xddddcb?!_0x28f1e1['__esModule']:_0xddddcb['writable']||_0xddddcb['configurable']))&&(_0xddddcb={'enumerable':!![],'get':function(){return _0x28f1e1[_0x1fd60e];}}),Object['defineProperty'](_0x3ce01b,_0x316650,_0xddddcb);}:function(_0x414ed6,_0x230685,_0xd30285,_0x5bf70f){if(_0x5bf70f===undefined)_0x5bf70f=_0xd30285;_0x414ed6[_0x5bf70f]=_0x230685[_0xd30285];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x34d624,_0x3b47ca){Object['defineProperty'](_0x34d624,'default',{'enumerable':!![],'value':_0x3b47ca});}:function(_0x29a2bb,_0x11c0fd){_0x29a2bb['default']=_0x11c0fd;}),__importStar=this&&this['__importStar']||(function(){var _0x39b438=function(_0x225930){return _0x39b438=Object['getOwnPropertyNames']||function(_0x4530db){var _0x196b9d=[];for(var _0x4f55d8 in _0x4530db)if(Object['prototype']['hasOwnProperty']['call'](_0x4530db,_0x4f55d8))_0x196b9d[_0x196b9d['length']]=_0x4f55d8;return _0x196b9d;},_0x39b438(_0x225930);};return function(_0x5bc6a8){if(_0x5bc6a8&&_0x5bc6a8['__esModule'])return _0x5bc6a8;var _0x13c812={};if(_0x5bc6a8!=null){for(var _0x359ec4=_0x39b438(_0x5bc6a8),_0x5195e7=0x0;_0x5195e7<_0x359ec4['length'];_0x5195e7++)if(_0x359ec4[_0x5195e7]!=='default')__createBinding(_0x13c812,_0x5bc6a8,_0x359ec4[_0x5195e7]);}return __setModuleDefault(_0x13c812,_0x5bc6a8),_0x13c812;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpProcess']=void 0x0,exports['getMcpProcess']=getMcpProcess,exports['createMcpRunnerTool']=createMcpRunnerTool;const child_process_1=require('child_process'),readline=__importStar(require('readline')),registry_js_1=require('./registry.js'),spawn_resolve_js_1=require('../../../../../packages/mcp/src/spawn-resolve.js'),types_js_1=require('../types.js'),env_filter_js_1=require('../../../../../packages/core/src/env_filter.js');class McpProcess{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['stderrLines']=[];['lastError']='';constructor(_0x37ee98,_0x176254){this['name']=_0x37ee98,this['spec']=_0x176254;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}async['connect'](){if(this['initialized'])return;const _0x58ce44={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spawnStdio'](),await this['request']('initialize',_0x58ce44);if(this['child'])try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':'notifications/initialized','params':{}})+'\x0a');}catch{}this['initialized']=!![];}async['listTools'](){await this['connect']();const _0x3c0739=await this['request']('tools/list',{});return _0x3c0739?.['tools']??[];}async['listResources'](){await this['connect']();try{const _0x4f4a77=await this['request']('resources/list',{});return _0x4f4a77?.['resources']??[];}catch{return[];}}async['listPrompts'](){await this['connect']();try{const _0x2bc0dd=await this['request']('prompts/list',{});return _0x2bc0dd?.['prompts']??[];}catch{return[];}}async['status'](){const _0x20d982=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'];let _0x2ad5e6='disconnected';if(_0x20d982)_0x2ad5e6='stdio';return{'name':this['name'],'connected':_0x20d982,'transport':_0x2ad5e6,'initialized':this['initialized']&&_0x20d982};}async['getPrompt'](_0x47d6f3,_0x5313aa){await this['connect']();try{const _0x1de5fc=await this['request']('prompts/get',{'name':_0x47d6f3,'arguments':_0x5313aa??{}}),_0x25f980=_0x1de5fc?.['messages']??_0x1de5fc?.['prompt']?.['messages'];if(!_0x25f980)return null;return{'name':_0x47d6f3,'messages':_0x25f980};}catch{return null;}}async['readResource'](_0x4b4a43){await this['connect']();try{const _0x2a465b=await this['request']('resources/read',{'uri':_0x4b4a43});if(_0x2a465b?.['contents'])return _0x2a465b['contents']['map'](_0x4eabfa=>typeof _0x4eabfa['text']==='string'?_0x4eabfa['text']:typeof _0x4eabfa['blob']==='string'?'[binary\x20'+(_0x4eabfa['mimeType']??'blob')+']':JSON['stringify'](_0x4eabfa))['join']('\x0a');return'';}catch{return'';}}async['callTool'](_0x18586f,_0x59a722){return await this['connect'](),this['request']('tools/call',{'name':_0x18586f,'arguments':_0x59a722});}['close'](){const _0x1d106b=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x1d106b&&_0x1d106b['exitCode']===null&&!_0x1d106b['killed']){_0x1d106b['kill']('SIGTERM');const _0x30ce1b=setTimeout(()=>{try{if(_0x1d106b['exitCode']===null)_0x1d106b['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x30ce1b['unref']==='function')_0x30ce1b['unref']();}}['getStderrLines'](){return this['stderrLines'];}['spawnStdio'](){const _0x37f4b8=this['spec'],_0x4c109f=_0x37f4b8['command']??[];if(_0x4c109f['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command');const {command:_0x4565de,args:_0x3dac42}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x4c109f);this['child']=(0x0,child_process_1['spawn'])(_0x4565de,_0x3dac42,{'cwd':_0x37f4b8['cwd']??process['cwd'](),'env':{...(0x0,env_filter_js_1['getSafeEnv'])(process.env),..._0x37f4b8['env']??{}},'stdio':['pipe','pipe','pipe'],'shell':![],'windowsHide':!![]}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x521b1b=>{try{const _0x16754d=JSON['parse'](_0x521b1b);if(_0x16754d['id']===undefined)return;const _0x263e9a=this['pending']['get'](_0x16754d['id']);if(!_0x263e9a)return;this['pending']['delete'](_0x16754d['id']);const _0x463150=_0x16754d;if(_0x463150['error'])_0x263e9a['reject'](new Error('MCP\x20'+this['name']+':\x20'+_0x463150['error']['message']));else _0x263e9a['resolve'](_0x463150['result']);}catch{}}),this['child']['stderr']&&this['child']['stderr']['on']('data',_0x3038f4=>{const _0x21a4db=_0x3038f4['toString']();for(const _0x2003e3 of _0x21a4db['split'](/\r?\n/)){const _0x23d22b=_0x2003e3['trim']()['slice'](-0x1f4);if(_0x23d22b)this['stderrLines']['push'](_0x23d22b);}this['stderrLines']['length']>0x32&&this['stderrLines']['splice'](0x0,this['stderrLines']['length']-0x32);}),this['child']['on']('error',_0x40d82d=>this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x40d82d['message']))),this['child']['on']('exit',_0x3eaecf=>{const _0x68dfba=this['stderrLines']['slice'](-0x5)['join']('\x20|\x20')['slice'](0x0,0x1f4);this['lastError']='exited\x20with\x20code\x20'+(_0x3eaecf??'signal'),this['child']=null,this['initialized']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x3eaecf??'signal')+'.'+(_0x68dfba?'\x20Server\x20stderr:\x20'+_0x68dfba:'')));});}['request'](_0x2b1a8c,_0x398280){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');const _0x4e533e=this['nextId']++;return new Promise((_0x1710aa,_0x53b61c)=>{const _0x5c3d21=setTimeout(()=>{this['pending']['delete'](_0x4e533e),_0x53b61c(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x2b1a8c+'\x27'));},this['timeoutMs']);this['pending']['set'](_0x4e533e,{'resolve':_0x10f917=>{clearTimeout(_0x5c3d21),_0x1710aa(_0x10f917);},'reject':_0x2f63df=>{clearTimeout(_0x5c3d21),_0x53b61c(_0x2f63df);}});const _0x11e2cb={'jsonrpc':'2.0','id':_0x4e533e,'method':_0x2b1a8c,'params':_0x398280};this['child']['stdin']['write'](JSON['stringify'](_0x11e2cb)+'\x0a');});}['rejectAll'](_0x4daff9){for(const [,_0x5cf5f6]of this['pending'])_0x5cf5f6['reject'](_0x4daff9);this['pending']['clear']();}}exports['McpProcess']=McpProcess;const mcpProcesses=new Map();function getMcpProcess(_0x24dc93,_0x363146){let _0x518f16=mcpProcesses['get'](_0x24dc93);return _0x518f16&&JSON['stringify'](_0x518f16['spec'])!==JSON['stringify'](_0x363146)&&(_0x518f16['close'](),mcpProcesses['delete'](_0x24dc93),_0x518f16=undefined),!_0x518f16&&(_0x518f16=new McpProcess(_0x24dc93,_0x363146),mcpProcesses['set'](_0x24dc93,_0x518f16)),_0x518f16;}function createMcpRunnerTool(){const _0x587e56={'timeoutMs':0x7530,'name':'trayambak__run_mcp','description':'Run\x20an\x20installed\x20MCP\x20server,\x20list\x20its\x20tools,\x20resources,\x20and\x20prompts,\x20and\x20invoke\x20them.\x20Use\x20this\x20to\x20run\x20and\x20think\x20with\x20MCP\x20servers.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','enum':['list_tools','call_tool','connect','disconnect','status','list_resources','list_prompts','get_prompt','read_resource'],'description':'Action:\x20list_tools\x20(list\x20tools),\x20call_tool\x20(invoke),\x20connect\x20(start),\x20disconnect\x20(stop),\x20status\x20(health),\x20list_resources\x20(list\x20resources),\x20list_prompts\x20(list\x20prompts),\x20get_prompt\x20(get\x20prompt),\x20read_resource\x20(read\x20resource).'},'server':{'type':'string','description':'MCP\x20server\x20ID\x20(e.g.\x20sequential-thinking,\x20github,\x20filesystem).'},'tool':{'type':'string','description':'Tool\x20name\x20to\x20invoke\x20(for\x20call_tool\x20action).'},'args':{'type':'object','description':'Arguments\x20to\x20pass\x20to\x20the\x20tool\x20(for\x20call_tool\x20action).'},'uri':{'type':'string','description':'Resource\x20URI\x20(for\x20read_resource\x20action).'},'name':{'type':'string','description':'Prompt\x20or\x20resource\x20name\x20(for\x20get_prompt\x20/\x20list_prompts\x20actions).'}}}};return{'definition':_0x587e56,async 'execute'(_0xe7750c,_0x519db4,_0x512fe6,_0x1f317a){const _0x3b8711=_0x519db4['action'],_0x1094b1=_0x519db4['server'];if(_0x3b8711==='list_tools'||_0x3b8711==='connect'||_0x3b8711==='status'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x3c6d40=(0x0,registry_js_1['getConnectorRegistry'])(),_0x5828be=_0x3c6d40['get'](_0x1094b1);if(!_0x5828be)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20not\x20found\x20in\x20registry.\x20Use\x20trayambak__ToolSearch\x20to\x20find\x20servers.',!![]);const _0x260f7b=getMcpProcess(_0x1094b1,_0x5828be['spec']);try{if(_0x3b8711==='connect')return await _0x260f7b['connect'](),(0x0,types_js_1['textResult'])('Connected\x20to\x20MCP\x20server\x20\x27'+_0x1094b1+'\x27.');if(_0x3b8711==='status'){const _0x9a2140=await _0x260f7b['status'](),_0x255e52=['MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20status:','\x20\x20connected:\x20'+_0x9a2140['connected'],'\x20\x20transport:\x20'+_0x9a2140['transport'],'\x20\x20initialized:\x20'+_0x9a2140['initialized']];return(0x0,types_js_1['textResult'])(_0x255e52['join']('\x0a'));}const _0x31e47d=await _0x260f7b['listTools']();if(_0x31e47d['length']===0x0)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20is\x20connected\x20but\x20exposes\x20no\x20tools.');const _0x3540b7=_0x31e47d['map'](_0x2cf13f=>'-\x20'+_0x2cf13f['name']+':\x20'+(_0x2cf13f['description']??'(no\x20description)'));return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20tools:\x0a'+_0x3540b7['join']('\x0a'));}catch(_0x552b98){const _0x515e80=_0x260f7b['getStderrLines']()['slice'](-0x5)['join']('\x0a'),_0x75bd7c=_0x552b98 instanceof Error?_0x552b98['message']:String(_0x552b98);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x1094b1+':\x20'+_0x75bd7c+(_0x515e80?'\x0aServer\x20stderr:\x0a'+_0x515e80:''),!![]);}}if(_0x3b8711==='call_tool'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x42a978=_0x519db4['tool'],_0x309909=_0x519db4['args']??{};if(!_0x42a978)return(0x0,types_js_1['textResult'])('Missing\x20\x27tool\x27\x20parameter.',!![]);const _0x4b021c=(0x0,registry_js_1['getConnectorRegistry'])(),_0x5352e1=_0x4b021c['get'](_0x1094b1);if(!_0x5352e1)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x41d24c=getMcpProcess(_0x1094b1,_0x5352e1['spec']);try{const _0x3f3ec5=await _0x41d24c['callTool'](_0x42a978,_0x309909),_0x4c31ce=(_0x3f3ec5['content']??[])['map'](_0x348d56=>_0x348d56['type']==='text'?_0x348d56['text']:JSON['stringify'](_0x348d56))['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x4c31ce||'(empty\x20MCP\x20result)');}catch(_0x2faeab){const _0x2afcb4=_0x41d24c['getStderrLines']()['slice'](-0x5)['join']('\x0a'),_0x593230=_0x2faeab instanceof Error?_0x2faeab['message']:String(_0x2faeab);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x1094b1+'.'+_0x42a978+':\x20'+_0x593230+(_0x2afcb4?'\x0aServer\x20stderr:\x0a'+_0x2afcb4:''),!![]);}}if(_0x3b8711==='disconnect'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x19186d=mcpProcesses['get'](_0x1094b1);if(!_0x19186d)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20is\x20not\x20running.');return _0x19186d['close'](),mcpProcesses['delete'](_0x1094b1),(0x0,types_js_1['textResult'])('Disconnected\x20MCP\x20server\x20\x27'+_0x1094b1+'\x27.');}if(_0x3b8711==='list_resources'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x1858b1=(0x0,registry_js_1['getConnectorRegistry'])(),_0x51c520=_0x1858b1['get'](_0x1094b1);if(!_0x51c520)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0xb40d67=getMcpProcess(_0x1094b1,_0x51c520['spec']);try{const _0x495399=await _0xb40d67['listResources']();if(_0x495399['length']===0x0)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20exposes\x20no\x20resources.');const _0x1f40ad=_0x495399['map'](_0x3c512d=>'-\x20'+_0x3c512d['name']+':\x20'+_0x3c512d['uri']+(_0x3c512d['mimeType']?'\x20('+_0x3c512d['mimeType']+')':''));return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20resources:\x0a'+_0x1f40ad['join']('\x0a'));}catch(_0x261ee2){const _0x5e97e8=_0x261ee2 instanceof Error?_0x261ee2['message']:String(_0x261ee2);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x1094b1+'\x20resources:\x20'+_0x5e97e8,!![]);}}if(_0x3b8711==='list_prompts'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x4d9ea7=(0x0,registry_js_1['getConnectorRegistry'])(),_0x91b989=_0x4d9ea7['get'](_0x1094b1);if(!_0x91b989)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x413501=getMcpProcess(_0x1094b1,_0x91b989['spec']);try{const _0x5c156e=await _0x413501['listPrompts']();if(_0x5c156e['length']===0x0)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20exposes\x20no\x20prompts.');const _0x3a38c7=_0x5c156e['map'](_0x428a55=>'-\x20'+_0x428a55['name']+':\x20'+(_0x428a55['description']??'(no\x20description)'));return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20prompts:\x0a'+_0x3a38c7['join']('\x0a'));}catch(_0x24b0a7){const _0x495d18=_0x24b0a7 instanceof Error?_0x24b0a7['message']:String(_0x24b0a7);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x1094b1+'\x20prompts:\x20'+_0x495d18,!![]);}}if(_0x3b8711==='get_prompt'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x26090b=_0x519db4['name'];if(!_0x26090b)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27\x20parameter.',!![]);const _0x4fa0bc=(0x0,registry_js_1['getConnectorRegistry'])(),_0x3f6784=_0x4fa0bc['get'](_0x1094b1);if(!_0x3f6784)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x1c9001=getMcpProcess(_0x1094b1,_0x3f6784['spec']);try{const _0x4dc0ec=typeof _0x519db4['args']==='object'&&_0x519db4['args']!==null?_0x519db4['args']:undefined,_0x4fc678=await _0x1c9001['getPrompt'](_0x26090b,_0x4dc0ec);if(!_0x4fc678)return(0x0,types_js_1['textResult'])('Prompt\x20\x27'+_0x26090b+'\x27\x20not\x20found\x20on\x20server\x20\x27'+_0x1094b1+'\x27.',!![]);const _0x17ab14=_0x4fc678['messages']['map'](_0x567384=>'['+_0x567384['role']+']\x20'+(typeof _0x567384['content']==='string'?_0x567384['content']:JSON['stringify'](_0x567384['content'])))['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x17ab14||'(empty\x20prompt)');}catch(_0xf19820){const _0x1cfed8=_0xf19820 instanceof Error?_0xf19820['message']:String(_0xf19820);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x1094b1+'\x20prompt:\x20'+_0x1cfed8,!![]);}}if(_0x3b8711==='read_resource'){if(!_0x1094b1)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x11be4f=_0x519db4['uri'];if(!_0x11be4f)return(0x0,types_js_1['textResult'])('Missing\x20\x27uri\x27\x20parameter.',!![]);const _0x41db08=(0x0,registry_js_1['getConnectorRegistry'])(),_0xcbf1ac=_0x41db08['get'](_0x1094b1);if(!_0xcbf1ac)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x1094b1+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x5376cf=getMcpProcess(_0x1094b1,_0xcbf1ac['spec']);try{const _0x3a852e=await _0x5376cf['readResource'](_0x11be4f);return(0x0,types_js_1['textResult'])(_0x3a852e||'(empty\x20resource)');}catch(_0x3bafda){const _0x4dea74=_0x3bafda instanceof Error?_0x3bafda['message']:String(_0x3bafda);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x1094b1+'\x20resource\x20read:\x20'+_0x4dea74,!![]);}}return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20'+_0x3b8711+'.',!![]);}};}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x464161,_0x49a62d,_0x54b5f9,_0x3add68){if(_0x3add68===undefined)_0x3add68=_0x54b5f9;var _0x1ee1fc=Object['getOwnPropertyDescriptor'](_0x49a62d,_0x54b5f9);(!_0x1ee1fc||('get'in _0x1ee1fc?!_0x49a62d['__esModule']:_0x1ee1fc['writable']||_0x1ee1fc['configurable']))&&(_0x1ee1fc={'enumerable':!![],'get':function(){return _0x49a62d[_0x54b5f9];}}),Object['defineProperty'](_0x464161,_0x3add68,_0x1ee1fc);}:function(_0xd41cd9,_0x221634,_0x19a526,_0x475b5a){if(_0x475b5a===undefined)_0x475b5a=_0x19a526;_0xd41cd9[_0x475b5a]=_0x221634[_0x19a526];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2cd330,_0x58473a){Object['defineProperty'](_0x2cd330,'default',{'enumerable':!![],'value':_0x58473a});}:function(_0x2fd8a4,_0x43ae81){_0x2fd8a4['default']=_0x43ae81;}),__importStar=this&&this['__importStar']||(function(){var _0x5b5577=function(_0x3081f4){return _0x5b5577=Object['getOwnPropertyNames']||function(_0x44da1d){var _0x6302b6=[];for(var _0xd3428a in _0x44da1d)if(Object['prototype']['hasOwnProperty']['call'](_0x44da1d,_0xd3428a))_0x6302b6[_0x6302b6['length']]=_0xd3428a;return _0x6302b6;},_0x5b5577(_0x3081f4);};return function(_0x2283bf){if(_0x2283bf&&_0x2283bf['__esModule'])return _0x2283bf;var _0x2d80dc={};if(_0x2283bf!=null){for(var _0x8dbf33=_0x5b5577(_0x2283bf),_0x5dc398=0x0;_0x5dc398<_0x8dbf33['length'];_0x5dc398++)if(_0x8dbf33[_0x5dc398]!=='default')__createBinding(_0x2d80dc,_0x2283bf,_0x8dbf33[_0x5dc398]);}return __setModuleDefault(_0x2d80dc,_0x2283bf),_0x2d80dc;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpProcess']=void 0x0,exports['getMcpProcess']=getMcpProcess,exports['createMcpRunnerTool']=createMcpRunnerTool;const child_process_1=require('child_process'),readline=__importStar(require('readline')),registry_js_1=require('./registry.js'),spawn_resolve_js_1=require('../../../../../packages/mcp/src/spawn-resolve.js'),types_js_1=require('../types.js'),env_filter_js_1=require('../../../../../packages/core/src/env_filter.js');class McpProcess{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['stderrLines']=[];['lastError']='';constructor(_0x27f57a,_0x4e6faf){this['name']=_0x27f57a,this['spec']=_0x4e6faf;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}async['connect'](){if(this['initialized'])return;const _0x24c9b0={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spawnStdio'](),await this['request']('initialize',_0x24c9b0);if(this['child'])try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':'notifications/initialized','params':{}})+'\x0a');}catch{}this['initialized']=!![];}async['listTools'](){await this['connect']();const _0x3b3e42=await this['request']('tools/list',{});return _0x3b3e42?.['tools']??[];}async['listResources'](){await this['connect']();try{const _0x528da4=await this['request']('resources/list',{});return _0x528da4?.['resources']??[];}catch{return[];}}async['listPrompts'](){await this['connect']();try{const _0x25d8d2=await this['request']('prompts/list',{});return _0x25d8d2?.['prompts']??[];}catch{return[];}}async['status'](){const _0x584c8d=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'];let _0x5b1260='disconnected';if(_0x584c8d)_0x5b1260='stdio';return{'name':this['name'],'connected':_0x584c8d,'transport':_0x5b1260,'initialized':this['initialized']&&_0x584c8d};}async['getPrompt'](_0x224376,_0x27f97e){await this['connect']();try{const _0x1e66df=await this['request']('prompts/get',{'name':_0x224376,'arguments':_0x27f97e??{}}),_0x3458a2=_0x1e66df?.['messages']??_0x1e66df?.['prompt']?.['messages'];if(!_0x3458a2)return null;return{'name':_0x224376,'messages':_0x3458a2};}catch{return null;}}async['readResource'](_0x97bac2){await this['connect']();try{const _0x2768d9=await this['request']('resources/read',{'uri':_0x97bac2});if(_0x2768d9?.['contents'])return _0x2768d9['contents']['map'](_0x27c807=>typeof _0x27c807['text']==='string'?_0x27c807['text']:typeof _0x27c807['blob']==='string'?'[binary\x20'+(_0x27c807['mimeType']??'blob')+']':JSON['stringify'](_0x27c807))['join']('\x0a');return'';}catch{return'';}}async['callTool'](_0x5accf3,_0x37f629){return await this['connect'](),this['request']('tools/call',{'name':_0x5accf3,'arguments':_0x37f629});}['close'](){const _0x57ad41=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x57ad41&&_0x57ad41['exitCode']===null&&!_0x57ad41['killed']){_0x57ad41['kill']('SIGTERM');const _0x33da7f=setTimeout(()=>{try{if(_0x57ad41['exitCode']===null)_0x57ad41['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x33da7f['unref']==='function')_0x33da7f['unref']();}}['getStderrLines'](){return this['stderrLines'];}['spawnStdio'](){const _0x27dfc7=this['spec'],_0x57a226=_0x27dfc7['command']??[];if(_0x57a226['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command');const {command:_0x32f842,args:_0x46574d}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x57a226);this['child']=(0x0,child_process_1['spawn'])(_0x32f842,_0x46574d,{'cwd':_0x27dfc7['cwd']??process['cwd'](),'env':{...(0x0,env_filter_js_1['getSafeEnv'])(process.env),..._0x27dfc7['env']??{}},'stdio':['pipe','pipe','pipe'],'shell':![],'windowsHide':!![]}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x385789=>{try{const _0x2f861e=JSON['parse'](_0x385789);if(_0x2f861e['id']===undefined)return;const _0x5ab90e=this['pending']['get'](_0x2f861e['id']);if(!_0x5ab90e)return;this['pending']['delete'](_0x2f861e['id']);const _0x53cdbb=_0x2f861e;if(_0x53cdbb['error'])_0x5ab90e['reject'](new Error('MCP\x20'+this['name']+':\x20'+_0x53cdbb['error']['message']));else _0x5ab90e['resolve'](_0x53cdbb['result']);}catch{}}),this['child']['stderr']&&this['child']['stderr']['on']('data',_0x500c0f=>{const _0x492774=_0x500c0f['toString']();for(const _0x1bc1de of _0x492774['split'](/\r?\n/)){const _0x4d52df=_0x1bc1de['trim']()['slice'](-0x1f4);if(_0x4d52df)this['stderrLines']['push'](_0x4d52df);}this['stderrLines']['length']>0x32&&this['stderrLines']['splice'](0x0,this['stderrLines']['length']-0x32);}),this['child']['on']('error',_0x4f02ff=>this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x4f02ff['message']))),this['child']['on']('exit',_0x34c28a=>{const _0x4f34c5=this['stderrLines']['slice'](-0x5)['join']('\x20|\x20')['slice'](0x0,0x1f4);this['lastError']='exited\x20with\x20code\x20'+(_0x34c28a??'signal'),this['child']=null,this['initialized']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x34c28a??'signal')+'.'+(_0x4f34c5?'\x20Server\x20stderr:\x20'+_0x4f34c5:'')));});}['request'](_0xf93be4,_0x2d0214){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');const _0x2eda6a=this['nextId']++;return new Promise((_0x2b4905,_0x197cf0)=>{const _0x414d96=setTimeout(()=>{this['pending']['delete'](_0x2eda6a),_0x197cf0(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0xf93be4+'\x27'));},this['timeoutMs']);this['pending']['set'](_0x2eda6a,{'resolve':_0x28cdea=>{clearTimeout(_0x414d96),_0x2b4905(_0x28cdea);},'reject':_0x328cf5=>{clearTimeout(_0x414d96),_0x197cf0(_0x328cf5);}});const _0x1bab8f={'jsonrpc':'2.0','id':_0x2eda6a,'method':_0xf93be4,'params':_0x2d0214};this['child']['stdin']['write'](JSON['stringify'](_0x1bab8f)+'\x0a');});}['rejectAll'](_0x476ded){for(const [,_0x548303]of this['pending'])_0x548303['reject'](_0x476ded);this['pending']['clear']();}}exports['McpProcess']=McpProcess;const mcpProcesses=new Map();function getMcpProcess(_0x253c98,_0x59b417){let _0x1b83ee=mcpProcesses['get'](_0x253c98);return _0x1b83ee&&JSON['stringify'](_0x1b83ee['spec'])!==JSON['stringify'](_0x59b417)&&(_0x1b83ee['close'](),mcpProcesses['delete'](_0x253c98),_0x1b83ee=undefined),!_0x1b83ee&&(_0x1b83ee=new McpProcess(_0x253c98,_0x59b417),mcpProcesses['set'](_0x253c98,_0x1b83ee)),_0x1b83ee;}function createMcpRunnerTool(){const _0x205bc1={'timeoutMs':0x7530,'name':'trayambak__run_mcp','description':'Run\x20an\x20installed\x20MCP\x20server,\x20list\x20its\x20tools,\x20resources,\x20and\x20prompts,\x20and\x20invoke\x20them.\x20Use\x20this\x20to\x20run\x20and\x20think\x20with\x20MCP\x20servers.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','enum':['list_tools','call_tool','connect','disconnect','status','list_resources','list_prompts','get_prompt','read_resource'],'description':'Action:\x20list_tools\x20(list\x20tools),\x20call_tool\x20(invoke),\x20connect\x20(start),\x20disconnect\x20(stop),\x20status\x20(health),\x20list_resources\x20(list\x20resources),\x20list_prompts\x20(list\x20prompts),\x20get_prompt\x20(get\x20prompt),\x20read_resource\x20(read\x20resource).'},'server':{'type':'string','description':'MCP\x20server\x20ID\x20(e.g.\x20sequential-thinking,\x20github,\x20filesystem).'},'tool':{'type':'string','description':'Tool\x20name\x20to\x20invoke\x20(for\x20call_tool\x20action).'},'args':{'type':'object','description':'Arguments\x20to\x20pass\x20to\x20the\x20tool\x20(for\x20call_tool\x20action).'},'uri':{'type':'string','description':'Resource\x20URI\x20(for\x20read_resource\x20action).'},'name':{'type':'string','description':'Prompt\x20or\x20resource\x20name\x20(for\x20get_prompt\x20/\x20list_prompts\x20actions).'}}}};return{'definition':_0x205bc1,async 'execute'(_0x272f75,_0x23abfd,_0x4c98e4,_0x9147d7){const _0x465165=_0x23abfd['action'],_0x932c7a=_0x23abfd['server'];if(_0x465165==='list_tools'||_0x465165==='connect'||_0x465165==='status'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x46c8fe=(0x0,registry_js_1['getConnectorRegistry'])(),_0x5c118e=_0x46c8fe['get'](_0x932c7a);if(!_0x5c118e)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20not\x20found\x20in\x20registry.\x20Use\x20trayambak__ToolSearch\x20to\x20find\x20servers.',!![]);const _0x248b35=getMcpProcess(_0x932c7a,_0x5c118e['spec']);try{if(_0x465165==='connect')return await _0x248b35['connect'](),(0x0,types_js_1['textResult'])('Connected\x20to\x20MCP\x20server\x20\x27'+_0x932c7a+'\x27.');if(_0x465165==='status'){const _0x23f049=await _0x248b35['status'](),_0x4e6c3b=['MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20status:','\x20\x20connected:\x20'+_0x23f049['connected'],'\x20\x20transport:\x20'+_0x23f049['transport'],'\x20\x20initialized:\x20'+_0x23f049['initialized']];return(0x0,types_js_1['textResult'])(_0x4e6c3b['join']('\x0a'));}const _0x132704=await _0x248b35['listTools']();if(_0x132704['length']===0x0)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20is\x20connected\x20but\x20exposes\x20no\x20tools.');const _0x3d9e12=_0x132704['map'](_0x377725=>'-\x20'+_0x377725['name']+':\x20'+(_0x377725['description']??'(no\x20description)'));return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20tools:\x0a'+_0x3d9e12['join']('\x0a'));}catch(_0x58575d){const _0x3d1f18=_0x248b35['getStderrLines']()['slice'](-0x5)['join']('\x0a'),_0x371e28=_0x58575d instanceof Error?_0x58575d['message']:String(_0x58575d);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x932c7a+':\x20'+_0x371e28+(_0x3d1f18?'\x0aServer\x20stderr:\x0a'+_0x3d1f18:''),!![]);}}if(_0x465165==='call_tool'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x5646f7=_0x23abfd['tool'],_0xa935bb=_0x23abfd['args']??{};if(!_0x5646f7)return(0x0,types_js_1['textResult'])('Missing\x20\x27tool\x27\x20parameter.',!![]);const _0xc7e5a6=(0x0,registry_js_1['getConnectorRegistry'])(),_0x5279ee=_0xc7e5a6['get'](_0x932c7a);if(!_0x5279ee)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x5c725c=getMcpProcess(_0x932c7a,_0x5279ee['spec']);try{const _0x31bb3b=await _0x5c725c['callTool'](_0x5646f7,_0xa935bb),_0x38086b=(_0x31bb3b['content']??[])['map'](_0x4299ea=>_0x4299ea['type']==='text'?_0x4299ea['text']:JSON['stringify'](_0x4299ea))['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x38086b||'(empty\x20MCP\x20result)');}catch(_0x141920){const _0x3849a4=_0x5c725c['getStderrLines']()['slice'](-0x5)['join']('\x0a'),_0xbbbfb3=_0x141920 instanceof Error?_0x141920['message']:String(_0x141920);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x932c7a+'.'+_0x5646f7+':\x20'+_0xbbbfb3+(_0x3849a4?'\x0aServer\x20stderr:\x0a'+_0x3849a4:''),!![]);}}if(_0x465165==='disconnect'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x3d477d=mcpProcesses['get'](_0x932c7a);if(!_0x3d477d)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20is\x20not\x20running.');return _0x3d477d['close'](),mcpProcesses['delete'](_0x932c7a),(0x0,types_js_1['textResult'])('Disconnected\x20MCP\x20server\x20\x27'+_0x932c7a+'\x27.');}if(_0x465165==='list_resources'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x514336=(0x0,registry_js_1['getConnectorRegistry'])(),_0x183c00=_0x514336['get'](_0x932c7a);if(!_0x183c00)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x5bc108=getMcpProcess(_0x932c7a,_0x183c00['spec']);try{const _0x43054f=await _0x5bc108['listResources']();if(_0x43054f['length']===0x0)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20exposes\x20no\x20resources.');const _0x463b0c=_0x43054f['map'](_0x9ffc3c=>'-\x20'+_0x9ffc3c['name']+':\x20'+_0x9ffc3c['uri']+(_0x9ffc3c['mimeType']?'\x20('+_0x9ffc3c['mimeType']+')':''));return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20resources:\x0a'+_0x463b0c['join']('\x0a'));}catch(_0x57fb21){const _0x8d5ae6=_0x57fb21 instanceof Error?_0x57fb21['message']:String(_0x57fb21);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x932c7a+'\x20resources:\x20'+_0x8d5ae6,!![]);}}if(_0x465165==='list_prompts'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x22b561=(0x0,registry_js_1['getConnectorRegistry'])(),_0x55c0ef=_0x22b561['get'](_0x932c7a);if(!_0x55c0ef)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x10571b=getMcpProcess(_0x932c7a,_0x55c0ef['spec']);try{const _0x5dee4e=await _0x10571b['listPrompts']();if(_0x5dee4e['length']===0x0)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20exposes\x20no\x20prompts.');const _0x1eb1c3=_0x5dee4e['map'](_0x34e913=>'-\x20'+_0x34e913['name']+':\x20'+(_0x34e913['description']??'(no\x20description)'));return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20prompts:\x0a'+_0x1eb1c3['join']('\x0a'));}catch(_0xf83b9a){const _0x3de048=_0xf83b9a instanceof Error?_0xf83b9a['message']:String(_0xf83b9a);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x932c7a+'\x20prompts:\x20'+_0x3de048,!![]);}}if(_0x465165==='get_prompt'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x2864ab=_0x23abfd['name'];if(!_0x2864ab)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27\x20parameter.',!![]);const _0x5a102e=(0x0,registry_js_1['getConnectorRegistry'])(),_0xe2a9b1=_0x5a102e['get'](_0x932c7a);if(!_0xe2a9b1)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x156da6=getMcpProcess(_0x932c7a,_0xe2a9b1['spec']);try{const _0x3638d4=typeof _0x23abfd['args']==='object'&&_0x23abfd['args']!==null?_0x23abfd['args']:undefined,_0x45bdfd=await _0x156da6['getPrompt'](_0x2864ab,_0x3638d4);if(!_0x45bdfd)return(0x0,types_js_1['textResult'])('Prompt\x20\x27'+_0x2864ab+'\x27\x20not\x20found\x20on\x20server\x20\x27'+_0x932c7a+'\x27.',!![]);const _0x1010ba=_0x45bdfd['messages']['map'](_0x467b14=>'['+_0x467b14['role']+']\x20'+(typeof _0x467b14['content']==='string'?_0x467b14['content']:JSON['stringify'](_0x467b14['content'])))['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x1010ba||'(empty\x20prompt)');}catch(_0x367693){const _0x59fb3b=_0x367693 instanceof Error?_0x367693['message']:String(_0x367693);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x932c7a+'\x20prompt:\x20'+_0x59fb3b,!![]);}}if(_0x465165==='read_resource'){if(!_0x932c7a)return(0x0,types_js_1['textResult'])('Missing\x20\x27server\x27\x20parameter.',!![]);const _0x838abe=_0x23abfd['uri'];if(!_0x838abe)return(0x0,types_js_1['textResult'])('Missing\x20\x27uri\x27\x20parameter.',!![]);const _0x231c29=(0x0,registry_js_1['getConnectorRegistry'])(),_0x3ad722=_0x231c29['get'](_0x932c7a);if(!_0x3ad722)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x932c7a+'\x27\x20not\x20found\x20in\x20registry.',!![]);const _0x228dd2=getMcpProcess(_0x932c7a,_0x3ad722['spec']);try{const _0x5d6776=await _0x228dd2['readResource'](_0x838abe);return(0x0,types_js_1['textResult'])(_0x5d6776||'(empty\x20resource)');}catch(_0x2b890a){const _0x95824a=_0x2b890a instanceof Error?_0x2b890a['message']:String(_0x2b890a);return(0x0,types_js_1['textResult'])('MCP\x20'+_0x932c7a+'\x20resource\x20read:\x20'+_0x95824a,!![]);}}return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20'+_0x465165+'.',!![]);}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['createMcpTools']=createMcpTools,exports['slugify']=slugify,exports['toToolProperty']=toToolProperty,exports['resetMcpRegistry']=resetMcpRegistry;const index_js_1=require('../../../../../packages/mcp/src/index.js'),types_js_1=require('../types.js'),registry=new Map();async function createMcpTools(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['createMcpTools']=createMcpTools,exports['slugify']=slugify,exports['toToolProperty']=toToolProperty,exports['resetMcpRegistry']=resetMcpRegistry;const index_js_1=require('../../../../../packages/mcp/src/index.js'),types_js_1=require('../types.js'),registry=new Map();async function createMcpTools(_0x38558c={},_0x32cda9){const _0x479ec1=[];for(const [_0x1dfe0a,_0x4664f6]of Object['entries'](_0x38558c)){let _0x262023=registry['get'](_0x1dfe0a);_0x262023&&JSON['stringify'](_0x262023['spec'])!==JSON['stringify'](_0x4664f6)&&(_0x262023['conn']?.['close'](),registry['delete'](_0x1dfe0a),_0x262023=undefined);!_0x262023&&(_0x262023={'name':_0x1dfe0a,'spec':_0x4664f6,'conn':(0x0,index_js_1['createMcpConnection'])(_0x1dfe0a,_0x4664f6),'tools':[],'resources':[],'prompts':[]},registry['set'](_0x1dfe0a,_0x262023));const _0x5156c9=_0x262023['tools']['length']>0x0;try{_0x262023['tools']=await _0x262023['conn']['listTools'](_0x32cda9),_0x262023['resources']=await _0x262023['conn']['listResources'](),_0x262023['prompts']=await _0x262023['conn']['listPrompts']();}catch(_0xe2425a){_0x479ec1['push'](makeMcpErrorTool(_0x1dfe0a,_0xe2425a instanceof Error?_0xe2425a['message']:String(_0xe2425a)));if(!_0x5156c9)continue;}for(const _0x3073f8 of _0x262023['tools'])_0x479ec1['push'](makeMcpCallTool(_0x1dfe0a,_0x3073f8));for(const _0x196989 of _0x262023['resources'])_0x479ec1['push'](makeMcpReadResourceTool(_0x1dfe0a,_0x196989));for(const _0x305679 of _0x262023['prompts'])_0x479ec1['push'](makeMcpGetPromptTool(_0x1dfe0a,_0x305679));}return _0x479ec1;}function slugify(_0x3fcdd6){const _0x5d1055=_0x3fcdd6['toLowerCase']()['replace'](/[^a-z0-9]+/g,'_')['replace'](/^_+|_+$/g,'')['slice'](0x0,0x28);return _0x5d1055||'item';}function toToolProperty(_0x4620f7){const _0x2c7565=_0x4620f7??{},_0x51cbf4={'type':_0x2c7565['type']??'string','description':_0x2c7565['description']??''};if(Array['isArray'](_0x2c7565['enum']))_0x51cbf4['enum']=_0x2c7565['enum']['filter'](_0x362151=>typeof _0x362151==='string');if(_0x2c7565['items']&&typeof _0x2c7565['items']==='object')_0x51cbf4['items']=toToolProperty(_0x2c7565['items']);return _0x51cbf4;}function abortable(_0x2bf6a1,_0x5d341e){if(!_0x2bf6a1)return _0x5d341e;if(_0x2bf6a1['aborted'])return Promise['reject'](new Error('aborted'));return new Promise((_0x5442b4,_0x2fd16f)=>{const _0x289ccd=()=>_0x2fd16f(new Error('aborted'));_0x2bf6a1['addEventListener']('abort',_0x289ccd,{'once':!![]}),_0x5d341e['then'](_0x1c778b=>{_0x2bf6a1['removeEventListener']('abort',_0x289ccd),_0x5442b4(_0x1c778b);},_0x5c4f93=>{_0x2bf6a1['removeEventListener']('abort',_0x289ccd),_0x2fd16f(_0x5c4f93);});});}function makeMcpCallTool(_0x360f6c,_0x27ca06){const _0x3649cd='mcp__'+_0x360f6c+'__'+_0x27ca06['name'],_0x950ada=_0x27ca06['inputSchema']??{},_0x4cf3bd={};for(const [_0x5f49a6,_0x8977ea]of Object['entries'](_0x950ada['properties']??{})){_0x4cf3bd[_0x5f49a6]=toToolProperty(_0x8977ea);}const _0x267485={'timeoutMs':0x7530,'name':_0x3649cd,'description':('Call\x20tool\x20\x27'+_0x27ca06['name']+'\x27\x20on\x20MCP\x20server\x20\x27'+_0x360f6c+'\x27.\x20'+(_0x27ca06['description']??''))['trim'](),'parameters':{'type':'object','properties':_0x4cf3bd,'required':_0x950ada['required']??[]}};return{'definition':_0x267485,async 'execute'(_0x453cb4,_0x213905,_0x3d189b,_0x7c86dd){const _0x23ba92=registry['get'](_0x360f6c);if(!_0x23ba92)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x360f6c+'\x27\x20is\x20not\x20registered.',!![]);try{const _0x574701=await abortable(_0x3d189b,_0x23ba92['conn']['callTool'](_0x27ca06['name'],_0x213905)),_0x3e52f3=(_0x574701['content']??[])['map'](_0x13abbe=>typeof _0x13abbe['text']==='string'?_0x13abbe['text']:_0x13abbe['blob']?'[binary\x20'+(_0x13abbe['mimeType']??'blob')+']':JSON['stringify'](_0x13abbe))['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x3e52f3||'(empty\x20MCP\x20result)',Boolean(_0x574701['isError']));}catch(_0x5874d7){if(_0x5874d7 instanceof index_js_1['McpError'])return(0x0,types_js_1['textResult'])('mcp\x20'+_0x360f6c+'.'+_0x27ca06['name']+'\x20['+_0x5874d7['code']+']:\x20'+_0x5874d7['message'],!![]);return(0x0,types_js_1['textResult'])('mcp\x20'+_0x360f6c+'.'+_0x27ca06['name']+':\x20'+(_0x5874d7 instanceof Error?_0x5874d7['message']:String(_0x5874d7)),!![]);}}};}function makeMcpReadResourceTool(_0x53852c,_0x4c5d1b){const _0xcae09f='mcp__'+_0x53852c+'__read_resource_'+slugify(_0x4c5d1b['uri']),_0x4efd08={'timeoutMs':0x7530,'name':_0xcae09f,'description':('Read\x20resource\x20\x27'+_0x4c5d1b['name']+'\x27\x20('+_0x4c5d1b['uri']+')\x20from\x20MCP\x20server\x20\x27'+_0x53852c+'\x27.\x20'+(_0x4c5d1b['description']??''))['trim'](),'parameters':{'type':'object','required':[],'properties':{'uri':{'type':'string','description':'Resource\x20URI\x20(default\x20'+_0x4c5d1b['uri']+')'}}}};return{'definition':_0x4efd08,async 'execute'(_0x5c5b45,_0xd0dbf0,_0x38d915,_0x41101b){const _0x190a21=registry['get'](_0x53852c);if(!_0x190a21)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x53852c+'\x27\x20is\x20not\x20registered.',!![]);const _0x149df1=typeof _0xd0dbf0['uri']==='string'?_0xd0dbf0['uri']:_0x4c5d1b['uri'];try{const _0x21e5aa=await abortable(_0x38d915,_0x190a21['conn']['readResource'](_0x149df1));return(0x0,types_js_1['textResult'])(_0x21e5aa||'(empty\x20resource)');}catch(_0x4bd8c0){if(_0x4bd8c0 instanceof index_js_1['McpError'])return(0x0,types_js_1['textResult'])('mcp\x20'+_0x53852c+'\x20resource\x20read\x20['+_0x4bd8c0['code']+']:\x20'+_0x4bd8c0['message'],!![]);return(0x0,types_js_1['textResult'])('mcp\x20'+_0x53852c+'\x20resource\x20read:\x20'+(_0x4bd8c0 instanceof Error?_0x4bd8c0['message']:String(_0x4bd8c0)),!![]);}}};}function makeMcpGetPromptTool(_0x25aeee,_0xef7314){const _0x2eb5e1='mcp__'+_0x25aeee+'__get_prompt_'+slugify(_0xef7314['name']),_0x18ad70={'timeoutMs':0x7530,'name':_0x2eb5e1,'description':('Get\x20prompt\x20\x27'+_0xef7314['name']+'\x27\x20from\x20MCP\x20server\x20\x27'+_0x25aeee+'\x27.\x20'+(_0xef7314['description']??''))['trim'](),'parameters':{'type':'object','required':[],'properties':{'name':{'type':'string','description':'Prompt\x20name\x20(default\x20'+_0xef7314['name']+')'},'args':{'type':'object','description':'Optional\x20prompt\x20arguments.'}}}};return{'definition':_0x18ad70,async 'execute'(_0xe8932d,_0x2fdbf8,_0x40a94b,_0x5b19a4){const _0x448009=registry['get'](_0x25aeee);if(!_0x448009)return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x25aeee+'\x27\x20is\x20not\x20registered.',!![]);const _0x1cc1c6=typeof _0x2fdbf8['name']==='string'?_0x2fdbf8['name']:_0xef7314['name'],_0x3cabe5=typeof _0x2fdbf8['args']==='object'&&_0x2fdbf8['args']!==null?_0x2fdbf8['args']:undefined;try{const _0x279e1f=await abortable(_0x40a94b,_0x448009['conn']['getPrompt'](_0x1cc1c6,_0x3cabe5));if(!_0x279e1f)return(0x0,types_js_1['textResult'])('Prompt\x20\x27'+_0x1cc1c6+'\x27\x20not\x20found\x20on\x20server\x20\x27'+_0x25aeee+'\x27.',!![]);const _0xcf94f8=_0x279e1f['messages']['map'](_0x317187=>'['+_0x317187['role']+']\x20'+(typeof _0x317187['content']==='string'?_0x317187['content']:JSON['stringify'](_0x317187['content'])))['join']('\x0a');return(0x0,types_js_1['textResult'])(_0xcf94f8||'(empty\x20prompt)');}catch(_0x33043a){if(_0x33043a instanceof index_js_1['McpError'])return(0x0,types_js_1['textResult'])('mcp\x20'+_0x25aeee+'\x20prompt\x20get\x20['+_0x33043a['code']+']:\x20'+_0x33043a['message'],!![]);return(0x0,types_js_1['textResult'])('mcp\x20'+_0x25aeee+'\x20prompt\x20get:\x20'+(_0x33043a instanceof Error?_0x33043a['message']:String(_0x33043a)),!![]);}}};}function makeMcpErrorTool(_0x339443,_0x4388dd){const _0x82b9ad={'timeoutMs':0x7530,'name':'mcp__'+_0x339443+'__error','description':'MCP\x20server\x20\x27'+_0x339443+'\x27\x20failed\x20to\x20initialize:\x20'+_0x4388dd+'.','parameters':{'type':'object','properties':{},'required':[]}};return{'definition':_0x82b9ad,async 'execute'(){return(0x0,types_js_1['textResult'])('MCP\x20server\x20\x27'+_0x339443+'\x27\x20is\x20unavailable:\x20'+_0x4388dd,!![]);}};}function resetMcpRegistry(){for(const [,_0x34bee6]of registry)_0x34bee6['conn']?.['close']();registry['clear']();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x494c74,_0x12eabf,_0xbc0ba4,_0xcbde3c){if(_0xcbde3c===undefined)_0xcbde3c=_0xbc0ba4;var _0x33f0af=Object['getOwnPropertyDescriptor'](_0x12eabf,_0xbc0ba4);(!_0x33f0af||('get'in _0x33f0af?!_0x12eabf['__esModule']:_0x33f0af['writable']||_0x33f0af['configurable']))&&(_0x33f0af={'enumerable':!![],'get':function(){return _0x12eabf[_0xbc0ba4];}}),Object['defineProperty'](_0x494c74,_0xcbde3c,_0x33f0af);}:function(_0x23818f,_0x436073,_0x1e69c5,_0x2e88b1){if(_0x2e88b1===undefined)_0x2e88b1=_0x1e69c5;_0x23818f[_0x2e88b1]=_0x436073[_0x1e69c5];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2d15dd,_0x40028f){Object['defineProperty'](_0x2d15dd,'default',{'enumerable':!![],'value':_0x40028f});}:function(_0x38c2b8,_0x47d9cb){_0x38c2b8['default']=_0x47d9cb;}),__importStar=this&&this['__importStar']||(function(){var _0x1c1a35=function(_0x27011d){return _0x1c1a35=Object['getOwnPropertyNames']||function(_0x5a3bb1){var _0x11b3c3=[];for(var _0x43e27f in _0x5a3bb1)if(Object['prototype']['hasOwnProperty']['call'](_0x5a3bb1,_0x43e27f))_0x11b3c3[_0x11b3c3['length']]=_0x43e27f;return _0x11b3c3;},_0x1c1a35(_0x27011d);};return function(_0xb3f66f){if(_0xb3f66f&&_0xb3f66f['__esModule'])return _0xb3f66f;var _0x4e18ff={};if(_0xb3f66f!=null){for(var _0x320587=_0x1c1a35(_0xb3f66f),_0x28498e=0x0;_0x28498e<_0x320587['length'];_0x28498e++)if(_0x320587[_0x28498e]!=='default')__createBinding(_0x4e18ff,_0xb3f66f,_0x320587[_0x28498e]);}return __setModuleDefault(_0x4e18ff,_0xb3f66f),_0x4e18ff;};}()),__importDefault=this&&this['__importDefault']||function(_0x583a23){return _0x583a23&&_0x583a23['__esModule']?_0x583a23:{'default':_0x583a23};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ConnectorRegistry']=void 0x0,exports['getConnectorRegistry']=getConnectorRegistry,exports['searchConnectors']=searchConnectors;const path_1=__importDefault(require('path')),fs=__importStar(require('fs')),os=__importStar(require('os')),BUILTIN_CONNECTORS=[{'id':'github','name':'GitHub','description':'GitHub\x20API\x20integration:\x20repos,\x20issues,\x20PRs,\x20commits','keywords':['github','git','repo','repository','issue','pr','pull\x20request','commit'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-github']},'npmPackage':'@modelcontextprotocol/server-github','category':'development'},{'id':'slack','name':'Slack','description':'Read\x20and\x20send\x20messages,\x20manage\x20channels\x20in\x20Slack','keywords':['slack','chat','message','channel','team'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-slack']},'npmPackage':'@modelcontextprotocol/server-slack','category':'communication'},{'id':'google-drive','name':'Google\x20Drive','description':'Read,\x20create,\x20and\x20manage\x20Google\x20Drive\x20files','keywords':['google\x20drive','gdrive','drive','google','files','docs','sheets'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-gdrive']},'npmPackage':'@modelcontextprotocol/server-gdrive','category':'productivity'},{'id':'google-calendar','name':'Google\x20Calendar','description':'List,\x20create,\x20and\x20manage\x20Google\x20Calendar\x20events','keywords':['google\x20calendar','calendar','gcal','schedule','event','meeting'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-gcal']},'npmPackage':'@modelcontextprotocol/server-gcal','category':'productivity'},{'id':'gmail','name':'Gmail','description':'Read,\x20search,\x20and\x20send\x20Gmail\x20messages','keywords':['gmail','email','mail','message','inbox'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-gmail']},'npmPackage':'@modelcontextprotocol/server-gmail','category':'communication'},{'id':'filesystem','name':'Filesystem','description':'Read,\x20write,\x20and\x20search\x20files\x20on\x20the\x20local\x20filesystem','keywords':['filesystem','files','local','read','write','search','file\x20system'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-filesystem',os['homedir']()]},'npmPackage':'@modelcontextprotocol/server-filesystem','category':'filesystem'},{'id':'postgres','name':'PostgreSQL','description':'Query\x20PostgreSQL\x20databases','keywords':['postgres','postgresql','sql','database','db','psql','query'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-postgres','postgresql://localhost:5432']},'npmPackage':'@modelcontextprotocol/server-postgres','category':'database'},{'id':'sqlite','name':'SQLite','description':'Query\x20SQLite\x20databases','keywords':['sqlite','sql','database','db','sqlite3','query'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-sqlite','sqlite::memory:']},'npmPackage':'@modelcontextprotocol/server-sqlite','category':'database'},{'id':'brave-search','name':'Brave\x20Search','description':'Web\x20search\x20via\x20Brave\x20Search\x20API','keywords':['brave','search','web','internet','google'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-brave-search']},'npmPackage':'@modelcontextprotocol/server-brave-search','category':'search'},{'id':'weather','name':'Weather','description':'Weather\x20forecasts\x20and\x20conditions','keywords':['weather','forecast','climate','temperature','rain'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-weather']},'npmPackage':'@modelcontextprotocol/server-weather','category':'utilities'},{'id':'time','name':'Time','description':'World\x20time,\x20timezones,\x20and\x20date\x20utilities','keywords':['time','timezone','date','clock','world\x20time'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-time']},'npmPackage':'@modelcontextprotocol/server-time','category':'utilities'},{'id':'git','name':'Git','description':'Git\x20repository\x20operations:\x20log,\x20diff,\x20blame,\x20status','keywords':['git','version\x20control','commit','diff','blame','log','status'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-git']},'npmPackage':'@modelcontextprotocol/server-git','category':'development'},{'id':'docker','name':'Docker','description':'Manage\x20Docker\x20containers,\x20images,\x20and\x20volumes','keywords':['docker','container','image','volume','compose'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-docker']},'npmPackage':'@modelcontextprotocol/server-docker','category':'devops'},{'id':'kubernetes','name':'Kubernetes','description':'Query\x20Kubernetes\x20cluster\x20resources','keywords':['kubernetes','k8s','cluster','pod','deployment','service'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-kubernetes']},'npmPackage':'@modelcontextprotocol/server-kubernetes','category':'devops'},{'id':'redis','name':'Redis','description':'Query\x20and\x20manage\x20Redis\x20databases','keywords':['redis','cache','key-value','kv','database'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-redis']},'npmPackage':'@modelcontextprotocol/server-redis','category':'database'},{'id':'mongodb','name':'MongoDB','description':'Query\x20MongoDB\x20collections','keywords':['mongodb','mongo','database','collection','document','nosql'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-mongodb']},'npmPackage':'@modelcontextprotocol/server-mongodb','category':'database'},{'id':'notion','name':'Notion','description':'Read\x20and\x20create\x20Notion\x20pages,\x20databases,\x20and\x20blocks','keywords':['notion','notes','wiki','docs','database','page'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-notion']},'npmPackage':'@modelcontextprotocol/server-notion','category':'productivity'},{'id':'linear','name':'Linear','description':'Manage\x20Linear\x20issues,\x20projects,\x20and\x20teams','keywords':['linear','issue','ticket','project','team','bug'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-linear']},'npmPackage':'@modelcontextprotocol/server-linear','category':'productivity'},{'id':'jira','name':'Jira','description':'Query\x20Jira\x20issues\x20and\x20projects','keywords':['jira','issue','ticket','atlassian','project','bug'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-jira']},'npmPackage':'@modelcontextprotocol/server-jira','category':'productivity'},{'id':'stripe','name':'Stripe','description':'Query\x20Stripe\x20payments,\x20customers,\x20and\x20invoices','keywords':['stripe','payment','billing','customer','invoice','subscription'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-stripe']},'npmPackage':'@modelcontextprotocol/server-stripe','category':'business'},{'id':'figma','name':'Figma','description':'Read\x20Figma\x20files,\x20components,\x20and\x20design\x20tokens','keywords':['figma','design','ui','component','token','fig','figma\x20file'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-figma']},'npmPackage':'@modelcontextprotocol/server-figma','category':'design'},{'id':'github-alerts','name':'GitHub\x20Alerts','description':'Query\x20GitHub\x20security\x20alerts\x20and\x20vulnerabilities','keywords':['github\x20alerts','security','vulnerability','alert','cve'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-github-alerts']},'npmPackage':'@modelcontextprotocol/server-github-alerts','category':'security'},{'id':'semgrep','name':'Semgrep','description':'Run\x20Semgrep\x20security\x20scanning\x20on\x20code','keywords':['semgrep','security','sast','scan','vulnerability','code'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-semgrep']},'npmPackage':'@modelcontextprotocol/server-semgrep','category':'security'},{'id':'kubernetes-read-only','name':'Kubernetes\x20(Read-Only)','description':'Read-only\x20access\x20to\x20Kubernetes\x20cluster\x20resources','keywords':['kubernetes','k8s','cluster','pod','deployment','read-only'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-kubernetes-read-only']},'npmPackage':'@modelcontextprotocol/server-kubernetes-read-only','category':'devops'},{'id':'sequential-thinking','name':'Sequential\x20Thinking','description':'Structured\x20thinking\x20tool\x20for\x20complex\x20reasoning','keywords':['thinking','reasoning','sequential','planning','analysis'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-sequential-thinking']},'npmPackage':'@modelcontextprotocol/server-sequential-thinking','category':'utilities'},{'id':'puppeteer','name':'Puppeteer','description':'Browser\x20automation\x20via\x20Puppeteer\x20-\x20navigate\x20pages,\x20click,\x20screenshot','keywords':['puppeteer','browser','chrome','web','automation','screenshot','scrape'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-puppeteer']},'npmPackage':'@modelcontextprotocol/server-puppeteer','category':'browser'},{'id':'obsidian','name':'Obsidian','description':'Read\x20and\x20manage\x20Obsidian\x20vault\x20notes','keywords':['obsidian','notes','vault','markdown','second\x20brain'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-obsidian']},'npmPackage':'@modelcontextprotocol/server-obsidian','category':'productivity'},{'id':'airbnb','name':'Airbnb','description':'Search\x20Airbnb\x20listings','keywords':['airbnb','travel','listing','accommodation','hotel','rental'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-airbnb']},'npmPackage':'@modelcontextprotocol/server-airbnb','category':'travel'},{'id':'exa','name':'Exa','description':'Web\x20search\x20and\x20content\x20extraction\x20via\x20Exa\x20AI','keywords':['exa','search','web','research','extract'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-exa']},'npmPackage':'@modelcontextprotocol/server-exa','category':'search'},{'id':'tettra','name':'Tettra','description':'Read\x20Tettra\x20knowledge\x20base\x20articles','keywords':['tettra','wiki','knowledge','docs','knowledge\x20base'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-tettra']},'npmPackage':'@modelcontextprotocol/server-tettra','category':'productivity'},{'id':'trayambak-git','name':'Trayambak\x20Git','description':'Git\x20repository\x20operations:\x20status,\x20log,\x20branches,\x20commit,\x20diff,\x20analysis\x20(Python\x20MCP)','keywords':['git','trayambak','version\x20control','commit','diff','blame','log','status'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','git-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','git-server')},'npmPackage':'mcp','category':'development'},{'id':'trayambak-filesystem','name':'Trayambak\x20Filesystem','description':'Safe\x20filesystem\x20operations:\x20read,\x20write,\x20list,\x20delete,\x20copy,\x20file\x20info\x20with\x20sandbox\x20(Python\x20MCP)','keywords':['filesystem','files','local','read','write','search','file\x20system','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','file-system-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','file-system-server')},'npmPackage':'mcp','category':'filesystem'},{'id':'trayambak-database','name':'Trayambak\x20Database','description':'SQL\x20database\x20operations:\x20execute\x20queries,\x20create\x20tables,\x20analyze,\x20table\x20info\x20(Python\x20MCP)','keywords':['database','sql','sqlite','query','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','database-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','database-server')},'npmPackage':'mcp','category':'database'},{'id':'trayambak-web','name':'Trayambak\x20Web','description':'Web\x20scraping\x20and\x20data\x20extraction:\x20parse\x20HTML,\x20metadata,\x20validate\x20URLs,\x20extract\x20JSON\x20(Python\x20MCP)','keywords':['web','scrape','html','metadata','url','json','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','web-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','web-server')},'npmPackage':'mcp','category':'web'},{'id':'trayambak-env','name':'Trayambak\x20Env','description':'Environment\x20variable\x20management:\x20get/set\x20env,\x20load\x20.env,\x20list\x20variables,\x20validate\x20config\x20(Python\x20MCP)','keywords':['env','environment','config','variables','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','env-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','env-server')},'npmPackage':'mcp','category':'utilities'}];class ConnectorRegistry{static ['instance']=null;['connectors']=[];['builtinIds']=new Set();['userDir'];constructor(){this['userDir']=path_1['default']['join'](os['homedir'](),'.trayambak','connectors');}static['getInstance'](){return!ConnectorRegistry['instance']&&(ConnectorRegistry['instance']=new ConnectorRegistry()),ConnectorRegistry['instance'];}['load'](){this['connectors']=[...BUILTIN_CONNECTORS],this['builtinIds']=new Set(BUILTIN_CONNECTORS['map'](_0x2376e7=>_0x2376e7['id']));if(fs['existsSync'](this['userDir'])){const _0x1d32d6=fs['readdirSync'](this['userDir'],{'withFileTypes':!![]});for(const _0x2a0a4f of _0x1d32d6){if(!_0x2a0a4f['isFile']()||!_0x2a0a4f['name']['endsWith']('.json'))continue;try{const _0x3d8e32=fs['readFileSync'](path_1['default']['join'](this['userDir'],_0x2a0a4f['name']),'utf8'),_0xf752ae=JSON['parse'](_0x3d8e32);_0xf752ae['id']&&_0xf752ae['spec']&&this['connectors']['push']({'id':_0xf752ae['id'],'name':_0xf752ae['name']??_0xf752ae['id'],'description':_0xf752ae['description']??'','keywords':_0xf752ae['keywords']??[],'spec':_0xf752ae['spec'],'npmPackage':_0xf752ae['npmPackage'],'category':_0xf752ae['category']});}catch{}}}return this['connectors'];}['search'](_0x14aef9){if(!this['connectors']['length'])this['load']();const _0x49b560=_0x14aef9['toLowerCase']()['trim']();if(!_0x49b560)return this['connectors'];const _0x2dda33=_0x49b560['split'](/\s+/);return this['connectors']['map'](_0x2afeb4=>{const _0x4f2ca9=(_0x2afeb4['id']+'\x20'+_0x2afeb4['name']+'\x20'+_0x2afeb4['description']+'\x20'+(_0x2afeb4['keywords']??[])['join']('\x20')+'\x20'+(_0x2afeb4['category']??''))['toLowerCase']();let _0x3092cb=0x0;for(const _0x515be3 of _0x2dda33){if(_0x2afeb4['id']===_0x515be3)_0x3092cb+=0xa;if(_0x2afeb4['name']['toLowerCase']()===_0x515be3)_0x3092cb+=0x8;if(_0x2afeb4['keywords']?.['some'](_0xea45b7=>_0xea45b7['toLowerCase']()===_0x515be3))_0x3092cb+=0x6;if(_0x2afeb4['category']?.['toLowerCase']()===_0x515be3)_0x3092cb+=0x4;if(_0x4f2ca9['includes'](_0x515be3))_0x3092cb+=0x2;}return{'connector':_0x2afeb4,'score':_0x3092cb};})['filter'](_0x3feabb=>_0x3feabb['score']>0x0)['sort']((_0x548061,_0x3b9ae6)=>_0x3b9ae6['score']-_0x548061['score'])['map'](_0x22e78b=>_0x22e78b['connector']);}['get'](_0x20f820){if(!this['connectors']['length'])this['load']();return this['connectors']['find'](_0x5e1802=>_0x5e1802['id']===_0x20f820);}['getByCategory'](_0x493dc9){if(!this['connectors']['length'])this['load']();return this['connectors']['filter'](_0xfeb899=>_0xfeb899['category']===_0x493dc9);}['getCategories'](){if(!this['connectors']['length'])this['load']();return[...new Set(this['connectors']['map'](_0x51d943=>_0x51d943['category'])['filter'](Boolean))]['sort']();}['register'](_0xb90e14){const _0x746768=path_1['default']['join'](this['userDir'],_0xb90e14['id']+'.json');fs['mkdirSync'](this['userDir'],{'recursive':!![]}),fs['writeFileSync'](_0x746768,JSON['stringify'](_0xb90e14,null,0x2)),!this['connectors']['find'](_0xe31317=>_0xe31317['id']===_0xb90e14['id'])&&this['connectors']['push'](_0xb90e14);}['unregister'](_0x1e2e90){if(this['builtinIds']['has'](_0x1e2e90))return![];const _0x37dcd8=this['connectors']['findIndex'](_0x58bd5a=>_0x58bd5a['id']===_0x1e2e90);if(_0x37dcd8<0x0)return![];const _0x1372af=this['connectors'][_0x37dcd8];this['connectors']['splice'](_0x37dcd8,0x1);const _0x4a2218=path_1['default']['join'](this['userDir'],_0x1372af['id']+'.json');if(fs['existsSync'](_0x4a2218))fs['unlinkSync'](_0x4a2218);return!![];}['getAllIds'](){if(!this['connectors']['length'])this['load']();return this['connectors']['map'](_0x5d80e7=>_0x5d80e7['id']);}}exports['ConnectorRegistry']=ConnectorRegistry;function getConnectorRegistry(){return ConnectorRegistry['getInstance']();}function searchConnectors(_0x51a05f){return getConnectorRegistry()['search'](_0x51a05f);}
|
|
1
|
+
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x12b0fa,_0x3f7e40,_0x5ad58c,_0x34e655){if(_0x34e655===undefined)_0x34e655=_0x5ad58c;var _0x322296=Object['getOwnPropertyDescriptor'](_0x3f7e40,_0x5ad58c);(!_0x322296||('get'in _0x322296?!_0x3f7e40['__esModule']:_0x322296['writable']||_0x322296['configurable']))&&(_0x322296={'enumerable':!![],'get':function(){return _0x3f7e40[_0x5ad58c];}}),Object['defineProperty'](_0x12b0fa,_0x34e655,_0x322296);}:function(_0x2e9de4,_0x4ce2b1,_0x3f2cdc,_0x3f5de8){if(_0x3f5de8===undefined)_0x3f5de8=_0x3f2cdc;_0x2e9de4[_0x3f5de8]=_0x4ce2b1[_0x3f2cdc];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x357659,_0x2ed325){Object['defineProperty'](_0x357659,'default',{'enumerable':!![],'value':_0x2ed325});}:function(_0x561067,_0xa5f883){_0x561067['default']=_0xa5f883;}),__importStar=this&&this['__importStar']||(function(){var _0x295786=function(_0x4b3014){return _0x295786=Object['getOwnPropertyNames']||function(_0x53c0ba){var _0x16d642=[];for(var _0x3a05ec in _0x53c0ba)if(Object['prototype']['hasOwnProperty']['call'](_0x53c0ba,_0x3a05ec))_0x16d642[_0x16d642['length']]=_0x3a05ec;return _0x16d642;},_0x295786(_0x4b3014);};return function(_0xc0e2cd){if(_0xc0e2cd&&_0xc0e2cd['__esModule'])return _0xc0e2cd;var _0x329579={};if(_0xc0e2cd!=null){for(var _0x50fa2a=_0x295786(_0xc0e2cd),_0xbb8f38=0x0;_0xbb8f38<_0x50fa2a['length'];_0xbb8f38++)if(_0x50fa2a[_0xbb8f38]!=='default')__createBinding(_0x329579,_0xc0e2cd,_0x50fa2a[_0xbb8f38]);}return __setModuleDefault(_0x329579,_0xc0e2cd),_0x329579;};}()),__importDefault=this&&this['__importDefault']||function(_0x4f61ea){return _0x4f61ea&&_0x4f61ea['__esModule']?_0x4f61ea:{'default':_0x4f61ea};};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ConnectorRegistry']=void 0x0,exports['getConnectorRegistry']=getConnectorRegistry,exports['searchConnectors']=searchConnectors;const path_1=__importDefault(require('path')),fs=__importStar(require('fs')),os=__importStar(require('os')),BUILTIN_CONNECTORS=[{'id':'github','name':'GitHub','description':'GitHub\x20API\x20integration:\x20repos,\x20issues,\x20PRs,\x20commits','keywords':['github','git','repo','repository','issue','pr','pull\x20request','commit'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-github']},'npmPackage':'@modelcontextprotocol/server-github','category':'development'},{'id':'slack','name':'Slack','description':'Read\x20and\x20send\x20messages,\x20manage\x20channels\x20in\x20Slack','keywords':['slack','chat','message','channel','team'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-slack']},'npmPackage':'@modelcontextprotocol/server-slack','category':'communication'},{'id':'google-drive','name':'Google\x20Drive','description':'Read,\x20create,\x20and\x20manage\x20Google\x20Drive\x20files','keywords':['google\x20drive','gdrive','drive','google','files','docs','sheets'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-gdrive']},'npmPackage':'@modelcontextprotocol/server-gdrive','category':'productivity'},{'id':'google-calendar','name':'Google\x20Calendar','description':'List,\x20create,\x20and\x20manage\x20Google\x20Calendar\x20events','keywords':['google\x20calendar','calendar','gcal','schedule','event','meeting'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-gcal']},'npmPackage':'@modelcontextprotocol/server-gcal','category':'productivity'},{'id':'gmail','name':'Gmail','description':'Read,\x20search,\x20and\x20send\x20Gmail\x20messages','keywords':['gmail','email','mail','message','inbox'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-gmail']},'npmPackage':'@modelcontextprotocol/server-gmail','category':'communication'},{'id':'filesystem','name':'Filesystem','description':'Read,\x20write,\x20and\x20search\x20files\x20on\x20the\x20local\x20filesystem','keywords':['filesystem','files','local','read','write','search','file\x20system'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-filesystem',os['homedir']()]},'npmPackage':'@modelcontextprotocol/server-filesystem','category':'filesystem'},{'id':'postgres','name':'PostgreSQL','description':'Query\x20PostgreSQL\x20databases','keywords':['postgres','postgresql','sql','database','db','psql','query'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-postgres','postgresql://localhost:5432']},'npmPackage':'@modelcontextprotocol/server-postgres','category':'database'},{'id':'sqlite','name':'SQLite','description':'Query\x20SQLite\x20databases','keywords':['sqlite','sql','database','db','sqlite3','query'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-sqlite','sqlite::memory:']},'npmPackage':'@modelcontextprotocol/server-sqlite','category':'database'},{'id':'brave-search','name':'Brave\x20Search','description':'Web\x20search\x20via\x20Brave\x20Search\x20API','keywords':['brave','search','web','internet','google'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-brave-search']},'npmPackage':'@modelcontextprotocol/server-brave-search','category':'search'},{'id':'weather','name':'Weather','description':'Weather\x20forecasts\x20and\x20conditions','keywords':['weather','forecast','climate','temperature','rain'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-weather']},'npmPackage':'@modelcontextprotocol/server-weather','category':'utilities'},{'id':'time','name':'Time','description':'World\x20time,\x20timezones,\x20and\x20date\x20utilities','keywords':['time','timezone','date','clock','world\x20time'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-time']},'npmPackage':'@modelcontextprotocol/server-time','category':'utilities'},{'id':'git','name':'Git','description':'Git\x20repository\x20operations:\x20log,\x20diff,\x20blame,\x20status','keywords':['git','version\x20control','commit','diff','blame','log','status'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-git']},'npmPackage':'@modelcontextprotocol/server-git','category':'development'},{'id':'docker','name':'Docker','description':'Manage\x20Docker\x20containers,\x20images,\x20and\x20volumes','keywords':['docker','container','image','volume','compose'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-docker']},'npmPackage':'@modelcontextprotocol/server-docker','category':'devops'},{'id':'kubernetes','name':'Kubernetes','description':'Query\x20Kubernetes\x20cluster\x20resources','keywords':['kubernetes','k8s','cluster','pod','deployment','service'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-kubernetes']},'npmPackage':'@modelcontextprotocol/server-kubernetes','category':'devops'},{'id':'redis','name':'Redis','description':'Query\x20and\x20manage\x20Redis\x20databases','keywords':['redis','cache','key-value','kv','database'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-redis']},'npmPackage':'@modelcontextprotocol/server-redis','category':'database'},{'id':'mongodb','name':'MongoDB','description':'Query\x20MongoDB\x20collections','keywords':['mongodb','mongo','database','collection','document','nosql'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-mongodb']},'npmPackage':'@modelcontextprotocol/server-mongodb','category':'database'},{'id':'notion','name':'Notion','description':'Read\x20and\x20create\x20Notion\x20pages,\x20databases,\x20and\x20blocks','keywords':['notion','notes','wiki','docs','database','page'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-notion']},'npmPackage':'@modelcontextprotocol/server-notion','category':'productivity'},{'id':'linear','name':'Linear','description':'Manage\x20Linear\x20issues,\x20projects,\x20and\x20teams','keywords':['linear','issue','ticket','project','team','bug'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-linear']},'npmPackage':'@modelcontextprotocol/server-linear','category':'productivity'},{'id':'jira','name':'Jira','description':'Query\x20Jira\x20issues\x20and\x20projects','keywords':['jira','issue','ticket','atlassian','project','bug'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-jira']},'npmPackage':'@modelcontextprotocol/server-jira','category':'productivity'},{'id':'stripe','name':'Stripe','description':'Query\x20Stripe\x20payments,\x20customers,\x20and\x20invoices','keywords':['stripe','payment','billing','customer','invoice','subscription'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-stripe']},'npmPackage':'@modelcontextprotocol/server-stripe','category':'business'},{'id':'figma','name':'Figma','description':'Read\x20Figma\x20files,\x20components,\x20and\x20design\x20tokens','keywords':['figma','design','ui','component','token','fig','figma\x20file'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-figma']},'npmPackage':'@modelcontextprotocol/server-figma','category':'design'},{'id':'github-alerts','name':'GitHub\x20Alerts','description':'Query\x20GitHub\x20security\x20alerts\x20and\x20vulnerabilities','keywords':['github\x20alerts','security','vulnerability','alert','cve'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-github-alerts']},'npmPackage':'@modelcontextprotocol/server-github-alerts','category':'security'},{'id':'semgrep','name':'Semgrep','description':'Run\x20Semgrep\x20security\x20scanning\x20on\x20code','keywords':['semgrep','security','sast','scan','vulnerability','code'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-semgrep']},'npmPackage':'@modelcontextprotocol/server-semgrep','category':'security'},{'id':'kubernetes-read-only','name':'Kubernetes\x20(Read-Only)','description':'Read-only\x20access\x20to\x20Kubernetes\x20cluster\x20resources','keywords':['kubernetes','k8s','cluster','pod','deployment','read-only'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-kubernetes-read-only']},'npmPackage':'@modelcontextprotocol/server-kubernetes-read-only','category':'devops'},{'id':'sequential-thinking','name':'Sequential\x20Thinking','description':'Structured\x20thinking\x20tool\x20for\x20complex\x20reasoning','keywords':['thinking','reasoning','sequential','planning','analysis'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-sequential-thinking']},'npmPackage':'@modelcontextprotocol/server-sequential-thinking','category':'utilities'},{'id':'puppeteer','name':'Puppeteer','description':'Browser\x20automation\x20via\x20Puppeteer\x20-\x20navigate\x20pages,\x20click,\x20screenshot','keywords':['puppeteer','browser','chrome','web','automation','screenshot','scrape'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-puppeteer']},'npmPackage':'@modelcontextprotocol/server-puppeteer','category':'browser'},{'id':'obsidian','name':'Obsidian','description':'Read\x20and\x20manage\x20Obsidian\x20vault\x20notes','keywords':['obsidian','notes','vault','markdown','second\x20brain'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-obsidian']},'npmPackage':'@modelcontextprotocol/server-obsidian','category':'productivity'},{'id':'airbnb','name':'Airbnb','description':'Search\x20Airbnb\x20listings','keywords':['airbnb','travel','listing','accommodation','hotel','rental'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-airbnb']},'npmPackage':'@modelcontextprotocol/server-airbnb','category':'travel'},{'id':'exa','name':'Exa','description':'Web\x20search\x20and\x20content\x20extraction\x20via\x20Exa\x20AI','keywords':['exa','search','web','research','extract'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-exa']},'npmPackage':'@modelcontextprotocol/server-exa','category':'search'},{'id':'tettra','name':'Tettra','description':'Read\x20Tettra\x20knowledge\x20base\x20articles','keywords':['tettra','wiki','knowledge','docs','knowledge\x20base'],'spec':{'command':['npx','-y','@modelcontextprotocol/server-tettra']},'npmPackage':'@modelcontextprotocol/server-tettra','category':'productivity'},{'id':'trayambak-git','name':'Trayambak\x20Git','description':'Git\x20repository\x20operations:\x20status,\x20log,\x20branches,\x20commit,\x20diff,\x20analysis\x20(Python\x20MCP)','keywords':['git','trayambak','version\x20control','commit','diff','blame','log','status'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','git-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','git-server')},'npmPackage':'mcp','category':'development'},{'id':'trayambak-filesystem','name':'Trayambak\x20Filesystem','description':'Safe\x20filesystem\x20operations:\x20read,\x20write,\x20list,\x20delete,\x20copy,\x20file\x20info\x20with\x20sandbox\x20(Python\x20MCP)','keywords':['filesystem','files','local','read','write','search','file\x20system','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','file-system-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','file-system-server')},'npmPackage':'mcp','category':'filesystem'},{'id':'trayambak-database','name':'Trayambak\x20Database','description':'SQL\x20database\x20operations:\x20execute\x20queries,\x20create\x20tables,\x20analyze,\x20table\x20info\x20(Python\x20MCP)','keywords':['database','sql','sqlite','query','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','database-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','database-server')},'npmPackage':'mcp','category':'database'},{'id':'trayambak-web','name':'Trayambak\x20Web','description':'Web\x20scraping\x20and\x20data\x20extraction:\x20parse\x20HTML,\x20metadata,\x20validate\x20URLs,\x20extract\x20JSON\x20(Python\x20MCP)','keywords':['web','scrape','html','metadata','url','json','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','web-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','web-server')},'npmPackage':'mcp','category':'web'},{'id':'trayambak-env','name':'Trayambak\x20Env','description':'Environment\x20variable\x20management:\x20get/set\x20env,\x20load\x20.env,\x20list\x20variables,\x20validate\x20config\x20(Python\x20MCP)','keywords':['env','environment','config','variables','trayambak'],'spec':{'command':['python',path_1['default']['join'](__dirname,'..','..','..','..','servers','env-server','server.py')],'cwd':path_1['default']['join'](__dirname,'..','..','..','..','servers','env-server')},'npmPackage':'mcp','category':'utilities'}];class ConnectorRegistry{static ['instance']=null;['connectors']=[];['builtinIds']=new Set();['userDir'];constructor(){this['userDir']=path_1['default']['join'](os['homedir'](),'.trayambak','connectors');}static['getInstance'](){return!ConnectorRegistry['instance']&&(ConnectorRegistry['instance']=new ConnectorRegistry()),ConnectorRegistry['instance'];}['load'](){this['connectors']=[...BUILTIN_CONNECTORS],this['builtinIds']=new Set(BUILTIN_CONNECTORS['map'](_0x483abe=>_0x483abe['id']));if(fs['existsSync'](this['userDir'])){const _0x138809=fs['readdirSync'](this['userDir'],{'withFileTypes':!![]});for(const _0x13e1a0 of _0x138809){if(!_0x13e1a0['isFile']()||!_0x13e1a0['name']['endsWith']('.json'))continue;try{const _0x2afad5=fs['readFileSync'](path_1['default']['join'](this['userDir'],_0x13e1a0['name']),'utf8'),_0x4c5027=JSON['parse'](_0x2afad5);_0x4c5027['id']&&_0x4c5027['spec']&&this['connectors']['push']({'id':_0x4c5027['id'],'name':_0x4c5027['name']??_0x4c5027['id'],'description':_0x4c5027['description']??'','keywords':_0x4c5027['keywords']??[],'spec':_0x4c5027['spec'],'npmPackage':_0x4c5027['npmPackage'],'category':_0x4c5027['category']});}catch{}}}return this['connectors'];}['search'](_0x516349){if(!this['connectors']['length'])this['load']();const _0x120677=_0x516349['toLowerCase']()['trim']();if(!_0x120677)return this['connectors'];const _0x21c601=_0x120677['split'](/\s+/);return this['connectors']['map'](_0x3e8b6d=>{const _0x35e66b=(_0x3e8b6d['id']+'\x20'+_0x3e8b6d['name']+'\x20'+_0x3e8b6d['description']+'\x20'+(_0x3e8b6d['keywords']??[])['join']('\x20')+'\x20'+(_0x3e8b6d['category']??''))['toLowerCase']();let _0x577fa6=0x0;for(const _0x3fbb7c of _0x21c601){if(_0x3e8b6d['id']===_0x3fbb7c)_0x577fa6+=0xa;if(_0x3e8b6d['name']['toLowerCase']()===_0x3fbb7c)_0x577fa6+=0x8;if(_0x3e8b6d['keywords']?.['some'](_0x507fd9=>_0x507fd9['toLowerCase']()===_0x3fbb7c))_0x577fa6+=0x6;if(_0x3e8b6d['category']?.['toLowerCase']()===_0x3fbb7c)_0x577fa6+=0x4;if(_0x35e66b['includes'](_0x3fbb7c))_0x577fa6+=0x2;}return{'connector':_0x3e8b6d,'score':_0x577fa6};})['filter'](_0x1c8490=>_0x1c8490['score']>0x0)['sort']((_0x1719b4,_0x254152)=>_0x254152['score']-_0x1719b4['score'])['map'](_0x2ef5fe=>_0x2ef5fe['connector']);}['get'](_0x3bf587){if(!this['connectors']['length'])this['load']();return this['connectors']['find'](_0x498072=>_0x498072['id']===_0x3bf587);}['getByCategory'](_0x210135){if(!this['connectors']['length'])this['load']();return this['connectors']['filter'](_0x4780f1=>_0x4780f1['category']===_0x210135);}['getCategories'](){if(!this['connectors']['length'])this['load']();return[...new Set(this['connectors']['map'](_0x4575ee=>_0x4575ee['category'])['filter'](Boolean))]['sort']();}['register'](_0x2a06e6){const _0x2d77c1=path_1['default']['join'](this['userDir'],_0x2a06e6['id']+'.json');fs['mkdirSync'](this['userDir'],{'recursive':!![]}),fs['writeFileSync'](_0x2d77c1,JSON['stringify'](_0x2a06e6,null,0x2)),!this['connectors']['find'](_0x45f335=>_0x45f335['id']===_0x2a06e6['id'])&&this['connectors']['push'](_0x2a06e6);}['unregister'](_0x1c69df){if(this['builtinIds']['has'](_0x1c69df))return![];const _0x11350f=this['connectors']['findIndex'](_0x43bf34=>_0x43bf34['id']===_0x1c69df);if(_0x11350f<0x0)return![];const _0x132fd5=this['connectors'][_0x11350f];this['connectors']['splice'](_0x11350f,0x1);const _0x3a4fa6=path_1['default']['join'](this['userDir'],_0x132fd5['id']+'.json');if(fs['existsSync'](_0x3a4fa6))fs['unlinkSync'](_0x3a4fa6);return!![];}['getAllIds'](){if(!this['connectors']['length'])this['load']();return this['connectors']['map'](_0x105be0=>_0x105be0['id']);}}exports['ConnectorRegistry']=ConnectorRegistry;function getConnectorRegistry(){return ConnectorRegistry['getInstance']();}function searchConnectors(_0x2e54f3){return getConnectorRegistry()['search'](_0x2e54f3);}
|