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

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 (393) 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/router.js +1 -1
  80. package/dist/apps/runtime/src/controller/state.js +1 -1
  81. package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
  82. package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
  83. package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
  84. package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
  85. package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
  86. package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
  87. package/dist/apps/runtime/src/github-auth.js +1 -1
  88. package/dist/apps/runtime/src/goals.js +1 -1
  89. package/dist/apps/runtime/src/index.js +1 -1
  90. package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
  91. package/dist/apps/runtime/src/license.js +1 -1
  92. package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
  93. package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
  94. package/dist/apps/runtime/src/notifications.js +1 -1
  95. package/dist/apps/runtime/src/planner/planner.js +1 -1
  96. package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
  97. package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
  98. package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
  99. package/dist/apps/runtime/src/prompt/rules.js +1 -1
  100. package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
  101. package/dist/apps/runtime/src/self-improvement.js +1 -1
  102. package/dist/apps/runtime/src/session/session.js +1 -1
  103. package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
  104. package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
  105. package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
  106. package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
  107. package/dist/apps/runtime/src/tools/code/fim.js +1 -1
  108. package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
  109. package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
  110. package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
  111. package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
  112. package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
  113. package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
  114. package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
  115. package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
  116. package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
  117. package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
  118. package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
  119. package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
  120. package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
  121. package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
  122. package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
  123. package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
  124. package/dist/apps/runtime/src/tools/github/github.js +1 -1
  125. package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
  126. package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
  127. package/dist/apps/runtime/src/tools/index.js +1 -1
  128. package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
  129. package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
  130. package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
  131. package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
  132. package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
  133. package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
  134. package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
  135. package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
  136. package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
  137. package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
  138. package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
  139. package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
  140. package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
  141. package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
  142. package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
  143. package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
  144. package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
  145. package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
  146. package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
  147. package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
  148. package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
  149. package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
  150. package/dist/apps/runtime/src/tools/text/csv.js +1 -1
  151. package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
  152. package/dist/apps/runtime/src/tools/text/diff.js +1 -1
  153. package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
  154. package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
  155. package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
  156. package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
  157. package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
  158. package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
  159. package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
  160. package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
  161. package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
  162. package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
  163. package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
  164. package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
  165. package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
  166. package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
  167. package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
  168. package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
  169. package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
  170. package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
  171. package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
  172. package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
  173. package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
  174. package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
  175. package/dist/apps/runtime/src/tools/types.js +1 -1
  176. package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
  177. package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
  178. package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
  179. package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
  180. package/dist/apps/runtime/src/update/auto-update.js +1 -1
  181. package/dist/packages/acp/src/index.js +1 -1
  182. package/dist/packages/approval/src/index.js +1 -1
  183. package/dist/packages/checkpoints/src/index.js +1 -1
  184. package/dist/packages/cli/src/commands/registry.js +1 -1
  185. package/dist/packages/client/src/index.js +1 -1
  186. package/dist/packages/coding-agent/src/index.js +1 -1
  187. package/dist/packages/core/src/agent_communication.js +1 -1
  188. package/dist/packages/core/src/agent_registry.js +1 -1
  189. package/dist/packages/core/src/agents_md.js +1 -1
  190. package/dist/packages/core/src/analytics.js +1 -1
  191. package/dist/packages/core/src/approval.js +1 -1
  192. package/dist/packages/core/src/auth.js +1 -1
  193. package/dist/packages/core/src/context/compactor.js +1 -1
  194. package/dist/packages/core/src/cron/scheduler.js +1 -1
  195. package/dist/packages/core/src/curator/librarian.js +1 -1
  196. package/dist/packages/core/src/env_filter.js +1 -1
  197. package/dist/packages/core/src/extension_api.js +1 -1
  198. package/dist/packages/core/src/feature_flags.js +1 -1
  199. package/dist/packages/core/src/hook_runtime.js +1 -1
  200. package/dist/packages/core/src/i18n.js +1 -1
  201. package/dist/packages/core/src/memory/manager.js +1 -1
  202. package/dist/packages/core/src/memory/provider.js +1 -1
  203. package/dist/packages/core/src/plan_mode.js +1 -1
  204. package/dist/packages/core/src/process.js +1 -1
  205. package/dist/packages/core/src/providers/manager.js +1 -1
  206. package/dist/packages/core/src/providers/registry.js +1 -1
  207. package/dist/packages/core/src/rollout_budget.js +1 -1
  208. package/dist/packages/core/src/secrets.js +1 -1
  209. package/dist/packages/core/src/session_store.js +1 -1
  210. package/dist/packages/core/src/state_db.js +1 -1
  211. package/dist/packages/core/src/subagents.js +1 -1
  212. package/dist/packages/core/src/token_budget.js +1 -1
  213. package/dist/packages/core/src/toolsets/arsenal.js +1 -1
  214. package/dist/packages/core/src/validate.js +1 -1
  215. package/dist/packages/execpolicy/src/policy.js +1 -1
  216. package/dist/packages/function/src/index.js +1 -1
  217. package/dist/packages/harness/src/index.js +1 -1
  218. package/dist/packages/mcp/src/index.js +1 -1
  219. package/dist/packages/mcp/src/oauth-callback.js +1 -1
  220. package/dist/packages/mcp/src/oauth.js +1 -1
  221. package/dist/packages/mcp/src/spawn-resolve.js +1 -1
  222. package/dist/packages/mcp-server/src/index.js +1 -1
  223. package/dist/packages/modes/src/index.js +1 -1
  224. package/dist/packages/protocol/src/events.js +1 -1
  225. package/dist/packages/protocol/src/messages.js +1 -1
  226. package/dist/packages/protocol/src/permission-rules.js +1 -1
  227. package/dist/packages/protocol/src/permissions.js +1 -1
  228. package/dist/packages/protocol/src/tools.js +1 -1
  229. package/dist/packages/protocol/src/toolsets.js +1 -1
  230. package/dist/packages/protocol/src/util/url.js +1 -1
  231. package/dist/packages/provider/src/anthropic.js +1 -1
  232. package/dist/packages/provider/src/catalog.js +1 -1
  233. package/dist/packages/provider/src/custom.js +1 -1
  234. package/dist/packages/provider/src/faux-stream.js +1 -1
  235. package/dist/packages/provider/src/google.js +1 -1
  236. package/dist/packages/provider/src/huggingface.js +1 -1
  237. package/dist/packages/provider/src/index.js +1 -1
  238. package/dist/packages/provider/src/llama-cpp.js +1 -1
  239. package/dist/packages/provider/src/nvidia.js +1 -1
  240. package/dist/packages/provider/src/ollama.js +1 -1
  241. package/dist/packages/provider/src/openai.js +1 -1
  242. package/dist/packages/provider/src/types.js +1 -1
  243. package/dist/packages/provider/src/xai.js +1 -1
  244. package/dist/packages/sandbox/src/gate.js +1 -1
  245. package/dist/packages/sandbox/src/index.js +1 -1
  246. package/dist/packages/sandbox/src/spawn.js +1 -1
  247. package/dist/packages/sandbox/src/types.js +1 -1
  248. package/dist/packages/sandbox/src/violation.js +1 -1
  249. package/dist/packages/schema/src/index.js +1 -1
  250. package/dist/packages/sdk/src/index.js +1 -1
  251. package/dist/packages/server/src/cors.js +1 -1
  252. package/dist/packages/server/src/daemon.js +1 -1
  253. package/dist/packages/server/src/github-app.js +1 -1
  254. package/dist/packages/server/src/github-autofix.js +1 -1
  255. package/dist/packages/server/src/github-jobs.js +1 -1
  256. package/dist/packages/server/src/github-oauth.js +1 -1
  257. package/dist/packages/server/src/index.js +1 -1
  258. package/dist/packages/server/src/install-ps1.js +1 -1
  259. package/dist/packages/server/src/license-store.js +1 -1
  260. package/dist/packages/session-backends/src/index.js +1 -1
  261. package/dist/packages/session-backends/src/transcript.js +1 -1
  262. package/dist/packages/telemetry/src/index.js +1 -1
  263. package/dist/packages/tui/src/app/app-state.js +1 -1
  264. package/dist/packages/tui/src/app/events.js +1 -1
  265. package/dist/packages/tui/src/approval-notification.js +1 -1
  266. package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
  267. package/dist/packages/tui/src/bottom_pane/index.js +1 -1
  268. package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
  269. package/dist/packages/tui/src/chatwidget/index.js +1 -1
  270. package/dist/packages/tui/src/dialogs.js +1 -1
  271. package/dist/packages/tui/src/index.js +1 -1
  272. package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
  273. package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
  274. package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
  275. package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
  276. package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
  277. package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
  278. package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
  279. package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
  280. package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
  281. package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
  282. package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
  283. package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
  284. package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
  285. package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
  286. package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
  287. package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
  288. package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
  289. package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
  290. package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
  291. package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
  292. package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
  293. package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
  294. package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
  295. package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
  296. package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
  297. package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
  298. package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
  299. package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
  300. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
  301. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
  302. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
  303. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
  304. package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
  305. package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
  306. package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
  307. package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
  308. package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
  309. package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
  310. package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
  311. package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
  312. package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
  313. package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
  314. package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
  315. package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
  316. package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
  317. package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
  318. package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
  319. package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
  320. package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
  321. package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
  322. package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
  323. package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
  324. package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
  325. package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
  326. package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
  327. package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
  328. package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
  329. package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
  330. package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
  331. package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
  332. package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
  333. package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
  334. package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
  335. package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
  336. package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
  337. package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
  338. package/dist/packages/tui/src/keybindings.js +1 -1
  339. package/dist/packages/tui/src/keys.js +1 -1
  340. package/dist/packages/tui/src/notifications.js +1 -1
  341. package/dist/packages/tui/src/premium-ui.js +1 -1
  342. package/dist/packages/tui/src/stdin-buffer.js +1 -1
  343. package/dist/packages/tui/src/terminal-ui.js +1 -1
  344. package/dist/packages/tui/src/tui/terminal.js +1 -1
  345. package/dist/packages/tui/src/ui/border.js +1 -1
  346. package/dist/packages/tui/src/ui/box.js +1 -1
  347. package/dist/packages/tui/src/ui/dialog.js +1 -1
  348. package/dist/packages/tui/src/ui/footer-mode.js +1 -1
  349. package/dist/packages/tui/src/ui/footer.js +1 -1
  350. package/dist/packages/tui/src/ui/key-hint.js +1 -1
  351. package/dist/packages/tui/src/ui/skt-themes.js +1 -1
  352. package/dist/packages/tui/src/ui/spinner.js +1 -1
  353. package/dist/packages/tui/src/ui/theme.js +1 -1
  354. package/dist/packages/tui/src/ui/toast.js +1 -1
  355. package/dist/packages/tui/src/ui/tool-display.js +1 -1
  356. package/dist/packages/tui/src/ui/tool-palette.js +1 -1
  357. package/dist/skt/0-points/points.js +1 -1
  358. package/dist/skt/1-errors/mistake.js +1 -1
  359. package/dist/skt/1-errors/penalty.js +1 -1
  360. package/dist/skt/10-upload/upload.js +1 -1
  361. package/dist/skt/11-ui/components.js +1 -1
  362. package/dist/skt/12-control/content-control.js +1 -1
  363. package/dist/skt/12-control/hallucination.js +1 -1
  364. package/dist/skt/12-control/points.js +1 -1
  365. package/dist/skt/12-control/repetition.js +1 -1
  366. package/dist/skt/12-control/verification.js +1 -1
  367. package/dist/skt/13-healing/ast-validator.js +1 -1
  368. package/dist/skt/13-healing/healing-controller.js +1 -1
  369. package/dist/skt/13-healing/journal.js +1 -1
  370. package/dist/skt/13-healing/rollback.js +1 -1
  371. package/dist/skt/13-healing/scratchpad.js +1 -1
  372. package/dist/skt/13-healing/subprocess.js +1 -1
  373. package/dist/skt/13-healing/verify.js +1 -1
  374. package/dist/skt/14-hooks/codec.js +1 -1
  375. package/dist/skt/14-hooks/events.js +1 -1
  376. package/dist/skt/14-hooks/matcher.js +1 -1
  377. package/dist/skt/14-hooks/merge.js +1 -1
  378. package/dist/skt/14-hooks/runner.js +1 -1
  379. package/dist/skt/14-hooks/types.js +1 -1
  380. package/dist/skt/3-user/instructions.js +1 -1
  381. package/dist/skt/4-mem/memory.js +1 -1
  382. package/dist/skt/5-eval/cot-chain.js +1 -1
  383. package/dist/skt/5-eval/cot.js +1 -1
  384. package/dist/skt/5-eval/eval.js +1 -1
  385. package/dist/skt/6-u/improvements.js +1 -1
  386. package/dist/skt/6-u/reward.js +1 -1
  387. package/dist/skt/7-cli/autorepair.js +1 -1
  388. package/dist/skt/7-cli/clibugs.js +1 -1
  389. package/dist/skt/7-cli/reinstall.js +1 -1
  390. package/dist/skt/7-cli/reset.js +1 -1
  391. package/dist/skt/9-session/session.js +1 -1
  392. package/dist/skt/context.js +1 -1
  393. 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 _0x765ea5=_0x3376;(function(_0x45f2e5,_0x472bb5){const _0x424885=_0x3376,_0xfac421=_0x45f2e5();while(!![]){try{const _0x418a24=-parseInt(_0x424885(0x1c7))/0x1*(parseInt(_0x424885(0x1bc))/0x2)+-parseInt(_0x424885(0x2af))/0x3+-parseInt(_0x424885(0x181))/0x4*(-parseInt(_0x424885(0x270))/0x5)+-parseInt(_0x424885(0x294))/0x6*(-parseInt(_0x424885(0x199))/0x7)+-parseInt(_0x424885(0x217))/0x8+-parseInt(_0x424885(0x28b))/0x9+parseInt(_0x424885(0x26f))/0xa*(-parseInt(_0x424885(0x1d4))/0xb);if(_0x418a24===_0x472bb5)break;else _0xfac421['push'](_0xfac421['shift']());}catch(_0x56a320){_0xfac421['push'](_0xfac421['shift']());}}}(_0x3764,0xb62e2));function _0x3376(_0x488876,_0x5d5743){_0x488876=_0x488876-0x133;const _0x376469=_0x3764();let _0x3376d7=_0x376469[_0x488876];return _0x3376d7;}var __createBinding=this&&this[_0x765ea5(0x262)]||(Object[_0x765ea5(0x1db)]?function(_0x37e64f,_0x11e170,_0xbfaa7b,_0x609dcb){const _0x4192f0=_0x765ea5;if(_0x609dcb===undefined)_0x609dcb=_0xbfaa7b;var _0x349ff6=Object[_0x4192f0(0x284)](_0x11e170,_0xbfaa7b);(!_0x349ff6||(_0x4192f0(0x164)in _0x349ff6?!_0x11e170['__esModule']:_0x349ff6['writable']||_0x349ff6[_0x4192f0(0x2a0)]))&&(_0x349ff6={'enumerable':!![],'get':function(){return _0x11e170[_0xbfaa7b];}}),Object['defineProperty'](_0x37e64f,_0x609dcb,_0x349ff6);}:function(_0x3aee5d,_0x2cfa8f,_0x284a3e,_0x1481df){if(_0x1481df===undefined)_0x1481df=_0x284a3e;_0x3aee5d[_0x1481df]=_0x2cfa8f[_0x284a3e];}),__setModuleDefault=this&&this[_0x765ea5(0x276)]||(Object[_0x765ea5(0x1db)]?function(_0x4ce9b3,_0x10989c){const _0x3d3d06=_0x765ea5;Object[_0x3d3d06(0x1d8)](_0x4ce9b3,'default',{'enumerable':!![],'value':_0x10989c});}:function(_0x2375d,_0x43da83){const _0x44cd48=_0x765ea5;_0x2375d[_0x44cd48(0x19b)]=_0x43da83;}),__importStar=this&&this[_0x765ea5(0x27f)]||(function(){var _0x33170b=function(_0x3e6018){const _0x5b8dfc=_0x3376;return _0x33170b=Object[_0x5b8dfc(0x2a6)]||function(_0x1cf6f8){const _0x40622c=_0x5b8dfc;var _0xa028cd=[];for(var _0x2516b3 in _0x1cf6f8)if(Object[_0x40622c(0x212)][_0x40622c(0x24f)]['call'](_0x1cf6f8,_0x2516b3))_0xa028cd[_0xa028cd[_0x40622c(0x1fc)]]=_0x2516b3;return _0xa028cd;},_0x33170b(_0x3e6018);};return function(_0x83ee52){const _0x3090dd=_0x3376;if(_0x83ee52&&_0x83ee52[_0x3090dd(0x261)])return _0x83ee52;var _0x3936e7={};if(_0x83ee52!=null){for(var _0x4a67fc=_0x33170b(_0x83ee52),_0xe67f81=0x0;_0xe67f81<_0x4a67fc[_0x3090dd(0x1fc)];_0xe67f81++)if(_0x4a67fc[_0xe67f81]!==_0x3090dd(0x19b))__createBinding(_0x3936e7,_0x83ee52,_0x4a67fc[_0xe67f81]);}return __setModuleDefault(_0x3936e7,_0x83ee52),_0x3936e7;};}());Object[_0x765ea5(0x1d8)](exports,'__esModule',{'value':!![]}),exports['OPENAPI_SPEC']=void 0x0,exports['startServer']=startServer;function _0x3764(){const _0xc37a1f=['keep-alive','):\x0a','crypto','Bind\x20a\x20license\x20to\x20a\x20machine\x20(public)','unbind','body','key','role','Forget\x20a\x20machine\x27s\x20token\x20(public)','text/plain;\x20charset=utf-8','[github-app]\x20job\x20','not\x20found','List\x20models','node:fs/promises','checked','\x20->\x20','PUT','path\x20must\x20be\x20a\x20repo-relative\x20file\x20path\x20(no\x20..)','includes','loadConfig','public,\x20max-age=3600','message','stdout','setHeader','no-cache','createTelemetry','parse','socket','/user','destroyed','http://localhost','Begin\x20CLI\x20GitHub\x20login,\x20returns\x20browser\x20URL\x20(public,\x20rate-limited)','/github/pr','ran','split','utf8','url',',\x20error:\x20','/admin/unbind','unauthorized','hasOwnProperty','find','prompt','trim','autofixTick','activationCheckKey','push','3.0.0','node:path','Tail\x20pentest\x20usage\x20telemetry\x20(bearer-gated)','resolve','\x20has\x20no\x20retrievable\x20content','https://api.github.com/app/installations','withComments','</title>','lastSeenAt','github','/openapi.json','__esModule','__createBinding','checkPentestOnly','sourcePath','text','corsOrigins','docsDir','updated_at','sha','register','this\x20machine\x20already\x20has\x20a\x20live\x20trial\x20—\x20ask\x20SKT\x20for\x20a\x20full\x20key','trayambak:\x20update\x20','Authorization\x20failed','/auth/github/logout','29770CSyyON','1365485ivbLGV','127.0.0.1','/admin/import','BEGIN','has','trayambak','__setModuleDefault','content','readFileSync','replace','/admin','Record\x20pentest\x20tool\x20usage\x20(public,\x20licensed)','/admin/licenses','floor','write','__importStar','Agent','pentest','main','createInstallationToken','getOwnPropertyDescriptor','origin','application/json','splitRepo','/admin/usage','touch','defaultLicenseStorePaths','4577733vlVqJX','path','generated\x20bearer\x20token\x20(set\x20TRAYAMBAK_WEB_TOKEN\x20to\x20avoid\x20this):\x20','/license/mint-trial','/auth/github/status','missing\x20machineId/tool','host','repoFullName','Create/update\x20a\x20repo\x20file\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','6CXlWPU','Content-Type','json','tool','image/png','budget_exhausted','Mint\x20a\x2016-letter\x20license\x20(bearer-gated)','githubOAuthPath','sourcePath\x20and\x20destPath\x20must\x20be\x20repo-relative\x20file\x20paths\x20(no\x20..)','writeHead','origin\x20not\x20allowed','map','configurable','body\x20too\x20large\x20(max\x201MB)','Trayambak\x20Agent\x20API','machineId','reason','kind','getOwnPropertyNames','\x20finished\x20(','activeTrialForMachine','readUsageTail','task','file','abort','used','account','18873XfBgQL','defaultTriageComment','GitHub\x20unreachable\x20from\x20the\x20license\x20server','exp','licenseUsagePath','\x20started\x20at\x20','base64','./license-store.js','now','This\x20link\x20is\x20expired\x20or\x20already\x20used\x20(10-minute,\x20single-use).\x20Run\x20/github\x20login\x20in\x20the\x20CLI\x20again\x20for\x20a\x20fresh\x20one.','data:\x20','/contents/','byteLength','verifyWebhookSignature','activate','all',')\x20—\x20the\x20run\x20stopped\x20before\x20the\x20model\x20was\x20called.','state','\x20every\x20','triaged','list','repo','OPENAPI_SPEC','plan\x20must\x20be\x20basic|pentest|pro|enterprise','isArray','then','login','data','text/markdown;\x20charset=utf-8','html_url','catch','/license/activate','https://github.com/login/oauth/authorize?client_id=','enterprise','routeGithubEvent','error','destroy','recordJob','toLowerCase','tokenFor','license\x20invalid','0.6.3','branch','Free\x20a\x20license\x27s\x20machine\x20binding\x20(bearer-gated)','/github/copy','usageFile','remoteAddress','stderr','/img/','boundMachineId','get','POST','webhooks\x20disabled\x20(GITHUB_WEBHOOK_SECRET\x20unset)','entries','describeGithubThread','destPath','slice','Revoke\x20a\x20license\x20by\x20id\x20(bearer-gated)','/git/ref/heads/','\x20label=','defaultAutofixLedgerPath','List\x20transcripts','signal','-…-','GitHub\x20App\x20job:\x20comment-authorized,\x20installation-token\x20scoped','join','model','https://api.github.com','application/vnd.github+json','listTranscripts','/v1/agent','method','Open\x20a\x20repo\x20PR\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','timeout','../../../apps/runtime/src/index.js','GitHub\x20request\x20in\x20','/license/usage','GitHubOAuthStore','licenseStorePath','16KJBdRk','storeToken','/issues/','HTTP\x20','beginLogin','Bearer\x20','/webhooks/github','created_at','valid','GET','\x20(issue','missing\x20machineId','Copy\x20a\x20repo\x20file\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','./docs','filter','tail=','createServer','base','./Img','issueNumber','[github-autofix]\x20tick\x20failed:\x20','run','GitHub\x20login\x20is\x20not\x20configured\x20on\x20this\x20server.','logout','10025911vAqZwJ','<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem}</style></head>','default','Tail\x20GitHub\x20job\x20history\x20(bearer-gated)','data:\x20[DONE]\x0a\x0a','writableEnded','/auth/github/start','close',',\x20ran\x20','\x20replied\x0a','unknown\x20license\x20id','/admin/jobs','x-real-ip','check','bad\x20signature','image/jpeg','./install-ps1.js','number','installation','trial\x20mint\x20failed:\x20','startsWith',').\x20Run\x20/github\x20login\x20again.','consumeState','private','token','toISOString','searchParams','job','2022-11-28','commit','customer','GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first','github-user','/admin/revoke','List\x20the\x20logged-in\x20user\x27s\x20repos\x20with\x20the\x20stored\x20token\x20(public,\x20logged-in)','10wYhiNq','./github-oauth.js','mintActivationKey','/github/branch','effectiveToken','end','/github/repos','error_description','set','text/event-stream','text/html;\x20charset=utf-8','2566kVbtyE','stringify','\x20messages:\x20','INSTALL_PS1','invalid\x20JSON','/install.ps1','\x20||\x20','type','function','days\x20must\x20be\x201..3650','/pulls','trayambak:\x20copy\x20','http','1243ulamNd','./github-autofix.js','user','/admin/mint','defineProperty','allowed','plan','create','Could\x20not\x20finish\x20login\x20(','/github/write','::1','default_branch','repo\x20must\x20be\x20owner/name','localhost','0:0:0:0:0:0:0:1','/repos/','Logged\x20in\x20as\x20<b>','revoked','OAuth\x20redirect\x20target\x20(public,\x20browser-facing)','basic','/comments','GitHub\x20App\x20webhook\x20(HMAC\x20verified)','head','headers','[github-app]\x20job\x20failed:\x20','\x20already\x20exists\x20—\x20write\x20onto\x20it\x20directly','resolveCors','refs/heads/','string','concat','[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','trial','max','title','../../../apps/runtime/src/license.js','sessionFile','missing\x20\x27prompt\x27','[github-autofix]\x20tick:\x20checked\x20','full_name','test','length','toString','unref','status','mint\x20failed:\x20','<body><h1>','parseAutofixRepos','./github-jobs.js','</h1><p>','timingSafeEqual','/docs/','Self-service\x207-day\x20trial,\x201/machine\x20(public,\x20rate-limited)','access_token','/license/verify','object','code','?ref=','postIssueComment','allow','\x20exists\x20but\x20is\x20not\x20a\x20file\x20—\x20refusing\x20to\x20overwrite','node:fs','\x0a---\x20end\x20---\x0a','prototype','comments','target','record','could\x20not\x20find\x20sha\x20for\x20base\x20','7314336GppVal','unknown','NaN','min','Static\x20README\x20images\x20(public,\x20png/jpg\x20only)','isFinite','/v1/models','cf-connecting-ip','GitHub:\x20','appendUsage','Windows\x20one-line\x20installer\x20(public)','/health','Budget\x20exhausted\x20(used\x20','head\x20branch\x20and\x20title\x20are\x20required','from','Docs\x20pages\x20as\x20markdown\x20(public,\x20.md\x20only)'];_0x3764=function(){return _0xc37a1f;};return _0x3764();}const http=__importStar(require(_0x765ea5(0x1d3))),crypto_1=require(_0x765ea5(0x229)),node_fs_1=require(_0x765ea5(0x210)),node_path_1=require(_0x765ea5(0x257)),index_js_1=require(_0x765ea5(0x17c)),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(_0x765ea5(0x1f6)),license_store_js_1=require(_0x765ea5(0x139)),github_oauth_js_1=require(_0x765ea5(0x1bd)),install_ps1_js_1=require(_0x765ea5(0x1a9)),github_jobs_js_1=require(_0x765ea5(0x203)),github_autofix_js_1=require(_0x765ea5(0x1d5)),cors_js_1=require('./cors.js');function readJsonBody(_0x31241b,_0x5c9699){return new Promise(_0xa5088f=>{const _0x43dda7=_0x3376;let _0x5ccdbb='',_0x5d3e66=0x0,_0x530b07=![];const _0x373b3b=(_0x40f68a,_0x5bc5cf)=>{const _0x2b5416=_0x3376;if(_0x530b07)return;_0x530b07=!![],_0x5c9699[_0x2b5416(0x29d)](_0x40f68a,{'Content-Type':_0x2b5416(0x286)}),_0x5c9699[_0x2b5416(0x1c1)](JSON[_0x2b5416(0x1c8)]({'error':_0x5bc5cf})),setImmediate(()=>_0x31241b[_0x2b5416(0x156)]());};_0x31241b['on'](_0x43dda7(0x14d),_0x2348cd=>{const _0x269e4b=_0x43dda7;if(_0x530b07)return;const _0x54a99f=typeof _0x2348cd==='string'?_0x2348cd:_0x2348cd[_0x269e4b(0x1fd)](_0x269e4b(0x24a));_0x5d3e66+=Buffer[_0x269e4b(0x13e)](_0x54a99f);if(_0x5d3e66>MAX_BODY_BYTES){_0x373b3b(0x19d,_0x269e4b(0x2a1));return;}_0x5ccdbb+=_0x54a99f;}),_0x31241b['on'](_0x43dda7(0x1c1),()=>{const _0x1a9cd0=_0x43dda7;if(_0x530b07||_0x31241b[_0x1a9cd0(0x244)])return;try{_0xa5088f(JSON['parse'](_0x5ccdbb));}catch{_0x373b3b(0x190,'invalid\x20JSON'),_0xa5088f(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([_0x765ea5(0x271),_0x765ea5(0x1de),_0x765ea5(0x1e1),_0x765ea5(0x1e2)]),MAX_BODY_BYTES=0x100000;exports[_0x765ea5(0x148)]={'openapi':_0x765ea5(0x256),'info':{'title':_0x765ea5(0x2a2),'version':_0x765ea5(0x15b)},'paths':{'/health':{'get':{'summary':'Health\x20check'}},'/v1/models':{'get':{'summary':_0x765ea5(0x233)}},'/v1/agent':{'post':{'summary':'Run\x20agent\x20(SSE)'}},'/api/sessions':{'get':{'summary':_0x765ea5(0x16f)}},'/admin':{'get':{'summary':'License\x20generator\x20UI\x20(SKT\x20operators)'}},'/admin/mint':{'post':{'summary':_0x765ea5(0x29a)}},'/admin/import':{'post':{'summary':'Register\x20a\x20pre-existing\x20code\x20(bearer-gated)'}},'/admin/revoke':{'post':{'summary':_0x765ea5(0x16b)}},'/admin/unbind':{'post':{'summary':_0x765ea5(0x15d)}},'/admin/licenses':{'get':{'summary':'List\x20licenses,\x20masked\x20(bearer-gated)'}},'/admin/usage':{'get':{'summary':_0x765ea5(0x258)}},'/admin/jobs':{'get':{'summary':_0x765ea5(0x19c)}},'/license/verify':{'post':{'summary':'Live\x20license\x20check\x20(public,\x20machine-bound)'}},'/license/activate':{'post':{'summary':_0x765ea5(0x22a)}},'/license/mint-trial':{'post':{'summary':_0x765ea5(0x207)}},'/auth/github/start':{'post':{'summary':_0x765ea5(0x246)}},'/auth/github/callback':{'get':{'summary':_0x765ea5(0x1e6)}},'/auth/github/status':{'get':{'summary':'Poll\x20login\x20completion\x20by\x20machine\x20(public)'}},'/auth/github/logout':{'post':{'summary':_0x765ea5(0x22f)}},'/github/read':{'post':{'summary':'Read\x20an\x20issue\x20+\x20comments\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)'}},'/github/repos':{'get':{'summary':_0x765ea5(0x1bb)}},'/github/write':{'post':{'summary':_0x765ea5(0x293)}},'/github/branch':{'post':{'summary':'Create\x20a\x20repo\x20branch\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)'}},'/github/pr':{'post':{'summary':_0x765ea5(0x17a)}},'/github/copy':{'post':{'summary':_0x765ea5(0x18d)}},'/img/:name':{'get':{'summary':_0x765ea5(0x21b)}},'/docs/:name':{'get':{'summary':_0x765ea5(0x226)}},'/install.ps1':{'get':{'summary':_0x765ea5(0x221)}},'/license/usage':{'post':{'summary':_0x765ea5(0x27b)}},'/webhooks/github':{'post':{'summary':_0x765ea5(0x1e9)}},'/openapi.json':{'get':{'summary':'OpenAPI\x20spec'}}}};function startServer(_0x477967={}){const _0x5168c1=_0x765ea5,_0x122ddf=_0x477967['port']??Number(process.env.TRAYAMBAK_SERVER_PORT??0x2253),_0x310fe0=_0x477967[_0x5168c1(0x291)]??_0x5168c1(0x271);let _0x44fbb3=_0x477967[_0x5168c1(0x1b1)]??process.env.TRAYAMBAK_WEB_TOKEN;const _0x132858=_0x477967[_0x5168c1(0x266)]??process.env.TRAYAMBAK_WEB_ORIGINS??'';let _0x251347=![];!_0x44fbb3&&!LOOPBACK_HOSTS['has'](_0x310fe0)&&(_0x44fbb3=(0x0,crypto_1['randomBytes'])(0x20)[_0x5168c1(0x1fd)]('hex'),_0x251347=!![]);const _0x1f6a76=(0x0,index_js_1[_0x5168c1(0x23a)])(),_0x593131=(0x0,index_js_2[_0x5168c1(0x240)])(![]),_0x327c1c=(0x0,license_store_js_1[_0x5168c1(0x28a)])(),_0x186332=new license_store_js_1['LicenseStore']({'file':_0x477967[_0x5168c1(0x180)]??_0x327c1c[_0x5168c1(0x2ab)],'usageFile':_0x477967[_0x5168c1(0x136)]??_0x327c1c[_0x5168c1(0x15f)]}),_0x338401=new Set([_0x5168c1(0x209),_0x5168c1(0x151),'/license/usage',_0x5168c1(0x28e),_0x5168c1(0x187),'/auth/github/start','/auth/github/callback',_0x5168c1(0x28f),_0x5168c1(0x26e),'/github/read',_0x5168c1(0x1c2),'/github/write','/github/branch',_0x5168c1(0x247),_0x5168c1(0x15e),'/install.ps1']),_0x261cf1=_0x477967['imgDir']??process.env.TRAYAMBAK_IMG_DIR??_0x5168c1(0x193),_0x1a608c=_0x477967[_0x5168c1(0x267)]??process.env.TRAYAMBAK_DOCS_DIR??_0x5168c1(0x18e),_0x1fa75e=new Map(),_0x23e8ad=0x5,_0x2b0f50=new Map(),_0x5c69b6=0xa,_0xa8d6ef=new github_oauth_js_1[(_0x5168c1(0x17f))](_0x477967[_0x5168c1(0x29b)]??(0x0,github_oauth_js_1['defaultOAuthPath'])()),_0x6e9841=(0x0,github_autofix_js_1[_0x5168c1(0x202)])(process.env.GITHUB_AUTOFIX_REPOS),_0x166294=(process.env.GITHUB_AUTOFIX_LABEL??_0x5168c1(0x275))[_0x5168c1(0x252)]()||_0x5168c1(0x275),_0x21749f=Math['min'](Math[_0x5168c1(0x1f4)](Number(process.env.GITHUB_AUTOFIX_INTERVAL_MIN??0x1e)||0x1e,0x5),0x5a0),_0x852df=process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT===undefined?(0x0,github_autofix_js_1[_0x5168c1(0x133)])(_0x166294):process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT??'';if(_0x6e9841[_0x5168c1(0x1fc)]>0x0){const _0x51aa80=new github_autofix_js_1['AutofixLedger']((0x0,github_autofix_js_1[_0x5168c1(0x16e)])()),_0x42229a=()=>{void((async()=>{const _0x38e439=_0x3376;try{const _0x3d0b26=await(0x0,github_autofix_js_1[_0x38e439(0x253)])({'repos':_0x6e9841,'label':_0x166294,'ledger':_0x51aa80,'installationIdFor':installationIdForOwner,'tokenFor':installationTokenFor,'fetchJson':async(_0x22274e,_0x46ee16)=>{const _0x484583=_0x38e439,_0xbb377c=await githubApi(_0x22274e,_0x46ee16);return{'status':_0xbb377c[_0x484583(0x1ff)],'json':_0xbb377c[_0x484583(0x296)]};},'listAllRepos':allInstalledRepos,'postComment':async(_0x33f2c0,_0x576c27,_0x11f9fe)=>{const _0x3f2343=_0x38e439,_0x246597=_0x33f2c0[_0x3f2343(0x249)]('/')[0x0]??'',_0x9a881e=await installationIdForOwner(_0x246597)[_0x3f2343(0x150)](()=>0x0);if(!_0x9a881e)return![];const _0x51b198=await installationTokenFor(_0x9a881e)[_0x3f2343(0x150)](()=>'');if(!_0x51b198)return![];return postGithubComment(_0x246597,_0x33f2c0['split']('/')[0x1]??'',_0x576c27,_0x11f9fe,_0x51b198);},'triageComment':_0x852df,'runJob':(_0x56821c,_0x31e8ee,_0x22ee65,_0x79c4f7)=>enqueueGithubJob({'repoFullName':_0x56821c,'issueNumber':_0x31e8ee,'task':_0x22ee65,'isPullRequest':![]},{'installation':{'id':_0x79c4f7}})});(_0x3d0b26['checked']>0x0||_0x3d0b26[_0x38e439(0x248)][_0x38e439(0x1fc)]>0x0||_0x3d0b26[_0x38e439(0x145)][_0x38e439(0x1fc)]>0x0)&&process['stdout'][_0x38e439(0x27e)](_0x38e439(0x1f9)+_0x3d0b26[_0x38e439(0x235)]+_0x38e439(0x1a1)+_0x3d0b26[_0x38e439(0x248)][_0x38e439(0x1fc)]+',\x20triaged\x20'+_0x3d0b26[_0x38e439(0x145)]['length']+'\x0a');}catch(_0x274867){process[_0x38e439(0x161)][_0x38e439(0x27e)](_0x38e439(0x195)+(_0x274867 instanceof Error?_0x274867[_0x38e439(0x23c)]:String(_0x274867))+'\x0a');}})());},_0x13a7bb=setInterval(_0x42229a,_0x21749f*0xea60);if(typeof _0x13a7bb[_0x5168c1(0x1fe)]==='function')_0x13a7bb[_0x5168c1(0x1fe)]();const _0x579b8a=setTimeout(_0x42229a,0x1d4c0);if(typeof _0x579b8a[_0x5168c1(0x1fe)]===_0x5168c1(0x1cf))_0x579b8a[_0x5168c1(0x1fe)]();process[_0x5168c1(0x23d)]['write']('[github-autofix]\x20watching\x20'+_0x6e9841[_0x5168c1(0x173)](',')+_0x5168c1(0x16d)+_0x166294+_0x5168c1(0x144)+_0x21749f+'m\x0a');}else process[_0x5168c1(0x23d)][_0x5168c1(0x27e)]('[github-autofix]\x20idle\x20(GITHUB_AUTOFIX_REPOS\x20unset)\x0a');const _0xda484e=http[_0x5168c1(0x191)](async(_0x479004,_0xb8ddaa)=>{const _0x39447e=_0x5168c1,_0x1009de=(0x0,cors_js_1[_0x39447e(0x1ee)])(_0x479004[_0x39447e(0x1eb)][_0x39447e(0x285)],_0x479004['headers'][_0x39447e(0x291)],_0x132858);for(const [_0x1539d3,_0x27f1e7]of Object[_0x39447e(0x167)](_0x1009de[_0x39447e(0x1eb)])){_0xb8ddaa[_0x39447e(0x23e)](_0x1539d3,_0x27f1e7);}if(_0x479004[_0x39447e(0x179)]==='OPTIONS'){_0xb8ddaa['writeHead'](_0x1009de[_0x39447e(0x1d9)]?0xcc:0x193),_0xb8ddaa['end']();return;}if(!_0x1009de[_0x39447e(0x1d9)]){_0xb8ddaa['writeHead'](0x193,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x29e)}));return;}const _0x1995c7=(_0x479004['url']??'/')[_0x39447e(0x249)]('?')[0x0];if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x18a)&&_0x1995c7[_0x39447e(0x1ad)](_0x39447e(0x162))){serveReadmeImage(_0x479004,_0xb8ddaa,_0x261cf1,_0x1995c7);return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x18a)&&_0x1995c7[_0x39447e(0x1ad)]('/docs/')){serveDocsFile(_0x479004,_0xb8ddaa,_0x1a608c,_0x1995c7);return;}if(_0x44fbb3&&_0x479004['url']!=='/health'&&!_0x338401[_0x39447e(0x274)](_0x1995c7)){const _0x38f953=Buffer[_0x39447e(0x225)](_0x479004[_0x39447e(0x1eb)]['authorization']??''),_0x355904=Buffer[_0x39447e(0x225)](_0x39447e(0x186)+_0x44fbb3),_0x4d0497=_0x38f953[_0x39447e(0x1fc)]===_0x355904[_0x39447e(0x1fc)]&&_0x38f953[_0x39447e(0x1fc)]>0x0&&(0x0,crypto_1[_0x39447e(0x205)])(_0x38f953,_0x355904);if(!_0x4d0497){_0xb8ddaa[_0x39447e(0x29d)](0x191,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON['stringify']({'error':_0x39447e(0x24e)}));return;}}if(_0x479004['method']===_0x39447e(0x18a)&&_0x479004[_0x39447e(0x24b)]===_0x39447e(0x222)){_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'status':'ok','model':_0x1f6a76[_0x39447e(0x174)]}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x18a)&&_0x479004['url']===_0x39447e(0x260)){_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)](exports['OPENAPI_SPEC']));return;}if(_0x479004[_0x39447e(0x179)]==='GET'&&_0x479004['url']==='/api/sessions'){_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)});try{_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'sessions':(0x0,transcript_js_1[_0x39447e(0x177)])()}));}catch{_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'sessions':[]}));}return;}if(_0x479004['method']===_0x39447e(0x18a)&&_0x479004[_0x39447e(0x24b)]===_0x39447e(0x21d)){_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'data':[{'id':_0x1f6a76[_0x39447e(0x174)]}]}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x18a)&&_0x479004[_0x39447e(0x24b)]===_0x39447e(0x27a)){_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x1c6)}),_0xb8ddaa[_0x39447e(0x1c1)](adminPage());return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x479004[_0x39447e(0x24b)]===_0x39447e(0x1d7)){const _0x2bf39e=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x2bf39e)return;const _0xd65823=typeof _0x2bf39e[_0x39447e(0x1da)]==='string'?_0x2bf39e[_0x39447e(0x1da)]:'',_0x156e7c=typeof _0x2bf39e['days']===_0x39447e(0x1aa)?_0x2bf39e['days']:Number[_0x39447e(0x219)];if(_0xd65823!==_0x39447e(0x1e7)&&_0xd65823!==_0x39447e(0x281)&&_0xd65823!=='pro'&&_0xd65823!==_0x39447e(0x153)){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x149)}));return;}if(!Number['isFinite'](_0x156e7c)||_0x156e7c<0x1||_0x156e7c>0xe42){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1d0)}));return;}try{const _0x51f006=Math['floor'](Date['now']()/0x5265c00),{activationEpochDays:_0x3119d4}=await Promise['resolve']()[_0x39447e(0x14b)](()=>__importStar(require(_0x39447e(0x1f6)))),_0x3c96ec=(0x0,license_js_1[_0x39447e(0x1be)])({'plan':_0xd65823,'expDays':_0x51f006-_0x3119d4()+Math[_0x39447e(0x27d)](_0x156e7c)},(0x0,license_js_1[_0x39447e(0x254)])()),_0x4fb291=typeof _0x2bf39e['id']===_0x39447e(0x1f0)?_0x2bf39e['id']:undefined,_0x578898=_0x186332[_0x39447e(0x26a)](_0x3c96ec,_0x4fb291);_0xb8ddaa['writeHead'](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'key':_0x3c96ec,'id':_0x578898['id']}));}catch(_0x567a4e){_0xb8ddaa['writeHead'](0x1f4,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x200)+(_0x567a4e instanceof Error?_0x567a4e[_0x39447e(0x23c)]:String(_0x567a4e))}));}return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x18a)&&_0x1995c7===_0x39447e(0x1cc)){_0xb8ddaa['writeHead'](0xc8,{'Content-Type':_0x39447e(0x230)}),_0xb8ddaa[_0x39447e(0x1c1)](install_ps1_js_1[_0x39447e(0x1ca)]);return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x1995c7===_0x39447e(0x209)){const _0x514e2e=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x514e2e)return;const _0x2b3b88=licenseMachineId(_0x514e2e['machineId']);if(!_0x2b3b88){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'valid':![],'reason':_0x39447e(0x18c)}));return;}const _0x3d452b=_0x186332[_0x39447e(0x1a6)](typeof _0x514e2e[_0x39447e(0x22d)]===_0x39447e(0x1f0)?_0x514e2e[_0x39447e(0x22d)]:'',_0x2b3b88);if(_0x3d452b[_0x39447e(0x189)]===!![])_0x186332['touch'](_0x3d452b[_0x39447e(0x215)]?.['id']??'');_0xb8ddaa['writeHead'](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'valid':_0x3d452b[_0x39447e(0x189)],'plan':_0x3d452b[_0x39447e(0x1da)],'exp':_0x3d452b[_0x39447e(0x135)],'reason':_0x3d452b['reason']}));return;}if(_0x479004['method']==='POST'&&_0x1995c7==='/license/activate'){const _0x1ba9bc=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x1ba9bc)return;const _0x163318=licenseMachineId(_0x1ba9bc[_0x39447e(0x2a3)]);if(!_0x163318){_0xb8ddaa['writeHead'](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':![],'reason':_0x39447e(0x18c)}));return;}const _0x5e5bbd=_0x186332['activate'](typeof _0x1ba9bc[_0x39447e(0x22d)]===_0x39447e(0x1f0)?_0x1ba9bc[_0x39447e(0x22d)]:'',_0x163318);_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':_0x5e5bbd['ok'],'plan':_0x5e5bbd[_0x39447e(0x1da)],'exp':_0x5e5bbd['exp'],'reason':_0x5e5bbd[_0x39447e(0x2a4)]}));return;}if(_0x479004[_0x39447e(0x179)]==='POST'&&_0x1995c7===_0x39447e(0x17e)){const _0x4dd634=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x4dd634)return;const _0x1d32ac=licenseMachineId(_0x4dd634[_0x39447e(0x2a3)]),_0x15c6fc=typeof _0x4dd634[_0x39447e(0x297)]===_0x39447e(0x1f0)?_0x4dd634[_0x39447e(0x297)]['slice'](0x0,0x78):'';if(!_0x1d32ac||!_0x15c6fc){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x290)}));return;}const _0x4a09e7=_0x186332[_0x39447e(0x263)](typeof _0x4dd634['key']===_0x39447e(0x1f0)?_0x4dd634['key']:'',_0x1d32ac);if(_0x4a09e7['valid']!==!![]){_0xb8ddaa[_0x39447e(0x29d)](0x193,{'Content-Type':'application/json'}),_0xb8ddaa['end'](JSON['stringify']({'error':_0x4a09e7[_0x39447e(0x2a4)]??_0x39447e(0x15a)}));return;}_0x186332[_0x39447e(0x289)](_0x4a09e7[_0x39447e(0x215)]?.['id']??''),_0x186332[_0x39447e(0x220)]({'keyId':_0x4a09e7['record']?.['id']??'','machineId':_0x1d32ac,'tool':_0x15c6fc,'target':typeof _0x4dd634[_0x39447e(0x214)]===_0x39447e(0x1f0)?_0x4dd634[_0x39447e(0x214)]['slice'](0x0,0x12c):'','ok':_0x4dd634['ok']!==![]}),_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'ok':!![]}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x1995c7==='/license/mint-trial'){const _0x2eac13=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x2eac13)return;const _0x2d74e2=licenseMachineId(_0x2eac13[_0x39447e(0x2a3)]);if(!_0x2d74e2){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x2eea9e=clientIp(_0x479004),_0x1dd21b=Date[_0x39447e(0x13a)](),_0x5c8546=(_0x1fa75e['get'](_0x2eea9e)??[])[_0x39447e(0x18f)](_0x1e2a9d=>_0x1dd21b-_0x1e2a9d<0x36ee80);if(_0x5c8546[_0x39447e(0x1fc)]>=_0x23e8ad){_0xb8ddaa[_0x39447e(0x29d)](0x1ad,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':![],'reason':'too\x20many\x20trial\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later'}));return;}_0x5c8546['push'](_0x1dd21b),_0x1fa75e[_0x39447e(0x1c4)](_0x2eea9e,_0x5c8546);if(_0x186332[_0x39447e(0x2a8)](_0x2d74e2)){_0xb8ddaa[_0x39447e(0x29d)](0x199,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':![],'reason':_0x39447e(0x26b)}));return;}try{const _0x367875=Number(process.env.LICENSE_TRIAL_DAYS??0x7),_0x12ea93=Math[_0x39447e(0x21a)](Math[_0x39447e(0x1f4)](Math[_0x39447e(0x27d)](Number[_0x39447e(0x21c)](_0x367875)?_0x367875:0x7),0x1),0x1e),_0x277a00=Math[_0x39447e(0x27d)](Date[_0x39447e(0x13a)]()/0x5265c00),{activationEpochDays:_0x2a899c}=await Promise[_0x39447e(0x259)]()[_0x39447e(0x14b)](()=>__importStar(require(_0x39447e(0x1f6)))),_0x36bcc6=(0x0,license_js_1[_0x39447e(0x1be)])({'plan':_0x39447e(0x281),'expDays':_0x277a00-_0x2a899c()+_0x12ea93},(0x0,license_js_1[_0x39447e(0x254)])()),_0x229e17=_0x186332[_0x39447e(0x26a)](_0x36bcc6,'trial',{'trial':!![]}),_0x3ab996=_0x186332[_0x39447e(0x140)](_0x36bcc6,_0x2d74e2);_0xb8ddaa['writeHead'](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':_0x3ab996['ok'],'key':_0x36bcc6,'id':_0x229e17['id'],'exp':_0x229e17[_0x39447e(0x135)],'days':_0x12ea93}));}catch(_0x451386){_0xb8ddaa[_0x39447e(0x29d)](0x1f4,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':![],'reason':_0x39447e(0x1ac)+(_0x451386 instanceof Error?_0x451386[_0x39447e(0x23c)]:String(_0x451386))}));}return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x1995c7===_0x39447e(0x19f)){const _0x1bfb4c=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x1bfb4c)return;const _0x57cc48=licenseMachineId(_0x1bfb4c[_0x39447e(0x2a3)]);if(!_0x57cc48){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x52e0e3=(process.env.GITHUB_CLIENT_ID??'')[_0x39447e(0x252)]();if(!_0x52e0e3){_0xb8ddaa['writeHead'](0x1f4,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':![],'reason':'GitHub\x20login\x20not\x20configured\x20on\x20this\x20server'}));return;}const _0x28706b=clientIp(_0x479004),_0x4817cb=Date[_0x39447e(0x13a)](),_0x42d396=(_0x2b0f50[_0x39447e(0x164)](_0x28706b)??[])['filter'](_0x411094=>_0x4817cb-_0x411094<0x36ee80);if(_0x42d396['length']>=_0x5c69b6){_0xb8ddaa[_0x39447e(0x29d)](0x1ad,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':![],'reason':'too\x20many\x20login\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later'}));return;}_0x42d396[_0x39447e(0x255)](_0x4817cb),_0x2b0f50[_0x39447e(0x1c4)](_0x28706b,_0x42d396);const _0x1aff93=_0xa8d6ef[_0x39447e(0x185)](_0x57cc48),_0xebc655=_0x39447e(0x152)+encodeURIComponent(_0x52e0e3)+'&scope=repo&state='+_0x1aff93[_0x39447e(0x143)];_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':!![],'url':_0xebc655}));return;}if(_0x479004[_0x39447e(0x179)]==='GET'&&_0x1995c7==='/auth/github/callback'){const _0x5a699b=(_0xdf1c97,_0x3a9b6f,_0x3cded0)=>{const _0xbe7049=_0x39447e;_0xb8ddaa[_0xbe7049(0x29d)](_0x3cded0?0xc8:0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0xb8ddaa[_0xbe7049(0x1c1)]('<!doctype\x20html><html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><title>'+_0xdf1c97+_0xbe7049(0x25d)+_0xbe7049(0x19a)+(_0xbe7049(0x201)+_0xdf1c97+_0xbe7049(0x204)+_0x3a9b6f+'</p></body></html>'));},_0xd663a6=new URL(_0x479004['url']??'/',_0x39447e(0x245))[_0x39447e(0x1b3)],_0x2de7b4=_0xd663a6[_0x39447e(0x164)](_0x39447e(0x20b))??'',_0x312bb6=_0xd663a6['get'](_0x39447e(0x143))??'',_0x56f4a9=_0xa8d6ef[_0x39447e(0x1af)](_0x312bb6);if(!_0x2de7b4||!_0x56f4a9){_0x5a699b(_0x39447e(0x26d),_0x39447e(0x13b),![]);return;}const _0x24d70d=(process.env.GITHUB_CLIENT_ID??'')[_0x39447e(0x252)](),_0x1b634d=(process.env.GITHUB_CLIENT_SECRET??'')[_0x39447e(0x252)]();if(!_0x24d70d||!_0x1b634d){_0x5a699b('Server\x20misconfigured',_0x39447e(0x197),![]);return;}try{const _0x57d321=await fetch('https://github.com/login/oauth/access_token',{'method':_0x39447e(0x165),'headers':{'Content-Type':_0x39447e(0x286),'Accept':_0x39447e(0x286),'User-Agent':_0x39447e(0x275)},'body':JSON[_0x39447e(0x1c8)]({'client_id':_0x24d70d,'client_secret':_0x1b634d,'code':_0x2de7b4}),'signal':AbortSignal[_0x39447e(0x17b)](0x4e20)}),_0x145594=await _0x57d321['json']();if(!_0x57d321['ok']||typeof _0x145594[_0x39447e(0x208)]!==_0x39447e(0x1f0)||!_0x145594[_0x39447e(0x208)])throw new Error(typeof _0x145594[_0x39447e(0x1c3)]===_0x39447e(0x1f0)?_0x145594[_0x39447e(0x1c3)]:_0x39447e(0x184)+_0x57d321[_0x39447e(0x1ff)]);const _0x4e5ae1=await githubApi(_0x39447e(0x243),_0x145594['access_token']),_0x57c0c9=_0x4e5ae1[_0x39447e(0x296)]&&typeof _0x4e5ae1[_0x39447e(0x296)]==='object'&&typeof _0x4e5ae1['json']['login']===_0x39447e(0x1f0)?_0x4e5ae1['json']['login']:_0x39447e(0x1b9);_0xa8d6ef[_0x39447e(0x182)](_0x56f4a9,_0x145594[_0x39447e(0x208)],_0x57c0c9),_0x5a699b('Authorized',_0x39447e(0x1e4)+_0x57c0c9+'</b>.\x20Return\x20to\x20the\x20CLI\x20—\x20it\x20picks\x20this\x20up\x20automatically.',!![]);}catch(_0xb25953){_0x5a699b(_0x39447e(0x26d),_0x39447e(0x1dc)+(_0xb25953 instanceof Error?_0xb25953['message']:String(_0xb25953))+_0x39447e(0x1ae),![]);}return;}if(_0x479004['method']===_0x39447e(0x18a)&&_0x1995c7===_0x39447e(0x28f)){const _0x94f505=licenseMachineId(new URL(_0x479004[_0x39447e(0x24b)]??'/',_0x39447e(0x245))['searchParams'][_0x39447e(0x164)](_0x39447e(0x2a3))),_0x503b37=_0x94f505?_0xa8d6ef[_0x39447e(0x159)](_0x94f505):undefined;_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)](_0x503b37?{'authorized':!![],'login':_0x503b37[_0x39447e(0x14c)]}:{'authorized':![]}));return;}if(_0x479004[_0x39447e(0x179)]==='POST'&&_0x1995c7===_0x39447e(0x26e)){const _0x12f74a=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x12f74a)return;const _0xb1131=licenseMachineId(_0x12f74a[_0x39447e(0x2a3)]);_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':_0xb1131?_0xa8d6ef[_0x39447e(0x198)](_0xb1131):![]}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x1995c7==='/github/read'){const _0x551b9a=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x551b9a)return;const _0x5cb2c5=licenseMachineId(_0x551b9a[_0x39447e(0x2a3)]),_0xa438a6=_0x5cb2c5?_0xa8d6ef[_0x39447e(0x159)](_0x5cb2c5):undefined;if(!_0xa438a6){_0xb8ddaa[_0x39447e(0x29d)](0x191,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1b8)}));return;}let _0x26b4a6='',_0x5c8adc='';try{;({owner:_0x26b4a6,repo:_0x5c8adc}=(0x0,github_app_js_1[_0x39447e(0x287)])(typeof _0x551b9a[_0x39447e(0x147)]===_0x39447e(0x1f0)?_0x551b9a[_0x39447e(0x147)]:''));}catch{_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1e0)}));return;}const _0x21c142=Math[_0x39447e(0x27d)](Number(_0x551b9a[_0x39447e(0x1aa)]));if(!Number[_0x39447e(0x21c)](_0x21c142)||_0x21c142<0x1){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':'number\x20must\x20be\x20a\x20positive\x20issue/PR\x20number'}));return;}const _0x1b7bad=_0x551b9a[_0x39447e(0x25c)]!==![],[_0x563316,_0x49bd05]=await Promise[_0x39447e(0x141)]([githubApi(_0x39447e(0x1e3)+_0x26b4a6+'/'+_0x5c8adc+_0x39447e(0x183)+_0x21c142,_0xa438a6[_0x39447e(0x1b1)]),_0x1b7bad?githubApi(_0x39447e(0x1e3)+_0x26b4a6+'/'+_0x5c8adc+_0x39447e(0x183)+_0x21c142+'/comments?per_page=20',_0xa438a6[_0x39447e(0x1b1)]):Promise['resolve']({'status':0xc8,'json':[]})]);if(_0x563316[_0x39447e(0x1ff)]===0x0){_0xb8ddaa['writeHead'](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x134)}));return;}if(_0x563316[_0x39447e(0x1ff)]!==0xc8||!_0x563316[_0x39447e(0x296)]||typeof _0x563316[_0x39447e(0x296)]!==_0x39447e(0x20a)){const _0x35bc9b=_0x563316['json']&&typeof _0x563316[_0x39447e(0x296)]===_0x39447e(0x20a)&&typeof _0x563316[_0x39447e(0x296)][_0x39447e(0x23c)]===_0x39447e(0x1f0)?_0x563316['json']['message']:_0x39447e(0x184)+_0x563316[_0x39447e(0x1ff)];_0xb8ddaa[_0x39447e(0x29d)](_0x563316['status']===0x194?0x194:0x1f6,{'Content-Type':'application/json'}),_0xb8ddaa['end'](JSON['stringify']({'error':_0x39447e(0x21f)+_0x35bc9b}));return;}const _0xee7ad5=_0x563316[_0x39447e(0x296)],_0x2715dd=Array['isArray'](_0x49bd05['json'])?_0x49bd05[_0x39447e(0x296)]:[];_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'ok':!![],'issue':{'number':typeof _0xee7ad5[_0x39447e(0x1aa)]===_0x39447e(0x1aa)?_0xee7ad5[_0x39447e(0x1aa)]:_0x21c142,'title':typeof _0xee7ad5[_0x39447e(0x1f5)]===_0x39447e(0x1f0)?_0xee7ad5[_0x39447e(0x1f5)]:'','state':typeof _0xee7ad5[_0x39447e(0x143)]===_0x39447e(0x1f0)?_0xee7ad5[_0x39447e(0x143)]:'','author':_0xee7ad5[_0x39447e(0x1d6)]&&typeof _0xee7ad5[_0x39447e(0x1d6)]===_0x39447e(0x20a)&&typeof _0xee7ad5[_0x39447e(0x1d6)][_0x39447e(0x14c)]==='string'?_0xee7ad5[_0x39447e(0x1d6)]['login']:'','url':typeof _0xee7ad5[_0x39447e(0x14f)]===_0x39447e(0x1f0)?_0xee7ad5[_0x39447e(0x14f)]:'','body':typeof _0xee7ad5[_0x39447e(0x22c)]===_0x39447e(0x1f0)?_0xee7ad5[_0x39447e(0x22c)][_0x39447e(0x16a)](0x0,0x1f40):'','commentsCount':typeof _0xee7ad5['comments']===_0x39447e(0x1aa)?_0xee7ad5[_0x39447e(0x213)]:_0x2715dd['length'],'isPullRequest':_0xee7ad5['pull_request']!==undefined},'comments':_0x2715dd[_0x39447e(0x18f)](_0x27e6f3=>!!_0x27e6f3&&typeof _0x27e6f3===_0x39447e(0x20a))['slice'](-0x14)[_0x39447e(0x29f)](_0x2edbfa=>({'author':_0x2edbfa['user']&&typeof _0x2edbfa[_0x39447e(0x1d6)]==='object'&&typeof _0x2edbfa[_0x39447e(0x1d6)][_0x39447e(0x14c)]==='string'?_0x2edbfa[_0x39447e(0x1d6)][_0x39447e(0x14c)]:'','body':typeof _0x2edbfa[_0x39447e(0x22c)]==='string'?_0x2edbfa['body'][_0x39447e(0x16a)](0x0,0x7d0):'','createdAt':typeof _0x2edbfa[_0x39447e(0x188)]===_0x39447e(0x1f0)?_0x2edbfa['created_at']:''}))}));return;}if(_0x479004['method']===_0x39447e(0x18a)&&_0x1995c7===_0x39447e(0x1c2)){const _0xb8bd3c=licenseMachineId(new URL(_0x479004['url']??'/','http://localhost')['searchParams']['get'](_0x39447e(0x2a3))),_0xaa69dc=_0xb8bd3c?_0xa8d6ef[_0x39447e(0x159)](_0xb8bd3c):undefined;if(!_0xaa69dc){_0xb8ddaa[_0x39447e(0x29d)](0x191,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1b8)}));return;}const _0x5397f2=await githubApi('/user/repos?per_page=100&sort=updated',_0xaa69dc[_0x39447e(0x1b1)]);if(_0x5397f2['status']===0x0){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x134)}));return;}if(_0x5397f2['status']!==0xc8||!Array[_0x39447e(0x14a)](_0x5397f2['json'])){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x21f)+githubErrorMessage(_0x5397f2[_0x39447e(0x296)],_0x5397f2[_0x39447e(0x1ff)])}));return;}_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':!![],'login':_0xaa69dc['login'],'repos':_0x5397f2[_0x39447e(0x296)]['filter'](_0x3db161=>!!_0x3db161&&typeof _0x3db161===_0x39447e(0x20a))['map'](_0x25113a=>({'fullName':typeof _0x25113a[_0x39447e(0x1fa)]==='string'?_0x25113a['full_name']:'','private':_0x25113a[_0x39447e(0x1b0)]===!![],'defaultBranch':typeof _0x25113a[_0x39447e(0x1df)]===_0x39447e(0x1f0)?_0x25113a[_0x39447e(0x1df)]:_0x39447e(0x282),'updatedAt':typeof _0x25113a[_0x39447e(0x268)]===_0x39447e(0x1f0)?_0x25113a[_0x39447e(0x268)]:''}))[_0x39447e(0x18f)](_0x124b3a=>_0x124b3a['fullName']['length']>0x0)}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x1995c7===_0x39447e(0x1dd)){const _0x3eeff6=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x3eeff6)return;const _0x2d4df1=licenseMachineId(_0x3eeff6['machineId']),_0x4f87f5=_0x2d4df1?_0xa8d6ef[_0x39447e(0x159)](_0x2d4df1):undefined;if(!_0x4f87f5){_0xb8ddaa[_0x39447e(0x29d)](0x191,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':'GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first'}));return;}let _0x1229dc='',_0x1eb4be='';try{;({owner:_0x1229dc,repo:_0x1eb4be}=(0x0,github_app_js_1[_0x39447e(0x287)])(typeof _0x3eeff6[_0x39447e(0x147)]===_0x39447e(0x1f0)?_0x3eeff6['repo']:''));}catch{_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x1e0)}));return;}const _0x15d7ce=typeof _0x3eeff6[_0x39447e(0x28c)]===_0x39447e(0x1f0)?_0x3eeff6[_0x39447e(0x28c)][_0x39447e(0x252)]()['replace'](/^\/+/,''):'';if(!_0x15d7ce||_0x15d7ce[_0x39447e(0x249)]('/')['includes']('..')){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x238)}));return;}const _0x2d4aa4=typeof _0x3eeff6[_0x39447e(0x277)]===_0x39447e(0x1f0)?_0x3eeff6[_0x39447e(0x277)]:'';if(Buffer[_0x39447e(0x13e)](_0x2d4aa4,_0x39447e(0x24a))>0x186a0){_0xb8ddaa['writeHead'](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':'content\x20over\x20100KB\x20—\x20split\x20it\x20or\x20open\x20a\x20PR'}));return;}const _0x265c30=typeof _0x3eeff6[_0x39447e(0x23c)]===_0x39447e(0x1f0)&&_0x3eeff6['message'][_0x39447e(0x252)]()?_0x3eeff6[_0x39447e(0x23c)][_0x39447e(0x252)]()[_0x39447e(0x16a)](0x0,0xc8):_0x39447e(0x26c)+_0x15d7ce,_0x14a5a5=typeof _0x3eeff6[_0x39447e(0x15c)]===_0x39447e(0x1f0)&&_0x3eeff6['branch']['trim']()?_0x3eeff6['branch']['trim']():undefined,_0x3c7438=_0x14a5a5?_0x39447e(0x20c)+encodeURIComponent(_0x14a5a5):'',_0x284a8c=await githubApi('/repos/'+_0x1229dc+'/'+_0x1eb4be+_0x39447e(0x13d)+encodeContentPath(_0x15d7ce)+_0x3c7438,_0x4f87f5[_0x39447e(0x1b1)]);let _0x17b1db;if(_0x284a8c[_0x39447e(0x1ff)]>=0xc8&&_0x284a8c[_0x39447e(0x1ff)]<0x12c){const _0x2c7a20=_0x284a8c[_0x39447e(0x296)];if(!_0x2c7a20||typeof _0x2c7a20!=='object'||_0x2c7a20[_0x39447e(0x1ce)]===undefined||_0x2c7a20[_0x39447e(0x1ce)]===_0x39447e(0x2ab))_0x17b1db=typeof _0x2c7a20?.[_0x39447e(0x269)]==='string'?_0x2c7a20[_0x39447e(0x269)]:undefined;else{_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x15d7ce+_0x39447e(0x20f)}));return;}}else{if(_0x284a8c['status']!==0x194){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':'GitHub:\x20'+githubErrorMessage(_0x284a8c[_0x39447e(0x296)],_0x284a8c[_0x39447e(0x1ff)])}));return;}}const _0x19f6ac=await githubApi(_0x39447e(0x1e3)+_0x1229dc+'/'+_0x1eb4be+_0x39447e(0x13d)+encodeContentPath(_0x15d7ce),_0x4f87f5[_0x39447e(0x1b1)],0x4e20,{'method':'PUT','body':{'message':_0x265c30,'content':Buffer[_0x39447e(0x225)](_0x2d4aa4,'utf8')[_0x39447e(0x1fd)]('base64'),..._0x17b1db?{'sha':_0x17b1db}:{},..._0x14a5a5?{'branch':_0x14a5a5}:{}}});if(_0x19f6ac[_0x39447e(0x1ff)]<0xc8||_0x19f6ac['status']>=0x12c){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x21f)+githubErrorMessage(_0x19f6ac[_0x39447e(0x296)],_0x19f6ac['status'])}));return;}const _0x35da44=_0x19f6ac[_0x39447e(0x296)],_0xa628d1=_0x35da44&&typeof _0x35da44===_0x39447e(0x20a)&&_0x35da44[_0x39447e(0x1b6)]&&typeof _0x35da44[_0x39447e(0x1b6)][_0x39447e(0x269)]===_0x39447e(0x1f0)?_0x35da44[_0x39447e(0x1b6)][_0x39447e(0x269)]:'';_0xb8ddaa['writeHead'](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':!![],'commit':_0xa628d1[_0x39447e(0x16a)](0x0,0x7)||null}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x1995c7===_0x39447e(0x1bf)){const _0xdfa887=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0xdfa887)return;const _0x49b521=licenseMachineId(_0xdfa887['machineId']),_0x526a1f=_0x49b521?_0xa8d6ef[_0x39447e(0x159)](_0x49b521):undefined;if(!_0x526a1f){_0xb8ddaa[_0x39447e(0x29d)](0x191,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON['stringify']({'error':_0x39447e(0x1b8)}));return;}let _0x35bc5a='',_0x4294be='';try{;({owner:_0x35bc5a,repo:_0x4294be}=(0x0,github_app_js_1['splitRepo'])(typeof _0xdfa887['repo']===_0x39447e(0x1f0)?_0xdfa887[_0x39447e(0x147)]:''));}catch{_0xb8ddaa['writeHead'](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1e0)}));return;}const _0x2e9efe=typeof _0xdfa887[_0x39447e(0x15c)]==='string'?_0xdfa887[_0x39447e(0x15c)][_0x39447e(0x252)]():'';if(!/^[A-Za-z0-9][A-Za-z0-9/_.-]{0,120}$/['test'](_0x2e9efe)){_0xb8ddaa['writeHead'](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':'invalid\x20branch\x20name\x20\x22'+_0x2e9efe+'\x22'}));return;}const _0x3c9a33=await githubApi('/repos/'+_0x35bc5a+'/'+_0x4294be,_0x526a1f[_0x39447e(0x1b1)]);if(_0x3c9a33['status']<0xc8||_0x3c9a33['status']>=0x12c){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':'GitHub:\x20'+githubErrorMessage(_0x3c9a33[_0x39447e(0x296)],_0x3c9a33[_0x39447e(0x1ff)])}));return;}const _0x2f6619=_0x3c9a33[_0x39447e(0x296)],_0x241f9f=typeof _0xdfa887['base']===_0x39447e(0x1f0)&&_0xdfa887[_0x39447e(0x192)][_0x39447e(0x252)]()?_0xdfa887[_0x39447e(0x192)][_0x39447e(0x252)]():_0x2f6619&&typeof _0x2f6619===_0x39447e(0x20a)&&typeof _0x2f6619[_0x39447e(0x1df)]===_0x39447e(0x1f0)?_0x2f6619[_0x39447e(0x1df)]:_0x39447e(0x282),_0x5368ae=await githubApi('/repos/'+_0x35bc5a+'/'+_0x4294be+_0x39447e(0x16c)+encodeURIComponent(_0x241f9f),_0x526a1f[_0x39447e(0x1b1)]);if(_0x5368ae['status']<0xc8||_0x5368ae[_0x39447e(0x1ff)]>=0x12c){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':'GitHub:\x20'+githubErrorMessage(_0x5368ae[_0x39447e(0x296)],_0x5368ae['status'])}));return;}const _0x2f3752=_0x5368ae[_0x39447e(0x296)],_0x3efe55=_0x2f3752&&typeof _0x2f3752===_0x39447e(0x20a)&&_0x2f3752[_0x39447e(0x20a)]&&typeof _0x2f3752[_0x39447e(0x20a)][_0x39447e(0x269)]===_0x39447e(0x1f0)?_0x2f3752[_0x39447e(0x20a)][_0x39447e(0x269)]:'';if(!_0x3efe55){_0xb8ddaa['writeHead'](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x216)+_0x241f9f}));return;}const _0x56c1fb=await githubApi('/repos/'+_0x35bc5a+'/'+_0x4294be+'/git/refs',_0x526a1f[_0x39447e(0x1b1)],0x4e20,{'method':_0x39447e(0x165),'body':{'ref':_0x39447e(0x1ef)+_0x2e9efe,'sha':_0x3efe55}});if(_0x56c1fb[_0x39447e(0x1ff)]===0x1a6){_0xb8ddaa[_0x39447e(0x29d)](0x199,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON['stringify']({'error':'branch\x20'+_0x2e9efe+_0x39447e(0x1ed)}));return;}if(_0x56c1fb['status']<0xc8||_0x56c1fb[_0x39447e(0x1ff)]>=0x12c){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x21f)+githubErrorMessage(_0x56c1fb[_0x39447e(0x296)],_0x56c1fb[_0x39447e(0x1ff)])}));return;}_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'ok':!![],'branch':_0x2e9efe,'base':_0x241f9f}));return;}if(_0x479004[_0x39447e(0x179)]==='POST'&&_0x1995c7===_0x39447e(0x247)){const _0x295955=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x295955)return;const _0x507ef7=licenseMachineId(_0x295955[_0x39447e(0x2a3)]),_0x4628fc=_0x507ef7?_0xa8d6ef[_0x39447e(0x159)](_0x507ef7):undefined;if(!_0x4628fc){_0xb8ddaa['writeHead'](0x191,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1b8)}));return;}let _0x28392b='',_0x4b6856='';try{;({owner:_0x28392b,repo:_0x4b6856}=(0x0,github_app_js_1['splitRepo'])(typeof _0x295955[_0x39447e(0x147)]===_0x39447e(0x1f0)?_0x295955['repo']:''));}catch{_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1e0)}));return;}const _0xfae544=typeof _0x295955[_0x39447e(0x1ea)]===_0x39447e(0x1f0)?_0x295955[_0x39447e(0x1ea)][_0x39447e(0x252)]():'',_0xf8f7c0=typeof _0x295955[_0x39447e(0x1f5)]===_0x39447e(0x1f0)?_0x295955[_0x39447e(0x1f5)][_0x39447e(0x252)]():'';if(!_0xfae544||!_0xf8f7c0){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x224)}));return;}const _0x4723de=await githubApi('/repos/'+_0x28392b+'/'+_0x4b6856+_0x39447e(0x1d1),_0x4628fc['token'],0x4e20,{'method':_0x39447e(0x165),'body':{'title':_0xf8f7c0[_0x39447e(0x16a)](0x0,0xc8),'head':_0xfae544,...typeof _0x295955[_0x39447e(0x192)]===_0x39447e(0x1f0)&&_0x295955[_0x39447e(0x192)][_0x39447e(0x252)]()?{'base':_0x295955[_0x39447e(0x192)][_0x39447e(0x252)]()}:{},'body':typeof _0x295955['body']===_0x39447e(0x1f0)?_0x295955[_0x39447e(0x22c)][_0x39447e(0x16a)](0x0,0x1f40):''}});if(_0x4723de['status']<0xc8||_0x4723de['status']>=0x12c){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x21f)+githubErrorMessage(_0x4723de['json'],_0x4723de['status'])}));return;}const _0x1f2229=_0x4723de[_0x39447e(0x296)];_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':!![],'number':_0x1f2229&&typeof _0x1f2229===_0x39447e(0x20a)&&typeof _0x1f2229['number']===_0x39447e(0x1aa)?_0x1f2229[_0x39447e(0x1aa)]:null,'url':_0x1f2229&&typeof _0x1f2229===_0x39447e(0x20a)&&typeof _0x1f2229['html_url']===_0x39447e(0x1f0)?_0x1f2229['html_url']:''}));return;}if(_0x479004['method']===_0x39447e(0x165)&&_0x1995c7===_0x39447e(0x15e)){const _0x379666=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x379666)return;const _0x177496=licenseMachineId(_0x379666[_0x39447e(0x2a3)]),_0x14f1e2=_0x177496?_0xa8d6ef[_0x39447e(0x159)](_0x177496):undefined;if(!_0x14f1e2){_0xb8ddaa['writeHead'](0x191,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x1b8)}));return;}let _0x387d00='',_0x42e421='';try{;({owner:_0x387d00,repo:_0x42e421}=(0x0,github_app_js_1[_0x39447e(0x287)])(typeof _0x379666[_0x39447e(0x147)]===_0x39447e(0x1f0)?_0x379666['repo']:''));}catch{_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x1e0)}));return;}const _0x2badbe=typeof _0x379666[_0x39447e(0x264)]===_0x39447e(0x1f0)?_0x379666['sourcePath'][_0x39447e(0x252)]()[_0x39447e(0x279)](/^\/+/,''):'',_0x52bdc4=typeof _0x379666[_0x39447e(0x169)]==='string'?_0x379666['destPath'][_0x39447e(0x252)]()[_0x39447e(0x279)](/^\/+/,''):'';if(!_0x2badbe||!_0x52bdc4||_0x2badbe[_0x39447e(0x249)]('/')[_0x39447e(0x239)]('..')||_0x52bdc4['split']('/')[_0x39447e(0x239)]('..')){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x29c)}));return;}const _0x3d9902=await githubApi(_0x39447e(0x1e3)+_0x387d00+'/'+_0x42e421+'/contents/'+encodeContentPath(_0x2badbe),_0x14f1e2[_0x39447e(0x1b1)]);if(_0x3d9902[_0x39447e(0x1ff)]<0xc8||_0x3d9902[_0x39447e(0x1ff)]>=0x12c){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x21f)+githubErrorMessage(_0x3d9902['json'],_0x3d9902['status'])}));return;}const _0x4cdf6f=_0x3d9902['json'];if(!_0x4cdf6f||typeof _0x4cdf6f!==_0x39447e(0x20a)||typeof _0x4cdf6f[_0x39447e(0x277)]!=='string'||!_0x4cdf6f[_0x39447e(0x277)]){_0xb8ddaa[_0x39447e(0x29d)](0x1f6,{'Content-Type':'application/json'}),_0xb8ddaa['end'](JSON['stringify']({'error':_0x2badbe+_0x39447e(0x25a)}));return;}const _0x51fab2=Buffer[_0x39447e(0x225)](Buffer['from'](_0x4cdf6f[_0x39447e(0x277)],_0x39447e(0x138))[_0x39447e(0x1fd)](_0x39447e(0x24a)),'utf8')[_0x39447e(0x1fd)]('base64'),_0x33e3ec=await githubApi(_0x39447e(0x1e3)+_0x387d00+'/'+_0x42e421+'/contents/'+encodeContentPath(_0x52bdc4),_0x14f1e2['token']);let _0x73aa6a;if(_0x33e3ec[_0x39447e(0x1ff)]>=0xc8&&_0x33e3ec[_0x39447e(0x1ff)]<0x12c){const _0xb5723=_0x33e3ec['json'];_0x73aa6a=_0xb5723&&typeof _0xb5723===_0x39447e(0x20a)&&typeof _0xb5723[_0x39447e(0x269)]===_0x39447e(0x1f0)?_0xb5723[_0x39447e(0x269)]:undefined;}const _0x552ee2=await githubApi(_0x39447e(0x1e3)+_0x387d00+'/'+_0x42e421+'/contents/'+encodeContentPath(_0x52bdc4),_0x14f1e2[_0x39447e(0x1b1)],0x4e20,{'method':_0x39447e(0x237),'body':{'message':_0x39447e(0x1d2)+_0x2badbe+_0x39447e(0x236)+_0x52bdc4,'content':_0x51fab2,..._0x73aa6a?{'sha':_0x73aa6a}:{}}});if(_0x552ee2[_0x39447e(0x1ff)]<0xc8||_0x552ee2[_0x39447e(0x1ff)]>=0x12c){_0xb8ddaa['writeHead'](0x1f6,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x21f)+githubErrorMessage(_0x552ee2[_0x39447e(0x296)],_0x552ee2[_0x39447e(0x1ff)])}));return;}const _0x53a425=_0x552ee2[_0x39447e(0x296)],_0x40a25e=_0x53a425&&typeof _0x53a425==='object'&&_0x53a425[_0x39447e(0x1b6)]&&typeof _0x53a425[_0x39447e(0x1b6)][_0x39447e(0x269)]==='string'?_0x53a425['commit'][_0x39447e(0x269)]:'';_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'ok':!![],'commit':_0x40a25e[_0x39447e(0x16a)](0x0,0x7)||null}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x479004['url']===_0x39447e(0x272)){const _0xa81c3c=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0xa81c3c)return;try{const _0x240cef=_0x186332[_0x39447e(0x26a)](typeof _0xa81c3c['key']===_0x39447e(0x1f0)?_0xa81c3c[_0x39447e(0x22d)]:'',typeof _0xa81c3c['customer']===_0x39447e(0x1f0)?_0xa81c3c[_0x39447e(0x1b7)]:undefined);_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'id':_0x240cef['id'],'plan':_0x240cef[_0x39447e(0x1da)]}));}catch(_0x249d60){_0xb8ddaa[_0x39447e(0x29d)](0x190,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x249d60 instanceof Error?_0x249d60[_0x39447e(0x23c)]:String(_0x249d60)}));}return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x479004['url']===_0x39447e(0x1ba)){const _0x57afda=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x57afda)return;const _0x3314d0=typeof _0x57afda['id']===_0x39447e(0x1f0)?_0x57afda['id']:'';if(!_0x3314d0||!_0x186332['revoke'](_0x3314d0)){_0xb8ddaa[_0x39447e(0x29d)](0x194,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x1a3)}));return;}_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'ok':!![]}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x479004['url']===_0x39447e(0x24d)){const _0x3ea2d1=await readJsonBody(_0x479004,_0xb8ddaa);if(!_0x3ea2d1)return;const _0x48eaf8=typeof _0x3ea2d1['id']===_0x39447e(0x1f0)?_0x3ea2d1['id']:'';if(!_0x48eaf8||!_0x186332[_0x39447e(0x22b)](_0x48eaf8)){_0xb8ddaa[_0x39447e(0x29d)](0x194,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x1a3)}));return;}_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'ok':!![]}));return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x18a)&&_0x1995c7===_0x39447e(0x27c)){const _0x3fdc78=_0x186332[_0x39447e(0x146)]()[_0x39447e(0x29f)](_0x5455af=>({'id':_0x5455af['id'],'key':_0x5455af[_0x39447e(0x22d)][_0x39447e(0x16a)](0x0,0x4)+_0x39447e(0x171)+_0x5455af['key'][_0x39447e(0x16a)](-0x4),'plan':_0x5455af[_0x39447e(0x1da)],'exp':_0x5455af[_0x39447e(0x135)],'customer':_0x5455af['customer'],'trial':_0x5455af[_0x39447e(0x1f3)]===!![],'revoked':_0x5455af[_0x39447e(0x1e5)],'bound':Boolean(_0x5455af[_0x39447e(0x163)]),'machine':_0x5455af[_0x39447e(0x163)]?_0x5455af['boundMachineId'][_0x39447e(0x16a)](0x0,0x8)+'…':undefined,'createdAt':_0x5455af['createdAt'],'lastSeenAt':_0x5455af[_0x39447e(0x25e)]}));_0xb8ddaa['writeHead'](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'licenses':_0x3fdc78}));return;}if(_0x479004[_0x39447e(0x179)]==='GET'&&_0x1995c7===_0x39447e(0x288)){const _0x294eb0=Number((_0x479004['url']??'')[_0x39447e(0x249)]('tail=')[0x1]??0x64);_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'usage':_0x186332[_0x39447e(0x2a9)](Number[_0x39447e(0x21c)](_0x294eb0)?_0x294eb0:0x64)}));return;}if(_0x479004['method']===_0x39447e(0x18a)&&_0x1995c7===_0x39447e(0x1a4)){const _0x49986d=Number((_0x479004[_0x39447e(0x24b)]??'')[_0x39447e(0x249)](_0x39447e(0x190))[0x1]??0x64),{readJobTail:_0x581047}=await Promise['resolve']()['then'](()=>__importStar(require('./github-jobs.js')));_0xb8ddaa[_0x39447e(0x29d)](0xc8,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa['end'](JSON[_0x39447e(0x1c8)]({'jobs':_0x581047(Number[_0x39447e(0x21c)](_0x49986d)?_0x49986d:0x64)}));return;}if(_0x479004[_0x39447e(0x179)]==='POST'&&_0x479004[_0x39447e(0x24b)]===_0x39447e(0x187)){const _0x139707=process.env.GITHUB_WEBHOOK_SECRET??'';if(!_0x139707){_0xb8ddaa['writeHead'](0x1f7,{'Content-Type':'application/json'}),_0xb8ddaa[_0x39447e(0x1c1)](JSON[_0x39447e(0x1c8)]({'error':_0x39447e(0x166)}));return;}const _0x524ed8=[];let _0x1b3959=0x0,_0x71a1ed=![];_0x479004['on'](_0x39447e(0x14d),_0x4e34ed=>{const _0x2f2fb9=_0x39447e;if(_0x71a1ed)return;const _0x39b8b0=typeof _0x4e34ed===_0x2f2fb9(0x1f0)?Buffer[_0x2f2fb9(0x225)](_0x4e34ed,'utf8'):_0x4e34ed;_0x1b3959+=_0x39b8b0['length'];if(_0x1b3959>MAX_BODY_BYTES){_0x71a1ed=!![],_0xb8ddaa[_0x2f2fb9(0x29d)](0x19d,{'Content-Type':_0x2f2fb9(0x286)}),_0xb8ddaa[_0x2f2fb9(0x1c1)](JSON[_0x2f2fb9(0x1c8)]({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x479004[_0x2f2fb9(0x156)]());return;}_0x524ed8[_0x2f2fb9(0x255)](_0x39b8b0);}),_0x479004['on'](_0x39447e(0x1c1),()=>{const _0x3fa683=_0x39447e;if(_0x71a1ed||_0x479004[_0x3fa683(0x244)])return;const _0x31175a=Buffer[_0x3fa683(0x1f1)](_0x524ed8),_0x48abdc=_0x479004[_0x3fa683(0x1eb)]['x-hub-signature-256'];if(!(0x0,github_app_js_1[_0x3fa683(0x13f)])(_0x139707,_0x31175a,Array[_0x3fa683(0x14a)](_0x48abdc)?_0x48abdc[0x0]:_0x48abdc)){_0xb8ddaa[_0x3fa683(0x29d)](0x191,{'Content-Type':_0x3fa683(0x286)}),_0xb8ddaa[_0x3fa683(0x1c1)](JSON['stringify']({'error':_0x3fa683(0x1a7)}));return;}let _0x4894ef=null;try{_0x4894ef=JSON[_0x3fa683(0x241)](_0x31175a['toString'](_0x3fa683(0x24a)));}catch{_0xb8ddaa[_0x3fa683(0x29d)](0x190,{'Content-Type':_0x3fa683(0x286)}),_0xb8ddaa[_0x3fa683(0x1c1)](JSON['stringify']({'error':_0x3fa683(0x1cb)}));return;}const _0x247942=_0x479004['headers']['x-github-event'],_0x1c5c15=(0x0,github_app_js_1[_0x3fa683(0x154)])(Array['isArray'](_0x247942)?_0x247942[0x0]??'':_0x247942??'',_0x4894ef);if(_0x1c5c15[_0x3fa683(0x2a5)]!==_0x3fa683(0x1b4)){_0xb8ddaa[_0x3fa683(0x29d)](0xc8,{'Content-Type':_0x3fa683(0x286)}),_0xb8ddaa['end'](JSON['stringify']({'ok':!![],..._0x1c5c15[_0x3fa683(0x2a5)]==='ignored'?{'ignored':_0x1c5c15['reason']}:{}}));return;}_0xb8ddaa['writeHead'](0xca,{'Content-Type':_0x3fa683(0x286)}),_0xb8ddaa[_0x3fa683(0x1c1)](JSON[_0x3fa683(0x1c8)]({'ok':!![],'accepted':!![]})),void enqueueGithubJob(_0x1c5c15[_0x3fa683(0x1b4)],_0x4894ef);});return;}if(_0x479004[_0x39447e(0x179)]===_0x39447e(0x165)&&_0x479004[_0x39447e(0x24b)]===_0x39447e(0x178)){let _0x2fd7dd='',_0x1cbd5d=0x0,_0x4b6639=![];const _0x14d230=new AbortController();_0x479004['on'](_0x39447e(0x1a0),()=>_0x14d230[_0x39447e(0x2ac)]()),_0x479004['on'](_0x39447e(0x14d),_0x343193=>{const _0x3d48c6=_0x39447e;if(_0x4b6639)return;const _0x534eda=typeof _0x343193==='string'?_0x343193:_0x343193[_0x3d48c6(0x1fd)](_0x3d48c6(0x24a));_0x1cbd5d+=Buffer[_0x3d48c6(0x13e)](_0x534eda);if(_0x1cbd5d>MAX_BODY_BYTES){_0x4b6639=!![],_0xb8ddaa[_0x3d48c6(0x29d)](0x19d,{'Content-Type':_0x3d48c6(0x286)}),_0xb8ddaa[_0x3d48c6(0x1c1)](JSON[_0x3d48c6(0x1c8)]({'error':_0x3d48c6(0x2a1)})),setImmediate(()=>_0x479004[_0x3d48c6(0x156)]());return;}_0x2fd7dd+=_0x534eda;}),_0x479004['on'](_0x39447e(0x1c1),()=>{const _0x333b58=_0x39447e;if(_0x4b6639||_0x479004[_0x333b58(0x244)])return;const _0x48a2cb=safeJson(_0x2fd7dd),_0x477aef=typeof _0x48a2cb[_0x333b58(0x251)]==='string'?_0x48a2cb[_0x333b58(0x251)]:undefined,_0x54d25d=typeof _0x48a2cb[_0x333b58(0x1f7)]===_0x333b58(0x1f0)?_0x48a2cb['sessionFile']:undefined;if(!_0x477aef||typeof _0x477aef!==_0x333b58(0x1f0)){_0xb8ddaa[_0x333b58(0x29d)](0x190,{'Content-Type':_0x333b58(0x286)}),_0xb8ddaa[_0x333b58(0x1c1)](JSON[_0x333b58(0x1c8)]({'error':_0x333b58(0x1f8)}));return;}_0xb8ddaa[_0x333b58(0x29d)](0xc8,{'Content-Type':_0x333b58(0x1c5),'Cache-Control':_0x333b58(0x23f),'Connection':_0x333b58(0x227)});const _0x3fa08e=new index_js_1[(_0x333b58(0x280))]({'config':_0x1f6a76,'sessionFile':_0x54d25d}),_0xca235a=_0x7fffd8=>{const _0x569c88=_0x333b58;try{if(!_0x479004['destroyed']&&!_0xb8ddaa[_0x569c88(0x19e)])_0xb8ddaa[_0x569c88(0x27e)](_0x7fffd8);}catch{_0x14d230[_0x569c88(0x2ac)]();}};_0x3fa08e[_0x333b58(0x196)](_0x477aef,_0x236e60=>{const _0x54b0d4=_0x333b58;_0x593131['capture'](_0x236e60),_0xca235a(_0x54b0d4(0x13c)+JSON[_0x54b0d4(0x1c8)](_0x236e60)+'\x0a\x0a');},_0x14d230[_0x333b58(0x170)])[_0x333b58(0x14b)](()=>{const _0x1ba474=_0x333b58;_0xca235a(_0x1ba474(0x19d));try{if(!_0x479004['destroyed']&&!_0xb8ddaa[_0x1ba474(0x19e)])_0xb8ddaa[_0x1ba474(0x1c1)]();}catch{}})['catch'](_0x2f1730=>{const _0x6c20b8=_0x333b58;_0xca235a(_0x6c20b8(0x13c)+JSON[_0x6c20b8(0x1c8)]({'error':String(_0x2f1730)})+'\x0a\x0a');try{if(!_0x479004[_0x6c20b8(0x244)]&&!_0xb8ddaa[_0x6c20b8(0x19e)])_0xb8ddaa[_0x6c20b8(0x1c1)]();}catch{}});});return;}_0xb8ddaa['writeHead'](0x194,{'Content-Type':_0x39447e(0x286)}),_0xb8ddaa[_0x39447e(0x1c1)](JSON['stringify']({'error':_0x39447e(0x232)}));});return _0xda484e['listen'](_0x122ddf,_0x310fe0,()=>{const _0x298f67=_0x5168c1;process[_0x298f67(0x23d)][_0x298f67(0x27e)]('trayambak\x20server\x20listening\x20on\x20http://'+_0x310fe0+':'+_0x122ddf+'\x0a'),_0x251347&&_0x44fbb3&&process[_0x298f67(0x23d)][_0x298f67(0x27e)](_0x298f67(0x28d)+_0x44fbb3+'\x0a');}),Object['defineProperty'](_0xda484e,_0x5168c1(0x1c0),{'value':_0x44fbb3??'','enumerable':![]}),_0xda484e;}function safeJson(_0x34775a){const _0xcaeaaf=_0x765ea5;try{return JSON[_0xcaeaaf(0x241)](_0x34775a);}catch{return{};}}let githubJobQueue=Promise['resolve']();function enqueueGithubJob(_0x464702,_0x21232e){const _0x258071=_0x765ea5,_0x5a880b=githubJobQueue[_0x258071(0x14b)](()=>runGithubJob(_0x464702,_0x21232e))['catch'](_0x6e41f6=>{const _0x207941=_0x258071;return process[_0x207941(0x161)][_0x207941(0x27e)](_0x207941(0x1ec)+(_0x6e41f6 instanceof Error?_0x6e41f6['message']:String(_0x6e41f6))+'\x0a'),'';});return githubJobQueue=_0x5a880b[_0x258071(0x14b)](()=>undefined),_0x5a880b;}async function postGithubComment(_0x80c74e,_0x5b1b98,_0x3ab096,_0x5b6010,_0x5bc964){const _0x36a99a=_0x765ea5;try{const _0x337143=await fetch('https://api.github.com/repos/'+_0x80c74e+'/'+_0x5b1b98+_0x36a99a(0x183)+_0x3ab096+_0x36a99a(0x1e8),{'method':_0x36a99a(0x165),'headers':{'Accept':_0x36a99a(0x176),'User-Agent':_0x36a99a(0x275),'Authorization':_0x36a99a(0x186)+_0x5bc964,'Content-Type':_0x36a99a(0x286),'X-GitHub-Api-Version':_0x36a99a(0x1b5)},'body':JSON[_0x36a99a(0x1c8)]({'body':_0x5b6010['slice'](0x0,0xfa0)}),'signal':AbortSignal['timeout'](0x4e20)});return _0x337143[_0x36a99a(0x1ff)]===0xc9;}catch{return![];}}async function allInstalledRepos(){const _0x3e3418=_0x765ea5,_0x45034f=githubAppJwt();if(!_0x45034f)return[];try{const _0x46783c=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':'application/vnd.github+json','User-Agent':_0x3e3418(0x275),'Authorization':_0x3e3418(0x186)+_0x45034f,'X-GitHub-Api-Version':_0x3e3418(0x1b5)},'signal':AbortSignal['timeout'](0x4e20)}),_0x17ae7e=await _0x46783c[_0x3e3418(0x296)]();if(!_0x46783c['ok']||!Array[_0x3e3418(0x14a)](_0x17ae7e))return[];const _0x49a078=[];for(const _0x45c3f0 of _0x17ae7e){if(typeof _0x45c3f0?.['id']!==_0x3e3418(0x1aa))continue;const _0x38af2c=await installationTokenFor(_0x45c3f0['id']);if(!_0x38af2c)continue;const _0x3cfda1=await githubApi('/installation/repositories?per_page=100',_0x38af2c);if(_0x3cfda1[_0x3e3418(0x1ff)]!==0xc8||!_0x3cfda1[_0x3e3418(0x296)]||typeof _0x3cfda1[_0x3e3418(0x296)]!=='object')continue;const _0x284ef1=_0x3cfda1['json']['repositories'];if(!Array['isArray'](_0x284ef1))continue;for(const _0x4568f6 of _0x284ef1){_0x4568f6&&typeof _0x4568f6===_0x3e3418(0x20a)&&typeof _0x4568f6['full_name']==='string'&&_0x49a078[_0x3e3418(0x255)](_0x4568f6[_0x3e3418(0x1fa)][_0x3e3418(0x158)]());}}return[...new Set(_0x49a078)];}catch{return[];}}function githubAppJwt(){const _0x28f3e4=_0x765ea5,_0x4edc1d=(process.env.GITHUB_APP_ID??'')[_0x28f3e4(0x252)]();let _0x1b686b=(process.env.GITHUB_PRIVATE_KEY??'')['trim']();if(!_0x4edc1d||!_0x1b686b)return'';if(!_0x1b686b[_0x28f3e4(0x239)]('BEGIN'))try{_0x1b686b=(0x0,node_fs_1['readFileSync'])(_0x1b686b,_0x28f3e4(0x24a));}catch{return'';}try{return(0x0,github_app_js_1['createAppJwt'])(_0x4edc1d,_0x1b686b);}catch{return'';}}async function installationIdForOwner(_0x32b5e6){const _0x2f18e1=_0x765ea5,_0x53f2e2=githubAppJwt();if(!_0x53f2e2)return 0x0;try{const _0x3ac53b=await fetch(_0x2f18e1(0x25b),{'headers':{'Accept':_0x2f18e1(0x176),'User-Agent':_0x2f18e1(0x275),'Authorization':_0x2f18e1(0x186)+_0x53f2e2,'X-GitHub-Api-Version':_0x2f18e1(0x1b5)},'signal':AbortSignal['timeout'](0x4e20)}),_0x33fc07=await _0x3ac53b[_0x2f18e1(0x296)]();if(!_0x3ac53b['ok']||!Array['isArray'](_0x33fc07))return 0x0;const _0x1a9071=_0x33fc07[_0x2f18e1(0x250)](_0x182f24=>_0x182f24&&typeof _0x182f24[_0x2f18e1(0x2ae)]?.[_0x2f18e1(0x14c)]===_0x2f18e1(0x1f0)&&_0x182f24['account'][_0x2f18e1(0x14c)][_0x2f18e1(0x158)]()===_0x32b5e6[_0x2f18e1(0x158)]());return typeof _0x1a9071?.['id']==='number'?_0x1a9071['id']:0x0;}catch{return 0x0;}}async function installationTokenFor(_0x2ef0f9){const _0x3b2dc7=_0x765ea5,_0x57c61c=githubAppJwt();if(!_0x57c61c||!_0x2ef0f9)return'';try{const _0x22a7cc=process.env.GITHUB_API_BASE??_0x3b2dc7(0x175);return await(0x0,github_app_js_1[_0x3b2dc7(0x283)])(_0x22a7cc,_0x57c61c,_0x2ef0f9);}catch{return'';}}async function serveReadmeImage(_0x3c9952,_0x567120,_0x12a3f0,_0x102da5){const _0x44cee2=_0x765ea5;try{const _0x51afda=_0x102da5[_0x44cee2(0x16a)](_0x44cee2(0x162)[_0x44cee2(0x1fc)]);if(!/^[A-Za-z0-9_-]+\.(png|jpg|jpeg)$/i[_0x44cee2(0x1fb)](_0x51afda)){_0x567120[_0x44cee2(0x29d)](0x194,{'Content-Type':_0x44cee2(0x286)}),_0x567120[_0x44cee2(0x1c1)](JSON[_0x44cee2(0x1c8)]({'error':'not\x20found'}));return;}const {readFile:_0x5a4225}=await Promise[_0x44cee2(0x259)]()['then'](()=>__importStar(require(_0x44cee2(0x234)))),_0x3f9c69=await _0x5a4225((0x0,node_path_1[_0x44cee2(0x173)])(_0x12a3f0,_0x51afda)),_0x7eb330=/\.png$/i['test'](_0x51afda)?_0x44cee2(0x298):_0x44cee2(0x1a8);_0x567120['writeHead'](0xc8,{'Content-Type':_0x7eb330,'Cache-Control':'public,\x20max-age=86400'}),_0x567120[_0x44cee2(0x1c1)](_0x3f9c69);}catch{_0x567120[_0x44cee2(0x29d)](0x194,{'Content-Type':_0x44cee2(0x286)}),_0x567120[_0x44cee2(0x1c1)](JSON['stringify']({'error':_0x44cee2(0x232)}));}}async function serveDocsFile(_0x5a695b,_0x55fff7,_0x505c43,_0x567c32){const _0x470b1f=_0x765ea5;try{const _0x4df4e1=_0x567c32[_0x470b1f(0x16a)](_0x470b1f(0x206)[_0x470b1f(0x1fc)]);if(!/^[A-Za-z0-9_-]+\.md$/i['test'](_0x4df4e1)){_0x55fff7['writeHead'](0x194,{'Content-Type':_0x470b1f(0x286)}),_0x55fff7[_0x470b1f(0x1c1)](JSON['stringify']({'error':_0x470b1f(0x232)}));return;}const {readFile:_0x1004f3}=await Promise[_0x470b1f(0x259)]()['then'](()=>__importStar(require('node:fs/promises'))),_0x62c1c7=await _0x1004f3((0x0,node_path_1['join'])(_0x505c43,_0x4df4e1));_0x55fff7['writeHead'](0xc8,{'Content-Type':_0x470b1f(0x14e),'Cache-Control':_0x470b1f(0x23b)}),_0x55fff7['end'](_0x62c1c7);}catch{_0x55fff7['writeHead'](0x194,{'Content-Type':_0x470b1f(0x286)}),_0x55fff7[_0x470b1f(0x1c1)](JSON['stringify']({'error':_0x470b1f(0x232)}));}}function licenseMachineId(_0x5488cf){const _0x37652a=_0x765ea5;if(typeof _0x5488cf!==_0x37652a(0x1f0))return'';const _0x3c47bf=_0x5488cf['trim']();return _0x3c47bf[_0x37652a(0x1fc)]>=0x4&&_0x3c47bf[_0x37652a(0x1fc)]<=0x80?_0x3c47bf:'';}async function githubApi(_0x2ab903,_0x46b478,_0x5d44eb=0x4e20,_0x1a7220){const _0xe8dda4=_0x765ea5;try{const _0x12b63d={'Accept':'application/vnd.github+json','User-Agent':_0xe8dda4(0x275),'Authorization':_0xe8dda4(0x186)+_0x46b478,'X-GitHub-Api-Version':'2022-11-28'},_0x5be855={'headers':_0x12b63d,'signal':AbortSignal[_0xe8dda4(0x17b)](_0x5d44eb)};_0x1a7220&&(_0x12b63d[_0xe8dda4(0x295)]=_0xe8dda4(0x286),_0x5be855[_0xe8dda4(0x179)]=_0x1a7220[_0xe8dda4(0x179)],_0x5be855[_0xe8dda4(0x22c)]=JSON['stringify'](_0x1a7220[_0xe8dda4(0x22c)]));const _0x3b11e3=await fetch(_0xe8dda4(0x175)+_0x2ab903,_0x5be855);let _0x12d2fc=null;try{_0x12d2fc=await _0x3b11e3['json']();}catch{}return{'status':_0x3b11e3[_0xe8dda4(0x1ff)],'json':_0x12d2fc};}catch{return{'status':0x0,'json':null};}}function githubErrorMessage(_0x228772,_0x282b6e){const _0x36ce7b=_0x765ea5;if(_0x228772&&typeof _0x228772===_0x36ce7b(0x20a)&&typeof _0x228772[_0x36ce7b(0x23c)]===_0x36ce7b(0x1f0))return _0x228772[_0x36ce7b(0x23c)];return _0x36ce7b(0x184)+_0x282b6e;}function encodeContentPath(_0x358db5){const _0x5d106d=_0x765ea5;return _0x358db5[_0x5d106d(0x249)]('/')['map'](_0x3afc68=>encodeURIComponent(_0x3afc68))[_0x5d106d(0x173)]('/');}function clientIp(_0x1a0a44){const _0x16e134=_0x765ea5,_0x3e3597=_0x1f5e52=>(Array['isArray'](_0x1f5e52)?_0x1f5e52[0x0]:_0x1f5e52)?.[_0x16e134(0x249)](',')[0x0]?.[_0x16e134(0x252)]()??'';return _0x3e3597(_0x1a0a44['headers'][_0x16e134(0x21e)])||_0x3e3597(_0x1a0a44[_0x16e134(0x1eb)]['x-forwarded-for'])||_0x3e3597(_0x1a0a44['headers'][_0x16e134(0x1a5)])||_0x1a0a44[_0x16e134(0x242)][_0x16e134(0x160)]||_0x16e134(0x218);}async function runGithubJob(_0xd8fee2,_0x37a6de){const _0x217966=_0x765ea5,_0x141a85=process.env.GITHUB_API_BASE??'https://api.github.com',_0xc7aa40=new Date()[_0x217966(0x1b2)]();process['stdout'][_0x217966(0x27e)](_0x217966(0x231)+_0xd8fee2['repoFullName']+'#'+_0xd8fee2[_0x217966(0x194)]+_0x217966(0x137)+_0xc7aa40+'\x0a');const _0x55f23d=process.env.TRAYAMBAK_GITHUB_WORKSPACE??(0x0,index_js_1[_0x217966(0x23a)])()['cwd'],_0x1524ee=(0x0,index_js_1[_0x217966(0x23a)])(),_0x15b057={..._0x1524ee,'cwd':_0x55f23d,'permissions':{..._0x1524ee['permissions'],'rulesV2':[..._0x1524ee['permissions']?.['rulesV2']??[],{'tool':_0x217966(0x25f),'action':_0x217966(0x20e),'reason':_0x217966(0x172)}]}},_0x231328=new index_js_1[(_0x217966(0x280))]({'config':_0x15b057}),_0x267543=process.env.GITHUB_APP_ID??'';let _0x4ae29c=process.env.GITHUB_PRIVATE_KEY??'';if(_0x4ae29c&&!_0x4ae29c[_0x217966(0x239)](_0x217966(0x273))){const _0x101901=await Promise[_0x217966(0x259)]()[_0x217966(0x14b)](()=>__importStar(require(_0x217966(0x210))));try{_0x4ae29c=_0x101901[_0x217966(0x278)](_0x4ae29c,'utf8');}catch{_0x4ae29c='';}}const _0x431820=_0x37a6de?.[_0x217966(0x1ab)],_0xfe971e=typeof _0x431820?.['id']===_0x217966(0x1aa)?_0x431820['id']:0x0;let _0xf60c2a='';if(_0x267543&&_0x4ae29c&&_0xfe971e)try{_0xf60c2a=await(0x0,github_app_js_1[_0x217966(0x283)])(_0x141a85,(0x0,github_app_js_1['createAppJwt'])(_0x267543,_0x4ae29c),_0xfe971e);}catch(_0x1b22e1){process[_0x217966(0x23d)][_0x217966(0x27e)]('[github-app]\x20installation\x20token\x20mint\x20failed:\x20'+(_0x1b22e1 instanceof Error?_0x1b22e1[_0x217966(0x23c)]:String(_0x1b22e1))+'\x0a');}let _0x4cf85f=[],_0x31ac1d='';const _0x311f3a=[],_0x72bba0=[],_0x5edeb0=_0x321b42=>{const _0x421fe5=_0x217966;try{if(_0x321b42?.[_0x421fe5(0x1ce)]===_0x421fe5(0x299)){_0x311f3a[_0x421fe5(0x255)](_0x421fe5(0x223)+(typeof _0x321b42[_0x421fe5(0x2ad)]==='number'?_0x321b42[_0x421fe5(0x2ad)]:'?')+'\x20of\x20'+(typeof _0x321b42[_0x421fe5(0x1f4)]===_0x421fe5(0x1aa)?_0x321b42['max']:'?')+_0x421fe5(0x142));return;}if(_0x321b42?.[_0x421fe5(0x1ce)]==='message_end'){const _0x444f21=_0x321b42[_0x421fe5(0x23c)];if(_0x444f21?.['stopReason']===_0x421fe5(0x155)&&Array['isArray'](_0x444f21['content'])){const _0x318dd1=_0x444f21['content'][_0x421fe5(0x18f)](_0x405e4e=>!!_0x405e4e&&typeof _0x405e4e===_0x421fe5(0x20a)&&_0x405e4e[_0x421fe5(0x1ce)]==='text')['map'](_0x478739=>_0x478739[_0x421fe5(0x265)])[_0x421fe5(0x173)]('\x0a')['trim']();if(_0x318dd1)_0x311f3a[_0x421fe5(0x255)](_0x318dd1);}if(_0x444f21?.[_0x421fe5(0x22e)]===_0x421fe5(0x297)&&Array[_0x421fe5(0x14a)](_0x444f21[_0x421fe5(0x277)])){const _0x5190b2=_0x444f21[_0x421fe5(0x277)]['filter'](_0xd0ee30=>!!_0xd0ee30&&typeof _0xd0ee30==='object'&&_0xd0ee30[_0x421fe5(0x1ce)]===_0x421fe5(0x265))[_0x421fe5(0x29f)](_0x3d70e1=>_0x3d70e1['text'])[_0x421fe5(0x173)]('\x0a');_0x5190b2&&/fail|error|denied|not found|404|401|403|refus/i[_0x421fe5(0x1fb)](_0x5190b2)&&_0x72bba0['push'](_0x5190b2[_0x421fe5(0x16a)](0x0,0x12c));}}}catch{}};try{const _0x6be3ce=process.env.GITHUB_TOKEN;if(_0xf60c2a)process.env.GITHUB_TOKEN=_0xf60c2a;const _0x2b8ce8=(0x0,github_app_js_1[_0x217966(0x168)])(_0x37a6de);try{_0x4cf85f=await _0x231328[_0x217966(0x196)](_0x217966(0x17d)+_0xd8fee2['repoFullName']+(_0xd8fee2['isPullRequest']?'\x20(pull\x20request':_0x217966(0x18b))+'\x20#'+_0xd8fee2[_0x217966(0x194)]+_0x217966(0x228)+_0xd8fee2[_0x217966(0x2aa)]+'\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.'+(_0x2b8ce8?'\x0a\x0aContext\x20from\x20GitHub:\x0a'+_0x2b8ce8:''),_0x5edeb0);}finally{if(_0xf60c2a){if(_0x6be3ce===undefined)delete process.env.GITHUB_TOKEN;else process.env.GITHUB_TOKEN=_0x6be3ce;}}}catch(_0x53b24a){_0x31ac1d=_0x53b24a instanceof Error?_0x53b24a[_0x217966(0x23c)]:String(_0x53b24a);}const _0x5a1b5e=(0x0,github_app_js_1['selectJobReply'])(_0x4cf85f,_0x31ac1d,_0x311f3a);(0x0,github_jobs_js_1[_0x217966(0x157)])({'repo':_0xd8fee2[_0x217966(0x292)],'issue':_0xd8fee2[_0x217966(0x194)],'task':_0xd8fee2[_0x217966(0x2aa)],'messages':_0x4cf85f[_0x217966(0x1fc)],'replyHead':_0x5a1b5e,..._0x31ac1d?{'error':_0x31ac1d}:{}});const _0x13d3d=_0x4cf85f['map'](_0x49461a=>{const _0x386317=_0x217966,_0x2b699d=Array[_0x386317(0x14a)](_0x49461a['content'])?_0x49461a[_0x386317(0x277)][_0x386317(0x29f)](_0x33ad0c=>_0x33ad0c?.[_0x386317(0x1ce)]??'?')[_0x386317(0x173)]('+'):typeof _0x49461a[_0x386317(0x277)];return(_0x49461a[_0x386317(0x22e)]??'?')+'['+_0x2b699d+']';})[_0x217966(0x173)]('\x20');process['stdout']['write'](_0x217966(0x231)+_0xd8fee2[_0x217966(0x292)]+'#'+_0xd8fee2[_0x217966(0x194)]+_0x217966(0x2a7)+_0x4cf85f[_0x217966(0x1fc)]+_0x217966(0x1c9)+(_0x13d3d||'none')+(_0x31ac1d?_0x217966(0x24c)+_0x31ac1d[_0x217966(0x16a)](0x0,0xc8):'')+(_0x72bba0['length']>0x0?',\x20toolDiags:\x20'+_0x72bba0[_0x217966(0x173)](_0x217966(0x1cd))['slice'](0x0,0x258):'')+')\x0a');if(!_0x267543||!_0x4ae29c||!_0xfe971e||!_0xf60c2a)return process[_0x217966(0x23d)]['write'](_0x217966(0x1f2)+_0x5a1b5e+_0x217966(0x211)),_0x5a1b5e;const {owner:_0x481556,repo:_0x4a0094}=(0x0,github_app_js_1[_0x217966(0x287)])(_0xd8fee2['repoFullName']),_0x31918b=_0x5a1b5e['length']>0xea60?_0x5a1b5e[_0x217966(0x16a)](0x0,0xea60)+'\x0a\x0a…(truncated,\x20full\x20log\x20on\x20the\x20VPS)':_0x5a1b5e;return await(0x0,github_app_js_1[_0x217966(0x20d)])({'apiBase':_0x141a85,'token':_0xf60c2a},_0x481556,_0x4a0094,_0xd8fee2[_0x217966(0x194)],'##\x20Trayambak\x20result\x0a\x0a'+_0x31918b),process[_0x217966(0x23d)][_0x217966(0x27e)](_0x217966(0x231)+_0xd8fee2[_0x217966(0x292)]+'#'+_0xd8fee2['issueNumber']+_0x217966(0x1a2)),_0x5a1b5e;}
