@cartanova/qgrid-cli 2.4.8 → 2.5.0
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.ko.md +18 -11
- package/README.md +18 -11
- package/bundle/.env +0 -0
- package/bundle/dist/_virtual/{_@oxc-project_runtime@0.122.0/helpers → _@oxc-project_runtime@0.140.0/helpers/esm}/decorate.js +2 -2
- package/bundle/dist/_virtual/{_@oxc-project_runtime@0.122.0/helpers → _@oxc-project_runtime@0.140.0/helpers/esm}/decorateMetadata.js +2 -2
- package/bundle/dist/_virtual/_rolldown/runtime.js +2 -3
- package/bundle/dist/application/monit/log-buffer.js +3 -2
- package/bundle/dist/application/monit/monit.frame.js +5 -6
- package/bundle/dist/application/monit/monit.types.js +1 -2
- package/bundle/dist/application/qgrid/conv-routing.js +1 -2
- package/bundle/dist/application/qgrid/oauth.js +1 -2
- package/bundle/dist/application/qgrid/qgrid-image-generation.js +1 -2
- package/bundle/dist/application/qgrid/qgrid-response-format.js +1 -2
- package/bundle/dist/application/qgrid/qgrid-run-lifecycle.js +76 -47
- package/bundle/dist/application/qgrid/qgrid.dispatcher.js +1 -2
- package/bundle/dist/application/qgrid/qgrid.frame.js +73 -97
- package/bundle/dist/application/qgrid/qgrid.types.js +11 -10
- package/bundle/dist/application/qgrid/token-subscriber.js +3 -2
- package/bundle/dist/application/qgrid/token-trigger-setup.js +1 -2
- package/bundle/dist/application/qgrid/tool-emulation.js +1 -2
- package/bundle/dist/application/queries.generated.js +1 -2
- package/bundle/dist/application/request-log/request-log.model.js +116 -47
- package/bundle/dist/application/request-log/request-log.types.js +1 -2
- package/bundle/dist/application/request-log-step/request-log-step.model.js +3 -4
- package/bundle/dist/application/request-log-step/request-log-step.types.js +1 -2
- package/bundle/dist/application/sonamu.generated.js +14 -15
- package/bundle/dist/application/sonamu.generated.sso.js +1 -2
- package/bundle/dist/application/token/token.model.js +3 -4
- package/bundle/dist/application/token/token.types.js +1 -2
- package/bundle/dist/codex-protocol/AbsolutePathBuf.js +0 -1
- package/bundle/dist/codex-protocol/AgentPath.js +0 -1
- package/bundle/dist/codex-protocol/ApplyPatchApprovalParams.js +0 -1
- package/bundle/dist/codex-protocol/ApplyPatchApprovalResponse.js +0 -1
- package/bundle/dist/codex-protocol/AuthMode.js +0 -1
- package/bundle/dist/codex-protocol/ClientInfo.js +0 -1
- package/bundle/dist/codex-protocol/ClientNotification.js +0 -1
- package/bundle/dist/codex-protocol/ClientRequest.js +0 -1
- package/bundle/dist/codex-protocol/CollaborationMode.js +0 -1
- package/bundle/dist/codex-protocol/ContentItem.js +0 -1
- package/bundle/dist/codex-protocol/ConversationGitInfo.js +0 -1
- package/bundle/dist/codex-protocol/ConversationSummary.js +0 -1
- package/bundle/dist/codex-protocol/ExecCommandApprovalParams.js +0 -1
- package/bundle/dist/codex-protocol/ExecCommandApprovalResponse.js +0 -1
- package/bundle/dist/codex-protocol/ExecPolicyAmendment.js +0 -1
- package/bundle/dist/codex-protocol/FileChange.js +0 -1
- package/bundle/dist/codex-protocol/ForcedLoginMethod.js +0 -1
- package/bundle/dist/codex-protocol/FunctionCallOutputBody.js +0 -1
- package/bundle/dist/codex-protocol/FunctionCallOutputContentItem.js +0 -1
- package/bundle/dist/codex-protocol/FuzzyFileSearchMatchType.js +0 -1
- package/bundle/dist/codex-protocol/FuzzyFileSearchParams.js +0 -1
- package/bundle/dist/codex-protocol/FuzzyFileSearchResponse.js +0 -1
- package/bundle/dist/codex-protocol/FuzzyFileSearchResult.js +0 -1
- package/bundle/dist/codex-protocol/FuzzyFileSearchSessionCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/FuzzyFileSearchSessionUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/GetAuthStatusParams.js +0 -1
- package/bundle/dist/codex-protocol/GetAuthStatusResponse.js +0 -1
- package/bundle/dist/codex-protocol/GetConversationSummaryParams.js +0 -1
- package/bundle/dist/codex-protocol/GetConversationSummaryResponse.js +0 -1
- package/bundle/dist/codex-protocol/GitDiffToRemoteParams.js +0 -1
- package/bundle/dist/codex-protocol/GitDiffToRemoteResponse.js +0 -1
- package/bundle/dist/codex-protocol/GitSha.js +0 -1
- package/bundle/dist/codex-protocol/ImageDetail.js +0 -1
- package/bundle/dist/codex-protocol/InitializeCapabilities.js +0 -1
- package/bundle/dist/codex-protocol/InitializeParams.js +0 -1
- package/bundle/dist/codex-protocol/InitializeResponse.js +0 -1
- package/bundle/dist/codex-protocol/InputModality.js +0 -1
- package/bundle/dist/codex-protocol/InternalSessionSource.js +0 -1
- package/bundle/dist/codex-protocol/LocalShellAction.js +0 -1
- package/bundle/dist/codex-protocol/LocalShellExecAction.js +0 -1
- package/bundle/dist/codex-protocol/LocalShellStatus.js +0 -1
- package/bundle/dist/codex-protocol/MessagePhase.js +0 -1
- package/bundle/dist/codex-protocol/ModeKind.js +0 -1
- package/bundle/dist/codex-protocol/NetworkPolicyAmendment.js +0 -1
- package/bundle/dist/codex-protocol/NetworkPolicyRuleAction.js +0 -1
- package/bundle/dist/codex-protocol/ParsedCommand.js +0 -1
- package/bundle/dist/codex-protocol/Personality.js +0 -1
- package/bundle/dist/codex-protocol/PlanType.js +0 -1
- package/bundle/dist/codex-protocol/RealtimeConversationVersion.js +0 -1
- package/bundle/dist/codex-protocol/RealtimeOutputModality.js +0 -1
- package/bundle/dist/codex-protocol/RealtimeVoice.js +0 -1
- package/bundle/dist/codex-protocol/RealtimeVoicesList.js +0 -1
- package/bundle/dist/codex-protocol/ReasoningEffort.js +0 -1
- package/bundle/dist/codex-protocol/ReasoningItemContent.js +0 -1
- package/bundle/dist/codex-protocol/ReasoningItemReasoningSummary.js +0 -1
- package/bundle/dist/codex-protocol/ReasoningSummary.js +0 -1
- package/bundle/dist/codex-protocol/RequestId.js +0 -1
- package/bundle/dist/codex-protocol/Resource.js +0 -1
- package/bundle/dist/codex-protocol/ResourceContent.js +0 -1
- package/bundle/dist/codex-protocol/ResourceTemplate.js +0 -1
- package/bundle/dist/codex-protocol/ResponseItem.js +0 -1
- package/bundle/dist/codex-protocol/ReviewDecision.js +0 -1
- package/bundle/dist/codex-protocol/ServerNotification.js +0 -1
- package/bundle/dist/codex-protocol/ServerRequest.js +0 -1
- package/bundle/dist/codex-protocol/SessionSource.js +0 -1
- package/bundle/dist/codex-protocol/Settings.js +0 -1
- package/bundle/dist/codex-protocol/SubAgentSource.js +0 -1
- package/bundle/dist/codex-protocol/ThreadId.js +0 -1
- package/bundle/dist/codex-protocol/ThreadMemoryMode.js +0 -1
- package/bundle/dist/codex-protocol/Tool.js +0 -1
- package/bundle/dist/codex-protocol/Verbosity.js +0 -1
- package/bundle/dist/codex-protocol/WebSearchAction.js +0 -1
- package/bundle/dist/codex-protocol/WebSearchContextSize.js +0 -1
- package/bundle/dist/codex-protocol/WebSearchLocation.js +0 -1
- package/bundle/dist/codex-protocol/WebSearchMode.js +0 -1
- package/bundle/dist/codex-protocol/WebSearchToolConfig.js +0 -1
- package/bundle/dist/codex-protocol/index.js +0 -1
- package/bundle/dist/codex-protocol/serde_json/JsonValue.js +0 -1
- package/bundle/dist/codex-protocol/v2/Account.js +0 -1
- package/bundle/dist/codex-protocol/v2/AccountLoginCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/AccountRateLimitsUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/AccountUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ActivePermissionProfile.js +0 -1
- package/bundle/dist/codex-protocol/v2/ActivePermissionProfileModification.js +0 -1
- package/bundle/dist/codex-protocol/v2/AddCreditsNudgeCreditType.js +0 -1
- package/bundle/dist/codex-protocol/v2/AddCreditsNudgeEmailStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/AdditionalFileSystemPermissions.js +0 -1
- package/bundle/dist/codex-protocol/v2/AdditionalNetworkPermissions.js +0 -1
- package/bundle/dist/codex-protocol/v2/AdditionalPermissionProfile.js +0 -1
- package/bundle/dist/codex-protocol/v2/AgentMessageDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/AnalyticsConfig.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppBranding.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppListUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppMetadata.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppReview.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppScreenshot.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppSummary.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppToolApproval.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppToolsConfig.js +0 -1
- package/bundle/dist/codex-protocol/v2/ApprovalsReviewer.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppsConfig.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppsDefaultConfig.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppsListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/AppsListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/AskForApproval.js +0 -1
- package/bundle/dist/codex-protocol/v2/AutoReviewDecisionSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/ByteRange.js +0 -1
- package/bundle/dist/codex-protocol/v2/CancelLoginAccountParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/CancelLoginAccountResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CancelLoginAccountStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshReason.js +0 -1
- package/bundle/dist/codex-protocol/v2/ChatgptAuthTokensRefreshResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CodexErrorInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/CollabAgentState.js +0 -1
- package/bundle/dist/codex-protocol/v2/CollabAgentStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/CollabAgentTool.js +0 -1
- package/bundle/dist/codex-protocol/v2/CollabAgentToolCallStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/CollaborationModeMask.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandAction.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecOutputDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecOutputStream.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecResizeParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecResizeResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecTerminalSize.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecTerminateParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecTerminateResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecWriteParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecWriteResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecutionApprovalDecision.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecutionOutputDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecutionRequestApprovalResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecutionSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandExecutionStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/CommandMigration.js +0 -1
- package/bundle/dist/codex-protocol/v2/Config.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigBatchWriteParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigEdit.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigLayer.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigLayerMetadata.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigLayerSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigReadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigRequirements.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigRequirementsReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigValueWriteParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigWarningNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfigWriteResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfiguredHookHandler.js +0 -1
- package/bundle/dist/codex-protocol/v2/ConfiguredHookMatcherGroup.js +0 -1
- package/bundle/dist/codex-protocol/v2/ContextCompactedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/CreditsSnapshot.js +0 -1
- package/bundle/dist/codex-protocol/v2/DeprecationNoticeNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/DynamicToolCallOutputContentItem.js +0 -1
- package/bundle/dist/codex-protocol/v2/DynamicToolCallParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/DynamicToolCallResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/DynamicToolCallStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/DynamicToolSpec.js +0 -1
- package/bundle/dist/codex-protocol/v2/ErrorNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExecPolicyAmendment.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExperimentalFeature.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureEnablementSetResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExperimentalFeatureStage.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigDetectResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigImportResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItem.js +0 -1
- package/bundle/dist/codex-protocol/v2/ExternalAgentConfigMigrationItemType.js +0 -1
- package/bundle/dist/codex-protocol/v2/FeedbackUploadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FeedbackUploadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileChangeApprovalDecision.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileChangeOutputDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileChangePatchUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileChangeRequestApprovalResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileSystemAccessMode.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileSystemPath.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileSystemSandboxEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileSystemSpecialPath.js +0 -1
- package/bundle/dist/codex-protocol/v2/FileUpdateChange.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsChangedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsCopyParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsCopyResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsCreateDirectoryParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsCreateDirectoryResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsGetMetadataParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsGetMetadataResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsReadDirectoryEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsReadDirectoryParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsReadDirectoryResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsReadFileParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsReadFileResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsRemoveParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsRemoveResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsUnwatchParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsUnwatchResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsWatchParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsWatchResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsWriteFileParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/FsWriteFileResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/GetAccountParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/GetAccountRateLimitsResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/GetAccountResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/GitInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/GrantedPermissionProfile.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianApprovalReview.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewAction.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianApprovalReviewStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianCommandSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianRiskLevel.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianUserAuthorization.js +0 -1
- package/bundle/dist/codex-protocol/v2/GuardianWarningNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookErrorInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookEventName.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookExecutionMode.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookHandlerType.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookMetadata.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookMigration.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookOutputEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookOutputEntryKind.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookPromptFragment.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookRunStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookRunSummary.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookScope.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookStartedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/HookTrustStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/HooksListEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/HooksListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/HooksListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ItemCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ItemGuardianApprovalReviewStartedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ItemStartedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ListMcpServerStatusParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ListMcpServerStatusResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/LoginAccountParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/LoginAccountResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/LogoutAccountResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ManagedHooksRequirements.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceAddParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceAddResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceInterface.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceLoadErrorInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceRemoveParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceRemoveResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeErrorInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/MarketplaceUpgradeResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpAuthStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationArrayType.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationBooleanSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationBooleanType.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationConstOption.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationLegacyTitledEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationMultiSelectEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationNumberSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationNumberType.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationObjectType.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationPrimitiveSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationSingleSelectEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationStringFormat.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationStringSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationStringType.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationTitledEnumItems.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationTitledMultiSelectEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationTitledSingleSelectEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationUntitledEnumItems.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationUntitledMultiSelectEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpElicitationUntitledSingleSelectEnumSchema.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpResourceReadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpResourceReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerElicitationAction.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerElicitationRequestResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerMigration.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerOauthLoginCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerOauthLoginParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerOauthLoginResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerRefreshResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerStartupState.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerStatusDetail.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerStatusUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerToolCallParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpServerToolCallResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpToolCallError.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpToolCallProgressNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpToolCallResult.js +0 -1
- package/bundle/dist/codex-protocol/v2/McpToolCallStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/MemoryCitation.js +0 -1
- package/bundle/dist/codex-protocol/v2/MemoryCitationEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/MergeStrategy.js +0 -1
- package/bundle/dist/codex-protocol/v2/MigrationDetails.js +0 -1
- package/bundle/dist/codex-protocol/v2/Model.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelAvailabilityNux.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelProviderCapabilitiesReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelRerouteReason.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelReroutedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelServiceTier.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelUpgradeInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelVerification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ModelVerificationNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkAccess.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkApprovalContext.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkApprovalProtocol.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkDomainPermission.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkPolicyAmendment.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkPolicyRuleAction.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkRequirements.js +0 -1
- package/bundle/dist/codex-protocol/v2/NetworkUnixSocketPermission.js +0 -1
- package/bundle/dist/codex-protocol/v2/NonSteerableTurnKind.js +0 -1
- package/bundle/dist/codex-protocol/v2/OverriddenMetadata.js +0 -1
- package/bundle/dist/codex-protocol/v2/PatchApplyStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/PatchChangeKind.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionGrantScope.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionProfile.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionProfileFileSystemPermissions.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionProfileModificationParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionProfileNetworkPermissions.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionProfileSelectionParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PermissionsRequestApprovalResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PlanDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginAuthPolicy.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginAvailability.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginDetail.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginHookSummary.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginInstallParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginInstallPolicy.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginInstallResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginInterface.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginListMarketplaceKind.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginMarketplaceEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginReadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareContext.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareDeleteParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareDeleteResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareDiscoverability.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareListItem.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginSharePrincipal.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginSharePrincipalType.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareSaveParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareSaveResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareTarget.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareUpdateDiscoverability.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginShareUpdateTargetsResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginSkillReadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginSkillReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginSummary.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginUninstallParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginUninstallResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/PluginsMigration.js +0 -1
- package/bundle/dist/codex-protocol/v2/ProcessExitedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ProcessOutputDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ProcessOutputStream.js +0 -1
- package/bundle/dist/codex-protocol/v2/ProcessTerminalSize.js +0 -1
- package/bundle/dist/codex-protocol/v2/ProfileV2.js +0 -1
- package/bundle/dist/codex-protocol/v2/RateLimitReachedType.js +0 -1
- package/bundle/dist/codex-protocol/v2/RateLimitSnapshot.js +0 -1
- package/bundle/dist/codex-protocol/v2/RateLimitWindow.js +0 -1
- package/bundle/dist/codex-protocol/v2/RawResponseItemCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReasoningEffortOption.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReasoningSummaryPartAddedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReasoningSummaryTextDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReasoningTextDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/RemoteControlConnectionStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/RemoteControlStatusChangedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/RequestPermissionProfile.js +0 -1
- package/bundle/dist/codex-protocol/v2/ResidencyRequirement.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReviewDelivery.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReviewStartParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReviewStartResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ReviewTarget.js +0 -1
- package/bundle/dist/codex-protocol/v2/SandboxMode.js +0 -1
- package/bundle/dist/codex-protocol/v2/SandboxPolicy.js +0 -1
- package/bundle/dist/codex-protocol/v2/SandboxWorkspaceWrite.js +0 -1
- package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/SendAddCreditsNudgeEmailResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ServerRequestResolvedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/SessionMigration.js +0 -1
- package/bundle/dist/codex-protocol/v2/SessionSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillDependencies.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillErrorInfo.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillInterface.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillMetadata.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillScope.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillSummary.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillToolDependency.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillsChangedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillsConfigWriteParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillsConfigWriteResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillsListEntry.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillsListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/SkillsListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/SortDirection.js +0 -1
- package/bundle/dist/codex-protocol/v2/SubagentMigration.js +0 -1
- package/bundle/dist/codex-protocol/v2/TerminalInteractionNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/TextElement.js +0 -1
- package/bundle/dist/codex-protocol/v2/TextPosition.js +0 -1
- package/bundle/dist/codex-protocol/v2/TextRange.js +0 -1
- package/bundle/dist/codex-protocol/v2/Thread.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadActiveFlag.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadApproveGuardianDeniedActionResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadArchiveParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadArchiveResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadArchivedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadClosedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadCompactStartParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadCompactStartResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadForkParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadForkResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadGoal.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadGoalClearedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadGoalStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadGoalUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadInjectItemsParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadInjectItemsResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadItem.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadLoadedListParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadLoadedListResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadMetadataGitInfoUpdateParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadMetadataUpdateResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadNameUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadReadParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadReadResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeAudioChunk.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeClosedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeErrorNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeItemAddedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeOutputAudioDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeSdpNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartTransport.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeStartedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDeltaNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRealtimeTranscriptDoneNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadResumeParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadResumeResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRollbackParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadRollbackResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadSetNameParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadSetNameResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadShellCommandParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadShellCommandResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadSortKey.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadSourceKind.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadStartParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadStartResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadStartSource.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadStartedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadStatusChangedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadTokenUsage.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadTokenUsageUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadUnarchiveParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadUnarchiveResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadUnarchivedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ThreadUnsubscribeStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/TokenUsageBreakdown.js +0 -1
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputAnswer.js +0 -1
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputOption.js +0 -1
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputQuestion.js +0 -1
- package/bundle/dist/codex-protocol/v2/ToolRequestUserInputResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/ToolsV2.js +0 -1
- package/bundle/dist/codex-protocol/v2/Turn.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnDiffUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnEnvironmentParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnError.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnInterruptParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnInterruptResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnItemsView.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnPlanStep.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnPlanStepStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnPlanUpdatedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnStartParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnStartResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnStartedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnStatus.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnSteerParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/TurnSteerResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/UserInput.js +0 -1
- package/bundle/dist/codex-protocol/v2/WarningNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/WebSearchAction.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsSandboxReadiness.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsSandboxReadinessResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupCompletedNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupMode.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartParams.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsSandboxSetupStartResponse.js +0 -1
- package/bundle/dist/codex-protocol/v2/WindowsWorldWritableWarningNotification.js +0 -1
- package/bundle/dist/codex-protocol/v2/WriteStatus.js +0 -1
- package/bundle/dist/i18n/en.js +1 -2
- package/bundle/dist/i18n/ko.js +1 -2
- package/bundle/dist/i18n/sd.generated.js +54 -21
- package/bundle/dist/index.js +1 -2
- package/bundle/dist/migrations/20260410171405_create__request_logs.js +1 -2
- package/bundle/dist/migrations/20260410171406_create__tokens.js +1 -2
- package/bundle/dist/migrations/20260411120624_alter_tokens_alter2.js +1 -2
- package/bundle/dist/migrations/20260415113716_alter_tokens_add_ord.js +1 -2
- package/bundle/dist/migrations/20260415134649_alter_request_logs_alter1.js +1 -2
- package/bundle/dist/migrations/20260421223627_alter_request_logs_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260423180818_alter_request_logs_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260423182017_alter_request_logs_add2_drop1_alter1.js +1 -2
- package/bundle/dist/migrations/20260423183613_alter_request_logs_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260518145411_alter_tokens_add2_drop4_alter1.js +1 -2
- package/bundle/dist/migrations/20260520112853_alter_request_logs_add3_alter1.js +1 -2
- package/bundle/dist/migrations/20260520124755_alter_request_logs_drop1_alter1.js +1 -2
- package/bundle/dist/migrations/20260520130420_create__request_log_steps.js +1 -2
- package/bundle/dist/migrations/20260520134908_alter_request_logs_add2_alter8.js +1 -2
- package/bundle/dist/migrations/20260520134909_alter_request_log_steps_add1_alter3.js +1 -2
- package/bundle/dist/migrations/20260520141449_alter_request_logs_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260521134025_alter_request_log_steps_alter1.js +1 -2
- package/bundle/dist/migrations/20260521134026_alter_request_log_steps_foreigns.js +1 -2
- package/bundle/dist/migrations/20260522181721_alter_request_log_steps_add2_alter1.js +1 -2
- package/bundle/dist/migrations/20260630223950_alter_tokens_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260701105327_alter_request_logs_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260701105328_alter_request_log_steps_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260705140614_alter_request_logs_add1_alter1.js +1 -2
- package/bundle/dist/migrations/20260706120000_alter_request_logs_add_image_cost.js +1 -2
- package/bundle/dist/migrations/20260710090000_alter_tokens_add_weight.js +1 -2
- package/bundle/dist/migrations/20260718180824_alter_request_logs_add5_alter1.js +1 -2
- package/bundle/dist/migrations/20260718180825_alter_request_log_steps_add7_alter1.js +1 -2
- package/bundle/dist/migrations/20260722174410_alter_request_logs_alter3.js +17 -0
- package/bundle/dist/migrations/20260722174411_alter_request_log_steps_alter3.js +17 -0
- package/bundle/dist/node_modules/.pnpm/@jridgewell_sourcemap-codec@1.5.5/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.js +255 -4
- package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.10/node_modules/@vitest/expect/dist/index.js +1507 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.js +887 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/chunk-artifact.js +2756 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/index.js +8 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.10/node_modules/@vitest/runner/dist/utils.js +8 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.js +922 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.10/node_modules/@vitest/spy/dist/index.js +386 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +121 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/constants.js +51 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/diff.js +1317 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/display.js +561 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/error.js +40 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/helpers.js +272 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/offset.js +27 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/serialize.js +77 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/source-map.js +381 -0
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.10/node_modules/@vitest/utils/dist/timers.js +51 -0
- package/bundle/dist/node_modules/.pnpm/chai@6.2.2/node_modules/chai/index.js +103 -3
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.js +1 -1
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.js +1 -1
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.js +1 -1
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.js +1 -1
- package/bundle/dist/node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.js +1 -1
- package/bundle/dist/node_modules/.pnpm/magic-string@0.30.21/node_modules/magic-string/dist/magic-string.es.js +2 -3
- package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/index.js +4 -4
- package/bundle/dist/node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.js +2 -2
- package/bundle/dist/node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js +18 -7
- package/bundle/dist/node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.js +18 -3
- package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.11.2_@emnapi_runtime@1.11.2_@types_node@25.0.7_esbuild@0.27.4_2519c2e8d8013fcbc7b443879bc9da6d/node_modules/vite/dist/node/module-runner.js +1265 -0
- package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/_commonjsHelpers.D26ty3Ew.js +6 -3
- package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/benchmark.CX_oY03V.js +8 -8
- package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/evaluatedModules.Dg1zASAC.js +5 -5
- package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/index.Chj8NDwU.js +3 -3
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/chunks/index.DdgEv5B1.js +46 -0
- package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/rpc.MzXet3jl.js +66 -6
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/chunks/test.DNmyFkvJ.js +3044 -0
- package/bundle/dist/node_modules/.pnpm/{vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496 → vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c}/node_modules/vitest/dist/chunks/utils.BX5Fg8C4.js +19 -4
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.10_@opentelemetry_api@1.9.0_@types_node@25.0.7_@vitest_coverage-v8@4.1.10_ms_f9cfcfeddd63e656d4010c98521af26c/node_modules/vitest/dist/index.js +28 -0
- package/bundle/dist/server-bootstrap.js +1 -2
- package/bundle/dist/sonamu.config.js +11 -27
- package/bundle/dist/startup-migrations.js +1 -2
- package/bundle/dist/testing/fixture.js +1 -2
- package/bundle/dist/testing/global.js +6 -7
- package/bundle/dist/testing/setup-mocks.js +3 -4
- package/bundle/dist/testing/test-database-name.js +5 -8
- package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +8 -8
- package/bundle/dist/utils/providers/anthropic/anthropic-dispatcher.js +1 -2
- package/bundle/dist/utils/providers/anthropic/anthropic-quota.js +1 -2
- package/bundle/dist/utils/providers/anthropic/claude-session.js +5 -7
- package/bundle/dist/utils/providers/anthropic/stream-json-adapter.js +1 -2
- package/bundle/dist/utils/providers/common/credentials.js +1 -2
- package/bundle/dist/utils/providers/common/model-cost.js +3 -3
- package/bundle/dist/utils/providers/common/provider-dispatcher.js +0 -1
- package/bundle/dist/utils/providers/common/smooth-weighted-round-robin.js +1 -2
- package/bundle/dist/utils/providers/common/strictifier.js +2 -2
- package/bundle/dist/utils/providers/common/token-picker.js +1 -2
- package/bundle/dist/utils/providers/common/ttft.js +1 -2
- package/bundle/dist/utils/providers/openai/codex-rpc.js +4 -2
- package/bundle/dist/utils/providers/openai/codex-worker.js +2 -2
- package/bundle/dist/utils/providers/openai/openai-constants.js +1 -2
- package/bundle/dist/utils/providers/openai/openai-dispatcher.js +103 -40
- package/bundle/dist/utils/providers/openai/openai-quota.js +1 -2
- package/bundle/dist/utils/providers/openai/openai-refresh.js +1 -2
- package/bundle/dist/utils/subset-loaders.js +1 -2
- package/bundle/src/application/monit/monit.frame.test.ts +2 -2
- package/bundle/src/application/monit/monit.frame.ts +2 -2
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.test.ts +242 -8
- package/bundle/src/application/qgrid/qgrid-run-lifecycle.ts +97 -57
- package/bundle/src/application/qgrid/qgrid.frame.test.ts +400 -96
- package/bundle/src/application/qgrid/qgrid.frame.ts +85 -123
- package/bundle/src/application/qgrid/qgrid.types.ts +35 -27
- package/bundle/src/application/request-log/request-log.entity.json +2 -2
- package/bundle/src/application/request-log/request-log.model.test.ts +325 -21
- package/bundle/src/application/request-log/request-log.model.ts +233 -125
- package/bundle/src/application/request-log-step/request-log-step.entity.json +2 -2
- package/bundle/src/application/sonamu.generated.http +2 -2
- package/bundle/src/application/sonamu.generated.ts +13 -13
- package/bundle/src/i18n/sd.generated.ts +83 -14
- package/bundle/src/migrations/20260722174410_alter_request_logs_alter3.ts +19 -0
- package/bundle/src/migrations/20260722174411_alter_request_log_steps_alter3.ts +19 -0
- package/bundle/src/sonamu.config.ts +5 -23
- package/bundle/src/testing/global.ts +5 -5
- package/bundle/src/testing/test-database-name.test.ts +5 -5
- package/bundle/src/testing/test-database-name.ts +9 -8
- package/bundle/src/utils/providers/anthropic/anthropic-constants.test.ts +10 -6
- package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +9 -5
- package/bundle/src/utils/providers/anthropic/claude-session.test.ts +18 -3
- package/bundle/src/utils/providers/anthropic/claude-session.ts +4 -4
- package/bundle/src/utils/providers/common/model-cost.test.ts +1 -0
- package/bundle/src/utils/providers/common/model-cost.ts +1 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +440 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.ts +143 -45
- package/bundle/web-dist/client/assets/{index-CmuPjbCl.js → index-B8Qj0LZK.js} +3 -3
- package/bundle/web-dist/client/assets/logs-C7R8Hvyy.js +1 -0
- package/bundle/web-dist/client/assets/{monit-B5Edhvy-.js → monit-Cj2KSodR.js} +1 -1
- package/bundle/web-dist/client/assets/{routes-UPWScORY.js → routes-DI1rjqGY.js} +1 -1
- package/bundle/web-dist/client/assets/{sd.generated-DYuKzBY6.js → sd.generated-DbBC73_z.js} +1 -1
- package/bundle/web-dist/client/assets/{services.generated-D_SkWOo-.js → services.generated-BWyAypSh.js} +1 -1
- package/bundle/web-dist/client/assets/{show-pRp-eZIK.js → show-B9hDSX9F.js} +2 -2
- package/bundle/web-dist/client/assets/{tokens-DJlttxCM.js → tokens-xUexYz3u.js} +1 -1
- package/bundle/web-dist/client/assets/{use-update-token-mutation-CpFGLWUl.js → use-update-token-mutation-DeDBiZiM.js} +1 -1
- package/bundle/web-dist/client/index.html +2 -2
- package/bundle/web-dist/server/assets/{lazyRouteComponent-Cu6IkL8A.js → lazyRouteComponent-BCJr868T.js} +1 -1
- package/bundle/web-dist/server/assets/{logs-Dx2knN2T.js → logs-33YNafdW.js} +32 -11
- package/bundle/web-dist/server/assets/{monit-DU6PLatf.js → monit--9mVsjNU.js} +2 -2
- package/bundle/web-dist/server/assets/{routes-CTco1oJZ.js → routes-BK3Xh1UB.js} +3 -3
- package/bundle/web-dist/server/assets/{sd.generated-qzuRe35X.js → sd.generated-C3gcvRcU.js} +1 -0
- package/bundle/web-dist/server/assets/{services.generated-C8q1M41a.js → services.generated-B2_Auwvk.js} +1 -1
- package/bundle/web-dist/server/assets/{show-B3q8_GDh.js → show-Dxxxe608.js} +15 -9
- package/bundle/web-dist/server/assets/{tokens-Bvjn15h9.js → tokens-BWPVvdfi.js} +3 -3
- package/bundle/web-dist/server/assets/{use-update-token-mutation-BlZo6swF.js → use-update-token-mutation-CNBgTysy.js} +1 -1
- package/bundle/web-dist/server/entry-server.generated.js +23 -23
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +18 -12
- package/package.json +6 -6
- package/skills/qgrid/SKILL.md +4 -0
- package/skills/qgrid/references/ai-sdk-provider-contract.md +28 -2
- package/skills/qgrid/references/anthropic-claude-code-runtime.md +5 -4
- package/skills/qgrid/references/cli-env-and-server-boot.md +20 -8
- package/skills/qgrid/references/decision-rationale.md +4 -0
- package/skills/qgrid/references/docs-workflow.md +10 -0
- package/skills/qgrid/references/openai-codex-runtime.md +11 -3
- package/skills/qgrid/references/provider-runtime-differences.md +3 -3
- package/skills/qgrid/references/request-log-run-lifecycle.md +46 -28
- package/skills/qgrid/references/sonamu-api-web-flow.md +4 -0
- package/skills/qgrid/references/token-auth-quota-lifecycle.md +6 -0
- package/skills/qgrid/references/tool-calling-and-multiturn.md +8 -7
- package/skills/qgrid/references/verification-and-debugging.md +1 -1
- package/bundle/dist/node_modules/.pnpm/@vitest_expect@4.1.2/node_modules/@vitest/expect/dist/index.js +0 -1484
- package/bundle/dist/node_modules/.pnpm/@vitest_pretty-format@4.1.2/node_modules/@vitest/pretty-format/dist/index.js +0 -887
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/chunk-artifact.js +0 -2746
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/index.js +0 -8
- package/bundle/dist/node_modules/.pnpm/@vitest_runner@4.1.2/node_modules/@vitest/runner/dist/utils.js +0 -8
- package/bundle/dist/node_modules/.pnpm/@vitest_snapshot@4.1.2/node_modules/@vitest/snapshot/dist/index.js +0 -662
- package/bundle/dist/node_modules/.pnpm/@vitest_spy@4.1.2/node_modules/@vitest/spy/dist/index.js +0 -386
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +0 -82
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/constants.js +0 -48
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/diff.js +0 -1307
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/display.js +0 -558
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/error.js +0 -33
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/helpers.js +0 -226
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/offset.js +0 -27
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/serialize.js +0 -77
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/source-map.js +0 -374
- package/bundle/dist/node_modules/.pnpm/@vitest_utils@4.1.2/node_modules/@vitest/utils/dist/timers.js +0 -37
- package/bundle/dist/node_modules/.pnpm/vite@8.0.3_@emnapi_core@1.9.2_@emnapi_runtime@1.9.2_@types_node@25.0.7_esbuild@0.27.4_jiti@2.6.1_sass@1.98.0_tsx@4.21.0/node_modules/vite/dist/node/module-runner.js +0 -426
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/chunks/index.DOa3dzoN.js +0 -16
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/chunks/test.p_J6dB8a.js +0 -2910
- package/bundle/dist/node_modules/.pnpm/vitest@4.1.2_@opentelemetry_api@1.9.0_@types_node@25.0.7_msw@2.13.3_@types_node@25.0.7__ba64bc4dd2e2bdde58df187864f65496/node_modules/vitest/dist/index.js +0 -28
- package/bundle/web-dist/client/assets/logs-cXOsDli3.js +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "../../../_virtual/_rolldown/runtime.js";
|
|
2
1
|
//#region src/utils/providers/openai/openai-quota.ts
|
|
3
2
|
async function readOpenAIQuotaUsage(readRateLimits) {
|
|
4
3
|
try {
|
|
@@ -27,4 +26,4 @@ async function readOpenAIQuotaUsage(readRateLimits) {
|
|
|
27
26
|
//#endregion
|
|
28
27
|
export { readOpenAIQuotaUsage };
|
|
29
28
|
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFpLXF1b3RhLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wcm92aWRlcnMvb3BlbmFpL29wZW5haS1xdW90YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEdldEFjY291bnRSYXRlTGltaXRzUmVzcG9uc2UgfSBmcm9tIFwiLi4vLi4vLi4vY29kZXgtcHJvdG9jb2wvdjIvR2V0QWNjb3VudFJhdGVMaW1pdHNSZXNwb25zZVwiO1xuXG5leHBvcnQgdHlwZSBPcGVuQUlSYXRlTGltaXRzV2l0aE1ldGEgPSB7XG4gIGRhdGE6IEdldEFjY291bnRSYXRlTGltaXRzUmVzcG9uc2U7XG4gIGNhY2hlZEF0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBPcGVuQUlRdW90YVVzYWdlUmVzdWx0ID1cbiAgfCB7XG4gICAgICBraW5kOiBcIm9rXCI7XG4gICAgICB1dGlsaXphdGlvblBjdDogbnVtYmVyO1xuICAgICAgY2FjaGVBZ2VNczogbnVtYmVyO1xuICAgICAgd2luZG93RHVyYXRpb25NaW5zOiBudW1iZXIgfCBudWxsO1xuICAgICAgcmVzZXRzQXQ6IG51bWJlciB8IG51bGw7XG4gICAgICBsaW1pdElkOiBzdHJpbmcgfCBudWxsO1xuICAgIH1cbiAgfCB7IGtpbmQ6IFwibG9va3VwX2ZhaWxlZFwiOyByZWFzb246IHN0cmluZyB9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE9wZW5BSVF1b3RhVXNhZ2UoXG4gIHJlYWRSYXRlTGltaXRzOiAoKSA9PiBQcm9taXNlPE9wZW5BSVJhdGVMaW1pdHNXaXRoTWV0YT4sXG4pOiBQcm9taXNlPE9wZW5BSVF1b3RhVXNhZ2VSZXN1bHQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGRhdGEsIGNhY2hlZEF0IH0gPSBhd2FpdCByZWFkUmF0ZUxpbWl0cygpO1xuICAgIGNvbnN0IHJhdGVMaW1pdHMgPSBkYXRhLnJhdGVMaW1pdHM7XG4gICAgY29uc3QgcHJpbWFyeSA9IHJhdGVMaW1pdHM/
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFpLXF1b3RhLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wcm92aWRlcnMvb3BlbmFpL29wZW5haS1xdW90YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEdldEFjY291bnRSYXRlTGltaXRzUmVzcG9uc2UgfSBmcm9tIFwiLi4vLi4vLi4vY29kZXgtcHJvdG9jb2wvdjIvR2V0QWNjb3VudFJhdGVMaW1pdHNSZXNwb25zZVwiO1xuXG5leHBvcnQgdHlwZSBPcGVuQUlSYXRlTGltaXRzV2l0aE1ldGEgPSB7XG4gIGRhdGE6IEdldEFjY291bnRSYXRlTGltaXRzUmVzcG9uc2U7XG4gIGNhY2hlZEF0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBPcGVuQUlRdW90YVVzYWdlUmVzdWx0ID1cbiAgfCB7XG4gICAgICBraW5kOiBcIm9rXCI7XG4gICAgICB1dGlsaXphdGlvblBjdDogbnVtYmVyO1xuICAgICAgY2FjaGVBZ2VNczogbnVtYmVyO1xuICAgICAgd2luZG93RHVyYXRpb25NaW5zOiBudW1iZXIgfCBudWxsO1xuICAgICAgcmVzZXRzQXQ6IG51bWJlciB8IG51bGw7XG4gICAgICBsaW1pdElkOiBzdHJpbmcgfCBudWxsO1xuICAgIH1cbiAgfCB7IGtpbmQ6IFwibG9va3VwX2ZhaWxlZFwiOyByZWFzb246IHN0cmluZyB9O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVhZE9wZW5BSVF1b3RhVXNhZ2UoXG4gIHJlYWRSYXRlTGltaXRzOiAoKSA9PiBQcm9taXNlPE9wZW5BSVJhdGVMaW1pdHNXaXRoTWV0YT4sXG4pOiBQcm9taXNlPE9wZW5BSVF1b3RhVXNhZ2VSZXN1bHQ+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IGRhdGEsIGNhY2hlZEF0IH0gPSBhd2FpdCByZWFkUmF0ZUxpbWl0cygpO1xuICAgIGNvbnN0IHJhdGVMaW1pdHMgPSBkYXRhLnJhdGVMaW1pdHM7XG4gICAgY29uc3QgcHJpbWFyeSA9IHJhdGVMaW1pdHM/LnByaW1hcnk7XG5cbiAgICBpZiAoXG4gICAgICAhcHJpbWFyeSB8fFxuICAgICAgdHlwZW9mIHByaW1hcnkudXNlZFBlcmNlbnQgIT09IFwibnVtYmVyXCIgfHxcbiAgICAgICFOdW1iZXIuaXNGaW5pdGUocHJpbWFyeS51c2VkUGVyY2VudClcbiAgICApIHtcbiAgICAgIHJldHVybiB7IGtpbmQ6IFwibG9va3VwX2ZhaWxlZFwiLCByZWFzb246IFwicHJpbWFyeSB1c2VkUGVyY2VudCB1bmF2YWlsYWJsZVwiIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtpbmQ6IFwib2tcIixcbiAgICAgIHV0aWxpemF0aW9uUGN0OiBwcmltYXJ5LnVzZWRQZXJjZW50LFxuICAgICAgY2FjaGVBZ2VNczogTWF0aC5tYXgoRGF0ZS5ub3coKSAtIGNhY2hlZEF0LCAwKSxcbiAgICAgIHdpbmRvd0R1cmF0aW9uTWluczogcHJpbWFyeS53aW5kb3dEdXJhdGlvbk1pbnMsXG4gICAgICByZXNldHNBdDogcHJpbWFyeS5yZXNldHNBdCxcbiAgICAgIGxpbWl0SWQ6IHJhdGVMaW1pdHMubGltaXRJZCxcbiAgICB9O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIHsga2luZDogXCJsb29rdXBfZmFpbGVkXCIsIHJlYXNvbjogKGUgYXMgRXJyb3IpLm1lc3NhZ2UgfTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBa0JBLGVBQXNCLHFCQUNwQixnQkFDaUM7Q0FDakMsSUFBSTtFQUNGLE1BQU0sRUFBRSxNQUFNLGFBQWEsTUFBTSxlQUFlO0VBQ2hELE1BQU0sYUFBYSxLQUFLO0VBQ3hCLE1BQU0sVUFBVSxZQUFZO0VBRTVCLElBQ0UsQ0FBQyxXQUNELE9BQU8sUUFBUSxnQkFBZ0IsWUFDL0IsQ0FBQyxPQUFPLFNBQVMsUUFBUSxXQUFXLEdBRXBDLE9BQU87R0FBRSxNQUFNO0dBQWlCLFFBQVE7RUFBa0M7RUFHNUUsT0FBTztHQUNMLE1BQU07R0FDTixnQkFBZ0IsUUFBUTtHQUN4QixZQUFZLEtBQUssSUFBSSxLQUFLLElBQUksSUFBSSxVQUFVLENBQUM7R0FDN0Msb0JBQW9CLFFBQVE7R0FDNUIsVUFBVSxRQUFRO0dBQ2xCLFNBQVMsV0FBVztFQUN0QjtDQUNGLFNBQVMsR0FBRztFQUNWLE9BQU87R0FBRSxNQUFNO0dBQWlCLFFBQVMsRUFBWTtFQUFRO0NBQy9EO0FBQ0YifQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "../../../_virtual/_rolldown/runtime.js";
|
|
2
1
|
import { TokenModel } from "../../../application/token/token.model.js";
|
|
3
2
|
import { OPENAI_CLIENT_ID, OPENAI_TOKEN_URL } from "./openai-constants.js";
|
|
4
3
|
import { getLogger } from "@logtape/logtape";
|
|
@@ -102,4 +101,4 @@ async function doRefresh(tokenId) {
|
|
|
102
101
|
//#endregion
|
|
103
102
|
export { handleChatgptAuthTokensRefresh };
|
|
104
103
|
|
|
105
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFpLXJlZnJlc2guanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3Byb3ZpZGVycy9vcGVuYWkvb3BlbmFpLXJlZnJlc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcGVuQUkgY2hhdGdwdEF1dGhUb2tlbnMgcmVmcmVzaCBoYW5kbGVyLlxuICpcbiAqIC0gY29kZXggYXBwLXNlcnZlciDqsIAgNDAxIOuwm+ycvOuptCBgYWNjb3VudC9jaGF0Z3B0QXV0aFRva2Vucy9yZWZyZXNoYCBzZXJ2ZXItcmVxdWVzdCDrpbwg67O064OEXG4gKiAtIHFncmlkIOqwgCBEQiDsnZggcmVmcmVzaF90b2tlbiDsnLzroZwg7IOIIGFjY2Vzc190b2tlbiDsnYQg67Cc6riJ67Cb7JWEIOydkeuLtVxuICogLSBwZXItdG9rZW4gaW5mbGlnaHQgcHJvbWlzZSDroZwgY29uY3VycmVudCByZWZyZXNoIGRlZHVwXG4gKiAtIHJvdGF0aW9uIOqwkOyngDog7IOIIHJlZnJlc2hfdG9rZW4g7J6I7Jy866m0IERCIOymieyLnCDsl4XrjbDsnbTtirhcbiAqL1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcblxuaW1wb3J0IHsgVG9rZW5Nb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9hcHBsaWNhdGlvbi90b2tlbi90b2tlbi5tb2RlbFwiO1xuaW1wb3J0IHsgdHlwZSBPcGVuQUlDcmVkZW50aWFscyB9IGZyb20gXCIuLi8uLi8uLi9hcHBsaWNhdGlvbi90b2tlbi90b2tlbi50eXBlc1wiO1xuXG5jb25zdCBsb2dnZXIgPSBnZXRMb2dnZXIoW1wicWdyaWRcIiwgXCJvcGVuYWktcmVmcmVzaFwiXSk7XG5cbmltcG9ydCB7IE9QRU5BSV9DTElFTlRfSUQsIE9QRU5BSV9UT0tFTl9VUkwgfSBmcm9tIFwiLi9vcGVuYWktY29uc3RhbnRzXCI7XG5cbi8vIHBlci10b2tlbiBpbmZsaWdodCBwcm9taXNlIGRlZHVwICsgbWluaW11bSBpbnRlcnZhbFxuY29uc3QgaW5mbGlnaHRSZWZyZXNoID0gbmV3IE1hcDxudW1iZXIsIFByb21pc2U8UmVmcmVzaFJlc3VsdD4+KCk7XG5jb25zdCBsYXN0UmVmcmVzaFRpbWUgPSBuZXcgTWFwPG51bWJlciwgbnVtYmVyPigpO1xuY29uc3QgUkVGUkVTSF9NSU5fSU5URVJWQUxfTVMgPSA1XzAwMDtcblxuaW50ZXJmYWNlIFJlZnJlc2hSZXN1bHQge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBjaGF0Z3B0QWNjb3VudElkOiBzdHJpbmc7XG4gIGNoYXRncHRQbGFuVHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZUNoYXRncHRBdXRoVG9rZW5zUmVmcmVzaCh0b2tlbklkOiBudW1iZXIpOiBQcm9taXNlPFJlZnJlc2hSZXN1bHQ+IHtcbiAgbG9nZ2VyLmluZm8oYHJlZnJlc2ggcmVxdWVzdGVkIGZvciB0b2tlbiAke3Rva2VuSWR9IChwaWQ9JHtwcm9jZXNzLnBpZH0pYCk7XG4gIGNvbnN0IGV4aXN0aW5nID0gaW5mbGlnaHRSZWZyZXNoLmdldCh0b2tlbklkKTtcbiAgaWYgKGV4aXN0aW5nKSB7XG4gICAgbG9nZ2VyLmluZm8oYHJlZnJlc2ggZGVkdXAgZm9yIHRva2VuICR7dG9rZW5JZH1gKTtcbiAgICByZXR1cm4gZXhpc3Rpbmc7XG4gIH1cblxuICBjb25zdCBsYXN0QXQgPSBsYXN0UmVmcmVzaFRpbWUuZ2V0KHRva2VuSWQpID8/IDA7XG4gIGlmIChEYXRlLm5vdygpIC0gbGFzdEF0IDwgUkVGUkVTSF9NSU5fSU5URVJWQUxfTVMpIHtcbiAgICBsb2dnZXIuaW5mbyhgcmVmcmVzaCB0b28gc29vbiBmb3IgdG9rZW4gJHt0b2tlbklkfSwgcmVhZGluZyBjdXJyZW50IGNyZWRzIGZyb20gREJgKTtcbiAgICByZXR1cm4gcmVhZEN1cnJlbnRDcmVkcyh0b2tlbklkKTtcbiAgfVxuXG4gIGxhc3RSZWZyZXNoVGltZS5zZXQodG9rZW5JZCwgRGF0ZS5ub3coKSk7XG4gIGNvbnN0IHByb21pc2UgPSBkb1JlZnJlc2godG9rZW5JZCk7XG4gIGluZmxpZ2h0UmVmcmVzaC5zZXQodG9rZW5JZCwgcHJvbWlzZSk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgcHJvbWlzZTtcbiAgfSBmaW5hbGx5IHtcbiAgICBpbmZsaWdodFJlZnJlc2guZGVsZXRlKHRva2VuSWQpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRDdXJyZW50Q3JlZHModG9rZW5JZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoUmVzdWx0PiB7XG4gIGNvbnN0IHRva2VuID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kT25lKFwiQVwiLCB7IGlkOiB0b2tlbklkIH0pO1xuICBpZiAoIXRva2VuIHx8IHRva2VuLnByb3ZpZGVyICE9PSBcIm9wZW5haVwiKSB0aHJvdyBuZXcgRXJyb3IoYHRva2VuICR7dG9rZW5JZH0gbm90IGZvdW5kYCk7XG4gIGNvbnN0IGNyZWRzID0gdG9rZW4uY3JlZGVudGlhbHMgYXMgT3BlbkFJQ3JlZGVudGlhbHM7XG4gIHJldHVybiB7XG4gICAgYWNjZXNzVG9rZW46IGNyZWRzLmFjY2Vzc1Rva2VuLFxuICAgIGNoYXRncHRBY2NvdW50SWQ6IGNyZWRzLmFjY291bnRJZCxcbiAgICBjaGF0Z3B0UGxhblR5cGU6IGNyZWRzLnBsYW5UeXBlLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb1JlZnJlc2godG9rZW5JZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoUmVzdWx0PiB7XG4gIGNvbnN0IHRva2VuID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kT25lKFwiQVwiLCB7IGlkOiB0b2tlbklkIH0pO1xuICBpZiAoIXRva2VuIHx8IHRva2VuLnByb3ZpZGVyICE9PSBcIm9wZW5haVwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB0b2tlbiAke3Rva2VuSWR9IG5vdCBmb3VuZCBvciBub3Qgb3BlbmFpYCk7XG4gIH1cblxuICBjb25zdCBjcmVkcyA9IHRva2VuLmNyZWRlbnRpYWxzIGFzIE9wZW5BSUNyZWRlbnRpYWxzO1xuICBpZiAoIWNyZWRzLnJlZnJlc2hUb2tlbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgdG9rZW4gJHt0b2tlbklkfSBoYXMgbm8gcmVmcmVzaFRva2VuYCk7XG4gIH1cblxuICBsb2dnZXIuaW5mbyhgcmVmcmVzaGluZyB0b2tlbiAke3Rva2VuLm5hbWV9IChpZD0ke3Rva2VuSWR9KWApO1xuXG4gIGNvbnN0IHJlc3AgPSBhd2FpdCBmZXRjaChPUEVOQUlfVE9LRU5fVVJMLCB7XG4gICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIgfSxcbiAgICBib2R5OiBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIGdyYW50X3R5cGU6IFwicmVmcmVzaF90b2tlblwiLFxuICAgICAgY2xpZW50X2lkOiBPUEVOQUlfQ0xJRU5UX0lELFxuICAgICAgcmVmcmVzaF90b2tlbjogY3JlZHMucmVmcmVzaFRva2VuLFxuICAgIH0pLFxuICB9KTtcblxuICBpZiAoIXJlc3Aub2spIHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcC50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgLy8gNDAxIOuzuOusuOydmCBlcnJvciDsvZTrk5zqsIAg7Yag7YGwIOyCrOunneydmCDqsrDsoJXsoIEg7IKs7J247J2064ukLlxuICAgIC8vICAgcmVmcmVzaF90b2tlbl9leHBpcmVkICAgICDihpIgcmVmcmVzaF90b2tlbiDsnpDssrQg66eM66OMXG4gICAgLy8gICByZWZyZXNoX3Rva2VuX3JldXNlZCAgICAgIOKGkiDsnbTrr7gg7IKs7Jqp65CcKO2ajOyghCDtj5DquLDrkJwpIHJlZnJlc2hfdG9rZW4g7J6s7IKs7JqpIOKGkiDtjKjrsIDrpqwg66y07Zqo7ZmUXG4gICAgLy8gICByZWZyZXNoX3Rva2VuX2ludmFsaWRhdGVkIOKGkiDshJzrsoTsuKEgcmV2b2tlXG4gICAgLy8g7JyEIDPqsJzripQg66qo65GQIOyYgeq1rCDsi6TtjKguIOyerOuTseuhnSDsmbgg67O16rWsIOu2iOqwgC5cbiAgICBsZXQgZXJyb3JDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGVycm9yQ29kZSA9IChKU09OLnBhcnNlKGJvZHkpIGFzIHsgZXJyb3I/OiBzdHJpbmcgfSkuZXJyb3I7XG4gICAgfSBjYXRjaCB7fVxuICAgIGxvZ2dlci5lcnJvcihcbiAgICAgIGBPcGVuQUkgcmVmcmVzaCBGQUlMRUQgdG9rZW49JHt0b2tlbi5uYW1lfShpZD0ke3Rva2VuSWR9KSBzdGF0dXM9JHtyZXNwLnN0YXR1c30gYCArXG4gICAgICAgIGBjb2RlPSR7ZXJyb3JDb2RlID8/IFwiP1wifSBib2R5PSR7Ym9keX1gLFxuICAgICk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBPcGVuQUkgcmVmcmVzaCBmYWlsZWQ6ICR7cmVzcC5zdGF0dXN9ICR7Ym9keX1gKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcC5qc29uKCkpIGFzIHtcbiAgICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuICAgIGV4cGlyZXNfaW4/OiBudW1iZXI7XG4gICAgaWRfdG9rZW4/OiBzdHJpbmc7XG4gIH07XG5cbiAgY29uc3QgbmV3UmVmcmVzaFRva2VuID0gZGF0YS5yZWZyZXNoX3Rva2VuID8/IGNyZWRzLnJlZnJlc2hUb2tlbjtcbiAgY29uc3Qgcm90YXRlZCA9XG4gICAgZGF0YS5yZWZyZXNoX3Rva2VuICE9PSBudWxsICYmXG4gICAgZGF0YS5yZWZyZXNoX3Rva2VuICE9PSB1bmRlZmluZWQgJiZcbiAgICBkYXRhLnJlZnJlc2hfdG9rZW4gIT09IGNyZWRzLnJlZnJlc2hUb2tlbjtcbiAgaWYgKHJvdGF0ZWQpIHtcbiAgICBsb2dnZXIuaW5mbyhgcmVmcmVzaF90b2tlbiByb3RhdGVkIGZvciB0b2tlbiAke3Rva2VuLm5hbWV9YCk7XG4gIH1cblxuICBjb25zdCB1cGRhdGVkQ3JlZHM6IE9wZW5BSUNyZWRlbnRpYWxzID0ge1xuICAgIC4uLmNyZWRzLFxuICAgIGFjY2Vzc1Rva2VuOiBkYXRhLmFjY2Vzc190b2tlbixcbiAgICByZWZyZXNoVG9rZW46IG5ld1JlZnJlc2hUb2tlbixcbiAgICBhY2Nlc3NUb2tlbkV4cGlyZXNBdDogZGF0YS5leHBpcmVzX2luXG4gICAgICA/IERhdGUubm93KCkgKyBkYXRhLmV4cGlyZXNfaW4gKiAxMDAwXG4gICAgICA6IGNyZWRzLmFjY2Vzc1Rva2VuRXhwaXJlc0F0LFxuICAgIC4uLihkYXRhLmlkX3Rva2VuID8geyBpZFRva2VuOiBkYXRhLmlkX3Rva2VuIH0gOiB7fSksXG4gIH07XG5cbiAgLy8g7ZqM7KCEKHJvdGF0ZWQp7J20IOydvOyWtOuCrOuKlOuNsCDsnbQgc2F2ZSDqsIAg7Iuk7Yyo7ZWY66m0LCBPcGVuQUkg7Kq9IOyYmyByZWZyZXNoX3Rva2VuIOydgCDsnbTrr7hcbiAgLy8g7Y+Q6riw65CcIOyDge2DnOyXkOyEnCBEQiDsl5DripQg7JibIO2GoO2BsOydtCDrgqjripTri6Qg4oaSIOuLpOydjCByZWZyZXNoIOqwgCByZWZyZXNoX3Rva2VuX3JldXNlZCDroZxcbiAgLy8g7JiB6rWsIOyCrOunnS4g7J20IOq1rOqwhCDsi6TtjKjripQg7Yag7YGwIOyCrOunneydmCDsp4HsoJEg7JuQ7J247J2066+A66GcIOuwmOuTnOyLnCDtgazqsowg64Ko6ri064ukLlxuICB0cnkge1xuICAgIGF3YWl0IFRva2VuTW9kZWwuc2F2ZShbXG4gICAgICB7XG4gICAgICAgIGlkOiB0b2tlbklkLFxuICAgICAgICBwcm92aWRlcjogXCJvcGVuYWlcIixcbiAgICAgICAgY3JlZGVudGlhbHM6IHVwZGF0ZWRDcmVkcyxcbiAgICAgICAgbmFtZTogdG9rZW4ubmFtZSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZXJyb3IoXG4gICAgICBgT3BlbkFJIHJlZnJlc2g6IERCIHNhdmUgRkFJTEVEIGFmdGVyIHJvdGF0aW9uKHJvdGF0ZWQ9JHtyb3RhdGVkfSkgYCArXG4gICAgICAgIGB0b2tlbj0ke3Rva2VuLm5hbWV9KGlkPSR7dG9rZW5JZH0pIOKAlCDsmJsgcmVmcmVzaF90b2tlbiDtj5DquLDrkKgsIERCIOuvuOuwmOyYgSDihpIg7Yag7YGwIOyCrOunnSDsnITtl5guIGVycj0ke1N0cmluZyhlKX1gLFxuICAgICk7XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIGxvZ2dlci5pbmZvKGB0b2tlbiAke3Rva2VuLm5hbWV9IHJlZnJlc2hlZCBzdWNjZXNzZnVsbHkgKHJvdGF0ZWQ9JHtyb3RhdGVkfSlgKTtcblxuICByZXR1cm4ge1xuICAgIGFjY2Vzc1Rva2VuOiBkYXRhLmFjY2Vzc190b2tlbixcbiAgICBjaGF0Z3B0QWNjb3VudElkOiBjcmVkcy5hY2NvdW50SWQsXG4gICAgY2hhdGdwdFBsYW5UeXBlOiBjcmVkcy5wbGFuVHlwZSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQWFBLE1BQU0sU0FBUyxVQUFVLENBQUMsU0FBUyxpQkFBaUIsQ0FBQztBQUtyRCxNQUFNLGtDQUFrQixJQUFJLEtBQXFDO0FBQ2pFLE1BQU0sa0NBQWtCLElBQUksS0FBcUI7QUFDakQsTUFBTSwwQkFBMEI7QUFRaEMsZUFBc0IsK0JBQStCLFNBQXlDO0FBQzVGLFFBQU8sS0FBSywrQkFBK0IsUUFBUSxRQUFRLFFBQVEsSUFBSSxHQUFHO0NBQzFFLE1BQU0sV0FBVyxnQkFBZ0IsSUFBSSxRQUFRO0FBQzdDLEtBQUksVUFBVTtBQUNaLFNBQU8sS0FBSywyQkFBMkIsVUFBVTtBQUNqRCxTQUFPOztDQUdULE1BQU0sU0FBUyxnQkFBZ0IsSUFBSSxRQUFRLElBQUk7QUFDL0MsS0FBSSxLQUFLLEtBQUssR0FBRyxTQUFTLHlCQUF5QjtBQUNqRCxTQUFPLEtBQUssOEJBQThCLFFBQVEsaUNB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
|
|
104
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFpLXJlZnJlc2guanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3Byb3ZpZGVycy9vcGVuYWkvb3BlbmFpLXJlZnJlc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPcGVuQUkgY2hhdGdwdEF1dGhUb2tlbnMgcmVmcmVzaCBoYW5kbGVyLlxuICpcbiAqIC0gY29kZXggYXBwLXNlcnZlciDqsIAgNDAxIOuwm+ycvOuptCBgYWNjb3VudC9jaGF0Z3B0QXV0aFRva2Vucy9yZWZyZXNoYCBzZXJ2ZXItcmVxdWVzdCDrpbwg67O064OEXG4gKiAtIHFncmlkIOqwgCBEQiDsnZggcmVmcmVzaF90b2tlbiDsnLzroZwg7IOIIGFjY2Vzc190b2tlbiDsnYQg67Cc6riJ67Cb7JWEIOydkeuLtVxuICogLSBwZXItdG9rZW4gaW5mbGlnaHQgcHJvbWlzZSDroZwgY29uY3VycmVudCByZWZyZXNoIGRlZHVwXG4gKiAtIHJvdGF0aW9uIOqwkOyngDog7IOIIHJlZnJlc2hfdG9rZW4g7J6I7Jy866m0IERCIOymieyLnCDsl4XrjbDsnbTtirhcbiAqL1xuaW1wb3J0IHsgZ2V0TG9nZ2VyIH0gZnJvbSBcIkBsb2d0YXBlL2xvZ3RhcGVcIjtcblxuaW1wb3J0IHsgVG9rZW5Nb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9hcHBsaWNhdGlvbi90b2tlbi90b2tlbi5tb2RlbFwiO1xuaW1wb3J0IHsgdHlwZSBPcGVuQUlDcmVkZW50aWFscyB9IGZyb20gXCIuLi8uLi8uLi9hcHBsaWNhdGlvbi90b2tlbi90b2tlbi50eXBlc1wiO1xuXG5jb25zdCBsb2dnZXIgPSBnZXRMb2dnZXIoW1wicWdyaWRcIiwgXCJvcGVuYWktcmVmcmVzaFwiXSk7XG5cbmltcG9ydCB7IE9QRU5BSV9DTElFTlRfSUQsIE9QRU5BSV9UT0tFTl9VUkwgfSBmcm9tIFwiLi9vcGVuYWktY29uc3RhbnRzXCI7XG5cbi8vIHBlci10b2tlbiBpbmZsaWdodCBwcm9taXNlIGRlZHVwICsgbWluaW11bSBpbnRlcnZhbFxuY29uc3QgaW5mbGlnaHRSZWZyZXNoID0gbmV3IE1hcDxudW1iZXIsIFByb21pc2U8UmVmcmVzaFJlc3VsdD4+KCk7XG5jb25zdCBsYXN0UmVmcmVzaFRpbWUgPSBuZXcgTWFwPG51bWJlciwgbnVtYmVyPigpO1xuY29uc3QgUkVGUkVTSF9NSU5fSU5URVJWQUxfTVMgPSA1XzAwMDtcblxuaW50ZXJmYWNlIFJlZnJlc2hSZXN1bHQge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBjaGF0Z3B0QWNjb3VudElkOiBzdHJpbmc7XG4gIGNoYXRncHRQbGFuVHlwZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZUNoYXRncHRBdXRoVG9rZW5zUmVmcmVzaCh0b2tlbklkOiBudW1iZXIpOiBQcm9taXNlPFJlZnJlc2hSZXN1bHQ+IHtcbiAgbG9nZ2VyLmluZm8oYHJlZnJlc2ggcmVxdWVzdGVkIGZvciB0b2tlbiAke3Rva2VuSWR9IChwaWQ9JHtwcm9jZXNzLnBpZH0pYCk7XG4gIGNvbnN0IGV4aXN0aW5nID0gaW5mbGlnaHRSZWZyZXNoLmdldCh0b2tlbklkKTtcbiAgaWYgKGV4aXN0aW5nKSB7XG4gICAgbG9nZ2VyLmluZm8oYHJlZnJlc2ggZGVkdXAgZm9yIHRva2VuICR7dG9rZW5JZH1gKTtcbiAgICByZXR1cm4gZXhpc3Rpbmc7XG4gIH1cblxuICBjb25zdCBsYXN0QXQgPSBsYXN0UmVmcmVzaFRpbWUuZ2V0KHRva2VuSWQpID8/IDA7XG4gIGlmIChEYXRlLm5vdygpIC0gbGFzdEF0IDwgUkVGUkVTSF9NSU5fSU5URVJWQUxfTVMpIHtcbiAgICBsb2dnZXIuaW5mbyhgcmVmcmVzaCB0b28gc29vbiBmb3IgdG9rZW4gJHt0b2tlbklkfSwgcmVhZGluZyBjdXJyZW50IGNyZWRzIGZyb20gREJgKTtcbiAgICByZXR1cm4gcmVhZEN1cnJlbnRDcmVkcyh0b2tlbklkKTtcbiAgfVxuXG4gIGxhc3RSZWZyZXNoVGltZS5zZXQodG9rZW5JZCwgRGF0ZS5ub3coKSk7XG4gIGNvbnN0IHByb21pc2UgPSBkb1JlZnJlc2godG9rZW5JZCk7XG4gIGluZmxpZ2h0UmVmcmVzaC5zZXQodG9rZW5JZCwgcHJvbWlzZSk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgcHJvbWlzZTtcbiAgfSBmaW5hbGx5IHtcbiAgICBpbmZsaWdodFJlZnJlc2guZGVsZXRlKHRva2VuSWQpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJlYWRDdXJyZW50Q3JlZHModG9rZW5JZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoUmVzdWx0PiB7XG4gIGNvbnN0IHRva2VuID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kT25lKFwiQVwiLCB7IGlkOiB0b2tlbklkIH0pO1xuICBpZiAoIXRva2VuIHx8IHRva2VuLnByb3ZpZGVyICE9PSBcIm9wZW5haVwiKSB0aHJvdyBuZXcgRXJyb3IoYHRva2VuICR7dG9rZW5JZH0gbm90IGZvdW5kYCk7XG4gIGNvbnN0IGNyZWRzID0gdG9rZW4uY3JlZGVudGlhbHMgYXMgT3BlbkFJQ3JlZGVudGlhbHM7XG4gIHJldHVybiB7XG4gICAgYWNjZXNzVG9rZW46IGNyZWRzLmFjY2Vzc1Rva2VuLFxuICAgIGNoYXRncHRBY2NvdW50SWQ6IGNyZWRzLmFjY291bnRJZCxcbiAgICBjaGF0Z3B0UGxhblR5cGU6IGNyZWRzLnBsYW5UeXBlLFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb1JlZnJlc2godG9rZW5JZDogbnVtYmVyKTogUHJvbWlzZTxSZWZyZXNoUmVzdWx0PiB7XG4gIGNvbnN0IHRva2VuID0gYXdhaXQgVG9rZW5Nb2RlbC5maW5kT25lKFwiQVwiLCB7IGlkOiB0b2tlbklkIH0pO1xuICBpZiAoIXRva2VuIHx8IHRva2VuLnByb3ZpZGVyICE9PSBcIm9wZW5haVwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB0b2tlbiAke3Rva2VuSWR9IG5vdCBmb3VuZCBvciBub3Qgb3BlbmFpYCk7XG4gIH1cblxuICBjb25zdCBjcmVkcyA9IHRva2VuLmNyZWRlbnRpYWxzIGFzIE9wZW5BSUNyZWRlbnRpYWxzO1xuICBpZiAoIWNyZWRzLnJlZnJlc2hUb2tlbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgdG9rZW4gJHt0b2tlbklkfSBoYXMgbm8gcmVmcmVzaFRva2VuYCk7XG4gIH1cblxuICBsb2dnZXIuaW5mbyhgcmVmcmVzaGluZyB0b2tlbiAke3Rva2VuLm5hbWV9IChpZD0ke3Rva2VuSWR9KWApO1xuXG4gIGNvbnN0IHJlc3AgPSBhd2FpdCBmZXRjaChPUEVOQUlfVE9LRU5fVVJMLCB7XG4gICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIgfSxcbiAgICBib2R5OiBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIGdyYW50X3R5cGU6IFwicmVmcmVzaF90b2tlblwiLFxuICAgICAgY2xpZW50X2lkOiBPUEVOQUlfQ0xJRU5UX0lELFxuICAgICAgcmVmcmVzaF90b2tlbjogY3JlZHMucmVmcmVzaFRva2VuLFxuICAgIH0pLFxuICB9KTtcblxuICBpZiAoIXJlc3Aub2spIHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcC50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgLy8gNDAxIOuzuOusuOydmCBlcnJvciDsvZTrk5zqsIAg7Yag7YGwIOyCrOunneydmCDqsrDsoJXsoIEg7IKs7J247J2064ukLlxuICAgIC8vICAgcmVmcmVzaF90b2tlbl9leHBpcmVkICAgICDihpIgcmVmcmVzaF90b2tlbiDsnpDssrQg66eM66OMXG4gICAgLy8gICByZWZyZXNoX3Rva2VuX3JldXNlZCAgICAgIOKGkiDsnbTrr7gg7IKs7Jqp65CcKO2ajOyghCDtj5DquLDrkJwpIHJlZnJlc2hfdG9rZW4g7J6s7IKs7JqpIOKGkiDtjKjrsIDrpqwg66y07Zqo7ZmUXG4gICAgLy8gICByZWZyZXNoX3Rva2VuX2ludmFsaWRhdGVkIOKGkiDshJzrsoTsuKEgcmV2b2tlXG4gICAgLy8g7JyEIDPqsJzripQg66qo65GQIOyYgeq1rCDsi6TtjKguIOyerOuTseuhnSDsmbgg67O16rWsIOu2iOqwgC5cbiAgICBsZXQgZXJyb3JDb2RlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgdHJ5IHtcbiAgICAgIGVycm9yQ29kZSA9IChKU09OLnBhcnNlKGJvZHkpIGFzIHsgZXJyb3I/OiBzdHJpbmcgfSkuZXJyb3I7XG4gICAgfSBjYXRjaCB7fVxuICAgIGxvZ2dlci5lcnJvcihcbiAgICAgIGBPcGVuQUkgcmVmcmVzaCBGQUlMRUQgdG9rZW49JHt0b2tlbi5uYW1lfShpZD0ke3Rva2VuSWR9KSBzdGF0dXM9JHtyZXNwLnN0YXR1c30gYCArXG4gICAgICAgIGBjb2RlPSR7ZXJyb3JDb2RlID8/IFwiP1wifSBib2R5PSR7Ym9keX1gLFxuICAgICk7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBPcGVuQUkgcmVmcmVzaCBmYWlsZWQ6ICR7cmVzcC5zdGF0dXN9ICR7Ym9keX1gKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcC5qc29uKCkpIGFzIHtcbiAgICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgICByZWZyZXNoX3Rva2VuPzogc3RyaW5nO1xuICAgIGV4cGlyZXNfaW4/OiBudW1iZXI7XG4gICAgaWRfdG9rZW4/OiBzdHJpbmc7XG4gIH07XG5cbiAgY29uc3QgbmV3UmVmcmVzaFRva2VuID0gZGF0YS5yZWZyZXNoX3Rva2VuID8/IGNyZWRzLnJlZnJlc2hUb2tlbjtcbiAgY29uc3Qgcm90YXRlZCA9XG4gICAgZGF0YS5yZWZyZXNoX3Rva2VuICE9PSBudWxsICYmXG4gICAgZGF0YS5yZWZyZXNoX3Rva2VuICE9PSB1bmRlZmluZWQgJiZcbiAgICBkYXRhLnJlZnJlc2hfdG9rZW4gIT09IGNyZWRzLnJlZnJlc2hUb2tlbjtcbiAgaWYgKHJvdGF0ZWQpIHtcbiAgICBsb2dnZXIuaW5mbyhgcmVmcmVzaF90b2tlbiByb3RhdGVkIGZvciB0b2tlbiAke3Rva2VuLm5hbWV9YCk7XG4gIH1cblxuICBjb25zdCB1cGRhdGVkQ3JlZHM6IE9wZW5BSUNyZWRlbnRpYWxzID0ge1xuICAgIC4uLmNyZWRzLFxuICAgIGFjY2Vzc1Rva2VuOiBkYXRhLmFjY2Vzc190b2tlbixcbiAgICByZWZyZXNoVG9rZW46IG5ld1JlZnJlc2hUb2tlbixcbiAgICBhY2Nlc3NUb2tlbkV4cGlyZXNBdDogZGF0YS5leHBpcmVzX2luXG4gICAgICA/IERhdGUubm93KCkgKyBkYXRhLmV4cGlyZXNfaW4gKiAxMDAwXG4gICAgICA6IGNyZWRzLmFjY2Vzc1Rva2VuRXhwaXJlc0F0LFxuICAgIC4uLihkYXRhLmlkX3Rva2VuID8geyBpZFRva2VuOiBkYXRhLmlkX3Rva2VuIH0gOiB7fSksXG4gIH07XG5cbiAgLy8g7ZqM7KCEKHJvdGF0ZWQp7J20IOydvOyWtOuCrOuKlOuNsCDsnbQgc2F2ZSDqsIAg7Iuk7Yyo7ZWY66m0LCBPcGVuQUkg7Kq9IOyYmyByZWZyZXNoX3Rva2VuIOydgCDsnbTrr7hcbiAgLy8g7Y+Q6riw65CcIOyDge2DnOyXkOyEnCBEQiDsl5DripQg7JibIO2GoO2BsOydtCDrgqjripTri6Qg4oaSIOuLpOydjCByZWZyZXNoIOqwgCByZWZyZXNoX3Rva2VuX3JldXNlZCDroZxcbiAgLy8g7JiB6rWsIOyCrOunnS4g7J20IOq1rOqwhCDsi6TtjKjripQg7Yag7YGwIOyCrOunneydmCDsp4HsoJEg7JuQ7J247J2066+A66GcIOuwmOuTnOyLnCDtgazqsowg64Ko6ri064ukLlxuICB0cnkge1xuICAgIGF3YWl0IFRva2VuTW9kZWwuc2F2ZShbXG4gICAgICB7XG4gICAgICAgIGlkOiB0b2tlbklkLFxuICAgICAgICBwcm92aWRlcjogXCJvcGVuYWlcIixcbiAgICAgICAgY3JlZGVudGlhbHM6IHVwZGF0ZWRDcmVkcyxcbiAgICAgICAgbmFtZTogdG9rZW4ubmFtZSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBsb2dnZXIuZXJyb3IoXG4gICAgICBgT3BlbkFJIHJlZnJlc2g6IERCIHNhdmUgRkFJTEVEIGFmdGVyIHJvdGF0aW9uKHJvdGF0ZWQ9JHtyb3RhdGVkfSkgYCArXG4gICAgICAgIGB0b2tlbj0ke3Rva2VuLm5hbWV9KGlkPSR7dG9rZW5JZH0pIOKAlCDsmJsgcmVmcmVzaF90b2tlbiDtj5DquLDrkKgsIERCIOuvuOuwmOyYgSDihpIg7Yag7YGwIOyCrOunnSDsnITtl5guIGVycj0ke1N0cmluZyhlKX1gLFxuICAgICk7XG4gICAgdGhyb3cgZTtcbiAgfVxuXG4gIGxvZ2dlci5pbmZvKGB0b2tlbiAke3Rva2VuLm5hbWV9IHJlZnJlc2hlZCBzdWNjZXNzZnVsbHkgKHJvdGF0ZWQ9JHtyb3RhdGVkfSlgKTtcblxuICByZXR1cm4ge1xuICAgIGFjY2Vzc1Rva2VuOiBkYXRhLmFjY2Vzc190b2tlbixcbiAgICBjaGF0Z3B0QWNjb3VudElkOiBjcmVkcy5hY2NvdW50SWQsXG4gICAgY2hhdGdwdFBsYW5UeXBlOiBjcmVkcy5wbGFuVHlwZSxcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBYUEsTUFBTSxTQUFTLFVBQVUsQ0FBQyxTQUFTLGdCQUFnQixDQUFDO0FBS3BELE1BQU0sa0NBQWtCLElBQUksSUFBb0M7QUFDaEUsTUFBTSxrQ0FBa0IsSUFBSSxJQUFvQjtBQUNoRCxNQUFNLDBCQUEwQjtBQVFoQyxlQUFzQiwrQkFBK0IsU0FBeUM7Q0FDNUYsT0FBTyxLQUFLLCtCQUErQixRQUFRLFFBQVEsUUFBUSxJQUFJLEVBQUU7Q0FDekUsTUFBTSxXQUFXLGdCQUFnQixJQUFJLE9BQU87Q0FDNUMsSUFBSSxVQUFVO0VBQ1osT0FBTyxLQUFLLDJCQUEyQixTQUFTO0VBQ2hELE9BQU87Q0FDVDtDQUVBLE1BQU0sU0FBUyxnQkFBZ0IsSUFBSSxPQUFPLEtBQUs7Q0FDL0MsSUFBSSxLQUFLLElBQUksSUFBSSxTQUFTLHlCQUF5QjtFQUNqRCxPQUFPLEtBQUssOEJBQThCLFFBQVEs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
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import "../_virtual/_rolldown/runtime.js";
|
|
2
1
|
//#region src/utils/subset-loaders.ts
|
|
3
2
|
function getSubsetLoaders(subsets, subsetQueries) {
|
|
4
3
|
return subsets.reduce((acc, subset) => {
|
|
@@ -9,4 +8,4 @@ function getSubsetLoaders(subsets, subsetQueries) {
|
|
|
9
8
|
//#endregion
|
|
10
9
|
export { getSubsetLoaders };
|
|
11
10
|
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2V0LWxvYWRlcnMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N1YnNldC1sb2FkZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgU3Vic2V0UXVlcnkgfSBmcm9tIFwic29uYW11XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdWJzZXRMb2FkZXJzKHN1YnNldHM6IHN0cmluZ1tdLCBzdWJzZXRRdWVyaWVzOiBSZWNvcmQ8c3RyaW5nLCBTdWJzZXRRdWVyeT4pIHtcbiAgcmV0dXJuIHN1YnNldHMucmVkdWNlKFxuICAgIChhY2MsIHN1YnNldCkgPT4ge1xuICAgICAgYWNjW3N1YnNldF0gPSBzdWJzZXRRdWVyaWVzW3N1YnNldF0/
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2V0LWxvYWRlcnMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N1YnNldC1sb2FkZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgU3Vic2V0UXVlcnkgfSBmcm9tIFwic29uYW11XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdWJzZXRMb2FkZXJzKHN1YnNldHM6IHN0cmluZ1tdLCBzdWJzZXRRdWVyaWVzOiBSZWNvcmQ8c3RyaW5nLCBTdWJzZXRRdWVyeT4pIHtcbiAgcmV0dXJuIHN1YnNldHMucmVkdWNlKFxuICAgIChhY2MsIHN1YnNldCkgPT4ge1xuICAgICAgYWNjW3N1YnNldF0gPSBzdWJzZXRRdWVyaWVzW3N1YnNldF0/LmxvYWRlcnMgPz8gW107XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sXG4gICAge30gYXMgUmVjb3JkPHN0cmluZywgU3Vic2V0UXVlcnlbXCJsb2FkZXJzXCJdPixcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUVBLFNBQWdCLGlCQUFpQixTQUFtQixlQUE0QztDQUM5RixPQUFPLFFBQVEsUUFDWixLQUFLLFdBQVc7RUFDZixJQUFJLFVBQVUsY0FBYyxPQUFPLEVBQUUsV0FBVyxDQUFDO0VBQ2pELE9BQU87Q0FDVCxHQUNBLENBQUMsQ0FDSDtBQUNGIn0=
|
|
@@ -156,8 +156,8 @@ describe("MonitFrame.monitInfo", () => {
|
|
|
156
156
|
it("returns the active DB connection, server url, and pool bounds without secrets", async () => {
|
|
157
157
|
vi.stubEnv("HOST", "0.0.0.0");
|
|
158
158
|
vi.stubEnv("PORT", "45000");
|
|
159
|
-
vi.stubEnv("
|
|
160
|
-
vi.stubEnv("
|
|
159
|
+
vi.stubEnv("SONAMU_DB_HOST", "db.internal");
|
|
160
|
+
vi.stubEnv("SONAMU_DB_NAME", "qgrid_dev");
|
|
161
161
|
|
|
162
162
|
// 단위 테스트에선 DB 미초기화 → env 폴백 경로. 부팅된 서버에선 활성 knex 설정을 읽는다
|
|
163
163
|
// (dev 서버의 통합 테스트 러너가 env 를 오염시키는 문제 회피 — curl 로 별도 검증).
|
|
@@ -60,7 +60,7 @@ function currentVitals(): MonitVitals {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
// 실제 활성 knex 연결에서 읽는다 — dev 서버의 통합 테스트 러너가 process.env.
|
|
63
|
+
// 실제 활성 knex 연결에서 읽는다 — dev 서버의 통합 테스트 러너가 process.env.SONAMU_DB_NAME 을
|
|
64
64
|
// 테스트 DB 이름으로 덮어쓰므로 env 는 신뢰할 수 없다. DB 미초기화(부팅 전) 시에만 env 폴백.
|
|
65
65
|
function activeDbConnection(): { host?: string; database?: string } {
|
|
66
66
|
try {
|
|
@@ -71,7 +71,7 @@ function activeDbConnection(): { host?: string; database?: string } {
|
|
|
71
71
|
} catch {
|
|
72
72
|
// DB config 미초기화 — env 폴백으로 진행
|
|
73
73
|
}
|
|
74
|
-
return { host: process.env.
|
|
74
|
+
return { host: process.env.SONAMU_DB_HOST, database: process.env.SONAMU_DB_NAME };
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
export const MonitFrame = new MonitFrameClass();
|
|
@@ -1,12 +1,27 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
afterQuery,
|
|
5
|
+
beforeQuery,
|
|
6
|
+
finishRunAborted,
|
|
7
|
+
finishRunWithError,
|
|
8
|
+
} from "./qgrid-run-lifecycle";
|
|
4
9
|
import { type QueryOutput } from "./qgrid.types";
|
|
5
10
|
|
|
6
|
-
const {
|
|
11
|
+
const {
|
|
12
|
+
appendStepMock,
|
|
13
|
+
aggregateStepUsageMock,
|
|
14
|
+
finishRunMock,
|
|
15
|
+
createRunMock,
|
|
16
|
+
expireStaleToolWaitingRunsMock,
|
|
17
|
+
continueToolRunMock,
|
|
18
|
+
} = vi.hoisted(() => ({
|
|
7
19
|
appendStepMock: vi.fn(),
|
|
8
20
|
aggregateStepUsageMock: vi.fn(),
|
|
9
21
|
finishRunMock: vi.fn(),
|
|
22
|
+
createRunMock: vi.fn(),
|
|
23
|
+
expireStaleToolWaitingRunsMock: vi.fn(),
|
|
24
|
+
continueToolRunMock: vi.fn(),
|
|
10
25
|
}));
|
|
11
26
|
|
|
12
27
|
vi.mock("../request-log/request-log.model", () => ({
|
|
@@ -14,6 +29,9 @@ vi.mock("../request-log/request-log.model", () => ({
|
|
|
14
29
|
appendStep: appendStepMock,
|
|
15
30
|
aggregateStepUsage: aggregateStepUsageMock,
|
|
16
31
|
finishRun: finishRunMock,
|
|
32
|
+
createRun: createRunMock,
|
|
33
|
+
expireStaleToolWaitingRuns: expireStaleToolWaitingRunsMock,
|
|
34
|
+
continueToolRun: continueToolRunMock,
|
|
17
35
|
},
|
|
18
36
|
}));
|
|
19
37
|
|
|
@@ -38,6 +56,126 @@ function queryOutput(overrides: Partial<QueryOutput> = {}): QueryOutput {
|
|
|
38
56
|
};
|
|
39
57
|
}
|
|
40
58
|
|
|
59
|
+
let lifecycleNow = Date.now();
|
|
60
|
+
|
|
61
|
+
describe("qgrid run lifecycle start", () => {
|
|
62
|
+
beforeEach(() => {
|
|
63
|
+
lifecycleNow += 60_001;
|
|
64
|
+
vi.spyOn(Date, "now").mockReturnValue(lifecycleNow);
|
|
65
|
+
createRunMock.mockReset().mockResolvedValue(10);
|
|
66
|
+
expireStaleToolWaitingRunsMock.mockReset().mockResolvedValue([]);
|
|
67
|
+
continueToolRunMock.mockReset().mockResolvedValue(3);
|
|
68
|
+
aggregateStepUsageMock.mockReset().mockResolvedValue({
|
|
69
|
+
input_tokens: 0,
|
|
70
|
+
output_tokens: 0,
|
|
71
|
+
cache_read_tokens: 0,
|
|
72
|
+
cache_creation_tokens: 0,
|
|
73
|
+
duration_ms: 0,
|
|
74
|
+
fallback_count: 0,
|
|
75
|
+
cost_usd: 0,
|
|
76
|
+
});
|
|
77
|
+
finishRunMock.mockReset();
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
afterEach(() => {
|
|
81
|
+
vi.restoreAllMocks();
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it("creates a running parent with the full requested model before an initial query", async () => {
|
|
85
|
+
const history = JSON.stringify([
|
|
86
|
+
{ type: "message", role: "user", content: "earlier" },
|
|
87
|
+
{ type: "message", role: "system", content: "hidden" },
|
|
88
|
+
{ type: "tool-result", output: "ignored" },
|
|
89
|
+
]);
|
|
90
|
+
|
|
91
|
+
await expect(
|
|
92
|
+
beforeQuery({
|
|
93
|
+
prompt: "hi",
|
|
94
|
+
system: "system",
|
|
95
|
+
model: "openai/gpt-5-codex",
|
|
96
|
+
projectName: "project",
|
|
97
|
+
history,
|
|
98
|
+
}),
|
|
99
|
+
).resolves.toEqual({ requestLogId: 10, stepIndex: 0 });
|
|
100
|
+
|
|
101
|
+
expect(createRunMock).toHaveBeenCalledWith({
|
|
102
|
+
user_prompt: "hi",
|
|
103
|
+
system_prompt: "system",
|
|
104
|
+
requested_model_name: "openai/gpt-5-codex",
|
|
105
|
+
effort: undefined,
|
|
106
|
+
project_name: "project",
|
|
107
|
+
history: [{ type: "message", role: "user", content: "earlier" }],
|
|
108
|
+
is_image_generation: undefined,
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
it("continues an existing parent and completes tool results before the next step", async () => {
|
|
113
|
+
const order: string[] = [];
|
|
114
|
+
continueToolRunMock.mockImplementationOnce(async () => {
|
|
115
|
+
order.push("continue-tool-run");
|
|
116
|
+
return 3;
|
|
117
|
+
});
|
|
118
|
+
expireStaleToolWaitingRunsMock.mockImplementationOnce(async () => {
|
|
119
|
+
order.push("cleanup-stale");
|
|
120
|
+
return [77];
|
|
121
|
+
});
|
|
122
|
+
const args = {
|
|
123
|
+
prompt: "continue",
|
|
124
|
+
runContext: { requestLogId: 10 },
|
|
125
|
+
toolResults: [{ toolCallId: "call-1", output: "sunny" }],
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
await expect(beforeQuery(args)).resolves.toEqual({ requestLogId: 10, stepIndex: 3 });
|
|
129
|
+
|
|
130
|
+
expect(createRunMock).not.toHaveBeenCalled();
|
|
131
|
+
expect(continueToolRunMock).toHaveBeenCalledWith(10, [
|
|
132
|
+
{ toolCallId: "call-1", output: "sunny" },
|
|
133
|
+
]);
|
|
134
|
+
expect(order).toEqual(["continue-tool-run", "cleanup-stale"]);
|
|
135
|
+
expect(finishRunMock).not.toHaveBeenCalled();
|
|
136
|
+
});
|
|
137
|
+
|
|
138
|
+
it("cleans up only stale unresolved tool-wait runs reported by the model", async () => {
|
|
139
|
+
expireStaleToolWaitingRunsMock.mockResolvedValueOnce([77]);
|
|
140
|
+
|
|
141
|
+
await beforeQuery({ prompt: "hi", model: "openai/gpt-5-codex" });
|
|
142
|
+
|
|
143
|
+
expect(expireStaleToolWaitingRunsMock).toHaveBeenCalledWith(
|
|
144
|
+
30 * 60 * 1000,
|
|
145
|
+
"tool-call run: no follow-up within 30 minutes",
|
|
146
|
+
);
|
|
147
|
+
expect(finishRunMock).not.toHaveBeenCalled();
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
it("throttles stale cleanup while still creating every requested run", async () => {
|
|
151
|
+
await beforeQuery({ prompt: "one", model: "openai/gpt-5-codex" });
|
|
152
|
+
await beforeQuery({ prompt: "two", model: "openai/gpt-5-codex" });
|
|
153
|
+
|
|
154
|
+
expect(expireStaleToolWaitingRunsMock).toHaveBeenCalledTimes(1);
|
|
155
|
+
expect(createRunMock).toHaveBeenCalledTimes(2);
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
it("shares one in-flight stale cleanup across concurrent requests", async () => {
|
|
159
|
+
let resolveCleanup: ((ids: number[]) => void) | undefined;
|
|
160
|
+
expireStaleToolWaitingRunsMock.mockReturnValueOnce(
|
|
161
|
+
new Promise<number[]>((resolve) => {
|
|
162
|
+
resolveCleanup = resolve;
|
|
163
|
+
}),
|
|
164
|
+
);
|
|
165
|
+
|
|
166
|
+
const first = beforeQuery({ prompt: "one", model: "openai/gpt-5-codex" });
|
|
167
|
+
await vi.waitFor(() => expect(expireStaleToolWaitingRunsMock).toHaveBeenCalledTimes(1));
|
|
168
|
+
const second = beforeQuery({ prompt: "two", model: "openai/gpt-5-codex" });
|
|
169
|
+
|
|
170
|
+
expect(expireStaleToolWaitingRunsMock).toHaveBeenCalledTimes(1);
|
|
171
|
+
resolveCleanup?.([]);
|
|
172
|
+
await Promise.all([first, second]);
|
|
173
|
+
|
|
174
|
+
expect(expireStaleToolWaitingRunsMock).toHaveBeenCalledTimes(1);
|
|
175
|
+
expect(createRunMock).toHaveBeenCalledTimes(2);
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
|
|
41
179
|
describe("qgrid run lifecycle TTFT", () => {
|
|
42
180
|
beforeEach(() => {
|
|
43
181
|
appendStepMock.mockReset();
|
|
@@ -200,7 +338,7 @@ describe("qgrid run lifecycle TTFT", () => {
|
|
|
200
338
|
);
|
|
201
339
|
});
|
|
202
340
|
|
|
203
|
-
it("
|
|
341
|
+
it("stores full routed models, fallback count, TTL split, and exact step cost", async () => {
|
|
204
342
|
aggregateStepUsageMock.mockResolvedValueOnce({
|
|
205
343
|
input_tokens: 100_000,
|
|
206
344
|
output_tokens: 20,
|
|
@@ -244,8 +382,8 @@ describe("qgrid run lifecycle TTFT", () => {
|
|
|
244
382
|
expect(appendStepMock).toHaveBeenCalledWith(
|
|
245
383
|
10,
|
|
246
384
|
expect.objectContaining({
|
|
247
|
-
requested_model_name: "claude-fable-5",
|
|
248
|
-
model_name: "claude-opus-4-8",
|
|
385
|
+
requested_model_name: "anthropic/claude-fable-5",
|
|
386
|
+
model_name: "anthropic/claude-opus-4-8",
|
|
249
387
|
fallback_count: 1,
|
|
250
388
|
cache_creation_5m_tokens: 30_000,
|
|
251
389
|
cache_creation_1h_tokens: 50_000,
|
|
@@ -256,8 +394,8 @@ describe("qgrid run lifecycle TTFT", () => {
|
|
|
256
394
|
expect(finishRunMock).toHaveBeenCalledWith(
|
|
257
395
|
10,
|
|
258
396
|
expect.objectContaining({
|
|
259
|
-
requested_model_name: "claude-fable-5",
|
|
260
|
-
model_name: "claude-opus-4-8",
|
|
397
|
+
requested_model_name: "anthropic/claude-fable-5",
|
|
398
|
+
model_name: "anthropic/claude-opus-4-8",
|
|
261
399
|
fallback_count: 1,
|
|
262
400
|
cache_creation_5m_tokens: 30_000,
|
|
263
401
|
cache_creation_1h_tokens: 50_000,
|
|
@@ -266,4 +404,100 @@ describe("qgrid run lifecycle TTFT", () => {
|
|
|
266
404
|
}),
|
|
267
405
|
);
|
|
268
406
|
});
|
|
407
|
+
|
|
408
|
+
it("preserves the exact Anthropic 1M requested route after provider canonicalization", async () => {
|
|
409
|
+
await afterQuery(
|
|
410
|
+
10,
|
|
411
|
+
2,
|
|
412
|
+
{ prompt: "hi", model: "anthropic/claude-sonnet-4-6[1m]" },
|
|
413
|
+
queryOutput({
|
|
414
|
+
model: "claude-sonnet-4-6",
|
|
415
|
+
requestedModel: "claude-sonnet-4-6",
|
|
416
|
+
}),
|
|
417
|
+
);
|
|
418
|
+
|
|
419
|
+
expect(appendStepMock).toHaveBeenCalledWith(
|
|
420
|
+
10,
|
|
421
|
+
expect.objectContaining({
|
|
422
|
+
requested_model_name: "anthropic/claude-sonnet-4-6[1m]",
|
|
423
|
+
model_name: "anthropic/claude-sonnet-4-6",
|
|
424
|
+
}),
|
|
425
|
+
);
|
|
426
|
+
expect(finishRunMock).toHaveBeenCalledWith(
|
|
427
|
+
10,
|
|
428
|
+
expect.objectContaining({
|
|
429
|
+
requested_model_name: "anthropic/claude-sonnet-4-6[1m]",
|
|
430
|
+
model_name: "anthropic/claude-sonnet-4-6",
|
|
431
|
+
}),
|
|
432
|
+
);
|
|
433
|
+
});
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
describe("qgrid run lifecycle terminal rollup", () => {
|
|
437
|
+
beforeEach(() => {
|
|
438
|
+
aggregateStepUsageMock.mockReset().mockResolvedValue({
|
|
439
|
+
input_tokens: 120,
|
|
440
|
+
output_tokens: 30,
|
|
441
|
+
cache_read_tokens: 20,
|
|
442
|
+
cache_creation_tokens: 40,
|
|
443
|
+
cache_creation_5m_tokens: 15,
|
|
444
|
+
cache_creation_1h_tokens: 25,
|
|
445
|
+
duration_ms: 900,
|
|
446
|
+
fallback_count: 1,
|
|
447
|
+
cost_usd: 7_500,
|
|
448
|
+
cost_source: "mixed",
|
|
449
|
+
});
|
|
450
|
+
finishRunMock.mockReset();
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
it("keeps incurred step usage and cost when a run ends in error", async () => {
|
|
454
|
+
await finishRunWithError(10, "provider failed", {
|
|
455
|
+
prompt: "continue",
|
|
456
|
+
history: JSON.stringify([{ type: "message", role: "user", content: "prior" }]),
|
|
457
|
+
});
|
|
458
|
+
|
|
459
|
+
expect(finishRunMock).toHaveBeenCalledWith(10, {
|
|
460
|
+
status: "error",
|
|
461
|
+
error_message: "provider failed",
|
|
462
|
+
history: [{ type: "message", role: "user", content: "prior" }],
|
|
463
|
+
input_tokens: 120,
|
|
464
|
+
output_tokens: 30,
|
|
465
|
+
cache_read_tokens: 20,
|
|
466
|
+
cache_creation_tokens: 40,
|
|
467
|
+
cache_creation_5m_tokens: 15,
|
|
468
|
+
cache_creation_1h_tokens: 25,
|
|
469
|
+
duration_ms: 900,
|
|
470
|
+
fallback_count: 1,
|
|
471
|
+
cost_usd: 7_500,
|
|
472
|
+
cost_source: "mixed",
|
|
473
|
+
});
|
|
474
|
+
});
|
|
475
|
+
|
|
476
|
+
it("keeps incurred step usage and cost when a run is aborted", async () => {
|
|
477
|
+
await finishRunAborted(10, { prompt: "continue" });
|
|
478
|
+
|
|
479
|
+
expect(finishRunMock).toHaveBeenCalledWith(
|
|
480
|
+
10,
|
|
481
|
+
expect.objectContaining({
|
|
482
|
+
status: "aborted",
|
|
483
|
+
error_message: "client disconnected",
|
|
484
|
+
input_tokens: 120,
|
|
485
|
+
output_tokens: 30,
|
|
486
|
+
cost_usd: 7_500,
|
|
487
|
+
cost_source: "mixed",
|
|
488
|
+
}),
|
|
489
|
+
);
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
it("still writes the terminal status when usage aggregation fails", async () => {
|
|
493
|
+
aggregateStepUsageMock.mockRejectedValueOnce(new Error("aggregate failed"));
|
|
494
|
+
|
|
495
|
+
await finishRunWithError(10, "provider failed");
|
|
496
|
+
|
|
497
|
+
expect(finishRunMock).toHaveBeenCalledWith(10, {
|
|
498
|
+
status: "error",
|
|
499
|
+
error_message: "provider failed",
|
|
500
|
+
history: undefined,
|
|
501
|
+
});
|
|
502
|
+
});
|
|
269
503
|
});
|
|
@@ -10,15 +10,24 @@ import {
|
|
|
10
10
|
formatResponseForLog,
|
|
11
11
|
getImageParts,
|
|
12
12
|
} from "./qgrid-response-format";
|
|
13
|
-
import {
|
|
14
|
-
type QgridRunContext,
|
|
15
|
-
type QgridToolResultInput,
|
|
16
|
-
type QueryInput,
|
|
17
|
-
type QueryOutput,
|
|
18
|
-
} from "./qgrid.types";
|
|
13
|
+
import { type QgridRunContext, type QueryInput, type QueryOutput } from "./qgrid.types";
|
|
19
14
|
|
|
20
15
|
const logger = getLogger(["qgrid", "run-lifecycle"]);
|
|
21
16
|
const STALE_RUN_THRESHOLD_MS = 30 * 60 * 1000;
|
|
17
|
+
const STALE_CLEANUP_INTERVAL_MS = 60 * 1000;
|
|
18
|
+
let staleCleanupInFlight: Promise<void> | undefined;
|
|
19
|
+
let lastStaleCleanupStartedAt = 0;
|
|
20
|
+
|
|
21
|
+
function withProviderPrefix(
|
|
22
|
+
routeModel: string | undefined,
|
|
23
|
+
model: string | undefined,
|
|
24
|
+
): string | undefined {
|
|
25
|
+
if (!model) return undefined;
|
|
26
|
+
if (model.includes("/")) return model;
|
|
27
|
+
const slash = routeModel?.indexOf("/") ?? -1;
|
|
28
|
+
const provider = slash > 0 ? routeModel?.slice(0, slash) : undefined;
|
|
29
|
+
return provider ? `${provider}/${model}` : model;
|
|
30
|
+
}
|
|
22
31
|
|
|
23
32
|
/**
|
|
24
33
|
* history는 원본 그대로 저장하기보다는, run 분석에 필요한 user/assistant 정보만 필터링해서 저장
|
|
@@ -43,36 +52,35 @@ export type RunLifecycleResult = {
|
|
|
43
52
|
};
|
|
44
53
|
|
|
45
54
|
/**
|
|
46
|
-
*
|
|
55
|
+
* logger-enabled query/stream 응답 전후에 호출.
|
|
47
56
|
*
|
|
48
|
-
* 1) beforeQuery: run 생성/계속 + tool result 완료 + stale cleanup
|
|
57
|
+
* 1) beforeQuery: run 생성/계속 + tool result 완료 + stale tool-wait cleanup
|
|
49
58
|
* 2) afterQuery: generate step + tool-call step + finish/keep-open
|
|
50
59
|
*/
|
|
51
60
|
export async function beforeQuery(args: QueryInput): Promise<{
|
|
52
61
|
requestLogId: number;
|
|
53
62
|
stepIndex: number;
|
|
54
63
|
}> {
|
|
55
|
-
await cleanupStaleRuns();
|
|
56
|
-
|
|
57
64
|
let requestLogId: number;
|
|
58
65
|
let stepIndex = 0;
|
|
59
66
|
|
|
60
67
|
// requestLogId 가 있을 때만 기존 run 연장. threadCoord 만 있는 conv 는 새 run 으로 시작.
|
|
61
68
|
if (args.runContext?.requestLogId !== undefined) {
|
|
62
69
|
requestLogId = args.runContext.requestLogId;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
stepIndex = await RequestLogModel.getNextStepIndex(requestLogId);
|
|
70
|
+
// cleanup과 같은 DB advisory lock을 잡고 tool 결과 반영 + 다음 step 예약을 한
|
|
71
|
+
// transaction에서 처리한다. 여러 qgrid 프로세스 사이에서도 stale expiry가
|
|
72
|
+
// 도착 중인 follow-up을 error로 덮어쓰지 못한다.
|
|
73
|
+
stepIndex = await RequestLogModel.continueToolRun(requestLogId, args.toolResults ?? []);
|
|
74
|
+
await cleanupStaleRuns();
|
|
69
75
|
} else {
|
|
76
|
+
await cleanupStaleRuns();
|
|
70
77
|
requestLogId = await RequestLogModel.createRun({
|
|
71
78
|
user_prompt: args.prompt,
|
|
72
79
|
system_prompt: args.system,
|
|
73
|
-
|
|
80
|
+
requested_model_name: args.model,
|
|
74
81
|
effort: args.effort,
|
|
75
82
|
project_name: args.projectName,
|
|
83
|
+
history: filterHistoryForStorage(args.history),
|
|
76
84
|
is_image_generation: args.imageGeneration,
|
|
77
85
|
});
|
|
78
86
|
}
|
|
@@ -86,12 +94,19 @@ export async function afterQuery(
|
|
|
86
94
|
args: QueryInput,
|
|
87
95
|
result: QueryOutput,
|
|
88
96
|
): Promise<RunLifecycleResult> {
|
|
97
|
+
// provider가 canonical model을 돌려줘도 요청 route 자체([1m] 등)는 보존한다.
|
|
98
|
+
const requestedModelName = withProviderPrefix(
|
|
99
|
+
args.model,
|
|
100
|
+
args.model ?? result.requestedModel ?? result.model,
|
|
101
|
+
);
|
|
102
|
+
const servedModelName = withProviderPrefix(args.model, result.model);
|
|
103
|
+
|
|
89
104
|
// generate step 기록
|
|
90
105
|
await RequestLogModel.appendStep(requestLogId, {
|
|
91
106
|
step_index: stepIndex,
|
|
92
107
|
type: "generate",
|
|
93
|
-
model_name:
|
|
94
|
-
requested_model_name:
|
|
108
|
+
model_name: servedModelName,
|
|
109
|
+
requested_model_name: requestedModelName,
|
|
95
110
|
fallback_count: result.modelFallbacks?.length ?? 0,
|
|
96
111
|
input_tokens: result.usage.input_tokens,
|
|
97
112
|
output_tokens: result.usage.output_tokens,
|
|
@@ -116,7 +131,7 @@ export async function afterQuery(
|
|
|
116
131
|
}
|
|
117
132
|
|
|
118
133
|
if (result.finishReason === "tool-calls") {
|
|
119
|
-
// tool-call step 즉시
|
|
134
|
+
// tool-call step을 즉시 기록하고, 다음 follow-up이 같은 row에 결과를 채운다.
|
|
120
135
|
const toolCalls = result.content.filter((c) => c.type === "tool-call");
|
|
121
136
|
for (let i = 0; i < toolCalls.length; i++) {
|
|
122
137
|
const tc = toolCalls[i]!;
|
|
@@ -147,8 +162,9 @@ export async function afterQuery(
|
|
|
147
162
|
cache_creation_5m_tokens: agg.cache_creation_5m_tokens,
|
|
148
163
|
cache_creation_1h_tokens: agg.cache_creation_1h_tokens,
|
|
149
164
|
duration_ms: agg.duration_ms,
|
|
150
|
-
|
|
151
|
-
|
|
165
|
+
// multi-step run 부모의 모델은 최종 turn을 서빙한 모델이다.
|
|
166
|
+
requested_model_name: requestedModelName,
|
|
167
|
+
model_name: servedModelName,
|
|
152
168
|
fallback_count: agg.fallback_count,
|
|
153
169
|
cost_usd: agg.cost_usd,
|
|
154
170
|
cost_source: agg.cost_source,
|
|
@@ -166,56 +182,80 @@ export async function finishRunWithError(
|
|
|
166
182
|
errorMessage: string,
|
|
167
183
|
args?: QueryInput,
|
|
168
184
|
): Promise<void> {
|
|
169
|
-
|
|
170
|
-
await RequestLogModel.finishRun(requestLogId, {
|
|
171
|
-
status: "error",
|
|
172
|
-
error_message: errorMessage,
|
|
173
|
-
history: args ? filterHistoryForStorage(args.history) : undefined,
|
|
174
|
-
});
|
|
175
|
-
} catch (e) {
|
|
176
|
-
logger.error(`finishRunWithError failed: ${(e as Error).message}`);
|
|
177
|
-
}
|
|
185
|
+
await finishTerminalRun(requestLogId, "error", errorMessage, args);
|
|
178
186
|
}
|
|
179
187
|
|
|
180
188
|
export async function finishRunAborted(requestLogId: number, args?: QueryInput): Promise<void> {
|
|
181
|
-
|
|
182
|
-
await RequestLogModel.finishRun(requestLogId, {
|
|
183
|
-
status: "aborted",
|
|
184
|
-
error_message: "client disconnected",
|
|
185
|
-
history: args ? filterHistoryForStorage(args.history) : undefined,
|
|
186
|
-
});
|
|
187
|
-
} catch (e) {
|
|
188
|
-
logger.error(`finishRunAborted failed: ${(e as Error).message}`);
|
|
189
|
-
}
|
|
189
|
+
await finishTerminalRun(requestLogId, "aborted", "client disconnected", args);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
async function
|
|
192
|
+
async function finishTerminalRun(
|
|
193
193
|
requestLogId: number,
|
|
194
|
-
|
|
194
|
+
status: "error" | "aborted",
|
|
195
|
+
errorMessage: string,
|
|
196
|
+
args?: QueryInput,
|
|
195
197
|
): Promise<void> {
|
|
196
|
-
|
|
198
|
+
try {
|
|
199
|
+
let aggregate: Awaited<ReturnType<typeof RequestLogModel.aggregateStepUsage>> | undefined;
|
|
197
200
|
try {
|
|
198
|
-
await RequestLogModel.
|
|
199
|
-
tool_result: tr.isError ? undefined : tr.output,
|
|
200
|
-
error: tr.isError ? tr.output : undefined,
|
|
201
|
-
});
|
|
201
|
+
aggregate = await RequestLogModel.aggregateStepUsage(requestLogId);
|
|
202
202
|
} catch (e) {
|
|
203
|
-
logger.error(`
|
|
203
|
+
logger.error(`aggregateStepUsage failed while finishing ${status}: ${(e as Error).message}`);
|
|
204
204
|
}
|
|
205
|
+
|
|
206
|
+
await RequestLogModel.finishRun(requestLogId, {
|
|
207
|
+
status,
|
|
208
|
+
error_message: errorMessage,
|
|
209
|
+
history: args ? filterHistoryForStorage(args.history) : undefined,
|
|
210
|
+
...(aggregate
|
|
211
|
+
? {
|
|
212
|
+
input_tokens: aggregate.input_tokens,
|
|
213
|
+
output_tokens: aggregate.output_tokens,
|
|
214
|
+
cache_read_tokens: aggregate.cache_read_tokens,
|
|
215
|
+
cache_creation_tokens: aggregate.cache_creation_tokens,
|
|
216
|
+
cache_creation_5m_tokens: aggregate.cache_creation_5m_tokens,
|
|
217
|
+
cache_creation_1h_tokens: aggregate.cache_creation_1h_tokens,
|
|
218
|
+
duration_ms: aggregate.duration_ms,
|
|
219
|
+
fallback_count: aggregate.fallback_count,
|
|
220
|
+
cost_usd: aggregate.cost_usd,
|
|
221
|
+
cost_source: aggregate.cost_source,
|
|
222
|
+
}
|
|
223
|
+
: {}),
|
|
224
|
+
});
|
|
225
|
+
} catch (e) {
|
|
226
|
+
logger.error(`finishTerminalRun(${status}) failed: ${(e as Error).message}`);
|
|
205
227
|
}
|
|
206
228
|
}
|
|
207
229
|
|
|
208
230
|
async function cleanupStaleRuns(): Promise<void> {
|
|
231
|
+
if (staleCleanupInFlight) {
|
|
232
|
+
await staleCleanupInFlight;
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
const now = Date.now();
|
|
237
|
+
if (now - lastStaleCleanupStartedAt < STALE_CLEANUP_INTERVAL_MS) return;
|
|
238
|
+
lastStaleCleanupStartedAt = now;
|
|
239
|
+
|
|
240
|
+
const cleanup = performStaleRunCleanup();
|
|
241
|
+
staleCleanupInFlight = cleanup;
|
|
209
242
|
try {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
243
|
+
await cleanup;
|
|
244
|
+
} finally {
|
|
245
|
+
if (staleCleanupInFlight === cleanup) staleCleanupInFlight = undefined;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
async function performStaleRunCleanup(): Promise<void> {
|
|
250
|
+
try {
|
|
251
|
+
const errorMessage = "tool-call run: no follow-up within 30 minutes";
|
|
252
|
+
const staleIds = await RequestLogModel.expireStaleToolWaitingRuns(
|
|
253
|
+
STALE_RUN_THRESHOLD_MS,
|
|
254
|
+
errorMessage,
|
|
255
|
+
);
|
|
256
|
+
const cleanedCount = staleIds.length;
|
|
257
|
+
if (cleanedCount > 0) {
|
|
258
|
+
logger.info(`cleaned up ${cleanedCount} stale running request logs`);
|
|
219
259
|
}
|
|
220
260
|
} catch (e) {
|
|
221
261
|
logger.error(`stale cleanup failed: ${(e as Error).message}`);
|