@skt-ai-labs/trayambak-cli 0.6.1 → 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.
Files changed (394) hide show
  1. package/README.md +20 -18
  2. package/dist/apps/cli/src/command-registry.js +1 -1
  3. package/dist/apps/cli/src/commands/agent.js +1 -1
  4. package/dist/apps/cli/src/commands/archive.js +1 -1
  5. package/dist/apps/cli/src/commands/checkpoint.js +1 -1
  6. package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
  7. package/dist/apps/cli/src/commands/commit.js +1 -1
  8. package/dist/apps/cli/src/commands/compact.js +1 -1
  9. package/dist/apps/cli/src/commands/config.js +1 -1
  10. package/dist/apps/cli/src/commands/db.js +1 -1
  11. package/dist/apps/cli/src/commands/doctor.js +1 -1
  12. package/dist/apps/cli/src/commands/download.js +1 -1
  13. package/dist/apps/cli/src/commands/exec.js +1 -1
  14. package/dist/apps/cli/src/commands/index.js +1 -1
  15. package/dist/apps/cli/src/commands/login.js +1 -1
  16. package/dist/apps/cli/src/commands/manager.js +1 -1
  17. package/dist/apps/cli/src/commands/marketplace.js +1 -1
  18. package/dist/apps/cli/src/commands/mcp.js +1 -1
  19. package/dist/apps/cli/src/commands/mode.js +1 -1
  20. package/dist/apps/cli/src/commands/models.js +1 -1
  21. package/dist/apps/cli/src/commands/plan.js +1 -1
  22. package/dist/apps/cli/src/commands/pr.js +1 -1
  23. package/dist/apps/cli/src/commands/registry.js +1 -1
  24. package/dist/apps/cli/src/commands/run.js +1 -1
  25. package/dist/apps/cli/src/commands/sandbox.js +1 -1
  26. package/dist/apps/cli/src/commands/serve.js +1 -1
  27. package/dist/apps/cli/src/commands/session-export.js +1 -1
  28. package/dist/apps/cli/src/commands/session-resume.js +1 -1
  29. package/dist/apps/cli/src/commands/shortcuts.js +1 -1
  30. package/dist/apps/cli/src/commands/slash-command.js +1 -1
  31. package/dist/apps/cli/src/commands/stats.js +1 -1
  32. package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
  33. package/dist/apps/cli/src/commands/task.js +1 -1
  34. package/dist/apps/cli/src/commands/todo.js +1 -1
  35. package/dist/apps/cli/src/commands/uninstall.js +1 -1
  36. package/dist/apps/cli/src/commands/upgrade.js +1 -1
  37. package/dist/apps/cli/src/commands/worktree.js +1 -1
  38. package/dist/apps/cli/src/flags.js +1 -1
  39. package/dist/apps/cli/src/index.js +1 -1
  40. package/dist/apps/cli/src/integration/board.js +1 -1
  41. package/dist/apps/cli/src/integration/git-refs.js +1 -1
  42. package/dist/apps/cli/src/integration/index.js +1 -1
  43. package/dist/apps/cli/src/integration/indexing.js +1 -1
  44. package/dist/apps/cli/src/integration/notebook.js +1 -1
  45. package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
  46. package/dist/apps/cli/src/integration/plan.js +1 -1
  47. package/dist/apps/cli/src/integration/presence.js +1 -1
  48. package/dist/apps/cli/src/integration/project-id.js +1 -1
  49. package/dist/apps/cli/src/integration/rules.js +1 -1
  50. package/dist/apps/cli/src/integration/sandbox.js +1 -1
  51. package/dist/apps/cli/src/integration/task-resume.js +1 -1
  52. package/dist/apps/cli/src/integration/text-stream.js +1 -1
  53. package/dist/apps/cli/src/integration/unique-id.js +1 -1
  54. package/dist/apps/cli/src/integration/watcher.js +1 -1
  55. package/dist/apps/cli/src/logger.js +1 -1
  56. package/dist/apps/cli/src/session/index.js +1 -1
  57. package/dist/apps/cli/src/session/session-compaction.js +1 -1
  58. package/dist/apps/cli/src/session/session-continuation.js +1 -1
  59. package/dist/apps/cli/src/session/session-control.js +1 -1
  60. package/dist/apps/cli/src/session/session-fork.js +1 -1
  61. package/dist/apps/cli/src/session/session-manager.js +1 -1
  62. package/dist/apps/cli/src/session/session-transcript.js +1 -1
  63. package/dist/apps/cli/src/tui/index.js +1 -1
  64. package/dist/apps/cli/src/tui/tui-features.js +1 -1
  65. package/dist/apps/cli/src/version.js +1 -1
  66. package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
  67. package/dist/apps/runtime/src/agent/agent.js +1 -1
  68. package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
  69. package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
  70. package/dist/apps/runtime/src/agent/review-init.js +1 -1
  71. package/dist/apps/runtime/src/agent/sota.js +1 -1
  72. package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
  73. package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
  74. package/dist/apps/runtime/src/checkpoints.js +1 -1
  75. package/dist/apps/runtime/src/compaction.js +1 -1
  76. package/dist/apps/runtime/src/config.js +1 -1
  77. package/dist/apps/runtime/src/controller/controller.js +1 -1
  78. package/dist/apps/runtime/src/controller/executor.js +1 -1
  79. package/dist/apps/runtime/src/controller/reviewer.js +1 -1
  80. package/dist/apps/runtime/src/controller/router.js +1 -1
  81. package/dist/apps/runtime/src/controller/state.js +1 -1
  82. package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
  83. package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
  84. package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
  85. package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
  86. package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
  87. package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
  88. package/dist/apps/runtime/src/github-auth.js +1 -1
  89. package/dist/apps/runtime/src/goals.js +1 -1
  90. package/dist/apps/runtime/src/index.js +1 -1
  91. package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
  92. package/dist/apps/runtime/src/license.js +1 -1
  93. package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
  94. package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
  95. package/dist/apps/runtime/src/notifications.js +1 -1
  96. package/dist/apps/runtime/src/planner/planner.js +1 -1
  97. package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
  98. package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
  99. package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
  100. package/dist/apps/runtime/src/prompt/rules.js +1 -1
  101. package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
  102. package/dist/apps/runtime/src/self-improvement.js +1 -1
  103. package/dist/apps/runtime/src/session/session.js +1 -1
  104. package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
  105. package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
  106. package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
  107. package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
  108. package/dist/apps/runtime/src/tools/code/fim.js +1 -1
  109. package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
  110. package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
  111. package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
  112. package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
  113. package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
  114. package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
  115. package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
  116. package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
  117. package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
  118. package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
  119. package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
  120. package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
  121. package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
  122. package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
  123. package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
  124. package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
  125. package/dist/apps/runtime/src/tools/github/github.js +1 -1
  126. package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
  127. package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
  128. package/dist/apps/runtime/src/tools/index.js +1 -1
  129. package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
  130. package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
  131. package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
  132. package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
  133. package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
  134. package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
  135. package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
  136. package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
  137. package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
  138. package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
  139. package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
  140. package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
  141. package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
  142. package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
  143. package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
  144. package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
  145. package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
  146. package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
  147. package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
  148. package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
  149. package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
  150. package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
  151. package/dist/apps/runtime/src/tools/text/csv.js +1 -1
  152. package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
  153. package/dist/apps/runtime/src/tools/text/diff.js +1 -1
  154. package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
  155. package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
  156. package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
  157. package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
  158. package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
  159. package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
  160. package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
  161. package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
  162. package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
  163. package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
  164. package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
  165. package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
  166. package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
  167. package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
  168. package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
  169. package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
  170. package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
  171. package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
  172. package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
  173. package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
  174. package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
  175. package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
  176. package/dist/apps/runtime/src/tools/types.js +1 -1
  177. package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
  178. package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
  179. package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
  180. package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
  181. package/dist/apps/runtime/src/update/auto-update.js +1 -1
  182. package/dist/packages/acp/src/index.js +1 -1
  183. package/dist/packages/approval/src/index.js +1 -1
  184. package/dist/packages/checkpoints/src/index.js +1 -1
  185. package/dist/packages/cli/src/commands/registry.js +1 -1
  186. package/dist/packages/client/src/index.js +1 -1
  187. package/dist/packages/coding-agent/src/index.js +1 -1
  188. package/dist/packages/core/src/agent_communication.js +1 -1
  189. package/dist/packages/core/src/agent_registry.js +1 -1
  190. package/dist/packages/core/src/agents_md.js +1 -1
  191. package/dist/packages/core/src/analytics.js +1 -1
  192. package/dist/packages/core/src/approval.js +1 -1
  193. package/dist/packages/core/src/auth.js +1 -1
  194. package/dist/packages/core/src/context/compactor.js +1 -1
  195. package/dist/packages/core/src/cron/scheduler.js +1 -1
  196. package/dist/packages/core/src/curator/librarian.js +1 -1
  197. package/dist/packages/core/src/env_filter.js +1 -1
  198. package/dist/packages/core/src/extension_api.js +1 -1
  199. package/dist/packages/core/src/feature_flags.js +1 -1
  200. package/dist/packages/core/src/hook_runtime.js +1 -1
  201. package/dist/packages/core/src/i18n.js +1 -1
  202. package/dist/packages/core/src/memory/manager.js +1 -1
  203. package/dist/packages/core/src/memory/provider.js +1 -1
  204. package/dist/packages/core/src/plan_mode.js +1 -1
  205. package/dist/packages/core/src/process.js +1 -1
  206. package/dist/packages/core/src/providers/manager.js +1 -1
  207. package/dist/packages/core/src/providers/registry.js +1 -1
  208. package/dist/packages/core/src/rollout_budget.js +1 -1
  209. package/dist/packages/core/src/secrets.js +1 -1
  210. package/dist/packages/core/src/session_store.js +1 -1
  211. package/dist/packages/core/src/state_db.js +1 -1
  212. package/dist/packages/core/src/subagents.js +1 -1
  213. package/dist/packages/core/src/token_budget.js +1 -1
  214. package/dist/packages/core/src/toolsets/arsenal.js +1 -1
  215. package/dist/packages/core/src/validate.js +1 -1
  216. package/dist/packages/execpolicy/src/policy.js +1 -1
  217. package/dist/packages/function/src/index.js +1 -1
  218. package/dist/packages/harness/src/index.js +1 -1
  219. package/dist/packages/mcp/src/index.js +1 -1
  220. package/dist/packages/mcp/src/oauth-callback.js +1 -1
  221. package/dist/packages/mcp/src/oauth.js +1 -1
  222. package/dist/packages/mcp/src/spawn-resolve.js +1 -1
  223. package/dist/packages/mcp-server/src/index.js +1 -1
  224. package/dist/packages/modes/src/index.js +1 -1
  225. package/dist/packages/protocol/src/events.js +1 -1
  226. package/dist/packages/protocol/src/messages.js +1 -1
  227. package/dist/packages/protocol/src/permission-rules.js +1 -1
  228. package/dist/packages/protocol/src/permissions.js +1 -1
  229. package/dist/packages/protocol/src/tools.js +1 -1
  230. package/dist/packages/protocol/src/toolsets.js +1 -1
  231. package/dist/packages/protocol/src/util/url.js +1 -1
  232. package/dist/packages/provider/src/anthropic.js +1 -1
  233. package/dist/packages/provider/src/catalog.js +1 -1
  234. package/dist/packages/provider/src/custom.js +1 -1
  235. package/dist/packages/provider/src/faux-stream.js +1 -1
  236. package/dist/packages/provider/src/google.js +1 -1
  237. package/dist/packages/provider/src/huggingface.js +1 -1
  238. package/dist/packages/provider/src/index.js +1 -1
  239. package/dist/packages/provider/src/llama-cpp.js +1 -1
  240. package/dist/packages/provider/src/nvidia.js +1 -1
  241. package/dist/packages/provider/src/ollama.js +1 -1
  242. package/dist/packages/provider/src/openai.js +1 -1
  243. package/dist/packages/provider/src/types.js +1 -1
  244. package/dist/packages/provider/src/xai.js +1 -1
  245. package/dist/packages/sandbox/src/gate.js +1 -1
  246. package/dist/packages/sandbox/src/index.js +1 -1
  247. package/dist/packages/sandbox/src/spawn.js +1 -1
  248. package/dist/packages/sandbox/src/types.js +1 -1
  249. package/dist/packages/sandbox/src/violation.js +1 -1
  250. package/dist/packages/schema/src/index.js +1 -1
  251. package/dist/packages/sdk/src/index.js +1 -1
  252. package/dist/packages/server/src/cors.js +1 -1
  253. package/dist/packages/server/src/daemon.js +1 -1
  254. package/dist/packages/server/src/github-app.js +1 -1
  255. package/dist/packages/server/src/github-autofix.js +1 -1
  256. package/dist/packages/server/src/github-jobs.js +1 -1
  257. package/dist/packages/server/src/github-oauth.js +1 -1
  258. package/dist/packages/server/src/index.js +1 -1
  259. package/dist/packages/server/src/install-ps1.js +1 -1
  260. package/dist/packages/server/src/license-store.js +1 -1
  261. package/dist/packages/session-backends/src/index.js +1 -1
  262. package/dist/packages/session-backends/src/transcript.js +1 -1
  263. package/dist/packages/telemetry/src/index.js +1 -1
  264. package/dist/packages/tui/src/app/app-state.js +1 -1
  265. package/dist/packages/tui/src/app/events.js +1 -1
  266. package/dist/packages/tui/src/approval-notification.js +1 -1
  267. package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
  268. package/dist/packages/tui/src/bottom_pane/index.js +1 -1
  269. package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
  270. package/dist/packages/tui/src/chatwidget/index.js +1 -1
  271. package/dist/packages/tui/src/dialogs.js +1 -1
  272. package/dist/packages/tui/src/index.js +1 -1
  273. package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
  274. package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
  275. package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
  276. package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
  277. package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
  278. package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
  279. package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
  280. package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
  281. package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
  282. package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
  283. package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
  284. package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
  285. package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
  286. package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
  287. package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
  288. package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
  289. package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
  290. package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
  291. package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
  292. package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
  293. package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
  294. package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
  295. package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
  296. package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
  297. package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
  298. package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
  299. package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
  300. package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
  301. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
  302. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
  303. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
  304. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
  305. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
  306. package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
  307. package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
  308. package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
  309. package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
  310. package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
  311. package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
  312. package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
  313. package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
  314. package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
  315. package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
  316. package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
  317. package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
  318. package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
  319. package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
  320. package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
  321. package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
  322. package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
  323. package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
  324. package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
  325. package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
  326. package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
  327. package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
  328. package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
  329. package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
  330. package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
  331. package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
  332. package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
  333. package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
  334. package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
  335. package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
  336. package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
  337. package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
  338. package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
  339. package/dist/packages/tui/src/keybindings.js +1 -1
  340. package/dist/packages/tui/src/keys.js +1 -1
  341. package/dist/packages/tui/src/notifications.js +1 -1
  342. package/dist/packages/tui/src/premium-ui.js +1 -1
  343. package/dist/packages/tui/src/stdin-buffer.js +1 -1
  344. package/dist/packages/tui/src/terminal-ui.js +1 -1
  345. package/dist/packages/tui/src/tui/terminal.js +1 -1
  346. package/dist/packages/tui/src/ui/border.js +1 -1
  347. package/dist/packages/tui/src/ui/box.js +1 -1
  348. package/dist/packages/tui/src/ui/dialog.js +1 -1
  349. package/dist/packages/tui/src/ui/footer-mode.js +1 -1
  350. package/dist/packages/tui/src/ui/footer.js +1 -1
  351. package/dist/packages/tui/src/ui/key-hint.js +1 -1
  352. package/dist/packages/tui/src/ui/skt-themes.js +1 -1
  353. package/dist/packages/tui/src/ui/spinner.js +1 -1
  354. package/dist/packages/tui/src/ui/theme.js +1 -1
  355. package/dist/packages/tui/src/ui/toast.js +1 -1
  356. package/dist/packages/tui/src/ui/tool-display.js +1 -1
  357. package/dist/packages/tui/src/ui/tool-palette.js +1 -1
  358. package/dist/skt/0-points/points.js +1 -1
  359. package/dist/skt/1-errors/mistake.js +1 -1
  360. package/dist/skt/1-errors/penalty.js +1 -1
  361. package/dist/skt/10-upload/upload.js +1 -1
  362. package/dist/skt/11-ui/components.js +1 -1
  363. package/dist/skt/12-control/content-control.js +1 -1
  364. package/dist/skt/12-control/hallucination.js +1 -1
  365. package/dist/skt/12-control/points.js +1 -1
  366. package/dist/skt/12-control/repetition.js +1 -1
  367. package/dist/skt/12-control/verification.js +1 -1
  368. package/dist/skt/13-healing/ast-validator.js +1 -1
  369. package/dist/skt/13-healing/healing-controller.js +1 -1
  370. package/dist/skt/13-healing/journal.js +1 -1
  371. package/dist/skt/13-healing/rollback.js +1 -1
  372. package/dist/skt/13-healing/scratchpad.js +1 -1
  373. package/dist/skt/13-healing/subprocess.js +1 -1
  374. package/dist/skt/13-healing/verify.js +1 -1
  375. package/dist/skt/14-hooks/codec.js +1 -1
  376. package/dist/skt/14-hooks/events.js +1 -1
  377. package/dist/skt/14-hooks/matcher.js +1 -1
  378. package/dist/skt/14-hooks/merge.js +1 -1
  379. package/dist/skt/14-hooks/runner.js +1 -1
  380. package/dist/skt/14-hooks/types.js +1 -1
  381. package/dist/skt/3-user/instructions.js +1 -1
  382. package/dist/skt/4-mem/memory.js +1 -1
  383. package/dist/skt/5-eval/cot-chain.js +1 -1
  384. package/dist/skt/5-eval/cot.js +1 -1
  385. package/dist/skt/5-eval/eval.js +1 -1
  386. package/dist/skt/6-u/improvements.js +1 -1
  387. package/dist/skt/6-u/reward.js +1 -1
  388. package/dist/skt/7-cli/autorepair.js +1 -1
  389. package/dist/skt/7-cli/clibugs.js +1 -1
  390. package/dist/skt/7-cli/reinstall.js +1 -1
  391. package/dist/skt/7-cli/reset.js +1 -1
  392. package/dist/skt/9-session/session.js +1 -1
  393. package/dist/skt/context.js +1 -1
  394. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x537fee,_0x41e670,_0x3c3e61,_0x262f11){if(_0x262f11===undefined)_0x262f11=_0x3c3e61;var _0x55bac4=Object['getOwnPropertyDescriptor'](_0x41e670,_0x3c3e61);(!_0x55bac4||('get'in _0x55bac4?!_0x41e670['__esModule']:_0x55bac4['writable']||_0x55bac4['configurable']))&&(_0x55bac4={'enumerable':!![],'get':function(){return _0x41e670[_0x3c3e61];}}),Object['defineProperty'](_0x537fee,_0x262f11,_0x55bac4);}:function(_0xb7c201,_0x12d5ab,_0x1105ce,_0x3c7b49){if(_0x3c7b49===undefined)_0x3c7b49=_0x1105ce;_0xb7c201[_0x3c7b49]=_0x12d5ab[_0x1105ce];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1a18f8,_0x4bb77c){Object['defineProperty'](_0x1a18f8,'default',{'enumerable':!![],'value':_0x4bb77c});}:function(_0x14b7bd,_0x180411){_0x14b7bd['default']=_0x180411;}),__importStar=this&&this['__importStar']||(function(){var _0x317df9=function(_0x154dcb){return _0x317df9=Object['getOwnPropertyNames']||function(_0x599ba2){var _0x3a0589=[];for(var _0x8a7f90 in _0x599ba2)if(Object['prototype']['hasOwnProperty']['call'](_0x599ba2,_0x8a7f90))_0x3a0589[_0x3a0589['length']]=_0x8a7f90;return _0x3a0589;},_0x317df9(_0x154dcb);};return function(_0x4d1776){if(_0x4d1776&&_0x4d1776['__esModule'])return _0x4d1776;var _0x175095={};if(_0x4d1776!=null){for(var _0x132c82=_0x317df9(_0x4d1776),_0x326e4e=0x0;_0x326e4e<_0x132c82['length'];_0x326e4e++)if(_0x132c82[_0x326e4e]!=='default')__createBinding(_0x175095,_0x4d1776,_0x132c82[_0x326e4e]);}return __setModuleDefault(_0x175095,_0x4d1776),_0x175095;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PolicyManager']=exports['PolicyParser']=exports['ExecDecision']=exports['NetworkRuleProtocol']=void 0x0,exports['domainMatches']=domainMatches,exports['getPolicyManager']=getPolicyManager,exports['userPolicyCandidates']=userPolicyCandidates,exports['discoverUserPolicyFile']=discoverUserPolicyFile,exports['createPolicyManagerForRoots']=createPolicyManagerForRoots,exports['evaluatePolicy']=evaluatePolicy;const fs_1=require('fs'),os=__importStar(require('os')),path=__importStar(require('path'));var NetworkRuleProtocol;(function(NetworkRuleProtocol){NetworkRuleProtocol['Http']='http',NetworkRuleProtocol['Https']='https',NetworkRuleProtocol['All']='all';}(NetworkRuleProtocol||(exports['NetworkRuleProtocol']=NetworkRuleProtocol={})));var ExecDecision;(function(ExecDecision){ExecDecision['Allow']='allow',ExecDecision['Deny']='deny',ExecDecision['Ask']='ask';}(ExecDecision||(exports['ExecDecision']=ExecDecision={})));class PolicyParser{['parse'](_0x26be32,_0x7a9409){const _0x5d38f6=[],_0x4ed6d5=[],_0x3245d7=_0x26be32['split']('\x0a');for(const _0x9d794 of _0x3245d7){const _0xb31f66=_0x9d794['trim']();if(!_0xb31f66||_0xb31f66['startsWith']('#'))continue;const _0x4ae37d=this['parseLine'](_0xb31f66);_0x4ae37d&&(_0x4ae37d['networkProtocol']?_0x4ed6d5['push']({'domain':_0x4ae37d['pattern'],'action':_0x4ae37d['action'],'protocol':_0x4ae37d['networkProtocol']}):_0x5d38f6['push'](_0x4ae37d));}return{'rules':_0x5d38f6,'networkRules':_0x4ed6d5,'file':_0x7a9409,'lastModified':Date['now']()};}['parseLine'](_0x3db2af){const _0x425f9a=_0x3db2af['split'](/\s+/);if(_0x425f9a['length']<0x2)return null;const _0x3750fc=_0x4dd262=>[ExecDecision['Allow'],ExecDecision['Deny'],ExecDecision['Ask']]['includes'](_0x4dd262),_0x13ce62=_0x425f9a['findIndex'](_0x2967ad=>_0x3750fc(_0x2967ad)),_0x3e836b=_0x13ce62===-0x1?_0x425f9a:_0x425f9a['slice'](0x0,_0x13ce62),_0x58c048=_0x13ce62===-0x1?ExecDecision['Deny']:_0x425f9a[_0x13ce62],_0x25b8f5=_0x13ce62===-0x1?[]:_0x425f9a['slice'](_0x13ce62+0x1),_0x2e06dd=_0x25b8f5['find'](_0x140f95=>['http','https','all']['includes'](_0x140f95)),_0x484bd7=_0x3e836b['join']('\x20');if(!_0x484bd7)return null;const _0xfbde78=_0x25b8f5['find'](_0x469874=>_0x469874!==_0x2e06dd&&!_0x469874['startsWith']('http://')&&!_0x469874['startsWith']('https://'));return{'pattern':_0x484bd7,'action':_0x58c048,'reason':_0xfbde78,'networkProtocol':_0x2e06dd};}}exports['PolicyParser']=PolicyParser;function domainMatches(_0x43743f,_0x34ea4a){const _0x214c9d=_0x8df01a=>{let _0x2f9d2d=_0x8df01a['trim']()['toLowerCase']();const _0x130538=_0x2f9d2d['split'](':');if(_0x130538['length']===0x2&&/^\d+$/['test'](_0x130538[0x1]))_0x2f9d2d=_0x130538[0x0];return _0x2f9d2d['replace'](/^\*\.+/,'')['replace'](/\.$/,'');},_0x86f0c6=_0x214c9d(_0x43743f),_0x52c1cd=_0x214c9d(_0x34ea4a);if(!_0x52c1cd)return![];return _0x86f0c6===_0x52c1cd||_0x86f0c6['endsWith']('.'+_0x52c1cd);}class PolicyManager{['policy']=null;['watchers']=new Map();['parser']=new PolicyParser();['mode']='replace';['load'](_0x252723){if(!(0x0,fs_1['existsSync'])(_0x252723))return this['getDefaultPolicy']();const _0x1624f5=(0x0,fs_1['readFileSync'])(_0x252723,'utf8');return this['policy']=this['parser']['parse'](_0x1624f5,_0x252723),this['mode']='replace',this['watch'](_0x252723),this['policy'];}['loadUserPolicy'](_0x7dd28f){const _0x51265b=this['getDefaultPolicy']();let _0x37f35f=null;try{if((0x0,fs_1['existsSync'])(_0x7dd28f))_0x37f35f=(0x0,fs_1['readFileSync'])(_0x7dd28f,'utf8');}catch{_0x37f35f=null;}if(_0x37f35f===null)return this['policy']=_0x51265b,_0x51265b;const _0x2f258b=this['parser']['parse'](_0x37f35f,_0x7dd28f),_0x25cde9={'rules':[..._0x51265b['rules'],..._0x2f258b['rules']],'networkRules':[..._0x51265b['networkRules'],..._0x2f258b['networkRules']],'file':_0x2f258b['file'],'lastModified':_0x2f258b['lastModified']};return this['policy']=_0x25cde9,this['mode']='merge',this['watch'](_0x7dd28f),_0x25cde9;}['getPolicy'](){if(!this['policy'])return this['getDefaultPolicy']();return this['policy'];}['evaluate'](_0x2d3c7a){const _0x331e7a=this['getPolicy']();for(const _0x5e771c of _0x331e7a['rules']){if(this['matchPattern'](_0x5e771c['pattern'],_0x2d3c7a)&&_0x5e771c['action']===ExecDecision['Deny'])return ExecDecision['Deny'];}for(const _0x2bed1f of _0x331e7a['rules']){if(this['matchPattern'](_0x2bed1f['pattern'],_0x2d3c7a)&&_0x2bed1f['action']===ExecDecision['Allow'])return ExecDecision['Allow'];}return ExecDecision['Ask'];}['evaluateNetwork'](_0x5508e0){const _0xcdcd6c=this['getPolicy']();for(const _0x7503a7 of _0xcdcd6c['networkRules']){if(domainMatches(_0x5508e0,_0x7503a7['domain']))return _0x7503a7['action'];}return ExecDecision['Ask'];}['amend'](_0xb4a77c){const _0x48e1c2=this['policy']??this['getDefaultPolicy']();if(_0xb4a77c['rules'])for(const _0x35bb00 of _0xb4a77c['rules']){if(_0xb4a77c['action']==='add')_0x48e1c2['rules']['push'](_0x35bb00);else{if(_0xb4a77c['action']==='remove'){const _0x3225d0=_0x48e1c2['rules']['findIndex'](_0x41a182=>_0x41a182['pattern']===_0x35bb00['pattern']);if(_0x3225d0>=0x0)_0x48e1c2['rules']['splice'](_0x3225d0,0x1);}}}if(_0xb4a77c['networkRules'])for(const _0x5f547f of _0xb4a77c['networkRules']){_0xb4a77c['action']==='add'&&_0x48e1c2['networkRules']['push'](_0x5f547f);}this['policy']=_0x48e1c2,_0x48e1c2['lastModified']=Date['now'](),this['watch'](_0x48e1c2['file']);}['reload'](_0x36a099){this['mode']==='merge'?this['loadUserPolicy'](_0x36a099):this['load'](_0x36a099);}['watch'](_0x2da057){try{const _0x15c72e=(0x0,fs_1['watch'])(_0x2da057,()=>{this['reload'](_0x2da057);});_0x15c72e['on']('error',()=>{try{_0x15c72e['close']();}catch{}this['watchers']['delete'](_0x2da057);}),this['watchers']['set'](_0x2da057,_0x15c72e);}catch{}}['getDefaultPolicy'](){return{'rules':[{'pattern':'rm\x20-rf\x20/*','action':ExecDecision['Deny'],'reason':'recursive\x20force\x20delete'},{'pattern':'rm\x20-rf\x20~*','action':ExecDecision['Deny'],'reason':'recursive\x20force\x20delete'},{'pattern':'format\x20*','action':ExecDecision['Deny'],'reason':'disk\x20format'},{'pattern':'shutdown\x20*','action':ExecDecision['Deny'],'reason':'system\x20power'},{'pattern':'sudo\x20*','action':ExecDecision['Deny'],'reason':'privilege\x20escalation'},{'pattern':'mkfs*','action':ExecDecision['Deny'],'reason':'filesystem\x20format'},{'pattern':'dd\x20*of=*','action':ExecDecision['Deny'],'reason':'raw\x20disk\x20write'},{'pattern':'reg\x20delete\x20*','action':ExecDecision['Deny'],'reason':'Windows\x20registry\x20delete'},{'pattern':'*\x20|\x20sh','action':ExecDecision['Deny'],'reason':'pipe-to-shell\x20download'},{'pattern':'*\x20|\x20bash','action':ExecDecision['Deny'],'reason':'pipe-to-shell\x20download'}],'networkRules':[],'file':'(default)','lastModified':Date['now']()};}['matchPattern'](_0x178c25,_0x38eff6){const _0x1826f9=_0x178c25['replace'](/[.+^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*/g,'.*')['replace'](/\?/g,'.');return new RegExp('^'+_0x1826f9+'$','i')['test'](_0x38eff6);}}exports['PolicyManager']=PolicyManager;let defaultManager=null;function getPolicyManager(){return!defaultManager&&(defaultManager=createPolicyManagerForRoots(resolveRoot(()=>process['cwd']()),resolveRoot(()=>os['homedir']()))),defaultManager;}function userPolicyCandidates(_0x4173eb,_0x2e90d6){const _0x3bd751=[];if(_0x4173eb)_0x3bd751['push'](path['join'](_0x4173eb,'.trayambak','policy.rules'));if(_0x2e90d6)_0x3bd751['push'](path['join'](_0x2e90d6,'.trayambak','policy.rules'));return _0x3bd751;}function discoverUserPolicyFile(_0x15f795,_0x8083f1){for(const _0x2a2be1 of userPolicyCandidates(_0x15f795,_0x8083f1)){try{if((0x0,fs_1['existsSync'])(_0x2a2be1))return _0x2a2be1;}catch{}}return null;}function createPolicyManagerForRoots(_0x1a31c6,_0x2b4dea){const _0x196e42=new PolicyManager(),_0x4b12c7=discoverUserPolicyFile(_0x1a31c6,_0x2b4dea);if(_0x4b12c7)_0x196e42['loadUserPolicy'](_0x4b12c7);return _0x196e42;}function resolveRoot(_0x32dc06){try{return _0x32dc06();}catch{return'';}}function evaluatePolicy(_0x7c9298){return getPolicyManager()['evaluate'](_0x7c9298);}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x140424,_0x11d4fd,_0xdc7121,_0x2ea789){if(_0x2ea789===undefined)_0x2ea789=_0xdc7121;var _0x17d6ba=Object['getOwnPropertyDescriptor'](_0x11d4fd,_0xdc7121);(!_0x17d6ba||('get'in _0x17d6ba?!_0x11d4fd['__esModule']:_0x17d6ba['writable']||_0x17d6ba['configurable']))&&(_0x17d6ba={'enumerable':!![],'get':function(){return _0x11d4fd[_0xdc7121];}}),Object['defineProperty'](_0x140424,_0x2ea789,_0x17d6ba);}:function(_0x4c6c4e,_0x3c74e3,_0x2b71e1,_0x5105c0){if(_0x5105c0===undefined)_0x5105c0=_0x2b71e1;_0x4c6c4e[_0x5105c0]=_0x3c74e3[_0x2b71e1];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2f7433,_0x54ef8f){Object['defineProperty'](_0x2f7433,'default',{'enumerable':!![],'value':_0x54ef8f});}:function(_0x360578,_0x368c96){_0x360578['default']=_0x368c96;}),__importStar=this&&this['__importStar']||(function(){var _0xdcaec2=function(_0x1a83dc){return _0xdcaec2=Object['getOwnPropertyNames']||function(_0x175a94){var _0x3fb131=[];for(var _0x4dde41 in _0x175a94)if(Object['prototype']['hasOwnProperty']['call'](_0x175a94,_0x4dde41))_0x3fb131[_0x3fb131['length']]=_0x4dde41;return _0x3fb131;},_0xdcaec2(_0x1a83dc);};return function(_0x3778de){if(_0x3778de&&_0x3778de['__esModule'])return _0x3778de;var _0x3ed1b4={};if(_0x3778de!=null){for(var _0x3ea7d4=_0xdcaec2(_0x3778de),_0x2ca11b=0x0;_0x2ca11b<_0x3ea7d4['length'];_0x2ca11b++)if(_0x3ea7d4[_0x2ca11b]!=='default')__createBinding(_0x3ed1b4,_0x3778de,_0x3ea7d4[_0x2ca11b]);}return __setModuleDefault(_0x3ed1b4,_0x3778de),_0x3ed1b4;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PolicyManager']=exports['PolicyParser']=exports['ExecDecision']=exports['NetworkRuleProtocol']=void 0x0,exports['domainMatches']=domainMatches,exports['getPolicyManager']=getPolicyManager,exports['userPolicyCandidates']=userPolicyCandidates,exports['discoverUserPolicyFile']=discoverUserPolicyFile,exports['createPolicyManagerForRoots']=createPolicyManagerForRoots,exports['evaluatePolicy']=evaluatePolicy;const fs_1=require('fs'),os=__importStar(require('os')),path=__importStar(require('path'));var NetworkRuleProtocol;(function(NetworkRuleProtocol){NetworkRuleProtocol['Http']='http',NetworkRuleProtocol['Https']='https',NetworkRuleProtocol['All']='all';}(NetworkRuleProtocol||(exports['NetworkRuleProtocol']=NetworkRuleProtocol={})));var ExecDecision;(function(ExecDecision){ExecDecision['Allow']='allow',ExecDecision['Deny']='deny',ExecDecision['Ask']='ask';}(ExecDecision||(exports['ExecDecision']=ExecDecision={})));class PolicyParser{['parse'](_0x37d8e4,_0x4d0202){const _0x7e5caa=[],_0xc8eff4=[],_0x5224de=_0x37d8e4['split']('\x0a');for(const _0x42809a of _0x5224de){const _0x389d68=_0x42809a['trim']();if(!_0x389d68||_0x389d68['startsWith']('#'))continue;const _0x4b8066=this['parseLine'](_0x389d68);_0x4b8066&&(_0x4b8066['networkProtocol']?_0xc8eff4['push']({'domain':_0x4b8066['pattern'],'action':_0x4b8066['action'],'protocol':_0x4b8066['networkProtocol']}):_0x7e5caa['push'](_0x4b8066));}return{'rules':_0x7e5caa,'networkRules':_0xc8eff4,'file':_0x4d0202,'lastModified':Date['now']()};}['parseLine'](_0x49e820){const _0x172fb0=_0x49e820['split'](/\s+/);if(_0x172fb0['length']<0x2)return null;const _0x394301=_0x5360e9=>[ExecDecision['Allow'],ExecDecision['Deny'],ExecDecision['Ask']]['includes'](_0x5360e9),_0xe9dc35=_0x172fb0['findIndex'](_0x52ef4f=>_0x394301(_0x52ef4f)),_0x1003aa=_0xe9dc35===-0x1?_0x172fb0:_0x172fb0['slice'](0x0,_0xe9dc35),_0x488916=_0xe9dc35===-0x1?ExecDecision['Deny']:_0x172fb0[_0xe9dc35],_0x5db504=_0xe9dc35===-0x1?[]:_0x172fb0['slice'](_0xe9dc35+0x1),_0x479d1c=_0x5db504['find'](_0x144a23=>['http','https','all']['includes'](_0x144a23)),_0x2e17b0=_0x1003aa['join']('\x20');if(!_0x2e17b0)return null;const _0x12c372=_0x5db504['find'](_0x4ea323=>_0x4ea323!==_0x479d1c&&!_0x4ea323['startsWith']('http://')&&!_0x4ea323['startsWith']('https://'));return{'pattern':_0x2e17b0,'action':_0x488916,'reason':_0x12c372,'networkProtocol':_0x479d1c};}}exports['PolicyParser']=PolicyParser;function domainMatches(_0x290052,_0xd6b74){const _0x2d8260=_0x14ba6b=>{let _0x421c73=_0x14ba6b['trim']()['toLowerCase']();const _0x352d3e=_0x421c73['split'](':');if(_0x352d3e['length']===0x2&&/^\d+$/['test'](_0x352d3e[0x1]))_0x421c73=_0x352d3e[0x0];return _0x421c73['replace'](/^\*\.+/,'')['replace'](/\.$/,'');},_0x4f1463=_0x2d8260(_0x290052),_0x1b6063=_0x2d8260(_0xd6b74);if(!_0x1b6063)return![];return _0x4f1463===_0x1b6063||_0x4f1463['endsWith']('.'+_0x1b6063);}class PolicyManager{['policy']=null;['watchers']=new Map();['parser']=new PolicyParser();['mode']='replace';['load'](_0x369de0){if(!(0x0,fs_1['existsSync'])(_0x369de0))return this['getDefaultPolicy']();const _0x28f818=(0x0,fs_1['readFileSync'])(_0x369de0,'utf8');return this['policy']=this['parser']['parse'](_0x28f818,_0x369de0),this['mode']='replace',this['watch'](_0x369de0),this['policy'];}['loadUserPolicy'](_0x2678de){const _0xb3ee86=this['getDefaultPolicy']();let _0x33d1d9=null;try{if((0x0,fs_1['existsSync'])(_0x2678de))_0x33d1d9=(0x0,fs_1['readFileSync'])(_0x2678de,'utf8');}catch{_0x33d1d9=null;}if(_0x33d1d9===null)return this['policy']=_0xb3ee86,_0xb3ee86;const _0x28b388=this['parser']['parse'](_0x33d1d9,_0x2678de),_0x24c6bf={'rules':[..._0xb3ee86['rules'],..._0x28b388['rules']],'networkRules':[..._0xb3ee86['networkRules'],..._0x28b388['networkRules']],'file':_0x28b388['file'],'lastModified':_0x28b388['lastModified']};return this['policy']=_0x24c6bf,this['mode']='merge',this['watch'](_0x2678de),_0x24c6bf;}['getPolicy'](){if(!this['policy'])return this['getDefaultPolicy']();return this['policy'];}['evaluate'](_0x15b3f1){const _0x29b237=this['getPolicy']();for(const _0x57f902 of _0x29b237['rules']){if(this['matchPattern'](_0x57f902['pattern'],_0x15b3f1)&&_0x57f902['action']===ExecDecision['Deny'])return ExecDecision['Deny'];}for(const _0x3bedc0 of _0x29b237['rules']){if(this['matchPattern'](_0x3bedc0['pattern'],_0x15b3f1)&&_0x3bedc0['action']===ExecDecision['Allow'])return ExecDecision['Allow'];}return ExecDecision['Ask'];}['evaluateNetwork'](_0xb2986b){const _0x4ccbb5=this['getPolicy']();for(const _0x484725 of _0x4ccbb5['networkRules']){if(domainMatches(_0xb2986b,_0x484725['domain']))return _0x484725['action'];}return ExecDecision['Ask'];}['amend'](_0xc5034d){const _0x295303=this['policy']??this['getDefaultPolicy']();if(_0xc5034d['rules'])for(const _0x5ae39b of _0xc5034d['rules']){if(_0xc5034d['action']==='add')_0x295303['rules']['push'](_0x5ae39b);else{if(_0xc5034d['action']==='remove'){const _0x5acd04=_0x295303['rules']['findIndex'](_0x55c9ee=>_0x55c9ee['pattern']===_0x5ae39b['pattern']);if(_0x5acd04>=0x0)_0x295303['rules']['splice'](_0x5acd04,0x1);}}}if(_0xc5034d['networkRules'])for(const _0x419cf6 of _0xc5034d['networkRules']){_0xc5034d['action']==='add'&&_0x295303['networkRules']['push'](_0x419cf6);}this['policy']=_0x295303,_0x295303['lastModified']=Date['now'](),this['watch'](_0x295303['file']);}['reload'](_0x17198b){this['mode']==='merge'?this['loadUserPolicy'](_0x17198b):this['load'](_0x17198b);}['watch'](_0x5b59b7){try{const _0x409f13=(0x0,fs_1['watch'])(_0x5b59b7,()=>{this['reload'](_0x5b59b7);});_0x409f13['on']('error',()=>{try{_0x409f13['close']();}catch{}this['watchers']['delete'](_0x5b59b7);}),this['watchers']['set'](_0x5b59b7,_0x409f13);}catch{}}['getDefaultPolicy'](){return{'rules':[{'pattern':'rm\x20-rf\x20/*','action':ExecDecision['Deny'],'reason':'recursive\x20force\x20delete'},{'pattern':'rm\x20-rf\x20~*','action':ExecDecision['Deny'],'reason':'recursive\x20force\x20delete'},{'pattern':'format\x20*','action':ExecDecision['Deny'],'reason':'disk\x20format'},{'pattern':'shutdown\x20*','action':ExecDecision['Deny'],'reason':'system\x20power'},{'pattern':'sudo\x20*','action':ExecDecision['Deny'],'reason':'privilege\x20escalation'},{'pattern':'mkfs*','action':ExecDecision['Deny'],'reason':'filesystem\x20format'},{'pattern':'dd\x20*of=*','action':ExecDecision['Deny'],'reason':'raw\x20disk\x20write'},{'pattern':'reg\x20delete\x20*','action':ExecDecision['Deny'],'reason':'Windows\x20registry\x20delete'},{'pattern':'*\x20|\x20sh','action':ExecDecision['Deny'],'reason':'pipe-to-shell\x20download'},{'pattern':'*\x20|\x20bash','action':ExecDecision['Deny'],'reason':'pipe-to-shell\x20download'}],'networkRules':[],'file':'(default)','lastModified':Date['now']()};}['matchPattern'](_0x35b39e,_0x484403){const _0x5988e7=_0x35b39e['replace'](/[.+^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*/g,'.*')['replace'](/\?/g,'.');return new RegExp('^'+_0x5988e7+'$','i')['test'](_0x484403);}}exports['PolicyManager']=PolicyManager;let defaultManager=null;function getPolicyManager(){return!defaultManager&&(defaultManager=createPolicyManagerForRoots(resolveRoot(()=>process['cwd']()),resolveRoot(()=>os['homedir']()))),defaultManager;}function userPolicyCandidates(_0x13c418,_0x535799){const _0x5d95c0=[];if(_0x13c418)_0x5d95c0['push'](path['join'](_0x13c418,'.trayambak','policy.rules'));if(_0x535799)_0x5d95c0['push'](path['join'](_0x535799,'.trayambak','policy.rules'));return _0x5d95c0;}function discoverUserPolicyFile(_0x59529a,_0x47d085){for(const _0x540430 of userPolicyCandidates(_0x59529a,_0x47d085)){try{if((0x0,fs_1['existsSync'])(_0x540430))return _0x540430;}catch{}}return null;}function createPolicyManagerForRoots(_0x2488d9,_0x5557fa){const _0x3a8cd7=new PolicyManager(),_0x4dd3bc=discoverUserPolicyFile(_0x2488d9,_0x5557fa);if(_0x4dd3bc)_0x3a8cd7['loadUserPolicy'](_0x4dd3bc);return _0x3a8cd7;}function resolveRoot(_0x5d34f3){try{return _0x5d34f3();}catch{return'';}}function evaluatePolicy(_0x121690){return getPolicyManager()['evaluate'](_0x121690);}
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['FunctionRegistry']=void 0x0,exports['createFunctionRegistry']=createFunctionRegistry;class FunctionRegistry{['byName']=new Map();['register'](_0x39f2a2){this['byName']['set'](_0x39f2a2['definition']['name'],_0x39f2a2);}['registerAll'](_0x26984e){for(const _0x39cd82 of _0x26984e)this['register'](_0x39cd82);}['get'](_0x485657){return this['byName']['get'](_0x485657);}['definitions'](){return[...this['byName']['values']()]['map'](_0xd60981=>_0xd60981['definition']);}['names'](){return[...this['byName']['keys']()];}}exports['FunctionRegistry']=FunctionRegistry;function createFunctionRegistry(_0x3adf6b){const _0x4764e3=new FunctionRegistry();return _0x4764e3['registerAll'](_0x3adf6b),_0x4764e3;}
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['FunctionRegistry']=void 0x0,exports['createFunctionRegistry']=createFunctionRegistry;class FunctionRegistry{['byName']=new Map();['register'](_0x13174d){this['byName']['set'](_0x13174d['definition']['name'],_0x13174d);}['registerAll'](_0x45a3be){for(const _0x46e5a1 of _0x45a3be)this['register'](_0x46e5a1);}['get'](_0x43d692){return this['byName']['get'](_0x43d692);}['definitions'](){return[...this['byName']['values']()]['map'](_0x509ace=>_0x509ace['definition']);}['names'](){return[...this['byName']['keys']()];}}exports['FunctionRegistry']=FunctionRegistry;function createFunctionRegistry(_0x4c36b9){const _0x2783dd=new FunctionRegistry();return _0x2783dd['registerAll'](_0x4c36b9),_0x2783dd;}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x11fa5c,_0xb154ff,_0x500a7a,_0x14acad){if(_0x14acad===undefined)_0x14acad=_0x500a7a;var _0x49ef48=Object['getOwnPropertyDescriptor'](_0xb154ff,_0x500a7a);(!_0x49ef48||('get'in _0x49ef48?!_0xb154ff['__esModule']:_0x49ef48['writable']||_0x49ef48['configurable']))&&(_0x49ef48={'enumerable':!![],'get':function(){return _0xb154ff[_0x500a7a];}}),Object['defineProperty'](_0x11fa5c,_0x14acad,_0x49ef48);}:function(_0x2781f0,_0xa0e381,_0x46614c,_0x49de01){if(_0x49de01===undefined)_0x49de01=_0x46614c;_0x2781f0[_0x49de01]=_0xa0e381[_0x46614c];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2b8d67,_0x79914b){Object['defineProperty'](_0x2b8d67,'default',{'enumerable':!![],'value':_0x79914b});}:function(_0x1644ad,_0x3376dd){_0x1644ad['default']=_0x3376dd;}),__importStar=this&&this['__importStar']||(function(){var _0x1a66d7=function(_0x37b5ed){return _0x1a66d7=Object['getOwnPropertyNames']||function(_0xae8c74){var _0x85936d=[];for(var _0x56c358 in _0xae8c74)if(Object['prototype']['hasOwnProperty']['call'](_0xae8c74,_0x56c358))_0x85936d[_0x85936d['length']]=_0x56c358;return _0x85936d;},_0x1a66d7(_0x37b5ed);};return function(_0x32a1df){if(_0x32a1df&&_0x32a1df['__esModule'])return _0x32a1df;var _0x312266={};if(_0x32a1df!=null){for(var _0x586c8e=_0x1a66d7(_0x32a1df),_0xa4227f=0x0;_0xa4227f<_0x586c8e['length'];_0xa4227f++)if(_0x586c8e[_0xa4227f]!=='default')__createBinding(_0x312266,_0x32a1df,_0x586c8e[_0xa4227f]);}return __setModuleDefault(_0x312266,_0x32a1df),_0x312266;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RecursiveTaskRuntime']=exports['HarnessRuntime']=void 0x0;const fs=__importStar(require('fs')),path=__importStar(require('path'));class HarnessRuntime{['state'];['file'];['plugins']=new Map();['contextValue'];constructor(_0x222ec0,_0x33e629='harness_'+Date['now']()['toString'](0x24)){this['file']=path['join'](_0x222ec0,'.trayambak','harness.json'),this['state']=this['load'](_0x33e629),this['contextValue']={'cwd':_0x222ec0,'state':this['state'],'setFact':(_0x5b9883,_0x3476ed)=>{this['state']['facts'][_0x5b9883]=_0x3476ed,this['persist']();},'getFact':_0x534730=>this['state']['facts'][_0x534730]};}async['register'](_0x4577e5){if(this['plugins']['has'](_0x4577e5['name']))return;this['plugins']['set'](_0x4577e5['name'],_0x4577e5),await _0x4577e5['setup']?.(this['contextValue']),this['persist']();}async['emit'](_0x1a2a2d){for(const _0x442083 of this['plugins']['values']()){await _0x442083['onEvent']?.(_0x1a2a2d,this['contextValue']);}this['state']['events']['push'](_0x1a2a2d);if(this['state']['events']['length']>0x64)this['state']['events']['shift']();this['state']['updatedAt']=new Date()['toISOString'](),this['persist']();}['snapshot'](_0x338825){const _0x874590='snapshot_'+Date['now']()['toString'](0x24);this['state']['snapshots']['push']({'id':_0x874590,'label':_0x338825['trim']()||'checkpoint','facts':{...this['state']['facts']},'createdAt':new Date()['toISOString']()});if(this['state']['snapshots']['length']>0x14)this['state']['snapshots']['shift']();return this['persist'](),_0x874590;}['rollback'](_0x298c4e){const _0x2e4790=this['state']['snapshots']['find'](_0x4cffb6=>_0x4cffb6['id']===_0x298c4e);if(!_0x2e4790)throw new Error('Harness\x20snapshot\x20not\x20found:\x20'+_0x298c4e);this['state']['facts']={..._0x2e4790['facts']},this['persist']();}['context'](){const _0x4b2b79=Object['entries'](this['state']['facts'])['map'](([_0x4516b4,_0x4d4b33])=>'\x20\x20-\x20'+_0x4516b4+':\x20'+_0x4d4b33)['join']('\x0a'),_0x44bf6b=[_0x4b2b79?'Durable\x20harness\x20facts:\x0a'+_0x4b2b79:'',...[...this['plugins']['values']()]['map'](_0x34a9ea=>_0x34a9ea['context']?.(this['contextValue']))['filter'](_0xc6e252=>Boolean(_0xc6e252?.['trim']()))];return _0x44bf6b['join']('\x0a');}['load'](_0x207b55){if(!fs['existsSync'](this['file']))return{'version':0x1,'sessionId':_0x207b55,'facts':{},'events':[],'snapshots':[],'updatedAt':new Date()['toISOString']()};const _0x2529d8=JSON['parse'](fs['readFileSync'](this['file'],'utf8'));return{'version':0x1,'sessionId':typeof _0x2529d8['sessionId']==='string'?_0x2529d8['sessionId']:_0x207b55,'facts':_0x2529d8['facts']&&typeof _0x2529d8['facts']==='object'?_0x2529d8['facts']:{},'events':Array['isArray'](_0x2529d8['events'])?_0x2529d8['events']['slice'](-0x64):[],'snapshots':Array['isArray'](_0x2529d8['snapshots'])?_0x2529d8['snapshots']['slice'](-0x14):[],'updatedAt':typeof _0x2529d8['updatedAt']==='string'?_0x2529d8['updatedAt']:new Date()['toISOString']()};}['persist'](){fs['mkdirSync'](path['dirname'](this['file']),{'recursive':!![]}),fs['writeFileSync'](this['file'],JSON['stringify'](this['state'],null,0x2),'utf8');}}exports['HarnessRuntime']=HarnessRuntime;class RecursiveTaskRuntime{['maxDepth'];['maxParallel'];constructor(_0x598114=0x3,_0x5ef8e5=0x3){this['maxDepth']=_0x598114,this['maxParallel']=_0x5ef8e5;}async['run'](_0x2e5bc7,_0x58520d=0x0){if(_0x58520d>this['maxDepth'])throw new Error('Recursive\x20task\x20depth\x20exceeded\x20('+this['maxDepth']+').');return _0x2e5bc7['run']();}async['runParallel'](_0x3cefa5,_0x396675=0x0){if(_0x3cefa5['length']>this['maxParallel'])throw new Error('Parallel\x20task\x20limit\x20exceeded\x20('+this['maxParallel']+').');return Promise['all'](_0x3cefa5['map'](_0x1702b1=>this['run'](_0x1702b1,_0x396675+0x1)));}}exports['RecursiveTaskRuntime']=RecursiveTaskRuntime;
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x2cd1cd,_0x24db69,_0xa1bff1,_0x2bbb8c){if(_0x2bbb8c===undefined)_0x2bbb8c=_0xa1bff1;var _0xd1435=Object['getOwnPropertyDescriptor'](_0x24db69,_0xa1bff1);(!_0xd1435||('get'in _0xd1435?!_0x24db69['__esModule']:_0xd1435['writable']||_0xd1435['configurable']))&&(_0xd1435={'enumerable':!![],'get':function(){return _0x24db69[_0xa1bff1];}}),Object['defineProperty'](_0x2cd1cd,_0x2bbb8c,_0xd1435);}:function(_0x208152,_0x1a8f1d,_0x2f8029,_0x2dfd98){if(_0x2dfd98===undefined)_0x2dfd98=_0x2f8029;_0x208152[_0x2dfd98]=_0x1a8f1d[_0x2f8029];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x59bcdf,_0x5840e0){Object['defineProperty'](_0x59bcdf,'default',{'enumerable':!![],'value':_0x5840e0});}:function(_0x38bff2,_0x5c72cf){_0x38bff2['default']=_0x5c72cf;}),__importStar=this&&this['__importStar']||(function(){var _0x253387=function(_0x265bea){return _0x253387=Object['getOwnPropertyNames']||function(_0x5004e9){var _0x14bec4=[];for(var _0x2c7006 in _0x5004e9)if(Object['prototype']['hasOwnProperty']['call'](_0x5004e9,_0x2c7006))_0x14bec4[_0x14bec4['length']]=_0x2c7006;return _0x14bec4;},_0x253387(_0x265bea);};return function(_0x3289fc){if(_0x3289fc&&_0x3289fc['__esModule'])return _0x3289fc;var _0x3c971d={};if(_0x3289fc!=null){for(var _0xfbcb32=_0x253387(_0x3289fc),_0x308e24=0x0;_0x308e24<_0xfbcb32['length'];_0x308e24++)if(_0xfbcb32[_0x308e24]!=='default')__createBinding(_0x3c971d,_0x3289fc,_0xfbcb32[_0x308e24]);}return __setModuleDefault(_0x3c971d,_0x3289fc),_0x3c971d;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RecursiveTaskRuntime']=exports['HarnessRuntime']=void 0x0;const fs=__importStar(require('fs')),path=__importStar(require('path'));class HarnessRuntime{['state'];['file'];['plugins']=new Map();['contextValue'];constructor(_0x523f82,_0x54b1c0='harness_'+Date['now']()['toString'](0x24)){this['file']=path['join'](_0x523f82,'.trayambak','harness.json'),this['state']=this['load'](_0x54b1c0),this['contextValue']={'cwd':_0x523f82,'state':this['state'],'setFact':(_0x4a6719,_0xd1815)=>{this['state']['facts'][_0x4a6719]=_0xd1815,this['persist']();},'getFact':_0x1ebe22=>this['state']['facts'][_0x1ebe22]};}async['register'](_0x29fc94){if(this['plugins']['has'](_0x29fc94['name']))return;this['plugins']['set'](_0x29fc94['name'],_0x29fc94),await _0x29fc94['setup']?.(this['contextValue']),this['persist']();}async['emit'](_0x26c17f){for(const _0x539dd6 of this['plugins']['values']()){await _0x539dd6['onEvent']?.(_0x26c17f,this['contextValue']);}this['state']['events']['push'](_0x26c17f);if(this['state']['events']['length']>0x64)this['state']['events']['shift']();this['state']['updatedAt']=new Date()['toISOString'](),this['persist']();}['snapshot'](_0x4ffe67){const _0xad4301='snapshot_'+Date['now']()['toString'](0x24);this['state']['snapshots']['push']({'id':_0xad4301,'label':_0x4ffe67['trim']()||'checkpoint','facts':{...this['state']['facts']},'createdAt':new Date()['toISOString']()});if(this['state']['snapshots']['length']>0x14)this['state']['snapshots']['shift']();return this['persist'](),_0xad4301;}['rollback'](_0x4c7603){const _0x362f1c=this['state']['snapshots']['find'](_0x150790=>_0x150790['id']===_0x4c7603);if(!_0x362f1c)throw new Error('Harness\x20snapshot\x20not\x20found:\x20'+_0x4c7603);this['state']['facts']={..._0x362f1c['facts']},this['persist']();}['context'](){const _0x5c05e0=Object['entries'](this['state']['facts'])['map'](([_0x44754f,_0xe344fa])=>'\x20\x20-\x20'+_0x44754f+':\x20'+_0xe344fa)['join']('\x0a'),_0x359b4d=[_0x5c05e0?'Durable\x20harness\x20facts:\x0a'+_0x5c05e0:'',...[...this['plugins']['values']()]['map'](_0x474284=>_0x474284['context']?.(this['contextValue']))['filter'](_0x594c20=>Boolean(_0x594c20?.['trim']()))];return _0x359b4d['join']('\x0a');}['load'](_0x3b69b7){if(!fs['existsSync'](this['file']))return{'version':0x1,'sessionId':_0x3b69b7,'facts':{},'events':[],'snapshots':[],'updatedAt':new Date()['toISOString']()};const _0x524194=JSON['parse'](fs['readFileSync'](this['file'],'utf8'));return{'version':0x1,'sessionId':typeof _0x524194['sessionId']==='string'?_0x524194['sessionId']:_0x3b69b7,'facts':_0x524194['facts']&&typeof _0x524194['facts']==='object'?_0x524194['facts']:{},'events':Array['isArray'](_0x524194['events'])?_0x524194['events']['slice'](-0x64):[],'snapshots':Array['isArray'](_0x524194['snapshots'])?_0x524194['snapshots']['slice'](-0x14):[],'updatedAt':typeof _0x524194['updatedAt']==='string'?_0x524194['updatedAt']:new Date()['toISOString']()};}['persist'](){fs['mkdirSync'](path['dirname'](this['file']),{'recursive':!![]}),fs['writeFileSync'](this['file'],JSON['stringify'](this['state'],null,0x2),'utf8');}}exports['HarnessRuntime']=HarnessRuntime;class RecursiveTaskRuntime{['maxDepth'];['maxParallel'];constructor(_0x57c973=0x3,_0x5ca790=0x3){this['maxDepth']=_0x57c973,this['maxParallel']=_0x5ca790;}async['run'](_0xac3b49,_0x405733=0x0){if(_0x405733>this['maxDepth'])throw new Error('Recursive\x20task\x20depth\x20exceeded\x20('+this['maxDepth']+').');return _0xac3b49['run']();}async['runParallel'](_0x2e7991,_0x3d5662=0x0){if(_0x2e7991['length']>this['maxParallel'])throw new Error('Parallel\x20task\x20limit\x20exceeded\x20('+this['maxParallel']+').');return Promise['all'](_0x2e7991['map'](_0x561a9a=>this['run'](_0x561a9a,_0x3d5662+0x1)));}}exports['RecursiveTaskRuntime']=RecursiveTaskRuntime;
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x4531d5,_0x4fbdf0,_0x4d2b57,_0x1e5547){if(_0x1e5547===undefined)_0x1e5547=_0x4d2b57;var _0x389998=Object['getOwnPropertyDescriptor'](_0x4fbdf0,_0x4d2b57);(!_0x389998||('get'in _0x389998?!_0x4fbdf0['__esModule']:_0x389998['writable']||_0x389998['configurable']))&&(_0x389998={'enumerable':!![],'get':function(){return _0x4fbdf0[_0x4d2b57];}}),Object['defineProperty'](_0x4531d5,_0x1e5547,_0x389998);}:function(_0x447445,_0x4d95f3,_0xcc179f,_0x5b3b7a){if(_0x5b3b7a===undefined)_0x5b3b7a=_0xcc179f;_0x447445[_0x5b3b7a]=_0x4d95f3[_0xcc179f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x50e297,_0x51abf1){Object['defineProperty'](_0x50e297,'default',{'enumerable':!![],'value':_0x51abf1});}:function(_0x3d7a1b,_0x1b1da0){_0x3d7a1b['default']=_0x1b1da0;}),__importStar=this&&this['__importStar']||(function(){var _0x4130a6=function(_0xb0b7d1){return _0x4130a6=Object['getOwnPropertyNames']||function(_0x243a31){var _0x1486e7=[];for(var _0x466e1b in _0x243a31)if(Object['prototype']['hasOwnProperty']['call'](_0x243a31,_0x466e1b))_0x1486e7[_0x1486e7['length']]=_0x466e1b;return _0x1486e7;},_0x4130a6(_0xb0b7d1);};return function(_0x55131f){if(_0x55131f&&_0x55131f['__esModule'])return _0x55131f;var _0x55eb45={};if(_0x55131f!=null){for(var _0xedc298=_0x4130a6(_0x55131f),_0x15888=0x0;_0x15888<_0xedc298['length'];_0x15888++)if(_0xedc298[_0x15888]!=='default')__createBinding(_0x55eb45,_0x55131f,_0xedc298[_0x15888]);}return __setModuleDefault(_0x55eb45,_0x55131f),_0x55eb45;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpxCliJs']=exports['resolveNpmCliJs']=exports['resolveMcpCommand']=exports['resolveExecutable']=exports['clearOAuthCaches']=exports['authFilePath']=exports['removeMcpAuth']=exports['getMcpAuthStatus']=exports['getValidAccessToken']=exports['authorizeMcpServer']=exports['McpAuthError']=exports['McpConnection']=exports['McpError']=void 0x0,exports['createMcpConnection']=createMcpConnection;const child_process_1=require('child_process'),http=__importStar(require('http')),https=__importStar(require('https')),readline=__importStar(require('readline')),url=__importStar(require('url')),oauth_js_1=require('./oauth.js'),spawn_resolve_js_1=require('./spawn-resolve.js');class McpError extends Error{['code'];['data'];constructor(_0x2a0c40,_0x494970,_0x20d5e7){super(_0x494970),this['code']=_0x2a0c40,this['data']=_0x20d5e7;}}exports['McpError']=McpError;class McpConnection{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['lastRequestAt']=0x0;['lastError']='';['cachedTools']=null;['cachedToolsAt']=0x0;['cacheTtlMs']=0x493e0;['reconnecting']=![];['authAttempted']=![];constructor(_0x25eca6,_0x3d25ce){this['name']=_0x25eca6,this['spec']=_0x3d25ce;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}get['oauthEnabled'](){return Boolean(this['spec']['url'])&&this['spec']['oauth']!==![];}get['oauthConfig'](){return typeof this['spec']['oauth']==='object'&&this['spec']['oauth']!==null?this['spec']['oauth']:{};}async['connect'](){if(this['initialized'])return;if(this['reconnecting']){const _0x527626=Date['now']();await new Promise((_0x3b58a4,_0x5a561b)=>{const _0x380f5b=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0x527626>0x7530){clearInterval(_0x380f5b);if(this['reconnecting'])_0x5a561b(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x3b58a4();}},0x32);});return;}const _0x549f45={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0x549f45):(this['spawnStdio'](),await this['request']('initialize',_0x549f45)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x5bb451,_0x5506bd){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x5bb451,_0x5506bd);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x5bb451,'params':_0x5506bd})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x3963fc={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x244f71=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x244f71)_0x3963fc['Authorization']='Bearer\x20'+_0x244f71;}catch(_0x505b7d){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x505b7d instanceof Error?_0x505b7d['message']:String(_0x505b7d));}return _0x3963fc;}async['postNotificationHttp'](_0x31f987,_0x11226b){const _0x10f435=new url['URL'](this['spec']['url']),_0x517579=_0x10f435['protocol']==='https:'?https:http,_0x18bbd8=JSON['stringify']({'jsonrpc':'2.0','method':_0x31f987,'params':_0x11226b}),_0x509fff=await this['httpHeaders']();return new Promise(_0x2d3563=>{const _0x304ecd=_0x517579['request']({'hostname':_0x10f435['hostname'],'port':_0x10f435['port']||(_0x10f435['protocol']==='https:'?0x1bb:0x50),'path':_0x10f435['pathname']+_0x10f435['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x18bbd8)),..._0x509fff},'timeout':this['timeoutMs']},_0x2655a4=>{_0x2655a4['resume'](),_0x2655a4['on']('end',()=>_0x2d3563());});_0x304ecd['on']('error',()=>_0x2d3563()),_0x304ecd['on']('timeout',()=>{_0x304ecd['destroy'](),_0x2d3563();}),_0x304ecd['end'](_0x18bbd8);});}async['status'](){const _0x2958a7=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x5d8d0e=_0x2958a7||this['spec']['url']!==undefined;let _0x4016c1='disconnected';_0x5d8d0e&&(_0x4016c1=this['spec']['url']?'http':'stdio');const _0x91b4c8={'name':this['name'],'connected':_0x5d8d0e,'transport':_0x4016c1,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x5d8d0e&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x91b4c8['connected']=!![];}catch(_0x271960){_0x91b4c8['connected']=![],_0x91b4c8['lastError']=_0x271960 instanceof Error?_0x271960['message']:String(_0x271960);}return _0x91b4c8;}async['reconnect'](){this['reconnecting']=!![],this['close'](),this['initialized']=![],this['cachedTools']=null,this['cachedToolsAt']=0x0,this['lastError']='';try{await this['connect']();}finally{this['reconnecting']=![];}}async['listTools'](_0x486f23){await this['connect']();const _0x236a99=_0x486f23??this['cacheTtlMs'],_0x16ea6e=Date['now']();if(this['cachedTools']!==null&&_0x16ea6e-this['cachedToolsAt']<_0x236a99)return this['cachedTools'];const _0x57b48a=[];let _0x49be53;for(let _0x2d2201=0x0;_0x2d2201<0x32;_0x2d2201++){const _0x26a01e=await this['request']('tools/list',_0x49be53?{'cursor':_0x49be53}:{});_0x57b48a['push'](..._0x26a01e?.['tools']??[]),_0x49be53=_0x26a01e?.['nextCursor'];if(!_0x49be53)break;}return this['cachedTools']=_0x57b48a,this['cachedToolsAt']=_0x16ea6e,_0x57b48a;}async['listResources'](){await this['connect']();try{const _0x5d4ff3=[];let _0xdede16;for(let _0x24529c=0x0;_0x24529c<0x32;_0x24529c++){const _0x3cf1b4=await this['request']('resources/list',_0xdede16?{'cursor':_0xdede16}:{});_0x5d4ff3['push'](..._0x3cf1b4?.['resources']??[]),_0xdede16=_0x3cf1b4?.['nextCursor'];if(!_0xdede16)break;}return _0x5d4ff3;}catch(_0x2946dd){if(_0x2946dd instanceof McpError&&_0x2946dd['code']===-0x7f59)return[];throw _0x2946dd;}}async['readResource'](_0x10aa51){await this['connect']();try{const _0x51a1e5=await this['request']('resources/read',{'uri':_0x10aa51});if(_0x51a1e5?.['contents'])return _0x51a1e5['contents']['map'](_0x17033a=>typeof _0x17033a['text']==='string'?_0x17033a['text']:typeof _0x17033a['blob']==='string'?'[binary\x20'+(_0x17033a['mimeType']??'blob')+'\x20'+(_0x17033a['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0x17033a))['join']('\x0a');return'';}catch(_0x33ece7){if(_0x33ece7 instanceof McpError&&_0x33ece7['code']===-0x7f59)return'';throw _0x33ece7;}}async['listPrompts'](){await this['connect']();try{const _0x24e016=[];let _0x93f443;for(let _0x3df732=0x0;_0x3df732<0x32;_0x3df732++){const _0x3ff4c9=await this['request']('prompts/list',_0x93f443?{'cursor':_0x93f443}:{});_0x24e016['push'](..._0x3ff4c9?.['prompts']??[]),_0x93f443=_0x3ff4c9?.['nextCursor'];if(!_0x93f443)break;}return _0x24e016;}catch(_0x541168){if(_0x541168 instanceof McpError&&_0x541168['code']===-0x7f59)return[];throw _0x541168;}}async['getPrompt'](_0x2614bf,_0x570f5c){await this['connect']();try{const _0x401736=await this['request']('prompts/get',{'name':_0x2614bf,'arguments':_0x570f5c??{}}),_0x11e3a0=_0x401736?.['messages']??_0x401736?.['prompt']?.['messages'];if(!_0x11e3a0)return null;return{'name':_0x2614bf,'messages':_0x11e3a0};}catch(_0x1616c7){if(_0x1616c7 instanceof McpError&&_0x1616c7['code']===-0x7f59)return null;throw _0x1616c7;}}async['callTool'](_0x1e0310,_0x5cfc30){return await this['connect'](),await this['request']('tools/call',{'name':_0x1e0310,'arguments':_0x5cfc30});}['close'](){const _0x118fc0=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['cachedTools']=null,this['authAttempted']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x118fc0&&_0x118fc0['exitCode']===null&&!_0x118fc0['killed']){_0x118fc0['kill']('SIGTERM');const _0x1fe035=setTimeout(()=>{try{if(_0x118fc0['exitCode']===null)_0x118fc0['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x1fe035['unref']==='function')_0x1fe035['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x22928b=this['spec'],_0x19f9e5=_0x22928b['command']??[];if(_0x19f9e5['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x33248b,args:_0x5c3355}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x19f9e5);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x33248b,_0x5c3355,{'cwd':_0x22928b['cwd'],'env':{...process.env,..._0x22928b['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0x56d4c6=>{for(const _0x3ce9dc of String(_0x56d4c6)['split']('\x0a')){const _0x419b89=_0x3ce9dc['trimEnd']();if(!_0x419b89)continue;this['stderrTail']['push'](_0x419b89['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x5e00c2=>{try{const _0x4517df=JSON['parse'](_0x5e00c2);if(_0x4517df['id']===undefined)return;const _0x34f015=this['pending']['get'](_0x4517df['id']);if(!_0x34f015)return;this['pending']['delete'](_0x4517df['id']);const _0x13562d=_0x4517df;if(_0x13562d['error']){const _0x41cf54=new McpError(_0x13562d['error']['code'],_0x13562d['error']['message'],_0x13562d['error']['data']);_0x34f015['reject'](_0x41cf54);}else _0x34f015['resolve'](_0x13562d['result']);}catch{}}),this['child']['on']('error',_0x3a222e=>{this['lastError']=_0x3a222e['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x3a222e['message']));}),this['child']['on']('exit',_0x49a745=>{const _0x18e08e=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x49a745??'signal')+'.'+_0x18e08e,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x49a745??'signal')+'.'+_0x18e08e));});}async['request'](_0x540430,_0x5c0215){this['lastRequestAt']=Date['now'](),this['lastError']='';if(!this['spec']['url']){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');return this['requestStdio'](_0x540430,_0x5c0215);}try{return await this['requestHttp'](_0x540430,_0x5c0215);}catch(_0x17edac){if(!(_0x17edac instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x17edac;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x17edac['message']+'\x20Run\x20`trayambak\x20mcp\x20auth\x20'+this['name']+'`\x20to\x20authorize\x20interactively.','auth-required');return await(0x0,oauth_js_1['authorizeMcpServer'])(this['name'],this['spec']['url'],this['oauthConfig']),await this['requestHttp'](_0x540430,_0x5c0215);}}['requestStdio'](_0x5d245b,_0x5a6f63){const _0x5cdf27=this['nextId']++;return new Promise((_0x5d95dc,_0x5c9805)=>{const _0x21b6e8=setTimeout(()=>{this['pending']['delete'](_0x5cdf27);const _0x36b815=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x5d245b+'\x27.'+_0x36b815,_0x5c9805(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x5d245b+'\x27.'+_0x36b815));},this['timeoutMs']);this['pending']['set'](_0x5cdf27,{'resolve':_0x3ca377=>{clearTimeout(_0x21b6e8),this['lastError']='',_0x5d95dc(_0x3ca377);},'reject':_0x52128f=>{clearTimeout(_0x21b6e8),this['lastError']=_0x52128f['message'],_0x5c9805(_0x52128f);}});const _0x4115b9={'jsonrpc':'2.0','id':_0x5cdf27,'method':_0x5d245b,'params':_0x5a6f63};this['child']['stdin']['write'](JSON['stringify'](_0x4115b9)+'\x0a');});}async['requestHttp'](_0x57fce7,_0x3b2298){const _0x1be70d=new url['URL'](this['spec']['url']),_0x48b2df=_0x1be70d['protocol']==='https:'?https:http,_0x2f8a82=this['nextId']++,_0x655298={'jsonrpc':'2.0','id':_0x2f8a82,'method':_0x57fce7,'params':_0x3b2298},_0x3907ae=JSON['stringify'](_0x655298),_0x22be42={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x3907ae)),...await this['httpHeaders']()};return new Promise((_0xb56587,_0x450e2f)=>{const _0x1e545b=_0x48b2df['request']({'hostname':_0x1be70d['hostname'],'port':_0x1be70d['port']||(_0x1be70d['protocol']==='https:'?0x1bb:0x50),'path':_0x1be70d['pathname']+_0x1be70d['search'],'method':'POST','headers':_0x22be42,'timeout':this['timeoutMs']},_0x183dbe=>{const _0x5f103d=_0x183dbe['statusCode']??0x0;let _0x5c2297='';_0x183dbe['setEncoding']('utf8'),_0x183dbe['on']('data',_0x4d924e=>_0x5c2297+=_0x4d924e),_0x183dbe['on']('end',()=>{if(_0x5f103d===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x450e2f(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x5f103d>=0x190){this['lastError']='HTTP\x20'+_0x5f103d,_0x450e2f(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x5f103d+'\x20from\x20'+this['spec']['url']+(_0x5c2297?':\x20'+_0x5c2297['slice'](0x0,0x12c):'')));return;}try{const _0x3c647f=_0x5c2297['split']('\x0a')['filter'](_0x35c0d9=>_0x35c0d9['startsWith']('data:'))['map'](_0x1d7e57=>_0x1d7e57['slice'](0x5)['trim']())['filter'](_0x283c35=>_0x283c35['length']>0x0&&_0x283c35!=='[DONE]');let _0x1324f7=null,_0x334724=![];for(const _0x2e81aa of _0x3c647f){try{const _0x319379=JSON['parse'](_0x2e81aa);_0x334724=!![];if(_0x319379['id']!==undefined&&_0x319379['id']!==_0x2f8a82)continue;_0x1324f7=_0x319379;break;}catch{}}const _0x1ab05c=_0x1324f7??(_0x334724?null:JSON['parse'](_0x5c2297));if(!_0x1ab05c)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0x1ab05c['id']!==undefined&&_0x1ab05c['id']!==_0x2f8a82)return;_0x1ab05c['error']?_0x450e2f(new McpError(_0x1ab05c['error']['code'],_0x1ab05c['error']['message'],_0x1ab05c['error']['data'])):(this['lastError']='',_0xb56587(_0x1ab05c['result']));}catch(_0x1b2aea){this['lastError']=_0x1b2aea instanceof Error?_0x1b2aea['message']:String(_0x1b2aea),_0x450e2f(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x1b2aea instanceof Error?_0x1b2aea['message']:String(_0x1b2aea))));}});});_0x1e545b['on']('error',_0x564649=>{this['lastError']=_0x564649['message'],_0x450e2f(new Error('MCP\x20'+this['name']+':\x20'+_0x564649['message']));}),_0x1e545b['on']('timeout',()=>{_0x1e545b['destroy'](),this['lastError']='timeout',_0x450e2f(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x1e545b['end'](_0x3907ae);});}['rejectAll'](_0x1a8e4f){for(const [,_0x725b4f]of this['pending'])_0x725b4f['reject'](_0x1a8e4f);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x2078b3,_0x39eca6){return new McpConnection(_0x2078b3,_0x39eca6);}var oauth_js_2=require('./oauth.js');Object['defineProperty'](exports,'McpAuthError',{'enumerable':!![],'get':function(){return oauth_js_2['McpAuthError'];}});var oauth_js_3=require('./oauth.js');Object['defineProperty'](exports,'authorizeMcpServer',{'enumerable':!![],'get':function(){return oauth_js_3['authorizeMcpServer'];}}),Object['defineProperty'](exports,'getValidAccessToken',{'enumerable':!![],'get':function(){return oauth_js_3['getValidAccessToken'];}}),Object['defineProperty'](exports,'getMcpAuthStatus',{'enumerable':!![],'get':function(){return oauth_js_3['getMcpAuthStatus'];}}),Object['defineProperty'](exports,'removeMcpAuth',{'enumerable':!![],'get':function(){return oauth_js_3['removeMcpAuth'];}}),Object['defineProperty'](exports,'authFilePath',{'enumerable':!![],'get':function(){return oauth_js_3['authFilePath'];}}),Object['defineProperty'](exports,'clearOAuthCaches',{'enumerable':!![],'get':function(){return oauth_js_3['clearOAuthCaches'];}});var spawn_resolve_js_2=require('./spawn-resolve.js');Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveMcpCommand',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveMcpCommand'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}}),Object['defineProperty'](exports,'resolveNpxCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpxCliJs'];}});
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x46d94b,_0x1b1674,_0x55cc59,_0x13ff58){if(_0x13ff58===undefined)_0x13ff58=_0x55cc59;var _0x56b33d=Object['getOwnPropertyDescriptor'](_0x1b1674,_0x55cc59);(!_0x56b33d||('get'in _0x56b33d?!_0x1b1674['__esModule']:_0x56b33d['writable']||_0x56b33d['configurable']))&&(_0x56b33d={'enumerable':!![],'get':function(){return _0x1b1674[_0x55cc59];}}),Object['defineProperty'](_0x46d94b,_0x13ff58,_0x56b33d);}:function(_0x112883,_0xf995cb,_0x34799b,_0x9940f5){if(_0x9940f5===undefined)_0x9940f5=_0x34799b;_0x112883[_0x9940f5]=_0xf995cb[_0x34799b];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2f5a61,_0x4989c5){Object['defineProperty'](_0x2f5a61,'default',{'enumerable':!![],'value':_0x4989c5});}:function(_0x536206,_0x304751){_0x536206['default']=_0x304751;}),__importStar=this&&this['__importStar']||(function(){var _0x3d2b9a=function(_0x4a4a8d){return _0x3d2b9a=Object['getOwnPropertyNames']||function(_0x1f2459){var _0x1cd0cf=[];for(var _0x11fb01 in _0x1f2459)if(Object['prototype']['hasOwnProperty']['call'](_0x1f2459,_0x11fb01))_0x1cd0cf[_0x1cd0cf['length']]=_0x11fb01;return _0x1cd0cf;},_0x3d2b9a(_0x4a4a8d);};return function(_0x2ea86e){if(_0x2ea86e&&_0x2ea86e['__esModule'])return _0x2ea86e;var _0x332ad6={};if(_0x2ea86e!=null){for(var _0x528c6d=_0x3d2b9a(_0x2ea86e),_0x2714b9=0x0;_0x2714b9<_0x528c6d['length'];_0x2714b9++)if(_0x528c6d[_0x2714b9]!=='default')__createBinding(_0x332ad6,_0x2ea86e,_0x528c6d[_0x2714b9]);}return __setModuleDefault(_0x332ad6,_0x2ea86e),_0x332ad6;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resolveNpxCliJs']=exports['resolveNpmCliJs']=exports['resolveMcpCommand']=exports['resolveExecutable']=exports['clearOAuthCaches']=exports['authFilePath']=exports['removeMcpAuth']=exports['getMcpAuthStatus']=exports['getValidAccessToken']=exports['authorizeMcpServer']=exports['McpAuthError']=exports['McpConnection']=exports['McpError']=void 0x0,exports['createMcpConnection']=createMcpConnection;const child_process_1=require('child_process'),http=__importStar(require('http')),https=__importStar(require('https')),readline=__importStar(require('readline')),url=__importStar(require('url')),oauth_js_1=require('./oauth.js'),spawn_resolve_js_1=require('./spawn-resolve.js');class McpError extends Error{['code'];['data'];constructor(_0x1592f2,_0x2a8c20,_0x17db9f){super(_0x2a8c20),this['code']=_0x1592f2,this['data']=_0x17db9f;}}exports['McpError']=McpError;class McpConnection{['name'];['spec'];['child']=null;['rl']=null;['pending']=new Map();['nextId']=0x1;['initialized']=![];['lastRequestAt']=0x0;['lastError']='';['cachedTools']=null;['cachedToolsAt']=0x0;['cacheTtlMs']=0x493e0;['reconnecting']=![];['authAttempted']=![];constructor(_0x3c4d16,_0x11c9ec){this['name']=_0x3c4d16,this['spec']=_0x11c9ec;}get['timeoutMs'](){return this['spec']['timeoutMs']??0xea60;}get['oauthEnabled'](){return Boolean(this['spec']['url'])&&this['spec']['oauth']!==![];}get['oauthConfig'](){return typeof this['spec']['oauth']==='object'&&this['spec']['oauth']!==null?this['spec']['oauth']:{};}async['connect'](){if(this['initialized'])return;if(this['reconnecting']){const _0xa2cb4b=Date['now']();await new Promise((_0x1d9cb9,_0x22aa76)=>{const _0x117876=setInterval(()=>{if(!this['reconnecting']||Date['now']()-_0xa2cb4b>0x7530){clearInterval(_0x117876);if(this['reconnecting'])_0x22aa76(new Error('MCP\x20'+this['name']+':\x20reconnect\x20timed\x20out'));else _0x1d9cb9();}},0x32);});return;}const _0x816172={'protocolVersion':'2024-11-05','capabilities':{},'clientInfo':{'name':'trayambak','version':'0.3.0'}};this['spec']['url']?await this['request']('initialize',_0x816172):(this['spawnStdio'](),await this['request']('initialize',_0x816172)),await this['notify']('notifications/initialized',{}),this['initialized']=!![];}['notify'](_0x30ba9c,_0x4ac999){this['lastRequestAt']=Date['now']();if(this['spec']['url'])return this['postNotificationHttp'](_0x30ba9c,_0x4ac999);if(!this['child'])return Promise['resolve']();try{this['child']['stdin']['write'](JSON['stringify']({'jsonrpc':'2.0','method':_0x30ba9c,'params':_0x4ac999})+'\x0a');}catch{}return Promise['resolve']();}async['httpHeaders'](){const _0x38ef2c={...this['spec']['headers']??{}};if(this['oauthEnabled'])try{const _0x134510=await(0x0,oauth_js_1['getValidAccessToken'])(this['name'],this['spec']['url'],this['oauthConfig']);if(_0x134510)_0x38ef2c['Authorization']='Bearer\x20'+_0x134510;}catch(_0x3cd171){this['lastError']='token\x20lookup\x20failed:\x20'+(_0x3cd171 instanceof Error?_0x3cd171['message']:String(_0x3cd171));}return _0x38ef2c;}async['postNotificationHttp'](_0x180b2b,_0x1a4501){const _0x1800d6=new url['URL'](this['spec']['url']),_0x5c369f=_0x1800d6['protocol']==='https:'?https:http,_0x188934=JSON['stringify']({'jsonrpc':'2.0','method':_0x180b2b,'params':_0x1a4501}),_0x2945bd=await this['httpHeaders']();return new Promise(_0x3595aa=>{const _0x26277c=_0x5c369f['request']({'hostname':_0x1800d6['hostname'],'port':_0x1800d6['port']||(_0x1800d6['protocol']==='https:'?0x1bb:0x50),'path':_0x1800d6['pathname']+_0x1800d6['search'],'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x188934)),..._0x2945bd},'timeout':this['timeoutMs']},_0xb8f794=>{_0xb8f794['resume'](),_0xb8f794['on']('end',()=>_0x3595aa());});_0x26277c['on']('error',()=>_0x3595aa()),_0x26277c['on']('timeout',()=>{_0x26277c['destroy'](),_0x3595aa();}),_0x26277c['end'](_0x188934);});}async['status'](){const _0x227bc0=this['child']!==null&&this['child']['exitCode']===null&&!this['child']['killed'],_0x5eeb51=_0x227bc0||this['spec']['url']!==undefined;let _0x40f767='disconnected';_0x5eeb51&&(_0x40f767=this['spec']['url']?'http':'stdio');const _0x553bc0={'name':this['name'],'connected':_0x5eeb51,'transport':_0x40f767,'initialized':this['initialized'],'lastRequestAt':this['lastRequestAt']>0x0?this['lastRequestAt']:undefined,'lastError':this['lastError']||undefined};if(_0x5eeb51&&this['spec']['url'])try{await this['request']('tools/list',{}),_0x553bc0['connected']=!![];}catch(_0x3ce715){_0x553bc0['connected']=![],_0x553bc0['lastError']=_0x3ce715 instanceof Error?_0x3ce715['message']:String(_0x3ce715);}return _0x553bc0;}async['reconnect'](){this['reconnecting']=!![],this['close'](),this['initialized']=![],this['cachedTools']=null,this['cachedToolsAt']=0x0,this['lastError']='';try{await this['connect']();}finally{this['reconnecting']=![];}}async['listTools'](_0x385a8c){await this['connect']();const _0x3d0cdc=_0x385a8c??this['cacheTtlMs'],_0x41fcfa=Date['now']();if(this['cachedTools']!==null&&_0x41fcfa-this['cachedToolsAt']<_0x3d0cdc)return this['cachedTools'];const _0x5598fc=[];let _0x17ad19;for(let _0x20935e=0x0;_0x20935e<0x32;_0x20935e++){const _0xe5b3f1=await this['request']('tools/list',_0x17ad19?{'cursor':_0x17ad19}:{});_0x5598fc['push'](..._0xe5b3f1?.['tools']??[]),_0x17ad19=_0xe5b3f1?.['nextCursor'];if(!_0x17ad19)break;}return this['cachedTools']=_0x5598fc,this['cachedToolsAt']=_0x41fcfa,_0x5598fc;}async['listResources'](){await this['connect']();try{const _0x142aa6=[];let _0x11ccec;for(let _0x1269ff=0x0;_0x1269ff<0x32;_0x1269ff++){const _0x357882=await this['request']('resources/list',_0x11ccec?{'cursor':_0x11ccec}:{});_0x142aa6['push'](..._0x357882?.['resources']??[]),_0x11ccec=_0x357882?.['nextCursor'];if(!_0x11ccec)break;}return _0x142aa6;}catch(_0x18c347){if(_0x18c347 instanceof McpError&&_0x18c347['code']===-0x7f59)return[];throw _0x18c347;}}async['readResource'](_0x481028){await this['connect']();try{const _0x7b5761=await this['request']('resources/read',{'uri':_0x481028});if(_0x7b5761?.['contents'])return _0x7b5761['contents']['map'](_0x538fab=>typeof _0x538fab['text']==='string'?_0x538fab['text']:typeof _0x538fab['blob']==='string'?'[binary\x20'+(_0x538fab['mimeType']??'blob')+'\x20'+(_0x538fab['blob']??'')['length']+'\x20chars\x20base64]':JSON['stringify'](_0x538fab))['join']('\x0a');return'';}catch(_0x5a64e1){if(_0x5a64e1 instanceof McpError&&_0x5a64e1['code']===-0x7f59)return'';throw _0x5a64e1;}}async['listPrompts'](){await this['connect']();try{const _0x131b17=[];let _0x1f9e5c;for(let _0x5316c4=0x0;_0x5316c4<0x32;_0x5316c4++){const _0x3d4b2a=await this['request']('prompts/list',_0x1f9e5c?{'cursor':_0x1f9e5c}:{});_0x131b17['push'](..._0x3d4b2a?.['prompts']??[]),_0x1f9e5c=_0x3d4b2a?.['nextCursor'];if(!_0x1f9e5c)break;}return _0x131b17;}catch(_0x69e691){if(_0x69e691 instanceof McpError&&_0x69e691['code']===-0x7f59)return[];throw _0x69e691;}}async['getPrompt'](_0x1b60bc,_0x1b730b){await this['connect']();try{const _0x2b0c31=await this['request']('prompts/get',{'name':_0x1b60bc,'arguments':_0x1b730b??{}}),_0x510bf2=_0x2b0c31?.['messages']??_0x2b0c31?.['prompt']?.['messages'];if(!_0x510bf2)return null;return{'name':_0x1b60bc,'messages':_0x510bf2};}catch(_0x15c993){if(_0x15c993 instanceof McpError&&_0x15c993['code']===-0x7f59)return null;throw _0x15c993;}}async['callTool'](_0x4d05c0,_0x3bbf48){return await this['connect'](),await this['request']('tools/call',{'name':_0x4d05c0,'arguments':_0x3bbf48});}['close'](){const _0x55c609=this['child'];this['child']=null,this['rl']?.['close'](),this['rl']=null,this['initialized']=![],this['cachedTools']=null,this['authAttempted']=![],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20connection\x20closed'));if(_0x55c609&&_0x55c609['exitCode']===null&&!_0x55c609['killed']){_0x55c609['kill']('SIGTERM');const _0x1bf9ed=setTimeout(()=>{try{if(_0x55c609['exitCode']===null)_0x55c609['kill']('SIGKILL');}catch{}},0x7d0);if(typeof _0x1bf9ed['unref']==='function')_0x1bf9ed['unref']();}}['stderrTail']=[];['spawnStdio'](){const _0x1976bd=this['spec'],_0x40f023=_0x1976bd['command']??[];if(_0x40f023['length']===0x0)throw new Error('MCP\x20server\x20\x27'+this['name']+'\x27\x20has\x20no\x20command\x20or\x20url');const {command:_0x51dacb,args:_0x3545d5}=(0x0,spawn_resolve_js_1['resolveMcpCommand'])(_0x40f023);this['stderrTail']=[],this['child']=(0x0,child_process_1['spawn'])(_0x51dacb,_0x3545d5,{'cwd':_0x1976bd['cwd'],'env':{...process.env,..._0x1976bd['env']??{}},'stdio':['pipe','pipe','pipe'],'windowsHide':!![]}),this['child']['stderr']?.['on']('data',_0xbdcd6a=>{for(const _0x3773ce of String(_0xbdcd6a)['split']('\x0a')){const _0x652a1f=_0x3773ce['trimEnd']();if(!_0x652a1f)continue;this['stderrTail']['push'](_0x652a1f['slice'](-0x1f4));if(this['stderrTail']['length']>0x14)this['stderrTail']['shift']();}}),this['rl']=readline['createInterface']({'input':this['child']['stdout']}),this['rl']['on']('line',_0x593f92=>{try{const _0x3a24e0=JSON['parse'](_0x593f92);if(_0x3a24e0['id']===undefined)return;const _0x3d5025=this['pending']['get'](_0x3a24e0['id']);if(!_0x3d5025)return;this['pending']['delete'](_0x3a24e0['id']);const _0x32d623=_0x3a24e0;if(_0x32d623['error']){const _0x5e45a0=new McpError(_0x32d623['error']['code'],_0x32d623['error']['message'],_0x32d623['error']['data']);_0x3d5025['reject'](_0x5e45a0);}else _0x3d5025['resolve'](_0x32d623['result']);}catch{}}),this['child']['on']('error',_0x4ecd3f=>{this['lastError']=_0x4ecd3f['message'],this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20process\x20error:\x20'+_0x4ecd3f['message']));}),this['child']['on']('exit',_0x2e8c11=>{const _0x58f204=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='exited\x20with\x20code\x20'+(_0x2e8c11??'signal')+'.'+_0x58f204,this['child']=null,this['initialized']=![],this['cachedTools']=null,this['rejectAll'](new Error('MCP\x20'+this['name']+'\x20exited\x20with\x20code\x20'+(_0x2e8c11??'signal')+'.'+_0x58f204));});}async['request'](_0xfa6294,_0x10e2bb){this['lastRequestAt']=Date['now'](),this['lastError']='';if(!this['spec']['url']){if(!this['child'])throw new Error('MCP\x20\x27'+this['name']+'\x27\x20is\x20not\x20connected');return this['requestStdio'](_0xfa6294,_0x10e2bb);}try{return await this['requestHttp'](_0xfa6294,_0x10e2bb);}catch(_0x43b017){if(!(_0x43b017 instanceof oauth_js_1['McpAuthError'])||!this['oauthEnabled']||this['authAttempted'])throw _0x43b017;this['authAttempted']=!![];if(!process['stdin']['isTTY'])throw new oauth_js_1['McpAuthError'](_0x43b017['message']+'\x20Run\x20`trayambak\x20mcp\x20auth\x20'+this['name']+'`\x20to\x20authorize\x20interactively.','auth-required');return await(0x0,oauth_js_1['authorizeMcpServer'])(this['name'],this['spec']['url'],this['oauthConfig']),await this['requestHttp'](_0xfa6294,_0x10e2bb);}}['requestStdio'](_0x3b243c,_0x4ff498){const _0x397b18=this['nextId']++;return new Promise((_0x2cf621,_0x280c71)=>{const _0x55f500=setTimeout(()=>{this['pending']['delete'](_0x397b18);const _0x410080=this['stderrTail']['length']>0x0?'\x20Server\x20stderr:\x20'+this['stderrTail']['join']('\x20|\x20')['slice'](0x0,0x1f4):'';this['lastError']='timeout\x20on\x20\x27'+_0x3b243c+'\x27.'+_0x410080,_0x280c71(new Error('MCP\x20'+this['name']+':\x20timeout\x20on\x20\x27'+_0x3b243c+'\x27.'+_0x410080));},this['timeoutMs']);this['pending']['set'](_0x397b18,{'resolve':_0x4f7eb4=>{clearTimeout(_0x55f500),this['lastError']='',_0x2cf621(_0x4f7eb4);},'reject':_0x113151=>{clearTimeout(_0x55f500),this['lastError']=_0x113151['message'],_0x280c71(_0x113151);}});const _0x126f87={'jsonrpc':'2.0','id':_0x397b18,'method':_0x3b243c,'params':_0x4ff498};this['child']['stdin']['write'](JSON['stringify'](_0x126f87)+'\x0a');});}async['requestHttp'](_0xeac26f,_0x1239d9){const _0x48124c=new url['URL'](this['spec']['url']),_0x2bd323=_0x48124c['protocol']==='https:'?https:http,_0x1f99f5=this['nextId']++,_0xfef08c={'jsonrpc':'2.0','id':_0x1f99f5,'method':_0xeac26f,'params':_0x1239d9},_0x3aa1af=JSON['stringify'](_0xfef08c),_0x56475b={'Content-Type':'application/json','Accept':'application/json,\x20text/event-stream','Content-Length':String(Buffer['byteLength'](_0x3aa1af)),...await this['httpHeaders']()};return new Promise((_0x2aae1d,_0x3ded44)=>{const _0x218047=_0x2bd323['request']({'hostname':_0x48124c['hostname'],'port':_0x48124c['port']||(_0x48124c['protocol']==='https:'?0x1bb:0x50),'path':_0x48124c['pathname']+_0x48124c['search'],'method':'POST','headers':_0x56475b,'timeout':this['timeoutMs']},_0x1c6da4=>{const _0x2e0f75=_0x1c6da4['statusCode']??0x0;let _0x5eb9cb='';_0x1c6da4['setEncoding']('utf8'),_0x1c6da4['on']('data',_0x38cd2e=>_0x5eb9cb+=_0x38cd2e),_0x1c6da4['on']('end',()=>{if(_0x2e0f75===0x191){this['lastError']='HTTP\x20401\x20(authorization\x20required)',_0x3ded44(new oauth_js_1['McpAuthError']('MCP\x20\x27'+this['name']+'\x27\x20server\x20responded\x20HTTP\x20401\x20(authorization\x20required).','auth-required'));return;}if(_0x2e0f75>=0x190){this['lastError']='HTTP\x20'+_0x2e0f75,_0x3ded44(new Error('MCP\x20\x27'+this['name']+'\x27:\x20HTTP\x20'+_0x2e0f75+'\x20from\x20'+this['spec']['url']+(_0x5eb9cb?':\x20'+_0x5eb9cb['slice'](0x0,0x12c):'')));return;}try{const _0x31903b=_0x5eb9cb['split']('\x0a')['filter'](_0x2f10f3=>_0x2f10f3['startsWith']('data:'))['map'](_0x56165f=>_0x56165f['slice'](0x5)['trim']())['filter'](_0x222ad4=>_0x222ad4['length']>0x0&&_0x222ad4!=='[DONE]');let _0x27b53b=null,_0xc48324=![];for(const _0xdaf6b5 of _0x31903b){try{const _0x5735df=JSON['parse'](_0xdaf6b5);_0xc48324=!![];if(_0x5735df['id']!==undefined&&_0x5735df['id']!==_0x1f99f5)continue;_0x27b53b=_0x5735df;break;}catch{}}const _0xf84081=_0x27b53b??(_0xc48324?null:JSON['parse'](_0x5eb9cb));if(!_0xf84081)throw new Error('no\x20JSON-RPC\x20response\x20for\x20this\x20request\x20in\x20the\x20stream');if(_0xf84081['id']!==undefined&&_0xf84081['id']!==_0x1f99f5)return;_0xf84081['error']?_0x3ded44(new McpError(_0xf84081['error']['code'],_0xf84081['error']['message'],_0xf84081['error']['data'])):(this['lastError']='',_0x2aae1d(_0xf84081['result']));}catch(_0x1f54df){this['lastError']=_0x1f54df instanceof Error?_0x1f54df['message']:String(_0x1f54df),_0x3ded44(new Error('MCP\x20'+this['name']+':\x20bad\x20response\x20from\x20'+this['spec']['url']+':\x20'+(_0x1f54df instanceof Error?_0x1f54df['message']:String(_0x1f54df))));}});});_0x218047['on']('error',_0x39eb99=>{this['lastError']=_0x39eb99['message'],_0x3ded44(new Error('MCP\x20'+this['name']+':\x20'+_0x39eb99['message']));}),_0x218047['on']('timeout',()=>{_0x218047['destroy'](),this['lastError']='timeout',_0x3ded44(new Error('MCP\x20'+this['name']+':\x20timeout'));}),_0x218047['end'](_0x3aa1af);});}['rejectAll'](_0x4c730d){for(const [,_0x374559]of this['pending'])_0x374559['reject'](_0x4c730d);this['pending']['clear']();}}exports['McpConnection']=McpConnection;function createMcpConnection(_0x182206,_0x4f753a){return new McpConnection(_0x182206,_0x4f753a);}var oauth_js_2=require('./oauth.js');Object['defineProperty'](exports,'McpAuthError',{'enumerable':!![],'get':function(){return oauth_js_2['McpAuthError'];}});var oauth_js_3=require('./oauth.js');Object['defineProperty'](exports,'authorizeMcpServer',{'enumerable':!![],'get':function(){return oauth_js_3['authorizeMcpServer'];}}),Object['defineProperty'](exports,'getValidAccessToken',{'enumerable':!![],'get':function(){return oauth_js_3['getValidAccessToken'];}}),Object['defineProperty'](exports,'getMcpAuthStatus',{'enumerable':!![],'get':function(){return oauth_js_3['getMcpAuthStatus'];}}),Object['defineProperty'](exports,'removeMcpAuth',{'enumerable':!![],'get':function(){return oauth_js_3['removeMcpAuth'];}}),Object['defineProperty'](exports,'authFilePath',{'enumerable':!![],'get':function(){return oauth_js_3['authFilePath'];}}),Object['defineProperty'](exports,'clearOAuthCaches',{'enumerable':!![],'get':function(){return oauth_js_3['clearOAuthCaches'];}});var spawn_resolve_js_2=require('./spawn-resolve.js');Object['defineProperty'](exports,'resolveExecutable',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveExecutable'];}}),Object['defineProperty'](exports,'resolveMcpCommand',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveMcpCommand'];}}),Object['defineProperty'](exports,'resolveNpmCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpmCliJs'];}}),Object['defineProperty'](exports,'resolveNpxCliJs',{'enumerable':!![],'get':function(){return spawn_resolve_js_2['resolveNpxCliJs'];}});
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x56ffa4,_0x3f30a8,_0x2649b2,_0x1f297b){if(_0x1f297b===undefined)_0x1f297b=_0x2649b2;var _0x107368=Object['getOwnPropertyDescriptor'](_0x3f30a8,_0x2649b2);(!_0x107368||('get'in _0x107368?!_0x3f30a8['__esModule']:_0x107368['writable']||_0x107368['configurable']))&&(_0x107368={'enumerable':!![],'get':function(){return _0x3f30a8[_0x2649b2];}}),Object['defineProperty'](_0x56ffa4,_0x1f297b,_0x107368);}:function(_0x3f824d,_0x44faab,_0x3ff538,_0x2c45c3){if(_0x2c45c3===undefined)_0x2c45c3=_0x3ff538;_0x3f824d[_0x2c45c3]=_0x44faab[_0x3ff538];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x3f832d,_0x12111f){Object['defineProperty'](_0x3f832d,'default',{'enumerable':!![],'value':_0x12111f});}:function(_0x4ac5ae,_0x226cd3){_0x4ac5ae['default']=_0x226cd3;}),__importStar=this&&this['__importStar']||(function(){var _0x13f63c=function(_0x3ca283){return _0x13f63c=Object['getOwnPropertyNames']||function(_0x546529){var _0x4422bd=[];for(var _0x1ca362 in _0x546529)if(Object['prototype']['hasOwnProperty']['call'](_0x546529,_0x1ca362))_0x4422bd[_0x4422bd['length']]=_0x1ca362;return _0x4422bd;},_0x13f63c(_0x3ca283);};return function(_0x20dfcc){if(_0x20dfcc&&_0x20dfcc['__esModule'])return _0x20dfcc;var _0x2bdf49={};if(_0x20dfcc!=null){for(var _0x5786ce=_0x13f63c(_0x20dfcc),_0x108aff=0x0;_0x108aff<_0x5786ce['length'];_0x108aff++)if(_0x5786ce[_0x108aff]!=='default')__createBinding(_0x2bdf49,_0x20dfcc,_0x5786ce[_0x108aff]);}return __setModuleDefault(_0x2bdf49,_0x20dfcc),_0x2bdf49;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OAUTH_CALLBACK_TIMEOUT_MS']=exports['OAUTH_CALLBACK_PATH']=exports['OAUTH_CALLBACK_PORT']=void 0x0,exports['parseRedirectUri']=parseRedirectUri,exports['isPortInUse']=isPortInUse,exports['ensureRunning']=ensureRunning,exports['waitForCallback']=waitForCallback,exports['cancelPending']=cancelPending,exports['stop']=stop,exports['isRunning']=isRunning;const http=__importStar(require('http')),net=__importStar(require('net'));exports['OAUTH_CALLBACK_PORT']=0x4da4,exports['OAUTH_CALLBACK_PATH']='/mcp/oauth/callback',exports['OAUTH_CALLBACK_TIMEOUT_MS']=0x5*0x3c*0x3e8;const DEFAULT_PORT_FALLBACKS=0x5;function parseRedirectUri(_0x55e732){if(!_0x55e732)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x4decd5=new URL(_0x55e732),_0x2bb31a=_0x4decd5['port']?parseInt(_0x4decd5['port'],0xa):_0x4decd5['protocol']==='https:'?0x1bb:0x50,_0x553842=_0x4decd5['pathname']&&_0x4decd5['pathname']!=='/'?_0x4decd5['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x2bb31a,'path':_0x553842};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x1f6e03){return _0x1f6e03['replace'](/&/g,'&amp;')['replace'](/</g,'&lt;')['replace'](/>/g,'&gt;')['replace'](/"/g,'&quot;')['replace'](/'/g,'&#39;');}const HTML_SUCCESS='<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Successful</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#4ade80;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Successful</h1>\x0a\x20\x20\x20\x20<p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20Trayambak.</p>\x0a\x20\x20</div>\x0a\x20\x20<script>setTimeout(()\x20=>\x20window.close(),\x202000);</script>\x0a</body>\x0a</html>',HTML_ERROR=_0x4580be=>'<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Failed</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#f87171;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20\x20\x20.detail\x20{\x20color:\x20#fca5a5;\x20font-family:\x20monospace;\x20margin-top:\x201rem;\x20padding:\x201rem;\x20background:\x20rgba(248,113,113,0.1);\x20border-radius:\x200.5rem;\x20white-space:\x20pre-wrap;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Failed</h1>\x0a\x20\x20\x20\x20<p>An\x20error\x20occurred\x20during\x20authorization.</p>\x0a\x20\x20\x20\x20<pre\x20class=\x22detail\x22>'+escapeHtml(_0x4580be)+'</pre>\x0a\x20\x20</div>\x0a</body>\x0a</html>';let server,currentPort=exports['OAUTH_CALLBACK_PORT'],currentPath=exports['OAUTH_CALLBACK_PATH'];const pendingAuths=new Map(),mcpNameToState=new Map();function cleanupStateIndex(_0x4fc173){for(const [_0x4c2318,_0x46d89c]of mcpNameToState){if(_0x46d89c===_0x4fc173){mcpNameToState['delete'](_0x4c2318);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x27dddf=server;server=undefined,_0x27dddf['close'](),setImmediate(()=>{;_0x27dddf['closeIdleConnections']?.();});}function handleRequest(_0x480134,_0x1ed29b){const _0x52a54f=new URL(_0x480134['url']||'/','http://127.0.0.1:'+currentPort);if(_0x52a54f['pathname']!==currentPath){_0x1ed29b['writeHead'](0x194),_0x1ed29b['end']('Not\x20found');return;}const _0x41ac9c=_0x52a54f['searchParams']['get']('code'),_0x4d7f04=_0x52a54f['searchParams']['get']('state'),_0x47f9e4=_0x52a54f['searchParams']['get']('error'),_0x5e88d5=_0x52a54f['searchParams']['get']('error_description');if(!_0x4d7f04){const _0x523ddf='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x1ed29b['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR(_0x523ddf));return;}if(_0x47f9e4){const _0x55adfe=_0x5e88d5||_0x47f9e4,_0x4a0670=pendingAuths['get'](_0x4d7f04);_0x4a0670&&(clearTimeout(_0x4a0670['timeout']),pendingAuths['delete'](_0x4d7f04),cleanupStateIndex(_0x4d7f04),_0x4a0670['reject'](new Error(_0x55adfe)));_0x1ed29b['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR(_0x55adfe)),stopIfIdle();return;}if(!_0x41ac9c){_0x1ed29b['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x4d7f04)){const _0x1e3f3f='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x1ed29b['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_ERROR(_0x1e3f3f));return;}const _0x55c28b=pendingAuths['get'](_0x4d7f04);clearTimeout(_0x55c28b['timeout']),pendingAuths['delete'](_0x4d7f04),cleanupStateIndex(_0x4d7f04),_0x55c28b['resolve'](_0x41ac9c),_0x1ed29b['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x1ed29b['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x33f66b=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x145940=>{const _0x594c2b=net['createConnection'](_0x33f66b,'127.0.0.1');_0x594c2b['on']('connect',()=>{_0x594c2b['destroy'](),_0x145940(!![]);}),_0x594c2b['on']('error',()=>{_0x145940(![]);});});}function listen(_0x774994,_0x3591eb){return new Promise(_0x1c41ac=>{const _0x599527=http['createServer'](handleRequest),_0x58b052=()=>{_0x599527['removeListener']('listening',_0x4c88e2),_0x1c41ac(![]);},_0x4c88e2=()=>{_0x599527['removeListener']('error',_0x58b052),_0x599527['on']('error',()=>{}),server=_0x599527,currentPort=_0x774994,currentPath=_0x3591eb,_0x1c41ac(!![]);};_0x599527['once']('error',_0x58b052),_0x599527['once']('listening',_0x4c88e2),_0x599527['listen'](_0x774994,'127.0.0.1');});}async function ensureRunning(_0x324886){const _0xd2dfb6=parseRedirectUri(_0x324886);if(server){const _0x489e8e=_0x324886?currentPort===_0xd2dfb6['port']&&currentPath===_0xd2dfb6['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x489e8e)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x324886){const _0x198ff1=await listen(_0xd2dfb6['port'],_0xd2dfb6['path']);if(!_0x198ff1)throw new Error('OAuth\x20callback\x20port\x20'+_0xd2dfb6['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x46a9b7=![];for(let _0x18a118=exports['OAUTH_CALLBACK_PORT'];_0x18a118<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x46a9b7;_0x18a118++){_0x46a9b7=await listen(_0x18a118,exports['OAUTH_CALLBACK_PATH']);}if(!_0x46a9b7)throw new Error('Could\x20not\x20bind\x20an\x20OAuth\x20callback\x20port\x20(tried\x20'+exports['OAUTH_CALLBACK_PORT']+'-'+(exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS-0x1)+'\x20on\x20127.0.0.1).');}return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};}function waitForCallback(_0x55286e,_0x2ae116,_0x59244a=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x2ae116)mcpNameToState['set'](_0x2ae116,_0x55286e);return new Promise((_0x33b69a,_0x16e3d4)=>{const _0x10c3db=setTimeout(()=>{if(pendingAuths['has'](_0x55286e)){pendingAuths['delete'](_0x55286e);if(_0x2ae116)mcpNameToState['delete'](_0x2ae116);_0x16e3d4(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x59244a);pendingAuths['set'](_0x55286e,{'resolve':_0x33b69a,'reject':_0x16e3d4,'timeout':_0x10c3db});});}function cancelPending(_0x112cc6){const _0x1b6ee=mcpNameToState['get'](_0x112cc6),_0x4704fc=_0x1b6ee??_0x112cc6,_0x8ba931=pendingAuths['get'](_0x4704fc);_0x8ba931&&(clearTimeout(_0x8ba931['timeout']),pendingAuths['delete'](_0x4704fc),mcpNameToState['delete'](_0x112cc6),_0x8ba931['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x1c289f=server;server=undefined,_0x1c289f['closeAllConnections']?.(),await new Promise(_0x5746c1=>_0x1c289f['close'](()=>_0x5746c1()));}for(const [,_0x379b03]of pendingAuths){clearTimeout(_0x379b03['timeout']),_0x379b03['reject'](new Error('OAuth\x20callback\x20server\x20stopped'));}pendingAuths['clear'](),mcpNameToState['clear']();}function isRunning(){return server!==undefined;}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x30452e,_0x5afb23,_0x2e806d,_0x2184cb){if(_0x2184cb===undefined)_0x2184cb=_0x2e806d;var _0x458546=Object['getOwnPropertyDescriptor'](_0x5afb23,_0x2e806d);(!_0x458546||('get'in _0x458546?!_0x5afb23['__esModule']:_0x458546['writable']||_0x458546['configurable']))&&(_0x458546={'enumerable':!![],'get':function(){return _0x5afb23[_0x2e806d];}}),Object['defineProperty'](_0x30452e,_0x2184cb,_0x458546);}:function(_0x47a2f7,_0x351a6b,_0x216ae1,_0x59c420){if(_0x59c420===undefined)_0x59c420=_0x216ae1;_0x47a2f7[_0x59c420]=_0x351a6b[_0x216ae1];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5170be,_0x2968cf){Object['defineProperty'](_0x5170be,'default',{'enumerable':!![],'value':_0x2968cf});}:function(_0x54bc10,_0x9cca3e){_0x54bc10['default']=_0x9cca3e;}),__importStar=this&&this['__importStar']||(function(){var _0x6425f3=function(_0x36ee3c){return _0x6425f3=Object['getOwnPropertyNames']||function(_0x48de40){var _0x16ef16=[];for(var _0x3db5d0 in _0x48de40)if(Object['prototype']['hasOwnProperty']['call'](_0x48de40,_0x3db5d0))_0x16ef16[_0x16ef16['length']]=_0x3db5d0;return _0x16ef16;},_0x6425f3(_0x36ee3c);};return function(_0x32932e){if(_0x32932e&&_0x32932e['__esModule'])return _0x32932e;var _0x1bfeef={};if(_0x32932e!=null){for(var _0xcc0253=_0x6425f3(_0x32932e),_0x850b71=0x0;_0x850b71<_0xcc0253['length'];_0x850b71++)if(_0xcc0253[_0x850b71]!=='default')__createBinding(_0x1bfeef,_0x32932e,_0xcc0253[_0x850b71]);}return __setModuleDefault(_0x1bfeef,_0x32932e),_0x1bfeef;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OAUTH_CALLBACK_TIMEOUT_MS']=exports['OAUTH_CALLBACK_PATH']=exports['OAUTH_CALLBACK_PORT']=void 0x0,exports['parseRedirectUri']=parseRedirectUri,exports['isPortInUse']=isPortInUse,exports['ensureRunning']=ensureRunning,exports['waitForCallback']=waitForCallback,exports['cancelPending']=cancelPending,exports['stop']=stop,exports['isRunning']=isRunning;const http=__importStar(require('http')),net=__importStar(require('net'));exports['OAUTH_CALLBACK_PORT']=0x4da4,exports['OAUTH_CALLBACK_PATH']='/mcp/oauth/callback',exports['OAUTH_CALLBACK_TIMEOUT_MS']=0x5*0x3c*0x3e8;const DEFAULT_PORT_FALLBACKS=0x5;function parseRedirectUri(_0x529bb1){if(!_0x529bb1)return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};try{const _0x108e45=new URL(_0x529bb1),_0x4e6169=_0x108e45['port']?parseInt(_0x108e45['port'],0xa):_0x108e45['protocol']==='https:'?0x1bb:0x50,_0x4e654e=_0x108e45['pathname']&&_0x108e45['pathname']!=='/'?_0x108e45['pathname']:exports['OAUTH_CALLBACK_PATH'];return{'port':_0x4e6169,'path':_0x4e654e};}catch{return{'port':exports['OAUTH_CALLBACK_PORT'],'path':exports['OAUTH_CALLBACK_PATH']};}}function escapeHtml(_0x58cc25){return _0x58cc25['replace'](/&/g,'&amp;')['replace'](/</g,'&lt;')['replace'](/>/g,'&gt;')['replace'](/"/g,'&quot;')['replace'](/'/g,'&#39;');}const HTML_SUCCESS='<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Successful</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#4ade80;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Successful</h1>\x0a\x20\x20\x20\x20<p>You\x20can\x20close\x20this\x20window\x20and\x20return\x20to\x20Trayambak.</p>\x0a\x20\x20</div>\x0a\x20\x20<script>setTimeout(()\x20=>\x20window.close(),\x202000);</script>\x0a</body>\x0a</html>',HTML_ERROR=_0x139292=>'<!DOCTYPE\x20html>\x0a<html>\x0a<head>\x0a\x20\x20<title>Trayambak\x20-\x20Authorization\x20Failed</title>\x0a\x20\x20<style>\x0a\x20\x20\x20\x20body\x20{\x20font-family:\x20system-ui,\x20-apple-system,\x20sans-serif;\x20display:\x20flex;\x20justify-content:\x20center;\x20align-items:\x20center;\x20height:\x20100vh;\x20margin:\x200;\x20background:\x20#1a1a2e;\x20color:\x20#eee;\x20}\x0a\x20\x20\x20\x20.container\x20{\x20text-align:\x20center;\x20padding:\x202rem;\x20}\x0a\x20\x20\x20\x20h1\x20{\x20color:\x20#f87171;\x20margin-bottom:\x201rem;\x20}\x0a\x20\x20\x20\x20p\x20{\x20color:\x20#aaa;\x20}\x0a\x20\x20\x20\x20.detail\x20{\x20color:\x20#fca5a5;\x20font-family:\x20monospace;\x20margin-top:\x201rem;\x20padding:\x201rem;\x20background:\x20rgba(248,113,113,0.1);\x20border-radius:\x200.5rem;\x20white-space:\x20pre-wrap;\x20}\x0a\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20<div\x20class=\x22container\x22>\x0a\x20\x20\x20\x20<h1>Authorization\x20Failed</h1>\x0a\x20\x20\x20\x20<p>An\x20error\x20occurred\x20during\x20authorization.</p>\x0a\x20\x20\x20\x20<pre\x20class=\x22detail\x22>'+escapeHtml(_0x139292)+'</pre>\x0a\x20\x20</div>\x0a</body>\x0a</html>';let server,currentPort=exports['OAUTH_CALLBACK_PORT'],currentPath=exports['OAUTH_CALLBACK_PATH'];const pendingAuths=new Map(),mcpNameToState=new Map();function cleanupStateIndex(_0x38f8a6){for(const [_0x396769,_0x37a688]of mcpNameToState){if(_0x37a688===_0x38f8a6){mcpNameToState['delete'](_0x396769);break;}}}function stopIfIdle(){if(pendingAuths['size']>0x0||!server)return;const _0x397ea9=server;server=undefined,_0x397ea9['close'](),setImmediate(()=>{;_0x397ea9['closeIdleConnections']?.();});}function handleRequest(_0x6840c1,_0x53f143){const _0x4589d0=new URL(_0x6840c1['url']||'/','http://127.0.0.1:'+currentPort);if(_0x4589d0['pathname']!==currentPath){_0x53f143['writeHead'](0x194),_0x53f143['end']('Not\x20found');return;}const _0x156795=_0x4589d0['searchParams']['get']('code'),_0x3ffdb5=_0x4589d0['searchParams']['get']('state'),_0x11a848=_0x4589d0['searchParams']['get']('error'),_0x36d60=_0x4589d0['searchParams']['get']('error_description');if(!_0x3ffdb5){const _0x142903='Missing\x20required\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x53f143['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR(_0x142903));return;}if(_0x11a848){const _0x53ec01=_0x36d60||_0x11a848,_0x542d0b=pendingAuths['get'](_0x3ffdb5);_0x542d0b&&(clearTimeout(_0x542d0b['timeout']),pendingAuths['delete'](_0x3ffdb5),cleanupStateIndex(_0x3ffdb5),_0x542d0b['reject'](new Error(_0x53ec01)));_0x53f143['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR(_0x53ec01)),stopIfIdle();return;}if(!_0x156795){_0x53f143['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR('No\x20authorization\x20code\x20provided'));return;}if(!pendingAuths['has'](_0x3ffdb5)){const _0x28f2e4='Invalid\x20or\x20expired\x20state\x20parameter\x20-\x20potential\x20CSRF\x20attack';_0x53f143['writeHead'](0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_ERROR(_0x28f2e4));return;}const _0x586fe8=pendingAuths['get'](_0x3ffdb5);clearTimeout(_0x586fe8['timeout']),pendingAuths['delete'](_0x3ffdb5),cleanupStateIndex(_0x3ffdb5),_0x586fe8['resolve'](_0x156795),_0x53f143['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x53f143['end'](HTML_SUCCESS),stopIfIdle();}function isPortInUse(_0x324d8b=exports['OAUTH_CALLBACK_PORT']){return new Promise(_0x541437=>{const _0x2f3c06=net['createConnection'](_0x324d8b,'127.0.0.1');_0x2f3c06['on']('connect',()=>{_0x2f3c06['destroy'](),_0x541437(!![]);}),_0x2f3c06['on']('error',()=>{_0x541437(![]);});});}function listen(_0x905cda,_0x533106){return new Promise(_0x337127=>{const _0x496d8d=http['createServer'](handleRequest),_0x2a6a37=()=>{_0x496d8d['removeListener']('listening',_0x55a7d8),_0x337127(![]);},_0x55a7d8=()=>{_0x496d8d['removeListener']('error',_0x2a6a37),_0x496d8d['on']('error',()=>{}),server=_0x496d8d,currentPort=_0x905cda,currentPath=_0x533106,_0x337127(!![]);};_0x496d8d['once']('error',_0x2a6a37),_0x496d8d['once']('listening',_0x55a7d8),_0x496d8d['listen'](_0x905cda,'127.0.0.1');});}async function ensureRunning(_0x55a354){const _0x39c426=parseRedirectUri(_0x55a354);if(server){const _0x2ea45a=_0x55a354?currentPort===_0x39c426['port']&&currentPath===_0x39c426['path']:currentPath===exports['OAUTH_CALLBACK_PATH'];if(_0x2ea45a)return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};await stop();}if(_0x55a354){const _0x34e40f=await listen(_0x39c426['port'],_0x39c426['path']);if(!_0x34e40f)throw new Error('OAuth\x20callback\x20port\x20'+_0x39c426['port']+'\x20is\x20already\x20in\x20use.\x20Free\x20it\x20or\x20set\x20a\x20different\x20callbackPort/redirectUri.');}else{let _0x124868=![];for(let _0x517c8a=exports['OAUTH_CALLBACK_PORT'];_0x517c8a<exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS&&!_0x124868;_0x517c8a++){_0x124868=await listen(_0x517c8a,exports['OAUTH_CALLBACK_PATH']);}if(!_0x124868)throw new Error('Could\x20not\x20bind\x20an\x20OAuth\x20callback\x20port\x20(tried\x20'+exports['OAUTH_CALLBACK_PORT']+'-'+(exports['OAUTH_CALLBACK_PORT']+DEFAULT_PORT_FALLBACKS-0x1)+'\x20on\x20127.0.0.1).');}return{'redirectUri':'http://127.0.0.1:'+currentPort+currentPath,'port':currentPort,'path':currentPath};}function waitForCallback(_0x153c00,_0x11e639,_0x4cf38b=exports['OAUTH_CALLBACK_TIMEOUT_MS']){if(_0x11e639)mcpNameToState['set'](_0x11e639,_0x153c00);return new Promise((_0x59e740,_0x5a9372)=>{const _0x18b226=setTimeout(()=>{if(pendingAuths['has'](_0x153c00)){pendingAuths['delete'](_0x153c00);if(_0x11e639)mcpNameToState['delete'](_0x11e639);_0x5a9372(new Error('OAuth\x20callback\x20timeout\x20-\x20authorization\x20took\x20too\x20long')),stopIfIdle();}},_0x4cf38b);pendingAuths['set'](_0x153c00,{'resolve':_0x59e740,'reject':_0x5a9372,'timeout':_0x18b226});});}function cancelPending(_0x5b610b){const _0x23241e=mcpNameToState['get'](_0x5b610b),_0x1e1041=_0x23241e??_0x5b610b,_0x528844=pendingAuths['get'](_0x1e1041);_0x528844&&(clearTimeout(_0x528844['timeout']),pendingAuths['delete'](_0x1e1041),mcpNameToState['delete'](_0x5b610b),_0x528844['reject'](new Error('Authorization\x20cancelled')),stopIfIdle());}async function stop(){if(server){const _0x196484=server;server=undefined,_0x196484['closeAllConnections']?.(),await new Promise(_0x5d8122=>_0x196484['close'](()=>_0x5d8122()));}for(const [,_0x2204bf]of pendingAuths){clearTimeout(_0x2204bf['timeout']),_0x2204bf['reject'](new Error('OAuth\x20callback\x20server\x20stopped'));}pendingAuths['clear'](),mcpNameToState['clear']();}function isRunning(){return server!==undefined;}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x29777f,_0x4e594d,_0x3f3084,_0x4e51dd){if(_0x4e51dd===undefined)_0x4e51dd=_0x3f3084;var _0x5c0f21=Object['getOwnPropertyDescriptor'](_0x4e594d,_0x3f3084);(!_0x5c0f21||('get'in _0x5c0f21?!_0x4e594d['__esModule']:_0x5c0f21['writable']||_0x5c0f21['configurable']))&&(_0x5c0f21={'enumerable':!![],'get':function(){return _0x4e594d[_0x3f3084];}}),Object['defineProperty'](_0x29777f,_0x4e51dd,_0x5c0f21);}:function(_0x42b292,_0x4895b0,_0x3d980d,_0x290322){if(_0x290322===undefined)_0x290322=_0x3d980d;_0x42b292[_0x290322]=_0x4895b0[_0x3d980d];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x39cb49,_0x31afe8){Object['defineProperty'](_0x39cb49,'default',{'enumerable':!![],'value':_0x31afe8});}:function(_0x599025,_0x45e558){_0x599025['default']=_0x45e558;}),__importStar=this&&this['__importStar']||(function(){var _0x4feb87=function(_0x4f7df8){return _0x4feb87=Object['getOwnPropertyNames']||function(_0x578cec){var _0x32c482=[];for(var _0x207e18 in _0x578cec)if(Object['prototype']['hasOwnProperty']['call'](_0x578cec,_0x207e18))_0x32c482[_0x32c482['length']]=_0x207e18;return _0x32c482;},_0x4feb87(_0x4f7df8);};return function(_0xda3b39){if(_0xda3b39&&_0xda3b39['__esModule'])return _0xda3b39;var _0x4b9b1c={};if(_0xda3b39!=null){for(var _0x5a2061=_0x4feb87(_0xda3b39),_0x219ed6=0x0;_0x219ed6<_0x5a2061['length'];_0x219ed6++)if(_0x5a2061[_0x219ed6]!=='default')__createBinding(_0x4b9b1c,_0xda3b39,_0x5a2061[_0x219ed6]);}return __setModuleDefault(_0x4b9b1c,_0xda3b39),_0x4b9b1c;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpAuthError']=void 0x0,exports['authFilePath']=authFilePath,exports['getAuthEntry']=getAuthEntry,exports['getAuthEntryForUrl']=getAuthEntryForUrl,exports['setAuthEntry']=setAuthEntry,exports['removeMcpAuth']=removeMcpAuth,exports['getMcpAuthStatus']=getMcpAuthStatus,exports['generateCodeVerifier']=generateCodeVerifier,exports['computeCodeChallenge']=computeCodeChallenge,exports['generateState']=generateState,exports['discoveryCandidates']=discoveryCandidates,exports['discoverOAuthMetadata']=discoverOAuthMetadata,exports['clientMetadata']=clientMetadata,exports['registerClient']=registerClient,exports['buildAuthorizationUrl']=buildAuthorizationUrl,exports['exchangeAuthorizationCode']=exchangeAuthorizationCode,exports['refreshAccessToken']=refreshAccessToken,exports['getValidAccessToken']=getValidAccessToken,exports['openSystemBrowser']=openSystemBrowser,exports['authorizeMcpServer']=authorizeMcpServer,exports['clearOAuthCaches']=clearOAuthCaches;const child_process_1=require('child_process'),crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),http=__importStar(require('http')),https=__importStar(require('https')),os=__importStar(require('os')),path=__importStar(require('path')),oauth_callback_js_1=require('./oauth-callback.js');class McpAuthError extends Error{['kind'];['authorizationUrl'];constructor(_0x354d85,_0x38ca1b,_0x270a96){super(_0x354d85),this['name']='McpAuthError',this['kind']=_0x38ca1b,this['authorizationUrl']=_0x270a96;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0xde5af1=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0xde5af1&&typeof _0xde5af1==='object'&&!Array['isArray'](_0xde5af1))return _0xde5af1;}catch{}return{};}function writeAuthStore(_0x5d1f97){const _0x541dfe=authFilePath();fs['mkdirSync'](path['dirname'](_0x541dfe),{'recursive':!![]}),fs['writeFileSync'](_0x541dfe,JSON['stringify'](_0x5d1f97,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x541dfe,0x180);}catch{}}function getAuthEntry(_0x3421c8){return readAuthStore()[_0x3421c8];}function getAuthEntryForUrl(_0x2324c8,_0x59e7d8){const _0x5a3293=readAuthStore()[_0x2324c8];if(!_0x5a3293)return undefined;if(_0x5a3293['serverUrl']&&_0x5a3293['serverUrl']!==_0x59e7d8)return undefined;return _0x5a3293;}function setAuthEntry(_0x3544d7,_0x492962){const _0x1758c5=readAuthStore();_0x1758c5[_0x3544d7]=_0x492962,writeAuthStore(_0x1758c5);}function removeMcpAuth(_0x3b58a2){const _0x57d2c1=readAuthStore();if(!(_0x3b58a2 in _0x57d2c1))return(0x0,oauth_callback_js_1['cancelPending'])(_0x3b58a2),![];return delete _0x57d2c1[_0x3b58a2],writeAuthStore(_0x57d2c1),(0x0,oauth_callback_js_1['cancelPending'])(_0x3b58a2),!![];}function getMcpAuthStatus(_0x5a8092,_0x5aa791){const _0x598e0b=_0x5aa791?getAuthEntryForUrl(_0x5a8092,_0x5aa791):getAuthEntry(_0x5a8092);if(!_0x598e0b?.['tokens'])return'not_authenticated';const _0x49e597=_0x598e0b['tokens']['expiresAt'];if(_0x49e597&&_0x49e597<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0x176251){return crypto['createHash']('sha256')['update'](_0x176251)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x1625f1,_0x38d09c={}){return new Promise((_0x2b6bf1,_0x31cdfb)=>{let _0x5acf09;try{_0x5acf09=new URL(_0x1625f1);}catch{_0x31cdfb(new Error('Invalid\x20URL:\x20'+_0x1625f1));return;}const _0x44e60c=_0x5acf09['protocol']==='https:'?https:http,_0x4942a5=_0x44e60c['request']({'hostname':_0x5acf09['hostname'],'port':_0x5acf09['port']||(_0x5acf09['protocol']==='https:'?0x1bb:0x50),'path':_0x5acf09['pathname']+_0x5acf09['search'],'method':_0x38d09c['method']??'GET','headers':_0x38d09c['headers'],'timeout':_0x38d09c['timeoutMs']??0x3a98},_0xb290a6=>{let _0x1bd764='';_0xb290a6['setEncoding']('utf8'),_0xb290a6['on']('data',_0x178af2=>_0x1bd764+=_0x178af2),_0xb290a6['on']('end',()=>{let _0x179f44;try{const _0x4933af=JSON['parse'](_0x1bd764);if(_0x4933af&&typeof _0x4933af==='object')_0x179f44=_0x4933af;}catch{}_0x2b6bf1({'status':_0xb290a6['statusCode']??0x0,'text':_0x1bd764,'json':_0x179f44});});});_0x4942a5['on']('error',_0x3212a2=>_0x31cdfb(_0x3212a2)),_0x4942a5['on']('timeout',()=>{_0x4942a5['destroy'](),_0x31cdfb(new Error('Timeout\x20requesting\x20'+_0x1625f1));}),_0x4942a5['end'](_0x38d09c['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x2b447b){const _0x14da61=new URL(_0x2b447b);_0x14da61['search']='',_0x14da61['hash']='';const _0x488b52=_0x14da61['origin'],_0x33516b=_0x14da61['pathname']['replace'](/\/+$/,''),_0x10d18e=new Set();return _0x33516b&&(_0x10d18e['add'](_0x488b52+'/.well-known/oauth-authorization-server'+_0x33516b),_0x10d18e['add'](''+_0x488b52+_0x33516b+'/.well-known/oauth-authorization-server')),_0x10d18e['add'](_0x488b52+'/.well-known/oauth-authorization-server'),_0x10d18e['add'](_0x488b52+'/.well-known/openid-configuration'),Array['from'](_0x10d18e);}async function discoverOAuthMetadata(_0x1c537b){const _0x558b57=metaCache['get'](_0x1c537b);if(_0x558b57&&Date['now']()-_0x558b57['at']<META_TTL_MS)return _0x558b57['meta'];const _0x30117b=[];for(const _0x59ffb9 of discoveryCandidates(_0x1c537b)){try{const _0x32bd4e=await httpRequest(_0x59ffb9,{'headers':{'Accept':'application/json'}});if(_0x32bd4e['status']>=0xc8&&_0x32bd4e['status']<0x12c&&_0x32bd4e['json']){const _0x332998=_0x32bd4e['json'];if(typeof _0x332998['authorization_endpoint']==='string'&&_0x332998['authorization_endpoint']['length']>0x0)return metaCache['set'](_0x1c537b,{'at':Date['now'](),'meta':_0x332998}),_0x332998;_0x30117b['push'](_0x59ffb9+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x32bd4e['status']!==0x194&&_0x32bd4e['status']!==0x191&&_0x32bd4e['status']!==0x193&&_0x30117b['push'](_0x59ffb9+':\x20HTTP\x20'+_0x32bd4e['status']);}catch(_0x4aaceb){_0x30117b['push'](_0x59ffb9+':\x20'+(_0x4aaceb instanceof Error?_0x4aaceb['message']:String(_0x4aaceb)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0x1c537b+'\x20('+(_0x30117b['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x30bfa0,_0x5b5230){return{'redirect_uris':[_0x30bfa0],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x5b5230['clientSecret']?'client_secret_post':'none',..._0x5b5230['scope']?{'scope':_0x5b5230['scope']}:{}};}async function registerClient(_0x3ae09b,_0x575aeb){const _0x333807=await httpRequest(_0x3ae09b,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x575aeb)}),_0xb3ef8f=_0x333807['json'];if(!(_0x333807['status']>=0xc8&&_0x333807['status']<0x12c)||typeof _0xb3ef8f?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x333807['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0xb3ef8f['client_id'],'clientSecret':typeof _0xb3ef8f['client_secret']==='string'?_0xb3ef8f['client_secret']:undefined,'clientIdIssuedAt':typeof _0xb3ef8f['client_id_issued_at']==='number'?_0xb3ef8f['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0xb3ef8f['client_secret_expires_at']==='number'?_0xb3ef8f['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x467dce,_0x197633,_0x1710dc){if(_0x1710dc['clientId'])return{'clientId':_0x1710dc['clientId'],'clientSecret':_0x1710dc['clientSecret']};const _0x25fafb=getAuthEntryForUrl(_0x467dce,_0x197633)?.['clientInfo'];if(!_0x25fafb)return undefined;if(_0x25fafb['clientSecretExpiresAt']&&_0x25fafb['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x25fafb;}function buildAuthorizationUrl(_0x5d8cd6,_0x9683e1){const _0x5c174d=new URL(_0x5d8cd6);_0x5c174d['searchParams']['set']('response_type','code'),_0x5c174d['searchParams']['set']('client_id',_0x9683e1['clientId']),_0x5c174d['searchParams']['set']('redirect_uri',_0x9683e1['redirectUri']),_0x5c174d['searchParams']['set']('state',_0x9683e1['state']),_0x5c174d['searchParams']['set']('code_challenge',_0x9683e1['codeChallenge']),_0x5c174d['searchParams']['set']('code_challenge_method','S256');if(_0x9683e1['scope'])_0x5c174d['searchParams']['set']('scope',_0x9683e1['scope']);return _0x5c174d['toString']();}async function tokenRequest(_0x381bab,_0xf552d){const _0x16b479=new URLSearchParams(_0xf552d)['toString'](),_0x5d28d5=await httpRequest(_0x381bab,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x16b479}),_0x2bcda9=_0x5d28d5['json'];if(!(_0x5d28d5['status']>=0xc8&&_0x5d28d5['status']<0x12c)||_0x2bcda9?.['error']){const _0x55d4fe=typeof _0x2bcda9?.['error_description']==='string'&&_0x2bcda9['error_description']||typeof _0x2bcda9?.['error']==='string'&&_0x2bcda9['error']||'HTTP\x20'+_0x5d28d5['status']+(_0x5d28d5['text']?':\x20'+_0x5d28d5['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x55d4fe,'token');}if(typeof _0x2bcda9?.['access_token']!=='string'||!_0x2bcda9['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x2bcda9['access_token'],'refreshToken':typeof _0x2bcda9['refresh_token']==='string'?_0x2bcda9['refresh_token']:undefined,'expiresAt':typeof _0x2bcda9['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x2bcda9['expires_in']:undefined,'scope':typeof _0x2bcda9['scope']==='string'?_0x2bcda9['scope']:undefined};}function exchangeAuthorizationCode(_0x4578bd,_0x3946c1){return tokenRequest(_0x4578bd,{'grant_type':'authorization_code','code':_0x3946c1['code'],'redirect_uri':_0x3946c1['redirectUri'],'client_id':_0x3946c1['clientId'],'code_verifier':_0x3946c1['codeVerifier'],..._0x3946c1['clientSecret']?{'client_secret':_0x3946c1['clientSecret']}:{}});}function refreshAccessToken(_0x25beb4,_0x4aded3){return tokenRequest(_0x25beb4,{'grant_type':'refresh_token','refresh_token':_0x4aded3['refreshToken'],'client_id':_0x4aded3['clientId'],..._0x4aded3['clientSecret']?{'client_secret':_0x4aded3['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x56fada,_0x3deae4,_0x2577fb={}){const _0x349666=getAuthEntryForUrl(_0x56fada,_0x3deae4)?.['tokens'];if(!_0x349666)return undefined;const _0x390500=Math['floor'](Date['now']()/0x3e8),_0x1e8446=Boolean(_0x349666['expiresAt'])&&_0x349666['expiresAt']-REFRESH_SKEW_SECONDS<=_0x390500;if(!_0x1e8446||!_0x349666['refreshToken'])return _0x349666['accessToken'];const _0x3d17ae=inflightRefresh['get'](_0x56fada);if(_0x3d17ae)return _0x3d17ae;const _0x52b28f=((async()=>{try{const _0xf6fbf3=await discoverOAuthMetadata(_0x3deae4);if(!_0xf6fbf3['token_endpoint'])return _0x349666['accessToken'];const _0x23681c=resolveClientInfo(_0x56fada,_0x3deae4,_0x2577fb);if(!_0x23681c)return _0x349666['accessToken'];const _0x251db6=await refreshAccessToken(_0xf6fbf3['token_endpoint'],{'clientId':_0x23681c['clientId'],'clientSecret':_0x23681c['clientSecret'],'refreshToken':_0x349666['refreshToken']}),_0x55b9de=getAuthEntryForUrl(_0x56fada,_0x3deae4)??{'serverUrl':_0x3deae4};return setAuthEntry(_0x56fada,{..._0x55b9de,'tokens':{..._0x251db6,'refreshToken':_0x251db6['refreshToken']??_0x349666['refreshToken']},'serverUrl':_0x3deae4}),_0x251db6['accessToken'];}catch{return _0x349666['accessToken'];}finally{inflightRefresh['delete'](_0x56fada);}})());return inflightRefresh['set'](_0x56fada,_0x52b28f),_0x52b28f;}function openSystemBrowser(_0x37cadb){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x37cadb],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x3f0f25=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x3f0f25,[_0x37cadb],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x452e3d,_0x17e5af,_0x432fdb={},_0x38fa57={}){const _0x462001=inflightAuth['get'](_0x452e3d);if(_0x462001)return _0x462001;const _0x2f7aa6=runAuthorize(_0x452e3d,_0x17e5af,_0x432fdb,_0x38fa57)['finally'](()=>{inflightAuth['delete'](_0x452e3d);});return inflightAuth['set'](_0x452e3d,_0x2f7aa6),_0x2f7aa6;}async function runAuthorize(_0x4541e4,_0x222dde,_0x4875bb,_0x240fc1){const _0x308c0d=await discoverOAuthMetadata(_0x222dde),_0x1ef8b4=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x4875bb['redirectUri']??(_0x4875bb['callbackPort']?'http://127.0.0.1:'+_0x4875bb['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x1deeca=_0x1ef8b4['redirectUri'];let _0x124f47=resolveClientInfo(_0x4541e4,_0x222dde,_0x4875bb);const _0x45799d=!_0x124f47;if(!_0x124f47){if(!_0x308c0d['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x4541e4+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x124f47=await registerClient(_0x308c0d['registration_endpoint'],clientMetadata(_0x1deeca,_0x4875bb));}if(!_0x308c0d['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x4541e4+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x3b0a88=generateState(),_0x43f3ac=generateCodeVerifier(),_0x441538=buildAuthorizationUrl(_0x308c0d['authorization_endpoint'],{'clientId':_0x124f47['clientId'],'redirectUri':_0x1deeca,'state':_0x3b0a88,'codeChallenge':computeCodeChallenge(_0x43f3ac),'scope':_0x4875bb['scope']}),_0x1be700=_0x240fc1['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x359c2b=(0x0,oauth_callback_js_1['waitForCallback'])(_0x3b0a88,_0x4541e4,_0x1be700),_0x128bd1=_0x240fc1['onNotice']??(_0x2c6535=>{try{process['stderr']['write'](_0x2c6535+'\x0a');}catch{}});_0x128bd1('MCP\x20\x27'+_0x4541e4+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x441538+'\x0a')+'Waiting\x20for\x20approval...');const _0x2c8661=_0x240fc1['open']??openSystemBrowser;try{await _0x2c8661(_0x441538);}catch{}let _0x497845;try{_0x497845=await _0x359c2b;}catch(_0x5adb19){throw new McpAuthError(_0x5adb19 instanceof Error?_0x5adb19['message']:String(_0x5adb19),'callback',_0x441538);}const _0xc90c11=await exchangeAuthorizationCode(_0x308c0d['token_endpoint'],{'code':_0x497845,'redirectUri':_0x1deeca,'clientId':_0x124f47['clientId'],'clientSecret':_0x124f47['clientSecret'],'codeVerifier':_0x43f3ac}),_0x4b4c14=getAuthEntryForUrl(_0x4541e4,_0x222dde)??{};return setAuthEntry(_0x4541e4,{..._0x4b4c14,..._0x45799d&&_0x124f47?{'clientInfo':_0x124f47}:{},'tokens':_0xc90c11,'serverUrl':_0x222dde}),!![];}function clearOAuthCaches(){metaCache['clear'](),inflightAuth['clear'](),inflightRefresh['clear']();}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x41fc47,_0x5c53ec,_0x153771,_0xf4a946){if(_0xf4a946===undefined)_0xf4a946=_0x153771;var _0x2ac012=Object['getOwnPropertyDescriptor'](_0x5c53ec,_0x153771);(!_0x2ac012||('get'in _0x2ac012?!_0x5c53ec['__esModule']:_0x2ac012['writable']||_0x2ac012['configurable']))&&(_0x2ac012={'enumerable':!![],'get':function(){return _0x5c53ec[_0x153771];}}),Object['defineProperty'](_0x41fc47,_0xf4a946,_0x2ac012);}:function(_0x4bf590,_0x5e6630,_0x2f3806,_0x2ee133){if(_0x2ee133===undefined)_0x2ee133=_0x2f3806;_0x4bf590[_0x2ee133]=_0x5e6630[_0x2f3806];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2e143f,_0x3d5906){Object['defineProperty'](_0x2e143f,'default',{'enumerable':!![],'value':_0x3d5906});}:function(_0x326c86,_0x4be949){_0x326c86['default']=_0x4be949;}),__importStar=this&&this['__importStar']||(function(){var _0x3dbbb8=function(_0xd0f497){return _0x3dbbb8=Object['getOwnPropertyNames']||function(_0x511ad8){var _0x840e24=[];for(var _0x200c7c in _0x511ad8)if(Object['prototype']['hasOwnProperty']['call'](_0x511ad8,_0x200c7c))_0x840e24[_0x840e24['length']]=_0x200c7c;return _0x840e24;},_0x3dbbb8(_0xd0f497);};return function(_0x8ac85c){if(_0x8ac85c&&_0x8ac85c['__esModule'])return _0x8ac85c;var _0x3afe9a={};if(_0x8ac85c!=null){for(var _0x5277dd=_0x3dbbb8(_0x8ac85c),_0x2125df=0x0;_0x2125df<_0x5277dd['length'];_0x2125df++)if(_0x5277dd[_0x2125df]!=='default')__createBinding(_0x3afe9a,_0x8ac85c,_0x5277dd[_0x2125df]);}return __setModuleDefault(_0x3afe9a,_0x8ac85c),_0x3afe9a;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['McpAuthError']=void 0x0,exports['authFilePath']=authFilePath,exports['getAuthEntry']=getAuthEntry,exports['getAuthEntryForUrl']=getAuthEntryForUrl,exports['setAuthEntry']=setAuthEntry,exports['removeMcpAuth']=removeMcpAuth,exports['getMcpAuthStatus']=getMcpAuthStatus,exports['generateCodeVerifier']=generateCodeVerifier,exports['computeCodeChallenge']=computeCodeChallenge,exports['generateState']=generateState,exports['discoveryCandidates']=discoveryCandidates,exports['discoverOAuthMetadata']=discoverOAuthMetadata,exports['clientMetadata']=clientMetadata,exports['registerClient']=registerClient,exports['buildAuthorizationUrl']=buildAuthorizationUrl,exports['exchangeAuthorizationCode']=exchangeAuthorizationCode,exports['refreshAccessToken']=refreshAccessToken,exports['getValidAccessToken']=getValidAccessToken,exports['openSystemBrowser']=openSystemBrowser,exports['authorizeMcpServer']=authorizeMcpServer,exports['clearOAuthCaches']=clearOAuthCaches;const child_process_1=require('child_process'),crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),http=__importStar(require('http')),https=__importStar(require('https')),os=__importStar(require('os')),path=__importStar(require('path')),oauth_callback_js_1=require('./oauth-callback.js');class McpAuthError extends Error{['kind'];['authorizationUrl'];constructor(_0xc84444,_0x41acfb,_0x52f079){super(_0xc84444),this['name']='McpAuthError',this['kind']=_0x41acfb,this['authorizationUrl']=_0x52f079;}}exports['McpAuthError']=McpAuthError;function authFilePath(){return process.env.TRAYAMBAK_MCP_AUTH_FILE||path['join'](os['homedir'](),'.trayambak','mcp-auth.json');}function readAuthStore(){try{const _0x1bd95f=JSON['parse'](fs['readFileSync'](authFilePath(),'utf8'));if(_0x1bd95f&&typeof _0x1bd95f==='object'&&!Array['isArray'](_0x1bd95f))return _0x1bd95f;}catch{}return{};}function writeAuthStore(_0x186068){const _0x29e48d=authFilePath();fs['mkdirSync'](path['dirname'](_0x29e48d),{'recursive':!![]}),fs['writeFileSync'](_0x29e48d,JSON['stringify'](_0x186068,null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x29e48d,0x180);}catch{}}function getAuthEntry(_0x148810){return readAuthStore()[_0x148810];}function getAuthEntryForUrl(_0x5bd1b8,_0x50da4c){const _0x149b2b=readAuthStore()[_0x5bd1b8];if(!_0x149b2b)return undefined;if(_0x149b2b['serverUrl']&&_0x149b2b['serverUrl']!==_0x50da4c)return undefined;return _0x149b2b;}function setAuthEntry(_0x419f3f,_0xf7126a){const _0x12b813=readAuthStore();_0x12b813[_0x419f3f]=_0xf7126a,writeAuthStore(_0x12b813);}function removeMcpAuth(_0xb7cf61){const _0x5182c5=readAuthStore();if(!(_0xb7cf61 in _0x5182c5))return(0x0,oauth_callback_js_1['cancelPending'])(_0xb7cf61),![];return delete _0x5182c5[_0xb7cf61],writeAuthStore(_0x5182c5),(0x0,oauth_callback_js_1['cancelPending'])(_0xb7cf61),!![];}function getMcpAuthStatus(_0x3ffda8,_0x2c3932){const _0x42f074=_0x2c3932?getAuthEntryForUrl(_0x3ffda8,_0x2c3932):getAuthEntry(_0x3ffda8);if(!_0x42f074?.['tokens'])return'not_authenticated';const _0x5e37b1=_0x42f074['tokens']['expiresAt'];if(_0x5e37b1&&_0x5e37b1<Math['floor'](Date['now']()/0x3e8))return'expired';return'authenticated';}function generateCodeVerifier(){return crypto['randomBytes'](0x30)['toString']('base64url');}function computeCodeChallenge(_0xb91665){return crypto['createHash']('sha256')['update'](_0xb91665)['digest']('base64url');}function generateState(){return crypto['randomBytes'](0x20)['toString']('hex');}function httpRequest(_0x466db4,_0x1b02a9={}){return new Promise((_0x1abbe8,_0x52e9b3)=>{let _0x5dfb3a;try{_0x5dfb3a=new URL(_0x466db4);}catch{_0x52e9b3(new Error('Invalid\x20URL:\x20'+_0x466db4));return;}const _0x3e6b72=_0x5dfb3a['protocol']==='https:'?https:http,_0x549abf=_0x3e6b72['request']({'hostname':_0x5dfb3a['hostname'],'port':_0x5dfb3a['port']||(_0x5dfb3a['protocol']==='https:'?0x1bb:0x50),'path':_0x5dfb3a['pathname']+_0x5dfb3a['search'],'method':_0x1b02a9['method']??'GET','headers':_0x1b02a9['headers'],'timeout':_0x1b02a9['timeoutMs']??0x3a98},_0x1e0bfd=>{let _0x4f89f6='';_0x1e0bfd['setEncoding']('utf8'),_0x1e0bfd['on']('data',_0x964c1c=>_0x4f89f6+=_0x964c1c),_0x1e0bfd['on']('end',()=>{let _0x59258c;try{const _0x276005=JSON['parse'](_0x4f89f6);if(_0x276005&&typeof _0x276005==='object')_0x59258c=_0x276005;}catch{}_0x1abbe8({'status':_0x1e0bfd['statusCode']??0x0,'text':_0x4f89f6,'json':_0x59258c});});});_0x549abf['on']('error',_0x38960b=>_0x52e9b3(_0x38960b)),_0x549abf['on']('timeout',()=>{_0x549abf['destroy'](),_0x52e9b3(new Error('Timeout\x20requesting\x20'+_0x466db4));}),_0x549abf['end'](_0x1b02a9['body']);});}const META_TTL_MS=0xa*0xea60,metaCache=new Map();function discoveryCandidates(_0x4af336){const _0x4c11d0=new URL(_0x4af336);_0x4c11d0['search']='',_0x4c11d0['hash']='';const _0x4dfe89=_0x4c11d0['origin'],_0xf922b1=_0x4c11d0['pathname']['replace'](/\/+$/,''),_0x56ff01=new Set();return _0xf922b1&&(_0x56ff01['add'](_0x4dfe89+'/.well-known/oauth-authorization-server'+_0xf922b1),_0x56ff01['add'](''+_0x4dfe89+_0xf922b1+'/.well-known/oauth-authorization-server')),_0x56ff01['add'](_0x4dfe89+'/.well-known/oauth-authorization-server'),_0x56ff01['add'](_0x4dfe89+'/.well-known/openid-configuration'),Array['from'](_0x56ff01);}async function discoverOAuthMetadata(_0x20624f){const _0x1a54b4=metaCache['get'](_0x20624f);if(_0x1a54b4&&Date['now']()-_0x1a54b4['at']<META_TTL_MS)return _0x1a54b4['meta'];const _0x1fc143=[];for(const _0x2c94e4 of discoveryCandidates(_0x20624f)){try{const _0x16a2a1=await httpRequest(_0x2c94e4,{'headers':{'Accept':'application/json'}});if(_0x16a2a1['status']>=0xc8&&_0x16a2a1['status']<0x12c&&_0x16a2a1['json']){const _0x30419c=_0x16a2a1['json'];if(typeof _0x30419c['authorization_endpoint']==='string'&&_0x30419c['authorization_endpoint']['length']>0x0)return metaCache['set'](_0x20624f,{'at':Date['now'](),'meta':_0x30419c}),_0x30419c;_0x1fc143['push'](_0x2c94e4+':\x20metadata\x20missing\x20authorization_endpoint');}else _0x16a2a1['status']!==0x194&&_0x16a2a1['status']!==0x191&&_0x16a2a1['status']!==0x193&&_0x1fc143['push'](_0x2c94e4+':\x20HTTP\x20'+_0x16a2a1['status']);}catch(_0x16901a){_0x1fc143['push'](_0x2c94e4+':\x20'+(_0x16901a instanceof Error?_0x16901a['message']:String(_0x16901a)));}}throw new McpAuthError('No\x20OAuth\x20metadata\x20found\x20for\x20MCP\x20server\x20at\x20'+_0x20624f+'\x20('+(_0x1fc143['join'](';\x20')||'no\x20endpoints\x20responded')+').','discovery');}function clientMetadata(_0x25cd75,_0x5d25a4){return{'redirect_uris':[_0x25cd75],'client_name':'trayambak','grant_types':['authorization_code','refresh_token'],'response_types':['code'],'token_endpoint_auth_method':_0x5d25a4['clientSecret']?'client_secret_post':'none',..._0x5d25a4['scope']?{'scope':_0x5d25a4['scope']}:{}};}async function registerClient(_0x55ea2b,_0x8ba378){const _0x4e43c8=await httpRequest(_0x55ea2b,{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json'},'body':JSON['stringify'](_0x8ba378)}),_0xb7c6bc=_0x4e43c8['json'];if(!(_0x4e43c8['status']>=0xc8&&_0x4e43c8['status']<0x12c)||typeof _0xb7c6bc?.['client_id']!=='string')throw new McpAuthError('MCP\x20server\x20does\x20not\x20support\x20dynamic\x20client\x20registration\x20(HTTP\x20'+_0x4e43c8['status']+').\x20Provide\x20clientId\x20in\x20the\x20server\x27s\x20oauth\x20config.','registration');return{'clientId':_0xb7c6bc['client_id'],'clientSecret':typeof _0xb7c6bc['client_secret']==='string'?_0xb7c6bc['client_secret']:undefined,'clientIdIssuedAt':typeof _0xb7c6bc['client_id_issued_at']==='number'?_0xb7c6bc['client_id_issued_at']:undefined,'clientSecretExpiresAt':typeof _0xb7c6bc['client_secret_expires_at']==='number'?_0xb7c6bc['client_secret_expires_at']:undefined};}function resolveClientInfo(_0x15a9eb,_0x26481d,_0x5dd02b){if(_0x5dd02b['clientId'])return{'clientId':_0x5dd02b['clientId'],'clientSecret':_0x5dd02b['clientSecret']};const _0x35a472=getAuthEntryForUrl(_0x15a9eb,_0x26481d)?.['clientInfo'];if(!_0x35a472)return undefined;if(_0x35a472['clientSecretExpiresAt']&&_0x35a472['clientSecretExpiresAt']<Math['floor'](Date['now']()/0x3e8))return undefined;return _0x35a472;}function buildAuthorizationUrl(_0x49c223,_0x581a42){const _0x29ff85=new URL(_0x49c223);_0x29ff85['searchParams']['set']('response_type','code'),_0x29ff85['searchParams']['set']('client_id',_0x581a42['clientId']),_0x29ff85['searchParams']['set']('redirect_uri',_0x581a42['redirectUri']),_0x29ff85['searchParams']['set']('state',_0x581a42['state']),_0x29ff85['searchParams']['set']('code_challenge',_0x581a42['codeChallenge']),_0x29ff85['searchParams']['set']('code_challenge_method','S256');if(_0x581a42['scope'])_0x29ff85['searchParams']['set']('scope',_0x581a42['scope']);return _0x29ff85['toString']();}async function tokenRequest(_0x5c3a63,_0x418b31){const _0x4633de=new URLSearchParams(_0x418b31)['toString'](),_0x4b0d69=await httpRequest(_0x5c3a63,{'method':'POST','headers':{'Content-Type':'application/x-www-form-urlencoded','Accept':'application/json'},'body':_0x4633de}),_0x132104=_0x4b0d69['json'];if(!(_0x4b0d69['status']>=0xc8&&_0x4b0d69['status']<0x12c)||_0x132104?.['error']){const _0x4c394d=typeof _0x132104?.['error_description']==='string'&&_0x132104['error_description']||typeof _0x132104?.['error']==='string'&&_0x132104['error']||'HTTP\x20'+_0x4b0d69['status']+(_0x4b0d69['text']?':\x20'+_0x4b0d69['text']['slice'](0x0,0xc8):'');throw new McpAuthError('Token\x20request\x20failed:\x20'+_0x4c394d,'token');}if(typeof _0x132104?.['access_token']!=='string'||!_0x132104['access_token'])throw new McpAuthError('Token\x20response\x20did\x20not\x20include\x20an\x20access_token.','token');return{'accessToken':_0x132104['access_token'],'refreshToken':typeof _0x132104['refresh_token']==='string'?_0x132104['refresh_token']:undefined,'expiresAt':typeof _0x132104['expires_in']==='number'?Math['floor'](Date['now']()/0x3e8)+_0x132104['expires_in']:undefined,'scope':typeof _0x132104['scope']==='string'?_0x132104['scope']:undefined};}function exchangeAuthorizationCode(_0x1395c4,_0x3004ff){return tokenRequest(_0x1395c4,{'grant_type':'authorization_code','code':_0x3004ff['code'],'redirect_uri':_0x3004ff['redirectUri'],'client_id':_0x3004ff['clientId'],'code_verifier':_0x3004ff['codeVerifier'],..._0x3004ff['clientSecret']?{'client_secret':_0x3004ff['clientSecret']}:{}});}function refreshAccessToken(_0x81b33f,_0x3d38bd){return tokenRequest(_0x81b33f,{'grant_type':'refresh_token','refresh_token':_0x3d38bd['refreshToken'],'client_id':_0x3d38bd['clientId'],..._0x3d38bd['clientSecret']?{'client_secret':_0x3d38bd['clientSecret']}:{}});}const inflightRefresh=new Map(),REFRESH_SKEW_SECONDS=0x3c;async function getValidAccessToken(_0x49d9cb,_0x2438fa,_0x2b89d6={}){const _0x55ad15=getAuthEntryForUrl(_0x49d9cb,_0x2438fa)?.['tokens'];if(!_0x55ad15)return undefined;const _0x40db13=Math['floor'](Date['now']()/0x3e8),_0x4daca3=Boolean(_0x55ad15['expiresAt'])&&_0x55ad15['expiresAt']-REFRESH_SKEW_SECONDS<=_0x40db13;if(!_0x4daca3||!_0x55ad15['refreshToken'])return _0x55ad15['accessToken'];const _0x50dcd7=inflightRefresh['get'](_0x49d9cb);if(_0x50dcd7)return _0x50dcd7;const _0x21fe04=((async()=>{try{const _0x18d9d9=await discoverOAuthMetadata(_0x2438fa);if(!_0x18d9d9['token_endpoint'])return _0x55ad15['accessToken'];const _0x4db483=resolveClientInfo(_0x49d9cb,_0x2438fa,_0x2b89d6);if(!_0x4db483)return _0x55ad15['accessToken'];const _0x2cc366=await refreshAccessToken(_0x18d9d9['token_endpoint'],{'clientId':_0x4db483['clientId'],'clientSecret':_0x4db483['clientSecret'],'refreshToken':_0x55ad15['refreshToken']}),_0x52c0cd=getAuthEntryForUrl(_0x49d9cb,_0x2438fa)??{'serverUrl':_0x2438fa};return setAuthEntry(_0x49d9cb,{..._0x52c0cd,'tokens':{..._0x2cc366,'refreshToken':_0x2cc366['refreshToken']??_0x55ad15['refreshToken']},'serverUrl':_0x2438fa}),_0x2cc366['accessToken'];}catch{return _0x55ad15['accessToken'];}finally{inflightRefresh['delete'](_0x49d9cb);}})());return inflightRefresh['set'](_0x49d9cb,_0x21fe04),_0x21fe04;}function openSystemBrowser(_0x5e2bdb){if(process.env.TRAYAMBAK_NO_BROWSER==='1')return![];try{if(process['platform']==='win32')return(0x0,child_process_1['spawn'])('rundll32',['url.dll,FileProtocolHandler',_0x5e2bdb],{'detached':!![],'stdio':'ignore','windowsHide':!![]})['unref'](),!![];const _0x3cc488=process['platform']==='darwin'?'open':'xdg-open';return(0x0,child_process_1['spawn'])(_0x3cc488,[_0x5e2bdb],{'detached':!![],'stdio':'ignore'})['unref'](),!![];}catch{return![];}}const inflightAuth=new Map();function authorizeMcpServer(_0x139332,_0x188476,_0x988a23={},_0x54d0c8={}){const _0x2d654b=inflightAuth['get'](_0x139332);if(_0x2d654b)return _0x2d654b;const _0x156940=runAuthorize(_0x139332,_0x188476,_0x988a23,_0x54d0c8)['finally'](()=>{inflightAuth['delete'](_0x139332);});return inflightAuth['set'](_0x139332,_0x156940),_0x156940;}async function runAuthorize(_0x1d839d,_0x59647c,_0x40137e,_0x518890){const _0x5cf5ae=await discoverOAuthMetadata(_0x59647c),_0x5452dc=await(0x0,oauth_callback_js_1['ensureRunning'])(_0x40137e['redirectUri']??(_0x40137e['callbackPort']?'http://127.0.0.1:'+_0x40137e['callbackPort']+oauth_callback_js_1['OAUTH_CALLBACK_PATH']:undefined)),_0x28fc05=_0x5452dc['redirectUri'];let _0x3c3825=resolveClientInfo(_0x1d839d,_0x59647c,_0x40137e);const _0x4e0173=!_0x3c3825;if(!_0x3c3825){if(!_0x5cf5ae['registration_endpoint'])throw new McpAuthError('MCP\x20server\x20\x27'+_0x1d839d+'\x27\x20does\x20not\x20support\x20dynamic\x20client\x20registration.\x20Provide\x20clientId\x20(and\x20clientSecret)\x20in\x20its\x20oauth\x20config.','registration');_0x3c3825=await registerClient(_0x5cf5ae['registration_endpoint'],clientMetadata(_0x28fc05,_0x40137e));}if(!_0x5cf5ae['token_endpoint'])throw new McpAuthError('OAuth\x20metadata\x20for\x20\x27'+_0x1d839d+'\x27\x20is\x20missing\x20a\x20token_endpoint.','discovery');const _0x246010=generateState(),_0x74163=generateCodeVerifier(),_0x2ed8c3=buildAuthorizationUrl(_0x5cf5ae['authorization_endpoint'],{'clientId':_0x3c3825['clientId'],'redirectUri':_0x28fc05,'state':_0x246010,'codeChallenge':computeCodeChallenge(_0x74163),'scope':_0x40137e['scope']}),_0x485e93=_0x518890['waitMs']??oauth_callback_js_1['OAUTH_CALLBACK_TIMEOUT_MS'],_0x1c0176=(0x0,oauth_callback_js_1['waitForCallback'])(_0x246010,_0x1d839d,_0x485e93),_0x398e63=_0x518890['onNotice']??(_0x499104=>{try{process['stderr']['write'](_0x499104+'\x0a');}catch{}});_0x398e63('MCP\x20\x27'+_0x1d839d+'\x27\x20requires\x20authorization.\x0a'+('If\x20the\x20browser\x20did\x20not\x20open\x20automatically,\x20visit:\x0a\x20\x20'+_0x2ed8c3+'\x0a')+'Waiting\x20for\x20approval...');const _0x4af112=_0x518890['open']??openSystemBrowser;try{await _0x4af112(_0x2ed8c3);}catch{}let _0x273cee;try{_0x273cee=await _0x1c0176;}catch(_0x1623bf){throw new McpAuthError(_0x1623bf instanceof Error?_0x1623bf['message']:String(_0x1623bf),'callback',_0x2ed8c3);}const _0x5291f2=await exchangeAuthorizationCode(_0x5cf5ae['token_endpoint'],{'code':_0x273cee,'redirectUri':_0x28fc05,'clientId':_0x3c3825['clientId'],'clientSecret':_0x3c3825['clientSecret'],'codeVerifier':_0x74163}),_0xd2965f=getAuthEntryForUrl(_0x1d839d,_0x59647c)??{};return setAuthEntry(_0x1d839d,{..._0xd2965f,..._0x4e0173&&_0x3c3825?{'clientInfo':_0x3c3825}:{},'tokens':_0x5291f2,'serverUrl':_0x59647c}),!![];}function clearOAuthCaches(){metaCache['clear'](),inflightAuth['clear'](),inflightRefresh['clear']();}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x498f57,_0x1906a5,_0x2eb041,_0x150eb8){if(_0x150eb8===undefined)_0x150eb8=_0x2eb041;var _0x51c608=Object['getOwnPropertyDescriptor'](_0x1906a5,_0x2eb041);(!_0x51c608||('get'in _0x51c608?!_0x1906a5['__esModule']:_0x51c608['writable']||_0x51c608['configurable']))&&(_0x51c608={'enumerable':!![],'get':function(){return _0x1906a5[_0x2eb041];}}),Object['defineProperty'](_0x498f57,_0x150eb8,_0x51c608);}:function(_0xcb0b55,_0x2e3392,_0x154d6f,_0x766b0){if(_0x766b0===undefined)_0x766b0=_0x154d6f;_0xcb0b55[_0x766b0]=_0x2e3392[_0x154d6f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x458b5a,_0x49c01e){Object['defineProperty'](_0x458b5a,'default',{'enumerable':!![],'value':_0x49c01e});}:function(_0x535556,_0x53ef45){_0x535556['default']=_0x53ef45;}),__importStar=this&&this['__importStar']||(function(){var _0x4e5429=function(_0x27107b){return _0x4e5429=Object['getOwnPropertyNames']||function(_0x332191){var _0x18097b=[];for(var _0x461572 in _0x332191)if(Object['prototype']['hasOwnProperty']['call'](_0x332191,_0x461572))_0x18097b[_0x18097b['length']]=_0x461572;return _0x18097b;},_0x4e5429(_0x27107b);};return function(_0x5a01d4){if(_0x5a01d4&&_0x5a01d4['__esModule'])return _0x5a01d4;var _0x2187d0={};if(_0x5a01d4!=null){for(var _0x5b441=_0x4e5429(_0x5a01d4),_0x9c8efb=0x0;_0x9c8efb<_0x5b441['length'];_0x9c8efb++)if(_0x5b441[_0x9c8efb]!=='default')__createBinding(_0x2187d0,_0x5a01d4,_0x5b441[_0x9c8efb]);}return __setModuleDefault(_0x2187d0,_0x5a01d4),_0x2187d0;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['canSpawnDirectly']=canSpawnDirectly,exports['resolveExecutable']=resolveExecutable,exports['resolveNpmCliJs']=resolveNpmCliJs,exports['resolveNpxCliJs']=resolveNpxCliJs,exports['resolveMcpCommand']=resolveMcpCommand;const child_process_1=require('child_process'),fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path'));function scoreExecutable(_0x580859){const _0x4cae7f=path['extname'](_0x580859)['toLowerCase']();if(_0x4cae7f==='.exe'||_0x4cae7f==='.com')return 0x0;if(_0x4cae7f==='.bat'||_0x4cae7f==='.cmd')return 0x1;if(_0x4cae7f!=='')return 0x2;return 0x3;}function canSpawnDirectly(_0x11ac0e){if(process['platform']!=='win32')return!![];const _0x54563=path['extname'](_0x11ac0e)['toLowerCase']();return _0x54563==='.exe'||_0x54563==='.com';}function resolveExecutable(_0x1bd0a2){if(process['platform']==='win32')try{const _0x292df8=(0x0,child_process_1['execFileSync'])('where.exe',[_0x1bd0a2],{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'stdio':['ignore','pipe','ignore']}),_0x4ff4ab=String(_0x292df8)['split'](/\r?\n/)['map'](_0x3a6db6=>_0x3a6db6['trim']())['filter'](Boolean)['sort']((_0x3f8e8b,_0x4115d4)=>scoreExecutable(_0x3f8e8b)-scoreExecutable(_0x4115d4));for(const _0x185b6c of _0x4ff4ab){try{if(fs['existsSync'](_0x185b6c))return _0x185b6c;}catch{}}}catch{}else try{const _0x40085f=(0x0,child_process_1['execFileSync'])('command\x20-v\x20'+_0x1bd0a2,{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'shell':'/bin/sh','stdio':['ignore','pipe','ignore']}),_0x352d57=String(_0x40085f)['trim']()['split'](/\s+/)[0x0];if(_0x352d57&&fs['existsSync'](_0x352d57))return _0x352d57;}catch{}const _0x330c0=[];try{const _0x3cbbc6=path['dirname'](process['execPath']);for(const _0x2842d4 of process['platform']==='win32'?['.cmd','.exe','']:['']){_0x330c0['push'](path['join'](_0x3cbbc6,''+_0x1bd0a2+_0x2842d4));}}catch{}if(process['platform']==='win32'){const _0x19c55f=process.env['ProgramFiles']??'C:\x5cProgram\x20Files',_0x342b34=process.env['ProgramFiles(x86)']??'C:\x5cProgram\x20Files\x20(x86)';_0x330c0['push'](path['join'](_0x19c55f,'nodejs',_0x1bd0a2+'.cmd'),path['join'](_0x342b34,'nodejs',_0x1bd0a2+'.cmd'),path['join'](os['homedir'](),'AppData','Roaming','npm',_0x1bd0a2+'.cmd'));}else _0x330c0['push']('/usr/local/bin/'+_0x1bd0a2,'/opt/homebrew/bin/'+_0x1bd0a2,os['homedir']()+'/.local/bin/'+_0x1bd0a2);for(const _0x31e4ee of _0x330c0){try{if(!fs['existsSync'](_0x31e4ee))continue;if(process['platform']==='win32'&&scoreExecutable(_0x31e4ee)>0x1)continue;return _0x31e4ee;}catch{}}return undefined;}function npmDirCandidates(){const _0x2a276e=[];try{_0x2a276e['push'](path['dirname'](process['execPath']));}catch{}const _0x1fd468=process.env['ProgramFiles']??'C:\x5cProgram\x20Files';_0x2a276e['push'](path['join'](_0x1fd468,'nodejs'));for(const _0x3152aa of['npm','npx']){try{const _0x18bbb9=resolveExecutable(_0x3152aa);if(_0x18bbb9)_0x2a276e['push'](path['dirname'](_0x18bbb9));}catch{}}return process['platform']!=='win32'&&_0x2a276e['push']('/usr/local/lib/node_modules/npm','/opt/homebrew/lib/node_modules/npm','/usr/lib/node_modules/npm'),[...new Set(_0x2a276e)];}function resolveNpmCliJs(){for(const _0x4a0b1f of npmDirCandidates()){const _0x4c9732=path['join'](_0x4a0b1f,'node_modules','npm','bin','npm-cli.js');try{if(fs['existsSync'](_0x4c9732))return _0x4c9732;}catch{}}return undefined;}function resolveNpxCliJs(){for(const _0x4f5ad8 of npmDirCandidates()){const _0x2ab68c=path['join'](_0x4f5ad8,'node_modules','npm','bin','npx-cli.js');try{if(fs['existsSync'](_0x2ab68c))return _0x2ab68c;}catch{}}return undefined;}function resolveMcpCommand(_0x1b0e3b){const [_0x43773b,..._0x112282]=_0x1b0e3b;if(!_0x43773b)throw new Error('MCP\x20server\x20spec\x20has\x20an\x20empty\x20command');const _0x34333c=path['basename'](_0x43773b)['replace'](/\.(cmd|exe|bat|com)$/i,'')['toLowerCase']();if(_0x34333c==='node')return{'command':process['execPath'],'args':_0x112282};if(_0x34333c==='npx'){const _0x2eab5f=resolveNpxCliJs();if(_0x2eab5f)return{'command':process['execPath'],'args':[_0x2eab5f,..._0x112282]};const _0x5c4a16=resolveExecutable('npx');if(_0x5c4a16&&canSpawnDirectly(_0x5c4a16))return{'command':_0x5c4a16,'args':_0x112282};throw new Error('npx\x20was\x20not\x20found.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npx\x20--version`\x20works,\x20then\x20retry.');}if(_0x34333c==='npm'){const _0x329c48=resolveNpmCliJs();if(_0x329c48)return{'command':process['execPath'],'args':[_0x329c48,..._0x112282]};const _0x543dbb=resolveExecutable('npm');if(_0x543dbb&&canSpawnDirectly(_0x543dbb))return{'command':_0x543dbb,'args':_0x112282};throw new Error(_0x543dbb?'npm\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x543dbb+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Reinstall\x20Node.js\x20(https://nodejs.org)\x20so\x20node_modules/npm\x20is\x20present,\x20then\x20retry.':'npm\x20was\x20not\x20found.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npm\x20--version`\x20works,\x20then\x20retry.');}if(_0x34333c==='uvx'){const _0x485749=resolveExecutable('uvx');if(_0x485749)return{'command':_0x485749,'args':_0x112282};throw new Error('uvx\x20was\x20not\x20found.\x20Install\x20uv\x20(https://docs.astral.sh/uv/)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`uvx\x20--version`\x20works,\x20then\x20retry.');}if(_0x34333c==='python'||_0x34333c==='python3'||_0x34333c==='py'){const _0x505bbe=resolveExecutable(_0x34333c)??resolveExecutable('python3')??resolveExecutable('python');if(_0x505bbe)return{'command':_0x505bbe,'args':_0x112282};throw new Error('python\x20was\x20not\x20found.\x20Install\x20Python\x20(https://www.python.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`python\x20--version`\x20works,\x20then\x20retry.');}if(path['isAbsolute'](_0x43773b))return{'command':_0x43773b,'args':_0x112282};const _0x24a5e8=resolveExecutable(_0x34333c);if(_0x24a5e8){if(canSpawnDirectly(_0x24a5e8))return{'command':_0x24a5e8,'args':_0x112282};throw new Error('\x27'+_0x34333c+'\x27\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x24a5e8+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Use\x20a\x20node\x20script\x20(node\x20<entry.js>)\x20or\x20a\x20native\x20executable\x20instead.');}return{'command':_0x43773b,'args':_0x112282};}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x2a675a,_0x51fe80,_0xc63849,_0x298159){if(_0x298159===undefined)_0x298159=_0xc63849;var _0x2005d4=Object['getOwnPropertyDescriptor'](_0x51fe80,_0xc63849);(!_0x2005d4||('get'in _0x2005d4?!_0x51fe80['__esModule']:_0x2005d4['writable']||_0x2005d4['configurable']))&&(_0x2005d4={'enumerable':!![],'get':function(){return _0x51fe80[_0xc63849];}}),Object['defineProperty'](_0x2a675a,_0x298159,_0x2005d4);}:function(_0x222c06,_0x2edac0,_0x47896f,_0x4d8fb5){if(_0x4d8fb5===undefined)_0x4d8fb5=_0x47896f;_0x222c06[_0x4d8fb5]=_0x2edac0[_0x47896f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2eafc3,_0x5a64dd){Object['defineProperty'](_0x2eafc3,'default',{'enumerable':!![],'value':_0x5a64dd});}:function(_0x153fe5,_0x288b76){_0x153fe5['default']=_0x288b76;}),__importStar=this&&this['__importStar']||(function(){var _0x17d4ac=function(_0x4a14e8){return _0x17d4ac=Object['getOwnPropertyNames']||function(_0x5169f1){var _0x431a8b=[];for(var _0x415569 in _0x5169f1)if(Object['prototype']['hasOwnProperty']['call'](_0x5169f1,_0x415569))_0x431a8b[_0x431a8b['length']]=_0x415569;return _0x431a8b;},_0x17d4ac(_0x4a14e8);};return function(_0x4526e9){if(_0x4526e9&&_0x4526e9['__esModule'])return _0x4526e9;var _0x23214f={};if(_0x4526e9!=null){for(var _0x56599e=_0x17d4ac(_0x4526e9),_0x10cfb6=0x0;_0x10cfb6<_0x56599e['length'];_0x10cfb6++)if(_0x56599e[_0x10cfb6]!=='default')__createBinding(_0x23214f,_0x4526e9,_0x56599e[_0x10cfb6]);}return __setModuleDefault(_0x23214f,_0x4526e9),_0x23214f;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['canSpawnDirectly']=canSpawnDirectly,exports['resolveExecutable']=resolveExecutable,exports['resolveNpmCliJs']=resolveNpmCliJs,exports['resolveNpxCliJs']=resolveNpxCliJs,exports['resolveMcpCommand']=resolveMcpCommand;const child_process_1=require('child_process'),fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path'));function scoreExecutable(_0x327de9){const _0x29db79=path['extname'](_0x327de9)['toLowerCase']();if(_0x29db79==='.exe'||_0x29db79==='.com')return 0x0;if(_0x29db79==='.bat'||_0x29db79==='.cmd')return 0x1;if(_0x29db79!=='')return 0x2;return 0x3;}function canSpawnDirectly(_0x132eb9){if(process['platform']!=='win32')return!![];const _0x4db846=path['extname'](_0x132eb9)['toLowerCase']();return _0x4db846==='.exe'||_0x4db846==='.com';}function resolveExecutable(_0x430b5f){if(process['platform']==='win32')try{const _0x3c751e=(0x0,child_process_1['execFileSync'])('where.exe',[_0x430b5f],{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'stdio':['ignore','pipe','ignore']}),_0x2363fd=String(_0x3c751e)['split'](/\r?\n/)['map'](_0x3fb393=>_0x3fb393['trim']())['filter'](Boolean)['sort']((_0x12a9e2,_0x5cc7ff)=>scoreExecutable(_0x12a9e2)-scoreExecutable(_0x5cc7ff));for(const _0x4a8602 of _0x2363fd){try{if(fs['existsSync'](_0x4a8602))return _0x4a8602;}catch{}}}catch{}else try{const _0x4ae6b8=(0x0,child_process_1['execFileSync'])('command\x20-v\x20'+_0x430b5f,{'encoding':'utf8','timeout':0x1388,'windowsHide':!![],'shell':'/bin/sh','stdio':['ignore','pipe','ignore']}),_0x2bcb03=String(_0x4ae6b8)['trim']()['split'](/\s+/)[0x0];if(_0x2bcb03&&fs['existsSync'](_0x2bcb03))return _0x2bcb03;}catch{}const _0x38924c=[];try{const _0x253817=path['dirname'](process['execPath']);for(const _0xb0e17b of process['platform']==='win32'?['.cmd','.exe','']:['']){_0x38924c['push'](path['join'](_0x253817,''+_0x430b5f+_0xb0e17b));}}catch{}if(process['platform']==='win32'){const _0x449c63=process.env['ProgramFiles']??'C:\x5cProgram\x20Files',_0x412705=process.env['ProgramFiles(x86)']??'C:\x5cProgram\x20Files\x20(x86)';_0x38924c['push'](path['join'](_0x449c63,'nodejs',_0x430b5f+'.cmd'),path['join'](_0x412705,'nodejs',_0x430b5f+'.cmd'),path['join'](os['homedir'](),'AppData','Roaming','npm',_0x430b5f+'.cmd'));}else _0x38924c['push']('/usr/local/bin/'+_0x430b5f,'/opt/homebrew/bin/'+_0x430b5f,os['homedir']()+'/.local/bin/'+_0x430b5f);for(const _0x4e277f of _0x38924c){try{if(!fs['existsSync'](_0x4e277f))continue;if(process['platform']==='win32'&&scoreExecutable(_0x4e277f)>0x1)continue;return _0x4e277f;}catch{}}return undefined;}function npmDirCandidates(){const _0x27ad77=[];try{_0x27ad77['push'](path['dirname'](process['execPath']));}catch{}const _0x4f2754=process.env['ProgramFiles']??'C:\x5cProgram\x20Files';_0x27ad77['push'](path['join'](_0x4f2754,'nodejs'));for(const _0x1d678c of['npm','npx']){try{const _0x2664c8=resolveExecutable(_0x1d678c);if(_0x2664c8)_0x27ad77['push'](path['dirname'](_0x2664c8));}catch{}}return process['platform']!=='win32'&&_0x27ad77['push']('/usr/local/lib/node_modules/npm','/opt/homebrew/lib/node_modules/npm','/usr/lib/node_modules/npm'),[...new Set(_0x27ad77)];}function resolveNpmCliJs(){for(const _0xc44ea0 of npmDirCandidates()){const _0x60d5dc=path['join'](_0xc44ea0,'node_modules','npm','bin','npm-cli.js');try{if(fs['existsSync'](_0x60d5dc))return _0x60d5dc;}catch{}}return undefined;}function resolveNpxCliJs(){for(const _0x6475a of npmDirCandidates()){const _0x1e01f3=path['join'](_0x6475a,'node_modules','npm','bin','npx-cli.js');try{if(fs['existsSync'](_0x1e01f3))return _0x1e01f3;}catch{}}return undefined;}function resolveMcpCommand(_0x371d29){const [_0x33b4d0,..._0xd3fd3b]=_0x371d29;if(!_0x33b4d0)throw new Error('MCP\x20server\x20spec\x20has\x20an\x20empty\x20command');const _0x5e18f1=path['basename'](_0x33b4d0)['replace'](/\.(cmd|exe|bat|com)$/i,'')['toLowerCase']();if(_0x5e18f1==='node')return{'command':process['execPath'],'args':_0xd3fd3b};if(_0x5e18f1==='npx'){const _0x401b74=resolveNpxCliJs();if(_0x401b74)return{'command':process['execPath'],'args':[_0x401b74,..._0xd3fd3b]};const _0x13a16f=resolveExecutable('npx');if(_0x13a16f&&canSpawnDirectly(_0x13a16f))return{'command':_0x13a16f,'args':_0xd3fd3b};throw new Error('npx\x20was\x20not\x20found.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npx\x20--version`\x20works,\x20then\x20retry.');}if(_0x5e18f1==='npm'){const _0x2edfe1=resolveNpmCliJs();if(_0x2edfe1)return{'command':process['execPath'],'args':[_0x2edfe1,..._0xd3fd3b]};const _0x39a0cf=resolveExecutable('npm');if(_0x39a0cf&&canSpawnDirectly(_0x39a0cf))return{'command':_0x39a0cf,'args':_0xd3fd3b};throw new Error(_0x39a0cf?'npm\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x39a0cf+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Reinstall\x20Node.js\x20(https://nodejs.org)\x20so\x20node_modules/npm\x20is\x20present,\x20then\x20retry.':'npm\x20was\x20not\x20found.\x20Install\x20Node.js\x20(https://nodejs.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`npm\x20--version`\x20works,\x20then\x20retry.');}if(_0x5e18f1==='uvx'){const _0x1f8eb0=resolveExecutable('uvx');if(_0x1f8eb0)return{'command':_0x1f8eb0,'args':_0xd3fd3b};throw new Error('uvx\x20was\x20not\x20found.\x20Install\x20uv\x20(https://docs.astral.sh/uv/)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`uvx\x20--version`\x20works,\x20then\x20retry.');}if(_0x5e18f1==='python'||_0x5e18f1==='python3'||_0x5e18f1==='py'){const _0x35415b=resolveExecutable(_0x5e18f1)??resolveExecutable('python3')??resolveExecutable('python');if(_0x35415b)return{'command':_0x35415b,'args':_0xd3fd3b};throw new Error('python\x20was\x20not\x20found.\x20Install\x20Python\x20(https://www.python.org)\x20or\x20run\x20from\x20a\x20terminal\x20where\x20`python\x20--version`\x20works,\x20then\x20retry.');}if(path['isAbsolute'](_0x33b4d0))return{'command':_0x33b4d0,'args':_0xd3fd3b};const _0x186e4e=resolveExecutable(_0x5e18f1);if(_0x186e4e){if(canSpawnDirectly(_0x186e4e))return{'command':_0x186e4e,'args':_0xd3fd3b};throw new Error('\x27'+_0x5e18f1+'\x27\x20resolves\x20only\x20to\x20the\x20Windows\x20shim\x20'+_0x186e4e+',\x20which\x20cannot\x20be\x20spawned\x20without\x20a\x20shell.\x20Use\x20a\x20node\x20script\x20(node\x20<entry.js>)\x20or\x20a\x20native\x20executable\x20instead.');}return{'command':_0x33b4d0,'args':_0xd3fd3b};}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x467a20,_0x10d740,_0x3cf802,_0x14eb98){if(_0x14eb98===undefined)_0x14eb98=_0x3cf802;var _0x112be0=Object['getOwnPropertyDescriptor'](_0x10d740,_0x3cf802);(!_0x112be0||('get'in _0x112be0?!_0x10d740['__esModule']:_0x112be0['writable']||_0x112be0['configurable']))&&(_0x112be0={'enumerable':!![],'get':function(){return _0x10d740[_0x3cf802];}}),Object['defineProperty'](_0x467a20,_0x14eb98,_0x112be0);}:function(_0x542191,_0x4ea52d,_0x36bdb7,_0x280487){if(_0x280487===undefined)_0x280487=_0x36bdb7;_0x542191[_0x280487]=_0x4ea52d[_0x36bdb7];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x22abc8,_0x88e251){Object['defineProperty'](_0x22abc8,'default',{'enumerable':!![],'value':_0x88e251});}:function(_0x560f8b,_0x1a4e58){_0x560f8b['default']=_0x1a4e58;}),__importStar=this&&this['__importStar']||(function(){var _0x2d6252=function(_0x1323a4){return _0x2d6252=Object['getOwnPropertyNames']||function(_0x19e53a){var _0x2d8be7=[];for(var _0x4dce0f in _0x19e53a)if(Object['prototype']['hasOwnProperty']['call'](_0x19e53a,_0x4dce0f))_0x2d8be7[_0x2d8be7['length']]=_0x4dce0f;return _0x2d8be7;},_0x2d6252(_0x1323a4);};return function(_0x4cb2f5){if(_0x4cb2f5&&_0x4cb2f5['__esModule'])return _0x4cb2f5;var _0x43fa62={};if(_0x4cb2f5!=null){for(var _0x218347=_0x2d6252(_0x4cb2f5),_0x38f964=0x0;_0x38f964<_0x218347['length'];_0x38f964++)if(_0x218347[_0x38f964]!=='default')__createBinding(_0x43fa62,_0x4cb2f5,_0x218347[_0x38f964]);}return __setModuleDefault(_0x43fa62,_0x4cb2f5),_0x43fa62;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['dispatchMcpServer']=dispatchMcpServer,exports['runMcpServer']=runMcpServer;const readline=__importStar(require('readline')),fs=__importStar(require('fs')),child_process_1=require('child_process'),TOOLS=[{'name':'bash','description':'Execute\x20a\x20shell\x20command','inputSchema':{'type':'object','properties':{'command':{'type':'string'}}}},{'name':'read_file','description':'Read\x20a\x20file','inputSchema':{'type':'object','properties':{'path':{'type':'string'}}}},{'name':'write_file','description':'Write\x20a\x20file','inputSchema':{'type':'object','properties':{'path':{'type':'string'},'content':{'type':'string'}}}},{'name':'grep','description':'Search\x20file\x20contents','inputSchema':{'type':'object','properties':{'pattern':{'type':'string'}}}},{'name':'glob','description':'Find\x20files\x20by\x20glob','inputSchema':{'type':'object','properties':{'pattern':{'type':'string'}}}}];function send(_0x3e9c19,_0x16465a){if(_0x3e9c19===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x3e9c19,'result':_0x16465a})+'\x0a');}function sendError(_0x29212d,_0x66967a,_0x45c0bd){if(_0x29212d===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x29212d,'error':{'code':_0x66967a,'message':_0x45c0bd}})+'\x0a');}function executeLocalTool(_0x107b2c,_0x22e40d){if(_0x107b2c==='read_file'){const _0x3c77ab=String(_0x22e40d['path']??'');if(!_0x3c77ab)throw new Error('missing\x20\x27path\x27');return fs['readFileSync'](_0x3c77ab,'utf8')['slice'](0x0,0x7d00);}if(_0x107b2c==='bash'){const _0x597901=String(_0x22e40d['command']??'');if(!_0x597901)throw new Error('missing\x20\x27command\x27');const _0x52c09b=(0x0,child_process_1['execFileSync'])(_0x597901,{'shell':process['platform']==='win32'?'cmd.exe':'/bin/sh','timeout':0x2710,'maxBuffer':0x8000,'windowsHide':!![]});return String(_0x52c09b)['slice'](0x0,0x7d00);}if(_0x107b2c==='grep'||_0x107b2c==='glob'||_0x107b2c==='write_file')throw new Error(_0x107b2c+'\x20is\x20not\x20executed\x20by\x20mcp-server\x20(use\x20the\x20CLI\x20tools\x20instead)');throw new Error('unknown\x20tool:\x20'+_0x107b2c);}async function dispatchMcpServer(_0x330527){switch(_0x330527['method']){case'initialize':send(_0x330527['id'],{'protocolVersion':'2024-11-05','serverInfo':{'name':'trayambak','version':'0.6.0'},'capabilities':{'tools':{}}});break;case'tools/list':send(_0x330527['id'],{'tools':TOOLS});break;case'tools/call':{const _0x2c286c=(_0x330527['params']??{})['name'],_0x11a6b7=(_0x330527['params']??{})['arguments']??{},_0x30bfd5=TOOLS['find'](_0x1980a6=>_0x1980a6['name']===_0x2c286c);if(!_0x30bfd5)sendError(_0x330527['id'],-0x7f5a,'unknown\x20tool:\x20'+_0x2c286c);else try{const _0x57a99a=executeLocalTool(_0x2c286c,_0x11a6b7);send(_0x330527['id'],{'content':[{'type':'text','text':_0x57a99a}]});}catch(_0x483504){send(_0x330527['id'],{'content':[{'type':'text','text':'error:\x20'+(_0x483504 instanceof Error?_0x483504['message']:String(_0x483504))}],'isError':!![]});}break;}case'resources/list':send(_0x330527['id'],{'resources':[]});break;case'prompts/list':send(_0x330527['id'],{'prompts':[]});break;default:sendError(_0x330527['id'],-0x7f59,'unknown\x20method:\x20'+_0x330527['method']);}}function runMcpServer(){const _0x5d4424=readline['createInterface']({'input':process['stdin'],'crlfDelay':Infinity});_0x5d4424['on']('line',_0x54eeb3=>{if(!_0x54eeb3['trim']())return;try{const _0x17ef42=JSON['parse'](_0x54eeb3);dispatchMcpServer(_0x17ef42)['catch'](_0x21db81=>sendError(_0x17ef42['id'],-0x7d00,String(_0x21db81)));}catch{}});}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x563e79,_0x39a1a9,_0x268140,_0x576d67){if(_0x576d67===undefined)_0x576d67=_0x268140;var _0x2c1ba0=Object['getOwnPropertyDescriptor'](_0x39a1a9,_0x268140);(!_0x2c1ba0||('get'in _0x2c1ba0?!_0x39a1a9['__esModule']:_0x2c1ba0['writable']||_0x2c1ba0['configurable']))&&(_0x2c1ba0={'enumerable':!![],'get':function(){return _0x39a1a9[_0x268140];}}),Object['defineProperty'](_0x563e79,_0x576d67,_0x2c1ba0);}:function(_0x39b9a0,_0x33aa17,_0x478936,_0x56e1fa){if(_0x56e1fa===undefined)_0x56e1fa=_0x478936;_0x39b9a0[_0x56e1fa]=_0x33aa17[_0x478936];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0xd5c26e,_0x3edc3f){Object['defineProperty'](_0xd5c26e,'default',{'enumerable':!![],'value':_0x3edc3f});}:function(_0x26ffd0,_0x5f14b5){_0x26ffd0['default']=_0x5f14b5;}),__importStar=this&&this['__importStar']||(function(){var _0x3af1f1=function(_0x100830){return _0x3af1f1=Object['getOwnPropertyNames']||function(_0x54cb54){var _0x1f1892=[];for(var _0x57fa51 in _0x54cb54)if(Object['prototype']['hasOwnProperty']['call'](_0x54cb54,_0x57fa51))_0x1f1892[_0x1f1892['length']]=_0x57fa51;return _0x1f1892;},_0x3af1f1(_0x100830);};return function(_0x45e212){if(_0x45e212&&_0x45e212['__esModule'])return _0x45e212;var _0x51d3c1={};if(_0x45e212!=null){for(var _0x27d011=_0x3af1f1(_0x45e212),_0x242d98=0x0;_0x242d98<_0x27d011['length'];_0x242d98++)if(_0x27d011[_0x242d98]!=='default')__createBinding(_0x51d3c1,_0x45e212,_0x27d011[_0x242d98]);}return __setModuleDefault(_0x51d3c1,_0x45e212),_0x51d3c1;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['dispatchMcpServer']=dispatchMcpServer,exports['runMcpServer']=runMcpServer;const readline=__importStar(require('readline')),fs=__importStar(require('fs')),child_process_1=require('child_process'),TOOLS=[{'name':'bash','description':'Execute\x20a\x20shell\x20command','inputSchema':{'type':'object','properties':{'command':{'type':'string'}}}},{'name':'read_file','description':'Read\x20a\x20file','inputSchema':{'type':'object','properties':{'path':{'type':'string'}}}},{'name':'write_file','description':'Write\x20a\x20file','inputSchema':{'type':'object','properties':{'path':{'type':'string'},'content':{'type':'string'}}}},{'name':'grep','description':'Search\x20file\x20contents','inputSchema':{'type':'object','properties':{'pattern':{'type':'string'}}}},{'name':'glob','description':'Find\x20files\x20by\x20glob','inputSchema':{'type':'object','properties':{'pattern':{'type':'string'}}}}];function send(_0x4e42f4,_0x28ddd3){if(_0x4e42f4===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x4e42f4,'result':_0x28ddd3})+'\x0a');}function sendError(_0x353acd,_0x5a632d,_0xe40e05){if(_0x353acd===undefined)return;process['stdout']['write'](JSON['stringify']({'jsonrpc':'2.0','id':_0x353acd,'error':{'code':_0x5a632d,'message':_0xe40e05}})+'\x0a');}function executeLocalTool(_0x1f1dff,_0x14092e){if(_0x1f1dff==='read_file'){const _0x3ecd2f=String(_0x14092e['path']??'');if(!_0x3ecd2f)throw new Error('missing\x20\x27path\x27');return fs['readFileSync'](_0x3ecd2f,'utf8')['slice'](0x0,0x7d00);}if(_0x1f1dff==='bash'){const _0x372b18=String(_0x14092e['command']??'');if(!_0x372b18)throw new Error('missing\x20\x27command\x27');const _0x5b2ef8=(0x0,child_process_1['execFileSync'])(_0x372b18,{'shell':process['platform']==='win32'?'cmd.exe':'/bin/sh','timeout':0x2710,'maxBuffer':0x8000,'windowsHide':!![]});return String(_0x5b2ef8)['slice'](0x0,0x7d00);}if(_0x1f1dff==='grep'||_0x1f1dff==='glob'||_0x1f1dff==='write_file')throw new Error(_0x1f1dff+'\x20is\x20not\x20executed\x20by\x20mcp-server\x20(use\x20the\x20CLI\x20tools\x20instead)');throw new Error('unknown\x20tool:\x20'+_0x1f1dff);}async function dispatchMcpServer(_0x18872){switch(_0x18872['method']){case'initialize':send(_0x18872['id'],{'protocolVersion':'2024-11-05','serverInfo':{'name':'trayambak','version':'0.6.0'},'capabilities':{'tools':{}}});break;case'tools/list':send(_0x18872['id'],{'tools':TOOLS});break;case'tools/call':{const _0x38ff62=(_0x18872['params']??{})['name'],_0x36af53=(_0x18872['params']??{})['arguments']??{},_0x47fea6=TOOLS['find'](_0x5383ff=>_0x5383ff['name']===_0x38ff62);if(!_0x47fea6)sendError(_0x18872['id'],-0x7f5a,'unknown\x20tool:\x20'+_0x38ff62);else try{const _0x47f153=executeLocalTool(_0x38ff62,_0x36af53);send(_0x18872['id'],{'content':[{'type':'text','text':_0x47f153}]});}catch(_0x581af2){send(_0x18872['id'],{'content':[{'type':'text','text':'error:\x20'+(_0x581af2 instanceof Error?_0x581af2['message']:String(_0x581af2))}],'isError':!![]});}break;}case'resources/list':send(_0x18872['id'],{'resources':[]});break;case'prompts/list':send(_0x18872['id'],{'prompts':[]});break;default:sendError(_0x18872['id'],-0x7f59,'unknown\x20method:\x20'+_0x18872['method']);}}function runMcpServer(){const _0xbf4197=readline['createInterface']({'input':process['stdin'],'crlfDelay':Infinity});_0xbf4197['on']('line',_0xfb65a8=>{if(!_0xfb65a8['trim']())return;try{const _0x4d56b0=JSON['parse'](_0xfb65a8);dispatchMcpServer(_0x4d56b0)['catch'](_0x334296=>sendError(_0x4d56b0['id'],-0x7d00,String(_0x334296)));}catch{}});}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0xd4da1f,_0x5d49a6,_0x2fe332,_0x370d15){if(_0x370d15===undefined)_0x370d15=_0x2fe332;var _0x474639=Object['getOwnPropertyDescriptor'](_0x5d49a6,_0x2fe332);(!_0x474639||('get'in _0x474639?!_0x5d49a6['__esModule']:_0x474639['writable']||_0x474639['configurable']))&&(_0x474639={'enumerable':!![],'get':function(){return _0x5d49a6[_0x2fe332];}}),Object['defineProperty'](_0xd4da1f,_0x370d15,_0x474639);}:function(_0x2b48d1,_0x494d5b,_0x454fd1,_0x52e676){if(_0x52e676===undefined)_0x52e676=_0x454fd1;_0x2b48d1[_0x52e676]=_0x494d5b[_0x454fd1];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x28e446,_0x1612e6){Object['defineProperty'](_0x28e446,'default',{'enumerable':!![],'value':_0x1612e6});}:function(_0x3ba040,_0x50e38e){_0x3ba040['default']=_0x50e38e;}),__importStar=this&&this['__importStar']||(function(){var _0x22f223=function(_0x25b55c){return _0x22f223=Object['getOwnPropertyNames']||function(_0x80a0d){var _0x12dc6b=[];for(var _0x45762f in _0x80a0d)if(Object['prototype']['hasOwnProperty']['call'](_0x80a0d,_0x45762f))_0x12dc6b[_0x12dc6b['length']]=_0x45762f;return _0x12dc6b;},_0x22f223(_0x25b55c);};return function(_0x176e6f){if(_0x176e6f&&_0x176e6f['__esModule'])return _0x176e6f;var _0x514452={};if(_0x176e6f!=null){for(var _0x45276f=_0x22f223(_0x176e6f),_0x44ac1a=0x0;_0x44ac1a<_0x45276f['length'];_0x44ac1a++)if(_0x45276f[_0x44ac1a]!=='default')__createBinding(_0x514452,_0x176e6f,_0x45276f[_0x44ac1a]);}return __setModuleDefault(_0x514452,_0x176e6f),_0x514452;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DEFAULT_MODES']=void 0x0,exports['getModeBySlug']=getModeBySlug,exports['loadRoomodes']=loadRoomodes;const fs=__importStar(require('fs')),path=__importStar(require('path'));exports['DEFAULT_MODES']=[{'slug':'code','name':'Code','roleDefinition':'Implement\x20features\x20and\x20fix\x20bugs.','groups':['read','edit','command','mcp']},{'slug':'architect','name':'Architect','roleDefinition':'Plan\x20high-level\x20architecture.','groups':['read','mcp','modes']},{'slug':'ask','name':'Ask','roleDefinition':'Answer\x20questions\x20about\x20the\x20codebase.','groups':['read','mcp']},{'slug':'debug','name':'Debug','roleDefinition':'Diagnose\x20failures\x20systematically.','groups':['read','edit','command','mcp']},{'slug':'orchestrator','name':'Orchestrator','roleDefinition':'Break\x20down\x20tasks\x20and\x20delegate.','groups':['read','modes','mcp']}];function getModeBySlug(_0x2f28b9,_0x302976=[]){return[..._0x302976,...exports['DEFAULT_MODES']]['find'](_0x109df0=>_0x109df0['slug']===_0x2f28b9);}function loadRoomodes(_0x603b00=process['cwd']()){try{const _0x5e6900=path['join'](_0x603b00,'.roomodes');if(!fs['existsSync'](_0x5e6900))return[];const _0x56e6c0=JSON['parse'](fs['readFileSync'](_0x5e6900,'utf8'));if(!Array['isArray'](_0x56e6c0['customModes']))return[];return _0x56e6c0['customModes']['filter'](_0x51d351=>typeof _0x51d351?.['slug']==='string'&&Array['isArray'](_0x51d351['groups']))['slice'](0x0,0x32);}catch{return[];}}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3ba3b1,_0x2c5617,_0x1dcb13,_0x496b7b){if(_0x496b7b===undefined)_0x496b7b=_0x1dcb13;var _0xb3c3d4=Object['getOwnPropertyDescriptor'](_0x2c5617,_0x1dcb13);(!_0xb3c3d4||('get'in _0xb3c3d4?!_0x2c5617['__esModule']:_0xb3c3d4['writable']||_0xb3c3d4['configurable']))&&(_0xb3c3d4={'enumerable':!![],'get':function(){return _0x2c5617[_0x1dcb13];}}),Object['defineProperty'](_0x3ba3b1,_0x496b7b,_0xb3c3d4);}:function(_0x4c17d3,_0x134962,_0x210841,_0x4bdda6){if(_0x4bdda6===undefined)_0x4bdda6=_0x210841;_0x4c17d3[_0x4bdda6]=_0x134962[_0x210841];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5e100f,_0x23a7d7){Object['defineProperty'](_0x5e100f,'default',{'enumerable':!![],'value':_0x23a7d7});}:function(_0x5995c2,_0x4c2dc7){_0x5995c2['default']=_0x4c2dc7;}),__importStar=this&&this['__importStar']||(function(){var _0x366767=function(_0x56f21a){return _0x366767=Object['getOwnPropertyNames']||function(_0xa9b7f2){var _0x5bd429=[];for(var _0x37b504 in _0xa9b7f2)if(Object['prototype']['hasOwnProperty']['call'](_0xa9b7f2,_0x37b504))_0x5bd429[_0x5bd429['length']]=_0x37b504;return _0x5bd429;},_0x366767(_0x56f21a);};return function(_0x47dd1f){if(_0x47dd1f&&_0x47dd1f['__esModule'])return _0x47dd1f;var _0x59c655={};if(_0x47dd1f!=null){for(var _0x350557=_0x366767(_0x47dd1f),_0x153e78=0x0;_0x153e78<_0x350557['length'];_0x153e78++)if(_0x350557[_0x153e78]!=='default')__createBinding(_0x59c655,_0x47dd1f,_0x350557[_0x153e78]);}return __setModuleDefault(_0x59c655,_0x47dd1f),_0x59c655;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DEFAULT_MODES']=void 0x0,exports['getModeBySlug']=getModeBySlug,exports['loadRoomodes']=loadRoomodes;const fs=__importStar(require('fs')),path=__importStar(require('path'));exports['DEFAULT_MODES']=[{'slug':'code','name':'Code','roleDefinition':'Implement\x20features\x20and\x20fix\x20bugs.','groups':['read','edit','command','mcp']},{'slug':'architect','name':'Architect','roleDefinition':'Plan\x20high-level\x20architecture.','groups':['read','mcp','modes']},{'slug':'ask','name':'Ask','roleDefinition':'Answer\x20questions\x20about\x20the\x20codebase.','groups':['read','mcp']},{'slug':'debug','name':'Debug','roleDefinition':'Diagnose\x20failures\x20systematically.','groups':['read','edit','command','mcp']},{'slug':'orchestrator','name':'Orchestrator','roleDefinition':'Break\x20down\x20tasks\x20and\x20delegate.','groups':['read','modes','mcp']}];function getModeBySlug(_0x1272a5,_0x26edd3=[]){return[..._0x26edd3,...exports['DEFAULT_MODES']]['find'](_0x3e4705=>_0x3e4705['slug']===_0x1272a5);}function loadRoomodes(_0x3f3e5a=process['cwd']()){try{const _0x336312=path['join'](_0x3f3e5a,'.roomodes');if(!fs['existsSync'](_0x336312))return[];const _0x1d0ccb=JSON['parse'](fs['readFileSync'](_0x336312,'utf8'));if(!Array['isArray'](_0x1d0ccb['customModes']))return[];return _0x1d0ccb['customModes']['filter'](_0x409025=>typeof _0x409025?.['slug']==='string'&&Array['isArray'](_0x409025['groups']))['slice'](0x0,0x32);}catch{return[];}}
@@ -1 +1 @@
1
- 'use strict';var _0x223062=_0x5e61;function _0x5e61(_0x126707,_0x35d348){_0x126707=_0x126707-0x106;var _0x4d5973=_0x4d59();var _0x5e61a2=_0x4d5973[_0x126707];return _0x5e61a2;}(function(_0x197139,_0x20d1d8){var _0x3db9be=_0x5e61,_0x332021=_0x197139();while(!![]){try{var _0x32691a=parseInt(_0x3db9be(0x10c))/0x1+parseInt(_0x3db9be(0x107))/0x2+parseInt(_0x3db9be(0x10a))/0x3+parseInt(_0x3db9be(0x10d))/0x4+parseInt(_0x3db9be(0x109))/0x5+parseInt(_0x3db9be(0x10e))/0x6+parseInt(_0x3db9be(0x106))/0x7*(-parseInt(_0x3db9be(0x108))/0x8);if(_0x32691a===_0x20d1d8)break;else _0x332021['push'](_0x332021['shift']());}catch(_0x45fb54){_0x332021['push'](_0x332021['shift']());}}}(_0x4d59,0x64e1a));Object[_0x223062(0x10b)](exports,'__esModule',{'value':!![]});function _0x4d59(){var _0x24513b=['928265ZOjaUr','1367538ydxDtv','defineProperty','127339BttEub','1527236ZNOjLj','1473606zjNafZ','10062143umDbsH','908822bOXudA','8OedBwK'];_0x4d59=function(){return _0x24513b;};return _0x4d59();}
1
+ 'use strict';var _0xb0071b=_0x2a0e;(function(_0x4ff79d,_0x4eddb4){var _0x1368d3=_0x2a0e,_0x290be8=_0x4ff79d();while(!![]){try{var _0x3ab5b3=parseInt(_0x1368d3(0x164))/0x1*(-parseInt(_0x1368d3(0x160))/0x2)+-parseInt(_0x1368d3(0x15f))/0x3+-parseInt(_0x1368d3(0x167))/0x4*(parseInt(_0x1368d3(0x162))/0x5)+parseInt(_0x1368d3(0x166))/0x6*(parseInt(_0x1368d3(0x15e))/0x7)+parseInt(_0x1368d3(0x161))/0x8*(-parseInt(_0x1368d3(0x165))/0x9)+parseInt(_0x1368d3(0x168))/0xa+parseInt(_0x1368d3(0x15d))/0xb*(parseInt(_0x1368d3(0x169))/0xc);if(_0x3ab5b3===_0x4eddb4)break;else _0x290be8['push'](_0x290be8['shift']());}catch(_0x423b31){_0x290be8['push'](_0x290be8['shift']());}}}(_0x2cde,0x8b189));function _0x2a0e(_0x8016ff,_0x5e5dd6){_0x8016ff=_0x8016ff-0x15d;var _0x2cde69=_0x2cde();var _0x2a0e16=_0x2cde69[_0x8016ff];return _0x2a0e16;}Object[_0xb0071b(0x163)](exports,'__esModule',{'value':!![]});function _0x2cde(){var _0x23e32f=['1626282ksFCcQ','2043942wKyCZk','5644360ilVrbn','25EYYMah','defineProperty','1xHKefW','9nteoAb','18uovDzG','557972sLsWfn','1277840hTYEEL','2532tpLBmI','132154PiyTYS','2039506BFWuma'];_0x2cde=function(){return _0x23e32f;};return _0x2cde();}
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['isAssistant']=isAssistant,exports['isToolResult']=isToolResult,exports['isUser']=isUser;function isAssistant(_0x1049ec){return _0x1049ec['role']==='assistant';}function isToolResult(_0x587b0b){return _0x587b0b['role']==='tool';}function isUser(_0x141f0c){return _0x141f0c['role']==='user';}
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['isAssistant']=isAssistant,exports['isToolResult']=isToolResult,exports['isUser']=isUser;function isAssistant(_0x3761aa){return _0x3761aa['role']==='assistant';}function isToolResult(_0x383d87){return _0x383d87['role']==='tool';}function isUser(_0x5d2636){return _0x5d2636['role']==='user';}