@skt-ai-labs/trayambak-cli 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +1 -1
  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/util/url.js +1 -1
  231. package/dist/packages/provider/src/anthropic.js +1 -1
  232. package/dist/packages/provider/src/catalog.js +1 -1
  233. package/dist/packages/provider/src/custom.js +1 -1
  234. package/dist/packages/provider/src/faux-stream.js +1 -1
  235. package/dist/packages/provider/src/google.js +1 -1
  236. package/dist/packages/provider/src/huggingface.js +1 -1
  237. package/dist/packages/provider/src/index.js +1 -1
  238. package/dist/packages/provider/src/llama-cpp.js +1 -1
  239. package/dist/packages/provider/src/nvidia.js +1 -1
  240. package/dist/packages/provider/src/ollama.js +1 -1
  241. package/dist/packages/provider/src/openai.js +1 -1
  242. package/dist/packages/provider/src/types.js +1 -1
  243. package/dist/packages/provider/src/xai.js +1 -1
  244. package/dist/packages/sandbox/src/gate.js +1 -1
  245. package/dist/packages/sandbox/src/index.js +1 -1
  246. package/dist/packages/sandbox/src/spawn.js +1 -1
  247. package/dist/packages/sandbox/src/types.js +1 -1
  248. package/dist/packages/sandbox/src/violation.js +1 -1
  249. package/dist/packages/schema/src/index.js +1 -1
  250. package/dist/packages/sdk/src/index.js +1 -1
  251. package/dist/packages/server/src/cors.js +1 -1
  252. package/dist/packages/server/src/daemon.js +1 -1
  253. package/dist/packages/server/src/github-app.js +1 -1
  254. package/dist/packages/server/src/github-autofix.js +1 -1
  255. package/dist/packages/server/src/github-jobs.js +1 -1
  256. package/dist/packages/server/src/github-oauth.js +1 -1
  257. package/dist/packages/server/src/index.js +1 -1
  258. package/dist/packages/server/src/install-ps1.js +1 -1
  259. package/dist/packages/server/src/license-store.js +1 -1
  260. package/dist/packages/session-backends/src/index.js +1 -1
  261. package/dist/packages/session-backends/src/transcript.js +1 -1
  262. package/dist/packages/telemetry/src/index.js +1 -1
  263. package/dist/packages/tui/src/app/app-state.js +1 -1
  264. package/dist/packages/tui/src/app/events.js +1 -1
  265. package/dist/packages/tui/src/approval-notification.js +1 -1
  266. package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
  267. package/dist/packages/tui/src/bottom_pane/index.js +1 -1
  268. package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
  269. package/dist/packages/tui/src/dialogs.js +1 -1
  270. package/dist/packages/tui/src/index.js +1 -1
  271. package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
  272. package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
  273. package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
  274. package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
  275. package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
  276. package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
  277. package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
  278. package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
  279. package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
  280. package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
  281. package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
  282. package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
  283. package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
  284. package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
  285. package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
  286. package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
  287. package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
  288. package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
  289. package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
  290. package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
  291. package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
  292. package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
  293. package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
  294. package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
  295. package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
  296. package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
  297. package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
  298. package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
  299. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
  300. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
  301. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
  302. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
  303. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
  304. package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
  305. package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
  306. package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
  307. package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
  308. package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
  309. package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
  310. package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
  311. package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
  312. package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
  313. package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
  314. package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
  315. package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
  316. package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
  317. package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
  318. package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
  319. package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
  320. package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
  321. package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
  322. package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
  323. package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
  324. package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
  325. package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
  326. package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
  327. package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
  328. package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
  329. package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
  330. package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
  331. package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
  332. package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
  333. package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
  334. package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
  335. package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
  336. package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
  337. package/dist/packages/tui/src/keybindings.js +1 -1
  338. package/dist/packages/tui/src/keys.js +1 -1
  339. package/dist/packages/tui/src/notifications.js +1 -1
  340. package/dist/packages/tui/src/premium-ui.js +1 -1
  341. package/dist/packages/tui/src/stdin-buffer.js +1 -1
  342. package/dist/packages/tui/src/terminal-ui.js +1 -1
  343. package/dist/packages/tui/src/tui/terminal.js +1 -1
  344. package/dist/packages/tui/src/ui/box.js +1 -1
  345. package/dist/packages/tui/src/ui/dialog.js +1 -1
  346. package/dist/packages/tui/src/ui/footer-mode.js +1 -1
  347. package/dist/packages/tui/src/ui/footer.js +1 -1
  348. package/dist/packages/tui/src/ui/key-hint.js +1 -1
  349. package/dist/packages/tui/src/ui/skt-themes.js +1 -1
  350. package/dist/packages/tui/src/ui/spinner.js +1 -1
  351. package/dist/packages/tui/src/ui/theme.js +1 -1
  352. package/dist/packages/tui/src/ui/toast.js +1 -1
  353. package/dist/packages/tui/src/ui/tool-display.js +1 -1
  354. package/dist/packages/tui/src/ui/tool-palette.js +1 -1
  355. package/dist/skt/0-points/points.js +1 -1
  356. package/dist/skt/1-errors/mistake.js +1 -1
  357. package/dist/skt/1-errors/penalty.js +1 -1
  358. package/dist/skt/10-upload/upload.js +1 -1
  359. package/dist/skt/11-ui/components.js +1 -1
  360. package/dist/skt/12-control/content-control.js +1 -1
  361. package/dist/skt/12-control/hallucination.js +1 -1
  362. package/dist/skt/12-control/points.js +1 -1
  363. package/dist/skt/12-control/repetition.js +1 -1
  364. package/dist/skt/12-control/verification.js +1 -1
  365. package/dist/skt/13-healing/ast-validator.js +1 -1
  366. package/dist/skt/13-healing/healing-controller.js +1 -1
  367. package/dist/skt/13-healing/journal.js +1 -1
  368. package/dist/skt/13-healing/rollback.js +1 -1
  369. package/dist/skt/13-healing/scratchpad.js +1 -1
  370. package/dist/skt/13-healing/subprocess.js +1 -1
  371. package/dist/skt/13-healing/verify.js +1 -1
  372. package/dist/skt/14-hooks/codec.js +1 -1
  373. package/dist/skt/14-hooks/events.js +1 -1
  374. package/dist/skt/14-hooks/matcher.js +1 -1
  375. package/dist/skt/14-hooks/merge.js +1 -1
  376. package/dist/skt/14-hooks/runner.js +1 -1
  377. package/dist/skt/14-hooks/types.js +1 -1
  378. package/dist/skt/3-user/instructions.js +1 -1
  379. package/dist/skt/4-mem/memory.js +1 -1
  380. package/dist/skt/5-eval/cot-chain.js +1 -1
  381. package/dist/skt/5-eval/cot.js +1 -1
  382. package/dist/skt/5-eval/eval.js +1 -1
  383. package/dist/skt/6-u/improvements.js +1 -1
  384. package/dist/skt/6-u/reward.js +1 -1
  385. package/dist/skt/7-cli/autorepair.js +1 -1
  386. package/dist/skt/7-cli/clibugs.js +1 -1
  387. package/dist/skt/7-cli/reinstall.js +1 -1
  388. package/dist/skt/7-cli/reset.js +1 -1
  389. package/dist/skt/9-session/session.js +1 -1
  390. package/dist/skt/context.js +1 -1
  391. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x28e6a3,_0x44a6a0,_0x3a349f,_0x3de01c){if(_0x3de01c===undefined)_0x3de01c=_0x3a349f;var _0x1c69a0=Object['getOwnPropertyDescriptor'](_0x44a6a0,_0x3a349f);(!_0x1c69a0||('get'in _0x1c69a0?!_0x44a6a0['__esModule']:_0x1c69a0['writable']||_0x1c69a0['configurable']))&&(_0x1c69a0={'enumerable':!![],'get':function(){return _0x44a6a0[_0x3a349f];}}),Object['defineProperty'](_0x28e6a3,_0x3de01c,_0x1c69a0);}:function(_0x3366d3,_0x287719,_0x56db52,_0x1d7797){if(_0x1d7797===undefined)_0x1d7797=_0x56db52;_0x3366d3[_0x1d7797]=_0x287719[_0x56db52];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1edafc,_0x5a8278){Object['defineProperty'](_0x1edafc,'default',{'enumerable':!![],'value':_0x5a8278});}:function(_0x170c91,_0x5de92d){_0x170c91['default']=_0x5de92d;}),__importStar=this&&this['__importStar']||(function(){var _0x59ae62=function(_0x18d879){return _0x59ae62=Object['getOwnPropertyNames']||function(_0x388abb){var _0x5de526=[];for(var _0xaa91b7 in _0x388abb)if(Object['prototype']['hasOwnProperty']['call'](_0x388abb,_0xaa91b7))_0x5de526[_0x5de526['length']]=_0xaa91b7;return _0x5de526;},_0x59ae62(_0x18d879);};return function(_0x2959bb){if(_0x2959bb&&_0x2959bb['__esModule'])return _0x2959bb;var _0x52a527={};if(_0x2959bb!=null){for(var _0x272e3f=_0x59ae62(_0x2959bb),_0x530e15=0x0;_0x530e15<_0x272e3f['length'];_0x530e15++)if(_0x272e3f[_0x530e15]!=='default')__createBinding(_0x52a527,_0x2959bb,_0x272e3f[_0x530e15]);}return __setModuleDefault(_0x52a527,_0x2959bb),_0x52a527;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['languageOf']=languageOf,exports['extractSymbols']=extractSymbols,exports['searchSymbols']=searchSymbols,exports['createSymbolSearchTool']=createSymbolSearchTool;const fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),fs_walk_js_1=require('../file-edit/fs-walk.js'),EXT_LANG={'.ts':'ts','.tsx':'ts','.js':'ts','.jsx':'ts','.mjs':'ts','.cjs':'ts','.py':'py','.go':'go','.rs':'rust','.java':'java','.kt':'java','.c':'c','.h':'c','.cpp':'c','.hpp':'c'};function languageOf(_0x5572cb){return EXT_LANG[path['extname'](_0x5572cb)['toLowerCase']()]??null;}const KEYWORDS=new Set(['if','for','while','switch','catch','with','return','new','typeof','else','do','case']),PATTERNS={'ts':[{'kind':'function','re':/^\s*(?:export\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'class','re':/^\s*(?:export\s+)?(?:default\s+)?class\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'interface','re':/^\s*(?:export\s+)?interface\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'type','re':/^\s*(?:export\s+)?type\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'function','re':/^\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/,'nameIndex':0x1},{'kind':'method','re':/^\s+(?:async\s+)?([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*[:{]/,'nameIndex':0x1}],'py':[{'kind':'function','re':/^\s*(?:async\s+)?def\s+([A-Za-z_]\w*)/,'nameIndex':0x1},{'kind':'class','re':/^\s*class\s+([A-Za-z_]\w*)/,'nameIndex':0x1}],'go':[{'kind':'function','re':/^\s*func\s+(?:\([^)]*\)\s*)?([A-Za-z_]\w*)/,'nameIndex':0x1},{'kind':'type','re':/^\s*type\s+([A-Za-z_]\w*)/,'nameIndex':0x1}],'rust':[{'kind':'function','re':/^\s*(?:pub(?:\([^)]*\))?\s+)?fn\s+([A-Za-z_]\w*)/,'nameIndex':0x1},{'kind':'class','re':/^\s*(?:pub(?:\([^)]*\))?\s+)?(?:struct|enum|trait)\s+([A-Za-z_]\w*)/,'nameIndex':0x1}],'java':[{'kind':'class','re':/^\s*(?:public|private|protected)?\s*(?:static\s+|final\s+|abstract\s+)?(?:class|interface|enum)\s+(\w+)/,'nameIndex':0x1},{'kind':'method','re':/^\s{2,}(?:public|private|protected|static|final|synchronized|native|abstract|\s)*[\w<>\[\]]+\s+(\w+)\s*\(/,'nameIndex':0x1}],'c':[{'kind':'class','re':/^\s*(?:class|struct)\s+(\w+)/,'nameIndex':0x1},{'kind':'function','re':/^[\w][\w\s\*&:<>]*?\s+(\w+)\s*\([^;{}]*$/,'nameIndex':0x1}]};function extractSymbols(_0x3eacfa,_0x16a808){const _0x47cda4=[],_0x4e844c=_0x3eacfa['split']('\x0a');for(let _0x344be8=0x0;_0x344be8<_0x4e844c['length'];_0x344be8++){const _0xd8060=_0x4e844c[_0x344be8];for(const _0x2dcc73 of PATTERNS[_0x16a808]){const _0x1e5351=_0x2dcc73['re']['exec'](_0xd8060);if(!_0x1e5351)continue;const _0x1e3a4a=_0x1e5351[_0x2dcc73['nameIndex']];if(KEYWORDS['has'](_0x1e3a4a))continue;_0x47cda4['push']({'line':_0x344be8+0x1,'kind':_0x2dcc73['kind'],'name':_0x1e3a4a,'signature':_0xd8060['trim']()['slice'](0x0,0x78)});break;}}return _0x47cda4;}function searchSymbols(_0x5d8314,_0x13847c,_0x176f5a={}){const _0x348c1b=_0x176f5a['glob']??'*',_0x451717=_0x176f5a['maxResults']??0x3c,_0x5ca2a2=_0x176f5a['ignoreCase']?_0x13847c['toLowerCase']():_0x13847c,_0x548038=[];return(0x0,fs_walk_js_1['walkFiles'])(_0x5d8314,(_0x1f11f1,_0x4cc65a)=>{if(_0x548038['length']>=_0x451717)return;if(!(0x0,fs_walk_js_1['matchGlob'])(_0x348c1b,_0x4cc65a))return;if(languageOf(_0x4cc65a)===null)return;let _0x55df3b;try{_0x55df3b=fs['statSync'](_0x1f11f1);}catch{return;}if(_0x55df3b['size']>0x400*0x400)return;let _0x541c48;try{_0x541c48=fs['readFileSync'](_0x1f11f1,'utf8');}catch{return;}if(!/^[\t\n\r\x20-\x7e\xa0-\uffff]*$/['test'](_0x541c48))return;const _0x39b6a9=languageOf(_0x4cc65a);for(const _0x242ec3 of extractSymbols(_0x541c48,_0x39b6a9)){if(_0x548038['length']>=_0x451717)break;const _0x38519b=_0x176f5a['ignoreCase']?_0x242ec3['name']['toLowerCase']():_0x242ec3['name'];if(_0x38519b!==_0x5ca2a2)continue;_0x548038['push']({'file':_0x4cc65a,'line':_0x242ec3['line'],'kind':_0x242ec3['kind'],'name':_0x242ec3['name'],'signature':_0x242ec3['signature']});}}),_0x548038;}const definition={'timeoutMs':0x7530,'name':'symbol_search','description':'Find\x20where\x20a\x20symbol\x20is\x20DEFINED\x20(functions,\x20classes,\x20interfaces,\x20methods,\x20types)\x20across\x20the\x20project.\x20Returns\x20file,\x20line,\x20kind,\x20and\x20signature.\x20Prefer\x20this\x20over\x20code_search\x20when\x20locating\x20definitions;\x20use\x20code_search\x20for\x20usages.','parameters':{'type':'object','required':['name'],'properties':{'name':{'type':'string','description':'Exact\x20symbol\x20name\x20to\x20find\x20definitions\x20for,\x20e.g.\x20\x27startServer\x27.'},'path':{'type':'string','description':'Directory\x20to\x20search.\x20Default:\x20project\x20root.'},'glob':{'type':'string','description':'Only\x20search\x20files\x20matching\x20this\x20glob\x20(e.g.\x20\x27*.ts\x27).'},'ignore_case':{'type':'boolean','description':'Case-insensitive\x20match.\x20Default\x20false.'},'max_results':{'type':'number','description':'Maximum\x20definitions\x20to\x20return.\x20Default\x2060.'}}}};function createSymbolSearchTool(){return{'definition':definition,async 'execute'(_0x545694,_0x4fe125,_0x3bb92d,_0xe4de38,_0x6a2637){const _0x55b05a=_0x6a2637,_0x794781=String(_0x4fe125['name']??'');if(!_0x794781)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27.',!![]);const _0x8c208f=path['resolve'](_0x55b05a['cwd'],typeof _0x4fe125['path']==='string'?_0x4fe125['path']:'.'),_0x4dd9c4=searchSymbols(_0x8c208f,_0x794781,{'glob':typeof _0x4fe125['glob']==='string'?_0x4fe125['glob']:undefined,'maxResults':typeof _0x4fe125['max_results']==='number'?_0x4fe125['max_results']:undefined,'ignoreCase':Boolean(_0x4fe125['ignore_case'])});if(_0x4dd9c4['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20definitions\x20of\x20\x27'+_0x794781+'\x27\x20in\x20'+_0x8c208f);const _0x292664=_0x4dd9c4['map'](_0x253a0b=>'\x20\x20'+_0x253a0b['file']+':'+_0x253a0b['line']+'\x20['+_0x253a0b['kind']+']\x20'+_0x253a0b['name']+'\x20—\x20'+_0x253a0b['signature'])['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x4dd9c4['length']+'\x20definition(s)\x20of\x20\x27'+_0x794781+'\x27:\x0a'+_0x292664);}};}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x2ad3d5,_0x3ad75a,_0x4374a9,_0x2f2e10){if(_0x2f2e10===undefined)_0x2f2e10=_0x4374a9;var _0x3b61f7=Object['getOwnPropertyDescriptor'](_0x3ad75a,_0x4374a9);(!_0x3b61f7||('get'in _0x3b61f7?!_0x3ad75a['__esModule']:_0x3b61f7['writable']||_0x3b61f7['configurable']))&&(_0x3b61f7={'enumerable':!![],'get':function(){return _0x3ad75a[_0x4374a9];}}),Object['defineProperty'](_0x2ad3d5,_0x2f2e10,_0x3b61f7);}:function(_0x4b6dcb,_0x2ee98b,_0x32ca26,_0x157f0c){if(_0x157f0c===undefined)_0x157f0c=_0x32ca26;_0x4b6dcb[_0x157f0c]=_0x2ee98b[_0x32ca26];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x11dc08,_0x3f72e2){Object['defineProperty'](_0x11dc08,'default',{'enumerable':!![],'value':_0x3f72e2});}:function(_0x3a4379,_0x54c967){_0x3a4379['default']=_0x54c967;}),__importStar=this&&this['__importStar']||(function(){var _0x21fc02=function(_0x22d484){return _0x21fc02=Object['getOwnPropertyNames']||function(_0x50da6a){var _0x32da50=[];for(var _0xf9cbfc in _0x50da6a)if(Object['prototype']['hasOwnProperty']['call'](_0x50da6a,_0xf9cbfc))_0x32da50[_0x32da50['length']]=_0xf9cbfc;return _0x32da50;},_0x21fc02(_0x22d484);};return function(_0x5e9d77){if(_0x5e9d77&&_0x5e9d77['__esModule'])return _0x5e9d77;var _0x4a6e01={};if(_0x5e9d77!=null){for(var _0x435c9b=_0x21fc02(_0x5e9d77),_0x4a1f6f=0x0;_0x4a1f6f<_0x435c9b['length'];_0x4a1f6f++)if(_0x435c9b[_0x4a1f6f]!=='default')__createBinding(_0x4a6e01,_0x5e9d77,_0x435c9b[_0x4a1f6f]);}return __setModuleDefault(_0x4a6e01,_0x5e9d77),_0x4a6e01;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['languageOf']=languageOf,exports['extractSymbols']=extractSymbols,exports['searchSymbols']=searchSymbols,exports['createSymbolSearchTool']=createSymbolSearchTool;const fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),fs_walk_js_1=require('../file-edit/fs-walk.js'),EXT_LANG={'.ts':'ts','.tsx':'ts','.js':'ts','.jsx':'ts','.mjs':'ts','.cjs':'ts','.py':'py','.go':'go','.rs':'rust','.java':'java','.kt':'java','.c':'c','.h':'c','.cpp':'c','.hpp':'c'};function languageOf(_0x11c781){return EXT_LANG[path['extname'](_0x11c781)['toLowerCase']()]??null;}const KEYWORDS=new Set(['if','for','while','switch','catch','with','return','new','typeof','else','do','case']),PATTERNS={'ts':[{'kind':'function','re':/^\s*(?:export\s+)?(?:async\s+)?function\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'class','re':/^\s*(?:export\s+)?(?:default\s+)?class\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'interface','re':/^\s*(?:export\s+)?interface\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'type','re':/^\s*(?:export\s+)?type\s+([A-Za-z_$][\w$]*)/,'nameIndex':0x1},{'kind':'function','re':/^\s*(?:export\s+)?(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/,'nameIndex':0x1},{'kind':'method','re':/^\s+(?:async\s+)?([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*[:{]/,'nameIndex':0x1}],'py':[{'kind':'function','re':/^\s*(?:async\s+)?def\s+([A-Za-z_]\w*)/,'nameIndex':0x1},{'kind':'class','re':/^\s*class\s+([A-Za-z_]\w*)/,'nameIndex':0x1}],'go':[{'kind':'function','re':/^\s*func\s+(?:\([^)]*\)\s*)?([A-Za-z_]\w*)/,'nameIndex':0x1},{'kind':'type','re':/^\s*type\s+([A-Za-z_]\w*)/,'nameIndex':0x1}],'rust':[{'kind':'function','re':/^\s*(?:pub(?:\([^)]*\))?\s+)?fn\s+([A-Za-z_]\w*)/,'nameIndex':0x1},{'kind':'class','re':/^\s*(?:pub(?:\([^)]*\))?\s+)?(?:struct|enum|trait)\s+([A-Za-z_]\w*)/,'nameIndex':0x1}],'java':[{'kind':'class','re':/^\s*(?:public|private|protected)?\s*(?:static\s+|final\s+|abstract\s+)?(?:class|interface|enum)\s+(\w+)/,'nameIndex':0x1},{'kind':'method','re':/^\s{2,}(?:public|private|protected|static|final|synchronized|native|abstract|\s)*[\w<>\[\]]+\s+(\w+)\s*\(/,'nameIndex':0x1}],'c':[{'kind':'class','re':/^\s*(?:class|struct)\s+(\w+)/,'nameIndex':0x1},{'kind':'function','re':/^[\w][\w\s\*&:<>]*?\s+(\w+)\s*\([^;{}]*$/,'nameIndex':0x1}]};function extractSymbols(_0x2bbb4d,_0x34c2ad){const _0x161966=[],_0x193f3b=_0x2bbb4d['split']('\x0a');for(let _0x2b6178=0x0;_0x2b6178<_0x193f3b['length'];_0x2b6178++){const _0x2d1239=_0x193f3b[_0x2b6178];for(const _0x4a8dfb of PATTERNS[_0x34c2ad]){const _0x2d534b=_0x4a8dfb['re']['exec'](_0x2d1239);if(!_0x2d534b)continue;const _0x484b94=_0x2d534b[_0x4a8dfb['nameIndex']];if(KEYWORDS['has'](_0x484b94))continue;_0x161966['push']({'line':_0x2b6178+0x1,'kind':_0x4a8dfb['kind'],'name':_0x484b94,'signature':_0x2d1239['trim']()['slice'](0x0,0x78)});break;}}return _0x161966;}function searchSymbols(_0x193aa9,_0x4b0dcc,_0x381c06={}){const _0x26b4e7=_0x381c06['glob']??'*',_0x31851b=_0x381c06['maxResults']??0x3c,_0x522547=_0x381c06['ignoreCase']?_0x4b0dcc['toLowerCase']():_0x4b0dcc,_0x2093d0=[];return(0x0,fs_walk_js_1['walkFiles'])(_0x193aa9,(_0x4b454f,_0x22956d)=>{if(_0x2093d0['length']>=_0x31851b)return;if(!(0x0,fs_walk_js_1['matchGlob'])(_0x26b4e7,_0x22956d))return;if(languageOf(_0x22956d)===null)return;let _0x1bd347;try{_0x1bd347=fs['statSync'](_0x4b454f);}catch{return;}if(_0x1bd347['size']>0x400*0x400)return;let _0x5b551a;try{_0x5b551a=fs['readFileSync'](_0x4b454f,'utf8');}catch{return;}if(!/^[\t\n\r\x20-\x7e\xa0-\uffff]*$/['test'](_0x5b551a))return;const _0xe09937=languageOf(_0x22956d);for(const _0x9bb085 of extractSymbols(_0x5b551a,_0xe09937)){if(_0x2093d0['length']>=_0x31851b)break;const _0x2dbfaf=_0x381c06['ignoreCase']?_0x9bb085['name']['toLowerCase']():_0x9bb085['name'];if(_0x2dbfaf!==_0x522547)continue;_0x2093d0['push']({'file':_0x22956d,'line':_0x9bb085['line'],'kind':_0x9bb085['kind'],'name':_0x9bb085['name'],'signature':_0x9bb085['signature']});}}),_0x2093d0;}const definition={'timeoutMs':0x7530,'name':'symbol_search','description':'Find\x20where\x20a\x20symbol\x20is\x20DEFINED\x20(functions,\x20classes,\x20interfaces,\x20methods,\x20types)\x20across\x20the\x20project.\x20Returns\x20file,\x20line,\x20kind,\x20and\x20signature.\x20Prefer\x20this\x20over\x20code_search\x20when\x20locating\x20definitions;\x20use\x20code_search\x20for\x20usages.','parameters':{'type':'object','required':['name'],'properties':{'name':{'type':'string','description':'Exact\x20symbol\x20name\x20to\x20find\x20definitions\x20for,\x20e.g.\x20\x27startServer\x27.'},'path':{'type':'string','description':'Directory\x20to\x20search.\x20Default:\x20project\x20root.'},'glob':{'type':'string','description':'Only\x20search\x20files\x20matching\x20this\x20glob\x20(e.g.\x20\x27*.ts\x27).'},'ignore_case':{'type':'boolean','description':'Case-insensitive\x20match.\x20Default\x20false.'},'max_results':{'type':'number','description':'Maximum\x20definitions\x20to\x20return.\x20Default\x2060.'}}}};function createSymbolSearchTool(){return{'definition':definition,async 'execute'(_0x42b7e4,_0x1f7270,_0x5f4178,_0x30dd04,_0x3efe6e){const _0x43bfcd=_0x3efe6e,_0xa7afec=String(_0x1f7270['name']??'');if(!_0xa7afec)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27.',!![]);const _0x4362d1=path['resolve'](_0x43bfcd['cwd'],typeof _0x1f7270['path']==='string'?_0x1f7270['path']:'.'),_0x42311d=searchSymbols(_0x4362d1,_0xa7afec,{'glob':typeof _0x1f7270['glob']==='string'?_0x1f7270['glob']:undefined,'maxResults':typeof _0x1f7270['max_results']==='number'?_0x1f7270['max_results']:undefined,'ignoreCase':Boolean(_0x1f7270['ignore_case'])});if(_0x42311d['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20definitions\x20of\x20\x27'+_0xa7afec+'\x27\x20in\x20'+_0x4362d1);const _0x3489ac=_0x42311d['map'](_0x43fedc=>'\x20\x20'+_0x43fedc['file']+':'+_0x43fedc['line']+'\x20['+_0x43fedc['kind']+']\x20'+_0x43fedc['name']+'\x20—\x20'+_0x43fedc['signature'])['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x42311d['length']+'\x20definition(s)\x20of\x20\x27'+_0xa7afec+'\x27:\x0a'+_0x3489ac);}};}
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resetBackgroundJobsForTests']=resetBackgroundJobsForTests,exports['osSpawnRequest']=osSpawnRequest,exports['runForegroundOsSandboxed']=runForegroundOsSandboxed,exports['buildBashEnv']=buildBashEnv,exports['createBashTool']=createBashTool;const permissions_js_1=require('../../../../../packages/protocol/src/permissions.js'),types_js_1=require('../types.js'),index_js_1=require('../../../../../packages/sandbox/src/index.js'),policy_js_1=require('../../../../../packages/execpolicy/src/policy.js'),process_js_1=require('../../../../../packages/core/src/process.js'),env_filter_js_1=require('../../../../../packages/core/src/env_filter.js'),index_js_2=require('../../../../../packages/approval/src/index.js'),crypto_1=require('crypto'),definition={'timeoutMs':0x7530,'name':'bash','description':'Run\x20a\x20shell\x20command\x20in\x20the\x20project\x20working\x20directory.\x20Returns\x20combined\x20stdout/stderr\x20with\x20OS-level\x20sandbox\x20isolation,\x20output\x20capping,\x20and\x20process\x20tree\x20management.\x20Pass\x20background:\x20true\x20for\x20long-running\x20work:\x20the\x20command\x20starts\x20detached\x20and\x20you\x20get\x20a\x20job_id\x20back\x20immediately\x20—\x20keep\x20working,\x20then\x20poll\x20bash\x20with\x20job_id\x20to\x20read\x20the\x20result\x20(or\x20action:\x20\x27kill\x27\x20to\x20stop\x20it).','executionMode':'sequential','parameters':{'type':'object','required':[],'properties':{'command':{'type':'string','description':'The\x20shell\x20command\x20to\x20execute.\x20Required\x20unless\x20polling\x20a\x20job\x20via\x20\x27job_id\x27.'},'timeout':{'type':'number','description':'Optional\x20timeout\x20in\x20seconds\x20(foreground\x20max\x20300;\x20background\x20max\x203600,\x20default\x20600).'},'background':{'type':'boolean','description':'Start\x20the\x20command\x20as\x20a\x20background\x20job\x20and\x20return\x20its\x20job_id\x20immediately\x20instead\x20of\x20waiting\x20for\x20it\x20to\x20finish.'},'job_id':{'type':'string','description':'Background\x20job\x20to\x20inspect\x20(default)\x20or\x20kill\x20instead\x20of\x20running\x20a\x20new\x20command.'},'action':{'type':'string','enum':['status','kill'],'description':'What\x20to\x20do\x20with\x20\x27job_id\x27:\x20\x27status\x27\x20(default)\x20returns\x20progress/output,\x20\x27kill\x27\x20stops\x20the\x20job.'}}}},MAX_BACKGROUND_JOBS=0x8,COMPLETED_RETENTION_MS=0xa*0x3c*0x3e8,backgroundJobs=new Map();function sweepBackgroundJobs(){const _0x1936db=Date['now']();for(const [_0x9f2068,_0x398f36]of backgroundJobs){_0x398f36['state']==='done'&&_0x398f36['settledAt']!==undefined&&_0x1936db-_0x398f36['settledAt']>COMPLETED_RETENTION_MS&&backgroundJobs['delete'](_0x9f2068);}}function resetBackgroundJobsForTests(){for(const _0x368bf0 of backgroundJobs['values']()){if(_0x368bf0['state']==='running')void _0x368bf0['kill']?.()['catch'](()=>{});}backgroundJobs['clear']();}async function startBackgroundJob(_0x1f0814){sweepBackgroundJobs();const _0x425725=[...backgroundJobs['values']()]['filter'](_0x22858f=>_0x22858f['state']==='running')['length'];if(_0x425725>=MAX_BACKGROUND_JOBS)return(0x0,types_js_1['textResult'])('Too\x20many\x20background\x20jobs\x20running\x20('+_0x425725+'/'+MAX_BACKGROUND_JOBS+').\x20Poll\x20existing\x20jobs\x20with\x20job_id\x20or\x20kill\x20them\x20first.',!![]);const _0x46c894=(0x0,crypto_1['randomUUID'])(),_0x58bdf6={'id':_0x46c894,'command':_0x1f0814['command'],'cwd':_0x1f0814['ctx']['cwd'],'startedAt':Date['now'](),'timeoutMs':_0x1f0814['timeoutMs'],'state':'running'};backgroundJobs['set'](_0x46c894,_0x58bdf6);if((0x0,index_js_1['shouldUseOsSandbox'])(_0x1f0814['sandboxType'])){let _0x39b107;try{_0x39b107=await(_0x1f0814['spawnFn']??index_js_1['spawnProcess'])(osSpawnRequest({'shell':_0x1f0814['shell'],'shellArgs':_0x1f0814['shellArgs'],'command':_0x1f0814['command'],'cwd':_0x1f0814['ctx']['cwd'],'env':_0x1f0814['safeEnv'],'sandboxType':_0x1f0814['sandboxType'],'networkDisabled':_0x1f0814['networkDisabled'],'timeoutMs':_0x1f0814['timeoutMs']}));}catch(_0x36c5a0){return backgroundJobs['delete'](_0x46c894),(0x0,types_js_1['textResult'])('Failed\x20to\x20start\x20background\x20job:\x20'+(_0x36c5a0 instanceof Error?_0x36c5a0['message']:String(_0x36c5a0)),!![]);}return _0x58bdf6['pid']=_0x39b107['pid'],_0x58bdf6['kill']=_0x39b107['kill'],void _0x39b107['waitForExit']()['then'](async _0xb3a0ec=>{_0x58bdf6['output']=await _0x39b107['readAll']()['catch'](()=>''),_0x58bdf6['exitCode']=_0xb3a0ec,_0x58bdf6['settledAt']=Date['now'](),_0x58bdf6['state']='done';})['catch'](()=>{_0x58bdf6['output']=_0x58bdf6['output']??'',_0x58bdf6['exitCode']=0x1,_0x58bdf6['settledAt']=Date['now'](),_0x58bdf6['state']='done';}),(0x0,types_js_1['textResult'])('Background\x20job\x20started.\x0ajob_id:\x20'+_0x46c894+'\x0acommand:\x20'+_0x1f0814['command']+'\x0atimeout:\x20'+_0x1f0814['timeoutSec']+'s\x0asandbox:\x20os\x20('+_0x39b107['sandboxType']+')\x0a\x0aPoll\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x46c894+'\x22})\x20for\x20status\x20and\x20output;\x20stop\x20it\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x46c894+'\x22,\x20\x22action\x22:\x20\x22kill\x22}).');}const _0x250e3f=new process_js_1['ProcessManager']();let _0xa6b5cd;try{_0xa6b5cd=await _0x250e3f['spawn']({'command':[_0x1f0814['shell'],..._0x1f0814['shellArgs'],_0x1f0814['command']],'cwd':_0x1f0814['ctx']['cwd'],'env':_0x1f0814['safeEnv'],'timeoutMs':_0x1f0814['timeoutMs'],'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'processGroup':!![]});}catch(_0x3e017e){return backgroundJobs['delete'](_0x46c894),(0x0,types_js_1['textResult'])('Failed\x20to\x20start\x20background\x20job:\x20'+(_0x3e017e instanceof Error?_0x3e017e['message']:String(_0x3e017e)),!![]);}return _0x58bdf6['pid']=_0xa6b5cd['pid'],_0x58bdf6['kill']=_0xa6b5cd['kill'],void _0xa6b5cd['exitCode']['then'](async _0x373049=>{const _0x5d22b0=await _0xa6b5cd['output']['catch'](()=>'');_0x58bdf6['output']=_0x5d22b0,_0x58bdf6['exitCode']=_0x373049,_0x58bdf6['settledAt']=Date['now'](),_0x58bdf6['state']='done';})['catch'](()=>{_0x58bdf6['output']=_0x58bdf6['output']??'',_0x58bdf6['exitCode']=0x1,_0x58bdf6['settledAt']=Date['now'](),_0x58bdf6['state']='done';}),(0x0,types_js_1['textResult'])('Background\x20job\x20started.\x0ajob_id:\x20'+_0x46c894+'\x0acommand:\x20'+_0x1f0814['command']+'\x0atimeout:\x20'+_0x1f0814['timeoutSec']+'s\x0a\x0aPoll\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x46c894+'\x22})\x20for\x20status\x20and\x20output;\x20stop\x20it\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x46c894+'\x22,\x20\x22action\x22:\x20\x22kill\x22}).');}async function handleJobOperation(_0x5f4ef8,_0x2c88cd,_0x283c4d){sweepBackgroundJobs();if(_0x2c88cd!==undefined&&_0x2c88cd!=='status'&&_0x2c88cd!=='kill')return(0x0,types_js_1['textResult'])('Unknown\x20action\x20\x27'+String(_0x2c88cd)+'\x27.\x20Use\x20\x22status\x22\x20or\x20\x22kill\x22.',!![]);const _0x3ec488=backgroundJobs['get'](_0x5f4ef8);if(!_0x3ec488)return(0x0,types_js_1['textResult'])('Unknown\x20job_id\x20\x27'+_0x5f4ef8+'\x27.\x20Jobs\x20stay\x20available\x20for\x20'+Math['round'](COMPLETED_RETENTION_MS/0xea60)+'\x20minutes\x20after\x20they\x20finish.',!![]);if(_0x2c88cd==='kill'){if(_0x3ec488['state']==='done')return(0x0,types_js_1['textResult'])('Job\x20'+_0x5f4ef8+'\x20already\x20finished\x20(exit\x20'+(_0x3ec488['exitCode']??'?')+').');return _0x3ec488['killRequested']=!![],await _0x3ec488['kill']?.()['catch'](()=>{}),(0x0,types_js_1['textResult'])('Job\x20'+_0x5f4ef8+'\x20killed:\x20'+_0x3ec488['command']);}if(_0x3ec488['state']==='running'){const _0x5f3dc3=Math['round']((Date['now']()-_0x3ec488['startedAt'])/0x3e8);return(0x0,types_js_1['textResult'])('Job\x20'+_0x5f4ef8+'\x20still\x20running\x20('+_0x5f3dc3+'s)\x0acommand:\x20'+_0x3ec488['command']+'\x0acwd:\x20'+_0x3ec488['cwd']+'\x0aOutput\x20is\x20collected\x20when\x20the\x20job\x20finishes\x20—\x20poll\x20again\x20for\x20the\x20result.');}const _0x2f3376=(0x0,types_js_1['truncateOutput'])(_0x3ec488['output']??'',_0x283c4d['config']),_0x2e42e5=[];_0x3ec488['settledAt']!==undefined&&_0x3ec488['settledAt']-_0x3ec488['startedAt']>=_0x3ec488['timeoutMs']&&_0x2e42e5['push']('[hit\x20the\x20'+Math['round'](_0x3ec488['timeoutMs']/0x3e8)+'s\x20timeout\x20and\x20was\x20killed]');if(_0x3ec488['killRequested'])_0x2e42e5['push']('[killed\x20on\x20request]');if(_0x3ec488['exitCode']!==0x0)_0x2e42e5['push']('[exit\x20code\x20'+_0x3ec488['exitCode']+']');const _0x5cb8d6=_0x2e42e5['length']>0x0?'\x0a\x0a'+_0x2e42e5['join']('\x0a'):'';return(0x0,types_js_1['textResult'])('Job\x20'+_0x5f4ef8+'\x20finished\x0acommand:\x20'+_0x3ec488['command']+'\x0a\x0a'+_0x2f3376['text']+_0x5cb8d6,_0x3ec488['exitCode']!==0x0);}function osSpawnRequest(_0x10b0e7){return{'command':[_0x10b0e7['shell'],..._0x10b0e7['shellArgs'],_0x10b0e7['command']],'cwd':_0x10b0e7['cwd'],'sandboxType':_0x10b0e7['sandboxType'],'env':_0x10b0e7['env'],'networkPolicy':{'disableNetwork':_0x10b0e7['networkDisabled'],'allowedDomains':[],'blockedDomains':[]},'filesystemPolicy':{'writableRoots':[_0x10b0e7['cwd']],'readOnlySubpaths':[],'denyReadPaths':[],'denyWritePaths':[]},'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'timeoutMs':_0x10b0e7['timeoutMs'],'signal':_0x10b0e7['signal']};}function runForegroundOsSandboxed(_0x2c2d02){const _0x180a81=_0x2c2d02['spawnFn']??index_js_1['spawnProcess'];return new Promise(_0x2d6e9f=>{let _0xc83be5=![],_0x91b992;const _0x124875=_0x2f2f75=>{if(_0xc83be5)return;_0xc83be5=!![],clearTimeout(_0x5cc497),_0x2c2d02['signal']?.['removeEventListener']('abort',_0x41a0a3),_0x2d6e9f(_0x2f2f75);},_0x5cc497=setTimeout(()=>{!_0xc83be5&&(_0xc83be5=!![],void _0x91b992?.['kill']('SIGKILL'),_0x2d6e9f((0x0,types_js_1['textResult'])('Command\x20timed\x20out\x20after\x20'+_0x2c2d02['timeoutSec']+'s',!![])));},_0x2c2d02['timeoutMs']),_0x41a0a3=()=>{!_0xc83be5&&(_0xc83be5=!![],clearTimeout(_0x5cc497),void _0x91b992?.['kill']('SIGKILL'),_0x2d6e9f((0x0,types_js_1['textResult'])('Command\x20aborted',!![])));};_0x2c2d02['signal']?.['addEventListener']('abort',_0x41a0a3,{'once':!![]}),_0x180a81(osSpawnRequest({'shell':_0x2c2d02['shell'],'shellArgs':_0x2c2d02['shellArgs'],'command':_0x2c2d02['command'],'cwd':_0x2c2d02['ctx']['cwd'],'env':_0x2c2d02['safeEnv'],'sandboxType':_0x2c2d02['sandboxType'],'networkDisabled':_0x2c2d02['networkDisabled'],'timeoutMs':_0x2c2d02['timeoutMs'],'signal':_0x2c2d02['signal']}))['then'](async _0x940b39=>{_0x91b992=_0x940b39;if(_0xc83be5){void _0x940b39['kill']('SIGKILL');return;}const _0x19e5f9=await _0x940b39['readAll']()['catch'](()=>''),_0x4ea33d=await _0x940b39['waitForExit'](),_0x38568d=(0x0,types_js_1['truncateOutput'])(_0x19e5f9,_0x2c2d02['ctx']['config']),_0x29bac9=_0x4ea33d!==0x0,_0x44cb30=_0x29bac9?'\x0a\x0a[exit\x20code\x20'+_0x4ea33d+']':'';_0x124875((0x0,types_js_1['textResult'])(''+_0x38568d['text']+_0x44cb30+'\x0a\x0a[sandbox:\x20os\x20('+_0x940b39['sandboxType']+')]',_0x29bac9));})['catch'](_0x1ac959=>{_0x124875((0x0,types_js_1['textResult'])('Command\x20failed:\x20'+(_0x1ac959 instanceof Error?_0x1ac959['message']:String(_0x1ac959)),!![]));});});}function buildBashEnv(_0x2070c8,_0x4baf4f,_0x1013c8){const _0x49473d={};for(const [_0xaa2089,_0x5604a9]of Object['entries'](_0x2070c8)){if(typeof _0x5604a9==='string')_0x49473d[_0xaa2089]=_0x5604a9;}return(0x0,env_filter_js_1['getSafeEnv'])((0x0,index_js_1['filterEnv'])(_0x49473d,{}),_0x4baf4f,_0x1013c8);}function createBashTool(_0x18c820){return{'definition':definition,async 'execute'(_0xfa90dc,_0xa5f420,_0x47e715,_0x426f9d,_0x4d7cc3){try{if(_0x47e715?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x546d42=_0x4d7cc3;if(typeof _0xa5f420['job_id']==='string'&&_0xa5f420['job_id']['length']>0x0)return await handleJobOperation(_0xa5f420['job_id'],_0xa5f420['action'],_0x546d42);const _0x5b2312=String(_0xa5f420['command']??'');if(!_0x5b2312)return(0x0,types_js_1['textResult'])('Missing\x20\x27command\x27.',!![]);const _0x2a9ff5=_0xa5f420['background']===!![],_0x1c3534=_0x2a9ff5?typeof _0xa5f420['timeout']==='number'?Math['max'](0x1,Math['min'](0xe10,_0xa5f420['timeout'])):0x258:typeof _0xa5f420['timeout']==='number'?Math['max'](0x1,Math['min'](0x12c,_0xa5f420['timeout'])):0x1e,_0x4bcf31=_0x1c3534*0x3e8,_0x591012=_0x546d42['config'],_0x2e9ee2=_0x591012['shellCommand']['match'](/(?:[^\s"]+|"[^"]*")+/g)??[_0x591012['shellCommand']],_0x2fdaf6=_0x2e9ee2[0x0]['replace'](/^"|"$/g,''),_0x43cbcc=_0x2e9ee2['slice'](0x1),_0x1b4864=(0x0,policy_js_1['evaluatePolicy'])(_0x5b2312);if(_0x1b4864==='deny')return(0x0,types_js_1['textResult'])('Permission\x20denied\x20by\x20exec\x20policy:\x20'+_0x5b2312,!![]);if(_0x1b4864==='ask'){const _0x50e896=await _0x546d42['requestPermission']?.('bash',_0x5b2312,'Exec\x20policy\x20requires\x20approval');if(_0x50e896===![])return(0x0,types_js_1['textResult'])('Permission\x20denied\x20by\x20exec\x20policy:\x20'+_0x5b2312,!![]);}const _0x1d21d2=(0x0,index_js_2['checkAutoApproval'])(_0x5b2312),_0x328a80=_0x1d21d2==='allow';if(!(0x0,permissions_js_1['isCommandAllowed'])('bash',_0x5b2312,_0x546d42['permissions'])){if(_0x328a80){}else{const _0x587651=await _0x546d42['requestPermission']?.('bash',_0x5b2312,'Risky\x20bash\x20command\x20blocked\x20by\x20permissions');if(_0x587651===![])return(0x0,types_js_1['textResult'])('Permission\x20denied\x20for\x20command:\x20'+_0x5b2312,!![]);if(_0x587651===undefined&&(0x0,permissions_js_1['isCommandDangerous'])('bash',_0x5b2312,_0x546d42['permissions']))return(0x0,types_js_1['textResult'])('Permission\x20denied\x20(headless):\x20command\x20matches\x20a\x20deny\x20rule\x20and\x20no\x20approver\x20is\x20available:\x20'+_0x5b2312,!![]);}}(0x0,env_filter_js_1['validateEnv'])(process.env);const _0x166e9d=_0x546d42['permissions'],_0x2d56c9=(0x0,index_js_1['detectSandboxType'])(_0x166e9d),_0x466b0b=_0x166e9d['__networkPolicy']&&typeof _0x166e9d['__networkPolicy']==='object'?_0x166e9d['__networkPolicy']['disableNetwork']??![]:![],_0x27de36=buildBashEnv(process.env,_0x2d56c9,_0x466b0b);if(_0x2a9ff5)return await startBackgroundJob({'command':_0x5b2312,'shell':_0x2fdaf6,'shellArgs':_0x43cbcc,'ctx':_0x546d42,'safeEnv':_0x27de36,'timeoutMs':_0x4bcf31,'timeoutSec':_0x1c3534,'sandboxType':_0x2d56c9,'networkDisabled':_0x466b0b,'spawnFn':_0x18c820?.['spawnFn']});if((0x0,index_js_1['shouldUseOsSandbox'])(_0x2d56c9))return runForegroundOsSandboxed({'shell':_0x2fdaf6,'shellArgs':_0x43cbcc,'command':_0x5b2312,'ctx':_0x546d42,'safeEnv':_0x27de36,'sandboxType':_0x2d56c9,'networkDisabled':_0x466b0b,'timeoutMs':_0x4bcf31,'timeoutSec':_0x1c3534,'signal':_0x47e715,'spawnFn':_0x18c820?.['spawnFn']});return new Promise(_0x27187c=>{let _0x16e6a5=![];const _0x35057a=new process_js_1['ProcessManager'](),_0x3f0f09=setTimeout(()=>{!_0x16e6a5&&(_0x16e6a5=!![],_0x35057a['killAll']()['catch'](()=>{}),_0x27187c((0x0,types_js_1['textResult'])('Command\x20timed\x20out\x20after\x20'+_0x1c3534+'s',!![])));},_0x4bcf31),_0x37ad62=()=>{!_0x16e6a5&&(_0x16e6a5=!![],clearTimeout(_0x3f0f09),_0x35057a['killAll']()['catch'](()=>{}),_0x27187c((0x0,types_js_1['textResult'])('Command\x20aborted',!![])));};_0x47e715?.['addEventListener']('abort',_0x37ad62,{'once':!![]}),_0x35057a['spawn']({'command':[_0x2fdaf6,..._0x43cbcc,_0x5b2312],'cwd':_0x546d42['cwd'],'env':_0x27de36,'timeoutMs':_0x4bcf31,'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'processGroup':!![],'signal':_0x47e715})['then'](async({exitCode:_0x408d4d,output:_0x103b75})=>{const _0x4822ba=await _0x103b75['catch'](()=>'');clearTimeout(_0x3f0f09),_0x47e715?.['removeEventListener']('abort',_0x37ad62);if(!_0x16e6a5){_0x16e6a5=!![];const _0x186bbe=(0x0,types_js_1['truncateOutput'])(_0x4822ba,_0x591012),_0x1e4b67=await _0x408d4d['catch'](()=>0x1),_0x5bbb3d=_0x1e4b67!==0x0,_0x51e945=_0x5bbb3d?'\x0a\x0a[exit\x20code\x20'+_0x1e4b67+']':'';_0x27187c((0x0,types_js_1['textResult'])(_0x186bbe['text']+_0x51e945,_0x5bbb3d));}})['catch'](_0xa764d3=>{!_0x16e6a5&&(_0x16e6a5=!![],clearTimeout(_0x3f0f09),_0x47e715?.['removeEventListener']('abort',_0x37ad62),_0x27187c((0x0,types_js_1['textResult'])('Command\x20failed:\x20'+_0xa764d3['message'],!![])));});});}catch(_0x2fffc4){return(0x0,types_js_1['textResult'])('Bash\x20error:\x20'+(_0x2fffc4 instanceof Error?_0x2fffc4['message']:String(_0x2fffc4)),!![]);}}};}
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resetBackgroundJobsForTests']=resetBackgroundJobsForTests,exports['osSpawnRequest']=osSpawnRequest,exports['runForegroundOsSandboxed']=runForegroundOsSandboxed,exports['buildBashEnv']=buildBashEnv,exports['createBashTool']=createBashTool;const permissions_js_1=require('../../../../../packages/protocol/src/permissions.js'),types_js_1=require('../types.js'),index_js_1=require('../../../../../packages/sandbox/src/index.js'),policy_js_1=require('../../../../../packages/execpolicy/src/policy.js'),process_js_1=require('../../../../../packages/core/src/process.js'),env_filter_js_1=require('../../../../../packages/core/src/env_filter.js'),index_js_2=require('../../../../../packages/approval/src/index.js'),crypto_1=require('crypto'),definition={'timeoutMs':0x7530,'name':'bash','description':'Run\x20a\x20shell\x20command\x20in\x20the\x20project\x20working\x20directory.\x20Returns\x20combined\x20stdout/stderr\x20with\x20OS-level\x20sandbox\x20isolation,\x20output\x20capping,\x20and\x20process\x20tree\x20management.\x20Pass\x20background:\x20true\x20for\x20long-running\x20work:\x20the\x20command\x20starts\x20detached\x20and\x20you\x20get\x20a\x20job_id\x20back\x20immediately\x20—\x20keep\x20working,\x20then\x20poll\x20bash\x20with\x20job_id\x20to\x20read\x20the\x20result\x20(or\x20action:\x20\x27kill\x27\x20to\x20stop\x20it).','executionMode':'sequential','parameters':{'type':'object','required':[],'properties':{'command':{'type':'string','description':'The\x20shell\x20command\x20to\x20execute.\x20Required\x20unless\x20polling\x20a\x20job\x20via\x20\x27job_id\x27.'},'timeout':{'type':'number','description':'Optional\x20timeout\x20in\x20seconds\x20(foreground\x20max\x20300;\x20background\x20max\x203600,\x20default\x20600).'},'background':{'type':'boolean','description':'Start\x20the\x20command\x20as\x20a\x20background\x20job\x20and\x20return\x20its\x20job_id\x20immediately\x20instead\x20of\x20waiting\x20for\x20it\x20to\x20finish.'},'job_id':{'type':'string','description':'Background\x20job\x20to\x20inspect\x20(default)\x20or\x20kill\x20instead\x20of\x20running\x20a\x20new\x20command.'},'action':{'type':'string','enum':['status','kill'],'description':'What\x20to\x20do\x20with\x20\x27job_id\x27:\x20\x27status\x27\x20(default)\x20returns\x20progress/output,\x20\x27kill\x27\x20stops\x20the\x20job.'}}}},MAX_BACKGROUND_JOBS=0x8,COMPLETED_RETENTION_MS=0xa*0x3c*0x3e8,backgroundJobs=new Map();function sweepBackgroundJobs(){const _0x2f9577=Date['now']();for(const [_0x3cf8a4,_0x4e4fd9]of backgroundJobs){_0x4e4fd9['state']==='done'&&_0x4e4fd9['settledAt']!==undefined&&_0x2f9577-_0x4e4fd9['settledAt']>COMPLETED_RETENTION_MS&&backgroundJobs['delete'](_0x3cf8a4);}}function resetBackgroundJobsForTests(){for(const _0x14df0d of backgroundJobs['values']()){if(_0x14df0d['state']==='running')void _0x14df0d['kill']?.()['catch'](()=>{});}backgroundJobs['clear']();}async function startBackgroundJob(_0x4291ff){sweepBackgroundJobs();const _0x5f56f0=[...backgroundJobs['values']()]['filter'](_0x28241a=>_0x28241a['state']==='running')['length'];if(_0x5f56f0>=MAX_BACKGROUND_JOBS)return(0x0,types_js_1['textResult'])('Too\x20many\x20background\x20jobs\x20running\x20('+_0x5f56f0+'/'+MAX_BACKGROUND_JOBS+').\x20Poll\x20existing\x20jobs\x20with\x20job_id\x20or\x20kill\x20them\x20first.',!![]);const _0x2148c7=(0x0,crypto_1['randomUUID'])(),_0xcc104b={'id':_0x2148c7,'command':_0x4291ff['command'],'cwd':_0x4291ff['ctx']['cwd'],'startedAt':Date['now'](),'timeoutMs':_0x4291ff['timeoutMs'],'state':'running'};backgroundJobs['set'](_0x2148c7,_0xcc104b);if((0x0,index_js_1['shouldUseOsSandbox'])(_0x4291ff['sandboxType'])){let _0x339336;try{_0x339336=await(_0x4291ff['spawnFn']??index_js_1['spawnProcess'])(osSpawnRequest({'shell':_0x4291ff['shell'],'shellArgs':_0x4291ff['shellArgs'],'command':_0x4291ff['command'],'cwd':_0x4291ff['ctx']['cwd'],'env':_0x4291ff['safeEnv'],'sandboxType':_0x4291ff['sandboxType'],'networkDisabled':_0x4291ff['networkDisabled'],'timeoutMs':_0x4291ff['timeoutMs']}));}catch(_0x21314d){return backgroundJobs['delete'](_0x2148c7),(0x0,types_js_1['textResult'])('Failed\x20to\x20start\x20background\x20job:\x20'+(_0x21314d instanceof Error?_0x21314d['message']:String(_0x21314d)),!![]);}return _0xcc104b['pid']=_0x339336['pid'],_0xcc104b['kill']=_0x339336['kill'],void _0x339336['waitForExit']()['then'](async _0x58c556=>{_0xcc104b['output']=await _0x339336['readAll']()['catch'](()=>''),_0xcc104b['exitCode']=_0x58c556,_0xcc104b['settledAt']=Date['now'](),_0xcc104b['state']='done';})['catch'](()=>{_0xcc104b['output']=_0xcc104b['output']??'',_0xcc104b['exitCode']=0x1,_0xcc104b['settledAt']=Date['now'](),_0xcc104b['state']='done';}),(0x0,types_js_1['textResult'])('Background\x20job\x20started.\x0ajob_id:\x20'+_0x2148c7+'\x0acommand:\x20'+_0x4291ff['command']+'\x0atimeout:\x20'+_0x4291ff['timeoutSec']+'s\x0asandbox:\x20os\x20('+_0x339336['sandboxType']+')\x0a\x0aPoll\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x2148c7+'\x22})\x20for\x20status\x20and\x20output;\x20stop\x20it\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x2148c7+'\x22,\x20\x22action\x22:\x20\x22kill\x22}).');}const _0x4b4d9d=new process_js_1['ProcessManager']();let _0x5d3ef3;try{_0x5d3ef3=await _0x4b4d9d['spawn']({'command':[_0x4291ff['shell'],..._0x4291ff['shellArgs'],_0x4291ff['command']],'cwd':_0x4291ff['ctx']['cwd'],'env':_0x4291ff['safeEnv'],'timeoutMs':_0x4291ff['timeoutMs'],'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'processGroup':!![]});}catch(_0x1e27b6){return backgroundJobs['delete'](_0x2148c7),(0x0,types_js_1['textResult'])('Failed\x20to\x20start\x20background\x20job:\x20'+(_0x1e27b6 instanceof Error?_0x1e27b6['message']:String(_0x1e27b6)),!![]);}return _0xcc104b['pid']=_0x5d3ef3['pid'],_0xcc104b['kill']=_0x5d3ef3['kill'],void _0x5d3ef3['exitCode']['then'](async _0x1952eb=>{const _0x54cdfe=await _0x5d3ef3['output']['catch'](()=>'');_0xcc104b['output']=_0x54cdfe,_0xcc104b['exitCode']=_0x1952eb,_0xcc104b['settledAt']=Date['now'](),_0xcc104b['state']='done';})['catch'](()=>{_0xcc104b['output']=_0xcc104b['output']??'',_0xcc104b['exitCode']=0x1,_0xcc104b['settledAt']=Date['now'](),_0xcc104b['state']='done';}),(0x0,types_js_1['textResult'])('Background\x20job\x20started.\x0ajob_id:\x20'+_0x2148c7+'\x0acommand:\x20'+_0x4291ff['command']+'\x0atimeout:\x20'+_0x4291ff['timeoutSec']+'s\x0a\x0aPoll\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x2148c7+'\x22})\x20for\x20status\x20and\x20output;\x20stop\x20it\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x2148c7+'\x22,\x20\x22action\x22:\x20\x22kill\x22}).');}async function handleJobOperation(_0x168a10,_0x477717,_0x5468c0){sweepBackgroundJobs();if(_0x477717!==undefined&&_0x477717!=='status'&&_0x477717!=='kill')return(0x0,types_js_1['textResult'])('Unknown\x20action\x20\x27'+String(_0x477717)+'\x27.\x20Use\x20\x22status\x22\x20or\x20\x22kill\x22.',!![]);const _0x1c9224=backgroundJobs['get'](_0x168a10);if(!_0x1c9224)return(0x0,types_js_1['textResult'])('Unknown\x20job_id\x20\x27'+_0x168a10+'\x27.\x20Jobs\x20stay\x20available\x20for\x20'+Math['round'](COMPLETED_RETENTION_MS/0xea60)+'\x20minutes\x20after\x20they\x20finish.',!![]);if(_0x477717==='kill'){if(_0x1c9224['state']==='done')return(0x0,types_js_1['textResult'])('Job\x20'+_0x168a10+'\x20already\x20finished\x20(exit\x20'+(_0x1c9224['exitCode']??'?')+').');return _0x1c9224['killRequested']=!![],await _0x1c9224['kill']?.()['catch'](()=>{}),(0x0,types_js_1['textResult'])('Job\x20'+_0x168a10+'\x20killed:\x20'+_0x1c9224['command']);}if(_0x1c9224['state']==='running'){const _0x2770d3=Math['round']((Date['now']()-_0x1c9224['startedAt'])/0x3e8);return(0x0,types_js_1['textResult'])('Job\x20'+_0x168a10+'\x20still\x20running\x20('+_0x2770d3+'s)\x0acommand:\x20'+_0x1c9224['command']+'\x0acwd:\x20'+_0x1c9224['cwd']+'\x0aOutput\x20is\x20collected\x20when\x20the\x20job\x20finishes\x20—\x20poll\x20again\x20for\x20the\x20result.');}const _0x3d02cf=(0x0,types_js_1['truncateOutput'])(_0x1c9224['output']??'',_0x5468c0['config']),_0x506fe0=[];_0x1c9224['settledAt']!==undefined&&_0x1c9224['settledAt']-_0x1c9224['startedAt']>=_0x1c9224['timeoutMs']&&_0x506fe0['push']('[hit\x20the\x20'+Math['round'](_0x1c9224['timeoutMs']/0x3e8)+'s\x20timeout\x20and\x20was\x20killed]');if(_0x1c9224['killRequested'])_0x506fe0['push']('[killed\x20on\x20request]');if(_0x1c9224['exitCode']!==0x0)_0x506fe0['push']('[exit\x20code\x20'+_0x1c9224['exitCode']+']');const _0x5c3f62=_0x506fe0['length']>0x0?'\x0a\x0a'+_0x506fe0['join']('\x0a'):'';return(0x0,types_js_1['textResult'])('Job\x20'+_0x168a10+'\x20finished\x0acommand:\x20'+_0x1c9224['command']+'\x0a\x0a'+_0x3d02cf['text']+_0x5c3f62,_0x1c9224['exitCode']!==0x0);}function osSpawnRequest(_0x4cf557){return{'command':[_0x4cf557['shell'],..._0x4cf557['shellArgs'],_0x4cf557['command']],'cwd':_0x4cf557['cwd'],'sandboxType':_0x4cf557['sandboxType'],'env':_0x4cf557['env'],'networkPolicy':{'disableNetwork':_0x4cf557['networkDisabled'],'allowedDomains':[],'blockedDomains':[]},'filesystemPolicy':{'writableRoots':[_0x4cf557['cwd']],'readOnlySubpaths':[],'denyReadPaths':[],'denyWritePaths':[]},'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'timeoutMs':_0x4cf557['timeoutMs'],'signal':_0x4cf557['signal']};}function runForegroundOsSandboxed(_0xb61dbf){const _0x3a92c4=_0xb61dbf['spawnFn']??index_js_1['spawnProcess'];return new Promise(_0x388140=>{let _0x3af0f9=![],_0x285c97;const _0x5479f4=_0x3389bc=>{if(_0x3af0f9)return;_0x3af0f9=!![],clearTimeout(_0x2364da),_0xb61dbf['signal']?.['removeEventListener']('abort',_0x156af2),_0x388140(_0x3389bc);},_0x2364da=setTimeout(()=>{!_0x3af0f9&&(_0x3af0f9=!![],void _0x285c97?.['kill']('SIGKILL'),_0x388140((0x0,types_js_1['textResult'])('Command\x20timed\x20out\x20after\x20'+_0xb61dbf['timeoutSec']+'s',!![])));},_0xb61dbf['timeoutMs']),_0x156af2=()=>{!_0x3af0f9&&(_0x3af0f9=!![],clearTimeout(_0x2364da),void _0x285c97?.['kill']('SIGKILL'),_0x388140((0x0,types_js_1['textResult'])('Command\x20aborted',!![])));};_0xb61dbf['signal']?.['addEventListener']('abort',_0x156af2,{'once':!![]}),_0x3a92c4(osSpawnRequest({'shell':_0xb61dbf['shell'],'shellArgs':_0xb61dbf['shellArgs'],'command':_0xb61dbf['command'],'cwd':_0xb61dbf['ctx']['cwd'],'env':_0xb61dbf['safeEnv'],'sandboxType':_0xb61dbf['sandboxType'],'networkDisabled':_0xb61dbf['networkDisabled'],'timeoutMs':_0xb61dbf['timeoutMs'],'signal':_0xb61dbf['signal']}))['then'](async _0x46f373=>{_0x285c97=_0x46f373;if(_0x3af0f9){void _0x46f373['kill']('SIGKILL');return;}const _0x4ad4d3=await _0x46f373['readAll']()['catch'](()=>''),_0x53a71a=await _0x46f373['waitForExit'](),_0x2950d3=(0x0,types_js_1['truncateOutput'])(_0x4ad4d3,_0xb61dbf['ctx']['config']),_0x18911b=_0x53a71a!==0x0,_0x5bc5e9=_0x18911b?'\x0a\x0a[exit\x20code\x20'+_0x53a71a+']':'';_0x5479f4((0x0,types_js_1['textResult'])(''+_0x2950d3['text']+_0x5bc5e9+'\x0a\x0a[sandbox:\x20os\x20('+_0x46f373['sandboxType']+')]',_0x18911b));})['catch'](_0xd741ba=>{_0x5479f4((0x0,types_js_1['textResult'])('Command\x20failed:\x20'+(_0xd741ba instanceof Error?_0xd741ba['message']:String(_0xd741ba)),!![]));});});}function buildBashEnv(_0xb28cde,_0x3bde9d,_0x263fb4){const _0x4e7512={};for(const [_0x137322,_0x292e2e]of Object['entries'](_0xb28cde)){if(typeof _0x292e2e==='string')_0x4e7512[_0x137322]=_0x292e2e;}return(0x0,env_filter_js_1['getSafeEnv'])((0x0,index_js_1['filterEnv'])(_0x4e7512,{}),_0x3bde9d,_0x263fb4);}function createBashTool(_0x15fb91){return{'definition':definition,async 'execute'(_0x58920a,_0x15480a,_0x1e0c44,_0x8a864,_0xb86565){try{if(_0x1e0c44?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x33be09=_0xb86565;if(typeof _0x15480a['job_id']==='string'&&_0x15480a['job_id']['length']>0x0)return await handleJobOperation(_0x15480a['job_id'],_0x15480a['action'],_0x33be09);const _0x5a21b2=String(_0x15480a['command']??'');if(!_0x5a21b2)return(0x0,types_js_1['textResult'])('Missing\x20\x27command\x27.',!![]);const _0x52738b=_0x15480a['background']===!![],_0x3d40b0=_0x52738b?typeof _0x15480a['timeout']==='number'?Math['max'](0x1,Math['min'](0xe10,_0x15480a['timeout'])):0x258:typeof _0x15480a['timeout']==='number'?Math['max'](0x1,Math['min'](0x12c,_0x15480a['timeout'])):0x1e,_0x53ffa0=_0x3d40b0*0x3e8,_0x5bc93a=_0x33be09['config'],_0x4cdeaf=_0x5bc93a['shellCommand']['match'](/(?:[^\s"]+|"[^"]*")+/g)??[_0x5bc93a['shellCommand']],_0x34ad42=_0x4cdeaf[0x0]['replace'](/^"|"$/g,''),_0x5ebdac=_0x4cdeaf['slice'](0x1),_0x1e65a5=(0x0,policy_js_1['evaluatePolicy'])(_0x5a21b2);if(_0x1e65a5==='deny')return(0x0,types_js_1['textResult'])('Permission\x20denied\x20by\x20exec\x20policy:\x20'+_0x5a21b2,!![]);if(_0x1e65a5==='ask'){const _0x5d7819=await _0x33be09['requestPermission']?.('bash',_0x5a21b2,'Exec\x20policy\x20requires\x20approval');if(_0x5d7819===![])return(0x0,types_js_1['textResult'])('Permission\x20denied\x20by\x20exec\x20policy:\x20'+_0x5a21b2,!![]);}const _0x5db7dc=(0x0,index_js_2['checkAutoApproval'])(_0x5a21b2),_0x4e4169=_0x5db7dc==='allow';if(!(0x0,permissions_js_1['isCommandAllowed'])('bash',_0x5a21b2,_0x33be09['permissions'])){if(_0x4e4169){}else{const _0x5e7c4b=await _0x33be09['requestPermission']?.('bash',_0x5a21b2,'Risky\x20bash\x20command\x20blocked\x20by\x20permissions');if(_0x5e7c4b===![])return(0x0,types_js_1['textResult'])('Permission\x20denied\x20for\x20command:\x20'+_0x5a21b2,!![]);if(_0x5e7c4b===undefined&&(0x0,permissions_js_1['isCommandDangerous'])('bash',_0x5a21b2,_0x33be09['permissions']))return(0x0,types_js_1['textResult'])('Permission\x20denied\x20(headless):\x20command\x20matches\x20a\x20deny\x20rule\x20and\x20no\x20approver\x20is\x20available:\x20'+_0x5a21b2,!![]);}}(0x0,env_filter_js_1['validateEnv'])(process.env);const _0x237e76=_0x33be09['permissions'],_0x567c7d=(0x0,index_js_1['detectSandboxType'])(_0x237e76),_0x1429e3=_0x237e76['__networkPolicy']&&typeof _0x237e76['__networkPolicy']==='object'?_0x237e76['__networkPolicy']['disableNetwork']??![]:![],_0x94da2f=buildBashEnv(process.env,_0x567c7d,_0x1429e3);if(_0x52738b)return await startBackgroundJob({'command':_0x5a21b2,'shell':_0x34ad42,'shellArgs':_0x5ebdac,'ctx':_0x33be09,'safeEnv':_0x94da2f,'timeoutMs':_0x53ffa0,'timeoutSec':_0x3d40b0,'sandboxType':_0x567c7d,'networkDisabled':_0x1429e3,'spawnFn':_0x15fb91?.['spawnFn']});if((0x0,index_js_1['shouldUseOsSandbox'])(_0x567c7d))return runForegroundOsSandboxed({'shell':_0x34ad42,'shellArgs':_0x5ebdac,'command':_0x5a21b2,'ctx':_0x33be09,'safeEnv':_0x94da2f,'sandboxType':_0x567c7d,'networkDisabled':_0x1429e3,'timeoutMs':_0x53ffa0,'timeoutSec':_0x3d40b0,'signal':_0x1e0c44,'spawnFn':_0x15fb91?.['spawnFn']});return new Promise(_0x5a7cf7=>{let _0x514a09=![];const _0x465ba2=new process_js_1['ProcessManager'](),_0x500149=setTimeout(()=>{!_0x514a09&&(_0x514a09=!![],_0x465ba2['killAll']()['catch'](()=>{}),_0x5a7cf7((0x0,types_js_1['textResult'])('Command\x20timed\x20out\x20after\x20'+_0x3d40b0+'s',!![])));},_0x53ffa0),_0x145c0c=()=>{!_0x514a09&&(_0x514a09=!![],clearTimeout(_0x500149),_0x465ba2['killAll']()['catch'](()=>{}),_0x5a7cf7((0x0,types_js_1['textResult'])('Command\x20aborted',!![])));};_0x1e0c44?.['addEventListener']('abort',_0x145c0c,{'once':!![]}),_0x465ba2['spawn']({'command':[_0x34ad42,..._0x5ebdac,_0x5a21b2],'cwd':_0x33be09['cwd'],'env':_0x94da2f,'timeoutMs':_0x53ffa0,'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'processGroup':!![],'signal':_0x1e0c44})['then'](async({exitCode:_0x22de33,output:_0x2ea0be})=>{const _0x16b3f7=await _0x2ea0be['catch'](()=>'');clearTimeout(_0x500149),_0x1e0c44?.['removeEventListener']('abort',_0x145c0c);if(!_0x514a09){_0x514a09=!![];const _0x23d87a=(0x0,types_js_1['truncateOutput'])(_0x16b3f7,_0x5bc93a),_0x1cb405=await _0x22de33['catch'](()=>0x1),_0x3cdffe=_0x1cb405!==0x0,_0x30a2e6=_0x3cdffe?'\x0a\x0a[exit\x20code\x20'+_0x1cb405+']':'';_0x5a7cf7((0x0,types_js_1['textResult'])(_0x23d87a['text']+_0x30a2e6,_0x3cdffe));}})['catch'](_0x5ea6db=>{!_0x514a09&&(_0x514a09=!![],clearTimeout(_0x500149),_0x1e0c44?.['removeEventListener']('abort',_0x145c0c),_0x5a7cf7((0x0,types_js_1['textResult'])('Command\x20failed:\x20'+_0x5ea6db['message'],!![])));});});}catch(_0x52a969){return(0x0,types_js_1['textResult'])('Bash\x20error:\x20'+(_0x52a969 instanceof Error?_0x52a969['message']:String(_0x52a969)),!![]);}}};}
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TERMINAL_INPUT_CAP']=exports['TERMINAL_OUTPUT_CAP']=exports['TERMINAL_MAX_SESSIONS']=void 0x0,exports['resetTerminalsForTests']=resetTerminalsForTests,exports['createTerminalSession']=createTerminalSession,exports['sendTerminalInput']=sendTerminalInput,exports['readTerminalOutput']=readTerminalOutput,exports['killTerminal']=killTerminal,exports['listTerminals']=listTerminals,exports['createTerminalTool']=createTerminalTool;const node_child_process_1=require('node:child_process'),node_crypto_1=require('node:crypto'),types_js_1=require('../types.js'),env_filter_js_1=require('../../../../../packages/core/src/env_filter.js');exports['TERMINAL_MAX_SESSIONS']=0x4,exports['TERMINAL_OUTPUT_CAP']=0x40*0x400,exports['TERMINAL_INPUT_CAP']=0x8*0x400;const sessions=new Map();function resetTerminalsForTests(){for(const _0xe1d7f of sessions['values']()){try{killTree(_0xe1d7f);}catch{}}sessions['clear']();}function killTree(_0x270e83){const _0x18e9db=_0x270e83['child']['pid'];if(_0x18e9db!==undefined&&process['platform']!=='win32')try{process['kill'](-_0x18e9db,'SIGKILL');return;}catch{}try{_0x270e83['child']['kill']('SIGKILL');}catch{}}function appendOutput(_0x589ca1,_0x2f0bf0){_0x589ca1['buffer']+=_0x2f0bf0,_0x589ca1['bufferBytes']+=Buffer['byteLength'](_0x2f0bf0,'utf8'),_0x589ca1['totalBytes']+=Buffer['byteLength'](_0x2f0bf0,'utf8');if(_0x589ca1['bufferBytes']>exports['TERMINAL_OUTPUT_CAP']){const _0x5e60f6=_0x589ca1['bufferBytes']-exports['TERMINAL_OUTPUT_CAP'];let _0x4c7e17=0x0,_0x402790=0x0;while(_0x4c7e17<_0x589ca1['buffer']['length']&&_0x402790<_0x5e60f6){_0x402790+=Buffer['byteLength'](_0x589ca1['buffer'][_0x4c7e17],'utf8'),_0x4c7e17++;}_0x589ca1['buffer']=_0x589ca1['buffer']['slice'](_0x4c7e17),_0x589ca1['bufferBytes']-=_0x402790;}}function publicView(_0x4a9bcf){return{'id':_0x4a9bcf['id'],'shell':_0x4a9bcf['shell'],'cwd':_0x4a9bcf['cwd'],'startedAt':_0x4a9bcf['startedAt'],'live':_0x4a9bcf['live'],'exitCode':_0x4a9bcf['exitCode'],'totalBytes':_0x4a9bcf['totalBytes']};}function createTerminalSession(_0x59eefe,_0x5a58a4,_0x1776ff){const _0x3a8c03=[...sessions['values']()]['filter'](_0x21eb7a=>_0x21eb7a['live'])['length'];if(_0x3a8c03>=exports['TERMINAL_MAX_SESSIONS'])throw new Error('Too\x20many\x20live\x20terminals\x20('+_0x3a8c03+'/'+exports['TERMINAL_MAX_SESSIONS']+').\x20Kill\x20one\x20first.');const _0x30d3dd=(0x0,node_child_process_1['spawn'])(_0x59eefe,[],{'cwd':_0x5a58a4,'env':_0x1776ff,'stdio':['pipe','pipe','pipe'],'windowsHide':!![],'detached':process['platform']!=='win32'}),_0x494869={'id':(0x0,node_crypto_1['randomUUID'])(),'shell':_0x59eefe,'cwd':_0x5a58a4,'startedAt':Date['now'](),'live':!![],'exitCode':null,'totalBytes':0x0,'child':_0x30d3dd,'buffer':'','bufferBytes':0x0};return _0x30d3dd['stdout']?.['on']('data',_0x598147=>appendOutput(_0x494869,_0x598147['toString']('utf8'))),_0x30d3dd['stderr']?.['on']('data',_0x214993=>appendOutput(_0x494869,_0x214993['toString']('utf8'))),_0x30d3dd['on']('close',_0x14fd59=>{_0x494869['live']=![],_0x494869['exitCode']=_0x14fd59??0x1;}),_0x30d3dd['on']('error',()=>{_0x494869['live']=![],_0x494869['exitCode']=_0x494869['exitCode']??0x1;}),sessions['set'](_0x494869['id'],_0x494869),publicView(_0x494869);}function sendTerminalInput(_0x3642bd,_0x4bd9bf){const _0x51bf23=sessions['get'](_0x3642bd);if(!_0x51bf23)throw new Error('Unknown\x20terminal\x20\x27'+_0x3642bd+'\x27.');if(!_0x51bf23['live'])throw new Error('Terminal\x20\x27'+_0x3642bd+'\x27\x20exited\x20(code\x20'+(_0x51bf23['exitCode']??'?')+').');if(Buffer['byteLength'](_0x4bd9bf,'utf8')>exports['TERMINAL_INPUT_CAP'])throw new Error('Input\x20exceeds\x20'+exports['TERMINAL_INPUT_CAP']+'\x20bytes.');const _0x18f689=_0x51bf23['child']['stdin'];if(!_0x18f689||_0x18f689['destroyed'])throw new Error('Terminal\x20\x27'+_0x3642bd+'\x27\x20stdin\x20is\x20closed.');_0x18f689['write'](_0x4bd9bf['endsWith']('\x0a')?_0x4bd9bf:_0x4bd9bf+'\x0a');}function readTerminalOutput(_0x2edab5,_0x1427b2=0x0){const _0x5a12d0=sessions['get'](_0x2edab5);if(!_0x5a12d0)throw new Error('Unknown\x20terminal\x20\x27'+_0x2edab5+'\x27.');const _0x199f62=_0x5a12d0['totalBytes']-_0x5a12d0['bufferBytes'],_0x1ff17c=Math['max'](0x0,_0x1427b2-_0x199f62);return{'output':_0x5a12d0['buffer']['slice'](_0x1ff17c),'offset':_0x5a12d0['totalBytes'],'live':_0x5a12d0['live']};}function killTerminal(_0x197462){const _0x456c12=sessions['get'](_0x197462);if(!_0x456c12)throw new Error('Unknown\x20terminal\x20\x27'+_0x197462+'\x27.');if(!_0x456c12['live'])return{'exited':!![],'exitCode':_0x456c12['exitCode']};return killTree(_0x456c12),{'exited':![],'exitCode':null};}function listTerminals(){return[...sessions['values']()]['map'](publicView);}const definition={'timeoutMs':0x7530,'name':'terminal','description':'Interactive\x20shell\x20sessions:\x20create\x20a\x20persistent\x20shell,\x20send\x20it\x20input\x20lines,\x20and\x20read\x20new\x20output\x20from\x20a\x20cursor.\x20For\x20REPLs\x20and\x20multi-step\x20shell\x20flows;\x20one-shot\x20commands\x20belong\x20to\x20bash.\x20Actions:\x20create,\x20send,\x20read,\x20list,\x20kill.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','description':'One\x20of:\x20create,\x20send,\x20read,\x20list,\x20kill.'},'shell':{'type':'string','description':'Shell\x20for\x20create\x20(default:\x20the\x20configured\x20shellCommand).'},'input':{'type':'string','description':'Input\x20line\x20for\x20send.'},'id':{'type':'string','description':'Session\x20id\x20for\x20send/read/kill.'},'offset':{'type':'number','description':'Byte\x20cursor\x20for\x20read\x20(replay\x20from\x20here).\x20Default\x200.'}}}};function createTerminalTool(){return{'definition':definition,async 'execute'(_0x468059,_0x1d8f8f,_0x137ab9,_0x4eb281,_0x28ca40){const _0x4f4bc4=_0x28ca40,_0x3cd561=String(_0x1d8f8f['action']??'')['trim']()['toLowerCase']();switch(_0x3cd561){case'create':{const _0x5a7035=typeof _0x1d8f8f['shell']==='string'&&_0x1d8f8f['shell']['trim']()?[_0x1d8f8f['shell']['trim']()]:_0x4f4bc4['config']['shellCommand']['match'](/(?:[^\s"]+|"[^"]*")+/g)??[_0x4f4bc4['config']['shellCommand']],_0x5c8b46=_0x5a7035[0x0]['replace'](/^"|"$/g,'');try{const _0x3c903=createTerminalSession(_0x5c8b46,_0x4f4bc4['cwd'],(0x0,env_filter_js_1['getSafeEnv'])(process.env));return(0x0,types_js_1['textResult'])('Terminal\x20started.\x0aid:\x20'+_0x3c903['id']+'\x0ashell:\x20'+_0x3c903['shell']+'\x0aSend\x20input\x20with\x20terminal({\x22action\x22:\x20\x22send\x22,\x20\x22id\x22:\x20\x22'+_0x3c903['id']+'\x22,\x20\x22input\x22:\x20\x22...\x22})');}catch(_0x1295e5){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x1295e5 instanceof Error?_0x1295e5['message']:String(_0x1295e5)),!![]);}}case'send':{const _0x2d9125=String(_0x1d8f8f['id']??'');if(!_0x2d9125)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20send.',!![]);const _0x39f363=String(_0x1d8f8f['input']??'');if(!_0x39f363)return(0x0,types_js_1['textResult'])('Missing\x20\x27input\x27\x20for\x20send.',!![]);try{return sendTerminalInput(_0x2d9125,_0x39f363),(0x0,types_js_1['textResult'])('Sent\x20to\x20'+_0x2d9125+'.\x20Read\x20it\x20back\x20with\x20terminal({\x22action\x22:\x20\x22read\x22,\x20\x22id\x22:\x20\x22'+_0x2d9125+'\x22}).');}catch(_0x4c56a9){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x4c56a9 instanceof Error?_0x4c56a9['message']:String(_0x4c56a9)),!![]);}}case'read':{const _0x1a6a05=String(_0x1d8f8f['id']??'');if(!_0x1a6a05)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20read.',!![]);const _0x3f3aed=typeof _0x1d8f8f['offset']==='number'&&Number['isFinite'](_0x1d8f8f['offset'])?Math['max'](0x0,Math['floor'](_0x1d8f8f['offset'])):0x0;try{const {output:_0x3917d8,offset:_0x549a71,live:_0x34a3de}=readTerminalOutput(_0x1a6a05,_0x3f3aed),_0x263c2c='Terminal\x20'+_0x1a6a05+'\x20('+(_0x34a3de?'live':'exited')+')\x20—\x20offset\x20'+_0x549a71+':\x0a';return(0x0,types_js_1['textResult'])(_0x3917d8['length']>0x0?_0x263c2c+_0x3917d8:_0x263c2c+'(no\x20new\x20output\x20yet)');}catch(_0x571ce4){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x571ce4 instanceof Error?_0x571ce4['message']:String(_0x571ce4)),!![]);}}case'list':{const _0x2cabdd=listTerminals();if(_0x2cabdd['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20terminals.');return(0x0,types_js_1['textResult'])(_0x2cabdd['map'](_0x3fc67c=>'-\x20'+_0x3fc67c['id']+'\x20['+(_0x3fc67c['live']?'live':'exited\x20'+(_0x3fc67c['exitCode']??'?'))+']\x20'+_0x3fc67c['shell']+'\x20@\x20'+_0x3fc67c['cwd'])['join']('\x0a'));}case'kill':{const _0x407e32=String(_0x1d8f8f['id']??'');if(!_0x407e32)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20kill.',!![]);try{const _0x4c6d56=killTerminal(_0x407e32);return(0x0,types_js_1['textResult'])(_0x4c6d56['exited']?'Terminal\x20'+_0x407e32+'\x20already\x20exited\x20('+(_0x4c6d56['exitCode']??'?')+').':'Terminal\x20'+_0x407e32+'\x20killed.');}catch(_0x535839){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x535839 instanceof Error?_0x535839['message']:String(_0x535839)),!![]);}}default:return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20use\x20create,\x20send,\x20read,\x20list,\x20or\x20kill.',!![]);}}};}
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['TERMINAL_INPUT_CAP']=exports['TERMINAL_OUTPUT_CAP']=exports['TERMINAL_MAX_SESSIONS']=void 0x0,exports['resetTerminalsForTests']=resetTerminalsForTests,exports['createTerminalSession']=createTerminalSession,exports['sendTerminalInput']=sendTerminalInput,exports['readTerminalOutput']=readTerminalOutput,exports['killTerminal']=killTerminal,exports['listTerminals']=listTerminals,exports['createTerminalTool']=createTerminalTool;const node_child_process_1=require('node:child_process'),node_crypto_1=require('node:crypto'),types_js_1=require('../types.js'),env_filter_js_1=require('../../../../../packages/core/src/env_filter.js');exports['TERMINAL_MAX_SESSIONS']=0x4,exports['TERMINAL_OUTPUT_CAP']=0x40*0x400,exports['TERMINAL_INPUT_CAP']=0x8*0x400;const sessions=new Map();function resetTerminalsForTests(){for(const _0x62baa0 of sessions['values']()){try{killTree(_0x62baa0);}catch{}}sessions['clear']();}function killTree(_0x221f89){const _0x5201a1=_0x221f89['child']['pid'];if(_0x5201a1!==undefined&&process['platform']!=='win32')try{process['kill'](-_0x5201a1,'SIGKILL');return;}catch{}try{_0x221f89['child']['kill']('SIGKILL');}catch{}}function appendOutput(_0x531d69,_0x4ee2d1){_0x531d69['buffer']+=_0x4ee2d1,_0x531d69['bufferBytes']+=Buffer['byteLength'](_0x4ee2d1,'utf8'),_0x531d69['totalBytes']+=Buffer['byteLength'](_0x4ee2d1,'utf8');if(_0x531d69['bufferBytes']>exports['TERMINAL_OUTPUT_CAP']){const _0x5c1d97=_0x531d69['bufferBytes']-exports['TERMINAL_OUTPUT_CAP'];let _0x5efac6=0x0,_0x1d423e=0x0;while(_0x5efac6<_0x531d69['buffer']['length']&&_0x1d423e<_0x5c1d97){_0x1d423e+=Buffer['byteLength'](_0x531d69['buffer'][_0x5efac6],'utf8'),_0x5efac6++;}_0x531d69['buffer']=_0x531d69['buffer']['slice'](_0x5efac6),_0x531d69['bufferBytes']-=_0x1d423e;}}function publicView(_0x45fb18){return{'id':_0x45fb18['id'],'shell':_0x45fb18['shell'],'cwd':_0x45fb18['cwd'],'startedAt':_0x45fb18['startedAt'],'live':_0x45fb18['live'],'exitCode':_0x45fb18['exitCode'],'totalBytes':_0x45fb18['totalBytes']};}function createTerminalSession(_0x60d92b,_0x423cc8,_0x580e9c){const _0x5bc5b2=[...sessions['values']()]['filter'](_0x78d163=>_0x78d163['live'])['length'];if(_0x5bc5b2>=exports['TERMINAL_MAX_SESSIONS'])throw new Error('Too\x20many\x20live\x20terminals\x20('+_0x5bc5b2+'/'+exports['TERMINAL_MAX_SESSIONS']+').\x20Kill\x20one\x20first.');const _0x3eb473=(0x0,node_child_process_1['spawn'])(_0x60d92b,[],{'cwd':_0x423cc8,'env':_0x580e9c,'stdio':['pipe','pipe','pipe'],'windowsHide':!![],'detached':process['platform']!=='win32'}),_0x4807e2={'id':(0x0,node_crypto_1['randomUUID'])(),'shell':_0x60d92b,'cwd':_0x423cc8,'startedAt':Date['now'](),'live':!![],'exitCode':null,'totalBytes':0x0,'child':_0x3eb473,'buffer':'','bufferBytes':0x0};return _0x3eb473['stdout']?.['on']('data',_0x30f0ba=>appendOutput(_0x4807e2,_0x30f0ba['toString']('utf8'))),_0x3eb473['stderr']?.['on']('data',_0x387d4d=>appendOutput(_0x4807e2,_0x387d4d['toString']('utf8'))),_0x3eb473['on']('close',_0x1afca3=>{_0x4807e2['live']=![],_0x4807e2['exitCode']=_0x1afca3??0x1;}),_0x3eb473['on']('error',()=>{_0x4807e2['live']=![],_0x4807e2['exitCode']=_0x4807e2['exitCode']??0x1;}),sessions['set'](_0x4807e2['id'],_0x4807e2),publicView(_0x4807e2);}function sendTerminalInput(_0x2348c0,_0xa2614){const _0x2eb160=sessions['get'](_0x2348c0);if(!_0x2eb160)throw new Error('Unknown\x20terminal\x20\x27'+_0x2348c0+'\x27.');if(!_0x2eb160['live'])throw new Error('Terminal\x20\x27'+_0x2348c0+'\x27\x20exited\x20(code\x20'+(_0x2eb160['exitCode']??'?')+').');if(Buffer['byteLength'](_0xa2614,'utf8')>exports['TERMINAL_INPUT_CAP'])throw new Error('Input\x20exceeds\x20'+exports['TERMINAL_INPUT_CAP']+'\x20bytes.');const _0xabb2f7=_0x2eb160['child']['stdin'];if(!_0xabb2f7||_0xabb2f7['destroyed'])throw new Error('Terminal\x20\x27'+_0x2348c0+'\x27\x20stdin\x20is\x20closed.');_0xabb2f7['write'](_0xa2614['endsWith']('\x0a')?_0xa2614:_0xa2614+'\x0a');}function readTerminalOutput(_0x40786b,_0x30886a=0x0){const _0x3904e6=sessions['get'](_0x40786b);if(!_0x3904e6)throw new Error('Unknown\x20terminal\x20\x27'+_0x40786b+'\x27.');const _0x15a4d7=_0x3904e6['totalBytes']-_0x3904e6['bufferBytes'],_0x280714=Math['max'](0x0,_0x30886a-_0x15a4d7);return{'output':_0x3904e6['buffer']['slice'](_0x280714),'offset':_0x3904e6['totalBytes'],'live':_0x3904e6['live']};}function killTerminal(_0x14d754){const _0x4bf437=sessions['get'](_0x14d754);if(!_0x4bf437)throw new Error('Unknown\x20terminal\x20\x27'+_0x14d754+'\x27.');if(!_0x4bf437['live'])return{'exited':!![],'exitCode':_0x4bf437['exitCode']};return killTree(_0x4bf437),{'exited':![],'exitCode':null};}function listTerminals(){return[...sessions['values']()]['map'](publicView);}const definition={'timeoutMs':0x7530,'name':'terminal','description':'Interactive\x20shell\x20sessions:\x20create\x20a\x20persistent\x20shell,\x20send\x20it\x20input\x20lines,\x20and\x20read\x20new\x20output\x20from\x20a\x20cursor.\x20For\x20REPLs\x20and\x20multi-step\x20shell\x20flows;\x20one-shot\x20commands\x20belong\x20to\x20bash.\x20Actions:\x20create,\x20send,\x20read,\x20list,\x20kill.','parameters':{'type':'object','required':['action'],'properties':{'action':{'type':'string','description':'One\x20of:\x20create,\x20send,\x20read,\x20list,\x20kill.'},'shell':{'type':'string','description':'Shell\x20for\x20create\x20(default:\x20the\x20configured\x20shellCommand).'},'input':{'type':'string','description':'Input\x20line\x20for\x20send.'},'id':{'type':'string','description':'Session\x20id\x20for\x20send/read/kill.'},'offset':{'type':'number','description':'Byte\x20cursor\x20for\x20read\x20(replay\x20from\x20here).\x20Default\x200.'}}}};function createTerminalTool(){return{'definition':definition,async 'execute'(_0x308727,_0x4bddc2,_0x3ed7bb,_0x1b7eb9,_0x133530){const _0x59c453=_0x133530,_0x23ea37=String(_0x4bddc2['action']??'')['trim']()['toLowerCase']();switch(_0x23ea37){case'create':{const _0x44f04e=typeof _0x4bddc2['shell']==='string'&&_0x4bddc2['shell']['trim']()?[_0x4bddc2['shell']['trim']()]:_0x59c453['config']['shellCommand']['match'](/(?:[^\s"]+|"[^"]*")+/g)??[_0x59c453['config']['shellCommand']],_0x519dcc=_0x44f04e[0x0]['replace'](/^"|"$/g,'');try{const _0x526b46=createTerminalSession(_0x519dcc,_0x59c453['cwd'],(0x0,env_filter_js_1['getSafeEnv'])(process.env));return(0x0,types_js_1['textResult'])('Terminal\x20started.\x0aid:\x20'+_0x526b46['id']+'\x0ashell:\x20'+_0x526b46['shell']+'\x0aSend\x20input\x20with\x20terminal({\x22action\x22:\x20\x22send\x22,\x20\x22id\x22:\x20\x22'+_0x526b46['id']+'\x22,\x20\x22input\x22:\x20\x22...\x22})');}catch(_0x4aff42){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x4aff42 instanceof Error?_0x4aff42['message']:String(_0x4aff42)),!![]);}}case'send':{const _0x2589aa=String(_0x4bddc2['id']??'');if(!_0x2589aa)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20send.',!![]);const _0x194150=String(_0x4bddc2['input']??'');if(!_0x194150)return(0x0,types_js_1['textResult'])('Missing\x20\x27input\x27\x20for\x20send.',!![]);try{return sendTerminalInput(_0x2589aa,_0x194150),(0x0,types_js_1['textResult'])('Sent\x20to\x20'+_0x2589aa+'.\x20Read\x20it\x20back\x20with\x20terminal({\x22action\x22:\x20\x22read\x22,\x20\x22id\x22:\x20\x22'+_0x2589aa+'\x22}).');}catch(_0x43d748){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x43d748 instanceof Error?_0x43d748['message']:String(_0x43d748)),!![]);}}case'read':{const _0x27bbda=String(_0x4bddc2['id']??'');if(!_0x27bbda)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20read.',!![]);const _0x480f85=typeof _0x4bddc2['offset']==='number'&&Number['isFinite'](_0x4bddc2['offset'])?Math['max'](0x0,Math['floor'](_0x4bddc2['offset'])):0x0;try{const {output:_0x4c9abd,offset:_0x39f70f,live:_0xc4867e}=readTerminalOutput(_0x27bbda,_0x480f85),_0x5cd354='Terminal\x20'+_0x27bbda+'\x20('+(_0xc4867e?'live':'exited')+')\x20—\x20offset\x20'+_0x39f70f+':\x0a';return(0x0,types_js_1['textResult'])(_0x4c9abd['length']>0x0?_0x5cd354+_0x4c9abd:_0x5cd354+'(no\x20new\x20output\x20yet)');}catch(_0x1d7c2d){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x1d7c2d instanceof Error?_0x1d7c2d['message']:String(_0x1d7c2d)),!![]);}}case'list':{const _0x2d1b4c=listTerminals();if(_0x2d1b4c['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20terminals.');return(0x0,types_js_1['textResult'])(_0x2d1b4c['map'](_0x15e46c=>'-\x20'+_0x15e46c['id']+'\x20['+(_0x15e46c['live']?'live':'exited\x20'+(_0x15e46c['exitCode']??'?'))+']\x20'+_0x15e46c['shell']+'\x20@\x20'+_0x15e46c['cwd'])['join']('\x0a'));}case'kill':{const _0x4ce2bf=String(_0x4bddc2['id']??'');if(!_0x4ce2bf)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20kill.',!![]);try{const _0x546b91=killTerminal(_0x4ce2bf);return(0x0,types_js_1['textResult'])(_0x546b91['exited']?'Terminal\x20'+_0x4ce2bf+'\x20already\x20exited\x20('+(_0x546b91['exitCode']??'?')+').':'Terminal\x20'+_0x4ce2bf+'\x20killed.');}catch(_0x414f18){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x414f18 instanceof Error?_0x414f18['message']:String(_0x414f18)),!![]);}}default:return(0x0,types_js_1['textResult'])('Unknown\x20action:\x20use\x20create,\x20send,\x20read,\x20list,\x20or\x20kill.',!![]);}}};}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3cef40,_0x198b82,_0x5394b7,_0x3fd840){if(_0x3fd840===undefined)_0x3fd840=_0x5394b7;var _0x2622bb=Object['getOwnPropertyDescriptor'](_0x198b82,_0x5394b7);(!_0x2622bb||('get'in _0x2622bb?!_0x198b82['__esModule']:_0x2622bb['writable']||_0x2622bb['configurable']))&&(_0x2622bb={'enumerable':!![],'get':function(){return _0x198b82[_0x5394b7];}}),Object['defineProperty'](_0x3cef40,_0x3fd840,_0x2622bb);}:function(_0x43bc6d,_0x422bca,_0x1ed7ff,_0x384953){if(_0x384953===undefined)_0x384953=_0x1ed7ff;_0x43bc6d[_0x384953]=_0x422bca[_0x1ed7ff];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5b4e67,_0x2b79a4){Object['defineProperty'](_0x5b4e67,'default',{'enumerable':!![],'value':_0x2b79a4});}:function(_0xb2bf6f,_0x3b96f6){_0xb2bf6f['default']=_0x3b96f6;}),__importStar=this&&this['__importStar']||(function(){var _0x19311c=function(_0x5d973c){return _0x19311c=Object['getOwnPropertyNames']||function(_0x38f7f7){var _0x5ebaf9=[];for(var _0x50779c in _0x38f7f7)if(Object['prototype']['hasOwnProperty']['call'](_0x38f7f7,_0x50779c))_0x5ebaf9[_0x5ebaf9['length']]=_0x50779c;return _0x5ebaf9;},_0x19311c(_0x5d973c);};return function(_0x29ca78){if(_0x29ca78&&_0x29ca78['__esModule'])return _0x29ca78;var _0x408a44={};if(_0x29ca78!=null){for(var _0xad86ba=_0x19311c(_0x29ca78),_0x3dea8e=0x0;_0x3dea8e<_0xad86ba['length'];_0x3dea8e++)if(_0xad86ba[_0x3dea8e]!=='default')__createBinding(_0x408a44,_0x29ca78,_0xad86ba[_0x3dea8e]);}return __setModuleDefault(_0x408a44,_0x29ca78),_0x408a44;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['defaultCommandsDir']=defaultCommandsDir,exports['loadCommandsFromDir']=loadCommandsFromDir,exports['parseCommandFile']=parseCommandFile,exports['defaultRulesDir']=defaultRulesDir,exports['loadRulesFromDir']=loadRulesFromDir,exports['rulesBlock']=rulesBlock;const fs=__importStar(require('fs')),path=__importStar(require('path'));function defaultCommandsDir(){return path['join'](process['cwd'](),'commands');}function loadCommandsFromDir(_0x1f9d6a){if(!_0x1f9d6a||!fs['existsSync'](_0x1f9d6a))return[];const _0x3a9387=[],_0x17f76a=fs['readdirSync'](_0x1f9d6a,{'withFileTypes':!![]});for(const _0x3fe6e4 of _0x17f76a){if(!_0x3fe6e4['isFile']()||!_0x3fe6e4['name']['endsWith']('.md'))continue;const _0x872528=path['join'](_0x1f9d6a,_0x3fe6e4['name']);try{const _0x5e03ab=fs['readFileSync'](_0x872528,'utf8'),_0x1e0b61=parseCommandFile(_0x5e03ab,_0x872528);if(_0x1e0b61)_0x3a9387['push'](_0x1e0b61);}catch{}}return _0x3a9387['sort']((_0x54e8be,_0xc3948)=>_0x54e8be['name']['localeCompare'](_0xc3948['name']));}function parseCommandFile(_0x31b223,_0x5fcb61){const _0xe1f5bd=_0x31b223['match'](/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);if(!_0xe1f5bd)return null;const _0x3a35ea=new Map();for(const _0x9c7e8 of _0xe1f5bd[0x1]['split']('\x0a')){const _0x316d26=_0x9c7e8['match'](/^\s*([^:]+):\s*(.*?)\s*$/);if(_0x316d26)_0x3a35ea['set'](_0x316d26[0x1],_0x316d26[0x2]['replace'](/^["']|["']$/g,''));}const _0x4a9e30=path['basename'](_0x5fcb61,path['extname'](_0x5fcb61)),_0x5cac12=_0x3a35ea['get']('description')??'',_0x2a31ee=_0x3a35ea['get']('argument-hint')??'',_0x412355=_0xe1f5bd[0x2]['trim']();if(!_0x4a9e30)return null;return{'name':_0x4a9e30,'description':_0x5cac12,'argumentHint':_0x2a31ee||undefined,'body':_0x412355,'file':_0x5fcb61};}function defaultRulesDir(){return path['join'](process['cwd'](),'.trayambak','rules');}function loadRulesFromDir(_0x69855a){if(!_0x69855a||!fs['existsSync'](_0x69855a))return[];const _0x49304f=[],_0x5224ff=fs['readdirSync'](_0x69855a,{'withFileTypes':!![]});for(const _0x1f77af of _0x5224ff){if(!_0x1f77af['isFile']()||!_0x1f77af['name']['endsWith']('.md'))continue;const _0x108256=path['join'](_0x69855a,_0x1f77af['name']);try{const _0xd9aa1d=fs['readFileSync'](_0x108256,'utf8'),_0x36dacd=path['basename'](_0x1f77af['name'],path['extname'](_0x1f77af['name']));_0x49304f['push']('###\x20'+_0x36dacd+'\x0a'+_0xd9aa1d['trim']());}catch{}}return _0x49304f['sort']();}function rulesBlock(_0x3985a3){if(!_0x3985a3||_0x3985a3['length']===0x0)return'';return['Rules\x20(from\x20.trayambak/rules):',..._0x3985a3]['join']('\x0a');}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x155969,_0x1ce15c,_0x57cbab,_0x16ee79){if(_0x16ee79===undefined)_0x16ee79=_0x57cbab;var _0x2759b3=Object['getOwnPropertyDescriptor'](_0x1ce15c,_0x57cbab);(!_0x2759b3||('get'in _0x2759b3?!_0x1ce15c['__esModule']:_0x2759b3['writable']||_0x2759b3['configurable']))&&(_0x2759b3={'enumerable':!![],'get':function(){return _0x1ce15c[_0x57cbab];}}),Object['defineProperty'](_0x155969,_0x16ee79,_0x2759b3);}:function(_0x15621b,_0x201b84,_0x1f5014,_0x1d6400){if(_0x1d6400===undefined)_0x1d6400=_0x1f5014;_0x15621b[_0x1d6400]=_0x201b84[_0x1f5014];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0xf2fcf0,_0x303437){Object['defineProperty'](_0xf2fcf0,'default',{'enumerable':!![],'value':_0x303437});}:function(_0x65383f,_0x5cb597){_0x65383f['default']=_0x5cb597;}),__importStar=this&&this['__importStar']||(function(){var _0x37bcc7=function(_0x57da47){return _0x37bcc7=Object['getOwnPropertyNames']||function(_0x343095){var _0x51a92e=[];for(var _0x139d38 in _0x343095)if(Object['prototype']['hasOwnProperty']['call'](_0x343095,_0x139d38))_0x51a92e[_0x51a92e['length']]=_0x139d38;return _0x51a92e;},_0x37bcc7(_0x57da47);};return function(_0xc6ae1d){if(_0xc6ae1d&&_0xc6ae1d['__esModule'])return _0xc6ae1d;var _0x3e2deb={};if(_0xc6ae1d!=null){for(var _0x32a8e2=_0x37bcc7(_0xc6ae1d),_0x414e41=0x0;_0x414e41<_0x32a8e2['length'];_0x414e41++)if(_0x32a8e2[_0x414e41]!=='default')__createBinding(_0x3e2deb,_0xc6ae1d,_0x32a8e2[_0x414e41]);}return __setModuleDefault(_0x3e2deb,_0xc6ae1d),_0x3e2deb;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['defaultCommandsDir']=defaultCommandsDir,exports['loadCommandsFromDir']=loadCommandsFromDir,exports['parseCommandFile']=parseCommandFile,exports['defaultRulesDir']=defaultRulesDir,exports['loadRulesFromDir']=loadRulesFromDir,exports['rulesBlock']=rulesBlock;const fs=__importStar(require('fs')),path=__importStar(require('path'));function defaultCommandsDir(){return path['join'](process['cwd'](),'commands');}function loadCommandsFromDir(_0x39f31d){if(!_0x39f31d||!fs['existsSync'](_0x39f31d))return[];const _0x33d80a=[],_0x48b4a7=fs['readdirSync'](_0x39f31d,{'withFileTypes':!![]});for(const _0x4fb192 of _0x48b4a7){if(!_0x4fb192['isFile']()||!_0x4fb192['name']['endsWith']('.md'))continue;const _0x4b12dc=path['join'](_0x39f31d,_0x4fb192['name']);try{const _0x522094=fs['readFileSync'](_0x4b12dc,'utf8'),_0x101509=parseCommandFile(_0x522094,_0x4b12dc);if(_0x101509)_0x33d80a['push'](_0x101509);}catch{}}return _0x33d80a['sort']((_0x592d36,_0x40037c)=>_0x592d36['name']['localeCompare'](_0x40037c['name']));}function parseCommandFile(_0x2c43a7,_0x590113){const _0x43ebda=_0x2c43a7['match'](/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);if(!_0x43ebda)return null;const _0x2103c2=new Map();for(const _0x257afb of _0x43ebda[0x1]['split']('\x0a')){const _0x2e8351=_0x257afb['match'](/^\s*([^:]+):\s*(.*?)\s*$/);if(_0x2e8351)_0x2103c2['set'](_0x2e8351[0x1],_0x2e8351[0x2]['replace'](/^["']|["']$/g,''));}const _0x234f2f=path['basename'](_0x590113,path['extname'](_0x590113)),_0x4b0c99=_0x2103c2['get']('description')??'',_0xc89163=_0x2103c2['get']('argument-hint')??'',_0x2dc312=_0x43ebda[0x2]['trim']();if(!_0x234f2f)return null;return{'name':_0x234f2f,'description':_0x4b0c99,'argumentHint':_0xc89163||undefined,'body':_0x2dc312,'file':_0x590113};}function defaultRulesDir(){return path['join'](process['cwd'](),'.trayambak','rules');}function loadRulesFromDir(_0x470304){if(!_0x470304||!fs['existsSync'](_0x470304))return[];const _0x267972=[],_0x322abd=fs['readdirSync'](_0x470304,{'withFileTypes':!![]});for(const _0x48c96a of _0x322abd){if(!_0x48c96a['isFile']()||!_0x48c96a['name']['endsWith']('.md'))continue;const _0x1ee4e2=path['join'](_0x470304,_0x48c96a['name']);try{const _0x218127=fs['readFileSync'](_0x1ee4e2,'utf8'),_0xc3be5b=path['basename'](_0x48c96a['name'],path['extname'](_0x48c96a['name']));_0x267972['push']('###\x20'+_0xc3be5b+'\x0a'+_0x218127['trim']());}catch{}}return _0x267972['sort']();}function rulesBlock(_0x741a11){if(!_0x741a11||_0x741a11['length']===0x0)return'';return['Rules\x20(from\x20.trayambak/rules):',..._0x741a11]['join']('\x0a');}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3bcee8,_0x4481f5,_0x3a8d1,_0x4399db){if(_0x4399db===undefined)_0x4399db=_0x3a8d1;var _0xaa3353=Object['getOwnPropertyDescriptor'](_0x4481f5,_0x3a8d1);(!_0xaa3353||('get'in _0xaa3353?!_0x4481f5['__esModule']:_0xaa3353['writable']||_0xaa3353['configurable']))&&(_0xaa3353={'enumerable':!![],'get':function(){return _0x4481f5[_0x3a8d1];}}),Object['defineProperty'](_0x3bcee8,_0x4399db,_0xaa3353);}:function(_0x3053e4,_0x1993cf,_0x1036b2,_0x2fe5f9){if(_0x2fe5f9===undefined)_0x2fe5f9=_0x1036b2;_0x3053e4[_0x2fe5f9]=_0x1993cf[_0x1036b2];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x148aa6,_0x3c4fa4){Object['defineProperty'](_0x148aa6,'default',{'enumerable':!![],'value':_0x3c4fa4});}:function(_0x3e483e,_0x1a5508){_0x3e483e['default']=_0x1a5508;}),__importStar=this&&this['__importStar']||(function(){var _0x32169f=function(_0x77dc2d){return _0x32169f=Object['getOwnPropertyNames']||function(_0xb13e1e){var _0x1ce4c2=[];for(var _0x16b742 in _0xb13e1e)if(Object['prototype']['hasOwnProperty']['call'](_0xb13e1e,_0x16b742))_0x1ce4c2[_0x1ce4c2['length']]=_0x16b742;return _0x1ce4c2;},_0x32169f(_0x77dc2d);};return function(_0x213df9){if(_0x213df9&&_0x213df9['__esModule'])return _0x213df9;var _0x104ac4={};if(_0x213df9!=null){for(var _0x409531=_0x32169f(_0x213df9),_0x32a8a1=0x0;_0x32a8a1<_0x409531['length'];_0x32a8a1++)if(_0x409531[_0x32a8a1]!=='default')__createBinding(_0x104ac4,_0x213df9,_0x409531[_0x32a8a1]);}return __setModuleDefault(_0x104ac4,_0x213df9),_0x104ac4;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['sanitizeToolName']=sanitizeToolName,exports['customToolName']=customToolName,exports['isCustomToolExport']=isCustomToolExport,exports['normalizeParameters']=normalizeParameters,exports['createCustomTool']=createCustomTool,exports['customToolDirs']=customToolDirs,exports['discoverCustomToolFiles']=discoverCustomToolFiles,exports['loadCustomTools']=loadCustomTools,exports['registerCustomToolset']=registerCustomToolset;const fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path')),url_1=require('url'),toolsets_js_1=require('../../../../../packages/protocol/src/toolsets.js'),types_js_1=require('../types.js'),MAX_TOOL_NAME=0x40,PARAM_TYPES=new Set(['string','number','integer','boolean','array','object']),TOOL_EXTENSIONS=/\.(js|mjs|ts)$/,importImpl=process.env.VITEST?_0x3edaad=>Promise['resolve'](''+_0x3edaad)['then'](_0x20426a=>__importStar(require(_0x20426a))):new Function('specifier','return\x20import(specifier)');async function importToolModule(_0x1ae5c2){return await importImpl((0x0,url_1['pathToFileURL'])(_0x1ae5c2)['href']);}function sanitizeToolName(_0x743dc7){const _0x1f1340=_0x743dc7['replace'](/[^\w-]/g,'_')['slice'](0x0,MAX_TOOL_NAME);return _0x1f1340['length']>0x0?_0x1f1340:'custom_tool';}function customToolName(_0x30d03c,_0x2250b8){const _0x5900e3=path['basename'](_0x30d03c,path['extname'](_0x30d03c));return sanitizeToolName(_0x2250b8==='default'?_0x5900e3:_0x5900e3+'_'+_0x2250b8);}function isCustomToolExport(_0x4a0cc4){if(typeof _0x4a0cc4!=='object'||_0x4a0cc4===null)return![];const _0x471733=_0x4a0cc4;return'args'in _0x471733&&'description'in _0x471733&&'execute'in _0x471733&&typeof _0x471733['description']==='string'&&_0x471733['description']['length']>0x0&&typeof _0x471733['execute']==='function';}function coerceProperties(_0x3b44ed){const _0x370433={};if(typeof _0x3b44ed!=='object'||_0x3b44ed===null||Array['isArray'](_0x3b44ed))return _0x370433;for(const [_0xe0a8fb,_0x2c7ba6]of Object['entries'](_0x3b44ed)){if(typeof _0x2c7ba6!=='object'||_0x2c7ba6===null||Array['isArray'](_0x2c7ba6))continue;const _0x31f283=_0x2c7ba6;if(typeof _0x31f283['type']!=='string')continue;_0x370433[_0xe0a8fb]={..._0x31f283,'type':PARAM_TYPES['has'](_0x31f283['type'])?_0x31f283['type']:'string','description':typeof _0x31f283['description']==='string'?_0x31f283['description']:''};}return _0x370433;}function normalizeParameters(_0x699c5d){const _0x102527={'type':'object','properties':{},'required':[]};if(_0x699c5d===undefined||_0x699c5d===null)return _0x102527;if(typeof _0x699c5d!=='object'||Array['isArray'](_0x699c5d))return _0x102527;const _0x6ef9eb=_0x699c5d;if(_0x6ef9eb['type']==='object'){const _0x58c7f7=coerceProperties(_0x6ef9eb['properties']),_0x1b89a3=Array['isArray'](_0x6ef9eb['required'])?_0x6ef9eb['required']['filter'](_0xa76d2a=>typeof _0xa76d2a==='string'):Object['keys'](_0x58c7f7);return{'type':'object','properties':_0x58c7f7,'required':_0x1b89a3};}const _0x2daa75=coerceProperties(_0x6ef9eb);return{'type':'object','properties':_0x2daa75,'required':Object['keys'](_0x2daa75)};}function coerceResult(_0x26fb0a){if(typeof _0x26fb0a==='string')return(0x0,types_js_1['textResult'])(_0x26fb0a);if(_0x26fb0a===undefined||_0x26fb0a===null)return(0x0,types_js_1['textResult'])('');if(typeof _0x26fb0a==='object'){const _0x5d3eb7=_0x26fb0a;if(Array['isArray'](_0x5d3eb7['content'])){const _0x1c2fe9=_0x5d3eb7['content']['filter'](_0x36ce77=>typeof _0x36ce77==='object'&&_0x36ce77!==null&&_0x36ce77['type']==='text'&&typeof _0x36ce77['text']==='string');if(_0x1c2fe9['length']>0x0)return{'content':_0x1c2fe9,'isError':_0x5d3eb7['isError']===!![]};}if(typeof _0x5d3eb7['output']==='string')return(0x0,types_js_1['textResult'])(_0x5d3eb7['output']);try{return(0x0,types_js_1['textResult'])(JSON['stringify'](_0x26fb0a,null,0x2));}catch{return(0x0,types_js_1['textResult'])(String(_0x26fb0a));}}return(0x0,types_js_1['textResult'])(String(_0x26fb0a));}function createCustomTool(_0x54d53e,_0x42d2f3,_0x1f9111=new Set()){if(_0x1f9111['has'](_0x54d53e))return undefined;const _0x3c5a2e={'timeoutMs':0x7530,'name':_0x54d53e,'description':_0x42d2f3['description'],'parameters':normalizeParameters(_0x42d2f3['args'])};return{'definition':_0x3c5a2e,'execute':async(_0x31474c,_0x574626,_0x2b4f51,_0x2611f6,_0x27bf60)=>{try{const _0x1452c2={'cwd':_0x27bf60?.['cwd']??process['cwd'](),'sessionId':_0x27bf60?.['sessionId'],'signal':_0x2b4f51},_0x370310=await _0x42d2f3['execute'](_0x574626??{},_0x1452c2);return coerceResult(_0x370310);}catch(_0x34450a){const _0x3a62bd=_0x34450a instanceof Error?_0x34450a['message']:String(_0x34450a);return(0x0,types_js_1['textResult'])('Custom\x20tool\x20\x22'+_0x54d53e+'\x22\x20failed:\x20'+_0x3a62bd,!![]);}}};}function customToolDirs(_0x457716,_0x28f35d=os['homedir']()){return[path['join'](_0x457716,'.trayambak'),path['join'](_0x28f35d,'.trayambak')];}function discoverCustomToolFiles(_0x3d2f24){const _0x41cbdd=[];for(const _0x2cb049 of _0x3d2f24){for(const _0x43e7c9 of['tool','tools']){const _0xd4cd2f=path['join'](_0x2cb049,_0x43e7c9);let _0x20c5e4;try{_0x20c5e4=fs['readdirSync'](_0xd4cd2f,{'withFileTypes':!![]});}catch{continue;}for(const _0x4d74e9 of _0x20c5e4){if(_0x4d74e9['isDirectory']())continue;if(!TOOL_EXTENSIONS['test'](_0x4d74e9['name']))continue;_0x41cbdd['push'](path['join'](_0xd4cd2f,_0x4d74e9['name']));}}}return _0x41cbdd;}async function loadCustomTools(_0x11a88d){const _0x35af04=customToolDirs(_0x11a88d['cwd'],_0x11a88d['homeDir']),_0x2cd119=discoverCustomToolFiles(_0x35af04),_0x1f2a3e=new Set(_0x11a88d['reserved']??[]),_0x4eed99=[],_0x578b66=new Set();for(const _0x56ecad of _0x2cd119){let _0x3ba3af;try{_0x3ba3af=await importToolModule(_0x56ecad);}catch{continue;}for(const [_0x29d70e,_0x1ccd7e]of Object['entries'](_0x3ba3af)){if(!isCustomToolExport(_0x1ccd7e))continue;const _0x3a8dbc=customToolName(_0x56ecad,_0x29d70e);if(_0x578b66['has'](_0x3a8dbc))continue;const _0x1088a2=createCustomTool(_0x3a8dbc,_0x1ccd7e,_0x1f2a3e);if(!_0x1088a2)continue;_0x578b66['add'](_0x3a8dbc),_0x4eed99['push'](_0x1088a2);}}return _0x4eed99;}function registerCustomToolset(_0x36a0f3,_0x4fb559,_0x382d84){_0x36a0f3['registerToolset']({'name':'custom','description':'User-defined\x20tools\x20loaded\x20from\x20.trayambak/{tool,tools}','toolNames':[..._0x382d84],'checkFn':()=>!![]});const _0x37d6d6=_0x4fb559['toolsets']?.['defaults']?.['length']?_0x4fb559['toolsets']['defaults']:toolsets_js_1['DEFAULT_TOOLSETS'];!_0x37d6d6['includes']('custom')?_0x36a0f3['setCoreTools']([..._0x37d6d6,'custom']):_0x36a0f3['setCoreTools']([..._0x37d6d6]);}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3811ec,_0x3be5eb,_0x5098fb,_0x59feeb){if(_0x59feeb===undefined)_0x59feeb=_0x5098fb;var _0x9357a=Object['getOwnPropertyDescriptor'](_0x3be5eb,_0x5098fb);(!_0x9357a||('get'in _0x9357a?!_0x3be5eb['__esModule']:_0x9357a['writable']||_0x9357a['configurable']))&&(_0x9357a={'enumerable':!![],'get':function(){return _0x3be5eb[_0x5098fb];}}),Object['defineProperty'](_0x3811ec,_0x59feeb,_0x9357a);}:function(_0x2d8ce4,_0x3a2bb0,_0x3106f9,_0x32e251){if(_0x32e251===undefined)_0x32e251=_0x3106f9;_0x2d8ce4[_0x32e251]=_0x3a2bb0[_0x3106f9];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1a27aa,_0x204848){Object['defineProperty'](_0x1a27aa,'default',{'enumerable':!![],'value':_0x204848});}:function(_0x35c1b,_0x40586b){_0x35c1b['default']=_0x40586b;}),__importStar=this&&this['__importStar']||(function(){var _0x231f4b=function(_0x90d1ad){return _0x231f4b=Object['getOwnPropertyNames']||function(_0x1c3ffb){var _0x41e2fc=[];for(var _0x2dc382 in _0x1c3ffb)if(Object['prototype']['hasOwnProperty']['call'](_0x1c3ffb,_0x2dc382))_0x41e2fc[_0x41e2fc['length']]=_0x2dc382;return _0x41e2fc;},_0x231f4b(_0x90d1ad);};return function(_0x5d9563){if(_0x5d9563&&_0x5d9563['__esModule'])return _0x5d9563;var _0x5b3147={};if(_0x5d9563!=null){for(var _0x38d6c3=_0x231f4b(_0x5d9563),_0x3f3d0b=0x0;_0x3f3d0b<_0x38d6c3['length'];_0x3f3d0b++)if(_0x38d6c3[_0x3f3d0b]!=='default')__createBinding(_0x5b3147,_0x5d9563,_0x38d6c3[_0x3f3d0b]);}return __setModuleDefault(_0x5b3147,_0x5d9563),_0x5b3147;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['sanitizeToolName']=sanitizeToolName,exports['customToolName']=customToolName,exports['isCustomToolExport']=isCustomToolExport,exports['normalizeParameters']=normalizeParameters,exports['createCustomTool']=createCustomTool,exports['customToolDirs']=customToolDirs,exports['discoverCustomToolFiles']=discoverCustomToolFiles,exports['loadCustomTools']=loadCustomTools,exports['registerCustomToolset']=registerCustomToolset;const fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path')),url_1=require('url'),toolsets_js_1=require('../../../../../packages/protocol/src/toolsets.js'),types_js_1=require('../types.js'),MAX_TOOL_NAME=0x40,PARAM_TYPES=new Set(['string','number','integer','boolean','array','object']),TOOL_EXTENSIONS=/\.(js|mjs|ts)$/,importImpl=process.env.VITEST?_0x15ef62=>Promise['resolve'](''+_0x15ef62)['then'](_0x3ee2d6=>__importStar(require(_0x3ee2d6))):new Function('specifier','return\x20import(specifier)');async function importToolModule(_0x52d554){return await importImpl((0x0,url_1['pathToFileURL'])(_0x52d554)['href']);}function sanitizeToolName(_0x1264fd){const _0x1ab82c=_0x1264fd['replace'](/[^\w-]/g,'_')['slice'](0x0,MAX_TOOL_NAME);return _0x1ab82c['length']>0x0?_0x1ab82c:'custom_tool';}function customToolName(_0x1dd9c0,_0x25ed7c){const _0x17f943=path['basename'](_0x1dd9c0,path['extname'](_0x1dd9c0));return sanitizeToolName(_0x25ed7c==='default'?_0x17f943:_0x17f943+'_'+_0x25ed7c);}function isCustomToolExport(_0x3c6f99){if(typeof _0x3c6f99!=='object'||_0x3c6f99===null)return![];const _0x3f16d9=_0x3c6f99;return'args'in _0x3f16d9&&'description'in _0x3f16d9&&'execute'in _0x3f16d9&&typeof _0x3f16d9['description']==='string'&&_0x3f16d9['description']['length']>0x0&&typeof _0x3f16d9['execute']==='function';}function coerceProperties(_0x48cbd1){const _0x1160d9={};if(typeof _0x48cbd1!=='object'||_0x48cbd1===null||Array['isArray'](_0x48cbd1))return _0x1160d9;for(const [_0x20dba6,_0x1abf6d]of Object['entries'](_0x48cbd1)){if(typeof _0x1abf6d!=='object'||_0x1abf6d===null||Array['isArray'](_0x1abf6d))continue;const _0xaa17a6=_0x1abf6d;if(typeof _0xaa17a6['type']!=='string')continue;_0x1160d9[_0x20dba6]={..._0xaa17a6,'type':PARAM_TYPES['has'](_0xaa17a6['type'])?_0xaa17a6['type']:'string','description':typeof _0xaa17a6['description']==='string'?_0xaa17a6['description']:''};}return _0x1160d9;}function normalizeParameters(_0x398076){const _0x22f268={'type':'object','properties':{},'required':[]};if(_0x398076===undefined||_0x398076===null)return _0x22f268;if(typeof _0x398076!=='object'||Array['isArray'](_0x398076))return _0x22f268;const _0x4a4b75=_0x398076;if(_0x4a4b75['type']==='object'){const _0x4884c0=coerceProperties(_0x4a4b75['properties']),_0x261cf7=Array['isArray'](_0x4a4b75['required'])?_0x4a4b75['required']['filter'](_0x546143=>typeof _0x546143==='string'):Object['keys'](_0x4884c0);return{'type':'object','properties':_0x4884c0,'required':_0x261cf7};}const _0x1a3408=coerceProperties(_0x4a4b75);return{'type':'object','properties':_0x1a3408,'required':Object['keys'](_0x1a3408)};}function coerceResult(_0x453ab7){if(typeof _0x453ab7==='string')return(0x0,types_js_1['textResult'])(_0x453ab7);if(_0x453ab7===undefined||_0x453ab7===null)return(0x0,types_js_1['textResult'])('');if(typeof _0x453ab7==='object'){const _0x1a90fd=_0x453ab7;if(Array['isArray'](_0x1a90fd['content'])){const _0xce864a=_0x1a90fd['content']['filter'](_0x5de4ee=>typeof _0x5de4ee==='object'&&_0x5de4ee!==null&&_0x5de4ee['type']==='text'&&typeof _0x5de4ee['text']==='string');if(_0xce864a['length']>0x0)return{'content':_0xce864a,'isError':_0x1a90fd['isError']===!![]};}if(typeof _0x1a90fd['output']==='string')return(0x0,types_js_1['textResult'])(_0x1a90fd['output']);try{return(0x0,types_js_1['textResult'])(JSON['stringify'](_0x453ab7,null,0x2));}catch{return(0x0,types_js_1['textResult'])(String(_0x453ab7));}}return(0x0,types_js_1['textResult'])(String(_0x453ab7));}function createCustomTool(_0x519795,_0x32e1f0,_0x544c10=new Set()){if(_0x544c10['has'](_0x519795))return undefined;const _0x4253f7={'timeoutMs':0x7530,'name':_0x519795,'description':_0x32e1f0['description'],'parameters':normalizeParameters(_0x32e1f0['args'])};return{'definition':_0x4253f7,'execute':async(_0x56f214,_0x2bc69b,_0x25a7c8,_0xae244c,_0x4234fb)=>{try{const _0x8099fd={'cwd':_0x4234fb?.['cwd']??process['cwd'](),'sessionId':_0x4234fb?.['sessionId'],'signal':_0x25a7c8},_0x30075d=await _0x32e1f0['execute'](_0x2bc69b??{},_0x8099fd);return coerceResult(_0x30075d);}catch(_0x248e8f){const _0x49ee43=_0x248e8f instanceof Error?_0x248e8f['message']:String(_0x248e8f);return(0x0,types_js_1['textResult'])('Custom\x20tool\x20\x22'+_0x519795+'\x22\x20failed:\x20'+_0x49ee43,!![]);}}};}function customToolDirs(_0x5c3697,_0x542f37=os['homedir']()){return[path['join'](_0x5c3697,'.trayambak'),path['join'](_0x542f37,'.trayambak')];}function discoverCustomToolFiles(_0x3afd4c){const _0xc3bf8f=[];for(const _0x2b8dc6 of _0x3afd4c){for(const _0x1bda99 of['tool','tools']){const _0x1e4b10=path['join'](_0x2b8dc6,_0x1bda99);let _0x56bb77;try{_0x56bb77=fs['readdirSync'](_0x1e4b10,{'withFileTypes':!![]});}catch{continue;}for(const _0xfb5051 of _0x56bb77){if(_0xfb5051['isDirectory']())continue;if(!TOOL_EXTENSIONS['test'](_0xfb5051['name']))continue;_0xc3bf8f['push'](path['join'](_0x1e4b10,_0xfb5051['name']));}}}return _0xc3bf8f;}async function loadCustomTools(_0x1a31f8){const _0x319be4=customToolDirs(_0x1a31f8['cwd'],_0x1a31f8['homeDir']),_0x5deaf4=discoverCustomToolFiles(_0x319be4),_0x414972=new Set(_0x1a31f8['reserved']??[]),_0x5f5157=[],_0xbd8750=new Set();for(const _0x358313 of _0x5deaf4){let _0x5eb653;try{_0x5eb653=await importToolModule(_0x358313);}catch{continue;}for(const [_0x23581b,_0x152965]of Object['entries'](_0x5eb653)){if(!isCustomToolExport(_0x152965))continue;const _0x34f6fa=customToolName(_0x358313,_0x23581b);if(_0xbd8750['has'](_0x34f6fa))continue;const _0x1680d0=createCustomTool(_0x34f6fa,_0x152965,_0x414972);if(!_0x1680d0)continue;_0xbd8750['add'](_0x34f6fa),_0x5f5157['push'](_0x1680d0);}}return _0x5f5157;}function registerCustomToolset(_0x1b1d14,_0x256432,_0x5b8d09){_0x1b1d14['registerToolset']({'name':'custom','description':'User-defined\x20tools\x20loaded\x20from\x20.trayambak/{tool,tools}','toolNames':[..._0x5b8d09],'checkFn':()=>!![]});const _0x2140e2=_0x256432['toolsets']?.['defaults']?.['length']?_0x256432['toolsets']['defaults']:toolsets_js_1['DEFAULT_TOOLSETS'];!_0x2140e2['includes']('custom')?_0x1b1d14['setCoreTools']([..._0x2140e2,'custom']):_0x1b1d14['setCoreTools']([..._0x2140e2]);}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x51f0e1,_0x504956,_0x190fe6,_0x3af6c3){if(_0x3af6c3===undefined)_0x3af6c3=_0x190fe6;var _0xc730c4=Object['getOwnPropertyDescriptor'](_0x504956,_0x190fe6);(!_0xc730c4||('get'in _0xc730c4?!_0x504956['__esModule']:_0xc730c4['writable']||_0xc730c4['configurable']))&&(_0xc730c4={'enumerable':!![],'get':function(){return _0x504956[_0x190fe6];}}),Object['defineProperty'](_0x51f0e1,_0x3af6c3,_0xc730c4);}:function(_0x1789e4,_0x1a3556,_0x3feb62,_0x45f759){if(_0x45f759===undefined)_0x45f759=_0x3feb62;_0x1789e4[_0x45f759]=_0x1a3556[_0x3feb62];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2bae58,_0x187be3){Object['defineProperty'](_0x2bae58,'default',{'enumerable':!![],'value':_0x187be3});}:function(_0x28e358,_0x21661a){_0x28e358['default']=_0x21661a;}),__importStar=this&&this['__importStar']||(function(){var _0x1ba704=function(_0x4b5a82){return _0x1ba704=Object['getOwnPropertyNames']||function(_0x517d39){var _0x65a73=[];for(var _0x280fa2 in _0x517d39)if(Object['prototype']['hasOwnProperty']['call'](_0x517d39,_0x280fa2))_0x65a73[_0x65a73['length']]=_0x280fa2;return _0x65a73;},_0x1ba704(_0x4b5a82);};return function(_0x1ecb33){if(_0x1ecb33&&_0x1ecb33['__esModule'])return _0x1ecb33;var _0x3a6aa0={};if(_0x1ecb33!=null){for(var _0x532f53=_0x1ba704(_0x1ecb33),_0x341baf=0x0;_0x341baf<_0x532f53['length'];_0x341baf++)if(_0x532f53[_0x341baf]!=='default')__createBinding(_0x3a6aa0,_0x1ecb33,_0x532f53[_0x341baf]);}return __setModuleDefault(_0x3a6aa0,_0x1ecb33),_0x3a6aa0;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resetDiagnosticsCache']=resetDiagnosticsCache,exports['resolveTscBin']=resolveTscBin,exports['collectDiagnostics']=collectDiagnostics,exports['createDiagnosticsTool']=createDiagnosticsTool;const child_process_1=require('child_process'),fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),tsc_diagnostics_js_1=require('./tsc-diagnostics.js'),TSC_TIMEOUT_MS=0xafc8,CACHE_TTL_MS=0x2710,MAX_TSC_OUTPUT_BYTES=0x14*0x400*0x400,MAX_STDERR_BYTES=0x400*0x400;let cache;function resetDiagnosticsCache(){cache=undefined;}function resolveTscBin(_0x1acb86){let _0x317313=path['resolve'](_0x1acb86);for(;;){const _0x5bf121=path['join'](_0x317313,'node_modules','typescript','bin','tsc');if(fs['existsSync'](_0x5bf121))return _0x5bf121;const _0x5df963=path['dirname'](_0x317313);if(_0x5df963===_0x317313)break;_0x317313=_0x5df963;}try{if(typeof __dirname!=='undefined'){const _0x54b4ea=path['resolve'](__dirname,'..','..','..','..','..','..','node_modules','typescript','bin','tsc');if(fs['existsSync'](_0x54b4ea))return _0x54b4ea;}}catch{}return undefined;}function runTsc(_0x35711b,_0x46ca99,_0x196bed,_0x5932fc){return new Promise(_0x2331e5=>{if(_0x5932fc?.['aborted']){_0x2331e5({'code':null,'stdout':'','stderr':'','timedOut':![],'aborted':!![]});return;}let _0x483a07;try{_0x483a07=(0x0,child_process_1['spawn'])(process['execPath'],[_0x35711b,'--noEmit','--pretty','false','-p',_0x196bed],{'cwd':_0x46ca99,'windowsHide':!![],'stdio':['ignore','pipe','pipe']});}catch(_0x4f8ab3){_0x2331e5({'code':null,'stdout':'','stderr':String(_0x4f8ab3),'timedOut':![],'aborted':![]});return;}let _0x44c65a='',_0x4f71dc='',_0xb6a9ef=![];const _0x4adce7=_0x400887=>{if(_0xb6a9ef)return;_0xb6a9ef=!![],clearTimeout(_0x2aa8a3),_0x5932fc?.['removeEventListener']('abort',_0x219fa6),_0x2331e5(_0x400887);},_0x2aa8a3=setTimeout(()=>{_0x483a07['kill'](),_0x4adce7({'code':null,'stdout':_0x44c65a,'stderr':_0x4f71dc,'timedOut':!![],'aborted':![]});},TSC_TIMEOUT_MS),_0x219fa6=()=>{_0x483a07['kill'](),_0x4adce7({'code':null,'stdout':_0x44c65a,'stderr':_0x4f71dc,'timedOut':![],'aborted':!![]});};_0x5932fc?.['addEventListener']('abort',_0x219fa6,{'once':!![]}),_0x483a07['stdout']?.['on']('data',_0x4c9a2e=>{if(_0x44c65a['length']<MAX_TSC_OUTPUT_BYTES)_0x44c65a+=_0x4c9a2e['toString']('utf8');}),_0x483a07['stderr']?.['on']('data',_0x24a380=>{if(_0x4f71dc['length']<MAX_STDERR_BYTES)_0x4f71dc+=_0x24a380['toString']('utf8');}),_0x483a07['on']('error',_0x307a69=>{_0x4adce7({'code':null,'stdout':_0x44c65a,'stderr':''+_0x4f71dc+_0x307a69['message'],'timedOut':![],'aborted':![]});}),_0x483a07['on']('close',_0x146c18=>{_0x4adce7({'code':_0x146c18,'stdout':_0x44c65a,'stderr':_0x4f71dc,'timedOut':![],'aborted':![]});});});}async function collectDiagnostics(_0x41248a,_0x4ff128=![],_0x3d28be){const _0x55ee16=(0x0,tsc_diagnostics_js_1['findUp'])('tsconfig.json',_0x41248a);if(!_0x55ee16)return{'ok':![],'reason':'no\x20tsconfig.json\x20found\x20from\x20'+_0x41248a+'\x20—\x20diagnostics\x20require\x20a\x20TypeScript\x20project'};const _0x47a246=path['dirname'](_0x55ee16);if(!_0x4ff128&&cache&&cache['tsconfigPath']===_0x55ee16&&Date['now']()-cache['at']<CACHE_TTL_MS)return{'ok':!![],'snapshot':cache['snapshot']};const _0x1b2c07=resolveTscBin(_0x41248a);if(!_0x1b2c07)return{'ok':![],'reason':'typescript\x20is\x20not\x20installed\x20(no\x20node_modules/typescript)\x20—\x20cannot\x20run\x20tsc'};const _0x106073=await runTsc(_0x1b2c07,_0x47a246,_0x55ee16,_0x3d28be);if(_0x106073['aborted'])return{'ok':![],'reason':'aborted'};if(_0x106073['timedOut'])return{'ok':![],'reason':'tsc\x20timed\x20out\x20after\x20'+Math['round'](TSC_TIMEOUT_MS/0x3e8)+'s'};if(_0x106073['code']===null&&!_0x106073['stdout'])return{'ok':![],'reason':'tsc\x20failed\x20to\x20start:\x20'+(_0x106073['stderr']['trim']()||'unknown\x20error')};const {diagnostics:_0xbb604,unlocated:_0x40e62c}=(0x0,tsc_diagnostics_js_1['parseTscOutput'])(_0x106073['stdout'],_0x47a246),_0x46ae93={'tsconfigPath':_0x55ee16,'projectRoot':_0x47a246,'diagnostics':_0xbb604,'unlocated':_0x40e62c,'generatedAt':Date['now']()};return cache={'tsconfigPath':_0x55ee16,'at':_0x46ae93['generatedAt'],'snapshot':_0x46ae93},{'ok':!![],'snapshot':_0x46ae93};}const definition={'timeoutMs':0x7530,'name':'diagnostics','description':'Run\x20the\x20TypeScript\x20compiler\x20(tsc\x20--noEmit)\x20and\x20report\x20diagnostics\x20(errors/warnings)\x20per\x20file.\x20Use\x20after\x20making\x20code\x20changes\x20to\x20verify\x20they\x20compile;\x20optionally\x20filter\x20to\x20specific\x20files.\x20Results\x20are\x20cached\x20for\x20a\x20few\x20seconds.','parameters':{'type':'object','required':[],'properties':{'files':{'type':'array','items':{'type':'string','description':'Path\x20to\x20a\x20file\x20(relative\x20or\x20absolute).'},'description':'Only\x20report\x20these\x20files\x20(relative\x20or\x20absolute\x20paths).\x20Default:\x20whole\x20project.'},'refresh':{'type':'boolean','description':'Force\x20a\x20fresh\x20tsc\x20run\x20instead\x20of\x20reusing\x20the\x20recent\x20cache.'}}}};function createDiagnosticsTool(){return{'definition':definition,async 'execute'(_0x12d6c7,_0x16f3aa,_0x569fe8,_0x3b14e3,_0x4dbe6e){const _0x3c6495=_0x4dbe6e?.['cwd']??process['cwd'](),_0x1a1143=Array['isArray'](_0x16f3aa['files'])?_0x16f3aa['files']['map'](String):[],_0x161384=Boolean(_0x16f3aa['refresh']),_0x5c3b5a=await collectDiagnostics(_0x3c6495,_0x161384,_0x569fe8);if(!_0x5c3b5a['ok'])return(0x0,types_js_1['textResult'])('Diagnostics\x20unavailable:\x20'+_0x5c3b5a['reason']+'.');const _0x41d739=(0x0,tsc_diagnostics_js_1['pickFiles'])(_0x5c3b5a['snapshot']['diagnostics'],_0x1a1143,_0x3c6495),_0x1f7854=Object['entries'](_0x41d739)['sort'](([_0x5160e8],[_0x499e8d])=>_0x5160e8['localeCompare'](_0x499e8d));let _0x130e0f=0x0,_0x4abc83=0x0;const _0x8333a2=[];for(const [_0xa7b019,_0x231eb7]of _0x1f7854){for(const _0x9feb10 of _0x231eb7){if(_0x9feb10['severity']===0x1)_0x130e0f+=0x1;else{if(_0x9feb10['severity']===0x2)_0x4abc83+=0x1;}}const _0xa8f336=(0x0,tsc_diagnostics_js_1['report'])(_0xa7b019,_0x231eb7);if(_0xa8f336)_0x8333a2['push'](_0xa8f336);}const _0x6a4e18=_0x1a1143['length']>0x0?'\x20(filtered\x20to\x20'+_0x1a1143['length']+'\x20path(s))':'',_0x4743d5=_0x1a1143['length']===0x0&&_0x5c3b5a['snapshot']['unlocated']['length']>0x0?',\x20'+_0x5c3b5a['snapshot']['unlocated']['length']+'\x20project-level\x20message(s)':'',_0x1749a6='Diagnostics:\x20'+_0x130e0f+'\x20error(s),\x20'+_0x4abc83+'\x20warning(s)\x20across\x20'+_0x1f7854['length']+'\x20file(s)'+_0x4743d5+_0x6a4e18+'.',_0x3582f9=[_0x1749a6];if(_0x8333a2['length']>0x0)_0x3582f9['push']('',_0x8333a2['join']('\x0a\x0a'));return _0x1a1143['length']===0x0&&_0x5c3b5a['snapshot']['unlocated']['length']>0x0&&_0x3582f9['push']('','Project-level:',..._0x5c3b5a['snapshot']['unlocated']['slice'](0x0,tsc_diagnostics_js_1['DIAGNOSTICS_MAX_PER_FILE'])),_0x1a1143['length']>0x0&&_0x1f7854['length']===0x0&&_0x5c3b5a['snapshot']['unlocated']['length']===0x0&&_0x3582f9['push']('','No\x20diagnostics\x20for:\x20'+_0x1a1143['join'](',\x20')),(0x0,types_js_1['textResult'])(_0x3582f9['join']('\x0a'));}};}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x13eed0,_0x32b8ac,_0x3e7e3b,_0x24afe7){if(_0x24afe7===undefined)_0x24afe7=_0x3e7e3b;var _0x4b9b6e=Object['getOwnPropertyDescriptor'](_0x32b8ac,_0x3e7e3b);(!_0x4b9b6e||('get'in _0x4b9b6e?!_0x32b8ac['__esModule']:_0x4b9b6e['writable']||_0x4b9b6e['configurable']))&&(_0x4b9b6e={'enumerable':!![],'get':function(){return _0x32b8ac[_0x3e7e3b];}}),Object['defineProperty'](_0x13eed0,_0x24afe7,_0x4b9b6e);}:function(_0x49b04b,_0x5f3868,_0x4f1abf,_0x4297b9){if(_0x4297b9===undefined)_0x4297b9=_0x4f1abf;_0x49b04b[_0x4297b9]=_0x5f3868[_0x4f1abf];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x40a3ab,_0x1c08f3){Object['defineProperty'](_0x40a3ab,'default',{'enumerable':!![],'value':_0x1c08f3});}:function(_0x4e3ceb,_0x24bd37){_0x4e3ceb['default']=_0x24bd37;}),__importStar=this&&this['__importStar']||(function(){var _0x2f66d4=function(_0x404fb1){return _0x2f66d4=Object['getOwnPropertyNames']||function(_0x5adbc1){var _0x50bba6=[];for(var _0x5adeb7 in _0x5adbc1)if(Object['prototype']['hasOwnProperty']['call'](_0x5adbc1,_0x5adeb7))_0x50bba6[_0x50bba6['length']]=_0x5adeb7;return _0x50bba6;},_0x2f66d4(_0x404fb1);};return function(_0x3b058d){if(_0x3b058d&&_0x3b058d['__esModule'])return _0x3b058d;var _0x1ddd30={};if(_0x3b058d!=null){for(var _0x3102b6=_0x2f66d4(_0x3b058d),_0x216407=0x0;_0x216407<_0x3102b6['length'];_0x216407++)if(_0x3102b6[_0x216407]!=='default')__createBinding(_0x1ddd30,_0x3b058d,_0x3102b6[_0x216407]);}return __setModuleDefault(_0x1ddd30,_0x3b058d),_0x1ddd30;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['resetDiagnosticsCache']=resetDiagnosticsCache,exports['resolveTscBin']=resolveTscBin,exports['collectDiagnostics']=collectDiagnostics,exports['createDiagnosticsTool']=createDiagnosticsTool;const child_process_1=require('child_process'),fs=__importStar(require('fs')),path=__importStar(require('path')),types_js_1=require('../types.js'),tsc_diagnostics_js_1=require('./tsc-diagnostics.js'),TSC_TIMEOUT_MS=0xafc8,CACHE_TTL_MS=0x2710,MAX_TSC_OUTPUT_BYTES=0x14*0x400*0x400,MAX_STDERR_BYTES=0x400*0x400;let cache;function resetDiagnosticsCache(){cache=undefined;}function resolveTscBin(_0x582294){let _0x3a403d=path['resolve'](_0x582294);for(;;){const _0x43facc=path['join'](_0x3a403d,'node_modules','typescript','bin','tsc');if(fs['existsSync'](_0x43facc))return _0x43facc;const _0x118669=path['dirname'](_0x3a403d);if(_0x118669===_0x3a403d)break;_0x3a403d=_0x118669;}try{if(typeof __dirname!=='undefined'){const _0x34b294=path['resolve'](__dirname,'..','..','..','..','..','..','node_modules','typescript','bin','tsc');if(fs['existsSync'](_0x34b294))return _0x34b294;}}catch{}return undefined;}function runTsc(_0x3fcf6e,_0x1bf181,_0x297b06,_0x3cdb1a){return new Promise(_0x31c50b=>{if(_0x3cdb1a?.['aborted']){_0x31c50b({'code':null,'stdout':'','stderr':'','timedOut':![],'aborted':!![]});return;}let _0x2f68ee;try{_0x2f68ee=(0x0,child_process_1['spawn'])(process['execPath'],[_0x3fcf6e,'--noEmit','--pretty','false','-p',_0x297b06],{'cwd':_0x1bf181,'windowsHide':!![],'stdio':['ignore','pipe','pipe']});}catch(_0x264ffb){_0x31c50b({'code':null,'stdout':'','stderr':String(_0x264ffb),'timedOut':![],'aborted':![]});return;}let _0x524064='',_0x3d021e='',_0x597973=![];const _0x503e51=_0x72ec04=>{if(_0x597973)return;_0x597973=!![],clearTimeout(_0x2b42b8),_0x3cdb1a?.['removeEventListener']('abort',_0x130781),_0x31c50b(_0x72ec04);},_0x2b42b8=setTimeout(()=>{_0x2f68ee['kill'](),_0x503e51({'code':null,'stdout':_0x524064,'stderr':_0x3d021e,'timedOut':!![],'aborted':![]});},TSC_TIMEOUT_MS),_0x130781=()=>{_0x2f68ee['kill'](),_0x503e51({'code':null,'stdout':_0x524064,'stderr':_0x3d021e,'timedOut':![],'aborted':!![]});};_0x3cdb1a?.['addEventListener']('abort',_0x130781,{'once':!![]}),_0x2f68ee['stdout']?.['on']('data',_0x396277=>{if(_0x524064['length']<MAX_TSC_OUTPUT_BYTES)_0x524064+=_0x396277['toString']('utf8');}),_0x2f68ee['stderr']?.['on']('data',_0x3ee45e=>{if(_0x3d021e['length']<MAX_STDERR_BYTES)_0x3d021e+=_0x3ee45e['toString']('utf8');}),_0x2f68ee['on']('error',_0x5793b1=>{_0x503e51({'code':null,'stdout':_0x524064,'stderr':''+_0x3d021e+_0x5793b1['message'],'timedOut':![],'aborted':![]});}),_0x2f68ee['on']('close',_0x4ea0a1=>{_0x503e51({'code':_0x4ea0a1,'stdout':_0x524064,'stderr':_0x3d021e,'timedOut':![],'aborted':![]});});});}async function collectDiagnostics(_0x451f84,_0x1b5129=![],_0x10b541){const _0x2d59ad=(0x0,tsc_diagnostics_js_1['findUp'])('tsconfig.json',_0x451f84);if(!_0x2d59ad)return{'ok':![],'reason':'no\x20tsconfig.json\x20found\x20from\x20'+_0x451f84+'\x20—\x20diagnostics\x20require\x20a\x20TypeScript\x20project'};const _0x104a8c=path['dirname'](_0x2d59ad);if(!_0x1b5129&&cache&&cache['tsconfigPath']===_0x2d59ad&&Date['now']()-cache['at']<CACHE_TTL_MS)return{'ok':!![],'snapshot':cache['snapshot']};const _0x7b72e5=resolveTscBin(_0x451f84);if(!_0x7b72e5)return{'ok':![],'reason':'typescript\x20is\x20not\x20installed\x20(no\x20node_modules/typescript)\x20—\x20cannot\x20run\x20tsc'};const _0x3403ea=await runTsc(_0x7b72e5,_0x104a8c,_0x2d59ad,_0x10b541);if(_0x3403ea['aborted'])return{'ok':![],'reason':'aborted'};if(_0x3403ea['timedOut'])return{'ok':![],'reason':'tsc\x20timed\x20out\x20after\x20'+Math['round'](TSC_TIMEOUT_MS/0x3e8)+'s'};if(_0x3403ea['code']===null&&!_0x3403ea['stdout'])return{'ok':![],'reason':'tsc\x20failed\x20to\x20start:\x20'+(_0x3403ea['stderr']['trim']()||'unknown\x20error')};const {diagnostics:_0x296fec,unlocated:_0x50b218}=(0x0,tsc_diagnostics_js_1['parseTscOutput'])(_0x3403ea['stdout'],_0x104a8c),_0x50cf20={'tsconfigPath':_0x2d59ad,'projectRoot':_0x104a8c,'diagnostics':_0x296fec,'unlocated':_0x50b218,'generatedAt':Date['now']()};return cache={'tsconfigPath':_0x2d59ad,'at':_0x50cf20['generatedAt'],'snapshot':_0x50cf20},{'ok':!![],'snapshot':_0x50cf20};}const definition={'timeoutMs':0x7530,'name':'diagnostics','description':'Run\x20the\x20TypeScript\x20compiler\x20(tsc\x20--noEmit)\x20and\x20report\x20diagnostics\x20(errors/warnings)\x20per\x20file.\x20Use\x20after\x20making\x20code\x20changes\x20to\x20verify\x20they\x20compile;\x20optionally\x20filter\x20to\x20specific\x20files.\x20Results\x20are\x20cached\x20for\x20a\x20few\x20seconds.','parameters':{'type':'object','required':[],'properties':{'files':{'type':'array','items':{'type':'string','description':'Path\x20to\x20a\x20file\x20(relative\x20or\x20absolute).'},'description':'Only\x20report\x20these\x20files\x20(relative\x20or\x20absolute\x20paths).\x20Default:\x20whole\x20project.'},'refresh':{'type':'boolean','description':'Force\x20a\x20fresh\x20tsc\x20run\x20instead\x20of\x20reusing\x20the\x20recent\x20cache.'}}}};function createDiagnosticsTool(){return{'definition':definition,async 'execute'(_0xab58d8,_0x24bb3b,_0x5d1d04,_0x553f0b,_0x132389){const _0x5a7531=_0x132389?.['cwd']??process['cwd'](),_0x704d38=Array['isArray'](_0x24bb3b['files'])?_0x24bb3b['files']['map'](String):[],_0x407904=Boolean(_0x24bb3b['refresh']),_0x4acd7f=await collectDiagnostics(_0x5a7531,_0x407904,_0x5d1d04);if(!_0x4acd7f['ok'])return(0x0,types_js_1['textResult'])('Diagnostics\x20unavailable:\x20'+_0x4acd7f['reason']+'.');const _0x540ac8=(0x0,tsc_diagnostics_js_1['pickFiles'])(_0x4acd7f['snapshot']['diagnostics'],_0x704d38,_0x5a7531),_0x5a26d4=Object['entries'](_0x540ac8)['sort'](([_0x248813],[_0x3ec8ca])=>_0x248813['localeCompare'](_0x3ec8ca));let _0x3bce1c=0x0,_0xa9fd40=0x0;const _0x3ce0f4=[];for(const [_0x191dc5,_0x20b67c]of _0x5a26d4){for(const _0x3752cd of _0x20b67c){if(_0x3752cd['severity']===0x1)_0x3bce1c+=0x1;else{if(_0x3752cd['severity']===0x2)_0xa9fd40+=0x1;}}const _0x3e9b08=(0x0,tsc_diagnostics_js_1['report'])(_0x191dc5,_0x20b67c);if(_0x3e9b08)_0x3ce0f4['push'](_0x3e9b08);}const _0x368fae=_0x704d38['length']>0x0?'\x20(filtered\x20to\x20'+_0x704d38['length']+'\x20path(s))':'',_0xe81b6c=_0x704d38['length']===0x0&&_0x4acd7f['snapshot']['unlocated']['length']>0x0?',\x20'+_0x4acd7f['snapshot']['unlocated']['length']+'\x20project-level\x20message(s)':'',_0x54f3cf='Diagnostics:\x20'+_0x3bce1c+'\x20error(s),\x20'+_0xa9fd40+'\x20warning(s)\x20across\x20'+_0x5a26d4['length']+'\x20file(s)'+_0xe81b6c+_0x368fae+'.',_0xbccb=[_0x54f3cf];if(_0x3ce0f4['length']>0x0)_0xbccb['push']('',_0x3ce0f4['join']('\x0a\x0a'));return _0x704d38['length']===0x0&&_0x4acd7f['snapshot']['unlocated']['length']>0x0&&_0xbccb['push']('','Project-level:',..._0x4acd7f['snapshot']['unlocated']['slice'](0x0,tsc_diagnostics_js_1['DIAGNOSTICS_MAX_PER_FILE'])),_0x704d38['length']>0x0&&_0x5a26d4['length']===0x0&&_0x4acd7f['snapshot']['unlocated']['length']===0x0&&_0xbccb['push']('','No\x20diagnostics\x20for:\x20'+_0x704d38['join'](',\x20')),(0x0,types_js_1['textResult'])(_0xbccb['join']('\x0a'));}};}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3b8a72,_0x239c05,_0x5ce539,_0x3aa32a){if(_0x3aa32a===undefined)_0x3aa32a=_0x5ce539;var _0x41c1b5=Object['getOwnPropertyDescriptor'](_0x239c05,_0x5ce539);(!_0x41c1b5||('get'in _0x41c1b5?!_0x239c05['__esModule']:_0x41c1b5['writable']||_0x41c1b5['configurable']))&&(_0x41c1b5={'enumerable':!![],'get':function(){return _0x239c05[_0x5ce539];}}),Object['defineProperty'](_0x3b8a72,_0x3aa32a,_0x41c1b5);}:function(_0x41eb82,_0x2ed4cb,_0x17098f,_0x5b051c){if(_0x5b051c===undefined)_0x5b051c=_0x17098f;_0x41eb82[_0x5b051c]=_0x2ed4cb[_0x17098f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x343f4d,_0x2ae36c){Object['defineProperty'](_0x343f4d,'default',{'enumerable':!![],'value':_0x2ae36c});}:function(_0x55b795,_0x4d874b){_0x55b795['default']=_0x4d874b;}),__importStar=this&&this['__importStar']||(function(){var _0x495e38=function(_0x7cbf90){return _0x495e38=Object['getOwnPropertyNames']||function(_0xb7432){var _0x1b4be0=[];for(var _0x54c89b in _0xb7432)if(Object['prototype']['hasOwnProperty']['call'](_0xb7432,_0x54c89b))_0x1b4be0[_0x1b4be0['length']]=_0x54c89b;return _0x1b4be0;},_0x495e38(_0x7cbf90);};return function(_0x29bc33){if(_0x29bc33&&_0x29bc33['__esModule'])return _0x29bc33;var _0x5384d9={};if(_0x29bc33!=null){for(var _0x392a4a=_0x495e38(_0x29bc33),_0x5b1c4a=0x0;_0x5b1c4a<_0x392a4a['length'];_0x5b1c4a++)if(_0x392a4a[_0x5b1c4a]!=='default')__createBinding(_0x5384d9,_0x29bc33,_0x392a4a[_0x5b1c4a]);}return __setModuleDefault(_0x5384d9,_0x29bc33),_0x5384d9;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DIAGNOSTICS_MAX_PER_FILE']=void 0x0,exports['pretty']=pretty,exports['report']=report,exports['filterDiagnostics']=filterDiagnostics,exports['diagnosticsPathKey']=diagnosticsPathKey,exports['pickFiles']=pickFiles,exports['parseTscOutput']=parseTscOutput,exports['isCheckableFile']=isCheckableFile,exports['syntaxDiagnostics']=syntaxDiagnostics,exports['syntaxNote']=syntaxNote,exports['findUp']=findUp;const fs=__importStar(require('fs')),path=__importStar(require('path')),SEVERITY_LABEL={0x1:'ERROR',0x2:'WARN',0x3:'INFO',0x4:'HINT'};exports['DIAGNOSTICS_MAX_PER_FILE']=0x14;const MAX_SYNTAX_CHECK_BYTES=0xf4240;function pretty(_0x4263ba){const _0x719541=SEVERITY_LABEL[_0x4263ba['severity']||0x1]??'ERROR',_0x432cc9=_0x4263ba['range']['start']['line']+0x1,_0x1fa24d=_0x4263ba['range']['start']['character']+0x1;return _0x719541+'\x20['+_0x432cc9+':'+_0x1fa24d+']\x20'+_0x4263ba['message'];}function report(_0x67023a,_0x3765cb){const _0x3e07ab=_0x3765cb['filter'](_0xd6a78b=>_0xd6a78b['severity']===0x1);if(_0x3e07ab['length']===0x0)return'';const _0x5912fe=_0x3e07ab['slice'](0x0,exports['DIAGNOSTICS_MAX_PER_FILE']),_0x446171=_0x3e07ab['length']-exports['DIAGNOSTICS_MAX_PER_FILE'],_0x114c75=_0x446171>0x0?'\x0a...\x20and\x20'+_0x446171+'\x20more':'';return'<diagnostics\x20file=\x22'+_0x67023a+'\x22>\x0a'+_0x5912fe['map'](pretty)['join']('\x0a')+_0x114c75+'\x0a</diagnostics>';}function filterDiagnostics(_0x56afef,_0x23fcfe){const _0x3832a6={};for(const _0x4e943f of _0x23fcfe){const _0x328bd8=_0x56afef[_0x4e943f];if(_0x328bd8)_0x3832a6[_0x4e943f]=_0x328bd8;}return _0x3832a6;}function diagnosticsPathKey(_0x12860d,_0x238cdb){const _0x248e77=path['resolve'](_0x238cdb,_0x12860d);return process['platform']==='win32'?_0x248e77['replace'](/\//g,'\x5c')['toLowerCase']():_0x248e77;}function pickFiles(_0x3b9045,_0x56fa8e,_0x110757){if(_0x56fa8e['length']===0x0)return _0x3b9045;const _0x4a039b=new Set(_0x56fa8e['map'](_0x5d90b6=>diagnosticsPathKey(_0x5d90b6,_0x110757))),_0x3d2f59={};for(const [_0x42a4ab,_0x321c5a]of Object['entries'](_0x3b9045)){if(_0x4a039b['has'](diagnosticsPathKey(_0x42a4ab,_0x110757)))_0x3d2f59[_0x42a4ab]=_0x321c5a;}return _0x3d2f59;}const TSC_LINE=/^(.+?)\((\d+),(\d+)\):\s+(error|warning|message|info)\s+(TS\d+):\s*(.*)$/i,TSC_GLOBAL=/^(error|warning|message|info)\s+(TS\d+):\s*(.*)$/i,KIND_SEVERITY={'error':0x1,'warning':0x2,'info':0x3,'message':0x4};function parseTscOutput(_0x405373,_0x3c575b){const _0xb3baef={},_0x122c3b=[],_0x4bb178=new Map();let _0x590ee1;for(const _0x2a9930 of _0x405373['split'](/\r?\n/)){if(_0x2a9930['trim']()===''){_0x590ee1=undefined;continue;}const _0x487a59=TSC_LINE['exec'](_0x2a9930);if(_0x487a59){const [,_0x45dc44,_0xdfc52a,_0x2dfe91,_0x34031e,_0x5deed7,_0x5436c1]=_0x487a59,_0x152e62=path['isAbsolute'](_0x45dc44)?path['normalize'](_0x45dc44):path['resolve'](_0x3c575b,_0x45dc44),_0x2a6643=diagnosticsPathKey(_0x152e62,_0x3c575b),_0x19b7d5=_0x4bb178['get'](_0x2a6643)??_0x152e62;_0x4bb178['set'](_0x2a6643,_0x19b7d5);const _0x12f993=_0xb3baef[_0x19b7d5]??=[];_0x12f993['push']({'range':{'start':{'line':Number(_0xdfc52a)-0x1,'character':Number(_0x2dfe91)-0x1}},'severity':KIND_SEVERITY[_0x34031e['toLowerCase']()]??0x1,'message':_0x5deed7['toUpperCase']()+':\x20'+_0x5436c1,'code':_0x5deed7['toUpperCase'](),'source':'tsc'}),_0x590ee1=_0x12f993;continue;}const _0x16f2a3=TSC_GLOBAL['exec'](_0x2a9930);if(_0x16f2a3){_0x122c3b['push'](_0x2a9930['trim']()),_0x590ee1=undefined;continue;}if(_0x590ee1?.['length']&&/^\s/['test'](_0x2a9930)){const _0x5d10c6=_0x590ee1[_0x590ee1['length']-0x1];_0x5d10c6['message']+='\x20'+_0x2a9930['trim']();}}return{'diagnostics':_0xb3baef,'unlocated':_0x122c3b};}const CHECKABLE=/\.(tsx?|mts|cts|jsx)$/i;function isCheckableFile(_0x3e2352){return CHECKABLE['test'](_0x3e2352);}async function syntaxDiagnostics(_0x2dd1fd,_0x4d1cb3){if(!isCheckableFile(_0x4d1cb3))return[];if(Buffer['byteLength'](_0x2dd1fd,'utf8')>MAX_SYNTAX_CHECK_BYTES)return[];const _0x4b89fc=await Promise['resolve']()['then'](()=>__importStar(require('typescript'))),_0x4947db=/\.(tsx|jsx)$/i['test'](_0x4d1cb3),_0x24c9bc=_0x4b89fc['transpileModule'](_0x2dd1fd,{'fileName':_0x4d1cb3,'reportDiagnostics':!![],'compilerOptions':{'target':_0x4b89fc['ScriptTarget']['ES2022'],'module':_0x4b89fc['ModuleKind']['ESNext'],'jsx':_0x4947db?_0x4b89fc['JsxEmit']['React']:_0x4b89fc['JsxEmit']['Preserve']}}),_0x3a539d=_0x24c9bc['diagnostics']??[];return _0x3a539d['map'](_0x794f56=>{let _0xc9d03b=0x0,_0x368c70=0x0;if(_0x794f56['file']&&_0x794f56['start']!==undefined){const _0x39e8d6=_0x794f56['file']['getLineAndCharacterOfPosition'](_0x794f56['start']);_0xc9d03b=_0x39e8d6['line'],_0x368c70=_0x39e8d6['character'];}const _0x572a52=_0x4b89fc['flattenDiagnosticMessageText'](_0x794f56['messageText'],'\x20');return{'range':{'start':{'line':_0xc9d03b,'character':_0x368c70}},'severity':_0x794f56['category']===_0x4b89fc['DiagnosticCategory']['Error']?0x1:_0x794f56['category']===_0x4b89fc['DiagnosticCategory']['Warning']?0x2:0x3,'message':_0x572a52,'source':'typescript'};});}async function syntaxNote(_0x2940c3,_0x27445f){try{const _0x43010d=await syntaxDiagnostics(_0x27445f,_0x2940c3);if(_0x43010d['length']===0x0)return'';const _0x21eb2f=report(_0x2940c3,_0x43010d);return _0x21eb2f?'\x0a'+_0x21eb2f:'';}catch{return'';}}function findUp(_0x5dc431,_0x34200f){let _0x469397=path['resolve'](_0x34200f);for(;;){const _0x2f3a4d=path['join'](_0x469397,_0x5dc431);try{if(fs['existsSync'](_0x2f3a4d))return _0x2f3a4d;}catch{}const _0x365efa=path['dirname'](_0x469397);if(_0x365efa===_0x469397)return undefined;_0x469397=_0x365efa;}}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x45d2d7,_0x3c87c8,_0x30face,_0xc6d2d0){if(_0xc6d2d0===undefined)_0xc6d2d0=_0x30face;var _0x48079c=Object['getOwnPropertyDescriptor'](_0x3c87c8,_0x30face);(!_0x48079c||('get'in _0x48079c?!_0x3c87c8['__esModule']:_0x48079c['writable']||_0x48079c['configurable']))&&(_0x48079c={'enumerable':!![],'get':function(){return _0x3c87c8[_0x30face];}}),Object['defineProperty'](_0x45d2d7,_0xc6d2d0,_0x48079c);}:function(_0x14a9ab,_0x51c624,_0x585b46,_0x46271a){if(_0x46271a===undefined)_0x46271a=_0x585b46;_0x14a9ab[_0x46271a]=_0x51c624[_0x585b46];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x46a1f2,_0x26ef0f){Object['defineProperty'](_0x46a1f2,'default',{'enumerable':!![],'value':_0x26ef0f});}:function(_0x33c872,_0x3d102f){_0x33c872['default']=_0x3d102f;}),__importStar=this&&this['__importStar']||(function(){var _0x1e5405=function(_0x39b9df){return _0x1e5405=Object['getOwnPropertyNames']||function(_0x50a3b8){var _0x4179da=[];for(var _0x5d07f0 in _0x50a3b8)if(Object['prototype']['hasOwnProperty']['call'](_0x50a3b8,_0x5d07f0))_0x4179da[_0x4179da['length']]=_0x5d07f0;return _0x4179da;},_0x1e5405(_0x39b9df);};return function(_0x1f4403){if(_0x1f4403&&_0x1f4403['__esModule'])return _0x1f4403;var _0x10bf6d={};if(_0x1f4403!=null){for(var _0x32a198=_0x1e5405(_0x1f4403),_0x1766dd=0x0;_0x1766dd<_0x32a198['length'];_0x1766dd++)if(_0x32a198[_0x1766dd]!=='default')__createBinding(_0x10bf6d,_0x1f4403,_0x32a198[_0x1766dd]);}return __setModuleDefault(_0x10bf6d,_0x1f4403),_0x10bf6d;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['DIAGNOSTICS_MAX_PER_FILE']=void 0x0,exports['pretty']=pretty,exports['report']=report,exports['filterDiagnostics']=filterDiagnostics,exports['diagnosticsPathKey']=diagnosticsPathKey,exports['pickFiles']=pickFiles,exports['parseTscOutput']=parseTscOutput,exports['isCheckableFile']=isCheckableFile,exports['syntaxDiagnostics']=syntaxDiagnostics,exports['syntaxNote']=syntaxNote,exports['findUp']=findUp;const fs=__importStar(require('fs')),path=__importStar(require('path')),SEVERITY_LABEL={0x1:'ERROR',0x2:'WARN',0x3:'INFO',0x4:'HINT'};exports['DIAGNOSTICS_MAX_PER_FILE']=0x14;const MAX_SYNTAX_CHECK_BYTES=0xf4240;function pretty(_0x101e84){const _0xd43a29=SEVERITY_LABEL[_0x101e84['severity']||0x1]??'ERROR',_0x562e05=_0x101e84['range']['start']['line']+0x1,_0x5ce54f=_0x101e84['range']['start']['character']+0x1;return _0xd43a29+'\x20['+_0x562e05+':'+_0x5ce54f+']\x20'+_0x101e84['message'];}function report(_0x39a9de,_0x5dd47a){const _0x5db953=_0x5dd47a['filter'](_0xb001c6=>_0xb001c6['severity']===0x1);if(_0x5db953['length']===0x0)return'';const _0x593386=_0x5db953['slice'](0x0,exports['DIAGNOSTICS_MAX_PER_FILE']),_0x1ebcb9=_0x5db953['length']-exports['DIAGNOSTICS_MAX_PER_FILE'],_0x1af953=_0x1ebcb9>0x0?'\x0a...\x20and\x20'+_0x1ebcb9+'\x20more':'';return'<diagnostics\x20file=\x22'+_0x39a9de+'\x22>\x0a'+_0x593386['map'](pretty)['join']('\x0a')+_0x1af953+'\x0a</diagnostics>';}function filterDiagnostics(_0x38eda1,_0x18d442){const _0x2c6c09={};for(const _0x4fd93a of _0x18d442){const _0x35aaf0=_0x38eda1[_0x4fd93a];if(_0x35aaf0)_0x2c6c09[_0x4fd93a]=_0x35aaf0;}return _0x2c6c09;}function diagnosticsPathKey(_0x163b6a,_0x51fc7b){const _0x4c2c0d=path['resolve'](_0x51fc7b,_0x163b6a);return process['platform']==='win32'?_0x4c2c0d['replace'](/\//g,'\x5c')['toLowerCase']():_0x4c2c0d;}function pickFiles(_0x5a5b29,_0x28125c,_0x45ab2c){if(_0x28125c['length']===0x0)return _0x5a5b29;const _0xea91fb=new Set(_0x28125c['map'](_0xf7afdd=>diagnosticsPathKey(_0xf7afdd,_0x45ab2c))),_0x547b35={};for(const [_0x663d74,_0x531dec]of Object['entries'](_0x5a5b29)){if(_0xea91fb['has'](diagnosticsPathKey(_0x663d74,_0x45ab2c)))_0x547b35[_0x663d74]=_0x531dec;}return _0x547b35;}const TSC_LINE=/^(.+?)\((\d+),(\d+)\):\s+(error|warning|message|info)\s+(TS\d+):\s*(.*)$/i,TSC_GLOBAL=/^(error|warning|message|info)\s+(TS\d+):\s*(.*)$/i,KIND_SEVERITY={'error':0x1,'warning':0x2,'info':0x3,'message':0x4};function parseTscOutput(_0x397f87,_0x5c4787){const _0xf6ed7b={},_0x147e99=[],_0x4c14be=new Map();let _0x5b9d49;for(const _0x49594f of _0x397f87['split'](/\r?\n/)){if(_0x49594f['trim']()===''){_0x5b9d49=undefined;continue;}const _0x2e91ac=TSC_LINE['exec'](_0x49594f);if(_0x2e91ac){const [,_0x2e2aa0,_0x4afa8a,_0x5670f9,_0x45b8f6,_0x45818d,_0x5ea037]=_0x2e91ac,_0x3fdc1c=path['isAbsolute'](_0x2e2aa0)?path['normalize'](_0x2e2aa0):path['resolve'](_0x5c4787,_0x2e2aa0),_0x115337=diagnosticsPathKey(_0x3fdc1c,_0x5c4787),_0x2dfa85=_0x4c14be['get'](_0x115337)??_0x3fdc1c;_0x4c14be['set'](_0x115337,_0x2dfa85);const _0x5ad2ac=_0xf6ed7b[_0x2dfa85]??=[];_0x5ad2ac['push']({'range':{'start':{'line':Number(_0x4afa8a)-0x1,'character':Number(_0x5670f9)-0x1}},'severity':KIND_SEVERITY[_0x45b8f6['toLowerCase']()]??0x1,'message':_0x45818d['toUpperCase']()+':\x20'+_0x5ea037,'code':_0x45818d['toUpperCase'](),'source':'tsc'}),_0x5b9d49=_0x5ad2ac;continue;}const _0x167c14=TSC_GLOBAL['exec'](_0x49594f);if(_0x167c14){_0x147e99['push'](_0x49594f['trim']()),_0x5b9d49=undefined;continue;}if(_0x5b9d49?.['length']&&/^\s/['test'](_0x49594f)){const _0x2afd0c=_0x5b9d49[_0x5b9d49['length']-0x1];_0x2afd0c['message']+='\x20'+_0x49594f['trim']();}}return{'diagnostics':_0xf6ed7b,'unlocated':_0x147e99};}const CHECKABLE=/\.(tsx?|mts|cts|jsx)$/i;function isCheckableFile(_0x3a7bbc){return CHECKABLE['test'](_0x3a7bbc);}async function syntaxDiagnostics(_0x283b56,_0x5319fd){if(!isCheckableFile(_0x5319fd))return[];if(Buffer['byteLength'](_0x283b56,'utf8')>MAX_SYNTAX_CHECK_BYTES)return[];const _0x1992c2=await Promise['resolve']()['then'](()=>__importStar(require('typescript'))),_0x5bc160=/\.(tsx|jsx)$/i['test'](_0x5319fd),_0x15bbc9=_0x1992c2['transpileModule'](_0x283b56,{'fileName':_0x5319fd,'reportDiagnostics':!![],'compilerOptions':{'target':_0x1992c2['ScriptTarget']['ES2022'],'module':_0x1992c2['ModuleKind']['ESNext'],'jsx':_0x5bc160?_0x1992c2['JsxEmit']['React']:_0x1992c2['JsxEmit']['Preserve']}}),_0x44c69f=_0x15bbc9['diagnostics']??[];return _0x44c69f['map'](_0x19433f=>{let _0x525003=0x0,_0x291789=0x0;if(_0x19433f['file']&&_0x19433f['start']!==undefined){const _0xb92eb5=_0x19433f['file']['getLineAndCharacterOfPosition'](_0x19433f['start']);_0x525003=_0xb92eb5['line'],_0x291789=_0xb92eb5['character'];}const _0x549b10=_0x1992c2['flattenDiagnosticMessageText'](_0x19433f['messageText'],'\x20');return{'range':{'start':{'line':_0x525003,'character':_0x291789}},'severity':_0x19433f['category']===_0x1992c2['DiagnosticCategory']['Error']?0x1:_0x19433f['category']===_0x1992c2['DiagnosticCategory']['Warning']?0x2:0x3,'message':_0x549b10,'source':'typescript'};});}async function syntaxNote(_0x589441,_0xd46238){try{const _0xcb8df=await syntaxDiagnostics(_0xd46238,_0x589441);if(_0xcb8df['length']===0x0)return'';const _0x1f8de8=report(_0x589441,_0xcb8df);return _0x1f8de8?'\x0a'+_0x1f8de8:'';}catch{return'';}}function findUp(_0x39750b,_0x2bf480){let _0x4202f4=path['resolve'](_0x2bf480);for(;;){const _0x3a8b2d=path['join'](_0x4202f4,_0x39750b);try{if(fs['existsSync'](_0x3a8b2d))return _0x3a8b2d;}catch{}const _0x38f9a1=path['dirname'](_0x4202f4);if(_0x38f9a1===_0x4202f4)return undefined;_0x4202f4=_0x38f9a1;}}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x42a8eb,_0x4df727,_0x36de12,_0x304cdc){if(_0x304cdc===undefined)_0x304cdc=_0x36de12;var _0x4271a1=Object['getOwnPropertyDescriptor'](_0x4df727,_0x36de12);(!_0x4271a1||('get'in _0x4271a1?!_0x4df727['__esModule']:_0x4271a1['writable']||_0x4271a1['configurable']))&&(_0x4271a1={'enumerable':!![],'get':function(){return _0x4df727[_0x36de12];}}),Object['defineProperty'](_0x42a8eb,_0x304cdc,_0x4271a1);}:function(_0x3f872a,_0x1d4db3,_0x3f3bb0,_0x23586c){if(_0x23586c===undefined)_0x23586c=_0x3f3bb0;_0x3f872a[_0x23586c]=_0x1d4db3[_0x3f3bb0];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x571c61,_0x37a07d){Object['defineProperty'](_0x571c61,'default',{'enumerable':!![],'value':_0x37a07d});}:function(_0x466238,_0x41739a){_0x466238['default']=_0x41739a;}),__importStar=this&&this['__importStar']||(function(){var _0x3bc0c0=function(_0x20291e){return _0x3bc0c0=Object['getOwnPropertyNames']||function(_0x56db45){var _0x31fbf6=[];for(var _0x4516db in _0x56db45)if(Object['prototype']['hasOwnProperty']['call'](_0x56db45,_0x4516db))_0x31fbf6[_0x31fbf6['length']]=_0x4516db;return _0x31fbf6;},_0x3bc0c0(_0x20291e);};return function(_0x381bef){if(_0x381bef&&_0x381bef['__esModule'])return _0x381bef;var _0xd04341={};if(_0x381bef!=null){for(var _0x13af6e=_0x3bc0c0(_0x381bef),_0x4e46c5=0x0;_0x4e46c5<_0x13af6e['length'];_0x4e46c5++)if(_0x13af6e[_0x4e46c5]!=='default')__createBinding(_0xd04341,_0x381bef,_0x13af6e[_0x4e46c5]);}return __setModuleDefault(_0xd04341,_0x381bef),_0xd04341;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['createListDirTool']=createListDirTool;const fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path')),types_js_1=require('../types.js');function expandHome(_0x4239d9){if(_0x4239d9['startsWith']('~/')||_0x4239d9==='~')return path['join'](os['homedir'](),_0x4239d9['slice'](_0x4239d9==='~'?0x1:0x2));return _0x4239d9;}const definition={'timeoutMs':0x7530,'name':'list_dir','description':'List\x20the\x20entries\x20of\x20a\x20directory.\x20Defaults\x20to\x20the\x20project\x20root.\x20Marks\x20directories\x20with\x20a\x20trailing\x20slash.','parameters':{'type':'object','required':[],'properties':{'path':{'type':'string','description':'Directory\x20to\x20list.\x20Default:\x20project\x20root.'}}}};function createListDirTool(){return{'definition':definition,async 'execute'(_0x357990,_0x19bd9d,_0xb22180,_0x670fb0,_0x4ba320){try{if(_0xb22180?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x4d22e3=_0x4ba320,_0x5bf3c5=typeof _0x19bd9d['path']==='string'?_0x19bd9d['path']:'.';let _0x4f9495;try{_0x4f9495=(0x0,types_js_1['resolveConstrainedPath'])(path['resolve'](_0x4d22e3['cwd'],expandHome(_0x5bf3c5)),_0x4d22e3['cwd']);}catch(_0xeb7a63){return(0x0,types_js_1['textResult'])('Access\x20denied:\x20'+(_0xeb7a63 instanceof Error?_0xeb7a63['message']:String(_0xeb7a63)),!![]);}if(!fs['existsSync'](_0x4f9495))return(0x0,types_js_1['textResult'])('Directory\x20not\x20found:\x20'+_0x5bf3c5,!![]);(0x0,types_js_1['assertExternalDirectory'])(_0x4f9495,_0x4d22e3['cwd']);if(!fs['statSync'](_0x4f9495)['isDirectory']())return(0x0,types_js_1['textResult'])('Not\x20a\x20directory:\x20'+_0x5bf3c5,!![]);const _0x1a8817=fs['readdirSync'](_0x4f9495,{'withFileTypes':!![]}),_0x813ca8=_0x1a8817['sort']((_0x409075,_0x34677f)=>Number(_0x34677f['isDirectory']())-Number(_0x409075['isDirectory']())||_0x409075['name']['localeCompare'](_0x34677f['name']))['map'](_0x3d0742=>_0x3d0742['isDirectory']()?_0x3d0742['name']+'/':_0x3d0742['name']);return(0x0,types_js_1['textResult'])(_0x5bf3c5+'\x0a'+_0x813ca8['join']('\x0a'));}catch(_0x2e50ca){return(0x0,types_js_1['textResult'])('List\x20error:\x20'+(_0x2e50ca instanceof Error?_0x2e50ca['message']:String(_0x2e50ca)),!![]);}}};}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x46025d,_0x4b1e7f,_0x4f76dc,_0x428324){if(_0x428324===undefined)_0x428324=_0x4f76dc;var _0x3a0212=Object['getOwnPropertyDescriptor'](_0x4b1e7f,_0x4f76dc);(!_0x3a0212||('get'in _0x3a0212?!_0x4b1e7f['__esModule']:_0x3a0212['writable']||_0x3a0212['configurable']))&&(_0x3a0212={'enumerable':!![],'get':function(){return _0x4b1e7f[_0x4f76dc];}}),Object['defineProperty'](_0x46025d,_0x428324,_0x3a0212);}:function(_0x26c7a3,_0xb60e2b,_0x386731,_0x2efb66){if(_0x2efb66===undefined)_0x2efb66=_0x386731;_0x26c7a3[_0x2efb66]=_0xb60e2b[_0x386731];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x10071f,_0x10b2f4){Object['defineProperty'](_0x10071f,'default',{'enumerable':!![],'value':_0x10b2f4});}:function(_0x451c31,_0x4affb2){_0x451c31['default']=_0x4affb2;}),__importStar=this&&this['__importStar']||(function(){var _0x537577=function(_0x5b33a9){return _0x537577=Object['getOwnPropertyNames']||function(_0x46b115){var _0x16692c=[];for(var _0x353d72 in _0x46b115)if(Object['prototype']['hasOwnProperty']['call'](_0x46b115,_0x353d72))_0x16692c[_0x16692c['length']]=_0x353d72;return _0x16692c;},_0x537577(_0x5b33a9);};return function(_0x3ff45f){if(_0x3ff45f&&_0x3ff45f['__esModule'])return _0x3ff45f;var _0x34f03e={};if(_0x3ff45f!=null){for(var _0x6bff17=_0x537577(_0x3ff45f),_0xcb4172=0x0;_0xcb4172<_0x6bff17['length'];_0xcb4172++)if(_0x6bff17[_0xcb4172]!=='default')__createBinding(_0x34f03e,_0x3ff45f,_0x6bff17[_0xcb4172]);}return __setModuleDefault(_0x34f03e,_0x3ff45f),_0x34f03e;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['createListDirTool']=createListDirTool;const fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path')),types_js_1=require('../types.js');function expandHome(_0x4d474e){if(_0x4d474e['startsWith']('~/')||_0x4d474e==='~')return path['join'](os['homedir'](),_0x4d474e['slice'](_0x4d474e==='~'?0x1:0x2));return _0x4d474e;}const definition={'timeoutMs':0x7530,'name':'list_dir','description':'List\x20the\x20entries\x20of\x20a\x20directory.\x20Defaults\x20to\x20the\x20project\x20root.\x20Marks\x20directories\x20with\x20a\x20trailing\x20slash.','parameters':{'type':'object','required':[],'properties':{'path':{'type':'string','description':'Directory\x20to\x20list.\x20Default:\x20project\x20root.'}}}};function createListDirTool(){return{'definition':definition,async 'execute'(_0xb30be4,_0x2427fc,_0x46f204,_0x37b312,_0x5774e1){try{if(_0x46f204?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x10cab4=_0x5774e1,_0x4c6a3f=typeof _0x2427fc['path']==='string'?_0x2427fc['path']:'.';let _0x45c32f;try{_0x45c32f=(0x0,types_js_1['resolveConstrainedPath'])(path['resolve'](_0x10cab4['cwd'],expandHome(_0x4c6a3f)),_0x10cab4['cwd']);}catch(_0x3270ba){return(0x0,types_js_1['textResult'])('Access\x20denied:\x20'+(_0x3270ba instanceof Error?_0x3270ba['message']:String(_0x3270ba)),!![]);}if(!fs['existsSync'](_0x45c32f))return(0x0,types_js_1['textResult'])('Directory\x20not\x20found:\x20'+_0x4c6a3f,!![]);(0x0,types_js_1['assertExternalDirectory'])(_0x45c32f,_0x10cab4['cwd']);if(!fs['statSync'](_0x45c32f)['isDirectory']())return(0x0,types_js_1['textResult'])('Not\x20a\x20directory:\x20'+_0x4c6a3f,!![]);const _0x476ce9=fs['readdirSync'](_0x45c32f,{'withFileTypes':!![]}),_0x20b5ab=_0x476ce9['sort']((_0x2559fa,_0x220681)=>Number(_0x220681['isDirectory']())-Number(_0x2559fa['isDirectory']())||_0x2559fa['name']['localeCompare'](_0x220681['name']))['map'](_0x59cf72=>_0x59cf72['isDirectory']()?_0x59cf72['name']+'/':_0x59cf72['name']);return(0x0,types_js_1['textResult'])(_0x4c6a3f+'\x0a'+_0x20b5ab['join']('\x0a'));}catch(_0xa94bc9){return(0x0,types_js_1['textResult'])('List\x20error:\x20'+(_0xa94bc9 instanceof Error?_0xa94bc9['message']:String(_0xa94bc9)),!![]);}}};}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x2b20e2,_0x43072c,_0x59db30,_0x2184ea){if(_0x2184ea===undefined)_0x2184ea=_0x59db30;var _0x2f6b0e=Object['getOwnPropertyDescriptor'](_0x43072c,_0x59db30);(!_0x2f6b0e||('get'in _0x2f6b0e?!_0x43072c['__esModule']:_0x2f6b0e['writable']||_0x2f6b0e['configurable']))&&(_0x2f6b0e={'enumerable':!![],'get':function(){return _0x43072c[_0x59db30];}}),Object['defineProperty'](_0x2b20e2,_0x2184ea,_0x2f6b0e);}:function(_0x367ec5,_0x1c05eb,_0x4888ac,_0x560bc5){if(_0x560bc5===undefined)_0x560bc5=_0x4888ac;_0x367ec5[_0x560bc5]=_0x1c05eb[_0x4888ac];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x54f023,_0x2a6b10){Object['defineProperty'](_0x54f023,'default',{'enumerable':!![],'value':_0x2a6b10});}:function(_0x4fe48d,_0x3176a7){_0x4fe48d['default']=_0x3176a7;}),__importStar=this&&this['__importStar']||(function(){var _0x16af33=function(_0x23e965){return _0x16af33=Object['getOwnPropertyNames']||function(_0x55d42e){var _0x23a52c=[];for(var _0x148185 in _0x55d42e)if(Object['prototype']['hasOwnProperty']['call'](_0x55d42e,_0x148185))_0x23a52c[_0x23a52c['length']]=_0x148185;return _0x23a52c;},_0x16af33(_0x23e965);};return function(_0x5477f7){if(_0x5477f7&&_0x5477f7['__esModule'])return _0x5477f7;var _0x5ccda1={};if(_0x5477f7!=null){for(var _0x28d157=_0x16af33(_0x5477f7),_0x95366d=0x0;_0x95366d<_0x28d157['length'];_0x95366d++)if(_0x28d157[_0x95366d]!=='default')__createBinding(_0x5ccda1,_0x5477f7,_0x28d157[_0x95366d]);}return __setModuleDefault(_0x5ccda1,_0x5477f7),_0x5ccda1;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['createEditFileTool']=createEditFileTool;const fs=__importStar(require('fs')),types_js_1=require('../types.js'),tsc_diagnostics_js_1=require('../diagnostics/tsc-diagnostics.js'),fuzzy_match_js_1=require('./fuzzy-match.js'),diff_render_js_1=require('../text/diff-render.js'),definition={'timeoutMs':0x7530,'name':'edit_file','description':'Edit\x20a\x20file\x20by\x20replacing\x20text.\x20Provide\x20old_string\x20(unique\x20in\x20the\x20file)\x20and\x20new_string.\x20Set\x20replace_all\x20to\x20change\x20every\x20occurrence.\x20Exact\x20matches\x20win;\x20when\x20nothing\x20matches\x20exactly,\x20a\x20whitespace/unicode-tolerant\x20unique\x20match\x20is\x20accepted\x20(indentation\x20drift,\x20trailing\x20spaces,\x20CRLF/LF,\x20smart\x20quotes).\x20Fails\x20if\x20old_string\x20is\x20not\x20found\x20or\x20is\x20not\x20unique\x20(unless\x20replace_all).\x20.git\x20and\x20.trayambak\x20directories\x20are\x20read-only\x20metadata:\x20edits\x20to\x20them\x20are\x20rejected.','parameters':{'type':'object','required':['path','old_string','new_string'],'properties':{'path':{'type':'string','description':'Relative\x20or\x20absolute\x20path\x20to\x20the\x20file.'},'old_string':{'type':'string','description':'Text\x20to\x20replace\x20(whitespace-tolerant\x20fallback\x20when\x20not\x20byte-exact).'},'new_string':{'type':'string','description':'Replacement\x20text.'},'replace_all':{'type':'boolean','description':'Replace\x20all\x20occurrences.\x20Default\x20false.'}}}};function createEditFileTool(){return{'definition':definition,async 'execute'(_0x2f84da,_0x19def9,_0x2a8fbd,_0x47cebd,_0x489cb8){try{if(_0x2a8fbd?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x296605=_0x489cb8,_0x4cb2c5=String(_0x19def9['path']??''),_0x3c0cf0=String(_0x19def9['old_string']??''),_0x4ed505=String(_0x19def9['new_string']??''),_0x31e0a0=Boolean(_0x19def9['replace_all']);if(!_0x4cb2c5)return(0x0,types_js_1['textResult'])('Missing\x20\x27path\x27.',!![]);if(!_0x3c0cf0)return(0x0,types_js_1['textResult'])('Missing\x20\x27old_string\x27.',!![]);let _0x5266e5;try{_0x5266e5=(0x0,types_js_1['resolveConstrainedPath'])(_0x4cb2c5,_0x296605['cwd']),(0x0,types_js_1['assertExternalDirectory'])(_0x5266e5,_0x296605['cwd']),(0x0,types_js_1['assertMutablePath'])(_0x5266e5);}catch(_0x308e33){return(0x0,types_js_1['textResult'])('Access\x20denied:\x20'+(_0x308e33 instanceof Error?_0x308e33['message']:String(_0x308e33)),!![]);}if(_0x2a8fbd?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);if(_0x296605['requestPermission']){const _0x33a58c=await _0x296605['requestPermission']('edit_file',_0x4cb2c5,'Trayambak\x20approval\x20required\x20for\x20edit_file');if(!_0x33a58c)return(0x0,types_js_1['textResult'])('Permission\x20denied\x20for\x20edit_file:\x20'+_0x4cb2c5,!![]);}if(_0x2a8fbd?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);if(!fs['existsSync'](_0x5266e5))return(0x0,types_js_1['textResult'])('File\x20not\x20found:\x20'+_0x4cb2c5,!![]);const _0x50544e=fs['readFileSync'](_0x5266e5,'utf8'),_0x2d97bb=_0x50544e['split'](_0x3c0cf0)['length']-0x1;if(_0x2d97bb===0x0){const _0x1ea469=(0x0,fuzzy_match_js_1['findOldStringSpans'])(_0x50544e,_0x3c0cf0);if(_0x1ea469['length']===0x0)return(0x0,types_js_1['textResult'])('old_string\x20not\x20found\x20in\x20'+_0x4cb2c5,!![]);if(_0x1ea469['length']>0x1)return(0x0,types_js_1['textResult'])('old_string\x20is\x20not\x20unique\x20('+_0x1ea469['length']+'\x20whitespace-tolerant\x20matches).\x20Make\x20it\x20unique\x20or\x20set\x20replace_all.',!![]);const _0x3fec61=_0x1ea469[0x0],_0x232af4=_0x50544e['slice'](0x0,_0x3fec61['start'])+_0x4ed505+_0x50544e['slice'](_0x3fec61['end']);fs['writeFileSync'](_0x5266e5,_0x232af4,'utf8');const _0x58776b=await(0x0,tsc_diagnostics_js_1['syntaxNote'])(_0x5266e5,_0x232af4),_0x50ed3c=(0x0,diff_render_js_1['miniDiff'])(_0x50544e['slice'](_0x3fec61['start'],_0x3fec61['end']),_0x4ed505)['join']('\x0a');return(0x0,types_js_1['textResult'])('Edited\x20'+_0x4cb2c5+'\x20(1\x20occurrence,\x20'+_0x3fec61['pass']+'\x20match).'+_0x58776b+'\x0a'+_0x50ed3c);}if(_0x2d97bb>0x1&&!_0x31e0a0)return(0x0,types_js_1['textResult'])('old_string\x20is\x20not\x20unique\x20('+_0x2d97bb+'\x20matches).\x20Make\x20it\x20unique\x20or\x20set\x20replace_all.',!![]);const _0x422332=_0x31e0a0?_0x50544e['split'](_0x3c0cf0)['join'](_0x4ed505):_0x50544e['replace'](_0x3c0cf0,_0x4ed505);fs['writeFileSync'](_0x5266e5,_0x422332,'utf8');const _0x5cd56e=await(0x0,tsc_diagnostics_js_1['syntaxNote'])(_0x5266e5,_0x422332),_0x34ccab=(0x0,diff_render_js_1['miniDiff'])(_0x3c0cf0,_0x4ed505)['join']('\x0a');return(0x0,types_js_1['textResult'])('Edited\x20'+_0x4cb2c5+'\x20('+_0x2d97bb+'\x20occurrence'+(_0x2d97bb>0x1?'s':'')+').'+_0x5cd56e+'\x0a'+_0x34ccab);}catch(_0x5523c3){return(0x0,types_js_1['textResult'])('Edit\x20error:\x20'+(_0x5523c3 instanceof Error?_0x5523c3['message']:String(_0x5523c3)),!![]);}}};}
1
+ 'use strict';const _0x126225=_0x42af;(function(_0x381017,_0x118b31){const _0x971e50=_0x42af,_0x554516=_0x381017();while(!![]){try{const _0x47116b=parseInt(_0x971e50(0xdf))/0x1*(parseInt(_0x971e50(0xfe))/0x2)+-parseInt(_0x971e50(0xf9))/0x3*(parseInt(_0x971e50(0x112))/0x4)+parseInt(_0x971e50(0xe6))/0x5+parseInt(_0x971e50(0xf6))/0x6*(-parseInt(_0x971e50(0x119))/0x7)+parseInt(_0x971e50(0x114))/0x8*(-parseInt(_0x971e50(0x111))/0x9)+parseInt(_0x971e50(0x116))/0xa*(-parseInt(_0x971e50(0xf3))/0xb)+-parseInt(_0x971e50(0xe8))/0xc*(-parseInt(_0x971e50(0x10c))/0xd);if(_0x47116b===_0x118b31)break;else _0x554516['push'](_0x554516['shift']());}catch(_0x813f42){_0x554516['push'](_0x554516['shift']());}}}(_0x5111,0xee8af));var __createBinding=this&&this[_0x126225(0xf2)]||(Object['create']?function(_0x323dde,_0x45157a,_0x2353af,_0x23fa37){const _0x309784=_0x126225;if(_0x23fa37===undefined)_0x23fa37=_0x2353af;var _0x4b4609=Object[_0x309784(0xd6)](_0x45157a,_0x2353af);(!_0x4b4609||(_0x309784(0xe2)in _0x4b4609?!_0x45157a[_0x309784(0xea)]:_0x4b4609['writable']||_0x4b4609['configurable']))&&(_0x4b4609={'enumerable':!![],'get':function(){return _0x45157a[_0x2353af];}}),Object[_0x309784(0xfb)](_0x323dde,_0x23fa37,_0x4b4609);}:function(_0x24ec14,_0x77ee42,_0x4d5e25,_0x33b9dc){if(_0x33b9dc===undefined)_0x33b9dc=_0x4d5e25;_0x24ec14[_0x33b9dc]=_0x77ee42[_0x4d5e25];}),__setModuleDefault=this&&this[_0x126225(0x11a)]||(Object['create']?function(_0x222175,_0x4ff456){const _0x896a82=_0x126225;Object[_0x896a82(0xfb)](_0x222175,_0x896a82(0xfd),{'enumerable':!![],'value':_0x4ff456});}:function(_0xd9c2c6,_0x20a2df){const _0x49a090=_0x126225;_0xd9c2c6[_0x49a090(0xfd)]=_0x20a2df;}),__importStar=this&&this[_0x126225(0xde)]||(function(){var _0x3df7a8=function(_0x4d663d){const _0x157b21=_0x42af;return _0x3df7a8=Object[_0x157b21(0x103)]||function(_0xbe64fb){const _0x4265ee=_0x157b21;var _0x55898e=[];for(var _0x12dad in _0xbe64fb)if(Object[_0x4265ee(0x10e)][_0x4265ee(0xe3)][_0x4265ee(0xf5)](_0xbe64fb,_0x12dad))_0x55898e[_0x55898e[_0x4265ee(0x104)]]=_0x12dad;return _0x55898e;},_0x3df7a8(_0x4d663d);};return function(_0x434b62){const _0x3b7254=_0x42af;if(_0x434b62&&_0x434b62['__esModule'])return _0x434b62;var _0xe425fb={};if(_0x434b62!=null){for(var _0x4e3ad3=_0x3df7a8(_0x434b62),_0x4d29da=0x0;_0x4d29da<_0x4e3ad3[_0x3b7254(0x104)];_0x4d29da++)if(_0x4e3ad3[_0x4d29da]!==_0x3b7254(0xfd))__createBinding(_0xe425fb,_0x434b62,_0x4e3ad3[_0x4d29da]);}return __setModuleDefault(_0xe425fb,_0x434b62),_0xe425fb;};}());function _0x42af(_0x26b336,_0x39afbf){_0x26b336=_0x26b336-0xd6;const _0x51118a=_0x5111();let _0x42afad=_0x51118a[_0x26b336];return _0x42afad;}Object[_0x126225(0xfb)](exports,'__esModule',{'value':!![]}),exports['createEditFileTool']=createEditFileTool;function _0x5111(){const _0x5975d3=['Access\x20denied:\x20','2191RJkxAD','__setModuleDefault','Edited\x20','getOwnPropertyDescriptor','findOldStringSpans','../diagnostics/tsc-diagnostics.js','string','start','Trayambak\x20approval\x20required\x20for\x20edit_file','Replacement\x20text.','../types.js','__importStar','1867LVuHyU','end','cwd','get','hasOwnProperty','Permission\x20denied\x20for\x20edit_file:\x20','old_string','4207505nbSxsI','Relative\x20or\x20absolute\x20path\x20to\x20the\x20file.','2890620JmIckU','path','__esModule','writeFileSync','Edit\x20error:\x20','assertMutablePath','\x20match).','split','boolean','old_string\x20is\x20not\x20unique\x20(','__createBinding','253297UiIXhy','existsSync','call','696pGaIIB','Missing\x20\x27old_string\x27.','./fuzzy-match.js','168OyftJs','slice','defineProperty','message','default','1486NGflJF','readFileSync','resolveConstrainedPath','\x20(1\x20occurrence,\x20','miniDiff','getOwnPropertyNames','length','replace_all','\x20matches).\x20Make\x20it\x20unique\x20or\x20set\x20replace_all.','utf8','aborted','replace','old_string\x20not\x20found\x20in\x20','textResult','39LvLLUv','new_string','prototype','object','requestPermission','99APJbSw','18804uPIfZc','syntaxNote','682064nbIxcP','join','320tWlOzh','Replace\x20all\x20occurrences.\x20Default\x20false.'];_0x5111=function(){return _0x5975d3;};return _0x5111();}const fs=__importStar(require('fs')),types_js_1=require(_0x126225(0xdd)),tsc_diagnostics_js_1=require(_0x126225(0xd8)),fuzzy_match_js_1=require(_0x126225(0xf8)),diff_render_js_1=require('../text/diff-render.js'),definition={'timeoutMs':0x7530,'name':'edit_file','description':'Edit\x20a\x20file\x20by\x20replacing\x20text.\x20Provide\x20old_string\x20(unique\x20in\x20the\x20file)\x20and\x20new_string.\x20Set\x20replace_all\x20to\x20change\x20every\x20occurrence.\x20Exact\x20matches\x20win;\x20when\x20nothing\x20matches\x20exactly,\x20a\x20whitespace/unicode-tolerant\x20unique\x20match\x20is\x20accepted\x20(indentation\x20drift,\x20trailing\x20spaces,\x20CRLF/LF,\x20smart\x20quotes).\x20Fails\x20if\x20old_string\x20is\x20not\x20found\x20or\x20is\x20not\x20unique\x20(unless\x20replace_all).\x20.git\x20and\x20.trayambak\x20directories\x20are\x20read-only\x20metadata:\x20edits\x20to\x20them\x20are\x20rejected.','parameters':{'type':_0x126225(0x10f),'required':[_0x126225(0xe9),_0x126225(0xe5),_0x126225(0x10d)],'properties':{'path':{'type':_0x126225(0xd9),'description':_0x126225(0xe7)},'old_string':{'type':_0x126225(0xd9),'description':'Text\x20to\x20replace\x20(whitespace-tolerant\x20fallback\x20when\x20not\x20byte-exact).'},'new_string':{'type':_0x126225(0xd9),'description':_0x126225(0xdc)},'replace_all':{'type':_0x126225(0xf0),'description':_0x126225(0x117)}}}};function createEditFileTool(){return{'definition':definition,async 'execute'(_0x1ac8ed,_0x12146a,_0xf38e6c,_0x7f48d1,_0x14f16a){const _0x3e1a66=_0x42af;try{if(_0xf38e6c?.['aborted'])return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0x108),!![]);const _0x4ec567=_0x14f16a,_0x53eaa1=String(_0x12146a[_0x3e1a66(0xe9)]??''),_0x59fc00=String(_0x12146a[_0x3e1a66(0xe5)]??''),_0x3e9eec=String(_0x12146a['new_string']??''),_0x498f2b=Boolean(_0x12146a[_0x3e1a66(0x105)]);if(!_0x53eaa1)return(0x0,types_js_1['textResult'])('Missing\x20\x27path\x27.',!![]);if(!_0x59fc00)return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0xf7),!![]);let _0x5e897a;try{_0x5e897a=(0x0,types_js_1[_0x3e1a66(0x100)])(_0x53eaa1,_0x4ec567[_0x3e1a66(0xe1)]),(0x0,types_js_1['assertExternalDirectory'])(_0x5e897a,_0x4ec567[_0x3e1a66(0xe1)]),(0x0,types_js_1[_0x3e1a66(0xed)])(_0x5e897a);}catch(_0x3c0ce6){return(0x0,types_js_1['textResult'])(_0x3e1a66(0x118)+(_0x3c0ce6 instanceof Error?_0x3c0ce6[_0x3e1a66(0xfc)]:String(_0x3c0ce6)),!![]);}if(_0xf38e6c?.['aborted'])return(0x0,types_js_1[_0x3e1a66(0x10b)])('aborted',!![]);if(_0x4ec567[_0x3e1a66(0x110)]){const _0x7aad2d=await _0x4ec567[_0x3e1a66(0x110)]('edit_file',_0x53eaa1,_0x3e1a66(0xdb));if(!_0x7aad2d)return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0xe4)+_0x53eaa1,!![]);}if(_0xf38e6c?.[_0x3e1a66(0x108)])return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0x108),!![]);if(!fs[_0x3e1a66(0xf4)](_0x5e897a))return(0x0,types_js_1['textResult'])('File\x20not\x20found:\x20'+_0x53eaa1,!![]);const _0x32da34=fs[_0x3e1a66(0xff)](_0x5e897a,'utf8'),_0x1b2f00=_0x32da34['split'](_0x59fc00)['length']-0x1;if(_0x1b2f00===0x0){const _0x26de4d=(0x0,fuzzy_match_js_1[_0x3e1a66(0xd7)])(_0x32da34,_0x59fc00);if(_0x26de4d[_0x3e1a66(0x104)]===0x0)return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0x10a)+_0x53eaa1,!![]);if(_0x26de4d[_0x3e1a66(0x104)]>0x1)return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0xf1)+_0x26de4d['length']+'\x20whitespace-tolerant\x20matches).\x20Make\x20it\x20unique\x20or\x20set\x20replace_all.',!![]);const _0x57875c=_0x26de4d[0x0],_0x57265d=_0x32da34['slice'](0x0,_0x57875c[_0x3e1a66(0xda)])+_0x3e9eec+_0x32da34[_0x3e1a66(0xfa)](_0x57875c[_0x3e1a66(0xe0)]);fs[_0x3e1a66(0xeb)](_0x5e897a,_0x57265d,_0x3e1a66(0x107));const _0x12ca68=await(0x0,tsc_diagnostics_js_1[_0x3e1a66(0x113)])(_0x5e897a,_0x57265d),_0x2b00f3=(0x0,diff_render_js_1[_0x3e1a66(0x102)])(_0x32da34[_0x3e1a66(0xfa)](_0x57875c[_0x3e1a66(0xda)],_0x57875c[_0x3e1a66(0xe0)]),_0x3e9eec)[_0x3e1a66(0x115)]('\x0a');return(0x0,types_js_1['textResult'])(_0x3e1a66(0x11b)+_0x53eaa1+_0x3e1a66(0x101)+_0x57875c['pass']+_0x3e1a66(0xee)+_0x12ca68+'\x0a'+_0x2b00f3);}if(_0x1b2f00>0x1&&!_0x498f2b)return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0xf1)+_0x1b2f00+_0x3e1a66(0x106),!![]);const _0x297b29=_0x498f2b?_0x32da34[_0x3e1a66(0xef)](_0x59fc00)['join'](_0x3e9eec):_0x32da34[_0x3e1a66(0x109)](_0x59fc00,_0x3e9eec);fs[_0x3e1a66(0xeb)](_0x5e897a,_0x297b29,_0x3e1a66(0x107));const _0x4150db=await(0x0,tsc_diagnostics_js_1[_0x3e1a66(0x113)])(_0x5e897a,_0x297b29),_0xbd9d0f=(0x0,diff_render_js_1[_0x3e1a66(0x102)])(_0x59fc00,_0x3e9eec)['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x3e1a66(0x11b)+_0x53eaa1+'\x20('+_0x1b2f00+'\x20occurrence'+(_0x1b2f00>0x1?'s':'')+').'+_0x4150db+'\x0a'+_0xbd9d0f);}catch(_0x167379){return(0x0,types_js_1[_0x3e1a66(0x10b)])(_0x3e1a66(0xec)+(_0x167379 instanceof Error?_0x167379['message']:String(_0x167379)),!![]);}}};}
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x4f2852,_0x58c9bd,_0x53f865,_0x196f8f){if(_0x196f8f===undefined)_0x196f8f=_0x53f865;var _0x50a614=Object['getOwnPropertyDescriptor'](_0x58c9bd,_0x53f865);(!_0x50a614||('get'in _0x50a614?!_0x58c9bd['__esModule']:_0x50a614['writable']||_0x50a614['configurable']))&&(_0x50a614={'enumerable':!![],'get':function(){return _0x58c9bd[_0x53f865];}}),Object['defineProperty'](_0x4f2852,_0x196f8f,_0x50a614);}:function(_0x3f5fad,_0x5a0f96,_0x52ca8f,_0x2501e1){if(_0x2501e1===undefined)_0x2501e1=_0x52ca8f;_0x3f5fad[_0x2501e1]=_0x5a0f96[_0x52ca8f];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2de859,_0x1cd300){Object['defineProperty'](_0x2de859,'default',{'enumerable':!![],'value':_0x1cd300});}:function(_0x31234f,_0x44ce01){_0x31234f['default']=_0x44ce01;}),__importStar=this&&this['__importStar']||(function(){var _0x10aa6d=function(_0xa681ec){return _0x10aa6d=Object['getOwnPropertyNames']||function(_0x391093){var _0x26a746=[];for(var _0x5bfc5b in _0x391093)if(Object['prototype']['hasOwnProperty']['call'](_0x391093,_0x5bfc5b))_0x26a746[_0x26a746['length']]=_0x5bfc5b;return _0x26a746;},_0x10aa6d(_0xa681ec);};return function(_0x32b660){if(_0x32b660&&_0x32b660['__esModule'])return _0x32b660;var _0x5b48a6={};if(_0x32b660!=null){for(var _0x17761e=_0x10aa6d(_0x32b660),_0x3df7e9=0x0;_0x3df7e9<_0x17761e['length'];_0x3df7e9++)if(_0x17761e[_0x3df7e9]!=='default')__createBinding(_0x5b48a6,_0x32b660,_0x17761e[_0x3df7e9]);}return __setModuleDefault(_0x5b48a6,_0x32b660),_0x5b48a6;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IGNORED_DIRS']=void 0x0,exports['walkFiles']=walkFiles,exports['matchGlob']=matchGlob;const fs=__importStar(require('fs')),path=__importStar(require('path'));exports['IGNORED_DIRS']=new Set(['.git','node_modules','dist','build','.trayambak','target','.venv','vendor']);function walkFiles(_0x2bb562,_0x371130,_0x50fea2=0x14){const _0x3c54a4=(_0x2979f1,_0x181ccf)=>{if(_0x181ccf>_0x50fea2)return;let _0x1aa222;try{_0x1aa222=fs['readdirSync'](_0x2979f1,{'withFileTypes':!![]});}catch{return;}for(const _0xb0d8d9 of _0x1aa222){if(exports['IGNORED_DIRS']['has'](_0xb0d8d9['name']))continue;const _0xd9a24a=path['join'](_0x2979f1,_0xb0d8d9['name']),_0x2c77f7=path['relative'](_0x2bb562,_0xd9a24a);if(_0xb0d8d9['isDirectory']())_0x3c54a4(_0xd9a24a,_0x181ccf+0x1);else _0xb0d8d9['isFile']()&&_0x371130(_0xd9a24a,_0x2c77f7);}};_0x3c54a4(_0x2bb562,0x0);}function matchGlob(_0x1b952e,_0x3e2fa8){const _0x13a177=_0x1b952e['replace'](/[.+^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*\*\//g,'(?:.*/)?')['replace'](/\*\*/g,'.*')['replace'](/\*/g,'[^/]*');return new RegExp('^'+_0x13a177+'$')['test'](_0x3e2fa8);}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x8a892d,_0xb54562,_0x146944,_0x501785){if(_0x501785===undefined)_0x501785=_0x146944;var _0x47d108=Object['getOwnPropertyDescriptor'](_0xb54562,_0x146944);(!_0x47d108||('get'in _0x47d108?!_0xb54562['__esModule']:_0x47d108['writable']||_0x47d108['configurable']))&&(_0x47d108={'enumerable':!![],'get':function(){return _0xb54562[_0x146944];}}),Object['defineProperty'](_0x8a892d,_0x501785,_0x47d108);}:function(_0x553796,_0x3c652d,_0x5b5a65,_0x13f836){if(_0x13f836===undefined)_0x13f836=_0x5b5a65;_0x553796[_0x13f836]=_0x3c652d[_0x5b5a65];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x450fe4,_0x4f4426){Object['defineProperty'](_0x450fe4,'default',{'enumerable':!![],'value':_0x4f4426});}:function(_0x300506,_0x541fe5){_0x300506['default']=_0x541fe5;}),__importStar=this&&this['__importStar']||(function(){var _0x2db60e=function(_0x33d4d2){return _0x2db60e=Object['getOwnPropertyNames']||function(_0x1f719f){var _0x3e93e3=[];for(var _0x35564e in _0x1f719f)if(Object['prototype']['hasOwnProperty']['call'](_0x1f719f,_0x35564e))_0x3e93e3[_0x3e93e3['length']]=_0x35564e;return _0x3e93e3;},_0x2db60e(_0x33d4d2);};return function(_0x33ada5){if(_0x33ada5&&_0x33ada5['__esModule'])return _0x33ada5;var _0x280d58={};if(_0x33ada5!=null){for(var _0x41e1a8=_0x2db60e(_0x33ada5),_0x56b4ea=0x0;_0x56b4ea<_0x41e1a8['length'];_0x56b4ea++)if(_0x41e1a8[_0x56b4ea]!=='default')__createBinding(_0x280d58,_0x33ada5,_0x41e1a8[_0x56b4ea]);}return __setModuleDefault(_0x280d58,_0x33ada5),_0x280d58;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IGNORED_DIRS']=void 0x0,exports['walkFiles']=walkFiles,exports['matchGlob']=matchGlob;const fs=__importStar(require('fs')),path=__importStar(require('path'));exports['IGNORED_DIRS']=new Set(['.git','node_modules','dist','build','.trayambak','target','.venv','vendor']);function walkFiles(_0x5e503b,_0x1e9caa,_0x249284=0x14){const _0x6d29ac=(_0x3821bb,_0xf10f22)=>{if(_0xf10f22>_0x249284)return;let _0x5c6e40;try{_0x5c6e40=fs['readdirSync'](_0x3821bb,{'withFileTypes':!![]});}catch{return;}for(const _0x9fb74 of _0x5c6e40){if(exports['IGNORED_DIRS']['has'](_0x9fb74['name']))continue;const _0x33df49=path['join'](_0x3821bb,_0x9fb74['name']),_0x2aa2d8=path['relative'](_0x5e503b,_0x33df49);if(_0x9fb74['isDirectory']())_0x6d29ac(_0x33df49,_0xf10f22+0x1);else _0x9fb74['isFile']()&&_0x1e9caa(_0x33df49,_0x2aa2d8);}};_0x6d29ac(_0x5e503b,0x0);}function matchGlob(_0x5d7ee4,_0x25285d){const _0x3621b6=_0x5d7ee4['replace'](/[.+^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*\*\//g,'(?:.*/)?')['replace'](/\*\*/g,'.*')['replace'](/\*/g,'[^/]*');return new RegExp('^'+_0x3621b6+'$')['test'](_0x25285d);}