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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/dist/apps/cli/src/command-registry.js +1 -1
  2. package/dist/apps/cli/src/commands/agent.js +1 -1
  3. package/dist/apps/cli/src/commands/archive.js +1 -1
  4. package/dist/apps/cli/src/commands/checkpoint.js +1 -1
  5. package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
  6. package/dist/apps/cli/src/commands/commit.js +1 -1
  7. package/dist/apps/cli/src/commands/compact.js +1 -1
  8. package/dist/apps/cli/src/commands/config.js +1 -1
  9. package/dist/apps/cli/src/commands/db.js +1 -1
  10. package/dist/apps/cli/src/commands/doctor.js +1 -1
  11. package/dist/apps/cli/src/commands/download.js +1 -1
  12. package/dist/apps/cli/src/commands/exec.js +1 -1
  13. package/dist/apps/cli/src/commands/index.js +1 -1
  14. package/dist/apps/cli/src/commands/login.js +1 -1
  15. package/dist/apps/cli/src/commands/manager.js +1 -1
  16. package/dist/apps/cli/src/commands/marketplace.js +1 -1
  17. package/dist/apps/cli/src/commands/mcp.js +1 -1
  18. package/dist/apps/cli/src/commands/mode.js +1 -1
  19. package/dist/apps/cli/src/commands/models.js +1 -1
  20. package/dist/apps/cli/src/commands/plan.js +1 -1
  21. package/dist/apps/cli/src/commands/pr.js +1 -1
  22. package/dist/apps/cli/src/commands/registry.js +1 -1
  23. package/dist/apps/cli/src/commands/run.js +1 -1
  24. package/dist/apps/cli/src/commands/sandbox.js +1 -1
  25. package/dist/apps/cli/src/commands/serve.js +1 -1
  26. package/dist/apps/cli/src/commands/session-export.js +1 -1
  27. package/dist/apps/cli/src/commands/session-resume.js +1 -1
  28. package/dist/apps/cli/src/commands/shortcuts.js +1 -1
  29. package/dist/apps/cli/src/commands/slash-command.js +1 -1
  30. package/dist/apps/cli/src/commands/stats.js +1 -1
  31. package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
  32. package/dist/apps/cli/src/commands/task.js +1 -1
  33. package/dist/apps/cli/src/commands/todo.js +1 -1
  34. package/dist/apps/cli/src/commands/uninstall.js +1 -1
  35. package/dist/apps/cli/src/commands/upgrade.js +1 -1
  36. package/dist/apps/cli/src/commands/worktree.js +1 -1
  37. package/dist/apps/cli/src/flags.js +1 -1
  38. package/dist/apps/cli/src/index.js +1 -1
  39. package/dist/apps/cli/src/integration/board.js +1 -1
  40. package/dist/apps/cli/src/integration/git-refs.js +1 -1
  41. package/dist/apps/cli/src/integration/index.js +1 -1
  42. package/dist/apps/cli/src/integration/indexing.js +1 -1
  43. package/dist/apps/cli/src/integration/notebook.js +1 -1
  44. package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
  45. package/dist/apps/cli/src/integration/plan.js +1 -1
  46. package/dist/apps/cli/src/integration/presence.js +1 -1
  47. package/dist/apps/cli/src/integration/project-id.js +1 -1
  48. package/dist/apps/cli/src/integration/rules.js +1 -1
  49. package/dist/apps/cli/src/integration/sandbox.js +1 -1
  50. package/dist/apps/cli/src/integration/task-resume.js +1 -1
  51. package/dist/apps/cli/src/integration/text-stream.js +1 -1
  52. package/dist/apps/cli/src/integration/unique-id.js +1 -1
  53. package/dist/apps/cli/src/integration/watcher.js +1 -1
  54. package/dist/apps/cli/src/logger.js +1 -1
  55. package/dist/apps/cli/src/session/index.js +1 -1
  56. package/dist/apps/cli/src/session/session-compaction.js +1 -1
  57. package/dist/apps/cli/src/session/session-continuation.js +1 -1
  58. package/dist/apps/cli/src/session/session-control.js +1 -1
  59. package/dist/apps/cli/src/session/session-fork.js +1 -1
  60. package/dist/apps/cli/src/session/session-manager.js +1 -1
  61. package/dist/apps/cli/src/session/session-transcript.js +1 -1
  62. package/dist/apps/cli/src/tui/index.js +1 -1
  63. package/dist/apps/cli/src/tui/tui-features.js +1 -1
  64. package/dist/apps/cli/src/version.js +1 -1
  65. package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
  66. package/dist/apps/runtime/src/agent/agent.js +1 -1
  67. package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
  68. package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
  69. package/dist/apps/runtime/src/agent/review-init.js +1 -1
  70. package/dist/apps/runtime/src/agent/sota.js +1 -1
  71. package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
  72. package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
  73. package/dist/apps/runtime/src/checkpoints.js +1 -1
  74. package/dist/apps/runtime/src/compaction.js +1 -1
  75. package/dist/apps/runtime/src/config.js +1 -1
  76. package/dist/apps/runtime/src/controller/controller.js +1 -1
  77. package/dist/apps/runtime/src/controller/executor.js +1 -1
  78. package/dist/apps/runtime/src/controller/reviewer.js +1 -1
  79. package/dist/apps/runtime/src/controller/roles.js +1 -1
  80. package/dist/apps/runtime/src/controller/router.js +1 -1
  81. package/dist/apps/runtime/src/controller/state.js +1 -1
  82. package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
  83. package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
  84. package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
  85. package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
  86. package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
  87. package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
  88. package/dist/apps/runtime/src/github-auth.js +1 -1
  89. package/dist/apps/runtime/src/goals.js +1 -1
  90. package/dist/apps/runtime/src/index.js +1 -1
  91. package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
  92. package/dist/apps/runtime/src/license.js +1 -1
  93. package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
  94. package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
  95. package/dist/apps/runtime/src/notifications.js +1 -1
  96. package/dist/apps/runtime/src/planner/planner.js +1 -1
  97. package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
  98. package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
  99. package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
  100. package/dist/apps/runtime/src/prompt/rules.js +1 -1
  101. package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
  102. package/dist/apps/runtime/src/self-improvement.js +1 -1
  103. package/dist/apps/runtime/src/session/session.js +1 -1
  104. package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
  105. package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
  106. package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
  107. package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
  108. package/dist/apps/runtime/src/tools/code/fim.js +1 -1
  109. package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
  110. package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
  111. package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
  112. package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
  113. package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
  114. package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
  115. package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
  116. package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
  117. package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
  118. package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
  119. package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
  120. package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
  121. package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
  122. package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
  123. package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
  124. package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
  125. package/dist/apps/runtime/src/tools/github/github.js +1 -1
  126. package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
  127. package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
  128. package/dist/apps/runtime/src/tools/index.js +1 -1
  129. package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
  130. package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
  131. package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
  132. package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
  133. package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
  134. package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
  135. package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
  136. package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
  137. package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
  138. package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
  139. package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
  140. package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
  141. package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
  142. package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
  143. package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
  144. package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
  145. package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
  146. package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
  147. package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
  148. package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
  149. package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
  150. package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
  151. package/dist/apps/runtime/src/tools/text/csv.js +1 -1
  152. package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
  153. package/dist/apps/runtime/src/tools/text/diff.js +1 -1
  154. package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
  155. package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
  156. package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
  157. package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
  158. package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
  159. package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
  160. package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
  161. package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
  162. package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
  163. package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
  164. package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
  165. package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
  166. package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
  167. package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
  168. package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
  169. package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
  170. package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
  171. package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
  172. package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
  173. package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
  174. package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
  175. package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
  176. package/dist/apps/runtime/src/tools/types.js +1 -1
  177. package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
  178. package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
  179. package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
  180. package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
  181. package/dist/apps/runtime/src/update/auto-update.js +1 -1
  182. package/dist/packages/acp/src/index.js +1 -1
  183. package/dist/packages/approval/src/index.js +1 -1
  184. package/dist/packages/checkpoints/src/index.js +1 -1
  185. package/dist/packages/cli/src/commands/registry.js +1 -1
  186. package/dist/packages/client/src/index.js +1 -1
  187. package/dist/packages/coding-agent/src/index.js +1 -1
  188. package/dist/packages/core/src/agent_communication.js +1 -1
  189. package/dist/packages/core/src/agent_registry.js +1 -1
  190. package/dist/packages/core/src/agents_md.js +1 -1
  191. package/dist/packages/core/src/analytics.js +1 -1
  192. package/dist/packages/core/src/approval.js +1 -1
  193. package/dist/packages/core/src/auth.js +1 -1
  194. package/dist/packages/core/src/context/compactor.js +1 -1
  195. package/dist/packages/core/src/cron/scheduler.js +1 -1
  196. package/dist/packages/core/src/curator/librarian.js +1 -1
  197. package/dist/packages/core/src/env_filter.js +1 -1
  198. package/dist/packages/core/src/extension_api.js +1 -1
  199. package/dist/packages/core/src/feature_flags.js +1 -1
  200. package/dist/packages/core/src/hook_runtime.js +1 -1
  201. package/dist/packages/core/src/i18n.js +1 -1
  202. package/dist/packages/core/src/memory/manager.js +1 -1
  203. package/dist/packages/core/src/memory/provider.js +1 -1
  204. package/dist/packages/core/src/plan_mode.js +1 -1
  205. package/dist/packages/core/src/process.js +1 -1
  206. package/dist/packages/core/src/providers/manager.js +1 -1
  207. package/dist/packages/core/src/providers/registry.js +1 -1
  208. package/dist/packages/core/src/rollout_budget.js +1 -1
  209. package/dist/packages/core/src/secrets.js +1 -1
  210. package/dist/packages/core/src/session_store.js +1 -1
  211. package/dist/packages/core/src/state_db.js +1 -1
  212. package/dist/packages/core/src/subagents.js +1 -1
  213. package/dist/packages/core/src/token_budget.js +1 -1
  214. package/dist/packages/core/src/toolsets/arsenal.js +1 -1
  215. package/dist/packages/core/src/validate.js +1 -1
  216. package/dist/packages/execpolicy/src/policy.js +1 -1
  217. package/dist/packages/function/src/index.js +1 -1
  218. package/dist/packages/harness/src/index.js +1 -1
  219. package/dist/packages/mcp/src/index.js +1 -1
  220. package/dist/packages/mcp/src/oauth-callback.js +1 -1
  221. package/dist/packages/mcp/src/oauth.js +1 -1
  222. package/dist/packages/mcp/src/spawn-resolve.js +1 -1
  223. package/dist/packages/mcp-server/src/index.js +1 -1
  224. package/dist/packages/modes/src/index.js +1 -1
  225. package/dist/packages/protocol/src/events.js +1 -1
  226. package/dist/packages/protocol/src/messages.js +1 -1
  227. package/dist/packages/protocol/src/permission-rules.js +1 -1
  228. package/dist/packages/protocol/src/permissions.js +1 -1
  229. package/dist/packages/protocol/src/tools.js +1 -1
  230. package/dist/packages/protocol/src/toolsets.js +1 -1
  231. package/dist/packages/protocol/src/util/url.js +1 -1
  232. package/dist/packages/provider/src/anthropic.js +1 -1
  233. package/dist/packages/provider/src/catalog.js +1 -1
  234. package/dist/packages/provider/src/custom.js +1 -1
  235. package/dist/packages/provider/src/faux-stream.js +1 -1
  236. package/dist/packages/provider/src/google.js +1 -1
  237. package/dist/packages/provider/src/huggingface.js +1 -1
  238. package/dist/packages/provider/src/index.js +1 -1
  239. package/dist/packages/provider/src/llama-cpp.js +1 -1
  240. package/dist/packages/provider/src/nvidia.js +1 -1
  241. package/dist/packages/provider/src/ollama.js +1 -1
  242. package/dist/packages/provider/src/openai.js +1 -1
  243. package/dist/packages/provider/src/types.js +1 -1
  244. package/dist/packages/provider/src/xai.js +1 -1
  245. package/dist/packages/sandbox/src/gate.js +1 -1
  246. package/dist/packages/sandbox/src/index.js +1 -1
  247. package/dist/packages/sandbox/src/spawn.js +1 -1
  248. package/dist/packages/sandbox/src/types.js +1 -1
  249. package/dist/packages/sandbox/src/violation.js +1 -1
  250. package/dist/packages/schema/src/index.js +1 -1
  251. package/dist/packages/sdk/src/index.js +1 -1
  252. package/dist/packages/server/src/cors.js +1 -1
  253. package/dist/packages/server/src/daemon.js +1 -1
  254. package/dist/packages/server/src/github-app.js +1 -1
  255. package/dist/packages/server/src/github-autofix.js +1 -1
  256. package/dist/packages/server/src/github-jobs.js +1 -1
  257. package/dist/packages/server/src/github-oauth.js +1 -1
  258. package/dist/packages/server/src/index.js +1 -1
  259. package/dist/packages/server/src/install-ps1.js +1 -1
  260. package/dist/packages/server/src/license-store.js +1 -1
  261. package/dist/packages/session-backends/src/index.js +1 -1
  262. package/dist/packages/session-backends/src/transcript.js +1 -1
  263. package/dist/packages/telemetry/src/index.js +1 -1
  264. package/dist/packages/tui/src/app/app-state.js +1 -1
  265. package/dist/packages/tui/src/app/events.js +1 -1
  266. package/dist/packages/tui/src/approval-notification.js +1 -1
  267. package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
  268. package/dist/packages/tui/src/bottom_pane/index.js +1 -1
  269. package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
  270. package/dist/packages/tui/src/chatwidget/index.js +1 -1
  271. package/dist/packages/tui/src/dialogs.js +1 -1
  272. package/dist/packages/tui/src/index.js +1 -1
  273. package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
  274. package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
  275. package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
  276. package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
  277. package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
  278. package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
  279. package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
  280. package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
  281. package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
  282. package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
  283. package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
  284. package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
  285. package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
  286. package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
  287. package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
  288. package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
  289. package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
  290. package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
  291. package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
  292. package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
  293. package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
  294. package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
  295. package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
  296. package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
  297. package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
  298. package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
  299. package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
  300. package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
  301. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
  302. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
  303. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
  304. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
  305. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
  306. package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
  307. package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
  308. package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
  309. package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
  310. package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
  311. package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
  312. package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
  313. package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
  314. package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
  315. package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
  316. package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
  317. package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
  318. package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
  319. package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
  320. package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
  321. package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
  322. package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
  323. package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
  324. package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
  325. package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
  326. package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
  327. package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
  328. package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
  329. package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
  330. package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
  331. package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
  332. package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
  333. package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
  334. package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
  335. package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
  336. package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
  337. package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
  338. package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
  339. package/dist/packages/tui/src/keybindings.js +1 -1
  340. package/dist/packages/tui/src/keys.js +1 -1
  341. package/dist/packages/tui/src/notifications.js +1 -1
  342. package/dist/packages/tui/src/premium-ui.js +1 -1
  343. package/dist/packages/tui/src/stdin-buffer.js +1 -1
  344. package/dist/packages/tui/src/terminal-ui.js +1 -1
  345. package/dist/packages/tui/src/tui/terminal.js +1 -1
  346. package/dist/packages/tui/src/ui/border.js +1 -1
  347. package/dist/packages/tui/src/ui/box.js +1 -1
  348. package/dist/packages/tui/src/ui/dialog.js +1 -1
  349. package/dist/packages/tui/src/ui/footer-mode.js +1 -1
  350. package/dist/packages/tui/src/ui/footer.js +1 -1
  351. package/dist/packages/tui/src/ui/key-hint.js +1 -1
  352. package/dist/packages/tui/src/ui/skt-themes.js +1 -1
  353. package/dist/packages/tui/src/ui/spinner.js +1 -1
  354. package/dist/packages/tui/src/ui/theme.js +1 -1
  355. package/dist/packages/tui/src/ui/toast.js +1 -1
  356. package/dist/packages/tui/src/ui/tool-display.js +1 -1
  357. package/dist/packages/tui/src/ui/tool-palette.js +1 -1
  358. package/dist/skt/0-points/points.js +1 -1
  359. package/dist/skt/1-errors/mistake.js +1 -1
  360. package/dist/skt/1-errors/penalty.js +1 -1
  361. package/dist/skt/10-upload/upload.js +1 -1
  362. package/dist/skt/11-ui/components.js +1 -1
  363. package/dist/skt/12-control/content-control.js +1 -1
  364. package/dist/skt/12-control/hallucination.js +1 -1
  365. package/dist/skt/12-control/points.js +1 -1
  366. package/dist/skt/12-control/repetition.js +1 -1
  367. package/dist/skt/12-control/verification.js +1 -1
  368. package/dist/skt/13-healing/ast-validator.js +1 -1
  369. package/dist/skt/13-healing/healing-controller.js +1 -1
  370. package/dist/skt/13-healing/journal.js +1 -1
  371. package/dist/skt/13-healing/rollback.js +1 -1
  372. package/dist/skt/13-healing/scratchpad.js +1 -1
  373. package/dist/skt/13-healing/subprocess.js +1 -1
  374. package/dist/skt/13-healing/verify.js +1 -1
  375. package/dist/skt/14-hooks/codec.js +1 -1
  376. package/dist/skt/14-hooks/events.js +1 -1
  377. package/dist/skt/14-hooks/matcher.js +1 -1
  378. package/dist/skt/14-hooks/merge.js +1 -1
  379. package/dist/skt/14-hooks/runner.js +1 -1
  380. package/dist/skt/14-hooks/types.js +1 -1
  381. package/dist/skt/3-user/instructions.js +1 -1
  382. package/dist/skt/4-mem/memory.js +1 -1
  383. package/dist/skt/5-eval/cot-chain.js +1 -1
  384. package/dist/skt/5-eval/cot.js +1 -1
  385. package/dist/skt/5-eval/eval.js +1 -1
  386. package/dist/skt/6-u/improvements.js +1 -1
  387. package/dist/skt/6-u/reward.js +1 -1
  388. package/dist/skt/7-cli/autorepair.js +1 -1
  389. package/dist/skt/7-cli/clibugs.js +1 -1
  390. package/dist/skt/7-cli/reinstall.js +1 -1
  391. package/dist/skt/7-cli/reset.js +1 -1
  392. package/dist/skt/9-session/session.js +1 -1
  393. package/dist/skt/context.js +1 -1
  394. package/package.json +1 -1
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3efd5b,_0x6e4c56,_0x23f9b9,_0x14213e){if(_0x14213e===undefined)_0x14213e=_0x23f9b9;var _0x30ae0a=Object['getOwnPropertyDescriptor'](_0x6e4c56,_0x23f9b9);(!_0x30ae0a||('get'in _0x30ae0a?!_0x6e4c56['__esModule']:_0x30ae0a['writable']||_0x30ae0a['configurable']))&&(_0x30ae0a={'enumerable':!![],'get':function(){return _0x6e4c56[_0x23f9b9];}}),Object['defineProperty'](_0x3efd5b,_0x14213e,_0x30ae0a);}:function(_0x281e9c,_0x494427,_0x21105e,_0x14050b){if(_0x14050b===undefined)_0x14050b=_0x21105e;_0x281e9c[_0x14050b]=_0x494427[_0x21105e];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1160a9,_0x4feb65){Object['defineProperty'](_0x1160a9,'default',{'enumerable':!![],'value':_0x4feb65});}:function(_0x23fd77,_0x2b1f5a){_0x23fd77['default']=_0x2b1f5a;}),__importStar=this&&this['__importStar']||(function(){var _0x12916c=function(_0x2868fa){return _0x12916c=Object['getOwnPropertyNames']||function(_0x3bf968){var _0x2a53ae=[];for(var _0x20975b in _0x3bf968)if(Object['prototype']['hasOwnProperty']['call'](_0x3bf968,_0x20975b))_0x2a53ae[_0x2a53ae['length']]=_0x20975b;return _0x2a53ae;},_0x12916c(_0x2868fa);};return function(_0xa6ed26){if(_0xa6ed26&&_0xa6ed26['__esModule'])return _0xa6ed26;var _0x225710={};if(_0xa6ed26!=null){for(var _0x5628b7=_0x12916c(_0xa6ed26),_0x1d9075=0x0;_0x1d9075<_0x5628b7['length'];_0x1d9075++)if(_0x5628b7[_0x1d9075]!=='default')__createBinding(_0x225710,_0xa6ed26,_0x5628b7[_0x1d9075]);}return __setModuleDefault(_0x225710,_0xa6ed26),_0x225710;};}());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'),node_path_1=require('node:path'),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(_0xdce522,_0x181be6){return new Promise(_0x21cdcf=>{let _0xdfefd8='',_0x4e24be=0x0,_0x3b2631=![];const _0x1e1a4b=(_0x3bb86a,_0x2770d0)=>{if(_0x3b2631)return;_0x3b2631=!![],_0x181be6['writeHead'](_0x3bb86a,{'Content-Type':'application/json'}),_0x181be6['end'](JSON['stringify']({'error':_0x2770d0})),setImmediate(()=>_0xdce522['destroy']());};_0xdce522['on']('data',_0x32ef31=>{if(_0x3b2631)return;const _0x21a292=typeof _0x32ef31==='string'?_0x32ef31:_0x32ef31['toString']('utf8');_0x4e24be+=Buffer['byteLength'](_0x21a292);if(_0x4e24be>MAX_BODY_BYTES){_0x1e1a4b(0x19d,'body\x20too\x20large\x20(max\x201MB)');return;}_0xdfefd8+=_0x21a292;}),_0xdce522['on']('end',()=>{if(_0x3b2631||_0xdce522['destroyed'])return;try{_0x21cdcf(JSON['parse'](_0xdfefd8));}catch{_0x1e1a4b(0x190,'invalid\x20JSON'),_0x21cdcf(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.3'},'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)'}},'/img/:name':{'get':{'summary':'Static\x20README\x20images\x20(public,\x20png/jpg\x20only)'}},'/docs/:name':{'get':{'summary':'Docs\x20pages\x20as\x20markdown\x20(public,\x20.md\x20only)'}},'/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(_0x128b0c={}){const _0x5f1a09=_0x128b0c['port']??Number(process.env.TRAYAMBAK_SERVER_PORT??0x2253),_0x1ed751=_0x128b0c['host']??'127.0.0.1';let _0x319dfe=_0x128b0c['token']??process.env.TRAYAMBAK_WEB_TOKEN;const _0x3419b9=_0x128b0c['corsOrigins']??process.env.TRAYAMBAK_WEB_ORIGINS??'';let _0x36ecb8=![];!_0x319dfe&&!LOOPBACK_HOSTS['has'](_0x1ed751)&&(_0x319dfe=(0x0,crypto_1['randomBytes'])(0x20)['toString']('hex'),_0x36ecb8=!![]);const _0x242311=(0x0,index_js_1['loadConfig'])(),_0x40dd5b=(0x0,index_js_2['createTelemetry'])(![]),_0x8dd886=(0x0,license_store_js_1['defaultLicenseStorePaths'])(),_0x498c60=new license_store_js_1['LicenseStore']({'file':_0x128b0c['licenseStorePath']??_0x8dd886['file'],'usageFile':_0x128b0c['licenseUsagePath']??_0x8dd886['usageFile']}),_0x31066e=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']),_0x2f9e40=_0x128b0c['imgDir']??process.env.TRAYAMBAK_IMG_DIR??'./Img',_0x379c70=_0x128b0c['docsDir']??process.env.TRAYAMBAK_DOCS_DIR??'./docs',_0x5ba969=new Map(),_0x95dd6e=0x5,_0x879871=new Map(),_0x763afa=0xa,_0x4bfbcd=new github_oauth_js_1['GitHubOAuthStore'](_0x128b0c['githubOAuthPath']??(0x0,github_oauth_js_1['defaultOAuthPath'])()),_0x574590=(0x0,github_autofix_js_1['parseAutofixRepos'])(process.env.GITHUB_AUTOFIX_REPOS),_0x5546f5=(process.env.GITHUB_AUTOFIX_LABEL??'trayambak')['trim']()||'trayambak',_0x6189f0=Math['min'](Math['max'](Number(process.env.GITHUB_AUTOFIX_INTERVAL_MIN??0x1e)||0x1e,0x5),0x5a0),_0x54a649=process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT===undefined?(0x0,github_autofix_js_1['defaultTriageComment'])(_0x5546f5):process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT??'';if(_0x574590['length']>0x0){const _0x5d8e1e=new github_autofix_js_1['AutofixLedger']((0x0,github_autofix_js_1['defaultAutofixLedgerPath'])()),_0xe935b2=()=>{void((async()=>{try{const _0x19860c=await(0x0,github_autofix_js_1['autofixTick'])({'repos':_0x574590,'label':_0x5546f5,'ledger':_0x5d8e1e,'installationIdFor':installationIdForOwner,'tokenFor':installationTokenFor,'fetchJson':async(_0x5d81ea,_0x387bfc)=>{const _0x589174=await githubApi(_0x5d81ea,_0x387bfc);return{'status':_0x589174['status'],'json':_0x589174['json']};},'listAllRepos':allInstalledRepos,'postComment':async(_0x2e4576,_0x1904cf,_0x1f3a1e)=>{const _0x306d5b=_0x2e4576['split']('/')[0x0]??'',_0x128b11=await installationIdForOwner(_0x306d5b)['catch'](()=>0x0);if(!_0x128b11)return![];const _0x221261=await installationTokenFor(_0x128b11)['catch'](()=>'');if(!_0x221261)return![];return postGithubComment(_0x306d5b,_0x2e4576['split']('/')[0x1]??'',_0x1904cf,_0x1f3a1e,_0x221261);},'triageComment':_0x54a649,'runJob':(_0x430f02,_0x419f39,_0x2741e9,_0x5d0e17)=>enqueueGithubJob({'repoFullName':_0x430f02,'issueNumber':_0x419f39,'task':_0x2741e9,'isPullRequest':![]},{'installation':{'id':_0x5d0e17}})});(_0x19860c['checked']>0x0||_0x19860c['ran']['length']>0x0||_0x19860c['triaged']['length']>0x0)&&process['stdout']['write']('[github-autofix]\x20tick:\x20checked\x20'+_0x19860c['checked']+',\x20ran\x20'+_0x19860c['ran']['length']+',\x20triaged\x20'+_0x19860c['triaged']['length']+'\x0a');}catch(_0x4b7fa1){process['stderr']['write']('[github-autofix]\x20tick\x20failed:\x20'+(_0x4b7fa1 instanceof Error?_0x4b7fa1['message']:String(_0x4b7fa1))+'\x0a');}})());},_0x59a724=setInterval(_0xe935b2,_0x6189f0*0xea60);if(typeof _0x59a724['unref']==='function')_0x59a724['unref']();const _0xd96cea=setTimeout(_0xe935b2,0x1d4c0);if(typeof _0xd96cea['unref']==='function')_0xd96cea['unref']();process['stdout']['write']('[github-autofix]\x20watching\x20'+_0x574590['join'](',')+'\x20label='+_0x5546f5+'\x20every\x20'+_0x6189f0+'m\x0a');}else process['stdout']['write']('[github-autofix]\x20idle\x20(GITHUB_AUTOFIX_REPOS\x20unset)\x0a');const _0x52a7c8=http['createServer'](async(_0x1bff4f,_0xc7c9b0)=>{const _0x352b2e=(0x0,cors_js_1['resolveCors'])(_0x1bff4f['headers']['origin'],_0x1bff4f['headers']['host'],_0x3419b9);for(const [_0x712621,_0x5ba10b]of Object['entries'](_0x352b2e['headers'])){_0xc7c9b0['setHeader'](_0x712621,_0x5ba10b);}if(_0x1bff4f['method']==='OPTIONS'){_0xc7c9b0['writeHead'](_0x352b2e['allowed']?0xcc:0x193),_0xc7c9b0['end']();return;}if(!_0x352b2e['allowed']){_0xc7c9b0['writeHead'](0x193,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'origin\x20not\x20allowed'}));return;}const _0xec3805=(_0x1bff4f['url']??'/')['split']('?')[0x0];if(_0x1bff4f['method']==='GET'&&_0xec3805['startsWith']('/img/')){serveReadmeImage(_0x1bff4f,_0xc7c9b0,_0x2f9e40,_0xec3805);return;}if(_0x1bff4f['method']==='GET'&&_0xec3805['startsWith']('/docs/')){serveDocsFile(_0x1bff4f,_0xc7c9b0,_0x379c70,_0xec3805);return;}if(_0x319dfe&&_0x1bff4f['url']!=='/health'&&!_0x31066e['has'](_0xec3805)){const _0x4427e2=Buffer['from'](_0x1bff4f['headers']['authorization']??''),_0x39bc33=Buffer['from']('Bearer\x20'+_0x319dfe),_0xa7a6e5=_0x4427e2['length']===_0x39bc33['length']&&_0x4427e2['length']>0x0&&(0x0,crypto_1['timingSafeEqual'])(_0x4427e2,_0x39bc33);if(!_0xa7a6e5){_0xc7c9b0['writeHead'](0x191,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'unauthorized'}));return;}}if(_0x1bff4f['method']==='GET'&&_0x1bff4f['url']==='/health'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'status':'ok','model':_0x242311['model']}));return;}if(_0x1bff4f['method']==='GET'&&_0x1bff4f['url']==='/openapi.json'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify'](exports['OPENAPI_SPEC']));return;}if(_0x1bff4f['method']==='GET'&&_0x1bff4f['url']==='/api/sessions'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'});try{_0xc7c9b0['end'](JSON['stringify']({'sessions':(0x0,transcript_js_1['listTranscripts'])()}));}catch{_0xc7c9b0['end'](JSON['stringify']({'sessions':[]}));}return;}if(_0x1bff4f['method']==='GET'&&_0x1bff4f['url']==='/v1/models'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'data':[{'id':_0x242311['model']}]}));return;}if(_0x1bff4f['method']==='GET'&&_0x1bff4f['url']==='/admin'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xc7c9b0['end'](adminPage());return;}if(_0x1bff4f['method']==='POST'&&_0x1bff4f['url']==='/admin/mint'){const _0x11af0b=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x11af0b)return;const _0x4f0dd0=typeof _0x11af0b['plan']==='string'?_0x11af0b['plan']:'',_0xf0eee8=typeof _0x11af0b['days']==='number'?_0x11af0b['days']:Number['NaN'];if(_0x4f0dd0!=='basic'&&_0x4f0dd0!=='pentest'&&_0x4f0dd0!=='pro'&&_0x4f0dd0!=='enterprise'){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'plan\x20must\x20be\x20basic|pentest|pro|enterprise'}));return;}if(!Number['isFinite'](_0xf0eee8)||_0xf0eee8<0x1||_0xf0eee8>0xe42){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'days\x20must\x20be\x201..3650'}));return;}try{const _0x1f8711=Math['floor'](Date['now']()/0x5265c00),{activationEpochDays:_0x13e06e}=await Promise['resolve']()['then'](()=>__importStar(require('../../../apps/runtime/src/license.js'))),_0x3c5845=(0x0,license_js_1['mintActivationKey'])({'plan':_0x4f0dd0,'expDays':_0x1f8711-_0x13e06e()+Math['floor'](_0xf0eee8)},(0x0,license_js_1['activationCheckKey'])()),_0x2f90d2=typeof _0x11af0b['id']==='string'?_0x11af0b['id']:undefined,_0x1510bf=_0x498c60['register'](_0x3c5845,_0x2f90d2);_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'key':_0x3c5845,'id':_0x1510bf['id']}));}catch(_0x51d85e){_0xc7c9b0['writeHead'](0x1f4,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'mint\x20failed:\x20'+(_0x51d85e instanceof Error?_0x51d85e['message']:String(_0x51d85e))}));}return;}if(_0x1bff4f['method']==='GET'&&_0xec3805==='/install.ps1'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'text/plain;\x20charset=utf-8'}),_0xc7c9b0['end'](install_ps1_js_1['INSTALL_PS1']);return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/license/verify'){const _0x1b38e6=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x1b38e6)return;const _0x51b7a5=licenseMachineId(_0x1b38e6['machineId']);if(!_0x51b7a5){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'valid':![],'reason':'missing\x20machineId'}));return;}const _0x550bab=_0x498c60['check'](typeof _0x1b38e6['key']==='string'?_0x1b38e6['key']:'',_0x51b7a5);if(_0x550bab['valid']===!![])_0x498c60['touch'](_0x550bab['record']?.['id']??'');_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'valid':_0x550bab['valid'],'plan':_0x550bab['plan'],'exp':_0x550bab['exp'],'reason':_0x550bab['reason']}));return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/license/activate'){const _0x316276=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x316276)return;const _0x2b8951=licenseMachineId(_0x316276['machineId']);if(!_0x2b8951){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'missing\x20machineId'}));return;}const _0xdb024d=_0x498c60['activate'](typeof _0x316276['key']==='string'?_0x316276['key']:'',_0x2b8951);_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':_0xdb024d['ok'],'plan':_0xdb024d['plan'],'exp':_0xdb024d['exp'],'reason':_0xdb024d['reason']}));return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/license/usage'){const _0x2b17d1=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x2b17d1)return;const _0x405446=licenseMachineId(_0x2b17d1['machineId']),_0x3493b2=typeof _0x2b17d1['tool']==='string'?_0x2b17d1['tool']['slice'](0x0,0x78):'';if(!_0x405446||!_0x3493b2){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'missing\x20machineId/tool'}));return;}const _0x5a2057=_0x498c60['checkPentestOnly'](typeof _0x2b17d1['key']==='string'?_0x2b17d1['key']:'',_0x405446);if(_0x5a2057['valid']!==!![]){_0xc7c9b0['writeHead'](0x193,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':_0x5a2057['reason']??'license\x20invalid'}));return;}_0x498c60['touch'](_0x5a2057['record']?.['id']??''),_0x498c60['appendUsage']({'keyId':_0x5a2057['record']?.['id']??'','machineId':_0x405446,'tool':_0x3493b2,'target':typeof _0x2b17d1['target']==='string'?_0x2b17d1['target']['slice'](0x0,0x12c):'','ok':_0x2b17d1['ok']!==![]}),_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![]}));return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/license/mint-trial'){const _0x961a3e=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x961a3e)return;const _0x37c45b=licenseMachineId(_0x961a3e['machineId']);if(!_0x37c45b){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x20b5d5=clientIp(_0x1bff4f),_0x1cba2e=Date['now'](),_0x27e215=(_0x5ba969['get'](_0x20b5d5)??[])['filter'](_0xdf6cd2=>_0x1cba2e-_0xdf6cd2<0x36ee80);if(_0x27e215['length']>=_0x95dd6e){_0xc7c9b0['writeHead'](0x1ad,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'too\x20many\x20trial\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later'}));return;}_0x27e215['push'](_0x1cba2e),_0x5ba969['set'](_0x20b5d5,_0x27e215);if(_0x498c60['activeTrialForMachine'](_0x37c45b)){_0xc7c9b0['writeHead'](0x199,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'this\x20machine\x20already\x20has\x20a\x20live\x20trial\x20—\x20ask\x20SKT\x20for\x20a\x20full\x20key'}));return;}try{const _0x363d95=Number(process.env.LICENSE_TRIAL_DAYS??0x7),_0x188699=Math['min'](Math['max'](Math['floor'](Number['isFinite'](_0x363d95)?_0x363d95:0x7),0x1),0x1e),_0x473d3f=Math['floor'](Date['now']()/0x5265c00),{activationEpochDays:_0x5c3077}=await Promise['resolve']()['then'](()=>__importStar(require('../../../apps/runtime/src/license.js'))),_0x2c09db=(0x0,license_js_1['mintActivationKey'])({'plan':'pentest','expDays':_0x473d3f-_0x5c3077()+_0x188699},(0x0,license_js_1['activationCheckKey'])()),_0x193ed9=_0x498c60['register'](_0x2c09db,'trial',{'trial':!![]}),_0x251ca8=_0x498c60['activate'](_0x2c09db,_0x37c45b);_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':_0x251ca8['ok'],'key':_0x2c09db,'id':_0x193ed9['id'],'exp':_0x193ed9['exp'],'days':_0x188699}));}catch(_0x5e6196){_0xc7c9b0['writeHead'](0x1f4,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'trial\x20mint\x20failed:\x20'+(_0x5e6196 instanceof Error?_0x5e6196['message']:String(_0x5e6196))}));}return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/auth/github/start'){const _0x59a580=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x59a580)return;const _0x5ead3f=licenseMachineId(_0x59a580['machineId']);if(!_0x5ead3f){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x34a7da=(process.env.GITHUB_CLIENT_ID??'')['trim']();if(!_0x34a7da){_0xc7c9b0['writeHead'](0x1f4,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'GitHub\x20login\x20not\x20configured\x20on\x20this\x20server'}));return;}const _0x68e7c=clientIp(_0x1bff4f),_0x330b21=Date['now'](),_0x389f4b=(_0x879871['get'](_0x68e7c)??[])['filter'](_0x37b868=>_0x330b21-_0x37b868<0x36ee80);if(_0x389f4b['length']>=_0x763afa){_0xc7c9b0['writeHead'](0x1ad,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':![],'reason':'too\x20many\x20login\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later'}));return;}_0x389f4b['push'](_0x330b21),_0x879871['set'](_0x68e7c,_0x389f4b);const _0x483593=_0x4bfbcd['beginLogin'](_0x5ead3f),_0x37a3bd='https://github.com/login/oauth/authorize?client_id='+encodeURIComponent(_0x34a7da)+'&state='+_0x483593['state'];_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![],'url':_0x37a3bd}));return;}if(_0x1bff4f['method']==='GET'&&_0xec3805==='/auth/github/callback'){const _0x4091c0=(_0x2daecf,_0x21904a,_0x274690)=>{_0xc7c9b0['writeHead'](_0x274690?0xc8:0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xc7c9b0['end']('<!doctype\x20html><html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><title>'+_0x2daecf+'</title>'+'<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem}</style></head>'+('<body><h1>'+_0x2daecf+'</h1><p>'+_0x21904a+'</p></body></html>'));},_0x1821b0=new URL(_0x1bff4f['url']??'/','http://localhost')['searchParams'],_0x57b583=_0x1821b0['get']('code')??'',_0x2318ef=_0x1821b0['get']('state')??'',_0x3a3b6e=_0x4bfbcd['consumeState'](_0x2318ef);if(!_0x57b583||!_0x3a3b6e){_0x4091c0('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 _0x4632b8=(process.env.GITHUB_CLIENT_ID??'')['trim'](),_0x27fa3f=(process.env.GITHUB_CLIENT_SECRET??'')['trim']();if(!_0x4632b8||!_0x27fa3f){_0x4091c0('Server\x20misconfigured','GitHub\x20login\x20is\x20not\x20configured\x20on\x20this\x20server.',![]);return;}try{const _0x1d9255=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':_0x4632b8,'client_secret':_0x27fa3f,'code':_0x57b583}),'signal':AbortSignal['timeout'](0x4e20)}),_0xb6e09b=await _0x1d9255['json']();if(!_0x1d9255['ok']||typeof _0xb6e09b['access_token']!=='string'||!_0xb6e09b['access_token'])throw new Error(typeof _0xb6e09b['error_description']==='string'?_0xb6e09b['error_description']:'HTTP\x20'+_0x1d9255['status']);const _0x165a16=await githubApi('/user',_0xb6e09b['access_token']),_0x3f617c=_0x165a16['json']&&typeof _0x165a16['json']==='object'&&typeof _0x165a16['json']['login']==='string'?_0x165a16['json']['login']:'github-user';_0x4bfbcd['storeToken'](_0x3a3b6e,_0xb6e09b['access_token'],_0x3f617c),_0x4091c0('Authorized','Logged\x20in\x20as\x20<b>'+_0x3f617c+'</b>.\x20Return\x20to\x20the\x20CLI\x20—\x20it\x20picks\x20this\x20up\x20automatically.',!![]);}catch(_0x4cc756){_0x4091c0('Authorization\x20failed','Could\x20not\x20finish\x20login\x20('+(_0x4cc756 instanceof Error?_0x4cc756['message']:String(_0x4cc756))+').\x20Run\x20/github\x20login\x20again.',![]);}return;}if(_0x1bff4f['method']==='GET'&&_0xec3805==='/auth/github/status'){const _0x94c0fd=licenseMachineId(new URL(_0x1bff4f['url']??'/','http://localhost')['searchParams']['get']('machineId')),_0x17bff4=_0x94c0fd?_0x4bfbcd['tokenFor'](_0x94c0fd):undefined;_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify'](_0x17bff4?{'authorized':!![],'login':_0x17bff4['login']}:{'authorized':![]}));return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/auth/github/logout'){const _0x21f87a=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x21f87a)return;const _0x49f911=licenseMachineId(_0x21f87a['machineId']);_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':_0x49f911?_0x4bfbcd['logout'](_0x49f911):![]}));return;}if(_0x1bff4f['method']==='POST'&&_0xec3805==='/github/read'){const _0x149bd4=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x149bd4)return;const _0x12fb14=licenseMachineId(_0x149bd4['machineId']),_0x3bf4fb=_0x12fb14?_0x4bfbcd['tokenFor'](_0x12fb14):undefined;if(!_0x3bf4fb){_0xc7c9b0['writeHead'](0x191,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first'}));return;}let _0x39b463='',_0x2072fb='';try{;({owner:_0x39b463,repo:_0x2072fb}=(0x0,github_app_js_1['splitRepo'])(typeof _0x149bd4['repo']==='string'?_0x149bd4['repo']:''));}catch{_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'repo\x20must\x20be\x20owner/name'}));return;}const _0x307742=Math['floor'](Number(_0x149bd4['number']));if(!Number['isFinite'](_0x307742)||_0x307742<0x1){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'number\x20must\x20be\x20a\x20positive\x20issue/PR\x20number'}));return;}const _0x2fa022=_0x149bd4['withComments']!==![],[_0x252630,_0x1a1b40]=await Promise['all']([githubApi('/repos/'+_0x39b463+'/'+_0x2072fb+'/issues/'+_0x307742,_0x3bf4fb['token']),_0x2fa022?githubApi('/repos/'+_0x39b463+'/'+_0x2072fb+'/issues/'+_0x307742+'/comments?per_page=20',_0x3bf4fb['token']):Promise['resolve']({'status':0xc8,'json':[]})]);if(_0x252630['status']===0x0){_0xc7c9b0['writeHead'](0x1f6,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'GitHub\x20unreachable\x20from\x20the\x20license\x20server'}));return;}if(_0x252630['status']!==0xc8||!_0x252630['json']||typeof _0x252630['json']!=='object'){const _0x7a794d=_0x252630['json']&&typeof _0x252630['json']==='object'&&typeof _0x252630['json']['message']==='string'?_0x252630['json']['message']:'HTTP\x20'+_0x252630['status'];_0xc7c9b0['writeHead'](_0x252630['status']===0x194?0x194:0x1f6,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'GitHub:\x20'+_0x7a794d}));return;}const _0x288aaa=_0x252630['json'],_0x104942=Array['isArray'](_0x1a1b40['json'])?_0x1a1b40['json']:[];_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![],'issue':{'number':typeof _0x288aaa['number']==='number'?_0x288aaa['number']:_0x307742,'title':typeof _0x288aaa['title']==='string'?_0x288aaa['title']:'','state':typeof _0x288aaa['state']==='string'?_0x288aaa['state']:'','author':_0x288aaa['user']&&typeof _0x288aaa['user']==='object'&&typeof _0x288aaa['user']['login']==='string'?_0x288aaa['user']['login']:'','url':typeof _0x288aaa['html_url']==='string'?_0x288aaa['html_url']:'','body':typeof _0x288aaa['body']==='string'?_0x288aaa['body']['slice'](0x0,0x1f40):'','commentsCount':typeof _0x288aaa['comments']==='number'?_0x288aaa['comments']:_0x104942['length'],'isPullRequest':_0x288aaa['pull_request']!==undefined},'comments':_0x104942['filter'](_0x6e04a7=>!!_0x6e04a7&&typeof _0x6e04a7==='object')['slice'](-0x14)['map'](_0x5d9a82=>({'author':_0x5d9a82['user']&&typeof _0x5d9a82['user']==='object'&&typeof _0x5d9a82['user']['login']==='string'?_0x5d9a82['user']['login']:'','body':typeof _0x5d9a82['body']==='string'?_0x5d9a82['body']['slice'](0x0,0x7d0):'','createdAt':typeof _0x5d9a82['created_at']==='string'?_0x5d9a82['created_at']:''}))}));return;}if(_0x1bff4f['method']==='POST'&&_0x1bff4f['url']==='/admin/import'){const _0x31c478=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x31c478)return;try{const _0x60122c=_0x498c60['register'](typeof _0x31c478['key']==='string'?_0x31c478['key']:'',typeof _0x31c478['customer']==='string'?_0x31c478['customer']:undefined);_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'id':_0x60122c['id'],'plan':_0x60122c['plan']}));}catch(_0x4c5bce){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':_0x4c5bce instanceof Error?_0x4c5bce['message']:String(_0x4c5bce)}));}return;}if(_0x1bff4f['method']==='POST'&&_0x1bff4f['url']==='/admin/revoke'){const _0x24435b=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x24435b)return;const _0x5add00=typeof _0x24435b['id']==='string'?_0x24435b['id']:'';if(!_0x5add00||!_0x498c60['revoke'](_0x5add00)){_0xc7c9b0['writeHead'](0x194,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'unknown\x20license\x20id'}));return;}_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![]}));return;}if(_0x1bff4f['method']==='POST'&&_0x1bff4f['url']==='/admin/unbind'){const _0x5f22aa=await readJsonBody(_0x1bff4f,_0xc7c9b0);if(!_0x5f22aa)return;const _0x256fda=typeof _0x5f22aa['id']==='string'?_0x5f22aa['id']:'';if(!_0x256fda||!_0x498c60['unbind'](_0x256fda)){_0xc7c9b0['writeHead'](0x194,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'unknown\x20license\x20id'}));return;}_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![]}));return;}if(_0x1bff4f['method']==='GET'&&_0xec3805==='/admin/licenses'){const _0x13bac5=_0x498c60['list']()['map'](_0x66fd2e=>({'id':_0x66fd2e['id'],'key':_0x66fd2e['key']['slice'](0x0,0x4)+'-…-'+_0x66fd2e['key']['slice'](-0x4),'plan':_0x66fd2e['plan'],'exp':_0x66fd2e['exp'],'customer':_0x66fd2e['customer'],'trial':_0x66fd2e['trial']===!![],'revoked':_0x66fd2e['revoked'],'bound':Boolean(_0x66fd2e['boundMachineId']),'machine':_0x66fd2e['boundMachineId']?_0x66fd2e['boundMachineId']['slice'](0x0,0x8)+'…':undefined,'createdAt':_0x66fd2e['createdAt'],'lastSeenAt':_0x66fd2e['lastSeenAt']}));_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'licenses':_0x13bac5}));return;}if(_0x1bff4f['method']==='GET'&&_0xec3805==='/admin/usage'){const _0x1ab03c=Number((_0x1bff4f['url']??'')['split']('tail=')[0x1]??0x64);_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'usage':_0x498c60['readUsageTail'](Number['isFinite'](_0x1ab03c)?_0x1ab03c:0x64)}));return;}if(_0x1bff4f['method']==='GET'&&_0xec3805==='/admin/jobs'){const _0x3c0987=Number((_0x1bff4f['url']??'')['split']('tail=')[0x1]??0x64),{readJobTail:_0x15e1b3}=await Promise['resolve']()['then'](()=>__importStar(require('./github-jobs.js')));_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'jobs':_0x15e1b3(Number['isFinite'](_0x3c0987)?_0x3c0987:0x64)}));return;}if(_0x1bff4f['method']==='POST'&&_0x1bff4f['url']==='/webhooks/github'){const _0x1d65e7=process.env.GITHUB_WEBHOOK_SECRET??'';if(!_0x1d65e7){_0xc7c9b0['writeHead'](0x1f7,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'webhooks\x20disabled\x20(GITHUB_WEBHOOK_SECRET\x20unset)'}));return;}const _0x593073=[];let _0x23a2d4=0x0,_0x2387f3=![];_0x1bff4f['on']('data',_0x3c4e24=>{if(_0x2387f3)return;const _0x429616=typeof _0x3c4e24==='string'?Buffer['from'](_0x3c4e24,'utf8'):_0x3c4e24;_0x23a2d4+=_0x429616['length'];if(_0x23a2d4>MAX_BODY_BYTES){_0x2387f3=!![],_0xc7c9b0['writeHead'](0x19d,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x1bff4f['destroy']());return;}_0x593073['push'](_0x429616);}),_0x1bff4f['on']('end',()=>{if(_0x2387f3||_0x1bff4f['destroyed'])return;const _0x3c6ee5=Buffer['concat'](_0x593073),_0x523511=_0x1bff4f['headers']['x-hub-signature-256'];if(!(0x0,github_app_js_1['verifyWebhookSignature'])(_0x1d65e7,_0x3c6ee5,Array['isArray'](_0x523511)?_0x523511[0x0]:_0x523511)){_0xc7c9b0['writeHead'](0x191,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'bad\x20signature'}));return;}let _0x270612=null;try{_0x270612=JSON['parse'](_0x3c6ee5['toString']('utf8'));}catch{_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'invalid\x20JSON'}));return;}const _0x268392=_0x1bff4f['headers']['x-github-event'],_0x50c16e=(0x0,github_app_js_1['routeGithubEvent'])(Array['isArray'](_0x268392)?_0x268392[0x0]??'':_0x268392??'',_0x270612);if(_0x50c16e['kind']!=='job'){_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![],..._0x50c16e['kind']==='ignored'?{'ignored':_0x50c16e['reason']}:{}}));return;}_0xc7c9b0['writeHead'](0xca,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'ok':!![],'accepted':!![]})),void enqueueGithubJob(_0x50c16e['job'],_0x270612);});return;}if(_0x1bff4f['method']==='POST'&&_0x1bff4f['url']==='/v1/agent'){let _0x2419da='',_0xf4c548=0x0,_0xd84c01=![];const _0x4d5980=new AbortController();_0x1bff4f['on']('close',()=>_0x4d5980['abort']()),_0x1bff4f['on']('data',_0x42856b=>{if(_0xd84c01)return;const _0x2114cf=typeof _0x42856b==='string'?_0x42856b:_0x42856b['toString']('utf8');_0xf4c548+=Buffer['byteLength'](_0x2114cf);if(_0xf4c548>MAX_BODY_BYTES){_0xd84c01=!![],_0xc7c9b0['writeHead'](0x19d,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x1bff4f['destroy']());return;}_0x2419da+=_0x2114cf;}),_0x1bff4f['on']('end',()=>{if(_0xd84c01||_0x1bff4f['destroyed'])return;const _0x414587=safeJson(_0x2419da),_0x1eb144=typeof _0x414587['prompt']==='string'?_0x414587['prompt']:undefined,_0x2410bf=typeof _0x414587['sessionFile']==='string'?_0x414587['sessionFile']:undefined;if(!_0x1eb144||typeof _0x1eb144!=='string'){_0xc7c9b0['writeHead'](0x190,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'missing\x20\x27prompt\x27'}));return;}_0xc7c9b0['writeHead'](0xc8,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Connection':'keep-alive'});const _0x9a80b3=new index_js_1['Agent']({'config':_0x242311,'sessionFile':_0x2410bf}),_0xe1d52e=_0x52ae42=>{try{if(!_0x1bff4f['destroyed']&&!_0xc7c9b0['writableEnded'])_0xc7c9b0['write'](_0x52ae42);}catch{_0x4d5980['abort']();}};_0x9a80b3['run'](_0x1eb144,_0x3da054=>{_0x40dd5b['capture'](_0x3da054),_0xe1d52e('data:\x20'+JSON['stringify'](_0x3da054)+'\x0a\x0a');},_0x4d5980['signal'])['then'](()=>{_0xe1d52e('data:\x20[DONE]\x0a\x0a');try{if(!_0x1bff4f['destroyed']&&!_0xc7c9b0['writableEnded'])_0xc7c9b0['end']();}catch{}})['catch'](_0x4099c8=>{_0xe1d52e('data:\x20'+JSON['stringify']({'error':String(_0x4099c8)})+'\x0a\x0a');try{if(!_0x1bff4f['destroyed']&&!_0xc7c9b0['writableEnded'])_0xc7c9b0['end']();}catch{}});});return;}_0xc7c9b0['writeHead'](0x194,{'Content-Type':'application/json'}),_0xc7c9b0['end'](JSON['stringify']({'error':'not\x20found'}));});return _0x52a7c8['listen'](_0x5f1a09,_0x1ed751,()=>{process['stdout']['write']('trayambak\x20server\x20listening\x20on\x20http://'+_0x1ed751+':'+_0x5f1a09+'\x0a'),_0x36ecb8&&_0x319dfe&&process['stdout']['write']('generated\x20bearer\x20token\x20(set\x20TRAYAMBAK_WEB_TOKEN\x20to\x20avoid\x20this):\x20'+_0x319dfe+'\x0a');}),Object['defineProperty'](_0x52a7c8,'effectiveToken',{'value':_0x319dfe??'','enumerable':![]}),_0x52a7c8;}function safeJson(_0x2fe68d){try{return JSON['parse'](_0x2fe68d);}catch{return{};}}let githubJobQueue=Promise['resolve']();function enqueueGithubJob(_0x288504,_0x5812d7){const _0x38a77=githubJobQueue['then'](()=>runGithubJob(_0x288504,_0x5812d7))['catch'](_0x28c22e=>{return process['stderr']['write']('[github-app]\x20job\x20failed:\x20'+(_0x28c22e instanceof Error?_0x28c22e['message']:String(_0x28c22e))+'\x0a'),'';});return githubJobQueue=_0x38a77['then'](()=>undefined),_0x38a77;}async function postGithubComment(_0x585817,_0x27ada0,_0x3f1fc7,_0x5dfd30,_0x418801){try{const _0x195753=await fetch('https://api.github.com/repos/'+_0x585817+'/'+_0x27ada0+'/issues/'+_0x3f1fc7+'/comments',{'method':'POST','headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x418801,'Content-Type':'application/json','X-GitHub-Api-Version':'2022-11-28'},'body':JSON['stringify']({'body':_0x5dfd30['slice'](0x0,0xfa0)}),'signal':AbortSignal['timeout'](0x4e20)});return _0x195753['status']===0xc9;}catch{return![];}}async function allInstalledRepos(){const _0x47f736=githubAppJwt();if(!_0x47f736)return[];try{const _0x5ba732=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x47f736,'X-GitHub-Api-Version':'2022-11-28'},'signal':AbortSignal['timeout'](0x4e20)}),_0x491095=await _0x5ba732['json']();if(!_0x5ba732['ok']||!Array['isArray'](_0x491095))return[];const _0x4528ac=[];for(const _0x24ac14 of _0x491095){if(typeof _0x24ac14?.['id']!=='number')continue;const _0x5d75a9=await installationTokenFor(_0x24ac14['id']);if(!_0x5d75a9)continue;const _0x437fc5=await githubApi('/installation/repositories?per_page=100',_0x5d75a9);if(_0x437fc5['status']!==0xc8||!_0x437fc5['json']||typeof _0x437fc5['json']!=='object')continue;const _0x2fc8a3=_0x437fc5['json']['repositories'];if(!Array['isArray'](_0x2fc8a3))continue;for(const _0x599057 of _0x2fc8a3){_0x599057&&typeof _0x599057==='object'&&typeof _0x599057['full_name']==='string'&&_0x4528ac['push'](_0x599057['full_name']['toLowerCase']());}}return[...new Set(_0x4528ac)];}catch{return[];}}function githubAppJwt(){const _0x4eb1e6=(process.env.GITHUB_APP_ID??'')['trim']();let _0x1f8602=(process.env.GITHUB_PRIVATE_KEY??'')['trim']();if(!_0x4eb1e6||!_0x1f8602)return'';if(!_0x1f8602['includes']('BEGIN'))try{_0x1f8602=(0x0,node_fs_1['readFileSync'])(_0x1f8602,'utf8');}catch{return'';}try{return(0x0,github_app_js_1['createAppJwt'])(_0x4eb1e6,_0x1f8602);}catch{return'';}}async function installationIdForOwner(_0x694501){const _0x4a18c8=githubAppJwt();if(!_0x4a18c8)return 0x0;try{const _0x55388f=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x4a18c8,'X-GitHub-Api-Version':'2022-11-28'},'signal':AbortSignal['timeout'](0x4e20)}),_0x3ed43b=await _0x55388f['json']();if(!_0x55388f['ok']||!Array['isArray'](_0x3ed43b))return 0x0;const _0x53fd95=_0x3ed43b['find'](_0x2f647c=>_0x2f647c&&typeof _0x2f647c['account']?.['login']==='string'&&_0x2f647c['account']['login']['toLowerCase']()===_0x694501['toLowerCase']());return typeof _0x53fd95?.['id']==='number'?_0x53fd95['id']:0x0;}catch{return 0x0;}}async function installationTokenFor(_0x5bec47){const _0x43f0c7=githubAppJwt();if(!_0x43f0c7||!_0x5bec47)return'';try{const _0x181b1c=process.env.GITHUB_API_BASE??'https://api.github.com';return await(0x0,github_app_js_1['createInstallationToken'])(_0x181b1c,_0x43f0c7,_0x5bec47);}catch{return'';}}async function serveReadmeImage(_0x19fb3d,_0xae2491,_0x3aa5c9,_0x1f5e44){try{const _0x1bf720=_0x1f5e44['slice']('/img/'['length']);if(!/^[A-Za-z0-9_-]+\.(png|jpg|jpeg)$/i['test'](_0x1bf720)){_0xae2491['writeHead'](0x194,{'Content-Type':'application/json'}),_0xae2491['end'](JSON['stringify']({'error':'not\x20found'}));return;}const {readFile:_0x62e5dd}=await Promise['resolve']()['then'](()=>__importStar(require('node:fs/promises'))),_0x33d237=await _0x62e5dd((0x0,node_path_1['join'])(_0x3aa5c9,_0x1bf720)),_0x120f02=/\.png$/i['test'](_0x1bf720)?'image/png':'image/jpeg';_0xae2491['writeHead'](0xc8,{'Content-Type':_0x120f02,'Cache-Control':'public,\x20max-age=86400'}),_0xae2491['end'](_0x33d237);}catch{_0xae2491['writeHead'](0x194,{'Content-Type':'application/json'}),_0xae2491['end'](JSON['stringify']({'error':'not\x20found'}));}}async function serveDocsFile(_0x26680f,_0x10506e,_0x17a558,_0x5af8f6){try{const _0x4b5238=_0x5af8f6['slice']('/docs/'['length']);if(!/^[A-Za-z0-9_-]+\.md$/i['test'](_0x4b5238)){_0x10506e['writeHead'](0x194,{'Content-Type':'application/json'}),_0x10506e['end'](JSON['stringify']({'error':'not\x20found'}));return;}const {readFile:_0x2e37ee}=await Promise['resolve']()['then'](()=>__importStar(require('node:fs/promises'))),_0x144883=await _0x2e37ee((0x0,node_path_1['join'])(_0x17a558,_0x4b5238));_0x10506e['writeHead'](0xc8,{'Content-Type':'text/markdown;\x20charset=utf-8','Cache-Control':'public,\x20max-age=3600'}),_0x10506e['end'](_0x144883);}catch{_0x10506e['writeHead'](0x194,{'Content-Type':'application/json'}),_0x10506e['end'](JSON['stringify']({'error':'not\x20found'}));}}function licenseMachineId(_0x56b93f){if(typeof _0x56b93f!=='string')return'';const _0x57b9aa=_0x56b93f['trim']();return _0x57b9aa['length']>=0x4&&_0x57b9aa['length']<=0x80?_0x57b9aa:'';}async function githubApi(_0x2b258d,_0x54c9c1,_0x2f9bb7=0x4e20){try{const _0x471fbf=await fetch('https://api.github.com'+_0x2b258d,{'headers':{'Accept':'application/vnd.github+json','User-Agent':'trayambak','Authorization':'Bearer\x20'+_0x54c9c1,'X-GitHub-Api-Version':'2022-11-28'},'signal':AbortSignal['timeout'](_0x2f9bb7)});let _0x346de4=null;try{_0x346de4=await _0x471fbf['json']();}catch{}return{'status':_0x471fbf['status'],'json':_0x346de4};}catch{return{'status':0x0,'json':null};}}function clientIp(_0x3973e9){const _0x42cb85=_0x1d1821=>(Array['isArray'](_0x1d1821)?_0x1d1821[0x0]:_0x1d1821)?.['split'](',')[0x0]?.['trim']()??'';return _0x42cb85(_0x3973e9['headers']['cf-connecting-ip'])||_0x42cb85(_0x3973e9['headers']['x-forwarded-for'])||_0x42cb85(_0x3973e9['headers']['x-real-ip'])||_0x3973e9['socket']['remoteAddress']||'unknown';}async function runGithubJob(_0xd7675d,_0x1bdab5){const _0x5a83ff=process.env.GITHUB_API_BASE??'https://api.github.com',_0x37288b=new Date()['toISOString']();process['stdout']['write']('[github-app]\x20job\x20'+_0xd7675d['repoFullName']+'#'+_0xd7675d['issueNumber']+'\x20started\x20at\x20'+_0x37288b+'\x0a');const _0x171dd2=process.env.TRAYAMBAK_GITHUB_WORKSPACE??(0x0,index_js_1['loadConfig'])()['cwd'],_0x25d5bd=(0x0,index_js_1['loadConfig'])(),_0xd07c75={..._0x25d5bd,'cwd':_0x171dd2,'permissions':{..._0x25d5bd['permissions'],'rulesV2':[..._0x25d5bd['permissions']?.['rulesV2']??[],{'tool':'github','action':'allow','reason':'GitHub\x20App\x20job:\x20comment-authorized,\x20installation-token\x20scoped'}]}},_0x31a7f8=new index_js_1['Agent']({'config':_0xd07c75}),_0x5bdaa5=process.env.GITHUB_APP_ID??'';let _0x1f2905=process.env.GITHUB_PRIVATE_KEY??'';if(_0x1f2905&&!_0x1f2905['includes']('BEGIN')){const _0xefd702=await Promise['resolve']()['then'](()=>__importStar(require('node:fs')));try{_0x1f2905=_0xefd702['readFileSync'](_0x1f2905,'utf8');}catch{_0x1f2905='';}}const _0x4244f1=_0x1bdab5?.['installation'],_0x543823=typeof _0x4244f1?.['id']==='number'?_0x4244f1['id']:0x0;let _0x1e3324='';if(_0x5bdaa5&&_0x1f2905&&_0x543823)try{_0x1e3324=await(0x0,github_app_js_1['createInstallationToken'])(_0x5a83ff,(0x0,github_app_js_1['createAppJwt'])(_0x5bdaa5,_0x1f2905),_0x543823);}catch(_0x4b4462){process['stdout']['write']('[github-app]\x20installation\x20token\x20mint\x20failed:\x20'+(_0x4b4462 instanceof Error?_0x4b4462['message']:String(_0x4b4462))+'\x0a');}let _0x1d6029=[],_0x16dc95='';const _0x34d9d6=[],_0x487a54=[],_0x68dd03=_0x300504=>{try{if(_0x300504?.['type']==='budget_exhausted'){_0x34d9d6['push']('Budget\x20exhausted\x20(used\x20'+(typeof _0x300504['used']==='number'?_0x300504['used']:'?')+'\x20of\x20'+(typeof _0x300504['max']==='number'?_0x300504['max']:'?')+')\x20—\x20the\x20run\x20stopped\x20before\x20the\x20model\x20was\x20called.');return;}if(_0x300504?.['type']==='message_end'){const _0x313450=_0x300504['message'];if(_0x313450?.['stopReason']==='error'&&Array['isArray'](_0x313450['content'])){const _0x14a531=_0x313450['content']['filter'](_0x4be2d3=>!!_0x4be2d3&&typeof _0x4be2d3==='object'&&_0x4be2d3['type']==='text')['map'](_0x754c08=>_0x754c08['text'])['join']('\x0a')['trim']();if(_0x14a531)_0x34d9d6['push'](_0x14a531);}if(_0x313450?.['role']==='tool'&&Array['isArray'](_0x313450['content'])){const _0x2ed77c=_0x313450['content']['filter'](_0xc46af=>!!_0xc46af&&typeof _0xc46af==='object'&&_0xc46af['type']==='text')['map'](_0x3a8dd8=>_0x3a8dd8['text'])['join']('\x0a');_0x2ed77c&&/fail|error|denied|not found|404|401|403|refus/i['test'](_0x2ed77c)&&_0x487a54['push'](_0x2ed77c['slice'](0x0,0x12c));}}}catch{}};try{const _0x3180db=process.env.GITHUB_TOKEN;if(_0x1e3324)process.env.GITHUB_TOKEN=_0x1e3324;const _0x449d0d=(0x0,github_app_js_1['describeGithubThread'])(_0x1bdab5);try{_0x1d6029=await _0x31a7f8['run']('GitHub\x20request\x20in\x20'+_0xd7675d['repoFullName']+(_0xd7675d['isPullRequest']?'\x20(pull\x20request':'\x20(issue')+'\x20#'+_0xd7675d['issueNumber']+'):\x0a'+_0xd7675d['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.'+(_0x449d0d?'\x0a\x0aContext\x20from\x20GitHub:\x0a'+_0x449d0d:''),_0x68dd03);}finally{if(_0x1e3324){if(_0x3180db===undefined)delete process.env.GITHUB_TOKEN;else process.env.GITHUB_TOKEN=_0x3180db;}}}catch(_0x2657e3){_0x16dc95=_0x2657e3 instanceof Error?_0x2657e3['message']:String(_0x2657e3);}const _0x46edfc=(0x0,github_app_js_1['selectJobReply'])(_0x1d6029,_0x16dc95,_0x34d9d6);(0x0,github_jobs_js_1['recordJob'])({'repo':_0xd7675d['repoFullName'],'issue':_0xd7675d['issueNumber'],'task':_0xd7675d['task'],'messages':_0x1d6029['length'],'replyHead':_0x46edfc,..._0x16dc95?{'error':_0x16dc95}:{}});const _0x55d6a9=_0x1d6029['map'](_0x17ddf4=>{const _0x51edc6=Array['isArray'](_0x17ddf4['content'])?_0x17ddf4['content']['map'](_0x5859d9=>_0x5859d9?.['type']??'?')['join']('+'):typeof _0x17ddf4['content'];return(_0x17ddf4['role']??'?')+'['+_0x51edc6+']';})['join']('\x20');process['stdout']['write']('[github-app]\x20job\x20'+_0xd7675d['repoFullName']+'#'+_0xd7675d['issueNumber']+'\x20finished\x20('+_0x1d6029['length']+'\x20messages:\x20'+(_0x55d6a9||'none')+(_0x16dc95?',\x20error:\x20'+_0x16dc95['slice'](0x0,0xc8):'')+(_0x487a54['length']>0x0?',\x20toolDiags:\x20'+_0x487a54['join']('\x20||\x20')['slice'](0x0,0x258):'')+')\x0a');if(!_0x5bdaa5||!_0x1f2905||!_0x543823||!_0x1e3324)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'+_0x46edfc+'\x0a---\x20end\x20---\x0a'),_0x46edfc;const {owner:_0x2ab744,repo:_0x4c857b}=(0x0,github_app_js_1['splitRepo'])(_0xd7675d['repoFullName']),_0x1b5652=_0x46edfc['length']>0xea60?_0x46edfc['slice'](0x0,0xea60)+'\x0a\x0a…(truncated,\x20full\x20log\x20on\x20the\x20VPS)':_0x46edfc;return await(0x0,github_app_js_1['postIssueComment'])({'apiBase':_0x5a83ff,'token':_0x1e3324},_0x2ab744,_0x4c857b,_0xd7675d['issueNumber'],'##\x20Trayambak\x20result\x0a\x0a'+_0x1b5652),process['stdout']['write']('[github-app]\x20job\x20'+_0xd7675d['repoFullName']+'#'+_0xd7675d['issueNumber']+'\x20replied\x0a'),_0x46edfc;}
1
+ 'use strict';const _0x372c81=_0x57ce;(function(_0x44438d,_0x351ace){const _0x482d30=_0x57ce,_0xe62ddd=_0x44438d();while(!![]){try{const _0x15a851=-parseInt(_0x482d30(0x215))/0x1*(parseInt(_0x482d30(0x250))/0x2)+parseInt(_0x482d30(0x240))/0x3+parseInt(_0x482d30(0x247))/0x4+-parseInt(_0x482d30(0x28f))/0x5+-parseInt(_0x482d30(0x1b0))/0x6+parseInt(_0x482d30(0x17b))/0x7*(parseInt(_0x482d30(0x263))/0x8)+parseInt(_0x482d30(0x2a0))/0x9*(parseInt(_0x482d30(0x221))/0xa);if(_0x15a851===_0x351ace)break;else _0xe62ddd['push'](_0xe62ddd['shift']());}catch(_0xf64122){_0xe62ddd['push'](_0xe62ddd['shift']());}}}(_0x3a9f,0x6c0af));var __createBinding=this&&this[_0x372c81(0x2a1)]||(Object['create']?function(_0x17d2c0,_0x25e246,_0x4b04a5,_0x287976){const _0x83278c=_0x372c81;if(_0x287976===undefined)_0x287976=_0x4b04a5;var _0x1b1d01=Object[_0x83278c(0x29d)](_0x25e246,_0x4b04a5);(!_0x1b1d01||(_0x83278c(0x13a)in _0x1b1d01?!_0x25e246[_0x83278c(0x1f5)]:_0x1b1d01[_0x83278c(0x1ea)]||_0x1b1d01[_0x83278c(0x15b)]))&&(_0x1b1d01={'enumerable':!![],'get':function(){return _0x25e246[_0x4b04a5];}}),Object[_0x83278c(0x16f)](_0x17d2c0,_0x287976,_0x1b1d01);}:function(_0x48ee82,_0x594445,_0xc9eb71,_0x248fbe){if(_0x248fbe===undefined)_0x248fbe=_0xc9eb71;_0x48ee82[_0x248fbe]=_0x594445[_0xc9eb71];}),__setModuleDefault=this&&this[_0x372c81(0x27f)]||(Object[_0x372c81(0x212)]?function(_0x3a45a2,_0x3c4295){const _0x44aabd=_0x372c81;Object['defineProperty'](_0x3a45a2,_0x44aabd(0x186),{'enumerable':!![],'value':_0x3c4295});}:function(_0x16d0ae,_0x51e095){_0x16d0ae['default']=_0x51e095;}),__importStar=this&&this[_0x372c81(0x1b4)]||(function(){var _0x45e8fc=function(_0x2dd3a7){const _0xf7d7f0=_0x57ce;return _0x45e8fc=Object[_0xf7d7f0(0x1e8)]||function(_0x13a81e){const _0xe8c3f7=_0xf7d7f0;var _0x26a1d1=[];for(var _0x2e31c4 in _0x13a81e)if(Object[_0xe8c3f7(0x23d)][_0xe8c3f7(0x28b)][_0xe8c3f7(0x284)](_0x13a81e,_0x2e31c4))_0x26a1d1[_0x26a1d1[_0xe8c3f7(0x20a)]]=_0x2e31c4;return _0x26a1d1;},_0x45e8fc(_0x2dd3a7);};return function(_0x2b2466){const _0x5621c8=_0x57ce;if(_0x2b2466&&_0x2b2466[_0x5621c8(0x1f5)])return _0x2b2466;var _0x43ca31={};if(_0x2b2466!=null){for(var _0x36497d=_0x45e8fc(_0x2b2466),_0x18ed8a=0x0;_0x18ed8a<_0x36497d[_0x5621c8(0x20a)];_0x18ed8a++)if(_0x36497d[_0x18ed8a]!==_0x5621c8(0x186))__createBinding(_0x43ca31,_0x2b2466,_0x36497d[_0x18ed8a]);}return __setModuleDefault(_0x43ca31,_0x2b2466),_0x43ca31;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['OPENAPI_SPEC']=void 0x0,exports['startServer']=startServer;const http=__importStar(require('http')),crypto_1=require(_0x372c81(0x299)),node_fs_1=require(_0x372c81(0x147)),node_path_1=require(_0x372c81(0x1b2)),index_js_1=require('../../../apps/runtime/src/index.js'),index_js_2=require(_0x372c81(0x187)),transcript_js_1=require('../../session-backends/src/transcript.js'),github_app_js_1=require(_0x372c81(0x286)),license_js_1=require(_0x372c81(0x20b)),license_store_js_1=require(_0x372c81(0x1dd)),github_oauth_js_1=require(_0x372c81(0x26c)),install_ps1_js_1=require(_0x372c81(0x272)),github_jobs_js_1=require(_0x372c81(0x23e)),github_autofix_js_1=require(_0x372c81(0x26d)),cors_js_1=require('./cors.js');function readJsonBody(_0x434035,_0x36dd76){return new Promise(_0x1a4539=>{const _0x1efe34=_0x57ce;let _0x1c6940='',_0xae0478=0x0,_0x53be68=![];const _0x363e44=(_0x21abca,_0x10772b)=>{const _0x28a7ca=_0x57ce;if(_0x53be68)return;_0x53be68=!![],_0x36dd76[_0x28a7ca(0x226)](_0x21abca,{'Content-Type':_0x28a7ca(0x273)}),_0x36dd76['end'](JSON[_0x28a7ca(0x255)]({'error':_0x10772b})),setImmediate(()=>_0x434035['destroy']());};_0x434035['on'](_0x1efe34(0x256),_0x3798d4=>{const _0x7d864f=_0x1efe34;if(_0x53be68)return;const _0x1570f0=typeof _0x3798d4===_0x7d864f(0x1b5)?_0x3798d4:_0x3798d4['toString'](_0x7d864f(0x27b));_0xae0478+=Buffer[_0x7d864f(0x1a2)](_0x1570f0);if(_0xae0478>MAX_BODY_BYTES){_0x363e44(0x19d,_0x7d864f(0x218));return;}_0x1c6940+=_0x1570f0;}),_0x434035['on'](_0x1efe34(0x239),()=>{const _0x28cade=_0x1efe34;if(_0x53be68||_0x434035[_0x28cade(0x1cc)])return;try{_0x1a4539(JSON['parse'](_0x1c6940));}catch{_0x363e44(0x190,_0x28cade(0x275)),_0x1a4539(null);}});});}function adminPage(){const _0x13c143=_0x372c81;return _0x13c143(0x19f);}const LOOPBACK_HOSTS=new Set([_0x372c81(0x18d),_0x372c81(0x23b),_0x372c81(0x29e),_0x372c81(0x19b)]),MAX_BODY_BYTES=0x100000;exports[_0x372c81(0x1ee)]={'openapi':_0x372c81(0x26b),'info':{'title':_0x372c81(0x25b),'version':_0x372c81(0x222)},'paths':{'/health':{'get':{'summary':_0x372c81(0x203)}},'/v1/models':{'get':{'summary':_0x372c81(0x266)}},'/v1/agent':{'post':{'summary':_0x372c81(0x160)}},'/api/sessions':{'get':{'summary':_0x372c81(0x179)}},'/admin':{'get':{'summary':'License\x20generator\x20UI\x20(SKT\x20operators)'}},'/admin/mint':{'post':{'summary':_0x372c81(0x2b0)}},'/admin/import':{'post':{'summary':_0x372c81(0x146)}},'/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':_0x372c81(0x198)}},'/admin/jobs':{'get':{'summary':'Tail\x20GitHub\x20job\x20history\x20(bearer-gated)'}},'/license/verify':{'post':{'summary':_0x372c81(0x1ba)}},'/license/activate':{'post':{'summary':_0x372c81(0x1bf)}},'/license/mint-trial':{'post':{'summary':_0x372c81(0x2a2)}},'/auth/github/start':{'post':{'summary':_0x372c81(0x25e)}},'/auth/github/callback':{'get':{'summary':_0x372c81(0x1fd)}},'/auth/github/status':{'get':{'summary':_0x372c81(0x29c)}},'/auth/github/logout':{'post':{'summary':_0x372c81(0x220)}},'/github/read':{'post':{'summary':_0x372c81(0x253)}},'/github/repos':{'get':{'summary':_0x372c81(0x23a)}},'/github/write':{'post':{'summary':'Create/update\x20a\x20repo\x20file\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)'}},'/github/branch':{'post':{'summary':_0x372c81(0x282)}},'/github/pr':{'post':{'summary':'Open\x20a\x20repo\x20PR\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)'}},'/github/copy':{'post':{'summary':_0x372c81(0x1f8)}},'/img/:name':{'get':{'summary':_0x372c81(0x210)}},'/docs/:name':{'get':{'summary':_0x372c81(0x1f0)}},'/install.ps1':{'get':{'summary':_0x372c81(0x1ec)}},'/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(_0x53d852={}){const _0x27e5bc=_0x372c81,_0x5055bf=_0x53d852[_0x27e5bc(0x225)]??Number(process.env.TRAYAMBAK_SERVER_PORT??0x2253),_0x3b5a1f=_0x53d852[_0x27e5bc(0x142)]??_0x27e5bc(0x18d);let _0x2bfcfb=_0x53d852[_0x27e5bc(0x168)]??process.env.TRAYAMBAK_WEB_TOKEN;const _0x1ed990=_0x53d852[_0x27e5bc(0x1e9)]??process.env.TRAYAMBAK_WEB_ORIGINS??'';let _0x75d239=![];!_0x2bfcfb&&!LOOPBACK_HOSTS[_0x27e5bc(0x1d4)](_0x3b5a1f)&&(_0x2bfcfb=(0x0,crypto_1['randomBytes'])(0x20)[_0x27e5bc(0x2af)](_0x27e5bc(0x2b3)),_0x75d239=!![]);const _0x306fff=(0x0,index_js_1[_0x27e5bc(0x1bd)])(),_0x56dbcb=(0x0,index_js_2[_0x27e5bc(0x28a)])(![]),_0x35404f=(0x0,license_store_js_1[_0x27e5bc(0x269)])(),_0x4d0215=new license_store_js_1[(_0x27e5bc(0x14d))]({'file':_0x53d852[_0x27e5bc(0x153)]??_0x35404f[_0x27e5bc(0x177)],'usageFile':_0x53d852['licenseUsagePath']??_0x35404f[_0x27e5bc(0x259)]}),_0x20ef9f=new Set([_0x27e5bc(0x1ab),_0x27e5bc(0x25a),_0x27e5bc(0x224),'/license/mint-trial',_0x27e5bc(0x2ae),'/auth/github/start','/auth/github/callback',_0x27e5bc(0x190),_0x27e5bc(0x1aa),_0x27e5bc(0x292),_0x27e5bc(0x24e),'/github/write',_0x27e5bc(0x2bc),'/github/pr',_0x27e5bc(0x278),_0x27e5bc(0x235)]),_0x2b0c3f=_0x53d852[_0x27e5bc(0x1db)]??process.env.TRAYAMBAK_IMG_DIR??_0x27e5bc(0x1f1),_0x45a9a6=_0x53d852[_0x27e5bc(0x1ac)]??process.env.TRAYAMBAK_DOCS_DIR??_0x27e5bc(0x2aa),_0x299537=new Map(),_0x293893=0x5,_0x355afb=new Map(),_0x4794b5=0xa,_0x3f3e82=new github_oauth_js_1[(_0x27e5bc(0x148))](_0x53d852[_0x27e5bc(0x188)]??(0x0,github_oauth_js_1[_0x27e5bc(0x1d1)])()),_0x541b66=(0x0,github_autofix_js_1[_0x27e5bc(0x14c)])(process.env.GITHUB_AUTOFIX_REPOS),_0x12e364=(process.env.GITHUB_AUTOFIX_LABEL??_0x27e5bc(0x24f))['trim']()||_0x27e5bc(0x24f),_0x3defca=Math[_0x27e5bc(0x29a)](Math[_0x27e5bc(0x174)](Number(process.env.GITHUB_AUTOFIX_INTERVAL_MIN??0x1e)||0x1e,0x5),0x5a0),_0x411fb8=process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT===undefined?(0x0,github_autofix_js_1['defaultTriageComment'])(_0x12e364):process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT??'';if(_0x541b66[_0x27e5bc(0x20a)]>0x0){const _0x4ac649=new github_autofix_js_1[(_0x27e5bc(0x249))]((0x0,github_autofix_js_1[_0x27e5bc(0x245)])()),_0xbf4772=()=>{void((async()=>{const _0x5cba7a=_0x57ce;try{const _0x59b4d9=await(0x0,github_autofix_js_1[_0x5cba7a(0x170)])({'repos':_0x541b66,'label':_0x12e364,'ledger':_0x4ac649,'installationIdFor':installationIdForOwner,'tokenFor':installationTokenFor,'fetchJson':async(_0x5eda44,_0xe87420)=>{const _0x1d14ff=_0x5cba7a,_0x15b5b4=await githubApi(_0x5eda44,_0xe87420);return{'status':_0x15b5b4[_0x1d14ff(0x1a3)],'json':_0x15b5b4[_0x1d14ff(0x229)]};},'listAllRepos':allInstalledRepos,'postComment':async(_0x1aacb3,_0x5236a2,_0x28271c)=>{const _0x1970b1=_0x5cba7a,_0x32445a=_0x1aacb3[_0x1970b1(0x2ba)]('/')[0x0]??'',_0xebd6e9=await installationIdForOwner(_0x32445a)['catch'](()=>0x0);if(!_0xebd6e9)return![];const _0x49c577=await installationTokenFor(_0xebd6e9)[_0x1970b1(0x260)](()=>'');if(!_0x49c577)return![];return postGithubComment(_0x32445a,_0x1aacb3[_0x1970b1(0x2ba)]('/')[0x1]??'',_0x5236a2,_0x28271c,_0x49c577);},'triageComment':_0x411fb8,'runJob':(_0x15556c,_0x564c31,_0x259289,_0x2b0965)=>enqueueGithubJob({'repoFullName':_0x15556c,'issueNumber':_0x564c31,'task':_0x259289,'isPullRequest':![]},{'installation':{'id':_0x2b0965}})});(_0x59b4d9[_0x5cba7a(0x1a4)]>0x0||_0x59b4d9[_0x5cba7a(0x16c)]['length']>0x0||_0x59b4d9[_0x5cba7a(0x19c)]['length']>0x0)&&process['stdout']['write'](_0x5cba7a(0x208)+_0x59b4d9[_0x5cba7a(0x1a4)]+',\x20ran\x20'+_0x59b4d9[_0x5cba7a(0x16c)][_0x5cba7a(0x20a)]+_0x5cba7a(0x1df)+_0x59b4d9[_0x5cba7a(0x19c)]['length']+'\x0a');}catch(_0x176b90){process['stderr']['write'](_0x5cba7a(0x145)+(_0x176b90 instanceof Error?_0x176b90['message']:String(_0x176b90))+'\x0a');}})());},_0x2bed30=setInterval(_0xbf4772,_0x3defca*0xea60);if(typeof _0x2bed30['unref']===_0x27e5bc(0x295))_0x2bed30[_0x27e5bc(0x1f7)]();const _0x27f933=setTimeout(_0xbf4772,0x1d4c0);if(typeof _0x27f933[_0x27e5bc(0x1f7)]===_0x27e5bc(0x295))_0x27f933['unref']();process[_0x27e5bc(0x1c2)][_0x27e5bc(0x21a)](_0x27e5bc(0x17c)+_0x541b66[_0x27e5bc(0x24c)](',')+_0x27e5bc(0x163)+_0x12e364+_0x27e5bc(0x262)+_0x3defca+'m\x0a');}else process[_0x27e5bc(0x1c2)]['write'](_0x27e5bc(0x27c));const _0x4b8ed2=http['createServer'](async(_0x540bb8,_0x34ba4a)=>{const _0x1dd414=_0x27e5bc,_0x38015d=(0x0,cors_js_1[_0x1dd414(0x201)])(_0x540bb8[_0x1dd414(0x157)]['origin'],_0x540bb8[_0x1dd414(0x157)][_0x1dd414(0x142)],_0x1ed990);for(const [_0x18a086,_0x14aa1d]of Object['entries'](_0x38015d[_0x1dd414(0x157)])){_0x34ba4a[_0x1dd414(0x138)](_0x18a086,_0x14aa1d);}if(_0x540bb8['method']===_0x1dd414(0x23f)){_0x34ba4a['writeHead'](_0x38015d[_0x1dd414(0x26e)]?0xcc:0x193),_0x34ba4a['end']();return;}if(!_0x38015d[_0x1dd414(0x26e)]){_0x34ba4a[_0x1dd414(0x226)](0x193,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x1dd414(0x1bc)}));return;}const _0x38440a=(_0x540bb8['url']??'/')[_0x1dd414(0x2ba)]('?')[0x0];if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x38440a[_0x1dd414(0x233)](_0x1dd414(0x21c))){serveReadmeImage(_0x540bb8,_0x34ba4a,_0x2b0c3f,_0x38440a);return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x38440a[_0x1dd414(0x233)](_0x1dd414(0x21b))){serveDocsFile(_0x540bb8,_0x34ba4a,_0x45a9a6,_0x38440a);return;}if(_0x2bfcfb&&_0x540bb8[_0x1dd414(0x2a5)]!=='/health'&&!_0x20ef9f[_0x1dd414(0x1d4)](_0x38440a)){const _0x47b494=Buffer[_0x1dd414(0x2b1)](_0x540bb8['headers']['authorization']??''),_0xd20448=Buffer[_0x1dd414(0x2b1)](_0x1dd414(0x140)+_0x2bfcfb),_0x2c5d3c=_0x47b494[_0x1dd414(0x20a)]===_0xd20448[_0x1dd414(0x20a)]&&_0x47b494[_0x1dd414(0x20a)]>0x0&&(0x0,crypto_1['timingSafeEqual'])(_0x47b494,_0xd20448);if(!_0x2c5d3c){_0x34ba4a[_0x1dd414(0x226)](0x191,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x244)}));return;}}if(_0x540bb8[_0x1dd414(0x183)]==='GET'&&_0x540bb8[_0x1dd414(0x2a5)]==='/health'){_0x34ba4a['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON['stringify']({'status':'ok','model':_0x306fff[_0x1dd414(0x2a4)]}));return;}if(_0x540bb8['method']==='GET'&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x1fc)){_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)](exports[_0x1dd414(0x1ee)]));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x279)){_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)});try{_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'sessions':(0x0,transcript_js_1[_0x1dd414(0x167)])()}));}catch{_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'sessions':[]}));}return;}if(_0x540bb8['method']===_0x1dd414(0x18c)&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x217)){_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'data':[{'id':_0x306fff[_0x1dd414(0x2a4)]}]}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x1ce)){_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x169)}),_0x34ba4a[_0x1dd414(0x239)](adminPage());return;}if(_0x540bb8['method']===_0x1dd414(0x14b)&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x139)){const _0x8c73f7=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x8c73f7)return;const _0x289594=typeof _0x8c73f7[_0x1dd414(0x15d)]==='string'?_0x8c73f7[_0x1dd414(0x15d)]:'',_0xc73408=typeof _0x8c73f7[_0x1dd414(0x173)]===_0x1dd414(0x14a)?_0x8c73f7[_0x1dd414(0x173)]:Number[_0x1dd414(0x2ad)];if(_0x289594!==_0x1dd414(0x21e)&&_0x289594!==_0x1dd414(0x251)&&_0x289594!==_0x1dd414(0x1e2)&&_0x289594!=='enterprise'){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x1dd414(0x178)}));return;}if(!Number[_0x1dd414(0x1fe)](_0xc73408)||_0xc73408<0x1||_0xc73408>0xe42){_0x34ba4a['writeHead'](0x190,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x159)}));return;}try{const _0x441a66=Math[_0x1dd414(0x1c8)](Date['now']()/0x5265c00),{activationEpochDays:_0xb0c4b5}=await Promise['resolve']()[_0x1dd414(0x149)](()=>__importStar(require('../../../apps/runtime/src/license.js'))),_0x44cc9d=(0x0,license_js_1['mintActivationKey'])({'plan':_0x289594,'expDays':_0x441a66-_0xb0c4b5()+Math[_0x1dd414(0x1c8)](_0xc73408)},(0x0,license_js_1['activationCheckKey'])()),_0x395d90=typeof _0x8c73f7['id']===_0x1dd414(0x1b5)?_0x8c73f7['id']:undefined,_0x3cd465=_0x4d0215[_0x1dd414(0x1c9)](_0x44cc9d,_0x395d90);_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'key':_0x44cc9d,'id':_0x3cd465['id']}));}catch(_0xee9e39){_0x34ba4a[_0x1dd414(0x226)](0x1f4,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x209)+(_0xee9e39 instanceof Error?_0xee9e39[_0x1dd414(0x1e5)]:String(_0xee9e39))}));}return;}if(_0x540bb8[_0x1dd414(0x183)]==='GET'&&_0x38440a===_0x1dd414(0x235)){_0x34ba4a['writeHead'](0xc8,{'Content-Type':_0x1dd414(0x228)}),_0x34ba4a[_0x1dd414(0x239)](install_ps1_js_1[_0x1dd414(0x20f)]);return;}if(_0x540bb8['method']===_0x1dd414(0x14b)&&_0x38440a===_0x1dd414(0x1ab)){const _0x4cedec=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x4cedec)return;const _0x34c281=licenseMachineId(_0x4cedec[_0x1dd414(0x1ad)]);if(!_0x34c281){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'valid':![],'reason':'missing\x20machineId'}));return;}const _0x3fab87=_0x4d0215[_0x1dd414(0x285)](typeof _0x4cedec[_0x1dd414(0x166)]==='string'?_0x4cedec['key']:'',_0x34c281);if(_0x3fab87[_0x1dd414(0x192)]===!![])_0x4d0215[_0x1dd414(0x1d3)](_0x3fab87[_0x1dd414(0x274)]?.['id']??'');_0x34ba4a['writeHead'](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'valid':_0x3fab87[_0x1dd414(0x192)],'plan':_0x3fab87['plan'],'exp':_0x3fab87[_0x1dd414(0x155)],'reason':_0x3fab87[_0x1dd414(0x271)]}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x38440a===_0x1dd414(0x25a)){const _0x4d12cb=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x4d12cb)return;const _0x14f51d=licenseMachineId(_0x4d12cb[_0x1dd414(0x1ad)]);if(!_0x14f51d){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':![],'reason':_0x1dd414(0x1e7)}));return;}const _0x27011e=_0x4d0215['activate'](typeof _0x4d12cb[_0x1dd414(0x166)]===_0x1dd414(0x1b5)?_0x4d12cb[_0x1dd414(0x166)]:'',_0x14f51d);_0x34ba4a['writeHead'](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'ok':_0x27011e['ok'],'plan':_0x27011e[_0x1dd414(0x15d)],'exp':_0x27011e[_0x1dd414(0x155)],'reason':_0x27011e['reason']}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x38440a==='/license/usage'){const _0x1dc69a=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x1dc69a)return;const _0x23eafb=licenseMachineId(_0x1dc69a[_0x1dd414(0x1ad)]),_0x1e0c28=typeof _0x1dc69a[_0x1dd414(0x1f9)]===_0x1dd414(0x1b5)?_0x1dc69a[_0x1dd414(0x1f9)][_0x1dd414(0x1cf)](0x0,0x78):'';if(!_0x23eafb||!_0x1e0c28){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x22d)}));return;}const _0x1e8d9b=_0x4d0215[_0x1dd414(0x26f)](typeof _0x1dc69a[_0x1dd414(0x166)]==='string'?_0x1dc69a[_0x1dd414(0x166)]:'',_0x23eafb);if(_0x1e8d9b[_0x1dd414(0x192)]!==!![]){_0x34ba4a[_0x1dd414(0x226)](0x193,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x1e8d9b[_0x1dd414(0x271)]??_0x1dd414(0x1d2)}));return;}_0x4d0215[_0x1dd414(0x1d3)](_0x1e8d9b['record']?.['id']??''),_0x4d0215[_0x1dd414(0x22b)]({'keyId':_0x1e8d9b[_0x1dd414(0x274)]?.['id']??'','machineId':_0x23eafb,'tool':_0x1e0c28,'target':typeof _0x1dc69a[_0x1dd414(0x21d)]===_0x1dd414(0x1b5)?_0x1dc69a[_0x1dd414(0x21d)][_0x1dd414(0x1cf)](0x0,0x12c):'','ok':_0x1dc69a['ok']!==![]}),_0x34ba4a['writeHead'](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![]}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x38440a==='/license/mint-trial'){const _0x1b13f2=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x1b13f2)return;const _0x92a6fc=licenseMachineId(_0x1b13f2[_0x1dd414(0x1ad)]);if(!_0x92a6fc){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':![],'reason':_0x1dd414(0x1e7)}));return;}const _0x36c46d=clientIp(_0x540bb8),_0x382089=Date[_0x1dd414(0x294)](),_0x4614b1=(_0x299537[_0x1dd414(0x13a)](_0x36c46d)??[])[_0x1dd414(0x241)](_0x3a2022=>_0x382089-_0x3a2022<0x36ee80);if(_0x4614b1[_0x1dd414(0x20a)]>=_0x293893){_0x34ba4a[_0x1dd414(0x226)](0x1ad,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'ok':![],'reason':_0x1dd414(0x257)}));return;}_0x4614b1['push'](_0x382089),_0x299537[_0x1dd414(0x290)](_0x36c46d,_0x4614b1);if(_0x4d0215[_0x1dd414(0x19d)](_0x92a6fc)){_0x34ba4a[_0x1dd414(0x226)](0x199,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON['stringify']({'ok':![],'reason':_0x1dd414(0x14f)}));return;}try{const _0x3f92eb=Number(process.env.LICENSE_TRIAL_DAYS??0x7),_0x419b28=Math[_0x1dd414(0x29a)](Math[_0x1dd414(0x174)](Math[_0x1dd414(0x1c8)](Number[_0x1dd414(0x1fe)](_0x3f92eb)?_0x3f92eb:0x7),0x1),0x1e),_0xbf5be7=Math[_0x1dd414(0x1c8)](Date[_0x1dd414(0x294)]()/0x5265c00),{activationEpochDays:_0x36f7ff}=await Promise[_0x1dd414(0x213)]()[_0x1dd414(0x149)](()=>__importStar(require(_0x1dd414(0x20b)))),_0x3a0ff7=(0x0,license_js_1[_0x1dd414(0x281)])({'plan':_0x1dd414(0x251),'expDays':_0xbf5be7-_0x36f7ff()+_0x419b28},(0x0,license_js_1['activationCheckKey'])()),_0x4fa834=_0x4d0215[_0x1dd414(0x1c9)](_0x3a0ff7,_0x1dd414(0x199),{'trial':!![]}),_0x573874=_0x4d0215[_0x1dd414(0x267)](_0x3a0ff7,_0x92a6fc);_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'ok':_0x573874['ok'],'key':_0x3a0ff7,'id':_0x4fa834['id'],'exp':_0x4fa834[_0x1dd414(0x155)],'days':_0x419b28}));}catch(_0x82ae3a){_0x34ba4a[_0x1dd414(0x226)](0x1f4,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':![],'reason':_0x1dd414(0x165)+(_0x82ae3a instanceof Error?_0x82ae3a[_0x1dd414(0x1e5)]:String(_0x82ae3a))}));}return;}if(_0x540bb8['method']===_0x1dd414(0x14b)&&_0x38440a===_0x1dd414(0x17e)){const _0x92cae9=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x92cae9)return;const _0x225c6a=licenseMachineId(_0x92cae9[_0x1dd414(0x1ad)]);if(!_0x225c6a){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON['stringify']({'ok':![],'reason':_0x1dd414(0x1e7)}));return;}const _0x49a26a=(process.env.GITHUB_CLIENT_ID??'')[_0x1dd414(0x1c6)]();if(!_0x49a26a){_0x34ba4a[_0x1dd414(0x226)](0x1f4,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'ok':![],'reason':_0x1dd414(0x24b)}));return;}const _0x3ce1ae=clientIp(_0x540bb8),_0x14382e=Date[_0x1dd414(0x294)](),_0x52289c=(_0x355afb[_0x1dd414(0x13a)](_0x3ce1ae)??[])[_0x1dd414(0x241)](_0x53564c=>_0x14382e-_0x53564c<0x36ee80);if(_0x52289c['length']>=_0x4794b5){_0x34ba4a[_0x1dd414(0x226)](0x1ad,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'ok':![],'reason':_0x1dd414(0x2b9)}));return;}_0x52289c[_0x1dd414(0x15c)](_0x14382e),_0x355afb[_0x1dd414(0x290)](_0x3ce1ae,_0x52289c);const _0x556c5f=_0x3f3e82[_0x1dd414(0x231)](_0x225c6a),_0x5cee53=_0x1dd414(0x2b6)+encodeURIComponent(_0x49a26a)+'&scope=repo&state='+_0x556c5f[_0x1dd414(0x1b8)];_0x34ba4a['writeHead'](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![],'url':_0x5cee53}));return;}if(_0x540bb8['method']==='GET'&&_0x38440a===_0x1dd414(0x156)){const _0x44c76d=(_0x2b2bbf,_0x1c108c,_0x5586b1)=>{const _0x50caf4=_0x1dd414;_0x34ba4a[_0x50caf4(0x226)](_0x5586b1?0xc8:0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x34ba4a[_0x50caf4(0x239)](_0x50caf4(0x154)+_0x2b2bbf+_0x50caf4(0x242)+_0x50caf4(0x176)+('<body><h1>'+_0x2b2bbf+_0x50caf4(0x200)+_0x1c108c+'</p></body></html>'));},_0x29fc87=new URL(_0x540bb8[_0x1dd414(0x2a5)]??'/','http://localhost')[_0x1dd414(0x29b)],_0x454a18=_0x29fc87[_0x1dd414(0x13a)](_0x1dd414(0x293))??'',_0x34b264=_0x29fc87[_0x1dd414(0x13a)](_0x1dd414(0x1b8))??'',_0x59edbc=_0x3f3e82[_0x1dd414(0x1fa)](_0x34b264);if(!_0x454a18||!_0x59edbc){_0x44c76d(_0x1dd414(0x202),'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 _0x1bb5bb=(process.env.GITHUB_CLIENT_ID??'')[_0x1dd414(0x1c6)](),_0x51f27a=(process.env.GITHUB_CLIENT_SECRET??'')[_0x1dd414(0x1c6)]();if(!_0x1bb5bb||!_0x51f27a){_0x44c76d(_0x1dd414(0x1be),_0x1dd414(0x237),![]);return;}try{const _0x569b50=await fetch(_0x1dd414(0x1a6),{'method':_0x1dd414(0x14b),'headers':{'Content-Type':_0x1dd414(0x273),'Accept':_0x1dd414(0x273),'User-Agent':_0x1dd414(0x24f)},'body':JSON[_0x1dd414(0x255)]({'client_id':_0x1bb5bb,'client_secret':_0x51f27a,'code':_0x454a18}),'signal':AbortSignal[_0x1dd414(0x13f)](0x4e20)}),_0x21e351=await _0x569b50['json']();if(!_0x569b50['ok']||typeof _0x21e351[_0x1dd414(0x196)]!=='string'||!_0x21e351['access_token'])throw new Error(typeof _0x21e351[_0x1dd414(0x181)]===_0x1dd414(0x1b5)?_0x21e351['error_description']:_0x1dd414(0x268)+_0x569b50[_0x1dd414(0x1a3)]);const _0x1d7f2f=await githubApi(_0x1dd414(0x18f),_0x21e351[_0x1dd414(0x196)]),_0x54ab3e=_0x1d7f2f[_0x1dd414(0x229)]&&typeof _0x1d7f2f['json']===_0x1dd414(0x1d0)&&typeof _0x1d7f2f[_0x1dd414(0x229)][_0x1dd414(0x1b1)]==='string'?_0x1d7f2f[_0x1dd414(0x229)]['login']:_0x1dd414(0x1af);_0x3f3e82[_0x1dd414(0x29f)](_0x59edbc,_0x21e351[_0x1dd414(0x196)],_0x54ab3e),_0x44c76d(_0x1dd414(0x16b),_0x1dd414(0x24d)+_0x54ab3e+_0x1dd414(0x22a),!![]);}catch(_0x293be6){_0x44c76d(_0x1dd414(0x202),'Could\x20not\x20finish\x20login\x20('+(_0x293be6 instanceof Error?_0x293be6[_0x1dd414(0x1e5)]:String(_0x293be6))+').\x20Run\x20/github\x20login\x20again.',![]);}return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x38440a===_0x1dd414(0x190)){const _0x403fd1=licenseMachineId(new URL(_0x540bb8[_0x1dd414(0x2a5)]??'/','http://localhost')['searchParams'][_0x1dd414(0x13a)](_0x1dd414(0x1ad))),_0x5a2923=_0x403fd1?_0x3f3e82['tokenFor'](_0x403fd1):undefined;_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify'](_0x5a2923?{'authorized':!![],'login':_0x5a2923[_0x1dd414(0x1b1)]}:{'authorized':![]}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x38440a===_0x1dd414(0x1aa)){const _0xaa3535=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0xaa3535)return;const _0x3b2314=licenseMachineId(_0xaa3535['machineId']);_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'ok':_0x3b2314?_0x3f3e82['logout'](_0x3b2314):![]}));return;}if(_0x540bb8['method']===_0x1dd414(0x14b)&&_0x38440a==='/github/read'){const _0x4894d5=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x4894d5)return;const _0x54e4b2=licenseMachineId(_0x4894d5[_0x1dd414(0x1ad)]),_0x156c5e=_0x54e4b2?_0x3f3e82[_0x1dd414(0x172)](_0x54e4b2):undefined;if(!_0x156c5e){_0x34ba4a[_0x1dd414(0x226)](0x191,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x27e)}));return;}let _0x299a37='',_0x2497fd='';try{;({owner:_0x299a37,repo:_0x2497fd}=(0x0,github_app_js_1[_0x1dd414(0x144)])(typeof _0x4894d5[_0x1dd414(0x13e)]===_0x1dd414(0x1b5)?_0x4894d5[_0x1dd414(0x13e)]:''));}catch{_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':'repo\x20must\x20be\x20owner/name'}));return;}const _0x3ef535=Math[_0x1dd414(0x1c8)](Number(_0x4894d5['number']));if(!Number[_0x1dd414(0x1fe)](_0x3ef535)||_0x3ef535<0x1){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1eb)}));return;}const _0x585749=_0x4894d5[_0x1dd414(0x2b7)]!==![],[_0x414fbc,_0x2af9ae]=await Promise[_0x1dd414(0x1de)]([githubApi(_0x1dd414(0x16e)+_0x299a37+'/'+_0x2497fd+_0x1dd414(0x276)+_0x3ef535,_0x156c5e[_0x1dd414(0x168)]),_0x585749?githubApi(_0x1dd414(0x16e)+_0x299a37+'/'+_0x2497fd+_0x1dd414(0x276)+_0x3ef535+'/comments?per_page=20',_0x156c5e[_0x1dd414(0x168)]):Promise[_0x1dd414(0x213)]({'status':0xc8,'json':[]})]);if(_0x414fbc[_0x1dd414(0x1a3)]===0x0){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1f3)}));return;}if(_0x414fbc[_0x1dd414(0x1a3)]!==0xc8||!_0x414fbc[_0x1dd414(0x229)]||typeof _0x414fbc[_0x1dd414(0x229)]!==_0x1dd414(0x1d0)){const _0x271c23=_0x414fbc[_0x1dd414(0x229)]&&typeof _0x414fbc['json']==='object'&&typeof _0x414fbc[_0x1dd414(0x229)][_0x1dd414(0x1e5)]===_0x1dd414(0x1b5)?_0x414fbc[_0x1dd414(0x229)][_0x1dd414(0x1e5)]:_0x1dd414(0x268)+_0x414fbc[_0x1dd414(0x1a3)];_0x34ba4a[_0x1dd414(0x226)](_0x414fbc[_0x1dd414(0x1a3)]===0x194?0x194:0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x1dd414(0x1d6)+_0x271c23}));return;}const _0x5d313b=_0x414fbc[_0x1dd414(0x229)],_0xc7281a=Array[_0x1dd414(0x1f6)](_0x2af9ae['json'])?_0x2af9ae['json']:[];_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![],'issue':{'number':typeof _0x5d313b[_0x1dd414(0x14a)]==='number'?_0x5d313b['number']:_0x3ef535,'title':typeof _0x5d313b[_0x1dd414(0x214)]===_0x1dd414(0x1b5)?_0x5d313b['title']:'','state':typeof _0x5d313b[_0x1dd414(0x1b8)]===_0x1dd414(0x1b5)?_0x5d313b[_0x1dd414(0x1b8)]:'','author':_0x5d313b[_0x1dd414(0x236)]&&typeof _0x5d313b[_0x1dd414(0x236)]===_0x1dd414(0x1d0)&&typeof _0x5d313b['user']['login']===_0x1dd414(0x1b5)?_0x5d313b[_0x1dd414(0x236)][_0x1dd414(0x1b1)]:'','url':typeof _0x5d313b['html_url']===_0x1dd414(0x1b5)?_0x5d313b[_0x1dd414(0x22f)]:'','body':typeof _0x5d313b[_0x1dd414(0x252)]==='string'?_0x5d313b[_0x1dd414(0x252)]['slice'](0x0,0x1f40):'','commentsCount':typeof _0x5d313b[_0x1dd414(0x13b)]==='number'?_0x5d313b[_0x1dd414(0x13b)]:_0xc7281a[_0x1dd414(0x20a)],'isPullRequest':_0x5d313b[_0x1dd414(0x1ed)]!==undefined},'comments':_0xc7281a[_0x1dd414(0x241)](_0x2ae4b9=>!!_0x2ae4b9&&typeof _0x2ae4b9==='object')['slice'](-0x14)[_0x1dd414(0x2a7)](_0x4061e9=>({'author':_0x4061e9[_0x1dd414(0x236)]&&typeof _0x4061e9[_0x1dd414(0x236)]===_0x1dd414(0x1d0)&&typeof _0x4061e9['user'][_0x1dd414(0x1b1)]===_0x1dd414(0x1b5)?_0x4061e9[_0x1dd414(0x236)][_0x1dd414(0x1b1)]:'','body':typeof _0x4061e9[_0x1dd414(0x252)]===_0x1dd414(0x1b5)?_0x4061e9['body'][_0x1dd414(0x1cf)](0x0,0x7d0):'','createdAt':typeof _0x4061e9[_0x1dd414(0x1b3)]===_0x1dd414(0x1b5)?_0x4061e9[_0x1dd414(0x1b3)]:''}))}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x38440a===_0x1dd414(0x24e)){const _0x22e9a4=licenseMachineId(new URL(_0x540bb8[_0x1dd414(0x2a5)]??'/',_0x1dd414(0x277))['searchParams'][_0x1dd414(0x13a)](_0x1dd414(0x1ad))),_0x5500bb=_0x22e9a4?_0x3f3e82['tokenFor'](_0x22e9a4):undefined;if(!_0x5500bb){_0x34ba4a[_0x1dd414(0x226)](0x191,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':'GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first'}));return;}const _0x1904fe=await githubApi(_0x1dd414(0x296),_0x5500bb[_0x1dd414(0x168)]);if(_0x1904fe[_0x1dd414(0x1a3)]===0x0){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1f3)}));return;}if(_0x1904fe[_0x1dd414(0x1a3)]!==0xc8||!Array[_0x1dd414(0x1f6)](_0x1904fe[_0x1dd414(0x229)])){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x1904fe['json'],_0x1904fe[_0x1dd414(0x1a3)])}));return;}_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![],'login':_0x5500bb[_0x1dd414(0x1b1)],'repos':_0x1904fe['json'][_0x1dd414(0x241)](_0x46adfb=>!!_0x46adfb&&typeof _0x46adfb===_0x1dd414(0x1d0))[_0x1dd414(0x2a7)](_0x1d95bf=>({'fullName':typeof _0x1d95bf['full_name']===_0x1dd414(0x1b5)?_0x1d95bf['full_name']:'','private':_0x1d95bf['private']===!![],'defaultBranch':typeof _0x1d95bf[_0x1dd414(0x20c)]===_0x1dd414(0x1b5)?_0x1d95bf['default_branch']:'main','updatedAt':typeof _0x1d95bf['updated_at']===_0x1dd414(0x1b5)?_0x1d95bf['updated_at']:''}))[_0x1dd414(0x241)](_0x5ead01=>_0x5ead01[_0x1dd414(0x2ac)]['length']>0x0)}));return;}if(_0x540bb8['method']==='POST'&&_0x38440a===_0x1dd414(0x1c5)){const _0x2be675=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x2be675)return;const _0xe5281d=licenseMachineId(_0x2be675[_0x1dd414(0x1ad)]),_0x345515=_0xe5281d?_0x3f3e82[_0x1dd414(0x172)](_0xe5281d):undefined;if(!_0x345515){_0x34ba4a[_0x1dd414(0x226)](0x191,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x27e)}));return;}let _0x207f77='',_0x167e35='';try{;({owner:_0x207f77,repo:_0x167e35}=(0x0,github_app_js_1[_0x1dd414(0x144)])(typeof _0x2be675[_0x1dd414(0x13e)]===_0x1dd414(0x1b5)?_0x2be675[_0x1dd414(0x13e)]:''));}catch{_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x197)}));return;}const _0x453a47=typeof _0x2be675['path']==='string'?_0x2be675['path']['trim']()[_0x1dd414(0x17d)](/^\/+/,''):'';if(!_0x453a47||_0x453a47[_0x1dd414(0x2ba)]('/')[_0x1dd414(0x161)]('..')){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1b7)}));return;}const _0x5a12d5=typeof _0x2be675[_0x1dd414(0x1c7)]==='string'?_0x2be675[_0x1dd414(0x1c7)]:'';if(Buffer['byteLength'](_0x5a12d5,_0x1dd414(0x27b))>0x186a0){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1a7)}));return;}const _0x336117=typeof _0x2be675['message']===_0x1dd414(0x1b5)&&_0x2be675[_0x1dd414(0x1e5)][_0x1dd414(0x1c6)]()?_0x2be675[_0x1dd414(0x1e5)][_0x1dd414(0x1c6)]()[_0x1dd414(0x1cf)](0x0,0xc8):_0x1dd414(0x16a)+_0x453a47,_0x4e3d1c=typeof _0x2be675[_0x1dd414(0x2bb)]===_0x1dd414(0x1b5)&&_0x2be675[_0x1dd414(0x2bb)][_0x1dd414(0x1c6)]()?_0x2be675[_0x1dd414(0x2bb)][_0x1dd414(0x1c6)]():undefined,_0x244e94=_0x4e3d1c?'?ref='+encodeURIComponent(_0x4e3d1c):'',_0x3acfdf=await githubApi(_0x1dd414(0x16e)+_0x207f77+'/'+_0x167e35+_0x1dd414(0x175)+encodeContentPath(_0x453a47)+_0x244e94,_0x345515[_0x1dd414(0x168)]);let _0x3f213c;if(_0x3acfdf[_0x1dd414(0x1a3)]>=0xc8&&_0x3acfdf[_0x1dd414(0x1a3)]<0x12c){const _0x5bb2a3=_0x3acfdf[_0x1dd414(0x229)];if(!_0x5bb2a3||typeof _0x5bb2a3!==_0x1dd414(0x1d0)||_0x5bb2a3[_0x1dd414(0x17a)]===undefined||_0x5bb2a3[_0x1dd414(0x17a)]===_0x1dd414(0x177))_0x3f213c=typeof _0x5bb2a3?.[_0x1dd414(0x216)]===_0x1dd414(0x1b5)?_0x5bb2a3[_0x1dd414(0x216)]:undefined;else{_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x453a47+'\x20exists\x20but\x20is\x20not\x20a\x20file\x20—\x20refusing\x20to\x20overwrite'}));return;}}else{if(_0x3acfdf[_0x1dd414(0x1a3)]!==0x194){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x3acfdf[_0x1dd414(0x229)],_0x3acfdf['status'])}));return;}}const _0x44725f=await githubApi(_0x1dd414(0x16e)+_0x207f77+'/'+_0x167e35+_0x1dd414(0x175)+encodeContentPath(_0x453a47),_0x345515['token'],0x4e20,{'method':'PUT','body':{'message':_0x336117,'content':Buffer[_0x1dd414(0x2b1)](_0x5a12d5,_0x1dd414(0x27b))[_0x1dd414(0x2af)](_0x1dd414(0x1cd)),..._0x3f213c?{'sha':_0x3f213c}:{},..._0x4e3d1c?{'branch':_0x4e3d1c}:{}}});if(_0x44725f[_0x1dd414(0x1a3)]<0xc8||_0x44725f[_0x1dd414(0x1a3)]>=0x12c){_0x34ba4a['writeHead'](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x44725f[_0x1dd414(0x229)],_0x44725f[_0x1dd414(0x1a3)])}));return;}const _0xe74ff2=_0x44725f[_0x1dd414(0x229)],_0x478e70=_0xe74ff2&&typeof _0xe74ff2===_0x1dd414(0x1d0)&&_0xe74ff2[_0x1dd414(0x158)]&&typeof _0xe74ff2[_0x1dd414(0x158)][_0x1dd414(0x216)]===_0x1dd414(0x1b5)?_0xe74ff2[_0x1dd414(0x158)][_0x1dd414(0x216)]:'';_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'ok':!![],'commit':_0x478e70[_0x1dd414(0x1cf)](0x0,0x7)||null}));return;}if(_0x540bb8[_0x1dd414(0x183)]==='POST'&&_0x38440a==='/github/branch'){const _0x9e9c0e=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x9e9c0e)return;const _0x219b1f=licenseMachineId(_0x9e9c0e['machineId']),_0x437980=_0x219b1f?_0x3f3e82[_0x1dd414(0x172)](_0x219b1f):undefined;if(!_0x437980){_0x34ba4a[_0x1dd414(0x226)](0x191,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x27e)}));return;}let _0x5f2307='',_0x5c7324='';try{;({owner:_0x5f2307,repo:_0x5c7324}=(0x0,github_app_js_1[_0x1dd414(0x144)])(typeof _0x9e9c0e[_0x1dd414(0x13e)]==='string'?_0x9e9c0e[_0x1dd414(0x13e)]:''));}catch{_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x197)}));return;}const _0x562537=typeof _0x9e9c0e[_0x1dd414(0x2bb)]==='string'?_0x9e9c0e[_0x1dd414(0x2bb)]['trim']():'';if(!/^[A-Za-z0-9][A-Za-z0-9/_.-]{0,120}$/[_0x1dd414(0x1e0)](_0x562537)){_0x34ba4a['writeHead'](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x18e)+_0x562537+'\x22'}));return;}const _0x15391a=await githubApi(_0x1dd414(0x16e)+_0x5f2307+'/'+_0x5c7324,_0x437980[_0x1dd414(0x168)]);if(_0x15391a[_0x1dd414(0x1a3)]<0xc8||_0x15391a[_0x1dd414(0x1a3)]>=0x12c){_0x34ba4a['writeHead'](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':'GitHub:\x20'+githubErrorMessage(_0x15391a[_0x1dd414(0x229)],_0x15391a[_0x1dd414(0x1a3)])}));return;}const _0x2ac328=_0x15391a[_0x1dd414(0x229)],_0x31cf78=typeof _0x9e9c0e[_0x1dd414(0x1c1)]==='string'&&_0x9e9c0e['base'][_0x1dd414(0x1c6)]()?_0x9e9c0e[_0x1dd414(0x1c1)]['trim']():_0x2ac328&&typeof _0x2ac328===_0x1dd414(0x1d0)&&typeof _0x2ac328[_0x1dd414(0x20c)]===_0x1dd414(0x1b5)?_0x2ac328['default_branch']:_0x1dd414(0x1e3),_0x361a2d=await githubApi(_0x1dd414(0x16e)+_0x5f2307+'/'+_0x5c7324+_0x1dd414(0x28e)+encodeURIComponent(_0x31cf78),_0x437980[_0x1dd414(0x168)]);if(_0x361a2d[_0x1dd414(0x1a3)]<0xc8||_0x361a2d[_0x1dd414(0x1a3)]>=0x12c){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON['stringify']({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x361a2d[_0x1dd414(0x229)],_0x361a2d['status'])}));return;}const _0xe49e42=_0x361a2d[_0x1dd414(0x229)],_0x47ad97=_0xe49e42&&typeof _0xe49e42===_0x1dd414(0x1d0)&&_0xe49e42[_0x1dd414(0x1d0)]&&typeof _0xe49e42[_0x1dd414(0x1d0)][_0x1dd414(0x216)]==='string'?_0xe49e42[_0x1dd414(0x1d0)][_0x1dd414(0x216)]:'';if(!_0x47ad97){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x25c)+_0x31cf78}));return;}const _0x3af0e6=await githubApi(_0x1dd414(0x16e)+_0x5f2307+'/'+_0x5c7324+_0x1dd414(0x1bb),_0x437980[_0x1dd414(0x168)],0x4e20,{'method':_0x1dd414(0x14b),'body':{'ref':_0x1dd414(0x15e)+_0x562537,'sha':_0x47ad97}});if(_0x3af0e6[_0x1dd414(0x1a3)]===0x1a6){_0x34ba4a[_0x1dd414(0x226)](0x199,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x243)+_0x562537+'\x20already\x20exists\x20—\x20write\x20onto\x20it\x20directly'}));return;}if(_0x3af0e6['status']<0xc8||_0x3af0e6['status']>=0x12c){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x3af0e6[_0x1dd414(0x229)],_0x3af0e6[_0x1dd414(0x1a3)])}));return;}_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![],'branch':_0x562537,'base':_0x31cf78}));return;}if(_0x540bb8[_0x1dd414(0x183)]==='POST'&&_0x38440a==='/github/pr'){const _0x1661f8=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x1661f8)return;const _0x4997f2=licenseMachineId(_0x1661f8['machineId']),_0x365fc2=_0x4997f2?_0x3f3e82[_0x1dd414(0x172)](_0x4997f2):undefined;if(!_0x365fc2){_0x34ba4a[_0x1dd414(0x226)](0x191,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x27e)}));return;}let _0x1503f6='',_0xfc0ca5='';try{;({owner:_0x1503f6,repo:_0xfc0ca5}=(0x0,github_app_js_1[_0x1dd414(0x144)])(typeof _0x1661f8['repo']===_0x1dd414(0x1b5)?_0x1661f8[_0x1dd414(0x13e)]:''));}catch{_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':'repo\x20must\x20be\x20owner/name'}));return;}const _0x105649=typeof _0x1661f8[_0x1dd414(0x1f4)]===_0x1dd414(0x1b5)?_0x1661f8['head'][_0x1dd414(0x1c6)]():'',_0x666374=typeof _0x1661f8['title']===_0x1dd414(0x1b5)?_0x1661f8['title'][_0x1dd414(0x1c6)]():'';if(!_0x105649||!_0x666374){_0x34ba4a['writeHead'](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x206)}));return;}const _0x3b6f54=await githubApi('/repos/'+_0x1503f6+'/'+_0xfc0ca5+_0x1dd414(0x26a),_0x365fc2['token'],0x4e20,{'method':'POST','body':{'title':_0x666374['slice'](0x0,0xc8),'head':_0x105649,...typeof _0x1661f8[_0x1dd414(0x1c1)]===_0x1dd414(0x1b5)&&_0x1661f8[_0x1dd414(0x1c1)][_0x1dd414(0x1c6)]()?{'base':_0x1661f8['base'][_0x1dd414(0x1c6)]()}:{},'body':typeof _0x1661f8[_0x1dd414(0x252)]===_0x1dd414(0x1b5)?_0x1661f8[_0x1dd414(0x252)]['slice'](0x0,0x1f40):''}});if(_0x3b6f54[_0x1dd414(0x1a3)]<0xc8||_0x3b6f54[_0x1dd414(0x1a3)]>=0x12c){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x3b6f54[_0x1dd414(0x229)],_0x3b6f54[_0x1dd414(0x1a3)])}));return;}const _0x2d8dfc=_0x3b6f54[_0x1dd414(0x229)];_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'ok':!![],'number':_0x2d8dfc&&typeof _0x2d8dfc===_0x1dd414(0x1d0)&&typeof _0x2d8dfc[_0x1dd414(0x14a)]==='number'?_0x2d8dfc['number']:null,'url':_0x2d8dfc&&typeof _0x2d8dfc===_0x1dd414(0x1d0)&&typeof _0x2d8dfc['html_url']===_0x1dd414(0x1b5)?_0x2d8dfc[_0x1dd414(0x22f)]:''}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x38440a===_0x1dd414(0x278)){const _0x15b67d=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x15b67d)return;const _0x137608=licenseMachineId(_0x15b67d[_0x1dd414(0x1ad)]),_0x1a426d=_0x137608?_0x3f3e82[_0x1dd414(0x172)](_0x137608):undefined;if(!_0x1a426d){_0x34ba4a['writeHead'](0x191,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x27e)}));return;}let _0xe6b92c='',_0x5afcc2='';try{;({owner:_0xe6b92c,repo:_0x5afcc2}=(0x0,github_app_js_1[_0x1dd414(0x144)])(typeof _0x15b67d[_0x1dd414(0x13e)]===_0x1dd414(0x1b5)?_0x15b67d[_0x1dd414(0x13e)]:''));}catch{_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x1dd414(0x197)}));return;}const _0x130c0c=typeof _0x15b67d[_0x1dd414(0x27a)]==='string'?_0x15b67d[_0x1dd414(0x27a)][_0x1dd414(0x1c6)]()['replace'](/^\/+/,''):'',_0x158fc2=typeof _0x15b67d[_0x1dd414(0x1e6)]===_0x1dd414(0x1b5)?_0x15b67d[_0x1dd414(0x1e6)][_0x1dd414(0x1c6)]()['replace'](/^\/+/,''):'';if(!_0x130c0c||!_0x158fc2||_0x130c0c['split']('/')['includes']('..')||_0x158fc2[_0x1dd414(0x2ba)]('/')[_0x1dd414(0x161)]('..')){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':'sourcePath\x20and\x20destPath\x20must\x20be\x20repo-relative\x20file\x20paths\x20(no\x20..)'}));return;}const _0x54e1b5=await githubApi(_0x1dd414(0x16e)+_0xe6b92c+'/'+_0x5afcc2+_0x1dd414(0x175)+encodeContentPath(_0x130c0c),_0x1a426d[_0x1dd414(0x168)]);if(_0x54e1b5[_0x1dd414(0x1a3)]<0xc8||_0x54e1b5['status']>=0x12c){_0x34ba4a[_0x1dd414(0x226)](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON['stringify']({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x54e1b5[_0x1dd414(0x229)],_0x54e1b5[_0x1dd414(0x1a3)])}));return;}const _0x4ffdb0=_0x54e1b5[_0x1dd414(0x229)];if(!_0x4ffdb0||typeof _0x4ffdb0!==_0x1dd414(0x1d0)||typeof _0x4ffdb0[_0x1dd414(0x1c7)]!==_0x1dd414(0x1b5)||!_0x4ffdb0['content']){_0x34ba4a['writeHead'](0x1f6,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x130c0c+'\x20has\x20no\x20retrievable\x20content'}));return;}const _0x210839=Buffer[_0x1dd414(0x2b1)](Buffer[_0x1dd414(0x2b1)](_0x4ffdb0[_0x1dd414(0x1c7)],'base64')[_0x1dd414(0x2af)](_0x1dd414(0x27b)),_0x1dd414(0x27b))['toString'](_0x1dd414(0x1cd)),_0x5272c2=await githubApi(_0x1dd414(0x16e)+_0xe6b92c+'/'+_0x5afcc2+_0x1dd414(0x175)+encodeContentPath(_0x158fc2),_0x1a426d[_0x1dd414(0x168)]);let _0x1a1d8c;if(_0x5272c2[_0x1dd414(0x1a3)]>=0xc8&&_0x5272c2['status']<0x12c){const _0x30e6d2=_0x5272c2['json'];_0x1a1d8c=_0x30e6d2&&typeof _0x30e6d2===_0x1dd414(0x1d0)&&typeof _0x30e6d2[_0x1dd414(0x216)]==='string'?_0x30e6d2[_0x1dd414(0x216)]:undefined;}const _0x20832e=await githubApi(_0x1dd414(0x16e)+_0xe6b92c+'/'+_0x5afcc2+_0x1dd414(0x175)+encodeContentPath(_0x158fc2),_0x1a426d[_0x1dd414(0x168)],0x4e20,{'method':_0x1dd414(0x180),'body':{'message':_0x1dd414(0x18a)+_0x130c0c+_0x1dd414(0x207)+_0x158fc2,'content':_0x210839,..._0x1a1d8c?{'sha':_0x1a1d8c}:{}}});if(_0x20832e[_0x1dd414(0x1a3)]<0xc8||_0x20832e[_0x1dd414(0x1a3)]>=0x12c){_0x34ba4a['writeHead'](0x1f6,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'error':_0x1dd414(0x1d6)+githubErrorMessage(_0x20832e['json'],_0x20832e['status'])}));return;}const _0x15d40f=_0x20832e[_0x1dd414(0x229)],_0x235f0a=_0x15d40f&&typeof _0x15d40f===_0x1dd414(0x1d0)&&_0x15d40f['commit']&&typeof _0x15d40f[_0x1dd414(0x158)][_0x1dd414(0x216)]==='string'?_0x15d40f[_0x1dd414(0x158)][_0x1dd414(0x216)]:'';_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![],'commit':_0x235f0a['slice'](0x0,0x7)||null}));return;}if(_0x540bb8['method']==='POST'&&_0x540bb8[_0x1dd414(0x2a5)]==='/admin/import'){const _0x1a542e=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x1a542e)return;try{const _0x943824=_0x4d0215['register'](typeof _0x1a542e[_0x1dd414(0x166)]===_0x1dd414(0x1b5)?_0x1a542e['key']:'',typeof _0x1a542e[_0x1dd414(0x19e)]===_0x1dd414(0x1b5)?_0x1a542e[_0x1dd414(0x19e)]:undefined);_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'id':_0x943824['id'],'plan':_0x943824[_0x1dd414(0x15d)]}));}catch(_0x29caed){_0x34ba4a[_0x1dd414(0x226)](0x190,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'error':_0x29caed instanceof Error?_0x29caed[_0x1dd414(0x1e5)]:String(_0x29caed)}));}return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x24a)){const _0x5e2ea0=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x5e2ea0)return;const _0x1bab33=typeof _0x5e2ea0['id']===_0x1dd414(0x1b5)?_0x5e2ea0['id']:'';if(!_0x1bab33||!_0x4d0215[_0x1dd414(0x223)](_0x1bab33)){_0x34ba4a[_0x1dd414(0x226)](0x194,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d9)}));return;}_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON[_0x1dd414(0x255)]({'ok':!![]}));return;}if(_0x540bb8['method']===_0x1dd414(0x14b)&&_0x540bb8[_0x1dd414(0x2a5)]==='/admin/unbind'){const _0x62708b=await readJsonBody(_0x540bb8,_0x34ba4a);if(!_0x62708b)return;const _0x162f8e=typeof _0x62708b['id']===_0x1dd414(0x1b5)?_0x62708b['id']:'';if(!_0x162f8e||!_0x4d0215[_0x1dd414(0x185)](_0x162f8e)){_0x34ba4a[_0x1dd414(0x226)](0x194,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':_0x1dd414(0x1d9)}));return;}_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'ok':!![]}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x38440a===_0x1dd414(0x22c)){const _0x524826=_0x4d0215[_0x1dd414(0x171)]()[_0x1dd414(0x2a7)](_0x14e0b6=>({'id':_0x14e0b6['id'],'key':_0x14e0b6[_0x1dd414(0x166)][_0x1dd414(0x1cf)](0x0,0x4)+_0x1dd414(0x14e)+_0x14e0b6['key'][_0x1dd414(0x1cf)](-0x4),'plan':_0x14e0b6['plan'],'exp':_0x14e0b6[_0x1dd414(0x155)],'customer':_0x14e0b6[_0x1dd414(0x19e)],'trial':_0x14e0b6[_0x1dd414(0x199)]===!![],'revoked':_0x14e0b6['revoked'],'bound':Boolean(_0x14e0b6['boundMachineId']),'machine':_0x14e0b6['boundMachineId']?_0x14e0b6['boundMachineId'][_0x1dd414(0x1cf)](0x0,0x8)+'…':undefined,'createdAt':_0x14e0b6[_0x1dd414(0x18b)],'lastSeenAt':_0x14e0b6['lastSeenAt']}));_0x34ba4a['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON['stringify']({'licenses':_0x524826}));return;}if(_0x540bb8[_0x1dd414(0x183)]==='GET'&&_0x38440a===_0x1dd414(0x2b8)){const _0xcd2cc5=Number((_0x540bb8['url']??'')[_0x1dd414(0x2ba)](_0x1dd414(0x13c))[0x1]??0x64);_0x34ba4a['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'usage':_0x4d0215['readUsageTail'](Number[_0x1dd414(0x1fe)](_0xcd2cc5)?_0xcd2cc5:0x64)}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x18c)&&_0x38440a===_0x1dd414(0x248)){const _0x397bff=Number((_0x540bb8[_0x1dd414(0x2a5)]??'')[_0x1dd414(0x2ba)](_0x1dd414(0x13c))[0x1]??0x64),{readJobTail:_0x1155d1}=await Promise[_0x1dd414(0x213)]()[_0x1dd414(0x149)](()=>__importStar(require('./github-jobs.js')));_0x34ba4a[_0x1dd414(0x226)](0xc8,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'jobs':_0x1155d1(Number[_0x1dd414(0x1fe)](_0x397bff)?_0x397bff:0x64)}));return;}if(_0x540bb8[_0x1dd414(0x183)]===_0x1dd414(0x14b)&&_0x540bb8[_0x1dd414(0x2a5)]===_0x1dd414(0x2ae)){const _0x13abea=process.env.GITHUB_WEBHOOK_SECRET??'';if(!_0x13abea){_0x34ba4a[_0x1dd414(0x226)](0x1f7,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a[_0x1dd414(0x239)](JSON[_0x1dd414(0x255)]({'error':'webhooks\x20disabled\x20(GITHUB_WEBHOOK_SECRET\x20unset)'}));return;}const _0x4f2190=[];let _0x2c4461=0x0,_0x1de186=![];_0x540bb8['on'](_0x1dd414(0x256),_0x4f3b89=>{const _0x5da59e=_0x1dd414;if(_0x1de186)return;const _0x35e16c=typeof _0x4f3b89===_0x5da59e(0x1b5)?Buffer[_0x5da59e(0x2b1)](_0x4f3b89,'utf8'):_0x4f3b89;_0x2c4461+=_0x35e16c[_0x5da59e(0x20a)];if(_0x2c4461>MAX_BODY_BYTES){_0x1de186=!![],_0x34ba4a[_0x5da59e(0x226)](0x19d,{'Content-Type':_0x5da59e(0x273)}),_0x34ba4a['end'](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x540bb8[_0x5da59e(0x1c3)]());return;}_0x4f2190[_0x5da59e(0x15c)](_0x35e16c);}),_0x540bb8['on'](_0x1dd414(0x239),()=>{const _0x472f50=_0x1dd414;if(_0x1de186||_0x540bb8[_0x472f50(0x1cc)])return;const _0x584cf=Buffer['concat'](_0x4f2190),_0x36082d=_0x540bb8[_0x472f50(0x157)][_0x472f50(0x1a0)];if(!(0x0,github_app_js_1['verifyWebhookSignature'])(_0x13abea,_0x584cf,Array[_0x472f50(0x1f6)](_0x36082d)?_0x36082d[0x0]:_0x36082d)){_0x34ba4a['writeHead'](0x191,{'Content-Type':_0x472f50(0x273)}),_0x34ba4a[_0x472f50(0x239)](JSON[_0x472f50(0x255)]({'error':_0x472f50(0x1cb)}));return;}let _0x552b15=null;try{_0x552b15=JSON[_0x472f50(0x270)](_0x584cf['toString']('utf8'));}catch{_0x34ba4a[_0x472f50(0x226)](0x190,{'Content-Type':_0x472f50(0x273)}),_0x34ba4a[_0x472f50(0x239)](JSON[_0x472f50(0x255)]({'error':_0x472f50(0x275)}));return;}const _0x3db97a=_0x540bb8[_0x472f50(0x157)][_0x472f50(0x164)],_0x20a379=(0x0,github_app_js_1['routeGithubEvent'])(Array[_0x472f50(0x1f6)](_0x3db97a)?_0x3db97a[0x0]??'':_0x3db97a??'',_0x552b15);if(_0x20a379[_0x472f50(0x1c0)]!==_0x472f50(0x194)){_0x34ba4a['writeHead'](0xc8,{'Content-Type':_0x472f50(0x273)}),_0x34ba4a[_0x472f50(0x239)](JSON[_0x472f50(0x255)]({'ok':!![],..._0x20a379['kind']===_0x472f50(0x2a3)?{'ignored':_0x20a379[_0x472f50(0x271)]}:{}}));return;}_0x34ba4a['writeHead'](0xca,{'Content-Type':'application/json'}),_0x34ba4a['end'](JSON[_0x472f50(0x255)]({'ok':!![],'accepted':!![]})),void enqueueGithubJob(_0x20a379[_0x472f50(0x194)],_0x552b15);});return;}if(_0x540bb8[_0x1dd414(0x183)]==='POST'&&_0x540bb8[_0x1dd414(0x2a5)]==='/v1/agent'){let _0x21595f='',_0x423299=0x0,_0x17e99a=![];const _0xb031ae=new AbortController();_0x540bb8['on']('close',()=>_0xb031ae[_0x1dd414(0x234)]()),_0x540bb8['on'](_0x1dd414(0x256),_0x284050=>{const _0x2fc8f8=_0x1dd414;if(_0x17e99a)return;const _0x402394=typeof _0x284050===_0x2fc8f8(0x1b5)?_0x284050:_0x284050['toString'](_0x2fc8f8(0x27b));_0x423299+=Buffer[_0x2fc8f8(0x1a2)](_0x402394);if(_0x423299>MAX_BODY_BYTES){_0x17e99a=!![],_0x34ba4a['writeHead'](0x19d,{'Content-Type':_0x2fc8f8(0x273)}),_0x34ba4a[_0x2fc8f8(0x239)](JSON[_0x2fc8f8(0x255)]({'error':_0x2fc8f8(0x218)})),setImmediate(()=>_0x540bb8[_0x2fc8f8(0x1c3)]());return;}_0x21595f+=_0x402394;}),_0x540bb8['on'](_0x1dd414(0x239),()=>{const _0x530450=_0x1dd414;if(_0x17e99a||_0x540bb8[_0x530450(0x1cc)])return;const _0x3ea1ae=safeJson(_0x21595f),_0x59d69d=typeof _0x3ea1ae[_0x530450(0x17f)]===_0x530450(0x1b5)?_0x3ea1ae[_0x530450(0x17f)]:undefined,_0x3b48ac=typeof _0x3ea1ae[_0x530450(0x265)]===_0x530450(0x1b5)?_0x3ea1ae['sessionFile']:undefined;if(!_0x59d69d||typeof _0x59d69d!==_0x530450(0x1b5)){_0x34ba4a[_0x530450(0x226)](0x190,{'Content-Type':_0x530450(0x273)}),_0x34ba4a[_0x530450(0x239)](JSON[_0x530450(0x255)]({'error':_0x530450(0x219)}));return;}_0x34ba4a[_0x530450(0x226)](0xc8,{'Content-Type':_0x530450(0x1a5),'Cache-Control':'no-cache','Connection':_0x530450(0x20e)});const _0x5cd2e3=new index_js_1[(_0x530450(0x227))]({'config':_0x306fff,'sessionFile':_0x3b48ac}),_0x3a1d96=_0x417c27=>{const _0x5b50d0=_0x530450;try{if(!_0x540bb8[_0x5b50d0(0x1cc)]&&!_0x34ba4a[_0x5b50d0(0x1d5)])_0x34ba4a['write'](_0x417c27);}catch{_0xb031ae[_0x5b50d0(0x234)]();}};_0x5cd2e3[_0x530450(0x193)](_0x59d69d,_0x3f65ff=>{const _0x3f4409=_0x530450;_0x56dbcb[_0x3f4409(0x1ef)](_0x3f65ff),_0x3a1d96(_0x3f4409(0x151)+JSON['stringify'](_0x3f65ff)+'\x0a\x0a');},_0xb031ae[_0x530450(0x1b9)])[_0x530450(0x149)](()=>{const _0x464838=_0x530450;_0x3a1d96(_0x464838(0x264));try{if(!_0x540bb8[_0x464838(0x1cc)]&&!_0x34ba4a[_0x464838(0x1d5)])_0x34ba4a[_0x464838(0x239)]();}catch{}})[_0x530450(0x260)](_0x168115=>{const _0x551b49=_0x530450;_0x3a1d96(_0x551b49(0x151)+JSON[_0x551b49(0x255)]({'error':String(_0x168115)})+'\x0a\x0a');try{if(!_0x540bb8[_0x551b49(0x1cc)]&&!_0x34ba4a[_0x551b49(0x1d5)])_0x34ba4a[_0x551b49(0x239)]();}catch{}});});return;}_0x34ba4a[_0x1dd414(0x226)](0x194,{'Content-Type':_0x1dd414(0x273)}),_0x34ba4a['end'](JSON['stringify']({'error':'not\x20found'}));});return _0x4b8ed2[_0x27e5bc(0x1ca)](_0x5055bf,_0x3b5a1f,()=>{const _0x96d0e5=_0x27e5bc;process[_0x96d0e5(0x1c2)]['write']('trayambak\x20server\x20listening\x20on\x20http://'+_0x3b5a1f+':'+_0x5055bf+'\x0a'),_0x75d239&&_0x2bfcfb&&process[_0x96d0e5(0x1c2)][_0x96d0e5(0x21a)](_0x96d0e5(0x162)+_0x2bfcfb+'\x0a');}),Object['defineProperty'](_0x4b8ed2,_0x27e5bc(0x25d),{'value':_0x2bfcfb??'','enumerable':![]}),_0x4b8ed2;}function safeJson(_0x45c309){const _0x3b0154=_0x372c81;try{return JSON[_0x3b0154(0x270)](_0x45c309);}catch{return{};}}let githubJobQueue=Promise[_0x372c81(0x213)]();function enqueueGithubJob(_0x29d987,_0x5be6d6){const _0x4c8bf6=_0x372c81,_0x42bf1c=githubJobQueue['then'](()=>runGithubJob(_0x29d987,_0x5be6d6))[_0x4c8bf6(0x260)](_0x5400ef=>{const _0x5380c5=_0x4c8bf6;return process[_0x5380c5(0x15f)][_0x5380c5(0x21a)]('[github-app]\x20job\x20failed:\x20'+(_0x5400ef instanceof Error?_0x5400ef[_0x5380c5(0x1e5)]:String(_0x5400ef))+'\x0a'),'';});return githubJobQueue=_0x42bf1c[_0x4c8bf6(0x149)](()=>undefined),_0x42bf1c;}function _0x57ce(_0x3744f8,_0x5bbc0c){_0x3744f8=_0x3744f8-0x138;const _0x3a9f62=_0x3a9f();let _0x57cec5=_0x3a9f62[_0x3744f8];return _0x57cec5;}async function postGithubComment(_0x3a6807,_0x2b7a01,_0xd321fd,_0x759248,_0x20098e){const _0x411cca=_0x372c81;try{const _0x4180dd=await fetch(_0x411cca(0x289)+_0x3a6807+'/'+_0x2b7a01+_0x411cca(0x276)+_0xd321fd+_0x411cca(0x2b5),{'method':_0x411cca(0x14b),'headers':{'Accept':'application/vnd.github+json','User-Agent':_0x411cca(0x24f),'Authorization':'Bearer\x20'+_0x20098e,'Content-Type':'application/json','X-GitHub-Api-Version':'2022-11-28'},'body':JSON['stringify']({'body':_0x759248[_0x411cca(0x1cf)](0x0,0xfa0)}),'signal':AbortSignal[_0x411cca(0x13f)](0x4e20)});return _0x4180dd[_0x411cca(0x1a3)]===0xc9;}catch{return![];}}async function allInstalledRepos(){const _0x10cb29=_0x372c81,_0x247bd2=githubAppJwt();if(!_0x247bd2)return[];try{const _0x119832=await fetch(_0x10cb29(0x189),{'headers':{'Accept':_0x10cb29(0x1a8),'User-Agent':_0x10cb29(0x24f),'Authorization':_0x10cb29(0x140)+_0x247bd2,'X-GitHub-Api-Version':_0x10cb29(0x19a)},'signal':AbortSignal['timeout'](0x4e20)}),_0x15cfd2=await _0x119832['json']();if(!_0x119832['ok']||!Array[_0x10cb29(0x1f6)](_0x15cfd2))return[];const _0x3cc4e2=[];for(const _0x29e844 of _0x15cfd2){if(typeof _0x29e844?.['id']!==_0x10cb29(0x14a))continue;const _0x210474=await installationTokenFor(_0x29e844['id']);if(!_0x210474)continue;const _0x2f0bc8=await githubApi(_0x10cb29(0x1a9),_0x210474);if(_0x2f0bc8[_0x10cb29(0x1a3)]!==0xc8||!_0x2f0bc8[_0x10cb29(0x229)]||typeof _0x2f0bc8[_0x10cb29(0x229)]!==_0x10cb29(0x1d0))continue;const _0x418ae7=_0x2f0bc8[_0x10cb29(0x229)][_0x10cb29(0x2a9)];if(!Array[_0x10cb29(0x1f6)](_0x418ae7))continue;for(const _0x36d783 of _0x418ae7){_0x36d783&&typeof _0x36d783===_0x10cb29(0x1d0)&&typeof _0x36d783[_0x10cb29(0x2ab)]===_0x10cb29(0x1b5)&&_0x3cc4e2['push'](_0x36d783['full_name']['toLowerCase']());}}return[...new Set(_0x3cc4e2)];}catch{return[];}}function githubAppJwt(){const _0x1a85de=_0x372c81,_0x1695b0=(process.env.GITHUB_APP_ID??'')[_0x1a85de(0x1c6)]();let _0x159ca9=(process.env.GITHUB_PRIVATE_KEY??'')[_0x1a85de(0x1c6)]();if(!_0x1695b0||!_0x159ca9)return'';if(!_0x159ca9[_0x1a85de(0x161)](_0x1a85de(0x283)))try{_0x159ca9=(0x0,node_fs_1[_0x1a85de(0x230)])(_0x159ca9,_0x1a85de(0x27b));}catch{return'';}try{return(0x0,github_app_js_1[_0x1a85de(0x2a8)])(_0x1695b0,_0x159ca9);}catch{return'';}}async function installationIdForOwner(_0x3af723){const _0x275c6f=_0x372c81,_0x2ec5c4=githubAppJwt();if(!_0x2ec5c4)return 0x0;try{const _0x505052=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':_0x275c6f(0x1a8),'User-Agent':_0x275c6f(0x24f),'Authorization':_0x275c6f(0x140)+_0x2ec5c4,'X-GitHub-Api-Version':_0x275c6f(0x19a)},'signal':AbortSignal[_0x275c6f(0x13f)](0x4e20)}),_0x3b592d=await _0x505052[_0x275c6f(0x229)]();if(!_0x505052['ok']||!Array[_0x275c6f(0x1f6)](_0x3b592d))return 0x0;const _0x1803df=_0x3b592d[_0x275c6f(0x1a1)](_0x1bbe7e=>_0x1bbe7e&&typeof _0x1bbe7e[_0x275c6f(0x28c)]?.[_0x275c6f(0x1b1)]===_0x275c6f(0x1b5)&&_0x1bbe7e['account'][_0x275c6f(0x1b1)][_0x275c6f(0x2b4)]()===_0x3af723[_0x275c6f(0x2b4)]());return typeof _0x1803df?.['id']===_0x275c6f(0x14a)?_0x1803df['id']:0x0;}catch{return 0x0;}}function _0x3a9f(){const _0x3dcb9c=['github','\x20finished\x20(','unknown\x20license\x20id','toISOString','imgDir','node:fs/promises','./license-store.js','all',',\x20triaged\x20','test','describeGithubThread','pro','main','\x20started\x20at\x20','message','destPath','missing\x20machineId','getOwnPropertyNames','corsOrigins','writable','number\x20must\x20be\x20a\x20positive\x20issue/PR\x20number','Windows\x20one-line\x20installer\x20(public)','pull_request','OPENAPI_SPEC','capture','Docs\x20pages\x20as\x20markdown\x20(public,\x20.md\x20only)','./Img','postIssueComment','GitHub\x20unreachable\x20from\x20the\x20license\x20server','head','__esModule','isArray','unref','Copy\x20a\x20repo\x20file\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','tool','consumeState','role','/openapi.json','OAuth\x20redirect\x20target\x20(public,\x20browser-facing)','isFinite','\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.','</h1><p>','resolveCors','Authorization\x20failed','Health\x20check','not\x20found','createInstallationToken','head\x20branch\x20and\x20title\x20are\x20required','\x20->\x20','[github-autofix]\x20tick:\x20checked\x20','mint\x20failed:\x20','length','../../../apps/runtime/src/license.js','default_branch','x-forwarded-for','keep-alive','INSTALL_PS1','Static\x20README\x20images\x20(public,\x20png/jpg\x20only)','[github-app]\x20job\x20','create','resolve','title','1nmoRTL','sha','/v1/models','body\x20too\x20large\x20(max\x201MB)','missing\x20\x27prompt\x27','write','/docs/','/img/','target','basic','cwd','Forget\x20a\x20machine\x27s\x20token\x20(public)','30liTMsp','0.6.3','revoke','/license/usage','port','writeHead','Agent','text/plain;\x20charset=utf-8','json','</b>.\x20Return\x20to\x20the\x20CLI\x20—\x20it\x20picks\x20this\x20up\x20automatically.','appendUsage','/admin/licenses','missing\x20machineId/tool','\x20of\x20','html_url','readFileSync','beginLogin','\x20(pull\x20request','startsWith','abort','/install.ps1','user','GitHub\x20login\x20is\x20not\x20configured\x20on\x20this\x20server.','\x20messages:\x20','end','List\x20the\x20logged-in\x20user\x27s\x20repos\x20with\x20the\x20stored\x20token\x20(public,\x20logged-in)','::1','x-real-ip','prototype','./github-jobs.js','OPTIONS','2331429IbTtDJ','filter','</title>','branch\x20','unauthorized','defaultAutofixLedgerPath','[github-app]\x20installation\x20token\x20mint\x20failed:\x20','3186040asHalw','/admin/jobs','AutofixLedger','/admin/revoke','GitHub\x20login\x20not\x20configured\x20on\x20this\x20server','join','Logged\x20in\x20as\x20<b>','/github/repos','trayambak','602326OeBFQO','pentest','body','Read\x20an\x20issue\x20+\x20comments\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','\x0a\x0a…(truncated,\x20full\x20log\x20on\x20the\x20VPS)','stringify','data','too\x20many\x20trial\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later','remoteAddress','usageFile','/license/activate','Trayambak\x20Agent\x20API','could\x20not\x20find\x20sha\x20for\x20base\x20','effectiveToken','Begin\x20CLI\x20GitHub\x20login,\x20returns\x20browser\x20URL\x20(public,\x20rate-limited)',',\x20toolDiags:\x20','catch','unknown','\x20every\x20','351960sImiNp','data:\x20[DONE]\x0a\x0a','sessionFile','List\x20models','activate','HTTP\x20','defaultLicenseStorePaths','/pulls','3.0.0','./github-oauth.js','./github-autofix.js','allowed','checkPentestOnly','parse','reason','./install-ps1.js','application/json','record','invalid\x20JSON','/issues/','http://localhost','/github/copy','/api/sessions','sourcePath','utf8','[github-autofix]\x20idle\x20(GITHUB_AUTOFIX_REPOS\x20unset)\x0a','recordJob','GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first','__setModuleDefault','text/markdown;\x20charset=utf-8','mintActivationKey','Create\x20a\x20repo\x20branch\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','BEGIN','call','check','./github-app.js','image/png','error','https://api.github.com/repos/','createTelemetry','hasOwnProperty','account','public,\x20max-age=3600','/git/ref/heads/','3390495SdGpSX','set','issueNumber','/github/read','code','now','function','/user/repos?per_page=100&sort=updated','\x0a\x0aContext\x20from\x20GitHub:\x0a','##\x20Trayambak\x20result\x0a\x0a','crypto','min','searchParams','Poll\x20login\x20completion\x20by\x20machine\x20(public)','getOwnPropertyDescriptor','localhost','storeToken','1657062KrHsEy','__createBinding','Self-service\x207-day\x20trial,\x201/machine\x20(public,\x20rate-limited)','ignored','model','url','permissions','map','createAppJwt','repositories','./docs','full_name','fullName','NaN','/webhooks/github','toString','Mint\x20a\x2016-letter\x20license\x20(bearer-gated)','from','repoFullName','hex','toLowerCase','/comments','https://github.com/login/oauth/authorize?client_id=','withComments','/admin/usage','too\x20many\x20login\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later','split','branch','/github/branch','setHeader','/admin/mint','get','comments','tail=','Budget\x20exhausted\x20(used\x20','repo','timeout','Bearer\x20','https://api.github.com','host','task','splitRepo','[github-autofix]\x20tick\x20failed:\x20','Register\x20a\x20pre-existing\x20code\x20(bearer-gated)','node:fs','GitHubOAuthStore','then','number','POST','parseAutofixRepos','LicenseStore','-…-','this\x20machine\x20already\x20has\x20a\x20live\x20trial\x20—\x20ask\x20SKT\x20for\x20a\x20full\x20key','public,\x20max-age=86400','data:\x20','text','licenseStorePath','<!doctype\x20html><html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><title>','exp','/auth/github/callback','headers','commit','days\x20must\x20be\x201..3650','stopReason','configurable','push','plan','refs/heads/','stderr','Run\x20agent\x20(SSE)','includes','generated\x20bearer\x20token\x20(set\x20TRAYAMBAK_WEB_TOKEN\x20to\x20avoid\x20this):\x20','\x20label=','x-github-event','trial\x20mint\x20failed:\x20','key','listTranscripts','token','text/html;\x20charset=utf-8','trayambak:\x20update\x20','Authorized','ran','\x20replied\x0a','/repos/','defineProperty','autofixTick','list','tokenFor','days','max','/contents/','<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem}</style></head>','file','plan\x20must\x20be\x20basic|pentest|pro|enterprise','List\x20transcripts','type','21oNAKOy','[github-autofix]\x20watching\x20','replace','/auth/github/start','prompt','PUT','error_description','image/jpeg','method','budget_exhausted','unbind','default','../../telemetry/src/index.js','githubOAuthPath','https://api.github.com/app/installations','trayambak:\x20copy\x20','createdAt','GET','127.0.0.1','invalid\x20branch\x20name\x20\x22','/user','/auth/github/status','rulesV2','valid','run','job','socket','access_token','repo\x20must\x20be\x20owner/name','Tail\x20pentest\x20usage\x20telemetry\x20(bearer-gated)','trial','2022-11-28','0:0:0:0:0:0:0:1','triaged','activeTrialForMachine','customer','<!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>','x-hub-signature-256','find','byteLength','status','checked','text/event-stream','https://github.com/login/oauth/access_token','content\x20over\x20100KB\x20—\x20split\x20it\x20or\x20open\x20a\x20PR','application/vnd.github+json','/installation/repositories?per_page=100','/auth/github/logout','/license/verify','docsDir','machineId','GitHub\x20request\x20in\x20','github-user','5017122zLFDTE','login','node:path','created_at','__importStar','string','\x0a---\x20end\x20---\x0a','path\x20must\x20be\x20a\x20repo-relative\x20file\x20path\x20(no\x20..)','state','signal','Live\x20license\x20check\x20(public,\x20machine-bound)','/git/refs','origin\x20not\x20allowed','loadConfig','Server\x20misconfigured','Bind\x20a\x20license\x20to\x20a\x20machine\x20(public)','kind','base','stdout','destroy',',\x20error:\x20','/github/write','trim','content','floor','register','listen','bad\x20signature','destroyed','base64','/admin','slice','object','defaultOAuthPath','license\x20invalid','touch','has','writableEnded','GitHub:\x20'];_0x3a9f=function(){return _0x3dcb9c;};return _0x3a9f();}async function installationTokenFor(_0x204a56){const _0x39b2bf=_0x372c81,_0x5743eb=githubAppJwt();if(!_0x5743eb||!_0x204a56)return'';try{const _0x32f6bf=process.env.GITHUB_API_BASE??_0x39b2bf(0x141);return await(0x0,github_app_js_1[_0x39b2bf(0x205)])(_0x32f6bf,_0x5743eb,_0x204a56);}catch{return'';}}async function serveReadmeImage(_0x1a4344,_0x8fe8fc,_0x2a9e46,_0x1e4b6e){const _0x294585=_0x372c81;try{const _0x274083=_0x1e4b6e[_0x294585(0x1cf)]('/img/'[_0x294585(0x20a)]);if(!/^[A-Za-z0-9_-]+\.(png|jpg|jpeg)$/i[_0x294585(0x1e0)](_0x274083)){_0x8fe8fc[_0x294585(0x226)](0x194,{'Content-Type':'application/json'}),_0x8fe8fc['end'](JSON[_0x294585(0x255)]({'error':_0x294585(0x204)}));return;}const {readFile:_0x819f84}=await Promise[_0x294585(0x213)]()[_0x294585(0x149)](()=>__importStar(require('node:fs/promises'))),_0x2238ec=await _0x819f84((0x0,node_path_1['join'])(_0x2a9e46,_0x274083)),_0x429492=/\.png$/i[_0x294585(0x1e0)](_0x274083)?_0x294585(0x287):_0x294585(0x182);_0x8fe8fc[_0x294585(0x226)](0xc8,{'Content-Type':_0x429492,'Cache-Control':_0x294585(0x150)}),_0x8fe8fc['end'](_0x2238ec);}catch{_0x8fe8fc[_0x294585(0x226)](0x194,{'Content-Type':_0x294585(0x273)}),_0x8fe8fc[_0x294585(0x239)](JSON[_0x294585(0x255)]({'error':'not\x20found'}));}}async function serveDocsFile(_0x198e87,_0x47180d,_0x633f,_0x24ff79){const _0x11c726=_0x372c81;try{const _0x42b884=_0x24ff79[_0x11c726(0x1cf)](_0x11c726(0x21b)['length']);if(!/^[A-Za-z0-9_-]+\.md$/i[_0x11c726(0x1e0)](_0x42b884)){_0x47180d[_0x11c726(0x226)](0x194,{'Content-Type':'application/json'}),_0x47180d[_0x11c726(0x239)](JSON[_0x11c726(0x255)]({'error':_0x11c726(0x204)}));return;}const {readFile:_0x1d119f}=await Promise[_0x11c726(0x213)]()['then'](()=>__importStar(require(_0x11c726(0x1dc)))),_0x2d195b=await _0x1d119f((0x0,node_path_1[_0x11c726(0x24c)])(_0x633f,_0x42b884));_0x47180d[_0x11c726(0x226)](0xc8,{'Content-Type':_0x11c726(0x280),'Cache-Control':_0x11c726(0x28d)}),_0x47180d[_0x11c726(0x239)](_0x2d195b);}catch{_0x47180d['writeHead'](0x194,{'Content-Type':'application/json'}),_0x47180d[_0x11c726(0x239)](JSON[_0x11c726(0x255)]({'error':_0x11c726(0x204)}));}}function licenseMachineId(_0x3d3c93){const _0x5ea7f2=_0x372c81;if(typeof _0x3d3c93!==_0x5ea7f2(0x1b5))return'';const _0x54e32b=_0x3d3c93[_0x5ea7f2(0x1c6)]();return _0x54e32b[_0x5ea7f2(0x20a)]>=0x4&&_0x54e32b[_0x5ea7f2(0x20a)]<=0x80?_0x54e32b:'';}async function githubApi(_0x22fc49,_0x234e0e,_0x5f269a=0x4e20,_0x1e0301){const _0x426b41=_0x372c81;try{const _0x31b642={'Accept':_0x426b41(0x1a8),'User-Agent':'trayambak','Authorization':_0x426b41(0x140)+_0x234e0e,'X-GitHub-Api-Version':_0x426b41(0x19a)},_0xbaa684={'headers':_0x31b642,'signal':AbortSignal[_0x426b41(0x13f)](_0x5f269a)};_0x1e0301&&(_0x31b642['Content-Type']=_0x426b41(0x273),_0xbaa684[_0x426b41(0x183)]=_0x1e0301[_0x426b41(0x183)],_0xbaa684[_0x426b41(0x252)]=JSON[_0x426b41(0x255)](_0x1e0301[_0x426b41(0x252)]));const _0x41b014=await fetch(_0x426b41(0x141)+_0x22fc49,_0xbaa684);let _0x4a8492=null;try{_0x4a8492=await _0x41b014['json']();}catch{}return{'status':_0x41b014['status'],'json':_0x4a8492};}catch{return{'status':0x0,'json':null};}}function githubErrorMessage(_0x370a4e,_0x30c3d2){const _0x34e132=_0x372c81;if(_0x370a4e&&typeof _0x370a4e==='object'&&typeof _0x370a4e[_0x34e132(0x1e5)]===_0x34e132(0x1b5))return _0x370a4e[_0x34e132(0x1e5)];return _0x34e132(0x268)+_0x30c3d2;}function encodeContentPath(_0x289268){const _0x358e93=_0x372c81;return _0x289268[_0x358e93(0x2ba)]('/')[_0x358e93(0x2a7)](_0x95536e=>encodeURIComponent(_0x95536e))[_0x358e93(0x24c)]('/');}function clientIp(_0x3309bc){const _0x2ef249=_0x372c81,_0x2a6763=_0x25e601=>(Array['isArray'](_0x25e601)?_0x25e601[0x0]:_0x25e601)?.[_0x2ef249(0x2ba)](',')[0x0]?.[_0x2ef249(0x1c6)]()??'';return _0x2a6763(_0x3309bc[_0x2ef249(0x157)]['cf-connecting-ip'])||_0x2a6763(_0x3309bc[_0x2ef249(0x157)][_0x2ef249(0x20d)])||_0x2a6763(_0x3309bc['headers'][_0x2ef249(0x23c)])||_0x3309bc[_0x2ef249(0x195)][_0x2ef249(0x258)]||_0x2ef249(0x261);}async function runGithubJob(_0x3097c5,_0x24c007){const _0x106f7b=_0x372c81,_0x5b8695=process.env.GITHUB_API_BASE??_0x106f7b(0x141),_0x3c4b9f=new Date()[_0x106f7b(0x1da)]();process[_0x106f7b(0x1c2)][_0x106f7b(0x21a)](_0x106f7b(0x211)+_0x3097c5[_0x106f7b(0x2b2)]+'#'+_0x3097c5[_0x106f7b(0x291)]+_0x106f7b(0x1e4)+_0x3c4b9f+'\x0a');const _0xd1c346=process.env.TRAYAMBAK_GITHUB_WORKSPACE??(0x0,index_js_1[_0x106f7b(0x1bd)])()[_0x106f7b(0x21f)],_0x38aa01=(0x0,index_js_1['loadConfig'])(),_0x2212d6={..._0x38aa01,'cwd':_0xd1c346,'permissions':{..._0x38aa01[_0x106f7b(0x2a6)],'rulesV2':[..._0x38aa01[_0x106f7b(0x2a6)]?.[_0x106f7b(0x191)]??[],{'tool':_0x106f7b(0x1d7),'action':'allow','reason':'GitHub\x20App\x20job:\x20comment-authorized,\x20installation-token\x20scoped'}]}},_0x36f468=new index_js_1[(_0x106f7b(0x227))]({'config':_0x2212d6}),_0x1d54de=process.env.GITHUB_APP_ID??'';let _0x2c9ede=process.env.GITHUB_PRIVATE_KEY??'';if(_0x2c9ede&&!_0x2c9ede[_0x106f7b(0x161)](_0x106f7b(0x283))){const _0x23b9b9=await Promise[_0x106f7b(0x213)]()[_0x106f7b(0x149)](()=>__importStar(require(_0x106f7b(0x147))));try{_0x2c9ede=_0x23b9b9['readFileSync'](_0x2c9ede,_0x106f7b(0x27b));}catch{_0x2c9ede='';}}const _0x35b300=_0x24c007?.['installation'],_0x3dd705=typeof _0x35b300?.['id']===_0x106f7b(0x14a)?_0x35b300['id']:0x0;let _0x174c0d='';if(_0x1d54de&&_0x2c9ede&&_0x3dd705)try{_0x174c0d=await(0x0,github_app_js_1[_0x106f7b(0x205)])(_0x5b8695,(0x0,github_app_js_1[_0x106f7b(0x2a8)])(_0x1d54de,_0x2c9ede),_0x3dd705);}catch(_0x176461){process[_0x106f7b(0x1c2)]['write'](_0x106f7b(0x246)+(_0x176461 instanceof Error?_0x176461[_0x106f7b(0x1e5)]:String(_0x176461))+'\x0a');}let _0x5611c5=[],_0x26d4b9='';const _0x1873fd=[],_0x15e79f=[],_0x361113=_0x24984e=>{const _0x83c024=_0x106f7b;try{if(_0x24984e?.[_0x83c024(0x17a)]===_0x83c024(0x184)){_0x1873fd[_0x83c024(0x15c)](_0x83c024(0x13d)+(typeof _0x24984e['used']===_0x83c024(0x14a)?_0x24984e['used']:'?')+_0x83c024(0x22e)+(typeof _0x24984e[_0x83c024(0x174)]===_0x83c024(0x14a)?_0x24984e['max']:'?')+')\x20—\x20the\x20run\x20stopped\x20before\x20the\x20model\x20was\x20called.');return;}if(_0x24984e?.[_0x83c024(0x17a)]==='message_end'){const _0x10df65=_0x24984e['message'];if(_0x10df65?.[_0x83c024(0x15a)]===_0x83c024(0x288)&&Array[_0x83c024(0x1f6)](_0x10df65['content'])){const _0x2573c5=_0x10df65[_0x83c024(0x1c7)][_0x83c024(0x241)](_0x2fa37a=>!!_0x2fa37a&&typeof _0x2fa37a===_0x83c024(0x1d0)&&_0x2fa37a[_0x83c024(0x17a)]===_0x83c024(0x152))[_0x83c024(0x2a7)](_0x5bd2bb=>_0x5bd2bb[_0x83c024(0x152)])['join']('\x0a')['trim']();if(_0x2573c5)_0x1873fd[_0x83c024(0x15c)](_0x2573c5);}if(_0x10df65?.['role']===_0x83c024(0x1f9)&&Array['isArray'](_0x10df65[_0x83c024(0x1c7)])){const _0x2b099d=_0x10df65['content']['filter'](_0x4bd186=>!!_0x4bd186&&typeof _0x4bd186==='object'&&_0x4bd186[_0x83c024(0x17a)]===_0x83c024(0x152))[_0x83c024(0x2a7)](_0xbdc7d7=>_0xbdc7d7[_0x83c024(0x152)])['join']('\x0a');_0x2b099d&&/fail|error|denied|not found|404|401|403|refus/i[_0x83c024(0x1e0)](_0x2b099d)&&_0x15e79f['push'](_0x2b099d[_0x83c024(0x1cf)](0x0,0x12c));}}}catch{}};try{const _0x29fac2=process.env.GITHUB_TOKEN;if(_0x174c0d)process.env.GITHUB_TOKEN=_0x174c0d;const _0x509b47=(0x0,github_app_js_1[_0x106f7b(0x1e1)])(_0x24c007);try{_0x5611c5=await _0x36f468[_0x106f7b(0x193)](_0x106f7b(0x1ae)+_0x3097c5[_0x106f7b(0x2b2)]+(_0x3097c5['isPullRequest']?_0x106f7b(0x232):'\x20(issue')+'\x20#'+_0x3097c5[_0x106f7b(0x291)]+'):\x0a'+_0x3097c5[_0x106f7b(0x143)]+_0x106f7b(0x1ff)+(_0x509b47?_0x106f7b(0x297)+_0x509b47:''),_0x361113);}finally{if(_0x174c0d){if(_0x29fac2===undefined)delete process.env.GITHUB_TOKEN;else process.env.GITHUB_TOKEN=_0x29fac2;}}}catch(_0x2ea49f){_0x26d4b9=_0x2ea49f instanceof Error?_0x2ea49f['message']:String(_0x2ea49f);}const _0x411592=(0x0,github_app_js_1['selectJobReply'])(_0x5611c5,_0x26d4b9,_0x1873fd);(0x0,github_jobs_js_1[_0x106f7b(0x27d)])({'repo':_0x3097c5[_0x106f7b(0x2b2)],'issue':_0x3097c5[_0x106f7b(0x291)],'task':_0x3097c5[_0x106f7b(0x143)],'messages':_0x5611c5[_0x106f7b(0x20a)],'replyHead':_0x411592,..._0x26d4b9?{'error':_0x26d4b9}:{}});const _0x66cbd1=_0x5611c5[_0x106f7b(0x2a7)](_0x182e74=>{const _0x3c88a7=_0x106f7b,_0x35e717=Array[_0x3c88a7(0x1f6)](_0x182e74['content'])?_0x182e74[_0x3c88a7(0x1c7)][_0x3c88a7(0x2a7)](_0x35c881=>_0x35c881?.[_0x3c88a7(0x17a)]??'?')[_0x3c88a7(0x24c)]('+'):typeof _0x182e74[_0x3c88a7(0x1c7)];return(_0x182e74[_0x3c88a7(0x1fb)]??'?')+'['+_0x35e717+']';})[_0x106f7b(0x24c)]('\x20');process[_0x106f7b(0x1c2)][_0x106f7b(0x21a)](_0x106f7b(0x211)+_0x3097c5[_0x106f7b(0x2b2)]+'#'+_0x3097c5[_0x106f7b(0x291)]+_0x106f7b(0x1d8)+_0x5611c5['length']+_0x106f7b(0x238)+(_0x66cbd1||'none')+(_0x26d4b9?_0x106f7b(0x1c4)+_0x26d4b9[_0x106f7b(0x1cf)](0x0,0xc8):'')+(_0x15e79f[_0x106f7b(0x20a)]>0x0?_0x106f7b(0x25f)+_0x15e79f[_0x106f7b(0x24c)]('\x20||\x20')['slice'](0x0,0x258):'')+')\x0a');if(!_0x1d54de||!_0x2c9ede||!_0x3dd705||!_0x174c0d)return process['stdout'][_0x106f7b(0x21a)]('[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'+_0x411592+_0x106f7b(0x1b6)),_0x411592;const {owner:_0x2f7c3b,repo:_0x538c3b}=(0x0,github_app_js_1['splitRepo'])(_0x3097c5['repoFullName']),_0x515371=_0x411592[_0x106f7b(0x20a)]>0xea60?_0x411592[_0x106f7b(0x1cf)](0x0,0xea60)+_0x106f7b(0x254):_0x411592;return await(0x0,github_app_js_1[_0x106f7b(0x1f2)])({'apiBase':_0x5b8695,'token':_0x174c0d},_0x2f7c3b,_0x538c3b,_0x3097c5[_0x106f7b(0x291)],_0x106f7b(0x298)+_0x515371),process[_0x106f7b(0x1c2)]['write'](_0x106f7b(0x211)+_0x3097c5['repoFullName']+'#'+_0x3097c5['issueNumber']+_0x106f7b(0x16d)),_0x411592;}
@@ -1 +1 @@
1
- 'use strict';var _0x112b21=_0x3819;function _0x3819(_0x23ddcb,_0x3a88c6){_0x23ddcb=_0x23ddcb-0x79;var _0x58b2a3=_0x58b2();var _0x381948=_0x58b2a3[_0x23ddcb];return _0x381948;}(function(_0x122303,_0x2a88ca){var _0x2093c4=_0x3819,_0x3df009=_0x122303();while(!![]){try{var _0x4a12ff=parseInt(_0x2093c4(0x7d))/0x1+parseInt(_0x2093c4(0x79))/0x2+-parseInt(_0x2093c4(0x7b))/0x3*(parseInt(_0x2093c4(0x7c))/0x4)+-parseInt(_0x2093c4(0x7e))/0x5*(parseInt(_0x2093c4(0x7f))/0x6)+-parseInt(_0x2093c4(0x84))/0x7+parseInt(_0x2093c4(0x82))/0x8*(parseInt(_0x2093c4(0x81))/0x9)+parseInt(_0x2093c4(0x7a))/0xa*(parseInt(_0x2093c4(0x85))/0xb);if(_0x4a12ff===_0x2a88ca)break;else _0x3df009['push'](_0x3df009['shift']());}catch(_0xa7590c){_0x3df009['push'](_0x3df009['shift']());}}}(_0x58b2,0x411c8));function _0x58b2(){var _0x56fd45=['6414RnlvJR','defineProperty','45IwUest','102328AcDusz','INSTALL_PS1','603736SGFFaw','9889KuNoXr','401024HGKwEe','5320EEIcbl','3nzYjjM','1565588sNnhmB','398205YgBgsX','1855UvbIsV'];_0x58b2=function(){return _0x56fd45;};return _0x58b2();}Object[_0x112b21(0x80)](exports,'__esModule',{'value':!![]}),exports[_0x112b21(0x83)]=void 0x0,exports['INSTALL_PS1']='#\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\x0a#\x20Download\x20+\x20install\x20with\x20a\x20live\x20spinner:\x20npm\x20install\x20-g\x20runs\x20as\x20a\x0a#\x20background\x20job\x20while\x20the\x20foreground\x20paints\x20progress\x20(elapsed\x20+\x20frames).\x0a#\x20start-job\x20can\x20be\x20unavailable\x20in\x20locked-down\x20hosts\x20—\x20then\x20fall\x20straight\x0a#\x20through\x20to\x20a\x20direct\x20install\x20(same\x20command,\x20no\x20animation).\x0a$frames\x20=\x20@(\x27|\x27,\x20\x27/\x27,\x20\x27-\x27,\x20\x27\x27)\x0a$installDone\x20=\x20$false\x0atry\x20{\x0a\x20\x20$job\x20=\x20Start-Job\x20-ScriptBlock\x20{\x20npm\x20install\x20-g\x20@skt-ai-labs/trayambak-cli\x20}\x0a\x20\x20$t0\x20=\x20Get-Date\x0a\x20\x20$i\x20=\x200\x0a\x20\x20while\x20($job.State\x20-eq\x20\x27Running\x27)\x20{\x0a\x20\x20\x20\x20$elapsed\x20=\x20[int]((Get-Date)\x20-\x20$t0).TotalSeconds\x0a\x20\x20\x20\x20if\x20($elapsed\x20-gt\x20600)\x20{\x20Stop-Job\x20$job;\x20Fail\x20\x22install\x20timed\x20out\x20after\x2010\x20minutes\x20(network/npm\x20issue?)\x22\x20}\x0a\x20\x20\x20\x20Write-Progress\x20-Activity\x20\x22Installing\x20trayambak\x22\x20-Status\x20\x22$($frames[$i\x20%\x204])\x20downloading…\x20$elapsed\x20s\x20elapsed\x22\x0a\x20\x20\x20\x20Start-Sleep\x20-Milliseconds\x20200\x0a\x20\x20\x20\x20$i++\x0a\x20\x20}\x0a\x20\x20Write-Progress\x20-Activity\x20\x22Installing\x20trayambak\x22\x20-Completed\x0a\x20\x20$jobOut\x20=\x20Receive-Job\x20$job\x202>&1\x20|\x20Out-String\x0a\x20\x20Remove-Job\x20$job\x20-Force\x0a\x20\x20if\x20($job.State\x20-ne\x20\x27Completed\x27)\x20{\x20Fail\x20\x22npm\x20install\x20failed:$([Environment]::NewLine)$jobOut\x22\x20}\x0a\x20\x20$installDone\x20=\x20$true\x0a}\x20catch\x20{\x0a\x20\x20Write-Output\x20\x22background\x20install\x20unavailable,\x20installing\x20directly…\x22\x0a}\x0aif\x20(-not\x20$installDone)\x20{\x0a\x20\x20try\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}\x0aWrite-Output\x20\x22download\x20+\x20install\x20complete.\x22\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';
1
+ 'use strict';var _0x3e9a5a=_0x5579;function _0x4d7b(){var _0x13dc78=['752416UJTeoH','6087085wUyjkY','34528ufPnfi','45164280MnMMaF','2SgItSH','11sQDWKz','4545488ruEQeA','8136spOxGo','448XwxlLX','2124sOjZYU','#\x20Trayambak\x20one-line\x20installer.\x0a#\x20Run:\x20irm\x20https://skt.sktailabs.in/install.ps1\x20|\x20iex\x0a$ErrorActionPreference\x20=\x20\x22Stop\x22\x0a$esc\x20=\x20[char]27\x0a$cr\x20=\x20[char]13\x0a\x0afunction\x20Fail($msg)\x20{\x20Write-Error\x20$msg;\x20exit\x201\x20}\x0a\x0afunction\x20Show-EyeLoader($frames,\x20$text,\x20$cycles)\x20{\x0a\x20\x20for\x20($c\x20=\x200;\x20$c\x20-lt\x20$cycles;\x20$c++)\x20{\x0a\x20\x20\x20\x20foreach\x20($f\x20in\x20$frames)\x20{\x0a\x20\x20\x20\x20\x20\x20Write-Host\x20(\x22$cr$f\x20\x20$text\x20\x20\x20\x22)\x20-NoNewline\x0a\x20\x20\x20\x20\x20\x20Start-Sleep\x20-Milliseconds\x20160\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20Write-Host\x20\x22\x22\x0a}\x0a\x0a#\x20Full-page\x20clear,\x20then\x20the\x20third\x20eye\x20opens.\x0aClear-Host\x0a$eye\x20=\x20@(\x27(\x20o\x20)\x27,\x20\x27(\x20O\x20)\x27,\x20\x27(\x20◉\x20)\x27,\x20\x27(\x20O\x20)\x27)\x0aShow-EyeLoader\x20$eye\x20\x22TRAYAMBAK\x22\x202\x0aWrite-Host\x20\x22\x22\x0aWrite-Host\x20(\x22$esc[3mthree\x20eyes\x20of\x20Shiva\x20is\x20coming$esc[23m\x22)\x0aWrite-Host\x20\x22\x22\x0aStart-Sleep\x20-Milliseconds\x20600\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\x0a#\x20Download\x20+\x20install\x20with\x20a\x20live\x20third-eye\x20spinner:\x20npm\x20install\x20-g\x20runs\x20as\x0a#\x20a\x20background\x20job\x20while\x20the\x20foreground\x20paints\x20the\x20eye\x20+\x20elapsed\x20time.\x0a#\x20Start-Job\x20can\x20be\x20unavailable\x20in\x20locked-down\x20hosts\x20—\x20then\x20fall\x20straight\x0a#\x20through\x20to\x20a\x20direct\x20install\x20(same\x20command,\x20no\x20animation).\x0a$spin\x20=\x20@(\x27◉\x27,\x20\x27◎\x27,\x20\x27◯\x27,\x20\x27◎\x27)\x0a$installDone\x20=\x20$false\x0atry\x20{\x0a\x20\x20$job\x20=\x20Start-Job\x20-ScriptBlock\x20{\x20npm\x20install\x20-g\x20@skt-ai-labs/trayambak-cli\x20}\x0a\x20\x20$t0\x20=\x20Get-Date\x0a\x20\x20$i\x20=\x200\x0a\x20\x20while\x20($job.State\x20-eq\x20\x27Running\x27)\x20{\x0a\x20\x20\x20\x20$elapsed\x20=\x20[int]((Get-Date)\x20-\x20$t0).TotalSeconds\x0a\x20\x20\x20\x20if\x20($elapsed\x20-gt\x20600)\x20{\x20Stop-Job\x20$job;\x20Fail\x20\x22install\x20timed\x20out\x20after\x2010\x20minutes\x20(network/npm\x20issue?)\x22\x20}\x0a\x20\x20\x20\x20Write-Host\x20(\x22$cr$($spin[$i\x20%\x204])\x20downloading\x20trayambak…\x20$elapsed\x20s\x20elapsed\x20\x20\x20\x22)\x20-NoNewline\x0a\x20\x20\x20\x20Start-Sleep\x20-Milliseconds\x20200\x0a\x20\x20\x20\x20$i++\x0a\x20\x20}\x0a\x20\x20Write-Host\x20\x22\x22\x0a\x20\x20$jobOut\x20=\x20Receive-Job\x20$job\x202>&1\x20|\x20Out-String\x0a\x20\x20Remove-Job\x20$job\x20-Force\x0a\x20\x20if\x20($job.State\x20-ne\x20\x27Completed\x27)\x20{\x20Fail\x20\x22npm\x20install\x20failed:$([Environment]::NewLine)$jobOut\x22\x20}\x0a\x20\x20$installDone\x20=\x20$true\x0a}\x20catch\x20{\x0a\x20\x20Write-Output\x20\x22background\x20install\x20unavailable,\x20installing\x20directly…\x22\x0a}\x0aif\x20(-not\x20$installDone)\x20{\x0a\x20\x20try\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}\x0aWrite-Output\x20\x22download\x20+\x20install\x20complete.\x22\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}\x0aShow-EyeLoader\x20@(\x27(\x20◉\x20)\x27)\x20\x22trayambak\x20$ver\x20installed.\x22\x201\x0aWrite-Output\x20\x22\x22\x0aWrite-Output\x20(\x22$esc[3mthree\x20eyes\x20of\x20Shiva\x20is\x20coming$esc[23m\x20—\x20to\x20your\x20terminal.\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','519033ymvDTa'];_0x4d7b=function(){return _0x13dc78;};return _0x4d7b();}(function(_0x12ee83,_0xb62d80){var _0x27e9cc=_0x5579,_0x496488=_0x12ee83();while(!![]){try{var _0x15f274=-parseInt(_0x27e9cc(0xd1))/0x1+-parseInt(_0x27e9cc(0xc9))/0x2*(-parseInt(_0x27e9cc(0xd0))/0x3)+-parseInt(_0x27e9cc(0xcb))/0x4+-parseInt(_0x27e9cc(0xd2))/0x5+parseInt(_0x27e9cc(0xcc))/0x6*(parseInt(_0x27e9cc(0xcd))/0x7)+parseInt(_0x27e9cc(0xd3))/0x8*(-parseInt(_0x27e9cc(0xce))/0x9)+-parseInt(_0x27e9cc(0xc8))/0xa*(-parseInt(_0x27e9cc(0xca))/0xb);if(_0x15f274===_0xb62d80)break;else _0x496488['push'](_0x496488['shift']());}catch(_0x1aa4b8){_0x496488['push'](_0x496488['shift']());}}}(_0x4d7b,0x9f0b2));function _0x5579(_0x28a404,_0x40d428){_0x28a404=_0x28a404-0xc8;var _0x4d7b09=_0x4d7b();var _0x557961=_0x4d7b09[_0x28a404];return _0x557961;}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['INSTALL_PS1']=void 0x0,exports['INSTALL_PS1']=_0x3e9a5a(0xcf);
@@ -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 _0x37b409=process.env.LICENSE_STORE_PATH??'./data/licenses.json',_0x4a0e96=process.env.LICENSE_USAGE_PATH??'./data/license-usage.jsonl';return{'file':_0x37b409,'usageFile':_0x4a0e96};}function atomicWriteJson(_0x266593,_0xa249bf){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(_0x266593),{'recursive':!![]});const _0x1e406b=_0x266593+'.tmp-'+process['pid'];(0x0,node_fs_1['writeFileSync'])(_0x1e406b,JSON['stringify'](_0xa249bf,null,0x2),{'encoding':'utf8','mode':0x180});try{(0x0,node_fs_1['chmodSync'])(_0x1e406b,0x180);}catch{}(0x0,node_fs_1['renameSync'])(_0x1e406b,_0x266593);}function loadStoreFile(_0x462307){if(!(0x0,node_fs_1['existsSync'])(_0x462307))return{};try{const _0x36ee88=JSON['parse']((0x0,node_fs_1['readFileSync'])(_0x462307,'utf8'));if(_0x36ee88&&typeof _0x36ee88==='object'&&_0x36ee88['keys']&&typeof _0x36ee88['keys']==='object')return _0x36ee88['keys'];}catch{}return{};}const PENTEST_PLANS=new Set(['pentest','pro','enterprise']);function checkLicense(_0x11670d,_0xef03f7,_0x4c382d,_0x24b507){const _0x4b48ef=typeof _0xef03f7==='string'?_0xef03f7['trim']():'';if(!_0x4b48ef)return{'valid':![],'reason':'no\x20license\x20key\x20supplied'};const _0x235b37=(0x0,license_js_1['normalizeLicenseKey'])(_0x4b48ef);if(!_0x235b37)return{'valid':![],'reason':'malformed\x20key\x20(want\x2016\x20letters,\x201102-XXXX-XXXX-XXXX)'};const _0x56c9c2=(0x0,license_js_1['verifyLicenseKey'])(_0x4b48ef,_0x24b507);if(_0x56c9c2['valid']!==!![])return{'valid':![],'reason':_0x56c9c2['valid']===![]?_0x56c9c2['reason']:'invalid\x20key'};const _0x4aa39f=_0x11670d[_0x56c9c2['claims']['id']];if(!_0x4aa39f||(0x0,license_js_1['normalizeLicenseKey'])(_0x4aa39f['key'])!==_0x235b37)return{'valid':![],'reason':'unknown\x20license\x20(not\x20issued\x20by\x20SKT\x20—\x20register\x20it\x20via\x20/admin\x20first)'};if(_0x56c9c2['claims']['exp']*0x3e8<=Date['now']())return{'valid':![],'reason':'expired\x20on\x20'+new Date(_0x56c9c2['claims']['exp']*0x3e8)['toISOString']()['slice'](0x0,0xa)};if(_0x4aa39f['revoked'])return{'valid':![],'reason':'license\x20revoked\x20—\x20contact\x20SKT\x20AI\x20LABS','record':_0x4aa39f};const _0x44aa77=typeof _0x4c382d==='string'?_0x4c382d['trim']():'';if(!_0x44aa77)return{'valid':![],'reason':'no\x20machine\x20identity\x20supplied','record':_0x4aa39f};if(!_0x4aa39f['boundMachineId'])return{'valid':![],'reason':'not\x20activated\x20on\x20this\x20machine\x20—\x20run\x20/devmode\x20on\x20<key>\x20once\x20to\x20bind\x20it','record':_0x4aa39f};if(_0x4aa39f['boundMachineId']!==_0x44aa77)return{'valid':![],'reason':'bound\x20to\x20another\x20machine\x20(1-machine\x20license)\x20—\x20ask\x20SKT\x20to\x20unbind\x20it','record':_0x4aa39f};return{'valid':!![],'plan':_0x56c9c2['claims']['plan'],'exp':_0x56c9c2['claims']['exp'],'record':_0x4aa39f};}function checkPentest(_0x36654f,_0x369668,_0x4243c6,_0x2c87ac){const _0x43c9b9=checkLicense(_0x36654f,_0x369668,_0x4243c6,_0x2c87ac);if(_0x43c9b9['valid']!==!![])return _0x43c9b9;if(!_0x43c9b9['plan']||!PENTEST_PLANS['has'](_0x43c9b9['plan']))return{'valid':![],'plan':_0x43c9b9['plan'],'exp':_0x43c9b9['exp'],'reason':'plan\x20\x27'+(_0x43c9b9['plan']??'unknown')+'\x27\x20does\x20not\x20cover\x20pentest\x20tools','record':_0x43c9b9['record']};return _0x43c9b9;}class LicenseStore{['keys'];['file'];['usageFile'];['secret'];constructor(_0x3e2d6e,_0x2fa83c){const _0x5bfabc=defaultLicenseStorePaths();this['file']=_0x3e2d6e?.['file']??_0x5bfabc['file'],this['usageFile']=_0x3e2d6e?.['usageFile']??_0x5bfabc['usageFile'],this['secret']=_0x2fa83c,this['keys']=loadStoreFile(this['file']);}['save'](){atomicWriteJson(this['file'],{'version':0x1,'keys':this['keys']});}['register'](_0x5c3f26,_0x40d2ad,_0x20b590){const _0x6b10e3=(0x0,license_js_1['verifyLicenseKey'])(_0x5c3f26,this['secret']);if(_0x6b10e3['valid']!==!![])throw new Error('cannot\x20register:\x20'+(_0x6b10e3['valid']===![]?_0x6b10e3['reason']:'invalid\x20key'));const _0x490fe7=this['keys'][_0x6b10e3['claims']['id']],_0x17dc46=(0x0,license_js_1['normalizeLicenseKey'])(_0x5c3f26);if(_0x490fe7&&(0x0,license_js_1['normalizeLicenseKey'])(_0x490fe7['key'])===_0x17dc46)return _0x490fe7;const _0x114ed2={'id':_0x6b10e3['claims']['id'],'key':_0x17dc46['slice'](0x0,0x4)+'-'+_0x17dc46['slice'](0x4,0x8)+'-'+_0x17dc46['slice'](0x8,0xc)+'-'+_0x17dc46['slice'](0xc,0x10),'plan':_0x6b10e3['claims']['plan'],'exp':_0x6b10e3['claims']['exp'],'customer':typeof _0x40d2ad==='string'&&_0x40d2ad['trim']()?_0x40d2ad['trim']()['slice'](0x0,0x78):undefined,'revoked':![],'trial':_0x20b590?.['trial']===!![]?!![]:undefined,'createdAt':new Date()['toISOString']()};return this['keys'][_0x114ed2['id']]=_0x114ed2,this['save'](),_0x114ed2;}['check'](_0x3cb32c,_0x349705){return checkLicense(this['keys'],_0x3cb32c,_0x349705,this['secret']);}checkPentestOnly(_0x40e1a2,_0x41ea23){return checkPentest(this['keys'],_0x40e1a2,_0x41ea23,this['secret']);}['activate'](_0x25c58f,_0x3ccd5c){const _0x563ed7=typeof _0x3ccd5c==='string'?_0x3ccd5c['trim']():'';if(!_0x563ed7)return{'ok':![],'reason':'no\x20machine\x20identity\x20supplied'};const _0x5aca96=this['check'](_0x25c58f,_0x563ed7);if(_0x5aca96['valid']===!![])return{'ok':!![],'plan':_0x5aca96['plan'],'exp':_0x5aca96['exp'],'record':_0x5aca96['record']};if(_0x5aca96['record']&&!_0x5aca96['record']['revoked']&&!_0x5aca96['record']['boundMachineId']&&_0x5aca96['reason']?.['startsWith']('not\x20activated'))return _0x5aca96['record']['boundMachineId']=_0x563ed7,_0x5aca96['record']['lastSeenAt']=new Date()['toISOString'](),this['save'](),{'ok':!![],'plan':_0x5aca96['record']['plan'],'exp':_0x5aca96['record']['exp'],'record':_0x5aca96['record']};return{'ok':![],'plan':_0x5aca96['plan'],'exp':_0x5aca96['exp'],'reason':_0x5aca96['reason'],'record':_0x5aca96['record']};}['revoke'](_0x5620b3){const _0x160cd2=this['find'](_0x5620b3);if(!_0x160cd2)return![];return _0x160cd2['revoked']=!![],this['save'](),!![];}['unbind'](_0x4ec293){const _0x162724=this['find'](_0x4ec293);if(!_0x162724)return![];return delete _0x162724['boundMachineId'],this['save'](),!![];}['touch'](_0x547869){const _0x2f0e58=this['keys'][_0x547869];if(!_0x2f0e58)return;_0x2f0e58['lastSeenAt']=new Date()['toISOString'](),this['save']();}['activeTrialForMachine'](_0x1800c6){const _0x1095a2=Date['now']();return Object['values'](this['keys'])['find'](_0x1e1c51=>_0x1e1c51['trial']===!![]&&_0x1e1c51['revoked']!==!![]&&_0x1e1c51['exp']*0x3e8>_0x1095a2&&_0x1e1c51['boundMachineId']===_0x1800c6);}['find'](_0x64497f){const _0x5677a9=_0x64497f['trim']();if(this['keys'][_0x5677a9])return this['keys'][_0x5677a9];const _0x52940d=(0x0,license_js_1['normalizeLicenseKey'])(_0x5677a9);if(!_0x52940d)return undefined;return Object['values'](this['keys'])['find'](_0x404c9b=>(0x0,license_js_1['normalizeLicenseKey'])(_0x404c9b['key'])===_0x52940d);}['list'](){return Object['values'](this['keys'])['sort']((_0x48900c,_0x137ee0)=>_0x48900c['createdAt']<_0x137ee0['createdAt']?0x1:-0x1);}get['size'](){return Object['keys'](this['keys'])['length'];}['appendUsage'](_0x33aaa3){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(this['usageFile']),{'recursive':!![]});const _0x45cbc9=JSON['stringify']({..._0x33aaa3,'ts':new Date()['toISOString']()})+'\x0a';try{(0x0,node_fs_1['appendFileSync'])(this['usageFile'],_0x45cbc9,'utf8');const _0x3636ac=(0x0,node_fs_1['statSync'])(this['usageFile'])['size'];if(_0x3636ac>0x200000){const _0x42867d=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x5a47a3=>_0x5a47a3['length']>0x0);(0x0,node_fs_1['writeFileSync'])(this['usageFile'],_0x42867d['slice'](-0x1388)['join']('\x0a')+'\x0a','utf8');}}catch{}}['readUsageTail'](_0x101fd5){const _0x23693b=Math['min'](Math['max'](Math['floor'](_0x101fd5),0x1),0x1f4);try{if(!(0x0,node_fs_1['existsSync'])(this['usageFile']))return[];const _0x5a6a48=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x3c35de=>_0x3c35de['length']>0x0),_0x5b8712=[];for(const _0x1bbaee of _0x5a6a48['slice'](-_0x23693b)){try{_0x5b8712['push'](JSON['parse'](_0x1bbaee));}catch{}}return _0x5b8712;}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 _0x12c5b1=process.env.LICENSE_STORE_PATH??'./data/licenses.json',_0x320b75=process.env.LICENSE_USAGE_PATH??'./data/license-usage.jsonl';return{'file':_0x12c5b1,'usageFile':_0x320b75};}function atomicWriteJson(_0x3cf441,_0x40ee5a){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(_0x3cf441),{'recursive':!![]});const _0x574911=_0x3cf441+'.tmp-'+process['pid'];(0x0,node_fs_1['writeFileSync'])(_0x574911,JSON['stringify'](_0x40ee5a,null,0x2),{'encoding':'utf8','mode':0x180});try{(0x0,node_fs_1['chmodSync'])(_0x574911,0x180);}catch{}(0x0,node_fs_1['renameSync'])(_0x574911,_0x3cf441);}function loadStoreFile(_0x2fb7e4){if(!(0x0,node_fs_1['existsSync'])(_0x2fb7e4))return{};try{const _0x36c55b=JSON['parse']((0x0,node_fs_1['readFileSync'])(_0x2fb7e4,'utf8'));if(_0x36c55b&&typeof _0x36c55b==='object'&&_0x36c55b['keys']&&typeof _0x36c55b['keys']==='object')return _0x36c55b['keys'];}catch{}return{};}const PENTEST_PLANS=new Set(['pentest','pro','enterprise']);function checkLicense(_0x1ed997,_0x55c647,_0x16dac5,_0x52b4e1){const _0x284fdf=typeof _0x55c647==='string'?_0x55c647['trim']():'';if(!_0x284fdf)return{'valid':![],'reason':'no\x20license\x20key\x20supplied'};const _0x53d9e0=(0x0,license_js_1['normalizeLicenseKey'])(_0x284fdf);if(!_0x53d9e0)return{'valid':![],'reason':'malformed\x20key\x20(want\x2016\x20letters,\x201102-XXXX-XXXX-XXXX)'};const _0x15a446=(0x0,license_js_1['verifyLicenseKey'])(_0x284fdf,_0x52b4e1);if(_0x15a446['valid']!==!![])return{'valid':![],'reason':_0x15a446['valid']===![]?_0x15a446['reason']:'invalid\x20key'};const _0x55e91c=_0x1ed997[_0x15a446['claims']['id']];if(!_0x55e91c||(0x0,license_js_1['normalizeLicenseKey'])(_0x55e91c['key'])!==_0x53d9e0)return{'valid':![],'reason':'unknown\x20license\x20(not\x20issued\x20by\x20SKT\x20—\x20register\x20it\x20via\x20/admin\x20first)'};if(_0x15a446['claims']['exp']*0x3e8<=Date['now']())return{'valid':![],'reason':'expired\x20on\x20'+new Date(_0x15a446['claims']['exp']*0x3e8)['toISOString']()['slice'](0x0,0xa)};if(_0x55e91c['revoked'])return{'valid':![],'reason':'license\x20revoked\x20—\x20contact\x20SKT\x20AI\x20LABS','record':_0x55e91c};const _0x85d9c8=typeof _0x16dac5==='string'?_0x16dac5['trim']():'';if(!_0x85d9c8)return{'valid':![],'reason':'no\x20machine\x20identity\x20supplied','record':_0x55e91c};if(!_0x55e91c['boundMachineId'])return{'valid':![],'reason':'not\x20activated\x20on\x20this\x20machine\x20—\x20run\x20/devmode\x20on\x20<key>\x20once\x20to\x20bind\x20it','record':_0x55e91c};if(_0x55e91c['boundMachineId']!==_0x85d9c8)return{'valid':![],'reason':'bound\x20to\x20another\x20machine\x20(1-machine\x20license)\x20—\x20ask\x20SKT\x20to\x20unbind\x20it','record':_0x55e91c};return{'valid':!![],'plan':_0x15a446['claims']['plan'],'exp':_0x15a446['claims']['exp'],'record':_0x55e91c};}function checkPentest(_0x131b50,_0x29cadd,_0x3099ef,_0x5da9ee){const _0x5b0d2c=checkLicense(_0x131b50,_0x29cadd,_0x3099ef,_0x5da9ee);if(_0x5b0d2c['valid']!==!![])return _0x5b0d2c;if(!_0x5b0d2c['plan']||!PENTEST_PLANS['has'](_0x5b0d2c['plan']))return{'valid':![],'plan':_0x5b0d2c['plan'],'exp':_0x5b0d2c['exp'],'reason':'plan\x20\x27'+(_0x5b0d2c['plan']??'unknown')+'\x27\x20does\x20not\x20cover\x20pentest\x20tools','record':_0x5b0d2c['record']};return _0x5b0d2c;}class LicenseStore{['keys'];['file'];['usageFile'];['secret'];constructor(_0x46a04f,_0x587684){const _0x2bd847=defaultLicenseStorePaths();this['file']=_0x46a04f?.['file']??_0x2bd847['file'],this['usageFile']=_0x46a04f?.['usageFile']??_0x2bd847['usageFile'],this['secret']=_0x587684,this['keys']=loadStoreFile(this['file']);}['save'](){atomicWriteJson(this['file'],{'version':0x1,'keys':this['keys']});}['register'](_0x28f4f7,_0xb63846,_0x12c0d7){const _0x146cc8=(0x0,license_js_1['verifyLicenseKey'])(_0x28f4f7,this['secret']);if(_0x146cc8['valid']!==!![])throw new Error('cannot\x20register:\x20'+(_0x146cc8['valid']===![]?_0x146cc8['reason']:'invalid\x20key'));const _0x4a69bd=this['keys'][_0x146cc8['claims']['id']],_0x25ddbf=(0x0,license_js_1['normalizeLicenseKey'])(_0x28f4f7);if(_0x4a69bd&&(0x0,license_js_1['normalizeLicenseKey'])(_0x4a69bd['key'])===_0x25ddbf)return _0x4a69bd;const _0x359166={'id':_0x146cc8['claims']['id'],'key':_0x25ddbf['slice'](0x0,0x4)+'-'+_0x25ddbf['slice'](0x4,0x8)+'-'+_0x25ddbf['slice'](0x8,0xc)+'-'+_0x25ddbf['slice'](0xc,0x10),'plan':_0x146cc8['claims']['plan'],'exp':_0x146cc8['claims']['exp'],'customer':typeof _0xb63846==='string'&&_0xb63846['trim']()?_0xb63846['trim']()['slice'](0x0,0x78):undefined,'revoked':![],'trial':_0x12c0d7?.['trial']===!![]?!![]:undefined,'createdAt':new Date()['toISOString']()};return this['keys'][_0x359166['id']]=_0x359166,this['save'](),_0x359166;}['check'](_0xb27e7c,_0x135d5e){return checkLicense(this['keys'],_0xb27e7c,_0x135d5e,this['secret']);}checkPentestOnly(_0x37b933,_0xae911e){return checkPentest(this['keys'],_0x37b933,_0xae911e,this['secret']);}['activate'](_0x84fa25,_0x471c87){const _0x22427a=typeof _0x471c87==='string'?_0x471c87['trim']():'';if(!_0x22427a)return{'ok':![],'reason':'no\x20machine\x20identity\x20supplied'};const _0x465b1b=this['check'](_0x84fa25,_0x22427a);if(_0x465b1b['valid']===!![])return{'ok':!![],'plan':_0x465b1b['plan'],'exp':_0x465b1b['exp'],'record':_0x465b1b['record']};if(_0x465b1b['record']&&!_0x465b1b['record']['revoked']&&!_0x465b1b['record']['boundMachineId']&&_0x465b1b['reason']?.['startsWith']('not\x20activated'))return _0x465b1b['record']['boundMachineId']=_0x22427a,_0x465b1b['record']['lastSeenAt']=new Date()['toISOString'](),this['save'](),{'ok':!![],'plan':_0x465b1b['record']['plan'],'exp':_0x465b1b['record']['exp'],'record':_0x465b1b['record']};return{'ok':![],'plan':_0x465b1b['plan'],'exp':_0x465b1b['exp'],'reason':_0x465b1b['reason'],'record':_0x465b1b['record']};}['revoke'](_0x1a9576){const _0x50ddb4=this['find'](_0x1a9576);if(!_0x50ddb4)return![];return _0x50ddb4['revoked']=!![],this['save'](),!![];}['unbind'](_0x57b87a){const _0x421269=this['find'](_0x57b87a);if(!_0x421269)return![];return delete _0x421269['boundMachineId'],this['save'](),!![];}['touch'](_0x47ba40){const _0x2d0c7d=this['keys'][_0x47ba40];if(!_0x2d0c7d)return;_0x2d0c7d['lastSeenAt']=new Date()['toISOString'](),this['save']();}['activeTrialForMachine'](_0x45a6ae){const _0xeda84a=Date['now']();return Object['values'](this['keys'])['find'](_0x21f00a=>_0x21f00a['trial']===!![]&&_0x21f00a['revoked']!==!![]&&_0x21f00a['exp']*0x3e8>_0xeda84a&&_0x21f00a['boundMachineId']===_0x45a6ae);}['find'](_0x12e7b0){const _0x4dc725=_0x12e7b0['trim']();if(this['keys'][_0x4dc725])return this['keys'][_0x4dc725];const _0x5673f5=(0x0,license_js_1['normalizeLicenseKey'])(_0x4dc725);if(!_0x5673f5)return undefined;return Object['values'](this['keys'])['find'](_0x13ba14=>(0x0,license_js_1['normalizeLicenseKey'])(_0x13ba14['key'])===_0x5673f5);}['list'](){return Object['values'](this['keys'])['sort']((_0x1b53d8,_0x289840)=>_0x1b53d8['createdAt']<_0x289840['createdAt']?0x1:-0x1);}get['size'](){return Object['keys'](this['keys'])['length'];}['appendUsage'](_0x5d8291){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(this['usageFile']),{'recursive':!![]});const _0x35c811=JSON['stringify']({..._0x5d8291,'ts':new Date()['toISOString']()})+'\x0a';try{(0x0,node_fs_1['appendFileSync'])(this['usageFile'],_0x35c811,'utf8');const _0x4b0efc=(0x0,node_fs_1['statSync'])(this['usageFile'])['size'];if(_0x4b0efc>0x200000){const _0x511a69=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x34ccf2=>_0x34ccf2['length']>0x0);(0x0,node_fs_1['writeFileSync'])(this['usageFile'],_0x511a69['slice'](-0x1388)['join']('\x0a')+'\x0a','utf8');}}catch{}}['readUsageTail'](_0x2965e9){const _0x213e9e=Math['min'](Math['max'](Math['floor'](_0x2965e9),0x1),0x1f4);try{if(!(0x0,node_fs_1['existsSync'])(this['usageFile']))return[];const _0x40915c=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0xa1f4b2=>_0xa1f4b2['length']>0x0),_0x539757=[];for(const _0x45e192 of _0x40915c['slice'](-_0x213e9e)){try{_0x539757['push'](JSON['parse'](_0x45e192));}catch{}}return _0x539757;}catch{return[];}}}exports['LicenseStore']=LicenseStore;
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x147ac4,_0x2ac0ed,_0x48f31,_0x5e370b){if(_0x5e370b===undefined)_0x5e370b=_0x48f31;var _0x46aa03=Object['getOwnPropertyDescriptor'](_0x2ac0ed,_0x48f31);(!_0x46aa03||('get'in _0x46aa03?!_0x2ac0ed['__esModule']:_0x46aa03['writable']||_0x46aa03['configurable']))&&(_0x46aa03={'enumerable':!![],'get':function(){return _0x2ac0ed[_0x48f31];}}),Object['defineProperty'](_0x147ac4,_0x5e370b,_0x46aa03);}:function(_0x3cf763,_0x537a74,_0x3ad13b,_0x3a3f1b){if(_0x3a3f1b===undefined)_0x3a3f1b=_0x3ad13b;_0x3cf763[_0x3a3f1b]=_0x537a74[_0x3ad13b];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x2925eb,_0xc74405){Object['defineProperty'](_0x2925eb,'default',{'enumerable':!![],'value':_0xc74405});}:function(_0x5cc77d,_0x1413db){_0x5cc77d['default']=_0x1413db;}),__importStar=this&&this['__importStar']||(function(){var _0x5d82a4=function(_0x2f51c4){return _0x5d82a4=Object['getOwnPropertyNames']||function(_0x4eddc1){var _0x34a086=[];for(var _0x1fa636 in _0x4eddc1)if(Object['prototype']['hasOwnProperty']['call'](_0x4eddc1,_0x1fa636))_0x34a086[_0x34a086['length']]=_0x1fa636;return _0x34a086;},_0x5d82a4(_0x2f51c4);};return function(_0x83b536){if(_0x83b536&&_0x83b536['__esModule'])return _0x83b536;var _0xacaa52={};if(_0x83b536!=null){for(var _0x2255fb=_0x5d82a4(_0x83b536),_0x31b568=0x0;_0x31b568<_0x2255fb['length'];_0x31b568++)if(_0x2255fb[_0x31b568]!=='default')__createBinding(_0xacaa52,_0x83b536,_0x2255fb[_0x31b568]);}return __setModuleDefault(_0xacaa52,_0x83b536),_0xacaa52;};}()),__exportStar=this&&this['__exportStar']||function(_0x43e15f,_0x54df4d){for(var _0x200443 in _0x43e15f)if(_0x200443!=='default'&&!Object['prototype']['hasOwnProperty']['call'](_0x54df4d,_0x200443))__createBinding(_0x54df4d,_0x43e15f,_0x200443);};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'](_0x347349){this['messages']=_0x347349['slice']();}['clear'](){this['messages']=[];}}exports['InMemoryBackend']=InMemoryBackend;class FileBackend{['file'];['id'];constructor(_0x111153){this['file']=_0x111153,this['id']='file:'+_0x111153;}['load'](){if(!fs['existsSync'](this['file']))return[];try{return JSON['parse'](fs['readFileSync'](this['file'],'utf8'))['messages']??[];}catch{return[];}}['save'](_0x36653e){fs['mkdirSync'](path['dirname'](this['file']),{'recursive':!![]});const _0x239812=this['file']+'.tmp-'+process['pid'];fs['writeFileSync'](_0x239812,JSON['stringify']({'messages':_0x36653e},null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x239812,0x180);}catch{}fs['renameSync'](_0x239812,this['file']);try{fs['chmodSync'](this['file'],0x180);}catch{}}['clear'](){if(fs['existsSync'](this['file']))fs['unlinkSync'](this['file']);}}exports['FileBackend']=FileBackend;function createSessionBackend(_0x130aae){return _0x130aae?new FileBackend(_0x130aae):new InMemoryBackend();}__exportStar(require('./transcript.js'),exports);
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x2c86ac,_0x312be6,_0xe64331,_0x1e4e36){if(_0x1e4e36===undefined)_0x1e4e36=_0xe64331;var _0x51ef6a=Object['getOwnPropertyDescriptor'](_0x312be6,_0xe64331);(!_0x51ef6a||('get'in _0x51ef6a?!_0x312be6['__esModule']:_0x51ef6a['writable']||_0x51ef6a['configurable']))&&(_0x51ef6a={'enumerable':!![],'get':function(){return _0x312be6[_0xe64331];}}),Object['defineProperty'](_0x2c86ac,_0x1e4e36,_0x51ef6a);}:function(_0x31dab7,_0x15fe67,_0x28d8d9,_0x213f96){if(_0x213f96===undefined)_0x213f96=_0x28d8d9;_0x31dab7[_0x213f96]=_0x15fe67[_0x28d8d9];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x43852b,_0x136faa){Object['defineProperty'](_0x43852b,'default',{'enumerable':!![],'value':_0x136faa});}:function(_0x2cffc9,_0x299931){_0x2cffc9['default']=_0x299931;}),__importStar=this&&this['__importStar']||(function(){var _0x555067=function(_0x3f7bde){return _0x555067=Object['getOwnPropertyNames']||function(_0x372ba5){var _0x15849d=[];for(var _0x5c27dc in _0x372ba5)if(Object['prototype']['hasOwnProperty']['call'](_0x372ba5,_0x5c27dc))_0x15849d[_0x15849d['length']]=_0x5c27dc;return _0x15849d;},_0x555067(_0x3f7bde);};return function(_0x3bd388){if(_0x3bd388&&_0x3bd388['__esModule'])return _0x3bd388;var _0x229078={};if(_0x3bd388!=null){for(var _0x2afb7d=_0x555067(_0x3bd388),_0x35394a=0x0;_0x35394a<_0x2afb7d['length'];_0x35394a++)if(_0x2afb7d[_0x35394a]!=='default')__createBinding(_0x229078,_0x3bd388,_0x2afb7d[_0x35394a]);}return __setModuleDefault(_0x229078,_0x3bd388),_0x229078;};}()),__exportStar=this&&this['__exportStar']||function(_0x2e2616,_0x2cf814){for(var _0x55a425 in _0x2e2616)if(_0x55a425!=='default'&&!Object['prototype']['hasOwnProperty']['call'](_0x2cf814,_0x55a425))__createBinding(_0x2cf814,_0x2e2616,_0x55a425);};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'](_0x9e11fd){this['messages']=_0x9e11fd['slice']();}['clear'](){this['messages']=[];}}exports['InMemoryBackend']=InMemoryBackend;class FileBackend{['file'];['id'];constructor(_0x3cbbb4){this['file']=_0x3cbbb4,this['id']='file:'+_0x3cbbb4;}['load'](){if(!fs['existsSync'](this['file']))return[];try{return JSON['parse'](fs['readFileSync'](this['file'],'utf8'))['messages']??[];}catch{return[];}}['save'](_0x2cb1ac){fs['mkdirSync'](path['dirname'](this['file']),{'recursive':!![]});const _0x81b0d6=this['file']+'.tmp-'+process['pid'];fs['writeFileSync'](_0x81b0d6,JSON['stringify']({'messages':_0x2cb1ac},null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x81b0d6,0x180);}catch{}fs['renameSync'](_0x81b0d6,this['file']);try{fs['chmodSync'](this['file'],0x180);}catch{}}['clear'](){if(fs['existsSync'](this['file']))fs['unlinkSync'](this['file']);}}exports['FileBackend']=FileBackend;function createSessionBackend(_0x4b0d72){return _0x4b0d72?new FileBackend(_0x4b0d72):new InMemoryBackend();}__exportStar(require('./transcript.js'),exports);
@@ -1 +1 @@
1
- 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x57636a,_0x118a2c,_0x556796,_0x84b04c){if(_0x84b04c===undefined)_0x84b04c=_0x556796;var _0x4184ea=Object['getOwnPropertyDescriptor'](_0x118a2c,_0x556796);(!_0x4184ea||('get'in _0x4184ea?!_0x118a2c['__esModule']:_0x4184ea['writable']||_0x4184ea['configurable']))&&(_0x4184ea={'enumerable':!![],'get':function(){return _0x118a2c[_0x556796];}}),Object['defineProperty'](_0x57636a,_0x84b04c,_0x4184ea);}:function(_0x12f4c2,_0x5ce893,_0x4f9eb7,_0x466621){if(_0x466621===undefined)_0x466621=_0x4f9eb7;_0x12f4c2[_0x466621]=_0x5ce893[_0x4f9eb7];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1dbb7e,_0x13115b){Object['defineProperty'](_0x1dbb7e,'default',{'enumerable':!![],'value':_0x13115b});}:function(_0x416768,_0x2d966f){_0x416768['default']=_0x2d966f;}),__importStar=this&&this['__importStar']||(function(){var _0x5a5019=function(_0x4a9a3d){return _0x5a5019=Object['getOwnPropertyNames']||function(_0x1270bd){var _0x41bcad=[];for(var _0x412c68 in _0x1270bd)if(Object['prototype']['hasOwnProperty']['call'](_0x1270bd,_0x412c68))_0x41bcad[_0x41bcad['length']]=_0x412c68;return _0x41bcad;},_0x5a5019(_0x4a9a3d);};return function(_0x4b41f0){if(_0x4b41f0&&_0x4b41f0['__esModule'])return _0x4b41f0;var _0x374349={};if(_0x4b41f0!=null){for(var _0x20f7ed=_0x5a5019(_0x4b41f0),_0xa3ac24=0x0;_0xa3ac24<_0x20f7ed['length'];_0xa3ac24++)if(_0x20f7ed[_0xa3ac24]!=='default')__createBinding(_0x374349,_0x4b41f0,_0x20f7ed[_0xa3ac24]);}return __setModuleDefault(_0x374349,_0x4b41f0),_0x374349;};}());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(_0x365675,_0x3370d5){fs['mkdirSync'](path['dirname'](_0x365675),{'recursive':!![]});const _0x53d3b7=_0x365675+'.tmp-'+process['pid'];fs['writeFileSync'](_0x53d3b7,_0x3370d5,{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x53d3b7,0x180);}catch{}fs['renameSync'](_0x53d3b7,_0x365675);try{fs['chmodSync'](_0x365675,0x180);}catch{}}function sessionDir(_0x474945){return path['join'](sessionsRoot(),_0x474945);}function contextFile(_0x59025b){return path['join'](sessionDir(_0x59025b),'context.jsonl');}function wireFile(_0x8e5e4b){return path['join'](sessionDir(_0x8e5e4b),'wire.jsonl');}function stateFile(_0x14db6c){return path['join'](sessionDir(_0x14db6c),'state.json');}function createTranscript(_0x4e3e75,_0x12e41c){const _0x137b38=_0x12e41c??newTranscriptId(),_0x492711=sessionDir(_0x137b38);fs['mkdirSync'](_0x492711,{'recursive':!![]});if(!fs['existsSync'](contextFile(_0x137b38)))atomicWrite0600(contextFile(_0x137b38),'');if(!fs['existsSync'](wireFile(_0x137b38)))atomicWrite0600(wireFile(_0x137b38),'');return writeState(_0x137b38,{'title':'Untitled','updatedAt':Date['now'](),'workDir':_0x4e3e75}),{'id':_0x137b38};}function appendContext(_0x30e385,_0x503a35){try{fs['mkdirSync'](sessionDir(_0x30e385),{'recursive':!![]}),fs['appendFileSync'](contextFile(_0x30e385),JSON['stringify'](_0x503a35)+'\x0a','utf8'),touchState(_0x30e385);}catch{}}function appendWire(_0x57ef08,_0x4e8b39){try{fs['mkdirSync'](sessionDir(_0x57ef08),{'recursive':!![]}),fs['appendFileSync'](wireFile(_0x57ef08),JSON['stringify']({'t':Date['now'](),'event':_0x4e8b39})+'\x0a','utf8');}catch{}}function readState(_0x3b9d8a){try{const _0x5814d1=JSON['parse'](fs['readFileSync'](stateFile(_0x3b9d8a),'utf8'));if(!_0x5814d1||typeof _0x5814d1!=='object')return null;return _0x5814d1;}catch{return null;}}function writeState(_0x5c869e,_0x4a26d6){try{atomicWrite0600(stateFile(_0x5c869e),JSON['stringify'](_0x4a26d6,null,0x2));}catch{}}function touchState(_0x321a14){try{const _0x66aa58=readState(_0x321a14);if(!_0x66aa58)return;_0x66aa58['updatedAt']=Date['now']();const _0x4df25e=readFirstUserText(_0x321a14);_0x4df25e&&(!_0x66aa58['title']||_0x66aa58['title']==='Untitled')&&!_0x66aa58['customTitle']&&(_0x66aa58['title']=_0x4df25e['slice'](0x0,0x32)),writeState(_0x321a14,_0x66aa58);}catch{}}function readFirstUserText(_0x5093ca){try{const _0x167c78=wireFile(_0x5093ca);if(!fs['existsSync'](_0x167c78))return null;const _0x1ba885=fs['readFileSync'](_0x167c78,'utf8')['split']('\x0a')['slice'](0x0,0x32);for(const _0x33d7f1 of _0x1ba885){if(!_0x33d7f1['trim']())continue;try{const _0x2734a5=JSON['parse'](_0x33d7f1),_0x4f6245=_0x2734a5?.['event']?.['user_input'];if(typeof _0x4f6245==='string'&&_0x4f6245['trim']())return _0x4f6245['trim']();}catch{continue;}}}catch{}return null;}function isEmptyTranscript(_0x17a11a){try{const _0x274e69=readState(_0x17a11a);if(_0x274e69?.['customTitle'])return![];for(const _0x4323d0 of[contextFile(_0x17a11a),wireFile(_0x17a11a)]){if(!fs['existsSync'](_0x4323d0))continue;const _0x42c1f5=fs['readFileSync'](_0x4323d0,'utf8')['trim']();if(_0x42c1f5['length']>0x0)return![];}return!![];}catch{return![];}}function listTranscripts(){const _0x133fd4=sessionsRoot();try{if(!fs['existsSync'](_0x133fd4))return[];return fs['readdirSync'](_0x133fd4,{'withFileTypes':!![]})['filter'](_0x4357b2=>_0x4357b2['isDirectory']())['map'](_0x2f8961=>({'id':_0x2f8961['name'],'state':readState(_0x2f8961['name'])}))['filter'](_0x2fdb3f=>!isEmptyTranscript(_0x2fdb3f['id']))['sort']((_0x416206,_0x7b0047)=>(_0x7b0047['state']?.['updatedAt']??0x0)-(_0x416206['state']?.['updatedAt']??0x0));}catch{return[];}}function migrateLegacyFile(_0x5dd976){try{const _0x438b47=path['join'](sessionsRoot(),_0x5dd976+'.jsonl'),_0x50dd23=contextFile(_0x5dd976);fs['existsSync'](_0x438b47)&&!fs['existsSync'](_0x50dd23)&&(fs['mkdirSync'](sessionDir(_0x5dd976),{'recursive':!![]}),fs['renameSync'](_0x438b47,_0x50dd23));}catch{}}
1
+ 'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(_0x3ffd37,_0x4af656,_0x5d5265,_0x234b43){if(_0x234b43===undefined)_0x234b43=_0x5d5265;var _0x569976=Object['getOwnPropertyDescriptor'](_0x4af656,_0x5d5265);(!_0x569976||('get'in _0x569976?!_0x4af656['__esModule']:_0x569976['writable']||_0x569976['configurable']))&&(_0x569976={'enumerable':!![],'get':function(){return _0x4af656[_0x5d5265];}}),Object['defineProperty'](_0x3ffd37,_0x234b43,_0x569976);}:function(_0x4d0b6b,_0x3fad8a,_0x52ed61,_0x5126a1){if(_0x5126a1===undefined)_0x5126a1=_0x52ed61;_0x4d0b6b[_0x5126a1]=_0x3fad8a[_0x52ed61];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1cb4ed,_0x3b3461){Object['defineProperty'](_0x1cb4ed,'default',{'enumerable':!![],'value':_0x3b3461});}:function(_0x50e271,_0x18a70e){_0x50e271['default']=_0x18a70e;}),__importStar=this&&this['__importStar']||(function(){var _0x172d12=function(_0x4475de){return _0x172d12=Object['getOwnPropertyNames']||function(_0x56ed7c){var _0x3a4b18=[];for(var _0x387efd in _0x56ed7c)if(Object['prototype']['hasOwnProperty']['call'](_0x56ed7c,_0x387efd))_0x3a4b18[_0x3a4b18['length']]=_0x387efd;return _0x3a4b18;},_0x172d12(_0x4475de);};return function(_0x3161d9){if(_0x3161d9&&_0x3161d9['__esModule'])return _0x3161d9;var _0x761b72={};if(_0x3161d9!=null){for(var _0x4889ad=_0x172d12(_0x3161d9),_0x4aa93f=0x0;_0x4aa93f<_0x4889ad['length'];_0x4aa93f++)if(_0x4889ad[_0x4aa93f]!=='default')__createBinding(_0x761b72,_0x3161d9,_0x4889ad[_0x4aa93f]);}return __setModuleDefault(_0x761b72,_0x3161d9),_0x761b72;};}());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(_0x18ee15,_0x415d4a){fs['mkdirSync'](path['dirname'](_0x18ee15),{'recursive':!![]});const _0x57e8f0=_0x18ee15+'.tmp-'+process['pid'];fs['writeFileSync'](_0x57e8f0,_0x415d4a,{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x57e8f0,0x180);}catch{}fs['renameSync'](_0x57e8f0,_0x18ee15);try{fs['chmodSync'](_0x18ee15,0x180);}catch{}}function sessionDir(_0x224639){return path['join'](sessionsRoot(),_0x224639);}function contextFile(_0x4a9e06){return path['join'](sessionDir(_0x4a9e06),'context.jsonl');}function wireFile(_0x38ee51){return path['join'](sessionDir(_0x38ee51),'wire.jsonl');}function stateFile(_0x1bbdfb){return path['join'](sessionDir(_0x1bbdfb),'state.json');}function createTranscript(_0x1ea953,_0x50014c){const _0xe7a0b6=_0x50014c??newTranscriptId(),_0x1cc87a=sessionDir(_0xe7a0b6);fs['mkdirSync'](_0x1cc87a,{'recursive':!![]});if(!fs['existsSync'](contextFile(_0xe7a0b6)))atomicWrite0600(contextFile(_0xe7a0b6),'');if(!fs['existsSync'](wireFile(_0xe7a0b6)))atomicWrite0600(wireFile(_0xe7a0b6),'');return writeState(_0xe7a0b6,{'title':'Untitled','updatedAt':Date['now'](),'workDir':_0x1ea953}),{'id':_0xe7a0b6};}function appendContext(_0x22e6c5,_0x558b22){try{fs['mkdirSync'](sessionDir(_0x22e6c5),{'recursive':!![]}),fs['appendFileSync'](contextFile(_0x22e6c5),JSON['stringify'](_0x558b22)+'\x0a','utf8'),touchState(_0x22e6c5);}catch{}}function appendWire(_0xb5381,_0x23dcb8){try{fs['mkdirSync'](sessionDir(_0xb5381),{'recursive':!![]}),fs['appendFileSync'](wireFile(_0xb5381),JSON['stringify']({'t':Date['now'](),'event':_0x23dcb8})+'\x0a','utf8');}catch{}}function readState(_0x3b971a){try{const _0x2fbf4f=JSON['parse'](fs['readFileSync'](stateFile(_0x3b971a),'utf8'));if(!_0x2fbf4f||typeof _0x2fbf4f!=='object')return null;return _0x2fbf4f;}catch{return null;}}function writeState(_0x3aabec,_0x36794a){try{atomicWrite0600(stateFile(_0x3aabec),JSON['stringify'](_0x36794a,null,0x2));}catch{}}function touchState(_0x2b13ea){try{const _0xc1a790=readState(_0x2b13ea);if(!_0xc1a790)return;_0xc1a790['updatedAt']=Date['now']();const _0x368ef4=readFirstUserText(_0x2b13ea);_0x368ef4&&(!_0xc1a790['title']||_0xc1a790['title']==='Untitled')&&!_0xc1a790['customTitle']&&(_0xc1a790['title']=_0x368ef4['slice'](0x0,0x32)),writeState(_0x2b13ea,_0xc1a790);}catch{}}function readFirstUserText(_0x26bb39){try{const _0x17aded=wireFile(_0x26bb39);if(!fs['existsSync'](_0x17aded))return null;const _0x37ab16=fs['readFileSync'](_0x17aded,'utf8')['split']('\x0a')['slice'](0x0,0x32);for(const _0x57a5ef of _0x37ab16){if(!_0x57a5ef['trim']())continue;try{const _0x2e493f=JSON['parse'](_0x57a5ef),_0x1a6ff3=_0x2e493f?.['event']?.['user_input'];if(typeof _0x1a6ff3==='string'&&_0x1a6ff3['trim']())return _0x1a6ff3['trim']();}catch{continue;}}}catch{}return null;}function isEmptyTranscript(_0x492041){try{const _0x3abe6c=readState(_0x492041);if(_0x3abe6c?.['customTitle'])return![];for(const _0x3d617f of[contextFile(_0x492041),wireFile(_0x492041)]){if(!fs['existsSync'](_0x3d617f))continue;const _0x330629=fs['readFileSync'](_0x3d617f,'utf8')['trim']();if(_0x330629['length']>0x0)return![];}return!![];}catch{return![];}}function listTranscripts(){const _0x529e0b=sessionsRoot();try{if(!fs['existsSync'](_0x529e0b))return[];return fs['readdirSync'](_0x529e0b,{'withFileTypes':!![]})['filter'](_0x32830f=>_0x32830f['isDirectory']())['map'](_0x4fbb58=>({'id':_0x4fbb58['name'],'state':readState(_0x4fbb58['name'])}))['filter'](_0x3b5954=>!isEmptyTranscript(_0x3b5954['id']))['sort']((_0x196aa7,_0x3a0c4c)=>(_0x3a0c4c['state']?.['updatedAt']??0x0)-(_0x196aa7['state']?.['updatedAt']??0x0));}catch{return[];}}function migrateLegacyFile(_0x533661){try{const _0x3e5e69=path['join'](sessionsRoot(),_0x533661+'.jsonl'),_0x1f7740=contextFile(_0x533661);fs['existsSync'](_0x3e5e69)&&!fs['existsSync'](_0x1f7740)&&(fs['mkdirSync'](sessionDir(_0x533661),{'recursive':!![]}),fs['renameSync'](_0x3e5e69,_0x1f7740));}catch{}}