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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +20 -18
  2. package/dist/apps/cli/src/command-registry.js +1 -1
  3. package/dist/apps/cli/src/commands/agent.js +1 -1
  4. package/dist/apps/cli/src/commands/archive.js +1 -1
  5. package/dist/apps/cli/src/commands/checkpoint.js +1 -1
  6. package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
  7. package/dist/apps/cli/src/commands/commit.js +1 -1
  8. package/dist/apps/cli/src/commands/compact.js +1 -1
  9. package/dist/apps/cli/src/commands/config.js +1 -1
  10. package/dist/apps/cli/src/commands/db.js +1 -1
  11. package/dist/apps/cli/src/commands/doctor.js +1 -1
  12. package/dist/apps/cli/src/commands/download.js +1 -1
  13. package/dist/apps/cli/src/commands/exec.js +1 -1
  14. package/dist/apps/cli/src/commands/index.js +1 -1
  15. package/dist/apps/cli/src/commands/login.js +1 -1
  16. package/dist/apps/cli/src/commands/manager.js +1 -1
  17. package/dist/apps/cli/src/commands/marketplace.js +1 -1
  18. package/dist/apps/cli/src/commands/mcp.js +1 -1
  19. package/dist/apps/cli/src/commands/mode.js +1 -1
  20. package/dist/apps/cli/src/commands/models.js +1 -1
  21. package/dist/apps/cli/src/commands/plan.js +1 -1
  22. package/dist/apps/cli/src/commands/pr.js +1 -1
  23. package/dist/apps/cli/src/commands/registry.js +1 -1
  24. package/dist/apps/cli/src/commands/run.js +1 -1
  25. package/dist/apps/cli/src/commands/sandbox.js +1 -1
  26. package/dist/apps/cli/src/commands/serve.js +1 -1
  27. package/dist/apps/cli/src/commands/session-export.js +1 -1
  28. package/dist/apps/cli/src/commands/session-resume.js +1 -1
  29. package/dist/apps/cli/src/commands/shortcuts.js +1 -1
  30. package/dist/apps/cli/src/commands/slash-command.js +1 -1
  31. package/dist/apps/cli/src/commands/stats.js +1 -1
  32. package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
  33. package/dist/apps/cli/src/commands/task.js +1 -1
  34. package/dist/apps/cli/src/commands/todo.js +1 -1
  35. package/dist/apps/cli/src/commands/uninstall.js +1 -1
  36. package/dist/apps/cli/src/commands/upgrade.js +1 -1
  37. package/dist/apps/cli/src/commands/worktree.js +1 -1
  38. package/dist/apps/cli/src/flags.js +1 -1
  39. package/dist/apps/cli/src/index.js +1 -1
  40. package/dist/apps/cli/src/integration/board.js +1 -1
  41. package/dist/apps/cli/src/integration/git-refs.js +1 -1
  42. package/dist/apps/cli/src/integration/index.js +1 -1
  43. package/dist/apps/cli/src/integration/indexing.js +1 -1
  44. package/dist/apps/cli/src/integration/notebook.js +1 -1
  45. package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
  46. package/dist/apps/cli/src/integration/plan.js +1 -1
  47. package/dist/apps/cli/src/integration/presence.js +1 -1
  48. package/dist/apps/cli/src/integration/project-id.js +1 -1
  49. package/dist/apps/cli/src/integration/rules.js +1 -1
  50. package/dist/apps/cli/src/integration/sandbox.js +1 -1
  51. package/dist/apps/cli/src/integration/task-resume.js +1 -1
  52. package/dist/apps/cli/src/integration/text-stream.js +1 -1
  53. package/dist/apps/cli/src/integration/unique-id.js +1 -1
  54. package/dist/apps/cli/src/integration/watcher.js +1 -1
  55. package/dist/apps/cli/src/logger.js +1 -1
  56. package/dist/apps/cli/src/session/index.js +1 -1
  57. package/dist/apps/cli/src/session/session-compaction.js +1 -1
  58. package/dist/apps/cli/src/session/session-continuation.js +1 -1
  59. package/dist/apps/cli/src/session/session-control.js +1 -1
  60. package/dist/apps/cli/src/session/session-fork.js +1 -1
  61. package/dist/apps/cli/src/session/session-manager.js +1 -1
  62. package/dist/apps/cli/src/session/session-transcript.js +1 -1
  63. package/dist/apps/cli/src/tui/index.js +1 -1
  64. package/dist/apps/cli/src/tui/tui-features.js +1 -1
  65. package/dist/apps/cli/src/version.js +1 -1
  66. package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
  67. package/dist/apps/runtime/src/agent/agent.js +1 -1
  68. package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
  69. package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
  70. package/dist/apps/runtime/src/agent/review-init.js +1 -1
  71. package/dist/apps/runtime/src/agent/sota.js +1 -1
  72. package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
  73. package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
  74. package/dist/apps/runtime/src/checkpoints.js +1 -1
  75. package/dist/apps/runtime/src/compaction.js +1 -1
  76. package/dist/apps/runtime/src/config.js +1 -1
  77. package/dist/apps/runtime/src/controller/controller.js +1 -1
  78. package/dist/apps/runtime/src/controller/executor.js +1 -1
  79. package/dist/apps/runtime/src/controller/reviewer.js +1 -1
  80. package/dist/apps/runtime/src/controller/router.js +1 -1
  81. package/dist/apps/runtime/src/controller/state.js +1 -1
  82. package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
  83. package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
  84. package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
  85. package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
  86. package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
  87. package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
  88. package/dist/apps/runtime/src/github-auth.js +1 -1
  89. package/dist/apps/runtime/src/goals.js +1 -1
  90. package/dist/apps/runtime/src/index.js +1 -1
  91. package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
  92. package/dist/apps/runtime/src/license.js +1 -1
  93. package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
  94. package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
  95. package/dist/apps/runtime/src/notifications.js +1 -1
  96. package/dist/apps/runtime/src/planner/planner.js +1 -1
  97. package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
  98. package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
  99. package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
  100. package/dist/apps/runtime/src/prompt/rules.js +1 -1
  101. package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
  102. package/dist/apps/runtime/src/self-improvement.js +1 -1
  103. package/dist/apps/runtime/src/session/session.js +1 -1
  104. package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
  105. package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
  106. package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
  107. package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
  108. package/dist/apps/runtime/src/tools/code/fim.js +1 -1
  109. package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
  110. package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
  111. package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
  112. package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
  113. package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
  114. package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
  115. package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
  116. package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
  117. package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
  118. package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
  119. package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
  120. package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
  121. package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
  122. package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
  123. package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
  124. package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
  125. package/dist/apps/runtime/src/tools/github/github.js +1 -1
  126. package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
  127. package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
  128. package/dist/apps/runtime/src/tools/index.js +1 -1
  129. package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
  130. package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
  131. package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
  132. package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
  133. package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
  134. package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
  135. package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
  136. package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
  137. package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
  138. package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
  139. package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
  140. package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
  141. package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
  142. package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
  143. package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
  144. package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
  145. package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
  146. package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
  147. package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
  148. package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
  149. package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
  150. package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
  151. package/dist/apps/runtime/src/tools/text/csv.js +1 -1
  152. package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
  153. package/dist/apps/runtime/src/tools/text/diff.js +1 -1
  154. package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
  155. package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
  156. package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
  157. package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
  158. package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
  159. package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
  160. package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
  161. package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
  162. package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
  163. package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
  164. package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
  165. package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
  166. package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
  167. package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
  168. package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
  169. package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
  170. package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
  171. package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
  172. package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
  173. package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
  174. package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
  175. package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
  176. package/dist/apps/runtime/src/tools/types.js +1 -1
  177. package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
  178. package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
  179. package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
  180. package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
  181. package/dist/apps/runtime/src/update/auto-update.js +1 -1
  182. package/dist/packages/acp/src/index.js +1 -1
  183. package/dist/packages/approval/src/index.js +1 -1
  184. package/dist/packages/checkpoints/src/index.js +1 -1
  185. package/dist/packages/cli/src/commands/registry.js +1 -1
  186. package/dist/packages/client/src/index.js +1 -1
  187. package/dist/packages/coding-agent/src/index.js +1 -1
  188. package/dist/packages/core/src/agent_communication.js +1 -1
  189. package/dist/packages/core/src/agent_registry.js +1 -1
  190. package/dist/packages/core/src/agents_md.js +1 -1
  191. package/dist/packages/core/src/analytics.js +1 -1
  192. package/dist/packages/core/src/approval.js +1 -1
  193. package/dist/packages/core/src/auth.js +1 -1
  194. package/dist/packages/core/src/context/compactor.js +1 -1
  195. package/dist/packages/core/src/cron/scheduler.js +1 -1
  196. package/dist/packages/core/src/curator/librarian.js +1 -1
  197. package/dist/packages/core/src/env_filter.js +1 -1
  198. package/dist/packages/core/src/extension_api.js +1 -1
  199. package/dist/packages/core/src/feature_flags.js +1 -1
  200. package/dist/packages/core/src/hook_runtime.js +1 -1
  201. package/dist/packages/core/src/i18n.js +1 -1
  202. package/dist/packages/core/src/memory/manager.js +1 -1
  203. package/dist/packages/core/src/memory/provider.js +1 -1
  204. package/dist/packages/core/src/plan_mode.js +1 -1
  205. package/dist/packages/core/src/process.js +1 -1
  206. package/dist/packages/core/src/providers/manager.js +1 -1
  207. package/dist/packages/core/src/providers/registry.js +1 -1
  208. package/dist/packages/core/src/rollout_budget.js +1 -1
  209. package/dist/packages/core/src/secrets.js +1 -1
  210. package/dist/packages/core/src/session_store.js +1 -1
  211. package/dist/packages/core/src/state_db.js +1 -1
  212. package/dist/packages/core/src/subagents.js +1 -1
  213. package/dist/packages/core/src/token_budget.js +1 -1
  214. package/dist/packages/core/src/toolsets/arsenal.js +1 -1
  215. package/dist/packages/core/src/validate.js +1 -1
  216. package/dist/packages/execpolicy/src/policy.js +1 -1
  217. package/dist/packages/function/src/index.js +1 -1
  218. package/dist/packages/harness/src/index.js +1 -1
  219. package/dist/packages/mcp/src/index.js +1 -1
  220. package/dist/packages/mcp/src/oauth-callback.js +1 -1
  221. package/dist/packages/mcp/src/oauth.js +1 -1
  222. package/dist/packages/mcp/src/spawn-resolve.js +1 -1
  223. package/dist/packages/mcp-server/src/index.js +1 -1
  224. package/dist/packages/modes/src/index.js +1 -1
  225. package/dist/packages/protocol/src/events.js +1 -1
  226. package/dist/packages/protocol/src/messages.js +1 -1
  227. package/dist/packages/protocol/src/permission-rules.js +1 -1
  228. package/dist/packages/protocol/src/permissions.js +1 -1
  229. package/dist/packages/protocol/src/tools.js +1 -1
  230. package/dist/packages/protocol/src/toolsets.js +1 -1
  231. package/dist/packages/protocol/src/util/url.js +1 -1
  232. package/dist/packages/provider/src/anthropic.js +1 -1
  233. package/dist/packages/provider/src/catalog.js +1 -1
  234. package/dist/packages/provider/src/custom.js +1 -1
  235. package/dist/packages/provider/src/faux-stream.js +1 -1
  236. package/dist/packages/provider/src/google.js +1 -1
  237. package/dist/packages/provider/src/huggingface.js +1 -1
  238. package/dist/packages/provider/src/index.js +1 -1
  239. package/dist/packages/provider/src/llama-cpp.js +1 -1
  240. package/dist/packages/provider/src/nvidia.js +1 -1
  241. package/dist/packages/provider/src/ollama.js +1 -1
  242. package/dist/packages/provider/src/openai.js +1 -1
  243. package/dist/packages/provider/src/types.js +1 -1
  244. package/dist/packages/provider/src/xai.js +1 -1
  245. package/dist/packages/sandbox/src/gate.js +1 -1
  246. package/dist/packages/sandbox/src/index.js +1 -1
  247. package/dist/packages/sandbox/src/spawn.js +1 -1
  248. package/dist/packages/sandbox/src/types.js +1 -1
  249. package/dist/packages/sandbox/src/violation.js +1 -1
  250. package/dist/packages/schema/src/index.js +1 -1
  251. package/dist/packages/sdk/src/index.js +1 -1
  252. package/dist/packages/server/src/cors.js +1 -1
  253. package/dist/packages/server/src/daemon.js +1 -1
  254. package/dist/packages/server/src/github-app.js +1 -1
  255. package/dist/packages/server/src/github-autofix.js +1 -1
  256. package/dist/packages/server/src/github-jobs.js +1 -1
  257. package/dist/packages/server/src/github-oauth.js +1 -1
  258. package/dist/packages/server/src/index.js +1 -1
  259. package/dist/packages/server/src/install-ps1.js +1 -1
  260. package/dist/packages/server/src/license-store.js +1 -1
  261. package/dist/packages/session-backends/src/index.js +1 -1
  262. package/dist/packages/session-backends/src/transcript.js +1 -1
  263. package/dist/packages/telemetry/src/index.js +1 -1
  264. package/dist/packages/tui/src/app/app-state.js +1 -1
  265. package/dist/packages/tui/src/app/events.js +1 -1
  266. package/dist/packages/tui/src/approval-notification.js +1 -1
  267. package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
  268. package/dist/packages/tui/src/bottom_pane/index.js +1 -1
  269. package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
  270. package/dist/packages/tui/src/chatwidget/index.js +1 -1
  271. package/dist/packages/tui/src/dialogs.js +1 -1
  272. package/dist/packages/tui/src/index.js +1 -1
  273. package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
  274. package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
  275. package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
  276. package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
  277. package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
  278. package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
  279. package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
  280. package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
  281. package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
  282. package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
  283. package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
  284. package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
  285. package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
  286. package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
  287. package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
  288. package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
  289. package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
  290. package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
  291. package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
  292. package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
  293. package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
  294. package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
  295. package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
  296. package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
  297. package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
  298. package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
  299. package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
  300. package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
  301. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
  302. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
  303. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
  304. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
  305. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
  306. package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
  307. package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
  308. package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
  309. package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
  310. package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
  311. package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
  312. package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
  313. package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
  314. package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
  315. package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
  316. package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
  317. package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
  318. package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
  319. package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
  320. package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
  321. package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
  322. package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
  323. package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
  324. package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
  325. package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
  326. package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
  327. package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
  328. package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
  329. package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
  330. package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
  331. package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
  332. package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
  333. package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
  334. package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
  335. package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
  336. package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
  337. package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
  338. package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
  339. package/dist/packages/tui/src/keybindings.js +1 -1
  340. package/dist/packages/tui/src/keys.js +1 -1
  341. package/dist/packages/tui/src/notifications.js +1 -1
  342. package/dist/packages/tui/src/premium-ui.js +1 -1
  343. package/dist/packages/tui/src/stdin-buffer.js +1 -1
  344. package/dist/packages/tui/src/terminal-ui.js +1 -1
  345. package/dist/packages/tui/src/tui/terminal.js +1 -1
  346. package/dist/packages/tui/src/ui/border.js +1 -1
  347. package/dist/packages/tui/src/ui/box.js +1 -1
  348. package/dist/packages/tui/src/ui/dialog.js +1 -1
  349. package/dist/packages/tui/src/ui/footer-mode.js +1 -1
  350. package/dist/packages/tui/src/ui/footer.js +1 -1
  351. package/dist/packages/tui/src/ui/key-hint.js +1 -1
  352. package/dist/packages/tui/src/ui/skt-themes.js +1 -1
  353. package/dist/packages/tui/src/ui/spinner.js +1 -1
  354. package/dist/packages/tui/src/ui/theme.js +1 -1
  355. package/dist/packages/tui/src/ui/toast.js +1 -1
  356. package/dist/packages/tui/src/ui/tool-display.js +1 -1
  357. package/dist/packages/tui/src/ui/tool-palette.js +1 -1
  358. package/dist/skt/0-points/points.js +1 -1
  359. package/dist/skt/1-errors/mistake.js +1 -1
  360. package/dist/skt/1-errors/penalty.js +1 -1
  361. package/dist/skt/10-upload/upload.js +1 -1
  362. package/dist/skt/11-ui/components.js +1 -1
  363. package/dist/skt/12-control/content-control.js +1 -1
  364. package/dist/skt/12-control/hallucination.js +1 -1
  365. package/dist/skt/12-control/points.js +1 -1
  366. package/dist/skt/12-control/repetition.js +1 -1
  367. package/dist/skt/12-control/verification.js +1 -1
  368. package/dist/skt/13-healing/ast-validator.js +1 -1
  369. package/dist/skt/13-healing/healing-controller.js +1 -1
  370. package/dist/skt/13-healing/journal.js +1 -1
  371. package/dist/skt/13-healing/rollback.js +1 -1
  372. package/dist/skt/13-healing/scratchpad.js +1 -1
  373. package/dist/skt/13-healing/subprocess.js +1 -1
  374. package/dist/skt/13-healing/verify.js +1 -1
  375. package/dist/skt/14-hooks/codec.js +1 -1
  376. package/dist/skt/14-hooks/events.js +1 -1
  377. package/dist/skt/14-hooks/matcher.js +1 -1
  378. package/dist/skt/14-hooks/merge.js +1 -1
  379. package/dist/skt/14-hooks/runner.js +1 -1
  380. package/dist/skt/14-hooks/types.js +1 -1
  381. package/dist/skt/3-user/instructions.js +1 -1
  382. package/dist/skt/4-mem/memory.js +1 -1
  383. package/dist/skt/5-eval/cot-chain.js +1 -1
  384. package/dist/skt/5-eval/cot.js +1 -1
  385. package/dist/skt/5-eval/eval.js +1 -1
  386. package/dist/skt/6-u/improvements.js +1 -1
  387. package/dist/skt/6-u/reward.js +1 -1
  388. package/dist/skt/7-cli/autorepair.js +1 -1
  389. package/dist/skt/7-cli/clibugs.js +1 -1
  390. package/dist/skt/7-cli/reinstall.js +1 -1
  391. package/dist/skt/7-cli/reset.js +1 -1
  392. package/dist/skt/9-session/session.js +1 -1
  393. package/dist/skt/context.js +1 -1
  394. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_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(_0x421254,_0x889a4b,_0x225732,_0x401dbf){if(_0x401dbf===undefined)_0x401dbf=_0x225732;var _0x9681d9=Object['getOwnPropertyDescriptor'](_0x889a4b,_0x225732);(!_0x9681d9||('get'in _0x9681d9?!_0x889a4b['__esModule']:_0x9681d9['writable']||_0x9681d9['configurable']))&&(_0x9681d9={'enumerable':!![],'get':function(){return _0x889a4b[_0x225732];}}),Object['defineProperty'](_0x421254,_0x401dbf,_0x9681d9);}:function(_0x83ca2e,_0x25e6f0,_0x1da20e,_0x2630bc){if(_0x2630bc===undefined)_0x2630bc=_0x1da20e;_0x83ca2e[_0x2630bc]=_0x25e6f0[_0x1da20e];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x291757,_0x35f750){Object['defineProperty'](_0x291757,'default',{'enumerable':!![],'value':_0x35f750});}:function(_0x1d9b8c,_0x51e0f3){_0x1d9b8c['default']=_0x51e0f3;}),__importStar=this&&this['__importStar']||(function(){var _0x4e1ff4=function(_0x360364){return _0x4e1ff4=Object['getOwnPropertyNames']||function(_0x188dea){var _0x2f6052=[];for(var _0x1ec9aa in _0x188dea)if(Object['prototype']['hasOwnProperty']['call'](_0x188dea,_0x1ec9aa))_0x2f6052[_0x2f6052['length']]=_0x1ec9aa;return _0x2f6052;},_0x4e1ff4(_0x360364);};return function(_0x45ac2d){if(_0x45ac2d&&_0x45ac2d['__esModule'])return _0x45ac2d;var _0x4955a0={};if(_0x45ac2d!=null){for(var _0x59b330=_0x4e1ff4(_0x45ac2d),_0x423185=0x0;_0x423185<_0x59b330['length'];_0x423185++)if(_0x59b330[_0x423185]!=='default')__createBinding(_0x4955a0,_0x45ac2d,_0x59b330[_0x423185]);}return __setModuleDefault(_0x4955a0,_0x45ac2d),_0x4955a0;};}());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(_0x3243c7){return EXT_LANG[path['extname'](_0x3243c7)['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(_0x58d4a2,_0x13003e){const _0x2b6296=[],_0x105fb7=_0x58d4a2['split']('\x0a');for(let _0x31afbc=0x0;_0x31afbc<_0x105fb7['length'];_0x31afbc++){const _0x55e1f0=_0x105fb7[_0x31afbc];for(const _0x2146d8 of PATTERNS[_0x13003e]){const _0x4e9491=_0x2146d8['re']['exec'](_0x55e1f0);if(!_0x4e9491)continue;const _0x301b2c=_0x4e9491[_0x2146d8['nameIndex']];if(KEYWORDS['has'](_0x301b2c))continue;_0x2b6296['push']({'line':_0x31afbc+0x1,'kind':_0x2146d8['kind'],'name':_0x301b2c,'signature':_0x55e1f0['trim']()['slice'](0x0,0x78)});break;}}return _0x2b6296;}function searchSymbols(_0x1ccd61,_0x462ab,_0x166ef2={}){const _0x126d0c=_0x166ef2['glob']??'*',_0x39e5aa=_0x166ef2['maxResults']??0x3c,_0x129709=_0x166ef2['ignoreCase']?_0x462ab['toLowerCase']():_0x462ab,_0x40c04a=[];return(0x0,fs_walk_js_1['walkFiles'])(_0x1ccd61,(_0x307db5,_0x2cbd7c)=>{if(_0x40c04a['length']>=_0x39e5aa)return;if(!(0x0,fs_walk_js_1['matchGlob'])(_0x126d0c,_0x2cbd7c))return;if(languageOf(_0x2cbd7c)===null)return;let _0x150acd;try{_0x150acd=fs['statSync'](_0x307db5);}catch{return;}if(_0x150acd['size']>0x400*0x400)return;let _0x44da67;try{_0x44da67=fs['readFileSync'](_0x307db5,'utf8');}catch{return;}if(!/^[\t\n\r\x20-\x7e\xa0-\uffff]*$/['test'](_0x44da67))return;const _0x362b7a=languageOf(_0x2cbd7c);for(const _0x5a4b30 of extractSymbols(_0x44da67,_0x362b7a)){if(_0x40c04a['length']>=_0x39e5aa)break;const _0x57cbe5=_0x166ef2['ignoreCase']?_0x5a4b30['name']['toLowerCase']():_0x5a4b30['name'];if(_0x57cbe5!==_0x129709)continue;_0x40c04a['push']({'file':_0x2cbd7c,'line':_0x5a4b30['line'],'kind':_0x5a4b30['kind'],'name':_0x5a4b30['name'],'signature':_0x5a4b30['signature']});}}),_0x40c04a;}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'(_0x320be3,_0x119503,_0x4791bb,_0x1bb878,_0x1cd55d){const _0x10917b=_0x1cd55d,_0x11fa93=String(_0x119503['name']??'');if(!_0x11fa93)return(0x0,types_js_1['textResult'])('Missing\x20\x27name\x27.',!![]);const _0x581215=path['resolve'](_0x10917b['cwd'],typeof _0x119503['path']==='string'?_0x119503['path']:'.'),_0x485be6=searchSymbols(_0x581215,_0x11fa93,{'glob':typeof _0x119503['glob']==='string'?_0x119503['glob']:undefined,'maxResults':typeof _0x119503['max_results']==='number'?_0x119503['max_results']:undefined,'ignoreCase':Boolean(_0x119503['ignore_case'])});if(_0x485be6['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20definitions\x20of\x20\x27'+_0x11fa93+'\x27\x20in\x20'+_0x581215);const _0x24ef14=_0x485be6['map'](_0x5cfe46=>'\x20\x20'+_0x5cfe46['file']+':'+_0x5cfe46['line']+'\x20['+_0x5cfe46['kind']+']\x20'+_0x5cfe46['name']+'\x20—\x20'+_0x5cfe46['signature'])['join']('\x0a');return(0x0,types_js_1['textResult'])(_0x485be6['length']+'\x20definition(s)\x20of\x20\x27'+_0x11fa93+'\x27:\x0a'+_0x24ef14);}};}
@@ -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 _0x117c23=Date['now']();for(const [_0x53d5f7,_0x1c6aea]of backgroundJobs){_0x1c6aea['state']==='done'&&_0x1c6aea['settledAt']!==undefined&&_0x117c23-_0x1c6aea['settledAt']>COMPLETED_RETENTION_MS&&backgroundJobs['delete'](_0x53d5f7);}}function resetBackgroundJobsForTests(){for(const _0x19dab5 of backgroundJobs['values']()){if(_0x19dab5['state']==='running')void _0x19dab5['kill']?.()['catch'](()=>{});}backgroundJobs['clear']();}async function startBackgroundJob(_0x10ae7c){sweepBackgroundJobs();const _0x10003d=[...backgroundJobs['values']()]['filter'](_0x3250bb=>_0x3250bb['state']==='running')['length'];if(_0x10003d>=MAX_BACKGROUND_JOBS)return(0x0,types_js_1['textResult'])('Too\x20many\x20background\x20jobs\x20running\x20('+_0x10003d+'/'+MAX_BACKGROUND_JOBS+').\x20Poll\x20existing\x20jobs\x20with\x20job_id\x20or\x20kill\x20them\x20first.',!![]);const _0x415363=(0x0,crypto_1['randomUUID'])(),_0x328c62={'id':_0x415363,'command':_0x10ae7c['command'],'cwd':_0x10ae7c['ctx']['cwd'],'startedAt':Date['now'](),'timeoutMs':_0x10ae7c['timeoutMs'],'state':'running'};backgroundJobs['set'](_0x415363,_0x328c62);if((0x0,index_js_1['shouldUseOsSandbox'])(_0x10ae7c['sandboxType'])){let _0x2d6635;try{_0x2d6635=await(_0x10ae7c['spawnFn']??index_js_1['spawnProcess'])(osSpawnRequest({'shell':_0x10ae7c['shell'],'shellArgs':_0x10ae7c['shellArgs'],'command':_0x10ae7c['command'],'cwd':_0x10ae7c['ctx']['cwd'],'env':_0x10ae7c['safeEnv'],'sandboxType':_0x10ae7c['sandboxType'],'networkDisabled':_0x10ae7c['networkDisabled'],'timeoutMs':_0x10ae7c['timeoutMs']}));}catch(_0x437a21){return backgroundJobs['delete'](_0x415363),(0x0,types_js_1['textResult'])('Failed\x20to\x20start\x20background\x20job:\x20'+(_0x437a21 instanceof Error?_0x437a21['message']:String(_0x437a21)),!![]);}return _0x328c62['pid']=_0x2d6635['pid'],_0x328c62['kill']=_0x2d6635['kill'],void _0x2d6635['waitForExit']()['then'](async _0x10e9ba=>{_0x328c62['output']=await _0x2d6635['readAll']()['catch'](()=>''),_0x328c62['exitCode']=_0x10e9ba,_0x328c62['settledAt']=Date['now'](),_0x328c62['state']='done';})['catch'](()=>{_0x328c62['output']=_0x328c62['output']??'',_0x328c62['exitCode']=0x1,_0x328c62['settledAt']=Date['now'](),_0x328c62['state']='done';}),(0x0,types_js_1['textResult'])('Background\x20job\x20started.\x0ajob_id:\x20'+_0x415363+'\x0acommand:\x20'+_0x10ae7c['command']+'\x0atimeout:\x20'+_0x10ae7c['timeoutSec']+'s\x0asandbox:\x20os\x20('+_0x2d6635['sandboxType']+')\x0a\x0aPoll\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x415363+'\x22})\x20for\x20status\x20and\x20output;\x20stop\x20it\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x415363+'\x22,\x20\x22action\x22:\x20\x22kill\x22}).');}const _0x1e0371=new process_js_1['ProcessManager']();let _0x4a2aa7;try{_0x4a2aa7=await _0x1e0371['spawn']({'command':[_0x10ae7c['shell'],..._0x10ae7c['shellArgs'],_0x10ae7c['command']],'cwd':_0x10ae7c['ctx']['cwd'],'env':_0x10ae7c['safeEnv'],'timeoutMs':_0x10ae7c['timeoutMs'],'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'processGroup':!![]});}catch(_0x42dfb9){return backgroundJobs['delete'](_0x415363),(0x0,types_js_1['textResult'])('Failed\x20to\x20start\x20background\x20job:\x20'+(_0x42dfb9 instanceof Error?_0x42dfb9['message']:String(_0x42dfb9)),!![]);}return _0x328c62['pid']=_0x4a2aa7['pid'],_0x328c62['kill']=_0x4a2aa7['kill'],void _0x4a2aa7['exitCode']['then'](async _0xedb6fd=>{const _0x145317=await _0x4a2aa7['output']['catch'](()=>'');_0x328c62['output']=_0x145317,_0x328c62['exitCode']=_0xedb6fd,_0x328c62['settledAt']=Date['now'](),_0x328c62['state']='done';})['catch'](()=>{_0x328c62['output']=_0x328c62['output']??'',_0x328c62['exitCode']=0x1,_0x328c62['settledAt']=Date['now'](),_0x328c62['state']='done';}),(0x0,types_js_1['textResult'])('Background\x20job\x20started.\x0ajob_id:\x20'+_0x415363+'\x0acommand:\x20'+_0x10ae7c['command']+'\x0atimeout:\x20'+_0x10ae7c['timeoutSec']+'s\x0a\x0aPoll\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x415363+'\x22})\x20for\x20status\x20and\x20output;\x20stop\x20it\x20with\x20bash({\x22job_id\x22:\x20\x22'+_0x415363+'\x22,\x20\x22action\x22:\x20\x22kill\x22}).');}async function handleJobOperation(_0x1eb3ce,_0x347adf,_0x3ac8d9){sweepBackgroundJobs();if(_0x347adf!==undefined&&_0x347adf!=='status'&&_0x347adf!=='kill')return(0x0,types_js_1['textResult'])('Unknown\x20action\x20\x27'+String(_0x347adf)+'\x27.\x20Use\x20\x22status\x22\x20or\x20\x22kill\x22.',!![]);const _0x58c448=backgroundJobs['get'](_0x1eb3ce);if(!_0x58c448)return(0x0,types_js_1['textResult'])('Unknown\x20job_id\x20\x27'+_0x1eb3ce+'\x27.\x20Jobs\x20stay\x20available\x20for\x20'+Math['round'](COMPLETED_RETENTION_MS/0xea60)+'\x20minutes\x20after\x20they\x20finish.',!![]);if(_0x347adf==='kill'){if(_0x58c448['state']==='done')return(0x0,types_js_1['textResult'])('Job\x20'+_0x1eb3ce+'\x20already\x20finished\x20(exit\x20'+(_0x58c448['exitCode']??'?')+').');return _0x58c448['killRequested']=!![],await _0x58c448['kill']?.()['catch'](()=>{}),(0x0,types_js_1['textResult'])('Job\x20'+_0x1eb3ce+'\x20killed:\x20'+_0x58c448['command']);}if(_0x58c448['state']==='running'){const _0x39dcf2=Math['round']((Date['now']()-_0x58c448['startedAt'])/0x3e8);return(0x0,types_js_1['textResult'])('Job\x20'+_0x1eb3ce+'\x20still\x20running\x20('+_0x39dcf2+'s)\x0acommand:\x20'+_0x58c448['command']+'\x0acwd:\x20'+_0x58c448['cwd']+'\x0aOutput\x20is\x20collected\x20when\x20the\x20job\x20finishes\x20—\x20poll\x20again\x20for\x20the\x20result.');}const _0xb5ea62=(0x0,types_js_1['truncateOutput'])(_0x58c448['output']??'',_0x3ac8d9['config']),_0x67205=[];_0x58c448['settledAt']!==undefined&&_0x58c448['settledAt']-_0x58c448['startedAt']>=_0x58c448['timeoutMs']&&_0x67205['push']('[hit\x20the\x20'+Math['round'](_0x58c448['timeoutMs']/0x3e8)+'s\x20timeout\x20and\x20was\x20killed]');if(_0x58c448['killRequested'])_0x67205['push']('[killed\x20on\x20request]');if(_0x58c448['exitCode']!==0x0)_0x67205['push']('[exit\x20code\x20'+_0x58c448['exitCode']+']');const _0x438bf8=_0x67205['length']>0x0?'\x0a\x0a'+_0x67205['join']('\x0a'):'';return(0x0,types_js_1['textResult'])('Job\x20'+_0x1eb3ce+'\x20finished\x0acommand:\x20'+_0x58c448['command']+'\x0a\x0a'+_0xb5ea62['text']+_0x438bf8,_0x58c448['exitCode']!==0x0);}function osSpawnRequest(_0x521a50){return{'command':[_0x521a50['shell'],..._0x521a50['shellArgs'],_0x521a50['command']],'cwd':_0x521a50['cwd'],'sandboxType':_0x521a50['sandboxType'],'env':_0x521a50['env'],'networkPolicy':{'disableNetwork':_0x521a50['networkDisabled'],'allowedDomains':[],'blockedDomains':[]},'filesystemPolicy':{'writableRoots':[_0x521a50['cwd']],'readOnlySubpaths':[],'denyReadPaths':[],'denyWritePaths':[]},'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'timeoutMs':_0x521a50['timeoutMs'],'signal':_0x521a50['signal']};}function runForegroundOsSandboxed(_0x4ce5b3){const _0x1493a1=_0x4ce5b3['spawnFn']??index_js_1['spawnProcess'];return new Promise(_0x49e478=>{let _0x34a66e=![],_0x1384aa;const _0x3256dc=_0x468928=>{if(_0x34a66e)return;_0x34a66e=!![],clearTimeout(_0x2f7880),_0x4ce5b3['signal']?.['removeEventListener']('abort',_0x27cf51),_0x49e478(_0x468928);},_0x2f7880=setTimeout(()=>{!_0x34a66e&&(_0x34a66e=!![],void _0x1384aa?.['kill']('SIGKILL'),_0x49e478((0x0,types_js_1['textResult'])('Command\x20timed\x20out\x20after\x20'+_0x4ce5b3['timeoutSec']+'s',!![])));},_0x4ce5b3['timeoutMs']),_0x27cf51=()=>{!_0x34a66e&&(_0x34a66e=!![],clearTimeout(_0x2f7880),void _0x1384aa?.['kill']('SIGKILL'),_0x49e478((0x0,types_js_1['textResult'])('Command\x20aborted',!![])));};_0x4ce5b3['signal']?.['addEventListener']('abort',_0x27cf51,{'once':!![]}),_0x1493a1(osSpawnRequest({'shell':_0x4ce5b3['shell'],'shellArgs':_0x4ce5b3['shellArgs'],'command':_0x4ce5b3['command'],'cwd':_0x4ce5b3['ctx']['cwd'],'env':_0x4ce5b3['safeEnv'],'sandboxType':_0x4ce5b3['sandboxType'],'networkDisabled':_0x4ce5b3['networkDisabled'],'timeoutMs':_0x4ce5b3['timeoutMs'],'signal':_0x4ce5b3['signal']}))['then'](async _0x43c174=>{_0x1384aa=_0x43c174;if(_0x34a66e){void _0x43c174['kill']('SIGKILL');return;}const _0x323ac6=await _0x43c174['readAll']()['catch'](()=>''),_0x2c3331=await _0x43c174['waitForExit'](),_0x30808c=(0x0,types_js_1['truncateOutput'])(_0x323ac6,_0x4ce5b3['ctx']['config']),_0x204b97=_0x2c3331!==0x0,_0x223c01=_0x204b97?'\x0a\x0a[exit\x20code\x20'+_0x2c3331+']':'';_0x3256dc((0x0,types_js_1['textResult'])(''+_0x30808c['text']+_0x223c01+'\x0a\x0a[sandbox:\x20os\x20('+_0x43c174['sandboxType']+')]',_0x204b97));})['catch'](_0x4eaef2=>{_0x3256dc((0x0,types_js_1['textResult'])('Command\x20failed:\x20'+(_0x4eaef2 instanceof Error?_0x4eaef2['message']:String(_0x4eaef2)),!![]));});});}function buildBashEnv(_0x13cbc6,_0x411eeb,_0x390ea2){const _0xe75881={};for(const [_0x9d90fe,_0x458a23]of Object['entries'](_0x13cbc6)){if(typeof _0x458a23==='string')_0xe75881[_0x9d90fe]=_0x458a23;}return(0x0,env_filter_js_1['getSafeEnv'])((0x0,index_js_1['filterEnv'])(_0xe75881,{}),_0x411eeb,_0x390ea2);}function createBashTool(_0x31834a){return{'definition':definition,async 'execute'(_0x6c3af0,_0x18d4f9,_0xea1946,_0x40392d,_0x3dc6b3){try{if(_0xea1946?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x1a0dc4=_0x3dc6b3;if(typeof _0x18d4f9['job_id']==='string'&&_0x18d4f9['job_id']['length']>0x0)return await handleJobOperation(_0x18d4f9['job_id'],_0x18d4f9['action'],_0x1a0dc4);const _0x30a1e4=String(_0x18d4f9['command']??'');if(!_0x30a1e4)return(0x0,types_js_1['textResult'])('Missing\x20\x27command\x27.',!![]);const _0x162bbb=_0x18d4f9['background']===!![],_0x3ae254=_0x162bbb?typeof _0x18d4f9['timeout']==='number'?Math['max'](0x1,Math['min'](0xe10,_0x18d4f9['timeout'])):0x258:typeof _0x18d4f9['timeout']==='number'?Math['max'](0x1,Math['min'](0x12c,_0x18d4f9['timeout'])):0x1e,_0x53ada1=_0x3ae254*0x3e8,_0x383290=_0x1a0dc4['config'],_0x3ef16c=_0x383290['shellCommand']['match'](/(?:[^\s"]+|"[^"]*")+/g)??[_0x383290['shellCommand']],_0x387266=_0x3ef16c[0x0]['replace'](/^"|"$/g,''),_0x2e3c07=_0x3ef16c['slice'](0x1),_0x2180d8=(0x0,policy_js_1['evaluatePolicy'])(_0x30a1e4);if(_0x2180d8==='deny')return(0x0,types_js_1['textResult'])('Permission\x20denied\x20by\x20exec\x20policy:\x20'+_0x30a1e4,!![]);if(_0x2180d8==='ask'){const _0xe86dad=await _0x1a0dc4['requestPermission']?.('bash',_0x30a1e4,'Exec\x20policy\x20requires\x20approval');if(_0xe86dad===![])return(0x0,types_js_1['textResult'])('Permission\x20denied\x20by\x20exec\x20policy:\x20'+_0x30a1e4,!![]);}const _0x1a20e9=(0x0,index_js_2['checkAutoApproval'])(_0x30a1e4),_0x3cae74=_0x1a20e9==='allow';if(!(0x0,permissions_js_1['isCommandAllowed'])('bash',_0x30a1e4,_0x1a0dc4['permissions'])){if(_0x3cae74){}else{const _0x2c24d1=await _0x1a0dc4['requestPermission']?.('bash',_0x30a1e4,'Risky\x20bash\x20command\x20blocked\x20by\x20permissions');if(_0x2c24d1===![])return(0x0,types_js_1['textResult'])('Permission\x20denied\x20for\x20command:\x20'+_0x30a1e4,!![]);if(_0x2c24d1===undefined&&(0x0,permissions_js_1['isCommandDangerous'])('bash',_0x30a1e4,_0x1a0dc4['permissions']))return(0x0,types_js_1['textResult'])('Permission\x20denied\x20(headless):\x20command\x20matches\x20a\x20deny\x20rule\x20and\x20no\x20approver\x20is\x20available:\x20'+_0x30a1e4,!![]);}}(0x0,env_filter_js_1['validateEnv'])(process.env);const _0x4192b3=_0x1a0dc4['permissions'],_0x50de1d=(0x0,index_js_1['detectSandboxType'])(_0x4192b3),_0x538d6a=_0x4192b3['__networkPolicy']&&typeof _0x4192b3['__networkPolicy']==='object'?_0x4192b3['__networkPolicy']['disableNetwork']??![]:![],_0x1b1f68=buildBashEnv(process.env,_0x50de1d,_0x538d6a);if(_0x162bbb)return await startBackgroundJob({'command':_0x30a1e4,'shell':_0x387266,'shellArgs':_0x2e3c07,'ctx':_0x1a0dc4,'safeEnv':_0x1b1f68,'timeoutMs':_0x53ada1,'timeoutSec':_0x3ae254,'sandboxType':_0x50de1d,'networkDisabled':_0x538d6a,'spawnFn':_0x31834a?.['spawnFn']});if((0x0,index_js_1['shouldUseOsSandbox'])(_0x50de1d))return runForegroundOsSandboxed({'shell':_0x387266,'shellArgs':_0x2e3c07,'command':_0x30a1e4,'ctx':_0x1a0dc4,'safeEnv':_0x1b1f68,'sandboxType':_0x50de1d,'networkDisabled':_0x538d6a,'timeoutMs':_0x53ada1,'timeoutSec':_0x3ae254,'signal':_0xea1946,'spawnFn':_0x31834a?.['spawnFn']});return new Promise(_0x55fca3=>{let _0x252fff=![];const _0x15d885=new process_js_1['ProcessManager'](),_0x4f6b95=setTimeout(()=>{!_0x252fff&&(_0x252fff=!![],_0x15d885['killAll']()['catch'](()=>{}),_0x55fca3((0x0,types_js_1['textResult'])('Command\x20timed\x20out\x20after\x20'+_0x3ae254+'s',!![])));},_0x53ada1),_0x4fc4d9=()=>{!_0x252fff&&(_0x252fff=!![],clearTimeout(_0x4f6b95),_0x15d885['killAll']()['catch'](()=>{}),_0x55fca3((0x0,types_js_1['textResult'])('Command\x20aborted',!![])));};_0xea1946?.['addEventListener']('abort',_0x4fc4d9,{'once':!![]}),_0x15d885['spawn']({'command':[_0x387266,..._0x2e3c07,_0x30a1e4],'cwd':_0x1a0dc4['cwd'],'env':_0x1b1f68,'timeoutMs':_0x53ada1,'outputCap':index_js_1['OUTPUT_MAX_BYTES'],'processGroup':!![],'signal':_0xea1946})['then'](async({exitCode:_0x447441,output:_0x467b49})=>{const _0x1feb74=await _0x467b49['catch'](()=>'');clearTimeout(_0x4f6b95),_0xea1946?.['removeEventListener']('abort',_0x4fc4d9);if(!_0x252fff){_0x252fff=!![];const _0x4e03e6=(0x0,types_js_1['truncateOutput'])(_0x1feb74,_0x383290),_0x53565e=await _0x447441['catch'](()=>0x1),_0x52499d=_0x53565e!==0x0,_0x2244c1=_0x52499d?'\x0a\x0a[exit\x20code\x20'+_0x53565e+']':'';_0x55fca3((0x0,types_js_1['textResult'])(_0x4e03e6['text']+_0x2244c1,_0x52499d));}})['catch'](_0x294796=>{!_0x252fff&&(_0x252fff=!![],clearTimeout(_0x4f6b95),_0xea1946?.['removeEventListener']('abort',_0x4fc4d9),_0x55fca3((0x0,types_js_1['textResult'])('Command\x20failed:\x20'+_0x294796['message'],!![])));});});}catch(_0x28c922){return(0x0,types_js_1['textResult'])('Bash\x20error:\x20'+(_0x28c922 instanceof Error?_0x28c922['message']:String(_0x28c922)),!![]);}}};}
@@ -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 _0x3a212a of sessions['values']()){try{killTree(_0x3a212a);}catch{}}sessions['clear']();}function killTree(_0x42903d){const _0x27b6e1=_0x42903d['child']['pid'];if(_0x27b6e1!==undefined&&process['platform']!=='win32')try{process['kill'](-_0x27b6e1,'SIGKILL');return;}catch{}try{_0x42903d['child']['kill']('SIGKILL');}catch{}}function appendOutput(_0xc520bd,_0x25a0e8){_0xc520bd['buffer']+=_0x25a0e8,_0xc520bd['bufferBytes']+=Buffer['byteLength'](_0x25a0e8,'utf8'),_0xc520bd['totalBytes']+=Buffer['byteLength'](_0x25a0e8,'utf8');if(_0xc520bd['bufferBytes']>exports['TERMINAL_OUTPUT_CAP']){const _0xe142bd=_0xc520bd['bufferBytes']-exports['TERMINAL_OUTPUT_CAP'];let _0xce5405=0x0,_0x4244fc=0x0;while(_0xce5405<_0xc520bd['buffer']['length']&&_0x4244fc<_0xe142bd){_0x4244fc+=Buffer['byteLength'](_0xc520bd['buffer'][_0xce5405],'utf8'),_0xce5405++;}_0xc520bd['buffer']=_0xc520bd['buffer']['slice'](_0xce5405),_0xc520bd['bufferBytes']-=_0x4244fc;}}function publicView(_0x12f509){return{'id':_0x12f509['id'],'shell':_0x12f509['shell'],'cwd':_0x12f509['cwd'],'startedAt':_0x12f509['startedAt'],'live':_0x12f509['live'],'exitCode':_0x12f509['exitCode'],'totalBytes':_0x12f509['totalBytes']};}function createTerminalSession(_0x248250,_0x57675d,_0x118113){const _0x1d8479=[...sessions['values']()]['filter'](_0x422e5b=>_0x422e5b['live'])['length'];if(_0x1d8479>=exports['TERMINAL_MAX_SESSIONS'])throw new Error('Too\x20many\x20live\x20terminals\x20('+_0x1d8479+'/'+exports['TERMINAL_MAX_SESSIONS']+').\x20Kill\x20one\x20first.');const _0x521a77=(0x0,node_child_process_1['spawn'])(_0x248250,[],{'cwd':_0x57675d,'env':_0x118113,'stdio':['pipe','pipe','pipe'],'windowsHide':!![],'detached':process['platform']!=='win32'}),_0x5ac8f1={'id':(0x0,node_crypto_1['randomUUID'])(),'shell':_0x248250,'cwd':_0x57675d,'startedAt':Date['now'](),'live':!![],'exitCode':null,'totalBytes':0x0,'child':_0x521a77,'buffer':'','bufferBytes':0x0};return _0x521a77['stdout']?.['on']('data',_0x509900=>appendOutput(_0x5ac8f1,_0x509900['toString']('utf8'))),_0x521a77['stderr']?.['on']('data',_0x3441d2=>appendOutput(_0x5ac8f1,_0x3441d2['toString']('utf8'))),_0x521a77['on']('close',_0x47126b=>{_0x5ac8f1['live']=![],_0x5ac8f1['exitCode']=_0x47126b??0x1;}),_0x521a77['on']('error',()=>{_0x5ac8f1['live']=![],_0x5ac8f1['exitCode']=_0x5ac8f1['exitCode']??0x1;}),sessions['set'](_0x5ac8f1['id'],_0x5ac8f1),publicView(_0x5ac8f1);}function sendTerminalInput(_0x4ed375,_0x1e3832){const _0x4f4f0a=sessions['get'](_0x4ed375);if(!_0x4f4f0a)throw new Error('Unknown\x20terminal\x20\x27'+_0x4ed375+'\x27.');if(!_0x4f4f0a['live'])throw new Error('Terminal\x20\x27'+_0x4ed375+'\x27\x20exited\x20(code\x20'+(_0x4f4f0a['exitCode']??'?')+').');if(Buffer['byteLength'](_0x1e3832,'utf8')>exports['TERMINAL_INPUT_CAP'])throw new Error('Input\x20exceeds\x20'+exports['TERMINAL_INPUT_CAP']+'\x20bytes.');const _0x20ac5=_0x4f4f0a['child']['stdin'];if(!_0x20ac5||_0x20ac5['destroyed'])throw new Error('Terminal\x20\x27'+_0x4ed375+'\x27\x20stdin\x20is\x20closed.');_0x20ac5['write'](_0x1e3832['endsWith']('\x0a')?_0x1e3832:_0x1e3832+'\x0a');}function readTerminalOutput(_0x8a6962,_0x216974=0x0){const _0x516157=sessions['get'](_0x8a6962);if(!_0x516157)throw new Error('Unknown\x20terminal\x20\x27'+_0x8a6962+'\x27.');const _0x26d5e3=_0x516157['totalBytes']-_0x516157['bufferBytes'],_0x5eebc9=Math['max'](0x0,_0x216974-_0x26d5e3);return{'output':_0x516157['buffer']['slice'](_0x5eebc9),'offset':_0x516157['totalBytes'],'live':_0x516157['live']};}function killTerminal(_0x1dcd44){const _0x306360=sessions['get'](_0x1dcd44);if(!_0x306360)throw new Error('Unknown\x20terminal\x20\x27'+_0x1dcd44+'\x27.');if(!_0x306360['live'])return{'exited':!![],'exitCode':_0x306360['exitCode']};return killTree(_0x306360),{'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'(_0x195000,_0x492e29,_0x39cd77,_0x38197a,_0xde652d){const _0x18863e=_0xde652d,_0x4bd871=String(_0x492e29['action']??'')['trim']()['toLowerCase']();switch(_0x4bd871){case'create':{const _0x440132=typeof _0x492e29['shell']==='string'&&_0x492e29['shell']['trim']()?[_0x492e29['shell']['trim']()]:_0x18863e['config']['shellCommand']['match'](/(?:[^\s"]+|"[^"]*")+/g)??[_0x18863e['config']['shellCommand']],_0x3fe523=_0x440132[0x0]['replace'](/^"|"$/g,'');try{const _0x1fd134=createTerminalSession(_0x3fe523,_0x18863e['cwd'],(0x0,env_filter_js_1['getSafeEnv'])(process.env));return(0x0,types_js_1['textResult'])('Terminal\x20started.\x0aid:\x20'+_0x1fd134['id']+'\x0ashell:\x20'+_0x1fd134['shell']+'\x0aSend\x20input\x20with\x20terminal({\x22action\x22:\x20\x22send\x22,\x20\x22id\x22:\x20\x22'+_0x1fd134['id']+'\x22,\x20\x22input\x22:\x20\x22...\x22})');}catch(_0x3ccd2d){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x3ccd2d instanceof Error?_0x3ccd2d['message']:String(_0x3ccd2d)),!![]);}}case'send':{const _0x4e39e8=String(_0x492e29['id']??'');if(!_0x4e39e8)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20send.',!![]);const _0x1109dc=String(_0x492e29['input']??'');if(!_0x1109dc)return(0x0,types_js_1['textResult'])('Missing\x20\x27input\x27\x20for\x20send.',!![]);try{return sendTerminalInput(_0x4e39e8,_0x1109dc),(0x0,types_js_1['textResult'])('Sent\x20to\x20'+_0x4e39e8+'.\x20Read\x20it\x20back\x20with\x20terminal({\x22action\x22:\x20\x22read\x22,\x20\x22id\x22:\x20\x22'+_0x4e39e8+'\x22}).');}catch(_0x46b8dd){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x46b8dd instanceof Error?_0x46b8dd['message']:String(_0x46b8dd)),!![]);}}case'read':{const _0x40255b=String(_0x492e29['id']??'');if(!_0x40255b)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20read.',!![]);const _0xe8976f=typeof _0x492e29['offset']==='number'&&Number['isFinite'](_0x492e29['offset'])?Math['max'](0x0,Math['floor'](_0x492e29['offset'])):0x0;try{const {output:_0x5313ac,offset:_0xad36aa,live:_0x37a65f}=readTerminalOutput(_0x40255b,_0xe8976f),_0x4af873='Terminal\x20'+_0x40255b+'\x20('+(_0x37a65f?'live':'exited')+')\x20—\x20offset\x20'+_0xad36aa+':\x0a';return(0x0,types_js_1['textResult'])(_0x5313ac['length']>0x0?_0x4af873+_0x5313ac:_0x4af873+'(no\x20new\x20output\x20yet)');}catch(_0x532b98){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x532b98 instanceof Error?_0x532b98['message']:String(_0x532b98)),!![]);}}case'list':{const _0x2b34e4=listTerminals();if(_0x2b34e4['length']===0x0)return(0x0,types_js_1['textResult'])('No\x20terminals.');return(0x0,types_js_1['textResult'])(_0x2b34e4['map'](_0x5cd3dd=>'-\x20'+_0x5cd3dd['id']+'\x20['+(_0x5cd3dd['live']?'live':'exited\x20'+(_0x5cd3dd['exitCode']??'?'))+']\x20'+_0x5cd3dd['shell']+'\x20@\x20'+_0x5cd3dd['cwd'])['join']('\x0a'));}case'kill':{const _0x139594=String(_0x492e29['id']??'');if(!_0x139594)return(0x0,types_js_1['textResult'])('Missing\x20\x27id\x27\x20for\x20kill.',!![]);try{const _0x19279f=killTerminal(_0x139594);return(0x0,types_js_1['textResult'])(_0x19279f['exited']?'Terminal\x20'+_0x139594+'\x20already\x20exited\x20('+(_0x19279f['exitCode']??'?')+').':'Terminal\x20'+_0x139594+'\x20killed.');}catch(_0x3fb3df){return(0x0,types_js_1['textResult'])('Error:\x20'+(_0x3fb3df instanceof Error?_0x3fb3df['message']:String(_0x3fb3df)),!![]);}}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(_0x1476b9,_0x725f5f,_0x54205d,_0x20557e){if(_0x20557e===undefined)_0x20557e=_0x54205d;var _0x1426e9=Object['getOwnPropertyDescriptor'](_0x725f5f,_0x54205d);(!_0x1426e9||('get'in _0x1426e9?!_0x725f5f['__esModule']:_0x1426e9['writable']||_0x1426e9['configurable']))&&(_0x1426e9={'enumerable':!![],'get':function(){return _0x725f5f[_0x54205d];}}),Object['defineProperty'](_0x1476b9,_0x20557e,_0x1426e9);}:function(_0x4ac41f,_0x1c07b1,_0x157812,_0x1fb3b8){if(_0x1fb3b8===undefined)_0x1fb3b8=_0x157812;_0x4ac41f[_0x1fb3b8]=_0x1c07b1[_0x157812];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2eca62,_0x525b19){Object['defineProperty'](_0x2eca62,'default',{'enumerable':!![],'value':_0x525b19});}:function(_0x189618,_0x83ef4){_0x189618['default']=_0x83ef4;}),__importStar=this&&this['__importStar']||(function(){var _0xef416f=function(_0x4b8391){return _0xef416f=Object['getOwnPropertyNames']||function(_0x3eb085){var _0x1feae3=[];for(var _0x38a001 in _0x3eb085)if(Object['prototype']['hasOwnProperty']['call'](_0x3eb085,_0x38a001))_0x1feae3[_0x1feae3['length']]=_0x38a001;return _0x1feae3;},_0xef416f(_0x4b8391);};return function(_0x53ee1c){if(_0x53ee1c&&_0x53ee1c['__esModule'])return _0x53ee1c;var _0x5199c2={};if(_0x53ee1c!=null){for(var _0x3dbc9a=_0xef416f(_0x53ee1c),_0x7b1c38=0x0;_0x7b1c38<_0x3dbc9a['length'];_0x7b1c38++)if(_0x3dbc9a[_0x7b1c38]!=='default')__createBinding(_0x5199c2,_0x53ee1c,_0x3dbc9a[_0x7b1c38]);}return __setModuleDefault(_0x5199c2,_0x53ee1c),_0x5199c2;};}());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(_0x573946){if(!_0x573946||!fs['existsSync'](_0x573946))return[];const _0x3c88b9=[],_0x5b825b=fs['readdirSync'](_0x573946,{'withFileTypes':!![]});for(const _0x23fd70 of _0x5b825b){if(!_0x23fd70['isFile']()||!_0x23fd70['name']['endsWith']('.md'))continue;const _0x2db234=path['join'](_0x573946,_0x23fd70['name']);try{const _0x22739f=fs['readFileSync'](_0x2db234,'utf8'),_0x470f95=parseCommandFile(_0x22739f,_0x2db234);if(_0x470f95)_0x3c88b9['push'](_0x470f95);}catch{}}return _0x3c88b9['sort']((_0x234972,_0x14d632)=>_0x234972['name']['localeCompare'](_0x14d632['name']));}function parseCommandFile(_0x554a8c,_0x4e64f0){const _0x3212f1=_0x554a8c['match'](/^---\s*\n([\s\S]*?)\n---\s*\n?([\s\S]*)$/);if(!_0x3212f1)return null;const _0x52a85c=new Map();for(const _0x1eb71b of _0x3212f1[0x1]['split']('\x0a')){const _0x519cd7=_0x1eb71b['match'](/^\s*([^:]+):\s*(.*?)\s*$/);if(_0x519cd7)_0x52a85c['set'](_0x519cd7[0x1],_0x519cd7[0x2]['replace'](/^["']|["']$/g,''));}const _0xa699c7=path['basename'](_0x4e64f0,path['extname'](_0x4e64f0)),_0x533cc4=_0x52a85c['get']('description')??'',_0xaa12ff=_0x52a85c['get']('argument-hint')??'',_0x3b0b6e=_0x3212f1[0x2]['trim']();if(!_0xa699c7)return null;return{'name':_0xa699c7,'description':_0x533cc4,'argumentHint':_0xaa12ff||undefined,'body':_0x3b0b6e,'file':_0x4e64f0};}function defaultRulesDir(){return path['join'](process['cwd'](),'.trayambak','rules');}function loadRulesFromDir(_0x4a9448){if(!_0x4a9448||!fs['existsSync'](_0x4a9448))return[];const _0x3f4fab=[],_0x1a807c=fs['readdirSync'](_0x4a9448,{'withFileTypes':!![]});for(const _0x56e838 of _0x1a807c){if(!_0x56e838['isFile']()||!_0x56e838['name']['endsWith']('.md'))continue;const _0x4f2829=path['join'](_0x4a9448,_0x56e838['name']);try{const _0x12b75a=fs['readFileSync'](_0x4f2829,'utf8'),_0x22721e=path['basename'](_0x56e838['name'],path['extname'](_0x56e838['name']));_0x3f4fab['push']('###\x20'+_0x22721e+'\x0a'+_0x12b75a['trim']());}catch{}}return _0x3f4fab['sort']();}function rulesBlock(_0x19cdbe){if(!_0x19cdbe||_0x19cdbe['length']===0x0)return'';return['Rules\x20(from\x20.trayambak/rules):',..._0x19cdbe]['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(_0xe4637b,_0x14f06d,_0x4420c3,_0x521658){if(_0x521658===undefined)_0x521658=_0x4420c3;var _0x5c7eb6=Object['getOwnPropertyDescriptor'](_0x14f06d,_0x4420c3);(!_0x5c7eb6||('get'in _0x5c7eb6?!_0x14f06d['__esModule']:_0x5c7eb6['writable']||_0x5c7eb6['configurable']))&&(_0x5c7eb6={'enumerable':!![],'get':function(){return _0x14f06d[_0x4420c3];}}),Object['defineProperty'](_0xe4637b,_0x521658,_0x5c7eb6);}:function(_0xdefaaf,_0x1606b7,_0x59b24b,_0x669719){if(_0x669719===undefined)_0x669719=_0x59b24b;_0xdefaaf[_0x669719]=_0x1606b7[_0x59b24b];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x26de05,_0x26b8d2){Object['defineProperty'](_0x26de05,'default',{'enumerable':!![],'value':_0x26b8d2});}:function(_0x2e5449,_0x3193e9){_0x2e5449['default']=_0x3193e9;}),__importStar=this&&this['__importStar']||(function(){var _0x1fb116=function(_0x2c80c1){return _0x1fb116=Object['getOwnPropertyNames']||function(_0x2ad061){var _0x51bf6b=[];for(var _0x23de38 in _0x2ad061)if(Object['prototype']['hasOwnProperty']['call'](_0x2ad061,_0x23de38))_0x51bf6b[_0x51bf6b['length']]=_0x23de38;return _0x51bf6b;},_0x1fb116(_0x2c80c1);};return function(_0x3eec11){if(_0x3eec11&&_0x3eec11['__esModule'])return _0x3eec11;var _0x11c6bd={};if(_0x3eec11!=null){for(var _0x120aec=_0x1fb116(_0x3eec11),_0x17a907=0x0;_0x17a907<_0x120aec['length'];_0x17a907++)if(_0x120aec[_0x17a907]!=='default')__createBinding(_0x11c6bd,_0x3eec11,_0x120aec[_0x17a907]);}return __setModuleDefault(_0x11c6bd,_0x3eec11),_0x11c6bd;};}());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?_0x55ad4a=>Promise['resolve'](''+_0x55ad4a)['then'](_0x455356=>__importStar(require(_0x455356))):new Function('specifier','return\x20import(specifier)');async function importToolModule(_0xc40d0){return await importImpl((0x0,url_1['pathToFileURL'])(_0xc40d0)['href']);}function sanitizeToolName(_0x20d746){const _0x1e6def=_0x20d746['replace'](/[^\w-]/g,'_')['slice'](0x0,MAX_TOOL_NAME);return _0x1e6def['length']>0x0?_0x1e6def:'custom_tool';}function customToolName(_0x497877,_0x51471d){const _0x200fdc=path['basename'](_0x497877,path['extname'](_0x497877));return sanitizeToolName(_0x51471d==='default'?_0x200fdc:_0x200fdc+'_'+_0x51471d);}function isCustomToolExport(_0xede658){if(typeof _0xede658!=='object'||_0xede658===null)return![];const _0x167883=_0xede658;return'args'in _0x167883&&'description'in _0x167883&&'execute'in _0x167883&&typeof _0x167883['description']==='string'&&_0x167883['description']['length']>0x0&&typeof _0x167883['execute']==='function';}function coerceProperties(_0x583779){const _0x378693={};if(typeof _0x583779!=='object'||_0x583779===null||Array['isArray'](_0x583779))return _0x378693;for(const [_0x3fb319,_0x5173e0]of Object['entries'](_0x583779)){if(typeof _0x5173e0!=='object'||_0x5173e0===null||Array['isArray'](_0x5173e0))continue;const _0x1322e3=_0x5173e0;if(typeof _0x1322e3['type']!=='string')continue;_0x378693[_0x3fb319]={..._0x1322e3,'type':PARAM_TYPES['has'](_0x1322e3['type'])?_0x1322e3['type']:'string','description':typeof _0x1322e3['description']==='string'?_0x1322e3['description']:''};}return _0x378693;}function normalizeParameters(_0x32c16b){const _0x49deca={'type':'object','properties':{},'required':[]};if(_0x32c16b===undefined||_0x32c16b===null)return _0x49deca;if(typeof _0x32c16b!=='object'||Array['isArray'](_0x32c16b))return _0x49deca;const _0xae6a68=_0x32c16b;if(_0xae6a68['type']==='object'){const _0x5cb106=coerceProperties(_0xae6a68['properties']),_0x5e6c01=Array['isArray'](_0xae6a68['required'])?_0xae6a68['required']['filter'](_0x1d95aa=>typeof _0x1d95aa==='string'):Object['keys'](_0x5cb106);return{'type':'object','properties':_0x5cb106,'required':_0x5e6c01};}const _0x21214d=coerceProperties(_0xae6a68);return{'type':'object','properties':_0x21214d,'required':Object['keys'](_0x21214d)};}function coerceResult(_0x2931db){if(typeof _0x2931db==='string')return(0x0,types_js_1['textResult'])(_0x2931db);if(_0x2931db===undefined||_0x2931db===null)return(0x0,types_js_1['textResult'])('');if(typeof _0x2931db==='object'){const _0x2343ae=_0x2931db;if(Array['isArray'](_0x2343ae['content'])){const _0x3bf4d6=_0x2343ae['content']['filter'](_0x2ee53e=>typeof _0x2ee53e==='object'&&_0x2ee53e!==null&&_0x2ee53e['type']==='text'&&typeof _0x2ee53e['text']==='string');if(_0x3bf4d6['length']>0x0)return{'content':_0x3bf4d6,'isError':_0x2343ae['isError']===!![]};}if(typeof _0x2343ae['output']==='string')return(0x0,types_js_1['textResult'])(_0x2343ae['output']);try{return(0x0,types_js_1['textResult'])(JSON['stringify'](_0x2931db,null,0x2));}catch{return(0x0,types_js_1['textResult'])(String(_0x2931db));}}return(0x0,types_js_1['textResult'])(String(_0x2931db));}function createCustomTool(_0xdf6ed3,_0x1e8648,_0x4e4340=new Set()){if(_0x4e4340['has'](_0xdf6ed3))return undefined;const _0x49b8c7={'timeoutMs':0x7530,'name':_0xdf6ed3,'description':_0x1e8648['description'],'parameters':normalizeParameters(_0x1e8648['args'])};return{'definition':_0x49b8c7,'execute':async(_0x2a7416,_0x50135a,_0x32938b,_0x3c0a5b,_0x5b25f5)=>{try{const _0x242ddc={'cwd':_0x5b25f5?.['cwd']??process['cwd'](),'sessionId':_0x5b25f5?.['sessionId'],'signal':_0x32938b},_0x12bc3f=await _0x1e8648['execute'](_0x50135a??{},_0x242ddc);return coerceResult(_0x12bc3f);}catch(_0x34acd0){const _0x52d9e5=_0x34acd0 instanceof Error?_0x34acd0['message']:String(_0x34acd0);return(0x0,types_js_1['textResult'])('Custom\x20tool\x20\x22'+_0xdf6ed3+'\x22\x20failed:\x20'+_0x52d9e5,!![]);}}};}function customToolDirs(_0x598548,_0x2858ca=os['homedir']()){return[path['join'](_0x598548,'.trayambak'),path['join'](_0x2858ca,'.trayambak')];}function discoverCustomToolFiles(_0xc858c3){const _0x3ff041=[];for(const _0x14b452 of _0xc858c3){for(const _0x118e78 of['tool','tools']){const _0x67d392=path['join'](_0x14b452,_0x118e78);let _0x1f651e;try{_0x1f651e=fs['readdirSync'](_0x67d392,{'withFileTypes':!![]});}catch{continue;}for(const _0x1faf77 of _0x1f651e){if(_0x1faf77['isDirectory']())continue;if(!TOOL_EXTENSIONS['test'](_0x1faf77['name']))continue;_0x3ff041['push'](path['join'](_0x67d392,_0x1faf77['name']));}}}return _0x3ff041;}async function loadCustomTools(_0x27b34d){const _0x36629a=customToolDirs(_0x27b34d['cwd'],_0x27b34d['homeDir']),_0x1deb25=discoverCustomToolFiles(_0x36629a),_0x1d67a5=new Set(_0x27b34d['reserved']??[]),_0x337898=[],_0x1e8379=new Set();for(const _0x1983f1 of _0x1deb25){let _0x251826;try{_0x251826=await importToolModule(_0x1983f1);}catch{continue;}for(const [_0xe2aedb,_0xc52c09]of Object['entries'](_0x251826)){if(!isCustomToolExport(_0xc52c09))continue;const _0x24a08f=customToolName(_0x1983f1,_0xe2aedb);if(_0x1e8379['has'](_0x24a08f))continue;const _0x375e9f=createCustomTool(_0x24a08f,_0xc52c09,_0x1d67a5);if(!_0x375e9f)continue;_0x1e8379['add'](_0x24a08f),_0x337898['push'](_0x375e9f);}}return _0x337898;}function registerCustomToolset(_0x5b6753,_0x4aa773,_0x18d83b){_0x5b6753['registerToolset']({'name':'custom','description':'User-defined\x20tools\x20loaded\x20from\x20.trayambak/{tool,tools}','toolNames':[..._0x18d83b],'checkFn':()=>!![]});const _0x1f0c28=_0x4aa773['toolsets']?.['defaults']?.['length']?_0x4aa773['toolsets']['defaults']:toolsets_js_1['DEFAULT_TOOLSETS'];!_0x1f0c28['includes']('custom')?_0x5b6753['setCoreTools']([..._0x1f0c28,'custom']):_0x5b6753['setCoreTools']([..._0x1f0c28]);}
@@ -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(_0x57a8a3,_0x3f81f6,_0x145a9b,_0x5eccdd){if(_0x5eccdd===undefined)_0x5eccdd=_0x145a9b;var _0x37f09c=Object['getOwnPropertyDescriptor'](_0x3f81f6,_0x145a9b);(!_0x37f09c||('get'in _0x37f09c?!_0x3f81f6['__esModule']:_0x37f09c['writable']||_0x37f09c['configurable']))&&(_0x37f09c={'enumerable':!![],'get':function(){return _0x3f81f6[_0x145a9b];}}),Object['defineProperty'](_0x57a8a3,_0x5eccdd,_0x37f09c);}:function(_0x4825a4,_0xf45ef1,_0x3a05c7,_0x4495cf){if(_0x4495cf===undefined)_0x4495cf=_0x3a05c7;_0x4825a4[_0x4495cf]=_0xf45ef1[_0x3a05c7];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x225fca,_0x339c31){Object['defineProperty'](_0x225fca,'default',{'enumerable':!![],'value':_0x339c31});}:function(_0x3d00ee,_0x1d82a4){_0x3d00ee['default']=_0x1d82a4;}),__importStar=this&&this['__importStar']||(function(){var _0x335350=function(_0x5250aa){return _0x335350=Object['getOwnPropertyNames']||function(_0x5a9cee){var _0x55d031=[];for(var _0x5126bc in _0x5a9cee)if(Object['prototype']['hasOwnProperty']['call'](_0x5a9cee,_0x5126bc))_0x55d031[_0x55d031['length']]=_0x5126bc;return _0x55d031;},_0x335350(_0x5250aa);};return function(_0x1282aa){if(_0x1282aa&&_0x1282aa['__esModule'])return _0x1282aa;var _0x5b79f4={};if(_0x1282aa!=null){for(var _0x7f4960=_0x335350(_0x1282aa),_0x768f0e=0x0;_0x768f0e<_0x7f4960['length'];_0x768f0e++)if(_0x7f4960[_0x768f0e]!=='default')__createBinding(_0x5b79f4,_0x1282aa,_0x7f4960[_0x768f0e]);}return __setModuleDefault(_0x5b79f4,_0x1282aa),_0x5b79f4;};}());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(_0x594d8f){let _0x59cf46=path['resolve'](_0x594d8f);for(;;){const _0x344cf2=path['join'](_0x59cf46,'node_modules','typescript','bin','tsc');if(fs['existsSync'](_0x344cf2))return _0x344cf2;const _0x411e5b=path['dirname'](_0x59cf46);if(_0x411e5b===_0x59cf46)break;_0x59cf46=_0x411e5b;}try{if(typeof __dirname!=='undefined'){const _0x21afb6=path['resolve'](__dirname,'..','..','..','..','..','..','node_modules','typescript','bin','tsc');if(fs['existsSync'](_0x21afb6))return _0x21afb6;}}catch{}return undefined;}function runTsc(_0x4f5c3f,_0x30ac1b,_0x53a662,_0x49e1ee){return new Promise(_0x545c73=>{if(_0x49e1ee?.['aborted']){_0x545c73({'code':null,'stdout':'','stderr':'','timedOut':![],'aborted':!![]});return;}let _0x2b6923;try{_0x2b6923=(0x0,child_process_1['spawn'])(process['execPath'],[_0x4f5c3f,'--noEmit','--pretty','false','-p',_0x53a662],{'cwd':_0x30ac1b,'windowsHide':!![],'stdio':['ignore','pipe','pipe']});}catch(_0x518291){_0x545c73({'code':null,'stdout':'','stderr':String(_0x518291),'timedOut':![],'aborted':![]});return;}let _0x11d5b6='',_0x16b054='',_0x3c4170=![];const _0x849c86=_0x1b03b9=>{if(_0x3c4170)return;_0x3c4170=!![],clearTimeout(_0x1729de),_0x49e1ee?.['removeEventListener']('abort',_0x40440e),_0x545c73(_0x1b03b9);},_0x1729de=setTimeout(()=>{_0x2b6923['kill'](),_0x849c86({'code':null,'stdout':_0x11d5b6,'stderr':_0x16b054,'timedOut':!![],'aborted':![]});},TSC_TIMEOUT_MS),_0x40440e=()=>{_0x2b6923['kill'](),_0x849c86({'code':null,'stdout':_0x11d5b6,'stderr':_0x16b054,'timedOut':![],'aborted':!![]});};_0x49e1ee?.['addEventListener']('abort',_0x40440e,{'once':!![]}),_0x2b6923['stdout']?.['on']('data',_0x48bf30=>{if(_0x11d5b6['length']<MAX_TSC_OUTPUT_BYTES)_0x11d5b6+=_0x48bf30['toString']('utf8');}),_0x2b6923['stderr']?.['on']('data',_0x1a3c93=>{if(_0x16b054['length']<MAX_STDERR_BYTES)_0x16b054+=_0x1a3c93['toString']('utf8');}),_0x2b6923['on']('error',_0x4fd8b9=>{_0x849c86({'code':null,'stdout':_0x11d5b6,'stderr':''+_0x16b054+_0x4fd8b9['message'],'timedOut':![],'aborted':![]});}),_0x2b6923['on']('close',_0x28aebc=>{_0x849c86({'code':_0x28aebc,'stdout':_0x11d5b6,'stderr':_0x16b054,'timedOut':![],'aborted':![]});});});}async function collectDiagnostics(_0x2a26a2,_0x2ae100=![],_0x20b0c1){const _0x444984=(0x0,tsc_diagnostics_js_1['findUp'])('tsconfig.json',_0x2a26a2);if(!_0x444984)return{'ok':![],'reason':'no\x20tsconfig.json\x20found\x20from\x20'+_0x2a26a2+'\x20—\x20diagnostics\x20require\x20a\x20TypeScript\x20project'};const _0x3a772b=path['dirname'](_0x444984);if(!_0x2ae100&&cache&&cache['tsconfigPath']===_0x444984&&Date['now']()-cache['at']<CACHE_TTL_MS)return{'ok':!![],'snapshot':cache['snapshot']};const _0x3c799c=resolveTscBin(_0x2a26a2);if(!_0x3c799c)return{'ok':![],'reason':'typescript\x20is\x20not\x20installed\x20(no\x20node_modules/typescript)\x20—\x20cannot\x20run\x20tsc'};const _0x34dae3=await runTsc(_0x3c799c,_0x3a772b,_0x444984,_0x20b0c1);if(_0x34dae3['aborted'])return{'ok':![],'reason':'aborted'};if(_0x34dae3['timedOut'])return{'ok':![],'reason':'tsc\x20timed\x20out\x20after\x20'+Math['round'](TSC_TIMEOUT_MS/0x3e8)+'s'};if(_0x34dae3['code']===null&&!_0x34dae3['stdout'])return{'ok':![],'reason':'tsc\x20failed\x20to\x20start:\x20'+(_0x34dae3['stderr']['trim']()||'unknown\x20error')};const {diagnostics:_0x268ac3,unlocated:_0x1c9819}=(0x0,tsc_diagnostics_js_1['parseTscOutput'])(_0x34dae3['stdout'],_0x3a772b),_0x3c92b4={'tsconfigPath':_0x444984,'projectRoot':_0x3a772b,'diagnostics':_0x268ac3,'unlocated':_0x1c9819,'generatedAt':Date['now']()};return cache={'tsconfigPath':_0x444984,'at':_0x3c92b4['generatedAt'],'snapshot':_0x3c92b4},{'ok':!![],'snapshot':_0x3c92b4};}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'(_0x103aee,_0x20670e,_0x33db88,_0x28388d,_0x3cb441){const _0x27e290=_0x3cb441?.['cwd']??process['cwd'](),_0x488445=Array['isArray'](_0x20670e['files'])?_0x20670e['files']['map'](String):[],_0x572f6c=Boolean(_0x20670e['refresh']),_0x534007=await collectDiagnostics(_0x27e290,_0x572f6c,_0x33db88);if(!_0x534007['ok'])return(0x0,types_js_1['textResult'])('Diagnostics\x20unavailable:\x20'+_0x534007['reason']+'.');const _0x4ebfc7=(0x0,tsc_diagnostics_js_1['pickFiles'])(_0x534007['snapshot']['diagnostics'],_0x488445,_0x27e290),_0x4bfe03=Object['entries'](_0x4ebfc7)['sort'](([_0x3be25e],[_0x357699])=>_0x3be25e['localeCompare'](_0x357699));let _0x3745f1=0x0,_0x5a80d1=0x0;const _0x3fe7e3=[];for(const [_0x550c76,_0x4b5299]of _0x4bfe03){for(const _0xd096f0 of _0x4b5299){if(_0xd096f0['severity']===0x1)_0x3745f1+=0x1;else{if(_0xd096f0['severity']===0x2)_0x5a80d1+=0x1;}}const _0x5e78d0=(0x0,tsc_diagnostics_js_1['report'])(_0x550c76,_0x4b5299);if(_0x5e78d0)_0x3fe7e3['push'](_0x5e78d0);}const _0x30bdd8=_0x488445['length']>0x0?'\x20(filtered\x20to\x20'+_0x488445['length']+'\x20path(s))':'',_0x29e779=_0x488445['length']===0x0&&_0x534007['snapshot']['unlocated']['length']>0x0?',\x20'+_0x534007['snapshot']['unlocated']['length']+'\x20project-level\x20message(s)':'',_0x3957f6='Diagnostics:\x20'+_0x3745f1+'\x20error(s),\x20'+_0x5a80d1+'\x20warning(s)\x20across\x20'+_0x4bfe03['length']+'\x20file(s)'+_0x29e779+_0x30bdd8+'.',_0x8ff4b1=[_0x3957f6];if(_0x3fe7e3['length']>0x0)_0x8ff4b1['push']('',_0x3fe7e3['join']('\x0a\x0a'));return _0x488445['length']===0x0&&_0x534007['snapshot']['unlocated']['length']>0x0&&_0x8ff4b1['push']('','Project-level:',..._0x534007['snapshot']['unlocated']['slice'](0x0,tsc_diagnostics_js_1['DIAGNOSTICS_MAX_PER_FILE'])),_0x488445['length']>0x0&&_0x4bfe03['length']===0x0&&_0x534007['snapshot']['unlocated']['length']===0x0&&_0x8ff4b1['push']('','No\x20diagnostics\x20for:\x20'+_0x488445['join'](',\x20')),(0x0,types_js_1['textResult'])(_0x8ff4b1['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(_0x187f6f,_0x4ecce6,_0x6985c3,_0x5679e6){if(_0x5679e6===undefined)_0x5679e6=_0x6985c3;var _0x5e5942=Object['getOwnPropertyDescriptor'](_0x4ecce6,_0x6985c3);(!_0x5e5942||('get'in _0x5e5942?!_0x4ecce6['__esModule']:_0x5e5942['writable']||_0x5e5942['configurable']))&&(_0x5e5942={'enumerable':!![],'get':function(){return _0x4ecce6[_0x6985c3];}}),Object['defineProperty'](_0x187f6f,_0x5679e6,_0x5e5942);}:function(_0x2a9031,_0x503a75,_0x1a2bc3,_0x433418){if(_0x433418===undefined)_0x433418=_0x1a2bc3;_0x2a9031[_0x433418]=_0x503a75[_0x1a2bc3];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x32282c,_0xce4c3f){Object['defineProperty'](_0x32282c,'default',{'enumerable':!![],'value':_0xce4c3f});}:function(_0x15d233,_0x542441){_0x15d233['default']=_0x542441;}),__importStar=this&&this['__importStar']||(function(){var _0x3d40d3=function(_0x1bb8a9){return _0x3d40d3=Object['getOwnPropertyNames']||function(_0x4df068){var _0x5b3323=[];for(var _0x2c898a in _0x4df068)if(Object['prototype']['hasOwnProperty']['call'](_0x4df068,_0x2c898a))_0x5b3323[_0x5b3323['length']]=_0x2c898a;return _0x5b3323;},_0x3d40d3(_0x1bb8a9);};return function(_0x555b4a){if(_0x555b4a&&_0x555b4a['__esModule'])return _0x555b4a;var _0x3b8747={};if(_0x555b4a!=null){for(var _0x183fbc=_0x3d40d3(_0x555b4a),_0x5645d5=0x0;_0x5645d5<_0x183fbc['length'];_0x5645d5++)if(_0x183fbc[_0x5645d5]!=='default')__createBinding(_0x3b8747,_0x555b4a,_0x183fbc[_0x5645d5]);}return __setModuleDefault(_0x3b8747,_0x555b4a),_0x3b8747;};}());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(_0x176f52){const _0x133054=SEVERITY_LABEL[_0x176f52['severity']||0x1]??'ERROR',_0x454806=_0x176f52['range']['start']['line']+0x1,_0x6db47f=_0x176f52['range']['start']['character']+0x1;return _0x133054+'\x20['+_0x454806+':'+_0x6db47f+']\x20'+_0x176f52['message'];}function report(_0x5e422d,_0x55a305){const _0x13d3d7=_0x55a305['filter'](_0x2be13a=>_0x2be13a['severity']===0x1);if(_0x13d3d7['length']===0x0)return'';const _0x20e8bc=_0x13d3d7['slice'](0x0,exports['DIAGNOSTICS_MAX_PER_FILE']),_0x4f68b0=_0x13d3d7['length']-exports['DIAGNOSTICS_MAX_PER_FILE'],_0x1760dd=_0x4f68b0>0x0?'\x0a...\x20and\x20'+_0x4f68b0+'\x20more':'';return'<diagnostics\x20file=\x22'+_0x5e422d+'\x22>\x0a'+_0x20e8bc['map'](pretty)['join']('\x0a')+_0x1760dd+'\x0a</diagnostics>';}function filterDiagnostics(_0x32190c,_0x27f8d2){const _0x4a7d8a={};for(const _0x3e5c1c of _0x27f8d2){const _0x5df811=_0x32190c[_0x3e5c1c];if(_0x5df811)_0x4a7d8a[_0x3e5c1c]=_0x5df811;}return _0x4a7d8a;}function diagnosticsPathKey(_0x4f7e2a,_0x917e81){const _0x29218d=path['resolve'](_0x917e81,_0x4f7e2a);return process['platform']==='win32'?_0x29218d['replace'](/\//g,'\x5c')['toLowerCase']():_0x29218d;}function pickFiles(_0x1bbfb7,_0x5e8109,_0x515722){if(_0x5e8109['length']===0x0)return _0x1bbfb7;const _0x2ba905=new Set(_0x5e8109['map'](_0x255a0f=>diagnosticsPathKey(_0x255a0f,_0x515722))),_0x90b04b={};for(const [_0x392dde,_0x13888b]of Object['entries'](_0x1bbfb7)){if(_0x2ba905['has'](diagnosticsPathKey(_0x392dde,_0x515722)))_0x90b04b[_0x392dde]=_0x13888b;}return _0x90b04b;}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(_0x16639d,_0x1d42a2){const _0x48141c={},_0x105b1e=[],_0x366e28=new Map();let _0x27194b;for(const _0x4d2948 of _0x16639d['split'](/\r?\n/)){if(_0x4d2948['trim']()===''){_0x27194b=undefined;continue;}const _0x4be0d9=TSC_LINE['exec'](_0x4d2948);if(_0x4be0d9){const [,_0x50aa17,_0x5689f9,_0x22e0d1,_0x436381,_0x5864d0,_0x3bdd1b]=_0x4be0d9,_0x2e73f7=path['isAbsolute'](_0x50aa17)?path['normalize'](_0x50aa17):path['resolve'](_0x1d42a2,_0x50aa17),_0x522213=diagnosticsPathKey(_0x2e73f7,_0x1d42a2),_0x4d7c10=_0x366e28['get'](_0x522213)??_0x2e73f7;_0x366e28['set'](_0x522213,_0x4d7c10);const _0x2c5744=_0x48141c[_0x4d7c10]??=[];_0x2c5744['push']({'range':{'start':{'line':Number(_0x5689f9)-0x1,'character':Number(_0x22e0d1)-0x1}},'severity':KIND_SEVERITY[_0x436381['toLowerCase']()]??0x1,'message':_0x5864d0['toUpperCase']()+':\x20'+_0x3bdd1b,'code':_0x5864d0['toUpperCase'](),'source':'tsc'}),_0x27194b=_0x2c5744;continue;}const _0x250bf2=TSC_GLOBAL['exec'](_0x4d2948);if(_0x250bf2){_0x105b1e['push'](_0x4d2948['trim']()),_0x27194b=undefined;continue;}if(_0x27194b?.['length']&&/^\s/['test'](_0x4d2948)){const _0x6131e2=_0x27194b[_0x27194b['length']-0x1];_0x6131e2['message']+='\x20'+_0x4d2948['trim']();}}return{'diagnostics':_0x48141c,'unlocated':_0x105b1e};}const CHECKABLE=/\.(tsx?|mts|cts|jsx)$/i;function isCheckableFile(_0xdbf777){return CHECKABLE['test'](_0xdbf777);}async function syntaxDiagnostics(_0x29a11d,_0x4addab){if(!isCheckableFile(_0x4addab))return[];if(Buffer['byteLength'](_0x29a11d,'utf8')>MAX_SYNTAX_CHECK_BYTES)return[];const _0x3821dd=await Promise['resolve']()['then'](()=>__importStar(require('typescript'))),_0x9dbd85=/\.(tsx|jsx)$/i['test'](_0x4addab),_0x25fe75=_0x3821dd['transpileModule'](_0x29a11d,{'fileName':_0x4addab,'reportDiagnostics':!![],'compilerOptions':{'target':_0x3821dd['ScriptTarget']['ES2022'],'module':_0x3821dd['ModuleKind']['ESNext'],'jsx':_0x9dbd85?_0x3821dd['JsxEmit']['React']:_0x3821dd['JsxEmit']['Preserve']}}),_0x24a209=_0x25fe75['diagnostics']??[];return _0x24a209['map'](_0x3561bf=>{let _0x46b559=0x0,_0x145f82=0x0;if(_0x3561bf['file']&&_0x3561bf['start']!==undefined){const _0x5476ab=_0x3561bf['file']['getLineAndCharacterOfPosition'](_0x3561bf['start']);_0x46b559=_0x5476ab['line'],_0x145f82=_0x5476ab['character'];}const _0x154221=_0x3821dd['flattenDiagnosticMessageText'](_0x3561bf['messageText'],'\x20');return{'range':{'start':{'line':_0x46b559,'character':_0x145f82}},'severity':_0x3561bf['category']===_0x3821dd['DiagnosticCategory']['Error']?0x1:_0x3561bf['category']===_0x3821dd['DiagnosticCategory']['Warning']?0x2:0x3,'message':_0x154221,'source':'typescript'};});}async function syntaxNote(_0x44b627,_0x1eb2b5){try{const _0x3328bd=await syntaxDiagnostics(_0x1eb2b5,_0x44b627);if(_0x3328bd['length']===0x0)return'';const _0x28586f=report(_0x44b627,_0x3328bd);return _0x28586f?'\x0a'+_0x28586f:'';}catch{return'';}}function findUp(_0x1bd38e,_0x3bf6d8){let _0x2b17c3=path['resolve'](_0x3bf6d8);for(;;){const _0x5757b3=path['join'](_0x2b17c3,_0x1bd38e);try{if(fs['existsSync'](_0x5757b3))return _0x5757b3;}catch{}const _0x44ccd9=path['dirname'](_0x2b17c3);if(_0x44ccd9===_0x2b17c3)return undefined;_0x2b17c3=_0x44ccd9;}}
@@ -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';function _0xb6a2(){var _0x558137=['startsWith','defineProperty','6465846MAzIjT','homedir','existsSync','546813HWlkFj','90MORvvW','resolveConstrainedPath','prototype','isDirectory','getOwnPropertyDescriptor','map','assertExternalDirectory','statSync','textResult','Access\x20denied:\x20','cwd','168JksxPH','List\x20error:\x20','list_dir','__setModuleDefault','call','aborted','length','771267GOrblw','20388rrsZBa','Directory\x20not\x20found:\x20','name','configurable','573288RYiqbj','create','string','resolve','join','330569nzjwnp','Directory\x20to\x20list.\x20Default:\x20project\x20root.','slice','readdirSync','Not\x20a\x20directory:\x20','get','__esModule','default','5556166hpBTaU','hasOwnProperty','object','message','path'];_0xb6a2=function(){return _0x558137;};return _0xb6a2();}var _0x3abef4=_0x1db4;(function(_0x59ff07,_0x187411){var _0x2d66ad=_0x1db4,_0x5a5c70=_0x59ff07();while(!![]){try{var _0x5a48d7=-parseInt(_0x2d66ad(0x8f))/0x1+parseInt(_0x2d66ad(0xb9))/0x2+-parseInt(_0x2d66ad(0xb4))/0x3+parseInt(_0x2d66ad(0xb5))/0x4*(-parseInt(_0x2d66ad(0xa2))/0x5)+-parseInt(_0x2d66ad(0x9e))/0x6+parseInt(_0x2d66ad(0x97))/0x7+-parseInt(_0x2d66ad(0xad))/0x8*(-parseInt(_0x2d66ad(0xa1))/0x9);if(_0x5a48d7===_0x187411)break;else _0x5a5c70['push'](_0x5a5c70['shift']());}catch(_0x1a46ef){_0x5a5c70['push'](_0x5a5c70['shift']());}}}(_0xb6a2,0x924c2));var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x1619b7,_0x2af2a3,_0x5d3540,_0x30d5dd){var _0x594448=_0x1db4;if(_0x30d5dd===undefined)_0x30d5dd=_0x5d3540;var _0x33c347=Object[_0x594448(0xa6)](_0x2af2a3,_0x5d3540);(!_0x33c347||(_0x594448(0x94)in _0x33c347?!_0x2af2a3[_0x594448(0x95)]:_0x33c347['writable']||_0x33c347[_0x594448(0xb8)]))&&(_0x33c347={'enumerable':!![],'get':function(){return _0x2af2a3[_0x5d3540];}}),Object[_0x594448(0x9d)](_0x1619b7,_0x30d5dd,_0x33c347);}:function(_0x3ec08d,_0xcf0a1e,_0xa2c656,_0x59a121){if(_0x59a121===undefined)_0x59a121=_0xa2c656;_0x3ec08d[_0x59a121]=_0xcf0a1e[_0xa2c656];}),__setModuleDefault=this&&this[_0x3abef4(0xb0)]||(Object[_0x3abef4(0x8b)]?function(_0x1fc253,_0x36e1ed){var _0x51544c=_0x3abef4;Object[_0x51544c(0x9d)](_0x1fc253,_0x51544c(0x96),{'enumerable':!![],'value':_0x36e1ed});}:function(_0x1be09f,_0x54aaeb){var _0xe848d9=_0x3abef4;_0x1be09f[_0xe848d9(0x96)]=_0x54aaeb;}),__importStar=this&&this['__importStar']||(function(){var _0x32e165=function(_0x3a6c00){return _0x32e165=Object['getOwnPropertyNames']||function(_0x341b46){var _0x5fa77f=_0x1db4,_0x1def7c=[];for(var _0x2a1952 in _0x341b46)if(Object[_0x5fa77f(0xa4)][_0x5fa77f(0x98)][_0x5fa77f(0xb1)](_0x341b46,_0x2a1952))_0x1def7c[_0x1def7c[_0x5fa77f(0xb3)]]=_0x2a1952;return _0x1def7c;},_0x32e165(_0x3a6c00);};return function(_0x17258e){var _0x26114e=_0x1db4;if(_0x17258e&&_0x17258e['__esModule'])return _0x17258e;var _0x36cd17={};if(_0x17258e!=null){for(var _0x252923=_0x32e165(_0x17258e),_0x3b1867=0x0;_0x3b1867<_0x252923[_0x26114e(0xb3)];_0x3b1867++)if(_0x252923[_0x3b1867]!=='default')__createBinding(_0x36cd17,_0x17258e,_0x252923[_0x3b1867]);}return __setModuleDefault(_0x36cd17,_0x17258e),_0x36cd17;};}());Object[_0x3abef4(0x9d)](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(_0x563375){var _0x41ab8b=_0x3abef4;if(_0x563375[_0x41ab8b(0x9c)]('~/')||_0x563375==='~')return path['join'](os[_0x41ab8b(0x9f)](),_0x563375[_0x41ab8b(0x91)](_0x563375==='~'?0x1:0x2));return _0x563375;}function _0x1db4(_0x1b79e5,_0x48f95f){_0x1b79e5=_0x1b79e5-0x8b;var _0xb6a2f6=_0xb6a2();var _0x1db488=_0xb6a2f6[_0x1b79e5];return _0x1db488;}const definition={'timeoutMs':0x7530,'name':_0x3abef4(0xaf),'description':'List\x20the\x20entries\x20of\x20a\x20directory.\x20Defaults\x20to\x20the\x20project\x20root.\x20Marks\x20directories\x20with\x20a\x20trailing\x20slash.','parameters':{'type':_0x3abef4(0x99),'required':[],'properties':{'path':{'type':_0x3abef4(0x8c),'description':_0x3abef4(0x90)}}}};function createListDirTool(){return{'definition':definition,async 'execute'(_0x3cfbf3,_0x32721d,_0x16e803,_0x5e0ab9,_0x273963){var _0x53b8ef=_0x1db4;try{if(_0x16e803?.[_0x53b8ef(0xb2)])return(0x0,types_js_1[_0x53b8ef(0xaa)])(_0x53b8ef(0xb2),!![]);const _0x4b7d2c=_0x273963,_0xfe9ce7=typeof _0x32721d[_0x53b8ef(0x9b)]===_0x53b8ef(0x8c)?_0x32721d[_0x53b8ef(0x9b)]:'.';let _0x3e232d;try{_0x3e232d=(0x0,types_js_1[_0x53b8ef(0xa3)])(path[_0x53b8ef(0x8d)](_0x4b7d2c[_0x53b8ef(0xac)],expandHome(_0xfe9ce7)),_0x4b7d2c[_0x53b8ef(0xac)]);}catch(_0x506454){return(0x0,types_js_1['textResult'])(_0x53b8ef(0xab)+(_0x506454 instanceof Error?_0x506454[_0x53b8ef(0x9a)]:String(_0x506454)),!![]);}if(!fs[_0x53b8ef(0xa0)](_0x3e232d))return(0x0,types_js_1[_0x53b8ef(0xaa)])(_0x53b8ef(0xb6)+_0xfe9ce7,!![]);(0x0,types_js_1[_0x53b8ef(0xa8)])(_0x3e232d,_0x4b7d2c[_0x53b8ef(0xac)]);if(!fs[_0x53b8ef(0xa9)](_0x3e232d)[_0x53b8ef(0xa5)]())return(0x0,types_js_1[_0x53b8ef(0xaa)])(_0x53b8ef(0x93)+_0xfe9ce7,!![]);const _0x4094a5=fs[_0x53b8ef(0x92)](_0x3e232d,{'withFileTypes':!![]}),_0x1ac783=_0x4094a5['sort']((_0x54bb66,_0x1731ef)=>Number(_0x1731ef[_0x53b8ef(0xa5)]())-Number(_0x54bb66[_0x53b8ef(0xa5)]())||_0x54bb66[_0x53b8ef(0xb7)]['localeCompare'](_0x1731ef['name']))[_0x53b8ef(0xa7)](_0x236330=>_0x236330[_0x53b8ef(0xa5)]()?_0x236330[_0x53b8ef(0xb7)]+'/':_0x236330[_0x53b8ef(0xb7)]);return(0x0,types_js_1['textResult'])(_0xfe9ce7+'\x0a'+_0x1ac783[_0x53b8ef(0x8e)]('\x0a'));}catch(_0x50dc79){return(0x0,types_js_1[_0x53b8ef(0xaa)])(_0x53b8ef(0xae)+(_0x50dc79 instanceof Error?_0x50dc79[_0x53b8ef(0x9a)]:String(_0x50dc79)),!![]);}}};}
@@ -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';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x5c3905,_0xd2efb6,_0x219f80,_0x4e5ef5){if(_0x4e5ef5===undefined)_0x4e5ef5=_0x219f80;var _0x233906=Object['getOwnPropertyDescriptor'](_0xd2efb6,_0x219f80);(!_0x233906||('get'in _0x233906?!_0xd2efb6['__esModule']:_0x233906['writable']||_0x233906['configurable']))&&(_0x233906={'enumerable':!![],'get':function(){return _0xd2efb6[_0x219f80];}}),Object['defineProperty'](_0x5c3905,_0x4e5ef5,_0x233906);}:function(_0x24d88b,_0x3b544d,_0x54f40a,_0xbb0c4c){if(_0xbb0c4c===undefined)_0xbb0c4c=_0x54f40a;_0x24d88b[_0xbb0c4c]=_0x3b544d[_0x54f40a];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1f239a,_0x1369ff){Object['defineProperty'](_0x1f239a,'default',{'enumerable':!![],'value':_0x1369ff});}:function(_0x14a167,_0x5ed536){_0x14a167['default']=_0x5ed536;}),__importStar=this&&this['__importStar']||(function(){var _0x11a044=function(_0x2ba7e1){return _0x11a044=Object['getOwnPropertyNames']||function(_0x4d7a5c){var _0x1675fe=[];for(var _0x2e8c37 in _0x4d7a5c)if(Object['prototype']['hasOwnProperty']['call'](_0x4d7a5c,_0x2e8c37))_0x1675fe[_0x1675fe['length']]=_0x2e8c37;return _0x1675fe;},_0x11a044(_0x2ba7e1);};return function(_0x5b24f5){if(_0x5b24f5&&_0x5b24f5['__esModule'])return _0x5b24f5;var _0xd4812f={};if(_0x5b24f5!=null){for(var _0x5105c3=_0x11a044(_0x5b24f5),_0x2b4be9=0x0;_0x2b4be9<_0x5105c3['length'];_0x2b4be9++)if(_0x5105c3[_0x2b4be9]!=='default')__createBinding(_0xd4812f,_0x5b24f5,_0x5105c3[_0x2b4be9]);}return __setModuleDefault(_0xd4812f,_0x5b24f5),_0xd4812f;};}());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'(_0x25c3db,_0x36fde0,_0x20c8c1,_0xecbf40,_0x46553a){try{if(_0x20c8c1?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);const _0x3a5bcf=_0x46553a,_0x4cee49=String(_0x36fde0['path']??''),_0x1ce2d5=String(_0x36fde0['old_string']??''),_0x545a96=String(_0x36fde0['new_string']??''),_0x459447=Boolean(_0x36fde0['replace_all']);if(!_0x4cee49)return(0x0,types_js_1['textResult'])('Missing\x20\x27path\x27.',!![]);if(!_0x1ce2d5)return(0x0,types_js_1['textResult'])('Missing\x20\x27old_string\x27.',!![]);let _0x53c4fd;try{_0x53c4fd=(0x0,types_js_1['resolveConstrainedPath'])(_0x4cee49,_0x3a5bcf['cwd']),(0x0,types_js_1['assertExternalDirectory'])(_0x53c4fd,_0x3a5bcf['cwd']),(0x0,types_js_1['assertMutablePath'])(_0x53c4fd);}catch(_0x2f55af){return(0x0,types_js_1['textResult'])('Access\x20denied:\x20'+(_0x2f55af instanceof Error?_0x2f55af['message']:String(_0x2f55af)),!![]);}if(_0x20c8c1?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);if(_0x3a5bcf['requestPermission']){const _0x2b6fcf=await _0x3a5bcf['requestPermission']('edit_file',_0x4cee49,'Trayambak\x20approval\x20required\x20for\x20edit_file');if(!_0x2b6fcf)return(0x0,types_js_1['textResult'])('Permission\x20denied\x20for\x20edit_file:\x20'+_0x4cee49,!![]);}if(_0x20c8c1?.['aborted'])return(0x0,types_js_1['textResult'])('aborted',!![]);if(!fs['existsSync'](_0x53c4fd))return(0x0,types_js_1['textResult'])('File\x20not\x20found:\x20'+_0x4cee49,!![]);const _0x34620a=fs['readFileSync'](_0x53c4fd,'utf8'),_0x3fd4f6=_0x34620a['split'](_0x1ce2d5)['length']-0x1;if(_0x3fd4f6===0x0){const _0x1bae60=(0x0,fuzzy_match_js_1['findOldStringSpans'])(_0x34620a,_0x1ce2d5);if(_0x1bae60['length']===0x0)return(0x0,types_js_1['textResult'])('old_string\x20not\x20found\x20in\x20'+_0x4cee49,!![]);if(_0x1bae60['length']>0x1)return(0x0,types_js_1['textResult'])('old_string\x20is\x20not\x20unique\x20('+_0x1bae60['length']+'\x20whitespace-tolerant\x20matches).\x20Make\x20it\x20unique\x20or\x20set\x20replace_all.',!![]);const _0x57e424=_0x1bae60[0x0],_0x26f1e0=_0x34620a['slice'](0x0,_0x57e424['start'])+_0x545a96+_0x34620a['slice'](_0x57e424['end']);fs['writeFileSync'](_0x53c4fd,_0x26f1e0,'utf8');const _0x3fdbbd=await(0x0,tsc_diagnostics_js_1['syntaxNote'])(_0x53c4fd,_0x26f1e0),_0x31de08=(0x0,diff_render_js_1['miniDiff'])(_0x34620a['slice'](_0x57e424['start'],_0x57e424['end']),_0x545a96)['join']('\x0a');return(0x0,types_js_1['textResult'])('Edited\x20'+_0x4cee49+'\x20(1\x20occurrence,\x20'+_0x57e424['pass']+'\x20match).'+_0x3fdbbd+'\x0a'+_0x31de08);}if(_0x3fd4f6>0x1&&!_0x459447)return(0x0,types_js_1['textResult'])('old_string\x20is\x20not\x20unique\x20('+_0x3fd4f6+'\x20matches).\x20Make\x20it\x20unique\x20or\x20set\x20replace_all.',!![]);const _0x39eabc=_0x459447?_0x34620a['split'](_0x1ce2d5)['join'](_0x545a96):_0x34620a['replace'](_0x1ce2d5,_0x545a96);fs['writeFileSync'](_0x53c4fd,_0x39eabc,'utf8');const _0x4b674d=await(0x0,tsc_diagnostics_js_1['syntaxNote'])(_0x53c4fd,_0x39eabc),_0x1b9589=(0x0,diff_render_js_1['miniDiff'])(_0x1ce2d5,_0x545a96)['join']('\x0a');return(0x0,types_js_1['textResult'])('Edited\x20'+_0x4cee49+'\x20('+_0x3fd4f6+'\x20occurrence'+(_0x3fd4f6>0x1?'s':'')+').'+_0x4b674d+'\x0a'+_0x1b9589);}catch(_0x1f781a){return(0x0,types_js_1['textResult'])('Edit\x20error:\x20'+(_0x1f781a instanceof Error?_0x1f781a['message']:String(_0x1f781a)),!![]);}}};}
@@ -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(_0x497753,_0x4e0559,_0x44e450,_0x107d4e){if(_0x107d4e===undefined)_0x107d4e=_0x44e450;var _0x43be11=Object['getOwnPropertyDescriptor'](_0x4e0559,_0x44e450);(!_0x43be11||('get'in _0x43be11?!_0x4e0559['__esModule']:_0x43be11['writable']||_0x43be11['configurable']))&&(_0x43be11={'enumerable':!![],'get':function(){return _0x4e0559[_0x44e450];}}),Object['defineProperty'](_0x497753,_0x107d4e,_0x43be11);}:function(_0x2b6cc6,_0x4ec1fc,_0xc824b1,_0x437d50){if(_0x437d50===undefined)_0x437d50=_0xc824b1;_0x2b6cc6[_0x437d50]=_0x4ec1fc[_0xc824b1];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x4c2d05,_0x1f912e){Object['defineProperty'](_0x4c2d05,'default',{'enumerable':!![],'value':_0x1f912e});}:function(_0x405da7,_0x3357bb){_0x405da7['default']=_0x3357bb;}),__importStar=this&&this['__importStar']||(function(){var _0x31b38d=function(_0x1dfe2d){return _0x31b38d=Object['getOwnPropertyNames']||function(_0x4feed9){var _0x542b5e=[];for(var _0x2cc3fc in _0x4feed9)if(Object['prototype']['hasOwnProperty']['call'](_0x4feed9,_0x2cc3fc))_0x542b5e[_0x542b5e['length']]=_0x2cc3fc;return _0x542b5e;},_0x31b38d(_0x1dfe2d);};return function(_0x13e02d){if(_0x13e02d&&_0x13e02d['__esModule'])return _0x13e02d;var _0x204758={};if(_0x13e02d!=null){for(var _0x2e6058=_0x31b38d(_0x13e02d),_0x26ef34=0x0;_0x26ef34<_0x2e6058['length'];_0x26ef34++)if(_0x2e6058[_0x26ef34]!=='default')__createBinding(_0x204758,_0x13e02d,_0x2e6058[_0x26ef34]);}return __setModuleDefault(_0x204758,_0x13e02d),_0x204758;};}());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(_0x46efb8,_0x3ec842,_0x2e45ad=0x14){const _0x1c43b6=(_0x5e1204,_0x3e4e96)=>{if(_0x3e4e96>_0x2e45ad)return;let _0x4f2ee6;try{_0x4f2ee6=fs['readdirSync'](_0x5e1204,{'withFileTypes':!![]});}catch{return;}for(const _0x5c074b of _0x4f2ee6){if(exports['IGNORED_DIRS']['has'](_0x5c074b['name']))continue;const _0x495cf2=path['join'](_0x5e1204,_0x5c074b['name']),_0x2e37cf=path['relative'](_0x46efb8,_0x495cf2);if(_0x5c074b['isDirectory']())_0x1c43b6(_0x495cf2,_0x3e4e96+0x1);else _0x5c074b['isFile']()&&_0x3ec842(_0x495cf2,_0x2e37cf);}};_0x1c43b6(_0x46efb8,0x0);}function matchGlob(_0x1fd3aa,_0x45771c){const _0x1c97b1=_0x1fd3aa['replace'](/[.+^${}()|[\]\\]/g,'\x5c$&')['replace'](/\*\*\//g,'(?:.*/)?')['replace'](/\*\*/g,'.*')['replace'](/\*/g,'[^/]*');return new RegExp('^'+_0x1c97b1+'$')['test'](_0x45771c);}