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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +1 -1
  2. package/dist/apps/cli/src/command-registry.js +1 -1
  3. package/dist/apps/cli/src/commands/agent.js +1 -1
  4. package/dist/apps/cli/src/commands/archive.js +1 -1
  5. package/dist/apps/cli/src/commands/checkpoint.js +1 -1
  6. package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
  7. package/dist/apps/cli/src/commands/commit.js +1 -1
  8. package/dist/apps/cli/src/commands/compact.js +1 -1
  9. package/dist/apps/cli/src/commands/config.js +1 -1
  10. package/dist/apps/cli/src/commands/db.js +1 -1
  11. package/dist/apps/cli/src/commands/doctor.js +1 -1
  12. package/dist/apps/cli/src/commands/download.js +1 -1
  13. package/dist/apps/cli/src/commands/exec.js +1 -1
  14. package/dist/apps/cli/src/commands/index.js +1 -1
  15. package/dist/apps/cli/src/commands/login.js +1 -1
  16. package/dist/apps/cli/src/commands/manager.js +1 -1
  17. package/dist/apps/cli/src/commands/marketplace.js +1 -1
  18. package/dist/apps/cli/src/commands/mcp.js +1 -1
  19. package/dist/apps/cli/src/commands/mode.js +1 -1
  20. package/dist/apps/cli/src/commands/models.js +1 -1
  21. package/dist/apps/cli/src/commands/plan.js +1 -1
  22. package/dist/apps/cli/src/commands/pr.js +1 -1
  23. package/dist/apps/cli/src/commands/registry.js +1 -1
  24. package/dist/apps/cli/src/commands/run.js +1 -1
  25. package/dist/apps/cli/src/commands/sandbox.js +1 -1
  26. package/dist/apps/cli/src/commands/serve.js +1 -1
  27. package/dist/apps/cli/src/commands/session-export.js +1 -1
  28. package/dist/apps/cli/src/commands/session-resume.js +1 -1
  29. package/dist/apps/cli/src/commands/shortcuts.js +1 -1
  30. package/dist/apps/cli/src/commands/slash-command.js +1 -1
  31. package/dist/apps/cli/src/commands/stats.js +1 -1
  32. package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
  33. package/dist/apps/cli/src/commands/task.js +1 -1
  34. package/dist/apps/cli/src/commands/todo.js +1 -1
  35. package/dist/apps/cli/src/commands/uninstall.js +1 -1
  36. package/dist/apps/cli/src/commands/upgrade.js +1 -1
  37. package/dist/apps/cli/src/commands/worktree.js +1 -1
  38. package/dist/apps/cli/src/flags.js +1 -1
  39. package/dist/apps/cli/src/index.js +1 -1
  40. package/dist/apps/cli/src/integration/board.js +1 -1
  41. package/dist/apps/cli/src/integration/git-refs.js +1 -1
  42. package/dist/apps/cli/src/integration/index.js +1 -1
  43. package/dist/apps/cli/src/integration/indexing.js +1 -1
  44. package/dist/apps/cli/src/integration/notebook.js +1 -1
  45. package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
  46. package/dist/apps/cli/src/integration/plan.js +1 -1
  47. package/dist/apps/cli/src/integration/presence.js +1 -1
  48. package/dist/apps/cli/src/integration/project-id.js +1 -1
  49. package/dist/apps/cli/src/integration/rules.js +1 -1
  50. package/dist/apps/cli/src/integration/sandbox.js +1 -1
  51. package/dist/apps/cli/src/integration/task-resume.js +1 -1
  52. package/dist/apps/cli/src/integration/text-stream.js +1 -1
  53. package/dist/apps/cli/src/integration/unique-id.js +1 -1
  54. package/dist/apps/cli/src/integration/watcher.js +1 -1
  55. package/dist/apps/cli/src/logger.js +1 -1
  56. package/dist/apps/cli/src/session/index.js +1 -1
  57. package/dist/apps/cli/src/session/session-compaction.js +1 -1
  58. package/dist/apps/cli/src/session/session-continuation.js +1 -1
  59. package/dist/apps/cli/src/session/session-control.js +1 -1
  60. package/dist/apps/cli/src/session/session-fork.js +1 -1
  61. package/dist/apps/cli/src/session/session-manager.js +1 -1
  62. package/dist/apps/cli/src/session/session-transcript.js +1 -1
  63. package/dist/apps/cli/src/tui/index.js +1 -1
  64. package/dist/apps/cli/src/tui/tui-features.js +1 -1
  65. package/dist/apps/cli/src/version.js +1 -1
  66. package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
  67. package/dist/apps/runtime/src/agent/agent.js +1 -1
  68. package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
  69. package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
  70. package/dist/apps/runtime/src/agent/review-init.js +1 -1
  71. package/dist/apps/runtime/src/agent/sota.js +1 -1
  72. package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
  73. package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
  74. package/dist/apps/runtime/src/checkpoints.js +1 -1
  75. package/dist/apps/runtime/src/compaction.js +1 -1
  76. package/dist/apps/runtime/src/config.js +1 -1
  77. package/dist/apps/runtime/src/controller/controller.js +1 -1
  78. package/dist/apps/runtime/src/controller/executor.js +1 -1
  79. package/dist/apps/runtime/src/controller/reviewer.js +1 -1
  80. package/dist/apps/runtime/src/controller/router.js +1 -1
  81. package/dist/apps/runtime/src/controller/state.js +1 -1
  82. package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
  83. package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
  84. package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
  85. package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
  86. package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
  87. package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
  88. package/dist/apps/runtime/src/github-auth.js +1 -1
  89. package/dist/apps/runtime/src/goals.js +1 -1
  90. package/dist/apps/runtime/src/index.js +1 -1
  91. package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
  92. package/dist/apps/runtime/src/license.js +1 -1
  93. package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
  94. package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
  95. package/dist/apps/runtime/src/notifications.js +1 -1
  96. package/dist/apps/runtime/src/planner/planner.js +1 -1
  97. package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
  98. package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
  99. package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
  100. package/dist/apps/runtime/src/prompt/rules.js +1 -1
  101. package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
  102. package/dist/apps/runtime/src/self-improvement.js +1 -1
  103. package/dist/apps/runtime/src/session/session.js +1 -1
  104. package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
  105. package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
  106. package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
  107. package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
  108. package/dist/apps/runtime/src/tools/code/fim.js +1 -1
  109. package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
  110. package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
  111. package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
  112. package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
  113. package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
  114. package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
  115. package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
  116. package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
  117. package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
  118. package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
  119. package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
  120. package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
  121. package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
  122. package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
  123. package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
  124. package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
  125. package/dist/apps/runtime/src/tools/github/github.js +1 -1
  126. package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
  127. package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
  128. package/dist/apps/runtime/src/tools/index.js +1 -1
  129. package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
  130. package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
  131. package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
  132. package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
  133. package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
  134. package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
  135. package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
  136. package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
  137. package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
  138. package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
  139. package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
  140. package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
  141. package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
  142. package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
  143. package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
  144. package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
  145. package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
  146. package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
  147. package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
  148. package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
  149. package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
  150. package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
  151. package/dist/apps/runtime/src/tools/text/csv.js +1 -1
  152. package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
  153. package/dist/apps/runtime/src/tools/text/diff.js +1 -1
  154. package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
  155. package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
  156. package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
  157. package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
  158. package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
  159. package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
  160. package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
  161. package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
  162. package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
  163. package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
  164. package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
  165. package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
  166. package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
  167. package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
  168. package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
  169. package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
  170. package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
  171. package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
  172. package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
  173. package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
  174. package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
  175. package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
  176. package/dist/apps/runtime/src/tools/types.js +1 -1
  177. package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
  178. package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
  179. package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
  180. package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
  181. package/dist/apps/runtime/src/update/auto-update.js +1 -1
  182. package/dist/packages/acp/src/index.js +1 -1
  183. package/dist/packages/approval/src/index.js +1 -1
  184. package/dist/packages/checkpoints/src/index.js +1 -1
  185. package/dist/packages/cli/src/commands/registry.js +1 -1
  186. package/dist/packages/client/src/index.js +1 -1
  187. package/dist/packages/coding-agent/src/index.js +1 -1
  188. package/dist/packages/core/src/agent_communication.js +1 -1
  189. package/dist/packages/core/src/agent_registry.js +1 -1
  190. package/dist/packages/core/src/agents_md.js +1 -1
  191. package/dist/packages/core/src/analytics.js +1 -1
  192. package/dist/packages/core/src/approval.js +1 -1
  193. package/dist/packages/core/src/auth.js +1 -1
  194. package/dist/packages/core/src/context/compactor.js +1 -1
  195. package/dist/packages/core/src/cron/scheduler.js +1 -1
  196. package/dist/packages/core/src/curator/librarian.js +1 -1
  197. package/dist/packages/core/src/env_filter.js +1 -1
  198. package/dist/packages/core/src/extension_api.js +1 -1
  199. package/dist/packages/core/src/feature_flags.js +1 -1
  200. package/dist/packages/core/src/hook_runtime.js +1 -1
  201. package/dist/packages/core/src/i18n.js +1 -1
  202. package/dist/packages/core/src/memory/manager.js +1 -1
  203. package/dist/packages/core/src/memory/provider.js +1 -1
  204. package/dist/packages/core/src/plan_mode.js +1 -1
  205. package/dist/packages/core/src/process.js +1 -1
  206. package/dist/packages/core/src/providers/manager.js +1 -1
  207. package/dist/packages/core/src/providers/registry.js +1 -1
  208. package/dist/packages/core/src/rollout_budget.js +1 -1
  209. package/dist/packages/core/src/secrets.js +1 -1
  210. package/dist/packages/core/src/session_store.js +1 -1
  211. package/dist/packages/core/src/state_db.js +1 -1
  212. package/dist/packages/core/src/subagents.js +1 -1
  213. package/dist/packages/core/src/token_budget.js +1 -1
  214. package/dist/packages/core/src/toolsets/arsenal.js +1 -1
  215. package/dist/packages/core/src/validate.js +1 -1
  216. package/dist/packages/execpolicy/src/policy.js +1 -1
  217. package/dist/packages/function/src/index.js +1 -1
  218. package/dist/packages/harness/src/index.js +1 -1
  219. package/dist/packages/mcp/src/index.js +1 -1
  220. package/dist/packages/mcp/src/oauth-callback.js +1 -1
  221. package/dist/packages/mcp/src/oauth.js +1 -1
  222. package/dist/packages/mcp/src/spawn-resolve.js +1 -1
  223. package/dist/packages/mcp-server/src/index.js +1 -1
  224. package/dist/packages/modes/src/index.js +1 -1
  225. package/dist/packages/protocol/src/events.js +1 -1
  226. package/dist/packages/protocol/src/messages.js +1 -1
  227. package/dist/packages/protocol/src/permission-rules.js +1 -1
  228. package/dist/packages/protocol/src/permissions.js +1 -1
  229. package/dist/packages/protocol/src/tools.js +1 -1
  230. package/dist/packages/protocol/src/util/url.js +1 -1
  231. package/dist/packages/provider/src/anthropic.js +1 -1
  232. package/dist/packages/provider/src/catalog.js +1 -1
  233. package/dist/packages/provider/src/custom.js +1 -1
  234. package/dist/packages/provider/src/faux-stream.js +1 -1
  235. package/dist/packages/provider/src/google.js +1 -1
  236. package/dist/packages/provider/src/huggingface.js +1 -1
  237. package/dist/packages/provider/src/index.js +1 -1
  238. package/dist/packages/provider/src/llama-cpp.js +1 -1
  239. package/dist/packages/provider/src/nvidia.js +1 -1
  240. package/dist/packages/provider/src/ollama.js +1 -1
  241. package/dist/packages/provider/src/openai.js +1 -1
  242. package/dist/packages/provider/src/types.js +1 -1
  243. package/dist/packages/provider/src/xai.js +1 -1
  244. package/dist/packages/sandbox/src/gate.js +1 -1
  245. package/dist/packages/sandbox/src/index.js +1 -1
  246. package/dist/packages/sandbox/src/spawn.js +1 -1
  247. package/dist/packages/sandbox/src/types.js +1 -1
  248. package/dist/packages/sandbox/src/violation.js +1 -1
  249. package/dist/packages/schema/src/index.js +1 -1
  250. package/dist/packages/sdk/src/index.js +1 -1
  251. package/dist/packages/server/src/cors.js +1 -1
  252. package/dist/packages/server/src/daemon.js +1 -1
  253. package/dist/packages/server/src/github-app.js +1 -1
  254. package/dist/packages/server/src/github-autofix.js +1 -1
  255. package/dist/packages/server/src/github-jobs.js +1 -1
  256. package/dist/packages/server/src/github-oauth.js +1 -1
  257. package/dist/packages/server/src/index.js +1 -1
  258. package/dist/packages/server/src/install-ps1.js +1 -1
  259. package/dist/packages/server/src/license-store.js +1 -1
  260. package/dist/packages/session-backends/src/index.js +1 -1
  261. package/dist/packages/session-backends/src/transcript.js +1 -1
  262. package/dist/packages/telemetry/src/index.js +1 -1
  263. package/dist/packages/tui/src/app/app-state.js +1 -1
  264. package/dist/packages/tui/src/app/events.js +1 -1
  265. package/dist/packages/tui/src/approval-notification.js +1 -1
  266. package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
  267. package/dist/packages/tui/src/bottom_pane/index.js +1 -1
  268. package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
  269. package/dist/packages/tui/src/dialogs.js +1 -1
  270. package/dist/packages/tui/src/index.js +1 -1
  271. package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
  272. package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
  273. package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
  274. package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
  275. package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
  276. package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
  277. package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
  278. package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
  279. package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
  280. package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
  281. package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
  282. package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
  283. package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
  284. package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
  285. package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
  286. package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
  287. package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
  288. package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
  289. package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
  290. package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
  291. package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
  292. package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
  293. package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
  294. package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
  295. package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
  296. package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
  297. package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
  298. package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
  299. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
  300. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
  301. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
  302. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
  303. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
  304. package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
  305. package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
  306. package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
  307. package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
  308. package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
  309. package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
  310. package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
  311. package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
  312. package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
  313. package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
  314. package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
  315. package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
  316. package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
  317. package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
  318. package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
  319. package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
  320. package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
  321. package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
  322. package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
  323. package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
  324. package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
  325. package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
  326. package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
  327. package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
  328. package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
  329. package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
  330. package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
  331. package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
  332. package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
  333. package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
  334. package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
  335. package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
  336. package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
  337. package/dist/packages/tui/src/keybindings.js +1 -1
  338. package/dist/packages/tui/src/keys.js +1 -1
  339. package/dist/packages/tui/src/notifications.js +1 -1
  340. package/dist/packages/tui/src/premium-ui.js +1 -1
  341. package/dist/packages/tui/src/stdin-buffer.js +1 -1
  342. package/dist/packages/tui/src/terminal-ui.js +1 -1
  343. package/dist/packages/tui/src/tui/terminal.js +1 -1
  344. package/dist/packages/tui/src/ui/box.js +1 -1
  345. package/dist/packages/tui/src/ui/dialog.js +1 -1
  346. package/dist/packages/tui/src/ui/footer-mode.js +1 -1
  347. package/dist/packages/tui/src/ui/footer.js +1 -1
  348. package/dist/packages/tui/src/ui/key-hint.js +1 -1
  349. package/dist/packages/tui/src/ui/skt-themes.js +1 -1
  350. package/dist/packages/tui/src/ui/spinner.js +1 -1
  351. package/dist/packages/tui/src/ui/theme.js +1 -1
  352. package/dist/packages/tui/src/ui/toast.js +1 -1
  353. package/dist/packages/tui/src/ui/tool-display.js +1 -1
  354. package/dist/packages/tui/src/ui/tool-palette.js +1 -1
  355. package/dist/skt/0-points/points.js +1 -1
  356. package/dist/skt/1-errors/mistake.js +1 -1
  357. package/dist/skt/1-errors/penalty.js +1 -1
  358. package/dist/skt/10-upload/upload.js +1 -1
  359. package/dist/skt/11-ui/components.js +1 -1
  360. package/dist/skt/12-control/content-control.js +1 -1
  361. package/dist/skt/12-control/hallucination.js +1 -1
  362. package/dist/skt/12-control/points.js +1 -1
  363. package/dist/skt/12-control/repetition.js +1 -1
  364. package/dist/skt/12-control/verification.js +1 -1
  365. package/dist/skt/13-healing/ast-validator.js +1 -1
  366. package/dist/skt/13-healing/healing-controller.js +1 -1
  367. package/dist/skt/13-healing/journal.js +1 -1
  368. package/dist/skt/13-healing/rollback.js +1 -1
  369. package/dist/skt/13-healing/scratchpad.js +1 -1
  370. package/dist/skt/13-healing/subprocess.js +1 -1
  371. package/dist/skt/13-healing/verify.js +1 -1
  372. package/dist/skt/14-hooks/codec.js +1 -1
  373. package/dist/skt/14-hooks/events.js +1 -1
  374. package/dist/skt/14-hooks/matcher.js +1 -1
  375. package/dist/skt/14-hooks/merge.js +1 -1
  376. package/dist/skt/14-hooks/runner.js +1 -1
  377. package/dist/skt/14-hooks/types.js +1 -1
  378. package/dist/skt/3-user/instructions.js +1 -1
  379. package/dist/skt/4-mem/memory.js +1 -1
  380. package/dist/skt/5-eval/cot-chain.js +1 -1
  381. package/dist/skt/5-eval/cot.js +1 -1
  382. package/dist/skt/5-eval/eval.js +1 -1
  383. package/dist/skt/6-u/improvements.js +1 -1
  384. package/dist/skt/6-u/reward.js +1 -1
  385. package/dist/skt/7-cli/autorepair.js +1 -1
  386. package/dist/skt/7-cli/clibugs.js +1 -1
  387. package/dist/skt/7-cli/reinstall.js +1 -1
  388. package/dist/skt/7-cli/reset.js +1 -1
  389. package/dist/skt/9-session/session.js +1 -1
  390. package/dist/skt/context.js +1 -1
  391. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3c26f3,_0x3f12ce,_0xf197aa,_0x45e026){if(_0x45e026===undefined)_0x45e026=_0xf197aa;var _0x312a70=Object['getOwnPropertyDescriptor'](_0x3f12ce,_0xf197aa);(!_0x312a70||('get'in _0x312a70?!_0x3f12ce['__esModule']:_0x312a70['writable']||_0x312a70['configurable']))&&(_0x312a70={'enumerable':!![],'get':function(){return _0x3f12ce[_0xf197aa];}}),Object['defineProperty'](_0x3c26f3,_0x45e026,_0x312a70);}:function(_0x21c09b,_0x158500,_0x1c09ad,_0xcef73e){if(_0xcef73e===undefined)_0xcef73e=_0x1c09ad;_0x21c09b[_0xcef73e]=_0x158500[_0x1c09ad];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5e2c4a,_0xc64416){Object['defineProperty'](_0x5e2c4a,'default',{'enumerable':!![],'value':_0xc64416});}:function(_0x53c5ba,_0x3f899c){_0x53c5ba['default']=_0x3f899c;}),__importStar=this&&this['__importStar']||(function(){var _0x57e9b6=function(_0x34749a){return _0x57e9b6=Object['getOwnPropertyNames']||function(_0xa510de){var _0x3cfa8f=[];for(var _0x127628 in _0xa510de)if(Object['prototype']['hasOwnProperty']['call'](_0xa510de,_0x127628))_0x3cfa8f[_0x3cfa8f['length']]=_0x127628;return _0x3cfa8f;},_0x57e9b6(_0x34749a);};return function(_0x57c620){if(_0x57c620&&_0x57c620['__esModule'])return _0x57c620;var _0x1fed2f={};if(_0x57c620!=null){for(var _0x3a28b8=_0x57e9b6(_0x57c620),_0x171575=0x0;_0x171575<_0x3a28b8['length'];_0x171575++)if(_0x3a28b8[_0x171575]!=='default')__createBinding(_0x1fed2f,_0x57c620,_0x3a28b8[_0x171575]);}return __setModuleDefault(_0x1fed2f,_0x57c620),_0x1fed2f;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OPENAPI_SPEC']=void 0x0,exports['startServer']=startServer;const http=__importStar(require('http')),crypto_1=require('crypto'),node_fs_1=require('node:fs'),index_js_1=require('../../../apps/runtime/src/index.js'),index_js_2=require('../../telemetry/src/index.js'),transcript_js_1=require('../../session-backends/src/transcript.js'),github_app_js_1=require('./github-app.js'),license_js_1=require('../../../apps/runtime/src/license.js'),license_store_js_1=require('./license-store.js'),github_oauth_js_1=require('./github-oauth.js'),install_ps1_js_1=require('./install-ps1.js'),github_jobs_js_1=require('./github-jobs.js'),github_autofix_js_1=require('./github-autofix.js'),cors_js_1=require('./cors.js');function readJsonBody(_0x57875f,_0x18f7cd){return new Promise(_0x53cd29=>{let _0x1fc9bd='',_0x4ec0df=0x0,_0x13467b=![];const _0x2f0a07=(_0x55c001,_0x25fd20)=>{if(_0x13467b)return;_0x13467b=!![],_0x18f7cd['writeHead'](_0x55c001,{'Content-Type':'application/json'}),_0x18f7cd['end'](JSON['stringify']({'error':_0x25fd20})),setImmediate(()=>_0x57875f['destroy']());};_0x57875f['on']('data',_0x1164c6=>{if(_0x13467b)return;const _0x542dbe=typeof _0x1164c6==='string'?_0x1164c6:_0x1164c6['toString']('utf8');_0x4ec0df+=Buffer['byteLength'](_0x542dbe);if(_0x4ec0df>MAX_BODY_BYTES){_0x2f0a07(0x19d,'body\x20too\x20large\x20(max\x201MB)');return;}_0x1fc9bd+=_0x542dbe;}),_0x57875f['on']('end',()=>{if(_0x13467b||_0x57875f['destroyed'])return;try{_0x53cd29(JSON['parse'](_0x1fc9bd));}catch{_0x2f0a07(0x190,'invalid\x20JSON'),_0x53cd29(null);}});});}function adminPage(){return'<!doctype\x20html>\x0a<html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,initial-scale=1\x22>\x0a<title>Trayambak\x20—\x20license\x20generator</title>\x0a<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem;color:#111}label{display:block;margin:1rem\x200\x20.25rem;font-weight:600}input,select,button{font-size:1rem;padding:.5rem;width:100%;box-sizing:border-box}button{margin-top:1.25rem;background:#111;color:#fff;border:0;cursor:pointer}#out{margin-top:1.5rem;padding:1rem;background:#f4f4f4;word-break:break-all;display:none;font-family:monospace;font-size:1.2rem}#err{color:#b00;margin-top:1rem}pre{background:#f4f4f4;padding:1rem;overflow:auto;font-size:.8rem}</style>\x0a</head><body>\x0a<h1>Trayambak\x20license\x20generator</h1>\x0a<p>Bearer\x20token\x20is\x20asked\x20once\x20per\x20session\x20and\x20never\x20stored.\x20Minted\x20codes\x20are\x2016\x20letters,\x20always\x20<b>1102-…</b>,\x20verified\x20<b>live\x20by\x20this\x20server</b>\x20(registry\x20+\x201-machine\x20binding).</p>\x0a<p>Users\x20self-serve\x20a\x207-day\x20trial\x20from\x20the\x20TUI\x20(<b>/devmode\x20trial</b>\x20—\x201\x20live\x20trial\x20per\x20machine,\x20born\x20bound,\x205/hour\x20per\x20network).\x20Paid\x20keys\x20come\x20from\x20Mint\x20below.\x20Exploitation?\x20Find\x20the\x20key\x20id\x20in\x20<b>Usage</b>,\x20paste\x20it\x20under\x20<b>Revoke</b>\x20—\x20dead\x20in\x20one\x20click,\x20everywhere.</p>\x0a<label>Bearer\x20token\x20(TRAYAMBAK_WEB_TOKEN)<input\x20id=\x22token\x22\x20type=\x22password\x22\x20autocomplete=\x22off\x22></label>\x0a<label>Plan<select\x20id=\x22plan\x22><option\x20value=\x22pentest\x22>pentest</option><option\x20value=\x22pro\x22>pro</option><option\x20value=\x22enterprise\x22>enterprise</option><option\x20value=\x22basic\x22>basic</option></select></label>\x0a<label>Days\x20valid<input\x20id=\x22days\x22\x20type=\x22number\x22\x20value=\x22365\x22\x20min=\x221\x22\x20max=\x223650\x22></label>\x0a<label>Customer\x20id\x20(optional)<input\x20id=\x22cid\x22\x20type=\x22text\x22\x20placeholder=\x22acme-corp\x22></label>\x0a<button\x20id=\x22go\x22>Mint\x20license</button>\x0a<div\x20id=\x22err\x22></div>\x0a<div\x20id=\x22out\x22></div>\x0a<h2>Register\x20a\x20pre-existing\x20code</h2>\x0a<p>Legacy/offline-era\x20keys\x20must\x20be\x20imported\x20once\x20before\x20their\x20holders\x20can\x20activate\x20them.</p>\x0a<label>Code\x20to\x20import<input\x20id=\x22imp\x22\x20type=\x22text\x22\x20placeholder=\x221102-XXXX-XXXX-XXXX\x22></label>\x0a<label>Customer\x20id\x20(optional)<input\x20id=\x22impcid\x22\x20type=\x22text\x22></label>\x0a<button\x20id=\x22goimp\x22>Import\x20code</button>\x0a<h2>Licenses</h2>\x0a<button\x20id=\x22golist\x22>Refresh\x20list</button>\x0a<pre\x20id=\x22list\x22></pre>\x0a<h2>Usage\x20(latest\x20100)</h2>\x0a<button\x20id=\x22gouse\x22>Refresh\x20usage</button>\x0a<pre\x20id=\x22use\x22></pre>\x0a<h2>Revoke\x20/\x20unbind\x20by\x20id</h2>\x0a<label>License\x20id<input\x20id=\x22lid\x22\x20type=\x22text\x22></label>\x0a<button\x20id=\x22gorev\x22>Revoke</button>\x0a<button\x20id=\x22gounb\x22>Unbind\x20machine</button>\x0a<script>\x0aconst\x20auth\x20=\x20()\x20=>\x20({\x20\x22Content-Type\x22:\x20\x22application/json\x22,\x20\x22Authorization\x22:\x20\x22Bearer\x20\x22\x20+\x20document.getElementById(\x22token\x22).value\x20});\x0aconst\x20show\x20=\x20(el,\x20v)\x20=>\x20{\x20const\x20e\x20=\x20document.getElementById(el);\x20e.textContent\x20=\x20typeof\x20v\x20===\x20\x22string\x22\x20?\x20v\x20:\x20JSON.stringify(v,\x20null,\x202);\x20e.style.display\x20=\x20\x22block\x22;\x20};\x0adocument.getElementById(\x22go\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20err\x20=\x20document.getElementById(\x22err\x22),\x20out\x20=\x20document.getElementById(\x22out\x22);\x0a\x20\x20err.textContent\x20=\x20\x22\x22;\x20out.style.display\x20=\x20\x22none\x22;\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/mint\x22,\x20{\x20method:\x20\x22POST\x22,\x0a\x20\x20\x20\x20\x20\x20headers:\x20auth(),\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify({\x20plan:\x20document.getElementById(\x22plan\x22).value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20days:\x20Number(document.getElementById(\x22days\x22).value),\x0a\x20\x20\x20\x20\x20\x20\x20\x20id:\x20document.getElementById(\x22cid\x22).value\x20||\x20undefined\x20})\x20});\x0a\x20\x20\x20\x20const\x20j\x20=\x20await\x20r.json();\x0a\x20\x20\x20\x20if\x20(!r.ok)\x20throw\x20new\x20Error(j.error\x20||\x20(\x22HTTP\x20\x22\x20+\x20r.status));\x0a\x20\x20\x20\x20out.textContent\x20=\x20j.key;\x20out.style.display\x20=\x20\x22block\x22;\x0a\x20\x20}\x20catch\x20(e)\x20{\x20err.textContent\x20=\x20String((e\x20&&\x20e.message)\x20||\x20e);\x20}\x0a};\x0adocument.getElementById(\x22goimp\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20err\x20=\x20document.getElementById(\x22err\x22);\x0a\x20\x20err.textContent\x20=\x20\x22\x22;\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/import\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify({\x20key:\x20document.getElementById(\x22imp\x22).value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20customer:\x20document.getElementById(\x22impcid\x22).value\x20||\x20undefined\x20})\x20});\x0a\x20\x20\x20\x20const\x20j\x20=\x20await\x20r.json();\x0a\x20\x20\x20\x20if\x20(!r.ok)\x20throw\x20new\x20Error(j.error\x20||\x20(\x22HTTP\x20\x22\x20+\x20r.status));\x0a\x20\x20\x20\x20show(\x22out\x22,\x20\x22imported\x20id\x20\x22\x20+\x20j.id\x20+\x20\x22\x20(\x22\x20+\x20j.plan\x20+\x20\x22)\x22);\x0a\x20\x20}\x20catch\x20(e)\x20{\x20err.textContent\x20=\x20String((e\x20&&\x20e.message)\x20||\x20e);\x20}\x0a};\x0adocument.getElementById(\x22golist\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/licenses\x22,\x20{\x20headers:\x20auth()\x20});\x0a\x20\x20show(\x22list\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gouse\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/usage?tail=100\x22,\x20{\x20headers:\x20auth()\x20});\x0a\x20\x20show(\x22use\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gorev\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/revoke\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20body:\x20JSON.stringify({\x20id:\x20document.getElementById(\x22lid\x22).value\x20})\x20});\x0a\x20\x20show(\x22out\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gounb\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/unbind\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20body:\x20JSON.stringify({\x20id:\x20document.getElementById(\x22lid\x22).value\x20})\x20});\x0a\x20\x20show(\x22out\x22,\x20await\x20r.json());\x0a};\x0a</script>\x0a</body></html>';}const LOOPBACK_HOSTS=new Set(['127.0.0.1','::1','localhost','0:0:0:0:0:0:0:1']),MAX_BODY_BYTES=0x100000;exports['OPENAPI_SPEC']={'openapi':'3.0.0','info':{'title':'Trayambak\x20Agent\x20API','version':'0.6.1'},'paths':{'/health':{'get':{'summary':'Health\x20check'}},'/v1/models':{'get':{'summary':'List\x20models'}},'/v1/agent':{'post':{'summary':'Run\x20agent\x20(SSE)'}},'/api/sessions':{'get':{'summary':'List\x20transcripts'}},'/admin':{'get':{'summary':'License\x20generator\x20UI\x20(SKT\x20operators)'}},'/admin/mint':{'post':{'summary':'Mint\x20a\x2016-letter\x20license\x20(bearer-gated)'}},'/admin/import':{'post':{'summary':'Register\x20a\x20pre-existing\x20code\x20(bearer-gated)'}},'/admin/revoke':{'post':{'summary':'Revoke\x20a\x20license\x20by\x20id\x20(bearer-gated)'}},'/admin/unbind':{'post':{'summary':'Free\x20a\x20license\x27s\x20machine\x20binding\x20(bearer-gated)'}},'/admin/licenses':{'get':{'summary':'List\x20licenses,\x20masked\x20(bearer-gated)'}},'/admin/usage':{'get':{'summary':'Tail\x20pentest\x20usage\x20telemetry\x20(bearer-gated)'}},'/admin/jobs':{'get':{'summary':'Tail\x20GitHub\x20job\x20history\x20(bearer-gated)'}},'/license/verify':{'post':{'summary':'Live\x20license\x20check\x20(public,\x20machine-bound)'}},'/license/activate':{'post':{'summary':'Bind\x20a\x20license\x20to\x20a\x20machine\x20(public)'}},'/license/mint-trial':{'post':{'summary':'Self-service\x207-day\x20trial,\x201/machine\x20(public,\x20rate-limited)'}},'/auth/github/start':{'post':{'summary':'Begin\x20CLI\x20GitHub\x20login,\x20returns\x20browser\x20URL\x20(public,\x20rate-limited)'}},'/auth/github/callback':{'get':{'summary':'OAuth\x20redirect\x20target\x20(public,\x20browser-facing)'}},'/auth/github/status':{'get':{'summary':'Poll\x20login\x20completion\x20by\x20machine\x20(public)'}},'/auth/github/logout':{'post':{'summary':'Forget\x20a\x20machine\x27s\x20token\x20(public)'}},'/github/read':{'post':{'summary':'Read\x20an\x20issue\x20+\x20comments\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)'}},'/install.ps1':{'get':{'summary':'Windows\x20one-line\x20installer\x20(public)'}},'/license/usage':{'post':{'summary':'Record\x20pentest\x20tool\x20usage\x20(public,\x20licensed)'}},'/webhooks/github':{'post':{'summary':'GitHub\x20App\x20webhook\x20(HMAC\x20verified)'}},'/openapi.json':{'get':{'summary':'OpenAPI\x20spec'}}}};function startServer(_0x43eb6d={}){const _0x40b19a=_0x43eb6d['port']??Number(process.env.TRAYAMBAK_SERVER_PORT??0x2253),_0x12275f=_0x43eb6d['host']??'127.0.0.1';let _0x2c23d4=_0x43eb6d['token']??process.env.TRAYAMBAK_WEB_TOKEN;const _0x42d288=_0x43eb6d['corsOrigins']??process.env.TRAYAMBAK_WEB_ORIGINS??'';let _0x16eea1=![];!_0x2c23d4&&!LOOPBACK_HOSTS['has'](_0x12275f)&&(_0x2c23d4=(0x0,crypto_1['randomBytes'])(0x20)['toString']('hex'),_0x16eea1=!![]);const _0x5b6090=(0x0,index_js_1['loadConfig'])(),_0x4a0cb6=(0x0,index_js_2['createTelemetry'])(![]),_0x1d585f=(0x0,license_store_js_1['defaultLicenseStorePaths'])(),_0x1660b6=new license_store_js_1['LicenseStore']({'file':_0x43eb6d['licenseStorePath']??_0x1d585f['file'],'usageFile':_0x43eb6d['licenseUsagePath']??_0x1d585f['usageFile']}),_0x5692dd=new Set(['/license/verify','/license/activate','/license/usage','/license/mint-trial','/webhooks/github','/auth/github/start','/auth/github/callback','/auth/github/status','/auth/github/logout','/github/read','/install.ps1']),_0x58d719=new Map(),_0x480fe8=0x5,_0x50f9b6=new Map(),_0x1a11ac=0xa,_0x3e5a8b=new github_oauth_js_1['GitHubOAuthStore'](_0x43eb6d['githubOAuthPath']??(0x0,github_oauth_js_1['defaultOAuthPath'])()),_0x2052f8=(0x0,github_autofix_js_1['parseAutofixRepos'])(process.env.GITHUB_AUTOFIX_REPOS),_0x26d849=(process.env.GITHUB_AUTOFIX_LABEL??'trayambak')['trim']()||'trayambak',_0xc08be1=Math['min'](Math['max'](Number(process.env.GITHUB_AUTOFIX_INTERVAL_MIN??0x1e)||0x1e,0x5),0x5a0),_0x2a1942=process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT===undefined?(0x0,github_autofix_js_1['defaultTriageComment'])(_0x26d849):process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT??'';if(_0x2052f8['length']>0x0){const _0x386e9d=new github_autofix_js_1['AutofixLedger']((0x0,github_autofix_js_1['defaultAutofixLedgerPath'])()),_0x1313b8=()=>{void((async()=>{try{const _0x3babcb=await(0x0,github_autofix_js_1['autofixTick'])({'repos':_0x2052f8,'label':_0x26d849,'ledger':_0x386e9d,'installationIdFor':installationIdForOwner,'tokenFor':installationTokenFor,'fetchJson':async(_0x14d4b6,_0xc1b5ac)=>{const _0x49cb27=await githubApi(_0x14d4b6,_0xc1b5ac);return{'status':_0x49cb27['status'],'json':_0x49cb27['json']};},'listAllRepos':allInstalledRepos,'postComment':async(_0x5aac48,_0x5cf362,_0x2e1a2c)=>{const _0x4c80df=_0x5aac48['split']('/')[0x0]??'',_0x8f7357=await installationIdForOwner(_0x4c80df)['catch'](()=>0x0);if(!_0x8f7357)return![];const _0x42aeee=await installationTokenFor(_0x8f7357)['catch'](()=>'');if(!_0x42aeee)return![];return postGithubComment(_0x4c80df,_0x5aac48['split']('/')[0x1]??'',_0x5cf362,_0x2e1a2c,_0x42aeee);},'triageComment':_0x2a1942,'runJob':(_0x3f413b,_0x3e8783,_0x4f747b,_0x239fee)=>enqueueGithubJob({'repoFullName':_0x3f413b,'issueNumber':_0x3e8783,'task':_0x4f747b,'isPullRequest':![]},{'installation':{'id':_0x239fee}})});(_0x3babcb['checked']>0x0||_0x3babcb['ran']['length']>0x0||_0x3babcb['triaged']['length']>0x0)&&process['stdout']['write']('[github-autofix]\x20tick:\x20checked\x20'+_0x3babcb['checked']+',\x20ran\x20'+_0x3babcb['ran']['length']+',\x20triaged\x20'+_0x3babcb['triaged']['length']+'\x0a');}catch(_0x19a846){process['stderr']['write']('[github-autofix]\x20tick\x20failed:\x20'+(_0x19a846 instanceof Error?_0x19a846['message']:String(_0x19a846))+'\x0a');}})());},_0x30df44=setInterval(_0x1313b8,_0xc08be1*0xea60);if(typeof _0x30df44['unref']==='function')_0x30df44['unref']();const _0x3723e0=setTimeout(_0x1313b8,0x1d4c0);if(typeof _0x3723e0['unref']==='function')_0x3723e0['unref']();process['stdout']['write']('[github-autofix]\x20watching\x20'+_0x2052f8['join'](',')+'\x20label='+_0x26d849+'\x20every\x20'+_0xc08be1+'m\x0a');}else process['stdout']['write']('[github-autofix]\x20idle\x20(GITHUB_AUTOFIX_REPOS\x20unset)\x0a');const _0x53607a=http['createServer'](async(_0x96b5b2,_0x222e85)=>{const _0x29857f=(0x0,cors_js_1['resolveCors'])(_0x96b5b2['headers']['origin'],_0x96b5b2['headers']['host'],_0x42d288);for(const [_0x59781b,_0x5b72ce]of Object['entries'](_0x29857f['headers'])){_0x222e85['setHeader'](_0x59781b,_0x5b72ce);}if(_0x96b5b2['method']==='OPTIONS'){_0x222e85['writeHead'](_0x29857f['allowed']?0xcc:0x193),_0x222e85['end']();return;}if(!_0x29857f['allowed']){_0x222e85['writeHead'](0x193,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'origin\x20not\x20allowed'}));return;}const _0x5819c1=(_0x96b5b2['url']??'/')['split']('?')[0x0];if(_0x2c23d4&&_0x96b5b2['url']!=='/health'&&!_0x5692dd['has'](_0x5819c1)){const _0x3ba34f=Buffer['from'](_0x96b5b2['headers']['authorization']??''),_0x189544=Buffer['from']('Bearer\x20'+_0x2c23d4),_0x185af5=_0x3ba34f['length']===_0x189544['length']&&_0x3ba34f['length']>0x0&&(0x0,crypto_1['timingSafeEqual'])(_0x3ba34f,_0x189544);if(!_0x185af5){_0x222e85['writeHead'](0x191,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'unauthorized'}));return;}}if(_0x96b5b2['method']==='GET'&&_0x96b5b2['url']==='/health'){_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'status':'ok','model':_0x5b6090['model']}));return;}if(_0x96b5b2['method']==='GET'&&_0x96b5b2['url']==='/openapi.json'){_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify'](exports['OPENAPI_SPEC']));return;}if(_0x96b5b2['method']==='GET'&&_0x96b5b2['url']==='/api/sessions'){_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'});try{_0x222e85['end'](JSON['stringify']({'sessions':(0x0,transcript_js_1['listTranscripts'])()}));}catch{_0x222e85['end'](JSON['stringify']({'sessions':[]}));}return;}if(_0x96b5b2['method']==='GET'&&_0x96b5b2['url']==='/v1/models'){_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'data':[{'id':_0x5b6090['model']}]}));return;}if(_0x96b5b2['method']==='GET'&&_0x96b5b2['url']==='/admin'){_0x222e85['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x222e85['end'](adminPage());return;}if(_0x96b5b2['method']==='POST'&&_0x96b5b2['url']==='/admin/mint'){const _0x177248=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x177248)return;const _0xd20db2=typeof _0x177248['plan']==='string'?_0x177248['plan']:'',_0x5b182d=typeof _0x177248['days']==='number'?_0x177248['days']:Number['NaN'];if(_0xd20db2!=='basic'&&_0xd20db2!=='pentest'&&_0xd20db2!=='pro'&&_0xd20db2!=='enterprise'){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'plan\x20must\x20be\x20basic|pentest|pro|enterprise'}));return;}if(!Number['isFinite'](_0x5b182d)||_0x5b182d<0x1||_0x5b182d>0xe42){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'days\x20must\x20be\x201..3650'}));return;}try{const _0x29fff8=Math['floor'](Date['now']()/0x5265c00),{activationEpochDays:_0x102821}=await Promise['resolve']()['then'](()=>__importStar(require('../../../apps/runtime/src/license.js'))),_0x4139d3=(0x0,license_js_1['mintActivationKey'])({'plan':_0xd20db2,'expDays':_0x29fff8-_0x102821()+Math['floor'](_0x5b182d)},(0x0,license_js_1['activationCheckKey'])()),_0x5a84a6=typeof _0x177248['id']==='string'?_0x177248['id']:undefined,_0x41b7c8=_0x1660b6['register'](_0x4139d3,_0x5a84a6);_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'key':_0x4139d3,'id':_0x41b7c8['id']}));}catch(_0xa99ebd){_0x222e85['writeHead'](0x1f4,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'mint\x20failed:\x20'+(_0xa99ebd instanceof Error?_0xa99ebd['message']:String(_0xa99ebd))}));}return;}if(_0x96b5b2['method']==='GET'&&_0x5819c1==='/install.ps1'){_0x222e85['writeHead'](0xc8,{'Content-Type':'text/plain;\x20charset=utf-8'}),_0x222e85['end'](install_ps1_js_1['INSTALL_PS1']);return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/license/verify'){const _0x16e09a=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x16e09a)return;const _0x3bdea9=licenseMachineId(_0x16e09a['machineId']);if(!_0x3bdea9){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'valid':![],'reason':'missing\x20machineId'}));return;}const _0x4bf682=_0x1660b6['check'](typeof _0x16e09a['key']==='string'?_0x16e09a['key']:'',_0x3bdea9);if(_0x4bf682['valid']===!![])_0x1660b6['touch'](_0x4bf682['record']?.['id']??'');_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'valid':_0x4bf682['valid'],'plan':_0x4bf682['plan'],'exp':_0x4bf682['exp'],'reason':_0x4bf682['reason']}));return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/license/activate'){const _0x3f33fd=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x3f33fd)return;const _0x3406f2=licenseMachineId(_0x3f33fd['machineId']);if(!_0x3406f2){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x241551=_0x1660b6['activate'](typeof _0x3f33fd['key']==='string'?_0x3f33fd['key']:'',_0x3406f2);_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':_0x241551['ok'],'plan':_0x241551['plan'],'exp':_0x241551['exp'],'reason':_0x241551['reason']}));return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/license/usage'){const _0x3e3fa3=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x3e3fa3)return;const _0x4478ed=licenseMachineId(_0x3e3fa3['machineId']),_0xea7150=typeof _0x3e3fa3['tool']==='string'?_0x3e3fa3['tool']['slice'](0x0,0x78):'';if(!_0x4478ed||!_0xea7150){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'missing\x20machineId/tool'}));return;}const _0x3b326a=_0x1660b6['checkPentestOnly'](typeof _0x3e3fa3['key']==='string'?_0x3e3fa3['key']:'',_0x4478ed);if(_0x3b326a['valid']!==!![]){_0x222e85['writeHead'](0x193,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':_0x3b326a['reason']??'license\x20invalid'}));return;}_0x1660b6['touch'](_0x3b326a['record']?.['id']??''),_0x1660b6['appendUsage']({'keyId':_0x3b326a['record']?.['id']??'','machineId':_0x4478ed,'tool':_0xea7150,'target':typeof _0x3e3fa3['target']==='string'?_0x3e3fa3['target']['slice'](0x0,0x12c):'','ok':_0x3e3fa3['ok']!==![]}),_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![]}));return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/license/mint-trial'){const _0xb1a06b=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0xb1a06b)return;const _0x4f988a=licenseMachineId(_0xb1a06b['machineId']);if(!_0x4f988a){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x557939=clientIp(_0x96b5b2),_0x31f543=Date['now'](),_0x1e6790=(_0x58d719['get'](_0x557939)??[])['filter'](_0x4c320c=>_0x31f543-_0x4c320c<0x36ee80);if(_0x1e6790['length']>=_0x480fe8){_0x222e85['writeHead'](0x1ad,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'too\x20many\x20trial\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later'}));return;}_0x1e6790['push'](_0x31f543),_0x58d719['set'](_0x557939,_0x1e6790);if(_0x1660b6['activeTrialForMachine'](_0x4f988a)){_0x222e85['writeHead'](0x199,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'this\x20machine\x20already\x20has\x20a\x20live\x20trial\x20—\x20ask\x20SKT\x20for\x20a\x20full\x20key'}));return;}try{const _0x49ae16=Number(process.env.LICENSE_TRIAL_DAYS??0x7),_0x35f1e0=Math['min'](Math['max'](Math['floor'](Number['isFinite'](_0x49ae16)?_0x49ae16:0x7),0x1),0x1e),_0x38d0c9=Math['floor'](Date['now']()/0x5265c00),{activationEpochDays:_0x35f7fb}=await Promise['resolve']()['then'](()=>__importStar(require('../../../apps/runtime/src/license.js'))),_0x23abf1=(0x0,license_js_1['mintActivationKey'])({'plan':'pentest','expDays':_0x38d0c9-_0x35f7fb()+_0x35f1e0},(0x0,license_js_1['activationCheckKey'])()),_0x8a943f=_0x1660b6['register'](_0x23abf1,'trial',{'trial':!![]}),_0x4dbc27=_0x1660b6['activate'](_0x23abf1,_0x4f988a);_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':_0x4dbc27['ok'],'key':_0x23abf1,'id':_0x8a943f['id'],'exp':_0x8a943f['exp'],'days':_0x35f1e0}));}catch(_0x489d47){_0x222e85['writeHead'](0x1f4,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'trial\x20mint\x20failed:\x20'+(_0x489d47 instanceof Error?_0x489d47['message']:String(_0x489d47))}));}return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/auth/github/start'){const _0xf250bb=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0xf250bb)return;const _0x35cf2c=licenseMachineId(_0xf250bb['machineId']);if(!_0x35cf2c){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x163f3f=(process.env.GITHUB_CLIENT_ID??'')['trim']();if(!_0x163f3f){_0x222e85['writeHead'](0x1f4,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'GitHub\x20login\x20not\x20configured\x20on\x20this\x20server'}));return;}const _0x40cbc3=clientIp(_0x96b5b2),_0x4e8d2b=Date['now'](),_0x28fb9f=(_0x50f9b6['get'](_0x40cbc3)??[])['filter'](_0x3c57de=>_0x4e8d2b-_0x3c57de<0x36ee80);if(_0x28fb9f['length']>=_0x1a11ac){_0x222e85['writeHead'](0x1ad,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':![],'reason':'too\x20many\x20login\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later'}));return;}_0x28fb9f['push'](_0x4e8d2b),_0x50f9b6['set'](_0x40cbc3,_0x28fb9f);const _0x5da6f0=_0x3e5a8b['beginLogin'](_0x35cf2c),_0x4236d4='https://github.com/login/oauth/authorize?client_id='+encodeURIComponent(_0x163f3f)+'&state='+_0x5da6f0['state'];_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![],'url':_0x4236d4}));return;}if(_0x96b5b2['method']==='GET'&&_0x5819c1==='/auth/github/callback'){const _0x12c3c6=(_0x456a4b,_0x80db3c,_0x3259d5)=>{_0x222e85['writeHead'](_0x3259d5?0xc8:0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x222e85['end']('<!doctype\x20html><html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><title>'+_0x456a4b+'</title>'+'<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem}</style></head>'+('<body><h1>'+_0x456a4b+'</h1><p>'+_0x80db3c+'</p></body></html>'));},_0x34802e=new URL(_0x96b5b2['url']??'/','http://localhost')['searchParams'],_0x490f51=_0x34802e['get']('code')??'',_0xa296e2=_0x34802e['get']('state')??'',_0x47b4ea=_0x3e5a8b['consumeState'](_0xa296e2);if(!_0x490f51||!_0x47b4ea){_0x12c3c6('Authorization\x20failed','This\x20link\x20is\x20expired\x20or\x20already\x20used\x20(10-minute,\x20single-use).\x20Run\x20/github\x20login\x20in\x20the\x20CLI\x20again\x20for\x20a\x20fresh\x20one.',![]);return;}const _0x5e0984=(process.env.GITHUB_CLIENT_ID??'')['trim'](),_0x495be8=(process.env.GITHUB_CLIENT_SECRET??'')['trim']();if(!_0x5e0984||!_0x495be8){_0x12c3c6('Server\x20misconfigured','GitHub\x20login\x20is\x20not\x20configured\x20on\x20this\x20server.',![]);return;}try{const _0x351932=await fetch('https://github.com/login/oauth/access_token',{'method':'POST','headers':{'Content-Type':'application/json','Accept':'application/json','User-Agent':'trayambak'},'body':JSON['stringify']({'client_id':_0x5e0984,'client_secret':_0x495be8,'code':_0x490f51}),'signal':AbortSignal['timeout'](0x4e20)}),_0x2a87ba=await _0x351932['json']();if(!_0x351932['ok']||typeof _0x2a87ba['access_token']!=='string'||!_0x2a87ba['access_token'])throw new Error(typeof _0x2a87ba['error_description']==='string'?_0x2a87ba['error_description']:'HTTP\x20'+_0x351932['status']);const _0x291e64=await githubApi('/user',_0x2a87ba['access_token']),_0x36d53d=_0x291e64['json']&&typeof _0x291e64['json']==='object'&&typeof _0x291e64['json']['login']==='string'?_0x291e64['json']['login']:'github-user';_0x3e5a8b['storeToken'](_0x47b4ea,_0x2a87ba['access_token'],_0x36d53d),_0x12c3c6('Authorized','Logged\x20in\x20as\x20<b>'+_0x36d53d+'</b>.\x20Return\x20to\x20the\x20CLI\x20—\x20it\x20picks\x20this\x20up\x20automatically.',!![]);}catch(_0xa014e6){_0x12c3c6('Authorization\x20failed','Could\x20not\x20finish\x20login\x20('+(_0xa014e6 instanceof Error?_0xa014e6['message']:String(_0xa014e6))+').\x20Run\x20/github\x20login\x20again.',![]);}return;}if(_0x96b5b2['method']==='GET'&&_0x5819c1==='/auth/github/status'){const _0x30002f=licenseMachineId(new URL(_0x96b5b2['url']??'/','http://localhost')['searchParams']['get']('machineId')),_0x37329d=_0x30002f?_0x3e5a8b['tokenFor'](_0x30002f):undefined;_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify'](_0x37329d?{'authorized':!![],'login':_0x37329d['login']}:{'authorized':![]}));return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/auth/github/logout'){const _0x29b56f=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x29b56f)return;const _0x28c47a=licenseMachineId(_0x29b56f['machineId']);_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':_0x28c47a?_0x3e5a8b['logout'](_0x28c47a):![]}));return;}if(_0x96b5b2['method']==='POST'&&_0x5819c1==='/github/read'){const _0x4f5e81=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x4f5e81)return;const _0x1e459c=licenseMachineId(_0x4f5e81['machineId']),_0x41469d=_0x1e459c?_0x3e5a8b['tokenFor'](_0x1e459c):undefined;if(!_0x41469d){_0x222e85['writeHead'](0x191,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first'}));return;}let _0x2c9c40='',_0x265cc1='';try{;({owner:_0x2c9c40,repo:_0x265cc1}=(0x0,github_app_js_1['splitRepo'])(typeof _0x4f5e81['repo']==='string'?_0x4f5e81['repo']:''));}catch{_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'repo\x20must\x20be\x20owner/name'}));return;}const _0x1edcc4=Math['floor'](Number(_0x4f5e81['number']));if(!Number['isFinite'](_0x1edcc4)||_0x1edcc4<0x1){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'number\x20must\x20be\x20a\x20positive\x20issue/PR\x20number'}));return;}const _0x218ca8=_0x4f5e81['withComments']!==![],[_0x49bd22,_0x333969]=await Promise['all']([githubApi('/repos/'+_0x2c9c40+'/'+_0x265cc1+'/issues/'+_0x1edcc4,_0x41469d['token']),_0x218ca8?githubApi('/repos/'+_0x2c9c40+'/'+_0x265cc1+'/issues/'+_0x1edcc4+'/comments?per_page=20',_0x41469d['token']):Promise['resolve']({'status':0xc8,'json':[]})]);if(_0x49bd22['status']===0x0){_0x222e85['writeHead'](0x1f6,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'GitHub\x20unreachable\x20from\x20the\x20license\x20server'}));return;}if(_0x49bd22['status']!==0xc8||!_0x49bd22['json']||typeof _0x49bd22['json']!=='object'){const _0x508fec=_0x49bd22['json']&&typeof _0x49bd22['json']==='object'&&typeof _0x49bd22['json']['message']==='string'?_0x49bd22['json']['message']:'HTTP\x20'+_0x49bd22['status'];_0x222e85['writeHead'](_0x49bd22['status']===0x194?0x194:0x1f6,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'GitHub:\x20'+_0x508fec}));return;}const _0x889e13=_0x49bd22['json'],_0x4eac2a=Array['isArray'](_0x333969['json'])?_0x333969['json']:[];_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![],'issue':{'number':typeof _0x889e13['number']==='number'?_0x889e13['number']:_0x1edcc4,'title':typeof _0x889e13['title']==='string'?_0x889e13['title']:'','state':typeof _0x889e13['state']==='string'?_0x889e13['state']:'','author':_0x889e13['user']&&typeof _0x889e13['user']==='object'&&typeof _0x889e13['user']['login']==='string'?_0x889e13['user']['login']:'','url':typeof _0x889e13['html_url']==='string'?_0x889e13['html_url']:'','body':typeof _0x889e13['body']==='string'?_0x889e13['body']['slice'](0x0,0x1f40):'','commentsCount':typeof _0x889e13['comments']==='number'?_0x889e13['comments']:_0x4eac2a['length'],'isPullRequest':_0x889e13['pull_request']!==undefined},'comments':_0x4eac2a['filter'](_0x2671de=>!!_0x2671de&&typeof _0x2671de==='object')['slice'](-0x14)['map'](_0x5028ba=>({'author':_0x5028ba['user']&&typeof _0x5028ba['user']==='object'&&typeof _0x5028ba['user']['login']==='string'?_0x5028ba['user']['login']:'','body':typeof _0x5028ba['body']==='string'?_0x5028ba['body']['slice'](0x0,0x7d0):'','createdAt':typeof _0x5028ba['created_at']==='string'?_0x5028ba['created_at']:''}))}));return;}if(_0x96b5b2['method']==='POST'&&_0x96b5b2['url']==='/admin/import'){const _0x4ac9b9=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x4ac9b9)return;try{const _0x5e77fe=_0x1660b6['register'](typeof _0x4ac9b9['key']==='string'?_0x4ac9b9['key']:'',typeof _0x4ac9b9['customer']==='string'?_0x4ac9b9['customer']:undefined);_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'id':_0x5e77fe['id'],'plan':_0x5e77fe['plan']}));}catch(_0x361d67){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':_0x361d67 instanceof Error?_0x361d67['message']:String(_0x361d67)}));}return;}if(_0x96b5b2['method']==='POST'&&_0x96b5b2['url']==='/admin/revoke'){const _0x175570=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x175570)return;const _0x40f6aa=typeof _0x175570['id']==='string'?_0x175570['id']:'';if(!_0x40f6aa||!_0x1660b6['revoke'](_0x40f6aa)){_0x222e85['writeHead'](0x194,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'unknown\x20license\x20id'}));return;}_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![]}));return;}if(_0x96b5b2['method']==='POST'&&_0x96b5b2['url']==='/admin/unbind'){const _0x40ef6a=await readJsonBody(_0x96b5b2,_0x222e85);if(!_0x40ef6a)return;const _0x15b9ab=typeof _0x40ef6a['id']==='string'?_0x40ef6a['id']:'';if(!_0x15b9ab||!_0x1660b6['unbind'](_0x15b9ab)){_0x222e85['writeHead'](0x194,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'unknown\x20license\x20id'}));return;}_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![]}));return;}if(_0x96b5b2['method']==='GET'&&_0x5819c1==='/admin/licenses'){const _0x1f1021=_0x1660b6['list']()['map'](_0x1364e3=>({'id':_0x1364e3['id'],'key':_0x1364e3['key']['slice'](0x0,0x4)+'-…-'+_0x1364e3['key']['slice'](-0x4),'plan':_0x1364e3['plan'],'exp':_0x1364e3['exp'],'customer':_0x1364e3['customer'],'trial':_0x1364e3['trial']===!![],'revoked':_0x1364e3['revoked'],'bound':Boolean(_0x1364e3['boundMachineId']),'machine':_0x1364e3['boundMachineId']?_0x1364e3['boundMachineId']['slice'](0x0,0x8)+'…':undefined,'createdAt':_0x1364e3['createdAt'],'lastSeenAt':_0x1364e3['lastSeenAt']}));_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'licenses':_0x1f1021}));return;}if(_0x96b5b2['method']==='GET'&&_0x5819c1==='/admin/usage'){const _0x55e857=Number((_0x96b5b2['url']??'')['split']('tail=')[0x1]??0x64);_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'usage':_0x1660b6['readUsageTail'](Number['isFinite'](_0x55e857)?_0x55e857:0x64)}));return;}if(_0x96b5b2['method']==='GET'&&_0x5819c1==='/admin/jobs'){const _0x4bf79d=Number((_0x96b5b2['url']??'')['split']('tail=')[0x1]??0x64),{readJobTail:_0x5115c3}=await Promise['resolve']()['then'](()=>__importStar(require('./github-jobs.js')));_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'jobs':_0x5115c3(Number['isFinite'](_0x4bf79d)?_0x4bf79d:0x64)}));return;}if(_0x96b5b2['method']==='POST'&&_0x96b5b2['url']==='/webhooks/github'){const _0x25fec1=process.env.GITHUB_WEBHOOK_SECRET??'';if(!_0x25fec1){_0x222e85['writeHead'](0x1f7,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'webhooks\x20disabled\x20(GITHUB_WEBHOOK_SECRET\x20unset)'}));return;}const _0x345eab=[];let _0x18a09e=0x0,_0x26b3cd=![];_0x96b5b2['on']('data',_0x23378a=>{if(_0x26b3cd)return;const _0x504304=typeof _0x23378a==='string'?Buffer['from'](_0x23378a,'utf8'):_0x23378a;_0x18a09e+=_0x504304['length'];if(_0x18a09e>MAX_BODY_BYTES){_0x26b3cd=!![],_0x222e85['writeHead'](0x19d,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x96b5b2['destroy']());return;}_0x345eab['push'](_0x504304);}),_0x96b5b2['on']('end',()=>{if(_0x26b3cd||_0x96b5b2['destroyed'])return;const _0x5c104f=Buffer['concat'](_0x345eab),_0x4df100=_0x96b5b2['headers']['x-hub-signature-256'];if(!(0x0,github_app_js_1['verifyWebhookSignature'])(_0x25fec1,_0x5c104f,Array['isArray'](_0x4df100)?_0x4df100[0x0]:_0x4df100)){_0x222e85['writeHead'](0x191,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'bad\x20signature'}));return;}let _0x2f320a=null;try{_0x2f320a=JSON['parse'](_0x5c104f['toString']('utf8'));}catch{_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'invalid\x20JSON'}));return;}const _0x36bcca=_0x96b5b2['headers']['x-github-event'],_0x4dc957=(0x0,github_app_js_1['routeGithubEvent'])(Array['isArray'](_0x36bcca)?_0x36bcca[0x0]??'':_0x36bcca??'',_0x2f320a);if(_0x4dc957['kind']!=='job'){_0x222e85['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![],..._0x4dc957['kind']==='ignored'?{'ignored':_0x4dc957['reason']}:{}}));return;}_0x222e85['writeHead'](0xca,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'ok':!![],'accepted':!![]})),void enqueueGithubJob(_0x4dc957['job'],_0x2f320a);});return;}if(_0x96b5b2['method']==='POST'&&_0x96b5b2['url']==='/v1/agent'){let _0x431b0c='',_0x41ce4d=0x0,_0x45e315=![];const _0x2e51d4=new AbortController();_0x96b5b2['on']('close',()=>_0x2e51d4['abort']()),_0x96b5b2['on']('data',_0x54f587=>{if(_0x45e315)return;const _0x10388c=typeof _0x54f587==='string'?_0x54f587:_0x54f587['toString']('utf8');_0x41ce4d+=Buffer['byteLength'](_0x10388c);if(_0x41ce4d>MAX_BODY_BYTES){_0x45e315=!![],_0x222e85['writeHead'](0x19d,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x96b5b2['destroy']());return;}_0x431b0c+=_0x10388c;}),_0x96b5b2['on']('end',()=>{if(_0x45e315||_0x96b5b2['destroyed'])return;const _0x1ea896=safeJson(_0x431b0c),_0x53d1a8=typeof _0x1ea896['prompt']==='string'?_0x1ea896['prompt']:undefined,_0x20c365=typeof _0x1ea896['sessionFile']==='string'?_0x1ea896['sessionFile']:undefined;if(!_0x53d1a8||typeof _0x53d1a8!=='string'){_0x222e85['writeHead'](0x190,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'missing\x20\x27prompt\x27'}));return;}_0x222e85['writeHead'](0xc8,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Connection':'keep-alive'});const _0x367fb0=new index_js_1['Agent']({'config':_0x5b6090,'sessionFile':_0x20c365}),_0x363aa4=_0x17559b=>{try{if(!_0x96b5b2['destroyed']&&!_0x222e85['writableEnded'])_0x222e85['write'](_0x17559b);}catch{_0x2e51d4['abort']();}};_0x367fb0['run'](_0x53d1a8,_0x229c45=>{_0x4a0cb6['capture'](_0x229c45),_0x363aa4('data:\x20'+JSON['stringify'](_0x229c45)+'\x0a\x0a');},_0x2e51d4['signal'])['then'](()=>{_0x363aa4('data:\x20[DONE]\x0a\x0a');try{if(!_0x96b5b2['destroyed']&&!_0x222e85['writableEnded'])_0x222e85['end']();}catch{}})['catch'](_0x47aed1=>{_0x363aa4('data:\x20'+JSON['stringify']({'error':String(_0x47aed1)})+'\x0a\x0a');try{if(!_0x96b5b2['destroyed']&&!_0x222e85['writableEnded'])_0x222e85['end']();}catch{}});});return;}_0x222e85['writeHead'](0x194,{'Content-Type':'application/json'}),_0x222e85['end'](JSON['stringify']({'error':'not\x20found'}));});return _0x53607a['listen'](_0x40b19a,_0x12275f,()=>{process['stdout']['write']('trayambak\x20server\x20listening\x20on\x20http://'+_0x12275f+':'+_0x40b19a+'\x0a'),_0x16eea1&&_0x2c23d4&&process['stdout']['write']('generated\x20bearer\x20token\x20(set\x20TRAYAMBAK_WEB_TOKEN\x20to\x20avoid\x20this):\x20'+_0x2c23d4+'\x0a');}),Object['defineProperty'](_0x53607a,'effectiveToken',{'value':_0x2c23d4??'','enumerable':![]}),_0x53607a;}function safeJson(_0x10fadd){try{return JSON['parse'](_0x10fadd);}catch{return{};}}let githubJobQueue=Promise['resolve']();function enqueueGithubJob(_0x18e113,_0x1cbe58){const _0x48a0ed=githubJobQueue['then'](()=>runGithubJob(_0x18e113,_0x1cbe58))['catch'](_0x1c334d=>{return process['stderr']['write']('[github-app]\x20job\x20failed:\x20'+(_0x1c334d instanceof Error?_0x1c334d['message']:String(_0x1c334d))+'\x0a'),'';});return githubJobQueue=_0x48a0ed['then'](()=>undefined),_0x48a0ed;}async function postGithubComment(_0xdbb6ad,_0x7a0a38,_0x64ba56,_0x2c2090,_0x744355){try{const _0x40639a=await fetch('https://api.github.com/repos/'+_0xdbb6ad+'/'+_0x7a0a38+'/issues/'+_0x64ba56+'/comments',{'method':'POST','headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x744355,'Content-Type':'application/json','X-GitHub-Api-Version':'2022-11-28'},'body':JSON['stringify']({'body':_0x2c2090['slice'](0x0,0xfa0)}),'signal':AbortSignal['timeout'](0x4e20)});return _0x40639a['status']===0xc9;}catch{return![];}}async function allInstalledRepos(){const _0x1086f0=githubAppJwt();if(!_0x1086f0)return[];try{const _0x22b15d=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x1086f0,'X-GitHub-Api-Version':'2022-11-28'},'signal':AbortSignal['timeout'](0x4e20)}),_0x3cb26a=await _0x22b15d['json']();if(!_0x22b15d['ok']||!Array['isArray'](_0x3cb26a))return[];const _0x41e0fe=[];for(const _0x1b559c of _0x3cb26a){if(typeof _0x1b559c?.['id']!=='number')continue;const _0x3fa799=await installationTokenFor(_0x1b559c['id']);if(!_0x3fa799)continue;const _0x25b459=await githubApi('/installation/repositories?per_page=100',_0x3fa799);if(_0x25b459['status']!==0xc8||!_0x25b459['json']||typeof _0x25b459['json']!=='object')continue;const _0x16f8ca=_0x25b459['json']['repositories'];if(!Array['isArray'](_0x16f8ca))continue;for(const _0x2c4faf of _0x16f8ca){_0x2c4faf&&typeof _0x2c4faf==='object'&&typeof _0x2c4faf['full_name']==='string'&&_0x41e0fe['push'](_0x2c4faf['full_name']['toLowerCase']());}}return[...new Set(_0x41e0fe)];}catch{return[];}}function githubAppJwt(){const _0x21243c=(process.env.GITHUB_APP_ID??'')['trim']();let _0x1f00a1=(process.env.GITHUB_PRIVATE_KEY??'')['trim']();if(!_0x21243c||!_0x1f00a1)return'';if(!_0x1f00a1['includes']('BEGIN'))try{_0x1f00a1=(0x0,node_fs_1['readFileSync'])(_0x1f00a1,'utf8');}catch{return'';}try{return(0x0,github_app_js_1['createAppJwt'])(_0x21243c,_0x1f00a1);}catch{return'';}}async function installationIdForOwner(_0x16f7cc){const _0x488ece=githubAppJwt();if(!_0x488ece)return 0x0;try{const _0xf3b097=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x488ece,'X-GitHub-Api-Version':'2022-11-28'},'signal':AbortSignal['timeout'](0x4e20)}),_0x455651=await _0xf3b097['json']();if(!_0xf3b097['ok']||!Array['isArray'](_0x455651))return 0x0;const _0x4c11da=_0x455651['find'](_0x45416f=>_0x45416f&&typeof _0x45416f['account']?.['login']==='string'&&_0x45416f['account']['login']['toLowerCase']()===_0x16f7cc['toLowerCase']());return typeof _0x4c11da?.['id']==='number'?_0x4c11da['id']:0x0;}catch{return 0x0;}}async function installationTokenFor(_0x21aeec){const _0x559f82=githubAppJwt();if(!_0x559f82||!_0x21aeec)return'';try{const _0x30ac67=process.env.GITHUB_API_BASE??'https://api.github.com';return await(0x0,github_app_js_1['createInstallationToken'])(_0x30ac67,_0x559f82,_0x21aeec);}catch{return'';}}function licenseMachineId(_0x542172){if(typeof _0x542172!=='string')return'';const _0x3fcd82=_0x542172['trim']();return _0x3fcd82['length']>=0x4&&_0x3fcd82['length']<=0x80?_0x3fcd82:'';}async function githubApi(_0x5b6721,_0x234fd7,_0x338dc4=0x4e20){try{const _0x1b7888=await fetch('https://api.github.com'+_0x5b6721,{'headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x234fd7,'X-GitHub-Api-Version':'2022-11-28'},'signal':AbortSignal['timeout'](_0x338dc4)});let _0x20de5e=null;try{_0x20de5e=await _0x1b7888['json']();}catch{}return{'status':_0x1b7888['status'],'json':_0x20de5e};}catch{return{'status':0x0,'json':null};}}function clientIp(_0x24d7df){const _0x4a4eea=_0x56d542=>(Array['isArray'](_0x56d542)?_0x56d542[0x0]:_0x56d542)?.['split'](',')[0x0]?.['trim']()??'';return _0x4a4eea(_0x24d7df['headers']['cf-connecting-ip'])||_0x4a4eea(_0x24d7df['headers']['x-forwarded-for'])||_0x4a4eea(_0x24d7df['headers']['x-real-ip'])||_0x24d7df['socket']['remoteAddress']||'unknown';}async function runGithubJob(_0x383e18,_0x57e2c1){const _0x327143=process.env.GITHUB_API_BASE??'https://api.github.com',_0x314d07=new Date()['toISOString']();process['stdout']['write']('[github-app]\x20job\x20'+_0x383e18['repoFullName']+'#'+_0x383e18['issueNumber']+'\x20started\x20at\x20'+_0x314d07+'\x0a');const _0x216fa6=process.env.TRAYAMBAK_GITHUB_WORKSPACE??(0x0,index_js_1['loadConfig'])()['cwd'],_0x423141=(0x0,index_js_1['loadConfig'])(),_0x2525a1={..._0x423141,'cwd':_0x216fa6,'permissions':{..._0x423141['permissions'],'rulesV2':[..._0x423141['permissions']?.['rulesV2']??[],{'tool':'github','action':'allow','reason':'GitHub\x20App\x20job:\x20comment-authorized,\x20installation-token\x20scoped'}]}},_0x54bf4b=new index_js_1['Agent']({'config':_0x2525a1}),_0x447c1d=process.env.GITHUB_APP_ID??'';let _0x1d6a7c=process.env.GITHUB_PRIVATE_KEY??'';if(_0x1d6a7c&&!_0x1d6a7c['includes']('BEGIN')){const _0x692271=await Promise['resolve']()['then'](()=>__importStar(require('node:fs')));try{_0x1d6a7c=_0x692271['readFileSync'](_0x1d6a7c,'utf8');}catch{_0x1d6a7c='';}}const _0x3c3484=_0x57e2c1?.['installation'],_0x3105ac=typeof _0x3c3484?.['id']==='number'?_0x3c3484['id']:0x0;let _0x49bfc0='';if(_0x447c1d&&_0x1d6a7c&&_0x3105ac)try{_0x49bfc0=await(0x0,github_app_js_1['createInstallationToken'])(_0x327143,(0x0,github_app_js_1['createAppJwt'])(_0x447c1d,_0x1d6a7c),_0x3105ac);}catch(_0x4ddb3e){process['stdout']['write']('[github-app]\x20installation\x20token\x20mint\x20failed:\x20'+(_0x4ddb3e instanceof Error?_0x4ddb3e['message']:String(_0x4ddb3e))+'\x0a');}let _0x2d3fb3=[],_0x11a701='';const _0x5271b0=[],_0x2a0ed5=[],_0x24628c=_0x50ccd6=>{try{if(_0x50ccd6?.['type']==='budget_exhausted'){_0x5271b0['push']('Budget\x20exhausted\x20(used\x20'+(typeof _0x50ccd6['used']==='number'?_0x50ccd6['used']:'?')+'\x20of\x20'+(typeof _0x50ccd6['max']==='number'?_0x50ccd6['max']:'?')+')\x20—\x20the\x20run\x20stopped\x20before\x20the\x20model\x20was\x20called.');return;}if(_0x50ccd6?.['type']==='message_end'){const _0x16f699=_0x50ccd6['message'];if(_0x16f699?.['stopReason']==='error'&&Array['isArray'](_0x16f699['content'])){const _0x566be5=_0x16f699['content']['filter'](_0xcfc18=>!!_0xcfc18&&typeof _0xcfc18==='object'&&_0xcfc18['type']==='text')['map'](_0x151e8b=>_0x151e8b['text'])['join']('\x0a')['trim']();if(_0x566be5)_0x5271b0['push'](_0x566be5);}if(_0x16f699?.['role']==='tool'&&Array['isArray'](_0x16f699['content'])){const _0x2ba8c3=_0x16f699['content']['filter'](_0x43c40a=>!!_0x43c40a&&typeof _0x43c40a==='object'&&_0x43c40a['type']==='text')['map'](_0x483a90=>_0x483a90['text'])['join']('\x0a');_0x2ba8c3&&/fail|error|denied|not found|404|401|403|refus/i['test'](_0x2ba8c3)&&_0x2a0ed5['push'](_0x2ba8c3['slice'](0x0,0x12c));}}}catch{}};try{const _0x594aeb=process.env.GITHUB_TOKEN;if(_0x49bfc0)process.env.GITHUB_TOKEN=_0x49bfc0;const _0x2e335e=(0x0,github_app_js_1['describeGithubThread'])(_0x57e2c1);try{_0x2d3fb3=await _0x54bf4b['run']('GitHub\x20request\x20in\x20'+_0x383e18['repoFullName']+(_0x383e18['isPullRequest']?'\x20(pull\x20request':'\x20(issue')+'\x20#'+_0x383e18['issueNumber']+'):\x0a'+_0x383e18['task']+'\x0a\x0aYou\x20have\x20repo\x20access\x20via\x20the\x20github\x20tool\x20(GITHUB_TOKEN\x20is\x20set\x20for\x20this\x20run)\x20—\x20read\x20the\x20actual\x20issue/PR\x20first\x20(read_issue),\x20never\x20claim\x20access\x20errors\x20without\x20trying\x20the\x20tool.\x20If\x20the\x20tool\x20says\x20Not\x20Found\x20on\x20the\x20repository\x20itself,\x20the\x20App\x20is\x20not\x20installed\x20there:\x20tell\x20the\x20user\x20to\x20install\x20it\x20(GitHub\x20App\x20settings\x20→\x20Install\x20App\x20→\x20that\x20repository)\x20instead\x20of\x20guessing\x20further.'+(_0x2e335e?'\x0a\x0aContext\x20from\x20GitHub:\x0a'+_0x2e335e:''),_0x24628c);}finally{if(_0x49bfc0){if(_0x594aeb===undefined)delete process.env.GITHUB_TOKEN;else process.env.GITHUB_TOKEN=_0x594aeb;}}}catch(_0x59ffce){_0x11a701=_0x59ffce instanceof Error?_0x59ffce['message']:String(_0x59ffce);}const _0x222a89=(0x0,github_app_js_1['selectJobReply'])(_0x2d3fb3,_0x11a701,_0x5271b0);(0x0,github_jobs_js_1['recordJob'])({'repo':_0x383e18['repoFullName'],'issue':_0x383e18['issueNumber'],'task':_0x383e18['task'],'messages':_0x2d3fb3['length'],'replyHead':_0x222a89,..._0x11a701?{'error':_0x11a701}:{}});const _0x31eeec=_0x2d3fb3['map'](_0x2f2bce=>{const _0x3123ad=Array['isArray'](_0x2f2bce['content'])?_0x2f2bce['content']['map'](_0xc8a7d=>_0xc8a7d?.['type']??'?')['join']('+'):typeof _0x2f2bce['content'];return(_0x2f2bce['role']??'?')+'['+_0x3123ad+']';})['join']('\x20');process['stdout']['write']('[github-app]\x20job\x20'+_0x383e18['repoFullName']+'#'+_0x383e18['issueNumber']+'\x20finished\x20('+_0x2d3fb3['length']+'\x20messages:\x20'+(_0x31eeec||'none')+(_0x11a701?',\x20error:\x20'+_0x11a701['slice'](0x0,0xc8):'')+(_0x2a0ed5['length']>0x0?',\x20toolDiags:\x20'+_0x2a0ed5['join']('\x20||\x20')['slice'](0x0,0x258):'')+')\x0a');if(!_0x447c1d||!_0x1d6a7c||!_0x3105ac||!_0x49bfc0)return process['stdout']['write']('[github-app]\x20job\x20done\x20but\x20no\x20reply\x20channel\x20(need\x20GITHUB_APP_ID\x20+\x20GITHUB_PRIVATE_KEY\x20+\x20installation\x20id\x20+\x20token\x20mint).\x0a---\x20result\x20---\x0a'+_0x222a89+'\x0a---\x20end\x20---\x0a'),_0x222a89;const {owner:_0x5d8c71,repo:_0x13a0a0}=(0x0,github_app_js_1['splitRepo'])(_0x383e18['repoFullName']),_0x2e5af0=_0x222a89['length']>0xea60?_0x222a89['slice'](0x0,0xea60)+'\x0a\x0a…(truncated,\x20full\x20log\x20on\x20the\x20VPS)':_0x222a89;return await(0x0,github_app_js_1['postIssueComment'])({'apiBase':_0x327143,'token':_0x49bfc0},_0x5d8c71,_0x13a0a0,_0x383e18['issueNumber'],'##\x20Trayambak\x20result\x0a\x0a'+_0x2e5af0),process['stdout']['write']('[github-app]\x20job\x20'+_0x383e18['repoFullName']+'#'+_0x383e18['issueNumber']+'\x20replied\x0a'),_0x222a89;}
1
+ 'use strict';const _0x2f5ce0=_0x3e33;(function(_0x58d576,_0x17cafc){const _0x1a5c26=_0x3e33,_0x3d43e6=_0x58d576();while(!![]){try{const _0x5948f8=-parseInt(_0x1a5c26(0x19d))/0x1*(-parseInt(_0x1a5c26(0x154))/0x2)+parseInt(_0x1a5c26(0x229))/0x3+-parseInt(_0x1a5c26(0x15e))/0x4+-parseInt(_0x1a5c26(0x1cf))/0x5+parseInt(_0x1a5c26(0x223))/0x6+-parseInt(_0x1a5c26(0x12d))/0x7*(-parseInt(_0x1a5c26(0x163))/0x8)+-parseInt(_0x1a5c26(0x219))/0x9*(parseInt(_0x1a5c26(0x198))/0xa);if(_0x5948f8===_0x17cafc)break;else _0x3d43e6['push'](_0x3d43e6['shift']());}catch(_0xa5ebab){_0x3d43e6['push'](_0x3d43e6['shift']());}}}(_0xc751,0x1c88d));var __createBinding=this&&this[_0x2f5ce0(0x1b3)]||(Object[_0x2f5ce0(0x142)]?function(_0x5a4862,_0x50d263,_0x376b9f,_0x43c7a8){const _0x253ba5=_0x2f5ce0;if(_0x43c7a8===undefined)_0x43c7a8=_0x376b9f;var _0x2de1a9=Object[_0x253ba5(0x156)](_0x50d263,_0x376b9f);(!_0x2de1a9||(_0x253ba5(0x149)in _0x2de1a9?!_0x50d263[_0x253ba5(0x19a)]:_0x2de1a9[_0x253ba5(0x227)]||_0x2de1a9['configurable']))&&(_0x2de1a9={'enumerable':!![],'get':function(){return _0x50d263[_0x376b9f];}}),Object[_0x253ba5(0x23d)](_0x5a4862,_0x43c7a8,_0x2de1a9);}:function(_0x37e15e,_0x3d757f,_0x9e0934,_0x1e078c){if(_0x1e078c===undefined)_0x1e078c=_0x9e0934;_0x37e15e[_0x1e078c]=_0x3d757f[_0x9e0934];}),__setModuleDefault=this&&this[_0x2f5ce0(0x232)]||(Object[_0x2f5ce0(0x142)]?function(_0x525bff,_0x3ff252){const _0x2345db=_0x2f5ce0;Object['defineProperty'](_0x525bff,_0x2345db(0x1c2),{'enumerable':!![],'value':_0x3ff252});}:function(_0xd54a88,_0xc618d8){const _0xb721b6=_0x2f5ce0;_0xd54a88[_0xb721b6(0x1c2)]=_0xc618d8;}),__importStar=this&&this['__importStar']||(function(){var _0x2d5d6b=function(_0x1c9f68){const _0x11dcf3=_0x3e33;return _0x2d5d6b=Object[_0x11dcf3(0x215)]||function(_0x405e34){const _0x445777=_0x11dcf3;var _0x4ae55d=[];for(var _0x594927 in _0x405e34)if(Object[_0x445777(0x141)][_0x445777(0x237)]['call'](_0x405e34,_0x594927))_0x4ae55d[_0x4ae55d[_0x445777(0x14d)]]=_0x594927;return _0x4ae55d;},_0x2d5d6b(_0x1c9f68);};return function(_0x5950f4){const _0x373290=_0x3e33;if(_0x5950f4&&_0x5950f4[_0x373290(0x19a)])return _0x5950f4;var _0x50aa2a={};if(_0x5950f4!=null){for(var _0x2b0099=_0x2d5d6b(_0x5950f4),_0x1174aa=0x0;_0x1174aa<_0x2b0099['length'];_0x1174aa++)if(_0x2b0099[_0x1174aa]!==_0x373290(0x1c2))__createBinding(_0x50aa2a,_0x5950f4,_0x2b0099[_0x1174aa]);}return __setModuleDefault(_0x50aa2a,_0x5950f4),_0x50aa2a;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports[_0x2f5ce0(0x13f)]=void 0x0,exports['startServer']=startServer;const http=__importStar(require('http')),crypto_1=require(_0x2f5ce0(0x248)),node_fs_1=require('node:fs'),index_js_1=require(_0x2f5ce0(0x11b)),index_js_2=require(_0x2f5ce0(0x1cc)),transcript_js_1=require(_0x2f5ce0(0x14a)),github_app_js_1=require(_0x2f5ce0(0x17d)),license_js_1=require(_0x2f5ce0(0x117)),license_store_js_1=require(_0x2f5ce0(0x23f)),github_oauth_js_1=require(_0x2f5ce0(0x1fd)),install_ps1_js_1=require(_0x2f5ce0(0x250)),github_jobs_js_1=require('./github-jobs.js'),github_autofix_js_1=require(_0x2f5ce0(0x15f)),cors_js_1=require('./cors.js');function readJsonBody(_0x2f8a4c,_0x1e02d4){return new Promise(_0x50a573=>{const _0x50cd15=_0x3e33;let _0x2612d8='',_0x16fbc1=0x0,_0x567ab7=![];const _0x54676c=(_0x12f9c1,_0x1ba9c3)=>{const _0x1c1587=_0x3e33;if(_0x567ab7)return;_0x567ab7=!![],_0x1e02d4[_0x1c1587(0x1e5)](_0x12f9c1,{'Content-Type':'application/json'}),_0x1e02d4['end'](JSON[_0x1c1587(0x1e7)]({'error':_0x1ba9c3})),setImmediate(()=>_0x2f8a4c[_0x1c1587(0x228)]());};_0x2f8a4c['on'](_0x50cd15(0x19f),_0x35a7a0=>{const _0x1cad9a=_0x50cd15;if(_0x567ab7)return;const _0x8c8e22=typeof _0x35a7a0===_0x1cad9a(0x22d)?_0x35a7a0:_0x35a7a0[_0x1cad9a(0x13a)]('utf8');_0x16fbc1+=Buffer[_0x1cad9a(0x135)](_0x8c8e22);if(_0x16fbc1>MAX_BODY_BYTES){_0x54676c(0x19d,'body\x20too\x20large\x20(max\x201MB)');return;}_0x2612d8+=_0x8c8e22;}),_0x2f8a4c['on'](_0x50cd15(0x171),()=>{const _0xee2843=_0x50cd15;if(_0x567ab7||_0x2f8a4c['destroyed'])return;try{_0x50a573(JSON[_0xee2843(0x1fb)](_0x2612d8));}catch{_0x54676c(0x190,'invalid\x20JSON'),_0x50a573(null);}});});}function adminPage(){const _0x233f56=_0x2f5ce0;return _0x233f56(0x1bc);}const LOOPBACK_HOSTS=new Set([_0x2f5ce0(0x174),_0x2f5ce0(0x24f),_0x2f5ce0(0x21b),_0x2f5ce0(0x12a)]),MAX_BODY_BYTES=0x100000;exports[_0x2f5ce0(0x13f)]={'openapi':_0x2f5ce0(0x25c),'info':{'title':_0x2f5ce0(0x1be),'version':_0x2f5ce0(0x136)},'paths':{'/health':{'get':{'summary':_0x2f5ce0(0x157)}},'/v1/models':{'get':{'summary':_0x2f5ce0(0x173)}},'/v1/agent':{'post':{'summary':_0x2f5ce0(0x11d)}},'/api/sessions':{'get':{'summary':_0x2f5ce0(0x168)}},'/admin':{'get':{'summary':_0x2f5ce0(0x1c7)}},'/admin/mint':{'post':{'summary':'Mint\x20a\x2016-letter\x20license\x20(bearer-gated)'}},'/admin/import':{'post':{'summary':_0x2f5ce0(0x16b)}},'/admin/revoke':{'post':{'summary':'Revoke\x20a\x20license\x20by\x20id\x20(bearer-gated)'}},'/admin/unbind':{'post':{'summary':_0x2f5ce0(0x162)}},'/admin/licenses':{'get':{'summary':'List\x20licenses,\x20masked\x20(bearer-gated)'}},'/admin/usage':{'get':{'summary':_0x2f5ce0(0x10f)}},'/admin/jobs':{'get':{'summary':_0x2f5ce0(0x1ae)}},'/license/verify':{'post':{'summary':'Live\x20license\x20check\x20(public,\x20machine-bound)'}},'/license/activate':{'post':{'summary':'Bind\x20a\x20license\x20to\x20a\x20machine\x20(public)'}},'/license/mint-trial':{'post':{'summary':_0x2f5ce0(0x213)}},'/auth/github/start':{'post':{'summary':_0x2f5ce0(0x209)}},'/auth/github/callback':{'get':{'summary':'OAuth\x20redirect\x20target\x20(public,\x20browser-facing)'}},'/auth/github/status':{'get':{'summary':'Poll\x20login\x20completion\x20by\x20machine\x20(public)'}},'/auth/github/logout':{'post':{'summary':'Forget\x20a\x20machine\x27s\x20token\x20(public)'}},'/github/read':{'post':{'summary':_0x2f5ce0(0x1d2)}},'/install.ps1':{'get':{'summary':_0x2f5ce0(0x249)}},'/license/usage':{'post':{'summary':_0x2f5ce0(0x241)}},'/webhooks/github':{'post':{'summary':'GitHub\x20App\x20webhook\x20(HMAC\x20verified)'}},'/openapi.json':{'get':{'summary':_0x2f5ce0(0x1a5)}}}};function startServer(_0x4dd194={}){const _0x34920a=_0x2f5ce0,_0x16c3c3=_0x4dd194[_0x34920a(0x122)]??Number(process.env.TRAYAMBAK_SERVER_PORT??0x2253),_0x114a75=_0x4dd194[_0x34920a(0x138)]??'127.0.0.1';let _0x6cadcc=_0x4dd194[_0x34920a(0x13c)]??process.env.TRAYAMBAK_WEB_TOKEN;const _0x41a509=_0x4dd194['corsOrigins']??process.env.TRAYAMBAK_WEB_ORIGINS??'';let _0x3636db=![];!_0x6cadcc&&!LOOPBACK_HOSTS[_0x34920a(0x238)](_0x114a75)&&(_0x6cadcc=(0x0,crypto_1[_0x34920a(0x16f)])(0x20)[_0x34920a(0x13a)](_0x34920a(0x15d)),_0x3636db=!![]);const _0x12de7e=(0x0,index_js_1[_0x34920a(0x225)])(),_0x4a82a3=(0x0,index_js_2[_0x34920a(0x16c)])(![]),_0x4fe428=(0x0,license_store_js_1[_0x34920a(0x167)])(),_0x49f0c0=new license_store_js_1[(_0x34920a(0x220))]({'file':_0x4dd194[_0x34920a(0x180)]??_0x4fe428[_0x34920a(0x202)],'usageFile':_0x4dd194[_0x34920a(0x125)]??_0x4fe428[_0x34920a(0x145)]}),_0x3345f1=new Set([_0x34920a(0x11e),_0x34920a(0x189),_0x34920a(0x259),_0x34920a(0x1af),'/webhooks/github',_0x34920a(0x1fa),_0x34920a(0x24c),_0x34920a(0x1c5),_0x34920a(0x18e),_0x34920a(0x1f4),'/install.ps1']),_0x1eb4c9=new Map(),_0x452939=0x5,_0x16e485=new Map(),_0x2f88ca=0xa,_0x55e9ef=new github_oauth_js_1[(_0x34920a(0x1ea))](_0x4dd194[_0x34920a(0x175)]??(0x0,github_oauth_js_1[_0x34920a(0x244)])()),_0x4e5070=(0x0,github_autofix_js_1[_0x34920a(0x1d1)])(process.env.GITHUB_AUTOFIX_REPOS),_0x4d62ea=(process.env.GITHUB_AUTOFIX_LABEL??_0x34920a(0x1a9))[_0x34920a(0x21c)]()||_0x34920a(0x1a9),_0x564f6a=Math[_0x34920a(0x1ab)](Math['max'](Number(process.env.GITHUB_AUTOFIX_INTERVAL_MIN??0x1e)||0x1e,0x5),0x5a0),_0x23eabf=process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT===undefined?(0x0,github_autofix_js_1[_0x34920a(0x257)])(_0x4d62ea):process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT??'';if(_0x4e5070['length']>0x0){const _0x5e3382=new github_autofix_js_1['AutofixLedger']((0x0,github_autofix_js_1[_0x34920a(0x1dd)])()),_0x3309c0=()=>{void((async()=>{const _0x57e92e=_0x3e33;try{const _0x15c197=await(0x0,github_autofix_js_1[_0x57e92e(0x10e)])({'repos':_0x4e5070,'label':_0x4d62ea,'ledger':_0x5e3382,'installationIdFor':installationIdForOwner,'tokenFor':installationTokenFor,'fetchJson':async(_0x568b91,_0x1f44e8)=>{const _0x337d94=_0x57e92e,_0x513507=await githubApi(_0x568b91,_0x1f44e8);return{'status':_0x513507[_0x337d94(0x166)],'json':_0x513507['json']};},'listAllRepos':allInstalledRepos,'postComment':async(_0x2bddd2,_0x45fb7c,_0x1aeca5)=>{const _0x3f9e39=_0x57e92e,_0x39df12=_0x2bddd2['split']('/')[0x0]??'',_0x39676b=await installationIdForOwner(_0x39df12)[_0x3f9e39(0x1db)](()=>0x0);if(!_0x39676b)return![];const _0x43d013=await installationTokenFor(_0x39676b)[_0x3f9e39(0x1db)](()=>'');if(!_0x43d013)return![];return postGithubComment(_0x39df12,_0x2bddd2['split']('/')[0x1]??'',_0x45fb7c,_0x1aeca5,_0x43d013);},'triageComment':_0x23eabf,'runJob':(_0xd344f8,_0x488e98,_0x513839,_0x825916)=>enqueueGithubJob({'repoFullName':_0xd344f8,'issueNumber':_0x488e98,'task':_0x513839,'isPullRequest':![]},{'installation':{'id':_0x825916}})});(_0x15c197['checked']>0x0||_0x15c197[_0x57e92e(0x115)][_0x57e92e(0x14d)]>0x0||_0x15c197[_0x57e92e(0x234)]['length']>0x0)&&process[_0x57e92e(0x247)][_0x57e92e(0x191)](_0x57e92e(0x217)+_0x15c197[_0x57e92e(0x184)]+_0x57e92e(0x21d)+_0x15c197[_0x57e92e(0x115)][_0x57e92e(0x14d)]+_0x57e92e(0x1dc)+_0x15c197[_0x57e92e(0x234)]['length']+'\x0a');}catch(_0x37b444){process[_0x57e92e(0x13d)]['write']('[github-autofix]\x20tick\x20failed:\x20'+(_0x37b444 instanceof Error?_0x37b444[_0x57e92e(0x186)]:String(_0x37b444))+'\x0a');}})());},_0x241299=setInterval(_0x3309c0,_0x564f6a*0xea60);if(typeof _0x241299[_0x34920a(0x113)]===_0x34920a(0x1c4))_0x241299[_0x34920a(0x113)]();const _0x2362b2=setTimeout(_0x3309c0,0x1d4c0);if(typeof _0x2362b2[_0x34920a(0x113)]===_0x34920a(0x1c4))_0x2362b2[_0x34920a(0x113)]();process[_0x34920a(0x247)][_0x34920a(0x191)](_0x34920a(0x1a3)+_0x4e5070['join'](',')+_0x34920a(0x17e)+_0x4d62ea+_0x34920a(0x1ba)+_0x564f6a+'m\x0a');}else process[_0x34920a(0x247)][_0x34920a(0x191)](_0x34920a(0x1ad));const _0x92737f=http['createServer'](async(_0x9bad00,_0x573c2b)=>{const _0x546035=_0x34920a,_0x5b649c=(0x0,cors_js_1[_0x546035(0x119)])(_0x9bad00[_0x546035(0x254)][_0x546035(0x112)],_0x9bad00[_0x546035(0x254)][_0x546035(0x138)],_0x41a509);for(const [_0xcca503,_0x5effcb]of Object[_0x546035(0x1a0)](_0x5b649c[_0x546035(0x254)])){_0x573c2b[_0x546035(0x1e9)](_0xcca503,_0x5effcb);}if(_0x9bad00['method']===_0x546035(0x126)){_0x573c2b[_0x546035(0x1e5)](_0x5b649c[_0x546035(0x22f)]?0xcc:0x193),_0x573c2b['end']();return;}if(!_0x5b649c[_0x546035(0x22f)]){_0x573c2b[_0x546035(0x1e5)](0x193,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x18a)}));return;}const _0x50d2ce=(_0x9bad00['url']??'/')[_0x546035(0x1d5)]('?')[0x0];if(_0x6cadcc&&_0x9bad00[_0x546035(0x1b7)]!==_0x546035(0x206)&&!_0x3345f1[_0x546035(0x238)](_0x50d2ce)){const _0x5bb380=Buffer['from'](_0x9bad00[_0x546035(0x254)]['authorization']??''),_0x1a9da7=Buffer['from']('Bearer\x20'+_0x6cadcc),_0x46eb11=_0x5bb380['length']===_0x1a9da7[_0x546035(0x14d)]&&_0x5bb380[_0x546035(0x14d)]>0x0&&(0x0,crypto_1[_0x546035(0x187)])(_0x5bb380,_0x1a9da7);if(!_0x46eb11){_0x573c2b['writeHead'](0x191,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'error':_0x546035(0x19c)}));return;}}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x206)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'status':'ok','model':_0x12de7e[_0x546035(0x243)]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]==='/openapi.json'){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)](exports['OPENAPI_SPEC']));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x1c6)){_0x573c2b['writeHead'](0xc8,{'Content-Type':'application/json'});try{_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'sessions':(0x0,transcript_js_1[_0x546035(0x1f6)])()}));}catch{_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'sessions':[]}));}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00['url']===_0x546035(0x1a7)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'data':[{'id':_0x12de7e[_0x546035(0x243)]}]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x114)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x1e8)}),_0x573c2b[_0x546035(0x171)](adminPage());return;}if(_0x9bad00[_0x546035(0x1ff)]==='POST'&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x1f5)){const _0x5c89ff=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x5c89ff)return;const _0x44c01a=typeof _0x5c89ff[_0x546035(0x170)]===_0x546035(0x22d)?_0x5c89ff[_0x546035(0x170)]:'',_0x52da13=typeof _0x5c89ff[_0x546035(0x1da)]===_0x546035(0x1b5)?_0x5c89ff[_0x546035(0x1da)]:Number[_0x546035(0x24a)];if(_0x44c01a!==_0x546035(0x20b)&&_0x44c01a!==_0x546035(0x1ee)&&_0x44c01a!=='pro'&&_0x44c01a!==_0x546035(0x155)){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x22e)}));return;}if(!Number[_0x546035(0x14b)](_0x52da13)||_0x52da13<0x1||_0x52da13>0xe42){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x11c)}));return;}try{const _0x322a37=Math[_0x546035(0x212)](Date['now']()/0x5265c00),{activationEpochDays:_0x33fa74}=await Promise[_0x546035(0x230)]()[_0x546035(0x169)](()=>__importStar(require(_0x546035(0x117)))),_0x398dc2=(0x0,license_js_1[_0x546035(0x1c1)])({'plan':_0x44c01a,'expDays':_0x322a37-_0x33fa74()+Math['floor'](_0x52da13)},(0x0,license_js_1[_0x546035(0x148)])()),_0x5af21d=typeof _0x5c89ff['id']===_0x546035(0x22d)?_0x5c89ff['id']:undefined,_0x2f3b7d=_0x49f0c0[_0x546035(0x218)](_0x398dc2,_0x5af21d);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'key':_0x398dc2,'id':_0x2f3b7d['id']}));}catch(_0x32e701){_0x573c2b[_0x546035(0x1e5)](0x1f4,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1cb)+(_0x32e701 instanceof Error?_0x32e701[_0x546035(0x186)]:String(_0x32e701))}));}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x1df)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x20f)}),_0x573c2b[_0x546035(0x171)](install_ps1_js_1[_0x546035(0x1c9)]);return;}if(_0x9bad00['method']===_0x546035(0x20c)&&_0x50d2ce===_0x546035(0x11e)){const _0x20cb73=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x20cb73)return;const _0x1b4489=licenseMachineId(_0x20cb73['machineId']);if(!_0x1b4489){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'valid':![],'reason':_0x546035(0x205)}));return;}const _0x19f999=_0x49f0c0['check'](typeof _0x20cb73[_0x546035(0x1ec)]===_0x546035(0x22d)?_0x20cb73[_0x546035(0x1ec)]:'',_0x1b4489);if(_0x19f999[_0x546035(0x146)]===!![])_0x49f0c0[_0x546035(0x25d)](_0x19f999[_0x546035(0x22c)]?.['id']??'');_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'valid':_0x19f999[_0x546035(0x146)],'plan':_0x19f999[_0x546035(0x170)],'exp':_0x19f999['exp'],'reason':_0x19f999['reason']}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x50d2ce===_0x546035(0x189)){const _0x388633=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x388633)return;const _0x233dba=licenseMachineId(_0x388633[_0x546035(0x17f)]);if(!_0x233dba){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x205)}));return;}const _0x3221fa=_0x49f0c0[_0x546035(0x120)](typeof _0x388633['key']===_0x546035(0x22d)?_0x388633['key']:'',_0x233dba);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'ok':_0x3221fa['ok'],'plan':_0x3221fa[_0x546035(0x170)],'exp':_0x3221fa[_0x546035(0x109)],'reason':_0x3221fa[_0x546035(0x14f)]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x50d2ce==='/license/usage'){const _0x5d7aaa=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x5d7aaa)return;const _0x51dcac=licenseMachineId(_0x5d7aaa[_0x546035(0x17f)]),_0x4360d1=typeof _0x5d7aaa[_0x546035(0x1c0)]==='string'?_0x5d7aaa[_0x546035(0x1c0)]['slice'](0x0,0x78):'';if(!_0x51dcac||!_0x4360d1){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1a1)}));return;}const _0x33d460=_0x49f0c0[_0x546035(0x1e2)](typeof _0x5d7aaa[_0x546035(0x1ec)]===_0x546035(0x22d)?_0x5d7aaa[_0x546035(0x1ec)]:'',_0x51dcac);if(_0x33d460[_0x546035(0x146)]!==!![]){_0x573c2b[_0x546035(0x1e5)](0x193,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x33d460[_0x546035(0x14f)]??_0x546035(0x24b)}));return;}_0x49f0c0[_0x546035(0x25d)](_0x33d460[_0x546035(0x22c)]?.['id']??''),_0x49f0c0[_0x546035(0x1b0)]({'keyId':_0x33d460[_0x546035(0x22c)]?.['id']??'','machineId':_0x51dcac,'tool':_0x4360d1,'target':typeof _0x5d7aaa['target']===_0x546035(0x22d)?_0x5d7aaa[_0x546035(0x25b)][_0x546035(0x143)](0x0,0x12c):'','ok':_0x5d7aaa['ok']!==![]}),_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'ok':!![]}));return;}if(_0x9bad00['method']===_0x546035(0x20c)&&_0x50d2ce==='/license/mint-trial'){const _0x44b229=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x44b229)return;const _0x54b02c=licenseMachineId(_0x44b229['machineId']);if(!_0x54b02c){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x352046=clientIp(_0x9bad00),_0x4093bb=Date[_0x546035(0x14c)](),_0x42286c=(_0x1eb4c9[_0x546035(0x149)](_0x352046)??[])[_0x546035(0x22a)](_0xa0ea09=>_0x4093bb-_0xa0ea09<0x36ee80);if(_0x42286c['length']>=_0x452939){_0x573c2b[_0x546035(0x1e5)](0x1ad,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x1c3)}));return;}_0x42286c['push'](_0x4093bb),_0x1eb4c9[_0x546035(0x1d8)](_0x352046,_0x42286c);if(_0x49f0c0['activeTrialForMachine'](_0x54b02c)){_0x573c2b[_0x546035(0x1e5)](0x199,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x24e)}));return;}try{const _0xede53e=Number(process.env.LICENSE_TRIAL_DAYS??0x7),_0x11979f=Math[_0x546035(0x1ab)](Math[_0x546035(0x177)](Math[_0x546035(0x212)](Number[_0x546035(0x14b)](_0xede53e)?_0xede53e:0x7),0x1),0x1e),_0x4d12b1=Math[_0x546035(0x212)](Date['now']()/0x5265c00),{activationEpochDays:_0x5f7b60}=await Promise['resolve']()[_0x546035(0x169)](()=>__importStar(require(_0x546035(0x117)))),_0x2d3421=(0x0,license_js_1[_0x546035(0x1c1)])({'plan':_0x546035(0x1ee),'expDays':_0x4d12b1-_0x5f7b60()+_0x11979f},(0x0,license_js_1[_0x546035(0x148)])()),_0x459e17=_0x49f0c0[_0x546035(0x218)](_0x2d3421,_0x546035(0x118),{'trial':!![]}),_0x166da8=_0x49f0c0[_0x546035(0x120)](_0x2d3421,_0x54b02c);_0x573c2b['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'ok':_0x166da8['ok'],'key':_0x2d3421,'id':_0x459e17['id'],'exp':_0x459e17['exp'],'days':_0x11979f}));}catch(_0x1b013a){_0x573c2b['writeHead'](0x1f4,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x23c)+(_0x1b013a instanceof Error?_0x1b013a['message']:String(_0x1b013a))}));}return;}if(_0x9bad00[_0x546035(0x1ff)]==='POST'&&_0x50d2ce===_0x546035(0x1fa)){const _0x56e10a=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x56e10a)return;const _0x4ea931=licenseMachineId(_0x56e10a['machineId']);if(!_0x4ea931){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x3cf450=(process.env.GITHUB_CLIENT_ID??'')[_0x546035(0x21c)]();if(!_0x3cf450){_0x573c2b[_0x546035(0x1e5)](0x1f4,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':'GitHub\x20login\x20not\x20configured\x20on\x20this\x20server'}));return;}const _0x1918d3=clientIp(_0x9bad00),_0x247d17=Date[_0x546035(0x14c)](),_0x1f08cf=(_0x16e485['get'](_0x1918d3)??[])['filter'](_0x3315bc=>_0x247d17-_0x3315bc<0x36ee80);if(_0x1f08cf[_0x546035(0x14d)]>=_0x2f88ca){_0x573c2b['writeHead'](0x1ad,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x179)}));return;}_0x1f08cf[_0x546035(0x233)](_0x247d17),_0x16e485[_0x546035(0x1d8)](_0x1918d3,_0x1f08cf);const _0x443e77=_0x55e9ef['beginLogin'](_0x4ea931),_0x50d4e0='https://github.com/login/oauth/authorize?client_id='+encodeURIComponent(_0x3cf450)+_0x546035(0x134)+_0x443e77[_0x546035(0x208)];_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON['stringify']({'ok':!![],'url':_0x50d4e0}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x24c)){const _0x3743be=(_0x2702ce,_0x2fcb12,_0x344a08)=>{const _0x247674=_0x546035;_0x573c2b[_0x247674(0x1e5)](_0x344a08?0xc8:0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x573c2b[_0x247674(0x171)]('<!doctype\x20html><html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><title>'+_0x2702ce+_0x247674(0x1fe)+_0x247674(0x226)+(_0x247674(0x19b)+_0x2702ce+_0x247674(0x16d)+_0x2fcb12+_0x247674(0x137)));},_0x146c6a=new URL(_0x9bad00[_0x546035(0x1b7)]??'/',_0x546035(0x161))[_0x546035(0x130)],_0x346817=_0x146c6a[_0x546035(0x149)](_0x546035(0x242))??'',_0x54b759=_0x146c6a[_0x546035(0x149)](_0x546035(0x208))??'',_0x25c892=_0x55e9ef[_0x546035(0x252)](_0x54b759);if(!_0x346817||!_0x25c892){_0x3743be(_0x546035(0x245),_0x546035(0x1b1),![]);return;}const _0x2833ee=(process.env.GITHUB_CLIENT_ID??'')[_0x546035(0x21c)](),_0x361867=(process.env.GITHUB_CLIENT_SECRET??'')[_0x546035(0x21c)]();if(!_0x2833ee||!_0x361867){_0x3743be(_0x546035(0x25a),'GitHub\x20login\x20is\x20not\x20configured\x20on\x20this\x20server.',![]);return;}try{const _0x54dcec=await fetch(_0x546035(0x214),{'method':_0x546035(0x20c),'headers':{'Content-Type':'application/json','Accept':'application/json','User-Agent':_0x546035(0x1a9)},'body':JSON[_0x546035(0x1e7)]({'client_id':_0x2833ee,'client_secret':_0x361867,'code':_0x346817}),'signal':AbortSignal[_0x546035(0x207)](0x4e20)}),_0x367073=await _0x54dcec[_0x546035(0x131)]();if(!_0x54dcec['ok']||typeof _0x367073[_0x546035(0x16a)]!=='string'||!_0x367073[_0x546035(0x16a)])throw new Error(typeof _0x367073[_0x546035(0x164)]===_0x546035(0x22d)?_0x367073[_0x546035(0x164)]:_0x546035(0x140)+_0x54dcec[_0x546035(0x166)]);const _0x56980d=await githubApi(_0x546035(0x188),_0x367073['access_token']),_0x2e6e98=_0x56980d[_0x546035(0x131)]&&typeof _0x56980d[_0x546035(0x131)]===_0x546035(0x231)&&typeof _0x56980d[_0x546035(0x131)][_0x546035(0x20e)]===_0x546035(0x22d)?_0x56980d[_0x546035(0x131)][_0x546035(0x20e)]:_0x546035(0x1b4);_0x55e9ef[_0x546035(0x1aa)](_0x25c892,_0x367073[_0x546035(0x16a)],_0x2e6e98),_0x3743be(_0x546035(0x1d4),_0x546035(0x239)+_0x2e6e98+_0x546035(0x123),!![]);}catch(_0x3588d6){_0x3743be('Authorization\x20failed','Could\x20not\x20finish\x20login\x20('+(_0x3588d6 instanceof Error?_0x3588d6[_0x546035(0x186)]:String(_0x3588d6))+_0x546035(0x183),![]);}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x1c5)){const _0x2c9631=licenseMachineId(new URL(_0x9bad00['url']??'/',_0x546035(0x161))[_0x546035(0x130)]['get']('machineId')),_0x3bd5e5=_0x2c9631?_0x55e9ef['tokenFor'](_0x2c9631):undefined;_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify'](_0x3bd5e5?{'authorized':!![],'login':_0x3bd5e5[_0x546035(0x20e)]}:{'authorized':![]}));return;}if(_0x9bad00[_0x546035(0x1ff)]==='POST'&&_0x50d2ce==='/auth/github/logout'){const _0x539283=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x539283)return;const _0xe8fb4f=licenseMachineId(_0x539283['machineId']);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':_0xe8fb4f?_0x55e9ef[_0x546035(0x1e4)](_0xe8fb4f):![]}));return;}if(_0x9bad00['method']==='POST'&&_0x50d2ce===_0x546035(0x1f4)){const _0x12367e=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x12367e)return;const _0x50d59e=licenseMachineId(_0x12367e[_0x546035(0x17f)]),_0x1246ef=_0x50d59e?_0x55e9ef['tokenFor'](_0x50d59e):undefined;if(!_0x1246ef){_0x573c2b[_0x546035(0x1e5)](0x191,{'Content-Type':_0x546035(0x19e)}),_0x573c2b['end'](JSON['stringify']({'error':_0x546035(0x159)}));return;}let _0x322232='',_0x237ecb='';try{;({owner:_0x322232,repo:_0x237ecb}=(0x0,github_app_js_1[_0x546035(0x13b)])(typeof _0x12367e[_0x546035(0x15c)]===_0x546035(0x22d)?_0x12367e[_0x546035(0x15c)]:''));}catch{_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x10c)}));return;}const _0x36ac77=Math[_0x546035(0x212)](Number(_0x12367e[_0x546035(0x1b5)]));if(!Number[_0x546035(0x14b)](_0x36ac77)||_0x36ac77<0x1){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x17a)}));return;}const _0x395701=_0x12367e['withComments']!==![],[_0x2f7b77,_0x4e468a]=await Promise[_0x546035(0x1d6)]([githubApi(_0x546035(0x18b)+_0x322232+'/'+_0x237ecb+'/issues/'+_0x36ac77,_0x1246ef['token']),_0x395701?githubApi('/repos/'+_0x322232+'/'+_0x237ecb+_0x546035(0x1bf)+_0x36ac77+_0x546035(0x11f),_0x1246ef[_0x546035(0x13c)]):Promise[_0x546035(0x230)]({'status':0xc8,'json':[]})]);if(_0x2f7b77[_0x546035(0x166)]===0x0){_0x573c2b[_0x546035(0x1e5)](0x1f6,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x210)}));return;}if(_0x2f7b77[_0x546035(0x166)]!==0xc8||!_0x2f7b77['json']||typeof _0x2f7b77[_0x546035(0x131)]!==_0x546035(0x231)){const _0x48f953=_0x2f7b77['json']&&typeof _0x2f7b77[_0x546035(0x131)]===_0x546035(0x231)&&typeof _0x2f7b77[_0x546035(0x131)][_0x546035(0x186)]===_0x546035(0x22d)?_0x2f7b77[_0x546035(0x131)]['message']:'HTTP\x20'+_0x2f7b77['status'];_0x573c2b[_0x546035(0x1e5)](_0x2f7b77[_0x546035(0x166)]===0x194?0x194:0x1f6,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x172)+_0x48f953}));return;}const _0x128739=_0x2f7b77[_0x546035(0x131)],_0x1804cd=Array[_0x546035(0x150)](_0x4e468a['json'])?_0x4e468a[_0x546035(0x131)]:[];_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':!![],'issue':{'number':typeof _0x128739['number']===_0x546035(0x1b5)?_0x128739[_0x546035(0x1b5)]:_0x36ac77,'title':typeof _0x128739[_0x546035(0x193)]==='string'?_0x128739[_0x546035(0x193)]:'','state':typeof _0x128739[_0x546035(0x208)]===_0x546035(0x22d)?_0x128739[_0x546035(0x208)]:'','author':_0x128739[_0x546035(0x1d9)]&&typeof _0x128739[_0x546035(0x1d9)]===_0x546035(0x231)&&typeof _0x128739['user']['login']==='string'?_0x128739[_0x546035(0x1d9)][_0x546035(0x20e)]:'','url':typeof _0x128739[_0x546035(0x182)]==='string'?_0x128739['html_url']:'','body':typeof _0x128739[_0x546035(0x10d)]===_0x546035(0x22d)?_0x128739[_0x546035(0x10d)][_0x546035(0x143)](0x0,0x1f40):'','commentsCount':typeof _0x128739[_0x546035(0x197)]===_0x546035(0x1b5)?_0x128739[_0x546035(0x197)]:_0x1804cd[_0x546035(0x14d)],'isPullRequest':_0x128739['pull_request']!==undefined},'comments':_0x1804cd[_0x546035(0x22a)](_0x561cd3=>!!_0x561cd3&&typeof _0x561cd3===_0x546035(0x231))[_0x546035(0x143)](-0x14)['map'](_0xdb6ca0=>({'author':_0xdb6ca0[_0x546035(0x1d9)]&&typeof _0xdb6ca0['user']==='object'&&typeof _0xdb6ca0[_0x546035(0x1d9)]['login']===_0x546035(0x22d)?_0xdb6ca0[_0x546035(0x1d9)][_0x546035(0x20e)]:'','body':typeof _0xdb6ca0[_0x546035(0x10d)]===_0x546035(0x22d)?_0xdb6ca0[_0x546035(0x10d)][_0x546035(0x143)](0x0,0x7d0):'','createdAt':typeof _0xdb6ca0[_0x546035(0x258)]===_0x546035(0x22d)?_0xdb6ca0[_0x546035(0x258)]:''}))}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x121)){const _0x1ae2ac=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x1ae2ac)return;try{const _0xf0766e=_0x49f0c0[_0x546035(0x218)](typeof _0x1ae2ac[_0x546035(0x1ec)]==='string'?_0x1ae2ac[_0x546035(0x1ec)]:'',typeof _0x1ae2ac[_0x546035(0x1ed)]===_0x546035(0x22d)?_0x1ae2ac[_0x546035(0x1ed)]:undefined);_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'id':_0xf0766e['id'],'plan':_0xf0766e['plan']}));}catch(_0x129e93){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x129e93 instanceof Error?_0x129e93['message']:String(_0x129e93)}));}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x152)){const _0x58f758=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x58f758)return;const _0x85d1e6=typeof _0x58f758['id']===_0x546035(0x22d)?_0x58f758['id']:'';if(!_0x85d1e6||!_0x49f0c0['revoke'](_0x85d1e6)){_0x573c2b['writeHead'](0x194,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':'unknown\x20license\x20id'}));return;}_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'ok':!![]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x1d0)){const _0x41e266=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x41e266)return;const _0x227a80=typeof _0x41e266['id']===_0x546035(0x22d)?_0x41e266['id']:'';if(!_0x227a80||!_0x49f0c0[_0x546035(0x12f)](_0x227a80)){_0x573c2b[_0x546035(0x1e5)](0x194,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x132)}));return;}_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'ok':!![]}));return;}if(_0x9bad00['method']===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x1e1)){const _0x2cfd39=_0x49f0c0['list']()['map'](_0x11ac10=>({'id':_0x11ac10['id'],'key':_0x11ac10[_0x546035(0x1ec)][_0x546035(0x143)](0x0,0x4)+_0x546035(0x195)+_0x11ac10[_0x546035(0x1ec)]['slice'](-0x4),'plan':_0x11ac10[_0x546035(0x170)],'exp':_0x11ac10[_0x546035(0x109)],'customer':_0x11ac10['customer'],'trial':_0x11ac10['trial']===!![],'revoked':_0x11ac10[_0x546035(0x116)],'bound':Boolean(_0x11ac10[_0x546035(0x153)]),'machine':_0x11ac10[_0x546035(0x153)]?_0x11ac10[_0x546035(0x153)]['slice'](0x0,0x8)+'…':undefined,'createdAt':_0x11ac10[_0x546035(0x203)],'lastSeenAt':_0x11ac10[_0x546035(0x1e6)]}));_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'licenses':_0x2cfd39}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x13e)){const _0x26f9e9=Number((_0x9bad00[_0x546035(0x1b7)]??'')[_0x546035(0x1d5)](_0x546035(0x1b8))[0x1]??0x64);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'usage':_0x49f0c0[_0x546035(0x1cd)](Number[_0x546035(0x14b)](_0x26f9e9)?_0x26f9e9:0x64)}));return;}if(_0x9bad00['method']===_0x546035(0x10b)&&_0x50d2ce==='/admin/jobs'){const _0xe90e84=Number((_0x9bad00[_0x546035(0x1b7)]??'')[_0x546035(0x1d5)](_0x546035(0x1b8))[0x1]??0x64),{readJobTail:_0x108742}=await Promise[_0x546035(0x230)]()[_0x546035(0x169)](()=>__importStar(require(_0x546035(0x246))));_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'jobs':_0x108742(Number['isFinite'](_0xe90e84)?_0xe90e84:0x64)}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x11a)){const _0x2d781e=process.env.GITHUB_WEBHOOK_SECRET??'';if(!_0x2d781e){_0x573c2b[_0x546035(0x1e5)](0x1f7,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1b6)}));return;}const _0x26f302=[];let _0xa30391=0x0,_0x281c2d=![];_0x9bad00['on'](_0x546035(0x19f),_0x3a951e=>{const _0x504848=_0x546035;if(_0x281c2d)return;const _0x2b7cc9=typeof _0x3a951e===_0x504848(0x22d)?Buffer['from'](_0x3a951e,_0x504848(0x23e)):_0x3a951e;_0xa30391+=_0x2b7cc9[_0x504848(0x14d)];if(_0xa30391>MAX_BODY_BYTES){_0x281c2d=!![],_0x573c2b[_0x504848(0x1e5)](0x19d,{'Content-Type':_0x504848(0x19e)}),_0x573c2b[_0x504848(0x171)](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x9bad00['destroy']());return;}_0x26f302[_0x504848(0x233)](_0x2b7cc9);}),_0x9bad00['on'](_0x546035(0x171),()=>{const _0xfadc9c=_0x546035;if(_0x281c2d||_0x9bad00[_0xfadc9c(0x15b)])return;const _0x48b2c6=Buffer[_0xfadc9c(0x178)](_0x26f302),_0x30318e=_0x9bad00[_0xfadc9c(0x254)]['x-hub-signature-256'];if(!(0x0,github_app_js_1[_0xfadc9c(0x1ce)])(_0x2d781e,_0x48b2c6,Array[_0xfadc9c(0x150)](_0x30318e)?_0x30318e[0x0]:_0x30318e)){_0x573c2b[_0xfadc9c(0x1e5)](0x191,{'Content-Type':'application/json'}),_0x573c2b[_0xfadc9c(0x171)](JSON['stringify']({'error':_0xfadc9c(0x151)}));return;}let _0x2ea6e4=null;try{_0x2ea6e4=JSON['parse'](_0x48b2c6[_0xfadc9c(0x13a)]('utf8'));}catch{_0x573c2b[_0xfadc9c(0x1e5)](0x190,{'Content-Type':_0xfadc9c(0x19e)}),_0x573c2b[_0xfadc9c(0x171)](JSON['stringify']({'error':_0xfadc9c(0x199)}));return;}const _0x2df2f7=_0x9bad00['headers']['x-github-event'],_0x598d4d=(0x0,github_app_js_1['routeGithubEvent'])(Array['isArray'](_0x2df2f7)?_0x2df2f7[0x0]??'':_0x2df2f7??'',_0x2ea6e4);if(_0x598d4d[_0xfadc9c(0x1f7)]!==_0xfadc9c(0x224)){_0x573c2b[_0xfadc9c(0x1e5)](0xc8,{'Content-Type':_0xfadc9c(0x19e)}),_0x573c2b['end'](JSON['stringify']({'ok':!![],..._0x598d4d[_0xfadc9c(0x1f7)]===_0xfadc9c(0x251)?{'ignored':_0x598d4d['reason']}:{}}));return;}_0x573c2b[_0xfadc9c(0x1e5)](0xca,{'Content-Type':_0xfadc9c(0x19e)}),_0x573c2b[_0xfadc9c(0x171)](JSON['stringify']({'ok':!![],'accepted':!![]})),void enqueueGithubJob(_0x598d4d['job'],_0x2ea6e4);});return;}if(_0x9bad00['method']===_0x546035(0x20c)&&_0x9bad00['url']===_0x546035(0x194)){let _0x130cc6='',_0x59d2ce=0x0,_0x5aa592=![];const _0x23f988=new AbortController();_0x9bad00['on'](_0x546035(0x200),()=>_0x23f988[_0x546035(0x25f)]()),_0x9bad00['on']('data',_0x3eccfd=>{const _0x52a0e2=_0x546035;if(_0x5aa592)return;const _0x4fda83=typeof _0x3eccfd===_0x52a0e2(0x22d)?_0x3eccfd:_0x3eccfd[_0x52a0e2(0x13a)](_0x52a0e2(0x23e));_0x59d2ce+=Buffer[_0x52a0e2(0x135)](_0x4fda83);if(_0x59d2ce>MAX_BODY_BYTES){_0x5aa592=!![],_0x573c2b[_0x52a0e2(0x1e5)](0x19d,{'Content-Type':_0x52a0e2(0x19e)}),_0x573c2b[_0x52a0e2(0x171)](JSON['stringify']({'error':_0x52a0e2(0x253)})),setImmediate(()=>_0x9bad00[_0x52a0e2(0x228)]());return;}_0x130cc6+=_0x4fda83;}),_0x9bad00['on'](_0x546035(0x171),()=>{const _0x51d047=_0x546035;if(_0x5aa592||_0x9bad00[_0x51d047(0x15b)])return;const _0x200e43=safeJson(_0x130cc6),_0x446a17=typeof _0x200e43[_0x51d047(0x1c8)]===_0x51d047(0x22d)?_0x200e43[_0x51d047(0x1c8)]:undefined,_0x368960=typeof _0x200e43[_0x51d047(0x1bd)]===_0x51d047(0x22d)?_0x200e43[_0x51d047(0x1bd)]:undefined;if(!_0x446a17||typeof _0x446a17!==_0x51d047(0x22d)){_0x573c2b[_0x51d047(0x1e5)](0x190,{'Content-Type':_0x51d047(0x19e)}),_0x573c2b['end'](JSON['stringify']({'error':_0x51d047(0x221)}));return;}_0x573c2b[_0x51d047(0x1e5)](0xc8,{'Content-Type':_0x51d047(0x12c),'Cache-Control':_0x51d047(0x1b9),'Connection':'keep-alive'});const _0x1483fb=new index_js_1[(_0x51d047(0x222))]({'config':_0x12de7e,'sessionFile':_0x368960}),_0x24b86b=_0x166a38=>{const _0x56b097=_0x51d047;try{if(!_0x9bad00[_0x56b097(0x15b)]&&!_0x573c2b[_0x56b097(0x1e0)])_0x573c2b['write'](_0x166a38);}catch{_0x23f988['abort']();}};_0x1483fb[_0x51d047(0x147)](_0x446a17,_0x293a36=>{const _0x5bd7a0=_0x51d047;_0x4a82a3[_0x5bd7a0(0x1a4)](_0x293a36),_0x24b86b(_0x5bd7a0(0x1a6)+JSON[_0x5bd7a0(0x1e7)](_0x293a36)+'\x0a\x0a');},_0x23f988[_0x51d047(0x23a)])[_0x51d047(0x169)](()=>{const _0x320a59=_0x51d047;_0x24b86b(_0x320a59(0x192));try{if(!_0x9bad00[_0x320a59(0x15b)]&&!_0x573c2b['writableEnded'])_0x573c2b['end']();}catch{}})[_0x51d047(0x1db)](_0x370089=>{const _0x19ccac=_0x51d047;_0x24b86b(_0x19ccac(0x1a6)+JSON['stringify']({'error':String(_0x370089)})+'\x0a\x0a');try{if(!_0x9bad00['destroyed']&&!_0x573c2b[_0x19ccac(0x1e0)])_0x573c2b[_0x19ccac(0x171)]();}catch{}});});return;}_0x573c2b[_0x546035(0x1e5)](0x194,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1f8)}));});return _0x92737f['listen'](_0x16c3c3,_0x114a75,()=>{const _0x549829=_0x34920a;process[_0x549829(0x247)][_0x549829(0x191)](_0x549829(0x25e)+_0x114a75+':'+_0x16c3c3+'\x0a'),_0x3636db&&_0x6cadcc&&process[_0x549829(0x247)][_0x549829(0x191)](_0x549829(0x1fc)+_0x6cadcc+'\x0a');}),Object[_0x34920a(0x23d)](_0x92737f,'effectiveToken',{'value':_0x6cadcc??'','enumerable':![]}),_0x92737f;}function safeJson(_0xd59bea){const _0x22325f=_0x2f5ce0;try{return JSON[_0x22325f(0x1fb)](_0xd59bea);}catch{return{};}}let githubJobQueue=Promise[_0x2f5ce0(0x230)]();function _0x3e33(_0x52ff30,_0x328b0a){_0x52ff30=_0x52ff30-0x109;const _0xc751d4=_0xc751();let _0x3e339b=_0xc751d4[_0x52ff30];return _0x3e339b;}function enqueueGithubJob(_0x5ef1d4,_0x244014){const _0x21c586=_0x2f5ce0,_0x2883bf=githubJobQueue[_0x21c586(0x169)](()=>runGithubJob(_0x5ef1d4,_0x244014))[_0x21c586(0x1db)](_0x384d62=>{const _0xc3bdc7=_0x21c586;return process[_0xc3bdc7(0x13d)][_0xc3bdc7(0x191)](_0xc3bdc7(0x17b)+(_0x384d62 instanceof Error?_0x384d62['message']:String(_0x384d62))+'\x0a'),'';});return githubJobQueue=_0x2883bf[_0x21c586(0x169)](()=>undefined),_0x2883bf;}async function postGithubComment(_0x358d4e,_0xa1cf25,_0x4cfa6a,_0x1d2a1a,_0x401403){const _0x23baec=_0x2f5ce0;try{const _0xb71b95=await fetch('https://api.github.com/repos/'+_0x358d4e+'/'+_0xa1cf25+'/issues/'+_0x4cfa6a+_0x23baec(0x1ac),{'method':'POST','headers':{'Accept':_0x23baec(0x18d),'User-Agent':_0x23baec(0x1a9),'Authorization':_0x23baec(0x190)+_0x401403,'Content-Type':_0x23baec(0x19e),'X-GitHub-Api-Version':_0x23baec(0x176)},'body':JSON[_0x23baec(0x1e7)]({'body':_0x1d2a1a['slice'](0x0,0xfa0)}),'signal':AbortSignal[_0x23baec(0x207)](0x4e20)});return _0xb71b95['status']===0xc9;}catch{return![];}}async function allInstalledRepos(){const _0x233a85=_0x2f5ce0,_0x3f85f5=githubAppJwt();if(!_0x3f85f5)return[];try{const _0x24a46b=await fetch(_0x233a85(0x111),{'headers':{'Accept':_0x233a85(0x18d),'User-Agent':_0x233a85(0x1a9),'Authorization':_0x233a85(0x190)+_0x3f85f5,'X-GitHub-Api-Version':_0x233a85(0x176)},'signal':AbortSignal[_0x233a85(0x207)](0x4e20)}),_0x5a09ef=await _0x24a46b[_0x233a85(0x131)]();if(!_0x24a46b['ok']||!Array['isArray'](_0x5a09ef))return[];const _0x312ca2=[];for(const _0x3805de of _0x5a09ef){if(typeof _0x3805de?.['id']!==_0x233a85(0x1b5))continue;const _0x427c76=await installationTokenFor(_0x3805de['id']);if(!_0x427c76)continue;const _0x58af30=await githubApi('/installation/repositories?per_page=100',_0x427c76);if(_0x58af30[_0x233a85(0x166)]!==0xc8||!_0x58af30[_0x233a85(0x131)]||typeof _0x58af30[_0x233a85(0x131)]!=='object')continue;const _0x5135e0=_0x58af30['json'][_0x233a85(0x110)];if(!Array[_0x233a85(0x150)](_0x5135e0))continue;for(const _0x2a999d of _0x5135e0){_0x2a999d&&typeof _0x2a999d===_0x233a85(0x231)&&typeof _0x2a999d[_0x233a85(0x18c)]===_0x233a85(0x22d)&&_0x312ca2[_0x233a85(0x233)](_0x2a999d[_0x233a85(0x18c)][_0x233a85(0x16e)]());}}return[...new Set(_0x312ca2)];}catch{return[];}}function githubAppJwt(){const _0x208088=_0x2f5ce0,_0x21691d=(process.env.GITHUB_APP_ID??'')[_0x208088(0x21c)]();let _0x3ca979=(process.env.GITHUB_PRIVATE_KEY??'')[_0x208088(0x21c)]();if(!_0x21691d||!_0x3ca979)return'';if(!_0x3ca979[_0x208088(0x12b)]('BEGIN'))try{_0x3ca979=(0x0,node_fs_1[_0x208088(0x158)])(_0x3ca979,'utf8');}catch{return'';}try{return(0x0,github_app_js_1[_0x208088(0x181)])(_0x21691d,_0x3ca979);}catch{return'';}}async function installationIdForOwner(_0x302f3c){const _0x2e76e7=_0x2f5ce0,_0xaf0edf=githubAppJwt();if(!_0xaf0edf)return 0x0;try{const _0x44d025=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':_0x2e76e7(0x18d),'User-Agent':_0x2e76e7(0x1a9),'Authorization':_0x2e76e7(0x190)+_0xaf0edf,'X-GitHub-Api-Version':_0x2e76e7(0x176)},'signal':AbortSignal[_0x2e76e7(0x207)](0x4e20)}),_0x5aa5a9=await _0x44d025[_0x2e76e7(0x131)]();if(!_0x44d025['ok']||!Array[_0x2e76e7(0x150)](_0x5aa5a9))return 0x0;const _0x4adc16=_0x5aa5a9['find'](_0x100289=>_0x100289&&typeof _0x100289['account']?.[_0x2e76e7(0x20e)]===_0x2e76e7(0x22d)&&_0x100289['account']['login'][_0x2e76e7(0x16e)]()===_0x302f3c['toLowerCase']());return typeof _0x4adc16?.['id']===_0x2e76e7(0x1b5)?_0x4adc16['id']:0x0;}catch{return 0x0;}}async function installationTokenFor(_0x2c7a52){const _0x2e651b=_0x2f5ce0,_0x2fd1bc=githubAppJwt();if(!_0x2fd1bc||!_0x2c7a52)return'';try{const _0x4a94e5=process.env.GITHUB_API_BASE??'https://api.github.com';return await(0x0,github_app_js_1[_0x2e651b(0x235)])(_0x4a94e5,_0x2fd1bc,_0x2c7a52);}catch{return'';}}function licenseMachineId(_0x2204c8){const _0x5392c5=_0x2f5ce0;if(typeof _0x2204c8!==_0x5392c5(0x22d))return'';const _0x2e7efb=_0x2204c8[_0x5392c5(0x21c)]();return _0x2e7efb[_0x5392c5(0x14d)]>=0x4&&_0x2e7efb['length']<=0x80?_0x2e7efb:'';}async function githubApi(_0x2c7b8d,_0x576f13,_0x2cbe87=0x4e20){const _0x478864=_0x2f5ce0;try{const _0x55aea4=await fetch(_0x478864(0x21f)+_0x2c7b8d,{'headers':{'Accept':_0x478864(0x18d),'User-Agent':_0x478864(0x1a9),'Authorization':'Bearer\x20'+_0x576f13,'X-GitHub-Api-Version':_0x478864(0x176)},'signal':AbortSignal['timeout'](_0x2cbe87)});let _0x31ebee=null;try{_0x31ebee=await _0x55aea4[_0x478864(0x131)]();}catch{}return{'status':_0x55aea4[_0x478864(0x166)],'json':_0x31ebee};}catch{return{'status':0x0,'json':null};}}function clientIp(_0x5cde94){const _0x27f48e=_0x2f5ce0,_0x9f513a=_0x23e027=>(Array['isArray'](_0x23e027)?_0x23e027[0x0]:_0x23e027)?.[_0x27f48e(0x1d5)](',')[0x0]?.[_0x27f48e(0x21c)]()??'';return _0x9f513a(_0x5cde94['headers'][_0x27f48e(0x201)])||_0x9f513a(_0x5cde94['headers'][_0x27f48e(0x133)])||_0x9f513a(_0x5cde94[_0x27f48e(0x254)][_0x27f48e(0x1ef)])||_0x5cde94['socket']['remoteAddress']||'unknown';}async function runGithubJob(_0x1f9406,_0xded2dd){const _0x30996e=_0x2f5ce0,_0x2270ab=process.env.GITHUB_API_BASE??_0x30996e(0x21f),_0x1f929e=new Date()[_0x30996e(0x129)]();process[_0x30996e(0x247)][_0x30996e(0x191)](_0x30996e(0x211)+_0x1f9406[_0x30996e(0x139)]+'#'+_0x1f9406[_0x30996e(0x165)]+_0x30996e(0x216)+_0x1f929e+'\x0a');const _0x343bf4=process.env.TRAYAMBAK_GITHUB_WORKSPACE??(0x0,index_js_1[_0x30996e(0x225)])()[_0x30996e(0x21e)],_0x4c7d70=(0x0,index_js_1['loadConfig'])(),_0x1b8179={..._0x4c7d70,'cwd':_0x343bf4,'permissions':{..._0x4c7d70[_0x30996e(0x1d3)],'rulesV2':[..._0x4c7d70['permissions']?.[_0x30996e(0x1f1)]??[],{'tool':_0x30996e(0x18f),'action':_0x30996e(0x160),'reason':_0x30996e(0x185)}]}},_0x31d98b=new index_js_1['Agent']({'config':_0x1b8179}),_0x3d631d=process.env.GITHUB_APP_ID??'';let _0x5b0b61=process.env.GITHUB_PRIVATE_KEY??'';if(_0x5b0b61&&!_0x5b0b61['includes'](_0x30996e(0x196))){const _0x366a9c=await Promise['resolve']()['then'](()=>__importStar(require('node:fs')));try{_0x5b0b61=_0x366a9c['readFileSync'](_0x5b0b61,_0x30996e(0x23e));}catch{_0x5b0b61='';}}const _0x2c5503=_0xded2dd?.[_0x30996e(0x15a)],_0x36cc54=typeof _0x2c5503?.['id']===_0x30996e(0x1b5)?_0x2c5503['id']:0x0;let _0x2ee529='';if(_0x3d631d&&_0x5b0b61&&_0x36cc54)try{_0x2ee529=await(0x0,github_app_js_1[_0x30996e(0x235)])(_0x2270ab,(0x0,github_app_js_1[_0x30996e(0x181)])(_0x3d631d,_0x5b0b61),_0x36cc54);}catch(_0x401f1d){process[_0x30996e(0x247)][_0x30996e(0x191)]('[github-app]\x20installation\x20token\x20mint\x20failed:\x20'+(_0x401f1d instanceof Error?_0x401f1d[_0x30996e(0x186)]:String(_0x401f1d))+'\x0a');}let _0x2c5e63=[],_0xdbdd21='';const _0x4e2d03=[],_0x294806=[],_0x8927e7=_0x122ce9=>{const _0x189ddf=_0x30996e;try{if(_0x122ce9?.[_0x189ddf(0x1f2)]==='budget_exhausted'){_0x4e2d03[_0x189ddf(0x233)](_0x189ddf(0x255)+(typeof _0x122ce9[_0x189ddf(0x144)]===_0x189ddf(0x1b5)?_0x122ce9[_0x189ddf(0x144)]:'?')+_0x189ddf(0x21a)+(typeof _0x122ce9[_0x189ddf(0x177)]===_0x189ddf(0x1b5)?_0x122ce9[_0x189ddf(0x177)]:'?')+_0x189ddf(0x256));return;}if(_0x122ce9?.[_0x189ddf(0x1f2)]===_0x189ddf(0x22b)){const _0x3eb547=_0x122ce9['message'];if(_0x3eb547?.[_0x189ddf(0x128)]===_0x189ddf(0x1f3)&&Array[_0x189ddf(0x150)](_0x3eb547['content'])){const _0x20a67e=_0x3eb547['content'][_0x189ddf(0x22a)](_0x245a31=>!!_0x245a31&&typeof _0x245a31===_0x189ddf(0x231)&&_0x245a31[_0x189ddf(0x1f2)]===_0x189ddf(0x1d7))[_0x189ddf(0x1a2)](_0x189214=>_0x189214['text'])['join']('\x0a')[_0x189ddf(0x21c)]();if(_0x20a67e)_0x4e2d03[_0x189ddf(0x233)](_0x20a67e);}if(_0x3eb547?.[_0x189ddf(0x17c)]===_0x189ddf(0x1c0)&&Array[_0x189ddf(0x150)](_0x3eb547[_0x189ddf(0x124)])){const _0x10641f=_0x3eb547[_0x189ddf(0x124)]['filter'](_0xfc9b19=>!!_0xfc9b19&&typeof _0xfc9b19===_0x189ddf(0x231)&&_0xfc9b19[_0x189ddf(0x1f2)]===_0x189ddf(0x1d7))[_0x189ddf(0x1a2)](_0x12857f=>_0x12857f[_0x189ddf(0x1d7)])[_0x189ddf(0x1eb)]('\x0a');_0x10641f&&/fail|error|denied|not found|404|401|403|refus/i[_0x189ddf(0x1f9)](_0x10641f)&&_0x294806['push'](_0x10641f['slice'](0x0,0x12c));}}}catch{}};try{const _0x362771=process.env.GITHUB_TOKEN;if(_0x2ee529)process.env.GITHUB_TOKEN=_0x2ee529;const _0x3919df=(0x0,github_app_js_1[_0x30996e(0x12e)])(_0xded2dd);try{_0x2c5e63=await _0x31d98b[_0x30996e(0x147)](_0x30996e(0x1ca)+_0x1f9406[_0x30996e(0x139)]+(_0x1f9406[_0x30996e(0x1b2)]?_0x30996e(0x23b):'\x20(issue')+'\x20#'+_0x1f9406[_0x30996e(0x165)]+'):\x0a'+_0x1f9406[_0x30996e(0x20d)]+_0x30996e(0x10a)+(_0x3919df?_0x30996e(0x127)+_0x3919df:''),_0x8927e7);}finally{if(_0x2ee529){if(_0x362771===undefined)delete process.env.GITHUB_TOKEN;else process.env.GITHUB_TOKEN=_0x362771;}}}catch(_0x55ae8b){_0xdbdd21=_0x55ae8b instanceof Error?_0x55ae8b[_0x30996e(0x186)]:String(_0x55ae8b);}const _0xef0611=(0x0,github_app_js_1[_0x30996e(0x1e3)])(_0x2c5e63,_0xdbdd21,_0x4e2d03);(0x0,github_jobs_js_1[_0x30996e(0x1f0)])({'repo':_0x1f9406[_0x30996e(0x139)],'issue':_0x1f9406[_0x30996e(0x165)],'task':_0x1f9406[_0x30996e(0x20d)],'messages':_0x2c5e63['length'],'replyHead':_0xef0611,..._0xdbdd21?{'error':_0xdbdd21}:{}});const _0x445143=_0x2c5e63[_0x30996e(0x1a2)](_0x25e5bc=>{const _0x1b4631=_0x30996e,_0xfc9de2=Array[_0x1b4631(0x150)](_0x25e5bc[_0x1b4631(0x124)])?_0x25e5bc[_0x1b4631(0x124)]['map'](_0x58227b=>_0x58227b?.[_0x1b4631(0x1f2)]??'?')['join']('+'):typeof _0x25e5bc['content'];return(_0x25e5bc[_0x1b4631(0x17c)]??'?')+'['+_0xfc9de2+']';})[_0x30996e(0x1eb)]('\x20');process['stdout'][_0x30996e(0x191)](_0x30996e(0x211)+_0x1f9406[_0x30996e(0x139)]+'#'+_0x1f9406['issueNumber']+'\x20finished\x20('+_0x2c5e63[_0x30996e(0x14d)]+_0x30996e(0x20a)+(_0x445143||_0x30996e(0x236))+(_0xdbdd21?_0x30996e(0x1bb)+_0xdbdd21['slice'](0x0,0xc8):'')+(_0x294806['length']>0x0?_0x30996e(0x204)+_0x294806[_0x30996e(0x1eb)](_0x30996e(0x1a8))['slice'](0x0,0x258):'')+')\x0a');if(!_0x3d631d||!_0x5b0b61||!_0x36cc54||!_0x2ee529)return process['stdout']['write'](_0x30996e(0x240)+_0xef0611+'\x0a---\x20end\x20---\x0a'),_0xef0611;const {owner:_0x4c0679,repo:_0x10ad48}=(0x0,github_app_js_1[_0x30996e(0x13b)])(_0x1f9406[_0x30996e(0x139)]),_0x29334d=_0xef0611[_0x30996e(0x14d)]>0xea60?_0xef0611[_0x30996e(0x143)](0x0,0xea60)+'\x0a\x0a…(truncated,\x20full\x20log\x20on\x20the\x20VPS)':_0xef0611;return await(0x0,github_app_js_1[_0x30996e(0x14e)])({'apiBase':_0x2270ab,'token':_0x2ee529},_0x4c0679,_0x10ad48,_0x1f9406[_0x30996e(0x165)],_0x30996e(0x24d)+_0x29334d),process[_0x30996e(0x247)][_0x30996e(0x191)](_0x30996e(0x211)+_0x1f9406['repoFullName']+'#'+_0x1f9406[_0x30996e(0x165)]+_0x30996e(0x1de)),_0xef0611;}function _0xc751(){const _0x2d5d79=['record','string','plan\x20must\x20be\x20basic|pentest|pro|enterprise','allowed','resolve','object','__setModuleDefault','push','triaged','createInstallationToken','none','hasOwnProperty','has','Logged\x20in\x20as\x20<b>','signal','\x20(pull\x20request','trial\x20mint\x20failed:\x20','defineProperty','utf8','./license-store.js','[github-app]\x20job\x20done\x20but\x20no\x20reply\x20channel\x20(need\x20GITHUB_APP_ID\x20+\x20GITHUB_PRIVATE_KEY\x20+\x20installation\x20id\x20+\x20token\x20mint).\x0a---\x20result\x20---\x0a','Record\x20pentest\x20tool\x20usage\x20(public,\x20licensed)','code','model','defaultOAuthPath','Authorization\x20failed','./github-jobs.js','stdout','crypto','Windows\x20one-line\x20installer\x20(public)','NaN','license\x20invalid','/auth/github/callback','##\x20Trayambak\x20result\x0a\x0a','this\x20machine\x20already\x20has\x20a\x20live\x20trial\x20—\x20ask\x20SKT\x20for\x20a\x20full\x20key','::1','./install-ps1.js','ignored','consumeState','body\x20too\x20large\x20(max\x201MB)','headers','Budget\x20exhausted\x20(used\x20',')\x20—\x20the\x20run\x20stopped\x20before\x20the\x20model\x20was\x20called.','defaultTriageComment','created_at','/license/usage','Server\x20misconfigured','target','3.0.0','touch','trayambak\x20server\x20listening\x20on\x20http://','abort','exp','\x0a\x0aYou\x20have\x20repo\x20access\x20via\x20the\x20github\x20tool\x20(GITHUB_TOKEN\x20is\x20set\x20for\x20this\x20run)\x20—\x20read\x20the\x20actual\x20issue/PR\x20first\x20(read_issue),\x20never\x20claim\x20access\x20errors\x20without\x20trying\x20the\x20tool.\x20If\x20the\x20tool\x20says\x20Not\x20Found\x20on\x20the\x20repository\x20itself,\x20the\x20App\x20is\x20not\x20installed\x20there:\x20tell\x20the\x20user\x20to\x20install\x20it\x20(GitHub\x20App\x20settings\x20→\x20Install\x20App\x20→\x20that\x20repository)\x20instead\x20of\x20guessing\x20further.','GET','repo\x20must\x20be\x20owner/name','body','autofixTick','Tail\x20pentest\x20usage\x20telemetry\x20(bearer-gated)','repositories','https://api.github.com/app/installations','origin','unref','/admin','ran','revoked','../../../apps/runtime/src/license.js','trial','resolveCors','/webhooks/github','../../../apps/runtime/src/index.js','days\x20must\x20be\x201..3650','Run\x20agent\x20(SSE)','/license/verify','/comments?per_page=20','activate','/admin/import','port','</b>.\x20Return\x20to\x20the\x20CLI\x20—\x20it\x20picks\x20this\x20up\x20automatically.','content','licenseUsagePath','OPTIONS','\x0a\x0aContext\x20from\x20GitHub:\x0a','stopReason','toISOString','0:0:0:0:0:0:0:1','includes','text/event-stream','133afLdQn','describeGithubThread','unbind','searchParams','json','unknown\x20license\x20id','x-forwarded-for','&state=','byteLength','0.6.2','</p></body></html>','host','repoFullName','toString','splitRepo','token','stderr','/admin/usage','OPENAPI_SPEC','HTTP\x20','prototype','create','slice','used','usageFile','valid','run','activationCheckKey','get','../../session-backends/src/transcript.js','isFinite','now','length','postIssueComment','reason','isArray','bad\x20signature','/admin/revoke','boundMachineId','3322aZGJie','enterprise','getOwnPropertyDescriptor','Health\x20check','readFileSync','GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first','installation','destroyed','repo','hex','492276WZVfSH','./github-autofix.js','allow','http://localhost','Free\x20a\x20license\x27s\x20machine\x20binding\x20(bearer-gated)','36120voEEbW','error_description','issueNumber','status','defaultLicenseStorePaths','List\x20transcripts','then','access_token','Register\x20a\x20pre-existing\x20code\x20(bearer-gated)','createTelemetry','</h1><p>','toLowerCase','randomBytes','plan','end','GitHub:\x20','List\x20models','127.0.0.1','githubOAuthPath','2022-11-28','max','concat','too\x20many\x20login\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later','number\x20must\x20be\x20a\x20positive\x20issue/PR\x20number','[github-app]\x20job\x20failed:\x20','role','./github-app.js','\x20label=','machineId','licenseStorePath','createAppJwt','html_url',').\x20Run\x20/github\x20login\x20again.','checked','GitHub\x20App\x20job:\x20comment-authorized,\x20installation-token\x20scoped','message','timingSafeEqual','/user','/license/activate','origin\x20not\x20allowed','/repos/','full_name','application/vnd.github+json','/auth/github/logout','github','Bearer\x20','write','data:\x20[DONE]\x0a\x0a','title','/v1/agent','-…-','BEGIN','comments','10FngYnb','invalid\x20JSON','__esModule','<body><h1>','unauthorized','29VQnDAB','application/json','data','entries','missing\x20machineId/tool','map','[github-autofix]\x20watching\x20','capture','OpenAPI\x20spec','data:\x20','/v1/models','\x20||\x20','trayambak','storeToken','min','/comments','[github-autofix]\x20idle\x20(GITHUB_AUTOFIX_REPOS\x20unset)\x0a','Tail\x20GitHub\x20job\x20history\x20(bearer-gated)','/license/mint-trial','appendUsage','This\x20link\x20is\x20expired\x20or\x20already\x20used\x20(10-minute,\x20single-use).\x20Run\x20/github\x20login\x20in\x20the\x20CLI\x20again\x20for\x20a\x20fresh\x20one.','isPullRequest','__createBinding','github-user','number','webhooks\x20disabled\x20(GITHUB_WEBHOOK_SECRET\x20unset)','url','tail=','no-cache','\x20every\x20',',\x20error:\x20','<!doctype\x20html>\x0a<html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,initial-scale=1\x22>\x0a<title>Trayambak\x20—\x20license\x20generator</title>\x0a<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem;color:#111}label{display:block;margin:1rem\x200\x20.25rem;font-weight:600}input,select,button{font-size:1rem;padding:.5rem;width:100%;box-sizing:border-box}button{margin-top:1.25rem;background:#111;color:#fff;border:0;cursor:pointer}#out{margin-top:1.5rem;padding:1rem;background:#f4f4f4;word-break:break-all;display:none;font-family:monospace;font-size:1.2rem}#err{color:#b00;margin-top:1rem}pre{background:#f4f4f4;padding:1rem;overflow:auto;font-size:.8rem}</style>\x0a</head><body>\x0a<h1>Trayambak\x20license\x20generator</h1>\x0a<p>Bearer\x20token\x20is\x20asked\x20once\x20per\x20session\x20and\x20never\x20stored.\x20Minted\x20codes\x20are\x2016\x20letters,\x20always\x20<b>1102-…</b>,\x20verified\x20<b>live\x20by\x20this\x20server</b>\x20(registry\x20+\x201-machine\x20binding).</p>\x0a<p>Users\x20self-serve\x20a\x207-day\x20trial\x20from\x20the\x20TUI\x20(<b>/devmode\x20trial</b>\x20—\x201\x20live\x20trial\x20per\x20machine,\x20born\x20bound,\x205/hour\x20per\x20network).\x20Paid\x20keys\x20come\x20from\x20Mint\x20below.\x20Exploitation?\x20Find\x20the\x20key\x20id\x20in\x20<b>Usage</b>,\x20paste\x20it\x20under\x20<b>Revoke</b>\x20—\x20dead\x20in\x20one\x20click,\x20everywhere.</p>\x0a<label>Bearer\x20token\x20(TRAYAMBAK_WEB_TOKEN)<input\x20id=\x22token\x22\x20type=\x22password\x22\x20autocomplete=\x22off\x22></label>\x0a<label>Plan<select\x20id=\x22plan\x22><option\x20value=\x22pentest\x22>pentest</option><option\x20value=\x22pro\x22>pro</option><option\x20value=\x22enterprise\x22>enterprise</option><option\x20value=\x22basic\x22>basic</option></select></label>\x0a<label>Days\x20valid<input\x20id=\x22days\x22\x20type=\x22number\x22\x20value=\x22365\x22\x20min=\x221\x22\x20max=\x223650\x22></label>\x0a<label>Customer\x20id\x20(optional)<input\x20id=\x22cid\x22\x20type=\x22text\x22\x20placeholder=\x22acme-corp\x22></label>\x0a<button\x20id=\x22go\x22>Mint\x20license</button>\x0a<div\x20id=\x22err\x22></div>\x0a<div\x20id=\x22out\x22></div>\x0a<h2>Register\x20a\x20pre-existing\x20code</h2>\x0a<p>Legacy/offline-era\x20keys\x20must\x20be\x20imported\x20once\x20before\x20their\x20holders\x20can\x20activate\x20them.</p>\x0a<label>Code\x20to\x20import<input\x20id=\x22imp\x22\x20type=\x22text\x22\x20placeholder=\x221102-XXXX-XXXX-XXXX\x22></label>\x0a<label>Customer\x20id\x20(optional)<input\x20id=\x22impcid\x22\x20type=\x22text\x22></label>\x0a<button\x20id=\x22goimp\x22>Import\x20code</button>\x0a<h2>Licenses</h2>\x0a<button\x20id=\x22golist\x22>Refresh\x20list</button>\x0a<pre\x20id=\x22list\x22></pre>\x0a<h2>Usage\x20(latest\x20100)</h2>\x0a<button\x20id=\x22gouse\x22>Refresh\x20usage</button>\x0a<pre\x20id=\x22use\x22></pre>\x0a<h2>Revoke\x20/\x20unbind\x20by\x20id</h2>\x0a<label>License\x20id<input\x20id=\x22lid\x22\x20type=\x22text\x22></label>\x0a<button\x20id=\x22gorev\x22>Revoke</button>\x0a<button\x20id=\x22gounb\x22>Unbind\x20machine</button>\x0a<script>\x0aconst\x20auth\x20=\x20()\x20=>\x20({\x20\x22Content-Type\x22:\x20\x22application/json\x22,\x20\x22Authorization\x22:\x20\x22Bearer\x20\x22\x20+\x20document.getElementById(\x22token\x22).value\x20});\x0aconst\x20show\x20=\x20(el,\x20v)\x20=>\x20{\x20const\x20e\x20=\x20document.getElementById(el);\x20e.textContent\x20=\x20typeof\x20v\x20===\x20\x22string\x22\x20?\x20v\x20:\x20JSON.stringify(v,\x20null,\x202);\x20e.style.display\x20=\x20\x22block\x22;\x20};\x0adocument.getElementById(\x22go\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20err\x20=\x20document.getElementById(\x22err\x22),\x20out\x20=\x20document.getElementById(\x22out\x22);\x0a\x20\x20err.textContent\x20=\x20\x22\x22;\x20out.style.display\x20=\x20\x22none\x22;\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/mint\x22,\x20{\x20method:\x20\x22POST\x22,\x0a\x20\x20\x20\x20\x20\x20headers:\x20auth(),\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify({\x20plan:\x20document.getElementById(\x22plan\x22).value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20days:\x20Number(document.getElementById(\x22days\x22).value),\x0a\x20\x20\x20\x20\x20\x20\x20\x20id:\x20document.getElementById(\x22cid\x22).value\x20||\x20undefined\x20})\x20});\x0a\x20\x20\x20\x20const\x20j\x20=\x20await\x20r.json();\x0a\x20\x20\x20\x20if\x20(!r.ok)\x20throw\x20new\x20Error(j.error\x20||\x20(\x22HTTP\x20\x22\x20+\x20r.status));\x0a\x20\x20\x20\x20out.textContent\x20=\x20j.key;\x20out.style.display\x20=\x20\x22block\x22;\x0a\x20\x20}\x20catch\x20(e)\x20{\x20err.textContent\x20=\x20String((e\x20&&\x20e.message)\x20||\x20e);\x20}\x0a};\x0adocument.getElementById(\x22goimp\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20err\x20=\x20document.getElementById(\x22err\x22);\x0a\x20\x20err.textContent\x20=\x20\x22\x22;\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/import\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify({\x20key:\x20document.getElementById(\x22imp\x22).value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20customer:\x20document.getElementById(\x22impcid\x22).value\x20||\x20undefined\x20})\x20});\x0a\x20\x20\x20\x20const\x20j\x20=\x20await\x20r.json();\x0a\x20\x20\x20\x20if\x20(!r.ok)\x20throw\x20new\x20Error(j.error\x20||\x20(\x22HTTP\x20\x22\x20+\x20r.status));\x0a\x20\x20\x20\x20show(\x22out\x22,\x20\x22imported\x20id\x20\x22\x20+\x20j.id\x20+\x20\x22\x20(\x22\x20+\x20j.plan\x20+\x20\x22)\x22);\x0a\x20\x20}\x20catch\x20(e)\x20{\x20err.textContent\x20=\x20String((e\x20&&\x20e.message)\x20||\x20e);\x20}\x0a};\x0adocument.getElementById(\x22golist\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/licenses\x22,\x20{\x20headers:\x20auth()\x20});\x0a\x20\x20show(\x22list\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gouse\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/usage?tail=100\x22,\x20{\x20headers:\x20auth()\x20});\x0a\x20\x20show(\x22use\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gorev\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/revoke\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20body:\x20JSON.stringify({\x20id:\x20document.getElementById(\x22lid\x22).value\x20})\x20});\x0a\x20\x20show(\x22out\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gounb\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/unbind\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20body:\x20JSON.stringify({\x20id:\x20document.getElementById(\x22lid\x22).value\x20})\x20});\x0a\x20\x20show(\x22out\x22,\x20await\x20r.json());\x0a};\x0a</script>\x0a</body></html>','sessionFile','Trayambak\x20Agent\x20API','/issues/','tool','mintActivationKey','default','too\x20many\x20trial\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later','function','/auth/github/status','/api/sessions','License\x20generator\x20UI\x20(SKT\x20operators)','prompt','INSTALL_PS1','GitHub\x20request\x20in\x20','mint\x20failed:\x20','../../telemetry/src/index.js','readUsageTail','verifyWebhookSignature','527560QzMKOs','/admin/unbind','parseAutofixRepos','Read\x20an\x20issue\x20+\x20comments\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','permissions','Authorized','split','all','text','set','user','days','catch',',\x20triaged\x20','defaultAutofixLedgerPath','\x20replied\x0a','/install.ps1','writableEnded','/admin/licenses','checkPentestOnly','selectJobReply','logout','writeHead','lastSeenAt','stringify','text/html;\x20charset=utf-8','setHeader','GitHubOAuthStore','join','key','customer','pentest','x-real-ip','recordJob','rulesV2','type','error','/github/read','/admin/mint','listTranscripts','kind','not\x20found','test','/auth/github/start','parse','generated\x20bearer\x20token\x20(set\x20TRAYAMBAK_WEB_TOKEN\x20to\x20avoid\x20this):\x20','./github-oauth.js','</title>','method','close','cf-connecting-ip','file','createdAt',',\x20toolDiags:\x20','missing\x20machineId','/health','timeout','state','Begin\x20CLI\x20GitHub\x20login,\x20returns\x20browser\x20URL\x20(public,\x20rate-limited)','\x20messages:\x20','basic','POST','task','login','text/plain;\x20charset=utf-8','GitHub\x20unreachable\x20from\x20the\x20license\x20server','[github-app]\x20job\x20','floor','Self-service\x207-day\x20trial,\x201/machine\x20(public,\x20rate-limited)','https://github.com/login/oauth/access_token','getOwnPropertyNames','\x20started\x20at\x20','[github-autofix]\x20tick:\x20checked\x20','register','933705WTBcAX','\x20of\x20','localhost','trim',',\x20ran\x20','cwd','https://api.github.com','LicenseStore','missing\x20\x27prompt\x27','Agent','876390IcLtiv','job','loadConfig','<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem}</style></head>','writable','destroy','507552zpSimV','filter','message_end'];_0xc751=function(){return _0x2d5d79;};return _0xc751();}
@@ -1 +1 @@
1
- 'use strict';function _0x3ab2(_0x5e505c,_0xe5db22){_0x5e505c=_0x5e505c-0x197;var _0x51ad12=_0x51ad();var _0x3ab2f4=_0x51ad12[_0x5e505c];return _0x3ab2f4;}var _0x27b243=_0x3ab2;(function(_0x20eb2d,_0x3b063a){var _0x44818a=_0x3ab2,_0x5aa4a6=_0x20eb2d();while(!![]){try{var _0x4fa1c1=-parseInt(_0x44818a(0x197))/0x1+parseInt(_0x44818a(0x19e))/0x2*(parseInt(_0x44818a(0x1a2))/0x3)+-parseInt(_0x44818a(0x19d))/0x4*(parseInt(_0x44818a(0x19f))/0x5)+parseInt(_0x44818a(0x19a))/0x6+parseInt(_0x44818a(0x19c))/0x7+parseInt(_0x44818a(0x1a0))/0x8+-parseInt(_0x44818a(0x1a1))/0x9;if(_0x4fa1c1===_0x3b063a)break;else _0x5aa4a6['push'](_0x5aa4a6['shift']());}catch(_0x571a6f){_0x5aa4a6['push'](_0x5aa4a6['shift']());}}}(_0x51ad,0xb09d0));function _0x51ad(){var _0xf7aa28=['INSTALL_PS1','8034971tcVtZz','8RTEekF','16710fswFRw','387355bQDOFy','8451464QWMYkg','18594891prdEAF','327kOztrc','981408yglOGc','#\x20Trayambak\x20one-line\x20installer.\x0a#\x20Run:\x20irm\x20https://skt.sktailabs.in/install.ps1\x20|\x20iex\x0a$ErrorActionPreference\x20=\x20\x22Stop\x22\x0a\x0afunction\x20Fail($msg)\x20{\x20Write-Error\x20$msg;\x20exit\x201\x20}\x0a\x0atry\x20{\x20$nodeV\x20=\x20node\x20--version\x20}\x20catch\x20{\x20Fail\x20\x22node\x20not\x20found\x20—\x20install\x20Node\x2020+\x20from\x20https://nodejs.org,\x20then\x20re-run\x20this\x20command.\x22\x20}\x0aWrite-Output\x20\x22node\x20$nodeV\x20found.\x22\x0a\x0atry\x20{\x20npm\x20install\x20-g\x20@skt-ai-labs/trayambak-cli\x20}\x20catch\x20{\x20Fail\x20\x22npm\x20install\x20failed:\x20$($_.Exception.Message)\x22\x20}\x0a\x0atry\x20{\x20$ver\x20=\x20trayambak\x20--version\x20}\x20catch\x20{\x20Fail\x20\x22install\x20finished\x20but\x20\x27trayambak\x27\x20is\x20not\x20on\x20PATH\x20—\x20restart\x20the\x20terminal\x20and\x20try\x20again.\x22\x20}\x0aWrite-Output\x20\x22trayambak\x20$ver\x20installed.\x22\x0aWrite-Output\x20\x22\x22\x0aWrite-Output\x20\x22Next\x20steps:\x22\x0aWrite-Output\x20\x22\x20\x201.\x20trayambak\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20open\x20the\x20TUI\x22\x0aWrite-Output\x20\x22\x20\x202.\x20/provider\x20add\x20\x20\x20\x20\x20\x20\x20\x20#\x20connect\x20your\x20model\x20backend\x20+\x20API\x20key\x22\x0aWrite-Output\x20\x22\x20\x203.\x20/github\x20login\x20\x20\x20\x20\x20\x20\x20\x20#\x20authorize\x20GitHub\x20(browser\x20opens)\x22\x0aWrite-Output\x20\x22\x20\x204.\x20/devmode\x20trial\x20\x20\x20\x20\x20\x20\x20#\x20or\x20paste\x20a\x20license:\x20/devmode\x20on\x201102-XXXX-XXXX-XXXX\x22\x0a','defineProperty','4865256dwVKjA'];_0x51ad=function(){return _0xf7aa28;};return _0x51ad();}Object[_0x27b243(0x199)](exports,'__esModule',{'value':!![]}),exports[_0x27b243(0x19b)]=void 0x0,exports['INSTALL_PS1']=_0x27b243(0x198);
1
+ 'use strict';var _0x4a5b7f=_0x12a8;(function(_0x3f9b4a,_0xff4baa){var _0x3e8e00=_0x12a8,_0x275241=_0x3f9b4a();while(!![]){try{var _0x4c39d1=-parseInt(_0x3e8e00(0x193))/0x1*(-parseInt(_0x3e8e00(0x19d))/0x2)+parseInt(_0x3e8e00(0x19e))/0x3+-parseInt(_0x3e8e00(0x197))/0x4+-parseInt(_0x3e8e00(0x196))/0x5*(-parseInt(_0x3e8e00(0x199))/0x6)+parseInt(_0x3e8e00(0x19a))/0x7+parseInt(_0x3e8e00(0x1a0))/0x8*(parseInt(_0x3e8e00(0x198))/0x9)+parseInt(_0x3e8e00(0x19f))/0xa*(-parseInt(_0x3e8e00(0x195))/0xb);if(_0x4c39d1===_0xff4baa)break;else _0x275241['push'](_0x275241['shift']());}catch(_0x1efc62){_0x275241['push'](_0x275241['shift']());}}}(_0x459a,0x71349));function _0x12a8(_0x3493db,_0xe54c9){_0x3493db=_0x3493db-0x193;var _0x459a30=_0x459a();var _0x12a802=_0x459a30[_0x3493db];return _0x12a802;}Object[_0x4a5b7f(0x19c)](exports,'__esModule',{'value':!![]}),exports['INSTALL_PS1']=void 0x0,exports[_0x4a5b7f(0x19b)]=_0x4a5b7f(0x194);function _0x459a(){var _0x5f0a9e=['189MnraTH','2763258OShFRO','2265648PZowfn','INSTALL_PS1','defineProperty','48828mcRByv','880053nbSSIc','1468070bwjjir','209544XykvTE','23mTrRfb','#\x20Trayambak\x20one-line\x20installer.\x0a#\x20Run:\x20irm\x20https://skt.sktailabs.in/install.ps1\x20|\x20iex\x0a$ErrorActionPreference\x20=\x20\x22Stop\x22\x0a\x0afunction\x20Fail($msg)\x20{\x20Write-Error\x20$msg;\x20exit\x201\x20}\x0a\x0atry\x20{\x20$nodeV\x20=\x20node\x20--version\x20}\x20catch\x20{\x20Fail\x20\x22node\x20not\x20found\x20—\x20install\x20Node\x2020+\x20from\x20https://nodejs.org,\x20then\x20re-run\x20this\x20command.\x22\x20}\x0aWrite-Output\x20\x22node\x20$nodeV\x20found.\x22\x0a\x0atry\x20{\x20npm\x20install\x20-g\x20@skt-ai-labs/trayambak-cli\x20}\x20catch\x20{\x20Fail\x20\x22npm\x20install\x20failed:\x20$($_.Exception.Message)\x22\x20}\x0a\x0atry\x20{\x20$ver\x20=\x20trayambak\x20--version\x20}\x20catch\x20{\x20Fail\x20\x22install\x20finished\x20but\x20\x27trayambak\x27\x20is\x20not\x20on\x20PATH\x20—\x20restart\x20the\x20terminal\x20and\x20try\x20again.\x22\x20}\x0aWrite-Output\x20\x22trayambak\x20$ver\x20installed.\x22\x0aWrite-Output\x20\x22\x22\x0aWrite-Output\x20\x22Next\x20steps:\x22\x0aWrite-Output\x20\x22\x20\x201.\x20trayambak\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#\x20open\x20the\x20TUI\x22\x0aWrite-Output\x20\x22\x20\x202.\x20/provider\x20add\x20\x20\x20\x20\x20\x20\x20\x20#\x20connect\x20your\x20model\x20backend\x20+\x20API\x20key\x22\x0aWrite-Output\x20\x22\x20\x203.\x20/github\x20login\x20\x20\x20\x20\x20\x20\x20\x20#\x20authorize\x20GitHub\x20(browser\x20opens)\x22\x0aWrite-Output\x20\x22\x20\x204.\x20/devmode\x20trial\x20\x20\x20\x20\x20\x20\x20#\x20or\x20paste\x20a\x20license:\x20/devmode\x20on\x201102-XXXX-XXXX-XXXX\x22\x0a','121vYivXT','5bUClpq','442268LOiemS'];_0x459a=function(){return _0x5f0a9e;};return _0x459a();}
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['LicenseStore']=void 0x0,exports['defaultLicenseStorePaths']=defaultLicenseStorePaths,exports['checkLicense']=checkLicense,exports['checkPentest']=checkPentest;const node_fs_1=require('node:fs'),node_path_1=require('node:path'),license_js_1=require('../../../apps/runtime/src/license.js');function defaultLicenseStorePaths(){const _0x32fdab=process.env.LICENSE_STORE_PATH??'./data/licenses.json',_0x3db6a2=process.env.LICENSE_USAGE_PATH??'./data/license-usage.jsonl';return{'file':_0x32fdab,'usageFile':_0x3db6a2};}function atomicWriteJson(_0x191ffc,_0x3e7c65){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(_0x191ffc),{'recursive':!![]});const _0x15c33c=_0x191ffc+'.tmp-'+process['pid'];(0x0,node_fs_1['writeFileSync'])(_0x15c33c,JSON['stringify'](_0x3e7c65,null,0x2),{'encoding':'utf8','mode':0x180});try{(0x0,node_fs_1['chmodSync'])(_0x15c33c,0x180);}catch{}(0x0,node_fs_1['renameSync'])(_0x15c33c,_0x191ffc);}function loadStoreFile(_0xbb316f){if(!(0x0,node_fs_1['existsSync'])(_0xbb316f))return{};try{const _0x105a07=JSON['parse']((0x0,node_fs_1['readFileSync'])(_0xbb316f,'utf8'));if(_0x105a07&&typeof _0x105a07==='object'&&_0x105a07['keys']&&typeof _0x105a07['keys']==='object')return _0x105a07['keys'];}catch{}return{};}const PENTEST_PLANS=new Set(['pentest','pro','enterprise']);function checkLicense(_0x3abd13,_0x2ece53,_0x39ead9,_0x29e26f){const _0x2fbc4c=typeof _0x2ece53==='string'?_0x2ece53['trim']():'';if(!_0x2fbc4c)return{'valid':![],'reason':'no\x20license\x20key\x20supplied'};const _0x3488f8=(0x0,license_js_1['normalizeLicenseKey'])(_0x2fbc4c);if(!_0x3488f8)return{'valid':![],'reason':'malformed\x20key\x20(want\x2016\x20letters,\x201102-XXXX-XXXX-XXXX)'};const _0x2c84e8=(0x0,license_js_1['verifyLicenseKey'])(_0x2fbc4c,_0x29e26f);if(_0x2c84e8['valid']!==!![])return{'valid':![],'reason':_0x2c84e8['valid']===![]?_0x2c84e8['reason']:'invalid\x20key'};const _0x498cbe=_0x3abd13[_0x2c84e8['claims']['id']];if(!_0x498cbe||(0x0,license_js_1['normalizeLicenseKey'])(_0x498cbe['key'])!==_0x3488f8)return{'valid':![],'reason':'unknown\x20license\x20(not\x20issued\x20by\x20SKT\x20—\x20register\x20it\x20via\x20/admin\x20first)'};if(_0x2c84e8['claims']['exp']*0x3e8<=Date['now']())return{'valid':![],'reason':'expired\x20on\x20'+new Date(_0x2c84e8['claims']['exp']*0x3e8)['toISOString']()['slice'](0x0,0xa)};if(_0x498cbe['revoked'])return{'valid':![],'reason':'license\x20revoked\x20—\x20contact\x20SKT\x20AI\x20LABS','record':_0x498cbe};const _0x37776d=typeof _0x39ead9==='string'?_0x39ead9['trim']():'';if(!_0x37776d)return{'valid':![],'reason':'no\x20machine\x20identity\x20supplied','record':_0x498cbe};if(!_0x498cbe['boundMachineId'])return{'valid':![],'reason':'not\x20activated\x20on\x20this\x20machine\x20—\x20run\x20/devmode\x20on\x20<key>\x20once\x20to\x20bind\x20it','record':_0x498cbe};if(_0x498cbe['boundMachineId']!==_0x37776d)return{'valid':![],'reason':'bound\x20to\x20another\x20machine\x20(1-machine\x20license)\x20—\x20ask\x20SKT\x20to\x20unbind\x20it','record':_0x498cbe};return{'valid':!![],'plan':_0x2c84e8['claims']['plan'],'exp':_0x2c84e8['claims']['exp'],'record':_0x498cbe};}function checkPentest(_0x3b9906,_0x3379f2,_0x1b734e,_0x36e004){const _0x2fff92=checkLicense(_0x3b9906,_0x3379f2,_0x1b734e,_0x36e004);if(_0x2fff92['valid']!==!![])return _0x2fff92;if(!_0x2fff92['plan']||!PENTEST_PLANS['has'](_0x2fff92['plan']))return{'valid':![],'plan':_0x2fff92['plan'],'exp':_0x2fff92['exp'],'reason':'plan\x20\x27'+(_0x2fff92['plan']??'unknown')+'\x27\x20does\x20not\x20cover\x20pentest\x20tools','record':_0x2fff92['record']};return _0x2fff92;}class LicenseStore{['keys'];['file'];['usageFile'];['secret'];constructor(_0x790ad7,_0x62c36b){const _0xc53db0=defaultLicenseStorePaths();this['file']=_0x790ad7?.['file']??_0xc53db0['file'],this['usageFile']=_0x790ad7?.['usageFile']??_0xc53db0['usageFile'],this['secret']=_0x62c36b,this['keys']=loadStoreFile(this['file']);}['save'](){atomicWriteJson(this['file'],{'version':0x1,'keys':this['keys']});}['register'](_0x1055c2,_0x54c426,_0x698ad7){const _0x27ee0f=(0x0,license_js_1['verifyLicenseKey'])(_0x1055c2,this['secret']);if(_0x27ee0f['valid']!==!![])throw new Error('cannot\x20register:\x20'+(_0x27ee0f['valid']===![]?_0x27ee0f['reason']:'invalid\x20key'));const _0xa724df=this['keys'][_0x27ee0f['claims']['id']],_0xec45b3=(0x0,license_js_1['normalizeLicenseKey'])(_0x1055c2);if(_0xa724df&&(0x0,license_js_1['normalizeLicenseKey'])(_0xa724df['key'])===_0xec45b3)return _0xa724df;const _0x565032={'id':_0x27ee0f['claims']['id'],'key':_0xec45b3['slice'](0x0,0x4)+'-'+_0xec45b3['slice'](0x4,0x8)+'-'+_0xec45b3['slice'](0x8,0xc)+'-'+_0xec45b3['slice'](0xc,0x10),'plan':_0x27ee0f['claims']['plan'],'exp':_0x27ee0f['claims']['exp'],'customer':typeof _0x54c426==='string'&&_0x54c426['trim']()?_0x54c426['trim']()['slice'](0x0,0x78):undefined,'revoked':![],'trial':_0x698ad7?.['trial']===!![]?!![]:undefined,'createdAt':new Date()['toISOString']()};return this['keys'][_0x565032['id']]=_0x565032,this['save'](),_0x565032;}['check'](_0x5bafb2,_0x51c1b6){return checkLicense(this['keys'],_0x5bafb2,_0x51c1b6,this['secret']);}checkPentestOnly(_0x339fbc,_0xfaf471){return checkPentest(this['keys'],_0x339fbc,_0xfaf471,this['secret']);}['activate'](_0x241c04,_0x2770ae){const _0x18d3cc=typeof _0x2770ae==='string'?_0x2770ae['trim']():'';if(!_0x18d3cc)return{'ok':![],'reason':'no\x20machine\x20identity\x20supplied'};const _0x249b3d=this['check'](_0x241c04,_0x18d3cc);if(_0x249b3d['valid']===!![])return{'ok':!![],'plan':_0x249b3d['plan'],'exp':_0x249b3d['exp'],'record':_0x249b3d['record']};if(_0x249b3d['record']&&!_0x249b3d['record']['revoked']&&!_0x249b3d['record']['boundMachineId']&&_0x249b3d['reason']?.['startsWith']('not\x20activated'))return _0x249b3d['record']['boundMachineId']=_0x18d3cc,_0x249b3d['record']['lastSeenAt']=new Date()['toISOString'](),this['save'](),{'ok':!![],'plan':_0x249b3d['record']['plan'],'exp':_0x249b3d['record']['exp'],'record':_0x249b3d['record']};return{'ok':![],'plan':_0x249b3d['plan'],'exp':_0x249b3d['exp'],'reason':_0x249b3d['reason'],'record':_0x249b3d['record']};}['revoke'](_0x94416){const _0x291069=this['find'](_0x94416);if(!_0x291069)return![];return _0x291069['revoked']=!![],this['save'](),!![];}['unbind'](_0x23badf){const _0x58a5e8=this['find'](_0x23badf);if(!_0x58a5e8)return![];return delete _0x58a5e8['boundMachineId'],this['save'](),!![];}['touch'](_0x42177d){const _0x1c93ca=this['keys'][_0x42177d];if(!_0x1c93ca)return;_0x1c93ca['lastSeenAt']=new Date()['toISOString'](),this['save']();}['activeTrialForMachine'](_0x35c497){const _0x778d88=Date['now']();return Object['values'](this['keys'])['find'](_0x3e308d=>_0x3e308d['trial']===!![]&&_0x3e308d['revoked']!==!![]&&_0x3e308d['exp']*0x3e8>_0x778d88&&_0x3e308d['boundMachineId']===_0x35c497);}['find'](_0x10218c){const _0x387656=_0x10218c['trim']();if(this['keys'][_0x387656])return this['keys'][_0x387656];const _0x589499=(0x0,license_js_1['normalizeLicenseKey'])(_0x387656);if(!_0x589499)return undefined;return Object['values'](this['keys'])['find'](_0x10584d=>(0x0,license_js_1['normalizeLicenseKey'])(_0x10584d['key'])===_0x589499);}['list'](){return Object['values'](this['keys'])['sort']((_0x4da0e4,_0x4e531f)=>_0x4da0e4['createdAt']<_0x4e531f['createdAt']?0x1:-0x1);}get['size'](){return Object['keys'](this['keys'])['length'];}['appendUsage'](_0x414e51){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(this['usageFile']),{'recursive':!![]});const _0x39766b=JSON['stringify']({..._0x414e51,'ts':new Date()['toISOString']()})+'\x0a';try{(0x0,node_fs_1['appendFileSync'])(this['usageFile'],_0x39766b,'utf8');const _0x5b0997=(0x0,node_fs_1['statSync'])(this['usageFile'])['size'];if(_0x5b0997>0x200000){const _0x4e807a=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x2b5417=>_0x2b5417['length']>0x0);(0x0,node_fs_1['writeFileSync'])(this['usageFile'],_0x4e807a['slice'](-0x1388)['join']('\x0a')+'\x0a','utf8');}}catch{}}['readUsageTail'](_0x4909b2){const _0x561480=Math['min'](Math['max'](Math['floor'](_0x4909b2),0x1),0x1f4);try{if(!(0x0,node_fs_1['existsSync'])(this['usageFile']))return[];const _0x442923=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x3d5403=>_0x3d5403['length']>0x0),_0x245172=[];for(const _0x22f55e of _0x442923['slice'](-_0x561480)){try{_0x245172['push'](JSON['parse'](_0x22f55e));}catch{}}return _0x245172;}catch{return[];}}}exports['LicenseStore']=LicenseStore;
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['LicenseStore']=void 0x0,exports['defaultLicenseStorePaths']=defaultLicenseStorePaths,exports['checkLicense']=checkLicense,exports['checkPentest']=checkPentest;const node_fs_1=require('node:fs'),node_path_1=require('node:path'),license_js_1=require('../../../apps/runtime/src/license.js');function defaultLicenseStorePaths(){const _0x1c2887=process.env.LICENSE_STORE_PATH??'./data/licenses.json',_0x33c124=process.env.LICENSE_USAGE_PATH??'./data/license-usage.jsonl';return{'file':_0x1c2887,'usageFile':_0x33c124};}function atomicWriteJson(_0x149053,_0xb2be99){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(_0x149053),{'recursive':!![]});const _0x2f67c7=_0x149053+'.tmp-'+process['pid'];(0x0,node_fs_1['writeFileSync'])(_0x2f67c7,JSON['stringify'](_0xb2be99,null,0x2),{'encoding':'utf8','mode':0x180});try{(0x0,node_fs_1['chmodSync'])(_0x2f67c7,0x180);}catch{}(0x0,node_fs_1['renameSync'])(_0x2f67c7,_0x149053);}function loadStoreFile(_0x1e763d){if(!(0x0,node_fs_1['existsSync'])(_0x1e763d))return{};try{const _0x36db36=JSON['parse']((0x0,node_fs_1['readFileSync'])(_0x1e763d,'utf8'));if(_0x36db36&&typeof _0x36db36==='object'&&_0x36db36['keys']&&typeof _0x36db36['keys']==='object')return _0x36db36['keys'];}catch{}return{};}const PENTEST_PLANS=new Set(['pentest','pro','enterprise']);function checkLicense(_0x492e75,_0x4cd348,_0x3389b0,_0x2ca37f){const _0x540d43=typeof _0x4cd348==='string'?_0x4cd348['trim']():'';if(!_0x540d43)return{'valid':![],'reason':'no\x20license\x20key\x20supplied'};const _0x5b7fee=(0x0,license_js_1['normalizeLicenseKey'])(_0x540d43);if(!_0x5b7fee)return{'valid':![],'reason':'malformed\x20key\x20(want\x2016\x20letters,\x201102-XXXX-XXXX-XXXX)'};const _0x5d033d=(0x0,license_js_1['verifyLicenseKey'])(_0x540d43,_0x2ca37f);if(_0x5d033d['valid']!==!![])return{'valid':![],'reason':_0x5d033d['valid']===![]?_0x5d033d['reason']:'invalid\x20key'};const _0x51d7a9=_0x492e75[_0x5d033d['claims']['id']];if(!_0x51d7a9||(0x0,license_js_1['normalizeLicenseKey'])(_0x51d7a9['key'])!==_0x5b7fee)return{'valid':![],'reason':'unknown\x20license\x20(not\x20issued\x20by\x20SKT\x20—\x20register\x20it\x20via\x20/admin\x20first)'};if(_0x5d033d['claims']['exp']*0x3e8<=Date['now']())return{'valid':![],'reason':'expired\x20on\x20'+new Date(_0x5d033d['claims']['exp']*0x3e8)['toISOString']()['slice'](0x0,0xa)};if(_0x51d7a9['revoked'])return{'valid':![],'reason':'license\x20revoked\x20—\x20contact\x20SKT\x20AI\x20LABS','record':_0x51d7a9};const _0xfbecb2=typeof _0x3389b0==='string'?_0x3389b0['trim']():'';if(!_0xfbecb2)return{'valid':![],'reason':'no\x20machine\x20identity\x20supplied','record':_0x51d7a9};if(!_0x51d7a9['boundMachineId'])return{'valid':![],'reason':'not\x20activated\x20on\x20this\x20machine\x20—\x20run\x20/devmode\x20on\x20<key>\x20once\x20to\x20bind\x20it','record':_0x51d7a9};if(_0x51d7a9['boundMachineId']!==_0xfbecb2)return{'valid':![],'reason':'bound\x20to\x20another\x20machine\x20(1-machine\x20license)\x20—\x20ask\x20SKT\x20to\x20unbind\x20it','record':_0x51d7a9};return{'valid':!![],'plan':_0x5d033d['claims']['plan'],'exp':_0x5d033d['claims']['exp'],'record':_0x51d7a9};}function checkPentest(_0x1862f3,_0x61b0c2,_0x6a0f97,_0x402d4b){const _0x32ba0b=checkLicense(_0x1862f3,_0x61b0c2,_0x6a0f97,_0x402d4b);if(_0x32ba0b['valid']!==!![])return _0x32ba0b;if(!_0x32ba0b['plan']||!PENTEST_PLANS['has'](_0x32ba0b['plan']))return{'valid':![],'plan':_0x32ba0b['plan'],'exp':_0x32ba0b['exp'],'reason':'plan\x20\x27'+(_0x32ba0b['plan']??'unknown')+'\x27\x20does\x20not\x20cover\x20pentest\x20tools','record':_0x32ba0b['record']};return _0x32ba0b;}class LicenseStore{['keys'];['file'];['usageFile'];['secret'];constructor(_0x1e0506,_0x468708){const _0x44f8e7=defaultLicenseStorePaths();this['file']=_0x1e0506?.['file']??_0x44f8e7['file'],this['usageFile']=_0x1e0506?.['usageFile']??_0x44f8e7['usageFile'],this['secret']=_0x468708,this['keys']=loadStoreFile(this['file']);}['save'](){atomicWriteJson(this['file'],{'version':0x1,'keys':this['keys']});}['register'](_0x547de5,_0x30ec19,_0x49a20){const _0x1b6128=(0x0,license_js_1['verifyLicenseKey'])(_0x547de5,this['secret']);if(_0x1b6128['valid']!==!![])throw new Error('cannot\x20register:\x20'+(_0x1b6128['valid']===![]?_0x1b6128['reason']:'invalid\x20key'));const _0x36a6d8=this['keys'][_0x1b6128['claims']['id']],_0x305bc6=(0x0,license_js_1['normalizeLicenseKey'])(_0x547de5);if(_0x36a6d8&&(0x0,license_js_1['normalizeLicenseKey'])(_0x36a6d8['key'])===_0x305bc6)return _0x36a6d8;const _0x20e07f={'id':_0x1b6128['claims']['id'],'key':_0x305bc6['slice'](0x0,0x4)+'-'+_0x305bc6['slice'](0x4,0x8)+'-'+_0x305bc6['slice'](0x8,0xc)+'-'+_0x305bc6['slice'](0xc,0x10),'plan':_0x1b6128['claims']['plan'],'exp':_0x1b6128['claims']['exp'],'customer':typeof _0x30ec19==='string'&&_0x30ec19['trim']()?_0x30ec19['trim']()['slice'](0x0,0x78):undefined,'revoked':![],'trial':_0x49a20?.['trial']===!![]?!![]:undefined,'createdAt':new Date()['toISOString']()};return this['keys'][_0x20e07f['id']]=_0x20e07f,this['save'](),_0x20e07f;}['check'](_0x57eaf1,_0x121bdf){return checkLicense(this['keys'],_0x57eaf1,_0x121bdf,this['secret']);}checkPentestOnly(_0x20bfef,_0x210cd9){return checkPentest(this['keys'],_0x20bfef,_0x210cd9,this['secret']);}['activate'](_0x5a86bb,_0x58c3b9){const _0x1e27e9=typeof _0x58c3b9==='string'?_0x58c3b9['trim']():'';if(!_0x1e27e9)return{'ok':![],'reason':'no\x20machine\x20identity\x20supplied'};const _0x2e322c=this['check'](_0x5a86bb,_0x1e27e9);if(_0x2e322c['valid']===!![])return{'ok':!![],'plan':_0x2e322c['plan'],'exp':_0x2e322c['exp'],'record':_0x2e322c['record']};if(_0x2e322c['record']&&!_0x2e322c['record']['revoked']&&!_0x2e322c['record']['boundMachineId']&&_0x2e322c['reason']?.['startsWith']('not\x20activated'))return _0x2e322c['record']['boundMachineId']=_0x1e27e9,_0x2e322c['record']['lastSeenAt']=new Date()['toISOString'](),this['save'](),{'ok':!![],'plan':_0x2e322c['record']['plan'],'exp':_0x2e322c['record']['exp'],'record':_0x2e322c['record']};return{'ok':![],'plan':_0x2e322c['plan'],'exp':_0x2e322c['exp'],'reason':_0x2e322c['reason'],'record':_0x2e322c['record']};}['revoke'](_0x1aee5e){const _0x21661e=this['find'](_0x1aee5e);if(!_0x21661e)return![];return _0x21661e['revoked']=!![],this['save'](),!![];}['unbind'](_0x5eb17a){const _0x160ef9=this['find'](_0x5eb17a);if(!_0x160ef9)return![];return delete _0x160ef9['boundMachineId'],this['save'](),!![];}['touch'](_0x47b873){const _0x769bbd=this['keys'][_0x47b873];if(!_0x769bbd)return;_0x769bbd['lastSeenAt']=new Date()['toISOString'](),this['save']();}['activeTrialForMachine'](_0xd5cf3b){const _0x17c8ad=Date['now']();return Object['values'](this['keys'])['find'](_0x5dba77=>_0x5dba77['trial']===!![]&&_0x5dba77['revoked']!==!![]&&_0x5dba77['exp']*0x3e8>_0x17c8ad&&_0x5dba77['boundMachineId']===_0xd5cf3b);}['find'](_0x455b78){const _0x1f9612=_0x455b78['trim']();if(this['keys'][_0x1f9612])return this['keys'][_0x1f9612];const _0x1952ea=(0x0,license_js_1['normalizeLicenseKey'])(_0x1f9612);if(!_0x1952ea)return undefined;return Object['values'](this['keys'])['find'](_0x500347=>(0x0,license_js_1['normalizeLicenseKey'])(_0x500347['key'])===_0x1952ea);}['list'](){return Object['values'](this['keys'])['sort']((_0x158c5f,_0x49ec10)=>_0x158c5f['createdAt']<_0x49ec10['createdAt']?0x1:-0x1);}get['size'](){return Object['keys'](this['keys'])['length'];}['appendUsage'](_0x52725e){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(this['usageFile']),{'recursive':!![]});const _0x538a22=JSON['stringify']({..._0x52725e,'ts':new Date()['toISOString']()})+'\x0a';try{(0x0,node_fs_1['appendFileSync'])(this['usageFile'],_0x538a22,'utf8');const _0x532a52=(0x0,node_fs_1['statSync'])(this['usageFile'])['size'];if(_0x532a52>0x200000){const _0x5abae5=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x3922d5=>_0x3922d5['length']>0x0);(0x0,node_fs_1['writeFileSync'])(this['usageFile'],_0x5abae5['slice'](-0x1388)['join']('\x0a')+'\x0a','utf8');}}catch{}}['readUsageTail'](_0x16776a){const _0x361f1c=Math['min'](Math['max'](Math['floor'](_0x16776a),0x1),0x1f4);try{if(!(0x0,node_fs_1['existsSync'])(this['usageFile']))return[];const _0xe976b3=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x3bc3a3=>_0x3bc3a3['length']>0x0),_0x3ec982=[];for(const _0x593888 of _0xe976b3['slice'](-_0x361f1c)){try{_0x3ec982['push'](JSON['parse'](_0x593888));}catch{}}return _0x3ec982;}catch{return[];}}}exports['LicenseStore']=LicenseStore;
@@ -1 +1 @@
1
- 'use strict';var _0x2dc7d4=_0x4427;(function(_0x5f51c6,_0x44c7cb){var _0x13d2d9=_0x4427,_0x4ebb93=_0x5f51c6();while(!![]){try{var _0x1ac8f8=-parseInt(_0x13d2d9(0x10b))/0x1*(parseInt(_0x13d2d9(0xfb))/0x2)+-parseInt(_0x13d2d9(0x102))/0x3+parseInt(_0x13d2d9(0x11d))/0x4*(parseInt(_0x13d2d9(0x11f))/0x5)+-parseInt(_0x13d2d9(0x119))/0x6*(parseInt(_0x13d2d9(0xff))/0x7)+-parseInt(_0x13d2d9(0xfe))/0x8*(-parseInt(_0x13d2d9(0xf9))/0x9)+parseInt(_0x13d2d9(0x113))/0xa+-parseInt(_0x13d2d9(0x110))/0xb;if(_0x1ac8f8===_0x44c7cb)break;else _0x4ebb93['push'](_0x4ebb93['shift']());}catch(_0x1d6705){_0x4ebb93['push'](_0x4ebb93['shift']());}}}(_0xb124,0xdc774));var __createBinding=this&&this[_0x2dc7d4(0x118)]||(Object['create']?function(_0x2244d7,_0x5cc68c,_0x53601a,_0x2f468e){var _0xea174d=_0x2dc7d4;if(_0x2f468e===undefined)_0x2f468e=_0x53601a;var _0x10ce4e=Object['getOwnPropertyDescriptor'](_0x5cc68c,_0x53601a);(!_0x10ce4e||('get'in _0x10ce4e?!_0x5cc68c[_0xea174d(0x103)]:_0x10ce4e[_0xea174d(0x10f)]||_0x10ce4e['configurable']))&&(_0x10ce4e={'enumerable':!![],'get':function(){return _0x5cc68c[_0x53601a];}}),Object[_0xea174d(0x125)](_0x2244d7,_0x2f468e,_0x10ce4e);}:function(_0x1934c6,_0x349a6d,_0x2e4357,_0x1ce027){if(_0x1ce027===undefined)_0x1ce027=_0x2e4357;_0x1934c6[_0x1ce027]=_0x349a6d[_0x2e4357];}),__setModuleDefault=this&&this[_0x2dc7d4(0x10a)]||(Object[_0x2dc7d4(0x11a)]?function(_0x220352,_0x5a1497){var _0x326b96=_0x2dc7d4;Object['defineProperty'](_0x220352,_0x326b96(0x11b),{'enumerable':!![],'value':_0x5a1497});}:function(_0x4e1ced,_0x2a453f){_0x4e1ced['default']=_0x2a453f;}),__importStar=this&&this[_0x2dc7d4(0x104)]||(function(){var _0x14e32f=function(_0x339c5a){var _0x3196e1=_0x4427;return _0x14e32f=Object[_0x3196e1(0x114)]||function(_0x1f5f94){var _0x43ad60=_0x3196e1,_0x5a220c=[];for(var _0xe86660 in _0x1f5f94)if(Object[_0x43ad60(0x121)][_0x43ad60(0x107)][_0x43ad60(0x123)](_0x1f5f94,_0xe86660))_0x5a220c[_0x5a220c[_0x43ad60(0x109)]]=_0xe86660;return _0x5a220c;},_0x14e32f(_0x339c5a);};return function(_0x587019){var _0x1b031b=_0x4427;if(_0x587019&&_0x587019[_0x1b031b(0x103)])return _0x587019;var _0x1a7b76={};if(_0x587019!=null){for(var _0x54366f=_0x14e32f(_0x587019),_0xbada0c=0x0;_0xbada0c<_0x54366f[_0x1b031b(0x109)];_0xbada0c++)if(_0x54366f[_0xbada0c]!==_0x1b031b(0x11b))__createBinding(_0x1a7b76,_0x587019,_0x54366f[_0xbada0c]);}return __setModuleDefault(_0x1a7b76,_0x587019),_0x1a7b76;};}()),__exportStar=this&&this[_0x2dc7d4(0x10d)]||function(_0x1977e2,_0x172240){var _0x44eee5=_0x2dc7d4;for(var _0x5b51f8 in _0x1977e2)if(_0x5b51f8!==_0x44eee5(0x11b)&&!Object[_0x44eee5(0x121)]['hasOwnProperty'][_0x44eee5(0x123)](_0x172240,_0x5b51f8))__createBinding(_0x172240,_0x1977e2,_0x5b51f8);};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['FileBackend']=exports['InMemoryBackend']=void 0x0,exports['createSessionBackend']=createSessionBackend;const fs=__importStar(require('fs')),path=__importStar(require(_0x2dc7d4(0x111)));function _0x4427(_0x30966f,_0x39093f){_0x30966f=_0x30966f-0xf9;var _0xb124b0=_0xb124();var _0x442702=_0xb124b0[_0x30966f];return _0x442702;}class InMemoryBackend{['id']=_0x2dc7d4(0x117);['messages']=[];['load'](){var _0x5b72a0=_0x2dc7d4;return this[_0x5b72a0(0x10c)];}['save'](_0x3ae7f7){var _0x48d12b=_0x2dc7d4;this[_0x48d12b(0x10c)]=_0x3ae7f7[_0x48d12b(0x106)]();}['clear'](){var _0x14ac8d=_0x2dc7d4;this[_0x14ac8d(0x10c)]=[];}}function _0xb124(){var _0x37d808=['slice','hasOwnProperty','load','length','__setModuleDefault','1ZTCBco','messages','__exportStar','InMemoryBackend','writable','13476045DXpWHj','path','stringify','16729540yLDdse','getOwnPropertyNames','save','./transcript.js','memory','__createBinding','594hgqUju','create','default','clear','6641468LdGmmM','dirname','5xVFsYu','file:','prototype','.tmp-','call','file','defineProperty','chmodSync','9oNtFXr','unlinkSync','479070KyMvIP','pid','mkdirSync','3475720uksMgN','4683gYNLbE','existsSync','readFileSync','4001691LCPDDB','__esModule','__importStar','utf8'];_0xb124=function(){return _0x37d808;};return _0xb124();}exports[_0x2dc7d4(0x10e)]=InMemoryBackend;class FileBackend{['file'];['id'];constructor(_0x3a4237){var _0x3c5747=_0x2dc7d4;this['file']=_0x3a4237,this['id']=_0x3c5747(0x120)+_0x3a4237;}[_0x2dc7d4(0x108)](){var _0x2076f4=_0x2dc7d4;if(!fs[_0x2076f4(0x100)](this[_0x2076f4(0x124)]))return[];try{return JSON['parse'](fs[_0x2076f4(0x101)](this[_0x2076f4(0x124)],_0x2076f4(0x105)))[_0x2076f4(0x10c)]??[];}catch{return[];}}[_0x2dc7d4(0x115)](_0xf464d1){var _0x21cfd8=_0x2dc7d4;fs[_0x21cfd8(0xfd)](path[_0x21cfd8(0x11e)](this['file']),{'recursive':!![]});const _0xac20c9=this[_0x21cfd8(0x124)]+_0x21cfd8(0x122)+process[_0x21cfd8(0xfc)];fs['writeFileSync'](_0xac20c9,JSON[_0x21cfd8(0x112)]({'messages':_0xf464d1},null,0x2),{'encoding':_0x21cfd8(0x105),'mode':0x180});try{fs[_0x21cfd8(0x126)](_0xac20c9,0x180);}catch{}fs['renameSync'](_0xac20c9,this['file']);try{fs[_0x21cfd8(0x126)](this[_0x21cfd8(0x124)],0x180);}catch{}}[_0x2dc7d4(0x11c)](){var _0x52aec9=_0x2dc7d4;if(fs[_0x52aec9(0x100)](this[_0x52aec9(0x124)]))fs[_0x52aec9(0xfa)](this[_0x52aec9(0x124)]);}}exports['FileBackend']=FileBackend;function createSessionBackend(_0x25faef){return _0x25faef?new FileBackend(_0x25faef):new InMemoryBackend();}__exportStar(require(_0x2dc7d4(0x116)),exports);
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x14d28c,_0x4cc2b5,_0x2c4d09,_0x18c456){if(_0x18c456===undefined)_0x18c456=_0x2c4d09;var _0x21b054=Object['getOwnPropertyDescriptor'](_0x4cc2b5,_0x2c4d09);(!_0x21b054||('get'in _0x21b054?!_0x4cc2b5['__esModule']:_0x21b054['writable']||_0x21b054['configurable']))&&(_0x21b054={'enumerable':!![],'get':function(){return _0x4cc2b5[_0x2c4d09];}}),Object['defineProperty'](_0x14d28c,_0x18c456,_0x21b054);}:function(_0x259a17,_0x52c935,_0x172b07,_0x49699a){if(_0x49699a===undefined)_0x49699a=_0x172b07;_0x259a17[_0x49699a]=_0x52c935[_0x172b07];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x741f7c,_0x12ff89){Object['defineProperty'](_0x741f7c,'default',{'enumerable':!![],'value':_0x12ff89});}:function(_0xb6cbe,_0x2654ee){_0xb6cbe['default']=_0x2654ee;}),__importStar=this&&this['__importStar']||(function(){var _0x310c63=function(_0xe03dad){return _0x310c63=Object['getOwnPropertyNames']||function(_0x3450cb){var _0x5bea50=[];for(var _0x1cbe66 in _0x3450cb)if(Object['prototype']['hasOwnProperty']['call'](_0x3450cb,_0x1cbe66))_0x5bea50[_0x5bea50['length']]=_0x1cbe66;return _0x5bea50;},_0x310c63(_0xe03dad);};return function(_0x3acea6){if(_0x3acea6&&_0x3acea6['__esModule'])return _0x3acea6;var _0x3a6b0a={};if(_0x3acea6!=null){for(var _0x16d86f=_0x310c63(_0x3acea6),_0x3f66a6=0x0;_0x3f66a6<_0x16d86f['length'];_0x3f66a6++)if(_0x16d86f[_0x3f66a6]!=='default')__createBinding(_0x3a6b0a,_0x3acea6,_0x16d86f[_0x3f66a6]);}return __setModuleDefault(_0x3a6b0a,_0x3acea6),_0x3a6b0a;};}()),__exportStar=this&&this['__exportStar']||function(_0x3d816a,_0x47e15d){for(var _0x1580c6 in _0x3d816a)if(_0x1580c6!=='default'&&!Object['prototype']['hasOwnProperty']['call'](_0x47e15d,_0x1580c6))__createBinding(_0x47e15d,_0x3d816a,_0x1580c6);};Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['FileBackend']=exports['InMemoryBackend']=void 0x0,exports['createSessionBackend']=createSessionBackend;const fs=__importStar(require('fs')),path=__importStar(require('path'));class InMemoryBackend{['id']='memory';['messages']=[];['load'](){return this['messages'];}['save'](_0x4b2234){this['messages']=_0x4b2234['slice']();}['clear'](){this['messages']=[];}}exports['InMemoryBackend']=InMemoryBackend;class FileBackend{['file'];['id'];constructor(_0x2e20a6){this['file']=_0x2e20a6,this['id']='file:'+_0x2e20a6;}['load'](){if(!fs['existsSync'](this['file']))return[];try{return JSON['parse'](fs['readFileSync'](this['file'],'utf8'))['messages']??[];}catch{return[];}}['save'](_0x3dfd11){fs['mkdirSync'](path['dirname'](this['file']),{'recursive':!![]});const _0xcdbd95=this['file']+'.tmp-'+process['pid'];fs['writeFileSync'](_0xcdbd95,JSON['stringify']({'messages':_0x3dfd11},null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0xcdbd95,0x180);}catch{}fs['renameSync'](_0xcdbd95,this['file']);try{fs['chmodSync'](this['file'],0x180);}catch{}}['clear'](){if(fs['existsSync'](this['file']))fs['unlinkSync'](this['file']);}}exports['FileBackend']=FileBackend;function createSessionBackend(_0x587f82){return _0x587f82?new FileBackend(_0x587f82):new InMemoryBackend();}__exportStar(require('./transcript.js'),exports);
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x440029,_0x5302b8,_0xdfec6c,_0x551bdc){if(_0x551bdc===undefined)_0x551bdc=_0xdfec6c;var _0x999213=Object['getOwnPropertyDescriptor'](_0x5302b8,_0xdfec6c);(!_0x999213||('get'in _0x999213?!_0x5302b8['__esModule']:_0x999213['writable']||_0x999213['configurable']))&&(_0x999213={'enumerable':!![],'get':function(){return _0x5302b8[_0xdfec6c];}}),Object['defineProperty'](_0x440029,_0x551bdc,_0x999213);}:function(_0x3d0f9f,_0x1c6fe7,_0x6cc65a,_0x54305f){if(_0x54305f===undefined)_0x54305f=_0x6cc65a;_0x3d0f9f[_0x54305f]=_0x1c6fe7[_0x6cc65a];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x48697b,_0xb8cd32){Object['defineProperty'](_0x48697b,'default',{'enumerable':!![],'value':_0xb8cd32});}:function(_0xd9afd,_0x25366f){_0xd9afd['default']=_0x25366f;}),__importStar=this&&this['__importStar']||(function(){var _0x2f0ad8=function(_0x260f7f){return _0x2f0ad8=Object['getOwnPropertyNames']||function(_0x3b203b){var _0x53aad9=[];for(var _0x28cc69 in _0x3b203b)if(Object['prototype']['hasOwnProperty']['call'](_0x3b203b,_0x28cc69))_0x53aad9[_0x53aad9['length']]=_0x28cc69;return _0x53aad9;},_0x2f0ad8(_0x260f7f);};return function(_0x34b48e){if(_0x34b48e&&_0x34b48e['__esModule'])return _0x34b48e;var _0x230588={};if(_0x34b48e!=null){for(var _0x4a5a0e=_0x2f0ad8(_0x34b48e),_0x1ce06a=0x0;_0x1ce06a<_0x4a5a0e['length'];_0x1ce06a++)if(_0x4a5a0e[_0x1ce06a]!=='default')__createBinding(_0x230588,_0x34b48e,_0x4a5a0e[_0x1ce06a]);}return __setModuleDefault(_0x230588,_0x34b48e),_0x230588;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['sessionsRoot']=sessionsRoot,exports['newTranscriptId']=newTranscriptId,exports['sessionDir']=sessionDir,exports['contextFile']=contextFile,exports['wireFile']=wireFile,exports['stateFile']=stateFile,exports['createTranscript']=createTranscript,exports['appendContext']=appendContext,exports['appendWire']=appendWire,exports['readState']=readState,exports['writeState']=writeState,exports['isEmptyTranscript']=isEmptyTranscript,exports['listTranscripts']=listTranscripts,exports['migrateLegacyFile']=migrateLegacyFile;const crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path'));function sessionsRoot(){if(process.env.TRAYAMBAK_SESSIONS_DIR)return process.env.TRAYAMBAK_SESSIONS_DIR;return path['join'](os['homedir'](),'.trayambak','sessions');}function newTranscriptId(){try{return crypto['randomUUID']();}catch{return Date['now']()+'-'+crypto['randomBytes'](0x8)['toString']('hex');}}function atomicWrite0600(_0x37a600,_0x5d18f1){fs['mkdirSync'](path['dirname'](_0x37a600),{'recursive':!![]});const _0x471a69=_0x37a600+'.tmp-'+process['pid'];fs['writeFileSync'](_0x471a69,_0x5d18f1,{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x471a69,0x180);}catch{}fs['renameSync'](_0x471a69,_0x37a600);try{fs['chmodSync'](_0x37a600,0x180);}catch{}}function sessionDir(_0x261822){return path['join'](sessionsRoot(),_0x261822);}function contextFile(_0x1cb78f){return path['join'](sessionDir(_0x1cb78f),'context.jsonl');}function wireFile(_0x4cc07a){return path['join'](sessionDir(_0x4cc07a),'wire.jsonl');}function stateFile(_0xb1c473){return path['join'](sessionDir(_0xb1c473),'state.json');}function createTranscript(_0x54c911,_0x2346e0){const _0xdc554d=_0x2346e0??newTranscriptId(),_0x57d259=sessionDir(_0xdc554d);fs['mkdirSync'](_0x57d259,{'recursive':!![]});if(!fs['existsSync'](contextFile(_0xdc554d)))atomicWrite0600(contextFile(_0xdc554d),'');if(!fs['existsSync'](wireFile(_0xdc554d)))atomicWrite0600(wireFile(_0xdc554d),'');return writeState(_0xdc554d,{'title':'Untitled','updatedAt':Date['now'](),'workDir':_0x54c911}),{'id':_0xdc554d};}function appendContext(_0x169968,_0x3af0e8){try{fs['mkdirSync'](sessionDir(_0x169968),{'recursive':!![]}),fs['appendFileSync'](contextFile(_0x169968),JSON['stringify'](_0x3af0e8)+'\x0a','utf8'),touchState(_0x169968);}catch{}}function appendWire(_0x373861,_0x15e380){try{fs['mkdirSync'](sessionDir(_0x373861),{'recursive':!![]}),fs['appendFileSync'](wireFile(_0x373861),JSON['stringify']({'t':Date['now'](),'event':_0x15e380})+'\x0a','utf8');}catch{}}function readState(_0x278dd4){try{const _0x36f927=JSON['parse'](fs['readFileSync'](stateFile(_0x278dd4),'utf8'));if(!_0x36f927||typeof _0x36f927!=='object')return null;return _0x36f927;}catch{return null;}}function writeState(_0x485b8f,_0x26df7b){try{atomicWrite0600(stateFile(_0x485b8f),JSON['stringify'](_0x26df7b,null,0x2));}catch{}}function touchState(_0x21b499){try{const _0x2ea44b=readState(_0x21b499);if(!_0x2ea44b)return;_0x2ea44b['updatedAt']=Date['now']();const _0x1781a9=readFirstUserText(_0x21b499);_0x1781a9&&(!_0x2ea44b['title']||_0x2ea44b['title']==='Untitled')&&!_0x2ea44b['customTitle']&&(_0x2ea44b['title']=_0x1781a9['slice'](0x0,0x32)),writeState(_0x21b499,_0x2ea44b);}catch{}}function readFirstUserText(_0x286e23){try{const _0x5b708a=wireFile(_0x286e23);if(!fs['existsSync'](_0x5b708a))return null;const _0x7e9e27=fs['readFileSync'](_0x5b708a,'utf8')['split']('\x0a')['slice'](0x0,0x32);for(const _0x4ce0b5 of _0x7e9e27){if(!_0x4ce0b5['trim']())continue;try{const _0x12dd74=JSON['parse'](_0x4ce0b5),_0x1cc6ed=_0x12dd74?.['event']?.['user_input'];if(typeof _0x1cc6ed==='string'&&_0x1cc6ed['trim']())return _0x1cc6ed['trim']();}catch{continue;}}}catch{}return null;}function isEmptyTranscript(_0x25aa09){try{const _0xbfb5f4=readState(_0x25aa09);if(_0xbfb5f4?.['customTitle'])return![];for(const _0x830dc9 of[contextFile(_0x25aa09),wireFile(_0x25aa09)]){if(!fs['existsSync'](_0x830dc9))continue;const _0x5aa5ec=fs['readFileSync'](_0x830dc9,'utf8')['trim']();if(_0x5aa5ec['length']>0x0)return![];}return!![];}catch{return![];}}function listTranscripts(){const _0x58e41a=sessionsRoot();try{if(!fs['existsSync'](_0x58e41a))return[];return fs['readdirSync'](_0x58e41a,{'withFileTypes':!![]})['filter'](_0x1a3f68=>_0x1a3f68['isDirectory']())['map'](_0x35ecf5=>({'id':_0x35ecf5['name'],'state':readState(_0x35ecf5['name'])}))['filter'](_0x418a5f=>!isEmptyTranscript(_0x418a5f['id']))['sort']((_0x106d79,_0xb2d726)=>(_0xb2d726['state']?.['updatedAt']??0x0)-(_0x106d79['state']?.['updatedAt']??0x0));}catch{return[];}}function migrateLegacyFile(_0x1f1ce2){try{const _0x1b1c61=path['join'](sessionsRoot(),_0x1f1ce2+'.jsonl'),_0xfd9bc0=contextFile(_0x1f1ce2);fs['existsSync'](_0x1b1c61)&&!fs['existsSync'](_0xfd9bc0)&&(fs['mkdirSync'](sessionDir(_0x1f1ce2),{'recursive':!![]}),fs['renameSync'](_0x1b1c61,_0xfd9bc0));}catch{}}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3d6665,_0x575d3a,_0x203bb2,_0x5e3c5b){if(_0x5e3c5b===undefined)_0x5e3c5b=_0x203bb2;var _0x5c595f=Object['getOwnPropertyDescriptor'](_0x575d3a,_0x203bb2);(!_0x5c595f||('get'in _0x5c595f?!_0x575d3a['__esModule']:_0x5c595f['writable']||_0x5c595f['configurable']))&&(_0x5c595f={'enumerable':!![],'get':function(){return _0x575d3a[_0x203bb2];}}),Object['defineProperty'](_0x3d6665,_0x5e3c5b,_0x5c595f);}:function(_0x5c02ad,_0x582467,_0x5a4597,_0x3344c1){if(_0x3344c1===undefined)_0x3344c1=_0x5a4597;_0x5c02ad[_0x3344c1]=_0x582467[_0x5a4597];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x5881d2,_0x550c28){Object['defineProperty'](_0x5881d2,'default',{'enumerable':!![],'value':_0x550c28});}:function(_0x23a5b4,_0x314b2b){_0x23a5b4['default']=_0x314b2b;}),__importStar=this&&this['__importStar']||(function(){var _0x2e09ad=function(_0xe081a1){return _0x2e09ad=Object['getOwnPropertyNames']||function(_0x3e5123){var _0x3240ca=[];for(var _0x1955b2 in _0x3e5123)if(Object['prototype']['hasOwnProperty']['call'](_0x3e5123,_0x1955b2))_0x3240ca[_0x3240ca['length']]=_0x1955b2;return _0x3240ca;},_0x2e09ad(_0xe081a1);};return function(_0x4a52c6){if(_0x4a52c6&&_0x4a52c6['__esModule'])return _0x4a52c6;var _0x5a70a8={};if(_0x4a52c6!=null){for(var _0xac3200=_0x2e09ad(_0x4a52c6),_0x41844c=0x0;_0x41844c<_0xac3200['length'];_0x41844c++)if(_0xac3200[_0x41844c]!=='default')__createBinding(_0x5a70a8,_0x4a52c6,_0xac3200[_0x41844c]);}return __setModuleDefault(_0x5a70a8,_0x4a52c6),_0x5a70a8;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['sessionsRoot']=sessionsRoot,exports['newTranscriptId']=newTranscriptId,exports['sessionDir']=sessionDir,exports['contextFile']=contextFile,exports['wireFile']=wireFile,exports['stateFile']=stateFile,exports['createTranscript']=createTranscript,exports['appendContext']=appendContext,exports['appendWire']=appendWire,exports['readState']=readState,exports['writeState']=writeState,exports['isEmptyTranscript']=isEmptyTranscript,exports['listTranscripts']=listTranscripts,exports['migrateLegacyFile']=migrateLegacyFile;const crypto=__importStar(require('crypto')),fs=__importStar(require('fs')),os=__importStar(require('os')),path=__importStar(require('path'));function sessionsRoot(){if(process.env.TRAYAMBAK_SESSIONS_DIR)return process.env.TRAYAMBAK_SESSIONS_DIR;return path['join'](os['homedir'](),'.trayambak','sessions');}function newTranscriptId(){try{return crypto['randomUUID']();}catch{return Date['now']()+'-'+crypto['randomBytes'](0x8)['toString']('hex');}}function atomicWrite0600(_0x481ff6,_0x3e2520){fs['mkdirSync'](path['dirname'](_0x481ff6),{'recursive':!![]});const _0x5903a8=_0x481ff6+'.tmp-'+process['pid'];fs['writeFileSync'](_0x5903a8,_0x3e2520,{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x5903a8,0x180);}catch{}fs['renameSync'](_0x5903a8,_0x481ff6);try{fs['chmodSync'](_0x481ff6,0x180);}catch{}}function sessionDir(_0x3d9986){return path['join'](sessionsRoot(),_0x3d9986);}function contextFile(_0x7c0e8f){return path['join'](sessionDir(_0x7c0e8f),'context.jsonl');}function wireFile(_0x1b085f){return path['join'](sessionDir(_0x1b085f),'wire.jsonl');}function stateFile(_0xaa8011){return path['join'](sessionDir(_0xaa8011),'state.json');}function createTranscript(_0x2e1e3c,_0x279c77){const _0xed8e90=_0x279c77??newTranscriptId(),_0x3ce43d=sessionDir(_0xed8e90);fs['mkdirSync'](_0x3ce43d,{'recursive':!![]});if(!fs['existsSync'](contextFile(_0xed8e90)))atomicWrite0600(contextFile(_0xed8e90),'');if(!fs['existsSync'](wireFile(_0xed8e90)))atomicWrite0600(wireFile(_0xed8e90),'');return writeState(_0xed8e90,{'title':'Untitled','updatedAt':Date['now'](),'workDir':_0x2e1e3c}),{'id':_0xed8e90};}function appendContext(_0x560900,_0x157721){try{fs['mkdirSync'](sessionDir(_0x560900),{'recursive':!![]}),fs['appendFileSync'](contextFile(_0x560900),JSON['stringify'](_0x157721)+'\x0a','utf8'),touchState(_0x560900);}catch{}}function appendWire(_0x31d29a,_0x44547f){try{fs['mkdirSync'](sessionDir(_0x31d29a),{'recursive':!![]}),fs['appendFileSync'](wireFile(_0x31d29a),JSON['stringify']({'t':Date['now'](),'event':_0x44547f})+'\x0a','utf8');}catch{}}function readState(_0x2937bd){try{const _0x18df25=JSON['parse'](fs['readFileSync'](stateFile(_0x2937bd),'utf8'));if(!_0x18df25||typeof _0x18df25!=='object')return null;return _0x18df25;}catch{return null;}}function writeState(_0x3bfd8b,_0x2cd3e3){try{atomicWrite0600(stateFile(_0x3bfd8b),JSON['stringify'](_0x2cd3e3,null,0x2));}catch{}}function touchState(_0x244476){try{const _0x20434a=readState(_0x244476);if(!_0x20434a)return;_0x20434a['updatedAt']=Date['now']();const _0x485d34=readFirstUserText(_0x244476);_0x485d34&&(!_0x20434a['title']||_0x20434a['title']==='Untitled')&&!_0x20434a['customTitle']&&(_0x20434a['title']=_0x485d34['slice'](0x0,0x32)),writeState(_0x244476,_0x20434a);}catch{}}function readFirstUserText(_0xe14b28){try{const _0xbcf529=wireFile(_0xe14b28);if(!fs['existsSync'](_0xbcf529))return null;const _0x52ca60=fs['readFileSync'](_0xbcf529,'utf8')['split']('\x0a')['slice'](0x0,0x32);for(const _0x43a37b of _0x52ca60){if(!_0x43a37b['trim']())continue;try{const _0x2e8176=JSON['parse'](_0x43a37b),_0xe874b2=_0x2e8176?.['event']?.['user_input'];if(typeof _0xe874b2==='string'&&_0xe874b2['trim']())return _0xe874b2['trim']();}catch{continue;}}}catch{}return null;}function isEmptyTranscript(_0x4fb2ba){try{const _0x2d63fb=readState(_0x4fb2ba);if(_0x2d63fb?.['customTitle'])return![];for(const _0x1a1c7e of[contextFile(_0x4fb2ba),wireFile(_0x4fb2ba)]){if(!fs['existsSync'](_0x1a1c7e))continue;const _0x207d12=fs['readFileSync'](_0x1a1c7e,'utf8')['trim']();if(_0x207d12['length']>0x0)return![];}return!![];}catch{return![];}}function listTranscripts(){const _0x124e3f=sessionsRoot();try{if(!fs['existsSync'](_0x124e3f))return[];return fs['readdirSync'](_0x124e3f,{'withFileTypes':!![]})['filter'](_0xf18f60=>_0xf18f60['isDirectory']())['map'](_0xf78725=>({'id':_0xf78725['name'],'state':readState(_0xf78725['name'])}))['filter'](_0x1470c1=>!isEmptyTranscript(_0x1470c1['id']))['sort']((_0x4a85e3,_0x2e81b4)=>(_0x2e81b4['state']?.['updatedAt']??0x0)-(_0x4a85e3['state']?.['updatedAt']??0x0));}catch{return[];}}function migrateLegacyFile(_0x1e7295){try{const _0x312639=path['join'](sessionsRoot(),_0x1e7295+'.jsonl'),_0x24b79a=contextFile(_0x1e7295);fs['existsSync'](_0x312639)&&!fs['existsSync'](_0x24b79a)&&(fs['mkdirSync'](sessionDir(_0x1e7295),{'recursive':!![]}),fs['renameSync'](_0x312639,_0x24b79a));}catch{}}
@@ -1 +1 @@
1
- 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NullTelemetry']=exports['ConsoleTelemetry']=void 0x0,exports['createTelemetry']=createTelemetry,exports['isTelemetryDisabled']=isTelemetryDisabled;const secrets_js_1=require('../../core/src/secrets.js'),DEBUG_DETAIL_CAP=0x7d0;function redactedDetail(_0x5c9beb){const _0x285827={..._0x5c9beb};delete _0x285827['type'];try{const _0x3d37da=JSON['stringify']((0x0,secrets_js_1['redactPayload'])(_0x285827));if(_0x3d37da===undefined)return'';return'\x20'+(_0x3d37da['length']>DEBUG_DETAIL_CAP?_0x3d37da['slice'](0x0,DEBUG_DETAIL_CAP)+'…':_0x3d37da);}catch{return'\x20[unserializable]';}}class ConsoleTelemetry{['id']='console';['count']=0x0;['capture'](_0x249a97){this['count']++;if(isTelemetryDisabled())return;process.env.TRAYAMBAK_TELEMETRY==='debug'&&process['stderr']['write']('[telemetry]\x20'+_0x249a97['type']+redactedDetail(_0x249a97)+'\x0a');}['flush'](){process['stderr']['write']('[telemetry]\x20captured\x20'+this['count']+'\x20events\x0a');}}exports['ConsoleTelemetry']=ConsoleTelemetry;class NullTelemetry{['id']='null';['capture'](_0x33a121){}['flush'](){}}exports['NullTelemetry']=NullTelemetry;function createTelemetry(_0x2fdfef=![]){if(isTelemetryDisabled())return new NullTelemetry();return _0x2fdfef?new ConsoleTelemetry():new NullTelemetry();}function isTelemetryDisabled(){const _0x5379c0=(process.env.TRAYAMBAK_TELEMETRY??'')['trim']()['toLowerCase']();return _0x5379c0==='0'||_0x5379c0==='false'||_0x5379c0==='off'||_0x5379c0==='no';}
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NullTelemetry']=exports['ConsoleTelemetry']=void 0x0,exports['createTelemetry']=createTelemetry,exports['isTelemetryDisabled']=isTelemetryDisabled;const secrets_js_1=require('../../core/src/secrets.js'),DEBUG_DETAIL_CAP=0x7d0;function redactedDetail(_0x3dfe9e){const _0x252de8={..._0x3dfe9e};delete _0x252de8['type'];try{const _0x2b0762=JSON['stringify']((0x0,secrets_js_1['redactPayload'])(_0x252de8));if(_0x2b0762===undefined)return'';return'\x20'+(_0x2b0762['length']>DEBUG_DETAIL_CAP?_0x2b0762['slice'](0x0,DEBUG_DETAIL_CAP)+'…':_0x2b0762);}catch{return'\x20[unserializable]';}}class ConsoleTelemetry{['id']='console';['count']=0x0;['capture'](_0x30c27b){this['count']++;if(isTelemetryDisabled())return;process.env.TRAYAMBAK_TELEMETRY==='debug'&&process['stderr']['write']('[telemetry]\x20'+_0x30c27b['type']+redactedDetail(_0x30c27b)+'\x0a');}['flush'](){process['stderr']['write']('[telemetry]\x20captured\x20'+this['count']+'\x20events\x0a');}}exports['ConsoleTelemetry']=ConsoleTelemetry;class NullTelemetry{['id']='null';['capture'](_0x267b7c){}['flush'](){}}exports['NullTelemetry']=NullTelemetry;function createTelemetry(_0x16c11b=![]){if(isTelemetryDisabled())return new NullTelemetry();return _0x16c11b?new ConsoleTelemetry():new NullTelemetry();}function isTelemetryDisabled(){const _0x3ea878=(process.env.TRAYAMBAK_TELEMETRY??'')['trim']()['toLowerCase']();return _0x3ea878==='0'||_0x3ea878==='false'||_0x3ea878==='off'||_0x3ea878==='no';}
@@ -1 +1 @@
1
- 'use strict';function _0x2e64(_0x1a42eb,_0x38fe81){_0x1a42eb=_0x1a42eb-0x128;const _0xf96e5e=_0xf96e();let _0x2e64a0=_0xf96e5e[_0x1a42eb];return _0x2e64a0;}const _0x3a56ab=_0x2e64;(function(_0x54f585,_0x3e732c){const _0x4438ac=_0x2e64,_0x2276bc=_0x54f585();while(!![]){try{const _0x9cf89e=-parseInt(_0x4438ac(0x173))/0x1+parseInt(_0x4438ac(0x159))/0x2+-parseInt(_0x4438ac(0x157))/0x3+parseInt(_0x4438ac(0x132))/0x4+-parseInt(_0x4438ac(0x15f))/0x5+-parseInt(_0x4438ac(0x174))/0x6+parseInt(_0x4438ac(0x16b))/0x7;if(_0x9cf89e===_0x3e732c)break;else _0x2276bc['push'](_0x2276bc['shift']());}catch(_0x53c72b){_0x2276bc['push'](_0x2276bc['shift']());}}}(_0xf96e,0x6a72c));Object[_0x3a56ab(0x14d)](exports,'__esModule',{'value':!![]}),exports[_0x3a56ab(0x160)]=void 0x0;const chat_widget_1=require('../chatwidget/chat-widget'),composer_1=require(_0x3a56ab(0x145));function _0xf96e(){const _0x33ae04=['Exit','body','AgentMessageCompletedEvent','error','delta','pendingToolCalls','Render','backspace','Trayambak\x20agent\x20started...','1590276xeOzjw',';1H','addMessage','toolName','tui','width','slice','handleSlashCommand','appendChar','handleEvent','setExitInfo','join','length','getSize','title','startsWith','ToolCallCompleted','user','getComposer','../bottom_pane/composer','getMessages','appendToLastMessage','\x1b[0m','handleUserInput','totalTokens','NotificationEvent','Init','defineProperty','getTotalTokens','cwd','chatWidget','ToolCallStarted','height','showNotification','modifiers','getInput','content','1359708BSVzvO','\x1b[36m','1448068iBoySM','handleKey','split','notification','toolCallCompleted','exitInfo','2509920aDrsld','AppState','ChatWidget','toolCallStarted','\x1b[33m','render','exit','composer','estimateTokens','text','layout','setRect','5899894fUfKDw','Composer','ResizeEvent','Shutdown','KeyEvent','getExitInfo','reset','write','461638NaLleQ','669450lNqPBv','normal','ThreadStartedEvent','\x1b[31m'];_0xf96e=function(){return _0x33ae04;};return _0xf96e();}class AppState{['tui'];[_0x3a56ab(0x14f)];[_0x3a56ab(0x150)];[_0x3a56ab(0x166)];[_0x3a56ab(0x15e)]=null;[_0x3a56ab(0x12e)]=new Map();[_0x3a56ab(0x14a)]=0x0;constructor(_0x24db9d){const _0x41169e=_0x3a56ab;this[_0x41169e(0x136)]=_0x24db9d[_0x41169e(0x136)],this[_0x41169e(0x14f)]=_0x24db9d['cwd']??process[_0x41169e(0x14f)]();const _0x39f2ed=this[_0x41169e(0x136)][_0x41169e(0x13f)](),_0x5039a6={'x':0x0,'y':0x0,'width':_0x39f2ed[_0x41169e(0x137)],'height':_0x39f2ed[_0x41169e(0x152)]-0x3},_0x2eb362={'x':0x0,'y':_0x39f2ed[_0x41169e(0x152)]-0x3,'width':_0x39f2ed[_0x41169e(0x137)],'height':0x3};this[_0x41169e(0x150)]=new chat_widget_1[(_0x41169e(0x161))]({'tui':this['tui'],'rect':_0x5039a6}),this[_0x41169e(0x166)]=new composer_1[(_0x41169e(0x16c))]({'tui':this[_0x41169e(0x136)],'rect':_0x2eb362});}['getChatWidget'](){return this['chatWidget'];}[_0x3a56ab(0x144)](){const _0x91ebe8=_0x3a56ab;return this[_0x91ebe8(0x166)];}[_0x3a56ab(0x13b)](_0x1611d1){const _0x3c689b=_0x3a56ab;switch(_0x1611d1['type']){case _0x3c689b(0x14c):this[_0x3c689b(0x164)]();break;case _0x3c689b(0x12f):this[_0x3c689b(0x164)]();break;case _0x3c689b(0x16d):this[_0x3c689b(0x169)](_0x1611d1[_0x3c689b(0x137)],_0x1611d1[_0x3c689b(0x152)]),this[_0x3c689b(0x164)]();break;case _0x3c689b(0x16f):this[_0x3c689b(0x15a)](_0x1611d1['key'],_0x1611d1['code'],_0x1611d1[_0x3c689b(0x154)]);break;case'UserInputEvent':this[_0x3c689b(0x149)](_0x1611d1[_0x3c689b(0x168)]);break;case _0x3c689b(0x176):this[_0x3c689b(0x150)][_0x3c689b(0x134)]({'role':'assistant','content':_0x3c689b(0x131)}),this[_0x3c689b(0x164)]();break;case'AgentMessageDeltaEvent':this[_0x3c689b(0x150)][_0x3c689b(0x147)](_0x1611d1[_0x3c689b(0x12d)]),this[_0x3c689b(0x164)]();break;case _0x3c689b(0x12b):this['totalTokens']+=this[_0x3c689b(0x167)](),this['render']();break;case _0x3c689b(0x151):this['chatWidget'][_0x3c689b(0x162)](_0x1611d1[_0x3c689b(0x135)],_0x1611d1['args']),this[_0x3c689b(0x164)]();break;case _0x3c689b(0x142):this[_0x3c689b(0x150)][_0x3c689b(0x15d)](_0x1611d1['toolName'],_0x1611d1['result'],_0x1611d1[_0x3c689b(0x12c)]),this['render']();break;case _0x3c689b(0x14b):this[_0x3c689b(0x153)](_0x1611d1[_0x3c689b(0x15c)]);break;case _0x3c689b(0x129):this[_0x3c689b(0x15e)]={'exitReason':{'kind':_0x1611d1['mode'],'message':undefined},'tokenUsage':{'totalTokens':this['totalTokens']}},this[_0x3c689b(0x136)][_0x3c689b(0x165)]();break;case _0x3c689b(0x16e):this[_0x3c689b(0x136)][_0x3c689b(0x165)]();break;default:break;}}[_0x3a56ab(0x15a)](_0x4568ee,_0xcb44b7,_0x3e516b){const _0x5cdcef=_0x3a56ab;if(_0x4568ee==='q'||_0x4568ee==='\x03')this[_0x5cdcef(0x13b)]({'type':_0x5cdcef(0x129),'mode':'user_requested'});else{if(_0x4568ee==='\x0d'||_0x4568ee==='\x0a'){const _0x243e68=this[_0x5cdcef(0x166)][_0x5cdcef(0x155)]();_0x243e68&&(this['handleEvent']({'type':'UserInputEvent','text':_0x243e68}),this[_0x5cdcef(0x166)][_0x5cdcef(0x171)]());}else{if(_0x4568ee==='\x7f'||_0x4568ee==='\x08')this['composer'][_0x5cdcef(0x130)](),this[_0x5cdcef(0x164)]();else _0x4568ee[_0x5cdcef(0x13e)]===0x1&&_0x4568ee>='\x20'&&_0x4568ee<='~'&&this[_0x5cdcef(0x166)][_0x5cdcef(0x13a)](_0x4568ee);}}}['handleUserInput'](_0x259ce9){const _0x40ea7a=_0x3a56ab;_0x259ce9[_0x40ea7a(0x141)]('/')?this['handleSlashCommand'](_0x259ce9):(this[_0x40ea7a(0x150)][_0x40ea7a(0x134)]({'role':_0x40ea7a(0x143),'content':_0x259ce9}),this[_0x40ea7a(0x164)]());}[_0x3a56ab(0x139)](_0x243bda){const _0x5d1400=_0x3a56ab,_0x3dd713=_0x243bda[_0x5d1400(0x138)](0x1)[_0x5d1400(0x15b)]('\x20'),_0x580c8e=_0x3dd713[0x0],_0x359ab2=_0x3dd713['slice'](0x1)[_0x5d1400(0x13d)]('\x20');this['handleEvent']({'type':'SlashCommandEvent','command':_0x580c8e,'args':_0x359ab2});}['showNotification'](_0x43c7a5){const _0x290a45=_0x3a56ab,_0x493c40={'info':_0x290a45(0x158),'warning':_0x290a45(0x163),'error':_0x290a45(0x128)},_0x382ca6=_0x493c40[_0x43c7a5['level']]??_0x290a45(0x148),{width:_0x1557f8}=this[_0x290a45(0x136)][_0x290a45(0x13f)](),_0x2f3888='\x20'['repeat'](_0x1557f8);this[_0x290a45(0x136)]['write']('\x1b['+_0x1557f8+_0x290a45(0x133)+_0x382ca6+_0x43c7a5[_0x290a45(0x140)]+':\x20'+_0x43c7a5[_0x290a45(0x12a)]+'\x1b[0m'),this[_0x290a45(0x136)][_0x290a45(0x172)]('\x1b['+_0x1557f8+_0x290a45(0x133)+_0x2f3888);}[_0x3a56ab(0x169)](_0xeeac1b,_0x5b82ff){const _0x112621=_0x3a56ab,_0xc606ac={'x':0x0,'y':0x0,'width':_0xeeac1b,'height':_0x5b82ff-0x3},_0x5b3dcd={'x':0x0,'y':_0x5b82ff-0x3,'width':_0xeeac1b,'height':0x3};this[_0x112621(0x150)]['setRect'](_0xc606ac),this['composer'][_0x112621(0x16a)](_0x5b3dcd);}[_0x3a56ab(0x164)](){const _0x1f1402=_0x3a56ab;this[_0x1f1402(0x136)]['clear'](),this[_0x1f1402(0x150)]['render'](),this[_0x1f1402(0x166)][_0x1f1402(0x164)]();}[_0x3a56ab(0x167)](){const _0x3edaaf=_0x3a56ab,_0x5b86af=this[_0x3edaaf(0x150)][_0x3edaaf(0x146)]();let _0x3a0480=0x0;for(const _0x22a4ad of _0x5b86af){_0x3a0480+=Math['ceil'](_0x22a4ad[_0x3edaaf(0x156)]['length']/0x4);}return _0x3a0480;}[_0x3a56ab(0x170)](){const _0x38b489=_0x3a56ab;return this[_0x38b489(0x15e)];}[_0x3a56ab(0x14e)](){return this['totalTokens'];}['getCwd'](){const _0x2d502a=_0x3a56ab;return this[_0x2d502a(0x14f)];}[_0x3a56ab(0x13c)](_0x592e88){const _0x33ebc2=_0x3a56ab;this[_0x33ebc2(0x15e)]=_0x592e88;}[_0x3a56ab(0x165)](_0x36e93f=_0x3a56ab(0x175)){const _0x81a9e0=_0x3a56ab;this['exitInfo']={'exitReason':{'kind':_0x36e93f},'tokenUsage':{'totalTokens':this[_0x81a9e0(0x14a)]}},this[_0x81a9e0(0x136)][_0x81a9e0(0x165)]();}}exports['AppState']=AppState;
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['AppState']=void 0x0;const chat_widget_1=require('../chatwidget/chat-widget'),composer_1=require('../bottom_pane/composer');class AppState{['tui'];['cwd'];['chatWidget'];['composer'];['exitInfo']=null;['pendingToolCalls']=new Map();['totalTokens']=0x0;constructor(_0x1f86ae){this['tui']=_0x1f86ae['tui'],this['cwd']=_0x1f86ae['cwd']??process['cwd']();const _0x519de1=this['tui']['getSize'](),_0x79565={'x':0x0,'y':0x0,'width':_0x519de1['width'],'height':_0x519de1['height']-0x3},_0x407519={'x':0x0,'y':_0x519de1['height']-0x3,'width':_0x519de1['width'],'height':0x3};this['chatWidget']=new chat_widget_1['ChatWidget']({'tui':this['tui'],'rect':_0x79565}),this['composer']=new composer_1['Composer']({'tui':this['tui'],'rect':_0x407519});}['getChatWidget'](){return this['chatWidget'];}['getComposer'](){return this['composer'];}['handleEvent'](_0xbeb84e){switch(_0xbeb84e['type']){case'Init':this['render']();break;case'Render':this['render']();break;case'ResizeEvent':this['layout'](_0xbeb84e['width'],_0xbeb84e['height']),this['render']();break;case'KeyEvent':this['handleKey'](_0xbeb84e['key'],_0xbeb84e['code'],_0xbeb84e['modifiers']);break;case'UserInputEvent':this['handleUserInput'](_0xbeb84e['text']);break;case'ThreadStartedEvent':this['chatWidget']['addMessage']({'role':'assistant','content':'Trayambak\x20agent\x20started...'}),this['render']();break;case'AgentMessageDeltaEvent':this['chatWidget']['appendToLastMessage'](_0xbeb84e['delta']),this['render']();break;case'AgentMessageCompletedEvent':this['totalTokens']+=this['estimateTokens'](),this['render']();break;case'ToolCallStarted':this['chatWidget']['toolCallStarted'](_0xbeb84e['toolName'],_0xbeb84e['args']),this['render']();break;case'ToolCallCompleted':this['chatWidget']['toolCallCompleted'](_0xbeb84e['toolName'],_0xbeb84e['result'],_0xbeb84e['error']),this['render']();break;case'NotificationEvent':this['showNotification'](_0xbeb84e['notification']);break;case'Exit':this['exitInfo']={'exitReason':{'kind':_0xbeb84e['mode'],'message':undefined},'tokenUsage':{'totalTokens':this['totalTokens']}},this['tui']['exit']();break;case'Shutdown':this['tui']['exit']();break;default:break;}}['handleKey'](_0x2d2af4,_0x3961e1,_0xee30b7){if(_0x2d2af4==='q'||_0x2d2af4==='\x03')this['handleEvent']({'type':'Exit','mode':'user_requested'});else{if(_0x2d2af4==='\x0d'||_0x2d2af4==='\x0a'){const _0x577817=this['composer']['getInput']();_0x577817&&(this['handleEvent']({'type':'UserInputEvent','text':_0x577817}),this['composer']['reset']());}else{if(_0x2d2af4==='\x7f'||_0x2d2af4==='\x08')this['composer']['backspace'](),this['render']();else _0x2d2af4['length']===0x1&&_0x2d2af4>='\x20'&&_0x2d2af4<='~'&&this['composer']['appendChar'](_0x2d2af4);}}}['handleUserInput'](_0x34ef5e){_0x34ef5e['startsWith']('/')?this['handleSlashCommand'](_0x34ef5e):(this['chatWidget']['addMessage']({'role':'user','content':_0x34ef5e}),this['render']());}['handleSlashCommand'](_0x54c6ca){const _0x276cb4=_0x54c6ca['slice'](0x1)['split']('\x20'),_0x2fb749=_0x276cb4[0x0],_0x525a00=_0x276cb4['slice'](0x1)['join']('\x20');this['handleEvent']({'type':'SlashCommandEvent','command':_0x2fb749,'args':_0x525a00});}['showNotification'](_0x3a020b){const _0x37cda1={'info':'\x1b[36m','warning':'\x1b[33m','error':'\x1b[31m'},_0xf6004=_0x37cda1[_0x3a020b['level']]??'\x1b[0m',{width:_0x13255c}=this['tui']['getSize'](),_0xe09457='\x20'['repeat'](_0x13255c);this['tui']['write']('\x1b['+_0x13255c+';1H'+_0xf6004+_0x3a020b['title']+':\x20'+_0x3a020b['body']+'\x1b[0m'),this['tui']['write']('\x1b['+_0x13255c+';1H'+_0xe09457);}['layout'](_0x10def3,_0x1759b4){const _0x17cd58={'x':0x0,'y':0x0,'width':_0x10def3,'height':_0x1759b4-0x3},_0x1cdee3={'x':0x0,'y':_0x1759b4-0x3,'width':_0x10def3,'height':0x3};this['chatWidget']['setRect'](_0x17cd58),this['composer']['setRect'](_0x1cdee3);}['render'](){this['tui']['clear'](),this['chatWidget']['render'](),this['composer']['render']();}['estimateTokens'](){const _0x5701eb=this['chatWidget']['getMessages']();let _0x4a9e1f=0x0;for(const _0x458614 of _0x5701eb){_0x4a9e1f+=Math['ceil'](_0x458614['content']['length']/0x4);}return _0x4a9e1f;}['getExitInfo'](){return this['exitInfo'];}['getTotalTokens'](){return this['totalTokens'];}['getCwd'](){return this['cwd'];}['setExitInfo'](_0x1fba5e){this['exitInfo']=_0x1fba5e;}['exit'](_0x23787f='normal'){this['exitInfo']={'exitReason':{'kind':_0x23787f},'tokenUsage':{'totalTokens':this['totalTokens']}},this['tui']['exit']();}}exports['AppState']=AppState;