@@ -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';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['INSTALL_PS1']=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$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';
@@ -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 _0x4c1e62=process.env.LICENSE_STORE_PATH??'./data/licenses.json',_0x1a8da5=process.env.LICENSE_USAGE_PATH??'./data/license-usage.jsonl';return{'file':_0x4c1e62,'usageFile':_0x1a8da5};}function atomicWriteJson(_0x458522,_0x458d5f){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(_0x458522),{'recursive':!![]});const _0x9b33f6=_0x458522+'.tmp-'+process['pid'];(0x0,node_fs_1['writeFileSync'])(_0x9b33f6,JSON['stringify'](_0x458d5f,null,0x2),{'encoding':'utf8','mode':0x180});try{(0x0,node_fs_1['chmodSync'])(_0x9b33f6,0x180);}catch{}(0x0,node_fs_1['renameSync'])(_0x9b33f6,_0x458522);}function loadStoreFile(_0x54de79){if(!(0x0,node_fs_1['existsSync'])(_0x54de79))return{};try{const _0x4ddeaa=JSON['parse']((0x0,node_fs_1['readFileSync'])(_0x54de79,'utf8'));if(_0x4ddeaa&&typeof _0x4ddeaa==='object'&&_0x4ddeaa['keys']&&typeof _0x4ddeaa['keys']==='object')return _0x4ddeaa['keys'];}catch{}return{};}const PENTEST_PLANS=new Set(['pentest','pro','enterprise']);function checkLicense(_0x113907,_0x4d3008,_0xac7c6,_0x52cbae){const _0x30ea8b=typeof _0x4d3008==='string'?_0x4d3008['trim']():'';if(!_0x30ea8b)return{'valid':![],'reason':'no\x20license\x20key\x20supplied'};const _0x25ebdb=(0x0,license_js_1['normalizeLicenseKey'])(_0x30ea8b);if(!_0x25ebdb)return{'valid':![],'reason':'malformed\x20key\x20(want\x2016\x20letters,\x201102-XXXX-XXXX-XXXX)'};const _0x2cb9ed=(0x0,license_js_1['verifyLicenseKey'])(_0x30ea8b,_0x52cbae);if(_0x2cb9ed['valid']!==!![])return{'valid':![],'reason':_0x2cb9ed['valid']===![]?_0x2cb9ed['reason']:'invalid\x20key'};const _0xb2a789=_0x113907[_0x2cb9ed['claims']['id']];if(!_0xb2a789||(0x0,license_js_1['normalizeLicenseKey'])(_0xb2a789['key'])!==_0x25ebdb)return{'valid':![],'reason':'unknown\x20license\x20(not\x20issued\x20by\x20SKT\x20—\x20register\x20it\x20via\x20/admin\x20first)'};if(_0x2cb9ed['claims']['exp']*0x3e8<=Date['now']())return{'valid':![],'reason':'expired\x20on\x20'+new Date(_0x2cb9ed['claims']['exp']*0x3e8)['toISOString']()['slice'](0x0,0xa)};if(_0xb2a789['revoked'])return{'valid':![],'reason':'license\x20revoked\x20—\x20contact\x20SKT\x20AI\x20LABS','record':_0xb2a789};const _0x35dc0b=typeof _0xac7c6==='string'?_0xac7c6['trim']():'';if(!_0x35dc0b)return{'valid':![],'reason':'no\x20machine\x20identity\x20supplied','record':_0xb2a789};if(!_0xb2a789['boundMachineId'])return{'valid':![],'reason':'not\x20activated\x20on\x20this\x20machine\x20—\x20run\x20/devmode\x20on\x20<key>\x20once\x20to\x20bind\x20it','record':_0xb2a789};if(_0xb2a789['boundMachineId']!==_0x35dc0b)return{'valid':![],'reason':'bound\x20to\x20another\x20machine\x20(1-machine\x20license)\x20—\x20ask\x20SKT\x20to\x20unbind\x20it','record':_0xb2a789};return{'valid':!![],'plan':_0x2cb9ed['claims']['plan'],'exp':_0x2cb9ed['claims']['exp'],'record':_0xb2a789};}function checkPentest(_0x5835a7,_0x39813d,_0x1ce6f2,_0x206c72){const _0x328ec4=checkLicense(_0x5835a7,_0x39813d,_0x1ce6f2,_0x206c72);if(_0x328ec4['valid']!==!![])return _0x328ec4;if(!_0x328ec4['plan']||!PENTEST_PLANS['has'](_0x328ec4['plan']))return{'valid':![],'plan':_0x328ec4['plan'],'exp':_0x328ec4['exp'],'reason':'plan\x20\x27'+(_0x328ec4['plan']??'unknown')+'\x27\x20does\x20not\x20cover\x20pentest\x20tools','record':_0x328ec4['record']};return _0x328ec4;}class LicenseStore{['keys'];['file'];['usageFile'];['secret'];constructor(_0x49ec53,_0x8cee38){const _0x1bdee9=defaultLicenseStorePaths();this['file']=_0x49ec53?.['file']??_0x1bdee9['file'],this['usageFile']=_0x49ec53?.['usageFile']??_0x1bdee9['usageFile'],this['secret']=_0x8cee38,this['keys']=loadStoreFile(this['file']);}['save'](){atomicWriteJson(this['file'],{'version':0x1,'keys':this['keys']});}['register'](_0x51a1ca,_0x347ba4,_0x36ea01){const _0x4e4847=(0x0,license_js_1['verifyLicenseKey'])(_0x51a1ca,this['secret']);if(_0x4e4847['valid']!==!![])throw new Error('cannot\x20register:\x20'+(_0x4e4847['valid']===![]?_0x4e4847['reason']:'invalid\x20key'));const _0x2cd591=this['keys'][_0x4e4847['claims']['id']],_0x3d2a40=(0x0,license_js_1['normalizeLicenseKey'])(_0x51a1ca);if(_0x2cd591&&(0x0,license_js_1['normalizeLicenseKey'])(_0x2cd591['key'])===_0x3d2a40)return _0x2cd591;const _0x2b3668={'id':_0x4e4847['claims']['id'],'key':_0x3d2a40['slice'](0x0,0x4)+'-'+_0x3d2a40['slice'](0x4,0x8)+'-'+_0x3d2a40['slice'](0x8,0xc)+'-'+_0x3d2a40['slice'](0xc,0x10),'plan':_0x4e4847['claims']['plan'],'exp':_0x4e4847['claims']['exp'],'customer':typeof _0x347ba4==='string'&&_0x347ba4['trim']()?_0x347ba4['trim']()['slice'](0x0,0x78):undefined,'revoked':![],'trial':_0x36ea01?.['trial']===!![]?!![]:undefined,'createdAt':new Date()['toISOString']()};return this['keys'][_0x2b3668['id']]=_0x2b3668,this['save'](),_0x2b3668;}['check'](_0xda3bba,_0x4cc066){return checkLicense(this['keys'],_0xda3bba,_0x4cc066,this['secret']);}checkPentestOnly(_0x4f0e71,_0x3fd644){return checkPentest(this['keys'],_0x4f0e71,_0x3fd644,this['secret']);}['activate'](_0x1e12e1,_0x2695cd){const _0x1b2b88=typeof _0x2695cd==='string'?_0x2695cd['trim']():'';if(!_0x1b2b88)return{'ok':![],'reason':'no\x20machine\x20identity\x20supplied'};const _0x9c3ded=this['check'](_0x1e12e1,_0x1b2b88);if(_0x9c3ded['valid']===!![])return{'ok':!![],'plan':_0x9c3ded['plan'],'exp':_0x9c3ded['exp'],'record':_0x9c3ded['record']};if(_0x9c3ded['record']&&!_0x9c3ded['record']['revoked']&&!_0x9c3ded['record']['boundMachineId']&&_0x9c3ded['reason']?.['startsWith']('not\x20activated'))return _0x9c3ded['record']['boundMachineId']=_0x1b2b88,_0x9c3ded['record']['lastSeenAt']=new Date()['toISOString'](),this['save'](),{'ok':!![],'plan':_0x9c3ded['record']['plan'],'exp':_0x9c3ded['record']['exp'],'record':_0x9c3ded['record']};return{'ok':![],'plan':_0x9c3ded['plan'],'exp':_0x9c3ded['exp'],'reason':_0x9c3ded['reason'],'record':_0x9c3ded['record']};}['revoke'](_0x54dbd7){const _0x3a2e40=this['find'](_0x54dbd7);if(!_0x3a2e40)return![];return _0x3a2e40['revoked']=!![],this['save'](),!![];}['unbind'](_0x4fafb4){const _0x1ad77c=this['find'](_0x4fafb4);if(!_0x1ad77c)return![];return delete _0x1ad77c['boundMachineId'],this['save'](),!![];}['touch'](_0x321e62){const _0x3ef7c9=this['keys'][_0x321e62];if(!_0x3ef7c9)return;_0x3ef7c9['lastSeenAt']=new Date()['toISOString'](),this['save']();}['activeTrialForMachine'](_0x245d32){const _0x51a9d9=Date['now']();return Object['values'](this['keys'])['find'](_0x2316f2=>_0x2316f2['trial']===!![]&&_0x2316f2['revoked']!==!![]&&_0x2316f2['exp']*0x3e8>_0x51a9d9&&_0x2316f2['boundMachineId']===_0x245d32);}['find'](_0x543ff8){const _0x291154=_0x543ff8['trim']();if(this['keys'][_0x291154])return this['keys'][_0x291154];const _0x48cb50=(0x0,license_js_1['normalizeLicenseKey'])(_0x291154);if(!_0x48cb50)return undefined;return Object['values'](this['keys'])['find'](_0x43fe4a=>(0x0,license_js_1['normalizeLicenseKey'])(_0x43fe4a['key'])===_0x48cb50);}['list'](){return Object['values'](this['keys'])['sort']((_0x5a1c7f,_0x31fd63)=>_0x5a1c7f['createdAt']<_0x31fd63['createdAt']?0x1:-0x1);}get['size'](){return Object['keys'](this['keys'])['length'];}['appendUsage'](_0x18a1fe){(0x0,node_fs_1['mkdirSync'])((0x0,node_path_1['dirname'])(this['usageFile']),{'recursive':!![]});const _0x58c998=JSON['stringify']({..._0x18a1fe,'ts':new Date()['toISOString']()})+'\x0a';try{(0x0,node_fs_1['appendFileSync'])(this['usageFile'],_0x58c998,'utf8');const _0x137298=(0x0,node_fs_1['statSync'])(this['usageFile'])['size'];if(_0x137298>0x200000){const _0x2fc5f8=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x1a487b=>_0x1a487b['length']>0x0);(0x0,node_fs_1['writeFileSync'])(this['usageFile'],_0x2fc5f8['slice'](-0x1388)['join']('\x0a')+'\x0a','utf8');}}catch{}}['readUsageTail'](_0xe96ad5){const _0xc1487d=Math['min'](Math['max'](Math['floor'](_0xe96ad5),0x1),0x1f4);try{if(!(0x0,node_fs_1['existsSync'])(this['usageFile']))return[];const _0x5b3311=(0x0,node_fs_1['readFileSync'])(this['usageFile'],'utf8')['split']('\x0a')['filter'](_0x1a1b36=>_0x1a1b36['length']>0x0),_0x498234=[];for(const _0x30d057 of _0x5b3311['slice'](-_0xc1487d)){try{_0x498234['push'](JSON['parse'](_0x30d057));}catch{}}return _0x498234;}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(_0x1748aa,_0x3f3ec1,_0xce6974,_0x4a1b4a){if(_0x4a1b4a===undefined)_0x4a1b4a=_0xce6974;var _0x5341d2=Object['getOwnPropertyDescriptor'](_0x3f3ec1,_0xce6974);(!_0x5341d2||('get'in _0x5341d2?!_0x3f3ec1['__esModule']:_0x5341d2['writable']||_0x5341d2['configurable']))&&(_0x5341d2={'enumerable':!![],'get':function(){return _0x3f3ec1[_0xce6974];}}),Object['defineProperty'](_0x1748aa,_0x4a1b4a,_0x5341d2);}:function(_0x2d985f,_0x5ed1ab,_0x1f4d2d,_0x4c73dd){if(_0x4c73dd===undefined)_0x4c73dd=_0x1f4d2d;_0x2d985f[_0x4c73dd]=_0x5ed1ab[_0x1f4d2d];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x1fb8b6,_0x4715a4){Object['defineProperty'](_0x1fb8b6,'default',{'enumerable':!![],'value':_0x4715a4});}:function(_0xe1a350,_0x4a47b5){_0xe1a350['default']=_0x4a47b5;}),__importStar=this&&this['__importStar']||(function(){var _0x550e82=function(_0x518f46){return _0x550e82=Object['getOwnPropertyNames']||function(_0x54b756){var _0x6b42ae=[];for(var _0x2e99e8 in _0x54b756)if(Object['prototype']['hasOwnProperty']['call'](_0x54b756,_0x2e99e8))_0x6b42ae[_0x6b42ae['length']]=_0x2e99e8;return _0x6b42ae;},_0x550e82(_0x518f46);};return function(_0x242284){if(_0x242284&&_0x242284['__esModule'])return _0x242284;var _0x37d7cf={};if(_0x242284!=null){for(var _0x4877a5=_0x550e82(_0x242284),_0xfc823f=0x0;_0xfc823f<_0x4877a5['length'];_0xfc823f++)if(_0x4877a5[_0xfc823f]!=='default')__createBinding(_0x37d7cf,_0x242284,_0x4877a5[_0xfc823f]);}return __setModuleDefault(_0x37d7cf,_0x242284),_0x37d7cf;};}()),__exportStar=this&&this['__exportStar']||function(_0x12a04b,_0x581774){for(var _0x198e36 in _0x12a04b)if(_0x198e36!=='default'&&!Object['prototype']['hasOwnProperty']['call'](_0x581774,_0x198e36))__createBinding(_0x581774,_0x12a04b,_0x198e36);};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'](_0x4a8620){this['messages']=_0x4a8620['slice']();}['clear'](){this['messages']=[];}}exports['InMemoryBackend']=InMemoryBackend;class FileBackend{['file'];['id'];constructor(_0x329738){this['file']=_0x329738,this['id']='file:'+_0x329738;}['load'](){if(!fs['existsSync'](this['file']))return[];try{return JSON['parse'](fs['readFileSync'](this['file'],'utf8'))['messages']??[];}catch{return[];}}['save'](_0x38219a){fs['mkdirSync'](path['dirname'](this['file']),{'recursive':!![]});const _0x21c0fb=this['file']+'.tmp-'+process['pid'];fs['writeFileSync'](_0x21c0fb,JSON['stringify']({'messages':_0x38219a},null,0x2),{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x21c0fb,0x180);}catch{}fs['renameSync'](_0x21c0fb,this['file']);try{fs['chmodSync'](this['file'],0x180);}catch{}}['clear'](){if(fs['existsSync'](this['file']))fs['unlinkSync'](this['file']);}}exports['FileBackend']=FileBackend;function createSessionBackend(_0x32662c){return _0x32662c?new FileBackend(_0x32662c):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(_0x2f4fe3,_0x4674c0,_0x1af4da,_0x4fbbd6){if(_0x4fbbd6===undefined)_0x4fbbd6=_0x1af4da;var _0x109ea0=Object['getOwnPropertyDescriptor'](_0x4674c0,_0x1af4da);(!_0x109ea0||('get'in _0x109ea0?!_0x4674c0['__esModule']:_0x109ea0['writable']||_0x109ea0['configurable']))&&(_0x109ea0={'enumerable':!![],'get':function(){return _0x4674c0[_0x1af4da];}}),Object['defineProperty'](_0x2f4fe3,_0x4fbbd6,_0x109ea0);}:function(_0x527ae1,_0x8b969f,_0x5891f8,_0x280d80){if(_0x280d80===undefined)_0x280d80=_0x5891f8;_0x527ae1[_0x280d80]=_0x8b969f[_0x5891f8];}),__setModuleDefault=this&&this['__setModuleDefault']||(Object['create']?function(_0x172fc6,_0x3cf673){Object['defineProperty'](_0x172fc6,'default',{'enumerable':!![],'value':_0x3cf673});}:function(_0x11c552,_0x219217){_0x11c552['default']=_0x219217;}),__importStar=this&&this['__importStar']||(function(){var _0x3b6268=function(_0x19d4d5){return _0x3b6268=Object['getOwnPropertyNames']||function(_0xe9e35f){var _0x4ed44e=[];for(var _0x2e42cb in _0xe9e35f)if(Object['prototype']['hasOwnProperty']['call'](_0xe9e35f,_0x2e42cb))_0x4ed44e[_0x4ed44e['length']]=_0x2e42cb;return _0x4ed44e;},_0x3b6268(_0x19d4d5);};return function(_0x5b9762){if(_0x5b9762&&_0x5b9762['__esModule'])return _0x5b9762;var _0x26c6fc={};if(_0x5b9762!=null){for(var _0x423fc0=_0x3b6268(_0x5b9762),_0x51dfbb=0x0;_0x51dfbb<_0x423fc0['length'];_0x51dfbb++)if(_0x423fc0[_0x51dfbb]!=='default')__createBinding(_0x26c6fc,_0x5b9762,_0x423fc0[_0x51dfbb]);}return __setModuleDefault(_0x26c6fc,_0x5b9762),_0x26c6fc;};}());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(_0x288e4a,_0x4b0e7d){fs['mkdirSync'](path['dirname'](_0x288e4a),{'recursive':!![]});const _0x12555e=_0x288e4a+'.tmp-'+process['pid'];fs['writeFileSync'](_0x12555e,_0x4b0e7d,{'encoding':'utf8','mode':0x180});try{fs['chmodSync'](_0x12555e,0x180);}catch{}fs['renameSync'](_0x12555e,_0x288e4a);try{fs['chmodSync'](_0x288e4a,0x180);}catch{}}function sessionDir(_0x46c76c){return path['join'](sessionsRoot(),_0x46c76c);}function contextFile(_0x10e634){return path['join'](sessionDir(_0x10e634),'context.jsonl');}function wireFile(_0x385785){return path['join'](sessionDir(_0x385785),'wire.jsonl');}function stateFile(_0x434077){return path['join'](sessionDir(_0x434077),'state.json');}function createTranscript(_0x570fa0,_0x319d90){const _0x854259=_0x319d90??newTranscriptId(),_0x465950=sessionDir(_0x854259);fs['mkdirSync'](_0x465950,{'recursive':!![]});if(!fs['existsSync'](contextFile(_0x854259)))atomicWrite0600(contextFile(_0x854259),'');if(!fs['existsSync'](wireFile(_0x854259)))atomicWrite0600(wireFile(_0x854259),'');return writeState(_0x854259,{'title':'Untitled','updatedAt':Date['now'](),'workDir':_0x570fa0}),{'id':_0x854259};}function appendContext(_0x34e0d5,_0x28cd7d){try{fs['mkdirSync'](sessionDir(_0x34e0d5),{'recursive':!![]}),fs['appendFileSync'](contextFile(_0x34e0d5),JSON['stringify'](_0x28cd7d)+'\x0a','utf8'),touchState(_0x34e0d5);}catch{}}function appendWire(_0x247915,_0x55e676){try{fs['mkdirSync'](sessionDir(_0x247915),{'recursive':!![]}),fs['appendFileSync'](wireFile(_0x247915),JSON['stringify']({'t':Date['now'](),'event':_0x55e676})+'\x0a','utf8');}catch{}}function readState(_0x42dd3d){try{const _0x58df79=JSON['parse'](fs['readFileSync'](stateFile(_0x42dd3d),'utf8'));if(!_0x58df79||typeof _0x58df79!=='object')return null;return _0x58df79;}catch{return null;}}function writeState(_0x249b27,_0x11a67e){try{atomicWrite0600(stateFile(_0x249b27),JSON['stringify'](_0x11a67e,null,0x2));}catch{}}function touchState(_0x57e766){try{const _0x2a7af9=readState(_0x57e766);if(!_0x2a7af9)return;_0x2a7af9['updatedAt']=Date['now']();const _0x3802b3=readFirstUserText(_0x57e766);_0x3802b3&&(!_0x2a7af9['title']||_0x2a7af9['title']==='Untitled')&&!_0x2a7af9['customTitle']&&(_0x2a7af9['title']=_0x3802b3['slice'](0x0,0x32)),writeState(_0x57e766,_0x2a7af9);}catch{}}function readFirstUserText(_0xcbacd8){try{const _0x51841e=wireFile(_0xcbacd8);if(!fs['existsSync'](_0x51841e))return null;const _0xbfac1e=fs['readFileSync'](_0x51841e,'utf8')['split']('\x0a')['slice'](0x0,0x32);for(const _0x180497 of _0xbfac1e){if(!_0x180497['trim']())continue;try{const _0x58fecc=JSON['parse'](_0x180497),_0x454294=_0x58fecc?.['event']?.['user_input'];if(typeof _0x454294==='string'&&_0x454294['trim']())return _0x454294['trim']();}catch{continue;}}}catch{}return null;}function isEmptyTranscript(_0x10f3af){try{const _0x7476f6=readState(_0x10f3af);if(_0x7476f6?.['customTitle'])return![];for(const _0x5c9379 of[contextFile(_0x10f3af),wireFile(_0x10f3af)]){if(!fs['existsSync'](_0x5c9379))continue;const _0x126d12=fs['readFileSync'](_0x5c9379,'utf8')['trim']();if(_0x126d12['length']>0x0)return![];}return!![];}catch{return![];}}function listTranscripts(){const _0x146ef2=sessionsRoot();try{if(!fs['existsSync'](_0x146ef2))return[];return fs['readdirSync'](_0x146ef2,{'withFileTypes':!![]})['filter'](_0x17c069=>_0x17c069['isDirectory']())['map'](_0x3f985e=>({'id':_0x3f985e['name'],'state':readState(_0x3f985e['name'])}))['filter'](_0x11ff78=>!isEmptyTranscript(_0x11ff78['id']))['sort']((_0x2f3381,_0x4fa2ee)=>(_0x4fa2ee['state']?.['updatedAt']??0x0)-(_0x2f3381['state']?.['updatedAt']??0x0));}catch{return[];}}function migrateLegacyFile(_0x21a476){try{const _0x10c98d=path['join'](sessionsRoot(),_0x21a476+'.jsonl'),_0x44eb17=contextFile(_0x21a476);fs['existsSync'](_0x10c98d)&&!fs['existsSync'](_0x44eb17)&&(fs['mkdirSync'](sessionDir(_0x21a476),{'recursive':!![]}),fs['renameSync'](_0x10c98d,_0x44eb17));}catch{}}