@companyhelm/cli 0.0.11 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -31
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +6 -55
- package/dist/commands/dependencies.d.ts +9 -0
- package/dist/commands/dependencies.js +82 -0
- package/dist/commands/down.d.ts +3 -0
- package/dist/commands/down.js +5 -0
- package/dist/commands/logs.d.ts +3 -0
- package/dist/commands/logs.js +9 -0
- package/dist/commands/register-commands.d.ts +3 -0
- package/dist/commands/register-commands.js +15 -14
- package/dist/commands/reset.d.ts +3 -0
- package/dist/commands/reset.js +12 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.js +3 -30
- package/dist/commands/up.d.ts +3 -0
- package/dist/commands/up.js +5 -0
- package/dist/core/bootstrap/DeploymentBootstrapper.d.ts +9 -0
- package/dist/core/bootstrap/DeploymentBootstrapper.js +101 -0
- package/dist/core/bootstrap/SeedSqlRenderer.d.ts +12 -0
- package/dist/core/bootstrap/SeedSqlRenderer.js +26 -0
- package/dist/core/docker/ComposeTemplateRenderer.d.ts +14 -0
- package/dist/core/docker/ComposeTemplateRenderer.js +24 -0
- package/dist/core/docker/DockerStackManager.d.ts +14 -0
- package/dist/core/docker/DockerStackManager.js +102 -0
- package/dist/core/logs/LogsService.d.ts +5 -0
- package/dist/core/logs/LogsService.js +13 -0
- package/dist/core/process/CommandRunner.d.ts +4 -0
- package/dist/core/process/CommandRunner.js +43 -0
- package/dist/core/runner/RunnerSupervisor.d.ts +17 -0
- package/dist/core/runner/RunnerSupervisor.js +45 -0
- package/dist/core/runtime/ImageCatalog.d.ts +8 -0
- package/dist/core/runtime/ImageCatalog.js +9 -0
- package/dist/core/runtime/PortAllocator.d.ts +9 -0
- package/dist/core/runtime/PortAllocator.js +20 -0
- package/dist/core/runtime/RuntimePaths.d.ts +12 -0
- package/dist/core/runtime/RuntimePaths.js +31 -0
- package/dist/core/runtime/RuntimeState.d.ts +24 -0
- package/dist/core/runtime/RuntimeState.js +1 -0
- package/dist/core/runtime/RuntimeStateStore.d.ts +9 -0
- package/dist/core/runtime/RuntimeStateStore.js +52 -0
- package/dist/core/runtime/Secrets.d.ts +10 -0
- package/dist/core/runtime/Secrets.js +26 -0
- package/dist/core/status/StatusService.d.ts +12 -0
- package/dist/core/status/StatusService.js +18 -0
- package/dist/core/ui/TerminalRenderer.d.ts +7 -0
- package/dist/core/ui/TerminalRenderer.js +23 -0
- package/dist/templates/docker-compose.yaml.tpl +48 -0
- package/dist/templates/seed.sql.tpl +57 -0
- package/package.json +16 -29
- package/src/templates/docker-compose.yaml.tpl +48 -0
- package/src/templates/seed.sql.tpl +57 -0
- package/LICENSE +0 -21
- package/RUNTIME_IMAGE_VERSION +0 -1
- package/dist/commands/global-options.js +0 -20
- package/dist/commands/root.js +0 -2501
- package/dist/commands/runner/common.js +0 -18
- package/dist/commands/runner/register-runner-commands.js +0 -12
- package/dist/commands/runner/start.js +0 -30
- package/dist/commands/runner/stop.js +0 -55
- package/dist/commands/sdk/codex/auth.js +0 -200
- package/dist/commands/sdk/codex/register-codex-sdk-commands.js +0 -12
- package/dist/commands/sdk/codex/use-dedicated-auth.js +0 -18
- package/dist/commands/sdk/codex/use-host-auth.js +0 -19
- package/dist/commands/sdk/list.js +0 -76
- package/dist/commands/sdk/refresh-models.js +0 -25
- package/dist/commands/sdk/register-sdk-commands.js +0 -14
- package/dist/commands/shell.js +0 -90
- package/dist/commands/startup.js +0 -137
- package/dist/commands/thread/docker.js +0 -77
- package/dist/commands/thread/list.js +0 -37
- package/dist/commands/thread/register-thread-commands.js +0 -12
- package/dist/config.js +0 -105
- package/dist/generated/codex-app-server/AbsolutePathBuf.js +0 -3
- package/dist/generated/codex-app-server/AddConversationListenerParams.js +0 -3
- package/dist/generated/codex-app-server/AddConversationSubscriptionResponse.js +0 -3
- package/dist/generated/codex-app-server/AgentMessageContent.js +0 -3
- package/dist/generated/codex-app-server/AgentMessageContentDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentMessageDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentMessageEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentMessageItem.js +0 -3
- package/dist/generated/codex-app-server/AgentReasoningDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentReasoningEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentReasoningRawContentDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentReasoningRawContentEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentReasoningSectionBreakEvent.js +0 -3
- package/dist/generated/codex-app-server/AgentStatus.js +0 -3
- package/dist/generated/codex-app-server/ApplyPatchApprovalParams.js +0 -3
- package/dist/generated/codex-app-server/ApplyPatchApprovalRequestEvent.js +0 -3
- package/dist/generated/codex-app-server/ApplyPatchApprovalResponse.js +0 -3
- package/dist/generated/codex-app-server/ArchiveConversationParams.js +0 -3
- package/dist/generated/codex-app-server/ArchiveConversationResponse.js +0 -3
- package/dist/generated/codex-app-server/AskForApproval.js +0 -3
- package/dist/generated/codex-app-server/AuthMode.js +0 -3
- package/dist/generated/codex-app-server/AuthStatusChangeNotification.js +0 -3
- package/dist/generated/codex-app-server/BackgroundEventEvent.js +0 -3
- package/dist/generated/codex-app-server/ByteRange.js +0 -3
- package/dist/generated/codex-app-server/CallToolResult.js +0 -3
- package/dist/generated/codex-app-server/CancelLoginChatGptParams.js +0 -3
- package/dist/generated/codex-app-server/CancelLoginChatGptResponse.js +0 -3
- package/dist/generated/codex-app-server/ClientInfo.js +0 -3
- package/dist/generated/codex-app-server/ClientNotification.js +0 -3
- package/dist/generated/codex-app-server/ClientRequest.js +0 -3
- package/dist/generated/codex-app-server/CodexErrorInfo.js +0 -3
- package/dist/generated/codex-app-server/CollabAgentInteractionBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabAgentInteractionEndEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabAgentSpawnBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabAgentSpawnEndEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabCloseBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabCloseEndEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabResumeBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabResumeEndEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabWaitingBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/CollabWaitingEndEvent.js +0 -3
- package/dist/generated/codex-app-server/CollaborationMode.js +0 -3
- package/dist/generated/codex-app-server/CollaborationModeMask.js +0 -3
- package/dist/generated/codex-app-server/ContentItem.js +0 -3
- package/dist/generated/codex-app-server/ContextCompactedEvent.js +0 -3
- package/dist/generated/codex-app-server/ContextCompactionItem.js +0 -3
- package/dist/generated/codex-app-server/ConversationGitInfo.js +0 -3
- package/dist/generated/codex-app-server/ConversationSummary.js +0 -3
- package/dist/generated/codex-app-server/CreditsSnapshot.js +0 -3
- package/dist/generated/codex-app-server/CustomPrompt.js +0 -3
- package/dist/generated/codex-app-server/DeprecationNoticeEvent.js +0 -3
- package/dist/generated/codex-app-server/DynamicToolCallRequest.js +0 -3
- package/dist/generated/codex-app-server/ElicitationRequestEvent.js +0 -3
- package/dist/generated/codex-app-server/ErrorEvent.js +0 -3
- package/dist/generated/codex-app-server/EventMsg.js +0 -3
- package/dist/generated/codex-app-server/ExecApprovalRequestEvent.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandApprovalParams.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandApprovalResponse.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandEndEvent.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandOutputDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandSource.js +0 -3
- package/dist/generated/codex-app-server/ExecCommandStatus.js +0 -3
- package/dist/generated/codex-app-server/ExecOneOffCommandParams.js +0 -3
- package/dist/generated/codex-app-server/ExecOneOffCommandResponse.js +0 -3
- package/dist/generated/codex-app-server/ExecOutputStream.js +0 -3
- package/dist/generated/codex-app-server/ExecPolicyAmendment.js +0 -3
- package/dist/generated/codex-app-server/ExitedReviewModeEvent.js +0 -3
- package/dist/generated/codex-app-server/FileChange.js +0 -3
- package/dist/generated/codex-app-server/ForcedLoginMethod.js +0 -3
- package/dist/generated/codex-app-server/ForkConversationParams.js +0 -3
- package/dist/generated/codex-app-server/ForkConversationResponse.js +0 -3
- package/dist/generated/codex-app-server/FunctionCallOutputBody.js +0 -3
- package/dist/generated/codex-app-server/FunctionCallOutputContentItem.js +0 -3
- package/dist/generated/codex-app-server/FunctionCallOutputPayload.js +0 -3
- package/dist/generated/codex-app-server/FuzzyFileSearchParams.js +0 -3
- package/dist/generated/codex-app-server/FuzzyFileSearchResponse.js +0 -3
- package/dist/generated/codex-app-server/FuzzyFileSearchResult.js +0 -3
- package/dist/generated/codex-app-server/FuzzyFileSearchSessionCompletedNotification.js +0 -3
- package/dist/generated/codex-app-server/FuzzyFileSearchSessionUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/GetAuthStatusParams.js +0 -3
- package/dist/generated/codex-app-server/GetAuthStatusResponse.js +0 -3
- package/dist/generated/codex-app-server/GetConversationSummaryParams.js +0 -3
- package/dist/generated/codex-app-server/GetConversationSummaryResponse.js +0 -3
- package/dist/generated/codex-app-server/GetHistoryEntryResponseEvent.js +0 -3
- package/dist/generated/codex-app-server/GetUserAgentResponse.js +0 -3
- package/dist/generated/codex-app-server/GetUserSavedConfigResponse.js +0 -3
- package/dist/generated/codex-app-server/GhostCommit.js +0 -3
- package/dist/generated/codex-app-server/GitDiffToRemoteParams.js +0 -3
- package/dist/generated/codex-app-server/GitDiffToRemoteResponse.js +0 -3
- package/dist/generated/codex-app-server/GitSha.js +0 -3
- package/dist/generated/codex-app-server/HistoryEntry.js +0 -3
- package/dist/generated/codex-app-server/InitializeCapabilities.js +0 -3
- package/dist/generated/codex-app-server/InitializeParams.js +0 -3
- package/dist/generated/codex-app-server/InitializeResponse.js +0 -3
- package/dist/generated/codex-app-server/InputItem.js +0 -3
- package/dist/generated/codex-app-server/InputModality.js +0 -3
- package/dist/generated/codex-app-server/InterruptConversationParams.js +0 -3
- package/dist/generated/codex-app-server/InterruptConversationResponse.js +0 -3
- package/dist/generated/codex-app-server/ItemCompletedEvent.js +0 -3
- package/dist/generated/codex-app-server/ItemStartedEvent.js +0 -3
- package/dist/generated/codex-app-server/ListConversationsParams.js +0 -3
- package/dist/generated/codex-app-server/ListConversationsResponse.js +0 -3
- package/dist/generated/codex-app-server/ListCustomPromptsResponseEvent.js +0 -3
- package/dist/generated/codex-app-server/ListRemoteSkillsResponseEvent.js +0 -3
- package/dist/generated/codex-app-server/ListSkillsResponseEvent.js +0 -3
- package/dist/generated/codex-app-server/LocalShellAction.js +0 -3
- package/dist/generated/codex-app-server/LocalShellExecAction.js +0 -3
- package/dist/generated/codex-app-server/LocalShellStatus.js +0 -3
- package/dist/generated/codex-app-server/LoginApiKeyParams.js +0 -3
- package/dist/generated/codex-app-server/LoginApiKeyResponse.js +0 -3
- package/dist/generated/codex-app-server/LoginChatGptCompleteNotification.js +0 -3
- package/dist/generated/codex-app-server/LoginChatGptResponse.js +0 -3
- package/dist/generated/codex-app-server/LogoutChatGptResponse.js +0 -3
- package/dist/generated/codex-app-server/McpAuthStatus.js +0 -3
- package/dist/generated/codex-app-server/McpInvocation.js +0 -3
- package/dist/generated/codex-app-server/McpListToolsResponseEvent.js +0 -3
- package/dist/generated/codex-app-server/McpStartupCompleteEvent.js +0 -3
- package/dist/generated/codex-app-server/McpStartupFailure.js +0 -3
- package/dist/generated/codex-app-server/McpStartupStatus.js +0 -3
- package/dist/generated/codex-app-server/McpStartupUpdateEvent.js +0 -3
- package/dist/generated/codex-app-server/McpToolCallBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/McpToolCallEndEvent.js +0 -3
- package/dist/generated/codex-app-server/MessagePhase.js +0 -3
- package/dist/generated/codex-app-server/ModeKind.js +0 -3
- package/dist/generated/codex-app-server/ModelRerouteEvent.js +0 -3
- package/dist/generated/codex-app-server/ModelRerouteReason.js +0 -3
- package/dist/generated/codex-app-server/NetworkAccess.js +0 -3
- package/dist/generated/codex-app-server/NetworkApprovalContext.js +0 -3
- package/dist/generated/codex-app-server/NetworkApprovalProtocol.js +0 -3
- package/dist/generated/codex-app-server/NewConversationParams.js +0 -3
- package/dist/generated/codex-app-server/NewConversationResponse.js +0 -3
- package/dist/generated/codex-app-server/ParsedCommand.js +0 -3
- package/dist/generated/codex-app-server/PatchApplyBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/PatchApplyEndEvent.js +0 -3
- package/dist/generated/codex-app-server/PatchApplyStatus.js +0 -3
- package/dist/generated/codex-app-server/Personality.js +0 -3
- package/dist/generated/codex-app-server/PlanDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/PlanItem.js +0 -3
- package/dist/generated/codex-app-server/PlanItemArg.js +0 -3
- package/dist/generated/codex-app-server/PlanType.js +0 -3
- package/dist/generated/codex-app-server/Profile.js +0 -3
- package/dist/generated/codex-app-server/RateLimitSnapshot.js +0 -3
- package/dist/generated/codex-app-server/RateLimitWindow.js +0 -3
- package/dist/generated/codex-app-server/RawResponseItemEvent.js +0 -3
- package/dist/generated/codex-app-server/ReadOnlyAccess.js +0 -3
- package/dist/generated/codex-app-server/ReasoningContentDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/ReasoningEffort.js +0 -3
- package/dist/generated/codex-app-server/ReasoningItem.js +0 -3
- package/dist/generated/codex-app-server/ReasoningItemContent.js +0 -3
- package/dist/generated/codex-app-server/ReasoningItemReasoningSummary.js +0 -3
- package/dist/generated/codex-app-server/ReasoningRawContentDeltaEvent.js +0 -3
- package/dist/generated/codex-app-server/ReasoningSummary.js +0 -3
- package/dist/generated/codex-app-server/RemoteSkillDownloadedEvent.js +0 -3
- package/dist/generated/codex-app-server/RemoteSkillSummary.js +0 -3
- package/dist/generated/codex-app-server/RemoveConversationListenerParams.js +0 -3
- package/dist/generated/codex-app-server/RemoveConversationSubscriptionResponse.js +0 -3
- package/dist/generated/codex-app-server/RequestId.js +0 -3
- package/dist/generated/codex-app-server/RequestUserInputEvent.js +0 -3
- package/dist/generated/codex-app-server/RequestUserInputQuestion.js +0 -3
- package/dist/generated/codex-app-server/RequestUserInputQuestionOption.js +0 -3
- package/dist/generated/codex-app-server/Resource.js +0 -3
- package/dist/generated/codex-app-server/ResourceTemplate.js +0 -3
- package/dist/generated/codex-app-server/ResponseItem.js +0 -3
- package/dist/generated/codex-app-server/ResumeConversationParams.js +0 -3
- package/dist/generated/codex-app-server/ResumeConversationResponse.js +0 -3
- package/dist/generated/codex-app-server/ReviewCodeLocation.js +0 -3
- package/dist/generated/codex-app-server/ReviewDecision.js +0 -3
- package/dist/generated/codex-app-server/ReviewFinding.js +0 -3
- package/dist/generated/codex-app-server/ReviewLineRange.js +0 -3
- package/dist/generated/codex-app-server/ReviewOutputEvent.js +0 -3
- package/dist/generated/codex-app-server/ReviewRequest.js +0 -3
- package/dist/generated/codex-app-server/ReviewTarget.js +0 -3
- package/dist/generated/codex-app-server/SandboxMode.js +0 -3
- package/dist/generated/codex-app-server/SandboxPolicy.js +0 -3
- package/dist/generated/codex-app-server/SandboxSettings.js +0 -3
- package/dist/generated/codex-app-server/SendUserMessageParams.js +0 -3
- package/dist/generated/codex-app-server/SendUserMessageResponse.js +0 -3
- package/dist/generated/codex-app-server/SendUserTurnParams.js +0 -3
- package/dist/generated/codex-app-server/SendUserTurnResponse.js +0 -3
- package/dist/generated/codex-app-server/ServerNotification.js +0 -3
- package/dist/generated/codex-app-server/ServerRequest.js +0 -3
- package/dist/generated/codex-app-server/SessionConfiguredEvent.js +0 -3
- package/dist/generated/codex-app-server/SessionConfiguredNotification.js +0 -3
- package/dist/generated/codex-app-server/SessionNetworkProxyRuntime.js +0 -3
- package/dist/generated/codex-app-server/SessionSource.js +0 -3
- package/dist/generated/codex-app-server/SetDefaultModelParams.js +0 -3
- package/dist/generated/codex-app-server/SetDefaultModelResponse.js +0 -3
- package/dist/generated/codex-app-server/Settings.js +0 -3
- package/dist/generated/codex-app-server/SkillDependencies.js +0 -3
- package/dist/generated/codex-app-server/SkillErrorInfo.js +0 -3
- package/dist/generated/codex-app-server/SkillInterface.js +0 -3
- package/dist/generated/codex-app-server/SkillMetadata.js +0 -3
- package/dist/generated/codex-app-server/SkillScope.js +0 -3
- package/dist/generated/codex-app-server/SkillToolDependency.js +0 -3
- package/dist/generated/codex-app-server/SkillsListEntry.js +0 -3
- package/dist/generated/codex-app-server/StepStatus.js +0 -3
- package/dist/generated/codex-app-server/StreamErrorEvent.js +0 -3
- package/dist/generated/codex-app-server/SubAgentSource.js +0 -3
- package/dist/generated/codex-app-server/TerminalInteractionEvent.js +0 -3
- package/dist/generated/codex-app-server/TextElement.js +0 -3
- package/dist/generated/codex-app-server/ThreadId.js +0 -3
- package/dist/generated/codex-app-server/ThreadNameUpdatedEvent.js +0 -3
- package/dist/generated/codex-app-server/ThreadRolledBackEvent.js +0 -3
- package/dist/generated/codex-app-server/TokenCountEvent.js +0 -3
- package/dist/generated/codex-app-server/TokenUsage.js +0 -3
- package/dist/generated/codex-app-server/TokenUsageInfo.js +0 -3
- package/dist/generated/codex-app-server/Tool.js +0 -3
- package/dist/generated/codex-app-server/Tools.js +0 -3
- package/dist/generated/codex-app-server/TurnAbortReason.js +0 -3
- package/dist/generated/codex-app-server/TurnAbortedEvent.js +0 -3
- package/dist/generated/codex-app-server/TurnCompleteEvent.js +0 -3
- package/dist/generated/codex-app-server/TurnDiffEvent.js +0 -3
- package/dist/generated/codex-app-server/TurnItem.js +0 -3
- package/dist/generated/codex-app-server/TurnStartedEvent.js +0 -3
- package/dist/generated/codex-app-server/UndoCompletedEvent.js +0 -3
- package/dist/generated/codex-app-server/UndoStartedEvent.js +0 -3
- package/dist/generated/codex-app-server/UpdatePlanArgs.js +0 -3
- package/dist/generated/codex-app-server/UserInfoResponse.js +0 -3
- package/dist/generated/codex-app-server/UserInput.js +0 -3
- package/dist/generated/codex-app-server/UserMessageEvent.js +0 -3
- package/dist/generated/codex-app-server/UserMessageItem.js +0 -3
- package/dist/generated/codex-app-server/UserSavedConfig.js +0 -3
- package/dist/generated/codex-app-server/Verbosity.js +0 -3
- package/dist/generated/codex-app-server/ViewImageToolCallEvent.js +0 -3
- package/dist/generated/codex-app-server/WarningEvent.js +0 -3
- package/dist/generated/codex-app-server/WebSearchAction.js +0 -3
- package/dist/generated/codex-app-server/WebSearchBeginEvent.js +0 -3
- package/dist/generated/codex-app-server/WebSearchEndEvent.js +0 -3
- package/dist/generated/codex-app-server/WebSearchItem.js +0 -3
- package/dist/generated/codex-app-server/WebSearchMode.js +0 -3
- package/dist/generated/codex-app-server/index.js +0 -38
- package/dist/generated/codex-app-server/serde_json/JsonValue.js +0 -3
- package/dist/generated/codex-app-server/v2/Account.js +0 -3
- package/dist/generated/codex-app-server/v2/AccountLoginCompletedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/AccountRateLimitsUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/AccountUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/AgentMessageDeltaNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/AnalyticsConfig.js +0 -3
- package/dist/generated/codex-app-server/v2/AppBranding.js +0 -3
- package/dist/generated/codex-app-server/v2/AppDisabledReason.js +0 -3
- package/dist/generated/codex-app-server/v2/AppInfo.js +0 -3
- package/dist/generated/codex-app-server/v2/AppListUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/AppMetadata.js +0 -3
- package/dist/generated/codex-app-server/v2/AppReview.js +0 -3
- package/dist/generated/codex-app-server/v2/AppScreenshot.js +0 -3
- package/dist/generated/codex-app-server/v2/AppsConfig.js +0 -3
- package/dist/generated/codex-app-server/v2/AppsListParams.js +0 -3
- package/dist/generated/codex-app-server/v2/AppsListResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/AskForApproval.js +0 -3
- package/dist/generated/codex-app-server/v2/ByteRange.js +0 -3
- package/dist/generated/codex-app-server/v2/CancelLoginAccountParams.js +0 -3
- package/dist/generated/codex-app-server/v2/CancelLoginAccountResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/CancelLoginAccountStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/ChatgptAuthTokensRefreshParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ChatgptAuthTokensRefreshReason.js +0 -3
- package/dist/generated/codex-app-server/v2/ChatgptAuthTokensRefreshResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/CodexErrorInfo.js +0 -3
- package/dist/generated/codex-app-server/v2/CollabAgentState.js +0 -3
- package/dist/generated/codex-app-server/v2/CollabAgentStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/CollabAgentTool.js +0 -3
- package/dist/generated/codex-app-server/v2/CollabAgentToolCallStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandAction.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecParams.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecutionApprovalDecision.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecutionOutputDeltaNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecutionRequestApprovalParams.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecutionRequestApprovalResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/CommandExecutionStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/Config.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigBatchWriteParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigEdit.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigLayer.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigLayerMetadata.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigLayerSource.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigReadParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigReadResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigRequirements.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigRequirementsReadResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigValueWriteParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigWarningNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ConfigWriteResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ContextCompactedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/CreditsSnapshot.js +0 -3
- package/dist/generated/codex-app-server/v2/DeprecationNoticeNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/DynamicToolCallOutputContentItem.js +0 -3
- package/dist/generated/codex-app-server/v2/DynamicToolCallParams.js +0 -3
- package/dist/generated/codex-app-server/v2/DynamicToolCallResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/DynamicToolSpec.js +0 -3
- package/dist/generated/codex-app-server/v2/ErrorNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ExecPolicyAmendment.js +0 -3
- package/dist/generated/codex-app-server/v2/ExperimentalFeature.js +0 -3
- package/dist/generated/codex-app-server/v2/ExperimentalFeatureListParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ExperimentalFeatureListResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ExperimentalFeatureStage.js +0 -3
- package/dist/generated/codex-app-server/v2/FeedbackUploadParams.js +0 -3
- package/dist/generated/codex-app-server/v2/FeedbackUploadResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/FileChangeApprovalDecision.js +0 -3
- package/dist/generated/codex-app-server/v2/FileChangeOutputDeltaNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/FileChangeRequestApprovalParams.js +0 -3
- package/dist/generated/codex-app-server/v2/FileChangeRequestApprovalResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/FileUpdateChange.js +0 -3
- package/dist/generated/codex-app-server/v2/GetAccountParams.js +0 -3
- package/dist/generated/codex-app-server/v2/GetAccountRateLimitsResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/GetAccountResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/GitInfo.js +0 -3
- package/dist/generated/codex-app-server/v2/HazelnutScope.js +0 -3
- package/dist/generated/codex-app-server/v2/ItemCompletedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ItemStartedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ListMcpServerStatusParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ListMcpServerStatusResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/LoginAccountParams.js +0 -3
- package/dist/generated/codex-app-server/v2/LoginAccountResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/LogoutAccountResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/McpAuthStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/McpServerOauthLoginCompletedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/McpServerOauthLoginParams.js +0 -3
- package/dist/generated/codex-app-server/v2/McpServerOauthLoginResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/McpServerRefreshResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/McpServerStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/McpToolCallError.js +0 -3
- package/dist/generated/codex-app-server/v2/McpToolCallProgressNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/McpToolCallResult.js +0 -3
- package/dist/generated/codex-app-server/v2/McpToolCallStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/MergeStrategy.js +0 -3
- package/dist/generated/codex-app-server/v2/Model.js +0 -3
- package/dist/generated/codex-app-server/v2/ModelListParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ModelListResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ModelRerouteReason.js +0 -3
- package/dist/generated/codex-app-server/v2/ModelReroutedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/NetworkAccess.js +0 -3
- package/dist/generated/codex-app-server/v2/NetworkRequirements.js +0 -3
- package/dist/generated/codex-app-server/v2/OverriddenMetadata.js +0 -3
- package/dist/generated/codex-app-server/v2/PatchApplyStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/PatchChangeKind.js +0 -3
- package/dist/generated/codex-app-server/v2/PlanDeltaNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ProductSurface.js +0 -3
- package/dist/generated/codex-app-server/v2/ProfileV2.js +0 -3
- package/dist/generated/codex-app-server/v2/RateLimitSnapshot.js +0 -3
- package/dist/generated/codex-app-server/v2/RateLimitWindow.js +0 -3
- package/dist/generated/codex-app-server/v2/RawResponseItemCompletedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ReadOnlyAccess.js +0 -3
- package/dist/generated/codex-app-server/v2/ReasoningEffortOption.js +0 -3
- package/dist/generated/codex-app-server/v2/ReasoningSummaryPartAddedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ReasoningSummaryTextDeltaNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ReasoningTextDeltaNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/RemoteSkillSummary.js +0 -3
- package/dist/generated/codex-app-server/v2/ResidencyRequirement.js +0 -3
- package/dist/generated/codex-app-server/v2/ReviewDelivery.js +0 -3
- package/dist/generated/codex-app-server/v2/ReviewStartParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ReviewStartResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ReviewTarget.js +0 -3
- package/dist/generated/codex-app-server/v2/SandboxMode.js +0 -3
- package/dist/generated/codex-app-server/v2/SandboxPolicy.js +0 -3
- package/dist/generated/codex-app-server/v2/SandboxWorkspaceWrite.js +0 -3
- package/dist/generated/codex-app-server/v2/SessionSource.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillDependencies.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillErrorInfo.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillInterface.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillMetadata.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillScope.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillToolDependency.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsConfigWriteParams.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsConfigWriteResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsListEntry.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsListExtraRootsForCwd.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsListParams.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsListResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsRemoteReadParams.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsRemoteReadResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsRemoteWriteParams.js +0 -3
- package/dist/generated/codex-app-server/v2/SkillsRemoteWriteResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/TerminalInteractionNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/TextElement.js +0 -3
- package/dist/generated/codex-app-server/v2/TextPosition.js +0 -3
- package/dist/generated/codex-app-server/v2/TextRange.js +0 -3
- package/dist/generated/codex-app-server/v2/Thread.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadArchiveParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadArchiveResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadArchivedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadCompactStartParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadCompactStartResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadForkParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadForkResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadItem.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadListParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadListResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadLoadedListParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadLoadedListResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadNameUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadReadParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadReadResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadResumeParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadResumeResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadRollbackParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadRollbackResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadSetNameParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadSetNameResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadSortKey.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadSourceKind.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadStartParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadStartResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadStartedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadTokenUsage.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadTokenUsageUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadUnarchiveParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadUnarchiveResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ThreadUnarchivedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/TokenUsageBreakdown.js +0 -3
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputAnswer.js +0 -3
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputOption.js +0 -3
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputParams.js +0 -3
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputQuestion.js +0 -3
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/ToolsV2.js +0 -3
- package/dist/generated/codex-app-server/v2/Turn.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnCompletedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnDiffUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnError.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnInterruptParams.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnInterruptResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnPlanStep.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnPlanStepStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnPlanUpdatedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnStartParams.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnStartResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnStartedNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnSteerParams.js +0 -3
- package/dist/generated/codex-app-server/v2/TurnSteerResponse.js +0 -3
- package/dist/generated/codex-app-server/v2/UserInput.js +0 -3
- package/dist/generated/codex-app-server/v2/WebSearchAction.js +0 -3
- package/dist/generated/codex-app-server/v2/WindowsWorldWritableWarningNotification.js +0 -3
- package/dist/generated/codex-app-server/v2/WriteStatus.js +0 -3
- package/dist/generated/codex-app-server/v2/index.js +0 -3
- package/dist/service/app_server.js +0 -441
- package/dist/service/buffered_client_message_sender.js +0 -89
- package/dist/service/companyhelm_api_client.js +0 -337
- package/dist/service/docker/app_server_container.js +0 -319
- package/dist/service/docker/dind.js +0 -114
- package/dist/service/docker/runtime_app_server_exec.js +0 -97
- package/dist/service/host.js +0 -15
- package/dist/service/runtime_bashrc.js +0 -57
- package/dist/service/runtime_shell.js +0 -23
- package/dist/service/sdk/refresh_models.js +0 -91
- package/dist/service/thread_lifecycle.js +0 -676
- package/dist/service/thread_runtime.js +0 -15
- package/dist/service/thread_turn_state.js +0 -46
- package/dist/service/thread_user_message_request_store.js +0 -136
- package/dist/service/workspace_agents.js +0 -82
- package/dist/state/daemon_state.js +0 -83
- package/dist/state/db.js +0 -63
- package/dist/state/schema.js +0 -59
- package/dist/templates/app_server_bootstrap.sh.j2 +0 -52
- package/dist/templates/runtime_agents.md.j2 +0 -50
- package/dist/templates/runtime_bashrc.j2 +0 -19
- package/dist/utils/async_queue.js +0 -102
- package/dist/utils/daemon.js +0 -15
- package/dist/utils/logger.js +0 -96
- package/dist/utils/path.js +0 -10
- package/dist/utils/process.js +0 -83
- package/dist/utils/terminal.js +0 -34
- package/drizzle/0000_nice_stepford_cuckoos.sql +0 -25
- package/drizzle/0001_third_vermin.sql +0 -22
- package/drizzle/0002_kind_sue_storm.sql +0 -1
- package/drizzle/0003_dizzy_micromax.sql +0 -35
- package/drizzle/0004_sloppy_alex_wilder.sql +0 -23
- package/drizzle/0005_open_toro.sql +0 -23
- package/drizzle/0006_fixed_jack_flag.sql +0 -23
- package/drizzle/0007_mute_lord_tyger.sql +0 -1
- package/drizzle/0008_melted_flatman.sql +0 -8
- package/drizzle/0009_powerful_hellcat.sql +0 -1
- package/drizzle/0010_wealthy_dorian_gray.sql +0 -24
- package/drizzle/0011_actual_lucky.sql +0 -7
- package/drizzle/meta/0000_snapshot.json +0 -174
- package/drizzle/meta/0001_snapshot.json +0 -212
- package/drizzle/meta/0002_snapshot.json +0 -219
- package/drizzle/meta/0003_snapshot.json +0 -240
- package/drizzle/meta/0004_snapshot.json +0 -240
- package/drizzle/meta/0005_snapshot.json +0 -240
- package/drizzle/meta/0006_snapshot.json +0 -240
- package/drizzle/meta/0007_snapshot.json +0 -247
- package/drizzle/meta/0008_snapshot.json +0 -306
- package/drizzle/meta/0009_snapshot.json +0 -313
- package/drizzle/meta/0010_snapshot.json +0 -261
- package/drizzle/meta/_journal.json +0 -90
package/README.md
CHANGED
|
@@ -1,58 +1,54 @@
|
|
|
1
1
|
# CompanyHelm CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Bootstrap and manage a local CompanyHelm deployment.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Commands
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
npm install -g @companyhelm/cli
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Or run it without installing globally:
|
|
7
|
+
Start or reconcile the local deployment:
|
|
12
8
|
|
|
13
9
|
```bash
|
|
14
|
-
npx @companyhelm/cli
|
|
10
|
+
npx @companyhelm/cli up
|
|
15
11
|
```
|
|
16
12
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Basic Usage
|
|
20
|
-
|
|
21
|
-
Start the CLI in the foreground:
|
|
13
|
+
Stop the local deployment:
|
|
22
14
|
|
|
23
15
|
```bash
|
|
24
|
-
companyhelm
|
|
16
|
+
npx @companyhelm/cli down
|
|
25
17
|
```
|
|
26
18
|
|
|
27
|
-
|
|
19
|
+
Show the current service status:
|
|
28
20
|
|
|
29
21
|
```bash
|
|
30
|
-
companyhelm
|
|
22
|
+
npx @companyhelm/cli status
|
|
31
23
|
```
|
|
32
24
|
|
|
33
|
-
|
|
25
|
+
Show logs for one managed service:
|
|
34
26
|
|
|
35
27
|
```bash
|
|
36
|
-
companyhelm
|
|
28
|
+
npx @companyhelm/cli logs <service>
|
|
37
29
|
```
|
|
38
30
|
|
|
39
|
-
|
|
31
|
+
Supported services:
|
|
32
|
+
|
|
33
|
+
- `postgres`
|
|
34
|
+
- `api`
|
|
35
|
+
- `frontend`
|
|
36
|
+
- `runner`
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
- the recorded daemon PID
|
|
43
|
-
- the daemon log directory and log file path
|
|
38
|
+
Destroy the local deployment and generated state:
|
|
44
39
|
|
|
45
|
-
|
|
40
|
+
```bash
|
|
41
|
+
npx @companyhelm/cli reset --force
|
|
42
|
+
```
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
- Supports Docker-in-Docker for end-to-end workflows
|
|
49
|
-
- Keeps runner state in a local SQLite database
|
|
50
|
-
- Supports long-running daemon mode for background operation
|
|
44
|
+
## Authentication
|
|
51
45
|
|
|
52
|
-
|
|
46
|
+
On first `npx @companyhelm/cli up`, the CLI generates a local `admin` account and a random password. The password is printed at startup and persisted in the local runtime state until `npx @companyhelm/cli reset --force` is run.
|
|
53
47
|
|
|
54
|
-
|
|
48
|
+
## Image Overrides
|
|
55
49
|
|
|
56
|
-
|
|
50
|
+
The packaged stack can be overridden with environment variables:
|
|
57
51
|
|
|
58
|
-
|
|
52
|
+
- `COMPANYHELM_API_IMAGE`
|
|
53
|
+
- `COMPANYHELM_WEB_IMAGE`
|
|
54
|
+
- `COMPANYHELM_POSTGRES_IMAGE`
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function main(argv?: string[]): Promise<void>;
|
package/dist/cli.js
CHANGED
|
@@ -1,57 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
6
|
-
const commander_1 = require("commander");
|
|
7
|
-
const global_options_js_1 = require("./commands/global-options.js");
|
|
8
|
-
const register_commands_js_1 = require("./commands/register-commands.js");
|
|
9
|
-
function getVersion() {
|
|
10
|
-
try {
|
|
11
|
-
const pkgPath = (0, node_path_1.join)(__dirname, "..", "package.json");
|
|
12
|
-
const pkg = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, "utf8"));
|
|
13
|
-
return pkg.version ?? "0.0.0";
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
return "0.0.0";
|
|
17
|
-
}
|
|
1
|
+
import { buildProgram } from "./commands/register-commands.js";
|
|
2
|
+
export async function main(argv = process.argv) {
|
|
3
|
+
const program = buildProgram();
|
|
4
|
+
await program.parseAsync(argv);
|
|
18
5
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
.name("companyhelm")
|
|
22
|
-
.description("Run coding agents in fully isolated Docker sandboxes, locally.")
|
|
23
|
-
.version(getVersion());
|
|
24
|
-
(0, global_options_js_1.addGlobalOptions)(program);
|
|
25
|
-
(0, register_commands_js_1.registerCommands)(program);
|
|
26
|
-
program.hook("preAction", (_thisCommand, actionCommand) => {
|
|
27
|
-
(0, global_options_js_1.applyGlobalOptionEnvironment)(actionCommand);
|
|
28
|
-
});
|
|
29
|
-
function formatCliError(error) {
|
|
30
|
-
if (error instanceof commander_1.CommanderError) {
|
|
31
|
-
return {
|
|
32
|
-
message: error.message,
|
|
33
|
-
exitCode: error.exitCode,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
if (error instanceof Error) {
|
|
37
|
-
return {
|
|
38
|
-
message: error.message,
|
|
39
|
-
exitCode: 1,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
return {
|
|
43
|
-
message: String(error),
|
|
44
|
-
exitCode: 1,
|
|
45
|
-
};
|
|
6
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
7
|
+
void main();
|
|
46
8
|
}
|
|
47
|
-
async function main() {
|
|
48
|
-
try {
|
|
49
|
-
await program.parseAsync(process.argv);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
const { message, exitCode } = formatCliError(error);
|
|
53
|
-
process.stderr.write(`${message}\n`);
|
|
54
|
-
process.exitCode = exitCode;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
void main();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type StatusSnapshot } from "../core/status/StatusService.js";
|
|
2
|
+
export interface CommandDependencies {
|
|
3
|
+
up(): Promise<void>;
|
|
4
|
+
down(): Promise<void>;
|
|
5
|
+
status(): Promise<StatusSnapshot>;
|
|
6
|
+
logs(service: string): Promise<void>;
|
|
7
|
+
reset(): Promise<void>;
|
|
8
|
+
}
|
|
9
|
+
export declare function createDefaultDependencies(): CommandDependencies;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { DeploymentBootstrapper } from "../core/bootstrap/DeploymentBootstrapper.js";
|
|
5
|
+
import { DockerStackManager } from "../core/docker/DockerStackManager.js";
|
|
6
|
+
import { LogsService } from "../core/logs/LogsService.js";
|
|
7
|
+
import { CommandRunner } from "../core/process/CommandRunner.js";
|
|
8
|
+
import { RunnerSupervisor } from "../core/runner/RunnerSupervisor.js";
|
|
9
|
+
import { createPasswordHash } from "../core/runtime/Secrets.js";
|
|
10
|
+
import { RuntimePaths } from "../core/runtime/RuntimePaths.js";
|
|
11
|
+
import { RuntimeStateStore } from "../core/runtime/RuntimeStateStore.js";
|
|
12
|
+
import { StatusService } from "../core/status/StatusService.js";
|
|
13
|
+
import { TerminalRenderer } from "../core/ui/TerminalRenderer.js";
|
|
14
|
+
function runtimeRoot() {
|
|
15
|
+
return process.env.COMPANYHELM_HOME || path.join(os.homedir(), ".companyhelm");
|
|
16
|
+
}
|
|
17
|
+
export function createDefaultDependencies() {
|
|
18
|
+
const root = runtimeRoot();
|
|
19
|
+
const stateStore = new RuntimeStateStore(root);
|
|
20
|
+
const runtimePaths = new RuntimePaths(root);
|
|
21
|
+
const commandRunner = new CommandRunner();
|
|
22
|
+
const renderer = new TerminalRenderer(process.stdout.isTTY);
|
|
23
|
+
const dockerStackManager = new DockerStackManager(root, commandRunner);
|
|
24
|
+
const runnerSupervisor = new RunnerSupervisor(runtimePaths.runnerConfigPath());
|
|
25
|
+
const bootstrapper = new DeploymentBootstrapper();
|
|
26
|
+
const statusService = new StatusService(() => dockerStackManager.runningServices());
|
|
27
|
+
const logsService = new LogsService(async (service) => {
|
|
28
|
+
if (service === "runner") {
|
|
29
|
+
if (fs.existsSync(runtimePaths.runnerLogPath())) {
|
|
30
|
+
process.stdout.write(fs.readFileSync(runtimePaths.runnerLogPath(), "utf8"));
|
|
31
|
+
}
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
await dockerStackManager.logs(service);
|
|
35
|
+
});
|
|
36
|
+
return {
|
|
37
|
+
async up() {
|
|
38
|
+
const state = stateStore.initialize();
|
|
39
|
+
const passwordRecord = createPasswordHash(state.auth.password);
|
|
40
|
+
fs.mkdirSync(root, { recursive: true });
|
|
41
|
+
bootstrapper.writeSeedSql(root, state, passwordRecord.passwordHash, passwordRecord.passwordSalt);
|
|
42
|
+
bootstrapper.writeApiConfig(root, state);
|
|
43
|
+
bootstrapper.writeFrontendConfig(root, state);
|
|
44
|
+
process.stdout.write(`${renderer.renderBanner()}\n`);
|
|
45
|
+
await dockerStackManager.up(state);
|
|
46
|
+
await dockerStackManager.applySeedSql();
|
|
47
|
+
const startCommand = runnerSupervisor.buildStartArgs({
|
|
48
|
+
serverUrl: `127.0.0.1:${state.ports.runnerGrpc}`,
|
|
49
|
+
agentApiUrl: `127.0.0.1:${state.ports.agentCliGrpc}`,
|
|
50
|
+
logPath: runtimePaths.runnerLogPath(),
|
|
51
|
+
secret: state.runner.secret
|
|
52
|
+
});
|
|
53
|
+
await commandRunner.run(startCommand.command, startCommand.args);
|
|
54
|
+
process.stdout.write(`${renderer.success(`API: http://127.0.0.1:${state.ports.apiHttp}/graphql`)}\n`);
|
|
55
|
+
process.stdout.write(`${renderer.success(`UI: http://127.0.0.1:${state.ports.ui}`)}\n`);
|
|
56
|
+
process.stdout.write(`admin password: ${state.auth.password}\n`);
|
|
57
|
+
},
|
|
58
|
+
async down() {
|
|
59
|
+
if (!stateStore.load()) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const stopCommand = runnerSupervisor.buildStopArgs();
|
|
63
|
+
try {
|
|
64
|
+
await commandRunner.run(stopCommand.command, stopCommand.args);
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
// Ignore runner stop failures during teardown so container cleanup still happens.
|
|
68
|
+
}
|
|
69
|
+
await dockerStackManager.down();
|
|
70
|
+
},
|
|
71
|
+
status() {
|
|
72
|
+
return statusService.read();
|
|
73
|
+
},
|
|
74
|
+
logs(service) {
|
|
75
|
+
return logsService.stream(service);
|
|
76
|
+
},
|
|
77
|
+
async reset() {
|
|
78
|
+
await this.down();
|
|
79
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
(
|
|
11
|
-
(
|
|
12
|
-
(
|
|
13
|
-
(
|
|
14
|
-
(
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import { createDefaultDependencies } from "./dependencies.js";
|
|
3
|
+
import { registerDownCommand } from "./down.js";
|
|
4
|
+
import { registerLogsCommand } from "./logs.js";
|
|
5
|
+
import { registerResetCommand } from "./reset.js";
|
|
6
|
+
import { registerStatusCommand } from "./status.js";
|
|
7
|
+
import { registerUpCommand } from "./up.js";
|
|
8
|
+
export function buildProgram(dependencies = createDefaultDependencies()) {
|
|
9
|
+
const program = new Command().name("companyhelm");
|
|
10
|
+
registerUpCommand(program, dependencies);
|
|
11
|
+
registerDownCommand(program, dependencies);
|
|
12
|
+
registerStatusCommand(program, dependencies);
|
|
13
|
+
registerLogsCommand(program, dependencies);
|
|
14
|
+
registerResetCommand(program, dependencies);
|
|
15
|
+
return program;
|
|
15
16
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function registerResetCommand(program, dependencies) {
|
|
2
|
+
program
|
|
3
|
+
.command("reset")
|
|
4
|
+
.description("Destroy the local deployment state.")
|
|
5
|
+
.option("--force")
|
|
6
|
+
.action(async (options) => {
|
|
7
|
+
if (!options.force) {
|
|
8
|
+
throw new Error("reset requires --force");
|
|
9
|
+
}
|
|
10
|
+
await dependencies.reset();
|
|
11
|
+
});
|
|
12
|
+
}
|
package/dist/commands/status.js
CHANGED
|
@@ -1,32 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const node_path_1 = require("node:path");
|
|
5
|
-
const config_js_1 = require("../config.js");
|
|
6
|
-
const daemon_state_js_1 = require("../state/daemon_state.js");
|
|
7
|
-
const daemon_js_1 = require("../utils/daemon.js");
|
|
8
|
-
const process_js_1 = require("../utils/process.js");
|
|
9
|
-
function registerStatusCommand(program) {
|
|
10
|
-
program
|
|
11
|
-
.command("status")
|
|
12
|
-
.description("Show whether the local CompanyHelm daemon is running.")
|
|
13
|
-
.option("--state-db-path <path>", "State database path override (defaults to state.db under the active config directory).")
|
|
14
|
-
.action(async (options) => {
|
|
15
|
-
const cfg = config_js_1.config.parse({
|
|
16
|
-
state_db_path: options.stateDbPath,
|
|
17
|
-
});
|
|
18
|
-
const state = await (0, daemon_state_js_1.readCurrentDaemonState)(cfg.state_db_path);
|
|
19
|
-
const running = state?.pid != null && (0, process_js_1.isProcessRunning)(state.pid);
|
|
20
|
-
const logPath = state?.logPath ?? (0, daemon_js_1.resolveDaemonLogPath)(cfg.state_db_path);
|
|
21
|
-
const logDirectory = state?.logPath ? (0, node_path_1.dirname)(state.logPath) : (0, daemon_js_1.resolveDaemonLogDirectory)(cfg.state_db_path);
|
|
22
|
-
console.log(`Daemon: ${running ? "running" : "not running"}`);
|
|
23
|
-
if (state?.pid != null) {
|
|
24
|
-
console.log(`PID: ${running ? state.pid : `${state.pid} (stale)`}`);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
console.log("PID: none");
|
|
28
|
-
}
|
|
29
|
-
console.log(`Log directory: ${logDirectory}`);
|
|
30
|
-
console.log(`Log file: ${logPath}`);
|
|
1
|
+
export function registerStatusCommand(program, dependencies) {
|
|
2
|
+
program.command("status").description("Show deployment status.").action(async () => {
|
|
3
|
+
process.stdout.write(`${JSON.stringify(await dependencies.status())}\n`);
|
|
31
4
|
});
|
|
32
5
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuntimeState } from "../runtime/RuntimeState.js";
|
|
2
|
+
export declare class DeploymentBootstrapper {
|
|
3
|
+
private readonly renderer;
|
|
4
|
+
private readonly githubAppClientId;
|
|
5
|
+
writeSeedSql(root: string, state: RuntimeState, passwordHash: string, passwordSalt: string): string;
|
|
6
|
+
writeApiConfig(root: string, state: RuntimeState): string;
|
|
7
|
+
writeFrontendConfig(root: string, state: RuntimeState): string;
|
|
8
|
+
private indentBlock;
|
|
9
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import { RuntimePaths } from "../runtime/RuntimePaths.js";
|
|
3
|
+
import { SeedSqlRenderer } from "./SeedSqlRenderer.js";
|
|
4
|
+
export class DeploymentBootstrapper {
|
|
5
|
+
renderer = new SeedSqlRenderer();
|
|
6
|
+
githubAppClientId = "Iv23lirb9vZAi67f5bSQ";
|
|
7
|
+
writeSeedSql(root, state, passwordHash, passwordSalt) {
|
|
8
|
+
const runtimePaths = new RuntimePaths(root);
|
|
9
|
+
const outputPath = runtimePaths.seedFilePath();
|
|
10
|
+
const sql = this.renderer.render({
|
|
11
|
+
companyId: state.company.id,
|
|
12
|
+
companyName: state.company.name,
|
|
13
|
+
username: state.auth.username,
|
|
14
|
+
passwordHash,
|
|
15
|
+
passwordSalt,
|
|
16
|
+
runnerName: state.runner.name,
|
|
17
|
+
runnerSecret: state.runner.secret
|
|
18
|
+
});
|
|
19
|
+
fs.writeFileSync(outputPath, sql, "utf8");
|
|
20
|
+
return outputPath;
|
|
21
|
+
}
|
|
22
|
+
writeApiConfig(root, state) {
|
|
23
|
+
const runtimePaths = new RuntimePaths(root);
|
|
24
|
+
const outputPath = runtimePaths.apiConfigPath();
|
|
25
|
+
const yaml = [
|
|
26
|
+
"app:",
|
|
27
|
+
' host: "0.0.0.0"',
|
|
28
|
+
' port: 4000',
|
|
29
|
+
' graphqlEndpoint: "/graphql"',
|
|
30
|
+
" graphiql: true",
|
|
31
|
+
" grpc:",
|
|
32
|
+
' host: "0.0.0.0"',
|
|
33
|
+
" port: 50051",
|
|
34
|
+
" heartbeat:",
|
|
35
|
+
" intervalMs: 20000",
|
|
36
|
+
" jitterMs: 10000",
|
|
37
|
+
"agent:",
|
|
38
|
+
" grpc:",
|
|
39
|
+
' host: "0.0.0.0"',
|
|
40
|
+
" port: 50052",
|
|
41
|
+
"database:",
|
|
42
|
+
' name: "companyhelm"',
|
|
43
|
+
' host: "postgres"',
|
|
44
|
+
" port: 5432",
|
|
45
|
+
" roles:",
|
|
46
|
+
" app_runtime:",
|
|
47
|
+
' username: "app-runtime"',
|
|
48
|
+
' password: "companyhelm-local-app-runtime-role-password"',
|
|
49
|
+
" admin:",
|
|
50
|
+
' username: "postgres"',
|
|
51
|
+
' password: "postgres"',
|
|
52
|
+
"github:",
|
|
53
|
+
` app_client_id: "${this.githubAppClientId}"`,
|
|
54
|
+
" app_private_key_pem: |-",
|
|
55
|
+
this.indentBlock(state.auth.jwtPrivateKeyPem, 4),
|
|
56
|
+
' app_link: "https://github.com/apps/companyhelm-local"',
|
|
57
|
+
'authProvider: "companyhelm"',
|
|
58
|
+
"auth:",
|
|
59
|
+
" companyhelm:",
|
|
60
|
+
" jwt_private_key_pem: |-",
|
|
61
|
+
this.indentBlock(state.auth.jwtPrivateKeyPem, 6),
|
|
62
|
+
" jwt_public_key_pem: |-",
|
|
63
|
+
this.indentBlock(state.auth.jwtPublicKeyPem, 6),
|
|
64
|
+
' jwt_issuer: "companyhelm.local"',
|
|
65
|
+
' jwt_audience: "companyhelm-web"',
|
|
66
|
+
" jwt_expiration_seconds: 86400",
|
|
67
|
+
"security:",
|
|
68
|
+
" encryption:",
|
|
69
|
+
' key: "companyhelm-local-encryption-key"',
|
|
70
|
+
'log_level: "info"',
|
|
71
|
+
"log_pretty: false",
|
|
72
|
+
""
|
|
73
|
+
].join("\n");
|
|
74
|
+
fs.writeFileSync(outputPath, yaml, "utf8");
|
|
75
|
+
return outputPath;
|
|
76
|
+
}
|
|
77
|
+
writeFrontendConfig(root, state) {
|
|
78
|
+
const runtimePaths = new RuntimePaths(root);
|
|
79
|
+
const outputPath = runtimePaths.frontendConfigPath();
|
|
80
|
+
const yaml = [
|
|
81
|
+
"api:",
|
|
82
|
+
` graphqlApiUrl: "http://127.0.0.1:${state.ports.apiHttp}/graphql"`,
|
|
83
|
+
` runnerGrpcTarget: "localhost:${state.ports.runnerGrpc}"`,
|
|
84
|
+
"auth:",
|
|
85
|
+
' provider: "companyhelm"',
|
|
86
|
+
" companyhelm:",
|
|
87
|
+
' tokenStorageKey: "companyhelm.auth.token"',
|
|
88
|
+
""
|
|
89
|
+
].join("\n");
|
|
90
|
+
fs.writeFileSync(outputPath, yaml, "utf8");
|
|
91
|
+
return outputPath;
|
|
92
|
+
}
|
|
93
|
+
indentBlock(value, spaces) {
|
|
94
|
+
const prefix = " ".repeat(spaces);
|
|
95
|
+
return value
|
|
96
|
+
.trimEnd()
|
|
97
|
+
.split("\n")
|
|
98
|
+
.map((line) => `${prefix}${line}`)
|
|
99
|
+
.join("\n");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface SeedSqlInput {
|
|
2
|
+
companyId: string;
|
|
3
|
+
companyName: string;
|
|
4
|
+
username: string;
|
|
5
|
+
passwordHash: string;
|
|
6
|
+
passwordSalt?: string;
|
|
7
|
+
runnerName: string;
|
|
8
|
+
runnerSecret: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class SeedSqlRenderer {
|
|
11
|
+
render(input: SeedSqlInput): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
export class SeedSqlRenderer {
|
|
8
|
+
render(input) {
|
|
9
|
+
const templatePath = path.resolve(__dirname, "../../templates/seed.sql.tpl");
|
|
10
|
+
const template = fs.readFileSync(templatePath, "utf8");
|
|
11
|
+
const email = `${input.username}@local.companyhelm`;
|
|
12
|
+
const runnerSecretHash = createHash("sha256").update(input.runnerSecret).digest("hex");
|
|
13
|
+
return template
|
|
14
|
+
.replaceAll("{{COMPANY_ID}}", input.companyId)
|
|
15
|
+
.replaceAll("{{COMPANY_NAME}}", input.companyName)
|
|
16
|
+
.replaceAll("{{USER_ID}}", `${input.companyId}-admin`)
|
|
17
|
+
.replaceAll("{{USER_AUTH_ID}}", `${input.companyId}-auth`)
|
|
18
|
+
.replaceAll("{{USER_FIRST_NAME}}", input.username)
|
|
19
|
+
.replaceAll("{{USER_EMAIL}}", email)
|
|
20
|
+
.replaceAll("{{PASSWORD_SALT}}", input.passwordSalt ?? "password-salt")
|
|
21
|
+
.replaceAll("{{PASSWORD_HASH}}", input.passwordHash)
|
|
22
|
+
.replaceAll("{{RUNNER_ID}}", `${input.companyId}-runner`)
|
|
23
|
+
.replaceAll("{{RUNNER_NAME}}", input.runnerName)
|
|
24
|
+
.replaceAll("{{RUNNER_SECRET_HASH}}", runnerSecretHash);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ComposePorts {
|
|
2
|
+
apiHttpPort: number;
|
|
3
|
+
uiPort: number;
|
|
4
|
+
runnerGrpcPort: number;
|
|
5
|
+
agentCliGrpcPort: number;
|
|
6
|
+
}
|
|
7
|
+
export interface ComposePaths {
|
|
8
|
+
apiConfigPath: string;
|
|
9
|
+
frontendConfigPath: string;
|
|
10
|
+
seedFilePath: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class ComposeTemplateRenderer {
|
|
13
|
+
render(ports: ComposePorts, paths: ComposePaths): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { ImageCatalog } from "../runtime/ImageCatalog.js";
|
|
5
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = path.dirname(__filename);
|
|
7
|
+
export class ComposeTemplateRenderer {
|
|
8
|
+
render(ports, paths) {
|
|
9
|
+
const templatePath = path.resolve(__dirname, "../../templates/docker-compose.yaml.tpl");
|
|
10
|
+
const template = fs.readFileSync(templatePath, "utf8");
|
|
11
|
+
const images = new ImageCatalog().resolve();
|
|
12
|
+
return template
|
|
13
|
+
.replaceAll("{{API_IMAGE}}", images.api)
|
|
14
|
+
.replaceAll("{{FRONTEND_IMAGE}}", images.frontend)
|
|
15
|
+
.replaceAll("{{POSTGRES_IMAGE}}", images.postgres)
|
|
16
|
+
.replaceAll("{{API_CONFIG_PATH}}", paths.apiConfigPath)
|
|
17
|
+
.replaceAll("{{FRONTEND_CONFIG_PATH}}", paths.frontendConfigPath)
|
|
18
|
+
.replaceAll("{{SEED_FILE_PATH}}", paths.seedFilePath)
|
|
19
|
+
.replaceAll("{{API_HTTP_PORT}}", String(ports.apiHttpPort))
|
|
20
|
+
.replaceAll("{{UI_PORT}}", String(ports.uiPort))
|
|
21
|
+
.replaceAll("{{RUNNER_GRPC_PORT}}", String(ports.runnerGrpcPort))
|
|
22
|
+
.replaceAll("{{AGENT_CLI_GRPC_PORT}}", String(ports.agentCliGrpcPort));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CommandRunner } from "../process/CommandRunner.js";
|
|
2
|
+
import type { RuntimeState } from "../runtime/RuntimeState.js";
|
|
3
|
+
import { ComposeTemplateRenderer } from "./ComposeTemplateRenderer.js";
|
|
4
|
+
export declare class DockerStackManager {
|
|
5
|
+
private readonly commandRunner;
|
|
6
|
+
private readonly composeRenderer;
|
|
7
|
+
private readonly runtimePaths;
|
|
8
|
+
constructor(root: string, commandRunner?: CommandRunner, composeRenderer?: ComposeTemplateRenderer);
|
|
9
|
+
up(state: RuntimeState): Promise<void>;
|
|
10
|
+
applySeedSql(): Promise<void>;
|
|
11
|
+
down(): Promise<void>;
|
|
12
|
+
logs(service: "postgres" | "api" | "frontend"): Promise<void>;
|
|
13
|
+
runningServices(): Promise<string>;
|
|
14
|
+
}
|