@companyhelm/cli 0.0.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/LICENSE +201 -0
- package/README.md +96 -0
- package/RUNTIME_IMAGE_VERSION +1 -0
- package/dist/cli.js +24 -0
- package/dist/commands/agent/index.js +10 -0
- package/dist/commands/agent/list.js +31 -0
- package/dist/commands/agent/register-agent-commands.js +10 -0
- package/dist/commands/index.js +15 -0
- package/dist/commands/register-commands.js +13 -0
- package/dist/commands/root.js +2077 -0
- package/dist/commands/sdk/index.js +12 -0
- package/dist/commands/sdk/list.js +76 -0
- package/dist/commands/sdk/refresh-models.js +18 -0
- package/dist/commands/sdk/register-sdk-commands.js +12 -0
- package/dist/commands/shell.js +88 -0
- package/dist/commands/startup.js +185 -0
- package/dist/commands/thread/docker.js +77 -0
- package/dist/commands/thread/index.js +12 -0
- package/dist/commands/thread/list.js +37 -0
- package/dist/commands/thread/register-thread-commands.js +12 -0
- package/dist/config/local.js +1 -0
- package/dist/config/schema.js +7 -0
- package/dist/config.js +86 -0
- package/dist/generated/codex-app-server/AbsolutePathBuf.js +3 -0
- package/dist/generated/codex-app-server/AddConversationListenerParams.js +3 -0
- package/dist/generated/codex-app-server/AddConversationSubscriptionResponse.js +3 -0
- package/dist/generated/codex-app-server/AgentMessageContent.js +3 -0
- package/dist/generated/codex-app-server/AgentMessageContentDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentMessageDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentMessageEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentMessageItem.js +3 -0
- package/dist/generated/codex-app-server/AgentReasoningDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentReasoningEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentReasoningRawContentDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentReasoningRawContentEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentReasoningSectionBreakEvent.js +3 -0
- package/dist/generated/codex-app-server/AgentStatus.js +3 -0
- package/dist/generated/codex-app-server/ApplyPatchApprovalParams.js +3 -0
- package/dist/generated/codex-app-server/ApplyPatchApprovalRequestEvent.js +3 -0
- package/dist/generated/codex-app-server/ApplyPatchApprovalResponse.js +3 -0
- package/dist/generated/codex-app-server/ArchiveConversationParams.js +3 -0
- package/dist/generated/codex-app-server/ArchiveConversationResponse.js +3 -0
- package/dist/generated/codex-app-server/AskForApproval.js +3 -0
- package/dist/generated/codex-app-server/AuthMode.js +3 -0
- package/dist/generated/codex-app-server/AuthStatusChangeNotification.js +3 -0
- package/dist/generated/codex-app-server/BackgroundEventEvent.js +3 -0
- package/dist/generated/codex-app-server/ByteRange.js +3 -0
- package/dist/generated/codex-app-server/CallToolResult.js +3 -0
- package/dist/generated/codex-app-server/CancelLoginChatGptParams.js +3 -0
- package/dist/generated/codex-app-server/CancelLoginChatGptResponse.js +3 -0
- package/dist/generated/codex-app-server/ClientInfo.js +3 -0
- package/dist/generated/codex-app-server/ClientNotification.js +3 -0
- package/dist/generated/codex-app-server/ClientRequest.js +3 -0
- package/dist/generated/codex-app-server/CodexErrorInfo.js +3 -0
- package/dist/generated/codex-app-server/CollabAgentInteractionBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabAgentInteractionEndEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabAgentSpawnBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabAgentSpawnEndEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabCloseBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabCloseEndEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabResumeBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabResumeEndEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabWaitingBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/CollabWaitingEndEvent.js +3 -0
- package/dist/generated/codex-app-server/CollaborationMode.js +3 -0
- package/dist/generated/codex-app-server/CollaborationModeMask.js +3 -0
- package/dist/generated/codex-app-server/ContentItem.js +3 -0
- package/dist/generated/codex-app-server/ContextCompactedEvent.js +3 -0
- package/dist/generated/codex-app-server/ContextCompactionItem.js +3 -0
- package/dist/generated/codex-app-server/ConversationGitInfo.js +3 -0
- package/dist/generated/codex-app-server/ConversationSummary.js +3 -0
- package/dist/generated/codex-app-server/CreditsSnapshot.js +3 -0
- package/dist/generated/codex-app-server/CustomPrompt.js +3 -0
- package/dist/generated/codex-app-server/DeprecationNoticeEvent.js +3 -0
- package/dist/generated/codex-app-server/DynamicToolCallRequest.js +3 -0
- package/dist/generated/codex-app-server/ElicitationRequestEvent.js +3 -0
- package/dist/generated/codex-app-server/ErrorEvent.js +3 -0
- package/dist/generated/codex-app-server/EventMsg.js +3 -0
- package/dist/generated/codex-app-server/ExecApprovalRequestEvent.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandApprovalParams.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandApprovalResponse.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandEndEvent.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandOutputDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandSource.js +3 -0
- package/dist/generated/codex-app-server/ExecCommandStatus.js +3 -0
- package/dist/generated/codex-app-server/ExecOneOffCommandParams.js +3 -0
- package/dist/generated/codex-app-server/ExecOneOffCommandResponse.js +3 -0
- package/dist/generated/codex-app-server/ExecOutputStream.js +3 -0
- package/dist/generated/codex-app-server/ExecPolicyAmendment.js +3 -0
- package/dist/generated/codex-app-server/ExitedReviewModeEvent.js +3 -0
- package/dist/generated/codex-app-server/FileChange.js +3 -0
- package/dist/generated/codex-app-server/ForcedLoginMethod.js +3 -0
- package/dist/generated/codex-app-server/ForkConversationParams.js +3 -0
- package/dist/generated/codex-app-server/ForkConversationResponse.js +3 -0
- package/dist/generated/codex-app-server/FunctionCallOutputBody.js +3 -0
- package/dist/generated/codex-app-server/FunctionCallOutputContentItem.js +3 -0
- package/dist/generated/codex-app-server/FunctionCallOutputPayload.js +3 -0
- package/dist/generated/codex-app-server/FuzzyFileSearchParams.js +3 -0
- package/dist/generated/codex-app-server/FuzzyFileSearchResponse.js +3 -0
- package/dist/generated/codex-app-server/FuzzyFileSearchResult.js +3 -0
- package/dist/generated/codex-app-server/FuzzyFileSearchSessionCompletedNotification.js +3 -0
- package/dist/generated/codex-app-server/FuzzyFileSearchSessionUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/GetAuthStatusParams.js +3 -0
- package/dist/generated/codex-app-server/GetAuthStatusResponse.js +3 -0
- package/dist/generated/codex-app-server/GetConversationSummaryParams.js +3 -0
- package/dist/generated/codex-app-server/GetConversationSummaryResponse.js +3 -0
- package/dist/generated/codex-app-server/GetHistoryEntryResponseEvent.js +3 -0
- package/dist/generated/codex-app-server/GetUserAgentResponse.js +3 -0
- package/dist/generated/codex-app-server/GetUserSavedConfigResponse.js +3 -0
- package/dist/generated/codex-app-server/GhostCommit.js +3 -0
- package/dist/generated/codex-app-server/GitDiffToRemoteParams.js +3 -0
- package/dist/generated/codex-app-server/GitDiffToRemoteResponse.js +3 -0
- package/dist/generated/codex-app-server/GitSha.js +3 -0
- package/dist/generated/codex-app-server/HistoryEntry.js +3 -0
- package/dist/generated/codex-app-server/InitializeCapabilities.js +3 -0
- package/dist/generated/codex-app-server/InitializeParams.js +3 -0
- package/dist/generated/codex-app-server/InitializeResponse.js +3 -0
- package/dist/generated/codex-app-server/InputItem.js +3 -0
- package/dist/generated/codex-app-server/InputModality.js +3 -0
- package/dist/generated/codex-app-server/InterruptConversationParams.js +3 -0
- package/dist/generated/codex-app-server/InterruptConversationResponse.js +3 -0
- package/dist/generated/codex-app-server/ItemCompletedEvent.js +3 -0
- package/dist/generated/codex-app-server/ItemStartedEvent.js +3 -0
- package/dist/generated/codex-app-server/ListConversationsParams.js +3 -0
- package/dist/generated/codex-app-server/ListConversationsResponse.js +3 -0
- package/dist/generated/codex-app-server/ListCustomPromptsResponseEvent.js +3 -0
- package/dist/generated/codex-app-server/ListRemoteSkillsResponseEvent.js +3 -0
- package/dist/generated/codex-app-server/ListSkillsResponseEvent.js +3 -0
- package/dist/generated/codex-app-server/LocalShellAction.js +3 -0
- package/dist/generated/codex-app-server/LocalShellExecAction.js +3 -0
- package/dist/generated/codex-app-server/LocalShellStatus.js +3 -0
- package/dist/generated/codex-app-server/LoginApiKeyParams.js +3 -0
- package/dist/generated/codex-app-server/LoginApiKeyResponse.js +3 -0
- package/dist/generated/codex-app-server/LoginChatGptCompleteNotification.js +3 -0
- package/dist/generated/codex-app-server/LoginChatGptResponse.js +3 -0
- package/dist/generated/codex-app-server/LogoutChatGptResponse.js +3 -0
- package/dist/generated/codex-app-server/McpAuthStatus.js +3 -0
- package/dist/generated/codex-app-server/McpInvocation.js +3 -0
- package/dist/generated/codex-app-server/McpListToolsResponseEvent.js +3 -0
- package/dist/generated/codex-app-server/McpStartupCompleteEvent.js +3 -0
- package/dist/generated/codex-app-server/McpStartupFailure.js +3 -0
- package/dist/generated/codex-app-server/McpStartupStatus.js +3 -0
- package/dist/generated/codex-app-server/McpStartupUpdateEvent.js +3 -0
- package/dist/generated/codex-app-server/McpToolCallBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/McpToolCallEndEvent.js +3 -0
- package/dist/generated/codex-app-server/MessagePhase.js +3 -0
- package/dist/generated/codex-app-server/ModeKind.js +3 -0
- package/dist/generated/codex-app-server/ModelRerouteEvent.js +3 -0
- package/dist/generated/codex-app-server/ModelRerouteReason.js +3 -0
- package/dist/generated/codex-app-server/NetworkAccess.js +3 -0
- package/dist/generated/codex-app-server/NetworkApprovalContext.js +3 -0
- package/dist/generated/codex-app-server/NetworkApprovalProtocol.js +3 -0
- package/dist/generated/codex-app-server/NewConversationParams.js +3 -0
- package/dist/generated/codex-app-server/NewConversationResponse.js +3 -0
- package/dist/generated/codex-app-server/ParsedCommand.js +3 -0
- package/dist/generated/codex-app-server/PatchApplyBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/PatchApplyEndEvent.js +3 -0
- package/dist/generated/codex-app-server/PatchApplyStatus.js +3 -0
- package/dist/generated/codex-app-server/Personality.js +3 -0
- package/dist/generated/codex-app-server/PlanDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/PlanItem.js +3 -0
- package/dist/generated/codex-app-server/PlanItemArg.js +3 -0
- package/dist/generated/codex-app-server/PlanType.js +3 -0
- package/dist/generated/codex-app-server/Profile.js +3 -0
- package/dist/generated/codex-app-server/RateLimitSnapshot.js +3 -0
- package/dist/generated/codex-app-server/RateLimitWindow.js +3 -0
- package/dist/generated/codex-app-server/RawResponseItemEvent.js +3 -0
- package/dist/generated/codex-app-server/ReadOnlyAccess.js +3 -0
- package/dist/generated/codex-app-server/ReasoningContentDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/ReasoningEffort.js +3 -0
- package/dist/generated/codex-app-server/ReasoningItem.js +3 -0
- package/dist/generated/codex-app-server/ReasoningItemContent.js +3 -0
- package/dist/generated/codex-app-server/ReasoningItemReasoningSummary.js +3 -0
- package/dist/generated/codex-app-server/ReasoningRawContentDeltaEvent.js +3 -0
- package/dist/generated/codex-app-server/ReasoningSummary.js +3 -0
- package/dist/generated/codex-app-server/RemoteSkillDownloadedEvent.js +3 -0
- package/dist/generated/codex-app-server/RemoteSkillSummary.js +3 -0
- package/dist/generated/codex-app-server/RemoveConversationListenerParams.js +3 -0
- package/dist/generated/codex-app-server/RemoveConversationSubscriptionResponse.js +3 -0
- package/dist/generated/codex-app-server/RequestId.js +3 -0
- package/dist/generated/codex-app-server/RequestUserInputEvent.js +3 -0
- package/dist/generated/codex-app-server/RequestUserInputQuestion.js +3 -0
- package/dist/generated/codex-app-server/RequestUserInputQuestionOption.js +3 -0
- package/dist/generated/codex-app-server/Resource.js +3 -0
- package/dist/generated/codex-app-server/ResourceTemplate.js +3 -0
- package/dist/generated/codex-app-server/ResponseItem.js +3 -0
- package/dist/generated/codex-app-server/ResumeConversationParams.js +3 -0
- package/dist/generated/codex-app-server/ResumeConversationResponse.js +3 -0
- package/dist/generated/codex-app-server/ReviewCodeLocation.js +3 -0
- package/dist/generated/codex-app-server/ReviewDecision.js +3 -0
- package/dist/generated/codex-app-server/ReviewFinding.js +3 -0
- package/dist/generated/codex-app-server/ReviewLineRange.js +3 -0
- package/dist/generated/codex-app-server/ReviewOutputEvent.js +3 -0
- package/dist/generated/codex-app-server/ReviewRequest.js +3 -0
- package/dist/generated/codex-app-server/ReviewTarget.js +3 -0
- package/dist/generated/codex-app-server/SandboxMode.js +3 -0
- package/dist/generated/codex-app-server/SandboxPolicy.js +3 -0
- package/dist/generated/codex-app-server/SandboxSettings.js +3 -0
- package/dist/generated/codex-app-server/SendUserMessageParams.js +3 -0
- package/dist/generated/codex-app-server/SendUserMessageResponse.js +3 -0
- package/dist/generated/codex-app-server/SendUserTurnParams.js +3 -0
- package/dist/generated/codex-app-server/SendUserTurnResponse.js +3 -0
- package/dist/generated/codex-app-server/ServerNotification.js +3 -0
- package/dist/generated/codex-app-server/ServerRequest.js +3 -0
- package/dist/generated/codex-app-server/SessionConfiguredEvent.js +3 -0
- package/dist/generated/codex-app-server/SessionConfiguredNotification.js +3 -0
- package/dist/generated/codex-app-server/SessionNetworkProxyRuntime.js +3 -0
- package/dist/generated/codex-app-server/SessionSource.js +3 -0
- package/dist/generated/codex-app-server/SetDefaultModelParams.js +3 -0
- package/dist/generated/codex-app-server/SetDefaultModelResponse.js +3 -0
- package/dist/generated/codex-app-server/Settings.js +3 -0
- package/dist/generated/codex-app-server/SkillDependencies.js +3 -0
- package/dist/generated/codex-app-server/SkillErrorInfo.js +3 -0
- package/dist/generated/codex-app-server/SkillInterface.js +3 -0
- package/dist/generated/codex-app-server/SkillMetadata.js +3 -0
- package/dist/generated/codex-app-server/SkillScope.js +3 -0
- package/dist/generated/codex-app-server/SkillToolDependency.js +3 -0
- package/dist/generated/codex-app-server/SkillsListEntry.js +3 -0
- package/dist/generated/codex-app-server/StepStatus.js +3 -0
- package/dist/generated/codex-app-server/StreamErrorEvent.js +3 -0
- package/dist/generated/codex-app-server/SubAgentSource.js +3 -0
- package/dist/generated/codex-app-server/TerminalInteractionEvent.js +3 -0
- package/dist/generated/codex-app-server/TextElement.js +3 -0
- package/dist/generated/codex-app-server/ThreadId.js +3 -0
- package/dist/generated/codex-app-server/ThreadNameUpdatedEvent.js +3 -0
- package/dist/generated/codex-app-server/ThreadRolledBackEvent.js +3 -0
- package/dist/generated/codex-app-server/TokenCountEvent.js +3 -0
- package/dist/generated/codex-app-server/TokenUsage.js +3 -0
- package/dist/generated/codex-app-server/TokenUsageInfo.js +3 -0
- package/dist/generated/codex-app-server/Tool.js +3 -0
- package/dist/generated/codex-app-server/Tools.js +3 -0
- package/dist/generated/codex-app-server/TurnAbortReason.js +3 -0
- package/dist/generated/codex-app-server/TurnAbortedEvent.js +3 -0
- package/dist/generated/codex-app-server/TurnCompleteEvent.js +3 -0
- package/dist/generated/codex-app-server/TurnDiffEvent.js +3 -0
- package/dist/generated/codex-app-server/TurnItem.js +3 -0
- package/dist/generated/codex-app-server/TurnStartedEvent.js +3 -0
- package/dist/generated/codex-app-server/UndoCompletedEvent.js +3 -0
- package/dist/generated/codex-app-server/UndoStartedEvent.js +3 -0
- package/dist/generated/codex-app-server/UpdatePlanArgs.js +3 -0
- package/dist/generated/codex-app-server/UserInfoResponse.js +3 -0
- package/dist/generated/codex-app-server/UserInput.js +3 -0
- package/dist/generated/codex-app-server/UserMessageEvent.js +3 -0
- package/dist/generated/codex-app-server/UserMessageItem.js +3 -0
- package/dist/generated/codex-app-server/UserSavedConfig.js +3 -0
- package/dist/generated/codex-app-server/Verbosity.js +3 -0
- package/dist/generated/codex-app-server/ViewImageToolCallEvent.js +3 -0
- package/dist/generated/codex-app-server/WarningEvent.js +3 -0
- package/dist/generated/codex-app-server/WebSearchAction.js +3 -0
- package/dist/generated/codex-app-server/WebSearchBeginEvent.js +3 -0
- package/dist/generated/codex-app-server/WebSearchEndEvent.js +3 -0
- package/dist/generated/codex-app-server/WebSearchItem.js +3 -0
- package/dist/generated/codex-app-server/WebSearchMode.js +3 -0
- package/dist/generated/codex-app-server/index.js +38 -0
- package/dist/generated/codex-app-server/serde_json/JsonValue.js +3 -0
- package/dist/generated/codex-app-server/v2/Account.js +3 -0
- package/dist/generated/codex-app-server/v2/AccountLoginCompletedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/AccountRateLimitsUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/AccountUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/AgentMessageDeltaNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/AnalyticsConfig.js +3 -0
- package/dist/generated/codex-app-server/v2/AppBranding.js +3 -0
- package/dist/generated/codex-app-server/v2/AppDisabledReason.js +3 -0
- package/dist/generated/codex-app-server/v2/AppInfo.js +3 -0
- package/dist/generated/codex-app-server/v2/AppListUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/AppMetadata.js +3 -0
- package/dist/generated/codex-app-server/v2/AppReview.js +3 -0
- package/dist/generated/codex-app-server/v2/AppScreenshot.js +3 -0
- package/dist/generated/codex-app-server/v2/AppsConfig.js +3 -0
- package/dist/generated/codex-app-server/v2/AppsListParams.js +3 -0
- package/dist/generated/codex-app-server/v2/AppsListResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/AskForApproval.js +3 -0
- package/dist/generated/codex-app-server/v2/ByteRange.js +3 -0
- package/dist/generated/codex-app-server/v2/CancelLoginAccountParams.js +3 -0
- package/dist/generated/codex-app-server/v2/CancelLoginAccountResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/CancelLoginAccountStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/ChatgptAuthTokensRefreshParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ChatgptAuthTokensRefreshReason.js +3 -0
- package/dist/generated/codex-app-server/v2/ChatgptAuthTokensRefreshResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/CodexErrorInfo.js +3 -0
- package/dist/generated/codex-app-server/v2/CollabAgentState.js +3 -0
- package/dist/generated/codex-app-server/v2/CollabAgentStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/CollabAgentTool.js +3 -0
- package/dist/generated/codex-app-server/v2/CollabAgentToolCallStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandAction.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecParams.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecutionApprovalDecision.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecutionOutputDeltaNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecutionRequestApprovalParams.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecutionRequestApprovalResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/CommandExecutionStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/Config.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigBatchWriteParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigEdit.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigLayer.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigLayerMetadata.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigLayerSource.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigReadParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigReadResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigRequirements.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigRequirementsReadResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigValueWriteParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigWarningNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ConfigWriteResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ContextCompactedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/CreditsSnapshot.js +3 -0
- package/dist/generated/codex-app-server/v2/DeprecationNoticeNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/DynamicToolCallOutputContentItem.js +3 -0
- package/dist/generated/codex-app-server/v2/DynamicToolCallParams.js +3 -0
- package/dist/generated/codex-app-server/v2/DynamicToolCallResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/DynamicToolSpec.js +3 -0
- package/dist/generated/codex-app-server/v2/ErrorNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ExecPolicyAmendment.js +3 -0
- package/dist/generated/codex-app-server/v2/ExperimentalFeature.js +3 -0
- package/dist/generated/codex-app-server/v2/ExperimentalFeatureListParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ExperimentalFeatureListResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ExperimentalFeatureStage.js +3 -0
- package/dist/generated/codex-app-server/v2/FeedbackUploadParams.js +3 -0
- package/dist/generated/codex-app-server/v2/FeedbackUploadResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/FileChangeApprovalDecision.js +3 -0
- package/dist/generated/codex-app-server/v2/FileChangeOutputDeltaNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/FileChangeRequestApprovalParams.js +3 -0
- package/dist/generated/codex-app-server/v2/FileChangeRequestApprovalResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/FileUpdateChange.js +3 -0
- package/dist/generated/codex-app-server/v2/GetAccountParams.js +3 -0
- package/dist/generated/codex-app-server/v2/GetAccountRateLimitsResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/GetAccountResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/GitInfo.js +3 -0
- package/dist/generated/codex-app-server/v2/HazelnutScope.js +3 -0
- package/dist/generated/codex-app-server/v2/ItemCompletedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ItemStartedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ListMcpServerStatusParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ListMcpServerStatusResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/LoginAccountParams.js +3 -0
- package/dist/generated/codex-app-server/v2/LoginAccountResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/LogoutAccountResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/McpAuthStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/McpServerOauthLoginCompletedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/McpServerOauthLoginParams.js +3 -0
- package/dist/generated/codex-app-server/v2/McpServerOauthLoginResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/McpServerRefreshResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/McpServerStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/McpToolCallError.js +3 -0
- package/dist/generated/codex-app-server/v2/McpToolCallProgressNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/McpToolCallResult.js +3 -0
- package/dist/generated/codex-app-server/v2/McpToolCallStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/MergeStrategy.js +3 -0
- package/dist/generated/codex-app-server/v2/Model.js +3 -0
- package/dist/generated/codex-app-server/v2/ModelListParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ModelListResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ModelRerouteReason.js +3 -0
- package/dist/generated/codex-app-server/v2/ModelReroutedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/NetworkAccess.js +3 -0
- package/dist/generated/codex-app-server/v2/NetworkRequirements.js +3 -0
- package/dist/generated/codex-app-server/v2/OverriddenMetadata.js +3 -0
- package/dist/generated/codex-app-server/v2/PatchApplyStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/PatchChangeKind.js +3 -0
- package/dist/generated/codex-app-server/v2/PlanDeltaNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ProductSurface.js +3 -0
- package/dist/generated/codex-app-server/v2/ProfileV2.js +3 -0
- package/dist/generated/codex-app-server/v2/RateLimitSnapshot.js +3 -0
- package/dist/generated/codex-app-server/v2/RateLimitWindow.js +3 -0
- package/dist/generated/codex-app-server/v2/RawResponseItemCompletedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ReadOnlyAccess.js +3 -0
- package/dist/generated/codex-app-server/v2/ReasoningEffortOption.js +3 -0
- package/dist/generated/codex-app-server/v2/ReasoningSummaryPartAddedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ReasoningSummaryTextDeltaNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ReasoningTextDeltaNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/RemoteSkillSummary.js +3 -0
- package/dist/generated/codex-app-server/v2/ResidencyRequirement.js +3 -0
- package/dist/generated/codex-app-server/v2/ReviewDelivery.js +3 -0
- package/dist/generated/codex-app-server/v2/ReviewStartParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ReviewStartResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ReviewTarget.js +3 -0
- package/dist/generated/codex-app-server/v2/SandboxMode.js +3 -0
- package/dist/generated/codex-app-server/v2/SandboxPolicy.js +3 -0
- package/dist/generated/codex-app-server/v2/SandboxWorkspaceWrite.js +3 -0
- package/dist/generated/codex-app-server/v2/SessionSource.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillDependencies.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillErrorInfo.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillInterface.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillMetadata.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillScope.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillToolDependency.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsConfigWriteParams.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsConfigWriteResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsListEntry.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsListExtraRootsForCwd.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsListParams.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsListResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsRemoteReadParams.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsRemoteReadResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsRemoteWriteParams.js +3 -0
- package/dist/generated/codex-app-server/v2/SkillsRemoteWriteResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/TerminalInteractionNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/TextElement.js +3 -0
- package/dist/generated/codex-app-server/v2/TextPosition.js +3 -0
- package/dist/generated/codex-app-server/v2/TextRange.js +3 -0
- package/dist/generated/codex-app-server/v2/Thread.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadArchiveParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadArchiveResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadArchivedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadCompactStartParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadCompactStartResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadForkParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadForkResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadItem.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadListParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadListResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadLoadedListParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadLoadedListResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadNameUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadReadParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadReadResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadResumeParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadResumeResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadRollbackParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadRollbackResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadSetNameParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadSetNameResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadSortKey.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadSourceKind.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadStartParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadStartResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadStartedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadTokenUsage.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadTokenUsageUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadUnarchiveParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadUnarchiveResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ThreadUnarchivedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/TokenUsageBreakdown.js +3 -0
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputAnswer.js +3 -0
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputOption.js +3 -0
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputParams.js +3 -0
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputQuestion.js +3 -0
- package/dist/generated/codex-app-server/v2/ToolRequestUserInputResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/ToolsV2.js +3 -0
- package/dist/generated/codex-app-server/v2/Turn.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnCompletedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnDiffUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnError.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnInterruptParams.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnInterruptResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnPlanStep.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnPlanStepStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnPlanUpdatedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnStartParams.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnStartResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnStartedNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnSteerParams.js +3 -0
- package/dist/generated/codex-app-server/v2/TurnSteerResponse.js +3 -0
- package/dist/generated/codex-app-server/v2/UserInput.js +3 -0
- package/dist/generated/codex-app-server/v2/WebSearchAction.js +3 -0
- package/dist/generated/codex-app-server/v2/WindowsWorldWritableWarningNotification.js +3 -0
- package/dist/generated/codex-app-server/v2/WriteStatus.js +3 -0
- package/dist/generated/codex-app-server/v2/index.js +3 -0
- package/dist/model.js +22 -0
- package/dist/schema.js +47 -0
- package/dist/service/app_server.js +427 -0
- package/dist/service/buffered_client_message_sender.js +89 -0
- package/dist/service/companyhelm_api_client.js +337 -0
- package/dist/service/docker/app_server_container.js +268 -0
- package/dist/service/docker/dind.js +114 -0
- package/dist/service/docker/docker_provider.js +1 -0
- package/dist/service/docker/runtime_app_server_exec.js +97 -0
- package/dist/service/docker/runtime_container.js +1 -0
- package/dist/service/docker/runtime_image.js +40 -0
- package/dist/service/host.js +15 -0
- package/dist/service/runtime_bashrc.js +57 -0
- package/dist/service/runtime_shell.js +23 -0
- package/dist/service/sdk/refresh_models.js +83 -0
- package/dist/service/thread_lifecycle.js +673 -0
- package/dist/service/thread_runtime.js +15 -0
- package/dist/service/thread_turn_state.js +46 -0
- package/dist/service/thread_user_message_request_store.js +136 -0
- package/dist/service/workspace_agents.js +82 -0
- package/dist/startup.js +166 -0
- package/dist/state/db.js +63 -0
- package/dist/state/schema.js +51 -0
- package/dist/state/service/app_server.js +392 -0
- package/dist/state/service/buffered_client_message_sender.js +73 -0
- package/dist/state/service/companyhelm_api_client.js +316 -0
- package/dist/state/service/docker/app_server_container.js +165 -0
- package/dist/state/service/docker/dind.js +114 -0
- package/dist/state/service/docker/runtime_app_server_exec.js +95 -0
- package/dist/state/service/host.js +15 -0
- package/dist/state/service/runtime_shell.js +23 -0
- package/dist/state/service/sdk/refresh_models.js +83 -0
- package/dist/state/service/thread_lifecycle.js +327 -0
- package/dist/state/service/thread_runtime.js +11 -0
- package/dist/state/service/thread_turn_state.js +45 -0
- package/dist/state/service/workspace_agents.js +115 -0
- package/dist/utils/async_queue.js +102 -0
- package/dist/utils/logger.js +96 -0
- package/dist/utils/path.js +10 -0
- package/drizzle/0000_nice_stepford_cuckoos.sql +25 -0
- package/drizzle/0001_third_vermin.sql +22 -0
- package/drizzle/0002_kind_sue_storm.sql +1 -0
- package/drizzle/0003_dizzy_micromax.sql +35 -0
- package/drizzle/0004_sloppy_alex_wilder.sql +23 -0
- package/drizzle/0005_open_toro.sql +23 -0
- package/drizzle/0006_fixed_jack_flag.sql +23 -0
- package/drizzle/0007_mute_lord_tyger.sql +1 -0
- package/drizzle/0008_melted_flatman.sql +8 -0
- package/drizzle/0009_powerful_hellcat.sql +1 -0
- package/drizzle/0010_wealthy_dorian_gray.sql +24 -0
- package/drizzle/meta/0000_snapshot.json +174 -0
- package/drizzle/meta/0001_snapshot.json +212 -0
- package/drizzle/meta/0002_snapshot.json +219 -0
- package/drizzle/meta/0003_snapshot.json +240 -0
- package/drizzle/meta/0004_snapshot.json +240 -0
- package/drizzle/meta/0005_snapshot.json +240 -0
- package/drizzle/meta/0006_snapshot.json +240 -0
- package/drizzle/meta/0007_snapshot.json +247 -0
- package/drizzle/meta/0008_snapshot.json +306 -0
- package/drizzle/meta/0009_snapshot.json +313 -0
- package/drizzle/meta/0010_snapshot.json +261 -0
- package/drizzle/meta/_journal.json +83 -0
- package/package.json +49 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerSdkCommands = registerSdkCommands;
|
|
4
|
+
const list_js_1 = require("./list.js");
|
|
5
|
+
const refresh_models_js_1 = require("./refresh-models.js");
|
|
6
|
+
function registerSdkCommands(program) {
|
|
7
|
+
const sdkCommand = program
|
|
8
|
+
.command("sdk")
|
|
9
|
+
.description("Manage configured SDKs and their model capabilities.");
|
|
10
|
+
(0, list_js_1.registerSdkListCommand)(sdkCommand);
|
|
11
|
+
(0, refresh_models_js_1.registerSdkRefreshModelsCommand)(sdkCommand);
|
|
12
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runSdkListCommand = runSdkListCommand;
|
|
4
|
+
exports.registerSdkListCommand = registerSdkListCommand;
|
|
5
|
+
const config_js_1 = require("../../config.js");
|
|
6
|
+
const db_js_1 = require("../../state/db.js");
|
|
7
|
+
const schema_js_1 = require("../../state/schema.js");
|
|
8
|
+
function normalizeReasoningLevels(value) {
|
|
9
|
+
if (Array.isArray(value)) {
|
|
10
|
+
return value.filter((item) => typeof item === "string");
|
|
11
|
+
}
|
|
12
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
13
|
+
try {
|
|
14
|
+
const parsed = JSON.parse(value);
|
|
15
|
+
if (Array.isArray(parsed)) {
|
|
16
|
+
return parsed.filter((item) => typeof item === "string");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
function formatReasoningLevels(levels) {
|
|
26
|
+
return levels.length > 0 ? levels.join(", ") : "none";
|
|
27
|
+
}
|
|
28
|
+
async function runSdkListCommand() {
|
|
29
|
+
const cfg = config_js_1.config.parse({});
|
|
30
|
+
const { db, client } = await (0, db_js_1.initDb)(cfg.state_db_path);
|
|
31
|
+
try {
|
|
32
|
+
const sdks = await db.select().from(schema_js_1.agentSdks).orderBy(schema_js_1.agentSdks.name).all();
|
|
33
|
+
const models = await db.select().from(schema_js_1.llmModels).orderBy(schema_js_1.llmModels.sdkName, schema_js_1.llmModels.name).all();
|
|
34
|
+
if (sdks.length === 0) {
|
|
35
|
+
console.log("No SDKs configured.");
|
|
36
|
+
console.log("Run `companyhelm` to configure an SDK.");
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const modelsBySdk = new Map();
|
|
40
|
+
for (const model of models) {
|
|
41
|
+
const sdkModels = modelsBySdk.get(model.sdkName) ?? [];
|
|
42
|
+
sdkModels.push({
|
|
43
|
+
name: model.name,
|
|
44
|
+
reasoningLevels: normalizeReasoningLevels(model.reasoningLevels),
|
|
45
|
+
});
|
|
46
|
+
modelsBySdk.set(model.sdkName, sdkModels);
|
|
47
|
+
}
|
|
48
|
+
sdks.forEach((sdk, index) => {
|
|
49
|
+
console.log(`SDK: ${sdk.name}`);
|
|
50
|
+
console.log(` authentication: ${sdk.authentication}`);
|
|
51
|
+
const sdkModels = modelsBySdk.get(sdk.name) ?? [];
|
|
52
|
+
if (sdkModels.length === 0) {
|
|
53
|
+
console.log(" models: none");
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.log(" models:");
|
|
57
|
+
for (const model of sdkModels) {
|
|
58
|
+
console.log(` - ${model.name}`);
|
|
59
|
+
console.log(` reasoning levels: ${formatReasoningLevels(model.reasoningLevels)}`);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (index < sdks.length - 1) {
|
|
63
|
+
console.log();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
client.close();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function registerSdkListCommand(sdkCommand) {
|
|
72
|
+
sdkCommand
|
|
73
|
+
.command("list")
|
|
74
|
+
.description("List configured SDKs with their available models and reasoning levels.")
|
|
75
|
+
.action(runSdkListCommand);
|
|
76
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runSdkRefreshModelsCommand = runSdkRefreshModelsCommand;
|
|
4
|
+
exports.registerSdkRefreshModelsCommand = registerSdkRefreshModelsCommand;
|
|
5
|
+
const refresh_models_js_1 = require("../../service/sdk/refresh_models.js");
|
|
6
|
+
async function runSdkRefreshModelsCommand(options) {
|
|
7
|
+
const results = await (0, refresh_models_js_1.refreshSdkModels)({ sdk: options.sdk });
|
|
8
|
+
for (const result of results) {
|
|
9
|
+
console.log(`Refreshed ${result.modelCount} models for SDK '${result.sdk}'.`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function registerSdkRefreshModelsCommand(sdkCommand) {
|
|
13
|
+
sdkCommand
|
|
14
|
+
.command("refresh-models")
|
|
15
|
+
.description("Refresh model catalog from app-server and store it in the local database.")
|
|
16
|
+
.option("--sdk <name>", "Refresh only the specified SDK.")
|
|
17
|
+
.action(runSdkRefreshModelsCommand);
|
|
18
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerSdkCommands = registerSdkCommands;
|
|
4
|
+
const list_js_1 = require("./list.js");
|
|
5
|
+
const refresh_models_js_1 = require("./refresh-models.js");
|
|
6
|
+
function registerSdkCommands(program) {
|
|
7
|
+
const sdkCommand = program
|
|
8
|
+
.command("sdk")
|
|
9
|
+
.description("Manage configured SDKs and their model capabilities.");
|
|
10
|
+
(0, list_js_1.registerSdkListCommand)(sdkCommand);
|
|
11
|
+
(0, refresh_models_js_1.registerSdkRefreshModelsCommand)(sdkCommand);
|
|
12
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getShellConfigurableDaemonOptions = getShellConfigurableDaemonOptions;
|
|
4
|
+
exports.buildShellDaemonOverrideArgs = buildShellDaemonOverrideArgs;
|
|
5
|
+
exports.runShellCommand = runShellCommand;
|
|
6
|
+
exports.registerShellCommand = registerShellCommand;
|
|
7
|
+
const config_js_1 = require("../config.js");
|
|
8
|
+
const db_js_1 = require("../state/db.js");
|
|
9
|
+
const schema_js_1 = require("../state/schema.js");
|
|
10
|
+
const NON_OVERRIDABLE_DAEMON_OPTION_NAMES = new Set(["daemon", "serverUrl", "secret", "help"]);
|
|
11
|
+
function resolveDaemonOptionValue(option, values) {
|
|
12
|
+
const explicit = values[option.name];
|
|
13
|
+
if (explicit !== undefined) {
|
|
14
|
+
return explicit;
|
|
15
|
+
}
|
|
16
|
+
if (option.defaultValue !== undefined) {
|
|
17
|
+
return option.defaultValue;
|
|
18
|
+
}
|
|
19
|
+
if (!option.takesValue) {
|
|
20
|
+
return option.negate ? true : false;
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
function getShellConfigurableDaemonOptions(program) {
|
|
25
|
+
return program.options
|
|
26
|
+
.filter((option) => {
|
|
27
|
+
if (!option.long || option.hidden) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return !NON_OVERRIDABLE_DAEMON_OPTION_NAMES.has(option.attributeName());
|
|
31
|
+
})
|
|
32
|
+
.map((option) => ({
|
|
33
|
+
name: option.attributeName(),
|
|
34
|
+
longFlag: option.long,
|
|
35
|
+
description: option.description || "",
|
|
36
|
+
takesValue: option.required || option.optional,
|
|
37
|
+
negate: option.negate,
|
|
38
|
+
defaultValue: option.defaultValue,
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
function buildShellDaemonOverrideArgs(options, values) {
|
|
42
|
+
const args = [];
|
|
43
|
+
for (const option of options) {
|
|
44
|
+
const value = resolveDaemonOptionValue(option, values);
|
|
45
|
+
if (option.takesValue) {
|
|
46
|
+
if (value !== undefined && value !== null && String(value).trim().length > 0) {
|
|
47
|
+
args.push(option.longFlag, String(value));
|
|
48
|
+
}
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const enabled = Boolean(value);
|
|
52
|
+
if (option.negate) {
|
|
53
|
+
if (!enabled) {
|
|
54
|
+
args.push(option.longFlag);
|
|
55
|
+
}
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (enabled) {
|
|
59
|
+
args.push(option.longFlag);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return args;
|
|
63
|
+
}
|
|
64
|
+
async function assertConfiguredSdks(cfg) {
|
|
65
|
+
const { db, client } = await (0, db_js_1.initDb)(cfg.state_db_path);
|
|
66
|
+
try {
|
|
67
|
+
const configuredSdks = await db.select().from(schema_js_1.agentSdks).all();
|
|
68
|
+
if (configuredSdks.length === 0) {
|
|
69
|
+
throw new Error("No SDKs configured. Daemon mode requires at least one configured SDK.");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
client.close();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function runShellCommand(_program) {
|
|
77
|
+
const cfg = config_js_1.config.parse({});
|
|
78
|
+
await assertConfiguredSdks(cfg);
|
|
79
|
+
throw new Error("Interactive shell is no longer supported. Use the daemon mode entrypoint.");
|
|
80
|
+
}
|
|
81
|
+
function registerShellCommand(program) {
|
|
82
|
+
program
|
|
83
|
+
.command("shell")
|
|
84
|
+
.description("Start an interactive protobuf shell against a local companyhelm daemon process.")
|
|
85
|
+
.action(async () => {
|
|
86
|
+
await runShellCommand(program);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.startup = startup;
|
|
40
|
+
const node_fs_1 = require("node:fs");
|
|
41
|
+
const node_path_1 = require("node:path");
|
|
42
|
+
const node_child_process_1 = require("node:child_process");
|
|
43
|
+
const p = __importStar(require("@clack/prompts"));
|
|
44
|
+
const figlet_1 = __importDefault(require("figlet"));
|
|
45
|
+
const config_js_1 = require("../config.js");
|
|
46
|
+
const db_js_1 = require("../state/db.js");
|
|
47
|
+
const schema_js_1 = require("../state/schema.js");
|
|
48
|
+
const host_js_1 = require("../service/host.js");
|
|
49
|
+
const refresh_models_js_1 = require("../service/sdk/refresh_models.js");
|
|
50
|
+
const path_js_1 = require("../utils/path.js");
|
|
51
|
+
function banner() {
|
|
52
|
+
console.log();
|
|
53
|
+
console.log(figlet_1.default.textSync("CompanyHelm", { font: "Small" }));
|
|
54
|
+
console.log();
|
|
55
|
+
}
|
|
56
|
+
async function refreshCodexModelsInStartup() {
|
|
57
|
+
const spinner = p.spinner();
|
|
58
|
+
const seenStatusMessages = new Set();
|
|
59
|
+
spinner.start("Preparing Codex runtime image and refreshing model catalog via app-server");
|
|
60
|
+
const results = await (0, refresh_models_js_1.refreshSdkModels)({
|
|
61
|
+
sdk: "codex",
|
|
62
|
+
imageStatusReporter: (message) => {
|
|
63
|
+
if (seenStatusMessages.has(message)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
seenStatusMessages.add(message);
|
|
67
|
+
p.log.info(message);
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
const count = results[0]?.modelCount ?? 0;
|
|
71
|
+
spinner.stop(`Codex model catalog refreshed (${count} models).`);
|
|
72
|
+
}
|
|
73
|
+
async function dedicatedAuth(cfg, db) {
|
|
74
|
+
const port = cfg.codex.codex_auth_port;
|
|
75
|
+
const socatPort = port + 1;
|
|
76
|
+
const containerName = `companyhelm-codex-auth-${Date.now()}`;
|
|
77
|
+
p.log.info("Starting Codex login inside a container...");
|
|
78
|
+
p.log.info("A browser URL will appear -- open it to complete authentication.");
|
|
79
|
+
const configDir = (0, path_js_1.expandHome)(cfg.config_directory);
|
|
80
|
+
if (!(0, node_fs_1.existsSync)(configDir)) {
|
|
81
|
+
(0, node_fs_1.mkdirSync)(configDir, { recursive: true });
|
|
82
|
+
}
|
|
83
|
+
const destPath = (0, node_path_1.join)(configDir, cfg.codex.codex_auth_file_path);
|
|
84
|
+
const child = (0, node_child_process_1.spawn)("docker", [
|
|
85
|
+
"run",
|
|
86
|
+
"-it",
|
|
87
|
+
"--name",
|
|
88
|
+
containerName,
|
|
89
|
+
"-p",
|
|
90
|
+
`${port}:${socatPort}`,
|
|
91
|
+
"--entrypoint",
|
|
92
|
+
"bash",
|
|
93
|
+
cfg.runtime_image,
|
|
94
|
+
"-c",
|
|
95
|
+
`source "$NVM_DIR/nvm.sh"; socat TCP-LISTEN:${socatPort},fork,bind=0.0.0.0,reuseaddr TCP:127.0.0.1:${port} 2>/dev/null & codex`,
|
|
96
|
+
], { stdio: "inherit" });
|
|
97
|
+
let authCopied = false;
|
|
98
|
+
await new Promise((resolve, reject) => {
|
|
99
|
+
const poll = setInterval(() => {
|
|
100
|
+
const check = (0, node_child_process_1.spawnSync)("docker", ["exec", containerName, "sh", "-c", `test -f ${cfg.codex.codex_auth_path}`], {
|
|
101
|
+
stdio: "ignore",
|
|
102
|
+
});
|
|
103
|
+
if (check.status === 0) {
|
|
104
|
+
clearInterval(poll);
|
|
105
|
+
const resolveResult = (0, node_child_process_1.spawnSync)("docker", ["exec", containerName, "sh", "-c", `echo ${cfg.codex.codex_auth_path}`], {
|
|
106
|
+
encoding: "utf-8",
|
|
107
|
+
});
|
|
108
|
+
const containerAuthAbsPath = resolveResult.stdout.trim();
|
|
109
|
+
const cpResult = (0, node_child_process_1.spawnSync)("docker", ["cp", `${containerName}:${containerAuthAbsPath}`, destPath], {
|
|
110
|
+
stdio: "ignore",
|
|
111
|
+
});
|
|
112
|
+
if (cpResult.status !== 0) {
|
|
113
|
+
(0, node_child_process_1.spawnSync)("docker", ["rm", "-f", containerName], { stdio: "ignore" });
|
|
114
|
+
reject(new Error("Failed to extract auth file from container."));
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
authCopied = true;
|
|
118
|
+
(0, node_child_process_1.spawnSync)("docker", ["rm", "-f", containerName], { stdio: "ignore" });
|
|
119
|
+
resolve();
|
|
120
|
+
}
|
|
121
|
+
}, 1000);
|
|
122
|
+
child.on("exit", () => {
|
|
123
|
+
clearInterval(poll);
|
|
124
|
+
if (!authCopied) {
|
|
125
|
+
(0, node_child_process_1.spawnSync)("docker", ["rm", "-f", containerName], { stdio: "ignore" });
|
|
126
|
+
reject(new Error("Codex login failed or was cancelled."));
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
await db.insert(schema_js_1.agentSdks).values({ name: "codex", authentication: "dedicated" });
|
|
131
|
+
p.log.success(`Codex auth saved to ${destPath}`);
|
|
132
|
+
}
|
|
133
|
+
async function startup() {
|
|
134
|
+
banner();
|
|
135
|
+
const cfg = config_js_1.config.parse({});
|
|
136
|
+
const s = p.spinner();
|
|
137
|
+
s.start("Initializing state database");
|
|
138
|
+
const { db } = await (0, db_js_1.initDb)(cfg.state_db_path);
|
|
139
|
+
s.stop("State database ready.");
|
|
140
|
+
const sdks = await db.select().from(schema_js_1.agentSdks).all();
|
|
141
|
+
if (sdks.length > 0) {
|
|
142
|
+
p.log.success(`Agent SDK configured: ${sdks.map((sdk) => sdk.name).join(", ")}`);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
p.intro("No agent SDK configured. Let's set up Codex authentication.");
|
|
146
|
+
const hostInfo = (0, host_js_1.getHostInfo)(cfg.codex.codex_auth_path);
|
|
147
|
+
const options = [
|
|
148
|
+
{
|
|
149
|
+
value: "dedicated",
|
|
150
|
+
label: "Dedicated",
|
|
151
|
+
hint: "recommended -- runs Codex login inside a container",
|
|
152
|
+
},
|
|
153
|
+
];
|
|
154
|
+
if (hostInfo.codexAuthExists) {
|
|
155
|
+
options.push({
|
|
156
|
+
value: "host",
|
|
157
|
+
label: "Host",
|
|
158
|
+
hint: `reuse existing credentials from ${cfg.codex.codex_auth_path}`,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const authMode = await p.select({
|
|
162
|
+
message: "How would you like to authenticate Codex?",
|
|
163
|
+
options,
|
|
164
|
+
});
|
|
165
|
+
if (p.isCancel(authMode)) {
|
|
166
|
+
p.cancel("Setup cancelled.");
|
|
167
|
+
process.exit(0);
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
if (authMode === "host") {
|
|
171
|
+
await db.insert(schema_js_1.agentSdks).values({ name: "codex", authentication: "host" });
|
|
172
|
+
await refreshCodexModelsInStartup();
|
|
173
|
+
p.outro("Codex SDK configured with host authentication.");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
await dedicatedAuth(cfg, db);
|
|
177
|
+
await refreshCodexModelsInStartup();
|
|
178
|
+
p.outro("Codex login successful!");
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
const message = error instanceof Error ? error.message : "Codex setup failed.";
|
|
182
|
+
p.cancel(message);
|
|
183
|
+
process.exit(1);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runThreadDockerCommand = runThreadDockerCommand;
|
|
4
|
+
exports.registerThreadDockerCommand = registerThreadDockerCommand;
|
|
5
|
+
const node_child_process_1 = require("node:child_process");
|
|
6
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
7
|
+
const config_js_1 = require("../../config.js");
|
|
8
|
+
const runtime_shell_js_1 = require("../../service/runtime_shell.js");
|
|
9
|
+
const thread_runtime_js_1 = require("../../service/thread_runtime.js");
|
|
10
|
+
const db_js_1 = require("../../state/db.js");
|
|
11
|
+
const schema_js_1 = require("../../state/schema.js");
|
|
12
|
+
function resolveExecStatus(result) {
|
|
13
|
+
if (result.error) {
|
|
14
|
+
throw result.error;
|
|
15
|
+
}
|
|
16
|
+
if (result.signal) {
|
|
17
|
+
throw new Error(`docker exec exited due to signal '${result.signal}'.`);
|
|
18
|
+
}
|
|
19
|
+
const status = result.status ?? 1;
|
|
20
|
+
if (status !== 0) {
|
|
21
|
+
throw new Error(`docker exec exited with status ${status}.`);
|
|
22
|
+
}
|
|
23
|
+
throw new Error("docker exec exited unexpectedly.");
|
|
24
|
+
}
|
|
25
|
+
function buildDockerShellCommand(homeDirectory) {
|
|
26
|
+
return `${(0, runtime_shell_js_1.buildNvmCodexBootstrapScript)(homeDirectory)}\nexec bash`;
|
|
27
|
+
}
|
|
28
|
+
async function runThreadDockerCommand(options) {
|
|
29
|
+
const cfg = config_js_1.config.parse({});
|
|
30
|
+
const { db, client } = await (0, db_js_1.initDb)(cfg.state_db_path);
|
|
31
|
+
let threadState;
|
|
32
|
+
try {
|
|
33
|
+
threadState = await db
|
|
34
|
+
.select()
|
|
35
|
+
.from(schema_js_1.threads)
|
|
36
|
+
.where((0, drizzle_orm_1.eq)(schema_js_1.threads.id, options.threadId))
|
|
37
|
+
.get();
|
|
38
|
+
}
|
|
39
|
+
finally {
|
|
40
|
+
client.close();
|
|
41
|
+
}
|
|
42
|
+
if (!threadState) {
|
|
43
|
+
throw new Error(`Thread '${options.threadId}' was not found.`);
|
|
44
|
+
}
|
|
45
|
+
await (0, thread_runtime_js_1.ensureThreadRuntimeReady)({
|
|
46
|
+
dindContainer: threadState.dindContainer,
|
|
47
|
+
runtimeContainer: threadState.runtimeContainer,
|
|
48
|
+
gitUserName: cfg.git_user_name,
|
|
49
|
+
gitUserEmail: cfg.git_user_email,
|
|
50
|
+
user: {
|
|
51
|
+
uid: threadState.uid,
|
|
52
|
+
gid: threadState.gid,
|
|
53
|
+
agentUser: cfg.agent_user,
|
|
54
|
+
agentHomeDirectory: threadState.homeDirectory,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
const result = (0, node_child_process_1.spawnSync)("docker", [
|
|
58
|
+
"exec",
|
|
59
|
+
"-it",
|
|
60
|
+
threadState.runtimeContainer,
|
|
61
|
+
"bash",
|
|
62
|
+
"-lc",
|
|
63
|
+
buildDockerShellCommand(threadState.homeDirectory),
|
|
64
|
+
], {
|
|
65
|
+
stdio: "inherit",
|
|
66
|
+
});
|
|
67
|
+
if (result.status !== 0 || result.signal || result.error) {
|
|
68
|
+
resolveExecStatus(result);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function registerThreadDockerCommand(threadCommand) {
|
|
72
|
+
threadCommand
|
|
73
|
+
.command("docker")
|
|
74
|
+
.description("Start the thread containers when needed, then open an interactive bash session in the runtime container.")
|
|
75
|
+
.requiredOption("--thread-id <id>", "Thread id to open in Docker.")
|
|
76
|
+
.action(runThreadDockerCommand);
|
|
77
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerThreadCommands = registerThreadCommands;
|
|
4
|
+
const docker_js_1 = require("./docker.js");
|
|
5
|
+
const list_js_1 = require("./list.js");
|
|
6
|
+
function registerThreadCommands(program) {
|
|
7
|
+
const threadCommand = program
|
|
8
|
+
.command("thread")
|
|
9
|
+
.description("Manage threads stored in the local state database.");
|
|
10
|
+
(0, list_js_1.registerThreadListCommand)(threadCommand);
|
|
11
|
+
(0, docker_js_1.registerThreadDockerCommand)(threadCommand);
|
|
12
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runThreadListCommand = runThreadListCommand;
|
|
4
|
+
exports.registerThreadListCommand = registerThreadListCommand;
|
|
5
|
+
const config_js_1 = require("../../config.js");
|
|
6
|
+
const db_js_1 = require("../../state/db.js");
|
|
7
|
+
const schema_js_1 = require("../../state/schema.js");
|
|
8
|
+
async function runThreadListCommand() {
|
|
9
|
+
const cfg = config_js_1.config.parse({});
|
|
10
|
+
const { db, client } = await (0, db_js_1.initDb)(cfg.state_db_path);
|
|
11
|
+
try {
|
|
12
|
+
const rows = await db
|
|
13
|
+
.select()
|
|
14
|
+
.from(schema_js_1.threads)
|
|
15
|
+
.orderBy(schema_js_1.threads.id)
|
|
16
|
+
.all();
|
|
17
|
+
if (rows.length === 0) {
|
|
18
|
+
console.log("No threads found.");
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
console.log("Threads:");
|
|
22
|
+
for (const row of rows) {
|
|
23
|
+
const dindLabel = row.dindContainer && row.dindContainer.trim().length > 0 ? row.dindContainer : "(none)";
|
|
24
|
+
console.log(`- id: ${row.id}, status: ${row.status}, model: ${row.model}, ` +
|
|
25
|
+
`reasoning: ${row.reasoningLevel}, runtime: ${row.runtimeContainer}, dind: ${dindLabel}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
client.close();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function registerThreadListCommand(threadCommand) {
|
|
33
|
+
threadCommand
|
|
34
|
+
.command("list")
|
|
35
|
+
.description("List threads from the local state database.")
|
|
36
|
+
.action(runThreadListCommand);
|
|
37
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerThreadCommands = registerThreadCommands;
|
|
4
|
+
const docker_js_1 = require("./docker.js");
|
|
5
|
+
const list_js_1 = require("./list.js");
|
|
6
|
+
function registerThreadCommands(program) {
|
|
7
|
+
const threadCommand = program
|
|
8
|
+
.command("thread")
|
|
9
|
+
.description("Manage threads stored in the local state database.");
|
|
10
|
+
(0, list_js_1.registerThreadListCommand)(threadCommand);
|
|
11
|
+
(0, docker_js_1.registerThreadDockerCommand)(threadCommand);
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const zod_1 = require("zod");
|
|
4
|
+
const schema = zod_1.z.object({
|
|
5
|
+
agent_home: zod_1.z.string().describe("The home directory for the agent.").default("/home/agent"),
|
|
6
|
+
});
|
|
7
|
+
exports.default = schema;
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.config = exports.codexConfig = void 0;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const DEFAULT_RUNTIME_IMAGE_REPOSITORY = "companyhelm/runner";
|
|
8
|
+
const FALLBACK_RUNTIME_IMAGE_VERSION = "latest";
|
|
9
|
+
function loadRuntimeImageVersion() {
|
|
10
|
+
try {
|
|
11
|
+
const version = (0, node_fs_1.readFileSync)((0, node_path_1.join)(__dirname, "..", "RUNTIME_IMAGE_VERSION"), "utf8").trim();
|
|
12
|
+
if (version.length > 0) {
|
|
13
|
+
return version;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Fall back when running from source without packaged assets.
|
|
18
|
+
}
|
|
19
|
+
return FALLBACK_RUNTIME_IMAGE_VERSION;
|
|
20
|
+
}
|
|
21
|
+
const DEFAULT_RUNTIME_IMAGE = `${DEFAULT_RUNTIME_IMAGE_REPOSITORY}:${loadRuntimeImageVersion()}`;
|
|
22
|
+
exports.codexConfig = zod_1.z.object({
|
|
23
|
+
codex_auth_file_path: zod_1.z.string()
|
|
24
|
+
.describe("The path to the Codex authentication file on the host, relative to config_directory.")
|
|
25
|
+
.default("codex-auth.json"),
|
|
26
|
+
codex_auth_path: zod_1.z.string()
|
|
27
|
+
.describe("The path to the Codex auth file. Used on both host and inside the container.")
|
|
28
|
+
.default("~/.codex/auth.json"),
|
|
29
|
+
codex_auth_port: zod_1.z.number()
|
|
30
|
+
.describe("The port used by Codex OAuth callback during dedicated auth.")
|
|
31
|
+
.default(1455),
|
|
32
|
+
app_server_client_name: zod_1.z.string()
|
|
33
|
+
.describe("Client name reported to Codex app-server during initialize.")
|
|
34
|
+
.default("cli"),
|
|
35
|
+
});
|
|
36
|
+
exports.config = zod_1.z.object({
|
|
37
|
+
config_directory: zod_1.z.string()
|
|
38
|
+
.describe("The directory where the config files are stored.")
|
|
39
|
+
.default("~/.config/companyhelm"),
|
|
40
|
+
workspaces_directory: zod_1.z.string()
|
|
41
|
+
.describe("The directory where thread workspaces are stored, relative to config_directory when not absolute.")
|
|
42
|
+
.default("workspaces"),
|
|
43
|
+
state_db_path: zod_1.z.string()
|
|
44
|
+
.describe("The path to the state database.")
|
|
45
|
+
.default("~/.local/share/companyhelm/state.db"),
|
|
46
|
+
companyhelm_api_url: zod_1.z.string()
|
|
47
|
+
.describe("CompanyHelm control plane gRPC endpoint URL.")
|
|
48
|
+
.default("https://api.companyhelm.com:50051"),
|
|
49
|
+
agent_api_url: zod_1.z.string()
|
|
50
|
+
.describe("CompanyHelm AgentTaskService gRPC endpoint URL used by companyhelm-agent inside runtime threads.")
|
|
51
|
+
.default("https://api.companyhelm.com:50052"),
|
|
52
|
+
// Max outbound gRPC client messages to hold while the command channel is disconnected.
|
|
53
|
+
client_message_buffer_limit: zod_1.z.number()
|
|
54
|
+
.int()
|
|
55
|
+
.positive()
|
|
56
|
+
.describe("Maximum number of outbound client messages buffered during command channel disconnects.")
|
|
57
|
+
.default(10000),
|
|
58
|
+
runtime_image: zod_1.z.string()
|
|
59
|
+
.describe("The name of the runtime image.")
|
|
60
|
+
.default(DEFAULT_RUNTIME_IMAGE),
|
|
61
|
+
dind_image: zod_1.z.string()
|
|
62
|
+
.describe("The name of the DIND image.")
|
|
63
|
+
.default("docker:29-dind-rootless"),
|
|
64
|
+
use_host_docker_runtime: zod_1.z.boolean()
|
|
65
|
+
.describe("When true, mount host Docker socket into runtime containers instead of creating DinD sidecars.")
|
|
66
|
+
.default(false),
|
|
67
|
+
host_docker_path: zod_1.z.string()
|
|
68
|
+
.describe("Host Docker endpoint when use_host_docker_runtime is enabled. Supported: unix:///<socket-path> or tcp://localhost:<port>.")
|
|
69
|
+
.default("unix:///var/run/docker.sock"),
|
|
70
|
+
thread_git_skills_directory: zod_1.z.string()
|
|
71
|
+
.describe("Container directory where thread git skill repositories are cloned.")
|
|
72
|
+
.default("/skills"),
|
|
73
|
+
agent_user: zod_1.z.string()
|
|
74
|
+
.describe("The user for the agent.")
|
|
75
|
+
.default("agent"),
|
|
76
|
+
agent_home_directory: zod_1.z.string()
|
|
77
|
+
.describe("The home directory for the agent.")
|
|
78
|
+
.default("/home/agent"),
|
|
79
|
+
git_user_name: zod_1.z.string()
|
|
80
|
+
.describe("Default git author name used when runtime repositories are missing user.name.")
|
|
81
|
+
.default("agent"),
|
|
82
|
+
git_user_email: zod_1.z.string()
|
|
83
|
+
.describe("Default git author email used when runtime repositories are missing user.email.")
|
|
84
|
+
.default("agent@companyhelm.com"),
|
|
85
|
+
codex: exports.codexConfig.default(() => exports.codexConfig.parse({})),
|
|
86
|
+
});
|