@skt-ai-labs/trayambak-cli 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -18
- package/dist/apps/cli/src/command-registry.js +1 -1
- package/dist/apps/cli/src/commands/agent.js +1 -1
- package/dist/apps/cli/src/commands/archive.js +1 -1
- package/dist/apps/cli/src/commands/checkpoint.js +1 -1
- package/dist/apps/cli/src/commands/command-dispatch.js +1 -1
- package/dist/apps/cli/src/commands/commit.js +1 -1
- package/dist/apps/cli/src/commands/compact.js +1 -1
- package/dist/apps/cli/src/commands/config.js +1 -1
- package/dist/apps/cli/src/commands/db.js +1 -1
- package/dist/apps/cli/src/commands/doctor.js +1 -1
- package/dist/apps/cli/src/commands/download.js +1 -1
- package/dist/apps/cli/src/commands/exec.js +1 -1
- package/dist/apps/cli/src/commands/index.js +1 -1
- package/dist/apps/cli/src/commands/login.js +1 -1
- package/dist/apps/cli/src/commands/manager.js +1 -1
- package/dist/apps/cli/src/commands/marketplace.js +1 -1
- package/dist/apps/cli/src/commands/mcp.js +1 -1
- package/dist/apps/cli/src/commands/mode.js +1 -1
- package/dist/apps/cli/src/commands/models.js +1 -1
- package/dist/apps/cli/src/commands/plan.js +1 -1
- package/dist/apps/cli/src/commands/pr.js +1 -1
- package/dist/apps/cli/src/commands/registry.js +1 -1
- package/dist/apps/cli/src/commands/run.js +1 -1
- package/dist/apps/cli/src/commands/sandbox.js +1 -1
- package/dist/apps/cli/src/commands/serve.js +1 -1
- package/dist/apps/cli/src/commands/session-export.js +1 -1
- package/dist/apps/cli/src/commands/session-resume.js +1 -1
- package/dist/apps/cli/src/commands/shortcuts.js +1 -1
- package/dist/apps/cli/src/commands/slash-command.js +1 -1
- package/dist/apps/cli/src/commands/stats.js +1 -1
- package/dist/apps/cli/src/commands/streaming-gate.js +1 -1
- package/dist/apps/cli/src/commands/task.js +1 -1
- package/dist/apps/cli/src/commands/todo.js +1 -1
- package/dist/apps/cli/src/commands/uninstall.js +1 -1
- package/dist/apps/cli/src/commands/upgrade.js +1 -1
- package/dist/apps/cli/src/commands/worktree.js +1 -1
- package/dist/apps/cli/src/flags.js +1 -1
- package/dist/apps/cli/src/index.js +1 -1
- package/dist/apps/cli/src/integration/board.js +1 -1
- package/dist/apps/cli/src/integration/git-refs.js +1 -1
- package/dist/apps/cli/src/integration/index.js +1 -1
- package/dist/apps/cli/src/integration/indexing.js +1 -1
- package/dist/apps/cli/src/integration/notebook.js +1 -1
- package/dist/apps/cli/src/integration/parent-watchdog.js +1 -1
- package/dist/apps/cli/src/integration/plan.js +1 -1
- package/dist/apps/cli/src/integration/presence.js +1 -1
- package/dist/apps/cli/src/integration/project-id.js +1 -1
- package/dist/apps/cli/src/integration/rules.js +1 -1
- package/dist/apps/cli/src/integration/sandbox.js +1 -1
- package/dist/apps/cli/src/integration/task-resume.js +1 -1
- package/dist/apps/cli/src/integration/text-stream.js +1 -1
- package/dist/apps/cli/src/integration/unique-id.js +1 -1
- package/dist/apps/cli/src/integration/watcher.js +1 -1
- package/dist/apps/cli/src/logger.js +1 -1
- package/dist/apps/cli/src/session/index.js +1 -1
- package/dist/apps/cli/src/session/session-compaction.js +1 -1
- package/dist/apps/cli/src/session/session-continuation.js +1 -1
- package/dist/apps/cli/src/session/session-control.js +1 -1
- package/dist/apps/cli/src/session/session-fork.js +1 -1
- package/dist/apps/cli/src/session/session-manager.js +1 -1
- package/dist/apps/cli/src/session/session-transcript.js +1 -1
- package/dist/apps/cli/src/tui/index.js +1 -1
- package/dist/apps/cli/src/tui/tui-features.js +1 -1
- package/dist/apps/cli/src/version.js +1 -1
- package/dist/apps/runtime/src/agent/agent-loop.js +1 -1
- package/dist/apps/runtime/src/agent/agent.js +1 -1
- package/dist/apps/runtime/src/agent/auto-pilot.js +1 -1
- package/dist/apps/runtime/src/agent/loop-test-harness.js +1 -1
- package/dist/apps/runtime/src/agent/review-init.js +1 -1
- package/dist/apps/runtime/src/agent/sota.js +1 -1
- package/dist/apps/runtime/src/agent/specialist-agents.js +1 -1
- package/dist/apps/runtime/src/artifacts/artifact-manager.js +1 -1
- package/dist/apps/runtime/src/checkpoints.js +1 -1
- package/dist/apps/runtime/src/compaction.js +1 -1
- package/dist/apps/runtime/src/config.js +1 -1
- package/dist/apps/runtime/src/controller/controller.js +1 -1
- package/dist/apps/runtime/src/controller/executor.js +1 -1
- package/dist/apps/runtime/src/controller/reviewer.js +1 -1
- package/dist/apps/runtime/src/controller/router.js +1 -1
- package/dist/apps/runtime/src/controller/state.js +1 -1
- package/dist/apps/runtime/src/developer-mode/bug-fix-auto.js +1 -1
- package/dist/apps/runtime/src/developer-mode/developer-mode.js +1 -1
- package/dist/apps/runtime/src/developer-mode/rag-cache.js +1 -1
- package/dist/apps/runtime/src/developer-mode/sota-mode.js +1 -1
- package/dist/apps/runtime/src/developer-mode/subagent-orchestrator.js +1 -1
- package/dist/apps/runtime/src/evidence/evidence-store.js +1 -1
- package/dist/apps/runtime/src/github-auth.js +1 -1
- package/dist/apps/runtime/src/goals.js +1 -1
- package/dist/apps/runtime/src/index.js +1 -1
- package/dist/apps/runtime/src/knowledge/knowledge-gate.js +1 -1
- package/dist/apps/runtime/src/license.js +1 -1
- package/dist/apps/runtime/src/llama-cpp-bin.js +1 -1
- package/dist/apps/runtime/src/mistakes/mistake-detector.js +1 -1
- package/dist/apps/runtime/src/notifications.js +1 -1
- package/dist/apps/runtime/src/planner/planner.js +1 -1
- package/dist/apps/runtime/src/prompt/auto-title.js +1 -1
- package/dist/apps/runtime/src/prompt/enhance-prompt.js +1 -1
- package/dist/apps/runtime/src/prompt/power-prompt.js +1 -1
- package/dist/apps/runtime/src/prompt/rules.js +1 -1
- package/dist/apps/runtime/src/repetition/repetition-detector.js +1 -1
- package/dist/apps/runtime/src/self-improvement.js +1 -1
- package/dist/apps/runtime/src/session/session.js +1 -1
- package/dist/apps/runtime/src/tools/artifacts/artifact.js +1 -1
- package/dist/apps/runtime/src/tools/checkpoint/checkpoint.js +1 -1
- package/dist/apps/runtime/src/tools/checkpoint/rewind.js +1 -1
- package/dist/apps/runtime/src/tools/code/codemode.js +1 -1
- package/dist/apps/runtime/src/tools/code/fim.js +1 -1
- package/dist/apps/runtime/src/tools/code/next-edit.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/code-search.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/semantic-search.js +1 -1
- package/dist/apps/runtime/src/tools/code-search/symbols.js +1 -1
- package/dist/apps/runtime/src/tools/command-exec/bash.js +1 -1
- package/dist/apps/runtime/src/tools/command-exec/terminal.js +1 -1
- package/dist/apps/runtime/src/tools/commands/commands.js +1 -1
- package/dist/apps/runtime/src/tools/custom/custom-tools.js +1 -1
- package/dist/apps/runtime/src/tools/diagnostics/diagnostics-tool.js +1 -1
- package/dist/apps/runtime/src/tools/diagnostics/tsc-diagnostics.js +1 -1
- package/dist/apps/runtime/src/tools/directory/list-dir.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/edit-file.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/fs-walk.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/fuzzy-match.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/read-file.js +1 -1
- package/dist/apps/runtime/src/tools/file-edit/write-file.js +1 -1
- package/dist/apps/runtime/src/tools/github/github.js +1 -1
- package/dist/apps/runtime/src/tools/globber/glob.js +1 -1
- package/dist/apps/runtime/src/tools/hook-exec.js +1 -1
- package/dist/apps/runtime/src/tools/index.js +1 -1
- package/dist/apps/runtime/src/tools/manifest/read-manifest.js +1 -1
- package/dist/apps/runtime/src/tools/marketplace/marketplace.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp-install.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp-runner-tool.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/mcp.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/registry.js +1 -1
- package/dist/apps/runtime/src/tools/mcp/tool-search.js +1 -1
- package/dist/apps/runtime/src/tools/memory/dream.js +1 -1
- package/dist/apps/runtime/src/tools/memory/memory.js +1 -1
- package/dist/apps/runtime/src/tools/mode/mode.js +1 -1
- package/dist/apps/runtime/src/tools/pentest/pentest-tools.js +1 -1
- package/dist/apps/runtime/src/tools/pentest/security-tool-registry.js +1 -1
- package/dist/apps/runtime/src/tools/planning/todo.js +1 -1
- package/dist/apps/runtime/src/tools/planning/todoread.js +1 -1
- package/dist/apps/runtime/src/tools/regex/grep.js +1 -1
- package/dist/apps/runtime/src/tools/search/ripgrep.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-core.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-loading.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-model.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-parser.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skill-selection.js +1 -1
- package/dist/apps/runtime/src/tools/skills/skills.js +1 -1
- package/dist/apps/runtime/src/tools/text/csv.js +1 -1
- package/dist/apps/runtime/src/tools/text/diff-render.js +1 -1
- package/dist/apps/runtime/src/tools/text/diff.js +1 -1
- package/dist/apps/runtime/src/tools/text/summarize.js +1 -1
- package/dist/apps/runtime/src/tools/text/yaml.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent-catalog.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent-manager.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/agent.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/ask-question.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/cron.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/debate.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/fleet.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/generate-agent.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/monitor.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/notebook-edit.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/parallel-execute.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/parallel-review.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/rules.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/send-message.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/sota-solve.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/swarm.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/tasks.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/team.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/workflow.js +1 -1
- package/dist/apps/runtime/src/tools/trayambak/worktree.js +1 -1
- package/dist/apps/runtime/src/tools/types.js +1 -1
- package/dist/apps/runtime/src/tools/web/multi-search.js +1 -1
- package/dist/apps/runtime/src/tools/web/web-search.js +1 -1
- package/dist/apps/runtime/src/tools/web/webbrowse.js +1 -1
- package/dist/apps/runtime/src/tools/web/webfetch.js +1 -1
- package/dist/apps/runtime/src/update/auto-update.js +1 -1
- package/dist/packages/acp/src/index.js +1 -1
- package/dist/packages/approval/src/index.js +1 -1
- package/dist/packages/checkpoints/src/index.js +1 -1
- package/dist/packages/cli/src/commands/registry.js +1 -1
- package/dist/packages/client/src/index.js +1 -1
- package/dist/packages/coding-agent/src/index.js +1 -1
- package/dist/packages/core/src/agent_communication.js +1 -1
- package/dist/packages/core/src/agent_registry.js +1 -1
- package/dist/packages/core/src/agents_md.js +1 -1
- package/dist/packages/core/src/analytics.js +1 -1
- package/dist/packages/core/src/approval.js +1 -1
- package/dist/packages/core/src/auth.js +1 -1
- package/dist/packages/core/src/context/compactor.js +1 -1
- package/dist/packages/core/src/cron/scheduler.js +1 -1
- package/dist/packages/core/src/curator/librarian.js +1 -1
- package/dist/packages/core/src/env_filter.js +1 -1
- package/dist/packages/core/src/extension_api.js +1 -1
- package/dist/packages/core/src/feature_flags.js +1 -1
- package/dist/packages/core/src/hook_runtime.js +1 -1
- package/dist/packages/core/src/i18n.js +1 -1
- package/dist/packages/core/src/memory/manager.js +1 -1
- package/dist/packages/core/src/memory/provider.js +1 -1
- package/dist/packages/core/src/plan_mode.js +1 -1
- package/dist/packages/core/src/process.js +1 -1
- package/dist/packages/core/src/providers/manager.js +1 -1
- package/dist/packages/core/src/providers/registry.js +1 -1
- package/dist/packages/core/src/rollout_budget.js +1 -1
- package/dist/packages/core/src/secrets.js +1 -1
- package/dist/packages/core/src/session_store.js +1 -1
- package/dist/packages/core/src/state_db.js +1 -1
- package/dist/packages/core/src/subagents.js +1 -1
- package/dist/packages/core/src/token_budget.js +1 -1
- package/dist/packages/core/src/toolsets/arsenal.js +1 -1
- package/dist/packages/core/src/validate.js +1 -1
- package/dist/packages/execpolicy/src/policy.js +1 -1
- package/dist/packages/function/src/index.js +1 -1
- package/dist/packages/harness/src/index.js +1 -1
- package/dist/packages/mcp/src/index.js +1 -1
- package/dist/packages/mcp/src/oauth-callback.js +1 -1
- package/dist/packages/mcp/src/oauth.js +1 -1
- package/dist/packages/mcp/src/spawn-resolve.js +1 -1
- package/dist/packages/mcp-server/src/index.js +1 -1
- package/dist/packages/modes/src/index.js +1 -1
- package/dist/packages/protocol/src/events.js +1 -1
- package/dist/packages/protocol/src/messages.js +1 -1
- package/dist/packages/protocol/src/permission-rules.js +1 -1
- package/dist/packages/protocol/src/permissions.js +1 -1
- package/dist/packages/protocol/src/tools.js +1 -1
- package/dist/packages/protocol/src/toolsets.js +1 -1
- package/dist/packages/protocol/src/util/url.js +1 -1
- package/dist/packages/provider/src/anthropic.js +1 -1
- package/dist/packages/provider/src/catalog.js +1 -1
- package/dist/packages/provider/src/custom.js +1 -1
- package/dist/packages/provider/src/faux-stream.js +1 -1
- package/dist/packages/provider/src/google.js +1 -1
- package/dist/packages/provider/src/huggingface.js +1 -1
- package/dist/packages/provider/src/index.js +1 -1
- package/dist/packages/provider/src/llama-cpp.js +1 -1
- package/dist/packages/provider/src/nvidia.js +1 -1
- package/dist/packages/provider/src/ollama.js +1 -1
- package/dist/packages/provider/src/openai.js +1 -1
- package/dist/packages/provider/src/types.js +1 -1
- package/dist/packages/provider/src/xai.js +1 -1
- package/dist/packages/sandbox/src/gate.js +1 -1
- package/dist/packages/sandbox/src/index.js +1 -1
- package/dist/packages/sandbox/src/spawn.js +1 -1
- package/dist/packages/sandbox/src/types.js +1 -1
- package/dist/packages/sandbox/src/violation.js +1 -1
- package/dist/packages/schema/src/index.js +1 -1
- package/dist/packages/sdk/src/index.js +1 -1
- package/dist/packages/server/src/cors.js +1 -1
- package/dist/packages/server/src/daemon.js +1 -1
- package/dist/packages/server/src/github-app.js +1 -1
- package/dist/packages/server/src/github-autofix.js +1 -1
- package/dist/packages/server/src/github-jobs.js +1 -1
- package/dist/packages/server/src/github-oauth.js +1 -1
- package/dist/packages/server/src/index.js +1 -1
- package/dist/packages/server/src/install-ps1.js +1 -1
- package/dist/packages/server/src/license-store.js +1 -1
- package/dist/packages/session-backends/src/index.js +1 -1
- package/dist/packages/session-backends/src/transcript.js +1 -1
- package/dist/packages/telemetry/src/index.js +1 -1
- package/dist/packages/tui/src/app/app-state.js +1 -1
- package/dist/packages/tui/src/app/events.js +1 -1
- package/dist/packages/tui/src/approval-notification.js +1 -1
- package/dist/packages/tui/src/bottom_pane/composer.js +1 -1
- package/dist/packages/tui/src/bottom_pane/index.js +1 -1
- package/dist/packages/tui/src/chatwidget/chat-widget.js +1 -1
- package/dist/packages/tui/src/chatwidget/index.js +1 -1
- package/dist/packages/tui/src/dialogs.js +1 -1
- package/dist/packages/tui/src/index.js +1 -1
- package/dist/packages/tui/src/ink-app/glyphs.js +1 -1
- package/dist/packages/tui/src/ink-app/utils/stringWidth.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/AgentPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/App.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/CommandPalette.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ExecToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/Footer.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/GroupedToolUseContent.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MCPToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MessageList.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MessageResponse.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/MessageRow.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ModelPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/PermissionOverlay.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/PromptInput.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ProviderPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SandboxSetup.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SessionPicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/Sidebar.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/Spinner.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SplashScreen.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SubagentPanel.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SubagentRow.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/SwarmToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ThemePicker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ToolCallItem.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/ToolUseLoader.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/TrayambakLogo.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolCanceledMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolErrorMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolRejectMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolResultMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/UserToolResultMessage/UserToolSuccessMessage.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/WelcomeScreen.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/WhichKey.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/app-bootstrap.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/clipboard.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/command-palette.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/file-mention.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/footer-fit.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/fuzzy.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/glyphs.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/index.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/keys.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/mode-stack.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/model-picker.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/mouse-input.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/prompt-files.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/provider-model-support.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/resize-guard.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/restore-messages.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/scroll-math.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/session-picker-actions.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/sidebar-data.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/skt-themes.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/stdin-sanitizer.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/subagent-view.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/syntax-highlight.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/terminal-notify.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/text-format.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/theme.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/themeColors.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/types.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/use-border-pulse.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/useAppInput.js +1 -1
- package/dist/packages/tui/src/ink-app-esm/utils/stringWidth.js +1 -1
- package/dist/packages/tui/src/keybindings.js +1 -1
- package/dist/packages/tui/src/keys.js +1 -1
- package/dist/packages/tui/src/notifications.js +1 -1
- package/dist/packages/tui/src/premium-ui.js +1 -1
- package/dist/packages/tui/src/stdin-buffer.js +1 -1
- package/dist/packages/tui/src/terminal-ui.js +1 -1
- package/dist/packages/tui/src/tui/terminal.js +1 -1
- package/dist/packages/tui/src/ui/border.js +1 -1
- package/dist/packages/tui/src/ui/box.js +1 -1
- package/dist/packages/tui/src/ui/dialog.js +1 -1
- package/dist/packages/tui/src/ui/footer-mode.js +1 -1
- package/dist/packages/tui/src/ui/footer.js +1 -1
- package/dist/packages/tui/src/ui/key-hint.js +1 -1
- package/dist/packages/tui/src/ui/skt-themes.js +1 -1
- package/dist/packages/tui/src/ui/spinner.js +1 -1
- package/dist/packages/tui/src/ui/theme.js +1 -1
- package/dist/packages/tui/src/ui/toast.js +1 -1
- package/dist/packages/tui/src/ui/tool-display.js +1 -1
- package/dist/packages/tui/src/ui/tool-palette.js +1 -1
- package/dist/skt/0-points/points.js +1 -1
- package/dist/skt/1-errors/mistake.js +1 -1
- package/dist/skt/1-errors/penalty.js +1 -1
- package/dist/skt/10-upload/upload.js +1 -1
- package/dist/skt/11-ui/components.js +1 -1
- package/dist/skt/12-control/content-control.js +1 -1
- package/dist/skt/12-control/hallucination.js +1 -1
- package/dist/skt/12-control/points.js +1 -1
- package/dist/skt/12-control/repetition.js +1 -1
- package/dist/skt/12-control/verification.js +1 -1
- package/dist/skt/13-healing/ast-validator.js +1 -1
- package/dist/skt/13-healing/healing-controller.js +1 -1
- package/dist/skt/13-healing/journal.js +1 -1
- package/dist/skt/13-healing/rollback.js +1 -1
- package/dist/skt/13-healing/scratchpad.js +1 -1
- package/dist/skt/13-healing/subprocess.js +1 -1
- package/dist/skt/13-healing/verify.js +1 -1
- package/dist/skt/14-hooks/codec.js +1 -1
- package/dist/skt/14-hooks/events.js +1 -1
- package/dist/skt/14-hooks/matcher.js +1 -1
- package/dist/skt/14-hooks/merge.js +1 -1
- package/dist/skt/14-hooks/runner.js +1 -1
- package/dist/skt/14-hooks/types.js +1 -1
- package/dist/skt/3-user/instructions.js +1 -1
- package/dist/skt/4-mem/memory.js +1 -1
- package/dist/skt/5-eval/cot-chain.js +1 -1
- package/dist/skt/5-eval/cot.js +1 -1
- package/dist/skt/5-eval/eval.js +1 -1
- package/dist/skt/6-u/improvements.js +1 -1
- package/dist/skt/6-u/reward.js +1 -1
- package/dist/skt/7-cli/autorepair.js +1 -1
- package/dist/skt/7-cli/clibugs.js +1 -1
- package/dist/skt/7-cli/reinstall.js +1 -1
- package/dist/skt/7-cli/reset.js +1 -1
- package/dist/skt/9-session/session.js +1 -1
- package/dist/skt/context.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const _0x2f5ce0=_0x3e33;(function(_0x58d576,_0x17cafc){const _0x1a5c26=_0x3e33,_0x3d43e6=_0x58d576();while(!![]){try{const _0x5948f8=-parseInt(_0x1a5c26(0x19d))/0x1*(-parseInt(_0x1a5c26(0x154))/0x2)+parseInt(_0x1a5c26(0x229))/0x3+-parseInt(_0x1a5c26(0x15e))/0x4+-parseInt(_0x1a5c26(0x1cf))/0x5+parseInt(_0x1a5c26(0x223))/0x6+-parseInt(_0x1a5c26(0x12d))/0x7*(-parseInt(_0x1a5c26(0x163))/0x8)+-parseInt(_0x1a5c26(0x219))/0x9*(parseInt(_0x1a5c26(0x198))/0xa);if(_0x5948f8===_0x17cafc)break;else _0x3d43e6['push'](_0x3d43e6['shift']());}catch(_0xa5ebab){_0x3d43e6['push'](_0x3d43e6['shift']());}}}(_0xc751,0x1c88d));var __createBinding=this&&this[_0x2f5ce0(0x1b3)]||(Object[_0x2f5ce0(0x142)]?function(_0x5a4862,_0x50d263,_0x376b9f,_0x43c7a8){const _0x253ba5=_0x2f5ce0;if(_0x43c7a8===undefined)_0x43c7a8=_0x376b9f;var _0x2de1a9=Object[_0x253ba5(0x156)](_0x50d263,_0x376b9f);(!_0x2de1a9||(_0x253ba5(0x149)in _0x2de1a9?!_0x50d263[_0x253ba5(0x19a)]:_0x2de1a9[_0x253ba5(0x227)]||_0x2de1a9['configurable']))&&(_0x2de1a9={'enumerable':!![],'get':function(){return _0x50d263[_0x376b9f];}}),Object[_0x253ba5(0x23d)](_0x5a4862,_0x43c7a8,_0x2de1a9);}:function(_0x37e15e,_0x3d757f,_0x9e0934,_0x1e078c){if(_0x1e078c===undefined)_0x1e078c=_0x9e0934;_0x37e15e[_0x1e078c]=_0x3d757f[_0x9e0934];}),__setModuleDefault=this&&this[_0x2f5ce0(0x232)]||(Object[_0x2f5ce0(0x142)]?function(_0x525bff,_0x3ff252){const _0x2345db=_0x2f5ce0;Object['defineProperty'](_0x525bff,_0x2345db(0x1c2),{'enumerable':!![],'value':_0x3ff252});}:function(_0xd54a88,_0xc618d8){const _0xb721b6=_0x2f5ce0;_0xd54a88[_0xb721b6(0x1c2)]=_0xc618d8;}),__importStar=this&&this['__importStar']||(function(){var _0x2d5d6b=function(_0x1c9f68){const _0x11dcf3=_0x3e33;return _0x2d5d6b=Object[_0x11dcf3(0x215)]||function(_0x405e34){const _0x445777=_0x11dcf3;var _0x4ae55d=[];for(var _0x594927 in _0x405e34)if(Object[_0x445777(0x141)][_0x445777(0x237)]['call'](_0x405e34,_0x594927))_0x4ae55d[_0x4ae55d[_0x445777(0x14d)]]=_0x594927;return _0x4ae55d;},_0x2d5d6b(_0x1c9f68);};return function(_0x5950f4){const _0x373290=_0x3e33;if(_0x5950f4&&_0x5950f4[_0x373290(0x19a)])return _0x5950f4;var _0x50aa2a={};if(_0x5950f4!=null){for(var _0x2b0099=_0x2d5d6b(_0x5950f4),_0x1174aa=0x0;_0x1174aa<_0x2b0099['length'];_0x1174aa++)if(_0x2b0099[_0x1174aa]!==_0x373290(0x1c2))__createBinding(_0x50aa2a,_0x5950f4,_0x2b0099[_0x1174aa]);}return __setModuleDefault(_0x50aa2a,_0x5950f4),_0x50aa2a;};}());Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports[_0x2f5ce0(0x13f)]=void 0x0,exports['startServer']=startServer;const http=__importStar(require('http')),crypto_1=require(_0x2f5ce0(0x248)),node_fs_1=require('node:fs'),index_js_1=require(_0x2f5ce0(0x11b)),index_js_2=require(_0x2f5ce0(0x1cc)),transcript_js_1=require(_0x2f5ce0(0x14a)),github_app_js_1=require(_0x2f5ce0(0x17d)),license_js_1=require(_0x2f5ce0(0x117)),license_store_js_1=require(_0x2f5ce0(0x23f)),github_oauth_js_1=require(_0x2f5ce0(0x1fd)),install_ps1_js_1=require(_0x2f5ce0(0x250)),github_jobs_js_1=require('./github-jobs.js'),github_autofix_js_1=require(_0x2f5ce0(0x15f)),cors_js_1=require('./cors.js');function readJsonBody(_0x2f8a4c,_0x1e02d4){return new Promise(_0x50a573=>{const _0x50cd15=_0x3e33;let _0x2612d8='',_0x16fbc1=0x0,_0x567ab7=![];const _0x54676c=(_0x12f9c1,_0x1ba9c3)=>{const _0x1c1587=_0x3e33;if(_0x567ab7)return;_0x567ab7=!![],_0x1e02d4[_0x1c1587(0x1e5)](_0x12f9c1,{'Content-Type':'application/json'}),_0x1e02d4['end'](JSON[_0x1c1587(0x1e7)]({'error':_0x1ba9c3})),setImmediate(()=>_0x2f8a4c[_0x1c1587(0x228)]());};_0x2f8a4c['on'](_0x50cd15(0x19f),_0x35a7a0=>{const _0x1cad9a=_0x50cd15;if(_0x567ab7)return;const _0x8c8e22=typeof _0x35a7a0===_0x1cad9a(0x22d)?_0x35a7a0:_0x35a7a0[_0x1cad9a(0x13a)]('utf8');_0x16fbc1+=Buffer[_0x1cad9a(0x135)](_0x8c8e22);if(_0x16fbc1>MAX_BODY_BYTES){_0x54676c(0x19d,'body\x20too\x20large\x20(max\x201MB)');return;}_0x2612d8+=_0x8c8e22;}),_0x2f8a4c['on'](_0x50cd15(0x171),()=>{const _0xee2843=_0x50cd15;if(_0x567ab7||_0x2f8a4c['destroyed'])return;try{_0x50a573(JSON[_0xee2843(0x1fb)](_0x2612d8));}catch{_0x54676c(0x190,'invalid\x20JSON'),_0x50a573(null);}});});}function adminPage(){const _0x233f56=_0x2f5ce0;return _0x233f56(0x1bc);}const LOOPBACK_HOSTS=new Set([_0x2f5ce0(0x174),_0x2f5ce0(0x24f),_0x2f5ce0(0x21b),_0x2f5ce0(0x12a)]),MAX_BODY_BYTES=0x100000;exports[_0x2f5ce0(0x13f)]={'openapi':_0x2f5ce0(0x25c),'info':{'title':_0x2f5ce0(0x1be),'version':_0x2f5ce0(0x136)},'paths':{'/health':{'get':{'summary':_0x2f5ce0(0x157)}},'/v1/models':{'get':{'summary':_0x2f5ce0(0x173)}},'/v1/agent':{'post':{'summary':_0x2f5ce0(0x11d)}},'/api/sessions':{'get':{'summary':_0x2f5ce0(0x168)}},'/admin':{'get':{'summary':_0x2f5ce0(0x1c7)}},'/admin/mint':{'post':{'summary':'Mint\x20a\x2016-letter\x20license\x20(bearer-gated)'}},'/admin/import':{'post':{'summary':_0x2f5ce0(0x16b)}},'/admin/revoke':{'post':{'summary':'Revoke\x20a\x20license\x20by\x20id\x20(bearer-gated)'}},'/admin/unbind':{'post':{'summary':_0x2f5ce0(0x162)}},'/admin/licenses':{'get':{'summary':'List\x20licenses,\x20masked\x20(bearer-gated)'}},'/admin/usage':{'get':{'summary':_0x2f5ce0(0x10f)}},'/admin/jobs':{'get':{'summary':_0x2f5ce0(0x1ae)}},'/license/verify':{'post':{'summary':'Live\x20license\x20check\x20(public,\x20machine-bound)'}},'/license/activate':{'post':{'summary':'Bind\x20a\x20license\x20to\x20a\x20machine\x20(public)'}},'/license/mint-trial':{'post':{'summary':_0x2f5ce0(0x213)}},'/auth/github/start':{'post':{'summary':_0x2f5ce0(0x209)}},'/auth/github/callback':{'get':{'summary':'OAuth\x20redirect\x20target\x20(public,\x20browser-facing)'}},'/auth/github/status':{'get':{'summary':'Poll\x20login\x20completion\x20by\x20machine\x20(public)'}},'/auth/github/logout':{'post':{'summary':'Forget\x20a\x20machine\x27s\x20token\x20(public)'}},'/github/read':{'post':{'summary':_0x2f5ce0(0x1d2)}},'/install.ps1':{'get':{'summary':_0x2f5ce0(0x249)}},'/license/usage':{'post':{'summary':_0x2f5ce0(0x241)}},'/webhooks/github':{'post':{'summary':'GitHub\x20App\x20webhook\x20(HMAC\x20verified)'}},'/openapi.json':{'get':{'summary':_0x2f5ce0(0x1a5)}}}};function startServer(_0x4dd194={}){const _0x34920a=_0x2f5ce0,_0x16c3c3=_0x4dd194[_0x34920a(0x122)]??Number(process.env.TRAYAMBAK_SERVER_PORT??0x2253),_0x114a75=_0x4dd194[_0x34920a(0x138)]??'127.0.0.1';let _0x6cadcc=_0x4dd194[_0x34920a(0x13c)]??process.env.TRAYAMBAK_WEB_TOKEN;const _0x41a509=_0x4dd194['corsOrigins']??process.env.TRAYAMBAK_WEB_ORIGINS??'';let _0x3636db=![];!_0x6cadcc&&!LOOPBACK_HOSTS[_0x34920a(0x238)](_0x114a75)&&(_0x6cadcc=(0x0,crypto_1[_0x34920a(0x16f)])(0x20)[_0x34920a(0x13a)](_0x34920a(0x15d)),_0x3636db=!![]);const _0x12de7e=(0x0,index_js_1[_0x34920a(0x225)])(),_0x4a82a3=(0x0,index_js_2[_0x34920a(0x16c)])(![]),_0x4fe428=(0x0,license_store_js_1[_0x34920a(0x167)])(),_0x49f0c0=new license_store_js_1[(_0x34920a(0x220))]({'file':_0x4dd194[_0x34920a(0x180)]??_0x4fe428[_0x34920a(0x202)],'usageFile':_0x4dd194[_0x34920a(0x125)]??_0x4fe428[_0x34920a(0x145)]}),_0x3345f1=new Set([_0x34920a(0x11e),_0x34920a(0x189),_0x34920a(0x259),_0x34920a(0x1af),'/webhooks/github',_0x34920a(0x1fa),_0x34920a(0x24c),_0x34920a(0x1c5),_0x34920a(0x18e),_0x34920a(0x1f4),'/install.ps1']),_0x1eb4c9=new Map(),_0x452939=0x5,_0x16e485=new Map(),_0x2f88ca=0xa,_0x55e9ef=new github_oauth_js_1[(_0x34920a(0x1ea))](_0x4dd194[_0x34920a(0x175)]??(0x0,github_oauth_js_1[_0x34920a(0x244)])()),_0x4e5070=(0x0,github_autofix_js_1[_0x34920a(0x1d1)])(process.env.GITHUB_AUTOFIX_REPOS),_0x4d62ea=(process.env.GITHUB_AUTOFIX_LABEL??_0x34920a(0x1a9))[_0x34920a(0x21c)]()||_0x34920a(0x1a9),_0x564f6a=Math[_0x34920a(0x1ab)](Math['max'](Number(process.env.GITHUB_AUTOFIX_INTERVAL_MIN??0x1e)||0x1e,0x5),0x5a0),_0x23eabf=process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT===undefined?(0x0,github_autofix_js_1[_0x34920a(0x257)])(_0x4d62ea):process.env.GITHUB_AUTOFIX_TRIAGE_COMMENT??'';if(_0x4e5070['length']>0x0){const _0x5e3382=new github_autofix_js_1['AutofixLedger']((0x0,github_autofix_js_1[_0x34920a(0x1dd)])()),_0x3309c0=()=>{void((async()=>{const _0x57e92e=_0x3e33;try{const _0x15c197=await(0x0,github_autofix_js_1[_0x57e92e(0x10e)])({'repos':_0x4e5070,'label':_0x4d62ea,'ledger':_0x5e3382,'installationIdFor':installationIdForOwner,'tokenFor':installationTokenFor,'fetchJson':async(_0x568b91,_0x1f44e8)=>{const _0x337d94=_0x57e92e,_0x513507=await githubApi(_0x568b91,_0x1f44e8);return{'status':_0x513507[_0x337d94(0x166)],'json':_0x513507['json']};},'listAllRepos':allInstalledRepos,'postComment':async(_0x2bddd2,_0x45fb7c,_0x1aeca5)=>{const _0x3f9e39=_0x57e92e,_0x39df12=_0x2bddd2['split']('/')[0x0]??'',_0x39676b=await installationIdForOwner(_0x39df12)[_0x3f9e39(0x1db)](()=>0x0);if(!_0x39676b)return![];const _0x43d013=await installationTokenFor(_0x39676b)[_0x3f9e39(0x1db)](()=>'');if(!_0x43d013)return![];return postGithubComment(_0x39df12,_0x2bddd2['split']('/')[0x1]??'',_0x45fb7c,_0x1aeca5,_0x43d013);},'triageComment':_0x23eabf,'runJob':(_0xd344f8,_0x488e98,_0x513839,_0x825916)=>enqueueGithubJob({'repoFullName':_0xd344f8,'issueNumber':_0x488e98,'task':_0x513839,'isPullRequest':![]},{'installation':{'id':_0x825916}})});(_0x15c197['checked']>0x0||_0x15c197[_0x57e92e(0x115)][_0x57e92e(0x14d)]>0x0||_0x15c197[_0x57e92e(0x234)]['length']>0x0)&&process[_0x57e92e(0x247)][_0x57e92e(0x191)](_0x57e92e(0x217)+_0x15c197[_0x57e92e(0x184)]+_0x57e92e(0x21d)+_0x15c197[_0x57e92e(0x115)][_0x57e92e(0x14d)]+_0x57e92e(0x1dc)+_0x15c197[_0x57e92e(0x234)]['length']+'\x0a');}catch(_0x37b444){process[_0x57e92e(0x13d)]['write']('[github-autofix]\x20tick\x20failed:\x20'+(_0x37b444 instanceof Error?_0x37b444[_0x57e92e(0x186)]:String(_0x37b444))+'\x0a');}})());},_0x241299=setInterval(_0x3309c0,_0x564f6a*0xea60);if(typeof _0x241299[_0x34920a(0x113)]===_0x34920a(0x1c4))_0x241299[_0x34920a(0x113)]();const _0x2362b2=setTimeout(_0x3309c0,0x1d4c0);if(typeof _0x2362b2[_0x34920a(0x113)]===_0x34920a(0x1c4))_0x2362b2[_0x34920a(0x113)]();process[_0x34920a(0x247)][_0x34920a(0x191)](_0x34920a(0x1a3)+_0x4e5070['join'](',')+_0x34920a(0x17e)+_0x4d62ea+_0x34920a(0x1ba)+_0x564f6a+'m\x0a');}else process[_0x34920a(0x247)][_0x34920a(0x191)](_0x34920a(0x1ad));const _0x92737f=http['createServer'](async(_0x9bad00,_0x573c2b)=>{const _0x546035=_0x34920a,_0x5b649c=(0x0,cors_js_1[_0x546035(0x119)])(_0x9bad00[_0x546035(0x254)][_0x546035(0x112)],_0x9bad00[_0x546035(0x254)][_0x546035(0x138)],_0x41a509);for(const [_0xcca503,_0x5effcb]of Object[_0x546035(0x1a0)](_0x5b649c[_0x546035(0x254)])){_0x573c2b[_0x546035(0x1e9)](_0xcca503,_0x5effcb);}if(_0x9bad00['method']===_0x546035(0x126)){_0x573c2b[_0x546035(0x1e5)](_0x5b649c[_0x546035(0x22f)]?0xcc:0x193),_0x573c2b['end']();return;}if(!_0x5b649c[_0x546035(0x22f)]){_0x573c2b[_0x546035(0x1e5)](0x193,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x18a)}));return;}const _0x50d2ce=(_0x9bad00['url']??'/')[_0x546035(0x1d5)]('?')[0x0];if(_0x6cadcc&&_0x9bad00[_0x546035(0x1b7)]!==_0x546035(0x206)&&!_0x3345f1[_0x546035(0x238)](_0x50d2ce)){const _0x5bb380=Buffer['from'](_0x9bad00[_0x546035(0x254)]['authorization']??''),_0x1a9da7=Buffer['from']('Bearer\x20'+_0x6cadcc),_0x46eb11=_0x5bb380['length']===_0x1a9da7[_0x546035(0x14d)]&&_0x5bb380[_0x546035(0x14d)]>0x0&&(0x0,crypto_1[_0x546035(0x187)])(_0x5bb380,_0x1a9da7);if(!_0x46eb11){_0x573c2b['writeHead'](0x191,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'error':_0x546035(0x19c)}));return;}}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x206)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'status':'ok','model':_0x12de7e[_0x546035(0x243)]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]==='/openapi.json'){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)](exports['OPENAPI_SPEC']));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x1c6)){_0x573c2b['writeHead'](0xc8,{'Content-Type':'application/json'});try{_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'sessions':(0x0,transcript_js_1[_0x546035(0x1f6)])()}));}catch{_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'sessions':[]}));}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00['url']===_0x546035(0x1a7)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'data':[{'id':_0x12de7e[_0x546035(0x243)]}]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x114)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x1e8)}),_0x573c2b[_0x546035(0x171)](adminPage());return;}if(_0x9bad00[_0x546035(0x1ff)]==='POST'&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x1f5)){const _0x5c89ff=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x5c89ff)return;const _0x44c01a=typeof _0x5c89ff[_0x546035(0x170)]===_0x546035(0x22d)?_0x5c89ff[_0x546035(0x170)]:'',_0x52da13=typeof _0x5c89ff[_0x546035(0x1da)]===_0x546035(0x1b5)?_0x5c89ff[_0x546035(0x1da)]:Number[_0x546035(0x24a)];if(_0x44c01a!==_0x546035(0x20b)&&_0x44c01a!==_0x546035(0x1ee)&&_0x44c01a!=='pro'&&_0x44c01a!==_0x546035(0x155)){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x22e)}));return;}if(!Number[_0x546035(0x14b)](_0x52da13)||_0x52da13<0x1||_0x52da13>0xe42){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x11c)}));return;}try{const _0x322a37=Math[_0x546035(0x212)](Date['now']()/0x5265c00),{activationEpochDays:_0x33fa74}=await Promise[_0x546035(0x230)]()[_0x546035(0x169)](()=>__importStar(require(_0x546035(0x117)))),_0x398dc2=(0x0,license_js_1[_0x546035(0x1c1)])({'plan':_0x44c01a,'expDays':_0x322a37-_0x33fa74()+Math['floor'](_0x52da13)},(0x0,license_js_1[_0x546035(0x148)])()),_0x5af21d=typeof _0x5c89ff['id']===_0x546035(0x22d)?_0x5c89ff['id']:undefined,_0x2f3b7d=_0x49f0c0[_0x546035(0x218)](_0x398dc2,_0x5af21d);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'key':_0x398dc2,'id':_0x2f3b7d['id']}));}catch(_0x32e701){_0x573c2b[_0x546035(0x1e5)](0x1f4,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1cb)+(_0x32e701 instanceof Error?_0x32e701[_0x546035(0x186)]:String(_0x32e701))}));}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x1df)){_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x20f)}),_0x573c2b[_0x546035(0x171)](install_ps1_js_1[_0x546035(0x1c9)]);return;}if(_0x9bad00['method']===_0x546035(0x20c)&&_0x50d2ce===_0x546035(0x11e)){const _0x20cb73=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x20cb73)return;const _0x1b4489=licenseMachineId(_0x20cb73['machineId']);if(!_0x1b4489){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'valid':![],'reason':_0x546035(0x205)}));return;}const _0x19f999=_0x49f0c0['check'](typeof _0x20cb73[_0x546035(0x1ec)]===_0x546035(0x22d)?_0x20cb73[_0x546035(0x1ec)]:'',_0x1b4489);if(_0x19f999[_0x546035(0x146)]===!![])_0x49f0c0[_0x546035(0x25d)](_0x19f999[_0x546035(0x22c)]?.['id']??'');_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'valid':_0x19f999[_0x546035(0x146)],'plan':_0x19f999[_0x546035(0x170)],'exp':_0x19f999['exp'],'reason':_0x19f999['reason']}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x50d2ce===_0x546035(0x189)){const _0x388633=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x388633)return;const _0x233dba=licenseMachineId(_0x388633[_0x546035(0x17f)]);if(!_0x233dba){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x205)}));return;}const _0x3221fa=_0x49f0c0[_0x546035(0x120)](typeof _0x388633['key']===_0x546035(0x22d)?_0x388633['key']:'',_0x233dba);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'ok':_0x3221fa['ok'],'plan':_0x3221fa[_0x546035(0x170)],'exp':_0x3221fa[_0x546035(0x109)],'reason':_0x3221fa[_0x546035(0x14f)]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x50d2ce==='/license/usage'){const _0x5d7aaa=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x5d7aaa)return;const _0x51dcac=licenseMachineId(_0x5d7aaa[_0x546035(0x17f)]),_0x4360d1=typeof _0x5d7aaa[_0x546035(0x1c0)]==='string'?_0x5d7aaa[_0x546035(0x1c0)]['slice'](0x0,0x78):'';if(!_0x51dcac||!_0x4360d1){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1a1)}));return;}const _0x33d460=_0x49f0c0[_0x546035(0x1e2)](typeof _0x5d7aaa[_0x546035(0x1ec)]===_0x546035(0x22d)?_0x5d7aaa[_0x546035(0x1ec)]:'',_0x51dcac);if(_0x33d460[_0x546035(0x146)]!==!![]){_0x573c2b[_0x546035(0x1e5)](0x193,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x33d460[_0x546035(0x14f)]??_0x546035(0x24b)}));return;}_0x49f0c0[_0x546035(0x25d)](_0x33d460[_0x546035(0x22c)]?.['id']??''),_0x49f0c0[_0x546035(0x1b0)]({'keyId':_0x33d460[_0x546035(0x22c)]?.['id']??'','machineId':_0x51dcac,'tool':_0x4360d1,'target':typeof _0x5d7aaa['target']===_0x546035(0x22d)?_0x5d7aaa[_0x546035(0x25b)][_0x546035(0x143)](0x0,0x12c):'','ok':_0x5d7aaa['ok']!==![]}),_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'ok':!![]}));return;}if(_0x9bad00['method']===_0x546035(0x20c)&&_0x50d2ce==='/license/mint-trial'){const _0x44b229=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x44b229)return;const _0x54b02c=licenseMachineId(_0x44b229['machineId']);if(!_0x54b02c){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x352046=clientIp(_0x9bad00),_0x4093bb=Date[_0x546035(0x14c)](),_0x42286c=(_0x1eb4c9[_0x546035(0x149)](_0x352046)??[])[_0x546035(0x22a)](_0xa0ea09=>_0x4093bb-_0xa0ea09<0x36ee80);if(_0x42286c['length']>=_0x452939){_0x573c2b[_0x546035(0x1e5)](0x1ad,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x1c3)}));return;}_0x42286c['push'](_0x4093bb),_0x1eb4c9[_0x546035(0x1d8)](_0x352046,_0x42286c);if(_0x49f0c0['activeTrialForMachine'](_0x54b02c)){_0x573c2b[_0x546035(0x1e5)](0x199,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x24e)}));return;}try{const _0xede53e=Number(process.env.LICENSE_TRIAL_DAYS??0x7),_0x11979f=Math[_0x546035(0x1ab)](Math[_0x546035(0x177)](Math[_0x546035(0x212)](Number[_0x546035(0x14b)](_0xede53e)?_0xede53e:0x7),0x1),0x1e),_0x4d12b1=Math[_0x546035(0x212)](Date['now']()/0x5265c00),{activationEpochDays:_0x5f7b60}=await Promise['resolve']()[_0x546035(0x169)](()=>__importStar(require(_0x546035(0x117)))),_0x2d3421=(0x0,license_js_1[_0x546035(0x1c1)])({'plan':_0x546035(0x1ee),'expDays':_0x4d12b1-_0x5f7b60()+_0x11979f},(0x0,license_js_1[_0x546035(0x148)])()),_0x459e17=_0x49f0c0[_0x546035(0x218)](_0x2d3421,_0x546035(0x118),{'trial':!![]}),_0x166da8=_0x49f0c0[_0x546035(0x120)](_0x2d3421,_0x54b02c);_0x573c2b['writeHead'](0xc8,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'ok':_0x166da8['ok'],'key':_0x2d3421,'id':_0x459e17['id'],'exp':_0x459e17['exp'],'days':_0x11979f}));}catch(_0x1b013a){_0x573c2b['writeHead'](0x1f4,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x23c)+(_0x1b013a instanceof Error?_0x1b013a['message']:String(_0x1b013a))}));}return;}if(_0x9bad00[_0x546035(0x1ff)]==='POST'&&_0x50d2ce===_0x546035(0x1fa)){const _0x56e10a=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x56e10a)return;const _0x4ea931=licenseMachineId(_0x56e10a['machineId']);if(!_0x4ea931){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':'missing\x20machineId'}));return;}const _0x3cf450=(process.env.GITHUB_CLIENT_ID??'')[_0x546035(0x21c)]();if(!_0x3cf450){_0x573c2b[_0x546035(0x1e5)](0x1f4,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':'GitHub\x20login\x20not\x20configured\x20on\x20this\x20server'}));return;}const _0x1918d3=clientIp(_0x9bad00),_0x247d17=Date[_0x546035(0x14c)](),_0x1f08cf=(_0x16e485['get'](_0x1918d3)??[])['filter'](_0x3315bc=>_0x247d17-_0x3315bc<0x36ee80);if(_0x1f08cf[_0x546035(0x14d)]>=_0x2f88ca){_0x573c2b['writeHead'](0x1ad,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':![],'reason':_0x546035(0x179)}));return;}_0x1f08cf[_0x546035(0x233)](_0x247d17),_0x16e485[_0x546035(0x1d8)](_0x1918d3,_0x1f08cf);const _0x443e77=_0x55e9ef['beginLogin'](_0x4ea931),_0x50d4e0='https://github.com/login/oauth/authorize?client_id='+encodeURIComponent(_0x3cf450)+_0x546035(0x134)+_0x443e77[_0x546035(0x208)];_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON['stringify']({'ok':!![],'url':_0x50d4e0}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x24c)){const _0x3743be=(_0x2702ce,_0x2fcb12,_0x344a08)=>{const _0x247674=_0x546035;_0x573c2b[_0x247674(0x1e5)](_0x344a08?0xc8:0x190,{'Content-Type':'text/html;\x20charset=utf-8'}),_0x573c2b[_0x247674(0x171)]('<!doctype\x20html><html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><title>'+_0x2702ce+_0x247674(0x1fe)+_0x247674(0x226)+(_0x247674(0x19b)+_0x2702ce+_0x247674(0x16d)+_0x2fcb12+_0x247674(0x137)));},_0x146c6a=new URL(_0x9bad00[_0x546035(0x1b7)]??'/',_0x546035(0x161))[_0x546035(0x130)],_0x346817=_0x146c6a[_0x546035(0x149)](_0x546035(0x242))??'',_0x54b759=_0x146c6a[_0x546035(0x149)](_0x546035(0x208))??'',_0x25c892=_0x55e9ef[_0x546035(0x252)](_0x54b759);if(!_0x346817||!_0x25c892){_0x3743be(_0x546035(0x245),_0x546035(0x1b1),![]);return;}const _0x2833ee=(process.env.GITHUB_CLIENT_ID??'')[_0x546035(0x21c)](),_0x361867=(process.env.GITHUB_CLIENT_SECRET??'')[_0x546035(0x21c)]();if(!_0x2833ee||!_0x361867){_0x3743be(_0x546035(0x25a),'GitHub\x20login\x20is\x20not\x20configured\x20on\x20this\x20server.',![]);return;}try{const _0x54dcec=await fetch(_0x546035(0x214),{'method':_0x546035(0x20c),'headers':{'Content-Type':'application/json','Accept':'application/json','User-Agent':_0x546035(0x1a9)},'body':JSON[_0x546035(0x1e7)]({'client_id':_0x2833ee,'client_secret':_0x361867,'code':_0x346817}),'signal':AbortSignal[_0x546035(0x207)](0x4e20)}),_0x367073=await _0x54dcec[_0x546035(0x131)]();if(!_0x54dcec['ok']||typeof _0x367073[_0x546035(0x16a)]!=='string'||!_0x367073[_0x546035(0x16a)])throw new Error(typeof _0x367073[_0x546035(0x164)]===_0x546035(0x22d)?_0x367073[_0x546035(0x164)]:_0x546035(0x140)+_0x54dcec[_0x546035(0x166)]);const _0x56980d=await githubApi(_0x546035(0x188),_0x367073['access_token']),_0x2e6e98=_0x56980d[_0x546035(0x131)]&&typeof _0x56980d[_0x546035(0x131)]===_0x546035(0x231)&&typeof _0x56980d[_0x546035(0x131)][_0x546035(0x20e)]===_0x546035(0x22d)?_0x56980d[_0x546035(0x131)][_0x546035(0x20e)]:_0x546035(0x1b4);_0x55e9ef[_0x546035(0x1aa)](_0x25c892,_0x367073[_0x546035(0x16a)],_0x2e6e98),_0x3743be(_0x546035(0x1d4),_0x546035(0x239)+_0x2e6e98+_0x546035(0x123),!![]);}catch(_0x3588d6){_0x3743be('Authorization\x20failed','Could\x20not\x20finish\x20login\x20('+(_0x3588d6 instanceof Error?_0x3588d6[_0x546035(0x186)]:String(_0x3588d6))+_0x546035(0x183),![]);}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x1c5)){const _0x2c9631=licenseMachineId(new URL(_0x9bad00['url']??'/',_0x546035(0x161))[_0x546035(0x130)]['get']('machineId')),_0x3bd5e5=_0x2c9631?_0x55e9ef['tokenFor'](_0x2c9631):undefined;_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify'](_0x3bd5e5?{'authorized':!![],'login':_0x3bd5e5[_0x546035(0x20e)]}:{'authorized':![]}));return;}if(_0x9bad00[_0x546035(0x1ff)]==='POST'&&_0x50d2ce==='/auth/github/logout'){const _0x539283=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x539283)return;const _0xe8fb4f=licenseMachineId(_0x539283['machineId']);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':_0xe8fb4f?_0x55e9ef[_0x546035(0x1e4)](_0xe8fb4f):![]}));return;}if(_0x9bad00['method']==='POST'&&_0x50d2ce===_0x546035(0x1f4)){const _0x12367e=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x12367e)return;const _0x50d59e=licenseMachineId(_0x12367e[_0x546035(0x17f)]),_0x1246ef=_0x50d59e?_0x55e9ef['tokenFor'](_0x50d59e):undefined;if(!_0x1246ef){_0x573c2b[_0x546035(0x1e5)](0x191,{'Content-Type':_0x546035(0x19e)}),_0x573c2b['end'](JSON['stringify']({'error':_0x546035(0x159)}));return;}let _0x322232='',_0x237ecb='';try{;({owner:_0x322232,repo:_0x237ecb}=(0x0,github_app_js_1[_0x546035(0x13b)])(typeof _0x12367e[_0x546035(0x15c)]===_0x546035(0x22d)?_0x12367e[_0x546035(0x15c)]:''));}catch{_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x10c)}));return;}const _0x36ac77=Math[_0x546035(0x212)](Number(_0x12367e[_0x546035(0x1b5)]));if(!Number[_0x546035(0x14b)](_0x36ac77)||_0x36ac77<0x1){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x17a)}));return;}const _0x395701=_0x12367e['withComments']!==![],[_0x2f7b77,_0x4e468a]=await Promise[_0x546035(0x1d6)]([githubApi(_0x546035(0x18b)+_0x322232+'/'+_0x237ecb+'/issues/'+_0x36ac77,_0x1246ef['token']),_0x395701?githubApi('/repos/'+_0x322232+'/'+_0x237ecb+_0x546035(0x1bf)+_0x36ac77+_0x546035(0x11f),_0x1246ef[_0x546035(0x13c)]):Promise[_0x546035(0x230)]({'status':0xc8,'json':[]})]);if(_0x2f7b77[_0x546035(0x166)]===0x0){_0x573c2b[_0x546035(0x1e5)](0x1f6,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x210)}));return;}if(_0x2f7b77[_0x546035(0x166)]!==0xc8||!_0x2f7b77['json']||typeof _0x2f7b77[_0x546035(0x131)]!==_0x546035(0x231)){const _0x48f953=_0x2f7b77['json']&&typeof _0x2f7b77[_0x546035(0x131)]===_0x546035(0x231)&&typeof _0x2f7b77[_0x546035(0x131)][_0x546035(0x186)]===_0x546035(0x22d)?_0x2f7b77[_0x546035(0x131)]['message']:'HTTP\x20'+_0x2f7b77['status'];_0x573c2b[_0x546035(0x1e5)](_0x2f7b77[_0x546035(0x166)]===0x194?0x194:0x1f6,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x172)+_0x48f953}));return;}const _0x128739=_0x2f7b77[_0x546035(0x131)],_0x1804cd=Array[_0x546035(0x150)](_0x4e468a['json'])?_0x4e468a[_0x546035(0x131)]:[];_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'ok':!![],'issue':{'number':typeof _0x128739['number']===_0x546035(0x1b5)?_0x128739[_0x546035(0x1b5)]:_0x36ac77,'title':typeof _0x128739[_0x546035(0x193)]==='string'?_0x128739[_0x546035(0x193)]:'','state':typeof _0x128739[_0x546035(0x208)]===_0x546035(0x22d)?_0x128739[_0x546035(0x208)]:'','author':_0x128739[_0x546035(0x1d9)]&&typeof _0x128739[_0x546035(0x1d9)]===_0x546035(0x231)&&typeof _0x128739['user']['login']==='string'?_0x128739[_0x546035(0x1d9)][_0x546035(0x20e)]:'','url':typeof _0x128739[_0x546035(0x182)]==='string'?_0x128739['html_url']:'','body':typeof _0x128739[_0x546035(0x10d)]===_0x546035(0x22d)?_0x128739[_0x546035(0x10d)][_0x546035(0x143)](0x0,0x1f40):'','commentsCount':typeof _0x128739[_0x546035(0x197)]===_0x546035(0x1b5)?_0x128739[_0x546035(0x197)]:_0x1804cd[_0x546035(0x14d)],'isPullRequest':_0x128739['pull_request']!==undefined},'comments':_0x1804cd[_0x546035(0x22a)](_0x561cd3=>!!_0x561cd3&&typeof _0x561cd3===_0x546035(0x231))[_0x546035(0x143)](-0x14)['map'](_0xdb6ca0=>({'author':_0xdb6ca0[_0x546035(0x1d9)]&&typeof _0xdb6ca0['user']==='object'&&typeof _0xdb6ca0[_0x546035(0x1d9)]['login']===_0x546035(0x22d)?_0xdb6ca0[_0x546035(0x1d9)][_0x546035(0x20e)]:'','body':typeof _0xdb6ca0[_0x546035(0x10d)]===_0x546035(0x22d)?_0xdb6ca0[_0x546035(0x10d)][_0x546035(0x143)](0x0,0x7d0):'','createdAt':typeof _0xdb6ca0[_0x546035(0x258)]===_0x546035(0x22d)?_0xdb6ca0[_0x546035(0x258)]:''}))}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x121)){const _0x1ae2ac=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x1ae2ac)return;try{const _0xf0766e=_0x49f0c0[_0x546035(0x218)](typeof _0x1ae2ac[_0x546035(0x1ec)]==='string'?_0x1ae2ac[_0x546035(0x1ec)]:'',typeof _0x1ae2ac[_0x546035(0x1ed)]===_0x546035(0x22d)?_0x1ae2ac[_0x546035(0x1ed)]:undefined);_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'id':_0xf0766e['id'],'plan':_0xf0766e['plan']}));}catch(_0x129e93){_0x573c2b[_0x546035(0x1e5)](0x190,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x129e93 instanceof Error?_0x129e93['message']:String(_0x129e93)}));}return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x152)){const _0x58f758=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x58f758)return;const _0x85d1e6=typeof _0x58f758['id']===_0x546035(0x22d)?_0x58f758['id']:'';if(!_0x85d1e6||!_0x49f0c0['revoke'](_0x85d1e6)){_0x573c2b['writeHead'](0x194,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':'unknown\x20license\x20id'}));return;}_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'ok':!![]}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x1d0)){const _0x41e266=await readJsonBody(_0x9bad00,_0x573c2b);if(!_0x41e266)return;const _0x227a80=typeof _0x41e266['id']===_0x546035(0x22d)?_0x41e266['id']:'';if(!_0x227a80||!_0x49f0c0[_0x546035(0x12f)](_0x227a80)){_0x573c2b[_0x546035(0x1e5)](0x194,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x132)}));return;}_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'ok':!![]}));return;}if(_0x9bad00['method']===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x1e1)){const _0x2cfd39=_0x49f0c0['list']()['map'](_0x11ac10=>({'id':_0x11ac10['id'],'key':_0x11ac10[_0x546035(0x1ec)][_0x546035(0x143)](0x0,0x4)+_0x546035(0x195)+_0x11ac10[_0x546035(0x1ec)]['slice'](-0x4),'plan':_0x11ac10[_0x546035(0x170)],'exp':_0x11ac10[_0x546035(0x109)],'customer':_0x11ac10['customer'],'trial':_0x11ac10['trial']===!![],'revoked':_0x11ac10[_0x546035(0x116)],'bound':Boolean(_0x11ac10[_0x546035(0x153)]),'machine':_0x11ac10[_0x546035(0x153)]?_0x11ac10[_0x546035(0x153)]['slice'](0x0,0x8)+'…':undefined,'createdAt':_0x11ac10[_0x546035(0x203)],'lastSeenAt':_0x11ac10[_0x546035(0x1e6)]}));_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'licenses':_0x2cfd39}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x10b)&&_0x50d2ce===_0x546035(0x13e)){const _0x26f9e9=Number((_0x9bad00[_0x546035(0x1b7)]??'')[_0x546035(0x1d5)](_0x546035(0x1b8))[0x1]??0x64);_0x573c2b[_0x546035(0x1e5)](0xc8,{'Content-Type':'application/json'}),_0x573c2b[_0x546035(0x171)](JSON['stringify']({'usage':_0x49f0c0[_0x546035(0x1cd)](Number[_0x546035(0x14b)](_0x26f9e9)?_0x26f9e9:0x64)}));return;}if(_0x9bad00['method']===_0x546035(0x10b)&&_0x50d2ce==='/admin/jobs'){const _0xe90e84=Number((_0x9bad00[_0x546035(0x1b7)]??'')[_0x546035(0x1d5)](_0x546035(0x1b8))[0x1]??0x64),{readJobTail:_0x108742}=await Promise[_0x546035(0x230)]()[_0x546035(0x169)](()=>__importStar(require(_0x546035(0x246))));_0x573c2b['writeHead'](0xc8,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'jobs':_0x108742(Number['isFinite'](_0xe90e84)?_0xe90e84:0x64)}));return;}if(_0x9bad00[_0x546035(0x1ff)]===_0x546035(0x20c)&&_0x9bad00[_0x546035(0x1b7)]===_0x546035(0x11a)){const _0x2d781e=process.env.GITHUB_WEBHOOK_SECRET??'';if(!_0x2d781e){_0x573c2b[_0x546035(0x1e5)](0x1f7,{'Content-Type':'application/json'}),_0x573c2b['end'](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1b6)}));return;}const _0x26f302=[];let _0xa30391=0x0,_0x281c2d=![];_0x9bad00['on'](_0x546035(0x19f),_0x3a951e=>{const _0x504848=_0x546035;if(_0x281c2d)return;const _0x2b7cc9=typeof _0x3a951e===_0x504848(0x22d)?Buffer['from'](_0x3a951e,_0x504848(0x23e)):_0x3a951e;_0xa30391+=_0x2b7cc9[_0x504848(0x14d)];if(_0xa30391>MAX_BODY_BYTES){_0x281c2d=!![],_0x573c2b[_0x504848(0x1e5)](0x19d,{'Content-Type':_0x504848(0x19e)}),_0x573c2b[_0x504848(0x171)](JSON['stringify']({'error':'body\x20too\x20large\x20(max\x201MB)'})),setImmediate(()=>_0x9bad00['destroy']());return;}_0x26f302[_0x504848(0x233)](_0x2b7cc9);}),_0x9bad00['on'](_0x546035(0x171),()=>{const _0xfadc9c=_0x546035;if(_0x281c2d||_0x9bad00[_0xfadc9c(0x15b)])return;const _0x48b2c6=Buffer[_0xfadc9c(0x178)](_0x26f302),_0x30318e=_0x9bad00[_0xfadc9c(0x254)]['x-hub-signature-256'];if(!(0x0,github_app_js_1[_0xfadc9c(0x1ce)])(_0x2d781e,_0x48b2c6,Array[_0xfadc9c(0x150)](_0x30318e)?_0x30318e[0x0]:_0x30318e)){_0x573c2b[_0xfadc9c(0x1e5)](0x191,{'Content-Type':'application/json'}),_0x573c2b[_0xfadc9c(0x171)](JSON['stringify']({'error':_0xfadc9c(0x151)}));return;}let _0x2ea6e4=null;try{_0x2ea6e4=JSON['parse'](_0x48b2c6[_0xfadc9c(0x13a)]('utf8'));}catch{_0x573c2b[_0xfadc9c(0x1e5)](0x190,{'Content-Type':_0xfadc9c(0x19e)}),_0x573c2b[_0xfadc9c(0x171)](JSON['stringify']({'error':_0xfadc9c(0x199)}));return;}const _0x2df2f7=_0x9bad00['headers']['x-github-event'],_0x598d4d=(0x0,github_app_js_1['routeGithubEvent'])(Array['isArray'](_0x2df2f7)?_0x2df2f7[0x0]??'':_0x2df2f7??'',_0x2ea6e4);if(_0x598d4d[_0xfadc9c(0x1f7)]!==_0xfadc9c(0x224)){_0x573c2b[_0xfadc9c(0x1e5)](0xc8,{'Content-Type':_0xfadc9c(0x19e)}),_0x573c2b['end'](JSON['stringify']({'ok':!![],..._0x598d4d[_0xfadc9c(0x1f7)]===_0xfadc9c(0x251)?{'ignored':_0x598d4d['reason']}:{}}));return;}_0x573c2b[_0xfadc9c(0x1e5)](0xca,{'Content-Type':_0xfadc9c(0x19e)}),_0x573c2b[_0xfadc9c(0x171)](JSON['stringify']({'ok':!![],'accepted':!![]})),void enqueueGithubJob(_0x598d4d['job'],_0x2ea6e4);});return;}if(_0x9bad00['method']===_0x546035(0x20c)&&_0x9bad00['url']===_0x546035(0x194)){let _0x130cc6='',_0x59d2ce=0x0,_0x5aa592=![];const _0x23f988=new AbortController();_0x9bad00['on'](_0x546035(0x200),()=>_0x23f988[_0x546035(0x25f)]()),_0x9bad00['on']('data',_0x3eccfd=>{const _0x52a0e2=_0x546035;if(_0x5aa592)return;const _0x4fda83=typeof _0x3eccfd===_0x52a0e2(0x22d)?_0x3eccfd:_0x3eccfd[_0x52a0e2(0x13a)](_0x52a0e2(0x23e));_0x59d2ce+=Buffer[_0x52a0e2(0x135)](_0x4fda83);if(_0x59d2ce>MAX_BODY_BYTES){_0x5aa592=!![],_0x573c2b[_0x52a0e2(0x1e5)](0x19d,{'Content-Type':_0x52a0e2(0x19e)}),_0x573c2b[_0x52a0e2(0x171)](JSON['stringify']({'error':_0x52a0e2(0x253)})),setImmediate(()=>_0x9bad00[_0x52a0e2(0x228)]());return;}_0x130cc6+=_0x4fda83;}),_0x9bad00['on'](_0x546035(0x171),()=>{const _0x51d047=_0x546035;if(_0x5aa592||_0x9bad00[_0x51d047(0x15b)])return;const _0x200e43=safeJson(_0x130cc6),_0x446a17=typeof _0x200e43[_0x51d047(0x1c8)]===_0x51d047(0x22d)?_0x200e43[_0x51d047(0x1c8)]:undefined,_0x368960=typeof _0x200e43[_0x51d047(0x1bd)]===_0x51d047(0x22d)?_0x200e43[_0x51d047(0x1bd)]:undefined;if(!_0x446a17||typeof _0x446a17!==_0x51d047(0x22d)){_0x573c2b[_0x51d047(0x1e5)](0x190,{'Content-Type':_0x51d047(0x19e)}),_0x573c2b['end'](JSON['stringify']({'error':_0x51d047(0x221)}));return;}_0x573c2b[_0x51d047(0x1e5)](0xc8,{'Content-Type':_0x51d047(0x12c),'Cache-Control':_0x51d047(0x1b9),'Connection':'keep-alive'});const _0x1483fb=new index_js_1[(_0x51d047(0x222))]({'config':_0x12de7e,'sessionFile':_0x368960}),_0x24b86b=_0x166a38=>{const _0x56b097=_0x51d047;try{if(!_0x9bad00[_0x56b097(0x15b)]&&!_0x573c2b[_0x56b097(0x1e0)])_0x573c2b['write'](_0x166a38);}catch{_0x23f988['abort']();}};_0x1483fb[_0x51d047(0x147)](_0x446a17,_0x293a36=>{const _0x5bd7a0=_0x51d047;_0x4a82a3[_0x5bd7a0(0x1a4)](_0x293a36),_0x24b86b(_0x5bd7a0(0x1a6)+JSON[_0x5bd7a0(0x1e7)](_0x293a36)+'\x0a\x0a');},_0x23f988[_0x51d047(0x23a)])[_0x51d047(0x169)](()=>{const _0x320a59=_0x51d047;_0x24b86b(_0x320a59(0x192));try{if(!_0x9bad00[_0x320a59(0x15b)]&&!_0x573c2b['writableEnded'])_0x573c2b['end']();}catch{}})[_0x51d047(0x1db)](_0x370089=>{const _0x19ccac=_0x51d047;_0x24b86b(_0x19ccac(0x1a6)+JSON['stringify']({'error':String(_0x370089)})+'\x0a\x0a');try{if(!_0x9bad00['destroyed']&&!_0x573c2b[_0x19ccac(0x1e0)])_0x573c2b[_0x19ccac(0x171)]();}catch{}});});return;}_0x573c2b[_0x546035(0x1e5)](0x194,{'Content-Type':_0x546035(0x19e)}),_0x573c2b[_0x546035(0x171)](JSON[_0x546035(0x1e7)]({'error':_0x546035(0x1f8)}));});return _0x92737f['listen'](_0x16c3c3,_0x114a75,()=>{const _0x549829=_0x34920a;process[_0x549829(0x247)][_0x549829(0x191)](_0x549829(0x25e)+_0x114a75+':'+_0x16c3c3+'\x0a'),_0x3636db&&_0x6cadcc&&process[_0x549829(0x247)][_0x549829(0x191)](_0x549829(0x1fc)+_0x6cadcc+'\x0a');}),Object[_0x34920a(0x23d)](_0x92737f,'effectiveToken',{'value':_0x6cadcc??'','enumerable':![]}),_0x92737f;}function safeJson(_0xd59bea){const _0x22325f=_0x2f5ce0;try{return JSON[_0x22325f(0x1fb)](_0xd59bea);}catch{return{};}}let githubJobQueue=Promise[_0x2f5ce0(0x230)]();function _0x3e33(_0x52ff30,_0x328b0a){_0x52ff30=_0x52ff30-0x109;const _0xc751d4=_0xc751();let _0x3e339b=_0xc751d4[_0x52ff30];return _0x3e339b;}function enqueueGithubJob(_0x5ef1d4,_0x244014){const _0x21c586=_0x2f5ce0,_0x2883bf=githubJobQueue[_0x21c586(0x169)](()=>runGithubJob(_0x5ef1d4,_0x244014))[_0x21c586(0x1db)](_0x384d62=>{const _0xc3bdc7=_0x21c586;return process[_0xc3bdc7(0x13d)][_0xc3bdc7(0x191)](_0xc3bdc7(0x17b)+(_0x384d62 instanceof Error?_0x384d62['message']:String(_0x384d62))+'\x0a'),'';});return githubJobQueue=_0x2883bf[_0x21c586(0x169)](()=>undefined),_0x2883bf;}async function postGithubComment(_0x358d4e,_0xa1cf25,_0x4cfa6a,_0x1d2a1a,_0x401403){const _0x23baec=_0x2f5ce0;try{const _0xb71b95=await fetch('https://api.github.com/repos/'+_0x358d4e+'/'+_0xa1cf25+'/issues/'+_0x4cfa6a+_0x23baec(0x1ac),{'method':'POST','headers':{'Accept':_0x23baec(0x18d),'User-Agent':_0x23baec(0x1a9),'Authorization':_0x23baec(0x190)+_0x401403,'Content-Type':_0x23baec(0x19e),'X-GitHub-Api-Version':_0x23baec(0x176)},'body':JSON[_0x23baec(0x1e7)]({'body':_0x1d2a1a['slice'](0x0,0xfa0)}),'signal':AbortSignal[_0x23baec(0x207)](0x4e20)});return _0xb71b95['status']===0xc9;}catch{return![];}}async function allInstalledRepos(){const _0x233a85=_0x2f5ce0,_0x3f85f5=githubAppJwt();if(!_0x3f85f5)return[];try{const _0x24a46b=await fetch(_0x233a85(0x111),{'headers':{'Accept':_0x233a85(0x18d),'User-Agent':_0x233a85(0x1a9),'Authorization':_0x233a85(0x190)+_0x3f85f5,'X-GitHub-Api-Version':_0x233a85(0x176)},'signal':AbortSignal[_0x233a85(0x207)](0x4e20)}),_0x5a09ef=await _0x24a46b[_0x233a85(0x131)]();if(!_0x24a46b['ok']||!Array['isArray'](_0x5a09ef))return[];const _0x312ca2=[];for(const _0x3805de of _0x5a09ef){if(typeof _0x3805de?.['id']!==_0x233a85(0x1b5))continue;const _0x427c76=await installationTokenFor(_0x3805de['id']);if(!_0x427c76)continue;const _0x58af30=await githubApi('/installation/repositories?per_page=100',_0x427c76);if(_0x58af30[_0x233a85(0x166)]!==0xc8||!_0x58af30[_0x233a85(0x131)]||typeof _0x58af30[_0x233a85(0x131)]!=='object')continue;const _0x5135e0=_0x58af30['json'][_0x233a85(0x110)];if(!Array[_0x233a85(0x150)](_0x5135e0))continue;for(const _0x2a999d of _0x5135e0){_0x2a999d&&typeof _0x2a999d===_0x233a85(0x231)&&typeof _0x2a999d[_0x233a85(0x18c)]===_0x233a85(0x22d)&&_0x312ca2[_0x233a85(0x233)](_0x2a999d[_0x233a85(0x18c)][_0x233a85(0x16e)]());}}return[...new Set(_0x312ca2)];}catch{return[];}}function githubAppJwt(){const _0x208088=_0x2f5ce0,_0x21691d=(process.env.GITHUB_APP_ID??'')[_0x208088(0x21c)]();let _0x3ca979=(process.env.GITHUB_PRIVATE_KEY??'')[_0x208088(0x21c)]();if(!_0x21691d||!_0x3ca979)return'';if(!_0x3ca979[_0x208088(0x12b)]('BEGIN'))try{_0x3ca979=(0x0,node_fs_1[_0x208088(0x158)])(_0x3ca979,'utf8');}catch{return'';}try{return(0x0,github_app_js_1[_0x208088(0x181)])(_0x21691d,_0x3ca979);}catch{return'';}}async function installationIdForOwner(_0x302f3c){const _0x2e76e7=_0x2f5ce0,_0xaf0edf=githubAppJwt();if(!_0xaf0edf)return 0x0;try{const _0x44d025=await fetch('https://api.github.com/app/installations',{'headers':{'Accept':_0x2e76e7(0x18d),'User-Agent':_0x2e76e7(0x1a9),'Authorization':_0x2e76e7(0x190)+_0xaf0edf,'X-GitHub-Api-Version':_0x2e76e7(0x176)},'signal':AbortSignal[_0x2e76e7(0x207)](0x4e20)}),_0x5aa5a9=await _0x44d025[_0x2e76e7(0x131)]();if(!_0x44d025['ok']||!Array[_0x2e76e7(0x150)](_0x5aa5a9))return 0x0;const _0x4adc16=_0x5aa5a9['find'](_0x100289=>_0x100289&&typeof _0x100289['account']?.[_0x2e76e7(0x20e)]===_0x2e76e7(0x22d)&&_0x100289['account']['login'][_0x2e76e7(0x16e)]()===_0x302f3c['toLowerCase']());return typeof _0x4adc16?.['id']===_0x2e76e7(0x1b5)?_0x4adc16['id']:0x0;}catch{return 0x0;}}async function installationTokenFor(_0x2c7a52){const _0x2e651b=_0x2f5ce0,_0x2fd1bc=githubAppJwt();if(!_0x2fd1bc||!_0x2c7a52)return'';try{const _0x4a94e5=process.env.GITHUB_API_BASE??'https://api.github.com';return await(0x0,github_app_js_1[_0x2e651b(0x235)])(_0x4a94e5,_0x2fd1bc,_0x2c7a52);}catch{return'';}}function licenseMachineId(_0x2204c8){const _0x5392c5=_0x2f5ce0;if(typeof _0x2204c8!==_0x5392c5(0x22d))return'';const _0x2e7efb=_0x2204c8[_0x5392c5(0x21c)]();return _0x2e7efb[_0x5392c5(0x14d)]>=0x4&&_0x2e7efb['length']<=0x80?_0x2e7efb:'';}async function githubApi(_0x2c7b8d,_0x576f13,_0x2cbe87=0x4e20){const _0x478864=_0x2f5ce0;try{const _0x55aea4=await fetch(_0x478864(0x21f)+_0x2c7b8d,{'headers':{'Accept':_0x478864(0x18d),'User-Agent':_0x478864(0x1a9),'Authorization':'Bearer\x20'+_0x576f13,'X-GitHub-Api-Version':_0x478864(0x176)},'signal':AbortSignal['timeout'](_0x2cbe87)});let _0x31ebee=null;try{_0x31ebee=await _0x55aea4[_0x478864(0x131)]();}catch{}return{'status':_0x55aea4[_0x478864(0x166)],'json':_0x31ebee};}catch{return{'status':0x0,'json':null};}}function clientIp(_0x5cde94){const _0x27f48e=_0x2f5ce0,_0x9f513a=_0x23e027=>(Array['isArray'](_0x23e027)?_0x23e027[0x0]:_0x23e027)?.[_0x27f48e(0x1d5)](',')[0x0]?.[_0x27f48e(0x21c)]()??'';return _0x9f513a(_0x5cde94['headers'][_0x27f48e(0x201)])||_0x9f513a(_0x5cde94['headers'][_0x27f48e(0x133)])||_0x9f513a(_0x5cde94[_0x27f48e(0x254)][_0x27f48e(0x1ef)])||_0x5cde94['socket']['remoteAddress']||'unknown';}async function runGithubJob(_0x1f9406,_0xded2dd){const _0x30996e=_0x2f5ce0,_0x2270ab=process.env.GITHUB_API_BASE??_0x30996e(0x21f),_0x1f929e=new Date()[_0x30996e(0x129)]();process[_0x30996e(0x247)][_0x30996e(0x191)](_0x30996e(0x211)+_0x1f9406[_0x30996e(0x139)]+'#'+_0x1f9406[_0x30996e(0x165)]+_0x30996e(0x216)+_0x1f929e+'\x0a');const _0x343bf4=process.env.TRAYAMBAK_GITHUB_WORKSPACE??(0x0,index_js_1[_0x30996e(0x225)])()[_0x30996e(0x21e)],_0x4c7d70=(0x0,index_js_1['loadConfig'])(),_0x1b8179={..._0x4c7d70,'cwd':_0x343bf4,'permissions':{..._0x4c7d70[_0x30996e(0x1d3)],'rulesV2':[..._0x4c7d70['permissions']?.[_0x30996e(0x1f1)]??[],{'tool':_0x30996e(0x18f),'action':_0x30996e(0x160),'reason':_0x30996e(0x185)}]}},_0x31d98b=new index_js_1['Agent']({'config':_0x1b8179}),_0x3d631d=process.env.GITHUB_APP_ID??'';let _0x5b0b61=process.env.GITHUB_PRIVATE_KEY??'';if(_0x5b0b61&&!_0x5b0b61['includes'](_0x30996e(0x196))){const _0x366a9c=await Promise['resolve']()['then'](()=>__importStar(require('node:fs')));try{_0x5b0b61=_0x366a9c['readFileSync'](_0x5b0b61,_0x30996e(0x23e));}catch{_0x5b0b61='';}}const _0x2c5503=_0xded2dd?.[_0x30996e(0x15a)],_0x36cc54=typeof _0x2c5503?.['id']===_0x30996e(0x1b5)?_0x2c5503['id']:0x0;let _0x2ee529='';if(_0x3d631d&&_0x5b0b61&&_0x36cc54)try{_0x2ee529=await(0x0,github_app_js_1[_0x30996e(0x235)])(_0x2270ab,(0x0,github_app_js_1[_0x30996e(0x181)])(_0x3d631d,_0x5b0b61),_0x36cc54);}catch(_0x401f1d){process[_0x30996e(0x247)][_0x30996e(0x191)]('[github-app]\x20installation\x20token\x20mint\x20failed:\x20'+(_0x401f1d instanceof Error?_0x401f1d[_0x30996e(0x186)]:String(_0x401f1d))+'\x0a');}let _0x2c5e63=[],_0xdbdd21='';const _0x4e2d03=[],_0x294806=[],_0x8927e7=_0x122ce9=>{const _0x189ddf=_0x30996e;try{if(_0x122ce9?.[_0x189ddf(0x1f2)]==='budget_exhausted'){_0x4e2d03[_0x189ddf(0x233)](_0x189ddf(0x255)+(typeof _0x122ce9[_0x189ddf(0x144)]===_0x189ddf(0x1b5)?_0x122ce9[_0x189ddf(0x144)]:'?')+_0x189ddf(0x21a)+(typeof _0x122ce9[_0x189ddf(0x177)]===_0x189ddf(0x1b5)?_0x122ce9[_0x189ddf(0x177)]:'?')+_0x189ddf(0x256));return;}if(_0x122ce9?.[_0x189ddf(0x1f2)]===_0x189ddf(0x22b)){const _0x3eb547=_0x122ce9['message'];if(_0x3eb547?.[_0x189ddf(0x128)]===_0x189ddf(0x1f3)&&Array[_0x189ddf(0x150)](_0x3eb547['content'])){const _0x20a67e=_0x3eb547['content'][_0x189ddf(0x22a)](_0x245a31=>!!_0x245a31&&typeof _0x245a31===_0x189ddf(0x231)&&_0x245a31[_0x189ddf(0x1f2)]===_0x189ddf(0x1d7))[_0x189ddf(0x1a2)](_0x189214=>_0x189214['text'])['join']('\x0a')[_0x189ddf(0x21c)]();if(_0x20a67e)_0x4e2d03[_0x189ddf(0x233)](_0x20a67e);}if(_0x3eb547?.[_0x189ddf(0x17c)]===_0x189ddf(0x1c0)&&Array[_0x189ddf(0x150)](_0x3eb547[_0x189ddf(0x124)])){const _0x10641f=_0x3eb547[_0x189ddf(0x124)]['filter'](_0xfc9b19=>!!_0xfc9b19&&typeof _0xfc9b19===_0x189ddf(0x231)&&_0xfc9b19[_0x189ddf(0x1f2)]===_0x189ddf(0x1d7))[_0x189ddf(0x1a2)](_0x12857f=>_0x12857f[_0x189ddf(0x1d7)])[_0x189ddf(0x1eb)]('\x0a');_0x10641f&&/fail|error|denied|not found|404|401|403|refus/i[_0x189ddf(0x1f9)](_0x10641f)&&_0x294806['push'](_0x10641f['slice'](0x0,0x12c));}}}catch{}};try{const _0x362771=process.env.GITHUB_TOKEN;if(_0x2ee529)process.env.GITHUB_TOKEN=_0x2ee529;const _0x3919df=(0x0,github_app_js_1[_0x30996e(0x12e)])(_0xded2dd);try{_0x2c5e63=await _0x31d98b[_0x30996e(0x147)](_0x30996e(0x1ca)+_0x1f9406[_0x30996e(0x139)]+(_0x1f9406[_0x30996e(0x1b2)]?_0x30996e(0x23b):'\x20(issue')+'\x20#'+_0x1f9406[_0x30996e(0x165)]+'):\x0a'+_0x1f9406[_0x30996e(0x20d)]+_0x30996e(0x10a)+(_0x3919df?_0x30996e(0x127)+_0x3919df:''),_0x8927e7);}finally{if(_0x2ee529){if(_0x362771===undefined)delete process.env.GITHUB_TOKEN;else process.env.GITHUB_TOKEN=_0x362771;}}}catch(_0x55ae8b){_0xdbdd21=_0x55ae8b instanceof Error?_0x55ae8b[_0x30996e(0x186)]:String(_0x55ae8b);}const _0xef0611=(0x0,github_app_js_1[_0x30996e(0x1e3)])(_0x2c5e63,_0xdbdd21,_0x4e2d03);(0x0,github_jobs_js_1[_0x30996e(0x1f0)])({'repo':_0x1f9406[_0x30996e(0x139)],'issue':_0x1f9406[_0x30996e(0x165)],'task':_0x1f9406[_0x30996e(0x20d)],'messages':_0x2c5e63['length'],'replyHead':_0xef0611,..._0xdbdd21?{'error':_0xdbdd21}:{}});const _0x445143=_0x2c5e63[_0x30996e(0x1a2)](_0x25e5bc=>{const _0x1b4631=_0x30996e,_0xfc9de2=Array[_0x1b4631(0x150)](_0x25e5bc[_0x1b4631(0x124)])?_0x25e5bc[_0x1b4631(0x124)]['map'](_0x58227b=>_0x58227b?.[_0x1b4631(0x1f2)]??'?')['join']('+'):typeof _0x25e5bc['content'];return(_0x25e5bc[_0x1b4631(0x17c)]??'?')+'['+_0xfc9de2+']';})[_0x30996e(0x1eb)]('\x20');process['stdout'][_0x30996e(0x191)](_0x30996e(0x211)+_0x1f9406[_0x30996e(0x139)]+'#'+_0x1f9406['issueNumber']+'\x20finished\x20('+_0x2c5e63[_0x30996e(0x14d)]+_0x30996e(0x20a)+(_0x445143||_0x30996e(0x236))+(_0xdbdd21?_0x30996e(0x1bb)+_0xdbdd21['slice'](0x0,0xc8):'')+(_0x294806['length']>0x0?_0x30996e(0x204)+_0x294806[_0x30996e(0x1eb)](_0x30996e(0x1a8))['slice'](0x0,0x258):'')+')\x0a');if(!_0x3d631d||!_0x5b0b61||!_0x36cc54||!_0x2ee529)return process['stdout']['write'](_0x30996e(0x240)+_0xef0611+'\x0a---\x20end\x20---\x0a'),_0xef0611;const {owner:_0x4c0679,repo:_0x10ad48}=(0x0,github_app_js_1[_0x30996e(0x13b)])(_0x1f9406[_0x30996e(0x139)]),_0x29334d=_0xef0611[_0x30996e(0x14d)]>0xea60?_0xef0611[_0x30996e(0x143)](0x0,0xea60)+'\x0a\x0a…(truncated,\x20full\x20log\x20on\x20the\x20VPS)':_0xef0611;return await(0x0,github_app_js_1[_0x30996e(0x14e)])({'apiBase':_0x2270ab,'token':_0x2ee529},_0x4c0679,_0x10ad48,_0x1f9406[_0x30996e(0x165)],_0x30996e(0x24d)+_0x29334d),process[_0x30996e(0x247)][_0x30996e(0x191)](_0x30996e(0x211)+_0x1f9406['repoFullName']+'#'+_0x1f9406[_0x30996e(0x165)]+_0x30996e(0x1de)),_0xef0611;}function _0xc751(){const _0x2d5d79=['record','string','plan\x20must\x20be\x20basic|pentest|pro|enterprise','allowed','resolve','object','__setModuleDefault','push','triaged','createInstallationToken','none','hasOwnProperty','has','Logged\x20in\x20as\x20<b>','signal','\x20(pull\x20request','trial\x20mint\x20failed:\x20','defineProperty','utf8','./license-store.js','[github-app]\x20job\x20done\x20but\x20no\x20reply\x20channel\x20(need\x20GITHUB_APP_ID\x20+\x20GITHUB_PRIVATE_KEY\x20+\x20installation\x20id\x20+\x20token\x20mint).\x0a---\x20result\x20---\x0a','Record\x20pentest\x20tool\x20usage\x20(public,\x20licensed)','code','model','defaultOAuthPath','Authorization\x20failed','./github-jobs.js','stdout','crypto','Windows\x20one-line\x20installer\x20(public)','NaN','license\x20invalid','/auth/github/callback','##\x20Trayambak\x20result\x0a\x0a','this\x20machine\x20already\x20has\x20a\x20live\x20trial\x20—\x20ask\x20SKT\x20for\x20a\x20full\x20key','::1','./install-ps1.js','ignored','consumeState','body\x20too\x20large\x20(max\x201MB)','headers','Budget\x20exhausted\x20(used\x20',')\x20—\x20the\x20run\x20stopped\x20before\x20the\x20model\x20was\x20called.','defaultTriageComment','created_at','/license/usage','Server\x20misconfigured','target','3.0.0','touch','trayambak\x20server\x20listening\x20on\x20http://','abort','exp','\x0a\x0aYou\x20have\x20repo\x20access\x20via\x20the\x20github\x20tool\x20(GITHUB_TOKEN\x20is\x20set\x20for\x20this\x20run)\x20—\x20read\x20the\x20actual\x20issue/PR\x20first\x20(read_issue),\x20never\x20claim\x20access\x20errors\x20without\x20trying\x20the\x20tool.\x20If\x20the\x20tool\x20says\x20Not\x20Found\x20on\x20the\x20repository\x20itself,\x20the\x20App\x20is\x20not\x20installed\x20there:\x20tell\x20the\x20user\x20to\x20install\x20it\x20(GitHub\x20App\x20settings\x20→\x20Install\x20App\x20→\x20that\x20repository)\x20instead\x20of\x20guessing\x20further.','GET','repo\x20must\x20be\x20owner/name','body','autofixTick','Tail\x20pentest\x20usage\x20telemetry\x20(bearer-gated)','repositories','https://api.github.com/app/installations','origin','unref','/admin','ran','revoked','../../../apps/runtime/src/license.js','trial','resolveCors','/webhooks/github','../../../apps/runtime/src/index.js','days\x20must\x20be\x201..3650','Run\x20agent\x20(SSE)','/license/verify','/comments?per_page=20','activate','/admin/import','port','</b>.\x20Return\x20to\x20the\x20CLI\x20—\x20it\x20picks\x20this\x20up\x20automatically.','content','licenseUsagePath','OPTIONS','\x0a\x0aContext\x20from\x20GitHub:\x0a','stopReason','toISOString','0:0:0:0:0:0:0:1','includes','text/event-stream','133afLdQn','describeGithubThread','unbind','searchParams','json','unknown\x20license\x20id','x-forwarded-for','&state=','byteLength','0.6.2','</p></body></html>','host','repoFullName','toString','splitRepo','token','stderr','/admin/usage','OPENAPI_SPEC','HTTP\x20','prototype','create','slice','used','usageFile','valid','run','activationCheckKey','get','../../session-backends/src/transcript.js','isFinite','now','length','postIssueComment','reason','isArray','bad\x20signature','/admin/revoke','boundMachineId','3322aZGJie','enterprise','getOwnPropertyDescriptor','Health\x20check','readFileSync','GitHub\x20login\x20required\x20—\x20run\x20/github\x20login\x20first','installation','destroyed','repo','hex','492276WZVfSH','./github-autofix.js','allow','http://localhost','Free\x20a\x20license\x27s\x20machine\x20binding\x20(bearer-gated)','36120voEEbW','error_description','issueNumber','status','defaultLicenseStorePaths','List\x20transcripts','then','access_token','Register\x20a\x20pre-existing\x20code\x20(bearer-gated)','createTelemetry','</h1><p>','toLowerCase','randomBytes','plan','end','GitHub:\x20','List\x20models','127.0.0.1','githubOAuthPath','2022-11-28','max','concat','too\x20many\x20login\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later','number\x20must\x20be\x20a\x20positive\x20issue/PR\x20number','[github-app]\x20job\x20failed:\x20','role','./github-app.js','\x20label=','machineId','licenseStorePath','createAppJwt','html_url',').\x20Run\x20/github\x20login\x20again.','checked','GitHub\x20App\x20job:\x20comment-authorized,\x20installation-token\x20scoped','message','timingSafeEqual','/user','/license/activate','origin\x20not\x20allowed','/repos/','full_name','application/vnd.github+json','/auth/github/logout','github','Bearer\x20','write','data:\x20[DONE]\x0a\x0a','title','/v1/agent','-…-','BEGIN','comments','10FngYnb','invalid\x20JSON','__esModule','<body><h1>','unauthorized','29VQnDAB','application/json','data','entries','missing\x20machineId/tool','map','[github-autofix]\x20watching\x20','capture','OpenAPI\x20spec','data:\x20','/v1/models','\x20||\x20','trayambak','storeToken','min','/comments','[github-autofix]\x20idle\x20(GITHUB_AUTOFIX_REPOS\x20unset)\x0a','Tail\x20GitHub\x20job\x20history\x20(bearer-gated)','/license/mint-trial','appendUsage','This\x20link\x20is\x20expired\x20or\x20already\x20used\x20(10-minute,\x20single-use).\x20Run\x20/github\x20login\x20in\x20the\x20CLI\x20again\x20for\x20a\x20fresh\x20one.','isPullRequest','__createBinding','github-user','number','webhooks\x20disabled\x20(GITHUB_WEBHOOK_SECRET\x20unset)','url','tail=','no-cache','\x20every\x20',',\x20error:\x20','<!doctype\x20html>\x0a<html\x20lang=\x22en\x22><head><meta\x20charset=\x22utf-8\x22><meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,initial-scale=1\x22>\x0a<title>Trayambak\x20—\x20license\x20generator</title>\x0a<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem;color:#111}label{display:block;margin:1rem\x200\x20.25rem;font-weight:600}input,select,button{font-size:1rem;padding:.5rem;width:100%;box-sizing:border-box}button{margin-top:1.25rem;background:#111;color:#fff;border:0;cursor:pointer}#out{margin-top:1.5rem;padding:1rem;background:#f4f4f4;word-break:break-all;display:none;font-family:monospace;font-size:1.2rem}#err{color:#b00;margin-top:1rem}pre{background:#f4f4f4;padding:1rem;overflow:auto;font-size:.8rem}</style>\x0a</head><body>\x0a<h1>Trayambak\x20license\x20generator</h1>\x0a<p>Bearer\x20token\x20is\x20asked\x20once\x20per\x20session\x20and\x20never\x20stored.\x20Minted\x20codes\x20are\x2016\x20letters,\x20always\x20<b>1102-…</b>,\x20verified\x20<b>live\x20by\x20this\x20server</b>\x20(registry\x20+\x201-machine\x20binding).</p>\x0a<p>Users\x20self-serve\x20a\x207-day\x20trial\x20from\x20the\x20TUI\x20(<b>/devmode\x20trial</b>\x20—\x201\x20live\x20trial\x20per\x20machine,\x20born\x20bound,\x205/hour\x20per\x20network).\x20Paid\x20keys\x20come\x20from\x20Mint\x20below.\x20Exploitation?\x20Find\x20the\x20key\x20id\x20in\x20<b>Usage</b>,\x20paste\x20it\x20under\x20<b>Revoke</b>\x20—\x20dead\x20in\x20one\x20click,\x20everywhere.</p>\x0a<label>Bearer\x20token\x20(TRAYAMBAK_WEB_TOKEN)<input\x20id=\x22token\x22\x20type=\x22password\x22\x20autocomplete=\x22off\x22></label>\x0a<label>Plan<select\x20id=\x22plan\x22><option\x20value=\x22pentest\x22>pentest</option><option\x20value=\x22pro\x22>pro</option><option\x20value=\x22enterprise\x22>enterprise</option><option\x20value=\x22basic\x22>basic</option></select></label>\x0a<label>Days\x20valid<input\x20id=\x22days\x22\x20type=\x22number\x22\x20value=\x22365\x22\x20min=\x221\x22\x20max=\x223650\x22></label>\x0a<label>Customer\x20id\x20(optional)<input\x20id=\x22cid\x22\x20type=\x22text\x22\x20placeholder=\x22acme-corp\x22></label>\x0a<button\x20id=\x22go\x22>Mint\x20license</button>\x0a<div\x20id=\x22err\x22></div>\x0a<div\x20id=\x22out\x22></div>\x0a<h2>Register\x20a\x20pre-existing\x20code</h2>\x0a<p>Legacy/offline-era\x20keys\x20must\x20be\x20imported\x20once\x20before\x20their\x20holders\x20can\x20activate\x20them.</p>\x0a<label>Code\x20to\x20import<input\x20id=\x22imp\x22\x20type=\x22text\x22\x20placeholder=\x221102-XXXX-XXXX-XXXX\x22></label>\x0a<label>Customer\x20id\x20(optional)<input\x20id=\x22impcid\x22\x20type=\x22text\x22></label>\x0a<button\x20id=\x22goimp\x22>Import\x20code</button>\x0a<h2>Licenses</h2>\x0a<button\x20id=\x22golist\x22>Refresh\x20list</button>\x0a<pre\x20id=\x22list\x22></pre>\x0a<h2>Usage\x20(latest\x20100)</h2>\x0a<button\x20id=\x22gouse\x22>Refresh\x20usage</button>\x0a<pre\x20id=\x22use\x22></pre>\x0a<h2>Revoke\x20/\x20unbind\x20by\x20id</h2>\x0a<label>License\x20id<input\x20id=\x22lid\x22\x20type=\x22text\x22></label>\x0a<button\x20id=\x22gorev\x22>Revoke</button>\x0a<button\x20id=\x22gounb\x22>Unbind\x20machine</button>\x0a<script>\x0aconst\x20auth\x20=\x20()\x20=>\x20({\x20\x22Content-Type\x22:\x20\x22application/json\x22,\x20\x22Authorization\x22:\x20\x22Bearer\x20\x22\x20+\x20document.getElementById(\x22token\x22).value\x20});\x0aconst\x20show\x20=\x20(el,\x20v)\x20=>\x20{\x20const\x20e\x20=\x20document.getElementById(el);\x20e.textContent\x20=\x20typeof\x20v\x20===\x20\x22string\x22\x20?\x20v\x20:\x20JSON.stringify(v,\x20null,\x202);\x20e.style.display\x20=\x20\x22block\x22;\x20};\x0adocument.getElementById(\x22go\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20err\x20=\x20document.getElementById(\x22err\x22),\x20out\x20=\x20document.getElementById(\x22out\x22);\x0a\x20\x20err.textContent\x20=\x20\x22\x22;\x20out.style.display\x20=\x20\x22none\x22;\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/mint\x22,\x20{\x20method:\x20\x22POST\x22,\x0a\x20\x20\x20\x20\x20\x20headers:\x20auth(),\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify({\x20plan:\x20document.getElementById(\x22plan\x22).value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20days:\x20Number(document.getElementById(\x22days\x22).value),\x0a\x20\x20\x20\x20\x20\x20\x20\x20id:\x20document.getElementById(\x22cid\x22).value\x20||\x20undefined\x20})\x20});\x0a\x20\x20\x20\x20const\x20j\x20=\x20await\x20r.json();\x0a\x20\x20\x20\x20if\x20(!r.ok)\x20throw\x20new\x20Error(j.error\x20||\x20(\x22HTTP\x20\x22\x20+\x20r.status));\x0a\x20\x20\x20\x20out.textContent\x20=\x20j.key;\x20out.style.display\x20=\x20\x22block\x22;\x0a\x20\x20}\x20catch\x20(e)\x20{\x20err.textContent\x20=\x20String((e\x20&&\x20e.message)\x20||\x20e);\x20}\x0a};\x0adocument.getElementById(\x22goimp\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20err\x20=\x20document.getElementById(\x22err\x22);\x0a\x20\x20err.textContent\x20=\x20\x22\x22;\x0a\x20\x20try\x20{\x0a\x20\x20\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/import\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20\x20\x20body:\x20JSON.stringify({\x20key:\x20document.getElementById(\x22imp\x22).value,\x0a\x20\x20\x20\x20\x20\x20\x20\x20customer:\x20document.getElementById(\x22impcid\x22).value\x20||\x20undefined\x20})\x20});\x0a\x20\x20\x20\x20const\x20j\x20=\x20await\x20r.json();\x0a\x20\x20\x20\x20if\x20(!r.ok)\x20throw\x20new\x20Error(j.error\x20||\x20(\x22HTTP\x20\x22\x20+\x20r.status));\x0a\x20\x20\x20\x20show(\x22out\x22,\x20\x22imported\x20id\x20\x22\x20+\x20j.id\x20+\x20\x22\x20(\x22\x20+\x20j.plan\x20+\x20\x22)\x22);\x0a\x20\x20}\x20catch\x20(e)\x20{\x20err.textContent\x20=\x20String((e\x20&&\x20e.message)\x20||\x20e);\x20}\x0a};\x0adocument.getElementById(\x22golist\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/licenses\x22,\x20{\x20headers:\x20auth()\x20});\x0a\x20\x20show(\x22list\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gouse\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/usage?tail=100\x22,\x20{\x20headers:\x20auth()\x20});\x0a\x20\x20show(\x22use\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gorev\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/revoke\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20body:\x20JSON.stringify({\x20id:\x20document.getElementById(\x22lid\x22).value\x20})\x20});\x0a\x20\x20show(\x22out\x22,\x20await\x20r.json());\x0a};\x0adocument.getElementById(\x22gounb\x22).onclick\x20=\x20async\x20()\x20=>\x20{\x0a\x20\x20const\x20r\x20=\x20await\x20fetch(\x22/admin/unbind\x22,\x20{\x20method:\x20\x22POST\x22,\x20headers:\x20auth(),\x0a\x20\x20\x20\x20body:\x20JSON.stringify({\x20id:\x20document.getElementById(\x22lid\x22).value\x20})\x20});\x0a\x20\x20show(\x22out\x22,\x20await\x20r.json());\x0a};\x0a</script>\x0a</body></html>','sessionFile','Trayambak\x20Agent\x20API','/issues/','tool','mintActivationKey','default','too\x20many\x20trial\x20requests\x20from\x20this\x20network\x20—\x20try\x20again\x20later','function','/auth/github/status','/api/sessions','License\x20generator\x20UI\x20(SKT\x20operators)','prompt','INSTALL_PS1','GitHub\x20request\x20in\x20','mint\x20failed:\x20','../../telemetry/src/index.js','readUsageTail','verifyWebhookSignature','527560QzMKOs','/admin/unbind','parseAutofixRepos','Read\x20an\x20issue\x20+\x20comments\x20with\x20the\x20stored\x20user\x20token\x20(public,\x20logged-in)','permissions','Authorized','split','all','text','set','user','days','catch',',\x20triaged\x20','defaultAutofixLedgerPath','\x20replied\x0a','/install.ps1','writableEnded','/admin/licenses','checkPentestOnly','selectJobReply','logout','writeHead','lastSeenAt','stringify','text/html;\x20charset=utf-8','setHeader','GitHubOAuthStore','join','key','customer','pentest','x-real-ip','recordJob','rulesV2','type','error','/github/read','/admin/mint','listTranscripts','kind','not\x20found','test','/auth/github/start','parse','generated\x20bearer\x20token\x20(set\x20TRAYAMBAK_WEB_TOKEN\x20to\x20avoid\x20this):\x20','./github-oauth.js','</title>','method','close','cf-connecting-ip','file','createdAt',',\x20toolDiags:\x20','missing\x20machineId','/health','timeout','state','Begin\x20CLI\x20GitHub\x20login,\x20returns\x20browser\x20URL\x20(public,\x20rate-limited)','\x20messages:\x20','basic','POST','task','login','text/plain;\x20charset=utf-8','GitHub\x20unreachable\x20from\x20the\x20license\x20server','[github-app]\x20job\x20','floor','Self-service\x207-day\x20trial,\x201/machine\x20(public,\x20rate-limited)','https://github.com/login/oauth/access_token','getOwnPropertyNames','\x20started\x20at\x20','[github-autofix]\x20tick:\x20checked\x20','register','933705WTBcAX','\x20of\x20','localhost','trim',',\x20ran\x20','cwd','https://api.github.com','LicenseStore','missing\x20\x27prompt\x27','Agent','876390IcLtiv','job','loadConfig','<style>body{font-family:system-ui,sans-serif;max-width:560px;margin:3rem\x20auto;padding:0\x201rem}</style></head>','writable','destroy','507552zpSimV','filter','message_end'];_0xc751=function(){return _0x2d5d79;};return _0xc751();}
|
|
1
|
+
'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 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
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 +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
|
|
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 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
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 +1 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this['__createBinding']||(Object['create']?function(
|
|
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 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NullTelemetry']=exports['ConsoleTelemetry']=void 0x0,exports['createTelemetry']=createTelemetry,exports['isTelemetryDisabled']=isTelemetryDisabled;const secrets_js_1=require('../../core/src/secrets.js'),DEBUG_DETAIL_CAP=0x7d0;function redactedDetail(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['NullTelemetry']=exports['ConsoleTelemetry']=void 0x0,exports['createTelemetry']=createTelemetry,exports['isTelemetryDisabled']=isTelemetryDisabled;const secrets_js_1=require('../../core/src/secrets.js'),DEBUG_DETAIL_CAP=0x7d0;function redactedDetail(_0x39d030){const _0x386723={..._0x39d030};delete _0x386723['type'];try{const _0x44647e=JSON['stringify']((0x0,secrets_js_1['redactPayload'])(_0x386723));if(_0x44647e===undefined)return'';return'\x20'+(_0x44647e['length']>DEBUG_DETAIL_CAP?_0x44647e['slice'](0x0,DEBUG_DETAIL_CAP)+'…':_0x44647e);}catch{return'\x20[unserializable]';}}class ConsoleTelemetry{['id']='console';['count']=0x0;['capture'](_0xa965f3){this['count']++;if(isTelemetryDisabled())return;process.env.TRAYAMBAK_TELEMETRY==='debug'&&process['stderr']['write']('[telemetry]\x20'+_0xa965f3['type']+redactedDetail(_0xa965f3)+'\x0a');}['flush'](){process['stderr']['write']('[telemetry]\x20captured\x20'+this['count']+'\x20events\x0a');}}exports['ConsoleTelemetry']=ConsoleTelemetry;class NullTelemetry{['id']='null';['capture'](_0x3ecf47){}['flush'](){}}exports['NullTelemetry']=NullTelemetry;function createTelemetry(_0x5ce57a=![]){if(isTelemetryDisabled())return new NullTelemetry();return _0x5ce57a?new ConsoleTelemetry():new NullTelemetry();}function isTelemetryDisabled(){const _0x5482e0=(process.env.TRAYAMBAK_TELEMETRY??'')['trim']()['toLowerCase']();return _0x5482e0==='0'||_0x5482e0==='false'||_0x5482e0==='off'||_0x5482e0==='no';}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['AppState']=void 0x0;const chat_widget_1=require('../chatwidget/chat-widget'),composer_1=require('../bottom_pane/composer');class AppState{['tui'];['cwd'];['chatWidget'];['composer'];['exitInfo']=null;['pendingToolCalls']=new Map();['totalTokens']=0x0;constructor(
|
|
1
|
+
'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['AppState']=void 0x0;const chat_widget_1=require('../chatwidget/chat-widget'),composer_1=require('../bottom_pane/composer');class AppState{['tui'];['cwd'];['chatWidget'];['composer'];['exitInfo']=null;['pendingToolCalls']=new Map();['totalTokens']=0x0;constructor(_0x21ce98){this['tui']=_0x21ce98['tui'],this['cwd']=_0x21ce98['cwd']??process['cwd']();const _0x505f57=this['tui']['getSize'](),_0x1ff32f={'x':0x0,'y':0x0,'width':_0x505f57['width'],'height':_0x505f57['height']-0x3},_0x4c7ee0={'x':0x0,'y':_0x505f57['height']-0x3,'width':_0x505f57['width'],'height':0x3};this['chatWidget']=new chat_widget_1['ChatWidget']({'tui':this['tui'],'rect':_0x1ff32f}),this['composer']=new composer_1['Composer']({'tui':this['tui'],'rect':_0x4c7ee0});}['getChatWidget'](){return this['chatWidget'];}['getComposer'](){return this['composer'];}['handleEvent'](_0x4fb01e){switch(_0x4fb01e['type']){case'Init':this['render']();break;case'Render':this['render']();break;case'ResizeEvent':this['layout'](_0x4fb01e['width'],_0x4fb01e['height']),this['render']();break;case'KeyEvent':this['handleKey'](_0x4fb01e['key'],_0x4fb01e['code'],_0x4fb01e['modifiers']);break;case'UserInputEvent':this['handleUserInput'](_0x4fb01e['text']);break;case'ThreadStartedEvent':this['chatWidget']['addMessage']({'role':'assistant','content':'Trayambak\x20agent\x20started...'}),this['render']();break;case'AgentMessageDeltaEvent':this['chatWidget']['appendToLastMessage'](_0x4fb01e['delta']),this['render']();break;case'AgentMessageCompletedEvent':this['totalTokens']+=this['estimateTokens'](),this['render']();break;case'ToolCallStarted':this['chatWidget']['toolCallStarted'](_0x4fb01e['toolName'],_0x4fb01e['args']),this['render']();break;case'ToolCallCompleted':this['chatWidget']['toolCallCompleted'](_0x4fb01e['toolName'],_0x4fb01e['result'],_0x4fb01e['error']),this['render']();break;case'NotificationEvent':this['showNotification'](_0x4fb01e['notification']);break;case'Exit':this['exitInfo']={'exitReason':{'kind':_0x4fb01e['mode'],'message':undefined},'tokenUsage':{'totalTokens':this['totalTokens']}},this['tui']['exit']();break;case'Shutdown':this['tui']['exit']();break;default:break;}}['handleKey'](_0x42fc15,_0x28422a,_0x2f7682){if(_0x42fc15==='q'||_0x42fc15==='\x03')this['handleEvent']({'type':'Exit','mode':'user_requested'});else{if(_0x42fc15==='\x0d'||_0x42fc15==='\x0a'){const _0x3a2819=this['composer']['getInput']();_0x3a2819&&(this['handleEvent']({'type':'UserInputEvent','text':_0x3a2819}),this['composer']['reset']());}else{if(_0x42fc15==='\x7f'||_0x42fc15==='\x08')this['composer']['backspace'](),this['render']();else _0x42fc15['length']===0x1&&_0x42fc15>='\x20'&&_0x42fc15<='~'&&this['composer']['appendChar'](_0x42fc15);}}}['handleUserInput'](_0x4f384c){_0x4f384c['startsWith']('/')?this['handleSlashCommand'](_0x4f384c):(this['chatWidget']['addMessage']({'role':'user','content':_0x4f384c}),this['render']());}['handleSlashCommand'](_0x487e99){const _0x1b83e6=_0x487e99['slice'](0x1)['split']('\x20'),_0x5c5430=_0x1b83e6[0x0],_0x2f9a7b=_0x1b83e6['slice'](0x1)['join']('\x20');this['handleEvent']({'type':'SlashCommandEvent','command':_0x5c5430,'args':_0x2f9a7b});}['showNotification'](_0x3317b0){const _0x38f4c7={'info':'\x1b[36m','warning':'\x1b[33m','error':'\x1b[31m'},_0x606617=_0x38f4c7[_0x3317b0['level']]??'\x1b[0m',{width:_0x71fda2}=this['tui']['getSize'](),_0xb97b83='\x20'['repeat'](_0x71fda2);this['tui']['write']('\x1b['+_0x71fda2+';1H'+_0x606617+_0x3317b0['title']+':\x20'+_0x3317b0['body']+'\x1b[0m'),this['tui']['write']('\x1b['+_0x71fda2+';1H'+_0xb97b83);}['layout'](_0x525b25,_0x1c5caa){const _0x6bcbfe={'x':0x0,'y':0x0,'width':_0x525b25,'height':_0x1c5caa-0x3},_0x20c160={'x':0x0,'y':_0x1c5caa-0x3,'width':_0x525b25,'height':0x3};this['chatWidget']['setRect'](_0x6bcbfe),this['composer']['setRect'](_0x20c160);}['render'](){this['tui']['clear'](),this['chatWidget']['render'](),this['composer']['render']();}['estimateTokens'](){const _0x1958cb=this['chatWidget']['getMessages']();let _0x239c64=0x0;for(const _0x2ef7a3 of _0x1958cb){_0x239c64+=Math['ceil'](_0x2ef7a3['content']['length']/0x4);}return _0x239c64;}['getExitInfo'](){return this['exitInfo'];}['getTotalTokens'](){return this['totalTokens'];}['getCwd'](){return this['cwd'];}['setExitInfo'](_0x3db47c){this['exitInfo']=_0x3db47c;}['exit'](_0x4f5592='normal'){this['exitInfo']={'exitReason':{'kind':_0x4f5592},'tokenUsage':{'totalTokens':this['totalTokens']}},this['tui']['exit']();}}exports['AppState']=AppState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';function _0x5a92(_0x17085b,_0x391b88){_0x17085b=_0x17085b-0x1d4;var _0xca97dd=_0xca97();var _0x5a921f=_0xca97dd[_0x17085b];return _0x5a921f;}function _0xca97(){var _0x2f098d=['10rDXVvE','57876baEzPS','1926QPmNuI','2343BTVsFC','4yiDtTy','9879025lPWfxw','9292388aktFop','562644GqoKkZ','29295JsDjFi','5861620VSPoAY','925968UZBoWo','3dswtLD','8egekBD'];_0xca97=function(){return _0x2f098d;};return _0xca97();}(function(_0x172a73,_0x1333de){var _0x27a5f0=_0x5a92,_0x2f5d28=_0x172a73();while(!![]){try{var _0x439833=-parseInt(_0x27a5f0(0x1de))/0x1*(parseInt(_0x27a5f0(0x1d7))/0x2)+-parseInt(_0x27a5f0(0x1d8))/0x3*(-parseInt(_0x27a5f0(0x1d6))/0x4)+-parseInt(_0x27a5f0(0x1d5))/0x5*(-parseInt(_0x27a5f0(0x1dc))/0x6)+-parseInt(_0x27a5f0(0x1e0))/0x7*(-parseInt(_0x27a5f0(0x1d9))/0x8)+parseInt(_0x27a5f0(0x1d4))/0x9*(-parseInt(_0x27a5f0(0x1da))/0xa)+-parseInt(_0x27a5f0(0x1dd))/0xb*(parseInt(_0x27a5f0(0x1db))/0xc)+-parseInt(_0x27a5f0(0x1df))/0xd;if(_0x439833===_0x1333de)break;else _0x2f5d28['push'](_0x2f5d28['shift']());}catch(_0x123449){_0x2f5d28['push'](_0x2f5d28['shift']());}}}(_0xca97,0xed4b0));Object['defineProperty'](exports,'__esModule',{'value':!![]});
|